:root {
  --bg: oklch(1 0 0);
  --surface: oklch(0.965 0.004 250);
  --surface-strong: oklch(0.925 0.008 250);
  --ink: oklch(0.205 0.015 260);
  --muted: oklch(0.45 0.015 260);
  --line: oklch(0.86 0.008 250);
  --primary: oklch(0.38 0.07 250);
  --primary-dark: oklch(0.29 0.055 250);
  --primary-pale: oklch(0.95 0.018 250);
  --success: oklch(0.43 0.1 150);
  --success-dark: oklch(0.32 0.08 150);
  --success-pale: oklch(0.95 0.03 150);
  --accent: oklch(0.7 0.15 75);
  --accent-pale: oklch(0.95 0.05 75);
  --danger: oklch(0.48 0.17 28);
  --danger-pale: oklch(0.95 0.035 28);
  --info: oklch(0.48 0.11 245);
  --white: oklch(1 0 0);
  --info-pale: oklch(0.94 0.035 245);
  --school-elementary: oklch(0.34 0.07 215);
  --school-elementary-pale: oklch(0.94 0.035 215);
  --school-secondary: oklch(0.34 0.065 295);
  --school-secondary-pale: oklch(0.94 0.035 295);
  --focus: oklch(0.53 0.16 245);
  --radius-sm: 8px;
  --radius: 12px;
  --z-sticky: 20;
  --z-panel: 50;
  --font-ui: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --text-caption: 0.8125rem;
  --text-compact: 0.875rem;
  --text-secondary: 0.9375rem;
  --text-body: 1rem;
  --text-subheading: 1.125rem;
  --text-title: 1.25rem;
  --text-heading: 1.75rem;
  --weight-regular: 400;
  --weight-semibold: 600;
  --weight-bold: 700;
  font-family: var(--font-ui);
  color: var(--ink);
  background: var(--bg);
  font-synthesis: none;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { min-width: 320px; background: var(--bg); }
body { margin: 0; min-height: 100vh; font-size: var(--text-body); line-height: 1.5; }
button, input, select, textarea { font: inherit; }
button, select { color: inherit; }
button, label, input, select { -webkit-tap-highlight-color: transparent; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible, [tabindex]:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 16px; top: -60px; z-index: 100; background: var(--ink); color: var(--white); padding: 12px 16px; border-radius: 8px; }
.skip-link:focus { top: 16px; }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 224px minmax(0, 1fr); }
.sidebar { position: sticky; top: 0; z-index: var(--z-sticky); height: 100vh; padding: 24px 16px 16px; display: flex; flex-direction: column; background: var(--surface); border-right: 1px solid var(--line); }
.brand { display: flex; align-items: center; gap: 12px; padding: 0 8px 24px; font-size: 17px; font-weight: 760; letter-spacing: -0.02em; }
.brand small { font-size: var(--text-caption); color: var(--muted); margin-left: 4px; }
.brand-mark { width: 30px; height: 30px; display: grid; place-items: center; color: var(--white); background: var(--primary); border-radius: 9px; font-weight: 800; }
.sidebar nav { display: flex; flex-direction: column; gap: 4px; }
.nav-item { appearance: none; border: 0; background: transparent; width: 100%; min-height: 44px; display: flex; align-items: center; gap: 12px; padding: 8px 12px; border-radius: 9px; color: var(--muted); text-align: left; cursor: pointer; }
.nav-item:hover:not(.disabled) { background: var(--surface-strong); color: var(--ink); }
.nav-item.active { background: var(--primary-pale); color: var(--primary-dark); font-weight: 720; }
.nav-item.disabled { cursor: default; opacity: .72; }
.nav-item span { flex: 1; }
.nav-item b { min-width: 22px; padding: 4px 8px; text-align: center; border-radius: 99px; background: var(--bg); font-size: 12px; }
.nav-item::after { display: none; content: attr(data-short-label); }
.sidebar-context { margin-top: auto; padding: 16px 8px 0; border-top: 1px solid var(--line); }
.sidebar-context span, .sidebar-context strong, .sidebar-context small { display: block; }
.sidebar-context span { color: var(--muted); font-size: 12px; }
.sidebar-context strong { margin-top: 4px; font-size: 13px; }
.sidebar-context small { margin-top: 8px; color: var(--muted); font-weight: 700; }

main { min-width: 0; padding: 0 32px 80px; }
.topbar { min-height: 68px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.topbar-actions { display: flex; align-items: center; justify-content: flex-end; gap: 18px; }
.topbar-updates { appearance: none; min-height: 44px; display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border: 1px solid transparent; border-radius: 9px; background: transparent; color: var(--primary-dark); font-size: var(--text-secondary); font-weight: 720; cursor: pointer; }
.topbar-updates:hover, .topbar-updates.active { border-color: var(--line); background: var(--surface); }
.topbar-updates b { min-width: 22px; padding: 3px 7px; border-radius: 99px; background: var(--danger-pale); color: var(--danger); font-size: var(--text-caption); text-align: center; }
.role-control { display: flex; align-items: center; gap: 12px; }
.role-control label span { display: block; color: var(--muted); font-size: var(--text-caption); font-weight: 700; }
.role-control select { min-height: 44px; border: 0; padding: 8px 28px 8px 0; background: transparent; font-size: var(--text-body); font-weight: 700; cursor: pointer; }
.avatar { width: 32px; height: 32px; display: inline-grid; place-items: center; border-radius: 50%; background: var(--primary-dark); color: var(--white); font-weight: 760; font-size: 11px; flex: 0 0 auto; }
.avatar.student { background: var(--surface-strong); color: var(--primary-dark); }
.avatar.large { width: 42px; height: 42px; font-size: 13px; }
.demo-note { color: var(--muted); font-size: var(--text-caption); text-align: right; }
.demo-note strong { color: var(--danger); }
.demo-note-compact { display: none; }
.sign-out-button { min-height: 44px; white-space: nowrap; }

.auth-page { display: grid; min-height: 100vh; place-items: center; padding: 24px; background: var(--surface); }
.auth-card { width: min(100%, 480px); padding: 40px; border: 1px solid var(--line); border-radius: 14px; background: var(--bg); box-shadow: 0 18px 60px color-mix(in oklch, var(--primary-dark) 10%, transparent); }
.auth-brand { padding: 0 0 32px; }
.auth-card h1 { margin-bottom: 12px; font-size: var(--text-heading); }
.auth-card > p { color: var(--muted); font-size: var(--text-secondary); }
.auth-card .auth-error { padding: 12px 14px; border: 1px solid var(--danger); border-radius: 9px; background: var(--danger-pale); color: var(--ink); }
.auth-sign-in { width: 100%; margin: 12px 0 20px; text-decoration: none; }
.auth-card .auth-privacy { margin-bottom: 0; font-size: var(--text-caption); }

.page-heading { min-height: 126px; display: flex; align-items: center; justify-content: space-between; gap: 24px; border-bottom: 1px solid var(--line); }
.page-heading h1 { margin-bottom: 8px; font-size: 28px; line-height: 1.12; letter-spacing: -0.025em; }
.page-heading p { margin-bottom: 0; color: var(--muted); }
.page-heading .date-line { margin-bottom: 8px; color: var(--primary-dark); font-size: 14px; font-weight: 700; }
.button { appearance: none; border: 0; min-height: 44px; padding: 9px 16px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 9px; font-weight: 720; cursor: pointer; transition: background 180ms cubic-bezier(.22, 1, .36, 1), transform 180ms cubic-bezier(.22, 1, .36, 1); }
.button:active { transform: translateY(1px); }
.button.primary { background: var(--primary); color: var(--white); }
.button.primary:hover { background: var(--primary-dark); }
.button.secondary { background: var(--bg); border: 1px solid var(--line); }
.button.secondary:hover { background: var(--surface); }
.button:disabled { cursor: not-allowed; opacity: .48; transform: none; }
.button.wide { width: 100%; }
.text-button { appearance: none; border: 0; background: transparent; color: var(--primary-dark); padding: 8px; font-weight: 700; cursor: pointer; }
.icon-button { appearance: none; width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid var(--line); background: var(--bg); border-radius: 8px; cursor: pointer; }

.week-heading { min-height: 118px; }
.week-heading .scope-guidance { max-width: 68ch; margin-top: 4px; color: var(--ink); font-size: 16px; }
.director-weekly-routine { margin-top: 20px; padding: 20px; border: 1px solid oklch(0.78 0.055 250); border-left: 5px solid var(--primary); border-radius: var(--radius); background: var(--primary-pale); }
.director-weekly-routine > header, .director-weekly-routine > footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.director-weekly-routine > header p { margin: 0 0 2px; color: var(--primary-dark); font-size: var(--text-caption); font-weight: var(--weight-bold); text-transform: uppercase; letter-spacing: .06em; }
.director-weekly-routine > header h2 { margin: 0; font-size: 22px; }
.director-weekly-routine > ol { list-style: none; counter-reset: routine; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 18px 0; padding: 0; border-block: 1px solid oklch(0.78 0.055 250); }
.director-weekly-routine > ol li { counter-increment: routine; min-height: 80px; display: grid; grid-template-columns: 32px minmax(0, 1fr); align-content: center; column-gap: 10px; padding: 12px 18px; border-right: 1px solid oklch(0.78 0.055 250); }
.director-weekly-routine > ol li:first-child { padding-left: 0; }
.director-weekly-routine > ol li:last-child { padding-right: 0; border-right: 0; }
.director-weekly-routine > ol li::before { content: counter(routine); grid-row: 1 / 3; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: var(--primary); color: var(--white); font-size: 14px; font-weight: var(--weight-bold); }
.director-weekly-routine > ol strong, .director-weekly-routine > ol span { display: block; }
.director-weekly-routine > ol strong { font-size: var(--text-body); }
.director-weekly-routine > ol span { color: var(--muted); font-size: var(--text-secondary); }
.director-weekly-routine > footer { justify-content: flex-start; }
.director-weekly-routine > footer small { color: var(--muted); font-size: var(--text-caption); }
.week-action-plan { margin-top: 24px; border-block: 1px solid var(--line); }
.week-action-plan > header { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 12px 0; }
.week-action-plan > header h2 { margin-bottom: 3px; font-size: 20px; }
.week-action-plan > header p { margin: 0; color: var(--muted); font-size: 14px; }
.week-action-plan > header > span { color: var(--muted); font-size: 14px; font-weight: var(--weight-semibold); }
.week-primary-action { min-height: 94px; display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 16px; background: var(--primary-pale); }
.week-primary-action > strong { font-size: 30px; line-height: 1; font-variant-numeric: tabular-nums; text-align: center; }
.week-primary-action h3 { margin-bottom: 4px; font-size: 18px; }
.week-primary-action p { margin: 0; color: var(--muted); font-size: var(--text-secondary); }
.weekly-meeting-action { grid-template-columns: minmax(150px, auto) minmax(0, 1fr) auto; background: var(--primary-pale); }
.weekly-meeting-action > time { display: block; padding-right: 16px; border-right: 1px solid var(--line); font-variant-numeric: tabular-nums; }
.weekly-meeting-action > time strong, .weekly-meeting-action > time span { display: block; }
.weekly-meeting-action > time strong { font-size: 18px; }
.weekly-meeting-action > time span { margin-top: 2px; color: var(--muted); font-size: var(--text-secondary); }
.week-primary-buttons { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; }
.week-primary-options { grid-column: 1 / -1; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 16px; padding-top: 8px; border-top: 1px solid var(--line); }
.week-primary-options .text-button { min-height: 36px; }
.meeting-schedule-panel { padding: 20px; border: 1px solid var(--line); background: var(--bg); font-size: 15px; }
.meeting-schedule-panel > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.meeting-schedule-panel > header span { color: var(--primary-dark); font-size: 15px; font-weight: var(--weight-bold); text-transform: uppercase; letter-spacing: .05em; }
.meeting-schedule-panel > header h3 { margin: 3px 0 0; font-size: 19px; }
.meeting-schedule-panel > header p { margin: 4px 0 0; color: var(--muted); }
.meeting-schedule-panel > header > strong { white-space: nowrap; font-size: 15px; }
.meeting-schedule-panel fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.meeting-schedule-choice { padding: 16px 0; border-bottom: 1px solid var(--line); }
.meeting-schedule-choice > label { min-height: 44px; display: flex; align-items: flex-start; gap: 10px; cursor: pointer; }
.meeting-schedule-choice > label input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--primary); }
.meeting-schedule-choice > label span, .meeting-schedule-choice > label strong, .meeting-schedule-choice > label small { display: block; }
.meeting-schedule-choice > label small { margin-top: 3px; color: var(--muted); font-size: 15px; }
.meeting-schedule-fields { display: grid; grid-template-columns: minmax(170px, 1fr) minmax(145px, .8fr) auto; gap: 12px; align-items: end; margin: 12px 0 0 30px; }
.meeting-schedule-fields label > span { display: block; margin-bottom: 5px; color: var(--muted); font-size: 15px; font-weight: var(--weight-semibold); }
.meeting-schedule-fields input, .meeting-schedule-fields textarea { width: 100%; min-height: 44px; border: 1px solid var(--line); border-radius: 8px; background: var(--bg); padding: 9px 10px; font: inherit; }
.meeting-schedule-fields textarea { resize: vertical; }
.meeting-cancellation-reason { grid-column: span 2; }
.meeting-schedule-actions { display: flex; justify-content: flex-end; gap: 10px; padding-top: 16px; }
.meeting-schedule-actions .button, .meeting-schedule-fields .button { min-height: 44px; }
.meeting-schedule-review { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin-top: 16px; background: var(--line); }
.meeting-schedule-review > div { min-height: 88px; padding: 16px; background: var(--surface); }
.meeting-schedule-review span, .meeting-schedule-review strong, .meeting-schedule-review small { display: block; }
.meeting-schedule-review span { margin-bottom: 5px; color: var(--muted); font-size: 15px; }
.meeting-schedule-review small { margin-top: 5px; color: var(--muted); }
.week-secondary-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding: 18px 0 10px; }
.week-secondary-heading h3 { margin: 0; font-size: 17px; }
.week-secondary-heading p { margin: 0; color: var(--muted); font-size: var(--text-secondary); }
.week-following-actions { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 1px; background: var(--line); }
.week-following-actions button { appearance: none; min-height: 88px; display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 12px; align-items: start; padding: 16px; border: 0; background: var(--bg); color: inherit; text-align: left; cursor: pointer; }
.week-following-actions button:hover { background: var(--surface); }
.week-following-actions button:disabled { background: var(--surface); color: var(--muted); cursor: default; }
.week-queue-count { font-size: 24px; line-height: 1.1; font-variant-numeric: tabular-nums; text-align: center; }
.week-queue-copy, .week-queue-copy > span, .week-queue-copy small { display: block; min-width: 0; }
.week-queue-copy > span { font-size: var(--text-body); font-weight: var(--weight-semibold); line-height: 1.3; }
.week-queue-copy small { margin-top: 5px; color: var(--muted); font-size: var(--text-secondary); line-height: 1.35; }

.meeting-scheduling-overview { margin-top: 24px; padding: 20px 0; display: grid; grid-template-columns: minmax(220px, .7fr) minmax(420px, 1.3fr); gap: 24px; border-block: 2px solid var(--primary-dark); }
.meeting-scheduling-overview h2 { margin-bottom: 4px; font-size: var(--text-title); }
.meeting-scheduling-overview p { margin: 0; max-width: 62ch; color: var(--muted); }
.meeting-scheduling-overview ol { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; align-self: center; }
.meeting-scheduling-overview li { min-height: 48px; display: flex; align-items: center; padding: 8px 12px; border-bottom: 3px solid var(--line); color: var(--muted); font-weight: var(--weight-semibold); }
.meeting-scheduling-overview li.current { border-color: var(--accent); color: var(--ink); }
.meeting-scheduling-overview li.complete { border-color: var(--success); color: var(--success-dark); }
.meeting-scheduling-overview li.pending { border-color: var(--accent); color: var(--ink); background: var(--accent-pale); }
.meeting-scheduling-receipt { grid-column: 1 / -1; margin: 0; padding: 12px 16px; }
.meeting-scheduling-receipt strong, .meeting-scheduling-receipt span { display: block; }
.meeting-scheduling-receipt.pending { background: var(--accent-pale); color: var(--ink); }
.meeting-scheduling-receipt.complete { background: var(--success-pale); color: var(--success-dark); }
.meeting-scheduling-workspace { display: grid; grid-template-columns: minmax(260px, .42fr) minmax(0, 1fr); gap: 28px; align-items: start; margin-top: 24px; }
.meeting-scheduling-queue { border: 1px solid var(--line); background: var(--surface); }
.meeting-scheduling-queue > div { padding: 20px; border-bottom: 1px solid var(--line); }
.meeting-scheduling-queue h2 { margin: 2px 0 6px; font-size: var(--text-title); }
.meeting-scheduling-queue p { margin: 0; color: var(--muted); font-size: var(--text-secondary); }
.meeting-scheduling-queue ol { list-style: none; margin: 0; padding: 0; }
.meeting-scheduling-queue li + li { border-top: 1px solid var(--line); }
.meeting-scheduling-queue button { width: 100%; padding: 16px 20px; border: 0; background: transparent; color: var(--ink); text-align: left; cursor: pointer; }
.meeting-scheduling-queue button:hover, .meeting-scheduling-queue button:focus-visible { background: var(--primary-pale); }
.meeting-scheduling-queue button[aria-current="true"] { background: var(--primary-pale); box-shadow: inset 4px 0 0 var(--primary); }
.meeting-scheduling-queue strong, .meeting-scheduling-queue span { display: block; }
.meeting-scheduling-queue strong { font-size: var(--text-body); }
.meeting-scheduling-queue span { margin-top: 3px; color: var(--muted); font-size: var(--text-secondary); line-height: 1.4; }
.meeting-scheduling-detail { min-width: 0; padding: 24px; border: 2px solid var(--primary-dark); background: var(--surface); }
.meeting-scheduling-detail > header h2 { margin: 2px 0 4px; font-size: var(--text-display); }
.meeting-scheduling-detail > header p:last-child { margin: 0; color: var(--muted); font-size: var(--text-secondary); }
.meeting-scheduling-detail .meeting-scheduling-overview { margin-top: 24px; }
.meeting-scheduling-detail .packet-scheduling-path { margin-top: 24px; border: 1px solid var(--line); }
.meeting-scheduling-empty { margin-top: 24px; }
.meeting-date-error { min-height: 1.5em; margin: 8px 0 0; color: var(--danger); font-size: var(--text-secondary); font-weight: var(--weight-semibold); }
.meeting-date-error:empty { min-height: 0; }
.post-meeting-checklist { margin: 24px 0; border-block: 2px solid var(--ink); }
.post-meeting-checklist > header { min-height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.post-meeting-checklist > header span, .post-meeting-checklist > header h2, .post-meeting-checklist > header p { display: block; margin: 0; }
.post-meeting-checklist > header span { color: var(--primary-dark); font-weight: var(--weight-bold); }
.post-meeting-checklist > header p { margin-top: 4px; color: var(--muted); }
.post-meeting-checklist ol { list-style: none; margin: 0; padding: 0; }
.post-meeting-checklist li { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 12px 0; border-top: 1px solid var(--line); }
.post-meeting-checklist li strong, .post-meeting-checklist li span { display: block; }
.post-meeting-checklist li span { margin-top: 3px; color: var(--muted); }
.import-file-picker { min-height: 92px; display: grid; align-content: center; gap: 8px; padding: 16px; border: 2px dashed var(--line); background: var(--surface); }
.import-file-picker > span { font-weight: var(--weight-bold); }
.import-file-picker input { width: 100%; }
.import-paste-fallback { border-top: 1px solid var(--line); }
.import-paste-fallback > summary { min-height: 48px; display: flex; align-items: center; cursor: pointer; color: var(--primary-dark); font-weight: var(--weight-semibold); }
.import-change-summary { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 8px 16px; margin: 8px 0; padding: 12px; background: var(--surface); }
.import-change-summary dt { color: var(--muted); font-size: var(--text-caption); font-weight: var(--weight-semibold); }
.import-change-summary dd { margin: 2px 0 0; font-weight: var(--weight-semibold); }

.week-find-tools { margin-top: 20px; display: flex; flex-wrap: wrap; align-items: stretch; border-bottom: 1px solid var(--line); }
.week-search-row { min-height: 72px; flex: 1 1 620px; display: grid; grid-template-columns: minmax(170px, 1fr) minmax(280px, 460px); align-items: center; gap: 24px; padding: 12px 24px 12px 0; }
.week-search-heading strong, .week-search-heading small, .week-advanced-filters > summary span strong, .week-advanced-filters > summary span small { display: block; }
.week-search-heading strong, .week-advanced-filters > summary span strong { font-size: 16px; }
.week-search-heading small, .week-advanced-filters > summary span small { margin-top: 3px; color: var(--muted); font-size: var(--text-secondary); font-weight: var(--weight-regular); line-height: 1.35; }
.week-search-control { min-width: 0; display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.week-search-row .search-control { flex: 1; }
.week-search-row .search-control input { width: 100%; min-height: 44px; border: 1px solid var(--line); border-radius: 8px; background: var(--bg); padding: 9px 12px 9px 36px; font-size: 15px; }
.week-search-row .search-control input::placeholder { color: var(--muted); opacity: 1; }
.week-advanced-filters { flex: 1 1 360px; border-left: 1px solid var(--line); }
.week-advanced-filters[open] { flex-basis: 100%; border-top: 1px solid var(--line); border-left: 0; }
.week-advanced-filters > summary { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 10px 0 10px 24px; }
.week-advanced-filters[open] > summary { min-height: 64px; padding-left: 0; }
.week-advanced-filters > summary { cursor: pointer; }
.week-advanced-filters > summary b { color: var(--primary-dark); font-size: 13px; }
.week-advanced-filters[open] > summary { border-bottom: 1px solid var(--line); }

.filters { min-height: 76px; display: flex; flex-wrap: wrap; align-items: end; gap: 12px; padding: 16px 0; }
.filters label { min-width: 132px; }
.filters label > span { display: block; margin: 0 0 4px 4px; color: var(--muted); font-size: 12px; font-weight: 700; }
.filters select, .filters input, .student-panel select, .student-panel input { width: 100%; min-height: 44px; border: 1px solid var(--line); border-radius: 8px; background: var(--bg); padding: 9px 12px; font-size: 15px; }
.filters select { padding-right: 32px; }
.search-control { min-width: 220px !important; position: relative; }
.search-control > svg { position: absolute; left: 12px; bottom: 12px; width: 16px; color: var(--muted); }
.search-control input { padding-left: 32px; }
.filters input::placeholder { color: var(--muted); opacity: 1; }
.filters .text-button { margin-left: auto; margin-bottom: 0; }

.command-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 24px; padding-top: 24px; align-items: start; }
.weekly-schedule { max-width: 1180px; padding-top: 28px; }
.schedule-group { margin-bottom: 28px; }
.schedule-group > header, .schedule-group > summary { min-height: 62px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 10px 8px; border-bottom: 2px solid var(--ink); }
.schedule-group > header h3, .schedule-group > summary h3 { margin-bottom: 3px; font-size: 18px; }
.schedule-group > header p, .schedule-group > summary p { margin: 0; color: var(--muted); font-size: 14px; }
.schedule-group > header > strong { min-width: 34px; text-align: center; font-size: 18px; font-variant-numeric: tabular-nums; }
.schedule-group-actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; }
.schedule-group-actions > strong { min-width: 34px; text-align: center; font-size: 18px; font-variant-numeric: tabular-nums; }
.schedule-group-actions > span { color: var(--primary-dark); font-size: 13px; font-weight: var(--weight-semibold); }
.schedule-group-actions .text-button { min-height: 44px; }
.week-secondary-group { margin-bottom: 0; border-bottom: 1px solid var(--line); }
.week-secondary-group > summary { border-bottom: 0; cursor: pointer; }
.week-secondary-group[open] > summary { border-bottom: 1px solid var(--line); }
.schedule-group.unset-meetings > summary, .schedule-group.unfinished-follow-up > summary { background: var(--accent-pale); }
.schedule-group.watch-referrals > summary { background: var(--info-pale); }
.schedule-empty { padding: 24px 8px; border-bottom: 1px solid var(--line); }
.schedule-empty h3 { margin-bottom: 4px; font-size: 16px; }
.schedule-empty p { margin: 0; color: var(--muted); font-size: var(--text-caption); }
.upcoming-preparation { margin: 4px 0 32px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.upcoming-preparation summary { min-height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 10px 8px; cursor: pointer; }
.upcoming-preparation summary span, .upcoming-preparation summary strong, .upcoming-preparation summary small { display: block; }
.upcoming-preparation summary small { margin-top: 3px; color: var(--muted); font-size: var(--text-caption); font-weight: 400; }
.upcoming-preparation summary b { min-width: 34px; text-align: center; font-size: 18px; }
.worklist-head { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 12px; }
.worklist-head h2, .focus-panel h2 { margin-bottom: 4px; font-size: 20px; }
.worklist-head p, .focus-panel p { margin-bottom: 0; color: var(--muted); font-size: 14px; }
.legend { display: inline-flex; align-items: center; gap: 8px; color: var(--muted); font-size: var(--text-secondary); }
.legend i { width: 8px; height: 8px; border-radius: 50%; background: var(--accent); }
.student-list { border-top: 1px solid var(--line); }
.student-row { min-height: 84px; display: grid; grid-template-columns: minmax(210px, 1.2fr) minmax(170px, .9fr) minmax(190px, 1.1fr) auto; gap: 14px; align-items: center; padding: 13px 8px; border-bottom: 1px solid var(--line); }
.student-row:hover { background: oklch(0.98 0.008 150); }
.student-open { appearance: none; border: 0; background: transparent; min-width: 0; display: flex; align-items: center; gap: 12px; padding: 0; text-align: left; cursor: pointer; }
.student-grade-marker { width: 48px; min-width: 48px; min-height: 52px; display: grid; place-items: center; align-content: center; border-radius: var(--radius-sm); line-height: 1; }
.student-grade-marker small, .student-grade-marker strong { display: block; }
.student-grade-marker small { margin-bottom: 3px; font-size: 11px; font-weight: var(--weight-semibold); }
.student-grade-marker strong { font-size: 22px; font-weight: 780; font-variant-numeric: tabular-nums; }
.student-grade-marker.elementary { background: var(--school-elementary-pale); color: var(--school-elementary); }
.student-grade-marker.secondary { background: var(--school-secondary-pale); color: var(--school-secondary); }
.student-identity, .student-cycle, .student-action { min-width: 0; }
.student-identity strong, .student-identity small, .student-cycle strong, .student-cycle small, .student-action strong, .student-action small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.student-identity strong, .student-cycle strong, .student-action strong { font-size: 15px; }
.student-cycle strong, .student-action strong { font-weight: 650; }
.student-cycle .student-controlling-date { color: var(--ink); font-size: var(--text-body); font-weight: 760; font-variant-numeric: tabular-nums; }
.student-identity small, .student-cycle small, .student-action small { margin-top: 4px; color: var(--muted); font-size: var(--text-secondary); }
.directory-heading { min-height: 138px; }
.directory-heading > div { max-width: 72ch; }
.directory-scope { flex: 0 0 auto; margin: 0; text-align: right; color: var(--muted); font-size: var(--text-secondary); }
.directory-scope strong, .directory-scope span { display: block; }
.directory-scope strong { color: var(--ink); font-size: var(--text-title); }
.directory-tools { display: grid; gap: 16px; padding: 22px 0; border-bottom: 1px solid var(--line); }
.directory-search { position: relative; display: block; }
.directory-search > svg { position: absolute; left: 12px; bottom: 13px; width: 17px; color: var(--muted); }
.directory-search > span, .directory-filters label > span { display: block; margin-bottom: 5px; color: var(--muted); font-size: var(--text-secondary); font-weight: var(--weight-bold); }
.directory-search input, .directory-filters select { width: 100%; min-height: 46px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--bg); padding: 9px 12px; font-size: var(--text-body); }
.directory-search input { padding-left: 38px; }
.directory-search input::placeholder { color: var(--muted); opacity: 1; }
.directory-filters { padding-top: 14px; border-top: 1px solid var(--line); }
.directory-filters > span { display: block; margin-bottom: 9px; color: var(--ink); font-size: var(--text-secondary); font-weight: var(--weight-bold); }
.directory-filter-controls { display: flex; align-items: end; gap: 10px; }
.directory-filters label { min-width: 150px; }
.directory-filters .text-button { min-height: 46px; }
.directory-advanced-filters { margin-top: 14px; border-top: 1px solid var(--line); }
.directory-advanced-filters > summary { min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 8px 0; color: var(--primary-dark); cursor: pointer; }
.directory-advanced-filters > summary span, .directory-advanced-filters > summary strong, .directory-advanced-filters > summary small { display: block; }
.directory-advanced-filters > summary strong { font-size: var(--text-body); }
.directory-advanced-filters > summary small { margin-top: 2px; color: var(--muted); font-size: var(--text-secondary); font-weight: var(--weight-regular); }
.directory-advanced-filters > summary b { font-size: var(--text-secondary); white-space: nowrap; }
.directory-advanced-filter-controls { display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)); gap: 12px; padding: 8px 0 4px; }
.directory-advanced-filter-controls label, .directory-advanced-filter-controls label > span { display: block; min-width: 0; }
.directory-advanced-filter-controls label > span { margin-bottom: 5px; color: var(--muted); font-size: var(--text-secondary); font-weight: var(--weight-bold); }
.directory-advanced-filter-controls select { width: 100%; min-width: 0; min-height: 44px; padding: 8px 34px 8px 10px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--bg); font-size: var(--text-secondary); }
.directory-results { padding: 28px 0 60px; }
.directory-results > header { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding-bottom: 14px; }
.directory-results > header h2 { margin-bottom: 3px; font-size: var(--text-title); }
.directory-results > header p, .directory-results > header > span { margin: 0; color: var(--muted); font-size: var(--text-secondary); }
.directory-column-head, .directory-student-row { display: grid; grid-template-columns: minmax(240px, 1.3fr) minmax(160px, .75fr) minmax(210px, 1fr) minmax(150px, .7fr) auto; gap: 14px; align-items: center; }
.directory-column-head { min-height: 42px; padding: 7px 8px; border-block: 1px solid var(--line); color: var(--muted); font-size: var(--text-secondary); font-weight: var(--weight-semibold); }
.directory-student-row { appearance: none; width: 100%; min-height: 82px; padding: 12px 8px; border: 0; border-bottom: 1px solid var(--line); background: var(--bg); color: inherit; text-align: left; cursor: pointer; }
.directory-student-row:hover { background: var(--surface); }
.directory-student-row .attention { font-size: var(--text-secondary); }
.directory-cell, .directory-cell strong, .directory-cell small, .directory-student-name strong, .directory-student-name small { display: block; min-width: 0; }
.directory-cell strong, .directory-student-name strong { font-size: var(--text-body); }
.directory-cell small, .directory-student-name small { margin-top: 3px; color: var(--muted); font-size: var(--text-secondary); line-height: 1.35; }
.directory-student-name { min-width: 0; display: flex; align-items: center; gap: 11px; color: inherit; }
.directory-student-row:hover .directory-student-name strong { color: var(--primary-dark); }
.directory-mobile-label { display: none; }
.directory-empty { padding: 48px 20px; border-bottom: 1px solid var(--line); text-align: center; }
.directory-empty h3 { margin-bottom: 5px; }
.directory-empty p { margin: 0 auto 18px; max-width: 54ch; color: var(--muted); }
.directory-load-more { display: flex; align-items: center; justify-content: center; gap: 16px; padding: 20px; border-bottom: 1px solid var(--line); }
.directory-load-more p { margin: 0; color: var(--muted); font-size: var(--text-secondary); }
.attention { width: max-content; display: inline-flex; align-items: center; gap: 4px; padding: 5px 9px; border-radius: 99px; font-size: 12px; font-weight: 760; white-space: nowrap; }
.attention svg { width: 12px; height: 12px; }
.attention.overdue { background: var(--danger-pale); color: oklch(0.36 0.15 28); }
.attention.urgent { background: var(--accent-pale); color: oklch(0.35 0.1 65); }
.attention.watch { background: var(--info-pale); color: oklch(0.34 0.11 245); }
.attention.on-track { background: var(--success-pale); color: var(--success-dark); }
.attention.inactive { background: var(--surface); color: var(--muted); }

