:root{--navy:#102d42;--teal:#087f7a;--ink:#142e40;--muted:#526478;--line:#e2e9eb;--bg:#f5f7f7;--red:#c9383b}*{box-sizing:border-box}body{margin:0;background:var(--bg);font:0.9375rem/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink)}aside{position:fixed;width:225px;inset:0 auto 0 0;background:var(--navy);color:white;padding:28px 18px;display:flex;flex-direction:column}.brand{font-size:2rem;letter-spacing:-1px;color:#65d4c0}.brand b{color:white}.school{font-size:0.625rem;letter-spacing:1.5px;color:#afc6d1;margin:30px 10px 15px}nav button{display:block;width:100%;text-align:left;background:none;color:#cbdae2;margin:6px 0;padding:12px 14px;border:0;border-radius:8px}nav button.active{background:#244b60;color:white}nav button span{display:inline-block;width:26px}.asidebottom{margin-top:auto;font-size:0.75rem;color:#d2e2e8;padding:20px 8px;border-top:1px solid #3a5363}.asidebottom small{color:#99b6c6}.workspace{margin-left:225px;padding:28px 34px}header{display:flex;justify-content:space-between;align-items:center;gap:18px}.eyebrow{font-size:0.625rem;font-weight:700;letter-spacing:2px;color:var(--teal)}h1{font-size:2rem;letter-spacing:-1px;margin:3px 0 16px}h2{font-size:1.125rem;margin:0 0 15px}h3{margin:0 0 10px;font-size:1rem}p{margin:6px 0 14px}.muted,small{color:var(--muted)}.toptools{display:flex;align-items:center;gap:15px}.demo,.pill{display:inline-block;background:#e6f4ef;color:#087567;border-radius:20px;padding:5px 10px;font-size:0.6875rem;font-weight:600}.demobar{font-size:0.75rem;color:var(--muted);border-bottom:1px solid var(--line);padding:0 0 17px;margin-bottom:24px}button,select,input,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:white;color:var(--ink);border-radius:7px;padding:9px 14px;font-weight:600}button:hover{filter:brightness(.96)}button:disabled{cursor:not-allowed;opacity:.55}button.primary{background:var(--teal);color:white;border-color:var(--teal)}button.danger{background:var(--red);color:white;border-color:var(--red)}button.link{border:0;background:transparent;color:var(--teal);padding:0}select,input,textarea{border:1px solid #cbd8dc;border-radius:6px;padding:9px;background:white;color:var(--ink)}select{max-width:100%}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:22px 0}.card{border:1px solid var(--line);border-radius:12px;background:white;padding:23px;box-shadow:0 3px 12px #14394c03}.metric{font-size:2.125rem;font-weight:700;letter-spacing:-1px;margin:8px 0;color:var(--teal)}.statlabel{font-size:0.8125rem;color:var(--muted)}.grid{display:grid;grid-template-columns:1.7fr 1fr;gap:20px;margin-bottom:20px}.cardhead,.row{display:flex;justify-content:space-between;align-items:center;gap:14px}.row{padding:14px 0;border-bottom:1px solid var(--line)}.row:last-child{border:0}.intro{display:flex;justify-content:space-between;gap:15px;align-items:center}.intro p{color:var(--muted)}.alert{border:1px solid #edb9bb;background:#fff7f7;margin-bottom:20px}.alert .pill{background:#ffe0e0;color:#a92830}.alert h3{color:#9f2830;margin-top:12px}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.timeline{font-size:0.75rem;display:flex;gap:20px;margin-top:20px;color:#59717d}.timeline .done{color:var(--teal);font-weight:700}.chart{display:flex;align-items:end;gap:20px;height:160px;padding-top:10px}.barcol{flex:1;text-align:center;font-size:0.75rem;color:var(--muted)}.bar{background:linear-gradient(#23a99c,#bde8de);border-radius:5px 5px 0 0;margin-top:6px}table{border-collapse:collapse;width:100%;font-size:0.8125rem}td,th{text-align:left;border-bottom:1px solid var(--line);padding:14px 8px}th{font-size:0.6875rem;color:var(--muted);font-weight:600;background:#f8fafb}.scroll{overflow:auto}.avatar{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#dcefeb;margin-right:8px;color:var(--teal)}.progress{height:8px;background:#eef2f3;border-radius:8px;margin:8px 0 18px;overflow:hidden}.progress i{display:block;height:100%;background:var(--teal);border-radius:8px}.notice{background:#edf6f7;border-radius:7px;padding:14px;color:#3c626f;font-size:0.75rem;margin:18px 0}.settingsrow{padding:22px 0;border-bottom:1px solid var(--line)}.checks{display:flex;flex-wrap:wrap;gap:14px;margin:10px 0}label{font-size:0.8125rem}input[type=checkbox],input[type=radio]{accent-color:var(--teal)}input[type=number]{width:90px}.formfield{display:block;margin:15px 0}.formfield input,.formfield textarea,.formfield select{display:block;width:100%;margin-top:7px}textarea{min-height:80px}.empty{text-align:center;padding:35px 20px;color:var(--muted)}.empty strong{display:block;color:var(--ink);font-size:1.1875rem;margin:10px}.urgent{font-size:1.125rem;padding:20px;width:100%;margin:15px 0}footer{font-size:0.6875rem;color:var(--muted);display:flex;justify-content:space-between;gap:15px;margin-top:32px}dialog{border:1px solid var(--line);border-radius:14px;padding:26px;max-width:520px;width:calc(100% - 30px);color:var(--ink)}dialog::backdrop{background:#0a243b80}.choice{display:block;border:1px solid var(--line);padding:13px;border-radius:7px;margin:8px 0}.error{color:#ab3035;font-size:0.8125rem}#toast{position:fixed;bottom:25px;right:25px;background:var(--navy);color:white;padding:15px 22px;border-radius:8px;display:none;z-index:10}.tabs{display:flex;gap:8px;margin:15px 0}.badge{color:#a86512;background:#fff4df;padding:4px 8px;border-radius:5px;font-size:0.6875rem}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:15px}@media(max-width:1050px){.stats{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.toptools{flex-direction:column;align-items:flex-end}aside{width:185px}.workspace{margin-left:185px;padding:22px}}@media(max-width:680px){aside{position:static;width:auto;padding:15px}.brand{font-size:1.5625rem}.school,.asidebottom{display:none}nav{display:flex;overflow:auto}nav button{width:auto;white-space:nowrap;font-size:0.75rem;padding:8px}nav button span{display:none}.workspace{margin:0;padding:18px}h1{font-size:1.5625rem}.demo{display:none}.intro{align-items:flex-start;flex-direction:column}.stats{gap:10px}.card{padding:16px}.metric{font-size:1.75rem}.timeline{gap:8px;flex-wrap:wrap}footer{display:block}.twocol{grid-template-columns:1fr}}

.timeline>span{display:inline-flex;align-items:center;gap:6px}.progress-circle{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;border:1.8px solid currentColor;border-radius:50%;flex-shrink:0;background:transparent;font-size:1.125rem;line-height:1;font-weight:700}.progress-circle.checked{color:var(--teal)}.acknowledgments{margin:12px 0;padding-left:25px}.acknowledgments li{padding:3px 0}
.drill-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:12px;margin:20px 0}.drill-choice{display:flex;align-items:center;flex-direction:column;gap:10px;padding:18px 12px}.drill-choice img{width:76px;height:76px;object-fit:contain}.alert-type-icon{width:55px;height:55px;object-fit:contain;vertical-align:middle;margin-right:12px}.drill-dialog-icon{width:100px;height:100px;object-fit:contain;display:block;margin:12px auto}.drill-alert{background:#fffdf4;border-color:#ddd0a1}.drill-alert h3{color:var(--ink)}
.roster-controls{display:flex;flex-wrap:wrap;gap:16px;align-items:end;margin:10px 0 20px}.roster-controls .formfield{flex:1;min-width:210px;margin:0}.wide-dialog{max-width:1250px;width:calc(100% - 30px)}.wide-dialog table{min-width:950px}
.iep-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;background:#f3f7f9;padding:18px;border-radius:12px}.iep-overview dt{font-weight:700}.iep-overview dd{margin:5px 0 0}.iep-goal{border-left:3px solid #237c85;padding:4px 16px;margin:16px 0}#dialog details{border:1px solid #bdcbd2;border-radius:8px;padding:14px;margin:12px 0}#dialog summary{cursor:pointer;font-weight:700;padding:4px}#dialog summary:focus-visible{outline:3px solid #237c85;outline-offset:4px}#dialog caption{text-align:left;padding:10px;font-weight:600}

.student-subnavigation{margin-left:16px;padding-left:8px;border-left:1px solid #527284}.student-subnavigation button{font-size:0.8125rem;padding:9px 12px}.student-navigation{flex-shrink:0}@media(max-width:680px){.student-navigation>button{margin-bottom:0}.student-subnavigation{margin-left:8px}.student-subnavigation button{font-size:0.75rem}}
.coverage-history{margin-top:20px}

.student-search{display:flex;align-items:center;gap:12px}.student-search .formfield{flex:1}.student-search button{margin-top:20px}#dialog .student-schedule-table{min-width:780px}#dialog .student-schedule-table th[scope=row]{color:var(--ink);background:transparent;font-size:0.8125rem}@media(max-width:680px){.student-search{flex-wrap:wrap}.student-search .formfield{min-width:190px}.student-search button{margin-top:0}}

.schedule-mobile{display:none;list-style:none;padding:0}.schedule-mobile li{padding:14px;border:1px solid var(--line);border-radius:8px}.schedule-mobile p:last-child{margin-bottom:0}@media(max-width:680px){.schedule-desktop{display:none}.schedule-mobile{display:grid;gap:12px}}
.teacher-section{margin-top:20px}.teacher-class-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.teacher-class-grid article{border:1px solid var(--line);border-radius:8px;padding:16px}.teacher-plan-list{display:flex;gap:10px;flex-wrap:wrap}.teacher-week-mobile{display:none}.teacher-week-desktop table{min-width:850px}.teacher-week-mobile li{padding:10px 0;border-bottom:1px solid var(--line)}.teacher-week-mobile ul{list-style:none;padding:0}@media(max-width:680px){.teacher-week-desktop{display:none}.teacher-week-mobile{display:block}.teacher-plan-list{display:grid}.teacher-class-grid{grid-template-columns:1fr}}

.teacher-week-desktop th[scope=row]{min-width:150px}

.teacher-summary-card{text-align:left;font-weight:400;width:100%;color:var(--muted)}.teacher-summary-card>span:first-child{display:block;font-size:0.8125rem}.teacher-summary-card .metric{display:block}.teacher-summary-card:hover{border-color:var(--teal);background:#f2faf8}.teacher-summary-card:focus-visible,.teacher-jump-section:focus-visible{outline:3px solid var(--teal);outline-offset:4px}.teacher-jump-section{scroll-margin-top:20px}

.support-readonly dt{font-weight:700;margin-top:1rem}
.support-readonly dd{margin:.25rem 0 1rem;white-space:pre-wrap;overflow-wrap:anywhere}
#support-form fieldset,#coverage-form label{min-width:0;max-width:100%;box-sizing:border-box}
#support-form input,#support-form select,#support-form textarea,#coverage-form select{min-width:0;max-width:100%;box-sizing:border-box}

#parent-account > *,#guardian-link > *{min-width:0;max-width:100%;box-sizing:border-box}
#parent-account input,#guardian-link select,#guardian-link input{min-width:0;max-width:100%;box-sizing:border-box}
#parent-account button,#guardian-link button,[data-revoke-link]{max-width:100%;white-space:normal;overflow-wrap:anywhere}
#family-edit textarea{min-width:0;max-width:100%;box-sizing:border-box}
