@font-face{font-family:pretendard;src:url(/_next/static/media/ff840cfebfb63b0c-s.p.woff2) format("woff2");font-display:swap;font-weight:45 920}@font-face{font-family:pretendard Fallback;src:local("Arial");ascent-override:93.76%;descent-override:23.75%;line-gap-override:0.00%;size-adjust:101.55%}.__className_fde3a9{font-family:pretendard,pretendard Fallback}.__variable_fde3a9{--font-pretendard:"pretendard","pretendard Fallback"}.teacher-work .home-class-column{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start}@media(max-width:700px){.teacher-work .home-class-column{grid-template-columns:1fr}}.home-work-jumps a>svg{flex-shrink:0;color:var(--action)}.home-work-jumps a[href="#work-leads"]>svg{color:var(--chart-4)}.home-work-jumps a[href="#work-unpaid"]>svg{color:var(--danger)}.home-work-jumps a[href="#work-makeup"]>svg{color:var(--chart-3)}.home-section-heading h3{display:flex;align-items:center;gap:12px}.home-section-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:var(--action-soft);color:var(--action);flex-shrink:0}#work-leads .home-section-icon{color:var(--chart-4);background:var(--soft)}#work-unpaid .home-section-icon{color:var(--danger);background:var(--danger-soft)}#work-makeup .home-section-icon{color:var(--chart-3);background:var(--soft)}.home-attendance-progress{margin-top:10px;max-width:330px}.home-attendance-progress [role=progressbar]{height:7px;border-radius:4px;background:var(--line);overflow:hidden}.home-attendance-progress [role=progressbar]>span{display:block;height:100%;background:var(--action);border-radius:4px}.home-attendance-progress small{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-top:6px}.today-work .home-attendance-progress small strong{font-size:12px;color:var(--action);font-weight:600}.home-makeup-states{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;padding:16px 0;margin:0;border-bottom:1px solid var(--line)}.home-makeup-states li{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}.home-makeup-states svg{flex-shrink:0;color:var(--chart-3)}.home-makeup-states strong{display:block;color:var(--ink);font-size:18px;margin-top:5px}.today-work .empty>svg{vertical-align:middle;margin-right:8px;color:var(--action)}@media(max-width:700px){.home-section-icon{width:34px;height:34px}.home-makeup-states{gap:8px}.home-makeup-states li{flex-direction:column;align-items:flex-start;gap:6px}.home-makeup-states strong{font-size:17px}}.today-work{display:grid;gap:20px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.today-work>[role=status]:empty{display:none}.home-work-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.home-work-heading h2{font-size:30px;line-height:1.3;letter-spacing:-.02em;margin:0}.home-work-heading time{font-size:14px;color:var(--muted)}.home-work-jumps{display:flex;flex-wrap:wrap;gap:10px}.home-work-jumps a{display:flex;align-items:center;gap:10px;min-height:48px;padding:12px 16px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:14px;text-decoration:none;color:var(--ink);touch-action:manipulation}.home-work-jumps a:hover{background:var(--action-soft);border-color:var(--action);color:var(--action)}.home-work-jumps a:focus-visible{outline:2px solid var(--action);outline-offset:3px}.home-work-jumps a:active{background:var(--action-soft)}.home-work-jumps a>span{line-height:1.5}.home-work-jumps strong{color:var(--action);font-size:inherit;font-weight:700;white-space:nowrap}.home-work-columns{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:32px;align-items:start}.home-work-column{display:flex;flex-direction:column;gap:20px;min-width:0}.home-work-columns.teacher-work{grid-template-columns:1fr}.teacher-work .home-followup-column{display:none}.today-work .work-section{padding:0;min-width:0;margin:0;scroll-margin-top:calc(var(--workspace-header-offset) + 16px)}.home-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid var(--line)}.home-section-heading h3{font-size:18px;line-height:1.4;margin:0}.home-section-heading .pill{background:var(--action-soft);color:var(--action);font-size:13px;font-weight:650}.today-work .work-body{padding:4px 22px 12px}.today-work .work-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}.today-work .work-row:last-child{border-bottom:0}.today-work .work-row>div:first-child{flex:1 1;min-width:0}.today-work .work-row strong{font-size:16px;font-weight:650;line-height:1.5;overflow-wrap:anywhere}.today-work .work-row p{margin:5px 0 0;font-size:14px;line-height:1.65;color:var(--muted);overflow-wrap:anywhere}.today-work .work-row button{font-size:14px;min-height:44px;white-space:nowrap;padding:10px 14px;background:var(--action-soft);color:var(--action);border:1px solid var(--action-soft);flex-shrink:0}.today-work .work-row button:hover:not(:disabled){background:var(--action);border-color:var(--action);color:var(--surface)}.today-work .work-row button.work-secondary{background:var(--surface);color:var(--muted);border-color:var(--line)}.today-work .work-row button.work-secondary:hover:not(:disabled){background:var(--soft);color:var(--ink);border-color:var(--input-border)}.work-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;flex-shrink:0}.today-work .work-row .work-overdue{color:var(--danger)}.today-work .work-amount{display:block;color:var(--danger);font-size:18px;margin-top:4px}.today-work .work-body>.hint{font-size:13px;line-height:1.65;color:var(--muted);margin:12px 0 0}.today-work .empty{font-size:14px;color:var(--muted);line-height:1.65;padding:18px 0;margin:0}.today-work details{border-top:1px solid var(--line);margin-top:4px}.today-work summary{cursor:pointer;padding:12px 0;min-height:44px;font-size:14px;color:var(--muted)}.today-work details .hint{font-size:13px;line-height:1.7;margin:0 0 12px;color:var(--muted)}.today-work .work-row form{margin-top:14px}.today-work .work-row form label{display:grid;gap:8px;font-size:14px}.today-work .work-row form input{width:100%;min-width:0}.today-work .work-row .dialog-actions{justify-content:flex-start;flex-wrap:wrap;gap:8px}.today-work .work-row .dialog-actions button{padding:10px 12px}@media(max-width:1100px){.today-work .work-row{gap:12px}.today-work .work-actions{flex-direction:column}.home-work-jumps{gap:10px}}@media(max-width:700px){.today-work{gap:16px}.home-work-heading h2{font-size:22px}.home-work-heading time{font-size:13px}.home-work-jumps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.home-work-jumps a{justify-content:flex-start;gap:8px;padding:12px 10px;font-size:13px}.home-work-columns{grid-template-columns:1fr;gap:16px}.home-work-column{gap:16px}.home-section-heading{padding:16px}.today-work .work-body{padding:4px 16px 10px}.today-work .work-row{gap:10px}.today-work .work-row strong{font-size:15px}.today-work .work-row p{font-size:13px}.today-work .work-row button{padding:10px;font-size:13px}.today-work .work-actions{gap:8px}}.home-work-date{display:flex;align-items:center;gap:14px;padding:8px 0;white-space:nowrap}.home-work-date>span:first-child{color:var(--ink);font-size:15px}.home-work-date b{font-size:32px;font-weight:650;letter-spacing:-.03em}.home-work-date>span+span{padding-left:14px;border-left:1px solid var(--line)}.today-work #work-attendance .home-section-heading{background:var(--action-soft);border-radius:15px 15px 0 0}.today-work .work-section{border-radius:16px}.today-work .home-session-row{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:16px;padding:22px 0}.today-work .home-session-time{align-self:start;display:flex;flex-direction:column;gap:5px;padding-top:2px}.home-session-time>span{font-size:18px;font-weight:650;color:var(--action);line-height:1.4}.home-session-time small{font-size:12px;color:var(--muted)}.home-session-content{min-width:0}.today-work .home-session-row button{background:var(--action);color:var(--surface);border-color:var(--action)}.today-work .home-session-row button:hover:not(:disabled){background:var(--action-hover)}.home-followup-column .work-section{background:transparent;border:0;border-radius:0}.home-followup-column .home-section-heading{padding:18px 0;border-bottom:1px solid var(--line)}.home-followup-column .home-section-heading h3{font-size:17px}.home-followup-column .home-section-icon{width:30px;height:30px;background:transparent}.home-followup-column .work-body{padding:4px 0 12px}.home-followup-column .work-row{padding:20px 0}.today-work .work-amount{font-size:24px;line-height:1.4;letter-spacing:-.02em;margin-top:8px}@media(max-width:1100px){.home-work-columns{gap:24px}.today-work .home-session-row{grid-template-columns:56px minmax(0,1fr) auto;gap:12px}}@media(max-width:700px){.home-work-heading h2{font-size:26px}.home-work-date{gap:8px}.home-work-date b{font-size:26px}.home-work-date>span:first-child{font-size:13px}.home-work-date>span+span{padding-left:8px}.home-work-columns{gap:24px}.today-work .home-session-row{grid-template-columns:50px minmax(0,1fr) auto;gap:10px;padding:20px 0}.home-session-time>span{font-size:16px}.home-followup-column .home-section-heading{padding:12px 0}.home-followup-column .work-body{padding:4px 0 8px}}.closing-alerts{margin:20px 0;padding:16px;background:var(--soft);border-radius:var(--radius-sm);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.closing-file{margin:16px 0;padding:12px 0;border-block:1px solid var(--line)}.closing-file summary{min-height:44px;padding:12px 0;cursor:pointer}.closing-file label{display:grid;gap:8px}.closing-file input{width:100%;min-width:0}.closing-alerts.has-differences{background:var(--danger-soft)}.closing-alerts>p{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0;line-height:1.6}.closing-alerts svg,.expense-overview .distribution-label>svg,.expense-overview th button>svg{color:var(--danger);flex-shrink:0;vertical-align:middle}.closing-alerts>p>strong{color:var(--danger)}.closing-alerts summary{min-height:44px;padding:12px 0;cursor:pointer}.closing-alerts table td,.closing-alerts table th{white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.closing-alerts tbody th svg{margin-right:6px}.closing-alerts li{line-height:1.7;overflow-wrap:anywhere}.expense-overview{margin:28px 0;padding:24px 0;border-block:1px solid var(--line);min-width:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.expense-overview>.chart-section-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px}.expense-overview .chart-view-toggle{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:312px;max-width:100%}.expense-overview .chart-view-toggle button{min-height:44px;width:100%;padding:10px 12px;font-size:13px;line-height:1.4}.workspace .expense-summary-table{width:100%;table-layout:fixed}.workspace .expense-summary-table th:first-child{width:36%}.workspace .expense-summary-table th:nth-child(2){width:32%}.workspace .expense-summary-table th:nth-child(3),.workspace .expense-summary-table th:nth-child(4){width:16%}.workspace .expense-summary-table td,.workspace .expense-summary-table th{padding:2px 12px;text-align:right}.workspace .expense-summary-table thead th{padding-block:10px}.workspace .expense-summary-table th:first-child{padding-left:12px;text-align:left}.expense-summary-table tbody th{background:var(--surface);color:var(--ink)}.expense-summary-table tbody tr:hover td,.expense-summary-table tbody tr:hover th{background:var(--action-soft)}.expense-summary-table th button{border:0;background:transparent;color:var(--action);padding:6px 0;text-align:left;white-space:normal}.workspace .expense-detail-table td,.workspace .expense-detail-table th{text-align:left;vertical-align:top}.workspace .expense-detail-table td:last-child,.workspace .expense-detail-table th:last-child{text-align:right;white-space:nowrap}.workspace .closing-panel>.book-toolbar{align-items:flex-end}.closing-date-navigation>button,.workspace .closing-panel>.book-toolbar>button{min-height:50px}.closing-date-navigation input,.closing-panel>.book-toolbar input[type=month]{height:50px}.expense-overview .distribution-legend{max-height:none;overflow:visible;padding-right:16px}.expense-overview .distribution-value{flex-wrap:wrap;justify-content:flex-end}.expense-overview .distribution-chart figcaption{font-size:14px}.expense-overview .distribution-total{font-size:16px}.expense-overview .hint svg{flex-shrink:0}.expense-overview .table-wrap td{white-space:nowrap}.expense-overview .table-wrap .ledger-description{white-space:normal}.expense-overview th button{display:inline-flex;align-items:center;gap:8px;min-height:44px}.expense-detail{padding-top:20px;margin-top:20px;border-top:1px solid var(--line)}.expense-detail h4{font-size:16px;scroll-margin-top:calc(var(--workspace-header-offset) + 16px)}@media(max-width:640px){.expense-overview>.chart-section-heading{grid-template-columns:minmax(0,1fr);gap:12px}.expense-overview .chart-view-toggle{width:100%}.expense-overview .distribution-legend button{flex-direction:column;align-items:stretch;gap:4px}.expense-overview .distribution-value{justify-content:space-between;flex-wrap:nowrap;width:100%}.workspace .expense-summary-table td,.workspace .expense-summary-table th{padding:2px 6px;font-size:13px}.workspace .expense-summary-table thead th{padding-block:10px;font-size:12px}.workspace .expense-summary-table th:first-child{width:31%;padding-left:6px}.workspace .expense-summary-table th:nth-child(2){width:37%}.workspace .expense-summary-table tr>:last-child{padding-right:14px}.workspace .expense-summary-table th button{font-size:13px;gap:4px}}.attendance-file{margin-top:24px;padding-top:24px;border-top:1px solid var(--line);min-width:0}.attendance-file label{display:grid;gap:8px}.attendance-file input{width:100%;min-width:0;min-height:44px}.attendance-file summary{cursor:pointer;min-height:44px;padding:12px 0}.attendance-file li,.attendance-file p{overflow-wrap:anywhere}.attendance-file button{min-height:44px}:root{--ink:#171717;--muted:#616161;--accent:#3a83f7;--primary:#2872e3;--primary-hover:#1b5fd1;--action:#1b5fd1;--action-hover:#174fb0;--action-soft:#f3f2ef;--workspace-header-offset:84px;--surface:#ffffff;--bg:#fafafa;--soft:#f2f2f2;--line:#e5e5e5;--input-border:#cccccc;--sidebar:#202020;--charcoal:#303030;--dark-hover:#363636;--dark-border:#404040;--on-dark-muted:#cccccc;--danger:#b91c28;--danger-soft:#fff0f1;--text-xs:12px;--text-sm:14px;--text-base:16px;--radius-sm:8px;--radius:12px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px}*{box-sizing:border-box}.shell [hidden]{display:none!important}html{scroll-padding-top:var(--workspace-header-offset)}.shell :where(h2,h3,[tabindex],input,select,textarea,button){scroll-margin-top:var(--workspace-header-offset)}select,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--input-border);border-radius:var(--radius-sm);padding:10px;width:100%;min-height:46px}:where(select,textarea):focus-visible{outline:3px solid var(--primary);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.book-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin-bottom:20px}.book-toolbar label{font-size:14px;display:grid;gap:6px;flex:1 1;min-width:130px}.book-toolbar label:first-child{flex:2 1}.book-heading,.book-summary,.month-controls,.view-switch{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.book-heading{justify-content:space-between;margin:24px 0 16px}.month-controls h2{margin:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.view-switch button[aria-pressed=true]{background:var(--charcoal);color:var(--surface)}.book-summary{justify-content:space-between;font-size:14px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.book-summary span{display:flex;align-items:center;gap:8px}.save-message{font-size:14px;color:var(--muted);margin:16px 0;min-height:24px}.month-book{max-height:65vh;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.month-book table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%}.month-book td,.month-book th{padding:3px;text-align:center;border-right:1px solid var(--line)}.month-book thead th{position:sticky;top:0;z-index:3}.month-book thead button{padding:4px;display:flex;flex-direction:column;gap:0;background:transparent;border:0}.month-book .student-col{position:sticky;left:0;min-width:172px;width:172px;max-width:172px;background:var(--surface);z-index:2;text-align:left;padding:10px}.month-book .student-col small{display:block;white-space:normal;margin-top:4px;font-size:12px;font-weight:400}.month-book .slot-col{position:sticky;left:172px;background:var(--soft);z-index:2;min-width:74px;max-width:120px;white-space:normal}.month-book thead .slot-col,.month-book thead .student-col{z-index:4;background:var(--soft)}.attendance-cell{border-color:transparent;border-radius:5px;padding:4px;position:relative;font-size:13px;min-width:44px;min-height:44px}.attendance-cell.present{font-weight:700;background:var(--soft)}.attendance-cell.absent,.attendance-cell.noshow,.attendance-cell.sick{background:var(--danger-soft);color:var(--danger)}.attendance-cell.competition,.attendance-cell.early,.attendance-cell.exam,.attendance-cell.late,.attendance-cell.makeup{border:1px solid var(--charcoal);font-weight:600}.attendance-cell:disabled{opacity:1;color:var(--muted);background:var(--soft);font-size:12px}.reason-dot{position:absolute;right:3px;top:3px;border-radius:50%;width:4px;height:4px;background:currentColor}.no-session{color:var(--muted);display:inline-block;width:44px}.month-book .today-col{background:var(--danger-soft)}.attendance-legend{display:flex;flex-wrap:wrap;gap:10px 18px;font-size:12px;color:var(--muted);padding:20px 0}.attendance-legend b{color:var(--ink);margin-right:5px}.day-navigation{display:flex;align-items:end;gap:8px;margin-bottom:16px}.day-navigation .day-picker{margin-bottom:0;min-width:0}.day-navigation button{min-width:44px}.closing-date-navigation{width:100%;max-width:340px;min-width:0;margin-bottom:0}.closing-date-navigation .day-picker{flex:1 1;min-width:0}.closing-date-navigation input{width:100%;min-width:0}.attendance-book button{min-height:44px;touch-action:manipulation}.quick-name{overflow-wrap:anywhere;min-width:0;max-width:100%}.attendance-dialog{overscroll-behavior:contain}.day-picker{display:grid;gap:6px;max-width:220px;margin-bottom:16px;font-size:14px}.day-sessions{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.day-student{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:12px 0}.day-student small{display:block;font-size:12px}.attendance-dialog{border:1px solid var(--line);border-radius:var(--radius);padding:24px;width:min(460px,calc(100vw - 32px));max-height:90dvh;overflow:auto;color:var(--ink)}.attendance-dialog::backdrop{background:#0008}.attendance-dialog label{display:grid;gap:6px;margin:16px 0;font-size:14px;font-weight:600}.dialog-actions{display:flex;gap:12px;margin-top:24px}.dialog-actions .primary{width:auto;flex:1 1;justify-content:center}.session-form{margin-bottom:20px}.student-list{display:grid;gap:20px}.attendance-tools{position:sticky;top:0;z-index:6;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px;display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}.attendance-tools button{font-size:13px;padding:8px 12px}.attendance-tools button[aria-pressed=true],.day-slot-tabs button[aria-pressed=true],.quick-actions button[aria-pressed=true]{background:var(--charcoal);color:var(--surface);border-color:var(--charcoal)}.attendance-tools small{width:100%;padding:2px 4px}.month-book{-webkit-user-select:none;user-select:none}.save-failed{outline:2px solid var(--danger);outline-offset:-2px;color:var(--danger)}.day-slot-tabs{display:flex;gap:8px;overflow:auto;margin:14px 0}.day-slot-tabs button{flex-shrink:0;display:grid;gap:0}.day-slot-tabs button[aria-pressed=true] small{color:var(--on-dark-muted)}.day-sessions{grid-template-columns:1fr}.quick-name{min-width:100px}.quick-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.quick-actions select{width:105px}.quick-actions button{font-size:14px;padding:8px 12px}.day-sessions .section-title button{border:1px solid var(--line);padding:8px 12px;font-size:14px}@media(max-width:640px){.quick-student{align-items:flex-start;flex-direction:column;gap:8px}.quick-name{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.quick-actions{width:100%}.quick-actions button{flex:1 1;padding:8px}.quick-actions select{width:80px}.attendance-tools{position:static}.attendance-tools small{font-size:12px}}.student-filters .book-toolbar{margin-bottom:0}@media(max-width:640px){.book-toolbar label{min-width:calc(50% - 12px)}.book-toolbar label:first-child{min-width:100%}.book-heading{gap:16px}.month-book .student-col{min-width:118px;width:118px;max-width:118px}.month-book .slot-col{left:118px;min-width:60px}.day-sessions{grid-template-columns:1fr}.book-summary{align-items:flex-start}.book-summary span{flex-wrap:wrap}}body{margin:0;color:var(--ink);background:var(--bg);font-family:var(--font-pretendard),system-ui,sans-serif;font-size:var(--text-base);line-height:1.6}button,input{font:inherit}button{cursor:pointer;min-height:44px;min-width:44px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);padding:10px 15px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);transition:background .15s}button:hover{background:var(--soft)}button:disabled{cursor:not-allowed;opacity:.55}:where(button,input,a,[tabindex]):focus-visible{outline:3px solid var(--primary);outline-offset:3px}input{width:100%;border:1px solid var(--input-border);border-radius:var(--radius-sm);padding:12px;background:var(--surface);min-height:46px;color:var(--ink)}h1,h2,h3,p{margin-top:0}h1{font-size:30px;letter-spacing:-.035em;line-height:1.4}h2{font-size:20px;letter-spacing:-.5px}h3{font-size:var(--text-base)}.muted,small{color:var(--muted)}.eyebrow{font-size:var(--text-xs);letter-spacing:2px;font-weight:700;color:var(--primary);margin-bottom:12px}.brand{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:700;letter-spacing:-.6px}.brand-symbol{display:block;flex-shrink:0}.brand-name{display:grid;gap:5px;margin:0;font-size:inherit;font-weight:750;line-height:1;white-space:nowrap}.brand-name small{display:flex;justify-content:space-between;font-size:9px;letter-spacing:0;line-height:1;font-weight:600;color:inherit}.intro .brand{font-size:36px;gap:12px}.intro .brand-name{gap:8px}.intro .brand-name small{font-size:12px}.intro .brand-symbol{width:68px;height:68px}.login{display:grid;grid-template-columns:1fr 1fr}.intro,.login{min-height:100dvh}.intro{gap:24px;background:var(--ink);color:var(--surface);padding:58px 12%;display:flex;flex-direction:column;justify-content:center}.intro p:not(.eyebrow){color:var(--input-border);line-height:1.9;margin:0}.login-form{width:min(420px,85%);margin:auto;padding:48px 0}.tag{display:inline-block;font-size:var(--text-xs);background:var(--soft);color:var(--charcoal);border-radius:var(--radius-sm);padding:5px 10px;font-weight:600}.login-form h2{font-size:27px;margin:20px 0 8px}.login-form form{margin-top:30px}.login-form label{display:block;font-size:var(--text-sm);font-weight:600;margin-bottom:17px}.login-form input{margin-top:7px}.primary{background:var(--primary);color:var(--surface);width:100%;justify-content:space-between;border:0}.primary:hover{background:var(--primary-hover)}.hint{margin-top:18px;display:flex;align-items:center;gap:7px}.hint,.notice{color:var(--muted);font-size:var(--text-xs)}.notice{background:var(--soft);padding:11px 15px;border-radius:var(--radius-sm)}.demo-box{border-top:1px solid var(--line);margin-top:26px;padding-top:22px}.demo-box p{font-size:var(--text-xs);color:var(--muted)}.demo-box h3{margin-bottom:7px}.demo-actions{display:flex;gap:var(--space-2)}.demo-actions button{flex:1 1;font-size:var(--text-sm)}.error{color:var(--danger);background:var(--danger-soft);padding:12px;border-radius:var(--radius-sm)}.shell{display:flex;min-height:100dvh}aside{width:244px;background:var(--surface);color:var(--ink);border-right:1px solid var(--line);padding:28px 20px;display:flex;flex-direction:column;position:fixed;height:100dvh}.business{display:flex;align-items:center;gap:12px;margin:38px 0 25px;padding:15px 4px;border-bottom:1px solid var(--line)}.business strong{font-size:var(--text-sm)}.business small,.profile small{display:block;font-size:var(--text-xs);margin-top:3px}nav{display:grid;gap:7px}nav button{border:0;justify-content:flex-start;padding:13px 15px;background:transparent;color:var(--muted)}nav button.selected{background:var(--primary);color:var(--surface);font-weight:700}.profile{margin-top:auto;display:flex;align-items:center;gap:var(--space-2);padding-top:20px;border-top:1px solid var(--line)}.profile strong{font-size:var(--text-sm)}.profile button{margin-left:auto;padding:8px;border:0;background:transparent;color:var(--muted)}.avatar{width:37px;height:37px;background:var(--soft);color:var(--charcoal);border-radius:50%;display:grid;place-items:center;font-size:var(--text-sm)}.workspace{margin-left:244px;min-width:0;flex:1 1}header{height:76px;background:var(--surface);border-bottom:1px solid var(--line);padding:0 42px;display:flex;align-items:center;justify-content:space-between;font-size:var(--text-sm)}.workspace>.workspace-header{position:sticky;top:0;z-index:20;display:block;height:auto;min-height:76px;padding:0}.workspace-header-inner{display:grid;grid-template-columns:auto auto minmax(220px,1fr) auto;align-items:center;gap:0 16px;min-height:80px;width:100%;max-width:1280px;margin-inline:auto;padding:0 42px}.workspace-header h1{font-size:20px;letter-spacing:-.5px;margin:0;white-space:nowrap}.workspace-subnav{grid-column:2;display:flex;align-self:stretch;align-items:stretch;gap:4px;flex-wrap:wrap}.workspace-subnav button{background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;min-height:80px;padding:12px;font-size:14px;white-space:nowrap;touch-action:manipulation}.workspace-subnav button:hover,.workspace-subnav button[aria-pressed=true]{background:var(--action-soft);color:var(--action)}.workspace-subnav button[aria-pressed=true]{border-bottom-color:var(--accent);font-weight:700}.workspace-role{grid-column:4;margin-left:auto}.student-search{grid-column:3;position:relative;justify-self:end;width:min(100%,480px);min-width:0;margin:0}.student-search>label{display:block;font-size:12px;line-height:16px;font-weight:700;color:var(--action);margin-bottom:4px}.student-search-field{display:flex;align-items:center;gap:8px;min-height:44px;padding-left:12px;border:1px solid var(--primary);border-radius:var(--radius-sm);background:var(--action-soft);color:var(--action)}.student-search-field:focus-within{outline:3px solid var(--primary);outline-offset:3px;background:var(--surface)}.student-search-field>svg{flex-shrink:0}.student-search-field input{width:100%;min-width:0;min-height:42px;margin:0;padding:8px 0;border:0;border-radius:0;background:transparent;font-size:14px;color:var(--ink);outline:none}.student-search-field input::placeholder{color:var(--muted);opacity:1}.student-search-field input::-webkit-search-cancel-button{appearance:none}.student-search-field button{border:0;background:transparent;border-radius:6px;min-width:44px;min-height:42px;padding:8px;color:var(--action)}.student-search-field kbd{flex-shrink:0;margin-right:12px;padding:1px 5px;border:1px solid var(--input-border);border-radius:4px;background:var(--surface);font-size:12px;font-family:inherit;white-space:nowrap;color:var(--muted)}.student-search-results{position:absolute;top:calc(100% + 8px);right:0;width:max(100%,360px);max-width:calc(100vw - 36px);max-height:min(480px,55dvh);overflow:auto;overscroll-behavior:contain;border:1px solid var(--input-border);border-radius:var(--radius-sm);background:var(--surface);box-shadow:0 12px 28px #0002;color:var(--ink)}.student-search-count{margin:0;padding:12px 16px;font-size:13px;background:var(--soft);border-bottom:1px solid var(--line)}.student-search-results ul{list-style:none;margin:0;padding:0}.student-search-results li+li{border-top:1px solid var(--line)}.student-search-results li button{display:flex;align-items:stretch;flex-direction:column;gap:4px;width:100%;min-height:80px;padding:12px 16px;border:0;border-radius:0;text-align:left;white-space:normal;overflow-wrap:anywhere}.student-search-results li button:focus-visible,.student-search-results li button:hover{background:var(--action-soft)}.student-search-results li button:focus-visible{outline-offset:-3px}.student-search-person{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.student-search-person strong{font-size:16px}.student-search-meta,.student-search-person>span{font-size:13px;color:var(--muted)}.student-search-empty{margin:0;padding:16px;font-size:14px;color:var(--muted)}.workspace-notice{margin-bottom:20px;padding:0;background:transparent}main#main{padding:28px 42px;max-width:1280px;margin:auto}.page-title{display:flex;justify-content:space-between;align-items:center;margin:32px 0}.page-title h1{margin-bottom:9px}.page-title p:last-child{margin:0;font-size:var(--text-sm)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-4);margin-bottom:28px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-6)}.stat p{font-size:var(--text-sm);color:var(--muted);margin-bottom:13px}.stat strong{font-size:34px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat small{font-size:var(--text-sm);font-weight:400;margin-left:8px}.columns{display:grid;grid-template-columns:1.6fr 1fr;gap:24px}.panel{padding:var(--space-6);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:0}.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:var(--space-4)}.section-title h2,.section-title h3{margin:0}.section-title button{font-size:var(--text-xs);border:0;padding:5px;background:transparent}.section-title input{max-width:240px}.class-row{display:flex;align-items:center;gap:16px;padding:21px 0;border-bottom:1px solid var(--line)}.class-row:last-child{border:0}.class-row strong{font-size:var(--text-sm)}.class-row p{font-size:var(--text-xs);color:var(--muted);margin:5px 0 0}.class-row>.pill{margin-left:auto}.class-icon{width:46px;height:46px;border-radius:var(--radius);display:grid;place-items:center;flex-shrink:0}.pill{display:inline-block;border-radius:var(--radius-sm);padding:4px 9px;background:var(--soft);color:var(--charcoal);font-size:var(--text-xs);white-space:nowrap}.pill.warning{background:var(--danger-soft);color:var(--danger)}.accent{background:var(--charcoal);color:var(--surface);display:flex;flex-direction:column}.accent h2{font-size:25px;line-height:1.6;margin-top:13px}.accent p{font-size:var(--text-sm);color:var(--on-dark-muted)}.permission{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);margin:20px 0}.accent button{margin-top:auto;align-self:flex-start;background:var(--primary);color:var(--surface);border:0;font-size:var(--text-sm)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left;font-size:var(--text-sm)}th{color:var(--muted);font-size:var(--text-xs);background:var(--soft);font-weight:500}td,th{padding:17px 14px;border-bottom:1px solid var(--line)}.class-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.class-grid h2{margin:15px 0 4px}.class-grid .section-title{margin-top:25px}.attendance-row{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line);font-size:var(--text-sm)}.empty{padding:32px;text-align:center}.empty,footer{color:var(--muted)}footer{display:flex;justify-content:space-between;font-size:var(--text-xs);padding:32px 0;margin-top:20px;border-top:1px solid var(--line)}@media(max-width:1000px){aside{width:205px;padding:24px 13px}.workspace{margin-left:205px}main#main{padding:24px}.columns{grid-template-columns:1fr}.page-title>.tag{display:none}}@media(max-width:640px){.login{display:block}.intro{min-height:auto;padding:26px 25px}.intro .brand{font-size:30px}.intro .brand-symbol{width:60px;height:60px}.intro .eyebrow,.intro p:not(.eyebrow){display:none}.login-form{padding:30px 0}.shell{display:block}aside{width:100%;height:auto;position:static;padding:16px}.business{display:none}nav{display:flex;overflow:auto;margin-top:16px}nav button{flex-shrink:0;font-size:var(--text-xs);padding:10px}.profile{margin-top:14px;padding-top:10px}.workspace{margin:0}header{display:none}main#main{padding:18px}.page-title{margin:25px 0}.page-title h1{font-size:24px}.stats{grid-template-columns:1fr 1fr;gap:var(--space-2)}.stat{padding:18px}.panel{padding:20px}.section-title{flex-wrap:wrap}.section-title input{max-width:none}.class-grid{grid-template-columns:1fr}footer span{display:none}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}h1,h2,h3,p{word-break:keep-all;overflow-wrap:break-word}.accent .eyebrow,.intro .eyebrow{color:var(--on-dark-muted)}.profile button:hover,nav button:hover{background:var(--soft);color:var(--ink)}nav button.selected:hover{color:var(--surface)}.accent button:hover,nav button.selected:hover{background:var(--primary-hover)}.demo-actions button:first-child{background:var(--primary);color:var(--surface);border-color:var(--primary)}.demo-actions button:first-child:hover{background:var(--primary-hover)}.class-icon{background:var(--soft);color:var(--charcoal)}.skip-link{position:fixed;left:16px;top:-100px;z-index:100;padding:12px 16px;background:var(--surface);color:var(--ink);border-radius:var(--radius-sm)}.skip-link:focus{top:16px}input:disabled{background:var(--soft);cursor:not-allowed}button:active:not(:disabled){filter:brightness(.94)}tbody tr:hover{background:var(--soft)}.table-wrap{border:1px solid var(--line);border-radius:var(--radius-sm)}th{font-weight:600}tbody tr:last-child td{border-bottom:0}.stat strong{letter-spacing:-1px}.accent h2{font-size:22px;margin-top:0}.accent button{min-height:44px}@media(max-width:640px){.intro{gap:16px}input{font-size:16px}.class-row{gap:12px}}.preview-actions{margin-top:32px}.demo-actions{flex-direction:column}.demo-actions button{width:100%;justify-content:space-between;padding:14px 16px}.login-form .hint{align-items:flex-start;line-height:1.7}.login-status{margin-top:32px;padding-top:20px;border-top:1px solid var(--line);font-size:var(--text-xs);color:var(--muted)}@media(max-width:640px){.intro p:not(.eyebrow){display:block;margin-bottom:0;font-size:var(--text-sm)}}.student-list fieldset{border:0;padding:0;margin:16px 0;min-width:0}.class-choice{display:inline-flex;align-items:center;gap:8px;margin:8px 20px 8px 0;min-height:44px}.class-choice input{width:18px;min-height:18px;height:18px;accent-color:var(--primary)}.class-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.class-buttons button{padding:12px 18px;white-space:normal;text-align:left}.class-buttons button[aria-pressed=true]{background:var(--action-soft);border-color:var(--action);color:var(--action);font-weight:700}.class-buttons button[aria-pressed=true]:hover{background:#e1ebf3}.panel fieldset{min-width:0;border:0;padding:0;margin:16px 0}.contact-note{white-space:pre-wrap;min-width:180px;max-width:420px}.notice-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start}.notice-editor label{display:block;margin:16px 0}.notice-editor canvas{width:100%;max-width:420px;height:auto;border:1px solid var(--line)}@media(max-width:760px){.notice-editor{grid-template-columns:1fr}}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:24px 0}.calendar-grid>strong{text-align:center;padding:8px 0}.calendar-grid button{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;min-height:100px;padding:8px;overflow-wrap:anywhere;gap:4px}.calendar-grid button[aria-pressed=true]{border:2px solid var(--action);background:var(--action-soft)}.calendar-grid small{font-size:12px;text-align:left}.class-day-choice{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 0}.class-day-choice select{max-width:220px}.record-note{white-space:pre-wrap}.student-photo{display:inline-flex;flex-direction:column;vertical-align:middle;margin-right:12px;flex-shrink:0}.photo-frame{position:relative;width:56px;height:56px}.student-photo .photo-placeholder,.student-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 35%;border-radius:50%}.photo-placeholder{background:var(--bg);color:var(--muted);overflow:hidden}.student-photo-large{margin:0}.student-photo-large .photo-frame{width:160px;height:160px}.student-photo-large .photo-placeholder,.student-photo-large img{border-radius:20px}.photo-edit-button{position:absolute;right:-6px;bottom:-6px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;padding:0;border-radius:50%;background:var(--surface);border:1px solid var(--line);color:var(--muted)}.student-photo small[role=alert]{max-width:240px;margin-top:12px}@media(max-width:640px){.student-photo-large .photo-frame{width:128px;height:128px}}.student-link{font-weight:700;text-align:left}.closing-totals{display:flex;flex-wrap:wrap;gap:32px;margin:24px 0}.closing-totals strong{display:block;font-size:22px}.headcount-input{width:80px;min-width:64px}@media(max-width:640px){.calendar-grid button{min-height:80px;padding:4px}.calendar-grid small{font-size:10px}.class-day-choice{align-items:flex-start}.class-day-choice select{max-width:180px}}.student-detail-header{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin:20px 0}.student-detail-header h2{margin:0}.student-detail-header p{margin:8px 0}.student-summary{display:flex;flex-wrap:wrap;gap:12px}.student-summary button{min-width:120px;justify-content:space-between;gap:16px}.student-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:28px 0}.student-facts div{display:flex;flex-wrap:wrap;gap:12px}.student-facts dt{color:var(--muted)}.student-facts dd{margin:0;overflow-wrap:anywhere}.student-record{border-top:1px solid var(--line);padding:20px 0}.student-record h4{margin:8px 0}.student-record p{overflow-wrap:anywhere}.record-form{margin:20px 0;padding:16px;border:1px solid var(--line);border-radius:12px}@media(max-width:640px){.student-facts{grid-template-columns:1fr}.student-detail-header{gap:12px}.student-summary button{min-width:80px;flex:1 1}}.student-photo img,.student-photo-editor img{object-position:center 35%}.section-title .record-add{min-height:48px;padding:12px 20px;font-size:16px;font-weight:700;background:var(--action);color:var(--surface);border:1px solid var(--action);white-space:nowrap}.section-title .record-add:hover{background:var(--action-hover);border-color:var(--action-hover)}.intake-form{max-width:800px;margin:0 auto 28px}.intake-form .book-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;align-items:start}.intake-form .book-toolbar label,.intake-form .book-toolbar label:first-child{min-width:0}.intake-form input,.intake-form select{min-width:0;width:100%}.intake-form textarea{display:block;margin-top:6px}.intake-form .dialog-actions{justify-content:flex-end}.intake-form .dialog-actions button:last-child{background:var(--action);color:var(--surface);border-color:var(--action)}@media(max-width:640px){.intake-form .book-toolbar{grid-template-columns:1fr;gap:16px}}.billing-summary{display:grid;grid-template-columns:minmax(100px,.65fr) repeat(3,minmax(0,1fr));margin:24px 0;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:0}.billing-summary>div{min-width:0;padding:4px 20px;border-right:1px solid var(--line)}.billing-summary>div:first-child{padding-left:0}.billing-summary>div:last-child{border-right:0}.billing-summary dt{font-size:14px;color:var(--muted);font-weight:500}.billing-summary dd{margin:8px 0 0;font-size:clamp(20px,2vw,28px);font-weight:750;line-height:1.3;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.billing-summary dd small{font-size:14px;font-weight:500;margin-left:4px}.billing-summary .has-unpaid dd,.billing-summary .has-unpaid dt{color:var(--primary-hover)}@media(max-width:760px){.billing-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 0}.billing-summary>div{padding:0 12px}.billing-summary>div:nth-child(odd){padding-left:0}.billing-summary>div:nth-child(2n){border-right:0}.billing-summary dd{font-size:22px}}.ledger-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:24px 0}.ledger-column{min-width:0}.ledger-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:12px 0;border-top:2px solid var(--charcoal)}.ledger-heading h3{margin:0;font-size:20px}.ledger-heading strong{font-size:22px}.ledger-amount,.ledger-heading strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ledger-amount{text-align:right}.ledger-description{white-space:normal;min-width:110px;overflow-wrap:anywhere}.ledger-description small{display:block;color:var(--muted);font-size:12px;margin-bottom:4px}.ledger-actions{display:flex;flex-wrap:wrap;gap:8px}.ledger-column td,.ledger-column th{padding:12px 10px}.ledger-column .pill{white-space:normal;max-width:80px}.ledger-columns .empty{border-bottom:1px solid var(--line)}@media(max-width:760px){.ledger-columns{grid-template-columns:1fr}}.headcount-section{margin:24px 0}.headcount-section>summary{font-size:18px;font-weight:700;cursor:pointer;padding:12px 0;min-height:44px}.headcount-table{max-width:680px;max-height:420px;overflow:auto}.headcount-table td,.headcount-table th{padding:4px 8px;text-align:center}.headcount-table input{width:72px;min-width:56px;min-height:32px;height:32px;padding:4px 8px;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.headcount-table thead th{position:sticky;top:0;z-index:1;background:var(--soft)}.headcount-table tfoot td,.headcount-table tfoot th{position:sticky;bottom:0;background:var(--soft);font-weight:700}.headcount-table:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media(pointer:coarse){.headcount-table input{min-height:44px;height:44px}}.optional-fields{margin:12px 0 20px}.optional-fields>summary{cursor:pointer;min-height:44px;padding:10px 0;font-size:14px;font-weight:600}.optional-fields .book-toolbar{margin-top:12px}.closing-panel>.book-toolbar>label,.closing-panel>fieldset>label:has(input[type=number]){flex:0 1 220px;display:grid;gap:6px;max-width:240px}.closing-panel>fieldset>label:has(input[type=number]){margin-bottom:20px}.ledger-column .pill{max-width:none;white-space:nowrap}.headcount-table+small{color:var(--muted)}.nav-tools{min-width:0}.nav-tools-toggle{width:100%}.nav-tools-toggle svg:last-child{margin-left:auto}.nav-tools-toggle[aria-expanded=true] svg:last-child{transform:rotate(180deg)}.nav-tools-items{display:grid;gap:4px;margin:4px 0 4px 20px;padding-left:8px;border-left:1px solid var(--line)}.nav-tools-items button{font-size:14px;padding:10px 12px;white-space:normal}.shell aside{overflow-y:auto}.profile{flex-shrink:0}@media(max-width:640px){.nav-tools{display:flex;flex-shrink:0;align-items:flex-start;gap:8px}.nav-tools-toggle{width:auto}.nav-tools-items{display:flex;margin:0;padding-left:8px}.nav-tools-items button{white-space:nowrap;min-height:44px}}.calendar-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:24px;align-items:start}.academy-calendar>.book-toolbar label{flex:0 1 200px}.academy-calendar .calendar-grid{margin:0;gap:3px}.academy-calendar .calendar-grid button{height:112px;min-height:112px;overflow:hidden;padding:6px;border-radius:6px;justify-content:flex-start}.academy-calendar .calendar-grid small{font-size:11px;line-height:1.3;text-align:left;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-grid button[aria-current=date] b{background:var(--primary);color:white;border-radius:50%;min-width:26px;text-align:center}.calendar-detail{min-width:0;border-left:1px solid var(--line);padding-left:24px}.calendar-detail h3{margin-top:0}.calendar-detail .class-day-choice{display:block;padding:12px 0;border-bottom:1px solid var(--line)}.calendar-detail .view-switch{margin-top:8px;gap:4px}.calendar-detail .view-switch button{padding:8px;font-size:13px}.calendar-detail .book-toolbar{display:grid;grid-template-columns:1fr 1fr}.calendar-detail .book-toolbar label{min-width:0}.calendar-detail .dialog-actions{flex-wrap:wrap}@media(max-width:1000px){.calendar-layout{grid-template-columns:1fr}.calendar-detail{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:20px}}@media(max-width:640px){.academy-calendar .calendar-grid button{height:88px;min-height:88px;padding:3px}.academy-calendar .calendar-grid small{font-size:10px}}.message-attachment{display:grid;gap:8px;margin:20px 0;font-size:14px}.message-attachment input{font-size:13px;max-width:360px}.rsv{width:420px;min-height:525px;background:#48705E;padding:44px 48px;box-sizing:border-box;display:flex;flex:none}.rsv .paper{position:relative;background:#FBFAF7;flex:1 1;border-radius:6px;box-shadow:0 16px 36px rgba(0,0,0,.35);padding:52px 22px 36px;text-align:center;display:flex;flex-direction:column;align-items:center}.rsv .clip{position:absolute;top:-20px;left:50%;transform:translateX(-50%);width:52px;height:34px}.rsv .clip i{display:block;width:52px;height:30px;background:linear-gradient(180deg,#D7DADD,#8F959C);clip-path:polygon(22% 0,78% 0,100% 100%,0 100%);border-radius:3px}.rsv .clip b{position:absolute;top:4px;left:50%;transform:translateX(-50%);width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#F2F3F5,#9AA0A7)}.rsv .h{font-size:14px;color:#48705E}.rsv .t{font-size:30px;font-weight:900;letter-spacing:.03em;margin:12px 0 10px;color:#151515}.rsv .nm{margin-bottom:22px}.rsv .kind,.rsv .nm{font-size:17px;color:#222}.rsv .kind{display:flex;align-items:center;gap:12px;margin-bottom:16px}.rsv .tog{width:42px;height:24px;border-radius:99px;background:#48705E;position:relative;flex:none}.rsv .tog:after{content:"";position:absolute;right:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff}.rsv .dt{font-size:21px;font-weight:800;color:#48705E;line-height:1.5;margin-bottom:22px}.rsv .hr{width:88%;height:1px;background:#48705E;opacity:.55;margin-bottom:20px}.rsv .addr{line-height:1.75}.rsv .addr,.rsv .tel{font-size:13.5px;color:#333}.rsv .tel{margin-top:10px;letter-spacing:.04em}.reservation-layout{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:24px;align-items:start}.reservation-layout label{display:grid;gap:6px;margin-bottom:16px}.reservation-layout .dialog-actions{flex-wrap:wrap}.reservation-maker .rsv .addr,.reservation-maker .rsv .dt{overflow-wrap:anywhere}.reservation-maker .rsv .kind{flex-wrap:wrap;justify-content:center}@media(max-width:1100px){.reservation-layout{grid-template-columns:1fr}.reservation-maker .rsv{width:100%;max-width:420px;padding:40px 24px}.reservation-maker .rsv .t{font-size:24px}}.billing-filters{display:grid;gap:16px;margin:20px 0}.billing-filter-row{display:flex;align-items:flex-start;gap:16px}.billing-filter-label{flex:0 0 68px;padding-top:12px;font-size:14px;font-weight:650;color:var(--charcoal)}.billing-class-filter{margin:0;gap:8px}.billing-class-filter button{padding:10px 14px;font-size:14px}.billing-class-filter button[aria-pressed=true]{background:var(--soft);color:var(--ink);border-color:var(--charcoal)}.billing-class-filter button[aria-pressed=true]:hover{background:var(--line)}.billing-status-filter{display:flex;flex-wrap:wrap;gap:4px;padding:4px;background:var(--soft);border-radius:10px}.billing-status-filter button{background:transparent;border-color:transparent;padding:8px 14px;font-size:14px;gap:8px;min-height:44px}.billing-status-filter button small{font-size:12px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.billing-status-filter button[aria-pressed=true]{background:var(--surface);border-color:var(--action);color:var(--action);font-weight:700}.billing-status-filter button[aria-pressed=true] small{color:var(--action)}@media(max-width:640px){.billing-filter-row{display:block}.billing-filter-label{display:block;padding:0;margin-bottom:8px}.billing-status-filter button{flex:1 1;padding:8px;white-space:nowrap}}.billing-invoices :is(th,td):nth-child(n+4):nth-child(-n+6),.billing-payments :is(th,td):nth-child(4){text-align:right;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.billing-outstanding{color:var(--danger);font-weight:700}.billing-paid{display:inline-block;padding:6px 10px;border-radius:var(--radius-sm);background:var(--soft);color:var(--muted);font-size:14px;white-space:nowrap}.billing-panel>h3{margin:28px 0 12px}.billing-panel .record-form h3{scroll-margin-block:24px}.billing-panel .record-form .dialog-actions button:last-child{background:var(--action);color:var(--surface);border-color:var(--action)}.billing-panel .record-form .dialog-actions button:last-child:hover{background:var(--action-hover)}.headcount-view .headcount-table{max-height:none}.headcount-view .headcount-table tr>:first-child{position:sticky;left:0;background:var(--soft);z-index:1}.headcount-view .headcount-table thead tr>:first-child{z-index:2}.attendance-book>.class-buttons{margin-bottom:12px}.attendance-schedule-controls>.book-toolbar{justify-content:flex-end;margin:12px 0}.attendance-schedule-form{padding:20px 0;margin-bottom:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.attendance-schedule-form h3{margin:0 0 8px}.attendance-schedule-form .book-toolbar{align-items:flex-end}.attendance-schedule-form .book-toolbar>label{flex:0 1 220px}.attendance-schedule-form .book-toolbar>label:has(input[type=date]){flex-basis:170px}@media(max-width:640px){.attendance-schedule-controls>.book-toolbar{justify-content:flex-start}.attendance-schedule-form .book-toolbar>label{flex:1 1 100%}}.attendance-schedule-form>fieldset{border:0;padding:0;margin:0;min-width:0}.workspace .primary{background:var(--primary);color:var(--surface)}.workspace .primary:hover{background:var(--primary-hover)}.shell :where(button,input,a,select,textarea,[tabindex]):focus-visible{outline-color:var(--action)}.today-work .work-section[aria-label="미납 확인"] .pill{background:var(--danger-soft);color:var(--danger)}.shell input,.shell textarea{caret-color:var(--action)}.shell ::selection{background:#dbe9ff;color:var(--ink)}.billing-summary .has-unpaid dd,.billing-summary .has-unpaid dt{color:var(--danger)}.attendance-tools{top:var(--workspace-header-offset)}.gate-bar h2{font-size:18px;margin:0;display:flex;align-items:center;gap:10px;padding:10px}@media(max-width:1000px){.workspace-header-inner{grid-template-columns:auto minmax(0,1fr) auto;padding:0 24px 8px;gap:8px 16px}.workspace-header h1{min-height:48px;display:flex;align-items:center}.workspace-subnav{grid-column:2;grid-row:1}.workspace-subnav button{min-height:48px;padding-inline:12px}.workspace-role{grid-column:3;grid-row:1}.student-search{grid-column:1/-1;grid-row:2;width:100%;max-width:none}:root{--workspace-header-offset:132px}}@media(max-width:760px){.workspace-header-inner{grid-template-columns:minmax(0,1fr) auto;padding-block:8px}.workspace-header h1{font-size:18px;min-height:32px}.workspace-role{grid-column:2;align-self:center}.workspace-subnav{grid-column:1/-1;grid-row:2}.workspace-header-inner:has(.workspace-subnav) .student-search{grid-row:3}:root{--workspace-header-offset:128px}:root:has(.workspace-subnav){--workspace-header-offset:184px}}@media(max-width:640px){.workspace-header-inner{padding-inline:18px}.workspace-subnav{gap:0}.workspace-subnav button{padding:10px 12px;font-size:14px}.attendance-tools{position:static}}.schedule-editor{max-width:1040px;padding:28px}.schedule-heading h2{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px;margin:0;font-size:22px}.schedule-heading h2 span{font-size:14px;font-weight:500;color:var(--muted)}.schedule-heading>p{margin:8px 0 24px;font-size:14px;color:var(--muted)}.schedule-tasks{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--line)}.schedule-tasks button{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;font-size:14px;padding:12px 16px;min-height:48px}.schedule-tasks button:hover{background:var(--soft)}.schedule-tasks button[aria-pressed=true]{border-bottom-color:var(--action);color:var(--action);font-weight:700;background:var(--action-soft)}.schedule-workspace{max-width:820px;margin-top:28px;min-width:0}.schedule-workspace h3{font-size:18px;margin:0 0 8px;scroll-margin-block:24px}.schedule-description{font-size:14px;color:var(--muted);margin:0 0 24px;max-width:65ch}.schedule-editor fieldset{border:0;padding:0;margin:0;min-width:0}.lesson-move label,.schedule-field{display:grid;gap:8px;font-size:14px;font-weight:600;min-width:0;margin-bottom:20px}.schedule-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:end}.lesson-move input,.schedule-field input,.schedule-field select{min-width:0;min-height:48px;font-size:15px;font-weight:400;width:100%}.schedule-date{max-width:260px}.schedule-slot-field legend{font-size:14px;font-weight:600;padding:0;margin-bottom:8px}.schedule-fields .schedule-slot-field{margin-bottom:20px}.schedule-slot-field .view-switch{flex-wrap:nowrap;gap:8px}.schedule-slot-field button{flex:1 1;padding:10px 8px;min-height:48px;font-size:14px;white-space:nowrap}.schedule-editor .view-switch button[aria-pressed=true]{background:var(--action-soft);border-color:var(--action);color:var(--action);font-weight:700}.schedule-kind{margin-bottom:24px;gap:8px}.schedule-kind button{font-size:14px;min-height:44px}.schedule-actions{display:flex;justify-content:flex-end;align-items:center;gap:16px;margin-top:24px}.schedule-actions .primary{width:auto;min-width:152px;min-height:48px;justify-content:center;padding:12px 24px;font-size:15px;font-weight:650}.schedule-actions>p{margin:0 auto 0 0;font-size:14px;color:var(--muted)}.schedule-editor .lesson-destination{background:var(--action-soft);border:1px solid #d7e3ed;border-radius:var(--radius-sm);padding:16px;margin:0 0 20px;font-size:14px;color:var(--action-hover)}.lesson-destination strong{font-size:14px}.lesson-destination p{margin:6px 0 0;line-height:1.6}.schedule-editor .weekly-grid{min-width:520px;margin:0;width:100%;table-layout:fixed}.weekly-grid td,.weekly-grid th{text-align:center;padding:6px}.weekly-grid th:first-child{width:62px}.weekly-grid button{width:100%;min-width:44px;min-height:44px;padding:8px 4px;font-size:14px}.weekly-grid button[aria-pressed=true]{background:var(--action-soft);color:var(--action);border-color:var(--action);font-weight:700}.schedule-history{border-top:1px solid var(--line);margin-top:24px;padding-top:8px}.schedule-history summary{display:list-item;cursor:pointer;min-height:44px;padding:10px 0;font-size:14px;font-weight:600}.schedule-history>p{font-size:14px;margin:12px 0}.schedule-history-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--line);font-size:14px}.schedule-history-row p{margin:0;min-width:0}.schedule-history-row span{display:block;color:var(--muted);overflow-wrap:anywhere}.schedule-history-row button{flex-shrink:0;font-size:14px}.schedule-feedback [role=status]:not(:empty),.schedule-status:not(:empty){color:var(--action-hover);background:var(--action-soft);padding:14px 16px;border-radius:var(--radius-sm);font-size:14px;margin:20px 0 0}.schedule-feedback [role=status]:empty,.schedule-status:empty{display:none}.schedule-feedback .error{font-size:14px;margin-top:20px}.schedule-pause-history>div{padding:20px 0;border-top:1px solid var(--line);margin-top:24px;font-size:14px}.schedule-history .schedule-fields>button,.schedule-pause-history .schedule-fields>button{margin-bottom:20px;justify-self:start;min-height:48px}.lesson-move form{padding:0}.lesson-move-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-bottom:24px}.lesson-move-dates>div{min-width:0}.lesson-move-dates>div+div{border-left:1px solid var(--line);padding-left:28px}.lesson-move-dates h3{font-size:14px;margin-bottom:16px;color:var(--muted);font-weight:600}.lesson-move-dates label{margin-bottom:16px}.lesson-move .view-switch{gap:8px;flex-wrap:nowrap}.lesson-move .view-switch button{flex:1 1;min-width:0;min-height:64px;flex-direction:column;padding:10px 8px;gap:4px;font-size:14px;white-space:nowrap}.lesson-move .view-switch small{font-size:12px;font-weight:400;color:inherit}.lesson-move .hint{display:block;font-size:13px;margin:12px 0 0}.lesson-move .notice{font-size:14px;margin-bottom:20px}.lesson-notice{margin-top:24px}.lesson-notice textarea{font-size:14px;font-weight:400;resize:vertical}.lesson-notice small{font-size:12px;font-weight:400;color:var(--muted)}.lesson-move .schedule-status+button{margin-top:16px;font-size:14px}.alimtalk-panel{margin:24px 0;padding:24px;border:1px solid var(--line);border-radius:var(--radius-sm);max-width:680px;background:var(--surface);min-width:0}.alimtalk-panel h3{font-size:18px;margin:0;scroll-margin-top:24px}.alimtalk-panel .hint{margin:12px 0 20px;line-height:1.6}.alimtalk-recipient{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 20px}.alimtalk-recipient dt{font-size:13px;color:var(--muted);margin-bottom:6px}.alimtalk-recipient dd{margin:0;font-size:15px;font-weight:600;overflow-wrap:anywhere;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.alimtalk-preview{font:inherit;font-size:15px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--soft);border-radius:var(--radius-sm);padding:20px;margin:0 0 20px}.alimtalk-review{display:flex;align-items:center;gap:10px;min-height:48px;cursor:pointer;font-size:14px}.alimtalk-review input{width:18px;height:18px;flex:none;accent-color:var(--action)}.alimtalk-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:16px}.alimtalk-actions button,.alimtalk-panel>button,.schedule-notify{min-height:44px;font-size:14px}.alimtalk-actions .primary{width:auto;background:var(--action);border-color:var(--action);padding:12px 24px;justify-content:center}.alimtalk-actions .primary:hover{background:var(--action-hover)}.alimtalk-actions a{display:inline-flex;align-items:center;min-height:44px;color:var(--action);text-decoration:underline;font-size:14px}.alimtalk-result{padding:16px;background:var(--action-soft);color:var(--action-hover);border-radius:var(--radius-sm);font-size:14px;margin-top:16px}.alimtalk-result p{margin:6px 0 0}.alimtalk-panel .error{font-size:14px;line-height:1.6}.schedule-history-actions{display:flex;flex-wrap:wrap;gap:8px;flex-shrink:0}.schedule-notify{margin-top:16px}@media(max-width:700px){.alimtalk-panel{padding:20px}.alimtalk-recipient{grid-template-columns:1fr;gap:12px}.alimtalk-actions{align-items:stretch}.alimtalk-actions .primary{width:100%}.schedule-history-row{align-items:flex-start;flex-wrap:wrap}}.unsaved-dialog h2{font-size:20px;margin-bottom:12px}.unsaved-dialog p{font-size:14px;color:var(--muted)}.unsaved-dialog .dialog-actions{flex-wrap:wrap}.unsaved-dialog button{flex:1 1;font-size:14px;white-space:nowrap}.unsaved-dialog button:last-child{background:var(--action);color:var(--surface);border-color:var(--action)}.unsaved-dialog button:last-child:hover{background:var(--action-hover)}@media(max-width:700px){.schedule-editor{padding:20px}.schedule-tasks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;border:0}.schedule-tasks button{border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 8px}.schedule-tasks button[aria-pressed=true]{border-color:var(--action)}.schedule-workspace{margin-top:24px}.schedule-fields{grid-template-columns:1fr;gap:0}.schedule-date{max-width:none}.schedule-actions{flex-wrap:wrap}.schedule-actions .primary,.schedule-actions>p{width:100%}.lesson-move-dates{grid-template-columns:1fr;gap:20px}.lesson-move-dates>div+div{border-left:0;border-top:1px solid var(--line);padding:20px 0 0}.schedule-heading h2{font-size:20px}}.gate-kiosk{min-height:100dvh;background:var(--bg);padding:24px;color:var(--ink)}.gate-kiosk-header{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1100px;margin:0 auto 24px;background:transparent;padding:0;height:auto}.gate-keypad{width:min(420px,100%);margin:0 auto;text-align:center}.gate-academy{margin:0 0 8px;color:var(--muted);font-size:15px}.gate-keypad h1{font-size:27px;margin:0 0 24px}.gate-direction{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:20px}.gate-direction button{min-height:54px;font-weight:700;font-size:19px}.gate-direction button[aria-pressed=true]{background:var(--action-soft);border-color:var(--action);color:var(--action)}.gate-code{text-align:center;font-size:28px;letter-spacing:.3em;min-height:68px;caret-color:var(--action);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.gate-code::placeholder{font-size:17px;letter-spacing:0;color:var(--muted)}.gate-digits{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.gate-digits button{min-height:72px;font-size:28px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;touch-action:manipulation}.gate-digits button span{font-size:14px}.gate-submit{width:100%;min-height:56px;justify-content:center;font-size:19px;font-weight:700}.gate-kiosk .action,.gate-management .action{background:var(--action);border-color:var(--action);color:var(--surface)}.gate-kiosk .action:hover,.gate-management .action:hover{background:var(--action-hover);border-color:var(--action-hover)}.gate-kiosk .action:disabled,.gate-management .action:disabled{background:var(--soft);border-color:var(--line);color:var(--muted);opacity:1}.gate-feedback{min-height:110px;display:grid;align-content:start;padding:20px 0;font-size:14px}.gate-feedback p{margin:0}.gate-success{display:flex;gap:12px;text-align:left;color:var(--action);background:var(--action-soft);padding:16px;border-radius:var(--radius-sm)}.gate-success svg{flex-shrink:0}.gate-success strong{display:block;font-size:17px}.gate-success p{margin:4px 0 0;color:var(--action);font-size:13px}.gate-demo-dialog{border:0;padding:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;background:var(--bg);overscroll-behavior:contain}.gate-kiosk-overlay{min-height:100%;padding-bottom:0}.gate-management{margin:18px 0;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.gate-bar{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;padding:10px}.gate-bar>button{border:0;font-weight:600;justify-content:flex-start}.gate-bar>div{display:flex;gap:8px}.gate-content{padding:0 20px 20px}.gate-explanation{font-size:14px;margin:12px 0 20px}.gate-management>.error,.gate-management>.save-message{margin:12px}.gate-settings{border-top:1px solid var(--line);padding-top:20px;margin-bottom:24px}.gate-setting-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:24px 0 12px;flex-wrap:wrap}.gate-setting-heading:first-child{margin-top:0}.gate-setting-heading h3{margin:0}.gate-notice-form{display:flex;align-items:end;gap:12px;max-width:620px}.gate-link label,.gate-notice-form label,.gate-search{display:grid;gap:6px;font-size:14px;flex:1 1;min-width:0}.gate-notice-form button{flex-shrink:0;min-height:46px}.gate-template{font-size:14px;margin:16px 0}.gate-template summary{cursor:pointer;min-height:44px;padding:10px 0}.gate-template pre{white-space:pre-wrap;font:inherit;background:var(--soft);padding:14px;margin:0;border-radius:var(--radius-sm)}.gate-link{margin:16px 0}.gate-link input{font-size:12px}.gate-link>button{margin-top:8px}.gate-device{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.gate-device small{display:block}.gate-search{max-width:320px;margin-bottom:12px}.gate-code-list{max-height:380px;overflow:auto;overscroll-behavior:contain}.gate-student-code{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line);content-visibility:auto;contain-intrinsic-size:auto 72px}.gate-student-code small{display:block;font-size:12px}.gate-student-code form,.gate-student-code>div:last-child{display:flex;align-items:center;gap:10px}.gate-student-code form{flex-wrap:wrap}.gate-student-code form input{width:110px}.gate-pin{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.08em;font-weight:600}.gate-warning{color:var(--danger);display:block;font-size:13px}.gate-log-row{justify-content:space-between;padding:14px 0;border-top:1px solid var(--line);font-size:14px}.gate-log-row,.gate-log-row>div{display:flex;align-items:center;gap:12px}.gate-log-row>div{flex-wrap:wrap}.gate-badge,.gate-log-row time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.gate-badge{color:var(--action);background:var(--action-soft);padding:2px 6px;border-radius:4px;width:fit-content}@media(max-width:640px){.gate-kiosk{padding:18px 20px}.gate-kiosk-header{margin-bottom:20px;align-items:flex-start}.gate-kiosk-header .brand{font-size:17px}.gate-kiosk-header button{font-size:12px;padding:8px}.gate-keypad h1{font-size:24px;margin-bottom:20px}.gate-direction{margin-bottom:16px}.gate-digits{gap:8px;margin:12px 0}.gate-digits button{min-height:60px;font-size:25px}.gate-code{min-height:60px}.gate-feedback{min-height:100px;padding:16px 0}.gate-content{padding:0 14px 14px}.gate-bar>div{width:100%;justify-content:flex-end}.gate-notice-form{flex-wrap:wrap}.gate-notice-form label{flex-basis:100%}.gate-log-row,.gate-student-code{align-items:flex-start;flex-wrap:wrap}.gate-student-code>div:first-child{flex:1 1;min-width:110px}.gate-student-code form{flex-basis:100%}.gate-log-row>div:last-child{gap:8px}}.class-settings-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.class-settings-heading h2{margin:0}.class-settings-heading p{margin:8px 0 0;font-size:14px}.class-settings-heading button{min-height:44px;flex-shrink:0}.class-settings-form{max-width:620px}.class-settings-form h3{margin:0 0 24px;font-size:18px;overflow-wrap:anywhere}.class-settings-form fieldset{margin:0;display:grid;gap:16px}.class-settings-form label{display:grid;gap:8px;font-size:14px;max-width:360px;margin:0}.class-settings-form input,.class-settings-form select{min-height:46px}.class-settings-form .error,.class-settings-form .hint,.class-settings-form .notice{margin:0;line-height:1.6}.class-settings-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:8px}.class-settings-actions button{min-height:44px;white-space:nowrap}.class-settings-actions .primary{width:auto;min-width:120px;flex-shrink:0}.workspace-header-inner:has(.student-class-filters){grid-template-rows:80px auto;row-gap:0;padding-bottom:12px}.student-class-filters{grid-column:1/-1;grid-row:2;display:flex;align-items:center;gap:16px;min-width:0}.student-class-filters>span{flex-shrink:0;font-size:13px;color:var(--muted)}.student-class-options{display:flex;gap:8px;min-width:0;overflow-x:auto;padding:4px;scroll-padding-inline:4px;overscroll-behavior-inline:contain}.student-class-options button{min-height:44px;padding:10px 14px;flex-shrink:0;white-space:nowrap;touch-action:manipulation;font-size:14px}.student-class-options button small{margin-left:8px;font-size:12px;color:var(--muted)}.student-class-options button[aria-pressed=true]{background:var(--action-soft);color:var(--action);border-color:var(--action);font-weight:700}.student-class-options button[aria-pressed=true] small{color:var(--action)}:root:has(.student-class-filters){--workspace-header-offset:152px}@media(max-width:1000px){.workspace-header-inner:has(.student-class-filters){grid-template-rows:auto auto auto;row-gap:8px}.student-class-filters{grid-row:3}:root:has(.student-class-filters){--workspace-header-offset:208px}}@media(max-width:640px){.class-settings-heading{align-items:flex-start;flex-wrap:wrap}.class-settings-form{padding:20px}.student-class-filters{gap:8px}.student-class-filters>span{font-size:12px}.student-class-options button{padding-inline:12px}.class-settings-actions{flex-wrap:wrap}:root:has(.student-class-filters){--workspace-header-offset:196px}}.operations-title{align-items:center;margin-bottom:24px}.operations-title h2{margin:0 0 8px}.operations-title p{margin:0}.operations-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:24px 0 28px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.operations-metrics>div{padding:0 24px;border-right:1px solid var(--line)}.operations-metrics>div:first-child{padding-left:0}.operations-metrics>div:last-child{border-right:0}.operations-metrics dt{font-size:14px;color:var(--muted);margin-bottom:12px}.operations-metrics dd{font-size:32px;font-weight:700;line-height:1.2;margin:0;letter-spacing:-.5px}.operations-metrics dd small{font-size:14px;font-weight:400;color:var(--muted);margin-left:6px}.operations-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:24px;align-items:start}.operations-grid>.panel{min-width:0;margin:0}.operations-grid h3{margin:0}.source-comparison .section-title{align-items:center;gap:12px;flex-wrap:wrap}.source-comparison select{width:auto;max-width:100%;font-size:14px}.source-legend{display:flex;gap:20px;font-size:13px;color:var(--muted);margin:20px 0 28px}.source-legend>span{display:flex;gap:8px;align-items:center}.source-legend i{display:block;width:12px;height:12px;border-radius:3px}.source-received{background:#b5cbee}.source-registered{background:var(--action)}.source-bars{display:grid;gap:28px}.source-bar-label{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:14px}.source-bar-label>button{background:transparent;border:0;padding:8px 0;font-weight:600;text-align:left;min-height:44px;overflow-wrap:anywhere}.source-bar-label>button:hover{color:var(--action);text-decoration:underline;text-underline-offset:4px}.source-bar-label>span{flex-shrink:0;color:var(--muted);font-size:13px}.source-bar-track{height:16px;position:relative;overflow:hidden;background:var(--soft);border-radius:4px;margin:6px 0 12px}.source-bar-track>span{position:absolute;inset-block:0;left:0;border-radius:4px}.source-bar-received{background:#b5cbee}.source-bar-registered{background:var(--action)}.source-bar-caption{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted)}.operations-checks>h3{margin-bottom:20px}.operations-check-button{display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;width:100%;padding:18px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}.operations-check-button>span{display:grid;gap:8px;font-size:14px}.operations-check-button small{font-size:12px;font-weight:400;color:var(--muted)}.operations-check-button>strong{font-size:26px;color:var(--action);white-space:nowrap}.operations-check-button>strong small{margin-left:4px}.operations-check-button:hover:not(:disabled){background:var(--action-soft)}.operations-check-button:disabled{opacity:1;cursor:default}.operations-check-button:disabled>strong{color:var(--muted)}.operations-reading{padding-top:12px}.operations-reading h4{font-size:12px;font-weight:400;color:var(--muted);margin:20px 0 8px}.operations-reading p{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;margin:0;font-size:14px}.operations-reading p span{color:var(--muted)}.operations-rules{margin:24px 0;border-top:1px solid var(--line);padding-top:16px;font-size:14px}.operations-rules summary{min-height:44px;cursor:pointer;font-weight:600;padding-block:12px}.operations-rules p{max-width:75ch;color:var(--muted);line-height:1.8}.school-overview{min-width:0}.school-overview>.save-message:empty{display:none}.school-filters label{flex:1 1;min-width:150px}.school-rank{display:block;width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;text-align:left;padding:20px 0}.school-rank[aria-pressed=true]{color:var(--action)}.school-rank:hover{background:var(--action-soft)}.school-rank-label,.school-rank-meta{display:flex;justify-content:space-between;gap:12px;align-items:center}.school-rank-label strong{font-size:15px}.school-rank-label>span{font-size:18px;font-weight:600}.school-rank-track{display:block;height:8px;border-radius:3px;background:var(--soft);overflow:hidden;margin:12px 0}.school-rank-track>span{display:block;background:var(--action);height:100%;border-radius:3px}.school-rank-meta{font-size:12px;color:var(--muted)}.school-opportunity-value{font-size:28px;font-weight:700;color:var(--action);margin:20px 0}.school-opportunity-value small{display:block;margin-top:8px;font-size:13px;font-weight:400;color:var(--muted)}.school-detail{margin-top:24px}.school-grade-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:20px 0;border-top:1px solid var(--line)}.school-grade-grid>div{padding:20px 16px;border-bottom:1px solid var(--line)}.school-grade-grid h4{font-size:14px;margin:0 0 14px;color:var(--muted);font-weight:400}.school-grade-grid>div>strong{font-size:26px}.school-grade-grid strong small{font-size:13px;margin-left:4px;font-weight:400}.school-grade-grid p{font-size:13px;color:var(--muted);margin:8px 0}.school-grade-grid details{font-size:13px;margin-top:12px}.school-grade-grid summary{min-height:44px;padding-top:12px;cursor:pointer}.school-grade-grid details button{display:block;margin-bottom:8px}.school-count-fields{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:16px 0 24px}.school-editor fieldset{min-width:0;border:0;padding:0}.school-editor label{display:grid;gap:8px;font-size:14px}.school-editor .class-choice{display:flex;align-items:center}.school-count-fields input{min-width:0;width:100%}.school-strategy{padding-top:20px;border-top:1px solid var(--line);line-height:1.8}.school-editor h4{margin:24px 0 8px}.operations-checks>.hint{margin-top:24px;line-height:1.8}.operations-checks details{margin-top:24px}.operations-checks summary{min-height:44px;cursor:pointer}.operations-checks details button{display:block;margin:8px 0}@media(max-width:1100px){.operations-grid{grid-template-columns:minmax(0,1fr)}.operations-metrics>div{padding-inline:16px}}@media(max-width:640px){.operations-title{align-items:flex-start;gap:16px}.operations-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 0;padding:20px 0}.operations-metrics>div{padding-left:16px}.operations-metrics>div:nth-child(odd){padding-left:0}.operations-metrics>div:nth-child(2n){border-right:0}.operations-metrics dd{font-size:28px}.operations-grid{gap:16px}.operations-grid>.panel,.school-detail,.school-editor{padding:18px}.source-bar-label{align-items:flex-start;flex-wrap:wrap;gap:0}.source-bar-label>button{padding-block:10px}.source-bar-caption{flex-wrap:wrap;gap:6px}.school-grade-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.school-grade-grid>div{padding-inline:8px}.school-count-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.school-rank-meta{align-items:flex-start;flex-wrap:wrap;gap:4px}.school-filters label{min-width:140px}.school-rank-label strong{overflow-wrap:anywhere}}.operations-title>.primary{flex-shrink:0;padding-inline:20px}.operations-title>.primary,.school-editor .dialog-actions>.primary{width:auto;justify-content:center}.operations-overview{min-width:0}.operations-period{align-items:end}.operations-period label,.operations-period label:first-child{flex:0 1 200px}.operations-overview td,.operations-overview th{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.operations-overview th[scope=row]{background:transparent;font-weight:600}.intake-form small{font-size:12px;color:var(--muted);line-height:1.6}.school-filter-panel{display:grid;gap:12px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:24px 0}.school-toggle-line{display:flex;gap:24px;align-items:center}.school-toggle-line>span{min-width:42px;font-size:14px;color:var(--muted)}.school-toggle-buttons,.school-toggle-line>div{display:flex;gap:8px;flex-wrap:wrap}.school-toggle-buttons button,.school-toggle-line button{min-height:44px;padding:10px 14px;border:1px solid var(--line);background:var(--surface);color:var(--muted);white-space:nowrap}.school-toggle-buttons button[aria-pressed=true],.school-toggle-line button[aria-pressed=true]{background:var(--action-soft);border-color:var(--action);color:var(--action);font-weight:600}.school-toggle-line button small{margin-left:6px;font-size:12px;font-weight:400}.school-choice-field{display:grid;gap:8px;font-size:14px}.school-filters{align-items:end;gap:16px}.school-filters label:first-child{flex:1 1;min-width:180px}.school-rank{padding:14px 0}.school-rank-label strong small{display:block;font-size:12px;color:var(--muted);font-weight:400;margin-top:4px}.school-rank-track{margin:10px 0;height:6px}.school-pagination{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap;padding-top:20px}.school-pagination>span{margin-right:auto;font-size:13px;color:var(--muted)}.operations-title>div{min-width:0}.school-detail .hint{display:block}@media(max-width:640px){.operations-period label,.operations-period label:first-child{flex:1 1 140px;min-width:0}.school-toggle-line{gap:12px;align-items:flex-start}.school-toggle-line>span{padding-top:12px}.school-toggle-line>div{gap:6px}.school-toggle-line button{padding:10px 12px}.school-choice-field{width:100%}.school-ranking{max-height:none}.operations-title{flex-wrap:wrap}.operations-title>.primary{align-self:flex-start}}.headcount-overview{margin-top:20px;min-width:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.headcount-source{color:var(--muted);font-size:13px;margin:20px 0 0}.headcount-summary{display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,2fr);gap:40px;padding:28px 0 32px;border-bottom:1px solid var(--line)}.headcount-grand-total{display:flex;flex-direction:column;justify-content:center}.headcount-grand-total h3,.headcount-group-summary h3{font-size:14px;margin:0 0 16px;font-weight:500;color:var(--muted)}.headcount-grand-total p{margin:0 0 12px;display:flex;align-items:baseline;gap:8px}.headcount-grand-total strong{font-size:44px;line-height:1.2;letter-spacing:-1px}.headcount-grand-total p>span{font-size:16px;color:var(--muted)}.headcount-grand-total>small{font-size:12px;color:var(--muted)}.headcount-group-row{display:grid;grid-template-columns:48px minmax(0,1fr) 64px;gap:16px;align-items:center;padding:9px 0;font-size:14px}.headcount-group-track{height:10px;background:var(--soft);border-radius:3px;overflow:hidden}.headcount-group-track>span{display:block;height:100%;background:var(--action);border-radius:3px}.headcount-group-row>strong{text-align:right;font-size:17px}.headcount-grade-heading small,.headcount-group-row small{margin-left:4px;font-size:12px;font-weight:400;color:var(--muted)}.headcount-breakdown-title{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:28px 0 12px}.headcount-breakdown-title h3{font-size:17px;margin:0}.headcount-guide{font-size:13px;color:var(--muted);line-height:1.7;margin:0 0 24px;max-width:75ch}.headcount-grade-sections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.headcount-grade-section{min-width:0}.headcount-grade-heading{display:flex;align-items:baseline;justify-content:space-between;padding:0 0 16px;border-bottom:2px solid var(--ink)}.headcount-grade-heading h4{font-size:15px;margin:0}.headcount-grade-heading>strong{font-size:20px}.headcount-matrix-wrap{min-width:0}.headcount-matrix{table-layout:fixed;width:100%;margin:0;font-size:13px}.headcount-matrix td,.headcount-matrix th{padding:14px 4px;text-align:right;vertical-align:middle;white-space:nowrap}.headcount-matrix tr>:first-child{text-align:left;width:42px}.headcount-matrix thead th{font-size:12px;color:var(--muted)}.headcount-matrix tbody th,.headcount-matrix thead th{font-weight:500;background:transparent}.headcount-matrix td{font-size:15px}.headcount-matrix .headcount-zero{color:var(--muted);font-size:12px}.headcount-matrix .headcount-row-total{font-weight:650;color:var(--action)}.headcount-matrix tfoot td,.headcount-matrix tfoot th{font-weight:650;background:var(--soft);border-top:1px solid var(--line)}.headcounts-edit .headcount-grade-sections{grid-template-columns:1fr}.headcounts-edit .headcount-grade-section{max-width:740px}.headcount-matrix input{width:100%;min-width:0;min-height:44px;text-align:right;padding:8px;font-size:15px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.headcounts-edit .headcount-matrix tr>:first-child{width:56px}.headcounts-edit .headcount-matrix td{padding:8px 6px}.headcount-view .headcount-edit-button,.headcount-view .headcount-save{background:var(--action);color:var(--surface);border-color:var(--action)}.headcount-view .headcount-edit-button:hover,.headcount-view .headcount-save:hover{background:var(--action-hover)}.headcount-empty{padding:48px 0}.headcount-empty h3{font-size:17px;margin:0 0 12px}.headcount-empty p{font-size:14px;color:var(--muted);line-height:1.7}@media(max-width:1100px){.headcount-grade-sections{grid-template-columns:1fr}.headcount-grade-section{max-width:740px}.headcount-grade-heading{padding-top:8px}.headcount-matrix td,.headcount-matrix th{padding:14px 8px}.headcount-matrix{font-size:14px}}@media(max-width:640px){.headcount-view.panel{padding:18px}.headcount-summary{grid-template-columns:1fr;gap:28px;padding:20px 0 24px}.headcount-grand-total strong{font-size:36px}.headcount-group-row{gap:12px}.headcount-breakdown-title{align-items:flex-start;gap:12px}.headcount-breakdown-title .school-toggle-buttons{gap:6px}.headcount-breakdown-title button{padding:10px;font-size:12px}.headcount-matrix td,.headcount-matrix th{padding:14px 3px}.headcount-matrix tr>:first-child{width:42px}.headcount-matrix input{padding:8px 3px;font-size:14px}.headcounts-edit .headcount-matrix td{padding:8px 2px}.headcounts-edit .headcount-matrix tr>:first-child{width:42px}.headcount-view>.book-toolbar{gap:8px}.headcount-view>.book-toolbar>label{flex:1 1 100%;max-width:none}.headcount-grade-sections{gap:28px}}.school-overview .operations-title{margin-bottom:12px}.school-overview .school-filter-panel{display:flex;flex-wrap:wrap;gap:12px 28px;margin:12px 0;padding:12px 0}.school-overview .school-toggle-line{gap:12px}.school-overview .school-filters{margin-bottom:12px}.school-overview .operations-metrics{margin:12px 0 16px;padding:14px 0}.school-overview .operations-metrics dt{margin-bottom:6px}.school-overview .operations-metrics dd{font-size:26px}.school-comparison-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.school-comparison-heading h3{margin:0;font-size:16px}.school-comparison-heading h3 small{font-size:12px;font-weight:400;color:var(--muted);margin-left:10px}.school-opportunity-inline{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;margin-bottom:12px;background:var(--action-soft);border-radius:8px;font-size:13px}.school-opportunity-inline strong{margin-left:8px}.school-opportunity-inline button{min-height:44px;flex-shrink:0}.school-comparison-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:16px;align-items:start}.school-comparison-group{min-width:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface)}.school-comparison-title{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line)}.school-comparison-title h4{margin:0;font-size:15px}.school-comparison-title h4 span,.school-comparison-title>span{font-size:12px;color:var(--muted);font-weight:400}.school-comparison-title h4 span{margin-left:6px}.school-table-scroll{max-height:440px;overflow:auto;scroll-padding-top:40px;scrollbar-color:var(--muted) var(--soft);scrollbar-width:thin}.school-comparison-table{table-layout:fixed;width:100%;border-collapse:collapse;font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.school-comparison-table thead{position:sticky;top:0;z-index:1;background:var(--soft)}.school-comparison-table td,.school-comparison-table th{padding:6px 8px;border-bottom:1px solid var(--line);text-align:right;vertical-align:middle;white-space:nowrap}.school-comparison-table thead th{height:36px;font-size:12px;font-weight:500;color:var(--muted)}.school-comparison-table th:first-child{width:52%;text-align:left}.school-comparison-table th:nth-child(2){width:17%}.school-comparison-table th:nth-child(3){width:13%}.school-comparison-table th:nth-child(4){width:18%}.school-comparison-table tbody th{padding:0 8px;font-weight:500;white-space:normal}.school-comparison-table tbody tr{content-visibility:auto;contain-intrinsic-size:auto 52px}.school-comparison-table button{display:flex;flex-direction:column;justify-content:center;gap:2px;width:100%;min-height:52px;padding:6px 0;text-align:left;border:0;border-radius:0;background:transparent;color:inherit;font-size:13px;line-height:1.35;overflow-wrap:anywhere}.school-comparison-table button small{color:var(--muted);font-size:11px;font-weight:400}.school-comparison-table tbody tr:hover,.school-comparison-table tr[data-selected=true]{background:var(--action-soft)}.school-comparison-table tr[data-selected=true] button,.school-students-present{color:var(--action);font-weight:700}.school-comparison-table button:focus-visible{outline:2px solid var(--action);outline-offset:-2px}.school-list-footer{margin:0;padding:8px 14px;font-size:11px;color:var(--muted);border-top:1px solid var(--line)}.school-missing{margin-top:12px}.school-missing summary{min-height:44px;padding:12px 0}.school-missing button{margin:4px}.school-detail{scroll-margin-top:90px}@media(max-width:640px){.school-overview .school-filter-panel{display:grid;gap:8px}.school-comparison-heading h3 small{display:block;margin:6px 0 0}.school-opportunity-inline{align-items:flex-start;flex-wrap:wrap}.school-opportunity-inline>span{line-height:1.7}.school-comparison-columns{grid-template-columns:minmax(0,1fr)}.school-table-scroll{max-height:360px}.school-overview .operations-metrics{gap:14px 0}.school-overview .operations-metrics dd{font-size:24px}}.school-overview>.hint{margin:6px 0 10px}.school-overview .operations-title{min-height:44px;margin-bottom:4px}.school-overview .school-filter-panel{padding:8px 0;margin:10px 0}.school-overview .operations-metrics{padding:10px 0;margin:10px 0 12px}.school-overview .operations-metrics>div{display:flex;align-items:center;gap:10px}.school-overview .operations-metrics dt{margin:0;font-size:13px}.school-overview .operations-metrics dd{font-size:22px}.school-comparison-heading>.hint{margin:0}.school-opportunity-inline{padding:0 12px;margin-bottom:10px}.school-comparison-table tbody th{background:transparent}.school-comparison-table button{align-items:flex-start;min-height:44px;padding:4px 0}.school-comparison-table tbody tr{contain-intrinsic-size:auto 44px}.school-table-scroll{max-height:clamp(180px,calc(100dvh - 650px),440px)}@media(max-width:640px){.school-overview .operations-metrics>div{display:block}.school-overview .operations-metrics dt{margin-bottom:4px}.school-table-scroll{max-height:360px}.school-opportunity-inline{padding:6px 12px}.school-comparison-heading>.hint{display:none}}:root{--chart-1:#2864d9;--chart-2:#1595a3;--chart-3:#a46c13;--chart-4:#7656bd;--chart-5:#477654;--chart-6:#7a8392}.chart-section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.chart-section-heading h3{margin:0}.chart-view-toggle{flex-shrink:0}.chart-view-toggle button{font-size:12px;min-height:44px;padding:8px 12px}.distribution-chart{margin:12px 0;min-width:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.distribution-chart figcaption{font-size:13px;font-weight:600;margin:0 0 12px}.distribution-pie{display:grid;grid-template-columns:minmax(140px,200px) minmax(0,1fr);gap:12px 24px;align-items:center}.distribution-chart figcaption{grid-column:1/-1}.distribution-donut{max-width:200px;width:100%;margin-inline:auto}.distribution-donut svg{display:block;width:100%;height:auto}.distribution-total{font-size:23px;font-weight:700;fill:var(--ink)}.distribution-unit{font-size:12px;fill:var(--muted)}.distribution-legend{list-style:none;margin:0;padding:0;min-width:0;max-height:300px;overflow:auto}.distribution-legend li{border-bottom:1px solid var(--line);padding-block:5px}.distribution-legend li:last-child{border:0}.distribution-legend button,.distribution-legend-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;padding:6px 0;font-size:13px;border:0;background:transparent;text-align:left}.distribution-legend button:hover{background:var(--action-soft)}.distribution-label{display:flex;gap:8px;align-items:center;min-width:0;overflow-wrap:anywhere}.distribution-label i{width:10px;height:10px;flex-shrink:0;border-radius:2px}.distribution-value{display:flex;gap:10px;white-space:nowrap;align-items:center}.distribution-value strong{font-weight:600}.distribution-value small{min-width:40px;text-align:right;color:var(--muted);font-size:12px}.distribution-track{height:8px;background:var(--soft);border-radius:4px;overflow:hidden;margin-bottom:6px}.distribution-track>span{display:block;height:100%;border-radius:4px}.source-donuts{display:grid;gap:20px}.headcount-group-summary .distribution-pie{grid-template-columns:minmax(130px,170px) minmax(0,1fr)}.school-overview>.distribution-chart{padding:16px 0;border-block:1px solid var(--line)}@media(max-width:640px){.distribution-pie,.headcount-group-summary .distribution-pie{grid-template-columns:minmax(0,1fr);gap:8px}.distribution-donut{max-width:160px}.distribution-value{gap:6px}.chart-section-heading{align-items:flex-start}.headcount-group-summary .chart-view-toggle button{padding:8px 10px}}.school-distance-note{margin:8px 0;font-size:12px;color:var(--muted);line-height:1.6}.school-distance-note small{font-size:12px;margin-left:8px}.school-overview .school-table-scroll{max-height:clamp(180px,calc(100dvh - 690px),440px)}@media(max-width:640px){.school-overview .school-table-scroll{max-height:360px}.school-distance-note small{display:block;margin-left:0}}.operations-dashboard{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dashboard-heading{align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:20px}.dashboard-heading h2{margin:0 0 8px}.dashboard-heading p{margin:0;font-size:14px}.dashboard-heading time{font-size:13px;color:var(--muted)}.dashboard-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 24px;padding:18px 0;border-block:1px solid var(--line)}.dashboard-facts>div{padding:0 20px;border-right:1px solid var(--line)}.dashboard-facts>div:first-child{padding-left:0}.dashboard-facts>div:last-child{border:0}.dashboard-facts dt{font-size:14px}.dashboard-facts dd{margin:10px 0 6px;font-size:28px;font-weight:700}.dashboard-facts dd small{font-size:14px;font-weight:400;margin-left:4px}.dashboard-caption,.dashboard-facts span{font-size:12px;color:var(--muted);line-height:1.6}.dashboard-summaries{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:24px}.dashboard-summary{min-width:0;border-top:2px solid var(--line);padding-top:12px}.dashboard-section-title{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.dashboard-section-title h3{margin:0;font-size:17px}.dashboard-section-title button{display:flex;align-items:center;gap:6px;border:0;background:transparent;padding:8px 0;font-size:13px;min-height:44px;color:var(--action)}.dashboard-section-title button:hover{text-decoration:underline;text-underline-offset:4px}.dashboard-snapshot{display:flex;justify-content:space-between;align-items:center;margin:12px 0 16px;gap:12px}.dashboard-snapshot>span{font-size:13px;color:var(--muted)}.dashboard-snapshot strong{font-size:22px}.dashboard-snapshot small{font-size:13px;font-weight:400;margin-left:4px}.dashboard-headcounts .distribution-pie{grid-template-columns:minmax(100px,130px) minmax(0,1fr);gap:10px}.dashboard-headcounts .distribution-value{gap:6px}.dashboard-intake-totals{display:flex;gap:16px;flex-wrap:wrap;margin:12px 0 20px}.dashboard-intake-totals dt{font-size:12px;color:var(--muted);margin-bottom:8px}.dashboard-intake-totals dd{margin:0;font-size:18px;font-weight:600}.dashboard-caption{margin:10px 0 14px}.dashboard-empty{padding:24px 0;font-size:14px;color:var(--muted)}@media(max-width:1200px){.dashboard-summaries{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-summary:last-child{grid-column:1/-1}.dashboard-summary:last-child .distribution-legend{max-height:180px}.dashboard-facts>div{padding-inline:12px}}@media(max-width:640px){.dashboard-heading{margin-bottom:16px}.dashboard-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 0;padding-block:16px}.dashboard-facts>div,.dashboard-facts>div:first-child{padding-inline:12px}.dashboard-facts>div:nth-child(2){border:0}.dashboard-facts dd{font-size:24px}.dashboard-facts span{font-size:11px}.dashboard-summaries{grid-template-columns:1fr;gap:20px}.dashboard-summary:last-child{grid-column:auto}.dashboard-headcounts .distribution-pie{grid-template-columns:minmax(100px,130px) minmax(0,1fr)}}.campus-trend{background:#fff;border:1px solid #e5e5e5;border-radius:14px;margin:24px 0;padding:20px;min-width:0}.campus-trend-controls,.campus-trend-controls>div,.campus-trend-heading,.campus-trend-heading>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.campus-trend-controls,.campus-trend-heading{justify-content:space-between;gap:16px}.campus-trend-heading h3{margin:0;font-size:16px}.campus-trend-heading span{color:#616161;font-size:13px}.campus-trend button{min-height:44px;padding:8px 14px;white-space:nowrap}.campus-trend button[aria-pressed=true]{color:#1b5fd1;background:#eef4ff;border-color:#1b5fd1}.campus-trend-controls{margin:16px 0}.campus-trend-summary{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px;margin:14px 0}.campus-trend-summary>strong{font-size:26px;letter-spacing:-.02em}.campus-trend-summary>span{font-size:13px;color:#616161}.campus-trend-legend{list-style:none;padding:0;display:flex;gap:12px 24px;flex-wrap:wrap;margin:0 0 8px;font-size:13px}.campus-trend-legend li{display:flex;align-items:center;gap:7px}.campus-trend-legend i{width:10px;height:10px;border-radius:2px}.campus-trend-legend li>span{color:#616161;font-size:12px}.campus-trend figure{margin:0}.campus-trend-scroll{overflow:auto;max-width:100%}.campus-trend-chart{display:block;width:100%;min-width:680px;height:230px}.campus-trend-chart text{font-size:12px;fill:#616161;font-family:inherit}.campus-trend-point{cursor:pointer}.campus-trend-point:focus-visible{outline:none}.campus-trend-point:focus-visible circle:last-of-type{stroke:#171717;stroke-width:3}.campus-trend figcaption,.campus-trend-note{font-size:12px;color:#616161;line-height:1.6;margin:8px 0 0}.campus-trend table{width:100%;min-width:520px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.campus-trend td,.campus-trend th{text-align:right;padding:8px 12px;border-bottom:1px solid #e5e5e5}.campus-trend th:first-child{text-align:left}.campus-trend caption{text-align:left;font-size:13px;color:#616161;padding:8px 0}.campus-trend tr.selected{background:#eef4ff}.campus-trend-empty{color:#616161;padding:24px 0}@media(max-width:600px){.campus-trend{padding:14px}.campus-trend-heading{align-items:flex-start}.campus-trend-controls>div{gap:6px}.campus-trend-controls button{padding:8px 10px}.campus-trend-summary{gap:8px}.campus-trend-legend{gap:8px 16px}}.campus-trend-heading .lucide{flex-shrink:0;width:19px;height:19px}