@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-latin-400-normal-cpxAROuN.woff2)format("woff2"),url(/assets/poppins-latin-400-normal-BOb3E3N0.woff)format("woff")}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-latin-500-normal-C8OXljZJ.woff2)format("woff2"),url(/assets/poppins-latin-500-normal-DGXqpDMm.woff)format("woff")}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/poppins-latin-600-normal-zEkxB9Mr.woff2)format("woff2"),url(/assets/poppins-latin-600-normal-BJdTmd5m.woff)format("woff")}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/poppins-latin-700-normal-Qrb0O0WB.woff2)format("woff2"),url(/assets/poppins-latin-700-normal-BVuQR_eA.woff)format("woff")}:root{--navy:#0f0f4b;--navy-2:#1c1c66;--gold:#febf10;--gold-text:#a87a00;--gold-soft:#fff3c4;--ink:#1b1d2e;--muted:#5a5f73;--faint:#8a8ea3;--line:#ececf2;--line-2:#dcdde8;--soft:#f6f6fa;--err:#b42318;--ok:#17603a;--shadow:0 6px 24px #0f0f4b0f;--shadow-lift:0 12px 30px #0f0f4b1f;--max:1240px;color:var(--ink);background:var(--soft);-webkit-font-smoothing:antialiased;font-family:Poppins,system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.55}*{box-sizing:border-box}body{margin:0}img{max-width:100%;display:block}a{color:var(--navy);text-underline-offset:3px}a:hover{color:var(--gold-text)}h1,h2,h3{color:var(--navy);margin:0;line-height:1.2}h1{letter-spacing:-.01em;font-size:clamp(26px,3vw,34px);font-weight:700}h2{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;font-size:17px;font-weight:600;display:flex}.panel h2 .more-link{color:var(--gold-text);margin-left:auto;font-size:13px;font-weight:600;text-decoration:none}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:13px}.err{color:var(--err)}.pre{white-space:pre-wrap}.wrap{max-width:var(--max);margin:0 auto;padding:0 40px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--gold-text);margin:0 0 6px;font-size:12px;font-weight:600}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.btn{font:inherit;border:1px solid var(--line-2);color:var(--navy);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:6px;padding:9px 18px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.btn:hover{border-color:var(--navy);color:var(--navy)}.btn:disabled{opacity:.55;cursor:default}.btn.primary{background:var(--navy);border-color:var(--navy);color:#fff}.btn.primary:hover{background:var(--navy-2);color:#fff}.btn.gold{background:var(--gold);border-color:var(--gold);color:var(--navy)}.btn.gold:hover{filter:brightness(1.05)}.btn.big{padding:13px 26px;font-size:15px}.btn.small{padding:4px 12px;font-size:12.5px;font-weight:500}.btn.danger{color:var(--err);border-color:#f3c6c2}.btn.danger:hover{border-color:var(--err);color:var(--err)}button.link{color:var(--navy);text-underline-offset:3px;cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}button.link:hover{color:var(--gold-text)}input,select,textarea{font:inherit;color:var(--ink);background:#fff;border:1px solid #c9cbd8;border-radius:10px;padding:8px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--navy);outline:none;box-shadow:0 0 0 3px #febf1059}.signin-screen{background:linear-gradient(120deg, #0f0f4bf0 0%, #0f0f4bd1 55%, #0f0f4b8c 100%), url(/hero.webp) center / cover, var(--navy);place-items:center;min-height:100vh;padding:24px;display:grid}.signin{text-align:center;background:#fff;border-radius:20px;width:100%;max-width:420px;padding:40px 36px 34px;box-shadow:0 24px 60px #0000004d}.signin-logo{width:210px;margin:0 auto 22px}.signin h1{margin-bottom:8px;font-size:26px}.signin p{color:var(--muted);margin:0 0 22px}.signin .btn.big{justify-content:center;width:100%}.signin .fine{color:var(--faint);margin:18px 0 0;font-size:12.5px}.ms-mark{grid-template-columns:1fr 1fr;gap:1.5px;width:16px;height:16px;display:grid}.ms-mark i:first-child{background:#f25022}.ms-mark i:nth-child(2){background:#7fba00}.ms-mark i:nth-child(3){background:#00a4ef}.ms-mark i:nth-child(4){background:#ffb900}.demo-banner{background:var(--gold);color:var(--navy);text-align:center;margin:0;padding:4px;font-size:13px;font-weight:600}.app{min-height:100vh;display:flex}.side{background:var(--navy);color:#fff;z-index:40;flex-direction:column;flex:none;width:240px;height:100vh;padding:22px 14px 16px;display:flex;position:sticky;top:0;overflow-y:auto}.side-top{align-items:center;padding:2px 10px 18px;display:flex}.side-logo img{width:156px;height:auto}.menu-btn{color:#fff;cursor:pointer;background:0 0;border:0;border-radius:8px;margin-left:auto;padding:6px;display:none}.side-body{flex-direction:column;flex:1;display:flex}.side-search{margin:0 2px 10px;position:relative}.side-search svg{color:#9fa2d1;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.side-search input{color:#fff;background:#ffffff12;border:1px solid #ffffff24;border-radius:10px;width:100%;height:38px;padding:0 12px 0 36px;font-size:13.5px}.side-search input::placeholder{color:#9fa2d1}.side-search input:focus{border-color:var(--gold);box-shadow:none}.side-nav{flex-direction:column;gap:2px;display:flex}.side-nav a{color:#c9cbe6;border-radius:10px;align-items:center;gap:12px;padding:9px 12px;font-size:14.5px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.side-nav a:hover{color:#fff;background:#ffffff0f}.side-nav a.on{color:var(--gold);background:#febf1024}.side-nav .badge{background:var(--gold);color:var(--navy);border-radius:99px;margin-left:auto;padding:1px 8px;font-size:11.5px;font-weight:600}.side-group{letter-spacing:.12em;text-transform:uppercase;color:#7f82b8;margin:16px 0 4px;padding:0 12px;font-size:11px;font-weight:600}.side-foot{border-top:1px solid #ffffff1f;align-items:center;gap:10px;margin-top:auto;padding:14px 10px 0;display:flex}.side-foot .who{font-size:13px;line-height:1.3}.side-foot .who b{font-weight:600;display:block}.side-foot .who .link{color:#c9cbe6;font-size:12px}.side-foot .who .link:hover{color:var(--gold)}.avatar{background:var(--navy);width:34px;height:34px;color:var(--gold);letter-spacing:.02em;border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:600;display:inline-grid}.avatar.soft{background:var(--gold-soft);color:var(--navy)}.avatar.gold{background:var(--gold);color:var(--navy);font-weight:700}.avatar.big{border-radius:20px;width:64px;height:64px;font-size:26px;font-weight:700}.content{flex:1;min-width:0}.notice{color:#6b4e00;background:#fff8e1;border-radius:12px;margin:0 0 18px;padding:8px 14px;font-size:13px}.page-hero{padding:32px 0 0}.page-hero .wrap{flex-wrap:wrap;align-items:flex-end;gap:20px;display:flex}.page-hero .titles{flex:1;min-width:260px}.page-hero h1{font-size:clamp(26px,2.6vw,32px)}.page-hero .lead{color:var(--muted);margin:6px 0 0;font-size:15.5px}.page-hero .actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.crumb{color:var(--faint);margin:0 0 12px;font-size:13px}.crumb a{color:var(--muted);text-decoration:none}.crumb a:hover{color:var(--gold-text)}.greet{flex-wrap:wrap;align-items:flex-end;gap:24px;padding-top:34px;display:flex}.greet .titles{flex:1;min-width:300px}.greet h1{font-size:clamp(30px,3.2vw,40px);line-height:1.1}.greet .lead{color:var(--muted);margin:10px 0 0;font-size:16.5px}.deadline{background:var(--navy);color:#fff;border-radius:20px;align-items:center;gap:14px;padding:16px 20px;display:flex}.deadline b{color:var(--gold);font-size:34px;font-weight:700;line-height:1}.deadline span{font-size:13px;line-height:1.35}.dash{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:22px;display:grid}.stack{flex-direction:column;gap:22px;min-width:0;display:flex}.todo{border-bottom:1px solid #efeff4;align-items:center;gap:14px;padding:14px 0;display:flex}.todo:last-child{border-bottom:0}.todo .ico{background:var(--gold-soft);color:#6b4e00;border-radius:14px;flex:none;place-items:center;width:44px;height:44px;display:grid}.todo .ico.navy{color:var(--navy);background:#eceefa}.todo .what{flex:1;min-width:0}.todo .what b{font-weight:600;display:block}.todo .what span{color:var(--faint);font-size:13px}.todo .what span.late{color:var(--err)}.chips{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.chip{background:var(--soft);color:var(--navy);border-radius:999px;align-items:center;gap:8px;padding:6px 14px 6px 6px;font-size:13.5px;font-weight:500;text-decoration:none;transition:background .15s;display:flex}.chip:hover{background:var(--gold-soft);color:var(--navy)}.chip .avatar{width:28px;height:28px;font-size:12px}.chip.more{border:1px dashed var(--line-2);color:var(--gold-text);background:#fff;padding:6px 14px;font-weight:600}.columns{align-items:flex-end;gap:10px;height:130px;margin-top:18px;display:flex}.columns>div{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:6px;height:100%;display:flex}.columns b{color:var(--navy);font-size:14px}.columns i{border-radius:8px 8px 0 0;width:100%;min-height:2px;display:block}.col-labels{color:var(--muted);text-align:center;gap:10px;margin-top:8px;font-size:12px;display:flex}.col-labels span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.columns>div{min-width:0}.totals{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.totals b{color:var(--navy);font-size:30px;font-weight:700;line-height:1.2;display:block}.totals span{color:var(--muted);font-size:13px}.page{padding-top:24px;padding-bottom:56px}.grid{grid-template-columns:repeat(auto-fill,minmax(330px,1fr));align-items:start;gap:20px;display:grid}.panel{background:#fff;border-radius:22px;min-width:0;padding:24px 26px;box-shadow:0 10px 30px #0f0f4b0f}.panel.wide{grid-column:1/-1}.panel h2 a{text-decoration:none}.panel h2 a:hover{color:var(--gold-text)}.panel h2 .count:last-child,.panel h2>.btn:last-child{margin-left:auto}.panel .more{color:var(--gold-text);margin-top:10px;font-size:13.5px;font-weight:600;text-decoration:none;display:inline-block}.count{background:var(--soft);min-width:24px;height:22px;color:var(--muted);border-radius:99px;place-items:center;padding:0 7px;font-size:12px;font-weight:600;display:inline-grid}.empty{color:var(--faint);margin:4px 0;font-size:14px}.person{border-bottom:1px solid var(--line);align-items:flex-start;gap:12px;padding:12px 0;display:flex}.person:first-of-type{padding-top:2px}.person:last-of-type{border-bottom:0}.person .body{flex:1;min-width:0}.person .line1{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.person .line1 b{color:var(--navy);font-weight:600}.person .meta{color:var(--muted);font-size:13px}.person .meta a{color:var(--muted)}.person .meta a:hover{color:var(--gold-text)}.person .edit-btn{margin-left:auto}.stage{color:var(--navy);white-space:nowrap;background:#eceefa;border-radius:99px;align-items:center;gap:6px;padding:3px 10px;font-size:12.5px;font-weight:500;display:inline-flex}.stage:before{content:"";opacity:.7;background:currentColor;border-radius:50%;width:6px;height:6px}.stage-enrolled,.stage-accepted{color:var(--ok);background:#e3f5e8}.stage-applied,.stage-interview{color:#6b4e00;background:#fff4d1}.stage-withdrawn,.stage-not_this_year{color:var(--muted);background:#f1f1f4}.tag{background:var(--soft);color:var(--muted);border:1px solid var(--line);border-radius:99px;padding:1px 8px;font-size:11.5px;font-weight:500;display:inline-block}.tag.gold{background:var(--gold-soft);color:#6b4e00;border-color:#f5df90}.tag.warn{color:var(--err);background:#fde8e7;border-color:#f6c9c5}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;display:flex}.search{flex:1;max-width:460px;position:relative}.search input{border-radius:999px;width:100%;height:42px;padding-left:38px}.search svg{color:var(--faint);position:absolute;top:50%;left:14px;transform:translateY(-50%)}.table-card{background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 10px 30px #0f0f4b0f}table.list{border-collapse:collapse;width:100%}table.list th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--faint);border-bottom:1px solid var(--line);background:#fbfbfd;padding:12px 16px;font-size:12px;font-weight:600}table.list td{border-bottom:1px solid var(--line);vertical-align:middle;padding:12px 16px;font-size:14px}table.list tbody tr:last-child td{border-bottom:0}table.list tbody tr{cursor:pointer;transition:background .1s}table.list tbody tr:hover{background:#fafafe}table.list .fam{align-items:center;gap:12px;display:flex}table.list .fam a{font-weight:600;text-decoration:none}table.list .fam a:hover{color:var(--gold-text)}.board{scroll-snap-type:x proximity;align-items:stretch;gap:14px;min-height:calc(100vh - 220px);padding-bottom:16px;display:flex;overflow-x:auto}.column{scroll-snap-align:start;background:#eeeff6;border-radius:14px;flex:0 0 240px;padding:12px}.column.apart{background:#f3f3f6}.column h2{flex-wrap:nowrap;justify-content:space-between;margin-bottom:10px;font-size:13px}.column h2 .count{background:#fff}.card{color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:10px;margin-bottom:8px;padding:10px 12px;text-decoration:none;transition:box-shadow .15s,border-color .15s,transform .15s;display:block;box-shadow:0 1px 2px #0f0f4b0a}.card:hover{border-color:var(--gold);box-shadow:var(--shadow-lift);color:var(--ink);transform:translateY(-1px)}.card b{color:var(--navy);font-size:14px;font-weight:600;display:block}.card span{color:var(--muted);font-size:12.5px;display:block}table.bars{border-collapse:collapse;width:100%;font-size:13.5px}table.bars th{text-align:left;color:var(--muted);white-space:nowrap;width:1%;padding:5px 12px 5px 0;font-weight:400}table.bars td{padding:5px 0}.bar-fill{background:var(--navy);border-radius:0 5px 5px 0;height:10px;display:block}.bar-count{text-align:right;width:4ch;color:var(--navy);font-weight:600;padding-left:10px!important}.dash-list{margin:0;padding:0;list-style:none}.dash-list li{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:8px 0;font-size:14px;display:flex}.dash-list li:last-child{border-bottom:0}.dash-list li a{font-weight:500;text-decoration:none}.dash-list li .right{margin-left:auto}.scroll-list{max-height:330px;margin-right:-8px;padding-right:8px;overflow-y:auto}.progress{background:var(--soft);border-radius:99px;height:8px;margin:2px 0 14px;overflow:hidden}.progress span{background:var(--gold);border-radius:99px;height:100%;display:block}.stats{grid-template-columns:1fr 1fr;gap:12px;display:grid}.stats div{background:var(--soft);border-radius:12px;padding:12px 14px}.stats b{color:var(--navy);font-size:24px;line-height:1.2;display:block}.stats span{color:var(--muted);font-size:12.5px}.stats .bad b{color:var(--err)}.family-head{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.family-head .titles{flex:1;min-width:240px}.family-head h1{font-size:clamp(24px,2.4vw,30px)}.family-head .lead{color:var(--muted);margin:4px 0 0;font-size:14px}.family-head .actions{flex-wrap:wrap;gap:8px;display:flex}.family-head .stages{border-top:1px solid #efeff4;flex-wrap:wrap;flex-basis:100%;align-items:center;gap:14px;padding-top:14px;display:flex}.stage-item{align-items:center;gap:8px;font-size:13px;display:inline-flex}.family-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start;gap:22px;margin-top:22px;display:grid}.event{border-bottom:1px solid #efeff4;gap:14px;padding:14px 0;display:flex}.event:last-child{border-bottom:0}.ev-ico{width:34px;height:34px;color:var(--navy);background:#eceefa;border-radius:50%;flex:none;place-items:center;display:grid}.ev-ico.pay{color:var(--ok);background:#e3f5e8}.ev-ico.web{background:var(--gold-soft);color:#6b4e00}.ev-body{flex:1;min-width:0;font-size:14px}.ev-who{color:var(--faint);align-items:center;gap:8px;margin-bottom:2px;font-size:12.5px;display:flex}.ev-who b{color:var(--ink);font-weight:600}.facts{grid-template-columns:auto 1fr;gap:8px 16px;margin:0;font-size:14px;display:grid}.facts dt{color:var(--muted);font-size:13px}.facts dd{margin:0}.health{background:#fff6f5;border:1px solid #f6d5d2;border-radius:12px;margin-top:14px;padding:12px 14px;font-size:14px}.health b{color:var(--err);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px;font-size:12px;font-weight:600;display:block}.year-row{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 0;display:flex}.year-row:last-of-type{border-bottom:0}.year-row>b{color:var(--navy);min-width:84px}.year-row .details{color:var(--muted);flex-basis:100%;font-size:13px}.stage-select{border-radius:99px;padding:5px 30px 5px 12px;font-size:13px;font-weight:500}.note{border-bottom:1px solid var(--line);padding:14px 0}.note:last-child{border-bottom:0}.note .who-line{color:var(--faint);align-items:center;gap:8px;margin-bottom:4px;font-size:12.5px;display:flex}.note .who-line b{color:var(--ink);font-weight:600}.note .pre{font-size:14px}.new-note{flex-wrap:wrap;align-items:flex-start;gap:10px;margin-bottom:8px;display:flex}.new-note textarea{resize:vertical;flex:1;min-width:220px}.task{border-bottom:1px solid var(--line);align-items:flex-start;gap:10px;padding:10px 0;font-size:14px;display:flex}.task input{accent-color:var(--navy);margin-top:4px}.task .meta{color:var(--faint);font-size:12.5px}.task.done{color:var(--faint)}.struck{text-decoration:line-through}.new-task{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.new-task input:first-child{flex:1;min-width:170px}form.edit{border:1px solid var(--line-2);background:#fbfbfd;border-radius:14px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px 14px;margin:8px 0;padding:16px;display:grid}form.edit label{color:var(--muted);flex-direction:column;gap:4px;font-size:12.5px;font-weight:500;display:flex}form.edit label.check{color:var(--ink);flex-direction:row;grid-column:1/-1;align-items:center;gap:8px;font-size:14px;font-weight:400}form.edit label.check input{accent-color:var(--navy);width:16px;height:16px}form.edit .wide{grid-column:1/-1}form.edit input:not([type=checkbox]),form.edit select,form.edit textarea{width:100%}form.edit .actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}form.edit .actions .btn.danger{margin-left:auto}form.add{grid-template-columns:1fr 1fr 1fr auto;align-items:end;gap:10px;display:grid}form.add>*{width:100%;min-width:0}.column.drop{outline:2px dashed var(--gold);outline-offset:-2px;background:var(--gold-soft)}.card[draggable=true]{cursor:grab}.card.lifted{opacity:.45}.picker{position:relative}.picker input{width:100%}.picker ul{border:1px solid var(--line-2);box-shadow:var(--shadow);background:#fff;border-radius:12px;max-height:280px;margin:6px 0 0;padding:4px;list-style:none;overflow:auto}.picker li button{text-align:left;width:100%;font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:7px 10px;display:block}.picker li button:hover,.picker li button:focus-visible{background:var(--gold-soft)}.picker li b{color:var(--navy);font-weight:600}.panel.retired{opacity:.6}.tab-count{opacity:.7;margin-left:7px;font-size:11.5px;font-weight:600}.merge-choices{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.merge-choice{text-align:left;border:1px solid var(--line-2);cursor:pointer;font:inherit;color:inherit;background:#fff;border-radius:14px;padding:12px 14px}.merge-choice:hover{border-color:var(--gold);background:var(--gold-soft)}.fam-sum{overflow-wrap:anywhere;flex-direction:column;gap:2px;min-width:0;display:flex}.fam-sum b{color:var(--navy)}.merge-sides{grid-template-columns:1fr 1fr;gap:16px;margin-top:4px;display:grid}.merge-sides>div{border:1px solid var(--line-2);border-radius:14px;padding:12px 14px}.merge-plan{margin:6px 0 16px;padding-left:20px;font-size:14px}.merge-plan li{padding:2px 0}@media (width<=640px){.merge-sides{grid-template-columns:1fr}}.group h2 .tag{font-weight:500}.grade-counts{color:var(--muted);flex-wrap:wrap;gap:6px 16px;margin:-4px 0 14px;font-size:13.5px;display:flex}.grade-counts b{color:var(--navy)}.periods{border-top:1px solid var(--line)}.period{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:9px 0;display:flex}.period .p-num{background:var(--soft);width:26px;height:26px;color:var(--navy);border-radius:50%;flex:none;place-items:center;font-size:12.5px;font-weight:600;display:grid}.period .p-body{flex-direction:column;flex:1;min-width:0;line-height:1.35;display:flex}.period .p-body b{color:var(--navy);font-size:14px;font-weight:600}.period .p-body a{text-decoration:none}.period .p-count{color:var(--navy);text-align:right;min-width:24px;font-weight:700}.period-form{border-bottom:1px solid var(--line);padding:14px 0}.group-foot{gap:18px;margin:12px 0 0;display:flex}.kids{columns:2;column-gap:20px;margin:10px 0 0;padding:0;font-size:13.5px;list-style:none}.kids li{break-inside:avoid;padding:3px 0}.kids a{font-weight:500;text-decoration:none}.add-group{justify-self:start}.grade-board{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px;display:grid}.grade-tile{border:1px solid var(--line-2);cursor:pointer;background:#fff;border-radius:14px;flex-direction:column;gap:2px;padding:12px 12px 10px;transition:border-color .15s,background .15s;display:flex;position:relative}.grade-tile.ro{cursor:default}.grade-tile:hover:not(.ro){border-color:var(--gold)}.grade-tile.on{border-color:var(--gold);background:var(--gold-soft)}.grade-tile input{accent-color:var(--navy);margin:0;position:absolute;top:10px;right:10px}.grade-tile .g-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:600}.grade-tile b{color:var(--navy);font-size:24px;line-height:1.1}.grade-tile .g-sub{color:var(--faint);font-size:12px;line-height:1.4}table.list.teachers td{vertical-align:top}table.list.teachers td a{text-decoration:none}@media (width<=900px){.app{display:block}.side{width:auto;height:auto;padding:10px 16px;position:sticky;top:0;overflow:visible}.side-top{padding:0}.side-logo img{width:124px}.menu-btn{display:block}.side-body{padding-top:14px;display:none}.side.open .side-body{max-height:calc(100vh - 60px);display:flex;overflow-y:auto}.wrap{padding:0 16px}.greet{padding-top:22px}.dash,.family-grid{grid-template-columns:1fr}.deadline b{font-size:28px}.columns,.col-labels{gap:6px}.col-labels{font-size:10.5px}.page-hero{padding-top:22px}form.add{grid-template-columns:1fr}}@media (width<=640px){.grid{grid-template-columns:1fr}table.list thead{display:none}table.list td{border:0;padding:2px 16px;display:block}table.list tr{border-bottom:1px solid var(--line);padding:10px 0;display:block}table.list td.hide-sm{display:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
