:root{--color-background:#f7f7f9;--color-surface:#fff;--color-surface-subtle:#f2f1f4;--color-surface-brand:#f9eef3;--color-text:#20242b;--color-text-secondary:#626772;--color-border:#dedfe4;--color-border-strong:#c7c8cf;--color-brand:#87304f;--color-brand-hover:#722640;--color-brand-pressed:#5f1f35;--color-focus:#1666b1;--color-success:#176b45;--color-success-surface:#e9f6ef;--color-warning:#7a4b00;--color-warning-surface:#fff4dc;--color-danger:#a12b3a;--color-danger-surface:#fcecee;--color-neutral:#5f6470;--color-neutral-surface:#eff0f3;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--radius-pill:999px;--font-body:1rem;--font-secondary:.875rem;--font-card-title:1.125rem;--font-page-title:clamp(1.5rem, 5vw, 1.75rem);--line-body:1.55;--touch-target:2.75rem;--control-height:3rem;--mobile-gutter:1rem;--content-standard:68rem;--content-wide:90rem;--content-narrow:32rem;--sidebar-width:16.5rem;--bottom-nav-height:4.5rem;--shadow-low:0 1px 2px #191b1f0d, 0 6px 18px #191b1f0a;--shadow-popover:0 12px 32px #191b1f24}*{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:var(--color-background);min-width:320px;min-height:100%}body,#root{min-height:100%;margin:0}body{min-width:320px;color:var(--color-text);background:var(--color-background);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--font-body);line-height:var(--line-body);font-synthesis:none;text-rendering:optimizelegibility}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{overflow-wrap:anywhere;margin-bottom:0;line-height:1.2}h2{font-size:var(--font-page-title);letter-spacing:-.025em}h3{font-size:var(--font-card-title)}h4{font-size:.95rem}p{margin-bottom:0}a{color:var(--color-brand)}button,input,select{font:inherit}button,summary,a{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}input,select{width:100%;min-height:var(--control-height);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);padding:.7rem .8rem}input:hover,select:hover{border-color:var(--color-neutral)}input:disabled,select:disabled{color:var(--color-text-secondary);background:var(--color-surface-subtle)}fieldset{border:0;min-width:0;margin:0;padding:0}small{font-size:var(--font-secondary)}@media (prefers-reduced-motion:no-preference){button,a,input,select{transition:color .12s,background .12s,border-color .12s,box-shadow .12s}}.stack{gap:var(--space-4);display:grid}.student-fields{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));display:grid}.student-data{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));margin:0;display:grid}.student-data dt{color:var(--color-text-secondary);font-size:var(--font-secondary)}.student-data dd{overflow-wrap:anywhere;margin:0}.eyebrow{margin-bottom:var(--space-1);color:var(--color-brand);letter-spacing:.09em;text-transform:uppercase;font-size:.75rem;font-weight:800}.muted,.supporting-copy,.page-header__description{color:var(--color-text-secondary)}.supporting-copy,.page-header__description{line-height:1.55}.card,.panel,.empty-state{padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-low)}.button,button{min-height:var(--touch-target);color:#fff;background:var(--color-brand);border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000;padding:.68rem 1rem;font-weight:750}.button:hover,button:hover{background:var(--color-brand-hover)}.button:active,button:active{background:var(--color-brand-pressed)}.button:disabled,button:disabled{color:#777b84;cursor:not-allowed;opacity:1;background:#e5e5e9}.button--secondary{color:var(--color-brand);background:var(--color-surface);border-color:#cda9b7}.button--secondary:hover{background:var(--color-surface-brand)}.button--ghost{color:var(--color-text-secondary);background:0 0;border-color:#0000}.button--ghost:hover{color:var(--color-text);background:var(--color-surface-subtle)}.button--danger{background:var(--color-danger)}.button--compact{min-height:2.5rem;font-size:var(--font-secondary);padding-block:.45rem}.badge,.build-badge{width:fit-content;min-height:1.75rem;color:var(--color-neutral);background:var(--color-neutral-surface);border-radius:var(--radius-pill);white-space:nowrap;align-items:center;padding:.2rem .6rem;font-size:.75rem;font-weight:800;display:inline-flex}.badge--brand{color:var(--color-brand);background:var(--color-surface-brand)}.badge--success{color:var(--color-success);background:var(--color-success-surface)}.badge--warning{color:var(--color-warning);background:var(--color-warning-surface)}.badge--danger{color:var(--color-danger);background:var(--color-danger-surface)}.alert{gap:var(--space-1);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-secondary);border:1px solid #0000;display:grid}.alert--neutral{color:var(--color-neutral);background:var(--color-neutral-surface);border-color:#d9dae0}.alert--warning,.staffing-warning{color:var(--color-warning);background:var(--color-warning-surface);border-color:#efd498}.alert--danger,.error-message{color:var(--color-danger);background:var(--color-danger-surface);border-color:#efbec5}.error-message{padding:var(--space-3);border-radius:var(--radius-md)}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:grid}.page-header__copy{min-width:0}.page-header__description{max-width:44rem;margin-top:var(--space-2)}.page-header__actions{width:100%}.section-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.actions,.status-line{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.page-header__actions .actions{width:100%}.field{gap:var(--space-2);color:var(--color-text);font-size:var(--font-secondary);font-weight:700;display:grid}.checkbox-row{align-items:center;gap:var(--space-3);min-height:var(--touch-target);cursor:pointer;font-size:var(--font-secondary);font-weight:700;display:flex}.checkbox-row input[type=checkbox]{width:1.125rem;height:1.125rem;min-height:1.125rem;accent-color:var(--color-brand);border-radius:.2rem;flex:0 0 1.125rem;margin:0;padding:0}.empty-state{color:var(--color-text-secondary);text-align:center}.empty-state h3{margin-bottom:var(--space-2);color:var(--color-text)}.sync-indicator{gap:var(--space-2);min-width:0;color:var(--color-neutral);display:grid}.sync-indicator__state{align-items:center;gap:var(--space-2);min-height:2rem;font-size:var(--font-secondary);font-weight:750;display:flex}.sync-indicator__action{flex:0 0 var(--touch-target);width:var(--touch-target);min-height:var(--touch-target);color:currentColor;border-radius:var(--radius-pill);background:0 0;border-color:#0000;place-items:center;margin-left:auto;padding:0;display:grid}.sync-indicator__action:hover{color:var(--color-text);background:var(--color-surface-subtle)}.sync-indicator--success{color:var(--color-success)}.sync-indicator--warning{color:var(--color-warning)}.sync-indicator--danger{color:var(--color-danger)}.sync-indicator__details{gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--font-secondary);display:grid}.sync-indicator__pending{color:var(--color-warning);font-size:var(--font-secondary);font-weight:750}.entity-header,.teacher-identity{align-items:center;gap:var(--space-3);display:flex}.entity-header{justify-content:space-between;align-items:flex-start}.entity-meta{gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--font-secondary);flex-wrap:wrap;display:flex}.entity-meta span:not(:last-child):after{margin-left:var(--space-2);content:"·";color:var(--color-border-strong)}.entity-section{gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border);display:grid}.entity-section--economy{margin:0 calc(var(--space-5) * -1) calc(var(--space-5) * -1);padding:var(--space-5);border-radius:0 0 var(--radius-lg) var(--radius-lg);background:#faf9fb}.teacher-avatar{width:2.75rem;height:2.75rem;color:var(--color-brand);background:var(--color-surface-brand);border-radius:var(--radius-pill);flex:0 0 2.75rem;place-items:center;font-weight:800;display:grid}.assignment{gap:var(--space-1);padding:var(--space-3) 0;border-top:1px solid var(--color-border);display:grid}.schedule-rule{padding:var(--space-4) 0;border-top:1px solid var(--color-border)}.schedule-rule>.assignment{padding-left:var(--space-3);border-left:3px solid #c98aa2}.calendar-item{padding-left:var(--space-3);border-left:3px solid var(--color-brand)}.calendar-item h4,.calendar-item p{margin:var(--space-1) 0}.editor{max-width:var(--content-narrow);border-color:#c98aa2}.operational-surface{scroll-margin-top:calc(4rem + var(--space-4) + env(safe-area-inset-top));overflow-anchor:none}.operational-surface>[tabindex="-1"]:focus{outline:none}.page:has(.operational-surface){padding-bottom:max(70dvh, calc(var(--bottom-nav-height) + var(--space-8)))}@media (width>=64rem){.operational-surface{scroll-margin-top:var(--space-6)}}.dialog-backdrop{z-index:50;width:100%;max-width:none;height:100%;max-height:none;padding:var(--space-4);background:0 0;border:0;place-items:center;margin:0;display:grid;position:fixed;inset:0;overflow:auto}.dialog-backdrop::backdrop{background:#20242b8f}.confirmation-dialog{width:min(100%,30rem);box-shadow:var(--shadow-popover)}.confirmation-dialog__actions{justify-content:flex-end}.app-shell{min-height:100dvh;padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom))}.app-main{min-width:0}.app-header{z-index:20;justify-content:space-between;align-items:center;gap:var(--space-3);min-height:4rem;padding:calc(var(--space-2) + env(safe-area-inset-top)) max(var(--mobile-gutter), env(safe-area-inset-right)) var(--space-2) max(var(--mobile-gutter), env(safe-area-inset-left));background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;position:sticky;top:0}.app-header__brand,.brand-lockup{align-items:center;gap:var(--space-3);min-width:0;display:flex}.brand-mark{color:#fff;background:var(--color-brand);border-radius:.7rem;flex:0 0 2.25rem;place-items:center;width:2.25rem;height:2.25rem;font-weight:850;display:grid}.brand-mark--large{border-radius:.9rem;width:3rem;height:3rem;font-size:1.25rem}.app-header__name{font-size:var(--font-secondary);font-weight:800}.app-header__section{color:var(--color-text-secondary);font-size:.75rem}.app-header__tools{align-items:center;gap:var(--space-2);display:flex}.app-header__tools>.sync-indicator{display:grid}.app-content{width:min(100%, var(--content-standard));padding:var(--space-5) var(--mobile-gutter) var(--space-10);margin-inline:auto}.page{width:100%}.sidebar{display:none}.bottom-nav{z-index:30;min-height:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom));padding:var(--space-2) max(var(--space-2), env(safe-area-inset-right)) calc(var(--space-2) + env(safe-area-inset-bottom)) max(var(--space-2), env(safe-area-inset-left));border-top:1px solid var(--color-border);background:#fffffffa;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav:has(.nav-link:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}.nav-link{justify-content:center;align-items:center;gap:var(--space-1);min-width:0;min-height:var(--touch-target);padding:var(--space-1);color:var(--color-text-secondary);border-radius:var(--radius-md);text-align:center;font-size:.72rem;font-weight:750;text-decoration:none;display:flex}.bottom-nav .nav-link{flex-direction:column}.nav-link svg{flex:none;width:1.35rem;height:1.35rem}.nav-link--active{color:var(--color-brand);background:var(--color-surface-brand)}.account-menu{position:relative}.account-menu summary{align-items:center;gap:var(--space-2);min-height:var(--touch-target);padding:var(--space-1);border-radius:var(--radius-md);cursor:pointer;list-style:none;display:flex}.account-menu summary::-webkit-details-marker{display:none}.account-avatar{width:2.25rem;height:2.25rem;color:var(--color-brand);background:var(--color-surface-brand);border-radius:var(--radius-pill);flex:0 0 2.25rem;place-items:center;font-size:.78rem;font-weight:850;display:grid}.account-summary__copy,.account-chevron{display:none}.account-popover{top:calc(100% + var(--space-2));z-index:40;gap:var(--space-2);width:min(18rem,100vw - 2rem);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-popover);display:grid;position:absolute;right:0}.account-popover__name{font-weight:800}.account-popover__meta,.account-email{color:var(--color-text-secondary);font-size:var(--font-secondary);overflow-wrap:anywhere}.account-signout{justify-content:flex-start;width:100%}.login-page{align-content:center;gap:var(--space-6);width:min(100%,30rem);min-height:100dvh;padding:calc(var(--space-6) + env(safe-area-inset-top)) var(--mobile-gutter) calc(var(--space-6) + env(safe-area-inset-bottom));margin-inline:auto;display:grid}.login-brand{justify-content:center;align-items:center;gap:var(--space-3);font-size:1.2rem;font-weight:850;display:flex}.login-panel{padding:var(--space-6)}.login-heading{gap:var(--space-2);display:grid}.login-footer{color:var(--color-text-secondary);font-size:var(--font-secondary);text-align:center}.domain-context{margin-bottom:var(--space-5)}.domain-context:empty{display:none}.domain-context__organization{color:var(--color-text-secondary);font-size:var(--font-secondary);font-weight:700}.overview-checks,.overview-section{gap:var(--space-4);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-low);display:grid}.overview-checks .sync-indicator{padding:var(--space-3);background:var(--color-surface-subtle);border-radius:var(--radius-md)}.metric-grid{gap:var(--space-3);display:grid}.metric{gap:var(--space-1);min-height:6.5rem;padding:var(--space-4);background:var(--color-surface-subtle);border-radius:var(--radius-md);align-content:end;display:grid}.metric strong,.result-card strong{font-size:1.1rem}.metric-label{color:var(--color-text-secondary);font-size:var(--font-secondary);font-weight:700}.metric-list{border-top:1px solid var(--color-border);gap:0;display:grid}.metric--compact{min-height:var(--touch-target);justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);display:flex}.metric--compact strong{color:var(--color-text-secondary);font-size:var(--font-secondary)}.overview-results{gap:var(--space-3);display:grid}.result-card{gap:var(--space-2);border-top:3px solid var(--color-brand);display:grid}.result-card--transfer{border-top-color:var(--color-warning)}.result-card small{color:var(--color-text-secondary)}.today-placeholder{gap:var(--space-3);display:grid}.management-grid{gap:var(--space-4);display:grid}.management-card{gap:var(--space-3);grid-template-columns:auto 1fr;align-items:center;display:grid}.management-card__icon{width:2.75rem;height:2.75rem;color:var(--color-brand);background:var(--color-surface-brand);border-radius:var(--radius-md);place-items:center;display:grid}.management-card__link{min-height:var(--touch-target);color:var(--color-brand);grid-column:1/-1;justify-content:space-between;align-items:center;font-weight:800;text-decoration:none;display:flex}.calendar-grid{gap:var(--space-3);display:grid}.day-card{box-shadow:none}.week-controls{grid-template-columns:minmax(var(--touch-target), auto) minmax(6rem, 1fr) minmax(var(--touch-target), auto);gap:var(--space-2);display:grid}.week-range{color:var(--color-text-secondary);font-size:var(--font-secondary);text-align:center;font-weight:700}@media (width>=42rem){.app-content{padding:var(--space-8)}.page-header{display:flex}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.overview-results,.calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-header__actions{width:auto;max-width:55%}}@media (width>=64rem){.app-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);padding-bottom:0;display:grid}.sidebar{height:100dvh;min-height:100dvh;padding:var(--space-6) var(--space-4);background:var(--color-surface);border-right:1px solid var(--color-border);flex-direction:column;display:flex;position:sticky;top:0}.brand-lockup{padding:0 var(--space-2) var(--space-6)}.brand-lockup div,.account-summary__copy{min-width:0;display:grid}.brand-lockup small,.account-summary__copy small{color:var(--color-text-secondary)}.sidebar-nav{gap:var(--space-1);display:grid}.sidebar-nav .nav-link{justify-content:flex-start;gap:var(--space-3);padding:var(--space-3);font-size:.95rem}.sidebar-footer{gap:var(--space-4);padding-top:var(--space-5);border-top:1px solid var(--color-border);margin-top:auto;display:grid}.sidebar .account-summary__copy,.sidebar .account-chevron{display:grid}.sidebar .account-menu summary{padding:var(--space-2)}.sidebar .account-chevron{margin-left:auto}.sidebar .account-popover{right:auto;bottom:calc(100% + var(--space-2));top:auto;left:0}.app-header,.bottom-nav{display:none}.app-content{width:min(100%, var(--content-wide));padding:var(--space-10)}.calendar-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.course-card{padding:var(--space-6)}}@media (width>=82rem){.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr))}}@media (width<=23rem){.app-header__tools>.sync-indicator--success .sync-indicator__state>span{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.page-header{display:grid}.page-header__actions{width:100%}.page-header__actions .actions{display:grid}.bottom-nav{padding-inline:var(--space-1)}.bottom-nav .nav-link{font-size:.68rem}.card,.panel,.overview-section,.overview-checks{padding:var(--space-4)}.entity-section--economy{margin-inline:calc(var(--space-4) * -1);margin-bottom:calc(var(--space-4) * -1)}}
