/* CoverGrid CSS extraction: Today dashboard, command centre, quick absences, coverage table. */
/* Source: inline-style-1 */
/* All-periods email summary */
  .all-summary{border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;margin-top:14px;}
  .all-summary-header{background:var(--navy);color:white;padding:10px 16px;font-size:13px;font-weight:600;}
  .all-summary-row{display:grid;grid-template-columns:80px 1fr 1fr 1fr auto auto;gap:10px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--border);font-size:12px;}
  .all-summary-row:last-child{border-bottom:none;}
  .all-summary-row:hover{background:var(--cream);}
  .all-sum-lbl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--text-light);}
  .table-wrap{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--border);margin-bottom:20px;}
  table{width:100%;border-collapse:collapse;font-size:13px;}
  thead th{background:var(--navy);color:rgba(255,255,255,0.8);padding:10px 14px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;text-align:left;white-space:nowrap;cursor:pointer;}
  #tab-timetable thead th{cursor:pointer;}
  #tab-timetable thead th:hover{text-decoration:underline;}
  tbody tr{border-bottom:1px solid var(--border);transition:background 0.1s;}
  tbody tr:last-child{border-bottom:none;}
  tbody tr:hover{background:var(--cream);}
  tbody td{padding:10px 14px;color:var(--text-dark);vertical-align:middle;}
  .badge{display:inline-block;font-size:10px;font-weight:700;padding:2px 8px;border-radius:100px;text-transform:uppercase;letter-spacing:0.05em;}
  .badge-blue{background:var(--info-bg);color:var(--info-text);}
  .badge-gray{background:#f1efe8;color:#5f5e5a;}
  .badge-green{background:var(--success-bg);color:var(--success-text);}
  .badge-gold{background:#faeeda;color:#854f0b;}
  .sched-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
  .sched-day-label{font-size:12px;font-weight:600;color:var(--navy);background:var(--cream);padding:6px 12px;border-radius:var(--radius);margin-bottom:8px;}
  .period-row{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:6px;background:var(--white);}
  .period-name{font-weight:600;font-size:13px;color:var(--navy);}
  .period-time{font-size:11px;color:var(--text-light);}
  .period-star{font-size:10px;color:var(--teal);margin-left:4px;}
  .lunch-row{text-align:center;padding:8px;background:var(--cream);border-radius:var(--radius);margin-bottom:6px;font-size:12px;color:var(--text-light);font-weight:500;}
  .tsch-subject{font-weight:600;color:var(--text-dark);font-size:13px;}
  .tsch-room{font-size:11px;color:var(--text-light);margin-top:2px;}
  .tsch-free{color:var(--text-light);font-style:italic;font-size:12px;}
  .search-wrap{margin-bottom:16px;position:relative;}
  .search-wrap input{width:100%;padding-left:36px;background:var(--white);}
  .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-light);}
  .dash-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px;}
  .dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
  .today-empty{padding:20px;text-align:center;color:var(--text-light);font-size:13px;}
  .settings-section{margin-bottom:24px;}
  .settings-label{font-size:13px;font-weight:600;color:var(--navy);margin-bottom:6px;}
  .settings-sub{font-size:12px;color:var(--text-light);margin-bottom:12px;}
  code{background:rgba(26,95,168,0.08);color:var(--blue);padding:2px 5px;border-radius:4px;font-family:monospace;}
  .half-time{font-size:11px;color:var(--text-light);}


