@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap";:root{--accent:#087c78;--accent-bright:#13a39d;--background:#f4f5f1;--display:"Manrope", system-ui, sans-serif;--ink:#14292e;--line:#14292e21;--muted:#65767a;--surface:#ffffffd1;--surface-solid:#fff;--surface-soft:#e9efeb;--shadow:0 22px 70px #1932361a;background:var(--background);color:var(--ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;font-family:DM Sans,system-ui,sans-serif}:root[data-theme=dark]{--accent:#5bd4c9;--accent-bright:#7be8df;--background:#081316;--ink:#eef8f6;--line:#d3ede924;--muted:#9dafb1;--surface:#102226e0;--surface-solid:#102226;--surface-soft:#162d31;--shadow:0 26px 80px #00000057;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{background:var(--background);scrollbar-gutter:stable;transition:background-color .25s,color .25s}body{min-width:320px;min-height:100vh;margin:0}:is(html:has(.teacher-modal-backdrop),body:has(.teacher-modal-backdrop)){overscroll-behavior:none;overflow:hidden}button,input,select,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}.shell{background:var(--background);color:var(--ink);min-height:100vh;padding:0 7vw 48px;transition:background-color .25s,color .25s;position:relative;overflow:hidden}.shell:before{content:"";z-index:-1;background:radial-gradient(circle,#1a5b672e,#0000 68%);width:560px;height:560px;position:absolute;top:-220px;right:-180px}.topbar{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:20px 0;display:flex}.topbar-actions{align-items:center;gap:9px;margin-left:auto;display:flex}.quiet-button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;margin-left:auto;padding:10px 16px}.topbar-actions .quiet-button{margin-left:0}.theme-button{background:var(--surface);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:9px 13px;font-size:12px;font-weight:700;transition:transform .18s,background .18s;display:inline-flex}.theme-button:hover{background:var(--surface-solid);transform:translateY(-1px)}.theme-button span{color:var(--accent);margin:0;font-size:16px;line-height:1}.topbar-actions .theme-button-label{color:inherit;margin:0;font-size:12px}.brand-mark{color:#f4fffd;font-family:var(--display);letter-spacing:.08em;background:#15353b;border:1px solid #ffffff1a;border-radius:12px;justify-content:center;align-items:center;width:46px;height:46px;font-size:18px;display:flex}.topbar strong,.topbar span{display:block}.topbar span{color:var(--muted);margin-top:2px;font-size:13px}.hero{max-width:880px;padding:92px 0 62px}.hero.compact{padding-bottom:46px}.hero.mini{padding:62px 0 42px}.eyebrow{color:var(--accent);letter-spacing:.18em;font-size:12px;font-weight:800}h1{font-family:var(--display);letter-spacing:-.045em;margin:18px 0 26px;font-size:clamp(46px,7vw,86px);line-height:.98}.lead{color:var(--muted);max-width:760px;font-size:clamp(17px,2vw,22px);line-height:1.55}.status-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:52px;display:grid}.status-grid article{border:1px solid var(--line);background:#ffffffb8;border-radius:18px;align-items:center;gap:14px;padding:20px;display:flex}.status-grid h2{margin:0 0 4px;font-size:15px}.status-grid p{color:var(--muted);margin:0;font-size:13px}.dot{border-radius:99px;width:10px;height:10px}.dot.good{background:#2d9a6a;box-shadow:0 0 0 6px #2d9a6a1f}.dot.bad{background:#c75c4b;box-shadow:0 0 0 6px #c75c4b1f}.dot.waiting{background:#d3a83b;box-shadow:0 0 0 6px #d3a83b1f}.dot.neutral{background:#849095;box-shadow:0 0 0 6px #8490951f}.rule-proof{background:var(--ink);color:#fff;border-radius:24px;grid-template-columns:1.3fr 1fr;align-items:center;gap:36px;margin-bottom:52px;padding:34px;display:grid}.rule-proof .eyebrow{color:#8bd1c6;margin-top:0}.rule-proof h2{font-family:var(--display);margin:12px 0 0;font-size:clamp(24px,3vw,38px);line-height:1.15}.rule-result{background:#ffffff14;border:1px solid #ffffff21;border-radius:18px;flex-direction:column;padding:24px;display:flex}.rule-result span{color:#b7c5c7;font-size:13px}.rule-result strong{color:#ffd2c9;font-family:var(--display);margin:7px 0;font-size:21px}.rule-result small{color:#a8b6b9;line-height:1.45}.small-proof{margin-top:52px}.access-panel,.student-form,.student-list{border:1px solid var(--line);background:#ffffffb8;border-radius:24px;padding:30px}.access-panel{grid-template-columns:1fr minmax(280px,420px);align-items:end;gap:48px;margin-bottom:52px;display:grid}.access-panel h2,.student-form h2,.student-list h2{font-family:var(--display);margin:8px 0 12px;font-size:28px}.access-panel p{color:var(--muted);line-height:1.55}form{gap:16px;display:grid}label{color:var(--muted);gap:7px;font-size:13px;font-weight:700;display:grid}input{background:var(--surface-solid);border:1px solid var(--line);color:var(--ink);border-radius:10px;outline:none;min-width:0;padding:12px 13px}input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #1a65711f}form button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:10px;padding:13px 18px;font-weight:700}form button:disabled{cursor:wait;opacity:.55}.form-error{margin:0;color:#a33b32!important}.form-message{color:var(--accent);margin:0;font-size:14px}.portal-tabs{border:1px solid var(--line);background:#ffffff9e;border-radius:16px;grid-template-columns:repeat(4,1fr);margin-bottom:16px;padding:5px;display:grid}.portal-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:11px;padding:13px;font-weight:700}.portal-tabs button.active{background:var(--ink);color:#fff}.login-panel{margin-bottom:72px}.login-shell:before{background:radial-gradient(circle,#13a39d38,#0000 66%);width:760px;height:760px;top:-300px;right:-210px}.login-shell:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle,#eea95c17,#0000 68%);width:620px;height:620px;position:absolute;bottom:-340px;left:-270px}.login-shell>*{z-index:1;position:relative}.login-experience{grid-template-columns:minmax(0,1.1fr) minmax(400px,.7fr);align-items:center;gap:clamp(48px,7vw,110px);max-width:1480px;min-height:calc(100vh - 150px);margin:0 auto;padding:64px 0 78px;display:grid}.login-intro{max-width:780px}.login-intro h1{margin-bottom:28px;font-size:clamp(52px,6.3vw,92px)}.login-intro h1 span{color:var(--accent)}.login-intro .lead{max-width:650px}.login-highlights{flex-wrap:wrap;gap:12px 24px;margin-top:38px;display:flex}.login-highlights span{color:var(--muted);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.login-highlights i{background:#36aa7a;border-radius:99px;width:7px;height:7px;box-shadow:0 0 0 5px #36aa7a1f}.login-card{-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:28px;padding:clamp(25px,3vw,38px)}.login-card-heading{align-items:center;gap:15px;display:flex}.login-card-heading .eyebrow{margin:0 0 4px}.login-card-heading h2{font-family:var(--display);letter-spacing:-.035em;margin:0;font-size:28px}.portal-symbol{color:#f4fffd;font-family:var(--display);background:#15353b;border-radius:14px;flex:none;justify-content:center;align-items:center;width:48px;height:48px;font-size:18px;display:flex}.login-card .portal-tabs{background:var(--surface-soft);grid-template-columns:repeat(4,minmax(0,1fr));margin:25px 0 9px}.login-card .portal-tabs button{flex-direction:column;align-items:center;gap:5px;min-width:0;padding:10px 4px;font-size:10px;display:flex}.login-card .portal-tabs button span{border:1px solid var(--line);border-radius:7px;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;display:flex}.login-card .portal-tabs button.active{background:var(--ink);color:var(--background);box-shadow:0 7px 16px #071a1e2e}.login-card .portal-tabs button.active span{border-color:#ffffff38}.portal-description{color:var(--muted);text-align:center;margin:0 3px 22px;font-size:12px}.modern-login-form{gap:14px}.modern-login-form>p{color:var(--muted);margin:0 0 4px;font-size:13px;line-height:1.5}.modern-login-form label{color:var(--ink);font-size:12px}.modern-login-form input{border-radius:12px;padding:14px 15px;font-size:14px}.modern-login-form input::placeholder{color:var(--muted);opacity:.72}.brand-mark img,.portal-symbol.unified img{object-fit:contain;width:34px;height:34px}.password-field{align-items:center;display:flex;position:relative}.password-field input{width:100%;padding-right:84px}.password-field button{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:8px;font-size:12px;font-weight:800;position:absolute;right:8px}.password-field button:hover{text-decoration:underline}.modern-login-form .remember-teacher{align-items:center;gap:9px;font-size:12px;line-height:1.3;display:flex}.remember-teacher input{accent-color:var(--accent);flex:none;width:16px;height:16px;margin:0}.remember-teacher small{color:var(--muted);font-size:11px}.modern-login-form>button:not(.login-link){background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:12px;justify-content:space-between;align-items:center;margin-top:6px;padding:14px 16px;font-weight:800;transition:filter .18s,transform .18s;display:flex}.modern-login-form>button:not(.login-link):hover{filter:brightness(1.08);transform:translateY(-1px)}.modern-login-form>button:disabled{cursor:wait;opacity:.62}.login-link{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:4px;font-size:12px;font-weight:700}.pre-enrollment-link{border:1px solid var(--line);color:var(--accent);text-align:center;border-radius:10px;margin-top:10px;padding:10px;font-size:12px;font-weight:800;text-decoration:none;display:block}.portal-symbol.unified{background:linear-gradient(145deg,var(--ink),color-mix(in srgb,var(--ink) 72%,var(--accent)));color:var(--background)}.unified-description{background:color-mix(in srgb,var(--accent) 7%,var(--surface-soft));border:1px solid color-mix(in srgb,var(--accent) 20%,var(--line));border-radius:12px;padding:11px 12px;line-height:1.45}.public-pre-page{max-width:1180px;margin:0 auto;padding:24px 0 60px}.public-pre-nav{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:8px 0 18px;display:flex}.public-pre-nav>a:first-child{background:var(--accent);color:#fff;border-radius:10px;justify-content:center;align-items:center;width:48px;height:42px;font-weight:900;text-decoration:none;display:flex}.public-pre-nav>span{font-family:var(--display);margin-right:auto;font-weight:850}.public-pre-nav .quiet-button{text-decoration:none}.public-pre-card{background:var(--surface-solid);border:1px solid var(--line);border-radius:22px;margin-top:30px;padding:clamp(20px,4vw,38px)}.public-pre-heading{text-align:center}.public-pre-heading h1{font-family:var(--display);margin:6px 0;font-size:clamp(32px,5vw,48px)}.public-pre-heading p:last-child{color:var(--muted)}.public-pre-form{gap:18px;margin-top:28px;display:grid}.public-form-grid{border:1px solid var(--line);border-radius:16px;grid-template-columns:1fr 1fr;gap:15px;padding:20px;display:grid}.public-form-grid label{color:var(--muted);text-transform:uppercase;gap:7px;font-size:11px;font-weight:850;display:grid}.public-form-grid input,.public-form-grid select{background:var(--input);border:1px solid var(--line);color:var(--ink);font:inherit;border-radius:9px;padding:12px}.public-form-grid .wide{grid-column:1/-1}.pre-honeypot{position:absolute;left:-10000px;overflow:hidden;width:1px!important;height:0!important}.required-docs{background:var(--surface-soft);border:1px solid var(--line);border-radius:14px;padding:18px}.required-docs h2{margin:0 0 9px;font-size:15px}.required-docs ul{color:var(--muted);margin:0 0 8px;padding-left:20px;font-size:12px;line-height:1.7}.required-docs small{color:var(--muted)}.public-submit{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:11px;width:100%;padding:15px;font-weight:900}.public-submit:disabled{cursor:wait;opacity:.55}.pre-closed{background:var(--surface-soft);border:1px solid var(--line);text-align:center;border-radius:16px;margin-top:28px;padding:30px}.pre-closed p{color:var(--muted)}.public-notice{z-index:1800;border:1px solid;border-radius:11px;justify-content:space-between;align-items:center;width:calc(100% - 28px);max-width:900px;padding:13px 15px;font-weight:750;display:flex;position:fixed;top:12px;left:50%;transform:translate(-50%)}.public-notice.success{color:#dffdf7;background:#133633;border-color:#2c8f82}.public-notice.error{color:#ffe8ed;background:#421f29;border-color:#d95b70}.public-notice button{color:inherit;cursor:pointer;background:0 0;border:0;font-size:20px}@media (width<=650px){.public-pre-page{padding-top:10px}.public-form-grid{grid-template-columns:1fr}.public-form-grid .wide{grid-column:auto}.public-pre-nav>span{display:none}}.login-help{border-top:1px solid var(--line);color:var(--muted);text-align:center;margin:23px 0 0;padding-top:17px;font-size:11px}.student-hero{padding:72px 0 52px}.student-hero h1{margin-bottom:16px;font-size:clamp(42px,6vw,72px)}.student-hero p{color:var(--muted)}.identity-card{color:#f7fffd;background:linear-gradient(145deg,#183d43,#102c31);border:1px solid #ffffff14;border-radius:22px;min-width:230px;padding:26px;display:grid;box-shadow:0 18px 45px #06191d2e}.identity-card span,.identity-card small{color:#a9c7c7}.identity-card strong{font-family:var(--display);margin:5px 0 12px;font-size:30px}.section-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;margin-bottom:20px;padding-bottom:18px;display:flex}.section-heading h2,.history-grid h2,.empty-panel h2{font-family:var(--display);margin:7px 0 0;font-size:28px}.section-heading>span{color:var(--muted)}.course-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.course-card{border:1px solid var(--line);background:#ffffffc2;border-radius:20px;padding:23px}.course-card header{justify-content:space-between;display:flex}.course-card header span{color:var(--accent);font-size:12px;font-weight:800}.course-card header b{color:var(--muted);font-size:12px}.course-card h3{font-family:var(--display);margin:20px 0 5px;font-size:20px}.course-card>p,.course-card>small{color:var(--muted);font-size:13px}.attendance-line{align-items:baseline;gap:8px;margin-top:22px;display:flex}.attendance-line strong{font-family:var(--display);font-size:30px}.attendance-line span{color:var(--muted);font-size:12px}.progress{background:#e1e3df;border-radius:99px;height:7px;margin:8px 0;overflow:hidden}.progress i{background:var(--accent);border-radius:inherit;height:100%;display:block}.schedule{border-top:1px solid var(--line);margin-top:18px;padding-top:14px;font-size:13px;font-weight:700}.schedule small{color:var(--muted);margin-top:4px;font-size:11px;font-weight:400;display:block}.student-data-panel{background:var(--surface);border:1px solid var(--line);border-radius:22px;margin-top:42px;overflow:hidden;box-shadow:0 14px 42px #122c300d}.student-data-panel>header{justify-content:space-between;align-items:end;gap:28px;padding:27px 29px 21px;display:flex}.student-data-panel>header .eyebrow{margin:0}.student-data-panel h2{font-family:var(--display);margin:7px 0 0;font-size:27px}.panel-caption{color:var(--muted);text-align:right;font-size:12px}.student-table-wrap{scrollbar-color:var(--accent) transparent;overflow-x:auto}.student-data-panel table{border-collapse:collapse;width:100%;min-width:760px}.student-data-panel th,.student-data-panel td{border-right:1px solid var(--line);border-top:1px solid var(--line);padding:14px 13px}.student-data-panel tr>:last-child{border-right:0}.student-data-panel thead th{background:var(--surface-soft);color:var(--muted);letter-spacing:.07em;text-align:center;text-transform:uppercase;font-size:11px;font-weight:800}.student-data-panel thead th:first-child{text-align:left}.student-data-panel tbody th{color:var(--muted);text-align:left;white-space:nowrap;font-size:12px;font-weight:700}.student-data-panel tbody td{vertical-align:top;min-width:126px}.table-empty{color:var(--muted);text-align:center;padding:28px!important}.schedule-table tbody th{text-align:center;width:120px}.schedule-table thead th:first-child{text-align:center}.schedule-block{background:#38bdf81a;border-left:3px solid #38bdf8;border-radius:7px;gap:3px;min-height:76px;padding:11px;display:grid}.schedule-block+.schedule-block{margin-top:7px}.schedule-block b{color:#1685ad;font-size:13px}.schedule-block span,.schedule-block small{color:var(--muted);font-size:10px}.schedule-block.green{background:#34d3991a;border-left-color:#34d399}.schedule-block.green b{color:#16875f}.schedule-block.violet{background:#a78bfa1a;border-left-color:#a78bfa}.schedule-block.violet b{color:#7659c7}.schedule-block.amber{background:#fbbf241a;border-left-color:#fbbf24}.schedule-block.amber b{color:#a66d00}.schedule-block.rose{background:#f871711a;border-left-color:#f87171}.schedule-block.rose b{color:#bd4949}.schedule-block.cyan{background:#22d3ee1a;border-left-color:#22d3ee}.schedule-block.cyan b{color:#098299}.grades-table tbody th{min-width:220px}.grades-table tbody th b,.grades-table tbody th small{display:block}.grades-table tbody th b{color:var(--ink);font-size:13px}.grades-table tbody th small{margin-top:4px;font-size:10px;font-weight:500}.grades-table tbody td{text-align:center;vertical-align:middle;min-width:70px;font-size:13px}.grades-table tbody td:last-child{min-width:125px}.standing-pill{background:var(--surface-soft);border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:800;display:inline-block}.standing-pill.standing-regular,.standing-pill.standing-passedcourse{color:#17835e;background:#34d3991f;border-color:#34d39940}.standing-pill.standing-freebyattendance,.standing-pill.standing-freebygrades,.standing-pill.standing-failedcourse{color:#b64040;background:#f871711f;border-color:#f8717140}.student-data-panel>footer{border-top:1px solid var(--line);text-transform:none;flex-wrap:wrap;gap:16px 25px;margin:0;padding:15px 29px;display:flex}.student-data-panel>footer span{color:var(--muted);letter-spacing:0;font-size:10px}.student-data-panel>footer b{color:var(--accent)}.history-grid{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px;display:grid}.history-grid>div,.empty-panel{border:1px solid var(--line);background:#ffffffa8;border-radius:22px;padding:28px}.history-grid>div{scrollbar-color:var(--accent) transparent;scrollbar-gutter:stable;height:360px;overflow-y:auto}.history-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:15px 0;display:flex}.history-row span,.history-row small,.notice span{display:block}.history-row small,.notice span{color:var(--muted);margin-top:4px;font-size:12px}.history-row strong{color:var(--accent);font-size:13px}.notice{background:#e7f1ed;border-radius:12px;margin-top:14px;padding:14px}.grade-notice{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 0;display:flex}.grade-notice span,.grade-notice small{display:block}.grade-notice small{color:var(--muted);margin-top:4px;font-size:12px}.grade-notice strong{color:var(--accent);font-family:var(--display)}.future-note{border-top:1px solid var(--line);color:var(--muted);margin-top:18px;padding-top:18px;font-size:13px}.empty-panel{margin:72px 0}.empty{color:var(--muted)}.status-strip{border-top:1px solid var(--line);align-items:center;gap:12px;margin-top:52px;padding:22px 0;display:flex}.status-strip small{color:var(--muted);margin-left:auto}.teacher-shell.legacy-look{--legacy-accent:#e04b52;--legacy-blue:#38bdf8;--legacy-border:#94a3b833;--legacy-muted:#a9b5c7;color:#f8fafc;background:radial-gradient(circle at 85% 5%,#e04b5224,#0000 30%),#101722;border-radius:26px;min-height:620px;margin:44px 0 0;padding:28px}.legacy-nav{border-bottom:1px solid var(--legacy-border);justify-content:space-between;align-items:center;padding:0 0 20px;display:flex}.legacy-nav strong{font-size:20px}.legacy-nav strong span,.teacher-header span{color:var(--legacy-accent)}.legacy-nav>span{color:var(--legacy-muted);font-size:13px}.legacy-nav button,.view-title button,.date-control button{border:1px solid var(--legacy-border);color:#fff;cursor:pointer;background:0 0;border-radius:8px;padding:9px 13px}.legacy-card{border:1px solid var(--legacy-border);background:#17202ff0;border-radius:16px;margin-top:20px;padding:24px;box-shadow:0 18px 48px #0000004d}.legacy-card h2,.legacy-card h3,.teacher-header h2{margin-top:0}.legacy-card p,.teacher-header p{color:var(--legacy-muted)}.subject-selector{max-width:570px;margin:70px auto}.subject-selector label,.legacy-card label{color:#dbe4ef;margin-top:16px}.legacy-card input,.legacy-card select,.legacy-card textarea{border-color:var(--legacy-border);color:#fff;background:#0e1520;width:100%}.legacy-card textarea{resize:vertical;min-height:100px;padding:12px}.legacy-primary{color:#fff;cursor:pointer;border-radius:9px;padding:12px 18px;font-weight:800;background:linear-gradient(135deg, var(--legacy-accent), #9f2d38)!important;border:1px solid #ffffff1f!important}.legacy-primary.block{width:100%;margin-top:24px}.legacy-primary:disabled{opacity:.45}.teacher-header{justify-content:space-between;align-items:end;padding:36px 4px 10px;display:flex}.teacher-header h2{margin-bottom:7px;font-size:28px}.teacher-header p{margin:0}.management{grid-template-columns:160px 1fr;align-items:start;gap:24px;display:grid}.management h3{margin:11px 0;font-size:22px}.action-groups{grid-template-columns:1.2fr 1.2fr .8fr;gap:10px;display:grid}.action-group{border:1px solid var(--legacy-border);background:#0f172ab8;border-radius:12px;padding:8px}.action-group>span{color:var(--legacy-muted);letter-spacing:.08em;text-transform:uppercase;padding:2px 6px 8px;font-size:11px;font-weight:800;display:block}.action-group>div{flex-wrap:wrap;gap:7px;display:flex}.action-group button{background:linear-gradient(135deg, var(--legacy-accent), #9f2d38);color:#fff;cursor:pointer;border:0;border-radius:8px;flex:1;min-height:42px;padding:8px 10px;font-size:12px;font-weight:800}.action-group button.blue-action{background:var(--legacy-blue);color:#08111a}.teacher-message{color:#bae6fd;background:#38bdf81f;border:1px solid #38bdf84d;border-radius:10px;margin-top:16px;padding:13px 16px}.roster-top,.view-title{justify-content:space-between;align-items:center;display:flex}.roster-top>div:first-child{display:grid}.roster-top small{color:var(--legacy-accent);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:800}.roster-top strong{margin-top:5px;font-size:20px}.date-control{align-items:end;gap:8px;display:flex}.date-control label{margin:0}.date-control input{padding:8px}.legacy-table-wrap{overflow-x:auto}.legacy-look table{border-collapse:collapse;width:100%;min-width:720px}.legacy-look th{color:#b8c4d5;letter-spacing:.04em;text-align:left;text-transform:uppercase;background:#0d141f;padding:13px 12px;font-size:12px}.legacy-look td{border-top:1px solid var(--legacy-border);padding:14px 12px}.legacy-look td small{color:var(--legacy-muted);margin-top:4px;display:block}.attendance-buttons{gap:6px;display:flex}.attendance-buttons button{border:1px solid var(--legacy-border);color:#dbe4ef;cursor:pointer;background:#222e3f;border-radius:8px;width:38px;height:38px;font-weight:800}.attendance-buttons button.selected.Present{background:#239164}.attendance-buttons button.selected.Absent{background:#c9434b}.attendance-buttons button.selected.Late{background:#c88b27}.attendance-buttons button.selected.ExcusedAbsence{background:#307bb8}.save-sheet{margin:20px 0 0 auto;display:block}.history-class,.assessment-row{border-top:1px solid var(--legacy-border);grid-template-columns:1fr auto;align-items:center;gap:8px;padding:16px 2px;display:grid}.history-class span,.assessment-row strong{color:#cbd5e1}.history-class small,.assessment-row small{color:var(--legacy-muted);grid-column:1/-1;margin-top:3px;display:block}.two-panel{grid-template-columns:1fr 1fr;gap:28px;display:grid}.two-panel form{border:1px solid var(--legacy-border);background:#111a27;border-radius:12px;padding:18px}.assessment-picker{max-width:560px}.grade-input{max-width:110px}.legacy-empty{color:var(--legacy-muted);text-align:center;padding:20px 0}.metric-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.metric-grid article{background:var(--ink);color:#fff;border-radius:16px;padding:20px}.metric-grid strong,.metric-grid span{display:block}.metric-grid strong{font-family:var(--display);font-size:28px}.metric-grid span{color:#b7c5c7;margin-top:5px;font-size:12px}.admin-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.admin-workspace{padding-top:22px}.admin-hero{grid-template-columns:1fr auto;align-items:end;gap:36px;padding:50px 0 34px;display:grid}.admin-hero h1{margin-bottom:16px;font-size:clamp(42px,6vw,72px)}.admin-cycle-mark{color:#fff;background:linear-gradient(145deg,#11252a,#183c43);border-radius:22px;min-width:230px;padding:25px;display:grid}.admin-cycle-mark span,.admin-cycle-mark small{color:#a9c2c5;font-size:12px}.admin-cycle-mark strong{font-family:var(--display);margin:4px 0 10px;font-size:34px}.admin-tabs{border:1px solid var(--line);background:#ffffffb8;border-radius:15px;gap:5px;margin-bottom:20px;padding:5px;display:flex;overflow-x:auto}.admin-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;flex:1;min-width:max-content;padding:12px 16px;font-weight:750}.admin-tabs button.active{background:var(--ink);color:#fff}.admin-message{color:#18584f;background:#e4f1ed;border:1px solid #bbd8d0;border-radius:12px;margin:0 0 18px;padding:13px 16px}.admin-columns,.admin-overview{grid-template-columns:1fr 1fr;gap:18px;display:grid}.admin-card{border:1px solid var(--line);background:#ffffffc7;border-radius:20px;padding:24px}.admin-card h2{font-family:var(--display);margin:7px 0 8px;font-size:24px}.admin-card>div>small{color:var(--muted);line-height:1.45;display:block}.admin-form{align-content:start}.admin-form .form-grid{margin-top:8px}.admin-form select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;width:100%;min-width:0;padding:12px 13px}.admin-form button{margin-top:4px}.admin-command{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:22px;display:grid}.admin-hub-heading{padding:34px 0 22px}.admin-hub-heading h1{margin:7px 0 8px;font-size:clamp(34px,5vw,54px)}.admin-hub-heading p:last-child{color:var(--muted);margin:0}.admin-command-main,.admin-create-card{background:var(--surface-solid);border:1px solid var(--line);border-radius:22px;padding:26px}.admin-command h2{font-family:var(--display);margin:7px 0 18px;font-size:25px}.admin-command h3{margin:23px 0 12px;font-size:17px}.pre-status{background:var(--surface-soft);border-radius:12px;justify-content:space-between;align-items:center;padding:14px;display:flex}.pre-status span{font-weight:800}.pre-status button{color:#0e9871;cursor:pointer;background:#10b9811f;border:1px solid #10b981;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:850}.pre-status.closed button{color:#e25565;background:#e255651a;border-color:#e25565}.pre-status button:disabled{cursor:wait;opacity:.65}.command-search{color:var(--muted);text-transform:uppercase;gap:7px;margin-top:18px;font-size:11px;font-weight:800;display:grid}.command-search input,.calendar-search,.directory-toolbar input{background:var(--surface-soft);border:1px solid var(--line);color:var(--ink);font:inherit;border-radius:10px;width:100%;padding:13px}.quick-results{background:var(--surface-solid);border:1px solid var(--line);z-index:6;border-radius:12px;width:min(480px,100vw - 70px);margin-top:5px;position:absolute;overflow:hidden;box-shadow:0 16px 35px #00000026}.quick-results button{border:0;border-bottom:1px solid var(--line);color:var(--ink);cursor:pointer;text-align:left;background:0 0;width:100%;padding:11px 14px;display:grid}.quick-results span{color:var(--muted);font-size:11px}.admin-launch-grid{grid-template-columns:1fr 1fr;gap:9px;display:grid}.admin-launch{background:var(--surface-soft);border:1px solid var(--line);color:var(--ink);cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:11px;min-height:64px;padding:11px;display:flex;position:relative}.admin-launch:hover{border-color:var(--accent);transform:translateY(-1px)}.admin-launch i{background:color-mix(in srgb,var(--accent) 13%,transparent);border:1px solid color-mix(in srgb,var(--accent) 55%,var(--line));color:var(--accent);border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;font-size:10px;font-style:normal;font-weight:900;display:flex}.admin-launch span,.admin-launch small{display:block}.admin-launch small{color:var(--muted);margin-top:3px;font-size:10px}.admin-launch em{color:#231b04;background:#f5b91d;border-radius:999px;padding:3px 7px;font-size:10px;font-style:normal;font-weight:900;position:absolute;top:7px;right:8px}.admin-group-label{color:var(--muted);letter-spacing:.08em;margin:22px 0 9px;font-size:10px;font-weight:900}.admin-launch-special{grid-template-columns:1fr}.backup-status-card{border:1px solid var(--line);border-radius:13px;grid-template-columns:1fr auto;gap:12px;margin-top:17px;padding:14px;display:grid}.backup-status-card>div:first-child{gap:4px;display:grid}.backup-status-card small{color:var(--muted)}.backup-enabled{color:#35dda9;border:1px solid #20c997;border-radius:999px;align-self:start;padding:5px 9px;font-size:10px;font-weight:900}.backup-status-card dl{border-top:1px solid var(--line);grid-column:1/-1;grid-template-columns:repeat(3,1fr);gap:8px;margin:0;padding-top:11px;display:grid}.backup-status-card dl div{gap:3px;display:grid}.backup-status-card dt{color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:800}.backup-status-card dd{margin:0;font-size:12px;font-weight:750}.create-tabs{border-bottom:1px solid var(--line);gap:6px;margin-bottom:20px;display:flex}.create-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 14px;font-weight:800}.create-tabs button.active{border-color:var(--accent);color:var(--accent)}.admin-create-card>p{color:var(--muted);margin:-9px 0 18px;font-size:13px}.hub-form{gap:13px;display:grid}.hub-form label,.export-center label{color:var(--muted);text-transform:uppercase;gap:6px;font-size:11px;font-weight:800;display:grid}.hub-form input,.hub-form select,.hub-form textarea,.export-center input,.export-center select,.cycle-warning input{background:var(--surface-soft);border:1px solid var(--line);color:var(--ink);font:inherit;border-radius:10px;padding:12px}.hub-form textarea{resize:vertical;min-height:120px}.hub-form button,.export-center footer button,.cycle-warning button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:10px;padding:13px;font-weight:850}.two{grid-template-columns:1fr 1fr;gap:10px;display:grid}.admin-counts{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px;display:grid}.admin-counts article{background:var(--surface-solid);border:1px solid var(--line);text-align:center;border-radius:16px;padding:18px;display:grid}.admin-counts strong{color:var(--accent);font-family:var(--display);font-size:30px}.admin-counts span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:800}.admin-modal.wide{max-width:1080px}.admin-toast{z-index:1500}.directory-toolbar{grid-template-columns:auto 1fr;align-items:end;gap:18px;display:grid}.directory-toolbar .create-tabs{margin:0}.directory-table{border:1px solid var(--line);border-radius:14px;max-height:520px;margin-top:17px;overflow:auto}.directory-head,.directory-table>button{grid-template-columns:1.2fr .6fr 1.2fr 1fr;align-items:center;gap:12px;padding:13px 16px;display:grid}.directory-head{background:var(--surface-soft);color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:850}.directory-table>button{border:0;border-top:1px solid var(--line);color:var(--ink);cursor:pointer;text-align:left;background:0 0;width:100%}.directory-table>button:hover{background:color-mix(in srgb,var(--accent) 7%,transparent)}.directory-table small,.directory-table span{color:var(--muted);font-size:12px}.export-center>p,.muted-copy{color:var(--muted);font-size:13px}.export-center .form-grid{grid-template-columns:1fr 1fr;gap:13px;display:grid}.export-center .form-grid>label:first-child{grid-column:1/-1}.export-center footer{border-top:1px solid var(--line);justify-content:flex-end;margin-top:22px;padding-top:18px;display:flex}.export-center label small{font-size:9px;font-weight:700}.export-filter-block{border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line));border-radius:12px;grid-column:1/-1;grid-template-columns:1fr 1fr;gap:12px;padding:13px;display:grid}.cascade-subject-select{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.cascade-subject-select label{color:var(--muted);text-transform:uppercase;gap:5px;font-size:10px;font-weight:800;display:grid}.cascade-subject-select select{background:var(--surface-solid);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));box-shadow:0 2px 0 color-mix(in srgb,var(--accent) 10%,transparent);color:var(--ink);border-radius:9px;width:100%;min-width:0;padding:11px}.cascade-subject-select select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent);outline:none}.cascade-subject-select select:disabled{cursor:not-allowed;opacity:.55}.cascade-subject-select>small{color:var(--muted);grid-column:1/-1}.teacher-onboarding-assignments{background:color-mix(in srgb,var(--accent) 4%,var(--surface-soft));border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:12px;gap:11px;padding:13px;display:grid}.teacher-onboarding-assignments>div:first-child{gap:3px;display:grid}.teacher-onboarding-assignments small{color:var(--muted)}.assignment-chips{flex-wrap:wrap;gap:7px;display:flex}.assignment-chips>span{background:color-mix(in srgb,var(--accent) 11%,var(--surface-solid));border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:9px;align-items:center;gap:8px;padding:7px 8px;font-size:12px;display:flex}.assignment-chips>span button{color:#ef7b86;background:0 0;border:1px solid #ef5262;border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;padding:0;display:flex}.hub-form .secondary-add{border:1px solid var(--accent);color:var(--accent);background:0 0}.pre-summary{grid-template-columns:repeat(3,1fr) auto;gap:9px;display:grid}.pre-summary button{background:var(--surface-soft);border:1px solid var(--line);color:var(--ink);cursor:pointer;text-align:left;border-radius:11px;padding:12px;display:grid}.pre-summary b{color:var(--accent);font-size:23px}.pre-summary .pending{background:#f5b91d29;border-color:#d6a015}.danger-outline{color:#e25565!important;background:0 0!important;border:1px solid #e25565!important}.pre-table article{border-top:1px solid var(--line);grid-template-columns:1.2fr .8fr 1.3fr .5fr .8fr 1fr;align-items:center;gap:10px;padding:14px;display:grid}.pre-table article div{gap:6px;display:flex}.pre-table article button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:8px;padding:8px;font-size:11px;font-weight:800}.pre-person{gap:3px!important;display:grid!important}.pre-person small{color:var(--muted);font-weight:500}.inline-confirm{background:var(--surface-soft);border:1px solid var(--line);border-radius:14px;margin-top:16px;padding:16px}.inline-confirm h3,.inline-confirm p{margin:0 0 8px}.inline-confirm textarea{background:var(--input);border:1px solid var(--line);color:var(--ink);border-radius:10px;width:100%;min-height:88px;padding:11px}.inline-confirm>div{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.inline-confirm button{background:var(--accent);color:#fff;border:0;border-radius:9px;padding:10px 14px;font-weight:800}.inline-confirm button:disabled{cursor:not-allowed;opacity:.5}.split-modal{grid-template-columns:.9fr 1.1fr;gap:18px;display:grid}.split-modal>form,.split-modal>section{border:1px solid var(--line);border-radius:15px;padding:18px}.announcement{border-bottom:1px solid var(--line);padding:13px 0}.announcement p{color:var(--muted);font-size:13px;line-height:1.45}.announcement small,.academic-event small{color:var(--muted)}.announcement.expired{opacity:.55}.calendar-events{gap:9px;max-height:500px;margin-top:16px;display:grid;overflow:auto}.calendar-events article{border:1px solid var(--line);border-left:3px solid #e5b82a;border-radius:11px;gap:16px;padding:14px;display:flex}.calendar-events time{color:#d99f00;min-width:82px;font-size:12px;font-weight:900}.calendar-events article div{gap:4px;display:grid}.calendar-events span,.calendar-events small{color:var(--muted);font-size:12px}.academic-event{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 0;display:flex}.academic-event div{gap:4px;display:grid}.icon-danger{color:#e45b6b;cursor:pointer;background:#e1415221;border:1px solid #d94b5c;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;display:flex}.cycle-warning{text-align:center}.cycle-warning h3{font-family:var(--display);font-size:25px}.cycle-warning p{color:var(--muted);line-height:1.55}.cycle-warning label{text-transform:uppercase;gap:7px;max-width:260px;margin:20px auto;font-size:11px;font-weight:800;display:grid}.cycle-warning input{letter-spacing:.25em;text-align:center;font-size:23px}.cycle-warning small{color:#d39800;margin:-10px 0 15px;display:block}.cycle-warning button:disabled{cursor:not-allowed;opacity:.5}.cycle-cmi-check{background:color-mix(in srgb,var(--surface-soft) 94%,var(--accent) 6%);border:1px solid color-mix(in srgb,var(--line) 78%,var(--accent) 22%);text-align:left;border-radius:16px;gap:10px;margin:22px 0;padding:14px;display:grid}.cycle-cmi-check>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.cycle-cmi-check>header span{color:var(--accent);letter-spacing:.12em;font-size:9px;font-weight:900}.cycle-cmi-check h4{margin:3px 0;font-size:16px}.cycle-cmi-check>header>b{border-radius:999px;padding:6px 9px;font-size:10px}.cycle-cmi-check>header>b.ready{color:#08724a;background:#d8f6e9}.cycle-cmi-check>header>b.pending{color:#966400;background:#fff0c7}.cycle-cmi-check article{background:var(--surface-solid);border:1px solid var(--line);border-radius:12px;grid-template-columns:minmax(180px,1.35fr) repeat(3,minmax(135px,1fr)) auto;align-items:end;gap:9px;padding:11px;display:grid}.cycle-cmi-title{align-self:center;gap:3px;display:grid}.cycle-cmi-title small{color:var(--muted);margin:0}.cycle-cmi-check article label{gap:5px;max-width:none;margin:0;font-size:9px}.cycle-cmi-check article label small{color:var(--muted);margin:0;display:inline}.cycle-cmi-check article input{letter-spacing:0;text-align:left;width:100%;min-width:0;padding:9px;font-size:12px}.cycle-cmi-check article button{min-height:37px;padding:9px 11px}.cycle-cmi-empty{text-align:left;margin:3px 0!important}@media (width<=900px){.cycle-cmi-check article{grid-template-columns:1fr 1fr}.cycle-cmi-title{grid-column:1/-1}}.person-window{color:#edf5ff;resize:both;z-index:1600;background:#0c1629;border:1px solid #2b4468;border-radius:12px;width:min(900px,100vw - 50px);min-width:560px;min-height:300px;position:fixed;overflow:auto;box-shadow:0 30px 100px #00000085}.person-window>header{cursor:move;-webkit-user-select:none;user-select:none;background:linear-gradient(90deg,#1e3a5f,#1e293b);justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;display:flex}.person-window header>div:not(.person-avatar){flex:1;min-width:0;display:grid}.person-window header small{color:#a9bdd8;font-size:11px}.person-avatar{color:#6edcff;background:#6edcff29;border-radius:10px;flex:0 0 36px;justify-content:center;align-items:center;width:36px;height:36px;font-weight:800;display:flex}.person-window nav{gap:5px;display:flex}.person-window nav button{color:#fff;cursor:pointer;background:#2c4565;border:0;border-radius:6px;width:27px;height:27px}.person-window-body{padding:15px}.person-window.minimized{resize:none;min-height:0;height:50px!important}.person-window.maximized{resize:none;border-radius:0;width:100vw!important;height:100vh!important;inset:0!important}.person-metrics{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.person-metrics span{color:#94a8c5;background:#111d32;border:1px solid #293a55;border-radius:10px;padding:12px;font-size:11px;display:grid}.person-metrics b{color:#6edcff;font-size:23px}.person-window-body>article{border-top:1px solid #263650;justify-content:space-between;padding:10px 2px;display:flex}.person-window-body>article span{color:#9db0c9;font-size:12px}.director-view{padding-top:38px}.director-view>header{justify-content:space-between;align-items:end;margin-bottom:22px;display:flex}.director-view h1{margin:7px 0;font-size:clamp(38px,6vw,62px)}.director-view header p:last-child{color:var(--muted);max-width:700px}.director-view header button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:10px;padding:12px 18px;font-weight:850}.director-toolbar{background:var(--surface-solid);border:1px solid var(--line);border-radius:14px;align-items:center;gap:15px;padding:12px;display:flex}.director-toolbar input{background:var(--surface-soft);border:1px solid var(--line);color:var(--ink);font:inherit;border-radius:9px;width:100%;padding:12px}.director-toolbar span{color:var(--muted);white-space:nowrap;font-size:12px}.director-table{background:var(--surface-solid);border:1px solid var(--line);border-radius:16px;margin-top:13px;overflow:hidden}.director-head,.director-table article{grid-template-columns:.55fr 1fr 1.4fr 1.5fr;gap:14px;padding:14px 18px;display:grid}.director-head{background:var(--surface-soft);color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:850}.director-table article{border-top:1px solid var(--line)}.director-table article small{color:var(--muted);margin-top:4px;font-size:11px;display:block}.director-table time{color:var(--accent);font-weight:850}@media (width<=900px){.admin-command,.split-modal{grid-template-columns:1fr}.admin-launch-grid,.pre-summary{grid-template-columns:1fr 1fr}.directory-head{display:none}.directory-table>button,.pre-table article{grid-template-columns:1fr 1fr}.person-window{width:calc(100vw - 24px);min-width:0;top:70px!important;left:12px!important}.director-view>header{flex-direction:column;align-items:start;gap:12px}.director-head{display:none}.director-table article{grid-template-columns:1fr 1fr}}@media (width<=560px){.admin-launch-grid,.admin-counts,.export-center .form-grid,.export-filter-block,.cascade-subject-select,.two,.person-metrics{grid-template-columns:1fr}.admin-counts{gap:8px}.directory-table>button,.pre-table article,.pre-summary{grid-template-columns:1fr}.export-center .form-grid>label:first-child{grid-column:auto}.backup-status-card dl,.backup-status-card{grid-template-columns:1fr}.backup-enabled{justify-self:start}}.person-actions{flex-wrap:wrap;gap:8px;margin:13px 0;display:flex}.person-actions button,.person-edit button,.person-confirm button{color:#fff;cursor:pointer;background:#1c96c8;border:0;border-radius:7px;padding:8px 11px;font-size:11px;font-weight:800}.person-edit{grid-template-columns:1fr 1fr;gap:8px;margin:12px 0;display:grid}.person-edit input{color:#edf5ff;background:#101d32;border:1px solid #304563;border-radius:7px;padding:9px}.person-edit button{grid-column:1/-1}.person-confirm{background:#172238;border:1px solid #e25565;border-radius:10px;margin:12px 0;padding:13px}.person-confirm p{color:#a9bdd8;font-size:12px}.person-confirm button{margin-right:7px}.record-list.wide{grid-column:1/-1}.record-list article{border-top:1px solid var(--line);padding:14px 0}.record-list article:first-of-type{margin-top:10px}.record-list article b,.record-list article small{display:block}.record-list article small{color:var(--muted);margin-top:4px;line-height:1.45}.enrollment-shell{padding-top:20px}.enrollment-hero{max-width:900px;padding:56px 0 34px}.enrollment-hero h1{margin-bottom:16px;font-size:clamp(42px,6vw,72px)}.enrollment-picker{background:var(--ink);color:#fff;border-radius:18px;grid-template-columns:minmax(280px,620px) 1fr;align-items:end;gap:18px;margin-bottom:20px;padding:24px;display:grid}.enrollment-picker label{color:#c7d5d7}.enrollment-picker select{color:var(--ink);background:#fff;border:0;border-radius:10px;padding:12px}.enrollment-picker small{color:#a9c2c5;padding-bottom:12px}.eligibility-grid{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.eligibility-card{border:1px solid var(--line);background:#fffc;border-radius:18px;padding:21px;display:grid}.eligibility-card.eligible{border-top:4px solid #2d9a6a}.eligibility-card.blocked{border-top:4px solid #ca7a47}.eligibility-card header{justify-content:space-between;display:flex}.eligibility-card header span{color:var(--accent);font-size:12px;font-weight:800}.eligibility-card header b,.eligibility-card>p{color:var(--muted);font-size:12px}.eligibility-card h2{font-family:var(--display);margin:20px 0 4px;font-size:21px}.eligibility-state{margin:15px 0 10px}.eligibility-card ul{color:#804d2f;padding-left:18px;font-size:13px;line-height:1.5}.eligibility-card button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:9px;align-self:end;padding:11px 13px;font-weight:750}.eligibility-card button.override-button{background:#9b5b35}.override-box{background:#f2e8df;border-radius:12px;gap:10px;padding:12px;display:grid}.override-box textarea{border:1px solid var(--line);resize:vertical;border-radius:8px;min-height:80px;padding:9px}.outcome-metrics{grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:18px;display:grid}.outcome-metrics article{color:#fff;background:#173238;border-radius:14px;padding:17px}.outcome-metrics strong,.outcome-metrics span{display:block}.outcome-metrics strong{font-family:var(--display);font-size:25px}.outcome-metrics span{color:#b5c9cb;margin-top:4px;font-size:11px}.outcomes-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.outcome-form{align-content:start}.outcome-form>small{color:var(--muted);line-height:1.45}.outcome-form .form-grid{margin-top:10px}.outcome-form select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;width:100%;padding:12px}.outcome-records{grid-template-columns:1fr 1fr;gap:16px;margin-top:18px;display:grid}.outcome-row{border-top:1px solid var(--line);margin:0;padding:11px 0;font-size:13px;line-height:1.45}.migration-head{grid-template-columns:1.5fr .7fr;align-items:stretch;gap:24px;margin-bottom:20px;display:grid}.migration-head h2{font-family:var(--display);letter-spacing:-.045em;margin:8px 0 18px;font-size:clamp(32px,4vw,52px);line-height:.98}.migration-head p{color:var(--muted);max-width:680px;line-height:1.6}.migration-gate{background:var(--ink);color:#fff;border-radius:20px;flex-direction:column;justify-content:center;padding:28px;display:flex}.migration-gate span,.migration-gate small{color:#b5c9cb}.migration-gate strong{font-family:var(--display);margin:8px 0;font-size:25px}.migration-upload{grid-template-columns:1fr auto;align-items:center;gap:18px;margin-bottom:18px;display:grid}.migration-upload h2,.migration-upload p{margin:0 0 6px}.migration-preview{border-top:1px solid var(--line);flex-wrap:wrap;grid-column:1/-1;gap:12px;padding-top:16px;display:flex}.migration-preview span{color:var(--muted);flex:420px}.migration-metrics{grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0 30px;display:grid}.migration-metrics article{border:1px solid var(--line);background:#fff;border-radius:14px;padding:18px}.migration-metrics strong,.migration-metrics span{display:block}.migration-metrics strong{font-family:var(--display);font-size:27px}.migration-metrics span{color:var(--muted);font-size:12px}.migration-issues{gap:12px;display:grid}.migration-issues .section-heading{margin:0}.migration-issue{border:1px solid var(--line);background:#fff;border-left:5px solid #8fa0a2;border-radius:14px;padding:18px}.migration-issue.severity-warning{border-left-color:#d69b36}.migration-issue.severity-blocker{border-left-color:#b95252}.migration-issue header,.migration-issue form{align-items:center;gap:10px;display:flex}.migration-issue header{color:var(--muted);justify-content:space-between;font-size:12px}.migration-issue h3{margin:10px 0 5px;font-size:15px}.migration-issue p{color:var(--muted);margin:0 0 14px}.migration-issue form input{flex:1}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-grid .wide{grid-column:1/-1}.student-list article{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:15px 0;display:flex}.student-list article span,.student-list article small{display:block}.student-list article small,.empty{color:var(--muted);margin-top:4px;font-size:12px}.student-list article b{color:var(--accent);font-family:var(--display)}.milestones{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.milestones>div{border-right:1px solid var(--line);padding:28px 26px 28px 0}.milestones>div+div{padding-left:26px}.milestones>div:last-child{border-right:0}.milestones span{color:var(--accent);font-family:var(--display);font-size:13px}.milestones h3{font-family:var(--display);margin:14px 0 8px;font-size:20px}.milestones p{color:var(--muted);margin:0;font-size:14px;line-height:1.5}footer{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-top:54px;font-size:12px}@media (width<=760px){.shell{padding:0 22px 36px}.hero{padding:60px 0 42px}.status-grid{grid-template-columns:1fr}.rule-proof{grid-template-columns:1fr;padding:24px}.access-panel,.admin-grid{grid-template-columns:1fr}.admin-hero{grid-template-columns:1fr;align-items:stretch}.admin-cycle-mark{min-width:0}.admin-columns,.admin-overview{grid-template-columns:1fr}.enrollment-picker{grid-template-columns:1fr;align-items:stretch}.eligibility-grid{grid-template-columns:1fr}.outcome-metrics{grid-template-columns:1fr 1fr}.outcomes-grid,.outcome-records,.migration-head{grid-template-columns:1fr}.migration-metrics{grid-template-columns:1fr 1fr}.record-list.wide{grid-column:auto}.access-panel{gap:22px;padding:24px}.metric-grid{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.portal-tabs{grid-template-columns:1fr}.student-hero{padding:52px 0 40px}.identity-card{min-width:0}.course-grid,.history-grid{grid-template-columns:1fr}.student-data-panel{border-radius:18px;margin-top:28px}.student-data-panel>header{flex-direction:column;align-items:flex-start;gap:7px;padding:22px}.panel-caption{text-align:left}.history-grid>div{height:320px}.migration-upload{grid-template-columns:1fr}.migration-issue form{flex-direction:column;align-items:stretch}.status-strip{flex-wrap:wrap;align-items:flex-start}.status-strip small{width:100%;margin-left:0}.teacher-shell.legacy-look{border-radius:16px;margin-inline:-10px;padding:18px}.management,.action-groups{grid-template-columns:1fr}.action-group>div{grid-template-columns:1fr 1fr;display:grid}.two-panel{grid-template-columns:1fr}.roster-top{flex-direction:column;align-items:stretch;gap:16px}.date-control{flex-direction:column;align-items:stretch}.milestones{grid-template-columns:1fr 1fr}.milestones>div:nth-child(2){border-right:0}.milestones>div{border-bottom:1px solid var(--line);padding:22px 18px 22px 0}.milestones>div+div{padding-left:18px}.topbar{align-items:center;gap:9px}.topbar-title{flex:auto;min-width:0}.topbar-title strong{overflow-wrap:anywhere;font-size:12px;line-height:1.25;display:block}.topbar-title>span{display:none}.topbar-actions{flex-direction:row;flex:none;align-items:center;gap:7px}.theme-button{flex:0 0 42px;justify-content:center;gap:0;width:42px;height:42px;padding:0}.theme-button:hover{transform:none}.topbar-actions .theme-button-label{display:none}.topbar-actions .theme-button-icon{color:var(--accent);font-size:19px;line-height:1}.topbar-actions .quiet-button{white-space:nowrap;min-height:42px;padding:8px 10px;font-size:11px}.login-experience{min-height:0;padding:48px 0 54px;display:block}.login-intro{margin-bottom:38px}.login-intro h1{font-size:clamp(45px,13vw,68px)}.login-highlights{display:none}.login-card{border-radius:22px;padding:22px}}.person-window{height:min(650px,100vh - 80px);overflow:hidden}.person-window>header{height:56px}.person-window.minimized{resize:none;overflow:hidden;width:min(360px,100vw - 32px)!important;min-width:0!important;height:46px!important;min-height:0!important;top:auto!important;bottom:14px!important;left:48px!important}.person-window.minimized>header{height:46px;padding:6px 12px}.person-window.minimized>header nav button:first-child,.person-window.minimized>header nav button:nth-child(3){display:none}.person-window.maximized{height:100vh!important}.person-tabbar{background:#071225;border-bottom:1px solid #293a55;gap:2px;padding:0 10px;display:flex;overflow:auto}.person-tabbar button{color:#a9bdd8;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:11px 12px}.person-tabbar button.active{color:#7edfff;background:#12314c;border-bottom-color:#42c9e8}.person-window-body{height:calc(100% - 98px);overflow:auto}.person-metrics{grid-template-columns:repeat(4,1fr)}.person-summary-card{border:1px solid #293a55;border-radius:10px;margin-top:10px;padding:13px}.person-summary-card p{color:#a9bdd8;margin-bottom:0}.person-edit{grid-template-columns:1fr 1fr;gap:12px;display:grid}.person-edit label{gap:5px;display:grid}.person-edit label>span{color:#94a3b8;letter-spacing:.03em;text-transform:uppercase;font-size:.72rem}.person-edit input,.chair-add select{color:#edf5ff;background:#0f1a2e;border:1px solid #31445f;border-radius:7px;padding:11px}.person-edit input:focus{border-color:#6edcff;outline:none}.person-edit-actions{flex-wrap:wrap;grid-column:1/-1;gap:8px;margin-top:4px;display:flex}.person-edit-actions button,.chair-add button{color:#fff;cursor:pointer;background:#009bd7;border:0;border-radius:7px;padding:11px 14px;font-weight:800}.person-edit-actions button.danger{color:#fca5a5;background:#ef444424;border:1px solid #ef44444d}.person-data-list{border:1px solid #263650;border-radius:9px;overflow:auto}.person-data-list article{border-bottom:1px solid #263650;grid-template-columns:1fr 1.6fr .8fr;align-items:center;gap:12px;padding:11px;display:grid}.person-data-list article span{color:#a9bdd8}.person-data-list article strong{text-align:right}.chair-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.chair-grid article{background:#111d32;border:1px solid #293a55;border-radius:10px;justify-content:space-between;align-items:center;padding:10px;display:flex}.chair-grid article div{gap:4px;display:grid}.chair-grid span{color:#9db0c9;font-size:12px}.chair-add{border:1px solid #293a55;border-radius:10px;gap:10px;margin-top:12px;padding:13px;display:grid}.subject-picker{background:color-mix(in srgb,var(--accent) 5%,var(--surface-soft));border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:11px;gap:8px;max-height:290px;padding:11px;display:grid;overflow:auto}.subject-picker>small{color:var(--muted)}.subject-picker label{text-transform:none;grid-template-columns:1fr 120px;align-items:center;display:grid}.subject-picker select{padding:8px}.rejected-action{justify-content:flex-end;align-items:center!important}.pre-summary{grid-template-columns:repeat(3,1fr)}.status-pill{white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:.72rem;font-weight:700;display:inline-block}.status-pill.ok{color:#86efac;background:#22c55e24}.status-pill.bad{color:#fca5a5;background:#ef444424}.status-pill.info{color:#7dd3fc;background:#38bdf824}.status-pill.neutral{color:#cbd5e1;background:#94a3b824}.audit-action{color:#7dd3fc;background:#38bdf81a;border-radius:7px;padding:3px 8px;font-weight:700;display:inline-block}.person-data-list article strong{justify-content:flex-end;align-items:center;gap:6px;display:flex}.academic-tabs{margin-bottom:16px}.schedule-create{background:var(--surface-soft);border:1px solid var(--line);border-radius:12px;grid-template-columns:auto 2fr 1fr .8fr .8fr auto;align-items:end;gap:8px;padding:14px;display:grid}.schedule-create input,.schedule-create select,.calendar-filters input,.calendar-filters select,.calendar-dual input{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:10px}.schedule-create button,.calendar-dual button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:8px;padding:11px;font-weight:800}.calendar-filters{grid-template-columns:2fr 1fr 1fr;gap:8px;margin:14px 0;display:grid}.schedule-table{border:1px solid var(--line);border-radius:10px;max-height:440px;overflow:auto}.schedule-table header,.schedule-table article{border-bottom:1px solid var(--line);grid-template-columns:1fr .45fr 1.5fr .7fr 1fr .45fr;align-items:center;gap:10px;padding:11px;display:grid}.schedule-table header{background:var(--surface-soft);color:var(--muted);text-transform:uppercase;font-size:11px}.calendar-dual{grid-template-columns:1fr 1fr;gap:12px;display:grid}.calendar-dual section,.calendar-dual form{border:1px solid var(--line);border-radius:12px;gap:10px;padding:15px;display:grid}.calendar-dual h3,.calendar-dual p{margin:0}.calendar-dual small,.calendar-dual p{color:var(--muted)}.event-table{border:1px solid var(--line);border-radius:10px;max-height:410px;margin-top:14px;overflow:auto}.event-table article{border-bottom:1px solid var(--line);grid-template-columns:.7fr 1.5fr 1fr auto;align-items:center;gap:12px;padding:11px;display:grid}@media (width<=900px){.person-window:not(.minimized){width:calc(100vw - 24px);min-width:0;top:70px!important;left:12px!important}.calendar-dual{grid-template-columns:1fr}.schedule-create{grid-template-columns:1fr 1fr}.chair-grid{grid-template-columns:1fr}}@media (width>=761px) and (width<=1050px){.login-experience{grid-template-columns:1fr minmax(380px,.85fr);gap:42px}.login-intro h1{font-size:clamp(50px,6vw,70px)}}:root:not([data-theme=dark]) .course-card,:root:not([data-theme=dark]) .student-data-panel,:root:not([data-theme=dark]) .history-grid>div{background:#fff;border-color:#10434938;box-shadow:0 14px 34px #163e4317}:root:not([data-theme=dark]) .course-card{border-top:3px solid #087c789e}:root:not([data-theme=dark]) .student-data-panel thead th{color:#345b60;background:#dfeae6}:root:not([data-theme=dark]) .student-data-panel th,:root:not([data-theme=dark]) .student-data-panel td{border-color:#12474d2e}:root:not([data-theme=dark]) .schedule-block{background:#38bdf829;border-left-width:4px}:root:not([data-theme=dark]) .schedule-block.green{background:#34d39929}:root:not([data-theme=dark]) .schedule-block.violet{background:#a78bfa29}:root:not([data-theme=dark]) .schedule-block.amber{background:#fbbf242e}:root:not([data-theme=dark]) .schedule-block.rose{background:#f8717129}:root:not([data-theme=dark]) .schedule-block.cyan{background:#22d3ee29}:root:not([data-theme=dark]) .history-row,:root:not([data-theme=dark]) .grade-notice{border-top-color:#12474d33}:root[data-theme=dark] .shell:before{opacity:.82}:root[data-theme=dark] .status-grid article,:root[data-theme=dark] .access-panel,:root[data-theme=dark] .student-form,:root[data-theme=dark] .student-list,:root[data-theme=dark] .course-card,:root[data-theme=dark] .history-grid>div,:root[data-theme=dark] .student-data-panel,:root[data-theme=dark] .empty-panel,:root[data-theme=dark] .admin-tabs,:root[data-theme=dark] .admin-card,:root[data-theme=dark] .eligibility-card,:root[data-theme=dark] .migration-metrics article,:root[data-theme=dark] .migration-issue{background:var(--surface)}:root[data-theme=dark] .admin-form select,:root[data-theme=dark] .outcome-form select,:root[data-theme=dark] textarea{background:var(--surface-solid);color:var(--ink)}:root[data-theme=dark] .admin-message{color:#93e3d0;background:#133932;border-color:#27584e}:root[data-theme=dark] .metric-grid article{color:#effcf9;background:#102a2f;border:1px solid #29474d}:root[data-theme=dark] .metric-grid span{color:#9eb8bc}:root[data-theme=dark] .admin-tabs button.active{color:#effcf9;background:#153b42}:root[data-theme=dark] .override-box{background:#32271f}:root[data-theme=dark] .progress{background:#284045}:root[data-theme=dark] .notice{background:#15342f}:root[data-theme=dark] .schedule-block.blue b{color:#67d2f8}:root[data-theme=dark] .schedule-block.green b{color:#66e0ad}:root[data-theme=dark] .schedule-block.violet b{color:#b9a5ff}:root[data-theme=dark] .schedule-block.amber b{color:#ffd36b}:root[data-theme=dark] .schedule-block.rose b{color:#ff9595}:root[data-theme=dark] .schedule-block.cyan b{color:#70e8f7}:root[data-theme=dark] .standing-pill.standing-regular,:root[data-theme=dark] .standing-pill.standing-passedcourse{color:#70dfb3}:root[data-theme=dark] .standing-pill.standing-freebyattendance,:root[data-theme=dark] .standing-pill.standing-freebygrades,:root[data-theme=dark] .standing-pill.standing-failedcourse{color:#f99}@media (width<=700px){.roster .legacy-table-wrap{overflow-x:visible}.roster table{table-layout:fixed;min-width:0}.roster th,.roster td{padding-left:7px;padding-right:7px}.roster th:nth-child(2),.roster td:nth-child(2){display:none}.roster th:first-child{width:35%}.roster th:nth-child(3){width:20%}.roster th:last-child{width:45%}.attendance-buttons{gap:4px}.attendance-buttons button{width:30px;min-width:30px;height:34px}}.teacher-portal{padding-top:34px}.teacher-entry{max-width:1180px;margin:0 auto}.teacher-announcements{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 92%, var(--accent) 8%);border-radius:16px;margin:0 0 1rem;padding:1.1rem}.teacher-announcements h2{margin:.25rem 0 .75rem}.teacher-announcements article{border-top:1px solid var(--line);padding:.75rem 0}.teacher-announcements article:first-of-type{border-top:0}.teacher-announcements article p{white-space:pre-wrap;margin:.3rem 0}.teacher-announcements article small{color:var(--muted)}.teacher-intro{max-width:790px;padding:38px 0 34px}.teacher-intro h1,.teacher-course-header h1{margin:14px 0 16px;font-size:clamp(42px,6vw,72px)}.teacher-intro p,.teacher-course-header p,.teacher-management-copy p{color:var(--muted);margin:0;line-height:1.55}.teacher-selector,.teacher-management,.teacher-roster-card{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:26px;box-shadow:0 18px 48px #12373b12}.teacher-selector-title,.teacher-section-heading,.teacher-course-header{justify-content:space-between;align-items:center;display:flex}.teacher-selector-title span{font-family:var(--display);font-size:23px;font-weight:800}.teacher-selector-title strong,.teacher-section-heading>strong{background:var(--surface-soft);border:1px solid var(--line);color:var(--accent);border-radius:999px;padding:8px 12px;font-size:12px}.teacher-selector-grid{grid-template-columns:1fr;gap:16px;max-width:660px;margin:25px 0 20px;display:grid}.teacher-selector-step{color:var(--ink);gap:10px}.teacher-selector-step>span{align-items:center;gap:9px;font-size:14px;display:flex}.teacher-selector-step>span b{background:var(--ink);color:var(--background);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.teacher-selector select,.teacher-modal select,.teacher-modal textarea{background:var(--surface-solid);border:1px solid var(--line);color:var(--ink);font:inherit;border-radius:10px;width:100%;min-width:0;padding:12px 13px}.teacher-selector select:focus,.teacher-modal select:focus,.teacher-modal textarea:focus{border-color:var(--accent);outline:2px solid color-mix(in srgb, var(--accent) 18%, transparent)}.pretty-select{width:100%;position:relative}.pretty-select-trigger{background:var(--surface-solid);border:1px solid color-mix(in srgb, var(--line) 82%, var(--accent) 18%);color:var(--ink);cursor:pointer;font:inherit;text-align:left;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:47px;padding:11px 13px;transition:border-color .16s,box-shadow .16s,transform .16s;display:flex;box-shadow:0 5px 16px #12373b0d}.pretty-select-trigger span{overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:720;line-height:1.28;display:-webkit-box;overflow:hidden}.pretty-select-trigger i{color:var(--accent);transform-origin:50%;flex:0 0 20px;justify-content:center;align-items:center;width:20px;height:20px;transition:transform .16s;display:inline-flex}.pretty-select-trigger i svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:18px;height:18px;display:block}.pretty-select-trigger:hover:not(:disabled),.pretty-select.open .pretty-select-trigger{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 13%,transparent), 0 8px 20px #12373b14}.pretty-select.open .pretty-select-trigger i{transform:rotate(180deg)}.pretty-select-trigger:focus-visible{border-color:var(--accent);outline:3px solid color-mix(in srgb,var(--accent) 20%,transparent)}.pretty-select.disabled{opacity:.58}.pretty-select-trigger:disabled{cursor:not-allowed}.pretty-select-options{background:var(--surface-solid);border:1px solid color-mix(in srgb,var(--line) 74%,var(--accent) 26%);z-index:40;border-radius:12px;max-height:240px;margin-top:7px;padding:6px;animation:.16s ease-out pretty-select-in;display:grid;position:absolute;left:0;right:0;overflow:auto;box-shadow:0 18px 40px #08182333}.pretty-select-options button{color:var(--ink);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:40px;padding:9px 10px;transition:background .13s,color .13s,transform .13s;display:flex}.pretty-select-options button span{overflow-wrap:anywhere;line-height:1.3}.pretty-select-options button:hover,.pretty-select-options button:focus-visible{background:color-mix(in srgb,var(--accent) 12%,var(--surface-soft));outline:0;transform:translate(2px)}.pretty-select-options button.selected{background:color-mix(in srgb,var(--accent) 17%,var(--surface-soft));color:var(--accent);font-weight:800}.pretty-select-options button b{font-size:14px}@keyframes pretty-select-in{0%{opacity:0;transform:translateY(-5px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.teacher-primary,.teacher-secondary{cursor:pointer;border-radius:10px;min-height:43px;padding:11px 17px;font-weight:800}.teacher-primary{background:var(--ink);border:1px solid var(--ink);color:var(--background)}.teacher-primary:disabled{cursor:not-allowed;opacity:.42}.teacher-secondary{background:var(--surface-solid);border:1px solid var(--line);color:var(--ink)}.teacher-enter{width:100%;max-width:660px;margin-left:0;display:block}.teacher-course-header{align-items:end;gap:24px;padding:28px 0 32px}.teacher-course-header h1{margin-bottom:10px}.teacher-management{grid-template-columns:minmax(220px,.55fr) 1.45fr;gap:25px;display:grid}.teacher-management-copy h2,.teacher-section-heading h2{font-family:var(--display);margin:9px 0 8px;font-size:27px}.teacher-action-groups{grid-template-columns:1.4fr 1fr .75fr;gap:12px;display:grid}.teacher-action-group{background:var(--surface-soft);border:1px solid var(--line);border-radius:15px;padding:12px}.teacher-action-group>span{color:var(--accent);letter-spacing:.11em;text-transform:uppercase;padding:2px 3px 10px;font-size:11px;font-weight:850;display:block}.teacher-action-group>div{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.teacher-action-group:last-child>div{grid-template-columns:1fr}.teacher-action-group button{background:var(--surface-solid);border:1px solid var(--line);color:var(--ink);cursor:pointer;text-align:left;border-radius:10px;min-height:72px;padding:12px;transition:border-color .15s,transform .15s}.teacher-action-group button:hover{border-color:var(--accent);transform:translateY(-1px)}.teacher-action-group button b,.teacher-action-group button small{display:block}.teacher-action-group button b{font-size:13px}.teacher-action-group button small{color:var(--muted);margin-top:5px;font-size:11px;line-height:1.35}.teacher-message{background:color-mix(in srgb, var(--accent) 10%, var(--surface));border:1px solid color-mix(in srgb, var(--accent) 32%, var(--line));color:var(--ink);border-radius:12px;margin-top:16px;padding:14px 16px}.teacher-roster-card{margin-top:18px}.teacher-section-heading{border-bottom:1px solid var(--line);padding-bottom:18px}.teacher-section-heading h2{margin-bottom:0}.teacher-table-wrap{overflow-x:auto}.teacher-table-wrap table{border-collapse:collapse;width:100%;min-width:720px}.teacher-table-wrap th{background:var(--surface-soft);color:var(--muted);letter-spacing:.06em;text-align:left;text-transform:uppercase;padding:13px;font-size:11px}.teacher-table-wrap td{border-top:1px solid var(--line);color:var(--ink);padding:15px 13px}.teacher-table-wrap td small{color:var(--muted);margin-top:4px;display:block}.teacher-roster-mobile{display:none}.teacher-standing{background:var(--surface-soft);border:1px solid var(--line);border-radius:999px;padding:6px 9px;font-size:12px;font-weight:750;display:inline-block}.teacher-empty{color:var(--muted);text-align:center;padding:24px 4px}.teacher-modal-backdrop{overscroll-behavior:contain;z-index:1000;background:#051215ad;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.teacher-modal{background:var(--surface-solid);border:1px solid var(--line);overscroll-behavior:contain;border-radius:22px;width:100%;max-width:720px;max-height:calc(100vh - 48px);overflow:hidden;box-shadow:0 30px 90px #00000047}.teacher-modal.wide{max-width:1080px}.teacher-modal>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:21px 24px;display:flex}.teacher-modal>header h2{font-family:var(--display);margin:7px 0 0;font-size:27px}.teacher-modal-close{background:var(--surface-soft);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-width:42px;height:42px;padding:0 11px;font-size:25px;display:flex}.teacher-modal-close small{font-size:11px;font-weight:750}.teacher-modal-body{max-height:calc(100vh - 145px);padding:24px;overflow-y:auto}.teacher-modal-lead{color:var(--muted);margin:0 0 18px}.teacher-modal-actions{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:9px;margin-top:22px;padding-top:18px;display:flex}.attendance-modal-controls{grid-template-columns:190px auto 1fr;align-items:end;gap:10px;display:grid}.attendance-modal-controls .attendance-legend{flex-wrap:wrap;gap:12px;margin:18px 0 10px;display:flex}.attendance-legend span{color:var(--muted);font-size:12px}.attendance-legend b{color:var(--ink)}.attendance-buttons button{background:var(--surface-soft);border-color:var(--line);color:var(--ink)}.modal-table{border:1px solid var(--line);border-radius:12px;max-height:390px;overflow:auto}.modal-table th{z-index:1;position:sticky;top:0}.teacher-history-list article,.teacher-assessment-list article{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:16px 2px;display:flex}.teacher-history-list article:first-child,.teacher-assessment-list article:first-child{border-top:0}.teacher-history-list small,.teacher-assessment-list small{color:var(--muted);margin-top:5px;display:block}.teacher-history-list span{color:var(--muted);font-size:13px}.teacher-two-panel{grid-template-columns:1fr 1fr;gap:26px;display:grid}.teacher-two-panel h3{font-family:var(--display);margin:0 0 16px;font-size:21px}.teacher-form-panel{background:var(--surface-soft);border:1px solid var(--line);border-radius:14px;padding:18px}.teacher-form-panel textarea{resize:vertical;min-height:90px}.teacher-assessment-picker{max-width:600px}.teacher-info-box{background:var(--surface-soft);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:12px;padding:18px}.teacher-info-box p{color:var(--muted);margin:8px 0 0;line-height:1.55}.teacher-section-heading p{color:var(--muted);margin:7px 0 0;font-size:13px}.attendance-date-tabs{gap:8px;margin:18px 0;padding-bottom:3px;display:flex;overflow-x:auto}.attendance-date-tabs button{background:var(--surface-soft);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:10px;flex:1;min-width:145px;padding:11px;font-weight:750}.attendance-date-tabs button.active{background:var(--ink);color:var(--background)}.attendance-choice,.sheet-status{background:var(--surface-soft);border:1px solid var(--line);color:var(--ink);border-radius:9px;justify-content:center;align-items:center;width:42px;height:38px;font-weight:850;display:inline-flex}.attendance-choice{cursor:pointer}.attendance-choice.selected.Present,.sheet-status.Present{color:#fff;background:#239164;border-color:#239164}.attendance-choice.selected.Absent,.sheet-status.Absent{color:#fff;background:#c9434b;border-color:#c9434b}.attendance-choice.selected.ExcusedAbsence,.sheet-status.ExcusedAbsence{color:#fff;background:#307bb8;border-color:#307bb8}.inline-attendance-actions,.print-toolbar{justify-content:flex-end;align-items:center;gap:10px;margin-top:20px;display:flex}.print-toolbar{justify-content:space-between;margin:0 0 18px}.print-toolbar p{margin:0}.teacher-danger{color:#c9434b;cursor:pointer;background:0 0;border:1px solid #c9434b;border-radius:10px;min-height:43px;padding:11px 17px;font-weight:800}.teacher-table-wrap .grade-input{width:66px;min-width:66px}:root:not([data-theme=dark]) .teacher-selector,:root:not([data-theme=dark]) .teacher-management,:root:not([data-theme=dark]) .teacher-roster-card{background:#fff;border-color:#10434938}@media (width<=900px){.teacher-management,.teacher-action-groups{grid-template-columns:1fr}}@media (width<=700px){.teacher-portal{padding-top:14px}.teacher-intro{padding-top:28px}.teacher-selector-grid,.teacher-two-panel{grid-template-columns:1fr}.teacher-enter{width:100%;min-width:0}.teacher-course-header{flex-direction:column;align-items:stretch}.teacher-course-header .teacher-secondary{width:100%}.teacher-action-group>div{grid-template-columns:1fr}.teacher-modal-backdrop{padding:10px}.teacher-modal{max-height:calc(100vh - 20px)}.teacher-modal>header,.teacher-modal-body{padding:18px}.teacher-modal-body{max-height:calc(100vh - 115px)}.teacher-modal-close small{display:none}.attendance-modal-controls{grid-template-columns:1fr;align-items:stretch}}.person-window{container-type:inline-size}.person-window.minimized{left:var(--min-left,48px)!important}.person-edit select{color:#edf5ff;background:#0f1a2e;border:1px solid #31445f;border-radius:7px;padding:11px}.person-edit select:focus{border-color:#6edcff;outline:none}.person-summary-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.person-summary-actions button,.compact-save{color:#fff;cursor:pointer;background:#009bd7;border:0;border-radius:7px;padding:9px 12px;font-weight:800}.person-summary-actions button.secondary{background:#263750}.person-section-toolbar{justify-content:space-between;align-items:end;gap:16px;margin-bottom:10px;display:flex}.person-section-toolbar>div{gap:4px;display:grid}.person-section-toolbar small{color:#94a8c5}.person-section-toolbar select,.person-table select,.person-table input{color:#edf5ff;background:#0f1a2e;border:1px solid #31445f;border-radius:6px;padding:7px}.person-table-wrap{border:1px solid #263650;border-radius:9px;max-height:100%;overflow:auto}.person-table{border-collapse:collapse;width:100%;min-width:760px}.person-table th{color:#e7f2ff;text-align:left;z-index:3;background:#1a2b45;position:sticky;top:0}.person-table td,.person-table th{vertical-align:middle;border-bottom:1px solid #263650;padding:9px 10px}.person-table td small{color:#93a8c4;display:block}.person-table .status-pill{white-space:nowrap}.person-record-count{margin:0 0 8px;display:block}.gradebook-view{flex-direction:column;display:flex;overflow:hidden}.gradebook-view .person-section-toolbar{flex:none}.gradebook-view .grade-table-wrap{flex:1;min-height:0;max-height:none;overflow:auto}.grade-table{table-layout:fixed;min-width:920px;font-size:12px}.grade-table th{box-shadow:0 2px #0003}.grade-table th:not(:first-child),.grade-table td:not(:first-child){text-align:center}.grade-table th:first-child{width:29%;min-width:0}.grade-table th:nth-child(n+3):nth-child(-n+8){width:7%}.grade-table input{text-align:center;width:100%;max-width:58px}.grade-table select{width:100%;max-width:130px}.grade-subject{justify-content:space-between;align-items:center;gap:7px;min-width:0;display:flex}.grade-subject b{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.grade-subject .mode-pill{flex:none}.mode-pill,.mode-select{font-size:11px;font-weight:800;border-radius:999px!important;padding:5px 11px!important}.mode-pill.cmc,.mode-select.cmc{color:#07577a;background:#8fdcff}.mode-pill.cmi,.mode-select.cmi{color:#075d43;background:#a7f3d0}.mode-pill.libre,.mode-select.libre{color:#694c00;background:#fde68a}.mode-pill.unlinked{color:#a9bdd8;background:#283750}.student-subject-year>h3{color:#79dcff;margin:12px 0 8px;font-size:13px}.student-subject-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.student-subject-grid article{background:#111d32;border:1px solid #293a55;border-radius:9px;justify-content:space-between;align-items:center;padding:10px;display:flex}.student-subject-grid article>div:first-child{gap:5px;display:grid}.student-subject-grid small{color:#9db0c9}.student-subject-actions{align-items:center;gap:7px;display:flex}.danger-outline{color:#fca5a5;cursor:pointer;background:#ef444424;border:1px solid #ef44446b;border-radius:7px;padding:9px 11px;font-weight:800}.compact-save:disabled,.danger-outline:disabled{cursor:not-allowed;opacity:.45}.audit-table td:nth-child(4){color:#a9bdd8;min-width:280px;font-style:italic}@container (width<=1050px){.gradebook-view{padding:12px}.gradebook-view .person-section-toolbar{align-items:stretch;gap:8px}.gradebook-view .person-section-toolbar select{max-width:none}.grade-table{min-width:850px;font-size:11px}.grade-table td,.grade-table th{padding:7px 6px}.grade-table th:first-child{width:28%}.grade-table th:nth-child(2){width:14%}.grade-table th:nth-child(n+3):nth-child(-n+8){width:7.2%}.grade-table th:last-child{width:9%}.grade-table input,.grade-table select{padding:6px 4px}.grade-table .compact-save{padding:8px 7px;font-size:10px}.grade-subject .mode-pill{font-size:9px;padding:4px 8px!important}}@media (width<=700px){.student-subject-grid{grid-template-columns:1fr}.person-section-toolbar{flex-direction:column;align-items:stretch}.person-summary-actions button{flex:1}}.person-window.minimized{cursor:pointer;transition:box-shadow .18s,transform .18s;bottom:var(--min-bottom,14px)!important;left:var(--min-left,16px)!important;width:var(--min-width,330px)!important;border-radius:12px!important}.person-window.minimized:hover{transform:translateY(-2px);box-shadow:0 18px 48px #00000094,0 0 0 1px #6edcff2e}.person-window.minimized>header{cursor:pointer}.person-tabbar button{border-radius:8px;transition:background-color .18s,color .18s,transform .18s;position:relative}.person-tabbar button.active{color:#7edfff;background:linear-gradient(135deg,#123a59,#12314c);border-bottom-color:#0000;border-radius:8px;animation:.24s ease-out tab-soft-arrival;transform:translateY(-1px)}.person-tabbar button.active:after{content:"";transform-origin:50%;background:#42c9e8;border-radius:999px;height:2px;position:absolute;bottom:2px;left:20%;right:20%}.person-attendance-search{margin-bottom:12px}.mode-menu{z-index:4;position:relative}.mode-menu-trigger{cursor:pointer;border:1px solid #07577a47;border-radius:10px;justify-content:space-between;align-items:center;gap:7px;min-width:78px;padding:7px 10px;font-size:11px;font-weight:850;transition:box-shadow .18s,transform .18s;display:flex}.mode-menu-trigger:hover,.mode-menu.open .mode-menu-trigger{transform:translateY(-1px);box-shadow:0 7px 18px #00000038}.mode-menu-trigger i{font-size:14px;font-style:normal;line-height:.7;transition:transform .18s}.mode-menu.open .mode-menu-trigger i{transform:rotate(180deg)}.mode-menu.cmc .mode-menu-trigger{color:#07577a;background:#8fdcff}.mode-menu.cmi .mode-menu-trigger{color:#075d43;background:#a7f3d0}.mode-menu.libre .mode-menu-trigger{color:#694c00;background:#fde68a}.mode-menu-options{z-index:12;background:#d6f2ff;border:1px solid #6cbddd;border-radius:10px;min-width:92px;animation:.16s ease-out mode-menu-arrival;display:grid;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 14px 28px #00000061}.mode-menu-options button{color:#07577a;cursor:pointer;text-align:left;background:0 0;border:0;border-top:1px solid #07577a21;padding:9px 12px;font-size:11px;font-weight:750;transition:background-color .14s,padding-left .14s}.mode-menu-options button:first-child{border-top:0}.mode-menu-options button:hover,.mode-menu-options button.selected{background:#8fdcff;padding-left:15px}.student-subject-grid{isolation:isolate}.student-subject-grid article{position:relative;overflow:visible}.mode-menu.open{z-index:20}.person-window nav .person-theme-toggle{gap:5px;width:auto;padding:0 8px}.person-theme-toggle span{font-size:14px;line-height:1}.person-theme-toggle em{font-size:9px;font-style:normal;font-weight:800}.person-window.minimized>header nav button:nth-child(2),.person-window.minimized>header nav button:nth-child(4){display:none}.person-window.minimized>header nav button:nth-child(3){display:block}:root:not([data-theme=dark]) .person-window{color:#14292e;background:#f5f9f8;border:2px solid #769d9a;box-shadow:0 26px 75px #14373c3d,0 0 0 1px #ffffffd9}:root:not([data-theme=dark]) .person-window>header{color:#17363a;background:linear-gradient(100deg,#e1efed,#d5e7e5);border-bottom:1px solid #9bbab7}:root:not([data-theme=dark]) .person-window header small{color:#587277}:root:not([data-theme=dark]) .person-avatar{color:#087c78;background:#fff;border:1px solid #87b4b0;box-shadow:0 3px 9px #19464a1a}:root:not([data-theme=dark]) .person-window nav button{color:#244b50;background:#fff;border:1px solid #91afad;box-shadow:0 2px 6px #1841451a}:root:not([data-theme=dark]) .person-window nav button:hover{color:#087c78;background:#e7f5f3;border-color:#087c78}:root:not([data-theme=dark]) .person-tabbar{background:#fff;border-bottom:1px solid #a9c1bf}:root:not([data-theme=dark]) .person-tabbar button{color:#526d71}:root:not([data-theme=dark]) .person-tabbar button:hover{color:#176d6b;background:#edf5f4}:root:not([data-theme=dark]) .person-tabbar button.active{color:#087c78;background:linear-gradient(135deg,#d7efed,#edf8f7);box-shadow:inset 0 0 0 1px #9fcac6}:root:not([data-theme=dark]) .person-tabbar button.active:after{background:#087c78}:root:not([data-theme=dark]) .person-window-body{background:#f5f9f8}:root:not([data-theme=dark]) .person-metrics span{color:#587277;background:#fff;border:1px solid #9dbbb8;border-top:3px solid #55a8a2;box-shadow:0 5px 14px #1b454914}:root:not([data-theme=dark]) .person-metrics b{color:#087c78}:root:not([data-theme=dark]) .person-summary-card{background:#fff;border:1px solid #8fadaa;box-shadow:0 6px 18px #19414617}:root:not([data-theme=dark]) .person-summary-card p,:root:not([data-theme=dark]) .person-window-body>article span,:root:not([data-theme=dark]) .person-data-list article span,:root:not([data-theme=dark]) .chair-grid span,:root:not([data-theme=dark]) .student-subject-grid small,:root:not([data-theme=dark]) .person-section-toolbar small{color:#5a7377}:root:not([data-theme=dark]) .person-summary-actions button,:root:not([data-theme=dark]) .compact-save,:root:not([data-theme=dark]) .person-edit-actions button,:root:not([data-theme=dark]) .chair-add button{color:#fff;background:#087c78;border:1px solid #056965;box-shadow:0 3px 8px #087c7833}:root:not([data-theme=dark]) .person-summary-actions button.secondary{color:#244b50;background:#fff;border:1px solid #789d9a;box-shadow:0 2px 6px #1841451a}:root:not([data-theme=dark]) .person-edit input,:root:not([data-theme=dark]) .person-edit select,:root:not([data-theme=dark]) .chair-add select,:root:not([data-theme=dark]) .person-section-toolbar select,:root:not([data-theme=dark]) .person-table select,:root:not([data-theme=dark]) .person-table input{color:#17363a;background:#fff;border:1px solid #8fadaa;box-shadow:inset 0 1px 2px #17363a0d}:root:not([data-theme=dark]) .person-edit input:focus,:root:not([data-theme=dark]) .person-edit select:focus,:root:not([data-theme=dark]) .chair-add select:focus,:root:not([data-theme=dark]) .person-section-toolbar select:focus,:root:not([data-theme=dark]) .person-table select:focus,:root:not([data-theme=dark]) .person-table input:focus{border-color:#087c78;outline:none;box-shadow:0 0 0 3px #087c7824}:root:not([data-theme=dark]) .person-edit label>span{color:#506b70;font-weight:800}:root:not([data-theme=dark]) .person-data-list,:root:not([data-theme=dark]) .person-table-wrap,:root:not([data-theme=dark]) .chair-add{background:#fff;border:1px solid #8fadaa;box-shadow:0 5px 15px #19414612}:root:not([data-theme=dark]) .person-data-list article,:root:not([data-theme=dark]) .person-table td,:root:not([data-theme=dark]) .person-table th{border-color:#b8cac8}:root:not([data-theme=dark]) .person-table th{color:#234c50;background:#dcebea}:root:not([data-theme=dark]) .person-table tbody tr:nth-child(2n){background:#f0f6f5}:root:not([data-theme=dark]) .person-table td small{color:#60787c}:root:not([data-theme=dark]) .chair-grid article,:root:not([data-theme=dark]) .student-subject-grid article{background:#fff;border:1px solid #94b1ae;box-shadow:0 4px 12px #19414612}:root:not([data-theme=dark]) .student-subject-year>h3{color:#087c78}:root:not([data-theme=dark]) .person-confirm{background:#fff5f5;border-width:2px}:root:not([data-theme=dark]) .person-confirm p{color:#6e5558}:root:not([data-theme=dark]) .status-pill.neutral{color:#486367;background:#e3eceb}:root:not([data-theme=dark]) .status-pill.ok{color:#16754e}:root:not([data-theme=dark]) .status-pill.bad{color:#b43540}:root:not([data-theme=dark]) .status-pill.info{color:#176f9b}:root:not([data-theme=dark]) .audit-action{color:#126685;background:#dff1f5}:root:not([data-theme=dark]) .audit-table td:nth-child(4){color:#506b70}:root:not([data-theme=dark]) .admin-command,:root:not([data-theme=dark]) .admin-modal,:root:not([data-theme=dark]) .admin-create-card,:root:not([data-theme=dark]) .backup-status-card,:root:not([data-theme=dark]) .directory-table,:root:not([data-theme=dark]) .export-filter-block,:root:not([data-theme=dark]) .split-modal>form,:root:not([data-theme=dark]) .split-modal>section,:root:not([data-theme=dark]) .calendar-dual section,:root:not([data-theme=dark]) .calendar-dual form,:root:not([data-theme=dark]) .event-table{background:#fff;border-color:#91afad;box-shadow:0 8px 22px #19414614}:root:not([data-theme=dark]) .teacher-onboarding-assignments{background:#f2f8f7;border-width:2px;border-color:#76aaa5;box-shadow:0 6px 16px #19414612}:root:not([data-theme=dark]) .assignment-chips>span{background:#fff;border-color:#8eb4b0;box-shadow:0 2px 7px #19414612}:root:not([data-theme=dark]) .admin-launch,:root:not([data-theme=dark]) .pre-summary button,:root:not([data-theme=dark]) .admin-counts article{background:#fff;border-color:#9ab7b4;box-shadow:0 4px 12px #19414612}:root:not([data-theme=dark]) .admin-launch:hover,:root:not([data-theme=dark]) .pre-summary button:hover{border-color:#087c78;transform:translateY(-1px);box-shadow:0 7px 18px #087c7821}:root:not([data-theme=dark]) .hub-form input,:root:not([data-theme=dark]) .hub-form select,:root:not([data-theme=dark]) .hub-form textarea,:root:not([data-theme=dark]) .export-center input,:root:not([data-theme=dark]) .export-center select,:root:not([data-theme=dark]) .cycle-warning input{background:#fff;border-color:#8fadaa;box-shadow:inset 0 1px 2px #17363a0a}:root:not([data-theme=dark]) .hub-form input:focus,:root:not([data-theme=dark]) .hub-form select:focus,:root:not([data-theme=dark]) .hub-form textarea:focus,:root:not([data-theme=dark]) .export-center input:focus,:root:not([data-theme=dark]) .export-center select:focus{border-color:#087c78;outline:none;box-shadow:0 0 0 3px #087c7824}:root:not([data-theme=dark]) .hub-form button,:root:not([data-theme=dark]) .export-center footer button,:root:not([data-theme=dark]) .cycle-warning button{border:1px solid #056965;box-shadow:0 4px 10px #087c7833}@keyframes tab-soft-arrival{0%{opacity:.55;transform:translateY(2px)scale(.97)}to{opacity:1;transform:translateY(-1px)scale(1)}}@keyframes mode-menu-arrival{0%{opacity:0;transform:translateY(-5px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.person-window.minimized,.person-tabbar button,.mode-menu-trigger,.mode-menu-trigger i,.mode-menu-options{transition:none!important;animation:none!important}}@media print{body *{visibility:hidden!important}.teacher-modal,.teacher-modal *{visibility:visible!important}.teacher-modal-backdrop{background:#fff;padding:0;display:block;position:absolute}.teacher-modal{box-shadow:none;border:0;max-width:none;max-height:none;overflow:visible}.teacher-modal-body,.modal-table{max-height:none;overflow:visible}.teacher-modal-close,.print-toolbar button{display:none!important}.teacher-table-wrap table{min-width:0}}.compact-intro{text-align:center;max-width:520px;margin:0 auto;padding-bottom:22px}.compact-intro h1{margin-bottom:0;font-size:clamp(38px,5vw,58px)}.compact-selector{max-width:430px;margin:0 auto;padding:30px}.compact-selector>p{color:var(--muted);margin:16px 0 0;line-height:1.5}.compact-selector .teacher-selector-grid{max-width:none;margin:24px 0}.compact-selector .teacher-selector-step>span{color:var(--muted);font-weight:750}.teacher-toolbar{background:var(--surface);border:1px solid var(--line);border-radius:20px;grid-template-columns:auto minmax(160px,1fr) auto;align-items:center;gap:12px;padding:18px 20px;display:grid}.teacher-toolbar h2{font-family:var(--display);white-space:nowrap;margin:0;font-size:20px}.teacher-toolbar>select,.teacher-roster-search{background:var(--surface-solid);border:1px solid var(--line);color:var(--ink);font:inherit;border-radius:10px;width:100%;min-height:42px;padding:9px 12px}.toolbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.toolbar-group{background:var(--surface-soft);border:1px solid var(--line);border-radius:12px;align-items:center;gap:6px;padding:6px;display:flex}.toolbar-group>span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;padding:0 4px;font-size:10px;font-weight:850}.toolbar-group button,.candidate-summary button{background:var(--ink);border:1px solid var(--ink);color:var(--background);cursor:pointer;border-radius:8px;min-height:34px;padding:8px 11px;font-size:12px;font-weight:800}.teacher-roster-search{max-width:320px}.modality{border:1px solid var(--line);border-radius:999px;justify-content:center;align-items:center;padding:5px 8px;font-size:11px;font-weight:850;line-height:1.2;display:inline-flex}.modality.cmc{color:#1594c4;background:#38bdf829;border-color:#38bdf8}.modality.cmi{color:#15945f;background:#4ade8024;border-color:#4ade80}.modality.libre{color:#a76f00;background:#ca8a042b;border-color:#ca8a04}.modality-button{cursor:pointer;font-family:inherit;transition:box-shadow .15s,transform .15s}.modality-button:hover,.modality-button:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,currentColor 18%,transparent);outline:0;transform:translateY(-1px)}.row-attendance{gap:6px;display:flex}.row-attendance button{background:var(--surface-soft);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:36px;height:34px;font-weight:900;display:inline-flex}.row-attendance button.selected.Present{color:#fff;background:#16875e;border-color:#16875e}.row-attendance button.selected.Absent{color:#fff;background:#bd3f4b;border-color:#bd3f4b}.row-attendance button.selected.ExcusedAbsence{color:#fff;background:#3278ad;border-color:#3278ad}.not-available{max-width:180px;line-height:1.4}.row-danger{color:#c94b58;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #c94b58;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:850}.teacher-toast{background:var(--surface-solid);border:1px solid color-mix(in srgb, var(--accent) 65%, var(--line));z-index:1300;border-radius:12px;align-items:center;gap:10px;max-width:min(430px,100vw - 32px);padding:14px 17px;font-weight:750;animation:.2s ease-out toast-in;display:flex;position:fixed;top:20px;right:22px;box-shadow:0 18px 45px #0003}.teacher-toast span{background:var(--accent);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.app-toast{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:color-mix(in srgb, var(--surface-solid) 92%, transparent);border:1px solid color-mix(in srgb, var(--accent) 52%, var(--line));z-index:1600;border-radius:16px;grid-template-columns:34px minmax(0,1fr) 28px;align-items:flex-start;gap:11px;max-width:min(460px,100vw - 32px);padding:15px 14px 17px;animation:.24s ease-out toast-in;display:grid;position:fixed;top:20px;right:22px;overflow:hidden;box-shadow:0 20px 55px #0000003d}.app-toast.error{border-color:color-mix(in srgb, #ef5262 62%, var(--line))}.app-toast.info{border-color:color-mix(in srgb, #42a5f5 58%, var(--line))}.app-toast-icon{background:var(--accent);color:#fff;border-radius:11px;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;font-weight:900;display:inline-flex}.app-toast.error .app-toast-icon,.app-toast.error .app-toast-timer{background:#ef5262}.app-toast.info .app-toast-icon,.app-toast.info .app-toast-timer{background:#42a5f5}.app-toast b{margin:0 0 3px;font-size:13px;display:block}.app-toast p{color:var(--muted);margin:0;font-size:13px;line-height:1.4}.app-toast button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:20px;display:flex}.app-toast button:hover{background:var(--surface-soft);color:var(--ink)}.app-toast-timer{background:var(--accent);width:100%;height:3px;animation:4.5s linear forwards toast-timer;position:absolute;bottom:0;left:0}@keyframes toast-timer{0%{transform-origin:0;transform:scaleX(1)}to{transform-origin:0;transform:scaleX(0)}}@keyframes toast-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}.history-detail,.edit-list,.candidate-list{max-height:430px;margin-top:18px;padding-right:5px;overflow-y:auto}.history-detail article,.edit-list article{border-top:1px solid var(--line);grid-template-columns:1fr auto auto;align-items:center;gap:14px;padding:14px 2px;display:grid}.history-detail article:first-child,.edit-list article:first-child{border-top:0}.history-detail small,.edit-list small,.candidate-list small,.assessment-item small{color:var(--muted);margin-top:5px;display:block}.edit-list article{grid-template-columns:1fr auto}.edit-attendance-actions{align-items:center;gap:12px;display:flex}.average-toggle{background:var(--surface-soft);border:1px solid var(--line);border-radius:12px;align-items:center;gap:12px;margin-top:18px;padding:15px;display:flex}.average-toggle input{width:20px;height:20px}.average-toggle small{color:var(--muted);margin-top:5px;display:block}.teacher-modal-actions.split{justify-content:space-between}.assessment-item{border:1px solid var(--line);border-radius:11px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:9px;padding:14px;display:flex}.assessment-actions,.assessment-form-actions{align-items:center;gap:8px;display:flex}.assessment-form-actions{justify-content:flex-end;margin-top:14px}.assessment-actions button{background:var(--surface-soft);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.assessment-actions button.delete{border-color:color-mix(in srgb,#c9434b 70%,var(--line));color:#c9434b}.assessment-actions svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:17px;height:17px}.teacher-name{color:var(--ink)!important;margin-top:8px!important}.gradebook-help{background:var(--surface-soft);border-left:4px solid var(--accent);color:var(--muted);border-radius:9px;margin:0 0 16px;padding:12px 14px}.gradebook .modal-table{max-height:420px}.gradebook th:not(:first-child),.gradebook td:not(:first-child){text-align:center}.gradebook th:first-child{min-width:180px}.gradebook .grade-input{background:var(--surface-solid);border:1px solid var(--line);color:var(--ink);text-align:center;border-radius:9px;padding:10px 7px}.decision-backdrop{z-index:1500}.decision-dialog{background:var(--surface-solid);border:1px solid var(--line);border-radius:20px;width:100%;max-width:500px;padding:26px;box-shadow:0 30px 90px #00000057}.decision-dialog h2{font-family:var(--display);margin:9px 0 10px;font-size:27px}.decision-dialog>p{color:var(--muted);line-height:1.55}.decision-dialog textarea{background:var(--surface-soft);border:1px solid var(--line);color:var(--ink);resize:vertical;border-radius:10px;width:100%;min-height:105px;padding:12px}.decision-dialog>div{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.teacher-danger.filled{color:#fff;background:#c9434b}.teacher-danger.filled:disabled{cursor:not-allowed;opacity:.45}.print-sheet>header{color:#fff;background:#1e2b40;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;margin-bottom:16px;padding:16px 18px;display:grid}.print-sheet>header h2{color:#fff;font-family:var(--display);margin:2px 0;font-size:23px}.print-sheet>header p,.print-sheet>header small{color:#fff;margin:0}.print-sheet>header time{align-self:start;font-size:11px}.print-emblem{color:#1e2b40;font-family:var(--display);background:#fff;border-radius:7px;justify-content:center;align-items:center;width:46px;height:46px;font-weight:900;display:flex}.print-sheet .percentage{color:#15945f;font-weight:900}.print-sheet .percentage.warning{color:#b07509}.course-card .attendance-percentage-warning{color:#e4ac3a;font-weight:800}:root:not([data-theme=dark]) .course-card .attendance-percentage-warning{color:#a66b00}.print-sheet .sheet-status{background:0 0;border:0;width:auto;height:auto}.print-sheet .sheet-status.Present{color:#15945f}.print-sheet .sheet-status.Absent{color:#c9434b}.print-sheet .sheet-status.ExcusedAbsence{color:#307bb8}.candidate-controls{grid-template-columns:1fr 320px;align-items:end;gap:14px;display:grid}.candidate-controls label{margin:0}.mode-tabs{background:var(--surface-soft);border:1px solid var(--line);border-radius:11px;grid-template-columns:repeat(3,1fr);padding:4px;display:grid}.mode-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;min-height:38px;font-weight:850}.mode-tabs button.active{background:var(--ink);color:var(--background)}.modality-options{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.modality-options button{background:var(--surface-soft);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:14px;min-height:104px;padding:18px 12px}.modality-options b,.modality-options span{display:block}.modality-options b{font-size:19px}.modality-options span{color:var(--muted);margin-top:7px;font-size:12px}.modality-options button.selected{border-width:2px;box-shadow:0 10px 28px #0000001a}.modality-options button.selected.cmc{background:#38bdf829;border-color:#38bdf8}.modality-options button.selected.cmi{background:#4ade8024;border-color:#4ade80}.modality-options button.selected.libre{background:#ca8a042b;border-color:#ca8a04}.candidate-summary{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:18px;padding-bottom:13px;display:flex}.candidate-summary span{color:var(--muted);font-size:13px}.candidate-summary{justify-content:flex-end}.compact-selector .teacher-selector-step{gap:12px;display:grid}.compact-selector .teacher-selector-step>span{margin-bottom:2px}.candidate-list{background:var(--surface-soft);border:1px solid var(--line);border-radius:13px;padding:8px}.candidate-list>label{background:var(--surface-solid);border:1px solid var(--line);cursor:pointer;border-radius:11px;grid-template-columns:auto auto 1fr;align-items:center;gap:12px;margin-bottom:8px;padding:12px;display:grid}.candidate-list>label:last-child{margin-bottom:0}.candidate-list input{width:20px;height:20px}.candidate-avatar{background:var(--surface-soft);color:var(--accent);border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-weight:900;display:inline-flex}:root:not([data-theme=dark]) .teacher-toolbar,:root:not([data-theme=dark]) .compact-selector{background:#fff;border-color:#1043493b;box-shadow:0 18px 42px #11373c17}:root:not([data-theme=dark]) .toolbar-group{background:#eef4f1}:root:not([data-theme=dark]) .teacher-toolbar,:root:not([data-theme=dark]) .compact-selector,:root:not([data-theme=dark]) .teacher-modal,:root:not([data-theme=dark]) .teacher-table-wrap,:root:not([data-theme=dark]) .candidate-list{border-color:#83aaa7;box-shadow:0 9px 24px #123f441c}:root:not([data-theme=dark]) .teacher-roster-search,:root:not([data-theme=dark]) .teacher-toolbar>select,:root:not([data-theme=dark]) .grade-input,:root:not([data-theme=dark]) .candidate-controls input,:root:not([data-theme=dark]) .teacher-selector-step button{border-color:#8daead}:root:not([data-theme=dark]) .toolbar-group,:root:not([data-theme=dark]) .candidate-list>label,:root:not([data-theme=dark]) .modality-options button{border-color:#9ebcba;box-shadow:0 3px 9px #123f4412}@media (width<=1100px){.teacher-toolbar{grid-template-columns:auto 1fr}.toolbar-actions{grid-column:1/-1;justify-content:flex-start}}@media (width<=700px){.teacher-roster-card{min-width:0;padding:16px}.teacher-roster-desktop{display:none}.teacher-roster-mobile{gap:12px;min-width:0;margin-top:16px;display:grid}.teacher-mobile-student{background:var(--surface-solid);border:1px solid var(--line);border-radius:14px;min-width:0;padding:15px}.teacher-mobile-student-name b{overflow-wrap:anywhere;font-size:16px;line-height:1.3;display:block}.teacher-mobile-student-name small{color:var(--muted);margin-top:5px;font-size:12px;display:block}.teacher-mobile-attendance{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;min-width:0;margin-top:14px;display:grid}.teacher-mobile-attendance button{background:var(--surface-soft);border:1px solid var(--line);color:var(--ink);cursor:pointer;touch-action:manipulation;border-radius:11px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:0;min-height:58px;padding:7px 3px;display:flex}.teacher-mobile-attendance button b{font-size:18px}.teacher-mobile-attendance button span{font-size:clamp(9px,2.7vw,11px);font-weight:700;line-height:1.1}.teacher-mobile-attendance button.selected.Present{color:#fff;background:#16875e;border-color:#16875e}.teacher-mobile-attendance button.selected.Absent{color:#fff;background:#bd3f4b;border-color:#bd3f4b}.teacher-mobile-attendance button.selected.ExcusedAbsence{color:#fff;background:#3278ad;border-color:#3278ad}.teacher-mobile-attendance button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.teacher-mobile-unavailable{color:var(--muted);text-align:center;margin:14px 0 0;font-size:12px;line-height:1.4}.teacher-mobile-student-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:9px;margin-top:14px;display:flex}.teacher-mobile-student-footer .modality-button,.teacher-mobile-student-footer .row-danger{min-height:44px}.edit-list article{grid-template-columns:minmax(0,1fr)}.edit-attendance-actions{flex-wrap:wrap;align-items:stretch}.edit-attendance-actions .row-attendance{flex:100%}.edit-attendance-actions .row-attendance button{touch-action:manipulation;flex:1;min-width:0;height:50px}.compact-selector{padding:22px}.teacher-toolbar{grid-template-columns:1fr;align-items:stretch}.teacher-toolbar>select,.toolbar-actions{grid-column:auto}.toolbar-actions,.toolbar-group{flex-direction:column;align-items:stretch}.toolbar-group button{width:100%}.teacher-section-heading{flex-direction:column;align-items:stretch;gap:14px}.teacher-roster-search{max-width:none}.candidate-controls,.modality-options{grid-template-columns:1fr}.history-detail article{grid-template-columns:1fr auto}.history-detail .row-danger{grid-column:1/-1}.teacher-toast{top:14px;left:16px;right:16px}.print-sheet>header{grid-template-columns:auto 1fr;align-items:start}.print-sheet>header time{grid-column:1/-1}}@media (width<=420px){.shell{padding-inline:14px}.topbar .brand-mark{flex:0 0 40px;width:40px;height:40px}.topbar .brand-mark img{width:30px;height:30px}}@media print{@page{margin:12mm;size:landscape}.teacher-modal:has(.print-sheet)>header{display:none!important}.teacher-modal:has(.print-sheet) .teacher-modal-body{padding:0}.print-sheet{color:#111;font-family:Arial,sans-serif}.print-sheet>header{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#1e2b40!important}.print-sheet .print-toolbar{display:none!important}.print-sheet .modal-table{border:0}.print-sheet table{font-size:10px}.print-sheet th{-webkit-print-color-adjust:exact;print-color-adjust:exact;color:#fff!important;background:#33425a!important}.print-sheet td{color:#111;border:1px solid #d7dde5;padding:7px}}.calendar-dual button{justify-self:center;width:min(100%,250px)}.teacher-modal.admin-modal{transform-origin:50%;margin:auto;animation:.18s ease-out both admin-modal-arrival}@keyframes admin-modal-arrival{0%{opacity:.78;transform:scale(.985)}to{opacity:1;transform:scale(1)}}.mode-menu-options{transform-origin:top;animation:.16s ease-out both mode-menu-centered-arrival;left:50%;right:auto;transform:translate(-50%)}@keyframes mode-menu-centered-arrival{0%{opacity:0;transform:translate(-50%)translateY(-5px)scale(.96)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}.teacher-modal-close,.person-window nav .person-close,.danger-outline,.icon-danger,.person-edit-actions .danger{transition:background-color .18s,border-color .18s,color .18s,box-shadow .18s,transform .18s}.teacher-modal-close:hover,.person-window nav .person-close:hover,.danger-outline:hover,.icon-danger:hover,.person-edit-actions .danger:hover{color:#fff;background:#b93243;border-color:#ef6e7d;transform:translateY(-1px);box-shadow:0 3px 12px #c32b4047}:root:not([data-theme=dark]) .person-window nav .person-close:hover{color:#fff;background:#b93243;border-color:#ef6e7d}.person-window.minimized>header nav button{display:none!important}.person-window.minimized>header nav .person-close{display:block!important}.cmi-calendar-panel{gap:16px;display:grid}.cmi-calendar-panel>header{justify-content:space-between;align-items:end;gap:18px;display:flex}.cmi-calendar-panel>header h3,.cmi-calendar-panel>header p{margin:0 0 5px}.cmi-calendar-panel>header p,.cmi-period-heading small,.cmi-group-fields small,.cmi-common-fields small{color:var(--muted);font-size:12px}.cmi-calendar-panel>header label{flex:0 0 120px;gap:5px;font-size:11px;font-weight:800;display:grid}.cmi-calendar-panel input,.cmi-period-card button{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:10px}.cmi-period-card{background:var(--surface-soft);border:1px solid var(--line);border-radius:14px;gap:14px;padding:16px;display:grid}.cmi-period-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.cmi-period-heading div,.cmi-group-fields label,.cmi-common-fields label{gap:6px;display:grid}.cmi-period-heading span{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:6px 9px;font-size:11px}.cmi-group-fields,.cmi-common-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.cmi-group-fields label,.cmi-common-fields label{font-size:12px;font-weight:800}.cmi-phase-ok,.cmi-phase-error{margin:0;font-size:12px}.cmi-phase-ok{color:#1fa88b}.cmi-phase-error{color:#e25c6d}.cmi-period-card button{background:var(--accent);border-color:var(--accent);color:#fff;cursor:pointer;justify-self:center;width:100%;max-width:260px;font-weight:800}.cmi-period-card button:disabled{cursor:not-allowed;opacity:.5}@media (width<=650px){.cmi-calendar-panel>header,.cmi-period-heading{flex-direction:column;align-items:stretch}.cmi-calendar-panel>header label{flex:auto}.cmi-group-fields,.cmi-common-fields{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.teacher-modal.admin-modal,.mode-menu-options{animation:none!important}.teacher-modal-close,.person-window nav .person-close,.danger-outline,.icon-danger,.person-edit-actions .danger{transition:none!important}}.grade-table{min-width:930px}.grade-table th{position:static}.grade-table th:first-child{width:24%}.grade-table th:nth-child(2){width:12%}.grade-table th:nth-child(n+3):nth-child(-n+9){width:7.3%}.grade-table th:last-child{width:10%}@container (width<=1050px){.grade-table{min-width:930px;font-size:11px}.grade-table td,.grade-table th{padding:7px 5px}.grade-table input{max-width:49px}.grade-table th:first-child{width:24%}.grade-table th:last-child{width:10%}}.pre-person button{color:var(--ink);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;padding:0;font-weight:800}.pre-person button:hover{color:var(--accent);text-decoration:underline}.pre-person strong{color:var(--ink);overflow-wrap:anywhere;font-weight:800;display:block}.pre-detail dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:14px 0;display:grid}.pre-detail dl>div{background:var(--surface-soft);border:1px solid var(--line);border-radius:9px;padding:10px 12px}.pre-detail dt{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:800}.pre-detail dd{color:var(--ink);overflow-wrap:anywhere;margin:4px 0 0;font-weight:700}.announcement{padding-right:42px;position:relative}.announcement>button{width:30px;height:30px;padding:0;font-size:17px;position:absolute;top:12px;right:3px}@media (width<=650px){.pre-detail dl{grid-template-columns:1fr}}.gradebook-view .grade-table-wrap{overflow:hidden auto}.gradebook-view .grade-table{table-layout:fixed;width:100%;min-width:0;font-size:10px}.gradebook-view .grade-table td,.gradebook-view .grade-table th{padding:6px 3px;overflow:hidden}.gradebook-view .grade-table th{overflow-wrap:anywhere;font-size:9px;line-height:1.1;position:static}.gradebook-view .grade-table th:first-child{width:26%}.gradebook-view .grade-table th:nth-child(2){width:13%}.gradebook-view .grade-table th:nth-child(n+3):nth-child(-n+9){width:7%}.gradebook-view .grade-table th:last-child{width:12%}.gradebook-view .grade-table input,.gradebook-view .grade-table select{box-sizing:border-box;width:100%;min-width:0;max-width:none;padding:5px 2px;font-size:10px}.gradebook-view .grade-table .compact-save{overflow-wrap:anywhere;width:100%;padding:6px 2px;font-size:9px}.gradebook-view .grade-subject,.gradebook-view .grade-subject b{display:block}.gradebook-view .grade-subject .mode-pill{margin-top:3px;display:inline-block}@container (width<=720px){.gradebook-view .grade-table{font-size:9px}.gradebook-view .grade-table td,.gradebook-view .grade-table th{padding:5px 2px}.gradebook-view .grade-table th:first-child{width:24%}.gradebook-view .grade-table th:nth-child(2){width:14%}.gradebook-view .grade-table th:last-child{width:13%}.gradebook-view .grade-table th:nth-child(n+3):nth-child(-n+9){width:7%}}.topbar-actions .quiet-button,.app-toast button{transition:background-color .18s,border-color .18s,color .18s,transform .18s}.topbar-actions .quiet-button:hover,.app-toast button:hover{color:#fff;background:#b93243;border-color:#ef6e7d;transform:translateY(-1px)}@media (prefers-reduced-motion:reduce){.topbar-actions .quiet-button,.app-toast button{transition:none!important}}.student-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0 0 38px;display:grid}.student-overview-grid .student-data-panel{min-height:260px;margin:0}.overview-panel>header{align-items:center;padding:21px 22px 12px}.overview-panel h2{font-size:22px}.overview-count{background:var(--surface-soft);border:1px solid var(--line);color:var(--accent);border-radius:999px;padding:6px 10px;font-size:11px;font-weight:850}.overview-list{gap:8px;padding:0 22px 16px;display:grid}.overview-list>.empty{font-size:13px}.overview-item{border:1px solid var(--line);border-radius:10px;gap:4px;min-width:0;padding:10px 12px;display:grid}.overview-item b{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.overview-item p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.overview-item time,.overview-detail time{color:var(--accent);font-size:11px;font-weight:850}.overview-item button,.overview-more{color:var(--accent);cursor:pointer;background:0 0;border:0;justify-self:start;padding:2px 0;font-size:11px;font-weight:850}.overview-item button:hover,.overview-more:hover{text-decoration:underline}.overview-more{margin:0 22px 16px}.student-overview-modal{max-width:660px}.overview-detail{border-bottom:1px solid var(--line);padding:14px 2px}.overview-detail:last-child{border-bottom:0}.overview-detail h3{margin:5px 0 8px;font-size:16px}.overview-detail p{color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 8px;font-size:13px;line-height:1.55}.overview-detail small{color:var(--muted)}.course-grid.collapsed .course-card:nth-of-type(n+10){display:none}.course-more{background:var(--surface);border:1px solid var(--line);color:var(--accent);cursor:pointer;border-radius:9px;margin:15px auto 0;padding:10px 18px;font-weight:850;display:block}.course-more.mobile-only{display:none}.course-card .course-modality{background:color-mix(in srgb,var(--accent) 14%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 40%,var(--line));border-radius:999px;padding:5px 9px;font-size:10px}.progress.attendance-green i{background:#2bbf78}.progress.attendance-yellow i{background:#e9af27}.progress.attendance-red i{background:#e85560}.progress.attendance-green{background:color-mix(in srgb,#2bbf78 18%,var(--surface-soft))}.progress.attendance-yellow{background:color-mix(in srgb,#e9af27 19%,var(--surface-soft))}.progress.attendance-red{background:color-mix(in srgb,#e85560 19%,var(--surface-soft))}:root:not([data-theme=dark]) .course-card,:root:not([data-theme=dark]) .student-data-panel,:root:not([data-theme=dark]) .history-grid>div{border-color:#769a99;box-shadow:0 8px 25px #14373c21}:root:not([data-theme=dark]) .overview-item{background:#fbfefe;border-color:#9bb9b7}@media (width<=760px){.student-overview-grid{grid-template-columns:1fr;margin-bottom:30px}.course-grid.collapsed .course-card:nth-of-type(n+4){display:none}.course-more.mobile-only{display:block}}.public-pre-nav>a:first-child img{object-fit:contain;width:34px;height:34px}.public-form-grid .locality-field{position:relative}.locality-field>small{color:var(--muted);text-transform:none;font-size:10px;font-weight:600;line-height:1.35}.locality-options{background:var(--surface-solid);border:1px solid var(--line);z-index:5;border-radius:10px;max-height:238px;position:absolute;top:calc(100% - 19px);left:0;right:0;overflow:auto;box-shadow:0 12px 28px #0000002e}.locality-options button{border:0;border-bottom:1px solid var(--line);color:var(--ink);cursor:pointer;font:inherit;text-align:left;text-transform:none;background:0 0;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:10px 12px;display:flex}.locality-options button:hover,.locality-options button:focus-visible{background:color-mix(in srgb,var(--accent) 10%,var(--surface-solid));outline:none}.locality-options button small{color:var(--muted);font-size:10px}:root[data-theme=dark] .public-form-grid select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root:not([data-theme=dark]) .public-form-grid select,:root:not([data-theme=dark]) .public-form-grid input{background:#fff;border-color:#88aaa7;box-shadow:0 2px 7px #123f440f}.pre-detail-layer .teacher-modal-backdrop,.nested-confirm-layer .teacher-modal-backdrop{z-index:1700}.pre-detail-layer .teacher-modal,.nested-confirm-layer .teacher-modal{flex-direction:column;max-height:calc(100dvh - 32px);display:flex}.pre-detail-layer .teacher-modal>header,.nested-confirm-layer .teacher-modal>header{flex:none}.pre-detail-layer .teacher-modal-body,.nested-confirm-layer .teacher-modal-body{overscroll-behavior:contain;flex:auto;min-height:0;overflow-y:auto}.pre-detail-layer .teacher-modal{max-width:780px}.nested-confirm-layer .teacher-modal{max-width:520px}.delete-confirm p{color:var(--ink);margin:0 0 20px;line-height:1.5}.delete-confirm>div{flex-wrap:wrap;justify-content:flex-end;gap:9px;display:flex}.delete-confirm button{background:var(--surface-soft);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:9px;padding:10px 13px;font-weight:800}:root:not([data-theme=dark]) .login-card,:root:not([data-theme=dark]) .admin-command-main,:root:not([data-theme=dark]) .admin-create-card,:root:not([data-theme=dark]) .public-pre-card,:root:not([data-theme=dark]) .teacher-course-header,:root:not([data-theme=dark]) .teacher-roster-card{border:1px solid #7da7a4;box-shadow:0 10px 30px #13393e24}:root:not([data-theme=dark]) .admin-command-main,:root:not([data-theme=dark]) .admin-create-card,:root:not([data-theme=dark]) .teacher-roster-card{background:#fff}:root:not([data-theme=dark]) .pre-status,:root:not([data-theme=dark]) .command-search input,:root:not([data-theme=dark]) .teacher-toolbar{background:#f5faf9;border:1px solid #87aaa7;box-shadow:0 3px 10px #13393e12}:root:not([data-theme=dark]) .command-search input:focus{border-color:#087c78;outline:3px solid #087c7824}:root:not([data-theme=dark]) .pre-status button{color:#075b4c;background:#e8f7ef;border-color:#087c78}:root:not([data-theme=dark]) .pre-status.closed button{color:#a32536;background:#fff1f1;border-color:#b93243}:root:not([data-theme=dark]) .theme-button{background:#e8f5f3;border:1px solid #5d9c97;box-shadow:0 2px 7px #13393e1f}:root:not([data-theme=dark]) .theme-button:hover{background:#d1ebe7;border-color:#087c78}:root:not([data-theme=dark]) .topbar-actions .quiet-button{color:#952d3b;background:#fff2f2;border:1px solid #bd6a73}:root:not([data-theme=dark]) .topbar-actions .quiet-button:hover{color:#fff;background:#b93243}:root:not([data-theme=dark]) .teacher-course-header{border-radius:17px;padding:23px}.public-pre-nav>a:first-child{background:#15353b}.print-emblem img{object-fit:contain;width:42px;height:42px}.print-emblem{background:#fff url(/assets/LogoISP62.png) 50%/contain no-repeat;font-size:0}:root:not([data-theme=dark]) .enrollment-shell .teacher-modal-body label{color:var(--muted);gap:7px;font-size:12px;font-weight:800;display:grid}.enrollment-shell .teacher-modal-body textarea{background:var(--surface-soft);border:1px solid var(--line);color:var(--ink);font:inherit;resize:vertical;border-radius:9px;min-height:95px;padding:11px}
