@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#20202c;background:#f7f7fb;font-synthesis:none;--ink:#242433;--muted:#797988;--purple:#6252d8;--purple-dark:#483bb3;--line:#e9e8f0}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer}header{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 max(28px,calc((100vw - 1280px)/2));gap:72px;position:sticky;top:0;z-index:20}.logo{display:flex;align-items:center;gap:10px;font:800 21px Manrope}.logo-mark{width:34px;height:34px;border-radius:10px;background:var(--purple);display:grid;place-items:center;color:white}nav{display:flex;align-self:stretch;gap:32px}nav button{border:0;background:none;color:#747383;position:relative;padding:0 3px;font-weight:600}nav button.active{color:var(--ink)}nav button.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;border-radius:3px;background:var(--purple)}.header-actions{display:flex;align-items:center;gap:10px;margin-left:auto}.icon-btn,.mobile-menu{border:0;background:transparent;color:#6e6d7d;padding:8px}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#e8e4ff;color:var(--purple-dark);font-weight:700}.mobile-menu{display:none}main{max-width:1280px;margin:auto;padding:42px 28px 70px}.welcome{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:25px}.eyebrow{color:var(--purple);font-size:11px;font-weight:800;letter-spacing:1.6px;margin:0 0 8px}.welcome h1,.page-title h1{font:800 30px Manrope;margin:0 0 6px;letter-spacing:-.7px}.welcome h1 span{font-size:25px}.welcome>div>p:last-child,.page-title>div>p:last-child{color:var(--muted);margin:0}.child-switch{display:flex;align-items:center;background:white;border:1px solid var(--line);border-radius:12px;padding:5px 6px 5px 14px;gap:4px;box-shadow:0 3px 13px #2d25600a}.child-switch>span{font-size:12px;color:var(--muted);font-weight:600;margin-right:5px}.child-switch button{border:0;background:transparent;border-radius:8px;width:31px;height:30px;color:#737280;font-weight:700}.child-switch button.active{background:var(--purple);color:#fff}.child-switch .add{color:var(--purple)}.notice{display:flex;align-items:center;border:1px solid #e2defb;background:#f2f0ff;border-radius:12px;padding:12px 16px;margin-bottom:23px}.notice-icon{width:35px;height:35px;border-radius:9px;background:#e4dfff;color:var(--purple);display:grid;place-items:center;margin-right:12px}.notice-icon svg{width:19px}.notice div:nth-child(2){display:flex;gap:10px;align-items:center;font-size:13px}.notice span{color:#777483}.notice>button{margin-left:auto;border:0;background:none;color:#898698}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.stat{background:#fff;border:1px solid var(--line);border-radius:15px;padding:19px 19px 16px;min-height:189px;box-shadow:0 8px 24px rgba(38,32,75,.035)}.stat.accent{border-top:3px solid var(--purple);padding-top:17px}.stat-head{display:flex;justify-content:space-between;align-items:center}.mini-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center}.mini-icon svg{width:18px}.purple{background:#eeebff;color:#6552dc}.mint{background:#e7f8f1;color:#24996e}.peach{background:#fff1df;color:#d27b16}.blue-bg{background:#e8f2ff;color:#3a7fcf}.delta{font-size:10px;color:#5c50c8;background:#efedff;border-radius:20px;padding:5px 8px}.muted{color:#9a98a6;font-size:10px}.tag-soon{font-size:10px;color:#bb6b10;background:#fff0dc;border-radius:20px;padding:5px 8px}.stat>strong{display:block;font:800 31px Manrope;margin-top:16px}.stat strong em{font-style:normal;font-size:17px;color:#aaa8b3}.stat>p{font-size:13px;font-weight:600;margin:0 0 17px}.progress{height:5px;border-radius:5px;background:#eeedf4;overflow:hidden;margin-bottom:9px}.progress i{display:block;height:100%;background:var(--purple);border-radius:5px}.progress.green i{background:#36ac7a}.stat small{color:#9795a3;font-size:10px}.date-row{border-top:1px solid #f0eff4;margin-top:20px;padding-top:12px;display:flex;justify-content:space-between;font-size:10px}.date-row b{font-weight:700}.date-row span{color:#9b99a5}.two-col{display:grid;grid-template-columns:1.62fr 1fr;gap:20px}.panel{background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 8px 24px rgba(38,32,75,.035)}.panel-head{padding:20px 21px 15px;display:flex;align-items:start;justify-content:space-between}.panel-head h2{font:700 16px Manrope;margin:0 0 3px}.panel-head p{font-size:11px;color:var(--muted);margin:0}.link,.panel-head>a{border:0;background:transparent;color:var(--purple);font-size:11px;font-weight:700;text-decoration:none;display:flex;align-items:center;gap:5px}.school-list{padding:0 10px 10px}.school-row{width:100%;border:0;border-top:1px solid #f0eff3;background:#fff;display:flex;align-items:center;text-align:left;padding:14px 11px;gap:13px}.school-row:hover{background:#faf9ff;border-radius:10px}.rank{height:29px;width:29px;border-radius:8px;background:#f2f1f5;color:#888693;display:grid;place-items:center;font-size:12px;font-weight:700}.rank.top{background:#e9e5ff;color:var(--purple)}.school-info{flex:1;min-width:0}.school-info>div{display:flex;gap:5px;align-items:center}.school-info strong{font-size:13px;margin-right:4px}.pill{font-size:9px;padding:3px 7px;background:#f0eefb;color:#695ab8;border-radius:20px;white-space:nowrap}.school-info p{font-size:10px;color:#8d8b98;margin:5px 0 0;display:flex;align-items:center;gap:4px}.school-info p svg{width:11px;height:11px}.compact-score b{font:700 16px Manrope}.compact-score span{font-size:9px;color:#aaa8b2}.row-arrow{width:15px;color:#aaa8b2;margin-left:8px}.stack{display:flex;flex-direction:column;gap:15px}.counter{font-size:9px;background:#f0eefb;color:var(--purple);padding:5px 8px;border-radius:20px}.task{display:flex;align-items:center;gap:10px;border-top:1px solid #f0eff4;padding:11px 20px;min-height:55px}.task>button{border:1px solid #d9d7df;background:white;border-radius:6px;width:20px;height:20px;padding:0}.task>button.checked{background:#57b991;border-color:#57b991;color:white;display:grid;place-items:center}.task div{display:flex;flex-direction:column;gap:2px}.task strong{font-size:11px}.task span{color:#94929f;font-size:9px}.task .strike{text-decoration:line-through;color:#9896a2}.task em{margin-left:auto;font-style:normal;font-size:9px;color:#c7791d;background:#fff1dd;padding:4px 7px;border-radius:10px}.source{padding:15px 17px;display:flex;align-items:center;gap:11px}.source>svg{background:#edf7ff;color:#4380be;padding:7px;width:34px;height:34px;border-radius:9px}.source div{display:flex;flex-direction:column;flex:1}.source strong{font-size:11px}.source span{font-size:8px;color:#9694a0;margin-top:2px}.source button{border:1px solid var(--line);background:white;border-radius:7px;padding:6px 10px;font-size:9px;font-weight:600}.timeline{margin-top:20px}.timeline-track{display:grid;grid-template-columns:repeat(3,1fr);position:relative;padding:15px 25px 22px}.timeline-track:before{content:"";height:2px;background:#ebe9f3;left:65px;right:65px;top:20px;position:absolute}.milestone{position:relative;display:flex;flex-direction:column;text-align:center;align-items:center}.milestone>span{width:12px;height:12px;background:#c8c5d5;border:3px solid white;border-radius:50%;box-shadow:0 0 0 1px #c8c5d5;z-index:1}.milestone>span.current{background:var(--purple);box-shadow:0 0 0 1px var(--purple)}.milestone small{color:var(--purple);font-weight:700;font-size:9px;margin-top:10px}.milestone strong{font-size:10px;margin-top:3px}.page-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:25px}.primary{border:0;background:var(--purple);color:white;border-radius:10px;padding:11px 15px;display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700}.primary svg{width:16px}.toolbar{display:flex;gap:10px;margin-bottom:17px}.toolbar label{background:white;border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;gap:10px;padding:0 13px;flex:1}.toolbar label svg{width:17px;color:#aaa8b3}.toolbar input{border:0;outline:0;background:transparent;width:100%;padding:12px 0}.toolbar>button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 14px;display:flex;align-items:center;gap:7px;color:#777583}.toolbar>button svg{width:15px}.school-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.school-cards article{background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px;box-shadow:0 7px 25px #30285a08}.card-top{display:flex;align-items:center;gap:16px}.score-ring{--p:270deg;width:65px;height:65px;border-radius:50%;background:conic-gradient(var(--purple) var(--p),#ebeaf1 0);display:grid;place-items:center;position:relative;flex-shrink:0}.score-ring:after{content:"";position:absolute;inset:5px;border-radius:50%;background:white}.score-ring>div{z-index:1;display:flex;flex-direction:column;align-items:center}.score-ring strong{font:800 19px Manrope;line-height:19px}.score-ring span{font-size:7px;color:#9996a4}.card-top>div:nth-child(2){flex:1}.card-tags{display:flex;gap:6px}.card-tags span{font-size:8px;font-weight:700;letter-spacing:.6px;color:#777582;text-transform:uppercase}.card-tags .warn{color:#c27720}.card-top h3{font:700 16px Manrope;margin:5px 0 3px}.card-top p{font-size:10px;color:#8d8b97;margin:0;display:flex;align-items:center;gap:3px}.card-top p svg{width:11px}.card-top>button{border:0;background:none;color:#9c99a5}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;border-top:1px solid #f0eff3;border-bottom:1px solid #f0eff3;padding:16px 0;margin:17px 0 13px}.metrics>div{display:flex;flex-direction:column}.metrics span{font-size:8px;color:#9795a1}.metrics b{font:700 14px Manrope;margin:2px 0 4px}.metrics i{height:3px;background:#eeedf2;border-radius:5px;overflow:hidden}.metrics em{height:100%;display:block;background:#7a6ade}.card-bottom{display:flex;justify-content:space-between;align-items:center}.card-bottom>div{display:flex;gap:5px}.card-bottom small{font-size:8px;color:#9d9ba6}.application-table{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden}.table-head,.app-row{display:grid;grid-template-columns:2fr 1fr 1.2fr 1fr;align-items:center;padding:12px 20px;gap:15px}.table-head{font-size:9px;text-transform:uppercase;letter-spacing:.8px;color:#9997a4;background:#faf9fc}.app-row{border-top:1px solid var(--line);min-height:72px;font-size:11px}.app-row>div{display:flex;gap:10px;align-items:center}.app-row>div>div:last-child{display:flex;flex-direction:column}.app-row strong{font-size:12px}.app-row small{color:#9896a1;margin-top:3px}.school-badge{width:35px;height:35px;border-radius:9px;background:#eeebff;color:var(--purple);display:grid!important;place-items:center;font-weight:800}.app-row select{border:0;border-radius:20px;padding:6px 10px;font-size:10px;font-weight:600;width:max-content}.app-row select.blue{background:#eaf2ff;color:#3c6eaf}.app-row select.amber{background:#fff1df;color:#ae6816}.app-row select.violet{background:#eeebff;color:#5e4fc2}.app-row select.green{background:#e8f8f0;color:#23845f}.app-row select.gray{background:#f0eff3;color:#777581}.app-row time{color:#8c8a96}.guardrail{margin-top:18px;border:1px solid #e1ddfb;background:#f3f1ff;border-radius:12px;padding:16px;display:flex;gap:12px;color:#6757cc}.guardrail svg{width:20px;flex-shrink:0}.guardrail strong{font-size:12px}.guardrail p{color:#777483;font-size:11px;margin:3px 0}.event-list{display:flex;flex-direction:column;gap:10px}.event-list article{background:#fff;border:1px solid var(--line);border-radius:13px;padding:15px 18px;display:flex;align-items:center;gap:17px}.event-date{width:49px;height:53px;background:#fff1df;color:#ad6717;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center}.event-date.open-house{background:#e9f3ff;color:#3978ba}.event-date.decision{background:#eeebff;color:#6453c8}.event-date b{font:800 18px Manrope;line-height:18px}.event-date span{font-size:9px;text-transform:uppercase}.event-list article>div:nth-child(2){flex:1}.event-type{font-size:8px;color:#8d8a98;letter-spacing:1px;font-weight:700}.event-list h3{font:700 14px Manrope;margin:3px 0}.event-list p{font-size:10px;color:#918f9b;margin:0}.event-list a{font-size:10px;color:var(--purple);text-decoration:none;display:flex;align-items:center;gap:4px}.event-list a svg{width:13px}.overlay{position:fixed;inset:0;background:#22202d66;z-index:50;display:flex;justify-content:flex-end}.drawer{height:100%;width:min(480px,100%);background:#fff;overflow:auto;box-shadow:-20px 0 50px #17142126;position:relative;animation:slide .25s ease-out}@keyframes slide{from{transform:translateX(100%)}}.drawer-close{position:absolute;right:17px;top:17px;border:0;background:#ffffffc9;border-radius:50%;width:35px;height:35px;display:grid;place-items:center;z-index:1}.drawer-close svg{width:18px}.drawer-hero{padding:48px 32px 27px;background:linear-gradient(145deg,#f2efff,#faf9ff)}.drawer-hero .score-ring{float:right;margin-left:10px}.drawer-hero h2{font:800 25px Manrope;margin:4px 0}.drawer-hero>p:last-child{display:flex;gap:5px;align-items:center;color:#777483;font-size:12px}.drawer-hero>p svg{width:14px}.drawer-body{padding:26px 32px}.drawer-body h3{font:700 14px Manrope;margin:0 0 7px}.drawer-body>p{font-size:12px;color:#777483;line-height:1.6}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0 25px}.detail-grid>div{background:#f8f7fb;border-radius:10px;padding:11px;display:flex;flex-direction:column}.detail-grid span{font-size:9px;color:#918e9c}.detail-grid strong{font-size:11px;margin-top:3px}.pill.large{display:inline-block;margin:0 5px 5px 0;font-size:10px;padding:5px 9px}.data-note{display:flex;gap:10px;background:#fff8e9;border:1px solid #f5e8ca;border-radius:10px;padding:12px;margin:20px 0}.data-note svg{width:18px;color:#b47825;flex-shrink:0}.data-note p{margin:0;font-size:10px;color:#7d7567;line-height:1.5}.full{justify-content:center;text-decoration:none}
@media(max-width:900px){header{gap:30px}nav{gap:14px}.stat-grid{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.school-cards{grid-template-columns:1fr}}
@media(max-width:650px){header{height:62px;padding:0 18px}nav,.header-actions .icon-btn{display:none}.header-actions{margin-left:auto}.mobile-menu{display:block}.mobile-nav{position:fixed;top:62px;left:0;right:0;z-index:30;background:white;display:grid;padding:10px;border-bottom:1px solid var(--line)}.mobile-nav button{border:0;background:white;padding:12px;text-align:left}main{padding:28px 16px}.welcome{align-items:start}.welcome h1{font-size:25px}.child-switch>span{display:none}.notice div:nth-child(2){display:block}.notice span{display:block;font-size:11px;margin-top:2px}.stat-grid{grid-template-columns:1fr 1fr;gap:10px}.stat{min-height:175px;padding:15px}.stat>strong{font-size:27px}.school-info .pill{display:none}.timeline{display:none}.page-title{align-items:start}.page-title>.primary{display:none}.school-cards{grid-template-columns:1fr}.metrics{gap:7px}.application-table{overflow:auto}.table-head,.app-row{grid-template-columns:190px 100px 150px 110px;min-width:600px}.toolbar>button{font-size:0}.timeline-track{grid-template-columns:1fr}.event-list article{padding:12px}.drawer-body{padding:22px}.drawer-hero{padding:45px 22px 22px}}
#school-dialog{border:0;padding:0;margin:0 0 0 auto;width:min(480px,100%);height:100%;max-height:none;box-shadow:-20px 0 50px #17142126;animation:slide .25s ease-out}#school-dialog::backdrop{background:#22202d66}.dialog-close{position:absolute;z-index:3;right:17px;top:17px;width:35px;height:35px;border:0;border-radius:50%;background:#ffffffdd;font-size:22px;color:#555;display:grid;place-items:center}
.boot-fallback{max-width:900px;margin:35px auto;background:#fff;border:1px solid var(--line);border-radius:16px;padding:32px;box-shadow:0 8px 24px rgba(38,32,75,.04)}.boot-fallback h1{font:800 30px Manrope;margin:0 0 8px}.boot-fallback>p:not(.eyebrow){color:var(--muted)}.boot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}.boot-grid article{background:#f7f6fb;border-radius:12px;padding:18px;display:flex;flex-direction:column}.boot-grid strong{font:800 22px Manrope}.boot-grid span{font-size:11px;color:var(--muted);margin-top:4px}.noscript{padding:12px;background:#fff1df;color:#8c570f;text-align:center}@media(max-width:650px){.boot-grid{grid-template-columns:1fr}}
.notice-warn{border-color:#f3dcb8;background:#fff6e8}.notice-warn .notice-icon{background:#ffe6c2;color:#b9681a}.notice span{white-space:normal}
.empty-state{padding:26px 24px}.empty-state h2{font:700 18px Manrope;margin:0 0 10px}.empty-state p{color:var(--muted);font-size:13px}.empty-state pre{background:#f4f3f8;border-radius:10px;padding:14px;font-size:12px;overflow:auto}.empty-state code,.kv code{background:#f1f0f6;border-radius:5px;padding:1px 5px;font-size:11px;word-break:break-all}
.empty-row{padding:18px;color:var(--muted);font-size:12px;margin:0}
.toolbar .muted{margin-left:auto;font-size:11px}
.school-info p a,.app-row small a{color:var(--purple);text-decoration:none;font-weight:700}
.sources-table{margin-bottom:20px;overflow:hidden}.src-head,.src-row{display:grid;grid-template-columns:1.6fr .8fr 2fr .9fr;gap:14px;padding:12px 20px;align-items:center;font-size:12px}.src-head{color:#9694a2;font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase}.src-row{border-top:1px solid var(--line)}.src-row small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.src-row small a{color:var(--purple);text-decoration:none}.src-detail{color:#5f5e6b;word-break:break-word}.src-row time{color:var(--muted);font-size:11px}
.status{display:inline-block;font-size:10px;font-weight:700;padding:4px 9px;border-radius:20px;white-space:nowrap}.st-ok{background:#e4f6ec;color:#22854f}.st-empty,.st-needs_key{background:#fff1df;color:#ae6816}.st-blocked,.st-error{background:#fde7e7;color:#b83a3a}.st-manual{background:#eeebff;color:#5e4fc2}.st-missing{background:#f0eff3;color:#777581}
.kv{padding:0 20px 18px;display:grid;gap:8px;font-size:12px}.kv>div{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #f0eff3;padding-top:8px}.kv span{color:#5f5e6b}.kv b{font-family:Manrope}
table.breakdown{width:100%;border-collapse:collapse;font-size:12px;margin:8px 0 18px}table.breakdown th{text-align:left;font-size:9px;color:#918e9c;font-weight:700;letter-spacing:.6px;text-transform:uppercase;padding:0 0 6px}table.breakdown td{padding:7px 0;border-top:1px solid #f0eff3}table.breakdown td:nth-child(n+2){text-align:right;font-family:Manrope;font-weight:700}
.drawer-body .muted{font-size:11px;color:var(--muted)}
.header-actions a.icon-btn{text-decoration:none;font-size:18px}
@media(max-width:900px){.src-head{display:none}.src-row{grid-template-columns:1fr;gap:6px}}