.focus-panel { position: sticky; top: 16px; border: 1px solid var(--line); border-radius: 14px; padding: 16px; }
.focus-head { display: flex; align-items: start; justify-content: space-between; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.focus-head > span { min-width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: var(--ink); color: var(--white); font-size: 12px; font-weight: 760; }
.focus-item { display: grid; grid-template-columns: 34px 1fr; gap: 12px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.focus-item strong { font-size: 12px; }
.focus-item p { margin-top: 4px; font-size: 10px; }
.focus-action { width: 100%; appearance: none; background: transparent; border: 0; text-align: left; cursor: pointer; color: inherit; }
.focus-action:hover strong { color: var(--primary-dark); }
.focus-action small { display: block; margin-top: 4px; color: var(--muted); font-size: 10px; }
.focus-icon { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 8px; }
.focus-icon svg { width: 15px; }
.focus-icon.danger { background: var(--danger-pale); color: var(--danger); }
.focus-icon.amber { background: var(--accent-pale); color: oklch(0.42 0.11 65); }
.focus-icon.green { background: var(--success-pale); color: var(--success-dark); }
.focus-panel .button { margin-top: 16px; }
.privacy-note { margin: 12px auto 0; max-width: 32ch; text-align: center; color: var(--muted); font-size: 12px !important; }

.empty-state { padding: 32px 24px; text-align: center; border-bottom: 1px solid var(--line); }
.empty-state h3 { margin-bottom: 4px; font-size: 16px; }
.empty-state p { color: var(--muted); }

.student-panel { position: fixed; top: 0; right: 0; bottom: 0; z-index: var(--z-panel); width: min(540px, 100vw); overflow-y: auto; background: var(--bg); border-left: 1px solid var(--line); animation: panel-in 180ms cubic-bezier(.22, 1, .36, 1); }
.student-panel > header { position: sticky; top: 0; z-index: 1; min-height: 92px; display: flex; align-items: center; justify-content: space-between; padding: 16px 24px; background: var(--bg); border-bottom: 1px solid var(--line); }
.student-panel > header > div { display: flex; align-items: center; gap: 12px; }
.student-panel header p { margin-bottom: 3px; color: var(--muted); font-size: 12px; }
.student-panel header h2 { margin-bottom: 3px; font-size: 21px; }
.student-panel-status { display: inline-flex; padding: 3px 7px; border: 1px solid var(--line); border-radius: 99px; background: var(--bg); color: var(--ink); font-size: 13px; font-weight: var(--weight-bold); }
.student-panel form > section { padding: 24px; border-bottom: 1px solid var(--line); }
.student-panel form > .student-priority { display: grid; grid-template-columns: minmax(0, 1fr) minmax(170px, .7fr); gap: 24px; padding-block: 18px; background: var(--primary-pale); }
.student-priority span, .student-priority strong, .student-priority small { display: block; }
.student-priority span { color: var(--primary-dark); font-size: 12px; font-weight: var(--weight-bold); }
.student-priority strong { margin-top: 4px; font-size: 16px; line-height: 1.35; }
.student-priority small { margin-top: 4px; color: var(--muted); font-size: 12px; }
.student-record-disclosure { border-bottom: 1px solid var(--line); }
.student-record-disclosure > summary { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 13px 24px; cursor: pointer; }
.student-record-disclosure > summary:hover { background: var(--surface); }
.student-record-disclosure > summary:focus-visible { outline: 3px solid var(--focus); outline-offset: -3px; }
.student-record-disclosure > summary span strong, .student-record-disclosure > summary span small { display: block; }
.student-record-disclosure > summary span strong { font-size: 15px; }
.student-record-disclosure > summary span small { margin-top: 4px; color: var(--muted); font-size: 12px; font-weight: var(--weight-regular); }
.student-record-disclosure > summary b { flex: 0 0 auto; color: var(--primary-dark); font-size: 12px; }
.student-record-disclosure[open] > summary { border-bottom: 1px solid var(--line); background: var(--surface); }
.student-record-editor { padding: 22px 24px 24px; }
.student-record-actions { display: flex; justify-content: flex-end; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); }
.student-home-workspace { max-width: 1180px; margin: 0 auto; }
.student-home-heading { min-height: 142px; display: flex; flex-direction: column; justify-content: center; gap: 16px; border-bottom: 1px solid var(--line); }
.student-home-heading .back-button { align-self: flex-start; padding-left: 0; }
.student-home-heading > div { display: flex; align-items: center; gap: 14px; }
.student-home-heading p { margin-bottom: 3px; color: var(--muted); font-size: var(--text-secondary); }
.student-home-heading h1 { margin-bottom: 4px; font-size: var(--text-heading); line-height: 1.15; }
.student-home-quick-actions { display: flex; flex-wrap: wrap; gap: 10px; padding-bottom: 18px; }
.student-home-quick-actions .button { min-height: 46px; }
.student-home-focus { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(340px, .75fr); margin-top: 24px; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.student-home-next-action { min-height: 176px; padding: 24px; background: var(--primary-pale); }
.student-home-next-action > span { display: block; color: var(--primary-dark); font-size: var(--text-secondary); font-weight: var(--weight-bold); }
.student-home-next-action h2 { margin: 6px 0 4px; font-size: 24px; line-height: 1.22; }
.student-home-next-action p { margin: 0 0 18px; color: var(--muted); }
.student-home-next-action .student-home-next-action-meta { display: flex; flex-wrap: wrap; gap: 4px 8px; margin-top: 10px; color: var(--ink); font-size: var(--text-secondary); }
.student-home-next-action-meta strong:not(:first-child) { margin-left: 10px; }
.student-home-focus dl { display: grid; grid-template-rows: 1fr 1fr; margin: 0; }
.student-home-focus dl > div { min-height: 88px; display: grid; grid-template-columns: minmax(120px, .7fr) minmax(0, 1fr); align-content: center; gap: 2px 16px; padding: 16px 20px; border-bottom: 1px solid var(--line); }
.student-home-focus dl > div:last-child { border-bottom: 0; }
.student-home-focus dt { color: var(--muted); font-size: var(--text-secondary); font-weight: var(--weight-semibold); }
.student-home-focus dd { margin: 0; font-size: var(--text-subheading); font-weight: var(--weight-bold); text-align: right; }
.student-home-focus small { grid-column: 1 / -1; color: var(--muted); font-size: var(--text-caption); text-align: right; }
.student-home-main-content { max-width: 920px; padding: 32px 0 72px; }
.student-home-section { margin-bottom: 28px; }
.student-home-section > header { min-height: 58px; display: flex; align-items: end; justify-content: space-between; gap: 24px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.student-home-section > header h2 { margin-bottom: 3px; font-size: var(--text-title); }
.student-home-section > header p { margin: 0; max-width: 68ch; color: var(--muted); font-size: var(--text-secondary); }
.student-home-section > header > strong { font-size: var(--text-secondary); white-space: nowrap; }
.student-home-work-list, .student-home-testing-list, .student-home-history ol { margin: 0; padding: 0; list-style: none; }
.student-home-work-list li { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 16px; border-bottom: 1px solid var(--line); background: var(--surface); }
.student-home-work-list li + li { margin-top: 8px; }
.student-home-work-list li div span, .student-home-work-list li div strong, .student-home-work-list li div small { display: block; }
.student-home-work-list li div span { color: var(--muted); font-size: var(--text-secondary); font-weight: var(--weight-semibold); }
.student-home-work-list li div strong { margin-top: 3px; font-size: var(--text-body); }
.student-home-work-list li div small { margin-top: 3px; color: var(--muted); font-size: var(--text-secondary); }
.student-home-testing-list li { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.student-home-testing-list li div strong, .student-home-testing-list li div span { display: block; }
.student-home-testing-list li div strong { font-size: var(--text-body); }
.student-home-testing-list li div span { margin-top: 3px; color: var(--muted); font-size: var(--text-secondary); }
.student-home-empty { padding: 24px 0; border-bottom: 1px solid var(--line); }
.student-home-empty strong { display: block; }
.student-home-empty p { margin: 4px 0 0; color: var(--muted); }
.student-home-section-quiet > header { min-height: 54px; align-items: center; }
.student-home-history ol li { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 18px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.student-home-history time { color: var(--muted); font-size: var(--text-secondary); }
.student-home-history, .student-home-reference { margin: 0 0 16px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--bg); }
.student-home-history > summary, .student-home-reference > summary { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 16px; cursor: pointer; }
.student-home-history > summary span strong, .student-home-history > summary span small, .student-home-reference > summary span strong, .student-home-reference > summary span small { display: block; }
.student-home-history > summary span strong, .student-home-reference > summary span strong { font-size: var(--text-body); }
.student-home-history > summary span small, .student-home-reference > summary span small { margin-top: 3px; color: var(--muted); font-size: var(--text-secondary); }
.student-home-history > summary b, .student-home-reference > summary b { color: var(--primary-dark); font-size: var(--text-secondary); white-space: nowrap; }
.student-home-history[open] > summary, .student-home-reference[open] > summary { border-bottom: 1px solid var(--line); background: var(--surface); }
.details-open-label { display: none; }
.student-home-reference[open] .details-closed-label { display: none; }
.student-home-reference[open] .details-open-label { display: inline; }
.student-home-history ol { padding: 0 16px 14px; }
.student-home-reference-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; padding: 0 16px 18px; }
.student-home-reference-grid > section, .student-home-reference-grid > details { padding: 20px 0; border-bottom: 1px solid var(--line); }
.student-home-reference-grid > .student-home-record, .student-home-reference-grid > .student-home-readonly-record { grid-column: 1 / -1; }
.student-home-reference-grid > [data-testid="student-home-imported-references"] { grid-column: 1 / -1; }
.student-home-reference h2 { margin-bottom: 12px; font-size: var(--text-subheading); }
.student-home-reference-heading { display: flex; align-items: start; justify-content: space-between; gap: 14px; }
.student-home-reference-heading .button { min-height: 44px; padding: 8px 11px; }
.student-home-reference dl { margin: 0; }
.student-home-reference dl > div { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--line); }
.student-home-reference dl > div:last-child { border-bottom: 0; }
.student-home-reference dt { color: var(--muted); font-size: var(--text-secondary); }
.student-home-reference dd { margin: 0; font-size: var(--text-secondary); font-weight: var(--weight-semibold); text-align: right; }
.student-home-record { padding: 0 !important; }
.student-home-record > summary { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 0; cursor: pointer; }
.student-home-record > summary span strong, .student-home-record > summary span small { display: block; }
.student-home-record > summary span strong { font-size: var(--text-subheading); }
.student-home-record > summary span small { margin-top: 4px; color: var(--muted); font-size: var(--text-secondary); }
.student-home-record > summary b { color: var(--primary-dark); font-size: var(--text-secondary); text-align: right; }
.student-home-record[open] > summary { border-bottom: 1px solid var(--line); }
.student-home-record form { padding: 18px 0 22px; }
.student-home-record-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.student-home-record-fields label > span, .student-home-record-fields label > small { display: block; }
.student-home-record-fields label > span { margin-bottom: 5px; color: var(--muted); font-size: var(--text-secondary); font-weight: var(--weight-bold); }
.student-home-record-fields label > small { margin-top: 5px; color: var(--muted); font-size: var(--text-secondary); line-height: 1.4; }
.student-home-record-fields select, .student-home-record-fields input { width: 100%; min-height: 44px; padding: 8px 10px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--bg); }
.student-home-record-actions { display: flex; justify-content: flex-end; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line); }
.student-home-status-confirmation { margin-top: 16px; padding: 16px; background: var(--accent-pale); }
.student-home-status-confirmation p { margin: 4px 0 14px; }
.student-home-status-confirmation > div { display: flex; justify-content: flex-end; gap: 8px; }
.student-access-state { max-width: 680px; margin: 72px auto; padding: 32px; text-align: center; background: var(--surface); }
.student-access-state .avatar { margin: 0 auto 16px; }
.student-access-state h1 { margin-bottom: 10px; font-size: var(--text-heading); }
.student-access-state p { margin: 0 auto 8px; max-width: 58ch; color: var(--muted); }
.student-access-state .button { margin-top: 18px; }
.student-home-readonly-record dl > div { grid-template-columns: 1fr auto; }
.record-conflict { margin: 16px 24px 0; padding: 12px 16px; background: var(--danger-pale); color: var(--danger); }
.record-conflict strong { display: block; font-size: 13px; }
.record-conflict p { margin: 4px 0 0; color: var(--ink); font-size: 12px; line-height: 1.45; }
.global-conflict { max-width: 1180px; margin: 16px auto 0; padding: 12px 16px; background: var(--danger-pale); color: var(--danger); }
.global-conflict strong { display: block; font-size: 13px; }
.global-conflict p { margin: 4px 0 0; color: var(--ink); font-size: 12px; }
.migration-workspace { max-width: 1180px; margin: 0 auto; }
.migration-heading { min-height: 150px; display: grid; grid-template-columns: 140px 1fr; align-items: center; border-bottom: 1px solid var(--line); }
.migration-heading h1 { margin-bottom: 8px; font-size: 28px; letter-spacing: -0.025em; }
.migration-heading p { max-width: 68ch; margin-bottom: 0; color: var(--muted); }
.migration-heading div > p:first-child { margin-bottom: 6px; color: var(--primary-dark); font-size: 11px; font-weight: 760; }
.migration-heading .demo-import-warning { max-width: 72ch; margin-top: 12px; padding: 9px 12px; background: var(--accent-pale); color: var(--ink); font-size: 11px; }
.import-source { display: grid; grid-template-columns: minmax(220px, .6fr) minmax(360px, 1.4fr) auto; gap: 24px; align-items: end; padding: 28px 0; border-bottom: 1px solid var(--line); }
.import-source h2, .import-mapping h2, .import-rows h2 { margin-bottom: 5px; font-size: 17px; }
.import-source p, .import-mapping p, .import-rows p { margin-bottom: 0; color: var(--muted); font-size: 12px; }
.import-source label span { display: block; margin: 0 0 5px 4px; color: var(--muted); font-size: 10px; font-weight: 700; }
.import-source textarea { width: 100%; min-height: 144px; resize: vertical; border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 12px; background: var(--bg); font: 12px/1.45 ui-monospace, SFMono-Regular, Menlo, monospace; }
.import-source-disclosure { border-bottom: 1px solid var(--line); }
.import-source-disclosure > summary { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 14px 4px; cursor: pointer; }
.import-source-disclosure > summary strong, .import-source-disclosure > summary small { display: block; }
.import-source-disclosure > summary strong { font-size: var(--text-body); }
.import-source-disclosure > summary small { margin-top: 3px; color: var(--muted); font-size: var(--text-secondary); font-weight: var(--weight-regular); }
.import-source-disclosure > summary b { color: var(--muted); font-size: var(--text-caption); }
.import-source-disclosure[open] > summary { border-bottom: 1px solid var(--line); }
.import-mapping { display: grid; grid-template-columns: 220px 1fr; gap: 24px; padding: 28px 0; border-bottom: 1px solid var(--line); }
.import-mapping dl { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
.import-mapping dl div { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; border-bottom: 1px solid var(--line); font-size: 11px; }
.import-mapping dt { color: var(--muted); }
.import-mapping dd { margin: 0; font-weight: 680; text-align: right; }
.import-schema-error { grid-column: 2; padding: 12px; background: var(--danger-pale); color: var(--danger) !important; }
.import-mapping.workflow-secondary { display: block; padding: 0; }
.import-mapping-body { display: grid; grid-template-columns: 1fr; gap: 16px; padding: 20px 4px 24px; }
.import-mapping-body .import-schema-error { grid-column: auto; margin: 0; }
.import-summary { display: flex; border-bottom: 1px solid var(--line); }
.import-summary div { min-width: 140px; padding: 18px 24px; border-right: 1px solid var(--line); }
.import-summary span, .import-summary strong { display: block; }
.import-summary span { color: var(--muted); font-size: 10px; }
.import-summary strong { margin-top: 3px; font-size: 20px; font-variant-numeric: tabular-nums; }
.import-summary .blocked strong { color: var(--danger); }
.import-summary .clear strong { color: var(--success-dark); }
.import-rows { padding-top: 28px; }
.import-row { min-height: 70px; display: grid; grid-template-columns: minmax(240px, 1fr) minmax(160px, .5fr) minmax(120px, .6fr) 88px; gap: 16px; align-items: center; padding: 14px 8px; border-bottom: 1px solid var(--line); }
.import-row > div strong, .import-row > div span { display: block; }
.import-row > div strong { font-size: var(--text-body); }
.import-row > div span { margin-top: 3px; color: var(--muted); font-size: var(--text-secondary); }
.import-action { width: max-content; padding: 4px 8px; border-radius: 99px; font-size: var(--text-caption); font-weight: 740; }
.import-action.create { background: var(--success-pale); color: var(--success-dark); }
.import-action.update { background: var(--info-pale); color: var(--primary-dark); }
.import-clear { color: var(--success-dark); font-size: var(--text-secondary); font-weight: 720; text-align: right; }
.import-row ul { grid-column: 3; margin: 0; padding-left: 16px; color: var(--danger); font-size: var(--text-secondary); }
.import-warning-review { grid-column: 3; }
.import-warning-review ul { grid-column: auto; }
.import-warning-review label { display: flex; align-items: center; gap: 8px; margin-top: 8px; font-size: var(--text-secondary); font-weight: 680; }
.import-warning-review input { width: 20px; height: 20px; flex: 0 0 auto; }
.import-row.has-errors { background: var(--danger-pale); }
.import-row.excluded { opacity: .58; background: var(--surface); }
.import-exclude { display: flex; align-items: center; gap: 6px; min-height: 44px; font-size: var(--text-secondary); font-weight: 700; }
.import-row-editor { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 12px; padding: 12px; background: var(--bg); }
.import-row-editor label { min-width: 210px; flex: 1; }
.import-row-editor label span { display: block; margin: 0 0 4px 4px; color: var(--muted); font-size: 10px; font-weight: 700; }
.import-row-editor input, .import-row-editor select { width: 100%; min-height: 44px; border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 9px 10px; background: var(--bg); }
.import-row-tools { display: grid; grid-template-columns: minmax(240px, 1fr) minmax(180px, 260px) auto; gap: 16px; align-items: end; margin: 18px 0; padding: 16px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-sm); }
.import-row-tools label span { display: block; margin-bottom: 5px; color: var(--muted); font-size: var(--text-caption); font-weight: 720; }
.import-row-tools input, .import-row-tools select { width: 100%; min-height: 44px; padding: 9px 12px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--bg); }
.import-row-tools > strong { min-height: 44px; display: flex; align-items: center; white-space: nowrap; }
.import-change-summary, .import-effects, .import-no-change { grid-column: 1 / -1; }
.import-effects { padding: 12px 14px; background: var(--info-pale); }
.import-effects ul { grid-column: auto; margin: 6px 0 0; color: var(--ink); }
.import-no-change { margin: 0; color: var(--muted); }
.import-commit { position: static; display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-top: 28px; padding: 24px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-md); }
.import-commit h2 { margin: 0 0 5px; }
.import-commit p { margin: 0; color: var(--muted); font-size: var(--text-secondary); }
.correction-workspace { max-width: 1000px; margin: 0 auto; }
.correction-editor { border-bottom: 1px solid var(--line); }
.correction-editor > summary { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 14px 4px; cursor: pointer; }
.correction-editor > summary strong, .correction-editor > summary small { display: block; }
.correction-editor > summary strong { font-size: var(--text-body); }
.correction-editor > summary small { margin-top: 3px; color: var(--muted); font-size: var(--text-secondary); font-weight: var(--weight-regular); }
.correction-editor > summary b { color: var(--muted); font-size: var(--text-caption); }
.correction-editor[open] > summary { border-bottom: 1px solid var(--line); }
.correction-form { display: grid; grid-template-columns: 260px minmax(0, 1fr) auto; gap: 24px; align-items: end; padding: 28px 4px; }
.correction-form h2, .deadline-preview h2, .deadline-history h2 { margin-bottom: 5px; font-size: 17px; }
.correction-form p, .deadline-preview p { margin-bottom: 0; color: var(--muted); font-size: var(--text-secondary); }
.correction-current-dates { margin: 16px 0 0; }
.correction-current-dates div { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; border-bottom: 1px solid var(--line); }
.correction-current-dates dt { color: var(--muted); font-size: var(--text-caption); }
.correction-current-dates dd { margin: 0; font-size: var(--text-caption); font-weight: var(--weight-bold); }
.correction-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.correction-fields .span-2 { grid-column: 1 / -1; }
.correction-fields label span { display: block; margin: 0 0 4px 4px; color: var(--muted); font-size: 10px; font-weight: 700; }
.correction-fields input, .correction-fields select, .correction-fields textarea { width: 100%; min-height: 44px; border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 9px 10px; background: var(--bg); }
.deadline-preview { padding: 28px 0; border-bottom: 1px solid var(--line); }
.deadline-preview-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding-bottom: 16px; }
.deadline-preview-heading p { max-width: 60ch; text-align: right; }
.deadline-date-change { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 20px; padding: 20px 0; border-block: 1px solid var(--line); }
.deadline-date-change > div { min-width: 0; }
.deadline-date-change span { display: block; color: var(--muted); font-size: var(--text-caption); }
.deadline-date-change strong { display: block; margin-top: 5px; font-size: var(--text-title); font-variant-numeric: tabular-nums; }
.deadline-date-change b { color: var(--muted); }
.deadline-preview dl { display: grid; grid-template-columns: .7fr 1fr 1.5fr; gap: 20px; margin: 0; }
.deadline-preview dl div { padding: 16px 0; }
.deadline-preview dt { color: var(--muted); font-size: var(--text-caption); }
.deadline-preview dd { margin: 5px 0 0; font-size: var(--text-secondary); font-weight: var(--weight-semibold); }
.correction-actions { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.correction-actions p { margin: 0; color: var(--muted); font-size: 11px; }
.deadline-history { padding: 0; }
.deadline-history ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.deadline-history li { padding: 14px 4px; border-bottom: 1px solid var(--line); font-size: var(--text-secondary); }
.student-panel form h3 { display: flex; align-items: center; gap: 8px; margin-bottom: 16px; font-size: var(--text-body); }
.student-panel form h3 svg { width: 15px; }
.student-assigned-testing { background: var(--accent-pale); border-bottom-color: var(--accent) !important; }
.assigned-testing-heading { display: flex; align-items: start; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.assigned-testing-heading span { display: block; color: oklch(0.35 0.1 65); font-size: var(--text-caption); font-weight: var(--weight-bold); }
.assigned-testing-heading h3 { margin: 3px 0 0 !important; font-size: var(--text-subheading) !important; }
.assigned-testing-heading > strong { padding: 4px 8px; border-radius: 99px; background: var(--bg); color: oklch(0.35 0.1 65); font-size: var(--text-caption); }
.student-assigned-testing ul { margin: 0; padding: 0; list-style: none; }
.student-assigned-testing li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px 12px; align-items: center; padding: 12px 0; border-top: 1px solid color-mix(in oklch, var(--accent) 45%, var(--line)); }
.student-assigned-testing li > div > strong, .student-assigned-testing li > div > span { display: block; }
.student-assigned-testing li > div > strong { font-size: var(--text-secondary); line-height: 1.4; }
.student-assigned-testing li > div > span { margin-top: 4px; color: oklch(0.36 0.045 75); font-size: var(--text-caption); }
.student-assigned-testing .task-button { grid-column: 1 / -1; justify-self: start; border-color: var(--ink); background: var(--ink); color: var(--white); }
.student-assigned-testing .task-button:hover { background: var(--primary-dark); }
.field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.field-grid .span-2 { grid-column: 1 / -1; }
.field-grid label span, .readonly-detail > span { display: block; margin: 0 0 5px 4px; color: var(--muted); font-size: var(--text-secondary); font-weight: var(--weight-bold); }
.field-grid label > small { display: block; margin: 6px 4px 0; color: var(--muted); font-size: var(--text-caption); line-height: 1.4; }
.panel-section-heading { margin-bottom: 16px; }
.panel-section-heading h3 { margin-bottom: 4px !important; }
.panel-section-heading p { margin: 0; color: var(--muted); font-size: var(--text-secondary); line-height: 1.45; }
.readonly-detail { min-height: 38px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); }
.readonly-detail > span { margin: 0 0 3px; }
.readonly-detail strong { font-size: var(--text-secondary); }
.case-manager-assignment { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.case-manager-assignment > div > span, .case-manager-assignment > div > strong, .case-manager-assignment > div > small { display: block; }
.case-manager-assignment > div > span { color: var(--muted); font-size: 12px; font-weight: var(--weight-bold); }
.case-manager-assignment > div > strong { margin-top: 3px; font-size: 16px; }
.case-manager-assignment > div > small { max-width: 34ch; margin-top: 4px; color: var(--muted); font-size: 12px; line-height: 1.4; }
.case-manager-assignment > small { max-width: 22ch; color: var(--muted); font-size: var(--text-caption); text-align: right; }
.caseload-relationships { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); }
.caseload-relationships span, .caseload-relationships strong { display: block; }
.caseload-relationships span { color: var(--muted); font-size: 12px; font-weight: var(--weight-bold); }
.caseload-relationships strong { margin-top: 5px; font-size: 14px; line-height: 1.45; }
.student-status-confirmation { margin: 0 24px; padding: 18px !important; border: 1px solid var(--accent); border-radius: var(--radius-sm); background: var(--accent-pale); }
.student-status-confirmation > span { display: block; margin-bottom: 5px; color: oklch(0.35 0.1 65); font-size: var(--text-caption); font-weight: var(--weight-bold); text-transform: uppercase; letter-spacing: .06em; }
.student-status-confirmation h3 { margin-bottom: 6px !important; }
.student-status-confirmation p { margin: 0; color: var(--muted); font-size: var(--text-secondary); line-height: 1.5; }
.student-panel dl { margin: 0; }
.student-panel dl > div { display: grid; grid-template-columns: 130px 1fr; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--line); }
.student-panel dl > div:last-child { border-bottom: 0; }
.student-panel dt { color: var(--muted); font-size: 12px; }
.student-panel dd { margin: 0; font-size: 14px; font-weight: 620; line-height: 1.4; }
.history-list { list-style: none; margin: 0; padding: 0; }
.history-list li { display: grid; grid-template-columns: 85px 1fr; gap: 12px; padding: 8px 0; }
.history-list time { color: var(--muted); font-size: 10px; }
.history-list span { font-size: 11px; }
.panel-actions { position: sticky; bottom: 0; display: flex; justify-content: flex-end; gap: 8px; padding: 16px 24px; background: var(--bg); border-top: 1px solid var(--line); }

