:root{--navy:#3f5960;--blue:#6f98aa;--teal:#789482;--gold:#c1a76d;--cream:#f7f5ed;--sky:#e5f0f2;--ink:#334247;--muted:#6d7b7b;--line:#d6e1df;--paper:#fcfdfa;--wash:#f0f5f2;--red:#a65b58;--green:#668672;--sage:#8da493;--mist:#b9d0d5;--shadow:0 16px 42px rgba(63,89,96,.11);--ui-text-primary:#242424;--ui-text-secondary:#626262;--ui-text-muted:#797979;--ui-action-primary:#d81b26;--ui-action-primary-hover:#a90f18;--ui-action-secondary:#343434;--ui-state-success:#285b37;--ui-state-success-bg:#e1eee4;--ui-state-warning:#75520a;--ui-state-warning-bg:#fff0ca;--ui-state-danger:#941329;--ui-state-danger-bg:#ffe1e5;--ui-state-neutral:#555;--ui-state-neutral-bg:#ededed;--ui-font-xs:10px;--ui-font-sm:12px;--ui-font-md:14px;--ui-font-lg:18px;--ui-weight-normal:500;--ui-weight-strong:700;--ui-weight-emphasis:850}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 96% 2%,rgba(185,208,213,.22),transparent 24%),radial-gradient(circle at 12% 88%,rgba(141,164,147,.16),transparent 22%),var(--wash);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;opacity:1;transition:opacity .3s ease}body.app-booting{opacity:0}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1{margin-bottom:12px;color:var(--navy);font-family:Georgia,"Times New Roman",serif;font-size:clamp(36px,5vw,58px);font-weight:500;line-height:1.05}h2{color:var(--navy)}a{color:var(--blue)}
.topbar{position:sticky;top:0;z-index:30;height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:rgba(252,253,250,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.brand,.profile-chip{display:flex;align-items:center;gap:12px;border:0;background:transparent;color:var(--navy);text-align:left}.brand-seal{display:grid;place-items:center;width:46px;height:46px;border-radius:50% 50% 44% 56%;background:linear-gradient(145deg,var(--navy),#718c88);color:white;font-family:Georgia,serif;font-weight:850;letter-spacing:.06em;box-shadow:0 7px 18px rgba(63,89,96,.18)}.brand strong,.brand small,.profile-chip strong{display:block}.brand small{margin-top:3px;color:var(--muted)}.topbar-actions{display:flex;align-items:center;gap:22px}.secure-label{color:var(--green);font-size:13px;font-weight:750}.secure-label:before{content:"●";margin-right:7px}.profile-chip{padding:7px 10px;border-radius:12px;background:var(--cream)}.profile-chip span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#dcebea;font-size:12px;font-weight:800}
.browser-back-warning{display:inline-flex;align-items:center;gap:8px;max-width:380px;padding:6px 7px 6px 9px;border:1px solid #d6c58d;border-radius:6px;background:#fff8df;color:#66551c;font-size:10px;font-weight:750;line-height:1.25}.browser-back-warning[hidden]{display:none}.browser-back-warning button{display:grid;flex:0 0 20px;width:20px;height:20px;place-items:center;padding:0;border:0;border-radius:4px;background:transparent;color:#66551c;font-size:16px;line-height:1;cursor:pointer}.browser-back-warning button:hover{background:rgba(102,85,28,.12)}
.app-shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:calc(100vh - 78px)}.app-shell[hidden]{display:none}.sidebar{position:sticky;top:78px;height:calc(100vh - 78px);display:flex;flex-direction:column;gap:5px;padding:24px 18px;background:rgba(252,253,250,.92);border-right:1px solid var(--line)}.side-link{display:flex;align-items:center;gap:12px;padding:12px 14px;border:0;border-radius:11px;background:transparent;color:var(--muted);text-align:left}.side-link:hover,.side-link.active{background:linear-gradient(90deg,#dfece7,#e7f1f2);color:var(--navy);font-weight:750}.nav-icon{display:grid;place-items:center;width:24px;height:24px;color:var(--blue);font-weight:850}.sidebar-help{position:relative;overflow:hidden;margin-top:auto;padding:18px;border-radius:15px;background:linear-gradient(145deg,#edf3ea,#e1ece8);font-size:13px}.sidebar-help:after{content:"";position:absolute;width:70px;height:70px;right:-28px;bottom:-28px;border:16px solid rgba(111,152,170,.10);border-radius:50%}.sidebar-help strong{color:var(--navy)}.sidebar-help p{margin:7px 0 10px;line-height:1.45;color:var(--muted)}
main{width:min(1200px,calc(100% - 48px));margin:0 auto;padding:42px 0 72px}.page{display:none}.page.active{display:block}.eyebrow{margin-bottom:8px;color:var(--blue);font-size:11px;font-weight:850;letter-spacing:.15em}.welcome-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:45px 50px;border-radius:26px;background:linear-gradient(125deg,#405d62,#64858a 58%,#89a797);color:white;box-shadow:var(--shadow)}.welcome-hero:before{content:"";position:absolute;width:180px;height:250px;left:58%;bottom:-175px;border-radius:50% 50% 0 0;background:rgba(220,238,232,.11);transform:rotate(-18deg)}.welcome-hero:after{content:"";position:absolute;width:360px;height:360px;right:-160px;top:-190px;border:60px solid rgba(226,240,242,.09);border-radius:50%}.welcome-hero h1{color:#f8fbf7}.welcome-hero p:last-child{max-width:720px;margin-bottom:0;color:#e1eceb;font-size:17px;line-height:1.6}.welcome-hero .eyebrow{color:#c8dedd}.progress-ring{position:relative;z-index:1;display:grid;place-items:center;min-width:132px;height:132px;border-radius:50%;background:conic-gradient(#c8b47e 0 62%,rgba(255,255,255,.16) 62% 100%)}.progress-ring:before{content:"";position:absolute;inset:10px;border-radius:50%;background:#557278}.progress-ring div{position:relative;text-align:center}.progress-ring strong,.progress-ring span{display:block}.progress-ring strong{font-family:Georgia,serif;font-size:30px}.progress-ring span{color:#e1eceb;font-size:12px}
.attention-strip{display:flex;align-items:center;gap:16px;margin:20px 0 34px;padding:15px 18px;border:1px solid #ead7aa;border-radius:14px;background:#fff8ea}.attention-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--gold);color:white;font-weight:900}.attention-strip div:nth-child(2){flex:1}.attention-strip strong,.attention-strip span{display:block}.attention-strip span{margin-top:3px;color:var(--muted);font-size:13px}.link-button,.back-link{padding:0;border:0;background:transparent;color:var(--blue);font-weight:800}.section-heading,.page-heading,.panel-title{display:flex;align-items:end;justify-content:space-between;gap:30px}.section-heading{margin-bottom:18px}.section-heading h2{margin-bottom:0;font-family:Georgia,serif;font-size:30px;font-weight:500}.section-heading>p{max-width:430px;margin-bottom:0;color:var(--muted);text-align:right}.portal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.portal-card{position:relative;overflow:hidden;min-height:240px;display:flex;flex-direction:column;align-items:flex-start;padding:22px;border:1px solid var(--line);border-radius:19px;background:linear-gradient(155deg,#fffdf9,#fff8f1);color:var(--ink);text-align:left;box-shadow:0 6px 22px rgba(63,89,96,.06);transition:.18s ease}.portal-card:hover{transform:translateY(-3px);border-color:#d5b9a7;box-shadow:var(--shadow)}.portal-card:before{content:"";position:absolute;inset:0 0 auto;height:5px;border-radius:19px 19px 0 0;background:var(--accent,var(--blue))}.portal-card:after{content:"";position:absolute;width:85px;height:85px;right:-44px;bottom:-44px;border:18px solid color-mix(in srgb,var(--accent,var(--blue)) 10%,transparent);border-radius:50%}.card-icon{display:grid;place-items:center;width:45px;height:45px;margin-bottom:19px;border-radius:48% 52% 44% 56%;background:color-mix(in srgb,var(--accent,var(--blue)) 14%,white);color:var(--accent,var(--blue));font-size:22px;font-weight:850}.card-status{position:absolute;right:18px;top:19px;padding:5px 8px;border-radius:999px;background:#f4e5db;color:var(--navy);font-size:10px;font-weight:850;text-transform:uppercase}.card-status.warning{background:#f8e9c9;color:#7b5b16}.card-status.urgent{background:#f4deda;color:var(--red)}.portal-card>strong{margin-bottom:8px;color:var(--navy);font-size:18px}.portal-card>p{margin-bottom:17px;color:var(--muted);font-size:13px;line-height:1.55}.card-action{position:relative;z-index:1;margin-top:auto;color:var(--accent,var(--blue));font-size:13px;font-weight:800}.card-footer{position:relative;z-index:1;width:100%;margin-top:auto;color:var(--muted);font-size:11px}.card-footer i{position:relative;display:block;height:5px;margin-top:8px;border-radius:5px;background:#eee2d9}.card-footer i:after{content:"";position:absolute;inset:0 auto 0 0;width:var(--progress);border-radius:5px;background:var(--accent)}.card-profile{--accent:#6f98aa}.card-schools{--accent:#758f9b}.card-events{--accent:#789482}.card-tasks{--accent:#a7a06c}.card-testing{--accent:#7d8da9}.card-recs{--accent:#849e91}.card-docs{--accent:#688b79}.card-updates{--accent:#81979a}
.home-lower-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px;margin-top:22px}.panel,.form-section{padding:25px;border:1px solid var(--line);border-radius:19px;background:var(--paper);box-shadow:0 6px 22px rgba(63,89,96,.06)}.panel-title h2{margin-bottom:0}.timeline{display:grid;margin-top:8px}.timeline-item{display:grid;grid-template-columns:62px 1fr auto;gap:14px;align-items:center;padding:15px 0;border-top:1px solid var(--line)}.timeline-item:first-child{border-top:0}.timeline-date{padding:8px;border-radius:10px;background:var(--sky);color:var(--navy);text-align:center}.timeline-date strong,.timeline-date span{display:block}.timeline-date strong{font-size:20px}.timeline-date span{font-size:10px;font-weight:850;text-transform:uppercase}.timeline-item p{margin-bottom:0;color:var(--muted);font-size:13px}.advisor-card{text-align:center;background:linear-gradient(145deg,#eef3e9,#e3eeeb)}.advisor-avatar{display:grid;place-items:center;width:74px;height:74px;margin:18px auto 12px;border-radius:50% 50% 46% 54%;background:linear-gradient(145deg,var(--navy),#718c88);color:white;font-family:Georgia,serif;font-size:24px}.advisor-card p{color:var(--muted);line-height:1.55}
.page-heading{margin-bottom:25px}.page-heading>div>p:last-child{max-width:760px;color:var(--muted);line-height:1.55}.back-link{display:block;margin-bottom:25px}.completion-badge{padding:10px 14px;border-radius:999px;background:#e4f1ea;color:var(--green);font-weight:800}.form-layout{display:grid;gap:18px}.form-section{padding:30px}.form-section-title{display:flex;gap:15px;margin-bottom:24px}.form-section-title>span{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:12px;background:var(--navy);color:white;font-weight:850}.form-section-title h2,.form-section-title p{margin-bottom:3px}.form-section-title p{color:var(--muted)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field-grid label,.question-form label{display:grid;gap:7px;color:var(--navy);font-size:13px;font-weight:750}.field-grid input,.field-grid select,.field-grid textarea,.question-form select,.question-form textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid #bdcbd4;border-radius:10px;background:white;color:var(--ink);font-weight:400}.field-grid textarea,.question-form textarea{min-height:82px;resize:vertical}.field-grid small{color:var(--muted);font-weight:400;line-height:1.45}.span-2{grid-column:1/-1}.photo-upload{position:relative;display:flex!important;flex-direction:row;align-items:center;gap:18px;padding:22px;border:2px dashed #a9bfcc;border-radius:14px;background:#f9fbfc;cursor:pointer}.photo-upload input,.upload-button input{position:absolute;opacity:0;pointer-events:none}.photo-upload:before{content:"＋";display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:var(--sky);color:var(--blue);font-size:24px}.photo-upload b,.photo-upload small{display:block}.form-actions{position:sticky;bottom:16px;display:flex;align-items:center;justify-content:flex-end;gap:18px;padding:14px 18px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.96);box-shadow:var(--shadow)}.form-actions span{margin-right:auto;color:var(--muted);font-size:13px}
.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:10px 17px;border-radius:10px;font-weight:800;text-decoration:none}.primary-button{border:1px solid var(--navy);background:linear-gradient(145deg,var(--navy),#6f8c8c);color:white}.secondary-button{border:1px solid #d3bcae;background:#fffdf9;color:var(--navy)}.filter-row{display:flex;gap:9px;margin-bottom:20px}.filter-pill{padding:8px 13px;border:1px solid var(--line);border-radius:999px;background:#fffdf9;color:var(--muted)}.filter-pill.active{background:var(--navy);color:white}.school-display-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.school-detail-card{overflow:hidden;border:1px solid var(--line);border-radius:19px;background:var(--paper)}.school-card-banner{position:relative;overflow:hidden;height:100px;padding:22px;background:linear-gradient(125deg,var(--navy),#799d91);color:white}.school-card-banner:after{content:"";position:absolute;width:130px;height:130px;right:-45px;top:-65px;border:25px solid rgba(255,240,221,.10);border-radius:50%}.school-card-banner span{font-size:12px}.school-card-body{padding:23px}.school-card-body h2{margin-bottom:5px}.school-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:18px 0}.school-contact-grid span{display:block;color:var(--muted);font-size:11px}.decision-row{display:flex;gap:9px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.decision-row button{flex:1;padding:9px;border:1px solid var(--line);border-radius:9px;background:#fffdf9}.decision-row button.selected{border-color:var(--blue);background:var(--sky);color:var(--navy);font-weight:800}
.info-banner{display:flex;gap:12px;margin-bottom:20px;padding:16px 19px;border-radius:14px;background:var(--sky)}.info-banner strong,.info-banner span{display:block}.info-banner span{color:var(--muted)}.event-stack{display:grid;gap:15px}.event-item{display:grid;grid-template-columns:84px 1fr 230px;gap:20px;padding:22px;border:1px solid var(--line);border-radius:18px;background:white}.event-calendar{align-self:start;padding:13px 8px;border-radius:13px;background:var(--navy);color:white;text-align:center}.event-calendar strong,.event-calendar span{display:block}.event-calendar strong{font-size:27px}.event-calendar span{font-size:11px;text-transform:uppercase}.event-meta{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:13px}.event-choice{align-self:center;padding:15px;border-radius:13px;background:var(--wash)}.event-choice label{display:grid;gap:6px;color:var(--navy);font-size:12px;font-weight:800}.event-choice select{min-height:40px;padding:7px;border:1px solid var(--line);border-radius:8px;background:white}.event-choice a{width:100%;margin-top:9px}
.task-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.task-summary div{padding:18px;border:1px solid var(--line);border-radius:14px;background:white}.task-summary strong,.task-summary span{display:block}.task-summary strong{font-family:Georgia,serif;font-size:28px;color:var(--navy)}.task-summary span{color:var(--muted);font-size:12px}.task-list{display:grid;gap:10px}.task-row{display:grid;grid-template-columns:12px 1.6fr 1fr 130px 150px;gap:14px;align-items:center;padding:17px;border:1px solid var(--line);border-radius:14px;background:white}.task-accent{height:42px;border-radius:5px;background:var(--gold)}.task-row small{display:block;color:var(--muted)}.owner-pill,.status-pill{display:inline-flex;width:max-content;padding:6px 9px;border-radius:999px;background:var(--sky);color:var(--navy);font-size:11px;font-weight:800}.status-pill.done{background:#e4f1ea;color:var(--green)}.status-pill.waiting{background:#fff2cf;color:#7b5b16}
.test-card{display:grid;grid-template-columns:160px 1fr;gap:24px;padding:28px;border:1px solid var(--line);border-radius:19px;background:white}.test-score{display:grid;place-items:center;min-height:150px;border-radius:17px;background:linear-gradient(145deg,var(--navy),var(--blue));color:white;text-align:center}.test-score strong{font-family:Georgia,serif;font-size:36px}.test-score span{display:block;font-size:12px}.milestones{display:grid;gap:12px}.milestone{display:flex;align-items:center;gap:12px;padding:12px;border-radius:11px;background:var(--wash)}.milestone b{margin-left:auto;color:var(--navy)}.recommendation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.recommendation-card{padding:22px;border:1px solid var(--line);border-radius:17px;background:white}.recommendation-card .card-icon{margin-bottom:14px}.recommendation-card p{color:var(--muted);font-size:13px}.recommendation-card footer{display:flex;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px solid var(--line)}.document-list{display:grid;gap:10px}.document-row{display:grid;grid-template-columns:46px 1fr 160px 110px;gap:14px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:13px;background:white}.doc-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:var(--sky);color:var(--blue);font-weight:850}.document-row small{display:block;color:var(--muted)}.upload-button{position:relative;cursor:pointer}.updates-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}.update-feed{display:grid;gap:13px}.update-card{padding:21px;border:1px solid var(--line);border-radius:16px;background:white}.update-card header{display:flex;justify-content:space-between;gap:14px}.update-card time{color:var(--muted);font-size:12px}.update-card p{margin:10px 0 0;line-height:1.55}.question-form{display:grid;gap:15px;align-self:start}.toast{position:fixed;right:24px;bottom:24px;z-index:50;padding:13px 17px;border-radius:11px;background:var(--navy);color:white;box-shadow:var(--shadow);opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translateY(0)}
@media(max-width:1050px){.portal-grid{grid-template-columns:repeat(2,1fr)}.school-display-grid{grid-template-columns:1fr}.recommendation-grid{grid-template-columns:1fr 1fr}.task-row{grid-template-columns:10px 1fr 1fr}.task-row>*:nth-child(n+4){grid-column:2/-1}.event-item{grid-template-columns:74px 1fr}.event-choice{grid-column:1/-1}}
@media(max-width:760px){.topbar{padding:0 14px}.secure-label{display:none}.app-shell{display:block}.sidebar{position:sticky;top:78px;z-index:20;width:100%;height:auto;display:flex;flex-direction:row;overflow-x:auto;padding:8px;background:white}.side-link{white-space:nowrap}.sidebar-help{display:none}main{width:min(100% - 24px,1200px);padding-top:22px}.welcome-hero,.page-heading,.section-heading{align-items:flex-start;flex-direction:column}.progress-ring{min-width:105px;height:105px}.portal-grid,.home-lower-grid,.field-grid,.task-summary,.recommendation-grid,.updates-layout{grid-template-columns:1fr}.span-2{grid-column:auto}.section-heading>p{text-align:left}.event-item,.test-card{grid-template-columns:1fr}.school-contact-grid{grid-template-columns:1fr}.document-row{grid-template-columns:46px 1fr}.document-row>*:nth-child(n+3){grid-column:2}.attention-strip{align-items:flex-start;flex-wrap:wrap}.attention-strip .link-button{margin-left:52px}}

.nav-section-label{margin:13px 12px 5px;color:#858585;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.nav-section-label:first-child{margin-top:0}.student-nav-group{margin-top:12px;padding:10px 7px;border:1px solid #c9c9c9;border-radius:15px;background:linear-gradient(145deg,#202020,#343434)}.student-nav-group .nav-section-label{color:#bdbdbd}.student-nav-group .side-link{width:100%;color:#e8e8e8}.student-nav-group .side-link:hover,.student-nav-group .side-link.active{background:#d81b26;color:white}.student-nav-group .nav-icon{color:#ff6d77}.student-picker-link{align-items:flex-start!important;background:rgba(255,255,255,.08)!important}.student-picker-link span:nth-child(2){min-width:0}.student-picker-link strong,.student-picker-link small{display:block;overflow:hidden;text-overflow:ellipsis}.student-picker-link small{margin-top:3px;color:#bdbdbd;font-size:10px;font-weight:500}.student-context-bar{position:sticky;top:92px;z-index:18;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:-20px 0 26px;padding:14px 18px;border:1px solid #d81b26;border-radius:14px;background:rgba(25,25,25,.96);color:white;box-shadow:0 10px 28px rgba(0,0,0,.16);backdrop-filter:blur(10px)}.student-context-bar[hidden]{display:none}.student-context-bar span,.student-context-bar strong{display:block}.student-context-bar span{margin-bottom:3px;color:#c9c9c9;font-size:10px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.student-context-bar strong{font-size:17px}.student-context-bar .secondary-button{border-color:#d81b26;background:#fff;color:#171717}.student-section-active main{position:relative}.student-section-active main:before{content:"";position:fixed;inset:78px 0 0 240px;z-index:-1;background:radial-gradient(circle at 92% 4%,rgba(216,27,38,.14),transparent 27%),linear-gradient(150deg,#f7f7f7,#e7e7e7)}.student-hub-hero{margin-bottom:22px;padding:38px 42px;border-radius:24px;background:linear-gradient(130deg,#171717,#373737 68%,#d81b26);color:white;box-shadow:0 16px 38px rgba(0,0,0,.18)}.student-hub-hero h1{color:white}.student-hub-hero p:last-child{max-width:760px;margin-bottom:0;color:#e0e0e0;line-height:1.6}.student-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:20px}.student-profile-card{display:grid;grid-template-columns:58px 1fr auto;gap:15px;align-items:center;padding:20px;border:1px solid #c9c9c9;border-radius:17px;background:white;color:#202020;text-align:left;box-shadow:0 7px 22px rgba(0,0,0,.07);transition:.18s ease}.student-profile-card:hover,.student-profile-card.selected{transform:translateY(-2px);border-color:#d81b26;box-shadow:0 12px 28px rgba(0,0,0,.12)}.student-profile-card.selected{background:linear-gradient(145deg,#fff,#fff0f2)}.student-profile-avatar{display:grid;place-items:center;width:58px;height:58px;border-radius:17px;background:#202020;color:white;font-size:17px;font-weight:900}.student-profile-card.selected .student-profile-avatar{background:#d81b26}.student-profile-card strong,.student-profile-card small{display:block}.student-profile-card strong{font-size:17px}.student-profile-card small{margin-top:5px;color:#747474}.student-profile-card b{color:#d81b26;font-size:22px}.create-student-form{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr) auto;gap:20px;align-items:end}.create-student-form h2,.create-student-form p{margin-bottom:5px}.create-student-form>div>p:last-child{color:#6b6b6b;line-height:1.5}.create-student-form label{display:grid;gap:7px;color:#202020;font-size:13px;font-weight:800}.create-student-form input{min-height:44px;padding:10px 12px;border:1px solid #bdbdbd;border-radius:10px;background:white}.create-student-form .form-error{grid-column:1/-1;margin:0;color:#9d1023}
@media(max-width:760px){.nav-section-label{display:none}.student-nav-group{display:flex;flex:0 0 auto;margin:0;padding:0;border:0;background:transparent}.student-nav-group #studentNavigation{display:flex}.student-nav-group #studentNavigation[hidden]{display:none}.student-nav-group .side-link{color:#555}.student-nav-group .side-link:hover,.student-nav-group .side-link.active{background:#d81b26;color:white}.student-picker-link small{display:none!important}.student-section-active main:before{inset:78px 0 0}.student-context-bar{top:142px;margin-top:0}.student-profile-grid,.create-student-form{grid-template-columns:1fr}.create-student-form{align-items:stretch}.student-hub-hero{padding:28px 24px}}

/* KLA corporate palette: bright red, black, charcoal, gray, and silver. */
:root{--navy:#171717;--blue:#e51f3f;--teal:#555;--gold:#c9a66b;--cream:#f6f6f6;--sky:#ededed;--ink:#202020;--muted:#686868;--line:#d1d1d1;--paper:#fff;--wash:#f2f2f2;--red:#e51f3f;--green:#555;--sage:#777;--mist:#d7d7d7;--shadow:0 16px 42px rgba(0,0,0,.13)}
body{background:radial-gradient(circle at 95% 0,rgba(229,31,63,.10),transparent 22%),linear-gradient(135deg,#f7f7f7,#e9e9e9);color:var(--ink)}
.topbar{background:rgba(255,255,255,.97);border-bottom:2px solid #e51f3f}
.brand-logo{width:35px;height:54px;display:block;object-fit:cover;box-shadow:0 5px 14px rgba(0,0,0,.22)}
.profile-chip{background:#f1f1f1}.profile-chip span{background:#1e1e1e;color:white}
.secure-label{color:#555}.secure-label:before{color:#e51f3f}
.sidebar{background:rgba(249,249,249,.97);border-right:1px solid #c9c9c9}
.side-link:hover,.side-link.active{background:linear-gradient(90deg,#1c1c1c,#3c3c3c);color:white;box-shadow:inset 4px 0 #e51f3f}
.side-link:hover .nav-icon,.side-link.active .nav-icon{color:#ff4964}.nav-icon{color:#e51f3f}
.sidebar-help{background:linear-gradient(145deg,#262626,#3c3c3c);color:white}.sidebar-help strong{color:white}.sidebar-help p{color:#d4d4d4}.sidebar-help a{color:#ff5a70}.sidebar-help:after{border-color:rgba(229,31,63,.18)}
.welcome-hero{background:linear-gradient(122deg,#090909,#262626 58%,#4a4a4a);border:1px solid #e51f3f;box-shadow:0 20px 48px rgba(0,0,0,.18)}
.welcome-hero:before{background:rgba(229,31,63,.13)}.welcome-hero:after{border-color:rgba(229,31,63,.13)}.welcome-hero h1{color:white}.welcome-hero p:last-child{color:#e2e2e2}.welcome-hero .eyebrow{color:#ff6a7e}
.progress-ring{background:conic-gradient(#e51f3f 0 62%,rgba(255,255,255,.18) 62% 100%)}.progress-ring:before{background:#202020}.progress-ring span{color:#ddd}
.attention-strip{background:white;border:1px solid #e51f3f;box-shadow:0 7px 20px rgba(0,0,0,.05)}.attention-icon{background:#e51f3f}
.portal-card{background:linear-gradient(155deg,#fff,#ededed);border:1.5px solid #e51f3f;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.portal-card:hover{border-color:#ff294b;box-shadow:0 15px 34px rgba(0,0,0,.15)}.portal-card:before{height:6px;background:linear-gradient(90deg,#e51f3f,#ff5269)}.portal-card:after{border-color:rgba(229,31,63,.08)}
.card-icon{background:#232323;color:#ff3f5a;border-radius:13px}.card-status{background:#dedede;color:#242424}.card-status.warning{background:#ffe0e5;color:#9f0f27}.card-status.urgent{background:#e51f3f;color:white}.card-action{color:#d71534}
.card-footer i{background:#d4d4d4}.card-footer i:after{background:#e51f3f}
.panel,.form-section,.school-detail-card,.event-item,.task-row,.recommendation-card,.document-row,.update-card,.test-card{background:linear-gradient(145deg,#fff,#f0f0f0);border:1px solid #c8c8c8;box-shadow:0 8px 24px rgba(0,0,0,.07)}
.panel:hover,.form-section:hover{border-color:#e51f3f}.advisor-card{background:linear-gradient(145deg,#202020,#3b3b3b);border-color:#e51f3f}.advisor-card h2,.advisor-card .eyebrow{color:white}.advisor-card p{color:#ddd}.advisor-avatar{background:#e51f3f}
.timeline-date,.owner-pill{background:#e8e8e8;color:#1e1e1e}.completion-badge{background:#ffe2e7;color:#a20d26}
.form-section-title>span{background:#e51f3f}.field-grid input,.field-grid select,.field-grid textarea,.question-form select,.question-form textarea{background:white;border-color:#bdbdbd}.field-grid input:focus,.field-grid select:focus,.field-grid textarea:focus{outline:2px solid rgba(229,31,63,.25);border-color:#e51f3f}
.photo-upload{background:#f4f4f4;border-color:#e51f3f}.photo-upload:before{background:#1f1f1f;color:#ff4761}.form-actions{border-color:#e51f3f}
.primary-button{background:linear-gradient(145deg,#e51f3f,#b90f2b);border-color:#b90f2b}.secondary-button{background:white;border-color:#888;color:#222}.filter-pill.active{background:#1d1d1d;box-shadow:inset 0 -3px #e51f3f}
.school-card-banner{background:linear-gradient(125deg,#111,#444);border-bottom:4px solid #e51f3f}.school-card-banner:after{border-color:rgba(229,31,63,.18)}.decision-row button.selected{background:#1f1f1f;border-color:#e51f3f;color:white}
.info-banner{background:#f3f3f3;border-left:5px solid #e51f3f}.event-calendar,.test-score{background:linear-gradient(145deg,#111,#3e3e3e);border:1px solid #e51f3f}.event-choice{background:#e8e8e8}.task-accent{background:#e51f3f}.status-pill.waiting{background:#ffe2e7;color:#9f0f27}.status-pill.done{background:#ddd;color:#222}.doc-icon{background:#1f1f1f;color:#ff4560}.toast{background:#1d1d1d;border:1px solid #e51f3f}
.eyebrow,.link-button,.back-link{color:#d81735}
.email-destination{margin:-4px 0 2px;padding:10px 12px;border-left:4px solid #e51f3f;background:#f2f2f2;color:#555;font-size:13px}
.fillout-panel{padding:0;overflow:hidden}.fillout-embed{width:100%;min-height:650px}.fillout-panel.form-submission-leaving>*{opacity:0;transition:opacity .22s ease}.submitted-form-state{display:flex;align-items:flex-start;gap:18px;padding:34px;background:#f5f5f5;opacity:0;transition:opacity .3s ease}.submitted-form-state.is-visible{opacity:1}.submitted-form-check{display:grid;flex:0 0 44px;height:44px;place-items:center;border-radius:50%;background:#e1eee4;color:#285b37;font-size:23px;font-weight:900}.submitted-form-state h3{margin:2px 0 8px;color:#202020;font-size:24px}.submitted-form-state p{max-width:720px;color:#5d5d5d;line-height:1.55}.submitted-form-description a{color:#b7111a;font-weight:800}.submitted-form-actions{display:flex;flex-direction:column;align-items:flex-start;gap:10px;justify-content:flex-start;margin-top:18px}.submitted-form-actions .secondary-button,.submitted-form-actions .form-completion-button{min-width:250px}
.optional-form-start{display:flex;align-items:flex-start;gap:18px;padding:34px;background:#f5f5f5}.optional-form-start[hidden]{display:none}.optional-form-start-icon{display:grid;flex:0 0 44px;height:44px;place-items:center;border-radius:50%;background:#e7e7e7;color:#333;font-size:25px;font-weight:800}.optional-form-start h3{margin:2px 0 8px;color:#202020;font-size:24px}
.fillout-status{margin:18px 0;padding:14px 16px;border-radius:10px;background:#f3f3f3;color:#555;text-align:center}.fillout-status.error{border-left:4px solid #e51f3f;background:#fff0f3;color:#861127}.fillout-status[hidden]{display:none}
.form-selector-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 18px}.form-selector-card{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-rows:1fr auto;gap:12px;width:100%;min-height:160px;padding:18px;border:1px solid #bdbdbd;border-radius:16px;background:linear-gradient(145deg,#fff,#f3f3f3);color:#242424;text-align:left;box-shadow:0 7px 20px rgba(0,0,0,.06);cursor:pointer}.form-selector-card:hover{border-color:#d81b26;box-shadow:0 9px 24px rgba(0,0,0,.1)}.form-selector-card.active{border-color:#d81b26;background:#fff;box-shadow:inset 0 0 0 2px #d81b26,0 9px 24px rgba(0,0,0,.09)}.form-selector-number{display:grid;width:42px;height:42px;place-items:center;border-radius:11px;background:#d81b26;color:#fff;font-size:12px;font-weight:900;letter-spacing:.06em}.form-selector-copy{min-width:0;padding-top:2px}.form-selector-copy strong,.form-selector-copy small{display:block}.form-selector-copy strong{font-size:16px;line-height:1.25}.form-selector-copy small{margin-top:7px;color:#6c6c6c;font-size:11px;line-height:1.4}.form-selector-status{grid-column:1/-1;display:inline-flex;width:max-content;max-width:100%;align-items:center;min-height:25px;padding:5px 9px;border-radius:999px;background:#e8e8e8;color:#555;font-size:9px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.form-selector-status.submitted{background:#e1eee4;color:#285b37}.form-selector-status.partial{background:#fff0ca;color:#75520a}.form-selector-status.pending{background:#ededed;color:#555}.form-selector-status.checking{background:#f1f1f1;color:#777}.form-workspace-prompt{margin:0;padding:18px;border:1px dashed #aaa;border-radius:12px;background:#f5f5f5;color:#666;text-align:center}.form-workspace-prompt[hidden],.selectable-form-section[hidden]{display:none!important}.selectable-form-section{animation:form-section-enter .18s ease-out}@keyframes form-section-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.form-instance-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid #c9c9c9;background:#f2f2f2}.form-instance-list{display:flex;flex-wrap:wrap;gap:8px}.form-instance-pill{padding:8px 11px;border:1px solid #aaa;border-radius:999px;background:white;color:#555;font-size:12px;font-weight:750}.form-instance-pill:hover,.form-instance-pill.active{border-color:#d81b26;background:#666;color:white}.form-instance-toolbar .secondary-button{flex:0 0 auto;padding:8px 12px;font-size:12px}
.auth-state{width:min(620px,calc(100% - 40px));margin:11vh auto;padding:42px;border:1px solid var(--line);border-top:5px solid var(--red);border-radius:16px;background:white;box-shadow:var(--shadow);text-align:center}.auth-state[hidden]{display:none}.auth-state h1{margin:8px 0 12px}.auth-state p:last-child{color:var(--muted);line-height:1.55}
.signout-button{border:0;background:transparent;color:#666;font-size:12px;font-weight:750}.empty-state{padding:22px;color:#666}
@media(max-width:760px){.signout-button{padding:6px}}
@media(max-width:900px){.form-selector-grid{grid-template-columns:1fr}.form-selector-card{min-height:118px}}

.auth-logo{width:58px;height:88px;margin:0 auto 18px;display:block;object-fit:cover;box-shadow:0 8px 22px rgba(0,0,0,.18)}
.auth-state>p{max-width:460px;margin-left:auto;margin-right:auto;color:var(--muted);line-height:1.55}
.auth-form{max-width:390px;margin:28px auto 0;display:grid;gap:16px;text-align:left}
.auth-form[hidden],.signed-in-empty[hidden],.topbar-actions[hidden]{display:none}
.auth-form label{display:grid;gap:7px;color:#444;font-size:13px;font-weight:750}
.auth-form input{width:100%;min-height:46px;padding:11px 13px;border:1px solid #aaa;border-radius:9px;background:#fff;color:#222}
.auth-form input:focus{outline:3px solid rgba(216,27,38,.14);border-color:#d81b26}
.auth-form small{color:#777;font-weight:400}
.auth-form .primary-button{width:100%;border:0}
.auth-switch{padding:4px;border:0;background:transparent;color:#b7111a;font-weight:750;text-align:center}
.auth-error{margin:0!important;padding:11px 13px;border-left:4px solid #d81b26;background:#fff0f1;color:#8f1018!important;font-size:13px}
.signed-in-empty{max-width:430px;margin:26px auto 0;padding:22px;border-radius:12px;background:#f2f2f2}
.signed-in-empty p{color:#555;line-height:1.55}

/* Student workspace navigation and compact top-bar context. */
.student-sidebar-zone{flex:1;display:flex;flex-direction:column;margin:12px -18px -24px;padding:16px 18px 24px;border-top:2px solid #d81b26;background:linear-gradient(180deg,#242424,#151515)}
.family-notification-dock{position:fixed;right:24px;bottom:22px;z-index:65;display:flex;align-items:flex-end;flex-direction:column;gap:9px}.family-notification-dock[hidden]{display:none}.family-notification-toggle{display:flex;align-items:center;gap:9px;min-height:42px;padding:9px 13px;border:1px solid #444;border-radius:8px;background:#242424;color:#fff;font-size:12px;font-weight:850;box-shadow:0 8px 24px rgba(0,0,0,.2)}.family-notification-toggle>span{display:grid;width:21px;height:21px;place-items:center;border-radius:50%;background:#d81b26;color:#fff;font-size:12px}.family-notification-toggle.attention{border-color:#ef5360;box-shadow:0 0 0 4px rgba(216,27,38,.16),0 8px 24px rgba(0,0,0,.22);animation:family-notification-pulse 1.8s ease-in-out infinite}.family-notification-center{width:min(390px,calc(100vw - 36px));overflow:hidden;border:1px solid #aaa;border-radius:12px;background:#fff;box-shadow:0 18px 48px rgba(0,0,0,.22)}.family-notification-center>header{display:flex;align-items:center;justify-content:space-between;padding:14px 15px;background:#242424;color:#fff}.family-notification-center>header strong,.family-notification-center>header small{display:block}.family-notification-center>header small{margin-top:3px;color:#bbb;font-size:10px}.family-notification-center>header button{width:30px;height:30px;border:1px solid #777;border-radius:50%;background:transparent;color:#fff;font-size:19px}.family-notification-content{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:16px}.family-notification-mark{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:#d81b26;color:#fff;font-weight:900}.family-notification-content strong{color:#222}.family-notification-content p{margin:5px 0 11px;color:#666;font-size:12px;line-height:1.45}.family-notification-content .link-button{font-size:11px}@keyframes family-notification-pulse{50%{box-shadow:0 0 0 8px rgba(216,27,38,.05),0 8px 24px rgba(0,0,0,.22)}}
.home-portal-grid{margin-top:26px}.home-portal-grid .portal-card{min-height:185px;padding-top:30px}.home-portal-grid .portal-card>strong{font-family:Georgia,"Times New Roman",serif;font-size:21px;font-weight:600}
.family-notification-toggle{border-color:#929292;background:#737373;color:#f3f3f3;font-weight:750;box-shadow:0 5px 16px rgba(0,0,0,.10)}.family-notification-toggle>span[hidden],.family-notification-mark[hidden]{display:none}.family-notification-toggle.attention{border-color:#ef5360;background:#242424;color:#fff;animation:family-notification-arrive .55s ease-out 1}.family-notification-content:has(.family-notification-mark[hidden]){grid-template-columns:1fr}@keyframes family-notification-arrive{0%{opacity:0}100%{opacity:1}}
.family-event-groups{display:grid;gap:26px}.family-event-school{overflow:hidden;border:1px solid #bcbcbc;border-radius:13px;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.06)}.family-event-school>header{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;border-bottom:3px solid #d81b26;background:linear-gradient(120deg,#303030,#5f5f5f);color:#fff}.family-event-school>header h2{margin:0;color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:22px}.family-event-school>header span{font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.family-event-offering{border-top:1px solid #c9c9c9}.family-event-offering:first-of-type{border-top:0}.family-event-offering-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:18px 20px;background:#f1f1f1}.family-event-offering-heading h3{margin:0;color:#202020;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:18px}.family-event-offering-heading p:last-child{max-width:720px;margin:6px 0 0;color:#666;font-size:12px;line-height:1.45}.family-event-date-list{display:grid}.family-event-date{display:grid;grid-template-columns:minmax(260px,1.4fr) 120px 120px minmax(260px,1fr);gap:14px;align-items:center;min-height:82px;padding:13px 20px;border-top:1px solid #d4d4d4}.family-event-date:first-child{border-top:0}.family-event-date-main strong,.family-event-date-main span,.family-event-date-status b,.family-event-date-status small{display:block}.family-event-date-main strong{color:#202020;font-size:14px}.family-event-date-main span{margin-top:4px;color:#707070;font-size:10px}.family-event-date-status b{color:#333;font-size:11px}.family-event-date-status small{margin-top:3px;color:#777;font-size:9px}.family-event-date .secondary-button{min-height:34px;padding:7px 10px;border-radius:6px;font-size:10px;text-align:center}.family-event-assignment-list{display:grid;gap:5px}.family-event-assignment-list .task-completion{justify-content:flex-start}.family-event-assignment-list .task-completion span{font-size:10px}@media(max-width:900px){.family-event-date{grid-template-columns:1fr 1fr}.family-event-assignment-list{grid-column:1/-1}}
.admin-event-offering-group{border-bottom:1px solid #aaa;background:#fff}.admin-event-offering-group:last-child{border-bottom:0}.admin-event-offering-group>header{display:flex;align-items:center;justify-content:space-between;min-height:54px;padding:10px 14px;border-bottom:1px solid #bbb;background:#f0f0f0}.admin-event-offering-group>header strong,.admin-event-offering-group>header small{display:block}.admin-event-offering-group>header strong{color:#222;font-size:14px}.admin-event-offering-group>header small{margin-top:3px;color:#777;font-size:9px;text-transform:uppercase}.admin-event-offering-group>header>span{color:#666;font-size:9px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.admin-event-offering-group .admin-action-table{border:0}
.sidebar{background:linear-gradient(180deg,#242424,#151515);border-right-color:#343434}.sidebar>.side-link,.student-nav-group .side-link{width:100%;color:#e8e8e8}.sidebar>.side-link:hover,.sidebar>.side-link.active,.student-nav-group .side-link:hover,.student-nav-group .side-link.active{background:#d81b26;color:#fff}.sidebar .nav-icon{color:#ff6d77}.student-sidebar-zone{margin-top:4px;padding-top:8px;border-top:0;background:transparent}.student-nav-group{margin-top:0;padding:0;border:0;background:transparent}.student-nav-group .nav-section-label{margin:10px 14px 6px;color:#fff;font-size:12px;letter-spacing:.04em;text-transform:none}.side-link.indented-link{width:calc(100% - 14px);margin-left:14px}.student-picker-link{background:rgba(255,255,255,.07)!important}.student-picker-link:hover,.student-picker-link.active{background:#d81b26!important}.sidebar-help{border:1px solid #4a4a4a}
.student-nav-group{margin:0;padding:0;border:0;border-radius:0;background:transparent}
.student-nav-group .student-picker-link{background:transparent!important}

@media(max-width:760px){
  .student-sidebar-zone{flex:0 0 auto;display:flex;flex-direction:row;margin:0;padding:0;border:0;background:transparent}
  .form-instance-toolbar{align-items:stretch;flex-direction:column}
  .form-instance-toolbar .secondary-button{width:100%}
}


/* Protected administration workspace. Desktop-first with a safe compact fallback. */
.admin-shell{width:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.admin-account-label{color:#333;font-size:13px}.admin-layout{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:calc(100vh - 78px)}.admin-nav{position:sticky;top:78px;height:calc(100vh - 78px);display:flex;flex-direction:column;gap:7px;padding:24px 18px;background:#191919}.admin-nav-label{margin:0 12px 12px;color:#aaa;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.admin-nav-button{display:flex;align-items:center;gap:12px;padding:13px 14px;border:0;border-radius:10px;background:transparent;color:#ddd;text-align:left;font-weight:800}.admin-nav-button span{color:#ff6d77;font-size:10px;letter-spacing:.12em}.admin-nav-button:hover,.admin-nav-button.active{background:#d81b26;color:#fff}.admin-nav-button.active span{color:#fff}.admin-main{width:min(1200px,calc(100% - 48px));margin:0 auto;padding:42px 0 72px;min-width:0}.admin-page{display:none}.admin-page.active{display:block}.admin-page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:22px}.admin-page-heading h2{margin-bottom:7px;font-family:Georgia,serif;font-size:34px;font-weight:500}.admin-page-heading p:last-child{max-width:730px;margin:0;color:#6a6a6a;line-height:1.5}.admin-heading-actions{display:flex;gap:10px;flex:0 0 auto}.admin-toolbar{display:grid;grid-template-columns:minmax(280px,1fr) 190px 170px;gap:12px;margin-bottom:12px;padding:15px;border:1px solid #d3d3d3;border-radius:13px;background:#f7f7f7}.admin-toolbar label,.admin-form-grid label{display:grid;gap:6px;color:#333;font-size:12px;font-weight:800}.admin-toolbar label>span{font-size:10px;letter-spacing:.08em;text-transform:uppercase}.admin-toolbar input,.admin-toolbar select,.admin-form-grid input,.admin-form-grid select,.admin-form-grid textarea{width:100%;min-height:42px;padding:9px 11px;border:1px solid #bdbdbd;border-radius:9px;background:#fff;color:#222}.admin-toolbar input:focus,.admin-toolbar select:focus,.admin-form-grid input:focus,.admin-form-grid select:focus,.admin-form-grid textarea:focus{outline:3px solid rgba(216,27,38,.12);border-color:#d81b26}.admin-result-count{margin:12px 2px;color:#707070;font-size:12px;font-weight:800}.admin-family-layout{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(440px,1.1fr);gap:16px;align-items:start}.admin-list{display:grid;gap:8px;max-height:780px;overflow:auto}.admin-family-row{display:grid;grid-template-columns:45px minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;padding:14px;border:1px solid #d1d1d1;border-radius:12px;background:#fff;color:#222;text-align:left}.admin-family-row:hover,.admin-family-row.selected{border-color:#d81b26;box-shadow:0 7px 20px rgba(0,0,0,.08)}.admin-family-row.selected{background:#fff5f6}.admin-avatar{display:grid;place-items:center;width:43px;height:43px;border-radius:11px;background:#333;color:#fff;font-size:12px;font-weight:900}.admin-family-row.selected .admin-avatar{background:#d81b26}.admin-family-row strong,.admin-family-row small,.admin-row-meta>*{display:block}.admin-family-row small{margin-top:3px;color:#767676;font-size:11px}.admin-row-meta{text-align:right}.admin-row-meta small{margin-top:8px}.admin-status{display:inline-flex;width:max-content;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.admin-status.active{background:#e5eee7;color:#356043}.admin-status.inactive{background:#eee;color:#777}.admin-status.neutral{background:#eee;color:#555}.admin-detail{position:sticky;top:102px;min-height:280px;padding:22px;border:1px solid #ccc;border-radius:14px;background:linear-gradient(145deg,#fff,#f5f5f5)}.admin-detail-heading{display:flex;justify-content:space-between;gap:15px;padding-bottom:17px;border-bottom:1px solid #d5d5d5}.admin-detail-heading h2{margin:0 0 5px;font-family:Georgia,serif;font-size:28px}.admin-detail-heading a{color:#a90f18}.admin-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.admin-detail-grid div{padding:11px;border-radius:9px;background:#fff}.admin-detail-grid dt,.admin-detail-grid dd{margin:0}.admin-detail-grid dt{margin-bottom:5px;color:#777;font-size:10px;font-weight:900;text-transform:uppercase}.admin-detail-grid dd{font-size:13px;overflow-wrap:anywhere}.admin-detail-grid .span-2{grid-column:1/-1}.admin-notes{padding:13px;border-left:3px solid #d81b26;background:#fff}.admin-notes p{margin:6px 0 0;color:#666;font-size:13px;line-height:1.5;white-space:pre-wrap}.admin-subsection{margin-top:18px}.admin-subsection>div:first-child{display:flex;justify-content:space-between;margin-bottom:8px}.admin-subsection>div:first-child span{color:#777}.admin-student-row{display:grid;grid-template-columns:1fr 75px 90px;gap:12px;align-items:center;padding:11px 0;border-top:1px solid #ddd}.admin-student-row strong,.admin-student-row small,.admin-student-row b{display:block}.admin-student-row small{color:#777;font-size:10px}.admin-danger-zone{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px;padding:14px;border:1px solid #e0b9bd;border-radius:11px;background:#fff7f8}.admin-danger-zone p{margin:4px 0 0;color:#725b5e;font-size:11px}.admin-danger-button{min-height:41px;padding:9px 13px;border:1px solid #a90f18;border-radius:9px;background:#fff;color:#a90f18;font-weight:850}.admin-danger-button:hover{background:#a90f18;color:#fff}.admin-empty{padding:32px;border:1px dashed #bfbfbf;border-radius:12px;background:#fafafa;text-align:center}.admin-empty p{margin:7px 0 0;color:#777}.admin-empty.admin-loading{border-style:solid}.admin-empty.admin-error{border-color:#d81b26;background:#fff5f6}.admin-empty-inline{color:#777;font-size:12px}.admin-queue-note{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:12px 0;padding:13px 15px;border-left:4px solid #d81b26;background:#f2f2f2}.admin-queue-note strong,.admin-queue-note span{display:block}.admin-queue-note span{margin-top:3px;color:#666;font-size:12px}.admin-school-list,.admin-action-list{display:grid;gap:9px}.admin-school-row{display:grid;grid-template-columns:minmax(300px,1fr) 180px auto;gap:20px;align-items:center;padding:17px;border:1px solid #ccc;border-radius:12px;background:#fff}.admin-school-row.archived,.admin-action-row.archived{opacity:.63}.admin-school-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-school-title h3{margin:0;font-family:Georgia,serif;font-size:20px}.admin-school-row p{margin:5px 0;color:#666;font-size:12px}.admin-school-row small,.admin-school-row>div:nth-child(2) strong{display:block}.admin-school-row small{margin-top:4px;color:#777;font-size:10px}.admin-review-status{padding:4px 7px;border-radius:999px;background:#ededed;color:#555;font-size:9px;text-transform:uppercase}.admin-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.admin-row-actions .link-button{text-decoration:none}.admin-action-row{display:grid;grid-template-columns:6px minmax(240px,1.3fr) minmax(180px,1fr) 125px 115px auto;gap:14px;align-items:center;padding:14px;border:1px solid #ccc;border-radius:11px;background:#fff}.admin-action-row>i{height:40px;border-radius:5px;background:#d81b26}.admin-action-row strong,.admin-action-row small{display:block}.admin-action-row small{margin-top:3px;color:#777;font-size:10px}.admin-ai-request-list{display:grid;gap:7px;margin:12px 0 16px}.admin-ai-request-list article{display:grid;grid-template-columns:1fr auto 130px;gap:15px;align-items:center;padding:11px 14px;border:1px solid #d1d1d1;border-radius:9px;background:#fff}.admin-ai-request-list strong,.admin-ai-request-list small{display:block}.admin-ai-request-list small,.admin-ai-request-list time{margin-top:3px;color:#777;font-size:10px}.admin-dialog{width:min(860px,calc(100% - 36px));max-height:88vh;padding:0;border:0;border-radius:16px;background:#fff;box-shadow:0 25px 80px rgba(0,0,0,.28)}.admin-dialog::backdrop{background:rgba(0,0,0,.55);backdrop-filter:blur(3px)}.admin-dialog form{padding:26px}.admin-dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.admin-dialog-heading h2{margin:0;font-family:Georgia,serif;font-size:30px}.dialog-close{width:38px;height:38px;border:1px solid #ccc;border-radius:50%;background:#fff;color:#444;font-size:24px;line-height:1}.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.admin-form-grid .span-2{grid-column:1/-1}.admin-form-grid textarea{resize:vertical;line-height:1.45}.admin-form-grid label>small{color:#777;font-weight:500}.admin-form-grid .checkbox-field{display:flex;align-items:center;align-self:end;min-height:42px;padding:10px;border:1px solid #ccc;border-radius:9px;background:#f7f7f7}.admin-form-grid .checkbox-field input{width:18px;min-height:18px;margin:0 8px 0 0;accent-color:#d81b26}.admin-dialog-actions{display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;align-items:center;margin-top:20px;padding-top:18px;border-top:1px solid #ddd}.admin-archive-button{border-color:#c55;color:#9e1220}.admin-ai-dialog{width:min(660px,calc(100% - 36px))}.admin-ai-warning{margin-top:16px;padding:14px;border-left:4px solid #d81b26;background:#f4f4f4}.admin-ai-warning p{margin:5px 0 0;color:#666;font-size:12px;line-height:1.5}

@media(max-width:1000px){.admin-layout{grid-template-columns:200px minmax(0,1fr)}.admin-family-layout{grid-template-columns:1fr}.admin-detail{position:static}.admin-toolbar{grid-template-columns:1fr 1fr}.admin-toolbar .admin-search{grid-column:1/-1}.admin-school-row{grid-template-columns:1fr auto}.admin-school-row>div:nth-child(2){display:none}.admin-action-row{grid-template-columns:6px 1fr 1fr}.admin-action-row>*:nth-child(n+4){grid-column:2/-1}.admin-row-actions{grid-row:1/3;grid-column:2}}
@media(max-width:700px){.admin-page-heading{align-items:flex-start;flex-direction:column}.admin-layout{display:block}.admin-nav{position:sticky;top:78px;z-index:20;width:100%;height:auto;flex-direction:row;overflow-x:auto;padding:8px}.admin-nav-label{display:none}.admin-nav-button{white-space:nowrap}.admin-main{width:min(100% - 24px,1200px);padding:22px 0 50px}.admin-toolbar,.admin-form-grid{grid-template-columns:1fr}.admin-toolbar .admin-search,.admin-form-grid .span-2{grid-column:auto}.admin-family-layout{display:block}.admin-detail{margin-top:14px}.admin-school-row{grid-template-columns:1fr}.admin-row-actions{grid-area:auto;justify-content:flex-start}.admin-heading-actions{width:100%;flex-wrap:wrap}.admin-action-row{grid-template-columns:6px 1fr}.admin-action-row>*:nth-child(n+3){grid-column:2}.admin-dialog-actions{grid-template-columns:1fr 1fr}.admin-dialog-actions>span{display:none}.admin-ai-request-list article{grid-template-columns:1fr auto}.admin-ai-request-list time{grid-column:1/-1}}

/* Softer corporate charcoal: approximately 70% black instead of hard black. */
:root{--navy:#4d4d4d;--ink:#333;--shadow:0 16px 42px rgba(40,40,40,.14)}
.profile-chip span{background:#5a5a5a}
.side-link:hover,.side-link.active{background:linear-gradient(90deg,#4d4d4d,#6b6b6b)}
.sidebar-help{background:linear-gradient(145deg,#4d4d4d,#707070)}
.welcome-hero{background:linear-gradient(122deg,#4d4d4d,#686868 58%,#858585)}
.progress-ring:before{background:#5a5a5a}
.card-icon{background:#555}
.advisor-card{background:linear-gradient(145deg,#4d4d4d,#737373)}
.advisor-avatar{background:#5a5a5a;border:2px solid #e51f3f}
.school-card-banner{background:linear-gradient(125deg,#4d4d4d,#777)}
.decision-row button.selected{background:#555}
.event-calendar,.test-score{background:linear-gradient(145deg,#4d4d4d,#747474)}
.doc-icon{background:#555}
.filter-pill.active{background:#555}
.toast{background:#4d4d4d}

/* KLA logo-red and 60% black preview. */
:root{--navy:#666;--blue:#d81b26;--red:#d81b26;--ink:#303030;--muted:#666;--line:#c9c9c9;--paper:#fff;--wash:#f5f5f5;--shadow:0 16px 42px rgba(60,60,60,.15)}
body{background:radial-gradient(circle at 95% 0,rgba(216,27,38,.08),transparent 22%),linear-gradient(135deg,#fff,#e8e8e8)}
.topbar{border-bottom-color:#d81b26}
.secure-label:before,.nav-icon,.eyebrow,.link-button,.back-link{color:#d81b26}
.side-link:hover,.side-link.active{background:linear-gradient(90deg,#666,#898989);box-shadow:inset 4px 0 #d81b26}
.side-link:hover .nav-icon,.side-link.active .nav-icon{color:#fff}
.sidebar-help{background:linear-gradient(145deg,#666,#929292)}.sidebar-help a{color:#fff;text-decoration-color:#d81b26}.sidebar-help:after{border-color:rgba(216,27,38,.20)}
.welcome-hero{background:linear-gradient(122deg,#666,#858585 58%,#aaa);border-color:#d81b26}.welcome-hero:before{background:rgba(216,27,38,.12)}.welcome-hero:after{border-color:rgba(216,27,38,.14)}.welcome-hero .eyebrow{color:#fff}.welcome-hero p:last-child{color:#f2f2f2}
.progress-ring{background:conic-gradient(#d81b26 0 62%,rgba(255,255,255,.24) 62% 100%)}.progress-ring:before{background:#737373}
.attention-strip,.portal-card,.form-actions{border-color:#d81b26}.attention-icon{background:#d81b26}
.portal-card{background:linear-gradient(150deg,#fff,#f4f4f4);box-shadow:0 8px 24px rgba(60,60,60,.09)}.portal-card:before{background:linear-gradient(90deg,#b7111a,#d81b26)}.portal-card:after{border-color:rgba(216,27,38,.07)}.portal-card:hover{border-color:#b7111a}
.card-icon{background:linear-gradient(145deg,#666,#8d8d8d);color:white}.card-status{background:#e5e5e5}.card-status.warning,.completion-badge{background:#ededed;color:#a90f18}.card-status.urgent{background:#d81b26;color:white}.card-action{color:#b7111a}.card-footer i:after{background:#d81b26}
.panel,.form-section,.school-detail-card,.event-item,.task-row,.recommendation-card,.document-row,.update-card,.test-card{background:linear-gradient(145deg,#fff,#f5f5f5);border-color:#c5c5c5}.panel:hover,.form-section:hover{border-color:#d81b26}
.advisor-card{background:linear-gradient(145deg,#666,#999);border-color:#d81b26}.advisor-avatar{background:#777;border-color:#d81b26}
.form-section-title>span{background:#d81b26}.field-grid input:focus,.field-grid select:focus,.field-grid textarea:focus{outline-color:rgba(216,27,38,.20);border-color:#d81b26}.photo-upload{border-color:#d81b26}.photo-upload:before{background:#777;color:white}
.primary-button{background:linear-gradient(145deg,#d81b26,#a90f18);border-color:#a90f18}.filter-pill.active,.decision-row button.selected{background:#707070;border-color:#d81b26}.school-card-banner{background:linear-gradient(125deg,#666,#9b9b9b);border-bottom-color:#d81b26}.school-card-banner:after{border-color:rgba(216,27,38,.18)}
.info-banner{border-left-color:#d81b26}.event-calendar,.test-score{background:linear-gradient(145deg,#666,#999);border-color:#d81b26}.task-accent{background:#d81b26}.status-pill.waiting{background:#ededed;color:#a90f18}.doc-icon{background:#777;color:white}.toast{background:#666;border-color:#d81b26}.email-destination{border-left-color:#d81b26}

/* Airtable-backed school/application pages and protected admin entry. */
.admin-login-link{padding:9px 13px;border:1px solid #aaa;border-radius:9px;background:white;color:#555;font-size:12px;font-weight:800}.admin-login-link:hover{border-color:#d81b26;color:#a90f18}.admin-login-link[hidden]{display:none}
.admin-shell[hidden]{display:none}
.admin-sync-notice,.admin-sync-panel{display:grid;gap:4px;margin:12px 0;padding:13px 15px;border-left:4px solid #d81b26;background:#f2f2f2}.admin-sync-notice span,.admin-sync-panel p{margin:0;color:#666;font-size:12px;line-height:1.5}
.admin-sync-notice{padding:0}.admin-sync-notice button{display:grid;width:100%;gap:4px;padding:13px 15px;border:0;background:transparent;color:#222;text-align:left;cursor:pointer}.admin-sync-notice button:hover{background:#e8e8e8}.admin-sync-notice small{margin-top:3px;color:#a90f18;font-size:11px;font-weight:850}
.admin-school-controls{display:grid;grid-template-columns:minmax(300px,1fr) 190px 180px;gap:18px;align-items:end;margin:30px 0 18px;padding:18px 0;border-top:1px solid #bdbdbd;border-bottom:1px solid #bdbdbd}.admin-school-controls label{display:grid;gap:6px;color:#333;font-size:12px;font-weight:800}.admin-school-controls label>span{font-size:10px;letter-spacing:.08em;text-transform:uppercase}.admin-school-controls input,.admin-school-controls select{width:100%;min-height:42px;padding:9px 11px;border:1px solid #aaa;border-radius:5px;background:#fff;color:#222}.admin-school-list{overflow-x:auto;border:1px solid #bdbdbd;background:#fff}.admin-school-table{min-width:1050px}.admin-school-table-header,.admin-school-row{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(150px,.85fr) minmax(150px,.85fr) minmax(170px,1fr) 140px 175px;gap:0;align-items:stretch}.admin-school-table-header{background:#242424;color:#fff;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.admin-school-table-header span{padding:12px;border-right:1px solid #555}.admin-school-row{padding:0;border:0;border-radius:0;border-top:1px solid #ccc;background:#fff}.admin-school-row:first-of-type{border-top:0}.admin-school-row>div{display:flex;flex-direction:column;justify-content:center;gap:5px;min-width:0;padding:13px;border-right:1px solid #d8d8d8}.admin-school-row>div:last-child{border-right:0}.admin-school-row strong,.admin-school-row small{display:block}.admin-school-row small{color:#737373;font-size:10px}.admin-school-row:hover{background:#fff8f9}.admin-school-codes{display:flex!important;flex-direction:row!important;align-content:center;justify-content:flex-start!important;flex-wrap:wrap;gap:5px!important}.admin-school-codes span{padding:3px 5px;background:#eee;font-size:10px}.admin-muted{color:#777;background:transparent!important}.school-validity,.school-confidence{display:inline-flex;width:max-content;max-width:100%;padding:3px 6px;border-radius:4px;font-size:9px;font-weight:900;text-transform:uppercase}.school-validity.current,.school-confidence.high{background:#e1eee4;color:#285b37}.school-validity.warning,.school-confidence.medium{background:#fff0ca;color:#75520a}.school-confidence.low,.school-confidence.unverified{background:#ffe1e5;color:#941329}.admin-school-row .admin-row-actions{flex-direction:row;align-items:center;justify-content:flex-start;gap:8px}.admin-school-row .admin-row-actions .secondary-button{min-height:34px;padding:6px 10px}.admin-dialog-heading p{margin:6px 0 0;color:#666;font-size:12px;line-height:1.45}
[data-school-detail-field][hidden],#adminArchiveSchoolButton[hidden]{display:none}
.admin-school-table{min-width:900px}.admin-school-table-header,.admin-school-row{grid-template-columns:minmax(190px,1.2fr) minmax(130px,.85fr) minmax(130px,.85fr) minmax(145px,1fr) 120px 190px}
.admin-table-controls{display:grid;grid-template-columns:minmax(300px,1fr) 190px 180px;gap:18px;align-items:end;margin:30px 0 18px;padding:18px 0;border-top:1px solid #bdbdbd;border-bottom:1px solid #bdbdbd}.admin-table-controls label{display:grid;gap:6px;color:#333;font-size:12px;font-weight:800}.admin-table-controls label>span{font-size:10px;letter-spacing:.08em;text-transform:uppercase}.admin-table-controls input,.admin-table-controls select{width:100%;min-height:42px;padding:9px 11px;border:1px solid #aaa;border-radius:5px;background:#fff;color:#222}.admin-table-controls input:focus,.admin-table-controls select:focus{outline:3px solid rgba(216,27,38,.12);border-color:#d81b26}.admin-school-row .admin-row-actions .link-button{padding:4px 8px;border-left:1px solid #ccc}.admin-school-row .admin-row-actions .link-button:first-child{padding-left:0;border-left:0}
.admin-command-bar{display:flex;align-items:center;gap:10px;margin:-4px 0 22px}.ui-action-primary,.ui-action-secondary,.ui-action-tertiary{display:inline-flex;align-items:center;justify-content:center;font-size:var(--ui-font-sm);font-weight:var(--ui-weight-emphasis);line-height:1;text-decoration:none;white-space:nowrap}.ui-action-primary,.ui-action-secondary{min-height:40px;padding:10px 15px;border-radius:7px}.ui-action-primary{border:1px solid var(--ui-action-primary-hover);background:var(--ui-action-primary);color:#fff}.ui-action-primary:hover{background:var(--ui-action-primary-hover)}.ui-action-secondary{border:1px solid #999;background:#fff;color:var(--ui-action-secondary)}.ui-action-secondary:hover{border-color:var(--ui-action-primary);color:var(--ui-action-primary-hover)}.ui-action-tertiary{min-height:28px;padding:4px 8px;border:0;border-left:1px solid #c8c8c8;background:transparent;color:var(--ui-action-primary-hover)}.ui-action-tertiary:first-child{padding-left:0;border-left:0}.ui-action-tertiary:hover{text-decoration:underline}.ui-action-primary:disabled,.ui-action-secondary:disabled,.ui-action-tertiary:disabled{cursor:wait;opacity:.58}
.admin-page-heading h2{color:var(--ui-text-primary)}.admin-page-heading p:last-child,.admin-result-count,.admin-muted{color:var(--ui-text-secondary)}.admin-school-table{min-width:880px}.admin-school-table-header,.admin-school-row{grid-template-columns:minmax(180px,1.2fr) minmax(115px,.8fr) minmax(115px,.8fr) minmax(125px,.9fr) 105px 205px}.admin-school-table-header{font-size:var(--ui-font-xs);font-weight:var(--ui-weight-emphasis)}.admin-school-row{color:var(--ui-text-primary);font-size:var(--ui-font-sm)}.admin-school-row>div{overflow:visible}.admin-school-row>div>strong{font-weight:var(--ui-weight-strong)}.admin-school-value{display:block;font-weight:var(--ui-weight-normal);line-height:1.35}.admin-school-codes span{font-weight:var(--ui-weight-normal);white-space:nowrap}.admin-school-row .admin-row-actions{flex-wrap:nowrap;overflow:visible;white-space:nowrap}.school-validity-marker{position:relative;display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;font-size:var(--ui-font-xs);font-weight:var(--ui-weight-emphasis);line-height:1;cursor:help}.school-validity-marker.current{background:var(--ui-state-success-bg);color:var(--ui-state-success)}.school-validity-marker.warning{background:var(--ui-state-warning-bg);color:var(--ui-state-warning)}.school-validity-marker:after{content:attr(data-tooltip);position:absolute;z-index:40;left:0;bottom:calc(100% + 7px);width:max-content;max-width:280px;padding:8px 10px;border-radius:6px;background:#242424;color:#fff;font-size:var(--ui-font-xs);font-weight:var(--ui-weight-normal);line-height:1.4;text-transform:none;white-space:normal;box-shadow:0 8px 24px rgba(0,0,0,.22);opacity:0;pointer-events:none;transform:translateY(3px);transition:opacity .12s ease,transform .12s ease}.school-validity-marker:hover:after,.school-validity-marker:focus:after{opacity:1;transform:translateY(0)}.school-confidence{font-size:var(--ui-font-xs);font-weight:var(--ui-weight-emphasis);white-space:nowrap}.school-confidence.high{background:var(--ui-state-success-bg);color:var(--ui-state-success)}.school-confidence.medium{background:var(--ui-state-warning-bg);color:var(--ui-state-warning)}.school-confidence.low,.school-confidence.unverified{background:var(--ui-state-danger-bg);color:var(--ui-state-danger)}
.admin-school-candidate-section{padding:16px 0;border-top:1px solid #bbb;border-bottom:1px solid #bbb}.admin-school-candidate-section[hidden]{display:none}.admin-school-candidate-section>div:first-child{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:12px}.admin-school-candidate-section>div:first-child strong{color:var(--ui-text-primary);font-size:var(--ui-font-md)}.admin-school-candidate-section>div:first-child p{margin:4px 0 0;color:var(--ui-text-secondary);font-size:var(--ui-font-sm)}.admin-school-candidate-list{border:1px solid #bbb;background:#fff}.admin-school-candidate{display:grid;grid-template-columns:22px minmax(0,1fr);gap:11px;padding:14px;border-top:1px solid #ddd;cursor:pointer}.admin-school-candidate:first-child{border-top:0}.admin-school-candidate:has(input:checked){background:#fff3f4;box-shadow:inset 4px 0 var(--ui-action-primary)}.admin-school-candidate.existing{cursor:not-allowed;opacity:.62}.admin-school-candidate input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--ui-action-primary)}.admin-school-candidate strong,.admin-school-candidate small,.admin-school-candidate span>span,.admin-school-candidate b{display:block}.admin-school-candidate small{margin-top:3px;color:var(--ui-text-secondary)}.admin-school-candidate span>span{margin-top:6px;color:var(--ui-text-primary);font-size:var(--ui-font-sm);font-weight:var(--ui-weight-strong)}.admin-school-candidate p{margin:5px 0 0;color:var(--ui-text-secondary);font-size:var(--ui-font-sm);line-height:1.4}.admin-school-candidate b{margin-top:7px;color:var(--ui-state-warning);font-size:var(--ui-font-xs);letter-spacing:.04em;text-transform:uppercase}
.admin-school-candidate a,.admin-school-candidate em{display:inline-block;margin-top:4px;color:var(--ui-action-primary);font-size:var(--ui-font-xs);font-style:normal;font-weight:var(--ui-weight-strong)}

/* Comprehensive admin school review table and bounded AI controls. */
.admin-school-table{min-width:1680px}.admin-school-table-header,.admin-school-row{grid-template-columns:290px 230px 250px 250px 170px 300px 150px}.admin-school-row>div{justify-content:flex-start;gap:8px;padding:14px}.admin-school-fact{display:block;min-width:0}.admin-school-fact>small{margin:0 0 2px;color:var(--ui-text-secondary);font-size:var(--ui-font-xs);font-weight:var(--ui-weight-emphasis);letter-spacing:.04em;text-transform:uppercase}.admin-school-fact>span{display:block;overflow-wrap:anywhere;line-height:1.4}.admin-school-links{align-items:flex-start}.admin-school-links>a,.admin-school-row>div:nth-child(6)>a{color:var(--ui-action-primary);font-size:var(--ui-font-sm);font-weight:var(--ui-weight-strong)}.admin-school-row .admin-school-codes{align-content:flex-start;align-items:flex-start}.admin-school-row .admin-row-actions{align-items:flex-start;flex-direction:column;justify-content:flex-start}.admin-school-row .admin-row-actions button{width:100%}
.admin-ai-operation{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0;padding:0;border:0}.admin-ai-operation legend{margin-bottom:9px;color:var(--ui-text-primary);font-size:var(--ui-font-sm);font-weight:var(--ui-weight-emphasis)}.admin-ai-operation label{position:relative;display:block;cursor:pointer}.admin-ai-operation input{position:absolute;opacity:0;pointer-events:none}.admin-ai-operation label>span{display:block;height:100%;padding:15px;border:1px solid #bbb;border-radius:8px;background:#fff}.admin-ai-operation label>span strong,.admin-ai-operation label>span small{display:block}.admin-ai-operation label>span small{margin-top:5px;color:var(--ui-text-secondary);font-size:var(--ui-font-sm);font-weight:var(--ui-weight-normal);line-height:1.4}.admin-ai-operation input:checked+span{border-color:var(--ui-action-primary);background:#fff4f5;box-shadow:inset 4px 0 var(--ui-action-primary)}.admin-ai-operation input:focus-visible+span{outline:3px solid rgba(216,27,38,.18)}
.admin-ai-fine-tuning{margin-top:16px;border-top:1px solid #ccc;border-bottom:1px solid #ccc}.admin-ai-fine-tuning summary{padding:13px 2px;cursor:pointer;color:var(--ui-text-primary);font-size:var(--ui-font-sm);font-weight:var(--ui-weight-emphasis)}.admin-ai-fine-tuning[open]{padding-bottom:16px}.admin-ai-field-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:5px 0 12px}.admin-ai-field-heading strong,.admin-ai-field-heading small{display:block}.admin-ai-field-heading small{margin-top:3px;color:var(--ui-text-secondary);font-size:var(--ui-font-xs)}.admin-ai-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.admin-ai-field-grid label{display:flex;align-items:center;gap:8px;padding:9px;border:1px solid #ccc;border-radius:6px;background:#fafafa;font-size:var(--ui-font-sm);font-weight:var(--ui-weight-strong)}.admin-ai-field-grid input{width:17px;height:17px;accent-color:var(--ui-action-primary)}.admin-ai-instructions{display:grid;gap:6px;margin-top:12px;color:var(--ui-text-primary);font-size:var(--ui-font-sm);font-weight:var(--ui-weight-emphasis)}.admin-ai-instructions textarea{width:100%;padding:10px;border:1px solid #bbb;border-radius:7px;resize:vertical}
@media(max-width:700px){.admin-ai-operation,.admin-ai-field-grid{grid-template-columns:1fr}}

/* School table uses the page canvas; rows stay compact and consistently aligned. */
html,body{background:#ededed}body{padding-top:78px}.topbar{position:fixed;top:0;right:0;left:0;width:100vw;min-width:100vw;background:#fff}
.admin-school-list{width:max-content;max-width:none;overflow:visible;border-radius:0}.admin-school-table{width:1640px;min-width:1640px}.admin-school-table-header{height:42px}.admin-school-row{height:238px;align-items:stretch}.admin-school-row>div{position:relative;height:238px;overflow:hidden;justify-content:flex-start;font-size:12px;cursor:default}.admin-school-row>div.is-truncated{cursor:pointer}.admin-school-row>div.is-truncated:not(.expanded):after{content:"…";position:absolute;right:0;bottom:0;left:0;z-index:3;display:flex;align-items:flex-end;justify-content:center;height:38px;padding:0 1px 5px 0;background:linear-gradient(to bottom,rgba(255,255,255,0),#fff 58%),linear-gradient(#d8d8d8,#d8d8d8) right/1px 100% no-repeat,linear-gradient(#d8d8d8,#d8d8d8) bottom/100% 1px no-repeat;color:#555;font-size:18px;font-weight:800;pointer-events:auto}.admin-school-row:hover>div.is-truncated:not(.expanded):after{background:linear-gradient(to bottom,rgba(255,248,249,0),#fff8f9 58%),linear-gradient(#d8d8d8,#d8d8d8) right/1px 100% no-repeat,linear-gradient(#d8d8d8,#d8d8d8) bottom/100% 1px no-repeat}.admin-school-row>div.expanded{z-index:25;height:max-content;min-height:238px;overflow:visible;background:#fff;box-shadow:0 12px 28px rgba(0,0,0,.2)}.admin-school-row>div:first-child>strong{margin-bottom:1px;color:#202020;font-family:Georgia,"Times New Roman",serif;font-size:21px;font-weight:700;line-height:1.12}.admin-school-row>div:first-child>small{margin-bottom:7px;color:#777;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:9px;letter-spacing:.02em}.admin-school-fact>small{display:flex;align-items:center;gap:5px;color:#6d6d6d}.admin-school-fact>span,.admin-school-value{color:#2f2f2f}.admin-school-table a{display:block;overflow-wrap:anywhere;color:#1769aa!important;text-decoration:none}.admin-school-table a:hover{text-decoration:underline}.admin-school-table .admin-muted{color:#858585!important;font-style:italic}.admin-school-row .admin-row-actions{display:grid!important;grid-template-columns:1fr;align-content:start;gap:8px!important;height:238px;overflow:visible;cursor:default}.admin-school-row .admin-row-actions button{width:100%;min-height:32px;flex:0 0 auto;padding:6px 10px;border:1px solid #c5c5c5;border-radius:5px;background:#fff}.admin-school-row .admin-row-actions button:first-child{padding-left:10px;border-left:1px solid #c5c5c5}
.school-validity-marker{display:inline-flex;width:15px;height:15px;flex:0 0 15px;align-items:center;justify-content:center;padding:0;font-family:Arial,sans-serif;font-size:9px;line-height:15px;vertical-align:middle}.school-validity-marker:after{bottom:calc(100% + 6px)}
#adminSchoolDialog{overflow:hidden}#adminSchoolForm{display:flex;max-height:88vh;padding:0;flex-direction:column}#adminSchoolForm .admin-dialog-heading{flex:0 0 auto;margin-bottom:18px;padding:26px 26px 0}#adminSchoolForm .admin-form-grid{min-height:0;overflow-y:auto;padding:0 26px 22px}#adminSchoolForm #adminSchoolFormError{flex:0 0 auto;margin:0 26px 12px}#adminSchoolForm .admin-dialog-actions{position:relative;z-index:3;flex:0 0 auto;margin:0;padding:15px 26px 18px;border-top:1px solid #ccc;background:#fff;box-shadow:0 -10px 24px rgba(0,0,0,.08)}
@media(max-width:1000px){.admin-table-controls{grid-template-columns:1fr 1fr}.admin-table-controls .admin-search{grid-column:1/-1}}
@media(max-width:700px){.admin-table-controls{grid-template-columns:1fr}.admin-table-controls .admin-search{grid-column:auto}}
@media(max-width:1000px){.admin-school-controls{grid-template-columns:1fr 1fr}.admin-school-controls .admin-search{grid-column:1/-1}}
.refresh-button{flex:0 0 auto}.loading-state{position:relative;overflow:hidden}.loading-state:after{content:"";position:absolute;left:0;bottom:0;width:38%;height:4px;background:#d81b26;animation:kla-loading 1.2s ease-in-out infinite alternate}.error-state{border-left:4px solid #d81b26}
.school-display-grid>.empty-state{grid-column:1/-1}.school-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.school-title-row>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.school-title-row>small{color:#777;white-space:nowrap}.school-card-body>p{margin-top:14px;color:#5e5e5e;line-height:1.55}.button-row{display:flex;flex-wrap:wrap;gap:9px}.decision-row button:disabled{cursor:wait;opacity:.6}
.school-application-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:18px 0;background:#ccc;border:1px solid #ccc}.school-application-grid>div{display:grid;align-content:start;gap:5px;min-height:88px;padding:12px;background:#fff}.school-application-grid>div>span:first-child{color:#777;font-size:10px;font-weight:900;text-transform:uppercase}.school-application-grid strong{font-size:13px}.school-fact-current,.school-fact-warning{display:inline-flex;width:max-content;padding:3px 6px;border-radius:4px;font-size:9px;font-weight:900;text-transform:uppercase}.school-fact-current{background:#e1eee4;color:#285b37}.school-fact-warning{background:#fff0ca;color:#75520a;cursor:help}.school-code-list{display:flex;flex-wrap:wrap;gap:5px;font-size:12px}.school-code-list span{padding:3px 5px;background:#eee}
.task-completion{display:flex;align-items:center;gap:8px;width:max-content;padding:8px 10px;border:1px solid #bcbcbc;border-radius:999px;background:white;color:#555;font-size:12px;font-weight:800;cursor:pointer}.task-completion input{width:18px;height:18px;margin:0;accent-color:#d81b26}.task-completed{opacity:.72}.task-completed>div>strong{text-decoration:line-through}.task-completed .task-accent{background:#777}.empty-inline{padding:18px;color:#707070;font-size:13px;line-height:1.5}
@keyframes kla-loading{from{transform:translateX(-20%)}to{transform:translateX(190%)}}

@media(max-width:760px){
  .topbar-actions{gap:7px}.brand>span,.profile-chip{display:none}
  .admin-login-link{padding:8px 9px}
  .refresh-button{width:100%}
  .school-title-row{display:block}.school-title-row>small{display:block;margin-top:8px}
  .decision-row{flex-direction:column}
  .task-row{grid-template-columns:8px 1fr}.task-row>*:nth-child(n+3){grid-column:2/-1}
}

/* Full-width family list with an independently resizable detail drawer. */
.admin-family-layout{display:block}.admin-family-layout .admin-list{width:100%;max-height:none;overflow:visible}.admin-family-layout .admin-family-row{width:100%;grid-template-columns:45px minmax(0,1fr) auto}.admin-family-layout .admin-detail{position:fixed;z-index:29;top:78px;right:0;bottom:0;width:520px;max-width:calc(100vw - 120px);min-height:0;margin:0;padding:30px 24px 28px;border:0;border-left:1px solid #aaa;border-radius:0;background:#f7f7f7;box-shadow:-8px 0 24px rgba(0,0,0,.11);overflow-y:auto}.admin-family-layout .admin-detail[hidden]{display:none!important}.admin-detail-resizer{position:absolute;z-index:31;top:0;bottom:0;left:0;width:10px;border:0;border-right:1px solid #aaa;background:transparent;cursor:ew-resize}.admin-detail-resizer:before{content:none}.admin-detail-close{position:sticky;z-index:3;top:0;float:right;width:34px;height:34px;margin:-16px -10px 4px 12px;border:1px solid #bbb;border-radius:50%;background:#fff;color:#333;font-size:22px;line-height:1}.admin-resizing-detail{cursor:ew-resize;user-select:none}.admin-detail-heading h2{color:#171717;font-weight:600}.admin-detail-heading .admin-family-id{margin:2px 0 7px;color:#858585;font-size:10px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.admin-school-row>div.is-truncated:not(.expanded):after{background:linear-gradient(to bottom,rgba(240,240,240,0) 0%,rgba(240,240,240,.16) 48%,rgba(240,240,240,.62) 82%,#f0f0f0 100%),linear-gradient(#d8d8d8,#d8d8d8) right/1px 100% no-repeat,linear-gradient(#d8d8d8,#d8d8d8) bottom/100% 1px no-repeat}.admin-school-row:hover>div.is-truncated:not(.expanded):after{background:linear-gradient(to bottom,rgba(235,235,235,0) 0%,rgba(235,235,235,.16) 48%,rgba(235,235,235,.62) 82%,#ebebeb 100%),linear-gradient(#d8d8d8,#d8d8d8) right/1px 100% no-repeat,linear-gradient(#d8d8d8,#d8d8d8) bottom/100% 1px no-repeat}
.admin-status{align-items:center;justify-content:center;min-height:24px;line-height:1}.admin-row-meta .admin-status{margin-left:auto}
.admin-status.warning{background:#fff0ca;color:#75520a}.admin-delete-zone{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:12px;padding:14px;border:1px solid #95141c;background:#fff}.admin-delete-zone p{margin:4px 0 0;color:#725b5e;font-size:11px}.admin-permanent-delete{min-height:41px;padding:9px 13px;border:1px solid #95141c;border-radius:7px;background:#95141c;color:#fff;font-weight:850}.admin-permanent-delete:hover:not(:disabled){background:#700b12}.admin-permanent-delete:disabled{cursor:not-allowed;opacity:.45}.admin-delete-dialog{width:min(650px,calc(100% - 36px))}.admin-delete-dialog form{padding:26px}.admin-delete-family-name{color:#080808;font-weight:900}.admin-delete-warning{padding:16px;border-left:5px solid #95141c;background:#fff1f2;color:#541014}.admin-delete-warning p{margin:8px 0 0;color:#68484b;line-height:1.5}.admin-delete-confirm{display:grid;gap:8px;margin-top:18px;font-size:13px}.admin-delete-confirm[hidden]{display:none!important}.admin-delete-confirm input{min-height:44px;padding:10px 12px;border:1px solid #aaa;border-radius:7px;font-weight:800;letter-spacing:.08em}
.admin-danger-zone .admin-danger-button,.admin-delete-zone .admin-permanent-delete{width:138px;min-width:138px}
@media(max-width:700px){.admin-family-layout .admin-detail{width:min(92vw,520px);max-width:92vw}.admin-detail-resizer{display:none}}
.admin-school-list{width:1680px;margin-right:0;border:0;background:transparent}.admin-schools-page .admin-command-bar,#adminSchoolsPage .admin-command-bar{margin:0 0 22px}
.admin-student-row{grid-template-columns:minmax(140px,1fr) 60px 74px 116px;gap:10px}.admin-student-row .ui-action-secondary{width:116px;min-height:34px;padding:6px 8px}.admin-student-schools-dialog{width:min(720px,calc(100% - 36px))}.admin-student-schools-dialog form{padding:26px}.admin-assigned-schools{margin-bottom:16px;padding:14px;background:#f1f1f1}.admin-assigned-schools>div{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.admin-assigned-schools span{padding:6px 8px;border:1px solid #ccc;background:#fff;font-size:12px}.admin-assigned-schools span small{margin-left:5px;color:#777}.admin-assigned-schools p{margin:7px 0 0;color:#777;font-size:12px}.admin-school-picker-search{display:grid;gap:6px;font-size:12px;font-weight:800}.admin-school-picker-search input{min-height:42px;padding:9px 11px;border:1px solid #bbb;border-radius:7px}.admin-school-picker-heading{display:flex;align-items:center;justify-content:space-between;margin:16px 0 8px}.admin-school-picker{display:grid;max-height:320px;overflow-y:auto;border:1px solid #ccc}.admin-school-picker label{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid #ddd;cursor:pointer}.admin-school-picker label:last-child{border-bottom:0}.admin-school-picker label:hover{background:#f5f5f5}.admin-school-picker input{width:17px;height:17px;accent-color:#d81b26}.admin-school-picker strong,.admin-school-picker small{display:block}.admin-school-picker small{margin-top:2px;color:#777;font-size:10px}

.admin-action-table-header,.admin-action-table-row{grid-template-columns:minmax(290px,1.7fr) 90px 135px 110px 85px 135px 88px}.admin-action-table-row{min-height:78px}.admin-action-table-row .admin-row-actions{display:grid;gap:4px;align-content:center}.admin-action-table-row .admin-row-actions button{width:70px;min-height:24px;padding:4px 6px;font-size:9px}.admin-action-target-divider{padding:7px 11px;border-top:1px solid #bbb;border-bottom:1px solid #ccc;background:#e9e9e9;color:#555;font-size:9px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.admin-action-target-divider:first-child{border-top:0}.ui-action-danger{border:1px solid #c68d92;border-radius:6px;background:#fff;color:#941329;font-weight:800}.ui-action-danger:hover{border-color:#941329;background:#fff1f2}

/* Inline family workspace: family list, family details, then student controls. */
.admin-main.admin-families-workspace{width:max-content;max-width:none;min-width:calc(100vw - 240px);margin:0;padding:42px 32px 72px 24px}.admin-families-workspace #adminFamiliesPage{width:max-content;min-width:1120px}.admin-families-workspace #adminFamiliesPage>.admin-page-heading,.admin-families-workspace #adminFamiliesPage>.admin-table-controls,.admin-families-workspace #adminFamiliesPage>.admin-sync-notice,.admin-families-workspace #adminFamiliesPage>.admin-result-count{width:1120px}.admin-family-layout{display:grid;width:max-content;grid-template-columns:1120px;gap:0;align-items:start;border-top:1px solid #c8c8c8;border-bottom:1px solid #c8c8c8;background:#fff}.admin-family-layout:has(#adminFamilyDetail:not([hidden])){grid-template-columns:620px 500px}.admin-family-layout:has(#adminStudentDetail:not([hidden])){grid-template-columns:540px 500px 420px}.admin-family-layout .admin-list{width:auto;min-height:calc(100vh - 250px);max-height:none;padding:16px;overflow:visible;background:#f4f4f4}.admin-family-layout .admin-family-row{width:100%}.admin-family-layout .admin-detail{position:sticky;z-index:2;top:90px;right:auto;bottom:auto;width:auto!important;max-width:none;height:calc(100vh - 108px);min-height:520px;margin:0;padding:26px 22px 30px;border:0;border-left:1px solid #bdbdbd;border-radius:0;background:#f8f8f8;box-shadow:none;overflow-y:auto}.admin-family-layout .admin-student-detail{z-index:1;background:#f1f1f1}.admin-family-layout .admin-detail-close{position:sticky;top:0}.admin-family-layout .admin-detail-resizer{display:none}.admin-student-row{width:100%;grid-template-columns:minmax(140px,1fr) 55px 72px 52px;padding:11px 4px;border:0;border-top:1px solid #ddd;background:transparent;color:#222;text-align:left;cursor:pointer}.admin-student-row:hover,.admin-student-row.selected{background:#fff}.admin-student-row.selected{box-shadow:inset 3px 0 #d81b26}.admin-student-open{color:#a90f18;font-size:11px;font-weight:850;text-align:right}.admin-panel-label{margin:0 0 6px;color:#777;font-size:10px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.admin-student-controls{margin-top:18px;padding:18px;border-top:3px solid #d81b26;background:#fff}.admin-student-controls h3{margin:0 0 6px;font-family:Georgia,serif;font-size:21px}.admin-student-controls>p:not(.admin-panel-label){margin:0 0 14px;color:#666;font-size:12px;line-height:1.5}

.admin-family-layout{--family-list-width:540px;--family-detail-width:500px;--student-detail-width:420px}.admin-family-layout:has(#adminFamilyDetail:not([hidden])){grid-template-columns:var(--family-list-width) var(--family-detail-width)}.admin-family-layout:has(#adminStudentDetail:not([hidden])){grid-template-columns:var(--family-list-width) var(--family-detail-width) var(--student-detail-width)}.admin-family-layout .admin-detail{position:sticky;height:auto;min-height:calc(100vh - 108px);overflow:visible}.admin-inline-resizer{position:absolute;z-index:5;top:0;right:-6px;bottom:0;width:12px;padding:0;border:0;background:transparent;cursor:ew-resize}.admin-inline-resizer:after{content:"";position:absolute;top:0;right:5px;bottom:0;width:1px;background:transparent}.admin-inline-resizer:hover:after,.admin-resizing-detail .admin-inline-resizer:after{background:#999}.admin-resizing-detail{cursor:ew-resize;user-select:none}

/* Stable, tabbed family form-information workspace. */
.admin-family-view-toggle{display:flex;padding:3px;border:1px solid #aaa;border-radius:8px;background:#ededed}.admin-family-view-toggle button{min-height:34px;padding:7px 12px;border:0;border-radius:5px;background:transparent;color:#666;font-size:11px;font-weight:850}.admin-family-view-toggle button.active{background:#252525;color:#fff}.admin-families-workspace #adminFamilyInformationView{width:1120px}.admin-family-information-view{border:1px solid #bbb;background:#f4f4f4}.admin-family-information-view[hidden],#adminFamiliesPage [data-family-management][hidden]{display:none!important}.admin-information-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) minmax(240px,1fr) auto;gap:12px;align-items:end;padding:16px;border-bottom:1px solid #bbb;background:#e9e9e9}.admin-information-toolbar label{display:grid;gap:6px;color:#333;font-size:11px;font-weight:850}.admin-information-toolbar label>span{font-size:9px;letter-spacing:.1em;text-transform:uppercase}.admin-information-toolbar select{width:100%;min-height:42px;padding:9px 11px;border:1px solid #aaa;border-radius:7px;background:#fff;color:#222;font-weight:700}.admin-information-toolbar button{min-height:42px;white-space:nowrap}.admin-information-context{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:62px;padding:13px 17px;border-bottom:1px solid #c7c7c7;background:#fff}.admin-information-context strong,.admin-information-context small{display:block}.admin-information-context strong{font-family:Georgia,serif;font-size:21px}.admin-information-context small{margin-top:3px;color:#777;font-size:10px}.admin-information-context span{color:#666;font-size:11px;font-weight:750}.admin-information-tabs{display:flex;gap:0;overflow-x:auto;border-bottom:1px solid #aaa;background:#ddd}.admin-information-tabs button{flex:0 0 auto;min-height:46px;padding:10px 14px;border:0;border-right:1px solid #bbb;background:#e8e8e8;color:#555;font-size:10px;font-weight:850;white-space:nowrap}.admin-information-tabs button:hover{background:#f5f5f5}.admin-information-tabs button.active{box-shadow:inset 0 -4px #d81b26;background:#fff;color:#95141c}.admin-information-tabs button:disabled{cursor:not-allowed;opacity:.45}.admin-information-content{min-height:520px;padding:18px;background:#f4f4f4}.admin-information-records{display:grid;gap:12px;width:100%}.admin-information-record{width:100%;border:1px solid #bbb;background:#fff}.admin-information-record>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;min-height:54px;padding:13px 16px;cursor:pointer;list-style:none}.admin-information-record>summary::-webkit-details-marker{display:none}.admin-information-record>summary:after{content:"+";display:grid;width:26px;height:26px;place-items:center;border:1px solid #aaa;border-radius:50%;font-size:16px}.admin-information-record[open]>summary{border-bottom:1px solid #bbb;background:#ededed}.admin-information-record[open]>summary:after{content:"−"}.admin-information-record>summary strong,.admin-information-record>summary small{display:block}.admin-information-record>summary strong{font-family:Georgia,serif;font-size:18px}.admin-information-record>summary small{margin-top:3px;color:#777;font-size:10px}.admin-information-group{padding:0 16px 16px}.admin-information-group h4{margin:16px 0 7px;color:#555;font-size:10px;letter-spacing:.1em;text-transform:uppercase}.admin-information-table-wrap{width:100%;overflow-x:auto;border:1px solid #ccc}.admin-information-table{width:100%;min-width:720px;border-collapse:collapse;table-layout:fixed;background:#fff}.admin-information-table col:first-child{width:34%}.admin-information-table col:last-child{width:66%}.admin-information-table th,.admin-information-table td{height:44px;padding:10px 13px;border-bottom:1px solid #ddd;vertical-align:top;text-align:left;overflow-wrap:anywhere}.admin-information-table tr:last-child th,.admin-information-table tr:last-child td{border-bottom:0}.admin-information-table th{border-right:1px solid #ddd;background:#f0f0f0;color:#555;font-size:10px;font-weight:850;letter-spacing:.04em}.admin-information-table td{color:#222;font-size:12px;line-height:1.45;white-space:pre-wrap}.admin-information-table td.empty{color:#999;font-style:italic}.admin-information-empty{padding:46px 24px;border:1px dashed #bbb;background:#fafafa;text-align:center}.admin-information-empty p{margin:7px 0 0;color:#777;font-size:12px}

/* Keep the information workspace open, wide, and visually structured without an outer card. */
.admin-families-workspace #adminFamiliesPage:has(#adminFamilyInformationView:not([hidden]))>.admin-page-heading,
.admin-families-workspace #adminFamilyInformationView{width:1320px}
.admin-family-information-view{border:0;background:transparent}
.admin-information-toolbar{margin:0 0 18px;padding:18px 0;border-top:1px solid #aaa;border-bottom:1px solid #aaa;background:transparent}
.admin-information-context{min-height:70px;padding:14px 0;border-bottom:2px solid #333;background:transparent}
.admin-information-context strong{font-size:24px}
.admin-information-tabs{border:1px solid #aaa;border-width:0 0 1px;background:transparent}
.admin-information-content{min-height:580px;padding:24px 0 40px;background:transparent}
.admin-information-record-tabs{display:flex;gap:7px;overflow-x:auto;margin:0 0 18px;padding:0 0 12px;border-bottom:1px solid #bbb}
.admin-information-record-tabs button{flex:0 0 auto;min-height:38px;padding:8px 13px;border:1px solid #aaa;border-radius:7px;background:#f1f1f1;color:#555;font-size:10px;font-weight:850;white-space:nowrap}
.admin-information-record-tabs button:hover{border-color:#777;background:#fff;color:#222}
.admin-information-record-tabs button.active{border-color:#252525;background:#252525;color:#fff}
.admin-information-records{gap:0}
.admin-information-record{width:100%;border:0;border-top:3px solid #d81b26;background:transparent}
.admin-information-record-heading{display:flex;min-height:68px;align-items:center;padding:15px 18px;border-bottom:1px solid #bbb;background:#e7e7e7}
.admin-information-record-heading strong,.admin-information-record-heading small{display:block}
.admin-information-record-heading strong{font-family:Georgia,serif;font-size:21px}
.admin-information-record-heading small{margin-top:3px;color:#777;font-size:10px}
.admin-information-group{padding:0 0 22px}
.admin-information-group h4{margin:22px 0 8px}
.admin-information-table{min-width:840px}

/* Family-facing school cards use one compact, editable header status. */
#schoolsPage .school-display-grid{padding-top:22px;border-top:2px solid #c8c8c8}.school-card-banner{display:flex;height:auto;min-height:116px;align-items:center;justify-content:space-between;gap:22px;padding:20px 22px}.school-banner-identity{position:relative;z-index:1;min-width:0}.school-banner-identity h2{margin:0;color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:25px;line-height:1.1}.school-banner-identity span{display:block;margin-top:7px;color:rgba(255,255,255,.82);font-size:11px}.school-decision-control{position:relative;z-index:2;display:grid;min-width:145px;gap:5px}.school-decision-control>span{color:rgba(255,255,255,.8);font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.school-decision-control select{width:100%;min-height:38px;padding:7px 28px 7px 10px;border:1px solid rgba(255,255,255,.7);border-radius:7px;background:#fff;color:#272727;font-size:12px;font-weight:800;cursor:pointer}.school-decision-control select:disabled{cursor:wait;opacity:.7}.school-checked-date{margin:0!important;color:#777!important;font-size:10px!important;text-align:right}.school-date-fact{border-top:3px solid #d81b26}.school-application-grid .school-date-fact>span:first-child{color:#4f4f4f;font-size:10px}.school-application-grid .school-date-fact>strong{color:#202020;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:19px;line-height:1.2}

#schoolsPage .filter-row{margin-bottom:18px}.school-display-grid{gap:16px}.school-detail-card{border-color:#bebebe;border-radius:11px;background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.06)}.school-card-banner{background:linear-gradient(125deg,#353535,#606060);border-bottom:3px solid #d81b26}.school-card-body{padding:21px}.school-card-body>p{margin:0;color:#555;font-size:13px;line-height:1.55}.school-banner-tools{position:relative;z-index:3;display:flex;align-items:flex-end;gap:9px}.school-decision-control select{border-radius:6px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.school-decision-control select:focus{outline:3px solid rgba(255,255,255,.24);border-color:#fff}.school-info-check{position:relative;display:inline-grid;width:25px;height:25px;flex:0 0 25px;place-items:center;margin-bottom:6px;border:1px solid rgba(255,255,255,.7);border-radius:50%;color:#fff;font-family:Georgia,serif;font-size:13px;font-style:italic;font-weight:700;cursor:help}.school-info-check:after{content:attr(data-tooltip);position:absolute;z-index:20;right:0;bottom:calc(100% + 8px);width:max-content;max-width:245px;padding:8px 10px;border-radius:6px;background:#1f1f1f;color:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:10px;font-style:normal;font-weight:600;line-height:1.35;white-space:normal;box-shadow:0 7px 20px rgba(0,0,0,.2);opacity:0;pointer-events:none;transform:translateY(3px);transition:opacity .12s ease,transform .12s ease}.school-info-check:hover:after,.school-info-check:focus:after{opacity:1;transform:translateY(0)}.school-application-grid{margin:17px 0;background:#c8c8c8;border-color:#c8c8c8}.school-application-grid>div{padding:13px;background:#fafafa}.school-contact-grid{padding-top:2px}.school-contact-grid span{margin-bottom:3px;color:#707070;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.school-card-body .button-row{gap:8px}.school-card-body .button-row .secondary-button{min-height:38px;padding:8px 12px;border-color:#aaa;border-radius:7px;background:#fff;color:#333;font-size:12px}.school-card-body .button-row .secondary-button:hover{border-color:#d81b26;color:#a90f18}

.admin-school-transfer-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:17px 0 8px}.admin-school-transfer-heading strong{color:#242424;font-size:13px}.admin-school-transfer-heading small{color:#777;font-size:10px}.admin-school-transfer-list{display:grid;max-height:235px;overflow-y:auto;border:1px solid #c6c6c6;background:#fff}.admin-school-transfer-row{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:12px;align-items:center;min-height:52px;padding:8px 10px;border-top:1px solid #ddd}.admin-school-transfer-row:first-child{border-top:0}.admin-school-transfer-row:hover{background:#f7f7f7}.admin-school-transfer-row strong,.admin-school-transfer-row small{display:block}.admin-school-transfer-row strong{color:#242424;font-size:12px}.admin-school-transfer-row small{margin-top:3px;color:#777;font-size:10px}.admin-school-transfer-row button{display:grid;width:34px;height:34px;place-items:center;padding:0;border:1px solid #aaa;border-radius:6px;background:#fff;color:#a90f18;font-size:18px;font-weight:900;line-height:1;cursor:pointer}.admin-school-transfer-row button:hover{border-color:#d81b26;background:#fff1f2}.admin-school-transfer-row button:disabled{cursor:wait;opacity:.55}.admin-school-transfer-divider{display:flex;align-items:center;gap:12px;margin:19px 0 9px;color:#555;font-size:11px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.admin-school-transfer-divider:before,.admin-school-transfer-divider:after{content:"";height:1px;flex:1;background:#aaa}.admin-school-transfer-list>.admin-empty-inline{padding:18px}

.toast.pending{background:#4d4d4d;border-color:#aaa}.toast.success{background:#287a45;border-color:#62b87c}.toast.error{background:#8f1f28;border-color:#e05b65}.toast.pending:before{content:"";display:inline-block;width:10px;height:10px;margin-right:9px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;vertical-align:-1px;animation:toast-spin .8s linear infinite}@keyframes toast-spin{to{transform:rotate(360deg)}}

.admin-student-schools-dialog{width:min(840px,calc(100% - 36px));max-height:92vh;overflow:hidden}.admin-student-schools-dialog form{display:flex;max-height:92vh;padding:0;flex-direction:column}.admin-student-schools-scroll{min-height:0;padding:26px;overflow-y:auto}.admin-student-schools-dialog .admin-school-transfer-list{max-height:none;overflow:visible}.admin-student-schools-dialog .admin-dialog-actions{position:relative;z-index:3;flex:0 0 auto;margin:0;padding:15px 26px 18px;border-top:1px solid #ccc;background:#fff;box-shadow:0 -8px 20px rgba(0,0,0,.07)}

.admin-notification-dock{position:fixed;right:24px;bottom:22px;z-index:70;display:flex;align-items:flex-end;flex-direction:column;gap:9px}.admin-notification-toggle{display:flex;align-items:center;gap:9px;min-height:42px;padding:9px 13px;border:1px solid #333;border-radius:8px;background:#242424;color:#fff;font-size:12px;font-weight:850;box-shadow:0 8px 24px rgba(0,0,0,.2)}.admin-notification-toggle span{display:grid;min-width:21px;height:21px;place-items:center;padding:0 5px;border-radius:999px;background:#d81b26;color:#fff;font-size:10px}.admin-notification-center{width:min(420px,calc(100vw - 36px));max-height:min(620px,72vh);overflow:hidden;border:1px solid #aaa;border-radius:12px;background:#f2f2f2;box-shadow:0 18px 48px rgba(0,0,0,.24)}.admin-notification-center>header{display:flex;align-items:center;justify-content:space-between;padding:14px 15px;border-bottom:1px solid #bbb;background:#242424;color:#fff}.admin-notification-center>header strong,.admin-notification-center>header small{display:block}.admin-notification-center>header small{margin-top:3px;color:#bbb;font-size:10px}.admin-notification-center>header button{width:30px;height:30px;border:1px solid #777;border-radius:50%;background:transparent;color:#fff;font-size:19px}.admin-notification-list{display:grid;max-height:calc(min(620px,72vh) - 62px);overflow-y:auto}.admin-notification-item{position:relative;padding:14px 15px;border-bottom:1px solid #ccc;background:#fff}.admin-notification-item.unread{border-left:4px solid #d81b26}.admin-notification-item.read{opacity:.72}.admin-notification-item.success{border-left-color:#287a45}.admin-notification-item.error,.admin-notification-item.action_required{border-left-color:#d81b26}.admin-notification-item.progress{border-left-color:#777}.admin-notification-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px;color:#777;font-size:9px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.admin-notification-item>strong{display:block;color:#222;font-size:13px}.admin-notification-item>p{margin:5px 0 0;color:#606060;font-size:11px;line-height:1.45}.admin-notification-read{margin-top:9px;padding:0;border:0;background:transparent;color:#a90f18;font-size:10px;font-weight:800}.admin-notification-candidates{display:grid;gap:7px;margin-top:11px}.admin-notification-candidates button{display:block;width:100%;padding:10px;border:1px solid #bbb;border-radius:7px;background:#fafafa;color:#222;text-align:left}.admin-notification-candidates button:hover{border-color:#d81b26;background:#fff5f6}.admin-notification-candidates strong,.admin-notification-candidates small,.admin-notification-candidates span{display:block}.admin-notification-candidates small{margin-top:3px;color:#777;font-size:10px}.admin-notification-candidates span{margin-top:5px;color:#555;font-size:10px;line-height:1.35}.admin-notification-empty{padding:28px;color:#777;text-align:center;font-size:12px}.admin-active .toast{bottom:78px}

.admin-notification-toggle span.attention{font-size:10px;font-weight:950}.admin-notification-toggle span[hidden],.admin-notification-center[hidden]{display:none}.admin-notification-tabs{display:flex;gap:4px;padding:8px 9px;border-bottom:1px solid #c6c6c6;background:#e7e7e7;overflow-x:auto}.admin-notification-tabs button{flex:0 0 auto;padding:7px 9px;border:1px solid transparent;border-radius:6px;background:transparent;color:#666;font-size:9px;font-weight:850}.admin-notification-tabs button:hover{color:#222}.admin-notification-tabs button.active{border-color:#aaa;background:#fff;color:#a90f18}.admin-notification-center{display:flex;height:min(620px,72vh);max-height:none;flex-direction:column}.admin-notification-list{min-height:0;max-height:none;flex:1;align-content:start;overflow-y:auto}.admin-notification-empty{display:grid;min-height:100%;place-items:center}.admin-action-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 2px}.admin-action-summary .admin-result-count{margin:0}.admin-event-request-total{display:inline-flex;padding:7px 10px;border-radius:999px;background:#f5dfe2;color:#8c1824;font-size:10px;font-weight:900}.admin-event-request-total[hidden]{display:none}
.admin-notification-header-actions,.admin-notification-meta-actions{display:flex;align-items:center;gap:8px}.admin-notification-center>header .admin-notification-mark-all{width:auto;height:auto;min-height:30px;padding:6px 9px;border:1px solid #777;border-radius:5px;color:#fff;font-size:9px;font-weight:800}.admin-notification-center>header .admin-notification-mark-all:hover{border-color:#bbb;background:#3a3a3a}.admin-notification-center>header .admin-notification-mark-all:disabled{opacity:.42;cursor:not-allowed}.admin-notification-star{display:grid;width:25px;height:25px;place-items:center;padding:0;border:0;border-radius:4px;background:transparent;color:#777;font-size:18px;line-height:1}.admin-notification-star:hover{background:#ededed;color:#a90f18}.admin-notification-star[aria-pressed="true"]{color:#b77800}.admin-notification-item.starred{box-shadow:inset -3px 0 #d9a11d}.admin-notification-divider{position:relative;display:flex;align-items:center;justify-content:center;min-height:36px;border-top:1px solid #aaa;border-bottom:1px solid #c7c7c7;background:#e6e6e6;color:#666;font-size:9px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.admin-notification-divider:before,.admin-notification-divider:after{content:"";height:1px;flex:1;margin:0 12px;background:#b9b9b9}.admin-notification-divider span{flex:0 0 auto}
.admin-notification-item.read{opacity:1}
.admin-notification-action{margin-top:10px;padding:0;border:0;background:transparent;color:#a90f18;font-size:10px;font-weight:850}

.admin-action-list{gap:22px}.admin-action-group{min-width:920px}.admin-action-group>header{display:flex;align-items:center;justify-content:space-between;padding:0 3px 9px;border-bottom:2px solid #333}.admin-action-group>header h3{margin:0;font-family:Georgia,serif;font-size:20px;font-weight:600;color:#222}.admin-action-group>header span{color:#777;font-size:10px;font-weight:850;text-transform:uppercase}.admin-action-table{border:1px solid #bbb;border-top:0;background:#fff}.admin-action-table-header,.admin-action-table-row{display:grid;grid-template-columns:minmax(280px,1.7fr) minmax(180px,1fr) 125px 110px 125px 76px;align-items:center}.admin-action-table-header{min-height:38px;border-bottom:1px solid #aaa;background:#e8e8e8;color:#555;font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.admin-action-table-header span,.admin-action-table-row>div{min-width:0;padding:9px 11px;border-right:1px solid #d1d1d1}.admin-action-table-header span:last-child,.admin-action-table-row>div:last-child{border-right:0}.admin-action-table-row{min-height:66px;border-bottom:1px solid #d1d1d1;color:#333;font-size:11px}.admin-action-table-row:last-child{border-bottom:0}.admin-action-table-row.archived{opacity:.62}.admin-action-table-row strong,.admin-action-table-row small,.admin-action-table-row a{display:block}.admin-action-table-row>div:first-child>strong{font-size:12px;color:#1f1f1f}.admin-action-table-row small{margin-top:4px;color:#777;font-size:9px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-action-table-row a{margin-top:4px;color:#1769aa;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-action-table-row time{font-weight:750}.admin-action-table-row .admin-row-actions{padding:8px;justify-content:center}.admin-action-table-row .ui-action-tertiary{width:58px;padding:7px 8px}.admin-action-assignment-dialog{width:min(900px,calc(100% - 36px))}.admin-action-targets{margin-top:18px;border-top:1px solid #ccc;padding-top:15px}.admin-action-target-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px}.admin-action-target-heading strong,.admin-action-target-heading small{display:block}.admin-action-target-heading small{margin-top:3px;color:#777;font-size:10px}.admin-action-target-list{display:grid;max-height:290px;overflow-y:auto;border:1px solid #c8c8c8;background:#fff}.admin-action-target{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:54px;padding:9px 12px;border-bottom:1px solid #ddd}.admin-action-target:last-child{border-bottom:0}.admin-action-target:hover{background:#fafafa}.admin-action-target.assigned{background:#f1f1f1;color:#777}.admin-action-target input{width:16px;height:16px;accent-color:#d81b26}.admin-action-target strong,.admin-action-target small{display:block}.admin-action-target small{margin-top:3px;color:#777;font-size:9px}.admin-action-target b{color:#777;font-size:9px;text-transform:uppercase}.admin-action-target:not(.assigned) b{color:#356043}.admin-action-edit-dialog{width:min(680px,calc(100% - 36px))}

/* Wide Actions workspace and compact school research picker. */
#adminActionItemsPage{width:1480px;padding-right:40px}.admin-action-list{width:1440px}.admin-action-group{width:1440px;min-width:1440px}.admin-action-table{width:1440px}.admin-action-table-header,.admin-action-table-row{grid-template-columns:minmax(390px,1fr) 115px 165px 150px 105px 155px 240px;align-items:stretch}.admin-action-table-row{height:82px;min-height:82px}.admin-action-table-header span,.admin-action-table-row>div{display:flex;flex-direction:column;justify-content:center}.admin-action-table-row .admin-row-actions{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:0;padding:8px 11px;white-space:nowrap}.admin-action-table-row .admin-row-actions .ui-action-tertiary{width:auto;min-height:28px;padding:4px 10px;border:0;border-left:1px solid #c8c8c8;border-radius:0;background:transparent;font-size:10px}.admin-action-table-row .admin-row-actions .ui-action-tertiary:first-child{padding-left:0;border-left:0}.admin-action-table-row .admin-row-actions .admin-action-delete{color:#941329}.admin-action-research-dialog{width:min(760px,calc(100% - 36px))}.admin-action-research-search{display:grid;gap:7px;color:#333;font-size:12px;font-weight:850}.admin-action-research-search input{width:100%;min-height:44px;padding:10px 12px;border:1px solid #aaa;border-radius:7px;background:#fff;color:#222}.admin-action-research-search input:focus{outline:3px solid rgba(216,27,38,.12);border-color:#d81b26}.admin-action-school-picker{display:grid;max-height:330px;margin-top:10px;overflow-y:auto;border:1px solid #bbb;background:#fff}.admin-action-school-option{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;width:100%;min-height:58px;padding:10px 12px;border:0;border-bottom:1px solid #ddd;background:#fff;color:#222;text-align:left}.admin-action-school-option:last-child{border-bottom:0}.admin-action-school-option:hover{background:#f6f6f6}.admin-action-school-option.selected{box-shadow:inset 4px 0 #d81b26;background:#fff4f5}.admin-action-school-option strong,.admin-action-school-option small{display:block}.admin-action-school-option strong{font-family:Georgia,"Times New Roman",serif;font-size:15px}.admin-action-school-option small{margin-top:3px;color:#777;font-size:10px}.admin-action-school-source{font-size:10px;font-weight:800;text-align:right}.admin-action-school-source.available{color:#356043}.admin-action-school-source.missing{color:#8a5e08}.admin-action-school-picker>.admin-empty-inline{padding:22px;text-align:center}.admin-action-research-selection{min-height:18px;margin:9px 2px 0;color:#666;font-size:11px}.admin-action-research-selection strong{color:#222}.admin-message-dialog{width:min(570px,calc(100% - 36px))}.admin-message-dialog-body{padding:26px}.admin-message-dialog .admin-dialog-actions{grid-template-columns:1fr auto}

.admin-action-assignment-dialog{width:min(840px,calc(100% - 36px));max-height:92vh;overflow-y:auto}.admin-action-assignment-dialog .admin-action-targets{margin-top:0;padding-top:0;border-top:0}.admin-action-assignment-dialog .admin-school-transfer-list{max-height:260px}.admin-action-assignment-dialog .admin-school-transfer-heading>div strong,.admin-action-assignment-dialog .admin-school-transfer-heading>div small{display:block}.admin-action-assignment-dialog .admin-school-transfer-heading>div small{margin-top:3px}.admin-action-assignment-dialog .admin-school-transfer-heading .ui-action-tertiary{flex:0 0 auto}.admin-action-assignment-dialog .admin-dialog-actions{display:flex;justify-content:flex-end}.admin-action-assignment-dialog .admin-dialog-actions>span{display:none}

/* Event hierarchy: event type headings own compact, indented date rows. */
.family-event-offering-heading{align-items:center;padding:16px 20px}.family-event-offering-heading .eyebrow{margin-bottom:3px;font-size:9px}.family-event-offering-name{margin:4px 0 0!important;color:#666;font-size:11px!important}.family-event-date{position:relative;grid-template-columns:minmax(300px,1fr) 115px 108px 44px;min-height:72px;margin-left:28px;padding:11px 18px 11px 25px;border-left:1px solid #d3d3d3;background:#fff;transition:background .15s ease}.family-event-date:before{content:"";position:absolute;left:0;top:50%;width:14px;border-top:1px solid #c6c6c6}.family-event-date.is-attending{background:#eef8f0}.family-event-date.is-attending:before{border-color:#5a9a69}.family-event-date-main strong{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:13px}.family-event-registration{min-height:34px}.family-event-attendance{position:relative;display:grid;width:34px;height:34px;place-items:center;justify-self:end;border:1px solid #aaa;border-radius:7px;background:#fff;cursor:pointer}.family-event-attendance input{position:absolute;opacity:0;pointer-events:none}.family-event-attendance span{display:grid;width:20px;height:20px;place-items:center;border:2px solid #aaa;border-radius:5px;color:transparent;font-size:13px;font-weight:900}.family-event-attendance:has(input:checked){border-color:#4e8c5c;background:#dcefe1}.family-event-attendance input:checked+span{border-color:#4e8c5c;background:#4e8c5c;color:#fff}.family-event-attendance:focus-within{outline:3px solid rgba(78,140,92,.22)}
#adminActionItemsPage{width:1480px}.admin-action-table{min-width:1120px}.admin-action-table-header,.admin-action-table-row{grid-template-columns:minmax(175px,1fr) minmax(240px,1.35fr) 92px 110px 145px 105px 86px}.admin-action-table-row{height:auto;min-height:70px}.admin-event-date-cell{position:relative;padding-left:30px!important}.admin-event-date-cell:before{content:"";position:absolute;left:10px;top:50%;width:11px;border-top:1px solid #aaa}.admin-event-student-counts{display:grid!important;grid-template-columns:1fr 1fr;gap:5px}.admin-event-student-counts button{display:grid;gap:1px;min-width:0;padding:5px 3px;border:0;border-radius:5px;background:transparent;color:#333;text-align:center;cursor:pointer}.admin-event-student-counts button:hover,.admin-event-student-counts button:focus-visible{background:#ececec;outline:1px solid #aaa}.admin-event-student-counts strong{font-size:13px}.admin-event-student-counts small{margin:0!important;font-size:8px!important}.admin-action-group>header>div small{display:block;margin-top:3px;color:#777;font-size:10px}.admin-event-offering-group>header strong{font-size:13px}.admin-action-table-row .admin-row-actions{display:grid;grid-template-columns:1fr;gap:5px}.admin-action-table-row .admin-row-actions .ui-action-tertiary{width:62px;min-height:27px;padding:5px 6px;border:0;border-radius:4px}
.admin-school-transfer-divider.first{margin-top:12px}.admin-school-transfer-list.attending{border-color:#a9cbb1;background:#f3faf5}.admin-school-transfer-row.attending{background:#eef8f0}.admin-school-transfer-row{grid-template-columns:minmax(0,1fr) auto}.admin-school-transfer-controls{display:flex;gap:5px}.admin-school-transfer-controls button{flex:0 0 34px}.admin-action-assignment-dialog .admin-school-transfer-list{max-height:none;overflow:visible}.admin-action-assignment-dialog form{max-height:92vh;overflow-y:auto}
@media(max-width:900px){.family-event-date{grid-template-columns:1fr 105px 44px}.family-event-registration{grid-column:1/3}.family-event-attendance{grid-column:3;grid-row:1/3}}

.school-card-body .button-row .school-essay-button:disabled{border-color:#d0d0d0;background:#ededed;color:#999;cursor:not-allowed;opacity:1}.admin-school-essay-name{display:block;max-width:128px;overflow:hidden;color:#777;font-size:9px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}

/* Automatic school-derived events and deterministic research depth. */
.family-event-guidance{margin:0 0 18px;padding:15px 17px;border-left:4px solid #d81b26;background:#f4f4f4;color:#333}.family-event-guidance strong{display:block;margin-bottom:5px}.family-event-guidance p{margin:4px 0;color:#606060;font-size:12px;line-height:1.45}.family-event-date{grid-template-columns:minmax(320px,1fr) 105px 120px 76px!important;min-height:74px;margin-left:0!important;padding:12px 18px!important;border-left:0!important}.family-event-date:before{display:none!important}.family-event-format small,.family-event-format strong{display:block}.family-event-format small{margin-bottom:3px;color:#777;font-size:8px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.family-event-format strong{font-size:11px}.family-event-attendance{width:70px;height:38px;grid-template-columns:21px 1fr;gap:5px;padding:0 6px}.family-event-attendance span{width:19px;height:19px}.family-event-attendance small{color:#555;font-size:8px;font-weight:850;white-space:nowrap}.family-event-confirm-dialog{width:min(620px,calc(100% - 36px));padding:0;border:0;border-radius:14px;background:#fff;box-shadow:0 22px 65px rgba(0,0,0,.28)}.family-event-confirm-dialog form{padding:24px}.family-event-confirm-copy{margin:18px 0;padding:15px;border-left:4px solid #d81b26;background:#f2f2f2}.family-event-confirm-copy p{margin:6px 0 0;color:#5f5f5f;font-size:12px;line-height:1.5}.admin-action-table{border-top:1px solid #bbb!important}.admin-action-table-row{grid-template-columns:150px minmax(320px,1fr) 100px 115px 90px 120px 150px!important;min-height:76px!important}.admin-event-date-cell{padding-left:11px!important}.admin-event-date-cell:before{display:none!important}.admin-event-format-cell b{display:inline-flex;width:max-content;padding:5px 8px;border-radius:5px;background:#ececec;color:#333;font-size:10px}.admin-event-request-cell{align-items:center!important;text-align:center;cursor:help}.admin-event-request-cell strong,.admin-event-request-cell small{display:block}.admin-event-request-cell strong{font-size:16px}.admin-event-request-cell small{font-size:8px!important}.admin-action-table-row .admin-row-actions{display:flex!important;flex-direction:row!important;gap:0!important}.admin-action-table-row .admin-row-actions .ui-action-tertiary{width:auto!important}
.family-event-date{grid-template-columns:minmax(300px,1fr) 115px 108px}.admin-action-table-header,.admin-action-table-row{grid-template-columns:minmax(190px,1fr) minmax(300px,1.6fr) 100px 125px 125px 95px}.admin-action-research-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;color:#777;font-size:10px}.admin-action-school-option{grid-template-columns:22px minmax(0,1fr) auto}.admin-action-school-option.disabled{opacity:.65}.admin-action-school-check{display:grid;width:18px;height:18px;place-items:center;border:1px solid #aaa;border-radius:4px;color:#fff;background:#fff;font-size:12px;font-weight:900}.admin-action-school-option.selected .admin-action-school-check{border-color:#a90f18;background:#a90f18}.research-depth-explainer{position:relative;z-index:2;justify-self:end}.research-depth-badge{display:inline-flex;min-width:64px;justify-content:center;padding:6px 9px;border-radius:999px;background:#e5e5e5;color:#444;font-size:9px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.research-depth-badge.quick{background:#e5eee7;color:#356043}.research-depth-badge.standard{background:#fff1cf;color:#77560b}.research-depth-badge.deep{background:#f5dfe2;color:#8c1824}.research-depth-popover{position:absolute;right:0;top:calc(100% + 8px);z-index:80;display:none;width:560px;padding:14px;border:1px solid #aaa;border-radius:10px;background:#fff;color:#333;box-shadow:0 12px 32px rgba(0,0,0,.18);text-align:left}.research-depth-explainer:hover .research-depth-popover,.research-depth-explainer:focus .research-depth-popover,.research-depth-explainer:focus-within .research-depth-popover{display:block}.research-depth-popover>strong,.research-depth-popover>small{display:block}.research-depth-popover table{width:100%;margin:10px 0;border-collapse:collapse;font-size:10px}.research-depth-popover th,.research-depth-popover td{padding:7px;border:1px solid #d0d0d0;vertical-align:top}.research-depth-popover th{background:#eee;font-size:9px;text-transform:uppercase}.research-depth-popover small{color:#666;font-size:9px}.admin-action-school-picker{overflow:visible;max-height:none}.admin-action-research-dialog form{max-height:88vh;overflow-y:auto}

/* Student-specific recommendation contacts. */
.recommendation-layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:18px;align-items:start}.recommendation-form{position:sticky;top:98px;display:grid;gap:13px;padding:22px}.recommendation-form h2{margin:0;color:#222;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:22px}.recommendation-form label{display:grid;gap:6px;color:#333;font-size:11px;font-weight:850}.recommendation-form input,.recommendation-form select{width:100%;min-height:43px;padding:10px 11px;border:1px solid #aaa;border-radius:8px;background:#fff;color:#222}.recommendation-form input:focus,.recommendation-form select:focus{outline:3px solid rgba(216,27,38,.12);border-color:#d81b26}.recommendation-form-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:5px}.recommendation-list{display:grid;gap:9px}.recommendation-card{padding:18px 20px;border-radius:12px}.recommendation-card-main{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.recommendation-card h2{margin:0;color:#222;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:18px}.recommendation-card p{margin:5px 0;color:#666}.recommendation-card a{font-size:12px;font-weight:750}.recommendation-status{display:inline-flex;flex:0 0 auto;padding:6px 9px;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.recommendation-status.complete{background:#e1eee4;color:#285b37}.recommendation-status.incomplete{background:#fff0ca;color:#75520a}.recommendation-card-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:15px;padding-top:12px;border-top:1px solid #d3d3d3}.recommendation-card-actions .ui-action-tertiary{min-width:72px}.recommendation-remove{color:#941329!important}@media(max-width:900px){.recommendation-layout{grid-template-columns:1fr}.recommendation-form{position:static}}

/* Consistent family school-card typography and vertical rhythm. */
#schoolsPage .school-detail-card,#schoolsPage .school-detail-card button,#schoolsPage .school-detail-card select{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.school-banner-identity h2{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:22px;font-weight:750;letter-spacing:-.01em}.school-banner-identity span{font-size:11px}.school-overview{min-height:88px}.school-overview p{display:-webkit-box;min-height:60px;margin:0;overflow:hidden;color:#555;font-size:12px;line-height:1.65;-webkit-box-orient:vertical;-webkit-line-clamp:3}.school-overview.expanded{min-height:0}.school-overview.expanded p{display:block;min-height:0;overflow:visible}.school-overview-toggle{margin-top:5px;padding:2px 0;border:0;background:transparent;color:#a90f18;font-size:10px;font-weight:800}.school-application-grid>div{min-height:82px}.school-application-grid>div>span:first-child{font-size:9px;letter-spacing:.04em}.school-application-grid strong{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:13px;font-weight:700;line-height:1.35}.school-application-grid .school-date-fact>strong{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;font-weight:700}.school-application-grid .school-date-open>strong{font-size:14px;font-weight:600}.school-code-list{font-size:11px}.school-contact-grid{gap:18px;margin:15px 0}.school-contact-grid>div{min-width:0}.school-contact-grid span{font-size:9px}.school-contact-grid p{margin:0;color:#626262;font-size:11px;line-height:1.45;overflow-wrap:anywhere}.school-card-body .button-row .secondary-button{font-size:11px}

/* Five fixed recommendation-type tiles. */
#recommendationsPage .recommendation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.recommendation-grid>.recommendation-error{grid-column:1/-1}.recommendation-card{display:flex;min-height:230px;flex-direction:column;padding:22px}.recommendation-card .card-icon{margin-bottom:14px}.recommendation-card h2{margin:0;color:#222;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:18px}.recommendation-contact{min-height:78px;margin-top:12px}.recommendation-contact p{margin:0 0 5px;color:#333;font-size:13px;font-weight:750}.recommendation-contact small,.recommendation-contact a{display:block;margin-top:4px;color:#707070;font-size:11px;line-height:1.4;overflow-wrap:anywhere}.recommendation-contact a{color:#446f89;font-weight:700}.recommendation-card footer{margin-top:auto}.recommendation-card footer .ui-action-tertiary{min-width:62px}.recommendation-card.empty-contact{background:linear-gradient(145deg,#fff,#f2f2f2)}.recommendation-dialog{width:min(620px,calc(100% - 36px))}.recommendation-dialog .auth-error{margin-top:16px!important}@media(max-width:900px){#recommendationsPage .recommendation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){#recommendationsPage .recommendation-grid{grid-template-columns:1fr}}

/* Student testing records and result uploads. */
.student-test-list{display:grid;gap:12px}.student-test-card{display:grid;grid-template-columns:165px minmax(0,1fr) auto;align-items:stretch;min-height:112px;overflow:hidden;border:1px solid #c9c9c9;border-radius:12px;background:#fff;box-shadow:0 4px 14px rgba(0,0,0,.04)}.student-test-card.results-due{border-left:4px solid #d81b26}.student-test-card.complete{border-left:4px solid #4e8c5c}.student-test-date{display:flex;flex-direction:column;justify-content:center;padding:20px;border-right:1px solid #d5d5d5;background:#f1f1f1}.student-test-date span{color:#777;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.student-test-date strong{margin-top:6px;color:#222;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:17px}.student-test-details{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px}.student-test-details h2{margin:0;color:#222;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:17px}.student-test-details p{margin:5px 0 0;color:#686868;font-size:11px}.student-test-status{display:inline-flex;flex:0 0 auto;padding:6px 9px;border-radius:999px;background:#e7e7e7;color:#555;font-size:9px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.student-test-card.complete .student-test-status{background:#e1eee4;color:#285b37}.student-test-card.results-due .student-test-status{background:#f5dfe2;color:#8c1824}.student-test-actions{display:flex;align-items:center;gap:7px;padding:18px;border-left:1px solid #d5d5d5}.student-test-actions .ui-action-tertiary,.student-test-actions .secondary-button{min-height:34px;padding:8px 10px;font-size:10px}.student-test-upload{position:relative;display:inline-flex;align-items:center;cursor:pointer}.student-test-upload input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.student-test-upload.uploading{opacity:.65;pointer-events:none}.student-test-remove{color:#941329!important}.student-test-dialog{width:min(620px,calc(100% - 36px))}@media(max-width:900px){.student-test-card{grid-template-columns:135px minmax(0,1fr)}.student-test-actions{grid-column:1/-1;justify-content:flex-end;border-top:1px solid #d5d5d5;border-left:0}}
.student-test-empty .primary-button{margin-top:15px}.student-test-add-row{display:flex;justify-content:flex-start;padding-top:4px}.student-test-add-row .primary-button{min-height:42px;padding:10px 16px}.student-test-date strong{margin-top:0;font-size:18px}.student-test-date .student-test-status{display:inline-flex;width:max-content;margin-top:9px;padding:6px 9px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:9px;line-height:1}.student-test-details h2{font-size:22px}.student-test-actions{gap:8px}.student-test-actions .student-test-edit,.student-test-actions .student-test-upload,.student-test-actions .student-test-remove{min-height:42px;padding:10px 14px;border:1px solid #aaa;border-radius:7px;background:#fff;color:#333!important;font-size:11px;font-weight:800;line-height:1}.student-test-actions .student-test-edit:hover,.student-test-actions .student-test-upload:hover{border-color:#d81b26;color:#a90f18!important}.student-test-actions .student-test-remove{border-color:#d6aeb3;color:#941329!important}.student-test-actions .student-test-remove:hover{border-color:#941329;background:#fff5f6}.student-test-upload{justify-content:center;white-space:nowrap}@media(max-width:900px){.student-test-actions{justify-content:flex-start}}

/* Recommendation tiles are the edit control. */
#recommendationsPage button.recommendation-card{width:100%;color:#222;font:inherit;text-align:left;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}#recommendationsPage button.recommendation-card:hover{transform:translateY(-3px);border-color:#d81b26;box-shadow:0 12px 28px rgba(0,0,0,.12)}#recommendationsPage button.recommendation-card:focus-visible{outline:3px solid rgba(216,27,38,.22);outline-offset:3px;border-color:#d81b26}#recommendationsPage button.recommendation-card:disabled{cursor:wait;transform:none;opacity:.72}.recommendation-email{display:block;margin-top:4px;color:#446f89;font-size:11px;font-weight:700;line-height:1.4;overflow-wrap:anywhere}.recommendation-edit-hint{color:#777;font-size:10px;font-weight:800}.recommendation-card:focus-visible .recommendation-edit-hint{color:#a90f18}

/* Keep family notifications visually consistent with the admin notification center. */
.family-notification-toggle>span{min-width:21px;width:auto;height:21px;padding:0 5px;border-radius:999px;font-size:10px}.family-notification-center{width:min(420px,calc(100vw - 36px));border-color:#aaa;border-radius:12px;background:#f2f2f2;box-shadow:0 18px 48px rgba(0,0,0,.24)}.family-notification-center>header{border-bottom:1px solid #bbb}.family-notification-content{display:block;padding:14px 15px;border-left:4px solid transparent;background:#fff}.family-notification-content.unread{border-left-color:#d81b26}.family-notification-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px;color:#777;font-size:9px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.family-notification-content>strong{display:block;color:#222;font-size:13px}.family-notification-content>p{margin:5px 0 0;color:#606060;font-size:11px;line-height:1.45}.family-notification-content .admin-notification-action{margin-top:10px}.family-notification-center[hidden],.family-notification-toggle>span[hidden]{display:none}

/* Keep event-table columns and actions aligned at every event status length. */
.admin-action-table-row{grid-template-columns:150px minmax(300px,1fr) 110px 110px 150px 170px!important}.admin-action-table-row>div:nth-child(2){background:#fff}.admin-event-format-cell{align-items:center!important;justify-content:center!important;padding-right:11px!important;padding-left:11px!important;text-align:center}.admin-event-format-cell b{margin:0 auto}.admin-action-table-row>div:nth-child(5){align-items:center;overflow:hidden;text-align:center}.admin-action-table-row>div:nth-child(5) .admin-status{max-width:100%;white-space:nowrap}.admin-action-table-row .admin-row-actions{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;padding:10px!important}.admin-action-table-row .admin-row-actions .ui-action-secondary{min-width:66px;min-height:36px;padding:8px 11px;border:1px solid #aaa;border-radius:7px;background:#fff;color:#333;font-size:10px}.admin-action-table-row .admin-row-actions .ui-action-secondary:hover{border-color:#d81b26;color:#a90f18}.admin-action-table-row .admin-row-actions .admin-action-delete{border-color:#d6aeb3;color:#941329}.admin-action-table-row .admin-row-actions .admin-action-delete:hover{border-color:#941329;background:#fff5f6;color:#74101d}.admin-event-offering-group>header{min-height:44px}.admin-event-offering-group>header>div{display:flex;align-items:center}
.admin-event-offering-group .admin-action-table{width:calc(100% - 28px);min-width:0;margin-left:28px;border-top:0!important}.admin-event-offering-group>header{padding-left:28px;background:#d8d8d8}.admin-action-group{margin-bottom:30px}.admin-action-group:last-child{margin-bottom:0}

/* Event attendance workflow and matching family/admin navigation typography. */
.family-event-request-status{display:inline-flex;width:max-content;margin-top:6px;padding:5px 7px;border-radius:999px;font-size:8px;font-weight:900;letter-spacing:.03em;text-transform:uppercase}.family-event-request-status.pending{background:#fff0ca;color:#75520a}.family-event-request-status.approved{background:#e1eee4;color:#285b37}.sidebar .side-link{border-radius:10px;font-size:12px;font-weight:800}.sidebar .nav-section-label{font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.admin-event-request-total{min-height:38px;padding:9px 13px;border:1px solid #d6aeb3;border-radius:8px;background:#fff5f6;color:#8c1824;font-size:12px;font-weight:900}.admin-event-subnav{display:flex;gap:6px;margin:0 0 18px;padding:6px;border:1px solid #c9c9c9;border-radius:10px;background:#ececec}.admin-event-subnav button{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:9px 13px;border:1px solid transparent;border-radius:7px;background:transparent;color:#555;font-size:11px;font-weight:850}.admin-event-subnav button.active{border-color:#aaa;background:#fff;color:#a90f18}.admin-event-subnav span{display:grid;min-width:20px;height:20px;place-items:center;padding:0 5px;border-radius:999px;background:#d81b26;color:#fff;font-size:9px}.admin-event-subnav span[hidden],.admin-action-list[hidden],.admin-event-request-panel[hidden]{display:none}.admin-event-request-panel{display:grid;gap:9px}.admin-event-request-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;padding:18px 20px;border:1px solid #c9c9c9;border-left:4px solid #d49a19;border-radius:11px;background:#fff}.admin-event-request-card.approved{border-left-color:#287a45}.admin-event-request-card h3{margin:7px 0 4px;color:#222;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:17px}.admin-event-request-card p{margin:0;color:#555;font-size:11px}.admin-event-request-card small{display:block;margin-top:5px;color:#777;font-size:10px}.admin-event-request-state{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.admin-event-request-state.pending{background:#fff0ca;color:#75520a}.admin-event-request-state.approved{background:#e1eee4;color:#285b37}.admin-event-request-actions{display:flex;gap:8px}.admin-event-request-actions .ui-action-primary,.admin-event-request-actions .ui-action-secondary{min-width:82px}@media(max-width:700px){.admin-event-request-card{grid-template-columns:1fr}.admin-event-request-actions{justify-content:flex-start}}
.family-event-guidance .family-event-ai-warning{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:10px;align-items:center;margin-top:12px;padding:11px 12px;border:1px solid #d7b45f;border-radius:8px;background:#fff7df;color:#4d3a0a;font-size:12px;font-weight:700;transition:background .18s ease,border-color .18s ease,color .18s ease}.family-event-ai-warning .family-event-ai-marker{display:grid;width:24px;height:24px;place-items:center;border-radius:50%;background:#d81b26;color:#fff;font-size:12px}.family-event-ai-warning p{margin:0!important;color:inherit!important;line-height:1.5}.family-event-ai-warning button{min-height:30px;padding:6px 10px;border:1px solid #9b751c;border-radius:6px;background:#fff;color:#62490e;font-size:10px;font-weight:900;white-space:nowrap}.family-event-ai-warning button:hover{background:#4d3a0a;color:#fff}.family-event-ai-warning.acknowledged{grid-template-columns:1fr;padding:8px 0;border-color:transparent;background:transparent;color:#666;font-weight:500}.family-event-ai-warning.acknowledged .family-event-ai-marker,.family-event-ai-warning.acknowledged button{display:none}

/* Keep family navigation visually aligned with the administration sidebar. */
.sidebar{gap:7px;padding:24px 18px;background:#191919;border-right:0}.sidebar>.side-link,.student-nav-group .side-link{min-height:44px;margin:0;padding:13px 14px;border-radius:10px;background:transparent;color:#ddd;font-size:12px;font-weight:800}.sidebar>.side-link:hover,.sidebar>.side-link.active,.student-nav-group .side-link:hover,.student-nav-group .side-link.active,.student-picker-link:hover,.student-picker-link.active{background:#d81b26!important;color:#fff;box-shadow:none}.sidebar .nav-icon{width:18px;height:auto;color:#ff6d77;font-size:10px;letter-spacing:.08em}.sidebar .side-link.active .nav-icon,.sidebar .side-link:hover .nav-icon{color:#fff}.student-sidebar-zone{margin:8px 0 0;padding:0;background:transparent}.student-nav-group .nav-section-label{margin:0 12px 12px;color:#aaa;font-size:10px;letter-spacing:.14em;text-transform:uppercase}.side-link.indented-link{width:100%;margin-left:0}.student-picker-link{margin-bottom:5px!important;border:1px solid #3c3c3c!important;background:#242424!important}.student-picker-link small{color:#aaa}.sidebar-help{margin-top:auto;padding:14px;border:1px solid #333;border-radius:10px;background:#222;box-shadow:none}.sidebar-help:after{display:none}

/* Larger family navigation labels and symbols. */
.sidebar>.side-link,.student-nav-group .side-link{min-height:48px;font-size:14px}.sidebar .nav-icon{width:22px;font-size:16px;line-height:1}.student-nav-group .nav-section-label{font-size:11px}.student-picker-link strong{font-size:14px}.student-picker-link small{font-size:11px}

/* Secure administrator view-as controls. */
.impersonation-banner{position:absolute;left:50%;display:flex;align-items:center;gap:14px;transform:translateX(-50%);padding:7px 8px 7px 13px;border:1px solid #d81b26;border-radius:9px;background:#fff3f4;color:#222;box-shadow:0 5px 18px rgba(0,0,0,.12);font-size:11px}.impersonation-banner[hidden]{display:none}.impersonation-banner span{white-space:nowrap}.impersonation-banner strong{margin-right:6px;color:#a90f18;text-transform:uppercase;letter-spacing:.06em}.impersonation-banner button{min-height:30px;padding:6px 10px;border:0;border-radius:6px;background:#d81b26;color:#fff;font-size:10px;font-weight:850}.impersonation-banner button:hover{background:#a90f18}.admin-impersonation-control{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:16px 0;padding:14px;border:1px solid #c8c8c8;border-left:4px solid #d81b26;border-radius:9px;background:#fff}.admin-impersonation-control p{margin:4px 0 0;color:#666;font-size:11px;line-height:1.4}.admin-impersonation-control .ui-action-primary{flex:0 0 auto;white-space:nowrap}@media(max-width:760px){.impersonation-banner{position:fixed;top:78px;right:0;left:0;z-index:40;justify-content:space-between;transform:none;border-width:0 0 1px;border-radius:0}.impersonation-banner span{overflow:hidden;text-overflow:ellipsis}.admin-impersonation-control{align-items:flex-start;flex-direction:column}}
.admin-student-detail-heading{align-items:flex-start}.admin-student-grade{display:flex;flex:0 0 auto;flex-direction:column;align-items:flex-end;gap:3px;text-align:right}.admin-student-grade small{color:#777;font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.admin-student-grade strong{font-family:Georgia,serif;font-size:20px;font-weight:600}
/* Action items and student updates */
.admin-update-list,.student-update-list{display:grid;gap:18px}
.admin-update-card,.student-update-card{display:grid;grid-template-columns:minmax(135px,175px) minmax(0,1fr) minmax(130px,175px);background:#fff;border:1px solid #d8d5cf;border-left:5px solid #2d2d2b;box-shadow:0 8px 24px rgba(31,30,27,.06)}
.admin-update-card.high-priority,.student-update-card.high-priority{border-left-color:#a52b31;background:linear-gradient(90deg,#fff6f4 0,#fff 26%)}
.admin-update-date,.admin-update-due,.student-update-date,.student-update-due{padding:24px 20px;display:flex;flex-direction:column;gap:6px;background:rgba(239,237,232,.58)}
.admin-update-due,.student-update-due{border-left:1px solid #ddd9d2}
.admin-update-date small,.admin-update-due small,.student-update-date small,.student-update-due small{text-transform:uppercase;letter-spacing:.13em;font-size:.72rem;font-weight:800;color:#77726a}
.admin-update-date strong,.admin-update-due strong,.student-update-date strong,.student-update-due strong{font-family:Georgia,serif;font-size:1.05rem;line-height:1.3}
.admin-update-date b,.student-update-date b{margin-top:8px;color:#962c32;text-transform:uppercase;font-size:.7rem;letter-spacing:.08em}
.admin-update-copy,.student-update-copy{padding:23px 26px;min-width:0}
.admin-update-copy h3,.student-update-copy h2{margin:0 0 8px;font-family:Georgia,serif;font-size:1.45rem}
.admin-update-copy>p,.student-update-copy>p{margin:0;color:#5d5952;line-height:1.6;white-space:pre-wrap}
.admin-update-recipient-list{display:grid;gap:7px;margin-top:18px;padding-top:15px;border-top:1px solid #e3e0da}
.admin-update-recipient-list>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 0}
.admin-update-recipient-list span{display:flex;flex-direction:column;gap:3px}.admin-update-recipient-list small{color:#77726a}
.student-update-heading{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.student-update-heading span{padding:6px 10px;background:#eeece7;border-radius:999px;text-transform:uppercase;letter-spacing:.07em;font-size:.68rem;font-weight:800;white-space:nowrap}
.student-update-card.completed{opacity:.75}.student-update-card.completed .student-update-heading span{background:#e0eee4;color:#27623a}
.student-update-reply{display:flex;align-items:flex-end;gap:10px;margin-top:20px}.student-update-reply textarea{flex:1;min-width:0;resize:vertical;border:1px solid #c9c5bd;padding:11px 12px;font:inherit;background:#fff}
.student-update-reply button,.student-update-complete{min-height:44px}.student-update-complete{margin-top:12px}
.student-update-sent-reply{margin-top:18px;padding:13px 15px;background:#f3f1ec;border-left:3px solid #77726a}.student-update-sent-reply small{font-weight:800;text-transform:uppercase;letter-spacing:.08em}.student-update-sent-reply p{margin:6px 0 0;white-space:pre-wrap}
.admin-update-recipients{margin:20px 0 0;padding:16px;border:1px solid #d7d3cc}.admin-update-recipients legend{padding:0 7px;font-weight:800}.admin-update-recipients>div{max-height:260px;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.admin-update-recipients label{display:flex;align-items:center;gap:10px;padding:11px;background:#f3f1ec;cursor:pointer}.admin-update-recipients label>span{display:flex;flex-direction:column}.admin-update-recipients small{color:#77726a}
@media(max-width:850px){.admin-update-card,.student-update-card{grid-template-columns:1fr}.admin-update-date,.admin-update-due,.student-update-date,.student-update-due{padding:16px 20px}.admin-update-due,.student-update-due{border-left:0;border-top:1px solid #ddd9d2}.admin-update-recipients>div{grid-template-columns:1fr}.student-update-reply{align-items:stretch;flex-direction:column}}

/* Authorized JPEG student portraits in family and admin workspaces. */
.student-profile-card{display:block}
.student-profile-entries{display:contents}
.student-profile-card,.create-student-form{min-height:170px;box-sizing:border-box}
.create-student-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;padding:20px}
.create-student-form>div{grid-column:1/-1}
.student-profile-card-layout{display:grid;grid-template-columns:58px minmax(0,1fr);gap:15px;align-items:center}
.student-profile-main{display:grid;width:100%;grid-template-columns:1fr auto;gap:15px;align-items:center;padding:0;border:0;background:transparent;color:inherit;text-align:left}
.student-profile-avatar{position:relative;overflow:hidden;margin:0;padding:0;border:0;cursor:pointer}
.student-profile-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.student-profile-avatar:after{content:"Edit";position:absolute;right:4px;bottom:4px;padding:2px 4px;border-radius:4px;background:rgba(0,0,0,.72);color:#fff;font-size:8px;letter-spacing:.03em;opacity:0;transition:opacity .15s ease}
.student-profile-avatar:hover:after,.student-profile-avatar:focus-visible:after{opacity:1}
.student-photo-upload{display:inline-flex;align-items:center;justify-content:center;min-height:40px;margin:14px 0 0 73px;padding:9px 15px;border:1px solid #a90f18;border-radius:8px;background:#fff;color:#a90f18;font-size:12px;font-weight:850;cursor:pointer}
.student-photo-upload:hover{background:#fff1f2}
.student-photo-dialog{width:min(780px,calc(100% - 32px));overflow:auto}.student-photo-dialog-body{padding:26px}.student-photo-dialog-heading p:last-child{max-width:590px;margin:7px 0 0;color:#666;line-height:1.5}
.student-photo-start{display:grid;width:100%;place-items:center;min-height:270px;padding:36px;border:2px dashed #c8c8c8;border-radius:14px;background:#f7f7f7;color:#222;font:inherit;text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease}.student-photo-start:hover,.student-photo-start:focus-visible{border-color:#a90f18;background:#fff5f6}.student-photo-start>span:first-child{display:grid;place-items:center;width:64px;height:64px;margin-bottom:14px;border-radius:50%;background:#252525;color:#fff;font-size:34px}.student-photo-start strong{font-family:Georgia,serif;font-size:22px}.student-photo-start>span:last-child{margin-top:7px;color:#707070}
.student-photo-editor{display:grid;grid-template-columns:minmax(280px,1fr) 210px;gap:28px;align-items:center}.student-photo-editor[hidden]{display:none}.student-photo-crop-frame{position:relative;overflow:hidden;width:min(100%,420px);aspect-ratio:1;margin:auto;border-radius:13px;background:#1d1d1d;cursor:grab;touch-action:none;box-shadow:inset 0 0 0 1px #555}.student-photo-crop-frame.dragging{cursor:grabbing}.student-photo-crop-frame canvas{display:block;width:100%;height:100%}.student-photo-crop-frame>small{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);padding:5px 9px;border-radius:999px;background:rgba(0,0,0,.68);color:#fff;font-size:10px;font-weight:800;pointer-events:none}.student-photo-face-guide{position:absolute;top:16%;left:16%;width:68%;height:68%;border:2px dashed rgba(255,255,255,.95);border-radius:27%;box-shadow:0 0 0 999px rgba(0,0,0,.25);pointer-events:none}.student-photo-zoom{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;margin-top:14px;color:#333;font-size:12px;font-weight:850}.student-photo-zoom input{width:100%;accent-color:#d81b26}.student-photo-preview{text-align:center}.student-photo-preview>small{display:block;margin-bottom:12px;color:#777;font-size:10px;font-weight:900;letter-spacing:.12em}.student-photo-preview>span{display:block;overflow:hidden;width:150px;height:150px;margin:0 auto 13px;border-radius:27%;background:#222;box-shadow:0 8px 24px rgba(0,0,0,.18)}.student-photo-preview canvas{display:block;width:100%;height:100%}.student-photo-preview strong{font-family:Georgia,serif;font-size:20px}.student-photo-preview p{color:#717171;font-size:11px;line-height:1.5}.student-photo-dialog-actions .student-photo-choose{min-height:46px;padding:11px 18px;border-color:#a90f18;color:#a90f18}.student-photo-dialog-actions .primary-button{min-height:46px;padding-inline:21px}
.student-photo-start[hidden]{display:none}.student-photo-crop-frame{width:min(100%,350px)}.student-photo-dialog-actions .primary-button[hidden]{display:none}
@media(max-width:760px){.create-student-form{grid-template-columns:1fr;align-items:stretch}}

.essay-pdf-dialog{width:min(1120px,calc(100% - 32px));max-height:94vh;overflow:hidden}.essay-pdf-dialog-body{display:flex;max-height:94vh;padding:24px;flex-direction:column}.essay-pdf-dialog .admin-dialog-heading{flex:0 0 auto;margin-bottom:14px}.essay-pdf-dialog .admin-dialog-heading p:last-child{margin:5px 0 0;color:#777;font-size:11px}.essay-pdf-preview-frame{min-height:0;flex:1 1 auto;overflow:hidden;border:1px solid #aaa;border-radius:10px;background:#4a4a4a}.essay-pdf-preview-frame iframe{display:block;width:100%;height:min(70vh,800px);border:0;background:#fff}.essay-pdf-dialog-actions{display:flex;flex:0 0 auto;justify-content:flex-end;gap:10px;margin-top:14px}.essay-pdf-dialog-actions .primary-button{text-decoration:none}

#studentFormsPage .form-selector-grid,#profilePage .form-selector-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.student-portfolio-panel{padding:22px}.student-portfolio-choose{display:grid;width:100%;min-height:150px;place-items:center;padding:22px;border:2px dashed #aaa;border-radius:12px;background:#f7f7f7;color:#333;cursor:pointer}.student-portfolio-choose:hover{border-color:#d81b26;background:#fff7f8}.student-portfolio-choose>span{display:grid;width:46px;height:46px;place-items:center;margin-bottom:8px;border-radius:50%;background:#d81b26;color:#fff;font-size:24px}.student-portfolio-choose strong,.student-portfolio-choose small{display:block}.student-portfolio-choose strong{font-size:16px}.student-portfolio-choose small{margin-top:5px;color:#777}.student-portfolio-preview,.student-portfolio-current{margin-bottom:18px}.student-portfolio-preview[hidden]{display:none}.student-portfolio-preview-heading,.student-portfolio-current-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:18px 0 10px}.student-portfolio-preview-heading small,.student-portfolio-current-heading small{display:block;color:#8d1119;font-size:9px;font-weight:900;letter-spacing:.12em}.student-portfolio-preview-heading strong,.student-portfolio-current-heading strong{display:block;margin-top:4px;font-size:15px}.student-portfolio-preview-heading span,.student-portfolio-current-heading span{display:block;margin-top:3px;color:#777;font-size:10px}.student-portfolio-preview-media,.student-portfolio-current-media{overflow:hidden;border:1px solid #aaa;border-radius:10px;background:#252525}.student-portfolio-preview-media iframe,.student-portfolio-current-media iframe{display:block;width:100%;height:620px;border:0;background:#fff}.student-portfolio-preview-media video,.student-portfolio-current-media video{display:block;width:100%;max-height:620px;background:#111}.student-portfolio-actions{display:flex;justify-content:flex-end;margin-top:14px}.student-portfolio-load-error{padding:14px;border-left:4px solid #d81b26;background:#fff2f3;color:#7b1a22}
.create-student-form{width:100%;grid-template-columns:minmax(260px,1fr) auto;gap:13px 14px;align-items:end;padding:20px 22px}.create-student-form>div{grid-column:1/-1}.create-student-form h2{margin:0}.create-student-form>button{width:auto;min-height:44px;padding-inline:18px;white-space:nowrap}
@media(max-width:760px){.create-student-form{width:100%;grid-template-columns:1fr;align-items:stretch}.create-student-form>button{width:max-content}}
@media(max-width:680px){.student-photo-editor{grid-template-columns:1fr}.student-photo-preview{display:grid;grid-template-columns:90px 1fr;gap:6px 15px;align-items:center;text-align:left}.student-photo-preview>small{grid-column:1/-1}.student-photo-preview>span{grid-row:2/4;width:90px;height:90px;margin:0;border-radius:24px}.student-photo-preview p{margin:0}.student-photo-dialog-actions{grid-template-columns:1fr 1fr}.student-photo-dialog-actions>span{display:none}.student-photo-dialog-actions button{width:100%}}
@media(max-width:680px){.essay-pdf-dialog-body{padding:16px}.essay-pdf-preview-frame iframe{height:68vh}.essay-pdf-dialog-actions>*{flex:1;text-align:center}}
@media(max-width:1100px){#studentFormsPage .form-selector-grid,#profilePage .form-selector-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){#studentFormsPage .form-selector-grid,#profilePage .form-selector-grid{grid-template-columns:1fr}.student-portfolio-preview-media iframe,.student-portfolio-current-media iframe{height:430px}.student-portfolio-preview-heading{align-items:flex-start;flex-direction:column}}
.admin-student-row{grid-template-columns:38px minmax(140px,1fr) 55px 72px 52px}
.admin-student-row-photo,.admin-student-photo{position:relative;display:grid;place-items:center;overflow:hidden;background:#262626;color:#fff;font-weight:900}
.admin-student-row-photo{width:34px;height:34px;border-radius:9px;font-size:10px}
.admin-student-photo{flex:0 0 62px;width:62px;height:62px;border-radius:16px;font-size:16px}
.admin-student-row-photo img,.admin-student-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.admin-student-detail-heading{align-items:center}

@media not all{
/* Retained for reference but disabled after restoring the prior family styling.
   Family portal typography and color system.
   Major/editorial titles use the serif face; navigation, controls, cards,
   statuses, and supporting copy use the UI sans-serif face. */
:root{
  --family-font-display:Georgia,"Times New Roman",serif;
  --family-font-ui:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --family-text:#292929;
  --family-text-secondary:#5f5f5f;
  --family-text-muted:#767676;
  --family-heading:#242424;
  --family-accent:#d81b26;
  --family-accent-dark:#a90f18;
  --family-surface:#fff;
  --family-surface-soft:#f5f5f5;
  --family-border:#c8c8c8;
  --family-focus:rgba(216,27,38,.2);
  --family-body-size:15px;
  --family-small-size:12px;
  --family-label-size:11px;
}

.auth-state,#portalShell{color:var(--family-text);font-family:var(--family-font-ui);font-size:var(--family-body-size);line-height:1.5}
.auth-state h1,#portalShell .page-heading h1,#portalShell .welcome-hero h1,#portalShell .student-hub-hero h1{font-family:var(--family-font-display);font-weight:500;letter-spacing:-.025em}
.auth-state h1{font-size:clamp(44px,5vw,56px);line-height:1.05}
#portalShell .page-heading h1,#portalShell .student-hub-hero h1{margin-bottom:10px;color:var(--family-heading);font-size:clamp(38px,4vw,48px);line-height:1.08}
#portalShell .welcome-hero h1{font-size:clamp(42px,5vw,56px);line-height:1.04}
#portalShell .student-hub-hero h1{color:#fff}
.auth-state .eyebrow,#portalShell .eyebrow{margin-bottom:8px;color:var(--family-accent-dark);font-size:var(--family-label-size);font-weight:850;line-height:1.25;letter-spacing:.14em;text-transform:uppercase}
#portalShell .welcome-hero .eyebrow,#portalShell .student-hub-hero .eyebrow{color:#fff}
.auth-state>p,#portalShell .page-heading>div>p:last-child,#portalShell .student-hub-hero p:last-child{color:var(--family-text-secondary);font-size:15px;line-height:1.65}
#portalShell .welcome-hero p:last-child{color:#f4f4f4;font-size:16px;line-height:1.65}

/* Shared editorial and operational heading levels. */
#portalShell .panel-title h2,#portalShell .advisor-card h2,#portalShell .form-section-title h2,#portalShell .submitted-form-state h3{font-family:var(--family-font-display);font-weight:600;letter-spacing:-.015em}
#portalShell .panel-title h2{font-size:28px}
#portalShell .form-section-title h2,#portalShell .submitted-form-state h3{color:var(--family-heading);font-size:24px;line-height:1.2}
#portalShell .portal-card>strong,#portalShell .student-profile-card strong,#portalShell .family-event-offering-heading h3,#portalShell .family-event-date-main strong,#portalShell .student-test-details h2,#portalShell .recommendation-card h2,#portalShell .school-banner-identity h2{color:var(--family-heading);font-family:var(--family-font-ui);font-weight:750;letter-spacing:-.01em}
#portalShell .portal-card>strong{font-size:20px;line-height:1.25}
#portalShell .home-portal-grid .portal-card>strong{font-family:var(--family-font-display);font-weight:600;letter-spacing:-.015em}
#portalShell .student-profile-card strong,#portalShell .family-event-offering-heading h3,#portalShell .recommendation-card h2{font-size:18px}

/* Body copy, metadata, labels, and links share one readable scale. */
#portalShell .portal-card>p,#portalShell .advisor-card p,#portalShell .form-section-title p,#portalShell .school-card-body>p,#portalShell .student-update-copy>p,#portalShell .empty-state p{color:var(--family-text-secondary);font-size:13px;line-height:1.6}
#portalShell .card-action,#portalShell .link-button,#portalShell .back-link,#portalShell .school-overview-toggle,#portalShell .student-photo-upload{color:var(--family-accent-dark);font-size:12px;font-weight:800}
#portalShell .timeline-item p,#portalShell .student-profile-card small,#portalShell .family-event-guidance p,#portalShell .family-event-offering-heading p:last-child,#portalShell .student-test-details p,#portalShell .recommendation-contact p,#portalShell .recommendation-contact small,#portalShell .recommendation-email{font-size:var(--family-small-size);line-height:1.5}
#portalShell .form-selector-copy small,#portalShell .school-overview p,#portalShell .school-contact-grid p,#portalShell .family-event-date-main span,#portalShell .family-event-date-status b,#portalShell .family-event-date-status small{color:var(--family-text-secondary);font-size:var(--family-label-size);line-height:1.45}
#portalShell .form-selector-copy strong{color:var(--family-heading);font-size:16px;font-weight:750;line-height:1.3}
#portalShell .school-application-grid>div>span:first-child,#portalShell .school-contact-grid span,#portalShell .family-event-format small,#portalShell .student-update-date small,#portalShell .student-update-due small{color:var(--family-text-muted);font-size:10px;font-weight:850;line-height:1.3;letter-spacing:.08em;text-transform:uppercase}

/* Navigation and top-bar text use the same UI hierarchy as page controls. */
#portalShell .sidebar>.side-link,#portalShell .student-nav-group .side-link{font-family:var(--family-font-ui);font-size:14px;font-weight:750;line-height:1.25}
#portalShell .sidebar .nav-icon{font-size:16px}
#portalShell .student-nav-group .nav-section-label{color:#aaa;font-size:10px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.brand strong,.profile-chip strong{color:#3b3b3b;font-family:var(--family-font-ui);font-size:15px;font-weight:800}
.brand small{color:#666;font-family:var(--family-font-ui);font-size:12px}
.signout-button,.admin-login-link{font-family:var(--family-font-ui);font-size:12px;font-weight:750}

/* Controls use one shape, weight, and focus treatment across family pages. */
.auth-state .primary-button,.auth-state .secondary-button,#portalShell .primary-button,#portalShell .secondary-button,#portalShell .filter-pill,#portalShell .family-notification-toggle,#portalShell .admin-notification-action{border-radius:8px;font-family:var(--family-font-ui);font-size:12px;font-weight:800;line-height:1.2}
.auth-state input,#portalShell input,#portalShell select,#portalShell textarea,.recommendation-dialog input,.recommendation-dialog select,.student-test-dialog input,.student-test-dialog select,.family-event-confirm-dialog input,.family-event-confirm-dialog select{color:var(--family-text);font-family:var(--family-font-ui);font-size:14px}
.auth-state input:focus,#portalShell input:focus,#portalShell select:focus,#portalShell textarea:focus{outline:3px solid var(--family-focus);outline-offset:1px;border-color:var(--family-accent)}
.auth-form label,.create-student-form label,.recommendation-dialog label,.student-test-dialog label{color:#3d3d3d;font-size:12px;font-weight:800}
.auth-form small{color:var(--family-text-muted);font-size:11px;line-height:1.45}

/* Tiles, forms, and empty states use a quieter neutral surface hierarchy. */
#portalShell .portal-card,#portalShell .form-selector-card,#portalShell .student-profile-card,#portalShell .panel,#portalShell .form-section,#portalShell .school-detail-card,#portalShell .family-event-school,#portalShell .student-test-card,#portalShell .recommendation-card,#portalShell .student-update-card{border-color:var(--family-border);background:var(--family-surface);box-shadow:0 6px 20px rgba(25,25,25,.06)}
#portalShell .form-selector-card,#portalShell .student-profile-card{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
#portalShell .form-selector-card:hover,#portalShell .student-profile-card:hover{transform:translateY(-3px)}
#portalShell .portal-card:hover,#portalShell .form-selector-card:hover,#portalShell .student-profile-card:hover,#portalShell .recommendation-card:hover{border-color:var(--family-accent);box-shadow:0 10px 26px rgba(25,25,25,.1)}
#portalShell .portal-card:before{height:4px;background:var(--family-accent)}
#portalShell .portal-card:after{display:none}
#portalShell .form-selector-number,#portalShell .form-section-title>span{font-family:var(--family-font-ui);font-size:12px}
#portalShell .form-workspace-prompt,#portalShell .empty-state,#portalShell .fillout-status{color:var(--family-text-secondary);font-size:13px;line-height:1.55}

/* Operational pages retain differentiation through structure and state color. */
#portalShell .school-card-banner,#portalShell .family-event-school>header{background:linear-gradient(125deg,#303030,#5b5b5b)}
#portalShell .school-banner-identity h2,#portalShell .family-event-school>header h2{color:#fff}
#portalShell .family-event-school>header h2{font-family:var(--family-font-display);font-size:24px;font-weight:600;letter-spacing:-.015em}
#portalShell .family-event-offering-heading{background:#f3f3f3}
#portalShell .family-event-format strong{color:#3f3f3f;font-size:11px;font-weight:750}
#portalShell .family-event-attendance small{color:#444;font-size:10px;font-weight:800}
#portalShell .family-event-request-status,#portalShell .form-selector-status,#portalShell .recommendation-status,#portalShell .student-test-status,#portalShell .student-update-heading span{font-size:10px;font-weight:850;line-height:1.2;letter-spacing:.05em}
#portalShell .student-test-date strong,#portalShell .student-update-date strong,#portalShell .student-update-due strong{color:var(--family-heading);font-family:var(--family-font-display);font-weight:600}
#portalShell .student-test-date strong{font-size:18px}
#portalShell .student-test-details h2{font-size:20px}
#portalShell .recommendation-edit-hint{font-size:11px}
#portalShell .student-update-copy h2{color:var(--family-heading);font-family:var(--family-font-display);font-size:23px;font-weight:600;letter-spacing:-.015em}

/* Notification center and dialogs follow the same family type scale. */
#portalShell .family-notification-center>header strong{font-size:15px;font-weight:800}
#portalShell .family-notification-meta{font-size:10px}
#portalShell .family-notification-content>strong{font-size:14px;line-height:1.35}
#portalShell .family-notification-content>p{font-size:12px;line-height:1.5}
.recommendation-dialog .admin-dialog-heading h2,.student-test-dialog .admin-dialog-heading h2,.family-event-confirm-dialog .admin-dialog-heading h2{color:var(--family-heading);font-family:var(--family-font-display);font-size:28px;font-weight:600;letter-spacing:-.015em}
.recommendation-dialog .admin-dialog-heading p,.student-test-dialog .admin-dialog-heading p,.family-event-confirm-dialog .admin-dialog-heading p,.family-event-confirm-copy p{color:var(--family-text-secondary);font-size:12px;line-height:1.5}

@media(max-width:760px){
  .auth-state{margin:5vh auto;padding:30px 22px}
  #portalShell .page-heading h1,#portalShell .student-hub-hero h1{font-size:38px}
  #portalShell .welcome-hero h1{font-size:42px}
  #portalShell .welcome-hero p:last-child{font-size:15px}
  #portalShell .portal-card>strong{font-size:19px}
  #portalShell .sidebar>.side-link,#portalShell .student-nav-group .side-link{font-size:13px}
}
}


.family-event-view-tabs{display:flex;gap:0;margin:0 0 18px;border-bottom:1px solid #aaa}.family-event-view-tabs button{min-width:150px;padding:12px 20px;border:0;border-bottom:4px solid transparent;background:transparent;color:#666;font-size:12px;font-weight:850}.family-event-view-tabs button:hover{background:#f2f2f2;color:#222}.family-event-view-tabs button.active{border-bottom-color:#d81b26;color:#a90f18}.registered-event-date-group{margin-bottom:26px;border-top:3px solid #292929;background:#fff}.registered-event-date-group>header{padding:18px 20px;border-bottom:1px solid #bbb;background:#ececec}.registered-event-date-group>header .eyebrow{margin:0 0 4px}.registered-event-date-group>header h2{margin:0;font-family:Georgia,serif;font-size:27px;font-weight:600}.registered-event-row{display:grid;grid-template-columns:minmax(260px,1fr) minmax(220px,.8fr) 100px;gap:20px;align-items:center;min-height:82px;padding:15px 20px;border-bottom:1px solid #d3d3d3}.registered-event-row:last-child{border-bottom:0}.registered-event-row strong,.registered-event-row p,.registered-event-row span,.registered-event-row small{display:block}.registered-event-row strong{font-size:15px}.registered-event-row p{margin:4px 0 0;color:#666;font-size:11px}.registered-event-row span{color:#444;font-size:11px}.registered-event-row small{margin-top:4px;color:#777;font-size:10px}.registered-event-row>b{justify-self:end;padding:6px 9px;border-radius:999px;background:#e1eee4;color:#285b37;font-size:9px;letter-spacing:.05em;text-transform:uppercase}
@media(max-width:700px){.family-event-view-tabs button{min-width:0;flex:1}.registered-event-row{grid-template-columns:1fr}.registered-event-row>b{justify-self:start}}

/* Family portal segmented controls: shared treatment for Events and Schools. */
#portalShell .family-event-view-tabs,
#portalShell #schoolsPage .filter-row{display:inline-flex;width:max-content;max-width:100%;gap:4px;margin:0 0 20px;padding:4px;border:1px solid #b8b8b8;border-radius:11px;background:#e7e7e7;box-shadow:inset 0 1px 2px rgba(0,0,0,.08),0 3px 10px rgba(0,0,0,.05)}
#portalShell .family-event-view-tabs button,
#portalShell #schoolsPage .filter-pill{min-width:132px;min-height:40px;padding:9px 16px;border:1px solid transparent;border-radius:7px;background:transparent;color:#555;font-family:var(--family-font-ui);font-size:12px;font-weight:850;letter-spacing:.01em;box-shadow:none;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}
#portalShell #schoolsPage .filter-pill{min-width:112px}
#portalShell .family-event-view-tabs button:hover,
#portalShell #schoolsPage .filter-pill:hover{border-color:#c5c5c5;background:#f8f8f8;color:#242424}
#portalShell .family-event-view-tabs button:focus-visible,
#portalShell #schoolsPage .filter-pill:focus-visible{outline:3px solid var(--family-focus);outline-offset:2px}
#portalShell .family-event-view-tabs button.active,
#portalShell #schoolsPage .filter-pill.active{border-color:#292929;background:#292929;color:#fff;box-shadow:inset 0 -3px var(--family-accent),0 2px 5px rgba(0,0,0,.18)}

/* Each school uses visible status buttons instead of a native dropdown. */
#portalShell .school-decision-control{min-width:330px}
#portalShell .school-decision-buttons{display:flex;gap:3px;padding:3px;border:1px solid rgba(255,255,255,.48);border-radius:9px;background:rgba(0,0,0,.2)}
#portalShell .school-decision-buttons button{min-height:38px;flex:1;padding:8px 11px;border:1px solid transparent;border-radius:6px;background:rgba(255,255,255,.12);color:#fff;font-family:var(--family-font-ui);font-size:11px;font-weight:850;white-space:nowrap;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}
#portalShell .school-decision-buttons button:hover{background:rgba(255,255,255,.24)}
#portalShell .school-decision-buttons button:focus-visible{outline:3px solid rgba(255,255,255,.38);outline-offset:2px}
#portalShell .school-decision-buttons button.active{border-color:#fff;background:#fff;color:#292929;box-shadow:inset 0 -3px var(--family-accent),0 2px 7px rgba(0,0,0,.2)}
#portalShell .school-decision-buttons button:disabled{cursor:wait;opacity:.65}

@media(max-width:700px){#portalShell .family-event-view-tabs,#portalShell #schoolsPage .filter-row{display:flex;width:100%}#portalShell .family-event-view-tabs button,#portalShell #schoolsPage .filter-pill{min-width:0;flex:1;padding-right:8px;padding-left:8px}#portalShell .school-card-banner,#portalShell .school-banner-tools{align-items:stretch;flex-direction:column}#portalShell .school-decision-control{width:100%;min-width:0}#portalShell .school-decision-buttons button{padding-right:6px;padding-left:6px;font-size:10px}}

/* Admin Family Information portfolio preview. */
.student-portfolio-current-item+.student-portfolio-current-item{margin-top:26px;padding-top:8px;border-top:1px solid #d7d7d7}.student-portfolio-choose:disabled{border-color:#ccc;background:#eee;color:#777;cursor:not-allowed}.student-portfolio-choose:disabled>span{background:#888}.student-portfolio-none{display:block;margin:12px auto 0}.student-portfolio-none-state{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;padding:14px 16px;border:1px solid #c9c9c9;border-radius:9px;background:#f4f4f4;color:#333}.student-portfolio-none-state span{color:#777;font-size:11px}.admin-information-attachment-list{display:grid;gap:10px}
.admin-information-attachment{display:flex;align-items:center;gap:12px}.admin-information-attachment .secondary-button{min-height:38px;padding:8px 13px;white-space:nowrap}.admin-information-attachment small{color:#666;font-size:10px;overflow-wrap:anywhere}
.admin-portfolio-preview{display:grid;min-height:420px;place-items:center}.admin-portfolio-preview iframe{display:block;width:100%;height:min(70vh,800px);border:0;background:#fff}.admin-portfolio-preview video{display:block;width:100%;max-height:min(70vh,800px);background:#111}.admin-portfolio-loading{color:#fff;font-size:13px;font-weight:800}.admin-portfolio-error{max-width:420px;padding:28px;color:#fff;text-align:center}.admin-portfolio-error p{margin:7px 0 0;color:#ddd;font-size:12px}.admin-portfolio-dialog [hidden]{display:none!important}
@media(max-width:680px){.admin-information-attachment{align-items:flex-start;flex-direction:column}.admin-portfolio-preview{min-height:300px}}

/* Inline, Fillout-like editing for the admin Family Information workspace. */
.admin-information-editable{padding:0!important;background:#fcfcfc;font-style:normal!important}.admin-information-editable>button{display:grid;width:calc(100% - 8px);min-height:40px;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start;margin:4px;padding:8px 10px;border:1px solid transparent;border-radius:6px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:text;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.admin-information-editable>button:hover{border-color:#d5a3a8;background:#fff7f8;box-shadow:inset 3px 0 #d81b26}.admin-information-editable>button>span{white-space:pre-wrap;overflow-wrap:anywhere}.admin-information-editable>button>small{align-self:start;margin-top:0;padding:3px 6px;border:1px solid #d9b4b8;border-radius:999px;background:#fff;color:#99141d;font-size:8px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;transition:border-color .15s ease,background-color .15s ease}.admin-information-editable>button:hover>small{border-color:#d81b26;background:#fff0f2}.admin-information-editable>button:focus-visible{outline:3px solid rgba(216,27,38,.2);outline-offset:-2px;border-color:#d81b26}
.admin-information-editing{padding:10px 13px!important;background:#fff9fa}.admin-information-editing input,.admin-information-editing select,.admin-information-editing textarea{display:block;width:100%;min-height:44px;padding:10px 12px;border:1px solid #999;border-radius:8px;background:#fff;color:#222;font:inherit;box-shadow:0 2px 7px rgba(0,0,0,.06)}.admin-information-editing select[multiple]{min-height:154px}.admin-information-editing textarea{min-height:92px;resize:vertical}.admin-information-editing input:focus,.admin-information-editing select:focus,.admin-information-editing textarea:focus{outline:3px solid rgba(216,27,38,.18);outline-offset:1px;border-color:#d81b26}.admin-information-edit-hint,.admin-information-multi-hint{display:block;margin-top:6px;color:#777;font-size:9px;line-height:1.4}
.admin-information-save-bar{position:sticky;z-index:25;top:78px;display:grid;width:100%;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:12px 16px;border:1px solid #a7a7a7;border-width:0 0 1px;border-left:5px solid #d81b26;border-radius:0;background:#f7f7f7;color:#242424;box-shadow:0 5px 13px rgba(0,0,0,.09)}.admin-information-save-bar[hidden]{display:none}.admin-information-save-bar strong,.admin-information-save-bar small{display:block}.admin-information-save-bar strong{font-size:13px}.admin-information-save-bar small{margin-top:3px;color:#666;font-size:10px;line-height:1.35}.admin-information-save-bar .secondary-button{border-color:#888;background:#fff;color:#292929}.admin-information-save-bar .primary-button{border-color:#d81b26;background:#d81b26;color:#fff}.admin-information-save-bar button{min-height:40px;white-space:nowrap}
@media(max-width:720px){.admin-information-save-bar{top:78px;grid-template-columns:1fr 1fr}.admin-information-save-bar>div{grid-column:1/-1}.admin-information-save-bar button{width:100%}}

/* One shared segmented control for Schools and Events. */
#portalShell .family-segmented-switch{display:inline-flex;width:max-content;max-width:100%;gap:4px;margin:0 0 20px;padding:4px;border:1px solid #b8b8b8;border-radius:11px;background:#e7e7e7;box-shadow:inset 0 1px 2px rgba(0,0,0,.08),0 3px 10px rgba(0,0,0,.05)}
#portalShell .family-segmented-switch .filter-pill{display:inline-flex;min-width:112px;min-height:40px;align-items:center;justify-content:center;padding:9px 16px;border:1px solid transparent;border-radius:7px;background:transparent;color:#555;font-family:var(--family-font-ui);font-size:12px;font-weight:850;line-height:1.2;letter-spacing:.01em;box-shadow:none;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}
#portalShell .family-event-filter-switch .filter-pill{min-width:132px}
#portalShell .family-segmented-switch .filter-pill:hover{border-color:#c5c5c5;background:#f8f8f8;color:#242424}
#portalShell .family-segmented-switch .filter-pill:focus-visible{outline:3px solid var(--family-focus);outline-offset:2px}
#portalShell .family-segmented-switch .filter-pill.active{border-color:#292929;background:#292929;color:#fff;box-shadow:inset 0 -3px var(--family-accent),0 2px 5px rgba(0,0,0,.18)}
@media(max-width:600px){#portalShell .family-segmented-switch{display:flex;width:100%}#portalShell .family-segmented-switch .filter-pill{min-width:0;flex:1;padding-right:8px;padding-left:8px}}

/* Refined inline editor while preserving the fixed information-table layout. */
.admin-information-table tbody tr:has(.admin-information-editable):hover th{background:#ececec;color:#333}
.admin-information-editable{padding:0!important;background:#fff!important;font-style:normal!important}
.admin-information-editable>button{display:grid;width:calc(100% - 10px);min-height:42px;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;margin:5px;padding:9px 11px;border:1px solid #d2d2d2;border-radius:7px;background:#fafafa;color:#242424;font:inherit;text-align:left;cursor:text;box-shadow:0 1px 2px rgba(0,0,0,.03);transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease,transform .15s ease}
.admin-information-editable>button:hover{border-color:#b56a71;background:#fff8f8;box-shadow:inset 3px 0 #d81b26,0 3px 8px rgba(0,0,0,.07);transform:translateY(-1px)}
.admin-information-editable>button>span{line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
.admin-information-editable.empty>button>span{color:#8b8b8b;font-style:italic}
.admin-information-editable>button>small{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border:1px solid #c7c7c7;border-radius:999px;background:#fff;color:#606060;font-size:8px;font-style:normal;font-weight:900;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;transition:border-color .15s ease,color .15s ease}
.admin-information-editable>button>small b{color:#a90f18;font-size:11px;line-height:1}
.admin-information-editable>button:hover>small{border-color:#d81b26;color:#8f1019}
.admin-information-editable>button:focus-visible{outline:3px solid rgba(216,27,38,.2);outline-offset:1px;border-color:#d81b26}
.admin-information-editing{position:relative;padding:12px 14px 13px!important;background:#fff8f8!important;box-shadow:inset 4px 0 #d81b26}
.admin-information-edit-state{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.admin-information-edit-state strong{color:#3b3b3b;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.admin-information-edit-state span{padding:3px 7px;border-radius:999px;background:#f4dfe1;color:#91121b;font-size:8px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.admin-information-editing input,.admin-information-editing select,.admin-information-editing textarea{border-color:#888;background:#fff;box-shadow:0 3px 9px rgba(0,0,0,.07)}
.admin-information-edit-hint{margin-top:7px!important;color:#666!important}
.admin-information-save-bar{grid-template-columns:12px minmax(0,1fr) auto auto;padding:11px 16px;border-left-width:0;border-top:1px solid #aaa;background:#f4f4f4;box-shadow:0 6px 15px rgba(0,0,0,.1)}
.admin-information-change-mark{display:block;width:10px;height:10px;border-radius:50%;background:#d81b26;box-shadow:0 0 0 4px rgba(216,27,38,.12)}
.admin-information-save-bar .primary-button{box-shadow:0 3px 8px rgba(169,15,24,.18)}
@media(max-width:720px){.admin-information-save-bar{grid-template-columns:12px minmax(0,1fr)}.admin-information-save-bar>div{grid-column:auto}.admin-information-save-bar button{grid-column:auto}.admin-information-save-bar .secondary-button{grid-column:1/2}.admin-information-save-bar .primary-button{grid-column:2/3}.admin-information-editable>button{align-items:start}}

/* Quiet text-only edit affordance. */
.admin-information-editable>button{column-gap:24px}
.admin-information-editable>button>small{align-self:center;padding:0;border:0;border-radius:0;background:transparent;color:#8d1119;font-family:Georgia,"Times New Roman",serif;font-size:11px;font-style:italic;font-weight:700;letter-spacing:.01em;text-transform:none}
.admin-information-editable>button:hover>small{border:0;background:transparent;color:#d81b26}

/* Family Accounts uses the same canvas width as Information while retaining its detail panels. */
.admin-families-workspace #adminFamiliesPage{min-width:1320px}
.admin-families-workspace #adminFamiliesPage>.admin-page-heading,
.admin-families-workspace #adminFamiliesPage>.admin-table-controls,
.admin-families-workspace #adminFamiliesPage>.admin-sync-notice,
.admin-families-workspace #adminFamiliesPage>.admin-result-count,
.admin-families-workspace .admin-family-layout{width:1320px}
.admin-family-layout{grid-template-columns:1320px}
.admin-family-layout{--family-list-width:820px;--family-detail-width:500px;--student-detail-width:420px}
.admin-family-layout:has(#adminFamilyDetail:not([hidden])){grid-template-columns:var(--family-list-width) var(--family-detail-width)}
.admin-family-layout:has(#adminStudentDetail:not([hidden])){--family-list-width:400px;grid-template-columns:var(--family-list-width) var(--family-detail-width) var(--student-detail-width)}
.admin-information-toolbar{grid-template-columns:minmax(260px,1fr) minmax(240px,1fr)}
.admin-information-picker-field{position:relative;display:grid;min-width:0;gap:6px;color:#333;font-size:11px;font-weight:850}.admin-information-picker-field>span:first-child{font-size:9px;letter-spacing:.1em;text-transform:uppercase}.admin-information-picker{position:relative;display:block}.admin-information-picker-trigger{display:grid;width:100%;min-height:44px!important;grid-template-columns:minmax(0,1fr) 18px;align-items:center;gap:12px;padding:10px 12px!important;border:1px solid #929292!important;border-radius:7px!important;background:#fff!important;color:#242424!important;text-align:left;box-shadow:0 1px 2px rgba(0,0,0,.04);transition:border-color .15s ease,box-shadow .15s ease}.admin-information-picker-trigger b{overflow:hidden;font-size:12px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.admin-information-picker-trigger i{display:block;width:9px;height:9px;justify-self:center;border-right:2px solid #555;border-bottom:2px solid #555;transform:rotate(45deg) translateY(-2px);transition:transform .15s ease}.admin-information-picker.open .admin-information-picker-trigger{border-color:#a90f18!important;box-shadow:0 0 0 3px rgba(216,27,38,.14)}.admin-information-picker.open .admin-information-picker-trigger i{transform:rotate(225deg) translate(-2px,-2px)}.admin-information-picker-trigger:disabled{background:#e1e1e1!important;color:#777!important;cursor:not-allowed;box-shadow:none}.admin-information-picker-menu{position:absolute;z-index:90;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;max-height:290px;padding:5px;border:1px solid #929292;border-radius:7px;background:#fff;box-shadow:0 14px 28px rgba(0,0,0,.16)}.admin-information-picker-menu[hidden]{display:none}.admin-information-picker-menu button{display:grid;width:100%;min-height:38px;grid-template-columns:minmax(0,1fr) 16px;align-items:center;gap:10px;padding:8px 10px;border:0;border-radius:4px;background:#fff;color:#333;font-size:11px;font-weight:700;text-align:left}.admin-information-picker-menu button:hover,.admin-information-picker-menu button:focus-visible{outline:0;background:#f1f1f1;color:#8f1019}.admin-information-picker-menu button[aria-selected="true"]{background:#f8e9ea;color:#8f1019}.admin-information-picker-menu button[aria-selected="true"] i:after{content:"✓";color:#a90f18;font-size:13px;font-style:normal;font-weight:900}

/* Keep all admin workspaces aligned to the same left edge and control rhythm. */
.admin-main:not(.admin-families-workspace){width:auto;max-width:none;min-width:0;margin:0;padding:42px 32px 72px 24px}
.admin-main:not(.admin-families-workspace) .admin-page{width:min(1320px,calc(100vw - 296px))}
.admin-table-controls{grid-template-columns:minmax(320px,1fr) minmax(190px,220px) minmax(190px,220px);gap:14px}
.admin-table-controls input,.admin-table-controls select{height:44px;min-height:44px;border-color:#9f9f9f;border-radius:7px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:12px;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.admin-table-controls select{appearance:none;padding-right:38px;background-color:#fff;background-image:linear-gradient(45deg,transparent 50%,#555 50%),linear-gradient(135deg,#555 50%,transparent 50%),linear-gradient(to right,#d2d2d2,#d2d2d2);background-position:calc(100% - 17px) 18px,calc(100% - 12px) 18px,calc(100% - 34px) 9px;background-size:5px 5px,5px 5px,1px 25px;background-repeat:no-repeat;cursor:pointer}
.admin-table-controls select:hover{border-color:#777;background-color:#fafafa}
.admin-table-controls select:focus{background-color:#fff}
@media(max-width:1000px){.admin-table-controls{grid-template-columns:1fr 1fr}.admin-table-controls .admin-search{grid-column:1/-1}}
@media(max-width:700px){.admin-main:not(.admin-families-workspace){width:min(100% - 24px,1200px);margin:0 auto;padding:22px 0 50px}.admin-main:not(.admin-families-workspace) .admin-page{width:100%}.admin-table-controls{grid-template-columns:1fr}.admin-table-controls .admin-search{grid-column:auto}}

/* Keep background-operation notices readable even when an upstream error is verbose. */
.admin-active .toast{max-width:min(520px,calc(100vw - 48px));line-height:1.45;overflow-wrap:anywhere;white-space:normal}

/* Events uses the same compact heading toggle as the Families workspace. */
.admin-page-heading .admin-event-subnav{gap:0;margin:0;padding:3px;border:1px solid #aaa;border-radius:8px;background:#ededed}
.admin-page-heading .admin-event-subnav button{min-height:34px;padding:7px 12px;border:0;border-radius:5px;background:transparent;color:#666;font-size:11px;font-weight:850}
.admin-page-heading .admin-event-subnav button.active{border:0;background:#252525;color:#fff}

/* Keep all list-page search fields the same width. */
.admin-table-controls{grid-template-columns:minmax(320px,852px) 220px 220px}
.admin-table-controls{grid-template-columns:minmax(320px,1fr) minmax(235px,260px) minmax(235px,260px);gap:18px}.admin-table-controls>label:not(.admin-search)>span:first-child{font-size:11px;font-weight:900;letter-spacing:.11em}.admin-filter-picker{position:relative;display:block;min-width:0}.admin-filter-picker>select[hidden]{display:none}.admin-filter-picker-trigger{display:grid;width:100%;min-height:52px;grid-template-columns:minmax(0,1fr) 22px;align-items:center;gap:14px;padding:12px 14px;border:1px solid #8f8f8f;border-radius:7px;background:#fff;color:#252525;text-align:left;box-shadow:0 2px 5px rgba(0,0,0,.06);transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.admin-filter-picker-trigger:hover{border-color:#555;background:#fafafa}.admin-filter-picker-trigger b{overflow:hidden;font-size:13px;font-weight:780;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.admin-filter-picker-trigger>i{display:block;width:10px;height:10px;justify-self:center;border-right:2px solid #444;border-bottom:2px solid #444;transform:rotate(45deg) translateY(-2px);transition:transform .15s ease}.admin-filter-picker.open .admin-filter-picker-trigger{border-color:#a90f18;background:#fff;box-shadow:0 0 0 3px rgba(216,27,38,.14)}.admin-filter-picker.open .admin-filter-picker-trigger>i{transform:rotate(225deg) translate(-2px,-2px)}.admin-filter-picker-menu{position:absolute;z-index:110;top:calc(100% + 7px);left:0;right:0;overflow-y:auto;max-height:360px;padding:6px;border:1px solid #8d8d8d;border-radius:8px;background:#fff;box-shadow:0 16px 34px rgba(0,0,0,.19)}.admin-filter-picker-menu[hidden]{display:none}.admin-filter-picker-menu button{display:grid;width:100%;min-height:46px;grid-template-columns:minmax(0,1fr) 20px;align-items:center;gap:12px;padding:10px 12px;border:0;border-bottom:1px solid #e2e2e2;border-radius:4px;background:#fff;color:#333;font-size:13px;font-weight:700;text-align:left}.admin-filter-picker-menu button:last-child{border-bottom:0}.admin-filter-picker-menu button:hover,.admin-filter-picker-menu button:focus-visible{outline:0;background:#f1f1f1;color:#8f1019}.admin-filter-picker-menu button[aria-selected="true"]{background:#f8e9ea;color:#8f1019}.admin-filter-picker-menu button[aria-selected="true"] i:after{content:"✓";color:#a90f18;font-size:14px;font-style:normal;font-weight:900}

/* Research dialogs scroll their content while keeping actions fixed and predictable. */
#adminActionResearchDialog,#adminAiRequestDialog{overflow:hidden}
#adminActionResearchForm,#adminAiRequestForm{display:flex;max-height:88vh;padding:0;flex-direction:column;overflow:hidden}
#adminActionResearchForm>.admin-dialog-heading,#adminAiRequestForm>.admin-dialog-heading{flex:0 0 auto;margin-bottom:18px;padding:26px 26px 0}
.admin-research-dialog-scroll{min-height:0;padding:0 26px 22px;overflow-y:auto}
.admin-research-dialog-actions{position:relative;z-index:3;flex:0 0 auto;margin:0;padding:15px 26px 18px;border-top:1px solid #ccc;background:#fff;box-shadow:0 -10px 24px rgba(0,0,0,.08)}
.admin-research-dialog-actions .secondary-button,.admin-research-dialog-actions .primary-button,#adminSchoolForm .admin-dialog-actions>.secondary-button:not(.admin-archive-button),#adminSchoolForm .admin-dialog-actions>.primary-button{width:160px;min-width:160px;white-space:nowrap}

/* Remove the padded outer container around the Families account list. */
.admin-families-workspace .admin-family-layout{border-top:0;border-bottom:0;background:transparent}
.admin-families-workspace .admin-family-layout>.admin-list{padding:0;background:transparent}

@media(max-width:1000px){.admin-table-controls{grid-template-columns:1fr 1fr}.admin-table-controls .admin-search{grid-column:1/-1}}
@media(max-width:700px){.admin-table-controls{grid-template-columns:1fr}.admin-table-controls .admin-search{grid-column:auto}.admin-research-dialog-actions .secondary-button,.admin-research-dialog-actions .primary-button,#adminSchoolForm .admin-dialog-actions>.secondary-button:not(.admin-archive-button),#adminSchoolForm .admin-dialog-actions>.primary-button{width:142px;min-width:142px}}

/* Align compound heading actions and keep Events within the shared admin canvas. */
.admin-heading-actions{align-items:flex-end}
#adminFamiliesPage>.admin-page-heading .admin-heading-actions>.link-button{transform:none}
#adminActionItemsPage{width:100%;padding-right:0}
#adminActionItemsPage .admin-action-list,#adminActionItemsPage .admin-action-group,#adminActionItemsPage .admin-action-table{width:100%;min-width:0}
#adminActionItemsPage .admin-event-offering-group .admin-action-table{width:100%;margin-left:0}
#adminActionItemsPage .admin-event-offering-group>header{padding-left:14px}
#adminActionItemsPage .admin-event-date-cell{padding-left:11px!important}
#adminActionItemsPage .admin-event-date-cell:before{display:none}

/* Let every admin workspace use the same balanced left and right page gutters. */
.admin-main.admin-families-workspace{width:auto;max-width:none;min-width:0;margin:0;padding:42px 32px 72px 24px}
.admin-main:not(.admin-families-workspace) .admin-page,
.admin-families-workspace #adminFamiliesPage,
.admin-families-workspace #adminFamiliesPage>.admin-page-heading,
.admin-families-workspace #adminFamiliesPage>.admin-table-controls,
.admin-families-workspace #adminFamiliesPage>.admin-sync-notice,
.admin-families-workspace #adminFamiliesPage>.admin-result-count,
.admin-families-workspace .admin-family-layout,
.admin-families-workspace #adminFamilyInformationView{width:100%;min-width:0}
.admin-family-layout{grid-template-columns:minmax(0,1fr)}
.admin-family-layout:has(#adminFamilyDetail:not([hidden])){grid-template-columns:minmax(500px,1fr) 500px}
.admin-family-layout:has(#adminStudentDetail:not([hidden])){grid-template-columns:minmax(360px,1fr) 500px 420px}

/* Keep the Schools table inside that canvas with denser secondary-data columns. */
#adminSchoolsPage .admin-school-list{width:100%;max-width:100%;overflow-x:auto}
#adminSchoolsPage .admin-school-table{width:100%;min-width:1200px}
#adminSchoolsPage .admin-school-table-header,#adminSchoolsPage .admin-school-row{grid-template-columns:minmax(230px,1.3fr) minmax(175px,.9fr) 170px minmax(190px,1fr) 115px 180px 140px}

@media(max-width:1000px){.admin-main.admin-families-workspace{padding-right:24px}.admin-family-layout:has(#adminFamilyDetail:not([hidden])),.admin-family-layout:has(#adminStudentDetail:not([hidden])){grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){.admin-main.admin-families-workspace{width:min(100% - 24px,1200px);margin:0 auto;padding:22px 0 50px}.admin-heading-actions{align-items:center}}

/* Refine admin page actions and bring Schools into the Events table language. */
#adminFamiliesPage .admin-family-view-toggle,#adminActionItemsPage .admin-event-subnav{transform:translateY(4px)}
#adminAddSchoolButton,#adminAiRequestButton,#adminResearchActionsButton,#adminCreateUpdateButton{border:1px solid #999;background:#fff;color:#333;box-shadow:0 1px 2px rgba(0,0,0,.04)}
#adminAddSchoolButton:hover,#adminAiRequestButton:hover,#adminResearchActionsButton:hover,#adminCreateUpdateButton:hover{border-color:#d81b26;background:#fff;color:#a90f18}
#adminSchoolsPage .admin-school-table-header{min-height:44px;border-bottom:1px solid #aaa;background:#e8e8e8;color:#555;font-size:9px;font-weight:900;letter-spacing:.06em}
#adminSchoolsPage .admin-school-table-header span{display:flex;align-items:center;padding:9px 11px;border-right:1px solid #d1d1d1}
#adminSchoolsPage .admin-school-table-header span:last-child{border-right:0}
#adminSchoolsPage .admin-school-row .admin-row-actions{display:flex!important;align-items:stretch;flex-direction:column;gap:8px!important;padding:14px}
#adminSchoolsPage .admin-school-row .admin-row-actions .ui-action-secondary{width:100%;min-height:36px;padding:8px 11px;border:1px solid #aaa;border-radius:7px;background:#fff;color:#333;font-size:10px}
#adminSchoolsPage .admin-school-row .admin-row-actions .ui-action-secondary:hover{border-color:#d81b26;color:#a90f18}
#adminSchoolsPage .admin-school-row .admin-row-actions .admin-action-delete{border-color:#d6aeb3;color:#941329}
#adminSchoolsPage .admin-school-row .admin-row-actions .admin-action-delete:hover{border-color:#941329;background:#fff5f6;color:#74101d}
#adminSchoolsPage .admin-school-list{border-top:2px solid #333}
.admin-ai-update-mode{margin-bottom:14px}
.admin-ai-recommended-summary{margin:0;padding:14px 16px;border-left:4px solid #d81b26;background:#f2f2f2;color:#606060;font-size:11px;line-height:1.5}
.admin-ai-recommended-summary strong{display:block;margin-bottom:3px;color:#222;font-size:12px}
.admin-ai-recommended-summary[hidden]{display:none}
#adminAiManualControls{margin-top:18px}
#adminAiManualControls[hidden]{display:none}
.admin-ai-recommended-badge{justify-self:end;padding:5px 8px;border-radius:999px;background:#eee;color:#555;font-size:8px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}

/* Match Schools table typography to the Events table hierarchy. */
#adminSchoolsPage .admin-school-table{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
#adminSchoolsPage .admin-school-table-header{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:9px;font-weight:900;letter-spacing:.06em;line-height:1.25;text-transform:uppercase}
#adminSchoolsPage .admin-school-row{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:11px;line-height:1.4}
#adminSchoolsPage .admin-school-fact>small{margin:0 0 3px;color:#777;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:9px;font-weight:900;letter-spacing:.06em;line-height:1.25;text-transform:uppercase}
#adminSchoolsPage .admin-school-fact>span,#adminSchoolsPage .admin-school-value{font-size:11px;line-height:1.4}
#adminSchoolsPage .admin-school-row>div:first-child>strong{font-size:20px;line-height:1.15}

/* Account detail actions are simple rows instead of nested bordered cards. */
.admin-detail-heading .admin-family-email{margin:4px 0 0;color:#666;font-size:12px;overflow-wrap:anywhere}
.admin-account-control{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0;padding:16px 0;border:0;border-top:1px solid #d0d0d0;border-radius:0;background:transparent}
.admin-account-control:first-of-type{border-top:0}
.admin-account-control p{margin:4px 0 0;color:#666;font-size:11px;line-height:1.45}
.admin-account-control button{flex:0 0 138px;width:138px;min-height:40px}
.admin-account-portal-control{margin-top:4px}
.admin-account-disable-action{border-color:#aaa;color:#333}
.admin-account-disable-action:hover{border-color:#95141c;background:#fff7f8;color:#95141c}
.admin-account-delete-action{border-color:#c68d92;color:#941329}
.admin-account-delete-action:hover{border-color:#941329;background:#fff1f2;color:#74101d}
.admin-subsection+.admin-account-control{margin-top:12px}
.admin-student-row{grid-template-columns:38px minmax(140px,1fr) 64px 52px}
@media(max-width:760px){.admin-account-control{align-items:flex-start;flex-direction:column}.admin-account-control button{width:100%;flex-basis:auto}}

/* Family notification tabs and setup checklist use the portal's flat editorial system. */
.family-notification-center{width:min(460px,calc(100vw - 36px))}
.family-notification-tabs{display:flex;gap:24px;padding:0 20px;border-bottom:1px solid #c7c7c7;background:#fff}
.family-notification-tabs[hidden],.family-onboarding-checklist[hidden],.family-notification-content[hidden]{display:none}
.family-notification-tabs button{display:flex;min-height:48px;align-items:center;gap:7px;padding:2px 0 0;border:0;border-bottom:3px solid transparent;background:transparent;color:#707070;font-family:var(--family-font-ui);font-size:12px;font-weight:800}
.family-notification-tabs button:hover{color:#202020}
.family-notification-tabs button.active{border-bottom-color:#d81b26;color:#95141c}
.family-notification-tabs button>span{color:#777;font-size:10px;font-weight:850}
.family-notification-tabs button.active>span{color:#95141c}
.family-notification-tabs button>span[hidden]{display:none}
.family-onboarding-checklist{padding:20px;background:#f1f1f1}
.family-onboarding-checklist.highlighted{animation:family-checklist-arrive .35s ease-out}
.family-onboarding-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.family-onboarding-heading>div{min-width:0}
.family-onboarding-heading>div>span{display:block;color:#95141c;font-size:9px;font-weight:900;letter-spacing:.13em}
.family-onboarding-heading>div>strong{display:block;margin-top:5px;color:#222;font-family:var(--family-font-ui);font-size:18px;font-weight:800;line-height:1.25}
.family-onboarding-heading>div>p{max-width:300px;margin:6px 0 0;color:#666;font-size:11px;line-height:1.45}
.family-onboarding-progress-text{flex:0 0 auto;margin-top:1px;color:#555;font-size:10px;font-weight:800;white-space:nowrap}
.family-onboarding-progress{height:3px;margin:16px 0;background:#d2d2d2}
.family-onboarding-progress>span{display:block;width:0;height:100%;background:#d81b26;transition:width .28s ease}
.family-onboarding-checklist ol{margin:14px 0 0;padding:0;border:1px solid #c9c9c9;list-style:none;background:#fff}
.family-onboarding-checklist li{border-bottom:1px solid #d5d5d5}
.family-onboarding-checklist li:last-child{border-bottom:0}
.family-onboarding-checklist li button{display:grid;width:100%;grid-template-columns:30px minmax(0,1fr) auto;gap:12px;align-items:center;min-height:70px;padding:12px 14px;border:0;background:#fff;color:#292929;text-align:left;transition:background .16s ease}
.family-onboarding-checklist li button:hover{background:#f7f7f7}
.family-onboarding-checklist li button>span:nth-child(2)>strong,.family-onboarding-checklist li button>span:nth-child(2)>small{display:block}
.family-onboarding-checklist li button>span:nth-child(2)>strong{font-size:13px;font-weight:800;line-height:1.3}
.family-onboarding-checklist li button>span:nth-child(2)>small{margin-top:4px;color:#707070;font-size:10px;line-height:1.4}
.family-onboarding-check{display:grid;width:28px;height:28px;place-items:center;border:1px solid #777;background:#292929;color:#fff;font-size:10px;font-weight:900}
.family-onboarding-open{color:#95141c;font-size:10px;font-weight:850;white-space:nowrap}
.family-onboarding-open span{display:inline-block;margin-left:3px;transition:transform .16s ease}
.family-onboarding-checklist li button:hover .family-onboarding-open span{transform:translateX(2px)}
.family-onboarding-checklist li.complete .family-onboarding-check{border-color:#3f704b;background:#4f7d5b;color:#fff}
.family-onboarding-checklist li.complete button>span:nth-child(2)>strong{color:#42664b}
.family-onboarding-checklist li.current button{box-shadow:inset 4px 0 #d81b26;background:#fff}
.family-onboarding-checklist li.current .family-onboarding-check{border-color:#d81b26;background:#fff;color:#a90f18}
@keyframes family-checklist-arrive{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:560px){.family-onboarding-heading{display:block}.family-onboarding-progress-text{display:block;margin-top:10px}.family-onboarding-checklist{padding:17px 14px}.family-onboarding-checklist li button{grid-template-columns:30px minmax(0,1fr)}.family-onboarding-open{display:none}.family-notification-tabs{gap:20px;padding:0 16px}}

/* Student Forms is a child destination of the Student Workspace selector. */
.student-nav-group #studentNavigation{width:100%}
.student-nav-group #studentNavigation .side-link.indented-link{width:calc(100% - 58px);margin-left:58px;padding-left:14px;border-left:3px solid #666;border-radius:0 10px 10px 0}
.student-nav-group #studentNavigation .side-link.indented-link:hover,.student-nav-group #studentNavigation .side-link.indented-link.active{border-left-color:#ff9ca3}
@media(max-width:760px){.student-nav-group #studentNavigation{width:auto}.student-nav-group #studentNavigation .side-link.indented-link{width:auto;margin-left:22px;padding-left:12px}}

/* Shared section divider directly beneath family-page descriptions. */
#profilePage>.page-heading,
#studentFormsPage>.page-heading,
#schoolsPage>.page-heading,
#tasksPage>.page-heading,
#testingPage>.page-heading,
#updatesPage>.page-heading,
#recommendationsPage>.page-heading{margin-bottom:22px;padding-bottom:20px;border-bottom:2px solid #c8c8c8}
#schoolsPage .school-display-grid{padding-top:0;border-top:0}

/* Every custom submitted screen uses the same calm fade-in transition. */
.submitted-form-state{opacity:0;transform:translateY(8px);transition:opacity .36s ease,transform .36s ease}
.submitted-form-state.is-visible{opacity:1;transform:translateY(0)}
.fillout-panel.form-submission-leaving>*{opacity:0;transition:opacity .19s ease}

/* Align admin search controls with the larger custom sort/filter pickers. */
.admin-table-controls .admin-search>span{font-size:11px;font-weight:900;letter-spacing:.11em}.admin-table-controls .admin-search input{height:52px;min-height:52px;padding:12px 14px;border-color:#8f8f8f;border-radius:5px;color:#252525;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:13px;font-weight:700;line-height:1.25;box-shadow:0 2px 5px rgba(0,0,0,.06);transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.admin-table-controls .admin-search input::placeholder{color:#737373;font:inherit;font-weight:650;opacity:1}.admin-table-controls .admin-search input:hover{border-color:#555;background:#fafafa}.admin-table-controls .admin-search input:focus{border-color:#a90f18;background:#fff;box-shadow:0 0 0 3px rgba(216,27,38,.14);outline:0}

/* Make unread notification attention clear without changing open-panel content mid-view. */
.admin-notification-toggle.attention,.family-notification-toggle.attention{animation:notification-attention 1.05s ease-in-out 2}
@keyframes notification-attention{0%,100%{transform:translateY(0);box-shadow:0 8px 24px rgba(0,0,0,.2)}45%{transform:translateY(-3px) scale(1.025);border-color:#ef5360;box-shadow:0 0 0 7px rgba(216,27,38,.14),0 12px 28px rgba(0,0,0,.25)}}
@media(prefers-reduced-motion:reduce){.admin-notification-toggle.attention,.family-notification-toggle.attention{animation:none}}
