@font-face{font-family:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-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:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.p.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:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-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:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-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:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.p.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:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-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:Fraunces;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-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:Fraunces;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.p.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:Fraunces;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-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:Fraunces Fallback;src:local("Times New Roman");ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.00%;size-adjust:115.45%}.__className_5994bd{font-family:Fraunces,Fraunces Fallback;font-style:normal}.__variable_5994bd{--font-display:"Fraunces","Fraunces Fallback"}@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.p.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.p.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.p.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.p.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 Fallback;src:local("Arial");ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.00%;size-adjust:103.19%}.__className_a5ca84{font-family:Manrope,Manrope Fallback;font-style:normal}.__variable_a5ca84{--font-sans:"Manrope","Manrope Fallback"}:root{--navy:#0b1f4a;--navy-deep:#061433;--orange:#f36f21;--orange-hover:#ff7f35;--bg:#f4f6fb;--surface:#ffffff;--border:#d5dced;--text:#0b1f4a;--text-muted:#5a6b8a;--danger:#d64545;--success:#2f9e6f;--radius:14px;--shadow:0 12px 36px rgba(11,31,74,0.1)}*{box-sizing:border-box;margin:0;padding:0}body,html{min-height:100vh;background:#f3e4d6;color:var(--text);font-family:var(--font-sans),"Manrope",sans-serif;line-height:1.55}body{background-image:linear-gradient(rgba(255,248,242,.18),rgba(255,244,236,.16)),url(/bg-frame.jpg);background-size:cover;background-position:50%;background-repeat:no-repeat;background-attachment:fixed}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell,.page-shell{min-height:100vh}.app-shell{background:#f36f21}.container{width:min(720px,calc(100% - 32px));margin:0 auto;padding:48px 0 72px}.landing{display:grid;grid-gap:22px;gap:22px}.hero{text-align:center}.landing-shell .hero-brand .brand-logo{width:236px;height:236px}.landing-shell .hero-brand .brand-wordmark{font-size:1.62rem}.landing-shell .hero-brand .brand-mark{gap:0}.landing-shell .hero-brand .brand-titles{margin-top:-22px}.auth-lead,.hero-lead,.hint,.muted{color:var(--text-muted)}.hero-lead{margin-top:16px;font-size:1.05rem;max-width:34rem;margin-left:auto;margin-right:auto}.landing-shell .container{padding-top:18px}.landing-shell{position:relative;min-height:100vh;min-height:100dvh;background:#ffffff;border:6px solid var(--navy);box-shadow:inset 0 0 0 4px var(--orange),inset 0 0 0 10px var(--navy),inset 0 0 0 14px var(--orange)}.landing-signup{position:fixed;top:28px;right:28px;left:unset;z-index:20;width:auto;padding:6px 12px;font-size:.85rem;border-radius:8px}.landing-logins{display:grid;grid-gap:12px;gap:12px;width:min(400px,100%);margin:0 auto}.landing-door-btn{width:100%;padding:14px 18px;font-size:1.05rem}.landing-door-open{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.landing-door-title{display:block;width:100%;margin-bottom:14px;padding:0;border:0;background:none;color:var(--navy);font-family:var(--font-display),Georgia,serif;font-size:1.15rem;font-weight:700;text-align:left;cursor:pointer}.landing-door-open .btn.btn-primary{width:100%}@media (max-width:640px){.landing-signup{top:26px;right:26px}}.brand-logo-link,.brand-mark{display:inline-flex}.brand-mark{flex-direction:column;align-items:center;gap:.4rem}.brand-logo{display:block;width:auto;height:auto;max-width:100%;object-fit:contain;background:transparent}.brand-titles{display:flex;flex-direction:column;align-items:center}.brand-wordmark{font-family:var(--font-display),Georgia,serif;font-weight:700;font-style:italic;letter-spacing:.12em;color:var(--navy);text-transform:uppercase;line-height:1.2}.brand-tagline{font-size:.72em;letter-spacing:.18em;color:var(--orange)}.landing-shell .hero-brand .brand-tagline{-webkit-text-stroke:1px #000;paint-order:stroke fill;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000}.brand-center{display:flex;justify-content:center;margin-bottom:12px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.auth-card{width:min(440px,100%);margin:0 auto}.auth-title,.card h1,.card h2{font-family:var(--font-display),Georgia,serif;margin-bottom:8px}.auth-foot{margin-top:16px}.auth-foot a,.back-link{color:var(--orange);font-weight:600}.back-link{display:inline-block;margin-bottom:12px}.form-group,.stack-form,label{display:grid;grid-gap:6px;gap:6px}.form-group,.stack-form>label{margin-bottom:14px}input,select,textarea{width:100%;border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:#fff;color:var(--text)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:10px;padding:10px 16px;font-weight:600;cursor:pointer}.btn:disabled{opacity:.65;cursor:wait}.btn-primary{background:var(--orange);color:#fff;width:100%}.card .btn-primary{width:auto}.btn-secondary{background:var(--navy);color:#fff}.btn-ghost{background:transparent;color:var(--navy)}.teacher-row{flex-direction:column;align-items:stretch}.teacher-row-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.signup-meta{margin-top:4px;color:var(--text-muted);font-size:.92rem}.password-change{margin-top:14px;align-items:flex-end}.btn-ghost.danger,.danger,.form-error{color:var(--danger)}.form-error{margin:8px 0}.hint{margin-top:12px;font-size:.92rem}code{background:#eef1f8;padding:1px 6px;border-radius:6px}.app-header{background:#fff;border-bottom:1px solid var(--border)}.app-header-inner,.app-header-meta,.app-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.app-header-inner{width:min(1100px,calc(100% - 32px));margin:0 auto;padding:12px 0}.app-header .brand-logo-link,.app-header .brand-mark{flex-direction:row;align-items:center;gap:0}.app-header .brand-logo{width:52px;height:52px;margin-right:-10px;flex-shrink:0}.app-header .brand-titles{align-items:flex-start;gap:2px;margin-left:0;text-align:left}.app-header .brand-wordmark{display:block;line-height:1.25}.app-user-name{font-weight:700}.app-user-role{color:var(--text-muted);font-size:.88rem}.app-toolbar{width:min(1100px,calc(100% - 32px));margin:0 auto;padding:16px 0 0;flex-wrap:wrap}.tab-nav{display:flex;flex-wrap:wrap;gap:8px}.tab-link{padding:8px 12px;border-radius:999px;background:#fff;border:3px solid var(--navy);font-weight:600;font-size:.92rem}.tab-link.active{background:var(--navy);border-color:var(--navy);color:#fff}.toolbar-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-left:auto}.year-badge{font-weight:700;font-size:.9rem;color:var(--navy)}.year-actions{margin:12px 0 4px}.class-switch{display:flex;align-items:center;gap:8px;font-weight:600}.class-switch select{width:auto;min-width:140px}.app-main{width:min(1100px,calc(100% - 32px));margin:0 auto;padding:20px 0 64px}.stack{display:grid;grid-gap:16px;gap:16px}.grid-form,.inline-form,.row-between,.score-grid,.stat-row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}.grid-form label,.grow,.score-grid label{flex:1 1;min-width:160px}.attendance-list,.eval-list,.gap-list,.student-list,.wrong-list{list-style:none;margin-top:14px;display:grid;grid-gap:8px;gap:8px}.attendance-list li,.eval-list li,.student-list li,.wrong-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;background:#f7f9fd;border-radius:10px}.empty,.page-status{color:var(--text-muted);padding:24px 0}.segmented{display:flex;gap:8px}.segmented button{border:1px solid var(--border);background:#fff;border-radius:999px;padding:8px 14px;font-weight:600;cursor:pointer}.segmented button.active{background:var(--orange);border-color:var(--orange);color:#fff}.chip-row,.status-pills{display:flex;flex-wrap:wrap;gap:6px}.chip,.pill{border:1px solid var(--border);background:#fff;border-radius:999px;padding:6px 10px;cursor:pointer;font-size:.88rem}.chip.active,.pill.active.present{background:var(--success);border-color:var(--success);color:#fff}.pill.active.absent{background:var(--danger);border-color:var(--danger);color:#fff}.pill.active.leave{background:var(--navy);border-color:var(--navy);color:#fff}.fee-month-bar{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 4px}.fee-month-bar .pill.active{background:var(--navy);border-color:var(--navy);color:#fff}.stat{background:#f7f9fd;border-radius:12px;padding:12px 16px;min-width:140px}.stat strong{display:block;font-size:1.5rem}.table-wrap{overflow-x:auto;margin-top:12px}.fee-list-layout{display:flex;align-items:flex-start;gap:16px}.fee-list-layout .table-wrap{flex:1 1;min-width:0;margin-top:12px}.fee-summary{flex:0 0 200px;margin-top:12px;border:1px solid var(--border);border-radius:12px;background:#f7f9fd;overflow:hidden}.fee-summary-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border-bottom:1px solid var(--border)}.fee-summary-row:last-child{border-bottom:0}.fee-summary-row span{font-weight:700}.fee-summary-row strong{font-size:1.05rem;white-space:nowrap}@media (max-width:720px){.fee-list-layout{flex-direction:column}.fee-summary{flex-basis:auto;width:100%}}.paid-cell{width:1%;white-space:nowrap}.paid-check{display:flex;align-items:center;gap:8px}.paid-check input{width:auto}.teacher-assign{width:auto;min-width:180px}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:10px 8px;border-bottom:1px solid var(--border)}.gap-list li{background:#f7f9fd;border-radius:10px}.gap-list label{display:flex;align-items:center;gap:10px;grid-template-columns:none;padding:10px 12px}.gap-list li.done span{color:var(--text-muted)}.gap-admin-row{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:10px 12px}.status-note{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;background:rgba(47,158,111,.14);color:var(--success);font-size:.78rem;font-weight:700;letter-spacing:.02em;text-decoration:none}.check-inline{display:flex;align-items:center;gap:8px;margin-top:12px}.check-inline input{width:auto}.label-strong{font-weight:700;margin:12px 0 8px}.section-heading{font-family:var(--font-display),Georgia,serif;font-size:1.2rem}.exam-student-list{list-style:none;display:grid;grid-gap:8px;gap:8px;margin-top:12px}.exam-student-item{background:#f7f9fd;border:1px solid var(--border);border-radius:12px;overflow:hidden}.student-list li.exam-student-item{display:flex;flex-direction:column;align-items:stretch;padding:0;gap:0}.exam-student-head{display:flex;align-items:center;gap:8px}.exam-student-head .exam-student-toggle{flex:1 1;min-width:0}.exam-student-head>span{flex-shrink:0;padding-right:12px}.exam-student-item.open{background:#fff}.exam-student-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;background:transparent;border:0;text-align:left;cursor:pointer;color:var(--navy);font-family:inherit}.exam-student-name{font-weight:700;font-size:1rem}.exam-student-meta{display:flex;align-items:center;gap:10px;flex-shrink:0}.exam-chevron{color:var(--orange);font-size:1.1rem;line-height:1}.fee-edit-row td{background:#f7f9fd;padding-top:8px;padding-bottom:12px}.fee-edit-row .inline-form{margin-top:0}.fee-row-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:32px;padding:4px 6px;background:transparent;border:0;cursor:pointer;color:inherit}.exam-student-body{padding:0 16px 16px;border-top:1px solid var(--border)}.exam-student-body .fee-summary{width:100%;margin-top:12px}.exam-grid{display:grid;grid-gap:14px;gap:14px;margin:12px 0 16px}.exam-subject{background:#f7f9fd;border-radius:12px;padding:12px}.exam-subject .label-strong{margin-top:0}.exam-table td,.exam-table th{white-space:nowrap}.name-search,.search{margin-top:12px}.name-search{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.name-search input{flex:1 1;min-width:180px}.date-field{font-weight:600}@media (max-width:720px){.app-header .brand-wordmark{font-size:.82rem}.attendance-list li,.eval-list li{flex-direction:column;align-items:stretch}.btn-primary{width:100%}}