:root{--mint:#60d6c7;--blue:#72b8f2;--ink:#123040;--bg:#eefbff;--card:#fff;--line:#d8ebef;--yellow:#f59e0b}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:linear-gradient(135deg,#ebfff9,#eef7ff);color:var(--ink)}.monitor{min-height:100vh;padding:2vw;display:grid;gap:1.4vw}.monitor-header{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,var(--mint),var(--blue));border-radius:2vw;padding:1.4vw 2vw;box-shadow:0 20px 60px rgba(0,0,0,.12)}.brand{display:flex;align-items:center;gap:1vw}.brand img{width:7vw;max-width:110px}.brand h1{font-size:3vw;margin:.1vw 0}.brand p{margin:0;font-size:1.2vw;font-weight:800}.time{text-align:right;font-weight:900}.time #monitorClock{font-size:4vw}.time #monitorDate{font-size:1.4vw}.monitor-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4vw}.monitor-card{background:#fff;border:1px solid var(--line);border-radius:2vw;padding:1.4vw;box-shadow:0 15px 40px rgba(0,0,0,.08)}.monitor-card h2{margin:0 0 1vw;font-size:1.8vw}.big-status{font-size:3vw;font-weight:900}.entries{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:1vw}.entry{background:#fff;border-left:.8vw solid var(--mint);border-radius:1.4vw;padding:1vw 1.2vw;box-shadow:0 12px 30px rgba(0,0,0,.08);font-size:1.35vw}.entry strong{font-size:1.8vw}.entry.aufsicht{border-left-color:var(--yellow)}.muted{color:#66818d}.full{grid-column:1/-1}.notice{font-size:2vw;line-height:1.4}@media(max-width:900px){.monitor-header,.monitor-grid{display:block}.monitor-card{margin:1rem 0}.brand h1{font-size:2rem}.brand p,.time #monitorDate{font-size:1rem}.time #monitorClock{font-size:2rem}.entry{font-size:1rem}.entry strong{font-size:1.3rem}.big-status{font-size:2rem}.notice{font-size:1.2rem}}


/* v1.8.0 – Monitor Cockpit */
.monitor-card h2 {
  font-size: clamp(1.15rem, 1.35vw, 1.65rem);
}

.big-status {
  font-size: clamp(1rem, 1.45vw, 2rem);
  line-height: 1.18;
}

.slot-kicker {
  font-size: clamp(.85rem, 1vw, 1.15rem);
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 900;
  color: #4f6f7d;
  margin-bottom: .25vw;
}

.slot-label {
  font-size: clamp(1rem, 1.25vw, 1.55rem);
  font-weight: 900;
  color: #315466;
  margin-bottom: .65vw;
}

.slot-list {
  display: grid;
  gap: .42vw;
}

.slot-row {
  display: grid;
  grid-template-columns: minmax(70px, .7fr) 1.3fr;
  align-items: center;
  gap: .8vw;
  background: linear-gradient(135deg,#f5fffc,#f0f8ff);
  border: 1px solid var(--line);
  border-radius: .9vw;
  padding: .5vw .75vw;
}

.slot-row strong {
  font-size: clamp(1.2rem, 1.75vw, 2.3rem);
  font-weight: 950;
}

.slot-row span {
  font-size: clamp(1.05rem, 1.55vw, 2.1rem);
  font-weight: 900;
}

.slot-empty {
  font-size: clamp(1rem, 1.25vw, 1.6rem);
  font-weight: 800;
  color: #66818d;
}

.monitor-absence-block {
  margin-top: 1vw;
  border-top: 1px solid var(--line);
  padding-top: 1vw;
}

.monitor-absence-block h3 {
  margin: 0 0 .6vw;
  font-size: clamp(1rem, 1.2vw, 1.45rem);
}

#monitorAbsences {
  display: grid;
  gap: .35vw;
}

.absence-line {
  display: flex;
  justify-content: space-between;
  gap: 1vw;
  align-items: center;
  background: #f7fcfd;
  border: 1px solid var(--line);
  border-radius: .8vw;
  padding: .4vw .65vw;
}

.absence-line strong {
  font-size: clamp(.95rem, 1.1vw, 1.35rem);
}

.absence-line span {
  color: #66818d;
  font-weight: 800;
  font-size: clamp(.85rem, 1vw, 1.1rem);
}

.entry {
  font-size: clamp(.9rem, 1.05vw, 1.25rem);
}

.entry strong {
  font-size: clamp(1rem, 1.2vw, 1.45rem);
}

.notice {
  font-size: clamp(1rem, 1.25vw, 1.6rem);
}

@media(max-width:900px){
  .slot-row {
    border-radius: 14px;
    padding: .6rem .75rem;
  }

  .slot-row strong {
    font-size: 1.25rem;
  }

  .slot-row span {
    font-size: 1.1rem;
  }

  .absence-line {
    border-radius: 12px;
    padding: .55rem;
  }
}
