@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/438aa629764e75f3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/875ae681bfde4580-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/51251f8b9793cdb3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e857b654a2caa584-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/cc978ac5ee68c2b6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/4c9affa5bc8f420e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/438aa629764e75f3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/875ae681bfde4580-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/51251f8b9793cdb3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e857b654a2caa584-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/cc978ac5ee68c2b6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/4c9affa5bc8f420e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/438aa629764e75f3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/875ae681bfde4580-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/51251f8b9793cdb3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e857b654a2caa584-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/cc978ac5ee68c2b6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/4c9affa5bc8f420e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/438aa629764e75f3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/875ae681bfde4580-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/51251f8b9793cdb3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e857b654a2caa584-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/cc978ac5ee68c2b6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/4c9affa5bc8f420e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/438aa629764e75f3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/875ae681bfde4580-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/51251f8b9793cdb3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/e857b654a2caa584-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/cc978ac5ee68c2b6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/4c9affa5bc8f420e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Manrope Fallback;src:local("Arial");ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.00%;size-adjust:103.19%}.__className_6b03d3{font-family:Manrope,Manrope Fallback;font-style:normal}.__variable_6b03d3{--font-manrope:"Manrope","Manrope Fallback"}:root{--navy:#8E4A57;--navy-mid:#7A3C49;--navy-light:#AC6975;--navy-pale:#F8EFF1;--gold:#E4B0A2;--gold-bg:#FCF4F1;--bg:#FBF7F5;--white:#FFFFFF;--off-white:#FCF8F7;--text:#34282D;--muted:#7E6D72;--subtle:#AE9FA4;--border:#ECE3E2;--border-light:#F4ECEB;--border-focus:#AC6975;--primary-ring:rgba(142,74,87,.16);--radius:14px;--radius-sm:10px;--shadow:0 1px 2px rgba(80,40,50,.04),0 10px 28px rgba(80,40,50,.07)}.theme-direction{--navy:#3C6E73;--navy-mid:#335E62;--navy-light:#5F9197;--navy-pale:#E6F0F0;--gold:#9CC3C0;--border-focus:#5F9197;--primary-ring:rgba(60,110,115,.16)}.theme-prof{--navy:#4E7C5A;--navy-mid:#436C4E;--navy-light:#76A07F;--navy-pale:#EAF1EC;--gold:#A9CDAE;--border-focus:#76A07F;--primary-ring:rgba(78,124,90,.16)}.theme-eleve{--navy:#3E6FA0;--navy-mid:#345E88;--navy-light:#6E97BE;--navy-pale:#E8EFF6;--gold:#A8C3DE;--border-focus:#6E97BE;--primary-ring:rgba(62,111,160,.16)}.theme-admin{--navy:#46517E;--navy-mid:#3C466C;--navy-light:#737CA3;--navy-pale:#ECEDF4;--gold:#A9AED0;--border-focus:#737CA3;--primary-ring:rgba(70,81,126,.16)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-manrope),system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;font-size:15px;-webkit-font-smoothing:antialiased}header:after{content:"";display:block;height:3px;background:var(--gold)}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:var(--radius-sm);font-size:13.5px;font-weight:600;font-family:inherit;cursor:pointer;border:1px solid transparent;text-decoration:none;transition:background .12s,border-color .12s,box-shadow .12s;white-space:nowrap;line-height:1.4;letter-spacing:.01em}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:active:not(:disabled){filter:brightness(.94)}.btn-primary{background:var(--navy);color:#fff;border-color:var(--navy)}.btn-primary:hover:not(:disabled){background:var(--navy-mid);border-color:var(--navy-mid);box-shadow:0 0 0 3px var(--primary-ring)}.btn-secondary{background:var(--white);color:var(--navy);border-color:var(--border)}.btn-secondary:hover:not(:disabled){background:var(--off-white);border-color:var(--navy-light)}.btn-danger{background:#B91C1C;color:#fff;border-color:#991B1B}.btn-danger:hover:not(:disabled){background:#991B1B}.input{display:block;width:100%;min-height:42px;padding:10px 13px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:15px;font-family:inherit;color:var(--text);background:var(--white);transition:border-color .14s,box-shadow .14s;outline:none}.input:hover{border-color:var(--navy-light)}.input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--primary-ring)}.input::placeholder{color:var(--subtle)}.input:disabled{opacity:.5;cursor:not-allowed;background:var(--off-white)}select.input{cursor:pointer}textarea.input{min-height:70px;line-height:1.5}.input-error,.input.input-error{border-color:#C2566B}.input-error:focus{box-shadow:0 0 0 3px rgba(194,86,107,.15)}.form-label{display:block;margin-bottom:6px;font-size:13px;font-weight:700;color:var(--navy)}.form-help{color:var(--muted);line-height:1.45}.form-error,.form-help{margin-top:5px;font-size:12.5px}.form-error{color:#B0344A;font-weight:600}.req{color:#C2566B}.tip{position:relative;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:2px;border-radius:50%;background:var(--navy-pale);color:var(--navy);font-size:11px;font-weight:800;font-style:normal;cursor:help;vertical-align:middle;outline:none}.tip:focus-visible{box-shadow:0 0 0 3px var(--primary-ring)}.tip>.tip-bubble{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(4px);width:max-content;max-width:260px;background:var(--text);color:#fff;font-size:12.5px;font-weight:500;line-height:1.45;letter-spacing:0;text-transform:none;padding:9px 12px;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.22);opacity:0;pointer-events:none;transition:opacity .16s ease,transform .16s ease;z-index:60;white-space:normal;text-align:left}.tip>.tip-bubble:after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top:6px solid var(--text)}.tip:focus-visible>.tip-bubble,.tip:hover>.tip-bubble{opacity:1;transform:translateX(-50%) translateY(0)}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:700;letter-spacing:.02em;white-space:nowrap}.badge-green{background:#E4F3EA;color:#2F6B47;border:1px solid #bfe3cc}.badge-red{background:#FBE7E7;color:#9A3030;border:1px solid #f1c4c4}.badge-blue{background:var(--navy-pale);color:var(--navy);border:1px solid #ebd3d7}.badge-amber{background:#FBF0E4;color:#8A5A22;border:1px solid #f0dcc2}.badge-gray{background:#F3EDEC;color:#6B5A5F;border:1px solid #e5dad9}.card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--border);padding:20px}.table{width:100%;border-collapse:collapse;font-size:13.5px}.table thead tr{background:var(--navy-pale);color:var(--navy)}.table thead th{padding:11px 14px;text-align:left;font-weight:700;font-size:12px;letter-spacing:.03em;text-transform:uppercase}.table tbody tr{border-bottom:1px solid var(--border-light);transition:background .1s}.table tbody tr:hover{background:var(--off-white)}.table tbody td{padding:11px 14px;vertical-align:middle}.table tbody tr:last-child{border-bottom:none}.section-header{padding:10px 16px;background:var(--navy-pale);border-left:4px solid var(--navy);border-radius:0;margin-bottom:16px;font-weight:700;font-size:13px;color:var(--navy);text-transform:uppercase;letter-spacing:.04em}@media (max-width:800px){.dash-cols{grid-template-columns:1fr!important}}.asb-shell{display:flex;min-height:100dvh;background:var(--bg)}.asb-main{flex:1 1;min-width:0}.asb{width:248px;flex-shrink:0;position:-webkit-sticky;position:sticky;top:0;align-self:flex-start;height:100dvh;display:flex;flex-direction:column;background:var(--white);border-right:1px solid var(--border)}.asb-brand{justify-content:space-between;padding:16px 16px 14px}.asb-brand,.asb-logo{display:flex;align-items:center}.asb-logo{gap:10px;text-decoration:none}.asb-bell{width:40px;height:40px;border-radius:8px;background:transparent;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.asb-name{display:block;font-size:14px;font-weight:800;color:var(--navy);letter-spacing:-.01em}.asb-school{display:block;font-size:11.5px;color:var(--muted);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asb-burger{display:none;background:none;border:none;color:var(--navy);cursor:pointer;padding:4px}.asb-nav{flex:1 1;overflow-y:auto;padding:4px 10px 10px}.asb-group{margin-bottom:14px}.asb-gtitle{font-size:10.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--subtle);padding:6px 10px 5px}.asb-item{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:10px;font-size:13.5px;font-weight:600;color:var(--text);text-decoration:none;transition:background .12s,color .12s;position:relative}.asb-item.on,.asb-item:hover{background:var(--navy-pale);color:var(--navy)}.asb-item.on:before{content:"";position:absolute;left:-10px;top:7px;bottom:7px;width:3px;border-radius:0 3px 3px 0;background:var(--navy)}.asb-ic{display:flex;color:var(--muted)}.asb-item.on .asb-ic,.asb-item:hover .asb-ic{color:var(--navy)}.asb-logout{display:flex;align-items:center;gap:11px;margin:6px 12px 14px;padding:9px 10px;border-radius:10px;font-size:13px;font-weight:600;color:var(--muted);text-decoration:none;border:1px solid var(--border)}.asb-logout:hover{color:#B0344A;border-color:#F1C4C4;background:#FBE9E9}@media (max-width:1000px){.asb,.asb-shell{flex-direction:column}.asb{width:100%;height:auto;position:-webkit-sticky;position:sticky;top:0;z-index:40;border-right:none;border-bottom:1px solid var(--border)}.asb-burger{display:block}.asb-logout,.asb-nav{display:none}.asb.asb-open .asb-nav{display:block}.asb.asb-open .asb-logout{display:flex}.asb-school{max-width:55vw}}body,html{max-width:100%;overflow-x:hidden}@media (max-width:640px){.table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}.asb-main>main{padding-left:16px!important;padding-right:16px!important}form .input{font-size:16px}}.modal-overlay{position:fixed;inset:0;z-index:200;background:rgba(52,40,45,.45);display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px 16px;overflow-y:auto;animation:fadeIn .15s ease}.modal-panel{background:var(--white);border-radius:var(--radius);box-shadow:0 30px 80px rgba(52,40,45,.3);width:100%;max-width:600px;animation:modalIn .18s ease}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-light)}.modal-head h2{font-size:16px;font-weight:800;color:var(--navy);margin:0}.modal-close{border:none;background:none;cursor:pointer;color:var(--muted);width:32px;height:32px;border-radius:8px;font-size:20px;line-height:1;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:var(--navy-pale);color:var(--navy)}.modal-body{padding:20px}@keyframes modalIn{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(1turn)}}@media print{.no-print{display:none!important}body{font-size:12px;background:white}.card{box-shadow:none;border:1px solid #ccc}@page{margin:15mm}body{print-color-adjust:exact;-webkit-print-color-adjust:exact}}