.packet-heading { min-height: 96px; }
.packet-paper { max-width: 980px; margin: 32px auto; padding: 32px; background: var(--bg); border: 1px solid var(--line); }
.packet-paper > header { display: flex; justify-content: space-between; gap: 24px; padding-bottom: 24px; border-bottom: 2px solid var(--ink); }
.packet-paper header span { color: var(--primary-dark); font-size: 11px; font-weight: 750; }
.packet-paper header h2 { margin: 4px 0; font-size: 24px; letter-spacing: -0.02em; }
.packet-paper header p { margin-bottom: 0; color: var(--muted); font-size: 11px; }
.packet-paper header > strong { font-size: 28px; text-align: right; }
.packet-paper header > strong small { display: block; color: var(--muted); font-size: 9px; font-weight: 600; }
.packet-agenda article { display: grid; grid-template-columns: 24px minmax(180px, 1fr) minmax(220px, 1.2fr) auto; gap: 12px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--line); }
.packet-agenda article > span:first-child { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; background: var(--ink); color: var(--white); font-size: 10px; }
.packet-agenda h3, .packet-agenda strong { margin: 0; font-size: 12px; }
.packet-agenda p { margin: 4px 0 0; color: var(--muted); font-size: 10px; }

.heading-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.packet-controls { padding: 12px 0; border-bottom: 1px solid var(--line); }
.packet-top-action { min-height: 88px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 24px; padding: 14px 16px; border: 1px solid var(--line); }
.packet-top-action.warning { background: var(--accent-pale); }
.packet-top-action.clear { background: var(--success-pale); }
.packet-top-action.empty { background: var(--surface); }
.packet-top-action h2 { margin: 0; font-size: var(--text-title); }
.packet-top-action > div:first-child > p { max-width: 72ch; margin: 4px 0 0; color: var(--ink); font-size: var(--text-body); line-height: 1.4; }
.packet-builder { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; }
.packet-builder label span, .packet-add-student label span, .packet-removal label span { display: block; margin: 0 0 4px 4px; color: var(--muted); font-size: 10px; font-weight: 700; }
.packet-builder input, .packet-add-student select, .packet-removal input { width: 100%; min-height: 44px; border: 1px solid var(--line); border-radius: 8px; background: var(--bg); padding: 9px 12px; }
.packet-builder select { width: 100%; min-height: 44px; border: 1px solid var(--line); border-radius: 8px; background: var(--bg); padding: 9px 12px; }
.packet-builder label { width: 180px; }
.packet-builder label:first-child { width: 280px; }
.packet-builder label:nth-child(2) { width: 130px; }
.packet-builder label:nth-child(3) { width: 130px; }
.packet-builder .working-page-mode { display: none; }
.packet-builder input:disabled { color: var(--muted); background: var(--surface); cursor: not-allowed; }
.packet-draft-note { margin-top: 8px; color: var(--muted); font-size: 11px; }
.packet-preparation { border: 1px solid var(--line); background: var(--bg); }
.packet-preparation > header { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding: 18px 20px; border-bottom: 1px solid var(--line); }
.packet-preparation > header span { color: var(--primary-dark); font-size: var(--text-caption); font-weight: 760; }
.packet-preparation > header h2 { margin: 3px 0 4px; font-size: var(--text-title); }
.packet-preparation > header p { max-width: 68ch; margin: 0; color: var(--muted); font-size: var(--text-secondary); }
.packet-preparation > header > strong { font-size: var(--text-body); text-align: right; white-space: nowrap; }
.packet-preparation-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.packet-preparation-step { min-width: 0; min-height: 68px; padding: 11px 12px; border-right: 1px solid var(--line); background: var(--surface); }
.packet-preparation-step:last-child { border-right: 0; }
.packet-preparation-step.current { background: var(--primary-pale); }
.packet-preparation-step.complete { background: var(--success-pale); }
.packet-download-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.packet-preparation-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 14px 18px; border-top: 1px solid var(--line); }
.packet-preparation-actions > .button:last-child { margin-left: auto; }
.packet-step-heading { display: flex; align-items: flex-start; gap: 10px; }
.packet-step-heading > span { width: 28px; height: 28px; flex: 0 0 28px; display: grid; place-items: center; border-radius: 50%; background: var(--ink); color: var(--white); font-size: var(--text-caption); font-weight: 780; }
.packet-preparation-step.complete .packet-step-heading > span { background: var(--success-dark); }
.packet-preparation-step.current .packet-step-heading > span { background: var(--primary-dark); }
.packet-step-heading strong, .packet-step-heading small { display: block; }
.packet-step-heading strong { font-size: var(--text-body); }
.packet-step-heading small { margin-top: 4px; color: var(--muted); font-size: var(--text-compact); line-height: 1.35; }
.confirmed-label { display: block; margin: 5px 0 0 38px; color: var(--success-dark); font-size: var(--text-compact); font-weight: 760; }
.packet-meeting-settings { display: grid; grid-template-columns: minmax(122px, 1fr) minmax(104px, .78fr); gap: 8px; }
.packet-meeting-settings label, .packet-meeting-settings label:first-child, .packet-meeting-settings label:nth-child(2), .packet-meeting-settings label:nth-child(3) { width: auto; }
.packet-meeting-settings > .button, .packet-scope-options { grid-column: 1 / -1; }
.packet-meeting-settings > .button { justify-self: start; }
.packet-scope-options summary, .packet-secondary-tools summary { color: var(--primary-dark); cursor: pointer; font-size: var(--text-secondary); font-weight: 720; }
.packet-scope-options > div { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 8px; margin-top: 10px; }
.packet-scope-options .working-page-mode { display: none; }
.packet-preparation-options { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); }
.packet-display-settings { display: block; padding: 0; }
.packet-display-settings .packet-scope-options { grid-column: auto; }
.packet-display-settings .working-page-mode { display: block; }
.packet-display-settings .packet-scope-options > summary, .packet-secondary-tools > summary { min-height: 48px; display: flex; align-items: center; padding: 10px 18px; }
.packet-display-settings .packet-scope-options > div { padding: 0 18px 12px; }
.packet-display-settings .packet-scope-options > .button { margin: 0 18px 14px; }
.packet-secondary-tools { padding: 0; border-left: 1px solid var(--line); }
.packet-secondary-tools > div { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 0; padding: 0 18px 12px; }
.packet-secondary-tools .text-button { min-height: 34px; padding: 6px 0; }
.packet-add-student { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-top: 16px; padding: 16px; background: var(--surface); border-radius: 12px; }
.packet-add-student label { flex: 1; max-width: 520px; }
.packet-add-student > div { display: flex; gap: 8px; }
.packet-document { max-width: 1120px; margin: 32px auto; background: var(--bg); border: 1px solid var(--line); padding: 32px; }
.print-running-header, .print-page-footer, .print-entry-context, .print-packet-sheets { display: none; }
.packet-document-header { display: grid; grid-template-columns: minmax(260px, 1fr) minmax(300px, auto) auto; align-items: end; gap: 28px; padding-bottom: 24px; border-bottom: 2px solid var(--ink); }
.packet-document-header span { color: var(--primary-dark); font-size: var(--text-caption); font-weight: 750; }
.packet-document-header h2 { margin: 4px 0; font-size: 24px; letter-spacing: -0.02em; }
.packet-document-header p { margin-bottom: 0; color: var(--muted); font-size: 15px; }
.packet-document-header > strong { font-size: 28px; text-align: right; }
.packet-document-header > strong small { display: block; color: var(--muted); font-size: var(--text-caption); }
.packet-readiness-summary { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 16px; padding: 14px 16px; border: 1px solid var(--line); }
.packet-readiness-summary.warning { background: var(--accent-pale); }
.packet-readiness-summary.clear { background: var(--success-pale); }
.packet-readiness-summary.empty { background: var(--surface); }
.packet-readiness-summary strong { display: block; font-size: 14px; }
.packet-readiness-summary p { max-width: 70ch; margin: 3px 0 0; color: var(--ink); font-size: var(--text-secondary); }
.packet-readiness-summary > span { color: var(--success-dark); font-size: var(--text-caption); font-weight: 720; white-space: nowrap; }
.packet-readiness-summary.empty > span { color: var(--muted); }
.packet-readiness-summary dl { display: flex; margin: 0; }
.packet-readiness-summary dl div { min-width: 112px; padding-left: 16px; border-left: 1px solid oklch(0.7 0.08 75); }
.packet-readiness-summary dt { color: var(--ink); font-size: var(--text-caption); }
.packet-readiness-summary dd { margin: 2px 0 0; font-size: 20px; font-weight: 780; font-variant-numeric: tabular-nums; }
.packet-top-action .packet-readiness-summary.compact { min-height: 0; display: flex; align-items: center; gap: 14px; margin: 0; padding: 0 0 0 18px; border: 0; border-left: 1px solid oklch(0.7 0.08 75); background: transparent; }
.packet-top-action .packet-readiness-summary.compact > span { color: var(--ink); font-size: var(--text-secondary); }
.packet-top-action .packet-readiness-summary.compact dl { gap: 14px; }
.packet-top-action .packet-readiness-summary.compact dl div { min-width: 104px; padding: 0; border: 0; }
.packet-top-action .packet-readiness-summary.compact dt { max-width: 18ch; font-size: var(--text-caption); line-height: 1.25; }
.packet-top-action .packet-readiness-summary.compact dd { font-size: var(--text-title); }
.packet-empty-state { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 34px 20px 38px; border-bottom: 1px solid var(--line); }
.packet-empty-state h2 { margin-bottom: 6px; font-size: var(--text-title); }
.packet-empty-state p { max-width: 68ch; margin: 0; color: var(--muted); font-size: var(--text-secondary); }
.packet-empty-actions { display: flex; flex: 0 0 auto; gap: 8px; }
.packet-archive-empty { max-width: 720px; margin-inline: auto; }
.packet-archive-empty p { max-width: 60ch; margin-inline: auto; }
.meeting-progress-summary { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.meeting-progress-summary > div strong, .meeting-progress-summary > div span { display: block; }
.meeting-progress-summary > div strong { font-size: 16px; }
.meeting-progress-summary > div span { margin-top: 2px; color: var(--muted); font-size: var(--text-caption); }
.meeting-progress-summary dl { display: flex; margin: 0; }
.meeting-progress-summary dl div { min-width: 86px; padding: 0 16px; border-left: 1px solid var(--line); }
.meeting-progress-summary dt { color: var(--muted); font-size: var(--text-caption); }
.meeting-progress-summary dd { margin: 3px 0 0; font-size: 16px; font-weight: 760; font-variant-numeric: tabular-nums; }
.packet-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding: 24px 0 12px; border-bottom: 1px solid var(--line); }
.packet-section-heading h2 { margin-bottom: 4px; font-size: 18px; }
.packet-section-heading p { margin-bottom: 0; color: var(--muted); font-size: 15px; }
.packet-section-heading > strong { color: var(--muted); font-size: var(--text-caption); white-space: nowrap; }
.packet-summary-entry { padding: 16px 0; border-bottom: 1px solid var(--line); }
.packet-summary-actions { display: flex; align-items: center; gap: 12px; }
.packet-summary-actions > strong { color: var(--muted); font-size: var(--text-secondary); white-space: nowrap; }
.packet-review-group { border-bottom: 1px solid var(--line); }
.packet-agenda-scroll { max-height: min(1100px, 72vh); overflow: auto; overscroll-behavior: contain; border: 1px solid var(--line); border-radius: var(--radius-md); scrollbar-gutter: stable; }
.packet-agenda-scroll:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.packet-agenda-scroll .packet-review-group > header { position: sticky; top: 0; z-index: 2; box-shadow: 0 1px 0 var(--line); }
.packet-review-group > header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 8px; background: var(--surface); }
.packet-review-group.needs-date > header, .packet-review-group.incomplete > header { background: var(--accent-pale); }
.packet-review-group.watch > header { background: var(--info-pale); }
.packet-review-group > header h3 { margin: 0; font-size: var(--text-body); }
.packet-review-group > header p { margin: 2px 0 0; color: var(--muted); font-size: var(--text-secondary); }
.packet-review-group > header > strong { min-width: 30px; height: 30px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: var(--bg); font-size: var(--text-secondary); }
.packet-summary-entry { padding: 0; }
.packet-summary-entry.selected { background: var(--primary-pale); }
.packet-entry-select { appearance: none; min-width: 0; display: grid; gap: 3px; padding: 6px 0; border: 0; background: transparent; color: inherit; text-align: left; cursor: pointer; }
.packet-entry-select > span:first-child strong, .packet-entry-select > span:first-child small { display: block; }
.packet-entry-select strong { font-size: var(--text-body); }
.packet-entry-select small, .packet-entry-reasons { color: var(--muted); font-size: var(--text-secondary); line-height: 1.35; }
.packet-entry-reasons { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.packet-watch-list { scroll-margin-top: 16px; margin-top: 24px; padding: 0 16px 8px; border-radius: 12px; background: var(--info-pale); }
.packet-watch-list > .packet-section-heading { padding-top: 16px; }
.upcoming-annual-preparation { margin-top: 18px; padding: 18px 20px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.upcoming-annual-preparation ol { margin: 12px 0 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 18px; }
.upcoming-annual-preparation li { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-top: 1px solid var(--line); }
.upcoming-annual-preparation li div { display: grid; gap: 2px; }
.upcoming-annual-preparation li div:last-child { text-align: right; }
.upcoming-annual-preparation li span { color: var(--muted); font-size: 11px; }
.upcoming-annual-preparation li strong { font-size: 12px; }
.team-meeting-date { padding: 10px 12px; background: var(--primary-pale); border: 1px solid var(--line); }
.team-meeting-date span, .team-meeting-date small { display: block; color: var(--muted); font-size: var(--text-caption); font-weight: 700; }
.team-meeting-date strong { display: block; margin: 3px 0; font-size: 20px; font-variant-numeric: tabular-nums; }
.packet-entry-heading { min-height: 76px; display: grid; grid-template-columns: 28px minmax(230px, 1fr) minmax(190px, .7fr) auto auto; align-items: center; gap: 12px; padding: 8px; }
.packet-number { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; background: var(--ink); color: var(--white); font-size: 10px; font-weight: 760; }
.packet-entry-heading h3 { margin-bottom: 2px; font-size: 16px; }
.packet-entry-heading p { margin-bottom: 0; color: var(--muted); font-size: 15px; }
.packet-entry-statuses { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 6px; }
.packet-progress-status { padding: 4px 8px; border-radius: 99px; background: var(--surface); color: var(--muted); font-size: var(--text-secondary); font-weight: 740; white-space: nowrap; }
.packet-progress-status.discussed { background: var(--info-pale); color: var(--primary-dark); }
.packet-progress-status.follow-up { background: var(--accent-pale); color: oklch(0.35 0.1 65); }
.packet-progress-status.complete { background: var(--success-pale); color: var(--success-dark); }
.packet-readiness { padding: 4px 8px; border-radius: 99px; font-size: 12px; font-weight: 740; white-space: nowrap; }
.packet-readiness.ready { background: var(--success-pale); color: var(--success-dark); }
.packet-readiness.pending { background: var(--accent-pale); color: oklch(0.35 0.1 65); }
.packet-order-controls { display: flex; align-items: center; gap: 4px; }
.packet-order-controls .icon-button { width: 44px; height: 44px; }
.packet-date-priority { min-width: 180px; padding: 10px 12px; border: 1px solid var(--line); background: var(--primary-pale); }
.packet-date-priority.unset { border-color: var(--accent); background: var(--accent-pale); }
.packet-date-priority span, .packet-date-priority small { display: block; color: var(--muted); font-size: 10px; font-weight: 700; }
.packet-date-priority strong { display: block; margin: 2px 0; font-size: 15px; font-variant-numeric: tabular-nums; }
.packet-date-priority.unset strong { color: oklch(0.35 0.1 65); }
.packet-open-workspace { min-height: 44px; margin: 8px 0 0 40px; padding: 10px 0; border: 0; background: transparent; color: var(--primary-dark); font: inherit; font-size: var(--text-secondary); font-weight: 750; cursor: pointer; }
.packet-open-workspace:hover { text-decoration: underline; }
.danger-text { color: var(--danger); }
.packet-entry-body { display: grid; grid-template-columns: 1.1fr 1fr; gap: 24px; padding: 12px 0 0 40px; }
.packet-facts, .packet-actions { margin: 0; }
.packet-facts { display: grid; grid-template-columns: 1fr .8fr 1.2fr; gap: 12px; }
.packet-facts > div, .packet-actions > div { min-width: 0; }
.packet-facts dt, .packet-actions dt { color: var(--muted); font-size: var(--text-secondary); font-weight: 700; }
.packet-facts dd, .packet-actions dd { margin: 3px 0 0; font-size: 15px; font-weight: 620; }
.packet-inclusion-reasons { display: grid; gap: 3px; margin: 0; padding: 0; list-style: none; }
.packet-inclusion-reasons li { position: relative; padding-left: 11px; color: var(--ink); font-size: var(--text-secondary); font-weight: var(--weight-semibold); line-height: 1.35; text-wrap: pretty; }
.packet-inclusion-reasons li::before { content: ""; position: absolute; top: .55em; left: 1px; width: 4px; height: 4px; border-radius: 50%; background: var(--muted); }
.packet-actions { display: grid; gap: 6px; }
.packet-print-layout { display: grid; align-content: start; gap: 4px; padding: 10px 12px; background: var(--conference-surface, #f5f7f9); border-radius: 8px; }
.packet-print-layout > span { font-size: 15px; font-weight: 700; }
.packet-print-layout select { min-height: 40px; }
.packet-print-layout small { color: var(--muted); font-size: 14px; line-height: 1.35; }
.packet-scheduling-path { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .8fr); gap: 20px; align-items: start; padding: 16px; border-top: 1px solid var(--line); background: var(--bg); }
.packet-scheduling-path strong { display: block; font-size: var(--text-body); }
.packet-scheduling-path p { max-width: 72ch; margin: 4px 0 0; color: var(--muted); font-size: var(--text-secondary); }
.packet-scheduling-actions { display: grid; gap: 10px; }
.packet-scheduling-actions > div, .packet-scheduling-actions form { display: grid; grid-template-columns: minmax(180px, 1fr) auto auto; align-items: end; gap: 12px; }
.packet-scheduling-actions > div { align-items: center; }
.packet-scheduling-actions span { color: var(--muted); font-size: var(--text-compact); line-height: 1.4; }
.packet-scheduling-actions label { min-width: 190px; }
.packet-scheduling-actions label span { display: block; margin-bottom: 4px; color: var(--ink); font-weight: var(--weight-semibold); }
.packet-scheduling-actions .button { flex: 0 0 auto; }
.packet-removal { display: grid; grid-template-columns: 1fr 1.5fr auto; gap: 12px; align-items: end; margin: 16px 0 0 40px; padding: 12px; background: var(--danger-pale); border-radius: 10px; }
.packet-removal p { margin: 0; font-size: 10px; }
.packet-removal p strong { display: block; }
.packet-removal > div { display: flex; gap: 8px; }
.packet-discussions { margin-top: 16px; }
.packet-workspace-panel.inactive { display: none; }
.packet-workspace-panel.active { scroll-margin-top: 24px; }
.packet-discussion { padding: 24px 0; border-bottom: 2px solid var(--ink); }
.packet-discussion > header { display: grid; grid-template-columns: 28px 1fr auto; gap: 12px; align-items: center; }
.packet-discussion > header > span { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; background: var(--ink); color: var(--white); font-size: 10px; }
.packet-discussion h3 { margin-bottom: 2px; font-size: 17px; }
.packet-discussion header p { margin-bottom: 0; color: var(--muted); font-size: 15px; }
.packet-discussion header strong { font-size: var(--text-secondary); }
.discussion-context { margin: 16px 0 0 40px; padding: 16px; background: var(--surface); border-radius: 10px; }
.discussion-context h4, .working-notes h4 { margin: 0 0 4px; font-size: var(--text-secondary); }
.discussion-context p { margin-bottom: 12px; font-size: 15px; }
.discussion-context dl { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 0; }
.discussion-context dt { color: var(--muted); font-size: var(--text-caption); }
.discussion-context dd { margin: 3px 0 0; font-size: 15px; font-weight: 620; }
.workspace-date-row { margin: 16px 0 0 40px; }
.workspace-date-row .packet-date-priority { max-width: 390px; }
.previous-meeting-update { margin: 16px 0 0 40px; padding: 16px; border: 1px solid var(--line); background: var(--info-pale); }
.previous-meeting-update.empty { background: var(--surface); }
.previous-meeting-update header { display: flex; justify-content: space-between; gap: 20px; }
.previous-meeting-update span, .previous-meeting-update small { display: block; color: var(--muted); font-size: var(--text-caption); font-weight: 700; }
.previous-meeting-update strong { display: block; margin-top: 2px; font-size: 14px; }
.previous-meeting-update p { margin: 12px 0 0; font-size: 14px; white-space: pre-wrap; }
.previous-meeting-update dl { display: grid; grid-template-columns: 1.5fr 1fr .8fr; gap: 12px; margin: 12px 0 0; padding-top: 12px; border-top: 1px solid var(--line); }
.previous-meeting-update dt { color: var(--muted); font-size: var(--text-caption); }
.previous-meeting-update dd { margin: 3px 0 0; font-size: var(--text-secondary); font-weight: 650; }
.testing-assignments, .packet-preparation-notes { margin: 16px 0 0 40px; padding: 16px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }
.testing-assignments > header, .packet-preparation-notes > header { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 10px; }
.testing-assignments header span, .packet-preparation-notes header span { color: var(--muted); font-size: var(--text-caption); font-weight: 700; }
.testing-assignments h4, .packet-preparation-notes h4 { margin: 2px 0 0; font-size: 14px; }
.testing-assignments header strong { font-size: var(--text-secondary); }
.testing-assignments ul, .packet-preparation-notes ol { margin: 0; padding: 0; list-style: none; }
.testing-assignments li { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 0; border-top: 1px solid var(--line); }
.testing-assignments.has-your-work > header { align-items: start; padding-bottom: 10px; border-bottom: 2px solid var(--accent); }
.testing-assignments.has-your-work > header > div > span { color: oklch(0.35 0.1 65); }
.testing-assignments.has-your-work > header p { margin: 3px 0 0; color: var(--ink); font-size: var(--text-caption); }
.testing-assignments li.assigned-to-you { margin: 8px 0; padding: 12px; border: 1px solid var(--accent); border-radius: var(--radius-sm); background: var(--accent-pale); }
.testing-assignments li.highlighted-assignment { outline: 3px solid color-mix(in oklch, var(--accent) 75%, var(--ink)); outline-offset: 3px; }
.assigned-to-you-label { width: max-content; margin: 0 0 5px !important; padding: 3px 7px; border-radius: 99px; background: var(--bg); color: oklch(0.35 0.1 65) !important; font-size: var(--text-caption) !important; font-weight: var(--weight-bold); }
.testing-assignments li strong, .testing-assignments li span { display: block; }
.testing-assignments li strong { font-size: 13px; }
.testing-assignments li div > span { margin-top: 2px; color: var(--muted); font-size: var(--text-caption); }
.testing-assignments li form { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; align-items: center; }
.testing-assignments select, .testing-assignments input { min-height: 44px; border: 1px solid var(--line); border-radius: 8px; background: var(--bg); padding: 9px 10px; }
.date-picker-control { display: flex; align-items: stretch; gap: 6px; }
.add-testing-task label .date-picker-control { display: flex; margin-bottom: 0; }
.date-picker-control input { width: auto; min-width: 138px; flex: 1; }
.calendar-trigger { min-height: 44px; appearance: none; border: 1px solid var(--primary); border-radius: 8px; background: var(--bg); color: var(--primary-dark); padding: 9px 11px; font: inherit; font-size: var(--text-caption); font-weight: 720; cursor: pointer; }
.calendar-trigger:hover { background: var(--primary-pale); }
.calendar-trigger:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.testing-status { padding: 4px 8px; border-radius: 99px; background: var(--accent-pale); color: oklch(0.35 0.1 65); font-size: var(--text-caption); font-weight: 750; }
.testing-status.completed { background: var(--success-pale); color: var(--success-dark); }
.add-testing-task { display: grid; grid-template-columns: 1.35fr 1fr 1.2fr auto; gap: 10px; align-items: end; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line); }
.add-testing-task label span { display: block; margin-bottom: 4px; color: var(--muted); font-size: var(--text-caption); font-weight: 700; }
.add-testing-task input, .add-testing-task select { width: 100%; min-height: 44px; border: 1px solid var(--line); border-radius: 8px; background: var(--bg); padding: 9px 10px; }
.add-testing-task .assignment-detail { grid-column: 1 / 4; }
.packet-preparation-notes li { padding: 9px 0; border-top: 1px solid var(--line); }
.packet-preparation-notes li p { margin: 0; font-size: 13px; }
.packet-preparation-notes li small { color: var(--muted); font-size: var(--text-caption); }
.packet-preparation-notes form { display: flex; gap: 10px; align-items: end; margin-top: 12px; }
.packet-preparation-notes form label { flex: 1; }
.packet-preparation-notes textarea { width: 100%; min-height: 70px; border: 1px solid var(--line); border-radius: 8px; background: var(--bg); padding: 9px 10px; resize: vertical; }
.empty-note, .empty-testing p { margin: 0; color: var(--muted); font-size: 12px; }
.packet-progress-form { margin: 16px 0 0 40px; padding: 16px; background: var(--primary-pale); border-radius: 10px; }
.packet-progress-form > header { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 14px; }
.packet-progress-form h4 { margin: 0 0 3px; font-size: 14px; }
.packet-progress-form header p { max-width: 65ch; margin: 0; color: var(--muted); font-size: var(--text-secondary); }
.packet-progress-form label > span { display: block; margin: 0 0 4px 4px; color: var(--muted); font-size: var(--text-caption); font-weight: 700; }
.packet-progress-form select, .packet-progress-form textarea { width: 100%; border: 1px solid var(--line); border-radius: 8px; background: var(--bg); padding: 10px 12px; }
.packet-progress-form select { min-width: 180px; min-height: 44px; }
.packet-progress-form textarea { min-height: 92px; resize: vertical; line-height: 1.45; }
.packet-progress-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.packet-progress-fields .span-2 { grid-column: 1 / -1; }
.meeting-notes-optional { grid-column: 1 / -1; padding: 10px 12px; border: 1px solid var(--line); background: var(--bg); }
.meeting-notes-optional summary { cursor: pointer; color: var(--primary-dark); font-size: var(--text-secondary); font-weight: var(--weight-bold); }
.meeting-notes-optional summary span { margin-left: 6px; color: var(--muted); font-size: var(--text-caption); font-weight: var(--weight-semibold); }
.meeting-notes-optional[open] summary { margin-bottom: 10px; }
.packet-progress-fields input, .packet-progress-fields select { width: 100%; min-height: 44px; border: 1px solid var(--line); border-radius: 8px; background: var(--bg); padding: 9px 10px; }
.packet-progress-fields .testing-to-order, .working-notes > .testing-to-order { grid-column: 1 / -1; }
.packet-progress-form footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 12px; }
.packet-progress-form footer small { color: var(--muted); }
.packet-progress-form footer > div { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; }
.packet-progress-error { margin-bottom: 12px; padding: 10px 12px; border: 1px solid var(--danger); background: var(--danger-pale); color: var(--danger); font-size: 13px; font-weight: 700; }
.no-change-confirmation { margin-top: 12px; padding: 12px; border: 1px solid var(--accent); background: var(--accent-pale); }
.no-change-confirmation p { margin: 0 0 10px; font-size: 12px; }
.packet-progress-form + .working-notes { display: none; }
.packet-progress-readonly { margin: 14px 0 0 40px; color: var(--muted); font-size: var(--text-secondary); }
.packet-progress-readonly strong { color: var(--ink); }
.working-notes { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 16px 0 0 40px; }
.packet-document:not(.snapshot-document) .working-notes { display: none; }
.working-notes > div { min-height: 116px; padding: 10px; border: 1px solid var(--line); border-radius: 8px; }
.working-notes span { height: 84px; display: grid; grid-template-rows: repeat(5, 1fr); }
.working-notes span i { border-bottom: 1px solid var(--line); }
.recorded-working-value { margin: 10px 0 0; font-size: var(--text-secondary); line-height: 1.55; white-space: pre-wrap; }
.demo-rehearsal-status { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 14px; padding: 13px 16px; background: var(--info-pale); border-radius: 10px; }
.demo-rehearsal-status strong { font-size: 13px; }
.demo-rehearsal-status p { margin: 3px 0 0; color: var(--primary-dark); font-size: 11px; }
.demo-rehearsal-status > span { color: var(--primary-dark); font-size: 10px; font-weight: 700; white-space: nowrap; }
.packet-confidentiality { padding-top: 20px; color: var(--muted); font-size: 9px; }
.packet-exclusions, .packet-archive { max-width: 1120px; margin: 32px auto; }
.packet-exclusions { padding: 16px; background: var(--surface); border-radius: 12px; }
.packet-exclusions h2 { font-size: 14px; }
.packet-exclusions p { margin-bottom: 6px; font-size: 10px; }
.admin-workspace { max-width: 980px; margin: 0 auto; }
.admin-heading { min-height: 170px; display: flex; flex-direction: column; justify-content: center; border-bottom: 1px solid var(--line); }
.back-button { min-height: 44px; }
.admin-heading .back-button { width: max-content; margin: 0 0 16px -8px; color: var(--muted); }
.admin-heading h1 { margin-bottom: 8px; font-size: 28px; letter-spacing: -0.025em; }
.admin-heading p { max-width: 68ch; margin-bottom: 0; color: var(--muted); }
.admin-heading div > p:first-child { margin-bottom: 6px; color: var(--primary-dark); font-size: 12px; font-weight: 740; }
.admin-active-work { padding: 28px 0; border-bottom: 1px solid var(--line); }
.admin-active-summary { min-height: 52px; display: flex; align-items: center; gap: 5px; margin: 0; padding: 12px 0; border-bottom: 1px solid var(--line); color: var(--muted); font-size: var(--text-secondary); }
.admin-active-summary strong { color: var(--ink); }
.admin-active-work-heading { display: flex; align-items: start; justify-content: space-between; gap: 24px; margin-bottom: 14px; }
.admin-active-work-heading h2 { margin-bottom: 5px; font-size: var(--text-subheading); }
.admin-active-work-heading p { max-width: 60ch; margin: 0; color: var(--muted); font-size: var(--text-secondary); }
.admin-active-work-heading > strong { flex: none; padding: 5px 9px; border-radius: 99px; background: var(--accent-pale); color: oklch(0.35 0.1 65); font-size: var(--text-caption); }
.active-move-in-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.active-move-in-list li { min-height: 88px; display: grid; grid-template-columns: minmax(220px, .9fr) minmax(260px, 1.1fr) auto; gap: 20px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--line); }
.active-move-in-student { display: flex; align-items: center; gap: 12px; min-width: 0; }
.active-move-in-student strong, .active-move-in-student small, .active-move-in-status span, .active-move-in-status strong, .active-move-in-status small { display: block; }
.active-move-in-student strong { font-size: var(--text-body); }
.active-move-in-student small, .active-move-in-status span, .active-move-in-status small { margin-top: 3px; color: var(--muted); font-size: var(--text-caption); }
.active-move-in-status strong { margin-top: 3px; font-size: var(--text-secondary); }
.active-move-in-list .button { justify-self: end; }
.admin-work-empty { padding: 20px 0; border-block: 1px solid var(--line); }
.admin-work-empty strong { display: block; font-size: var(--text-body); }
.admin-work-empty p { max-width: 60ch; margin: 5px 0 0; color: var(--muted); font-size: var(--text-secondary); }
.admin-tool-group { display: grid; grid-template-columns: minmax(210px, .55fr) minmax(0, 1fr); gap: 32px; padding: 28px 0; border-bottom: 1px solid var(--line); }
.admin-tool-group h2 { margin-bottom: 6px; font-size: var(--text-subheading); }
.admin-tool-group > div:first-child p { max-width: 38ch; margin: 0; color: var(--muted); font-size: var(--text-secondary); }
.admin-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; padding: 0; }
.admin-actions button { appearance: none; min-height: 110px; display: grid; grid-template-columns: 40px 1fr; grid-template-rows: auto auto; gap: 4px 14px; align-content: center; padding: 18px 8px; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: inherit; text-align: left; cursor: pointer; }
.admin-actions button:hover { background: var(--surface); }
.admin-actions button > span { grid-row: 1 / 3; width: 40px; height: 40px; display: grid; place-items: center; border-radius: 10px; background: var(--primary-pale); color: var(--primary-dark); }
.admin-actions button strong { align-self: end; font-size: var(--text-body); }
.admin-actions button small { align-self: start; color: var(--muted); font-size: var(--text-secondary); line-height: 1.4; }
.district-setup-workspace { max-width: 1180px; margin: 0 auto; padding: 28px 32px 64px; }
.district-setup-section { display: grid; grid-template-columns: minmax(220px, .45fr) minmax(0, 1fr); gap: 32px; padding: 28px 0; border-bottom: 1px solid var(--line); }
.district-setup-section header h2 { margin: 0 0 6px; font-size: var(--text-subheading); }
.district-setup-section header p { margin: 0; color: var(--muted); line-height: 1.5; }
.district-setup-section form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(150px, .45fr) auto; gap: 14px; align-items: end; }
.district-config-list { display: grid; gap: 14px; }
.district-config-list form { padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.district-setup-section label { display: grid; gap: 6px; }
.district-setup-section label > span { font-weight: 700; }
.district-setup-section label > small { color: var(--muted); font-size: var(--text-secondary); line-height: 1.4; }
.district-setup-section .checkbox-label { display: flex; align-items: center; align-self: center; gap: 8px; }
.district-setup-result { margin-top: 14px; }
.operation-result.error { background: var(--danger-pale); color: var(--danger); }
.meeting-defaults-review { margin-top: 16px; padding: 16px; border: 1px solid var(--primary); border-radius: var(--radius-sm); background: var(--primary-pale); }
.meeting-defaults-review header h3 { margin: 0 0 4px; font-size: var(--text-body); }
.meeting-defaults-review header p { margin: 0; color: var(--ink); font-size: var(--text-secondary); }
.meeting-defaults-review dl { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 16px 0; }
.meeting-defaults-review dl > div { padding: 12px; background: var(--bg); border: 1px solid var(--line); border-radius: var(--radius-sm); }
.meeting-defaults-review dt { color: var(--muted); font-size: var(--text-secondary); }
.meeting-defaults-review dd { margin: 4px 0 0; font-size: var(--text-body); font-weight: var(--weight-bold); }
.meeting-defaults-review > div { display: flex; flex-wrap: wrap; gap: 10px; }
.packet-archive article { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.packet-archive h3 { margin-bottom: 4px; font-size: 14px; }
.packet-archive p, .packet-archive small { display: block; margin-bottom: 2px; color: var(--muted); font-size: 10px; }
.snapshot-archive-actions { display: flex; align-items: center; gap: 10px; }
.snapshot-archive-actions details { position: relative; }
.snapshot-archive-actions summary { padding: 9px 10px; color: var(--danger); font-size: 12px; font-weight: 700; cursor: pointer; }
.snapshot-archive-actions form { position: absolute; z-index: var(--z-panel); top: calc(100% + 6px); right: 0; width: 300px; padding: 14px; background: var(--bg); border: 1px solid var(--line); border-radius: var(--radius-sm); box-shadow: 0 6px 8px oklch(0.2 0.02 260 / .1); }
.snapshot-archive-actions label span { display: block; margin-bottom: 4px; color: var(--muted); font-size: 11px; font-weight: 700; }
.snapshot-archive-actions input { width: 100%; min-height: 44px; margin-bottom: 10px; padding: 9px 10px; border: 1px solid var(--line); border-radius: var(--radius-sm); }

.cycle-workspace { max-width: 1120px; margin: 0 auto; }
.cycle-heading { min-height: 138px; display: flex; flex-direction: column; justify-content: center; border-bottom: 1px solid var(--line); }
.cycle-heading .back-button { width: max-content; margin: 0 0 16px -8px; color: var(--muted); }
.cycle-heading h1 { margin-bottom: 8px; font-size: 28px; line-height: 1.12; letter-spacing: -0.025em; }
.cycle-heading p { max-width: 72ch; margin-bottom: 0; color: var(--muted); font-size: var(--text-secondary); }
.cycle-status { display: grid; grid-template-columns: 1fr 1fr 1.15fr; margin-top: 20px; border-block: 1px solid var(--line); }
.cycle-status > div { min-height: 88px; padding: 16px 20px; border-right: 1px solid var(--line); }
.cycle-status > div:first-child { padding-left: 0; }
.cycle-status > div:last-child { border-right: 0; }
.cycle-status span, .cycle-status small { display: block; color: var(--muted); font-size: var(--text-caption); }
.cycle-status strong { display: block; margin: 5px 0 3px; font-size: 17px; }
.cycle-status small { max-width: 58ch; }
.cycle-status .status-watch { color: oklch(0.4 0.1 65); }
.cycle-status .status-urgent, .cycle-status .status-overdue { color: var(--danger); }
.cycle-status .status-on-track, .readiness.ready strong { color: var(--success-dark); }
.compliance-clock-source { margin-top: 8px; }
.compliance-clock-source summary { width: max-content; color: var(--primary-dark); font-size: var(--text-caption); font-weight: var(--weight-semibold); cursor: pointer; }
.compliance-clock-source p { max-width: 42ch; margin: 6px 0 0; color: var(--muted); font-size: var(--text-caption); line-height: 1.45; }
.cycle-source { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.cycle-source span, .cycle-source small, .cycle-source strong { display: block; }
.cycle-source span, .cycle-source small { color: var(--muted); font-size: var(--text-caption); }
.cycle-source strong { margin: 4px 0; font-size: 14px; }
.stopped-cycle { padding: 28px 0; border-bottom: 1px solid var(--line); }
.stopped-cycle > span { color: var(--danger); font-size: var(--text-caption); font-weight: var(--weight-bold); text-transform: uppercase; letter-spacing: .06em; }
.stopped-cycle h2 { margin: 6px 0; font-size: var(--text-title); }
.stopped-cycle > p { max-width: 72ch; color: var(--muted); }
.stopped-cycle dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 20px 0 0; }
.stopped-cycle dt { color: var(--muted); font-size: var(--text-caption); }
.stopped-cycle dd { margin: 4px 0 0; font-size: var(--text-secondary); font-weight: var(--weight-bold); }
.cycle-next-step { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-top: 24px; padding: 20px 22px; border: 1px solid var(--primary); border-radius: 12px; background: var(--primary-pale); }
.cycle-next-step > div { min-width: 0; }
.cycle-next-step span { display: block; margin-bottom: 5px; color: var(--primary-dark); font-size: var(--text-secondary); font-weight: var(--weight-bold); }
.cycle-next-step h2 { margin-bottom: 5px; font-size: var(--text-subheading); }
.cycle-next-step p { max-width: 72ch; margin: 0; color: var(--ink); font-size: var(--text-secondary); line-height: 1.5; }
.cycle-next-step .button { flex: 0 0 auto; text-decoration: none; white-space: nowrap; }
.cycle-alignment { display: grid; gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.related-active-cycle { display: grid; grid-template-columns: minmax(240px, .9fr) minmax(360px, 1.1fr) auto; gap: 24px; align-items: center; padding: 16px 18px; border: 1px solid var(--primary); border-radius: 10px; background: var(--primary-pale); }
.related-active-cycle > div > span { color: var(--primary-dark); font-size: var(--text-secondary); font-weight: var(--weight-bold); }
.cycle-alignment h2, .cycle-alignment h3 { margin-bottom: 4px; font-size: 16px; }
.cycle-alignment p { max-width: 55ch; margin: 0; color: var(--muted); font-size: var(--text-secondary); }
.cycle-alignment .alignment-limit { color: var(--danger); }
.cycle-alignment dl { display: grid; grid-template-columns: repeat(3, minmax(120px, 1fr)); gap: 12px; margin: 0; }
.cycle-alignment dt { color: var(--muted); font-size: var(--text-caption); }
.cycle-alignment dd { margin: 4px 0 0; font-size: 13px; font-weight: 700; }
.alignment-action { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 4px 0; }
.alignment-action > p { flex: 1; }
.review-cycle-stages { display: grid; grid-template-columns: repeat(4, 1fr); margin: 20px 0 0; padding: 0; list-style: none; border-block: 1px solid var(--line); }
.review-cycle-stages li { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 10px; min-width: 0; padding: 14px 16px; border-right: 1px solid var(--line); color: var(--muted); }
.review-cycle-stages li:last-child { border-right: 0; }
.review-cycle-stages li > span { grid-row: 1 / 3; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--surface-strong); color: var(--ink); font-weight: var(--weight-bold); }
.review-cycle-stages strong { color: inherit; font-size: var(--text-secondary); }
.review-cycle-stages small { font-size: var(--text-caption); }
.review-cycle-stages li.current { background: var(--primary-pale); color: var(--primary-dark); }
.review-cycle-stages li.current > span { background: var(--primary-dark); color: white; }
.review-cycle-stages li.complete { color: var(--success-dark); }
.review-cycle-stages li.complete > span { background: var(--success-pale); color: var(--success-dark); }

.closure-workflow { max-width: 1120px; margin: 32px auto 0; border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line); }
.closure-workflow.premeeting { border-top: 0; }
.closure-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding: 24px 0 16px; }
.closure-section-heading h2 { margin-bottom: 4px; font-size: 20px; }
.closure-section-heading p { max-width: 68ch; margin-bottom: 0; color: var(--muted); }
.closure-section-heading > strong { max-width: 38ch; color: var(--primary-dark); text-align: right; }
.closure-stages { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; padding: 0; border-block: 1px solid var(--line); }
.closure-stages li { display: flex; align-items: center; gap: 12px; min-height: 58px; padding: 12px 16px; border-right: 1px solid var(--line); color: var(--muted); }
.closure-stages li:last-child { border-right: 0; }
.closure-stages span { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; background: var(--surface-strong); font-size: 11px; font-weight: 760; }
.closure-stages strong { font-size: 13px; }
.closure-stages .current { color: var(--ink); background: var(--primary-pale); }
.closure-stages .current span { background: var(--primary); color: var(--white); }
.closure-stages .complete { color: var(--success-dark); }
.closure-stages .complete span { background: var(--success); color: var(--white); }
.closure-panel { padding: 24px 0; border-bottom: 1px solid var(--line); }
.closure-panel:last-child { border-bottom: 0; }
.closure-panel-heading { display: flex; align-items: start; justify-content: space-between; gap: 24px; margin-bottom: 16px; }
.closure-panel h3, .completion-control h3 { margin-bottom: 4px; font-size: 16px; }
.closure-panel-heading p, .completion-control p, .closure-empty p { margin-bottom: 0; color: var(--muted); }
.closure-panel-heading > span { color: var(--muted); font-size: 12px; }
.closure-field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.reconciliation-form, .official-record-form { display: grid; gap: 16px; }
.reconciliation-form label > span, .official-record-form label > span { display: block; margin: 0 0 4px 4px; color: var(--muted); font-size: 12px; font-weight: 700; }
.reconciliation-form textarea, .official-record-form textarea, .official-record-form input, .official-record-form select, .record-confirmation input { width: 100%; min-height: 44px; border: 1px solid var(--line); border-radius: 8px; background: var(--bg); padding: 12px; }
.reconciliation-form textarea, .official-record-form textarea { min-height: 82px; resize: vertical; }
.reconciliation-form > .button, .official-record-form > .button { justify-self: start; }
.reconciliation-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.verification-status { color: var(--success-dark); font-size: 13px; font-weight: 700; }
.official-record-form label small { display: block; margin-top: 4px; color: var(--muted); font-size: 11px; }
.official-record-form em { color: var(--muted); font-size: 11px; font-style: normal; font-weight: 500; }
.record-confirmations { margin-top: 24px; border-top: 1px solid var(--line); }
.record-confirmation { min-height: 64px; display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 12px 4px; border-bottom: 1px solid var(--line); }
.record-check { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; background: var(--surface-strong); color: var(--muted); font-size: 12px; font-weight: 800; }
.record-confirmation.complete .record-check { background: var(--success); color: var(--white); }
.record-confirmation strong, .record-confirmation small { display: block; }
.record-confirmation small { margin-top: 4px; color: var(--muted); font-size: 12px; }
.record-confirmation label { display: grid; grid-template-columns: minmax(150px, 1fr) minmax(160px, 220px); align-items: center; gap: 16px; }
.closure-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 32px; margin: 0; }
.closure-summary dt { color: var(--muted); font-size: 12px; }
.closure-summary dd { margin: 4px 0 0; font-size: 15px; font-weight: 620; }
.closure-empty { padding: 16px; background: var(--surface); border-radius: 10px; }
.closure-empty strong { display: block; margin-bottom: 4px; }
.completion-control { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 24px 0; padding: 24px; background: var(--surface); border-radius: 12px; }
.policy-toggle { display: flex; align-items: center; gap: 8px; margin-top: 12px; font-size: 13px; font-weight: 680; cursor: pointer; }
.policy-toggle input { width: 18px; height: 18px; accent-color: var(--primary); }
.completed-cycle { max-width: 1120px; display: grid; grid-template-columns: 48px 1fr; gap: 24px; margin: 32px auto 0; padding: 24px; background: var(--success-pale); border-radius: 12px; }
.completed-mark { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; background: var(--success); color: var(--white); font-size: 22px; font-weight: 800; }
.completed-cycle p:first-child, .planned-cycle p { margin-bottom: 4px; color: var(--success-dark); font-size: 12px; font-weight: 760; }
.completed-cycle h2 { margin-bottom: 16px; font-size: 20px; }
.completed-cycle dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 0; }
.completed-cycle dt { color: var(--success-dark); font-size: 11px; }
.completed-cycle dd { margin: 4px 0 0; font-weight: 700; }
.completion-audit { margin: 16px 0 0 !important; color: var(--ink) !important; font-size: 13px !important; font-weight: 600 !important; }
.closure-workflow.archived { border-top-width: 1px; }
.planned-cycle { max-width: 720px; margin: 32px auto; padding: 32px; background: var(--surface); border-radius: 12px; }
.planned-cycle h2 { margin-bottom: 8px; font-size: 24px; }
.planned-cycle span { color: var(--muted); }
.cycle-links { display: grid; gap: 8px; margin-top: 16px; }
.meeting-workflow { margin-top: 32px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.meeting-section { min-height: 96px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 16px 0; }
.meeting-section h2 { margin-bottom: 4px; font-size: 17px; }
.meeting-section p { margin-bottom: 0; color: var(--muted); font-size: var(--text-secondary); }
.eyebrow { display: block; margin-bottom: 4px; color: var(--muted); font-size: var(--text-caption); font-weight: 760; }
.meeting-form { display: flex; align-items: end; gap: 12px; }
.meeting-form label span, .meeting-actions label span, .cycle-tools label span, .active-cycle-tools label span { display: block; margin: 0 0 5px 4px; color: var(--muted); font-size: var(--text-secondary); font-weight: var(--weight-bold); }
.meeting-form input, .meeting-actions input, .meeting-actions select, .cycle-tools input, .cycle-tools select { min-height: 44px; border: 1px solid var(--line); border-radius: 8px; background: var(--bg); padding: 9px 12px; }
.permission-note { max-width: 55ch; }
.meeting-record { display: grid; grid-template-columns: minmax(260px, .8fr) minmax(360px, 1.2fr); gap: 32px; padding: 16px 0 20px; border-top: 1px solid var(--line); }
.meeting-record dl { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0; }
.meeting-record dl > div { padding: 12px; border: 1px solid var(--line); border-radius: 10px; }
.meeting-record dt { color: var(--muted); font-size: var(--text-caption); font-weight: var(--weight-bold); }
.meeting-record dd { margin: 6px 0 0; font-size: var(--text-secondary); font-weight: 680; }
.meeting-record ol { list-style: none; margin: 0; padding: 0 0 0 16px; border-left: 1px solid var(--line); }
.meeting-record li { position: relative; padding: 0 0 12px 12px; }
.meeting-record li:last-child { padding-bottom: 0; }
.meeting-record li::before { content: ""; position: absolute; top: 4px; left: -20px; width: 7px; height: 7px; border-radius: 50%; background: var(--primary); box-shadow: 0 0 0 3px var(--bg); }
.meeting-record li strong, .meeting-record li small { display: block; }
.meeting-record li strong { font-size: var(--text-caption); }
.meeting-record li small { margin-top: 3px; color: var(--muted); font-size: var(--text-caption); }
.meeting-record .empty-timeline { color: var(--muted); font-size: var(--text-caption); }
.meeting-record .empty-timeline::before { background: var(--line); }
.meeting-actions { display: grid; gap: 12px; padding: 16px; margin-bottom: 20px; background: var(--surface); border: 1px solid var(--line); border-radius: 12px; }
.meeting-action-row { display: flex; justify-content: flex-end; }
.inline-action-form { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: end; padding: 12px; background: var(--bg); border: 1px solid var(--line); border-radius: 10px; }
.inline-action-form input { width: 100%; }
.inline-action-form > div { display: flex; gap: 8px; }
.session-form { display: grid; grid-template-columns: minmax(160px, .7fr) minmax(180px, 1fr) auto; gap: 12px; align-items: end; padding-top: 12px; border-top: 1px solid var(--line); }
.cycle-layout { display: grid; gap: 18px; padding-top: 28px; align-items: start; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.section-heading h2, .cycle-tools h2, .scope-guide h2, .active-cycle-tools h2 { margin-bottom: 4px; font-size: 18px; }
.section-heading p, .cycle-tools p, .scope-guide p, .active-cycle-tools p { margin-bottom: 0; color: var(--muted); font-size: var(--text-secondary); line-height: 1.45; }
.section-heading > span { color: var(--muted); font-size: 11px; white-space: nowrap; }
.preparation-item { min-height: 72px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 4px; border-bottom: 1px solid var(--line); }
.preparation-item label { min-width: 0; display: flex; align-items: center; gap: 12px; cursor: pointer; }
.preparation-item label:has(input:disabled) { cursor: default; }
.preparation-item input { position: absolute; opacity: 0; }
.preparation-item .check-mark { width: 24px; height: 24px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 8px; color: transparent; background: var(--bg); flex: 0 0 auto; pointer-events: none; }
.preparation-item .check-mark svg { width: 14px; }
.preparation-item input:focus-visible + .check-mark { outline: 2px solid var(--focus); outline-offset: 2px; }
.preparation-item input:checked + .check-mark { border-color: var(--success); background: var(--success); color: var(--white); }
.preparation-item input:disabled + .check-mark { background: var(--surface); }
.preparation-item.highlighted { outline: 2px solid var(--focus); outline-offset: 2px; background: var(--primary-pale); }
.preparation-item.complete .item-copy strong { color: var(--muted); text-decoration: line-through; }
.item-copy { min-width: 0; }
.item-copy strong, .item-copy small { display: block; }
.item-copy strong { font-size: var(--text-body); }
.item-copy small { margin-top: 4px; color: var(--muted); font-size: var(--text-secondary); }
.requirement { padding: 4px 8px; border-radius: 99px; font-size: var(--text-caption); font-weight: 720; white-space: nowrap; }
.requirement.required { background: var(--surface-strong); color: var(--ink); }
.requirement.recommended { border: 1px solid var(--line); color: var(--muted); }
.item-state { display: flex; align-items: center; gap: 8px; }
.deferred-label { padding: 4px 8px; border-radius: 99px; background: var(--info-pale); color: var(--info); font-size: 10px; font-weight: 720; }
.deferral-control { margin-left: auto; }
.deferral-control[open] { width: 100%; margin-left: 36px; padding: 12px; background: var(--surface); border-radius: 8px; }
.deferral-control summary { width: max-content; color: var(--primary-dark); font-size: var(--text-secondary); font-weight: var(--weight-bold); cursor: pointer; }
.deferral-control form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; align-items: end; padding-top: 12px; }
.deferral-control label span { display: block; margin: 0 0 4px 4px; color: var(--muted); font-size: 10px; font-weight: 700; }
.deferral-control input, .deferral-control select { width: 100%; min-height: 44px; border: 1px solid var(--line); border-radius: 8px; background: var(--bg); padding: 9px 12px; }
.deferral-control .button { grid-column: 1 / -1; justify-self: start; }
.deferral-summary { width: 100%; display: grid; gap: 3px; margin: 0 0 0 36px; padding: 8px 12px; background: var(--info-pale); border-radius: 8px; }
.deferral-summary strong { color: var(--info); font-size: 11px; }
.deferral-summary span { color: var(--ink); font-size: 12px; }
.deferral-history { width: 100%; margin: 0 0 0 36px; padding: 0; list-style: none; color: var(--muted); font-size: 11px; }
.deferral-history li { margin-top: 4px; }
.notification-workspace { max-width: 980px; margin: 0 auto; }
.notification-heading { min-height: 152px; display: flex; align-items: center; justify-content: space-between; gap: 32px; border-bottom: 1px solid var(--line); }
.notification-heading > div:first-child > p:first-child { margin-bottom: 6px; color: var(--primary-dark); font-size: var(--text-caption); font-weight: 720; }
.notification-heading h1 { margin-bottom: 8px; font-size: 28px; letter-spacing: -.025em; }
.notification-heading p { max-width: 64ch; margin-bottom: 0; color: var(--muted); font-size: var(--text-secondary); }
.notification-heading > div:last-child { min-width: 150px; text-align: right; }
.notification-heading > div:last-child strong, .notification-heading > div:last-child span { display: block; }
.notification-heading > div:last-child strong { font-size: 28px; font-variant-numeric: tabular-nums; }
.notification-heading > div:last-child span { color: var(--muted); font-size: var(--text-caption); }
.notification-inbox { padding-top: 28px; }
.notification-inbox > header { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.notification-inbox h2 { margin-bottom: 4px; font-size: 20px; }
.notification-inbox p, .notification-settings-body > p { margin-bottom: 0; color: var(--muted); font-size: var(--text-secondary); }
.notification-list { margin: 0; padding: 0; list-style: none; }
.notification-list li { min-height: 104px; display: grid; grid-template-columns: 8px minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 16px 8px; border-bottom: 1px solid var(--line); }
.notification-list li.read { background: var(--surface); }
.notice-state { width: 7px; height: 7px; border-radius: 50%; background: var(--primary); }
.notification-list li.priority-overdue.unread { background: var(--danger-pale); }
.notification-list li.priority-overdue .notice-state { background: var(--danger); }
.notification-list li.priority-urgent.unread { background: var(--accent-pale); }
.notification-list li.priority-urgent .notice-state { background: var(--accent); }
.notification-list li.read .notice-state { background: var(--line); }
.notification-list strong, .notification-list span, .notification-list small { display: block; }
.notification-list strong { font-size: 16px; }
.notification-list .notice-detail { margin-top: 3px; color: var(--muted); font-size: 15px; }
.notification-list small { margin-top: 6px; color: var(--muted); font-size: var(--text-caption); }
.notification-list .notice-category { width: max-content; margin: 0 0 5px; padding: 3px 7px; border-radius: 99px; background: var(--bg); color: oklch(0.35 0.1 65); font-size: var(--text-caption); font-weight: var(--weight-bold); }
.notification-list .notice-urgency { margin-top: 5px; color: var(--ink); font-size: var(--text-body); font-weight: var(--weight-bold); }
.notification-list .notice-work-items { display: grid; gap: 3px; margin: 8px 0 0; padding-left: 20px; color: var(--ink); font-size: var(--text-secondary); }
.notification-list .notice-owner { margin-top: 8px; }
.notification-actions { display: flex; align-items: center; justify-content: flex-end; gap: 4px; }
.notification-list .text-button { min-height: 44px; padding-inline: 10px; font-size: var(--text-secondary); white-space: nowrap; }
.notification-result { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.notification-result .text-button { color: inherit; }
.notification-empty { display: grid; justify-items: center; gap: 10px; padding: 48px 24px; text-align: center; border-bottom: 1px solid var(--line); }
.notification-empty h2 { margin-bottom: 0; font-size: 18px; }
.notification-empty p { max-width: 48ch; margin: 0; color: var(--muted); font-size: var(--text-secondary); }
.notification-empty .button { margin-top: 4px; }
.notification-history, .notification-settings { border-bottom: 1px solid var(--line); }
.notification-history > summary, .notification-settings > summary { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 14px 8px; cursor: pointer; }
.notification-history > summary strong, .notification-history > summary small, .notification-settings > summary strong, .notification-settings > summary small { display: block; }
.notification-history > summary strong, .notification-settings > summary strong { font-size: var(--text-body); }
.notification-history > summary small, .notification-settings > summary small { margin-top: 3px; color: var(--muted); font-size: var(--text-caption); }
.notification-history[open] > summary, .notification-settings[open] > summary { border-bottom: 1px solid var(--line); }
.notification-history[open] > summary > span:last-child, .notification-settings[open] > summary > span:last-child { transform: rotate(180deg); }
.notification-settings-body { max-width: 720px; padding: 22px 8px 28px; }
.notification-settings-body > p { margin-bottom: 18px; }
.notification-settings form { display: grid; grid-template-columns: minmax(240px, 1fr) minmax(180px, .7fr) auto; gap: 20px; align-items: end; padding: 18px 0; border-block: 1px solid var(--line); }
.email-toggle { display: grid; grid-template-columns: 20px 1fr; gap: 10px; align-items: start; }
.email-toggle strong, .email-toggle small { display: block; }
.email-toggle strong { font-size: 15px; }
.email-toggle small { margin-top: 3px; color: var(--muted); font-size: 13px; }
.notification-settings fieldset { display: grid; gap: 8px; margin: 0; padding: 0; border: 0; }
.notification-settings fieldset:disabled { opacity: .55; }
.notification-settings legend { margin-bottom: 7px; color: var(--muted); font-size: 13px; font-weight: 700; }
.notification-settings fieldset label { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 8px; align-items: start; font-size: 14px; }
.notification-settings fieldset label strong, .notification-settings fieldset label small { display: block; }
.notification-settings fieldset label small { margin-top: 2px; color: var(--muted); }
.notification-settings form .button { white-space: nowrap; }
.delivery-test label { font-size: 14px; }
.delivery-test { display: grid; gap: 12px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.delivery-test h3 { margin-bottom: -8px; font-size: 13px; }
.delivery-test p { font-size: 14px; }
.email-preview { display: grid; gap: 5px; padding: 18px 0; }
.email-preview > span { color: var(--muted); font-size: 12px; font-weight: 700; }
.email-preview strong { font-size: 14px; }
.email-preview p { color: var(--ink); font-size: 14px; }

.my-work-heading > div:first-child { max-width: 72ch; }
.my-work-summary { min-width: 250px; padding-left: 28px; border-left: 1px solid var(--line); text-align: right; }
.my-work-summary strong, .my-work-summary span, .my-work-summary small { display: block; }
.my-work-summary strong { font-size: var(--text-subheading); }
.my-work-summary span { margin-top: 4px; color: var(--ink); font-size: var(--text-secondary); }
.my-work-summary small { margin-top: 2px; color: var(--muted); font-size: var(--text-secondary); }
.my-work-section { margin-top: 28px; }
.my-work-section > header { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding-bottom: 12px; border-bottom: 2px solid var(--ink); }
.my-work-section > header h2 { margin-bottom: 3px; font-size: var(--text-title); }
.my-work-section > header p { max-width: 72ch; margin: 0; color: var(--muted); font-size: var(--text-secondary); }
.my-work-section > header > strong { font-size: var(--text-secondary); white-space: nowrap; }
.my-work-list { margin: 0; padding: 0; list-style: none; }
.my-work-row { min-height: 118px; display: grid; grid-template-columns: 170px minmax(280px, 1fr) minmax(250px, auto); align-items: center; gap: 18px 24px; padding: 20px 16px; border-bottom: 1px solid var(--line); }
.my-work-row.next { background: var(--primary-pale); }
.my-work-row.highlighted { outline: 3px solid var(--accent); outline-offset: -3px; background: var(--accent-pale); }
.my-work-due span, .my-work-due time { display: block; }
.my-work-due span { color: var(--muted); font-size: var(--text-secondary); font-weight: var(--weight-semibold); }
.my-work-due time { margin-top: 4px; font-size: var(--text-subheading); font-weight: var(--weight-bold); font-variant-numeric: tabular-nums; }
.my-work-due .my-work-next-label { display: inline-block; margin: 0 0 8px; padding: 3px 8px; border-radius: 99px; background: var(--primary); color: var(--white); font-size: var(--text-caption); }
.my-work-due.overdue span:not(.my-work-next-label), .my-work-due.overdue time { color: var(--danger); }
.my-work-due.due-now span:not(.my-work-next-label), .my-work-due.due-now time, .my-work-due.due-soon span:not(.my-work-next-label), .my-work-due.due-soon time { color: var(--primary-dark); }
.my-work-meta { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 6px; }
.my-work-meta span { padding: 2px 7px; border-radius: 99px; background: var(--surface-strong); color: var(--muted); font-size: var(--text-caption); font-weight: var(--weight-semibold); }
.my-work-identity h3 { margin-bottom: 2px; font-size: var(--text-title); }
.my-work-identity p { margin: 0; font-size: var(--text-body); }
.my-work-identity small { display: block; margin-top: 4px; color: var(--muted); font-size: var(--text-secondary); }
.my-work-responsibilities { display: grid; gap: 5px; margin: 8px 0 10px; padding: 0; list-style: none; }
.my-work-responsibilities li { display: flex; align-items: baseline; gap: 10px; font-size: var(--text-body); }
.my-work-responsibilities li::before { content: ""; width: 6px; height: 6px; flex: 0 0 6px; border-radius: 50%; background: var(--primary); }
.my-work-responsibilities li small { margin: 0 0 0 auto; font-size: var(--text-caption); white-space: nowrap; }
.my-work-actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; }
.my-work-actions form { display: flex; align-items: end; gap: 8px; }
.my-work-actions form label span { display: block; margin-bottom: 4px; color: var(--muted); font-size: var(--text-caption); font-weight: var(--weight-bold); }
.my-work-actions form select { min-width: 130px; min-height: 44px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--bg); padding: 8px 10px; }
.my-work-actions > .text-button { white-space: nowrap; }
.my-work-scheduling-context { max-width: 30ch; margin: 0; color: var(--muted); font-size: var(--text-secondary); line-height: 1.4; }
.my-work-completion-receipt { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 20px; padding: 14px 16px; border: 1px solid var(--success); border-radius: var(--radius-sm); background: var(--success-pale); }
.my-work-completion-receipt strong, .my-work-completion-receipt span { display: block; }
.my-work-completion-receipt span { margin-top: 2px; color: var(--muted); font-size: var(--text-secondary); }
.my-work-caught-up { min-height: 150px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 18px; padding: 28px 16px; border-bottom: 1px solid var(--line); }
.my-work-caught-up h2 { margin-bottom: 3px; font-size: var(--text-title); }
.my-work-caught-up p { margin: 0; color: var(--muted); font-size: var(--text-secondary); }
.audit-workspace { max-width: 1180px; margin: 0 auto; }
.audit-heading { min-height: 176px; display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 40px; align-items: center; border-bottom: 1px solid var(--line); }
.audit-heading .back-button { width: max-content; margin: 0 0 16px -8px; color: var(--muted); }
.audit-heading > div:first-child > p:first-of-type { margin-bottom: 7px; color: var(--primary-dark); font-size: 15px; font-weight: 760; }
.audit-heading h1 { margin-bottom: 9px; font-size: 28px; letter-spacing: -0.025em; }
.audit-heading > div:first-child > p:last-of-type { max-width: 68ch; margin-bottom: 0; color: var(--muted); font-size: 15px; }
.audit-export-control { padding-left: 28px; border-left: 1px solid var(--line); }
.audit-export-control > strong { display: block; font-size: 15px; }
.audit-export-control p { margin: 5px 0 13px; color: var(--muted); font-size: 15px; }
.audit-export-control small { display: block; margin-top: 8px; color: var(--muted); font-size: 13px; }
.audit-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 40px; padding-top: 30px; }
.audit-feed > header { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.audit-feed h2, .security-feed h2 { margin-bottom: 4px; font-size: 18px; }
.audit-feed header p, .security-feed header p { margin-bottom: 0; color: var(--muted); font-size: 15px; }
.audit-feed > header > strong { color: var(--muted); font-size: 14px; font-variant-numeric: tabular-nums; }
.audit-feed ol, .security-feed ol { margin: 0; padding: 0; list-style: none; }
.audit-feed li { padding: 17px 8px; border-bottom: 1px solid var(--line); }
.audit-event-heading { display: flex; justify-content: space-between; gap: 20px; }
.audit-event-heading strong { font-size: 15px; }
.audit-event-heading time { flex: 0 0 auto; color: var(--muted); font-size: 13px; font-variant-numeric: tabular-nums; }
.audit-feed li > p, .security-feed li > p { margin: 5px 0 0; font-size: 15px; }
.audit-feed li > small, .security-feed li > small { display: block; margin-top: 7px; color: var(--muted); font-size: 14px; }
.audit-change { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; color: var(--muted); }
.audit-change span { padding: 3px 7px; background: var(--surface); border-radius: 6px; color: var(--ink); font-size: 12px; }
.audit-change b { color: var(--muted); font-size: 11px; }
.audit-reason { color: var(--muted); }
.audit-reason strong { color: var(--ink); }
.security-feed { padding-left: 28px; border-left: 1px solid var(--line); }
.security-feed > header { padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.security-feed li { padding: 15px 0; border-bottom: 1px solid var(--line); }
.security-feed .audit-event-heading { display: block; }
.security-feed .audit-event-heading time { display: block; margin-top: 3px; }
.audit-empty { padding: 52px 24px; text-align: center; border-bottom: 1px solid var(--line); }
.audit-empty h3 { margin-bottom: 5px; font-size: 16px; }
.audit-empty p { max-width: 55ch; margin: 0 auto; color: var(--muted); font-size: 13px; }
.audit-empty.compact { padding: 28px 8px; }
.scope-guide { padding: 16px; border: 1px solid var(--line); border-radius: 12px; }
.active-cycle-tools, .cycle-stage-disclosure { border-block: 1px solid var(--line); }
.active-cycle-tools > summary, .cycle-stage-disclosure > summary { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 12px 4px; cursor: pointer; }
.active-cycle-tools > summary strong, .active-cycle-tools > summary small, .cycle-stage-disclosure > summary strong, .cycle-stage-disclosure > summary small { display: block; }
.active-cycle-tools > summary strong, .cycle-stage-disclosure > summary strong { font-size: var(--text-body); }
.active-cycle-tools > summary small, .cycle-stage-disclosure > summary small { margin-top: 3px; color: var(--muted); font-size: var(--text-secondary); font-weight: var(--weight-regular); }
.active-cycle-tools > summary b, .cycle-stage-disclosure > summary b { color: var(--muted); font-size: var(--text-caption); white-space: nowrap; }
.active-cycle-tools[open] > summary, .cycle-stage-disclosure[open] > summary { border-bottom: 1px solid var(--line); }
.active-cycle-tools-body { padding: 16px 4px 20px; }
.active-cycle-tools-body > details { max-width: 620px; border: 1px solid var(--line); border-radius: 10px; }
.active-cycle-tools-body > details > summary { padding: 13px 16px; color: var(--primary-dark); font-size: var(--text-secondary); font-weight: var(--weight-bold); cursor: pointer; }
.active-cycle-tools form { display: grid; gap: 12px; padding: 0 16px 16px; }
.active-cycle-tools input, .active-cycle-tools select { width: 100%; min-height: 44px; padding: 9px 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--bg); }
.cycle-stage-disclosure { margin-top: 24px; }
.cycle-stage-disclosure > .meeting-workflow { margin-top: 0; border-top: 0; }
.cycle-stage-disclosure > .cycle-layout { padding: 20px 4px 4px; }
.cycle-stage-note { max-width: 70ch; margin: 0; padding: 16px 4px 20px; color: var(--muted); font-size: var(--text-secondary); }
.closure-workflow.cycle-stage-disclosure { margin-top: 24px; border-bottom: 1px solid var(--line); }
.cycle-tools { max-width: 1120px; margin: 32px auto 0; border-block: 1px solid var(--line); }
.cycle-tools > summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 16px 0; cursor: pointer; }
.cycle-tools > summary strong, .cycle-tools > summary small { display: block; }
.cycle-tools > summary strong { font-size: var(--text-body); }
.cycle-tools > summary small { margin-top: 3px; color: var(--muted); font-size: var(--text-secondary); font-weight: var(--weight-regular); }
.cycle-tools > summary > span:last-child { color: var(--primary-dark); font-size: var(--text-secondary); font-weight: var(--weight-bold); }
.cycle-tools[open] > summary { border-bottom: 1px solid var(--line); }
.cycle-tools form { display: grid; gap: 16px; padding: 24px 0; }
.future-settings-heading { padding-bottom: 4px; }
.cycle-tools h3 { margin-bottom: 0; font-size: 13px; }
.cycle-tools input, .cycle-tools select { width: 100%; }
.template-items { display: grid; gap: 12px; }
.template-items fieldset, .new-template-item { min-width: 0; margin: 0; padding: 12px; border: 1px solid var(--line); border-radius: 8px; }
.template-item-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 8px; }
.new-template-item legend { padding: 0 4px; color: var(--muted); font-size: 10px; font-weight: 700; }
.remove-template-item { margin: 8px 0 -8px -8px; color: var(--danger); font-size: 10px; }
.template-removal-review { margin-top: 14px; padding: 14px; border: 1px solid var(--danger); border-radius: var(--radius-sm); background: var(--danger-pale); }
.template-removal-review h3 { color: var(--danger); font-size: var(--text-body); }
.template-removal-review p { margin: 5px 0 12px; color: var(--ink); }
.template-removal-review > div, .district-setup-result { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.button.danger { border-color: var(--danger); background: var(--danger); color: var(--white); }
.button.danger:hover { background: oklch(0.4 0.17 28); }
.compact-fields { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.snapshot-note { padding: 12px 16px; border-top: 1px solid var(--line); font-size: var(--text-caption) !important; }

.intake-heading, .support-heading, .team-heading { min-height: 152px; display: flex; flex-direction: column; justify-content: center; border-bottom: 1px solid var(--line); }
.intake-heading .back-button, .support-heading .back-button, .team-heading .back-button { width: max-content; margin: 0 0 16px -8px; color: var(--muted); }
.intake-heading h1, .support-heading h1, .team-heading h1 { margin-bottom: 8px; font-size: 28px; letter-spacing: -.025em; }
.intake-heading p, .support-heading p, .team-heading p { max-width: 70ch; margin-bottom: 0; color: var(--muted); }
.intake-heading div > p:first-child, .support-heading div > p:first-child, .team-heading div > p:first-child { margin-bottom: 4px; color: var(--primary-dark); font-size: 13px; font-weight: 720; }
.intake-form, .intake-workspace, .support-form, .support-workspace { max-width: 980px; margin: 0 auto; }
.workflow-next-step, .workflow-outcome { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-top: 24px; padding: 20px 22px; border: 1px solid var(--primary); border-radius: var(--radius-md); background: var(--primary-pale); }
.workflow-outcome { border-color: var(--success); background: var(--success-pale); }
.workflow-next-step > div:first-child, .workflow-outcome > div:first-child { min-width: 0; }
.workflow-next-step span, .workflow-outcome span { display: block; margin-bottom: 5px; color: var(--primary-dark); font-size: var(--text-secondary); font-weight: var(--weight-bold); }
.workflow-outcome span { color: var(--success-dark); }
.workflow-next-step h2, .workflow-outcome h2 { margin-bottom: 5px; font-size: var(--text-subheading); text-wrap: balance; }
.workflow-next-step p, .workflow-outcome p { max-width: 70ch; margin: 0; color: var(--ink); font-size: var(--text-secondary); line-height: 1.5; text-wrap: pretty; }
.workflow-next-step > .button, .workflow-outcome > .button { flex: 0 0 auto; text-decoration: none; white-space: nowrap; }
.workflow-next-step > .transition-confirmation { flex: 1; max-width: 620px; border: 0; background: transparent; padding: 0; }
.workflow-status { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 20px; border-block: 1px solid var(--line); }
.workflow-status > div { min-height: 88px; padding: 16px 20px; border-right: 1px solid var(--line); }
.workflow-status > div:first-child { padding-left: 0; }
.workflow-status > div:last-child { border-right: 0; }
.workflow-status span, .workflow-status small, .workflow-status strong { display: block; }
.workflow-status span, .workflow-status small { color: var(--muted); font-size: var(--text-caption); }
.workflow-status strong { margin: 5px 0 3px; font-size: 17px; }
.workflow-primary-section { padding-block: 28px; }
.workflow-secondary { border-block: 1px solid var(--line); }
.workflow-secondary > summary { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 14px 4px; cursor: pointer; }
.workflow-secondary > summary strong, .workflow-secondary > summary small { display: block; }
.workflow-secondary > summary strong { font-size: var(--text-body); }
.workflow-secondary > summary small { margin-top: 3px; color: var(--muted); font-size: var(--text-secondary); font-weight: var(--weight-regular); }
.workflow-secondary > summary b { color: var(--muted); font-size: var(--text-caption); white-space: nowrap; }
.workflow-secondary[open] > summary { border-bottom: 1px solid var(--line); }
.workflow-secondary-body, .intake-record > dl { padding: 20px 4px 24px; }
.intake-record > dl { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 28px; margin: 0; }
.intake-record dt { color: var(--muted); font-size: var(--text-caption); }
.intake-record dd { margin: 4px 0 0; font-size: var(--text-secondary); font-weight: var(--weight-semibold); }
.intake-section, .intake-detail, .support-section, .support-detail { display: grid; grid-template-columns: minmax(200px, .55fr) minmax(0, 1fr); gap: 32px; padding: 24px 0; border-bottom: 1px solid var(--line); }
.intake-section h2, .intake-detail h2, .support-section h2, .support-detail h2 { margin-bottom: 8px; font-size: 17px; }
.intake-section > div > p, .intake-detail > div > p, .support-section > div > p, .support-detail > div:first-child > p { max-width: 42ch; margin: 0; color: var(--muted); font-size: 15px; line-height: 1.5; }
.inline-check { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: end; }
.intake-section label > span, .support-section label > span, .caseload-choice legend { display: block; margin: 0 0 5px 4px; color: var(--muted); font-size: 15px; font-weight: 700; }
.intake-section label > small { display: block; margin: 5px 4px 0; color: var(--muted); font-size: var(--text-caption); line-height: 1.4; }
.intake-section input:not([type="radio"]):not([type="checkbox"]), .intake-section select, .intake-section textarea, .support-section input, .support-section select, .support-section textarea { width: 100%; min-height: 44px; border: 1px solid var(--line); border-radius: 8px; background: var(--bg); padding: 9px 12px; }
.intake-section textarea, .support-section textarea { resize: vertical; }
.id-match { grid-column: 2; margin: -12px 0 0; color: var(--muted); font-size: 15px; }
.id-match.available { color: var(--success-dark); }
.id-match.duplicate { color: var(--danger); }
.intake-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.intake-fields .span-2 { grid-column: 1 / -1; }
.caseload-choice { display: flex; flex-wrap: wrap; gap: 16px; margin: 0; padding: 12px; border: 1px solid var(--line); border-radius: 8px; }
.caseload-choice legend { padding: 0 4px; }
.caseload-choice label { display: flex; align-items: center; gap: 8px; font-size: 12px; }
.intake-decision fieldset { display: grid; gap: 8px; margin: 0; padding: 0; border: 0; }
.path-options { display: grid; gap: 16px; }
.intake-decision fieldset > label { display: grid; grid-template-columns: 24px 1fr; gap: 12px; align-items: start; padding: 16px; border: 1px solid var(--line); border-radius: 8px; cursor: pointer; }
.intake-decision fieldset > label:has(input:checked) { border-color: var(--primary); background: var(--primary-pale); }
.intake-decision strong, .intake-decision small { display: block; }
.intake-decision strong { font-size: 16px; }
.intake-decision small { margin-top: 4px; color: var(--muted); font-size: 15px; line-height: 1.45; }
.transfer-deadline { max-width: 280px; }
.transfer-deadline small { display: block; margin-top: 4px; color: var(--muted); font-size: 10px; }
.intake-actions, .support-actions { position: static; display: flex; justify-content: flex-end; gap: 8px; padding: 24px 0; background: var(--bg); }
.intake-status, .support-status { display: grid; grid-template-columns: repeat(3, 1fr); border-bottom: 1px solid var(--line); }
.intake-status > div, .support-status > div { min-height: 88px; padding: 16px 20px; border-right: 1px solid var(--line); }
.intake-status > div:first-child, .support-status > div:first-child { padding-left: 0; }
.intake-status > div:last-child, .support-status > div:last-child { border-right: 0; }
.intake-status span, .intake-status small, .intake-status strong, .support-status span, .support-status small, .support-status strong { display: block; }
.intake-status span, .intake-status small, .support-status span, .support-status small { color: var(--muted); font-size: 11px; }
.intake-status strong, .support-status strong { margin: 4px 0; font-size: 15px; }
.intake-detail dl, .support-detail dl { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 24px; margin: 0; }
.intake-detail dt, .support-detail dt { color: var(--muted); font-size: 11px; }
.intake-detail dd, .support-detail dd { margin: 4px 0 0; font-size: 13px; font-weight: 650; }
.intake-detail.obligations > p { margin: 0; font-size: 14px; line-height: 1.55; }
.intake-coordination form { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.intake-coordination form .span-2, .intake-coordination dl .span-2 { grid-column: 1 / -1; }
.intake-coordination form label > span { display: block; margin: 0 0 4px 4px; color: var(--muted); font-size: var(--text-caption); font-weight: var(--weight-bold); }
.intake-coordination form input, .intake-coordination form select, .intake-coordination form textarea { width: 100%; min-height: 44px; padding: 9px 12px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--bg); }
.intake-coordination form textarea { resize: vertical; }
.intake-coordination form .button { grid-column: 1 / -1; justify-self: start; }
.intake-path-editor > form { display: grid; grid-template-columns: 1fr 1fr auto; gap: 16px; align-items: end; padding: 20px 4px 24px; }
.intake-path-editor fieldset { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; padding: 0; border: 0; }
.intake-path-editor legend, .intake-path-editor label > span { display: block; margin-bottom: 6px; color: var(--muted); font-size: 15px; font-weight: 700; }
.intake-path-editor fieldset label { display: flex; align-items: center; gap: 7px; min-height: 44px; }
.intake-path-editor input[type="date"] { width: 100%; min-height: 44px; padding: 9px 12px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--bg); }
.intake-date-warning { max-width: 54ch; padding: 14px 16px; border: 1px solid var(--accent); border-radius: var(--radius-sm); background: var(--accent-pale); }
.intake-date-warning strong { display: block; font-size: var(--text-secondary); }
.intake-date-warning p { margin: 4px 0 0; color: oklch(0.36 0.045 75); font-size: var(--text-caption); line-height: 1.45; }
.intake-detail.path { align-items: center; }
.intake-detail.path .button, .completion-note { justify-self: start; }
.completion-note { margin: 0; color: var(--success-dark); font-size: 13px; font-weight: 700; }
.transition-confirmation, .support-transition > div.transition-confirmation:last-child { display: block; padding: 18px; border: 1px solid var(--accent); border-radius: var(--radius-sm); background: var(--accent-pale); }
.transition-confirmation > span { display: block; margin-bottom: 5px; color: oklch(0.35 0.1 65); font-size: var(--text-caption); font-weight: var(--weight-bold); text-transform: uppercase; letter-spacing: .06em; }
.transition-confirmation h3 { margin: 0 0 6px; font-size: var(--text-body); }
.transition-confirmation p { margin: 0; color: oklch(0.36 0.045 75); font-size: var(--text-secondary); line-height: 1.5; }
.transition-confirmation > div { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.support-empty { padding: 18px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); }
.support-empty h3 { margin-bottom: 6px; font-size: var(--text-body); }
.support-empty p { max-width: 56ch; margin-bottom: 16px; color: var(--muted); font-size: var(--text-secondary); line-height: 1.5; }
.support-fields { display: grid; gap: 16px; }
.support-fields.two-column { grid-template-columns: 1fr 1fr; }
.support-fields .span-2 { grid-column: 1 / -1; }
.support-student-choice { display: grid; gap: 16px; }
.support-student-choice > fieldset { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 0; padding: 0; border: 0; }
.support-student-choice > fieldset > label { display: grid; grid-template-columns: 24px 1fr; gap: 10px; align-items: start; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius-sm); cursor: pointer; }
.support-student-choice > fieldset > label:has(input:checked) { border-color: var(--primary); background: var(--primary-pale); }
.support-student-choice > fieldset strong, .support-student-choice > fieldset small { display: block; }
.support-student-choice > fieldset strong { font-size: var(--text-secondary); }
.support-student-choice > fieldset small { margin-top: 3px; color: var(--muted); font-size: var(--text-caption); line-height: 1.4; }
.support-student-choice > [data-existing-support-student] label > span, .new-watch-student label > span, .support-follow-up-form label > span, .support-observations form label > span { display: block; margin: 0 0 4px 4px; color: var(--muted); font-size: var(--text-caption); font-weight: var(--weight-bold); }
.support-new-student-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 16px; }
.support-new-student-fields .span-2 { grid-column: 1 / -1; }
.support-new-student-fields label > small { display: block; margin: 5px 4px 0; color: var(--muted); font-size: var(--text-caption); }
.form-error { margin: 0 0 16px; padding: 12px 16px; border: 1px solid var(--danger); border-radius: var(--radius-sm); color: var(--danger); background: var(--danger-pale); font-size: var(--text-secondary); font-weight: var(--weight-semibold); }
.new-watch-student > .id-match { margin: 6px 0 0; }
.support-current > p { margin: 0 0 18px; font-size: var(--text-body); line-height: 1.55; }
.support-current .support-summary { display: grid; gap: 4px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.support-current .support-summary strong { color: var(--muted); font-size: var(--text-caption); }
.support-follow-up-form { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; padding-top: 16px; border-top: 1px solid var(--line); }
.support-follow-up-form .span-2 { grid-column: 1 / -1; }
.support-follow-up-form input, .support-follow-up-form select, .support-observations textarea { width: 100%; min-height: 44px; padding: 9px 12px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--bg); }
.support-follow-up-form .button { grid-column: 1 / -1; justify-self: start; }
.support-observations ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.support-observations li { padding: 14px 0; border-bottom: 1px solid var(--line); }
.support-observations li > div { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.support-observations li strong { font-size: var(--text-secondary); }
.support-observations time { color: var(--muted); font-size: var(--text-caption); }
.support-observations li p { margin: 6px 0 0; font-size: var(--text-secondary); line-height: 1.5; white-space: pre-wrap; }
.support-observations form { margin-top: 16px; }
.support-observations form .button { margin-top: 8px; }
.observation-empty { padding: 16px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); }
.observation-empty strong { font-size: var(--text-secondary); }
.observation-empty p { margin: 4px 0 0; color: var(--muted); font-size: var(--text-caption); line-height: 1.45; }
.support-detail > div:last-child > p { max-width: 70ch; margin: 0 0 16px; line-height: 1.55; }
.support-transition { align-items: center; }
.support-transition form { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; }
.support-transition form label span { display: block; margin: 0 0 4px 4px; color: var(--muted); font-size: 10px; font-weight: 700; }
.support-transition form input { min-height: 44px; padding: 9px 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--bg); }
.support-transition > div:last-child { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.support-transition .completion-note { margin: 0; }
.team-assignments { max-width: 980px; margin: 0 auto; }
.focused-reassignment { max-width: 820px; }
.focused-assignment-student { display: grid; grid-template-columns: 44px minmax(180px, .8fr) minmax(320px, 1.2fr); gap: 16px; align-items: center; margin-top: 24px; padding: 20px 0; border-block: 1px solid var(--line); }
.focused-assignment-student > div:nth-child(2) span { color: var(--muted); font-size: 12px; font-weight: var(--weight-bold); }
.focused-assignment-student h2 { margin: 3px 0; font-size: 20px; }
.focused-assignment-student p { margin: 0; color: var(--muted); font-size: 13px; }
.focused-assignment-student dl { margin: 0; }
.focused-assignment-student dl > div { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 12px; padding: 5px 0; }
.focused-assignment-student dt { color: var(--muted); font-size: 12px; }
.focused-assignment-student dd { margin: 0; font-size: 13px; font-weight: var(--weight-semibold); }
.focused-destination { padding-top: 28px; }
.focused-impact { margin: 20px 0 0 40px; }
.focused-confirmation .reassignment-sentence { margin-top: 22px; }
.focused-reassignment-result { margin-top: 24px; padding: 24px; background: var(--success-pale); color: var(--success-dark); }
.focused-reassignment-result > span { font-size: 12px; font-weight: var(--weight-bold); }
.focused-reassignment-result h2 { margin: 5px 0; font-size: 21px; }
.focused-reassignment-result p { margin: 0; line-height: 1.5; }
.focused-reassignment-result > div { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.focused-assignment-history { padding: 18px 0; border-top: 1px solid var(--line); }
.focused-assignment-history > summary { min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 16px; cursor: pointer; }
.focused-assignment-history > summary strong { font-size: 17px; }
.focused-assignment-history > summary span { color: var(--muted); font-size: 14px; }
.focused-assignment-history ol { margin: 0; padding: 0; list-style: none; }
.focused-assignment-history li { display: flex; justify-content: space-between; gap: 16px; padding: 8px 0; border-bottom: 1px solid var(--line); }
.focused-assignment-history li strong { font-size: 15px; }
.focused-assignment-history li span { color: var(--muted); font-size: 14px; }
.operation-result { margin: 16px 0 0; padding: 12px 16px; background: var(--success-pale); color: var(--success-dark); font-size: var(--text-secondary); font-weight: 700; }
.week-operation-result { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.week-operation-result .text-button { min-height: 44px; color: var(--success-dark); }
.assignment-result { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.assignment-result p { margin: 0; }
.permission-note { margin: 20px 0 0; padding: 14px 16px; border: 1px solid var(--line); background: var(--info-pale); }
.permission-note strong { display: block; margin-bottom: 2px; }
.assignment-step { padding: 24px 0; border-bottom: 1px solid var(--line); }
.assignment-step-heading { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 12px; align-items: start; }
.assignment-step-heading > span, .assignment-list legend > span:first-child { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: var(--ink); color: var(--white); font-size: var(--text-secondary); font-weight: var(--weight-bold); }
.assignment-step-heading h2, .assignment-list legend strong { margin: 0 0 3px; font-size: var(--text-subheading); }
.assignment-step-heading p, .assignment-list legend small { display: block; margin: 0; color: var(--muted); font-size: var(--text-secondary); font-weight: var(--weight-regular); }
.assignment-manager-control { display: block; max-width: 460px; margin: 16px 0 0 40px; }
.assignment-manager-control > span { display: block; margin: 0 0 5px 4px; color: var(--muted); font-size: var(--text-secondary); font-weight: var(--weight-bold); }
.assignment-manager-control select { width: 100%; min-height: 44px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--bg); }
.assignment-list { margin: 0; padding: 0; border: 0; }
.assignment-list legend { width: 100%; display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 12px; padding: 0 0 16px; color: var(--ink); }
.assignment-selection-tools { min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 8px 0; }
.assignment-selection-tools > strong { font-size: var(--text-secondary); }
.assignment-selection-tools > div { display: flex; gap: 4px; }
.assignment-selection-tools .text-button { min-height: 44px; }
.assignment-search { display: block; max-width: 460px; margin: 0 0 12px 40px; }
.assignment-search > span { display: block; margin: 0 0 5px 4px; color: var(--muted); font-size: var(--text-secondary); font-weight: var(--weight-bold); }
.assignment-search input { width: 100%; min-height: 44px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--bg); }
.assignment-list > [data-assignment-student-name] { display: grid; grid-template-columns: 24px minmax(220px, .8fr) minmax(260px, 1fr); gap: 12px; align-items: center; min-height: 64px; border-top: 1px solid var(--line); cursor: pointer; }
.assignment-list > [data-assignment-student-name]:last-child { border-bottom: 1px solid var(--line); }
.assignment-list > [data-assignment-student-name]:has(input:checked) { background: var(--primary-pale); }
.assignment-list input[type="checkbox"] { width: 20px; height: 20px; accent-color: var(--primary); }
.assignment-list strong, .assignment-list small { display: block; }
.assignment-list strong { font-size: var(--text-body); }
.assignment-list small, .assignment-list > [data-assignment-student-name] > span:last-child { color: var(--muted); font-size: var(--text-secondary); }
.assignment-list > [data-assignment-student-name] > span:last-child small { margin-bottom: 2px; font-size: var(--text-caption); font-weight: var(--weight-bold); }
.assignment-list.readonly { padding-top: 24px; }
.assignment-list-heading { padding-bottom: 12px; }
.assignment-list-heading h2 { margin: 0; font-size: var(--text-subheading); }
.assignment-list.readonly article { display: grid; grid-template-columns: minmax(220px, .8fr) minmax(260px, 1fr) auto; gap: 12px; align-items: center; min-height: 64px; padding: 10px 0; border-top: 1px solid var(--line); }
.assignment-list.readonly article .text-button { min-height: 44px; }
.assignment-list.readonly article:last-child { border-bottom: 1px solid var(--line); }
.assignment-list.readonly article span:last-child { color: var(--muted); font-size: var(--text-secondary); }
.assignment-list.readonly article span:last-child small { display: block; margin-bottom: 2px; font-size: var(--text-caption); font-weight: var(--weight-bold); }
.assignment-empty { margin: 0; padding: 20px 0; color: var(--muted); }
.reassignment-actions { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 20px 0 32px; }
.reassignment-actions p { max-width: 62ch; margin: 0; color: var(--muted); font-size: var(--text-secondary); }
.reassignment-form .assignment-list .reassignment-actions { position: sticky; top: 8px; z-index: 2; margin: 0 0 4px; padding: 12px 14px; border: 1px solid var(--line); background: var(--surface); box-shadow: 0 4px 12px color-mix(in oklch, var(--ink) 8%, transparent); }
.reassignment-caseload-impact { max-width: 62ch; margin: 12px 0 0 40px; color: var(--muted); font-size: var(--text-secondary); line-height: 1.45; }
.reassignment-confirmation { margin: 24px 0; padding: 24px; border: 2px solid var(--primary); background: var(--primary-pale); }
.reassignment-sentence { margin: 20px 0 12px 40px; font-size: var(--text-subheading); }
.reassignment-confirmation ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 24px; margin: 0 0 20px 40px; padding-left: 18px; }
.reassignment-impact { margin-left: 40px; padding: 14px 16px; background: var(--bg); border: 1px solid var(--line); }
.reassignment-impact p { margin: 4px 0 0; line-height: 1.5; }
.confirmation-actions { display: flex; justify-content: flex-end; gap: 8px; margin: 20px 0 0 40px; }
.assignment-audit { padding: 18px 0; border-top: 1px solid var(--line); }
.assignment-audit > summary { min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 16px; cursor: pointer; }
.assignment-audit > summary strong, .assignment-audit > summary small { display: block; }
.assignment-audit > summary strong { font-size: 17px; }
.assignment-audit > summary small, .assignment-audit > summary > span:last-child { margin-top: 3px; color: var(--muted); font-size: 14px; }
.assignment-audit-content { max-width: 760px; padding: 16px 0 6px; }
.assignment-audit p { margin: 0; color: var(--muted); font-size: 14px; }
.assignment-audit ol { margin: 0; padding: 0; list-style: none; }
.assignment-audit li { display: grid; gap: 3px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.assignment-audit li:first-child { padding-top: 0; }
.assignment-audit li strong { font-size: 15px; }
.assignment-audit li span { color: var(--muted); font-size: 14px; }

.run-meeting-document { max-width: 1420px; margin-top: 24px; padding: 0; border: 0; }
.run-meeting-header { position: sticky; top: 0; z-index: var(--z-sticky); min-height: 88px; display: grid; grid-template-columns: minmax(280px, 1fr) auto auto; align-items: center; gap: 20px; padding: 12px 16px; border: 1px solid var(--line); background: var(--bg); }
.run-meeting-header span, .run-meeting-header p { color: var(--muted); font-size: var(--text-secondary); }
.run-meeting-header h2 { margin: 2px 0; font-size: 20px; }
.run-meeting-header p { margin: 0; }
.run-meeting-position { text-align: right; }
.run-meeting-position strong, .run-meeting-position span { display: block; }
.run-meeting-position strong { font-size: var(--text-body); }
.run-meeting-header nav { display: flex; gap: 8px; }
.run-meeting-layout { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 24px; align-items: start; margin-top: 20px; }
.run-meeting-agenda { position: sticky; top: 108px; max-height: calc(100vh - 132px); overflow: auto; border: 1px solid var(--line); background: var(--surface); }
.run-meeting-agenda > div { padding: 16px; border-bottom: 1px solid var(--line); }
.run-meeting-agenda h3 { margin-bottom: 3px; font-size: 16px; }
.run-meeting-agenda p { margin: 0; color: var(--muted); font-size: var(--text-secondary); }
.run-agenda-group { border-bottom: 1px solid var(--line); }
.run-agenda-group:last-child { border-bottom: 0; }
.run-agenda-group > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 12px 9px; background: var(--surface-strong); border-bottom: 1px solid var(--line); }
.run-agenda-group > header h4 { margin: 0; font-size: var(--text-secondary); }
.run-agenda-group > header p { margin-top: 2px; font-size: var(--text-compact); }
.run-agenda-group > header > strong { min-width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: var(--bg); font-size: var(--text-compact); }
.run-agenda-group.scheduling > header { background: var(--accent-pale); }
.run-agenda-group.watch > header { background: var(--info-pale); }
.run-agenda-group ol { margin: 0; padding: 0; list-style: none; }
.run-agenda-item { width: 100%; min-height: 60px; display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; align-items: center; gap: 9px; padding: 9px 12px; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: inherit; text-align: left; cursor: pointer; }
.run-agenda-group li:last-child .run-agenda-item { border-bottom: 0; }
.run-agenda-item:hover { background: var(--surface-strong); }
.run-agenda-item.active { background: var(--primary-pale); }
.run-agenda-item > span:first-child { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; background: var(--ink); color: var(--white); font-size: var(--text-compact); font-weight: 760; }
.run-agenda-item strong, .run-agenda-item small { display: block; min-width: 0; }
.run-agenda-item strong { overflow-wrap: normal; word-break: normal; font-size: var(--text-secondary); }
.run-agenda-item small { margin-top: 2px; color: var(--muted); font-size: var(--text-compact); }
.run-agenda-item em { font-style: normal; }
.run-meeting-workspace { min-width: 0; border: 1px solid var(--line); background: var(--bg); }
.run-meeting-workspace .packet-discussion { padding: 24px; border-bottom: 0; }
.run-meeting-workspace [data-active-workspace-heading] { scroll-margin-top: 112px; }
.run-meeting-workspace .workspace-date-row, .run-meeting-workspace .previous-meeting-update, .run-meeting-workspace .discussion-context, .run-meeting-workspace .packet-progress-form, .run-meeting-workspace .testing-assignments, .run-meeting-workspace .packet-preparation-notes, .run-meeting-workspace .packet-progress-readonly { margin-left: 0; }
.run-meeting-workspace .packet-progress-form { background: var(--primary-pale); }
.run-meeting-workspace .packet-progress-form footer { position: sticky; bottom: 0; z-index: var(--z-sticky); margin: 16px -16px -16px; padding: 12px 16px; border-top: 1px solid var(--line); background: var(--bg); }
.meeting-completion { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 20px; padding: 20px; border: 2px solid var(--success); background: var(--success-pale); }
.meeting-completion span { color: var(--success-dark); font-size: var(--text-secondary); font-weight: var(--weight-bold); }
.meeting-completion h2 { margin: 3px 0; font-size: var(--text-title); }
.meeting-completion p { margin: 0; color: var(--success-dark); }
.meeting-completion > div:last-child { justify-content: flex-end; }
.skip-workspace-link { display: inline-block; margin: 8px -8px -4px; }
.meeting-secondary-section { margin-top: 12px; border: 1px solid var(--line); background: var(--surface); }
.meeting-secondary-section > summary { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 12px 16px; cursor: pointer; }
.meeting-secondary-section > summary span strong, .meeting-secondary-section > summary span small { display: block; }
.meeting-secondary-section > summary span strong { font-size: var(--text-body); }
.meeting-secondary-section > summary span small, .meeting-secondary-section > summary em { color: var(--muted); font-size: var(--text-secondary); }
.meeting-secondary-section > summary em { font-style: normal; text-align: right; }
.meeting-secondary-section[open] > summary { border-bottom: 1px solid var(--line); }
.meeting-secondary-section > .testing-assignments, .meeting-secondary-section > .packet-preparation-notes { margin: 0; border: 0; border-radius: 0; background: var(--bg); }

/* Screen type hierarchy for the weekly packet and live meeting workspace. */
.packet-document-header span,
.packet-document-header > strong small,
.packet-readiness-summary p,
.packet-readiness-summary dt,
.meeting-progress-summary > div span,
.meeting-progress-summary dt,
.packet-section-heading > strong,
.packet-progress-readonly,
.demo-rehearsal-status p,
.demo-rehearsal-status > span {
  font-size: var(--text-secondary);
  line-height: 1.4;
}
.team-meeting-date span,
.team-meeting-date small,
.packet-date-priority span,
.packet-date-priority small,
.run-meeting-header span,
.run-meeting-header p,
.run-meeting-agenda p {
  font-size: var(--text-secondary);
  line-height: 1.4;
}
.team-meeting-date strong,
.run-meeting-header h2 {
  font-size: 1.5rem;
  line-height: 1.2;
  font-weight: var(--weight-bold);
  font-variant-numeric: tabular-nums;
}
.packet-date-priority strong {
  font-size: var(--text-title);
  line-height: 1.2;
  font-weight: var(--weight-bold);
  font-variant-numeric: tabular-nums;
}
.packet-discussion h3 {
  font-size: var(--text-title);
  line-height: 1.25;
  font-weight: var(--weight-bold);
}
.packet-discussion header p,
.packet-discussion header strong {
  font-size: var(--text-secondary);
  line-height: 1.4;
}
.discussion-context h4,
.working-notes h4,
.previous-meeting-update span,
.previous-meeting-update small,
.previous-meeting-update dt,
.testing-assignments header span,
.packet-preparation-notes header span,
.add-testing-task label span,
.packet-progress-form label > span {
  font-size: var(--text-secondary);
  line-height: 1.35;
}
.previous-meeting-update strong,
.previous-meeting-update p,
.previous-meeting-update dd,
.discussion-context p,
.discussion-context dd,
.recorded-working-value,
.packet-progress-form textarea,
.packet-progress-form input,
.packet-progress-form select {
  font-size: var(--text-body);
}
.previous-meeting-update p,
.discussion-context p,
.recorded-working-value {
  max-width: 65ch;
  line-height: 1.5;
}
.packet-progress-form h4,
.testing-assignments h4,
.packet-preparation-notes h4 {
  font-size: var(--text-subheading);
  line-height: 1.3;
  font-weight: var(--weight-bold);
}
.packet-progress-form header p {
  font-size: var(--text-secondary);
  line-height: 1.45;
}
.packet-progress-form footer small { font-size: var(--text-secondary); }
.testing-assignments li strong,
.packet-preparation-notes li p,
.calendar-trigger {
  font-size: var(--text-body);
}
.testing-assignments li div > span,
.packet-preparation-notes li small {
  font-size: var(--text-secondary);
  line-height: 1.35;
}
.packet-progress-status,
.testing-status {
  font-size: var(--text-secondary);
}
.packet-confidentiality {
  font-size: var(--text-caption);
}
.run-agenda-item strong {
  font-size: var(--text-body);
  line-height: 1.25;
  font-weight: var(--weight-bold);
}
.run-agenda-item small {
  font-size: var(--text-secondary);
  line-height: 1.3;
  font-weight: var(--weight-semibold);
  font-variant-numeric: tabular-nums;
}
.run-agenda-item .packet-progress-status { font-size: var(--text-compact); }

/* Actionable status and import copy must remain readable at meeting distance. */
.packet-readiness {
  font-size: var(--text-compact);
}
.migration-heading .demo-import-warning,
.import-source p,
.import-mapping p,
.import-rows p {
  font-size: var(--text-secondary);
  line-height: 1.45;
}
.import-source label span,
.import-source .import-file-picker > span,
.import-row-editor label span,
.import-summary span,
.import-change-summary dt,
.import-mapping dl div,
.import-action,
.import-source-disclosure > summary b {
  font-size: var(--text-compact);
}
.import-source textarea {
  font: var(--text-compact)/1.45 ui-monospace, SFMono-Regular, Menlo, monospace;
}

/* Read-only operational Calendar: student dates first, followed by full-month context. */
.calendar-screen { max-width: 1440px; margin-inline: auto; }
.calendar-heading { min-height: 122px; }
.calendar-heading .date-line { font-size: var(--text-secondary); }
.calendar-toolbar { padding: 16px 0 18px; border-bottom: 1px solid var(--line); }
.calendar-controls { display: flex; flex-wrap: wrap; gap: 8px; }
.calendar-controls .button { min-width: 112px; min-height: 44px; box-shadow: none; }
.calendar-filter-disclosure { margin-top: 12px; border-top: 1px solid var(--line); }
.calendar-filter-disclosure > summary { min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 8px 0; color: var(--primary-dark); cursor: pointer; }
.calendar-filter-disclosure > summary span, .calendar-filter-disclosure > summary strong, .calendar-filter-disclosure > summary small { display: block; }
.calendar-filter-disclosure > summary strong { font-size: var(--text-body); }
.calendar-filter-disclosure > summary small { margin-top: 2px; color: var(--muted); font-size: var(--text-secondary); font-weight: var(--weight-regular); }
.calendar-filter-disclosure > summary b { font-size: var(--text-secondary); white-space: nowrap; }
.calendar-filters { display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)); gap: 12px; padding: 8px 0 4px; }
.calendar-filters label, .calendar-filters label > span { display: block; min-width: 0; }
.calendar-filters label > span { margin-bottom: 5px; color: var(--muted); font-size: var(--text-secondary); font-weight: var(--weight-semibold); }
.calendar-filters select { width: 100%; min-width: 0; min-height: 44px; padding: 8px 34px 8px 10px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--bg); font-size: var(--text-secondary); }
.calendar-filter-clear { grid-column: 1 / -1; justify-self: end; min-height: 44px; }
.calendar-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; align-items: start; padding-top: 24px; }
.calendar-month-overview { min-width: 0; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--bg); box-shadow: none; }
.calendar-month-scroll { max-width: 100%; overflow-x: auto; scrollbar-gutter: stable; }
.calendar-month-grid { min-width: 560px; }
.calendar-month-heading { min-height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; border-bottom: 1px solid var(--line); }
.calendar-month-heading h2 { margin: 0; font-size: var(--text-title); }
.calendar-month-heading > span { color: var(--muted); font-size: var(--text-secondary); font-weight: var(--weight-semibold); }
.calendar-weekday-labels, .calendar-month-days, .calendar-legend ul, .calendar-date-group ol, .calendar-earlier-overdue ol, .calendar-data-warnings ol, .calendar-student-priorities ol { list-style: none; margin: 0; padding: 0; }
.calendar-weekday-labels, .calendar-month-days { display: grid; grid-template-columns: repeat(7, minmax(80px, 1fr)); }
.calendar-weekday-labels { border-bottom: 1px solid var(--line); }
.calendar-weekday-labels li { padding: 8px 3px; color: var(--muted); font-size: var(--text-secondary); font-weight: var(--weight-semibold); text-align: center; }
.calendar-day { min-width: 0; min-height: 60px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.calendar-day:nth-child(7n) { border-right: 0; }
.calendar-day.is-placeholder { background: var(--surface); }
.calendar-day time { min-height: 59px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; color: var(--muted); font-variant-numeric: tabular-nums; }
.calendar-day time span { font-size: var(--text-body); font-weight: var(--weight-semibold); }
.calendar-day time small { min-height: 20px; font-size: var(--text-secondary); }
.calendar-day-button { appearance: none; width: 100%; min-height: 76px; display: grid; align-content: center; justify-items: center; gap: 2px; padding: 7px 6px; border: 0; border-radius: 0; background: var(--primary-pale); color: var(--primary-dark); cursor: pointer; }
.calendar-day-button:hover { background: var(--surface-strong); }
.calendar-day-button:focus-visible { position: relative; z-index: 1; outline: 3px solid var(--focus); outline-offset: -3px; }
.calendar-day-button time { min-height: auto; color: inherit; font-size: var(--text-body); font-weight: var(--weight-semibold); }
.calendar-day-summary { width: 100%; display: grid; justify-items: start; gap: 1px; min-height: 20px; color: var(--primary-dark); font-size: var(--text-compact); font-weight: var(--weight-semibold); line-height: 1.2; }
.calendar-day-summary span { display: flex; align-items: center; gap: 3px; white-space: nowrap; }
.calendar-day-summary span::before { width: 6px; height: 6px; flex: 0 0 6px; border-radius: 50%; background: var(--primary); content: ""; }
.calendar-day-summary [data-calendar-kind="team-meeting"]::before { background: var(--primary-dark); }
.calendar-day-summary [data-calendar-kind="cancelled-team-meeting"] { color: var(--muted); }
.calendar-day-summary [data-calendar-kind="cancelled-team-meeting"]::before { background: var(--muted); }
.calendar-day-summary [data-calendar-kind="compliance-deadline"] { color: var(--ink); }
.calendar-day-summary [data-calendar-kind="compliance-deadline"]::before { background: var(--accent); }
.calendar-day-summary [data-calendar-kind="overdue"] { color: var(--danger); }
.calendar-day-summary [data-calendar-kind="overdue"]::before { background: var(--danger); }
.calendar-legend { padding: 14px; }
.calendar-legend h3 { margin: 0 0 10px; font-size: var(--text-body); }
.calendar-legend ul { display: grid; gap: 8px; }
.calendar-legend li { position: relative; padding-left: 18px; font-size: var(--text-secondary); }
.calendar-legend li::before { content: ""; position: absolute; left: 0; top: .48em; width: 9px; height: 9px; border: 2px solid var(--primary); background: var(--primary-pale); }
.calendar-legend li[data-calendar-kind="compliance-deadline"]::before { border-color: var(--accent); background: var(--accent-pale); }
.calendar-legend li[data-calendar-kind="overdue"]::before { border-color: var(--danger); background: var(--danger-pale); }
.calendar-legend li[data-calendar-kind="team-meeting"]::before { border-color: var(--primary-dark); background: var(--primary-dark); }
.calendar-data-warnings, .calendar-student-priorities { min-width: 0; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--bg); }
.calendar-data-warnings { border-color: var(--danger); background: var(--danger-pale); }
.calendar-data-warnings > header, .calendar-student-priorities > header { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 16px; border-bottom: 1px solid var(--line); }
.calendar-data-warnings > header span, .calendar-student-priorities > header span { color: var(--primary-dark); font-size: var(--text-secondary); font-weight: var(--weight-bold); }
.calendar-data-warnings > header h2, .calendar-student-priorities > header h2 { margin: 2px 0 0; font-size: var(--text-title); }
.calendar-data-warnings > header p, .calendar-student-priorities > header p { margin: 3px 0 0; color: var(--muted); font-size: var(--text-secondary); }
.calendar-data-warnings > header > strong, .calendar-student-priorities > header > strong { font-variant-numeric: tabular-nums; white-space: nowrap; }
.calendar-data-warnings li, .calendar-student-priorities li { border-bottom: 1px solid var(--line); }
.calendar-data-warnings li:last-child, .calendar-student-priorities li:last-child { border-bottom: 0; }
.calendar-data-warnings button, .calendar-student-priorities button { appearance: none; width: 100%; min-height: 58px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 16px; padding: 10px 16px; border: 0; background: transparent; color: var(--ink); font: inherit; text-align: left; cursor: pointer; }
.calendar-data-warnings button:hover, .calendar-student-priorities button:hover { background: var(--surface); }
.calendar-data-warnings button:focus-visible, .calendar-student-priorities button:focus-visible { outline: 3px solid var(--focus); outline-offset: -3px; }
.calendar-data-warnings button > span, .calendar-student-priorities button > span { min-width: 0; }
.calendar-data-warnings button strong, .calendar-data-warnings button b, .calendar-student-priorities button strong, .calendar-student-priorities time { display: block; font-size: var(--text-body); font-weight: var(--weight-bold); }
.calendar-data-warnings button small, .calendar-student-priorities button small { display: block; margin-top: 2px; color: var(--muted); font-size: var(--text-secondary); }
.calendar-data-warnings button > span:last-child { text-align: right; }
.calendar-student-priorities button { grid-template-columns: 112px minmax(0, 1fr); }
.calendar-student-priorities time { color: var(--primary-dark); font-variant-numeric: tabular-nums; }
.calendar-agenda-region { min-width: 0; }
.calendar-agenda { min-width: 0; border-top: 1px solid var(--line); }
.calendar-agenda > header { min-height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.calendar-agenda > header span, .calendar-earlier-overdue > div > span { display: block; color: var(--primary-dark); font-size: var(--text-secondary); font-weight: var(--weight-bold); }
.calendar-agenda > header h2, .calendar-earlier-overdue h2 { margin: 2px 0 0; font-size: var(--text-title); }
.calendar-agenda > header > strong { color: var(--muted); font-size: var(--text-secondary); font-variant-numeric: tabular-nums; white-space: nowrap; }
.calendar-date-group > h3 { margin: 0; padding: 16px 0 8px; color: var(--muted); font-size: var(--text-secondary); font-variant-numeric: tabular-nums; }
.calendar-date-group ol { border-top: 1px solid var(--line); }
.calendar-date-group li, .calendar-earlier-overdue li { border-bottom: 1px solid var(--line); }
.calendar-agenda-item { appearance: none; width: 100%; min-width: 0; min-height: 104px; display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto auto auto; gap: 2px 16px; padding: 14px 12px; border: 0; border-left: 4px solid var(--primary); border-radius: 0; background: var(--bg); color: var(--ink); font-size: var(--text-secondary); text-align: left; cursor: pointer; box-shadow: none; }
.calendar-agenda-item:hover { background: var(--surface); }
.calendar-agenda-item.compliance-deadline { border-left-color: var(--accent); }
.calendar-agenda-item.is-overdue { border-left-color: var(--danger); background: var(--danger-pale); }
.calendar-agenda-item.cancelled-team-meeting { border-left-color: var(--muted); background: var(--surface); }
.calendar-agenda-item .calendar-item-type { grid-column: 1; grid-row: 1; color: var(--primary-dark); font-size: var(--text-secondary); font-weight: var(--weight-bold); }
.calendar-agenda-item.compliance-deadline .calendar-item-type { color: oklch(0.35 0.1 70); }
.calendar-agenda-item.is-overdue .calendar-item-type { color: var(--danger); }
.calendar-agenda-item.cancelled-team-meeting .calendar-item-type { color: var(--muted); }
.calendar-agenda-item > time { grid-column: 2; grid-row: 1; color: var(--muted); font-size: var(--text-secondary); font-variant-numeric: tabular-nums; white-space: nowrap; }
.calendar-agenda-item > strong { grid-column: 1 / -1; grid-row: 2; min-width: 0; font-size: var(--text-subheading); overflow-wrap: anywhere; }
.calendar-item-review { grid-column: 1 / -1; grid-row: 3; font-size: var(--text-secondary); font-weight: var(--weight-semibold); }
.calendar-item-context { grid-column: 1 / -1; grid-row: 4; min-width: 0; color: var(--muted); font-size: var(--text-secondary); overflow-wrap: anywhere; }
.calendar-item-destination { grid-column: 1 / -1; grid-row: 5; margin-top: 5px; color: var(--primary-dark); font-size: var(--text-secondary); font-weight: var(--weight-bold); }
.calendar-earlier-overdue { margin-bottom: 24px; padding: 16px; border: 1px solid var(--danger); border-left-width: 4px; border-radius: var(--radius-sm); background: var(--danger-pale); box-shadow: none; }
.calendar-earlier-overdue > div > p { margin: 5px 0 12px; color: var(--muted); font-size: var(--text-secondary); }
.calendar-earlier-overdue ol { border-top: 1px solid oklch(0.77 0.06 28); }
.calendar-earlier-overdue .calendar-agenda-item { background: transparent; }
.calendar-empty-state { min-height: 180px; display: grid; align-content: center; justify-items: start; padding: 28px 0; border-bottom: 1px solid var(--line); }
.calendar-empty-state h3 { margin-bottom: 6px; font-size: var(--text-subheading); }
.calendar-empty-state p { max-width: 58ch; margin: 0; color: var(--muted); font-size: var(--text-secondary); }

@keyframes panel-in { from { transform: translateX(16px); opacity: 0; } to { transform: translateX(0); opacity: 1; } }

@media (max-width: 1120px) {
  .app-shell { grid-template-columns: 200px minmax(0, 1fr); }
  .filters { flex-wrap: wrap; align-items: end; }
  .filters .text-button { margin-left: 0; }
  .command-layout { grid-template-columns: minmax(0, 1fr); }
  .cycle-layout { grid-template-columns: minmax(0, 1fr); }
  .focus-panel { position: static; display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 16px; }
  .run-meeting-layout { grid-template-columns: 240px minmax(0, 1fr); gap: 16px; }
  .run-meeting-header { grid-template-columns: minmax(240px, 1fr) auto; }
  .run-meeting-header nav { grid-column: 1 / -1; justify-content: flex-end; }
  .run-agenda-item { grid-template-columns: 26px minmax(88px, 1fr); }
  .run-agenda-item em { grid-column: 2; justify-self: start; }
  .focus-head, .focus-panel .button, .focus-panel .privacy-note { grid-column: 1 / -1; }
  .focus-item { border-bottom: 0; }
  .audit-layout { grid-template-columns: 1fr; gap: 28px; }
  .security-feed { padding: 24px 0 0; border-top: 1px solid var(--line); border-left: 0; }
  .my-work-row { grid-template-columns: 140px minmax(240px, 1fr) minmax(220px, auto); }
  .my-work-actions { align-items: stretch; flex-direction: column; }
  .my-work-actions > .text-button { align-self: flex-end; padding-block: 2px; }
  .directory-tools { grid-template-columns: 1fr; gap: 14px; }
  .directory-column-head { display: none; }
  .directory-student-row { grid-template-columns: minmax(230px, 1.2fr) minmax(150px, .8fr) minmax(190px, 1fr) auto; row-gap: 10px; }
  .directory-next-date { grid-column: 2; grid-row: 2; }
  .directory-student-row > .directory-cell:nth-of-type(2) { grid-column: 1; grid-row: 2; padding-left: 43px; }
  .directory-student-row > .attention { grid-column: 4; grid-row: 1; }
  .directory-mobile-label { display: inline; margin-right: 5px; color: var(--muted); font-size: var(--text-secondary); font-weight: var(--weight-regular); }
}

@media (max-width: 940px) and (min-width: 821px) {
  .meeting-schedule-review { grid-template-columns: 1fr; }
  .meeting-schedule-fields { grid-template-columns: 1fr 1fr; }
  .meeting-schedule-fields .button { grid-column: 1 / -1; justify-self: start; }
  .app-shell { grid-template-columns: 82px minmax(0, 1fr); }
  .brand > span:last-child, .nav-item span, .nav-item b, .sidebar-context { display: none; }
  .sidebar { align-items: center; }
  .brand { padding-inline: 0; }
  .nav-item { width: 58px; min-height: 52px; flex-direction: column; justify-content: center; gap: 3px; padding: 6px 4px; }
  .nav-item::after { display: block; font-size: var(--text-caption); font-weight: var(--weight-semibold); line-height: 1.15; }
}

@media (max-width: 900px) {
  .district-setup-workspace { padding-inline: 0; }
  .district-setup-section { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .district-setup-section form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .district-setup-section form > .button { grid-column: 1 / -1; justify-self: start; }
}

@media (max-width: 820px) {
  .demo-note-full { display: none; }
  .demo-note-compact { display: inline; }
  .packet-preparation-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .packet-preparation-step:nth-child(2) { border-right: 0; }
  .packet-preparation-step:nth-child(-n + 2) { border-bottom: 1px solid var(--line); }
  .packet-preparation-actions { align-items: stretch; flex-direction: column; }
  .packet-preparation-actions > .button, .packet-preparation-actions > .button:last-child, .packet-preparation-actions .packet-download-actions, .packet-preparation-actions .packet-download-actions .button { width: 100%; margin-left: 0; }
  .calendar-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .calendar-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .calendar-month-overview { width: 100%; }
  .meeting-schedule-panel > header { flex-direction: column; gap: 8px; }
  .meeting-schedule-panel > header > strong { white-space: normal; }
  .meeting-schedule-review, .meeting-schedule-fields { grid-template-columns: 1fr; }
  .meeting-schedule-fields { margin-left: 0; }
  .meeting-cancellation-reason, .meeting-schedule-fields .button { grid-column: auto; }
  .meeting-schedule-fields .button, .meeting-schedule-actions .button { width: 100%; }
  .meeting-schedule-actions { align-items: stretch; flex-direction: column-reverse; }
  .packet-display-settings { grid-template-columns: 1fr; gap: 12px; }
  .packet-preparation-options { grid-template-columns: 1fr; }
  .packet-secondary-tools { border-top: 1px solid var(--line); border-left: 0; }
  .packet-display-settings > .button { width: 100%; justify-self: stretch; }
  .meeting-scheduling-workspace { grid-template-columns: 1fr; }
  .meeting-scheduling-queue ol { max-height: 320px; overflow-y: auto; }
  .meeting-scheduling-detail { padding: 20px; }
  .upcoming-annual-preparation ol { grid-template-columns: 1fr; }
  .app-shell { display: block; }
  .sidebar { position: static; width: 100%; height: auto; padding: 12px 16px; flex-direction: row; align-items: center; border-right: 0; border-bottom: 1px solid var(--line); }
  .sidebar-context { display: none; }
  .brand { margin-right: auto; padding: 0; }
  .brand > span:last-child { display: inline; }
  .sidebar nav { flex-direction: row; }
  .sidebar nav { flex: 1; justify-content: flex-end; }
  .nav-item { width: auto; min-width: 52px; min-height: 48px; flex-direction: column; justify-content: center; gap: 2px; padding: 5px 7px; }
  .nav-item span, .nav-item b { display: none; }
  .nav-item::after { display: block; font-size: var(--text-caption); font-weight: var(--weight-semibold); line-height: 1.15; }
  .run-meeting-header { position: static; grid-template-columns: 1fr; }
  .run-meeting-header nav { grid-column: auto; justify-content: stretch; }
  .run-meeting-header nav .button { flex: 1; }
  .run-meeting-position { text-align: left; }
  .run-meeting-layout { grid-template-columns: 1fr; }
  .run-meeting-agenda { position: static; max-height: 150px; }
  .run-meeting-workspace [data-active-workspace-heading] { scroll-margin-top: 16px; }
  .packet-empty-state { align-items: flex-start; flex-direction: column; }
  .weekly-meeting-action { grid-template-columns: minmax(140px, auto) minmax(0, 1fr); }
  .week-primary-buttons { grid-column: 1 / -1; }
  .week-primary-buttons .button { flex: 1; }
  .week-secondary-heading { align-items: flex-start; flex-direction: column; gap: 4px; }
  main { padding-inline: 16px; }
  .page-heading { min-height: 116px; }
  .week-following-actions { grid-template-columns: 1fr; }
  .week-following-actions button { min-height: 76px; }
  .week-find-tools { display: block; }
  .week-search-row { grid-template-columns: 1fr; gap: 10px; }
  .week-advanced-filters { border-top: 1px solid var(--line); border-left: 0; }
  .week-advanced-filters > summary { min-height: 64px; padding-left: 0; }
  .filters label { min-width: calc(50% - 8px) !important; flex: 1; }
  .search-control { min-width: 100% !important; flex-basis: 100%; }
  .student-row { grid-template-columns: minmax(210px, 1fr) auto; gap: 8px; }
  .student-cycle, .student-action { grid-column: 1 / -1; padding-left: 60px; }
  .student-row > .attention { grid-column: 2; grid-row: 1; }
  .packet-paper { padding: 32px 24px; }
  .packet-document { padding: 24px; }
  .packet-document-header { grid-template-columns: 1fr auto; align-items: start; }
  .team-meeting-date { grid-column: 1 / -1; grid-row: 2; }
  .packet-entry-heading { grid-template-columns: 28px minmax(0, 1fr) auto; align-items: start; }
  .packet-entry-heading .packet-date-priority { grid-column: 2; }
  .packet-entry-heading .packet-entry-statuses { grid-column: 3; grid-row: 1 / 3; }
  .packet-entry-heading .packet-order-controls { grid-column: 2 / -1; }
  .cycle-source { align-items: flex-start; flex-direction: column; }
  .packet-entry-body { grid-template-columns: 1fr; }
  .packet-scheduling-path { grid-template-columns: 1fr; }
  .packet-scheduling-actions > div, .packet-scheduling-actions form { grid-template-columns: 1fr; align-items: stretch; }
  .packet-scheduling-actions label { min-width: 0; }
  .packet-removal { grid-template-columns: 1fr; }
  .packet-removal > div { justify-content: flex-end; }
  .packet-agenda article { grid-template-columns: 24px 1fr auto; }
  .packet-agenda article > div:nth-of-type(2) { grid-column: 2 / -1; }
  .packet-progress-fields { grid-template-columns: 1fr; }
  .add-testing-task { grid-template-columns: 1fr 1fr; }
  .add-testing-task .assignment-detail { grid-column: 1 / 3; }
  .add-testing-task .button { justify-self: start; }
  .cycle-status { grid-template-columns: 1fr 1fr; }
  .cycle-status > div:nth-child(2) { border-right: 0; }
  .cycle-status > div:last-child { grid-column: 1 / -1; border-top: 1px solid var(--line); }
  .cycle-alignment { grid-template-columns: 1fr; }
  .related-active-cycle { grid-template-columns: 1fr; }
  .alignment-action { align-items: flex-start; flex-direction: column; }
  .meeting-section { align-items: flex-start; flex-direction: column; }
  .meeting-record { grid-template-columns: 1fr; }
  .session-form { grid-template-columns: 1fr 1fr; }
  .session-form .button { grid-column: 1 / -1; justify-self: start; }
  .deferral-control form { grid-template-columns: 1fr 1fr; }
  .closure-section-heading { align-items: start; flex-direction: column; }
  .closure-section-heading > strong { text-align: left; }
  .completed-cycle dl { grid-template-columns: 1fr 1fr; }
  .intake-section, .intake-detail, .support-section, .support-detail { grid-template-columns: 1fr; gap: 16px; }
  .focused-assignment-student { grid-template-columns: 44px minmax(0, 1fr); }
  .focused-assignment-student dl { grid-column: 1 / -1; padding-left: 60px; }
  .id-match { grid-column: 1; margin-top: -8px; }
  .notification-settings form { grid-template-columns: minmax(220px, 1fr) minmax(180px, .7fr) auto; align-items: end; }
  .notification-settings form .button { width: auto; }
  .audit-heading { grid-template-columns: 1fr; gap: 20px; padding: 28px 0; }
  .audit-export-control { padding: 20px 0 0; border-top: 1px solid var(--line); border-left: 0; }
  .migration-heading { grid-template-columns: 1fr; gap: 12px; padding: 24px 0; }
  .import-source, .import-mapping, .correction-form, .deadline-preview { grid-template-columns: 1fr; gap: 16px; }
  .import-schema-error { grid-column: 1; }
  .import-row { grid-template-columns: minmax(0, 1fr) auto; }
  .import-row ul { grid-column: 1 / -1; }
  .import-clear { text-align: left; }
  .admin-actions { grid-template-columns: 1fr; }
  .admin-tool-group { grid-template-columns: 1fr; gap: 16px; }
  .active-move-in-list li { grid-template-columns: minmax(0, 1fr) auto; }
  .active-move-in-status { grid-column: 1; padding-left: 52px; }
  .active-move-in-list .button { grid-column: 2; grid-row: 1 / 3; }
  .packet-preparation > header { align-items: flex-start; flex-direction: column; gap: 10px; }
  .packet-preparation > header > strong { text-align: left; }
  .my-work-row { grid-template-columns: 130px minmax(0, 1fr); }
  .my-work-actions { grid-column: 2; align-items: flex-start; justify-content: flex-start; flex-direction: row; }
  .my-work-actions > .text-button { align-self: center; }
  .directory-heading { align-items: flex-start; flex-direction: column; justify-content: center; gap: 8px; }
  .directory-scope { text-align: left; }
  .directory-scope strong, .directory-scope span { display: inline; margin-right: 4px; }
  .directory-filter-controls { flex-wrap: wrap; }
  .directory-filters label { min-width: calc(50% - 8px); flex: 1; }
  .directory-advanced-filter-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .directory-results > header { align-items: flex-start; flex-direction: column; gap: 6px; }
  .directory-student-row { grid-template-columns: minmax(0, 1fr) minmax(150px, .7fr) auto; min-height: 150px; padding-block: 14px; }
  .directory-student-name { grid-column: 1 / 3; grid-row: 1; }
  .directory-case-manager { grid-column: 1 !important; grid-row: 2 !important; padding-left: 43px; }
  .directory-case-manager small { display: none; }
  .directory-current-work { grid-column: 1 !important; grid-row: 3 !important; padding-left: 43px; }
  .directory-next-date { grid-column: 2 !important; grid-row: 2 / 4 !important; align-self: start; padding-left: 0; }
  .directory-student-row > .attention { grid-column: 3; grid-row: 1; }
  .student-home-focus { grid-template-columns: 1fr; }
  .student-home-focus dl { grid-template-columns: 1fr 1fr; grid-template-rows: none; }
  .student-home-focus dl > div { border-right: 1px solid var(--line); border-bottom: 0; }
  .student-home-focus dl > div:last-child { border-right: 0; }
  .student-home-main-content { max-width: none; }
  .student-home-reference-grid { grid-template-columns: 1fr; }
  .student-home-reference-grid > .student-home-record, .student-home-reference-grid > .student-home-readonly-record { grid-column: auto; }
}

@media (max-width: 560px) {
  .calendar-heading { min-height: 0; }
  .district-setup-section form, .template-item-meta, .compact-fields, .meeting-defaults-review dl { grid-template-columns: minmax(0, 1fr); }
  .district-setup-section form > .button { width: 100%; justify-self: stretch; }
  .district-setup-section .checkbox-label { min-height: 44px; }
  .calendar-controls { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .calendar-controls .button { min-width: 0; padding-inline: 8px; }
  .calendar-filters { grid-template-columns: minmax(0, 1fr); }
  .calendar-agenda > header { align-items: flex-start; }
  .calendar-agenda-item { gap: 3px 8px; padding-inline: 10px; }
  .calendar-agenda-item > time { grid-column: 1 / -1; grid-row: 2; }
  .calendar-agenda-item > strong { grid-row: 3; margin-top: 2px; }
  .calendar-item-review { grid-row: 4; }
  .calendar-item-context { grid-row: 5; }
  .cycle-next-step { align-items: stretch; flex-direction: column; gap: 16px; }
  .cycle-next-step .button { width: 100%; }
  .active-cycle-tools > summary, .cycle-stage-disclosure > summary { align-items: flex-start; }
  .workflow-next-step, .workflow-outcome { align-items: stretch; flex-direction: column; gap: 16px; }
  .workflow-next-step > .button, .workflow-outcome > .button { width: 100%; }
  .workflow-secondary > summary { align-items: flex-start; }
  .intake-record > dl { grid-template-columns: 1fr; }
  .import-source-disclosure > summary, .correction-editor > summary { align-items: flex-start; }
  .deadline-preview-heading { align-items: flex-start; flex-direction: column; }
  .deadline-preview-heading p { text-align: left; }
  .deadline-date-change { grid-template-columns: 1fr; gap: 10px; }
  .deadline-date-change b { transform: rotate(90deg); justify-self: start; }
  .deadline-preview dl { grid-template-columns: 1fr; gap: 0; }
  .brand > span:last-child, .sidebar .nav-item.disabled { display: none; }
  .directory-filter-controls { display: grid; grid-template-columns: 1fr; }
  .directory-filters label { min-width: 100%; }
  .student-home-work-list li { align-items: flex-start; flex-direction: column; gap: 12px; }
  .student-home-work-list li .button { width: 100%; }
  .student-home-focus dl { grid-template-columns: 1fr; }
  .student-home-focus dl > div { border-right: 0; border-bottom: 1px solid var(--line); }
  .student-home-focus dl > div:last-child { border-bottom: 0; }
  .student-home-focus dd, .student-home-focus small { text-align: left; }
  .student-home-history > summary, .student-home-reference > summary { align-items: flex-start; flex-direction: column; gap: 6px; }
  .student-home-record-fields { grid-template-columns: 1fr; }
  .student-home-record-fields .span-2 { grid-column: auto; }
  .student-home-history ol li { grid-template-columns: 1fr; gap: 3px; }
  .topbar { align-items: flex-start; flex-direction: column; gap: 8px; padding: 12px 0; }
  .topbar-actions { width: 100%; min-width: 0; align-items: flex-start; flex-direction: column-reverse; gap: 4px; }
  .demo-note { max-width: 100%; text-align: left; }
  .page-heading { display: block; padding: 24px 0; }
  .page-heading .button { width: 100%; margin-top: 16px; }
  .admin-active-work-heading { display: block; }
  .admin-active-work-heading > strong { display: inline-block; margin-top: 12px; }
  .active-move-in-list li { grid-template-columns: 1fr; gap: 12px; }
  .active-move-in-status { grid-column: auto; padding-left: 0; }
  .active-move-in-list .button { grid-column: auto; grid-row: auto; justify-self: stretch; }
  .week-action-plan > header, .week-advanced-filters > summary { align-items: flex-start; flex-direction: column; gap: 8px; }
  .director-weekly-routine > ol { grid-template-columns: 1fr; }
  .director-weekly-routine > ol li, .director-weekly-routine > ol li:first-child, .director-weekly-routine > ol li:last-child { min-height: 68px; padding: 10px 0; border-right: 0; border-bottom: 1px solid oklch(0.78 0.055 250); }
  .director-weekly-routine > ol li:last-child { border-bottom: 0; }
  .director-weekly-routine > footer { align-items: stretch; flex-direction: column; }
  .week-search-control, .week-search-row .search-control { width: 100%; }
  .week-primary-action { grid-template-columns: 42px minmax(0, 1fr); }
  .weekly-meeting-action { grid-template-columns: 1fr; }
  .weekly-meeting-action > time { padding: 0 0 12px; border-right: 0; border-bottom: 1px solid var(--line); }
  .week-primary-action .button { grid-column: 1 / -1; width: 100%; }
  .packet-empty-actions { width: 100%; flex-direction: column; }
  .packet-empty-actions .button { width: 100%; }
  .filters label, .search-control { min-width: 100% !important; }
  .worklist-head { align-items: start; }
  .legend { display: none; }
  .schedule-group > header, .schedule-group > summary, .upcoming-preparation summary { align-items: flex-start; }
  .packet-readiness-summary { align-items: stretch; flex-direction: column; }
  .packet-readiness-summary dl { width: 100%; }
  .packet-readiness-summary dl div { flex: 1; padding: 8px 12px; border: 0; border-right: 1px solid oklch(0.7 0.08 75); }
  .packet-readiness-summary dl div:last-child { border-right: 0; }
  .focus-panel { display: block; }
  .student-panel { width: 100vw; }
  .field-grid { grid-template-columns: 1fr; }
  .student-panel dl > div { grid-template-columns: 1fr; gap: 4px; }
  .case-manager-assignment { align-items: stretch; flex-direction: column; }
  .case-manager-assignment .button { width: 100%; }
  .case-manager-assignment > small { max-width: none; text-align: left; }
  .stopped-cycle dl { grid-template-columns: 1fr; gap: 12px; }
  .packet-paper { margin-inline: -16px; border-inline: 0; }
  .packet-builder label, .packet-builder label:first-child, .packet-builder label:nth-child(2), .packet-builder label:nth-child(3) { width: 100%; }
  .packet-builder .button { flex: 1; }
  .packet-preparation-steps { grid-template-columns: 1fr; }
  .packet-preparation-step { border-right: 0; border-bottom: 1px solid var(--line); }
  .packet-preparation-step:last-child { border-bottom: 0; }
  .packet-meeting-settings, .packet-scope-options > div { grid-template-columns: 1fr; }
  .packet-scope-options > div label { width: 100%; }
  .packet-secondary-tools > div { align-items: flex-start; flex-direction: column; }
  .meeting-secondary-section > summary { align-items: flex-start; flex-direction: column; gap: 4px; }
  .meeting-secondary-section > summary em { text-align: left; }
  .my-work-heading { align-items: flex-start; flex-direction: column; justify-content: center; gap: 14px; padding-block: 22px; }
  .my-work-summary { min-width: 0; padding: 0; border-left: 0; text-align: left; }
  .my-work-section > header { align-items: flex-start; flex-direction: column; gap: 8px; }
  .my-work-row { grid-template-columns: 1fr; gap: 14px; padding-inline: 0; }
  .my-work-row.next, .my-work-row.highlighted { margin-inline: -16px; padding-inline: 16px; }
  .my-work-actions { grid-column: 1; align-items: stretch; flex-direction: column; }
  .my-work-actions form { align-items: stretch; flex-direction: column; }
  .my-work-actions form .button, .my-work-actions > .button { width: 100%; }
  .my-work-actions > .text-button { align-self: flex-start; padding-left: 0; }
  .my-work-scheduling-context { max-width: none; }
  .my-work-completion-receipt { align-items: stretch; flex-direction: column; }
  .my-work-completion-receipt .button { width: 100%; }
  .my-work-caught-up { grid-template-columns: auto minmax(0, 1fr); }
  .my-work-caught-up .button { grid-column: 2; justify-self: start; }
  .packet-add-student { align-items: stretch; flex-direction: column; }
  .packet-document { margin-inline: -16px; padding: 24px 16px; border-inline: 0; }
  .packet-document-header { grid-template-columns: 1fr; }
  .packet-document-header > strong { display: none; }
  .team-meeting-date { grid-column: 1; padding-left: 12px; }
  .packet-entry-heading { grid-template-columns: 28px 1fr auto; }
  .packet-entry-heading .packet-date-priority, .packet-entry-heading .packet-entry-statuses { grid-column: 2 / -1; grid-row: auto; }
  .packet-entry-heading .packet-order-controls { grid-column: 2 / -1; }
  .packet-entry-body, .discussion-context, .working-notes, .workspace-date-row, .previous-meeting-update, .testing-assignments, .packet-preparation-notes { margin-left: 0; padding-left: 0; }
  .add-testing-task { grid-template-columns: 1fr; }
  .add-testing-task .assignment-detail { grid-column: auto; }
  .packet-progress-form, .packet-progress-readonly { margin-left: 0; }
  .packet-progress-form > header, .packet-progress-form footer, .demo-rehearsal-status, .meeting-progress-summary { align-items: stretch; flex-direction: column; }
  .meeting-progress-summary dl { width: 100%; }
  .meeting-progress-summary dl div { flex: 1; padding-inline: 10px; }
  .packet-facts { grid-template-columns: 1fr 1fr; }
  .packet-facts > div:last-child { grid-column: 1 / -1; }
  .working-notes { grid-template-columns: 1fr; }
  .heading-actions { justify-content: stretch; }
  .heading-actions .button { flex: 1; }
  .packet-paper > header { display: block; }
  .packet-paper header > strong { display: none; }
  .cycle-heading { padding: 24px 0; }
  .cycle-status { grid-template-columns: 1fr; }
  .cycle-status > div, .cycle-status > div:first-child { min-height: auto; padding: 16px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .cycle-status > div:last-child { grid-column: auto; border-top: 0; }
  .cycle-alignment dl { grid-template-columns: 1fr; }
  .review-cycle-stages { grid-template-columns: 1fr 1fr; }
  .review-cycle-stages li:nth-child(2) { border-right: 0; }
  .review-cycle-stages li:nth-child(-n + 2) { border-bottom: 1px solid var(--line); }
  .meeting-form { width: 100%; align-items: stretch; flex-direction: column; }
  .meeting-record dl, .inline-action-form, .session-form { grid-template-columns: 1fr; }
  .inline-action-form > div { justify-content: flex-end; }
  .section-heading { align-items: start; }
  .preparation-item { align-items: flex-start; }
  .compact-fields { grid-template-columns: 1fr; }
  .template-item-meta, .deferral-control form { grid-template-columns: 1fr; }
  .deferral-summary, .deferral-history { margin-left: 0; }
  .closure-stages { grid-template-columns: 1fr; }
  .closure-stages li { border-right: 0; border-bottom: 1px solid var(--line); }
  .closure-stages li:last-child { border-bottom: 0; }
  .closure-field-grid, .closure-summary, .completed-cycle dl { grid-template-columns: 1fr; }
  .record-confirmation { grid-template-columns: 28px 1fr; }
  .record-confirmation label { grid-template-columns: 1fr; gap: 8px; }
  .record-confirmation .button { grid-column: 2; justify-self: start; }
  .completion-control { align-items: stretch; flex-direction: column; }
  .completed-cycle { grid-template-columns: 1fr; padding: 24px; }
  .intake-heading, .support-heading { padding: 24px 0; }
  .team-heading { padding: 24px 0; }
  .assignment-list.readonly article { grid-template-columns: 1fr; }
  .assignment-selection-tools { align-items: flex-start; flex-direction: column; }
  .reassignment-confirmation { padding: 18px 16px; }
  .reassignment-sentence, .reassignment-confirmation ul, .reassignment-impact, .confirmation-actions { margin-left: 0; }
  .assignment-search, .reassignment-caseload-impact { margin-left: 0; }
  .reassignment-confirmation ul { grid-template-columns: 1fr; }
  .confirmation-actions { align-items: stretch; flex-direction: column-reverse; }
  .confirmation-actions .button { width: 100%; }
  .assignment-list > [data-assignment-student-name] { grid-template-columns: 24px 1fr; padding: 12px 0; }
  .assignment-list > [data-assignment-student-name] > span:last-child { grid-column: 2; }
  .reassignment-actions { align-items: stretch; flex-direction: column; }
  .student-panel form > .student-priority { grid-template-columns: 1fr; gap: 16px; }
  .focused-assignment-student dl { padding-left: 0; }
  .focused-assignment-student dl > div { grid-template-columns: 1fr; gap: 3px; padding: 7px 0; }
  .focused-impact { margin-left: 0; }
  .focused-reassignment-result > div { align-items: stretch; flex-direction: column; }
  .intake-fields, .intake-detail dl, .intake-status { grid-template-columns: 1fr; }
  .intake-fields .span-2 { grid-column: auto; }
  .inline-check { grid-template-columns: 1fr; }
  .intake-status > div, .intake-status > div:first-child { min-height: auto; padding: 16px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .intake-actions .button { flex: 1; }
  .support-fields.two-column, .support-detail dl, .support-status { grid-template-columns: 1fr; }
  .support-fields .span-2 { grid-column: auto; }
  .support-student-choice > fieldset, .support-new-student-fields, .support-follow-up-form, .intake-coordination form { grid-template-columns: 1fr; }
  .support-new-student-fields .span-2, .support-follow-up-form .span-2, .intake-coordination form .span-2 { grid-column: auto; }
  .intake-path-editor > form { grid-template-columns: 1fr; align-items: stretch; }
  .intake-path-editor > form .button { width: 100%; }
  .support-observations li > div { align-items: flex-start; flex-direction: column; gap: 2px; }
  .support-status > div, .support-status > div:first-child { min-height: auto; padding: 16px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .support-actions .button { flex: 1; }
  .transition-confirmation > div { align-items: stretch; flex-direction: column-reverse; }
  .transition-confirmation .button { width: 100%; }
  .notification-heading { min-height: 132px; }
  .notification-inbox > header { align-items: start; }
  .notification-settings form { grid-template-columns: 1fr; align-items: stretch; }
  .notification-settings form .button { width: 100%; }
  .notification-heading { align-items: flex-start; flex-direction: column; gap: 10px; padding-block: 20px; }
  .notification-heading > div:last-child { min-width: 0; text-align: left; }
  .notification-heading > div:last-child strong, .notification-heading > div:last-child span { display: inline; margin-right: 4px; }
  .notification-list li { grid-template-columns: 8px minmax(0, 1fr); }
  .notification-actions { grid-column: 2; justify-content: flex-start; flex-wrap: wrap; margin-left: -8px; }
  .notification-result { align-items: stretch; flex-direction: column; }
  .audit-event-heading { align-items: start; flex-direction: column; gap: 3px; }
  .audit-heading .button { width: 100%; }
  .import-mapping dl { grid-template-columns: 1fr; }
  .import-summary div { min-width: 0; flex: 1; padding: 14px 10px; }
  .import-row-tools { grid-template-columns: 1fr; align-items: stretch; }
  .import-row-tools > strong { min-height: auto; }
  .import-row { grid-template-columns: 1fr; gap: 10px; }
  .import-row ul, .import-row-editor, .import-warning-review { grid-column: 1; }
  .import-row-editor { display: grid; }
  .import-row-editor label { min-width: 0; }
  .import-exclude { justify-self: start; }
  .import-commit, .correction-actions { align-items: stretch; flex-direction: column; }
  .correction-fields { grid-template-columns: 1fr; }
  .correction-fields .span-2 { grid-column: auto; }
  .deadline-preview dl div { grid-template-columns: 1fr; gap: 3px; }
}

@media (max-width: 360px) {
  .nav-item { min-width: 44px; padding-inline: 3px; }
  .nav-item::after { font-size: 10px; }
  .topbar { flex-direction: column; gap: 10px; }
  .topbar-actions { width: 100%; align-items: flex-start; }
  .demo-note { max-width: none; text-align: left; }
  .student-row { grid-template-columns: minmax(0, 1fr); }
  .student-row > .attention { display: none; }
  .student-cycle, .student-action { padding-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

@media print {
  .skip-link, .sidebar, .topbar, .page-heading, .student-panel, .back-button, .meeting-form, .cycle-tools, .scope-guide, .deferral-control, .cycle-alignment .button, .cycle-source .button, .packet-controls, .packet-order-controls, .packet-removal, .packet-exclusions, .packet-progress-form, .packet-scheduling-path, .packet-open-workspace, .testing-assignments form, .packet-preparation-notes form, .print-page-footer, .reconciliation-form, .official-record-form, .record-confirmation.pending, .completion-control, .intake-actions, .intake-detail.path .button, .support-actions, .support-transition form, .support-transition .button, .run-meeting-header, .run-meeting-layout { display: none !important; }
  .app-shell { display: block; }
  main { padding: 0; }
  .cycle-layout { display: block; }
  .packet-paper { max-width: none; margin: 0; padding: 0; border: 0; }
  .packet-document { max-width: none; margin: 0; padding: 0; border: 0; }
  .packet-document-header, .packet-readiness-summary, .meeting-progress-summary, .packet-summary, .upcoming-annual-preparation, .packet-discussions, .packet-confidentiality { display: none !important; }
  .print-packet-sheets { --ink: #202124; --muted: #474a50; --line: #92969d; --surface: #f3f4f5; display: block; color: var(--ink); font-size: 10pt; line-height: 1.22; font-kerning: normal; }
  .print-work-group > header, .print-watch-section > header { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; break-after: avoid; padding: 5px 0 4px; border-bottom: 1px solid var(--ink); }
  .print-work-group > header h2, .print-watch-section > header h2 { margin: 0; font-size: 10pt; line-height: 1.15; font-weight: 700; }
  .print-work-group > header p, .print-watch-section > header p { margin: 0; color: var(--muted); font-size: 9pt; line-height: 1.15; }
  .print-working-sheet { min-height: 4.18in; box-sizing: border-box; display: flex; flex-direction: column; gap: 3px; break-inside: avoid; padding: .05in 0; border-bottom: 1px solid var(--ink); color: var(--ink); }
  .print-student-header { display: grid; grid-template-columns: 22px minmax(180px, 1fr) auto auto; align-items: center; gap: 8px; padding-bottom: 5px; border-bottom: 2px solid var(--ink); }
  .print-student-header > span { width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; background: var(--ink); color: white; font-size: 9pt; font-weight: 700; }
  .print-student-header h3 { margin: 0; font-size: 13pt; line-height: 1.1; white-space: normal; overflow-wrap: anywhere; }
  .print-student-header p { margin: 1px 0 0; color: var(--muted); font-size: 9pt; line-height: 1.15; }
  .print-student-header > b { padding: 2px 4px; border: 1px solid var(--line); font-size: 9pt; line-height: 1.1; font-weight: 600; white-space: nowrap; }
  .print-student-dates { min-width: 112px; text-align: right; }
  .print-student-dates strong, .print-student-dates span { display: block; }
  .print-student-dates strong { font-size: 10.5pt; line-height: 1.1; font-weight: 700; font-variant-numeric: tabular-nums; }
  .print-student-dates span { margin-top: 1px; color: var(--muted); font-size: 9pt; line-height: 1.1; font-variant-numeric: tabular-nums; }
  .print-meeting-context { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2px 10px; color: var(--muted); font-size: 9pt; line-height: 1.15; font-weight: 600; font-variant-numeric: tabular-nums; }
  .print-reference-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
  .print-reference-grid > div { min-height: .82in; padding: 6px 7px; background: var(--surface); }
  .print-reference-grid h4, .print-coordination-row h4 { margin: 0 0 2px; font-size: 9pt; line-height: 1.15; font-weight: 600; }
  .print-reference-grid p { margin: 0 0 2px; font-size: 10pt; line-height: 1.2; }
  .print-reference-grid small { display: block; color: var(--muted); font-size: 9pt; line-height: 1.15; }
  .print-coordination-row { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
  .print-coordination-row > div { min-height: .48in; padding: 5px 7px; border: 1px solid var(--line); }
  .print-coordination-row > div:only-child { grid-column: 1 / -1; }
  .print-coordination-row ul { display: grid; grid-template-columns: 1fr 1fr; gap: 2px 8px; margin: 0; padding: 0; list-style: none; }
  .print-coordination-row li strong { display: block; font-size: 9pt; line-height: 1.15; font-weight: 600; }
  .print-coordination-row li span { display: block; font-size: 9pt; line-height: 1.15; }
  .print-coordination-row li span, .print-coordination-row small { color: var(--muted); }
  .print-coordination-row p { margin: 0; font-size: 10pt; line-height: 1.2; }
  .print-note-bullets { flex: 1; display: grid; align-content: stretch; margin: 0; padding: 5px 7px; border: 1px solid var(--ink); list-style: none; }
  .print-note-bullets li { min-height: .26in; display: grid; grid-template-columns: 1.05in minmax(0, 1fr); align-items: end; gap: 7px; padding: 2px 0; }
  .print-note-bullets strong { font-size: 9pt; line-height: 1.15; font-weight: 600; white-space: nowrap; }
  .print-note-bullets span { min-height: 13px; border-bottom: 1px solid var(--line); font-size: 10pt; line-height: 1.15; white-space: pre-wrap; }
  .print-watch-section { padding-top: 6px; }
  .print-watch-row { min-height: 1.42in; break-inside: avoid; padding: 8px 0; border-bottom: 1px solid var(--ink); }
  .print-watch-row > header { display: flex; justify-content: space-between; gap: 12px; }
  .print-watch-row h3 { margin: 0; font-size: 11pt; line-height: 1.15; }
  .print-watch-row header p, .print-watch-row header span { margin: 2px 0 0; color: var(--muted); font-size: 9pt; line-height: 1.15; }
  .print-watch-row header > div:last-child { text-align: right; font-variant-numeric: tabular-nums; }
  .print-watch-row header strong { display: block; font-size: 9pt; line-height: 1.2; }
  .print-watch-row > p { margin: 5px 0; font-size: 10pt; line-height: 1.2; }
  .print-watch-row ul { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 0; padding: 0; list-style: none; }
  .print-watch-row li { display: grid; gap: 4px; }
  .print-watch-row li strong { font-size: 9pt; line-height: 1.15; font-weight: 600; }
  .print-watch-row li span { height: .32in; border: 1px solid var(--line); }
  .packet-document-header { padding-bottom: 12px; }
  .packet-document-header p { font-size: 11px; }
  .packet-document-header { grid-template-columns: 1.8fr 1.2fr auto; gap: 14px; }
  .packet-document-header h2 { font-size: 18px; white-space: nowrap; }
  .team-meeting-date strong { font-size: 15px; }
  .packet-readiness-summary { min-height: 54px; margin-top: 10px; padding: 8px 10px; }
  .packet-readiness-summary strong { font-size: 11px; }
  .packet-readiness-summary p, .packet-readiness-summary dt { font-size: 9px; }
  .packet-readiness-summary dd { font-size: 14px; }
  .meeting-progress-summary { min-height: 54px; padding: 8px 0; }
  .meeting-progress-summary > div strong { font-size: 13px; }
  .meeting-progress-summary dd { font-size: 13px; }
  .packet-section-heading { padding-top: 12px; }
  .packet-section-heading p { font-size: 11px; }
  .packet-summary-entry { break-inside: avoid; padding: 10px 0; }
  .packet-entry-heading { grid-template-columns: 24px 1fr 170px auto; }
  .packet-entry-heading h3 { font-size: 14px; }
  .packet-order-controls { display: none; }
  .packet-date-priority { min-width: 0; padding: 6px 8px; }
  .packet-date-priority strong { font-size: 11px; }
  .packet-date-priority span, .packet-date-priority small { font-size: 8px; }
  .packet-entry-heading p, .packet-readiness { font-size: 10px; }
  .packet-facts dt, .packet-actions dt { font-size: 9px; }
  .packet-facts dd, .packet-actions dd { font-size: 10px; }
  .packet-inclusion-reasons { gap: 1px; }
  .packet-inclusion-reasons li { padding-left: 8px; font-size: 9px; line-height: 1.25; }
  .packet-inclusion-reasons li::before { width: 3px; height: 3px; }
  .packet-entry-body { padding-top: 8px; gap: 16px; }
  .packet-discussions { break-before: page; }
  .packet-discussions > .packet-section-heading { display: none; }
  .packet-workspace-panel.inactive, .packet-workspace-panel.active { display: block; }
  .packet-discussion { break-before: page; break-inside: avoid; padding: 0; border-bottom: 0; }
  .packet-discussion h3 { font-size: 16px; }
  .packet-discussion header p { font-size: 10px; }
  .packet-discussion header strong { font-size: 11px; }
  .packet-discussion:first-of-type { break-before: auto; }
  .packet-discussions .packet-section-heading { break-after: avoid; }
  .discussion-context { margin-top: 12px; }
  .discussion-context h4, .working-notes h4 { font-size: 10px; }
  .discussion-context p { font-size: 11px; }
  .discussion-context dt { font-size: 9px; }
  .discussion-context dd { font-size: 10px; }
  .previous-meeting-update.empty, .testing-assignments.empty, .packet-preparation-notes.empty { display: none; }
  .previous-meeting-update, .testing-assignments, .packet-preparation-notes, .workspace-date-row { margin: 8px 0 0 40px; padding: 8px; }
  .previous-meeting-update p, .packet-preparation-notes li p { font-size: 10px; }
  .testing-assignments li { padding: 6px 0; }
  .packet-progress-form + .working-notes { display: grid; }
  .packet-progress-readonly { margin-top: 10px; font-size: 9px; }
  .working-notes { grid-template-columns: 1fr 1fr; margin-top: 12px; }
  .packet-document:not(.snapshot-document) .working-notes { display: grid; }
  .working-notes > div { min-height: 1.35in; }
  .working-notes span { height: 1.02in; }
  .recorded-working-value { font-size: 10px; }
  .print-entry-context { display: block; margin-bottom: 8px; padding-bottom: 4px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 8px; text-align: right; }
  .packet-confidentiality { break-inside: avoid; }
  @page { size: letter; margin: .4in .46in; }
}
