@font-face{font-family:__Manrope_468833;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_468833;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/875ae681bfde4580-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Manrope_468833;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_468833;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_468833;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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Manrope_468833;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_468833;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_468833;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/875ae681bfde4580-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Manrope_468833;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_468833;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_468833;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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Manrope_468833;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_468833;src:local("Arial");ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.00%;size-adjust:103.19%}.__className_468833{font-family:__Manrope_468833,__Manrope_Fallback_468833;font-style:normal}.__variable_468833{--font-display:"__Manrope_468833","__Manrope_Fallback_468833"}@font-face{font-family:__Inter_ce203d;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:__Inter_ce203d;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_ce203d;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_ce203d;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-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:__Inter_ce203d;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:__Inter_ce203d;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Inter_ce203d;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:__Inter_ce203d;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:__Inter_ce203d;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_ce203d;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_ce203d;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-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:__Inter_ce203d;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:__Inter_ce203d;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Inter_ce203d;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:__Inter_ce203d;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:__Inter_ce203d;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_ce203d;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_ce203d;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-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:__Inter_ce203d;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:__Inter_ce203d;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Inter_ce203d;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:__Inter_Fallback_ce203d;src:local("Arial");ascent-override:90.49%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:107.06%}.__className_ce203d{font-family:__Inter_ce203d,__Inter_Fallback_ce203d;font-style:normal}.__variable_ce203d{--font-body:"__Inter_ce203d","__Inter_Fallback_ce203d"}:root{--bg:#f6f3ec;--surface:#fff;--surface-2:#fbf9f4;--border:#e7e0d1;--text:#1b1812;--text-muted:#837c6c;--accent:#4a3ff0;--accent-hover:#3c32c9;--accent-soft:#edecfd;--success:#1f8a4c;--success-soft:#e6f4ea;--warning:#a6690a;--warning-soft:#faf0dc;--danger:#b3392b;--danger-soft:#fbeae7;--radius-lg:18px;--radius-md:12px;--radius-sm:8px;--shadow-card:0 1px 2px rgba(27,24,18,.04),0 8px 24px -18px rgba(27,24,18,.35);color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#171510;--surface:#211e18;--surface-2:#2a261e;--border:#3a352a;--text:#f3efe6;--text-muted:#a89f8c;--accent:#6f63ff;--accent-hover:#8579ff;--accent-soft:#2a2666;--success:#4fbb7d;--success-soft:#163524;--warning:#dba94a;--warning-soft:#3a2c11;--danger:#e2695a;--danger-soft:#3a1c17;--shadow-card:0 1px 2px rgba(0,0,0,.3),0 8px 24px -18px rgba(0,0,0,.6);color-scheme:dark}}:root[data-theme=dark]{--bg:#171510;--surface:#211e18;--surface-2:#2a261e;--border:#3a352a;--text:#f3efe6;--text-muted:#a89f8c;--accent:#6f63ff;--accent-hover:#8579ff;--accent-soft:#2a2666;--success:#4fbb7d;--success-soft:#163524;--warning:#dba94a;--warning-soft:#3a2c11;--danger:#e2695a;--danger-soft:#3a1c17;--shadow-card:0 1px 2px rgba(0,0,0,.3),0 8px 24px -18px rgba(0,0,0,.6);color-scheme:dark}*{box-sizing:border-box}body,html{padding:0;margin:0}body{background:var(--bg);font-family:var(--font-body,system-ui),sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}body,h1,h2,h3{color:var(--text)}h1,h2,h3{font-family:var(--font-display,system-ui),sans-serif;font-weight:800;letter-spacing:-.01em;margin:0 0 4px}h1{font-size:26px}h2{font-size:17px;margin-top:28px;margin-bottom:12px}p{color:var(--text)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.muted{color:var(--text-muted)}.page{max-width:980px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:24px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:14px;gap:14px;margin:18px 0 28px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:20px 22px}.stat-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:10px}.stat-value{font-family:var(--font-display,system-ui),sans-serif;font-weight:800;font-size:30px;letter-spacing:-.01em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--text-muted)}input,select,textarea{font:inherit;font-size:15px;font-weight:400;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;width:100%}input[type=checkbox]{width:auto}label.checkbox-row{flex-direction:row;align-items:center;gap:8px;font-weight:500;color:var(--text)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}label:has(>input:required):after,label:has(>select:required):after,label:has(>textarea:required):after{content:" *";color:var(--danger)}input:user-invalid,select:user-invalid,textarea:user-invalid{border-color:var(--danger)}.field-hint{margin:-4px 0 0}.field-hint,.field-or{font-size:12px;color:var(--text-muted)}.field-or{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.field-or:after,.field-or:before{content:"";flex:1 1;height:1px;background:var(--border)}.upload-pending{color:var(--text-muted)}.upload-success{color:var(--success);font-weight:600}.upload-error{color:var(--danger);font-weight:600}.btn,button{font:inherit;font-weight:700;font-size:14px;color:#fff;background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-sm);padding:10px 18px;cursor:pointer;display:inline-block;text-decoration:none;transition:background-color .12s ease,opacity .12s ease}.btn:hover,button:hover{background:var(--accent-hover);border-color:var(--accent-hover);text-decoration:none}button:disabled{opacity:.55;cursor:default}.btn-danger,button.btn-danger{background:transparent;color:var(--danger);border:1px solid var(--danger-soft)}button.btn-danger:hover{background:var(--danger-soft)}table{border-collapse:collapse;width:100%}.table-card,table{background:var(--surface)}.table-card{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow-x:auto}.table-card table{border:none;box-shadow:none}th{text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:14px 16px}td,th{border-bottom:1px solid var(--border)}td{padding:13px 16px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}tr:last-child td{border-bottom:none}tbody tr:hover td{background:var(--surface-2)}.pill{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;white-space:nowrap}.pill-success{background:var(--success-soft);color:var(--success)}.pill-warning{background:var(--warning-soft);color:var(--warning)}.pill-danger{background:var(--danger-soft);color:var(--danger)}.pill-neutral{background:var(--surface-2);color:var(--text-muted);border:1px solid var(--border)}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:32px}.auth-card,.auth-card form{display:flex;flex-direction:column;gap:14px}.auth-brand{font-family:var(--font-display,system-ui),sans-serif;font-weight:800;font-size:15px;color:var(--text-muted);letter-spacing:.02em}.app-shell{display:flex;min-height:100vh}.app-sidebar{width:232px;flex-shrink:0;background:#1b1812;color:#f4f1e8;padding:22px 18px;display:flex;flex-direction:column}.app-brand{font-family:var(--font-display,system-ui),sans-serif;font-weight:800;font-size:18px;color:#fff;margin-bottom:26px}.app-nav{display:flex;flex-direction:column;gap:3px;flex:1 1}.app-nav a{color:#cfc9b8;padding:9px 10px;border-radius:var(--radius-sm);font-size:14px;font-weight:500}.app-nav a:hover{background:hsla(0,0%,100%,.08);color:#fff;text-decoration:none}.app-signout{color:#e3a79a!important;padding:9px 10px;font-size:14px;margin-top:14px}.theme-toggle{display:flex;gap:2px;background:hsla(0,0%,100%,.06);border-radius:var(--radius-sm);padding:3px;margin-top:14px}.theme-toggle button{flex:1 1;background:transparent;border:none;color:#cfc9b8;font-size:11px;font-weight:600;padding:6px 4px;border-radius:calc(var(--radius-sm) - 3px);cursor:pointer}.theme-toggle button:hover{background:hsla(0,0%,100%,.08);color:#fff}.theme-toggle button.theme-toggle-active{background:hsla(0,0%,100%,.16);color:#fff}.app-main{flex:1 1;padding:36px 40px;max-width:1080px}@media (max-width:720px){.app-shell{flex-direction:column}.app-sidebar{width:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:14px;padding:14px 18px}.app-brand{margin-bottom:0}.app-nav{flex-direction:row;flex-wrap:wrap;flex:0 0 auto;gap:4px}.theme-toggle{margin-top:0}.app-signout{margin-top:0;margin-left:auto}.app-main{padding:24px 16px}}.year-group+.year-group{margin-top:22px}.year-group-summary{cursor:pointer;display:flex;align-items:baseline;gap:12px;font-family:var(--font-display,system-ui),sans-serif;font-weight:800;font-size:20px;letter-spacing:-.01em;color:var(--text);padding:4px 0}.year-group-meta{font-family:var(--font-body,system-ui),sans-serif;font-weight:500;font-size:13px;color:var(--text-muted)}