/* Source: inline-style-1 */
/* ── ADMIN UX POLISH ─────────────────────────────────────────────────────── */
.today-command{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px;}
.command-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px 16px;box-shadow:0 4px 14px rgba(14,30,62,.04);}
.command-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-light);font-weight:700;margin-bottom:6px;}
.command-value{font-size:24px;font-weight:800;color:var(--navy);line-height:1;}
.command-value.red{color:#c0392b;}
.command-value.green{color:var(--success-text);}
.command-value.gold{color:#b35a00;}
.command-sub{margin-top:6px;font-size:12px;color:var(--text-light);}
.today-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px;}
.btn-urgent{background:#c0392b;color:#fff;border:none;font-size:12px;height:34px;padding:0 14px;cursor:pointer;border-radius:8px;font-weight:700;font-family:inherit;}
.btn-urgent:hover{background:#a93226;}
.btn-secondary{background:#fff;color:var(--navy);border:1px solid var(--border);font-size:12px;height:34px;padding:0 14px;cursor:pointer;border-radius:8px;font-weight:700;font-family:inherit;}
.btn-secondary:hover{background:var(--cream);}
.today-empty{padding:24px;border:1px dashed #d8dde6;border-radius:14px;background:#fff;text-align:center;color:var(--text-mid);}
.today-empty strong{display:block;color:var(--navy);margin-bottom:6px;}
.row-uncovered{background:rgba(231,76,60,.06)!important;}
.row-reassign{background:rgba(243,156,18,.10)!important;}
.teacher-pill{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;}
.teacher-count{display:inline-block;background:#eef4ff;color:#1f5ea8;font-size:10px;font-weight:700;padding:2px 7px;border-radius:999px;}
.quick-note{font-size:11px;color:var(--text-light);margin-top:8px;}
@media(max-width:900px){.today-command{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.today-command{grid-template-columns:1fr;}}


/* Source: inline-style-1 */
/* Empty state */
.today-empty{
  border:1px dashed rgba(13,43,77,0.12);
  border-radius:14px;
  background:linear-gradient(180deg,#fff 0%,#f9fcfe 100%);
}


/* Source: inline-style-1 */
/* ── TODAY DASHBOARD DEFAULT SCREEN ───────────────────────────────────────── */
.today-dashboard-hero{
  background:
    radial-gradient(circle at top right, rgba(17,181,194,.18), transparent 34%),
    linear-gradient(135deg,#0D2B4D 0%,#1E3A5F 100%);
  color:#fff;
  border:none;
  border-radius:22px;
  padding:26px;
  box-shadow:0 18px 48px rgba(13,43,77,.18);
  overflow:hidden;
  position:relative;
}
.today-dashboard-hero:after{
  content:"";
  position:absolute;
  right:-80px;
  top:-80px;
  width:240px;
  height:240px;
  border-radius:50%;
  background:rgba(17,181,194,.16);
  pointer-events:none;
}
.today-dashboard-hero-inner{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1fr auto;
  gap:24px;
  align-items:start;
}
.today-eyebrow{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:rgba(255,255,255,.72);
  font-weight:900;
  margin-bottom:8px;
}
.today-dashboard-title{
  margin:0;
  color:#fff;
  font-size:30px;
  line-height:1.08;
  letter-spacing:-.04em;
  font-weight:950;
}
.today-dashboard-sub{
  margin:10px 0 0;
  color:rgba(255,255,255,.76);
  font-size:13px;
  line-height:1.55;
  max-width:760px;
}
.today-hero-meta{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.today-hero-pill{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  border-radius:999px;
  padding:0 12px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  font-size:12px;
  font-weight:800;
}
.today-action-row{
  margin-top:18px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  position:relative;
  z-index:1;
}
.today-action-row .btn-primary,
.today-action-row .btn-secondary,
.today-action-row .btn-urgent{
  height:38px;
}
.today-kpi-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin:18px 0;
}
.today-kpi{
  background:#fff;
  border:1px solid var(--border);
  border-radius:18px;
  padding:18px;
  box-shadow:0 8px 24px rgba(13,43,77,.07);
  position:relative;
  overflow:hidden;
}
.today-kpi:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:4px;
  height:100%;
  background:var(--accent);
}
.today-kpi.red:before{background:#c0392b;}
.today-kpi.gold:before{background:#ef9f27;}
.today-kpi.green:before{background:#22724d;}
.today-kpi-value{
  font-size:34px;
  font-weight:950;
  line-height:1;
  letter-spacing:-.05em;
  color:var(--navy);
}
.today-kpi.red .today-kpi-value{color:#c0392b;}
.today-kpi.gold .today-kpi-value{color:#9a5a08;}
.today-kpi.green .today-kpi-value{color:#22724d;}
.today-kpi-label{
  margin-top:7px;
  color:var(--text-light);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.today-kpi-note{
  margin-top:7px;
  color:var(--text-mid);
  font-size:12px;
  line-height:1.35;
}
.today-dashboard-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:18px;
  align-items:start;
}
.today-list{
  display:grid;
  gap:10px;
}
.today-item{
  border:1px solid var(--border);
  border-radius:14px;
  background:#fff;
  padding:12px 14px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:12px;
  align-items:center;
}
.today-item-main strong{
  color:var(--navy);
  font-size:13px;
}
.today-item-main span{
  display:block;
  color:var(--text-mid);
  font-size:12px;
  line-height:1.45;
  margin-top:3px;
}
.today-item-meta{
  text-align:right;
  min-width:92px;
}
.today-mini-label{
  font-size:10px;
  color:var(--text-light);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:4px;
}
.today-status-grid{
  display:grid;
  gap:10px;
}
.today-status-row{
  display:grid;
  grid-template-columns:92px 1fr 38px;
  gap:10px;
  align-items:center;
  font-size:12px;
  color:var(--text-mid);
}
.today-status-track{
  height:9px;
  border-radius:999px;
  background:#e8eef5;
  overflow:hidden;
}
.today-status-fill{
  height:100%;
  border-radius:999px;
  background:var(--accent);
}
.today-status-fill.green{background:#22724d;}
.today-status-fill.gold{background:#ef9f27;}
.today-status-fill.red{background:#c0392b;}
.today-empty-state{
  border:1px dashed rgba(13,43,77,.18);
  background:#f8fbfe;
  border-radius:16px;
  padding:20px;
  text-align:center;
  color:var(--text-mid);
  font-size:13px;
  line-height:1.55;
}
.today-empty-state strong{
  display:block;
  color:var(--navy);
  margin-bottom:4px;
}
.today-section-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:14px;
}
@media(max-width:1000px){
  .today-dashboard-hero-inner,
  .today-dashboard-grid{
    grid-template-columns:1fr;
  }
  .today-hero-meta{
    justify-content:flex-start;
  }
  .today-kpi-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:560px){
  .today-dashboard-title{font-size:24px;}
  .today-kpi-grid{grid-template-columns:1fr;}
  .today-item{grid-template-columns:1fr;}
  .today-item-meta{text-align:left;}
}


/* Source: inline-style-1 */
/* ── QUICK ADD ABSENCE CARDS ─────────────────────────────────────────────── */
.today-quick-grid{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:18px;
  margin:18px 0;
  align-items:start;
}
.quick-add-card,
.quick-queue-card{
  border-left:4px solid var(--teal);
}
.quick-add-header{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  flex-wrap:wrap;
  margin-bottom:14px;
}
.quick-add-title{
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:900;
  color:var(--navy);
  font-size:16px;
}
.quick-add-sub{
  color:var(--text-mid);
  font-size:12px;
  line-height:1.45;
  margin-top:4px;
}
.quick-add-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.quick-period-row{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:6px;
}
.quick-chip{
  border:1px solid var(--border);
  background:#fff;
  color:var(--text-mid);
  border-radius:999px;
  padding:8px 11px;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
  user-select:none;
  transition:all .15s ease;
}
.quick-chip input{
  display:none;
}
.quick-chip.is-active{
  background:rgba(17,181,194,.12);
  border-color:rgba(17,181,194,.46);
  color:var(--navy);
  box-shadow:inset 0 0 0 1px rgba(17,181,194,.12);
}
.quick-note-presets{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:8px;
}
.quick-note-btn{
  border:1px solid var(--border);
  background:#f8fbfe;
  color:var(--text-mid);
  border-radius:999px;
  padding:7px 10px;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}
.quick-note-btn:hover{
  border-color:rgba(17,181,194,.42);
  color:var(--navy);
}
.quick-actions{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin-top:14px;
}
.quick-alert{
  color:var(--text-mid);
  font-size:12px;
  min-height:18px;
}
.quick-queue-summary{
  display:grid;
  gap:10px;
}
.quick-queue-empty{
  border:1px dashed rgba(13,43,77,.18);
  background:#f8fbfe;
  border-radius:14px;
  padding:18px;
  color:var(--text-mid);
  font-size:13px;
  line-height:1.5;
}
.quick-queue-empty strong{
  display:block;
  color:var(--navy);
  margin-bottom:4px;
}
.quick-queue-item{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center;
  background:#fff;
  border:1px solid var(--border);
  border-radius:14px;
  padding:11px 12px;
}
.quick-queue-item strong{
  color:var(--navy);
  font-size:13px;
}
.quick-queue-item span{
  display:block;
  color:var(--text-mid);
  font-size:12px;
  margin-top:3px;
}
.quick-queue-remove{
  border:1px solid rgba(192,57,43,.28);
  background:#fff;
  color:#c0392b;
  border-radius:10px;
  width:30px;
  height:30px;
  font-weight:900;
  cursor:pointer;
}
.quick-queue-meta{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  padding-top:12px;
  margin-top:12px;
  border-top:1px solid var(--border);
}
@media(max-width:1000px){
  .today-quick-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:620px){
  .quick-add-grid{
    grid-template-columns:1fr;
  }
}


/* Source: inline-style-1 */
/* ── MORNING WORKFLOW WIZARD ─────────────────────────────────────────────── */
.morning-workflow-card{
  margin:18px 0;
  border-left:4px solid var(--teal);
  position:relative;
  overflow:hidden;
}
.morning-workflow-card:before{
  content:"";
  position:absolute;
  right:-90px;
  top:-90px;
  width:210px;
  height:210px;
  border-radius:50%;
  background:rgba(17,181,194,.08);
  pointer-events:none;
}
.morning-workflow-header{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  flex-wrap:wrap;
  position:relative;
  z-index:1;
}
.morning-workflow-title{
  font-weight:950;
  color:var(--navy);
  font-size:17px;
  display:flex;
  align-items:center;
  gap:8px;
}
.morning-workflow-sub{
  color:var(--text-mid);
  font-size:12px;
  line-height:1.45;
  margin-top:4px;
}
.morning-workflow-summary{
  color:var(--text-mid);
  font-size:12px;
  font-weight:800;
  border:1px solid var(--border);
  background:#f8fbfe;
  border-radius:999px;
  padding:8px 12px;
  white-space:nowrap;
}
.morning-progress-track{
  height:10px;
  border-radius:999px;
  background:#e8eef5;
  margin:16px 0;
  overflow:hidden;
  position:relative;
  z-index:1;
}
.morning-progress-fill{
  height:100%;
  width:0%;
  background:linear-gradient(90deg,var(--teal),#2B5B8C);
  border-radius:999px;
  transition:width .25s ease;
}
.morning-step-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  position:relative;
  z-index:1;
}
.morning-step{
  border:1px solid var(--border);
  background:#fff;
  border-radius:15px;
  padding:12px;
  min-height:142px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:10px;
  box-shadow:0 6px 16px rgba(13,43,77,.04);
}
.morning-step.complete{
  border-color:rgba(34,114,77,.32);
  background:#f4fbf8;
}
.morning-step.active{
  border-color:rgba(17,181,194,.55);
  box-shadow:0 10px 24px rgba(17,181,194,.12);
}
.morning-step.blocked{
  opacity:.76;
}
.morning-step-top{
  display:flex;
  gap:9px;
  align-items:flex-start;
}
.morning-step-num{
  width:28px;
  height:28px;
  border-radius:10px;
  background:#eef6fb;
  color:var(--blue);
  font-weight:950;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.morning-step.complete .morning-step-num{
  background:#eaf7f2;
  color:#22724d;
}
.morning-step.active .morning-step-num{
  background:rgba(17,181,194,.14);
  color:var(--navy);
}
.morning-step-title{
  color:var(--navy);
  font-weight:950;
  font-size:13px;
  line-height:1.2;
}
.morning-step-text{
  color:var(--text-mid);
  font-size:11px;
  line-height:1.4;
  margin-top:4px;
}
.morning-step-status{
  display:inline-flex;
  align-items:center;
  align-self:flex-start;
  min-height:24px;
  border-radius:999px;
  padding:0 9px;
  font-size:10px;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
  background:#eef6fb;
  color:var(--blue);
}
.morning-step.complete .morning-step-status{
  background:#eaf7f2;
  color:#22724d;
}
.morning-step.active .morning-step-status{
  background:#fff4e4;
  color:#9a5a08;
}
.morning-workflow-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  margin-top:14px;
  position:relative;
  z-index:1;
}
.morning-workflow-alert{
  color:var(--text-mid);
  font-size:12px;
  font-weight:800;
  min-height:18px;
}
@media(max-width:1100px){
  .morning-step-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:620px){
  .morning-step-grid{
    grid-template-columns:1fr;
  }
  .morning-workflow-summary{
    white-space:normal;
  }
}


/* Source: inline-style-1 */
/* ── DEMO SCHOOL MANAGER ─────────────────────────────────────────────────── */
.demo-manager-toolbar{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin-bottom:14px;
}
.demo-manager-note{
  color:var(--text-mid);
  font-size:12px;
  line-height:1.45;
  margin-bottom:12px;
}
.demo-school-pill{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:3px 8px;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
  background:#e8f6fb;
  color:#1E3A5F;
  border:1px solid #b8ddea;
}
.demo-manager-actions{
  display:flex;
  gap:6px;
  align-items:center;
  flex-wrap:wrap;
}
.demo-danger-btn{
  color:#b42318 !important;
  border-color:#efb4ac !important;
  background:#fff !important;
}
.demo-danger-btn:hover{
  background:#fdecea !important;
}
.demo-manager-alert{
  font-size:12px;
  font-weight:800;
}


.today-filter-notice{
  border:1px solid #b8ddea;
  background:#eef9fc;
  color:var(--navy);
  border-radius:12px;
  padding:10px 12px;
  font-size:12px;
  font-weight:700;
  margin-bottom:10px;
}
.today-filter-notice button{
  margin-left:8px;
}


.cg-save-toast{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:9999;
  max-width:380px;
  border-radius:14px;
  box-shadow:0 18px 42px rgba(0,0,0,.18);
  padding:12px 14px;
  background:#fff;
  border:1px solid rgba(15,42,74,.16);
  color:var(--navy);
  font-weight:800;
  font-size:12px;
  display:none;
}
.cg-save-toast.ok{border-color:rgba(21,128,61,.25);color:#14532d;background:#f0fdf4;}
.cg-save-toast.warn{border-color:rgba(180,83,9,.25);color:#92400e;background:#fffbeb;}
.cg-save-toast.bad{border-color:rgba(185,28,28,.25);color:#991b1b;background:#fef2f2;}


.today-sort-btn{
  appearance:none;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  font-weight:900;
  letter-spacing:.03em;
  text-transform:uppercase;
  cursor:pointer;
  padding:0;
  display:inline-flex;
  align-items:center;
  gap:5px;
}
.today-sort-btn:hover{
  color:#67e8f9;
}
.today-sort-icon{
  display:inline-block;
  min-width:10px;
  opacity:.75;
  font-size:10px;
}
.today-sort-btn.active .today-sort-icon{
  opacity:1;
}


/* Source: inline-style-1 */
/* ────────────────────────────────────────────────────────────────────────────
   COVERGRID TODAY TABLE WIDTH / COMPACTNESS FIX
   CSS-only change. No app logic changed.
   Makes the app canvas wider and tightens Today's coverages table so the
   far-right status/action columns are not clipped.
──────────────────────────────────────────────────────────────────────────── */


/* Source: inline-style-1 */
/* Make table wrappers scroll instead of clipping content. */
#today-list,
#today-list .table-wrap,
#tab-assign .table-wrap{
  max-width: 100%;
  overflow-x: auto !important;
  overflow-y: visible !important;
}


/* Source: inline-style-1 */
/* Keep the Today coverage table readable but tighter. */
#today-list table{
  width: 100%;
  min-width: 1220px;
  table-layout: auto;
  border-collapse: collapse;
}

#today-list thead th{
  font-size: 10px !important;
  padding: 8px 7px !important;
  white-space: nowrap !important;
  line-height: 1.1 !important;
}

#today-list tbody td{
  font-size: 11.5px !important;
  padding: 8px 7px !important;
  line-height: 1.18 !important;
  vertical-align: middle !important;
}


/* Source: inline-style-1 */
/* Compact the most repeated inline elements in the coverage table. */
#today-list .badge,
#today-list .teacher-count,
#today-list .status-pending,
#today-list .status-accepted,
#today-list .status-declined,
#today-list .btn-reassign{
  font-size: 9.5px !important;
  padding: 2px 6px !important;
  line-height: 1.15 !important;
}

#today-list .teacher-pill{
  gap: 4px !important;
}

#today-list button,
#today-list .btn,
#today-list .btn-sm,
#today-list .btn-accept,
#today-list .btn-decline,
#today-list .btn-gmail{
  font-size: 10.5px !important;
  padding-left: 7px !important;
  padding-right: 7px !important;
  min-width: auto !important;
}

#today-list .btn-accept,
#today-list .btn-decline{
  width: 28px !important;
  height: 26px !important;
  padding: 0 !important;
}


/* Source: inline-style-1 */
/* Suggested column sizing for the generated Today table.
   nth-child is used so no HTML/table-generation code needs to change. */
#today-list th:nth-child(1),
#today-list td:nth-child(1){ width: 46px; min-width: 46px; }

#today-list th:nth-child(2),
#today-list td:nth-child(2){ width: 92px; min-width: 86px; }

#today-list th:nth-child(3),
#today-list td:nth-child(3){ width: 58px; min-width: 54px; }

#today-list th:nth-child(4),
#today-list td:nth-child(4){ width: 105px; min-width: 96px; }

#today-list th:nth-child(5),
#today-list td:nth-child(5),
#today-list th:nth-child(8),
#today-list td:nth-child(8){ width: 138px; min-width: 122px; }

#today-list th:nth-child(6),
#today-list td:nth-child(6),
#today-list th:nth-child(9),
#today-list td:nth-child(9){ width: 104px; min-width: 92px; }

#today-list th:nth-child(7),
#today-list td:nth-child(7),
#today-list th:nth-child(10),
#today-list td:nth-child(10){ width: 110px; min-width: 100px; }

#today-list th:nth-child(11),
#today-list td:nth-child(11){ width: 96px; min-width: 88px; }


/* Source: inline-style-1 */
/* Prevent action dropdown/panel from being hidden by row/table boundaries. */
#today-list tr,
#today-list td{
  overflow: visible !important;
}

#today-list .reassign-panel{
  min-width: 150px;
  max-width: 180px;
  padding: 7px 8px !important;
}


/* Source: inline-style-1 */
/* On smaller screens, keep horizontal scrolling rather than squeezing to unreadable. */
@media (max-width: 900px){
  .main{
    max-width: none !important;
    width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  #today-list table{
    min-width: 1120px;
  }
}


/* Source: inline-style-1 */
/* ── COMPACT TODAY ACTION TOOLBAR ───────────────────────────────────────── */
.today-dashboard-toolbar{
  padding:16px 22px !important;
  border-radius:18px !important;
}
.today-dashboard-toolbar:after{
  width:150px !important;
  height:150px !important;
  right:-55px !important;
  top:-75px !important;
}
.today-dashboard-toolbar-inner{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}
.today-dashboard-toolbar .today-action-row{
  margin-top:0 !important;
}
.today-dashboard-toolbar .today-hero-meta{
  justify-content:flex-start !important;
}
.today-dashboard-toolbar .today-hero-pill{
  min-height:30px;
}
@media(max-width:900px){
  .today-dashboard-toolbar-inner{
    align-items:flex-start;
  }
  .today-toolbar-actions{
    width:100%;
  }
}


/* Source: inline-style-1 */
/* ── COMPACT QUICK ADD ABSENCE LAYOUT ───────────────────────────────────── */
.today-quick-grid-compact{
  grid-template-columns:1.35fr .8fr;
  gap:14px;
  margin:12px 0 16px;
}
.quick-add-card-compact,
.quick-queue-card-compact{
  padding:16px 18px !important;
}
.quick-add-header.compact{
  margin-bottom:10px;
  align-items:center;
}
.quick-add-header.compact .quick-add-title{
  font-size:15px;
}
.quick-add-grid.compact{
  grid-template-columns:135px minmax(180px,1fr) minmax(220px,1.25fr) 170px minmax(190px,1fr);
  gap:10px;
  align-items:end;
}
.quick-add-grid.compact .field label{
  margin-bottom:4px;
}
.quick-add-grid.compact input,
.quick-add-grid.compact select{
  height:36px !important;
}
.compact-periods{
  grid-column:auto;
}
.compact-supply{
  grid-column:auto;
}
.compact-notes{
  grid-column:1 / -1;
}
.cg-period-hidden-controls{
  display:none !important;
}
.quick-period-row{
  gap:6px;
}
.quick-add-card-compact .quick-chip{
  padding:7px 10px;
  font-size:11px;
}
.quick-advanced{
  margin-top:8px;
  border-top:1px solid var(--border);
  padding-top:8px;
}
.quick-advanced summary{
  cursor:pointer;
  color:var(--navy);
  font-size:12px;
  font-weight:900;
  list-style:none;
}
.quick-advanced summary::-webkit-details-marker{display:none;}
.quick-advanced summary::after{
  content:' ▾';
  color:var(--text-light);
}
.quick-advanced[open] summary::after{
  content:' ▴';
}
.quick-advanced-grid{
  display:grid;
  grid-template-columns:260px 1fr;
  gap:12px;
  margin-top:10px;
  align-items:start;
}
.quick-advanced-label{
  display:block;
  font-size:11px;
  font-weight:900;
  color:var(--text-light);
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:6px;
}
.quick-note-presets.compact{
  margin-top:0;
  gap:6px;
}
.quick-note-presets.compact .quick-note-btn{
  padding:6px 9px;
  font-size:10.5px;
}
.quick-actions.compact{
  margin-top:10px;
}
.quick-queue-card-compact .quick-queue-empty{
  padding:14px 16px;
}
.quick-queue-meta.compact{
  padding-top:10px;
  margin-top:10px;
}
@media(max-width:1000px){
  .today-quick-grid-compact,
  .quick-add-grid.compact,
  .quick-advanced-grid{
    grid-template-columns:1fr;
  }
  .compact-periods,
  .compact-notes{
    grid-column:auto;
  }
}

.today-quick-grid-single{
  display:block!important;
}
.quick-add-card-combined{
  width:100%;
}
.quick-queue-inline{
  margin-top:12px;
  padding:12px;
  border:1px solid var(--border);
  border-radius:14px;
  background:#f8fbfe;
}
.quick-queue-inline-header{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  margin-bottom:8px;
}
.quick-actions-combined{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.today-status-cards-compact{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  margin-top:12px;
}
.today-compact-status-card{
  min-height:0!important;
  padding:14px 16px!important;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.today-compact-status-main{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
}
.today-compact-status-main span{
  display:block;
  color:var(--navy);
  font-weight:900;
  font-size:13px;
}
.today-compact-status-main p{
  margin:4px 0 0;
  color:var(--text-mid);
  font-size:11px;
  line-height:1.35;
}
.today-compact-status-main strong{
  color:var(--navy);
  font-size:28px;
  line-height:1;
  letter-spacing:-.04em;
}
.today-compact-status-card.needs{border-left:4px solid #e67e22!important;}
.today-compact-status-card.responses{border-left:4px solid #ef9f27!important;}
.today-compact-status-card.daily{border-left:4px solid #22724d!important;}
.today-compact-render-cache{
  display:none!important;
}
.today-status-cards-compact .today-section-actions.compact{
  margin-top:0!important;
}
.today-status-cards-compact .today-section-actions.compact .btn-secondary,
.today-status-cards-compact .today-section-actions.compact .btn{
  font-size:11px;
  min-height:30px;
}
@media(max-width:1000px){
  .today-status-cards-compact{
    grid-template-columns:1fr!important;
  }
}


/* Source: inline-style-1 */
/* 3. Slightly more compact Morning Workflow */
.morning-workflow-card{
  margin:14px 0 !important;
  padding:16px 18px !important;
}
.morning-progress-track{
  height:7px !important;
  margin:10px 0 12px !important;
}
.morning-step{
  min-height:108px !important;
  padding:10px 12px !important;
  gap:7px !important;
}
.morning-step-title{
  font-size:12px !important;
}
.morning-step-sub{
  font-size:10.5px !important;
  line-height:1.35 !important;
}
.morning-workflow-actions{
  margin-top:10px !important;
}


/* Source: inline-style-1 */
/* 4. Subtle section chunking */
.today-quick-grid-compact{
  background:rgba(232,246,251,0.36);
  border-radius:18px;
  padding:2px;
}
.today-kpi-grid{
  background:rgba(255,255,255,0.36);
  border-radius:18px;
}
.today-dashboard-grid{
  background:rgba(232,238,245,0.34);
  border-radius:18px;
  padding:2px;
}


/* Source: cg-periods-show-all-five-only */
/* Show All, A, B, C, D in the Periods multi-select without scrolling */
#bq-periods{
  height:132px !important;
  min-height:132px !important;
  max-height:132px !important;
  overflow-y:hidden !important;
}


/* Source: cg-morning-workflow-compact-css */
/* Compact Morning Workflow card */
.morning-workflow-card{
  margin:12px 0 !important;
  padding:16px 20px !important;
}
.morning-workflow-card:before{
  width:150px !important;
  height:150px !important;
  right:-55px !important;
  top:-60px !important;
}
.morning-workflow-header{
  align-items:center !important;
}
.morning-workflow-title{
  font-size:15px !important;
}
.morning-workflow-sub{
  font-size:11px !important;
  margin-top:2px !important;
}
.morning-workflow-summary{
  padding:6px 10px !important;
  font-size:11px !important;
}
.morning-progress-track{
  height:7px !important;
  margin:10px 0 12px !important;
}
.morning-step-grid{
  gap:8px !important;
}
.morning-step{
  min-height:74px !important;
  padding:9px 10px !important;
  gap:6px !important;
  border-radius:12px !important;
}
.morning-step.complete{
  min-height:58px !important;
  padding:8px 10px !important;
}
.morning-step-top{
  gap:8px !important;
}
.morning-step-num{
  width:23px !important;
  height:23px !important;
  border-radius:8px !important;
  font-size:12px !important;
}
.morning-step-title{
  font-size:12px !important;
  line-height:1.15 !important;
}
.morning-step-text{
  font-size:10px !important;
  line-height:1.25 !important;
  margin-top:2px !important;
}
.morning-step.complete .morning-step-text{
  display:none !important;
}
.morning-step-status{
  min-height:20px !important;
  padding:0 7px !important;
  font-size:9px !important;
}
.morning-step.complete .morning-step-status{
  display:none !important;
}
.morning-workflow-actions{
  margin-top:10px !important;
  gap:8px !important;
}
.morning-workflow-actions .btn,
.morning-workflow-actions .btn-primary,
.morning-workflow-actions .btn-secondary{
  height:32px !important;
  font-size:11px !important;
  padding:0 12px !important;
}
@media(max-width:1100px){
  .morning-step-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:620px){
  .morning-step-grid{grid-template-columns:1fr !important;}
}


/* Source: covergrid-v2-saas-layout-css */
/* ────────────────────────────────────────────────────────────────────────────
   CoverGrid v2 — simplified SaaS layout layer
   Visual/layout changes only. Existing IDs, data-tab navigation, Firebase, reports,
   exports, and coverage logic remain intact.
──────────────────────────────────────────────────────────────────────────── */
:root{
  --cg-v2-bg:#f4f8fb;
  --cg-v2-panel:#ffffff;
  --cg-v2-ink:#0d2b4d;
  --cg-v2-muted:#5f7892;
  --cg-v2-line:rgba(13,43,77,.11);
  --cg-v2-accent:#11B5C2;
  --cg-v2-shadow:0 12px 28px rgba(13,43,77,.08);
}
body.cg-v2-saas{
  background:
    radial-gradient(circle at top right, rgba(17,181,194,.08), transparent 28%),
    linear-gradient(180deg,#f8fbfe 0%,#eef5fa 100%) !important;
  color:var(--cg-v2-ink);
}
body.cg-v2-saas .cg-v2-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:0 9px;
  border-radius:999px;
  background:rgba(17,181,194,.18);
  border:1px solid rgba(17,181,194,.36);
  color:#fff;
  font-size:10px;
  font-weight:950;
  letter-spacing:.06em;
  text-transform:uppercase;
  white-space:nowrap;
}
body.cg-v2-saas .cg-v2-pagebar{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  background:linear-gradient(135deg,#fff 0%,#f7fbfe 100%);
  border:1px solid var(--cg-v2-line);
  border-radius:22px;
  padding:18px 20px;
  margin:0 0 18px;
  box-shadow:var(--cg-v2-shadow);
}
body.cg-v2-saas .cg-v2-kicker{
  color:var(--cg-v2-accent);
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.12em;
  margin-bottom:5px;
}
body.cg-v2-saas .cg-v2-pagebar h1{
  margin:0;
  color:var(--cg-v2-ink);
  font-size:25px;
  line-height:1.1;
  letter-spacing:-.035em;
  font-weight:950;
}
body.cg-v2-saas .cg-v2-pagebar p{
  margin:6px 0 0;
  color:var(--cg-v2-muted);
  font-size:13px;
  line-height:1.45;
}
body.cg-v2-saas .cg-v2-pagebar-actions{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
}
body.cg-v2-saas .card,
body.cg-v2-saas .metric,
body.cg-v2-saas .command-card,
body.cg-v2-saas .today-kpi,
body.cg-v2-saas .board-kpi,
body.cg-v2-saas .board-card,
body.cg-v2-saas .report-teacher-card,
body.cg-v2-saas .table-wrap{
  border:1px solid var(--cg-v2-line) !important;
  border-radius:18px !important;
  box-shadow:0 8px 22px rgba(13,43,77,.055) !important;
}
body.cg-v2-saas .card-title{
  font-size:14px !important;
  color:var(--cg-v2-ink) !important;
  letter-spacing:-.01em;
}
body.cg-v2-saas .today-dashboard-toolbar{
  padding:12px 16px !important;
  border-radius:18px !important;
  box-shadow:var(--cg-v2-shadow);
}
body.cg-v2-saas .today-dashboard-toolbar-inner{
  gap:10px !important;
}
body.cg-v2-saas .today-action-row,
body.cg-v2-saas .today-toolbar-actions{
  gap:8px !important;
}
body.cg-v2-saas .today-kpi-grid{
  gap:12px !important;
  margin:14px 0 !important;
  background:transparent !important;
}
body.cg-v2-saas .today-kpi{
  padding:16px !important;
}
body.cg-v2-saas .today-kpi-value{
  font-size:30px !important;
}
body.cg-v2-saas .today-kpi-label{
  font-size:10px !important;
}
body.cg-v2-saas .morning-workflow-card{
  display:none !important;
}
body.cg-v2-saas .today-quick-grid,
body.cg-v2-saas .today-quick-grid-compact{
  background:transparent !important;
  padding:0 !important;
  margin:12px 0 !important;
  gap:12px !important;
}
body.cg-v2-saas .quick-add-card,
body.cg-v2-saas .quick-queue-card{
  border-left:0 !important;
}
body.cg-v2-saas .quick-add-title{
  font-size:13px !important;
}
body.cg-v2-saas .today-dashboard-grid{
  background:transparent !important;
  padding:0 !important;
  gap:14px !important;
}
body.cg-v2-saas .btn,
body.cg-v2-saas .btn-primary,
body.cg-v2-saas .btn-secondary,
body.cg-v2-saas .btn-sm,
body.cg-v2-saas .btn-urgent,
body.cg-v2-saas .btn-send-all,
body.cg-v2-saas .btn-batch-assign,
body.cg-v2-saas .btn-queue-add{
  border-radius:12px !important;
  font-weight:850 !important;
}
body.cg-v2-saas input,
body.cg-v2-saas select,
body.cg-v2-saas textarea{
  border-radius:12px !important;
}
body.cg-v2-saas thead th{
  background:#0d2b4d !important;
}
body.cg-v2-saas .app-footer{
  margin-top:28px !important;
}

@media (min-width:901px){
  body.cg-v2-saas{
    padding-left:250px !important;
  }
  body.cg-v2-saas .saas-header{
    position:fixed !important;
    left:0 !important;
    top:0 !important;
    bottom:0 !important;
    width:250px !important;
    height:100vh !important;
    min-height:100vh !important;
    padding:20px 16px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:14px !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    background:linear-gradient(180deg,#0D2B4D 0%,#14395d 100%) !important;
    border-right:1px solid rgba(255,255,255,.12) !important;
    border-bottom:none !important;
    box-shadow:8px 0 28px rgba(13,43,77,.16) !important;
  }
  body.cg-v2-saas .saas-header__brand{
    width:100%;
    justify-content:space-between !important;
    gap:10px;
    padding-bottom:16px;
    border-bottom:1px solid rgba(255,255,255,.12);
  }
  body.cg-v2-saas .saas-header__logo{
    width:166px !important;
    height:auto !important;
    max-width:calc(100% - 66px) !important;
  }
  body.cg-v2-saas .mobile-menu-toggle{
    display:none !important;
  }
  body.cg-v2-saas .saas-header__nav{
    width:100%;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:7px !important;
    overflow:visible !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
  }
  body.cg-v2-saas .saas-header__nav .nav-link{
    width:100%;
    height:40px;
    justify-content:flex-start;
    border-radius:14px;
    padding:0 12px !important;
    color:rgba(255,255,255,.82);
    border:1px solid transparent;
    background:transparent;
    box-shadow:none !important;
  }
  body.cg-v2-saas .saas-header__nav .nav-link:hover{
    color:#fff;
    background:rgba(255,255,255,.09);
    border-color:rgba(255,255,255,.10);
  }
  body.cg-v2-saas .saas-header__nav .nav-link.active{
    color:#fff !important;
    background:rgba(17,181,194,.22) !important;
    border-color:rgba(17,181,194,.38) !important;
    box-shadow:inset 3px 0 0 rgba(17,181,194,.95) !important;
  }
  body.cg-v2-saas .saas-header__nav .nav-link.active:after{
    display:none !important;
  }
  body.cg-v2-saas .nav-ico{
    width:27px;
    height:27px;
    border-radius:11px;
    background:rgba(255,255,255,.10);
  }
  body.cg-v2-saas .saas-header__actions{
    margin-top:auto;
    width:100%;
    display:flex !important;
    flex-direction:column;
    align-items:stretch !important;
    justify-content:flex-end !important;
    gap:9px !important;
    padding-top:16px;
    border-top:1px solid rgba(255,255,255,.12);
    white-space:normal;
  }
  body.cg-v2-saas .school-context-display,
  body.cg-v2-saas .saas-pill,
  body.cg-v2-saas .saas-date,
  body.cg-v2-saas .saas-btn,
  body.cg-v2-saas #school-switcher-wrap{
    width:100% !important;
    max-width:100% !important;
    justify-content:center !important;
    text-align:center;
  }
  body.cg-v2-saas .saas-btn{
    height:34px !important;
    min-height:34px !important;
  }
  body.cg-v2-saas .nav-layout-toggle{
    display:none !important;
  }
  body.cg-v2-saas .main{
    width:100% !important;
    max-width:1500px !important;
    margin:0 auto !important;
    padding:20px 22px 38px !important;
  }
  body.cg-v2-saas #reassignBanner{
    left:250px !important;
    width:calc(100% - 250px) !important;
  }
}

@media (max-width:900px){
  body.cg-v2-saas{
    padding-left:0 !important;
  }
  body.cg-v2-saas .saas-header{
    position:sticky !important;
    top:0 !important;
    min-height:76px !important;
    padding:10px 14px !important;
    grid-template-columns:1fr auto !important;
    border-radius:0 0 18px 18px;
  }
  body.cg-v2-saas .saas-header__logo{
    height:46px !important;
    max-width:195px !important;
  }
  body.cg-v2-saas .cg-v2-badge{
    min-height:22px;
    font-size:9px;
    padding:0 7px;
  }
  body.cg-v2-saas .main{
    padding:14px !important;
  }
  body.cg-v2-saas .cg-v2-pagebar{
    display:block;
    padding:16px;
    border-radius:18px;
  }
  body.cg-v2-saas .cg-v2-pagebar h1{
    font-size:22px;
  }
  body.cg-v2-saas .cg-v2-pagebar-actions{
    margin-top:12px;
    justify-content:flex-start;
  }
  body.cg-v2-saas .today-dashboard-toolbar-inner{
    display:block !important;
  }
  body.cg-v2-saas .today-action-row{
    margin-top:10px !important;
  }
}

@media print{
  body.cg-v2-saas{
    padding-left:0 !important;
  }
  body.cg-v2-saas .cg-v2-pagebar,
  body.cg-v2-saas .saas-header{
    display:none !important;
  }
}


/* Source: covergrid-v2-hide-public-footer */

body.cg-v2-saas #cg-today-v2-header,
body.cg-v2-saas #cg-today-v2-cards{
  display:none!important;
}



/* Source: covergrid-v2-command-centre-css */
/* ── COVERGRID v2 TODAY COMMAND CENTRE + QUICK ACTIONS ─────────────────────
   Visual/dashboard structure only. Existing buttons, IDs, and functions remain.
──────────────────────────────────────────────────────────────────────────── */
body.cg-v2-saas .cg-v2-command-centre{
  overflow:hidden !important;
  background:
    radial-gradient(circle at top right, rgba(17,181,194,.16), transparent 32%),
    linear-gradient(135deg,#ffffff 0%,#f7fbfe 100%) !important;
  padding:10px 16px !important;
}
body.cg-v2-saas .cg-v2-command-centre .today-dashboard-toolbar-inner{
  display:grid !important;
  grid-template-columns:minmax(330px,.58fr) minmax(680px,1.42fr) !important;
  gap:10px !important;
  align-items:center !important;
}
body.cg-v2-saas .cg-v2-command-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--cg-v2-accent);
  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.12em;
  margin-bottom:4px;
}
body.cg-v2-saas .cg-v2-command-title{
  margin:0;
  color:var(--cg-v2-ink);
  font-size:18px;
  line-height:1.06;
  letter-spacing:-.035em;
  font-weight:950;
}
body.cg-v2-saas .cg-v2-command-sub{
  margin:5px 0 0;
  color:var(--cg-v2-muted);
  font-size:11px;
  line-height:1.3;
  max-width:580px;
}
body.cg-v2-saas .cg-v2-quick-actions-wrap{
  display:grid;
  gap:6px;
  justify-items:end;
}
body.cg-v2-saas .cg-v2-quick-actions-label{
  color:var(--cg-v2-muted);
  font-size:9px;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
  width:100%;
  text-align:right;
}
body.cg-v2-saas .cg-v2-command-centre .today-action-row{
  display:flex !important;
  justify-content:flex-end !important;
  align-items:center !important;
  flex-wrap:nowrap !important;
  gap:7px !important;
}
body.cg-v2-saas .cg-v2-command-centre .today-action-row button{
  white-space:nowrap !important;
}
body.cg-v2-saas .today-kpi-grid{
  grid-template-columns:repeat(4,minmax(150px,1fr)) !important;
}
body.cg-v2-saas .today-dashboard-grid{
  grid-template-columns:minmax(280px,.95fr) minmax(280px,.95fr) minmax(360px,1.25fr) !important;
  align-items:stretch !important;
}
body.cg-v2-saas .today-dashboard-grid > .card[style*="grid-column"]{
  grid-column:auto !important;
}
body.cg-v2-saas .today-dashboard-grid .card{
  min-height:100% !important;
}
body.cg-v2-saas .today-section-actions{
  margin-top:12px !important;
}
@media(max-width:1180px){
  body.cg-v2-saas .today-dashboard-grid{
    grid-template-columns:1fr 1fr !important;
  }
  body.cg-v2-saas .today-dashboard-grid > .card[style*="grid-column"]{
    grid-column:1 / -1 !important;
  }
}
@media(max-width:900px){
  body.cg-v2-saas .cg-v2-command-centre .today-dashboard-toolbar-inner{
    display:block !important;
  }
  body.cg-v2-saas .cg-v2-quick-actions-wrap{
    justify-items:start;
    margin-top:14px;
  }
  body.cg-v2-saas .cg-v2-quick-actions-label{
    text-align:left;
  }
  body.cg-v2-saas .cg-v2-command-centre .today-action-row{
    justify-content:flex-start !important;
    flex-wrap:wrap !important;
  }
  body.cg-v2-saas .today-kpi-grid,
  body.cg-v2-saas .today-dashboard-grid{
    grid-template-columns:1fr !important;
  }
  body.cg-v2-saas .today-dashboard-grid > .card[style*="grid-column"]{
    grid-column:auto !important;
  }
}


/* Source: cg-periods-show-all-five-only */
/* Show All, A, B, C, D in the Periods multi-select without scrolling */
#bq-periods{
  height:132px !important;
  min-height:132px !important;
  max-height:132px !important;
  overflow-y:hidden !important;
}


/* ── COVERGRID COMPACT LAYOUT UPDATE — 2026-06-07 ───────────────────────────
   CSS-only adjustment: narrower sidebar, wider main canvas, shorter command
   centre, and tighter Quick Add Absence area. No IDs or app logic changed. */
@media (min-width:901px){
  body.cg-v2-saas{padding-left:250px !important;}
  body.cg-v2-saas .saas-header{width:250px !important;padding:18px 14px !important;gap:14px !important;}
  body.cg-v2-saas .saas-header__logo{width:166px !important;max-width:calc(100% - 66px) !important;}
  body.cg-v2-saas .saas-header__nav{gap:6px !important;}
  body.cg-v2-saas .saas-header__nav .nav-link{height:40px !important;padding:0 11px !important;font-size:12px !important;}
  body.cg-v2-saas .nav-ico{width:27px !important;height:27px !important;}
  body.cg-v2-saas .main{max-width:1500px !important;padding:20px 22px 38px !important;}
  body.cg-v2-saas #reassignBanner{left:250px !important;width:calc(100% - 250px) !important;}
}
body.cg-v2-saas .cg-v2-command-centre{padding:10px 16px !important;}
body.cg-v2-saas .cg-v2-command-centre .today-dashboard-toolbar-inner{gap:10px !important;}
body.cg-v2-saas .cg-v2-command-title{font-size:18px !important;}
body.cg-v2-saas .cg-v2-command-sub{font-size:11px !important;line-height:1.3 !important;}
body.cg-v2-saas .cg-v2-command-centre .today-action-row .btn,
body.cg-v2-saas .cg-v2-command-centre .today-action-row button{height:34px !important;padding-left:13px !important;padding-right:13px !important;font-size:11px !important;}
body.cg-v2-saas .quick-add-card-combined,
body.cg-v2-saas .quick-add-card-compact{padding:14px 16px !important;}
body.cg-v2-saas .quick-add-header,
body.cg-v2-saas .quick-add-header.compact{margin-bottom:8px !important;}
body.cg-v2-saas .quick-add-sub{font-size:11px !important;line-height:1.35 !important;}
body.cg-v2-saas .quick-add-grid.compact{gap:8px !important;}
body.cg-v2-saas .quick-add-grid.compact input,
body.cg-v2-saas .quick-add-grid.compact select{height:34px !important;}
body.cg-v2-saas .quick-actions,
body.cg-v2-saas .quick-actions.compact{margin-top:8px !important;}
body.cg-v2-saas .quick-queue-inline{margin-top:10px !important;padding:10px !important;}
body.cg-v2-saas .today-status-cards-compact{gap:10px !important;margin-top:10px !important;}
body.cg-v2-saas .today-compact-status-card{padding:12px 14px !important;}

/* ── COVERGRID UI UPDATES 1–5: TODAY SCREEN COMPACT POLISH ────────────────
   CSS-only changes. No Firebase, coverage, report, or email logic changed. */

/* 2. Make Command Centre action buttons more prominent without increasing the card height. */
body.cg-v2-saas .cg-v2-command-centre .today-action-row{
  gap:10px !important;
}
body.cg-v2-saas .cg-v2-command-centre .today-action-row .btn,
body.cg-v2-saas .cg-v2-command-centre .today-action-row .btn-primary,
body.cg-v2-saas .cg-v2-command-centre .today-action-row .btn-secondary,
body.cg-v2-saas .cg-v2-command-centre .today-action-row .btn-urgent{
  height:38px !important;
  min-height:38px !important;
  padding:0 17px !important;
  font-size:13px !important;
  font-weight:950 !important;
  border-radius:12px !important;
}
body.cg-v2-saas .cg-v2-command-centre .today-dashboard-toolbar-inner{
  grid-template-columns:minmax(300px,.52fr) minmax(760px,1.48fr) !important;
}
body.cg-v2-saas .cg-v2-command-sub{
  max-width:520px !important;
}

/* 3. Shorten the Absent Teachers Today empty-state panel. */
body.cg-v2-saas .today-empty,
body.cg-v2-saas .today-empty-state,
body.cg-v2-saas #today-absent-list .today-empty,
body.cg-v2-saas #today-absent-list .today-empty-state,
body.cg-v2-saas [id*="absent"] .today-empty,
body.cg-v2-saas [id*="absent"] .today-empty-state{
  padding:10px 12px !important;
  min-height:38px !important;
  font-size:12px !important;
  line-height:1.35 !important;
}
body.cg-v2-saas [id*="absent"] .card,
body.cg-v2-saas .today-dashboard-grid .card:first-child{
  padding-top:14px !important;
  padding-bottom:14px !important;
}

/* 4. Tighten the three bottom dashboard cards only. */
body.cg-v2-saas .today-status-cards-compact .today-compact-status-card,
body.cg-v2-saas .today-dashboard-grid .today-compact-status-card,
body.cg-v2-saas .today-dashboard-grid > .card{
  padding:13px 15px !important;
}
body.cg-v2-saas .today-compact-status-main strong,
body.cg-v2-saas .today-dashboard-grid .card > strong,
body.cg-v2-saas .today-dashboard-grid .card .command-value{
  font-size:26px !important;
  line-height:1 !important;
}
body.cg-v2-saas .today-status-cards-compact .today-section-actions,
body.cg-v2-saas .today-dashboard-grid .today-section-actions{
  margin-top:8px !important;
}
body.cg-v2-saas .today-status-cards-compact .today-section-actions .btn,
body.cg-v2-saas .today-dashboard-grid .today-section-actions .btn,
body.cg-v2-saas .today-status-cards-compact .today-section-actions .btn-secondary,
body.cg-v2-saas .today-dashboard-grid .today-section-actions .btn-secondary{
  height:30px !important;
  min-height:30px !important;
  padding:0 11px !important;
  font-size:11px !important;
}

/* 5. Make the Quick Add area feel more integrated and less floaty. */
body.cg-v2-saas .quick-add-card-combined,
body.cg-v2-saas .quick-add-card-compact{
  padding:14px 16px !important;
}
body.cg-v2-saas .quick-add-grid.compact{
  gap:8px !important;
}
body.cg-v2-saas .quick-queue-inline{
  margin-top:9px !important;
  padding:10px !important;
}
body.cg-v2-saas .quick-actions.compact,
body.cg-v2-saas .quick-actions-combined{
  margin-top:8px !important;
}

@media(max-width:1180px){
  body.cg-v2-saas .cg-v2-command-centre .today-dashboard-toolbar-inner{
    grid-template-columns:1fr !important;
  }
  body.cg-v2-saas .cg-v2-command-centre .today-action-row{
    justify-content:flex-start !important;
    flex-wrap:wrap !important;
  }
}
