:root{font:15px system-ui,sans-serif;color:#22312c;background:#f4f5f0}*{box-sizing:border-box}body{margin:0;display:flex}aside{width:230px;min-height:100vh;background:#14382e;color:#f8f4e8;padding:32px 20px;position:fixed}.brand{font: bold 40px Georgia;color:#e2c78e}.brand span{display:block;font:20px Georgia;margin-top:5px}aside p{color:#b5c8bf;font-size:12px;margin:24px 0}nav button{display:block;width:100%;background:transparent;text-align:left;color:inherit;border:0;margin:6px 0}nav button.active{background:#315346;color:#f3d394}main{margin-left:230px;padding:32px;width:calc(100% - 230px)}header{display:flex;justify-content:space-between;align-items:center;gap:16px}small{letter-spacing:2px;color:#647b70;font-size:10px}h1{font:30px Georgia;margin:10px 0 24px}.badge{padding:8px 12px;background:#eee2bc;border-radius:20px;font-size:12px}section,.card{background:white;padding:24px;border:1px solid #e0e5dc;border-radius:12px;margin-bottom:20px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.metric{font:32px Georgia;margin:12px 0}label{display:block;font-size:13px;margin:12px 0}input,select,textarea{display:block;width:100%;padding:10px;border:1px solid #c5cec4;border-radius:6px;margin-top:6px;background:white;font:inherit}form{max-width:650px}button{cursor:pointer;padding:11px 16px;border-radius:6px;background:#174b3a;border:1px solid #315c4c;color:white;font:inherit}button:hover{filter:brightness(1.15)}table{width:100%;border-collapse:collapse;font-size:13px}td,th{text-align:left;padding:12px;border-bottom:1px solid #e7eae4;vertical-align:top}th{color:#64776b}.table{overflow-x:auto}#message{color:#8c351f;white-space:pre-wrap}.hint{color:#64776b;font-size:13px}.pill{font-size:12px;padding:4px 7px;border-radius:6px;background:#eef2e7}details{margin:15px 0}code{word-break:break-all}#login{max-width:500px}@media(max-width:800px){aside{position:static;width:100%;min-height:auto;padding:18px}.brand{font-size:25px}.brand span{display:inline;margin-left:10px}body{display:block}main{margin:0;width:100%;padding:18px}nav{display:flex;overflow:auto}nav button{width:auto;white-space:nowrap}aside p{margin:10px 0}.grid{grid-template-columns:1fr}header{display:block}.badge{display:inline-block;margin-bottom:15px}}
:root{font-size:14px}main{max-width:1800px}h2{font:25px Georgia;margin-top:0}h3{font-size:17px}aside{overflow:auto;height:100vh}nav button{font-size:14px}button:disabled{opacity:.4;cursor:default}.secondary{background:#fff;color:#24543f;border-color:#c9d6cd}.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:16px 0}.section-title,.family-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.family-heading{border-top:4px solid #c4a35e}.family-heading h2{font-size:32px;margin:10px 0}.family-heading p{color:#63766a}.toolbar{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;margin-bottom:20px}.toolbar label{min-width:140px;margin:0}.toolbar .search-label{flex:1;min-width:240px}.toolbar button{margin-bottom:0}.list-count{font-size:12px;color:#64776b;margin-bottom:10px}.clickable{cursor:pointer}.clickable:hover,.clickable:focus{background:#f0f6ee;outline:2px solid #b8cbbb;outline-offset:-2px}.open-label{color:#175b3b;white-space:nowrap;font-weight:600}th{white-space:nowrap}.tabs{display:flex;gap:8px;overflow:auto;padding:0 0 16px}.tabs button{white-space:nowrap;background:#fff;color:#305442;border-color:#d4ddd3}.tabs button.active{background:#174b3a;color:white}.editor{border:1px solid #dce4d8;border-radius:8px;padding:14px;background:#fafbf7}.editor summary{cursor:pointer;font-weight:600;color:#28583e}.editor form{padding:12px 0}dl{display:grid;grid-template-columns:160px 1fr;gap:12px;margin:20px 0}dt{color:#62766a;font-size:13px}dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.note{border-top:1px solid #e0e5dc;padding:18px 0}.note small{letter-spacing:0}.note p{white-space:pre-wrap;line-height:1.6}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.eyebrow{font-size:12px;color:#607367}.form-error{color:#a12c1b;padding:10px;background:#fff0ea}.input-prefix{display:none}dialog{border:1px solid #cad6c8;border-radius:14px;padding:26px;width:min(920px,94vw);max-height:90vh;color:#22312c;box-shadow:0 24px 100px #071d2950}dialog::backdrop{background:#102b2666}.dialog-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.dialog-header button{background:#f0f3ed;color:#224d38;border:0}.detail-amount{font:40px Georgia;color:#174b3a}#print-sheet{display:none}.hint{line-height:1.6}.metric{overflow-wrap:anywhere}button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b08c3f;outline-offset:2px}
@media(max-width:800px){aside{height:auto;position:static}main{padding:16px}.toolbar{display:block}.toolbar label{margin:12px 0}.toolbar .search-label{min-width:0}.family-heading{align-items:flex-start}.family-heading h2{font-size:26px}.family-heading .metric{font-size:27px}dl{grid-template-columns:110px 1fr;gap:10px}.section-title{align-items:flex-start}.section-title h2{font-size:22px}dialog{padding:18px}td,th{padding:10px}.actions button{font-size:13px}}
@media print{body{display:block;background:white;font-size:11px}aside,header,#message,#login,.no-print,.toolbar,.tabs,.actions,.editor{display:none!important}main{margin:0;padding:0;width:100%;max-width:none}section{border:0;padding:8px;margin:0}.table{overflow:visible}table{font-size:10px}tr{break-inside:avoid}td,th{padding:6px}.open-label{display:none}body:has(dialog[open]) main{display:none}dialog[open]{position:static;max-height:none;width:100%;border:0;box-shadow:none;padding:0}dialog[open] .dialog-header button{display:none}body.printing-statement>*{display:none!important}body.printing-statement #print-sheet{display:block!important;padding:20px}.badge{display:none}}

.warning{background:#fff7df;padding:18px;border:1px solid #ead49a;border-radius:8px;margin-bottom:20px}.warning button{margin:4px}.check-label{display:flex;align-items:flex-start;gap:12px;line-height:1.6}.check-label input{width:auto;margin-top:5px}

.review-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;border-left:4px solid #ba9a54}.review-banner h3{margin:0}.control-note{background:#f3f6ef;padding:12px 16px;border-radius:8px;margin:16px 0}.control-note p{margin:8px 0}@media(max-width:800px){.review-banner{display:block}}

.message-copy,.postal-address{white-space:pre-wrap;line-height:1.7}.draft-letter{padding:20px}.draft-letter h2{font-size:21px}@media print{.draft-letter{break-after:page;padding:20px}.draft-letter:last-child{break-after:auto}}

.grade-map-row{border:1px solid #dce4d8;background:#fafbf7;padding:14px;margin:12px 0;border-radius:8px}

.route-map-surface{border:1px solid #bacab8;border-radius:10px;overflow:hidden;background:#eff4ea}.route-map-surface svg{display:block;width:100%;height:auto;touch-action:none;cursor:grab;overflow:hidden}.route-map-surface svg.dragging{cursor:grabbing}.map-empty{padding:40px;text-align:center}.map-stop{cursor:pointer}.map-stop:focus circle{stroke:#b8860b;stroke-width:5}.pin-label{fill:white;font-size:11px;font-weight:700;pointer-events:none}.map-attribution{font-size:12px;margin:8px 0}.map-attribution a{color:#175b3b}.route-key{display:inline-block;margin:6px 14px 6px 0}.route-key.boys{color:#2563eb}.route-key.girls{color:#be185d}

.download-button{display:inline-block;padding:11px 16px;background:#174b3a;color:white;text-decoration:none;border-radius:6px;margin:12px 0}

td{white-space:pre-line}

@media print{.class-roster{break-after:page}.class-roster:last-child{break-after:auto}.class-roster thead{display:table-header-group}.class-roster tr{break-inside:avoid}}

#nav{display:block;overflow:visible}.nav-shortcuts{border-bottom:1px solid #496458;padding-bottom:10px;margin-bottom:12px}.nav-section{margin:9px 0;border-bottom:1px solid #36594a;padding-bottom:8px}.nav-section summary{cursor:pointer;font-size:12px;font-weight:700;letter-spacing:.04em;color:#ddcfad;padding:10px 2px}.nav-section>div{padding-left:8px}.nav-section button{width:100%;white-space:normal}.nav-section summary:focus-visible,#nav button:focus-visible{outline:2px solid #e2c78e;outline-offset:2px}.workspace-navigation{margin:0 0 20px}.workspace-navigation>.actions{margin:0 0 8px}.workspace-breadcrumb{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:13px;color:#526b5f;overflow-wrap:anywhere}.breadcrumb-button{padding:3px 0;background:transparent;border:0;color:#1b5d43;text-decoration:underline;font-size:13px}.workspace-breadcrumb span[aria-current]{font-weight:600}@media(max-width:800px){#nav{display:block}#nav button{width:100%;white-space:normal}.nav-shortcuts{display:flex;gap:6px}.nav-section{margin:4px 0}.nav-section summary{padding:10px 2px}.workspace-navigation{margin-bottom:15px}}

.record-link{padding:0;border:0;background:transparent;color:#175b3b;text-decoration:underline;text-align:left}input[data-placement-check]{width:20px;height:20px;margin:0}

input[data-tuition-batch-check]{width:20px;height:20px;margin:0}

/* Keep absolutely positioned screen-reader labels inside their scrollable table. */
.table{position:relative;max-width:100%}

.mobile-nav-toggle{display:none}
@media(max-width:800px){
 .mobile-nav-toggle:not([hidden]){display:inline-block;min-height:44px;margin:8px 10px 8px 0}
 #nav:not(.mobile-open){display:none}
 #nav.mobile-open{display:block}
 button{min-height:44px}
 .family-heading{flex-direction:column;align-items:stretch;gap:12px}
 .family-heading .metric{white-space:nowrap;overflow-wrap:normal}
}

.school-brand{display:flex;align-items:center;gap:10px}.school-brand>img{width:64px;height:auto;flex:none;border-radius:8px}.school-brand>div{min-width:0}.dialog-print-brand{display:none}.school-print-identity{display:flex;align-items:center;gap:14px;margin:0 0 18px;color:#1c342a;break-inside:avoid}.school-print-identity img{width:64px;height:auto}.school-print-identity strong{display:block;font:700 23px Georgia}.school-print-identity span{display:block;font-size:12px;margin-top:4px}.school-letterhead-header{break-inside:avoid;margin-bottom:18px}.school-letterhead-header img{display:block;width:100%;height:auto}.school-print-page{display:flex;flex-direction:column;min-height:9.8in;break-after:page}.school-print-page:last-child{break-after:auto}.school-letterhead-body{flex:1;min-width:0}.school-letterhead-body h2{margin:10px 0 18px}.school-letterhead-footer{font:10px/1.5 Arial,sans-serif;color:#171717;padding-top:20px;break-inside:avoid}.school-contact-grid{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:16px}.school-contact-grid>div:nth-child(2){text-align:center}.school-contact-grid>div:last-child{text-align:right}.school-contact-grid span{display:block}.school-branches{text-align:center;margin-top:10px}.school-branches strong{display:block}.school-branches span{display:inline-block;margin:0 12px}.stationery-preview{max-width:760px;margin:24px auto;background:#fff;padding:24px;border:1px solid #dadfd6}.stationery-preview .school-print-page{min-height:680px}.stationery-placeholder{color:#788078;text-align:center;padding:45px 10px}.stationery-download{display:inline-block;background:#174b3a;color:white;padding:12px 16px;border-radius:6px;text-decoration:none}.stationery-preview .school-letterhead-footer{font-size:11px}
@media(max-width:800px){.school-brand>img{width:56px}.school-brand>div{font-size:25px}.school-brand span{font-size:18px}.stationery-preview{padding:12px;margin:18px 0}.stationery-preview .school-print-page{min-height:480px}.school-contact-grid{gap:8px}.school-branches span{margin:0 5px}.stationery-preview .school-letterhead-footer{font-size:9px}}
@media print{@page{size:Letter;margin:.45in}body.printing-statement #print-sheet{padding:0!important}.school-print-page{min-height:9.8in}.school-letterhead-header{margin-bottom:16px}.school-contact-grid{gap:16px}.school-letterhead-footer{font-size:9px}.school-branches span{margin:0 12px}.dialog-print-brand{display:flex;align-items:center;gap:15px;margin-bottom:18px}.dialog-print-brand img{width:64px;height:auto}.school-print-page .draft-letter{padding:0;break-after:auto}.school-print-identity strong{font-size:20px}.school-print-report h1{font-size:22px}}

.school-contact-grid{grid-template-columns:1fr 1fr 1fr 1fr}.school-contact-grid>div:nth-child(3){text-align:center}.school-contact-grid strong{text-decoration:underline}.draft-letter>small{font-weight:700;color:#8c351f}@media print{html,body{background:white!important}.school-letterhead-footer{font-size:9pt}.school-contact-grid{grid-template-columns:1fr 1fr 1fr 1fr}}

.draft-letter>small{letter-spacing:0;font-size:10pt}

/* Global finder remains reachable on narrow office and parent screens. */
header{flex-wrap:wrap}header>div{min-width:0}#global-find{order:3;max-width:100%;white-space:normal;flex-shrink:0}

/* v0.81: clear password controls, structured addresses and searchable help. */
button.school-brand{display:flex;width:100%;text-align:left;background:transparent;border:0;border-radius:10px;padding:6px 0;color:inherit;gap:12px;align-items:center;cursor:pointer}button.school-brand:focus-visible{outline:3px solid #e5c582;outline-offset:4px}.password-control{display:flex;gap:8px;align-items:stretch;min-width:0}.password-control input{flex:1;min-width:0}.password-control button{width:auto;flex:0 0 auto;margin:0;min-height:42px;padding:8px 14px}.mailing-address{border:1px solid #dce4dc;border-radius:12px;padding:16px;min-width:0;grid-column:1/-1}.mailing-address legend{font-weight:700;padding:0 6px}.address-grid{display:grid;grid-template-columns:1.5fr 1.5fr 1fr;gap:12px}.address-grid>*{min-width:0}.guide-hero{background:linear-gradient(120deg,#153e33,#27594b);color:#fff;padding:28px;border-radius:18px;margin-bottom:20px}.guide-hero p{max-width:70ch;color:#eef4ee}.guide-hero h2{color:#f0d497}.guide-search{position:sticky;top:0;background:#f5f6f0;padding:12px 0;z-index:2}.guide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px}.guide-card{margin:0;border:1px solid #dce4dc;border-radius:14px;padding:22px;background:white}.guide-card h3{margin-top:0;color:#173d33}.guide-card li{margin-bottom:8px}.guide-card button{margin-top:10px}.guide-card details{margin-top:14px}.guide-card dt{font-weight:700}.guide-card dd{margin:0 0 12px}.guide-card[hidden]{display:none}.danger{background:#9a352b;color:white}@media(max-width:650px){.address-grid{grid-template-columns:1fr}.guide-hero{padding:20px}.guide-card{padding:18px}}@media print{.password-visibility,.guide-search{display:none!important}}

.guide-card dl{display:block}.guide-card dt{margin-top:14px}.guide-card dd{margin:4px 0 12px}button.school-brand{font-family:Georgia,serif;font-size:42px;font-weight:700;color:#dfbd7e}button.school-brand span{font-size:21px}
