@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/c3cb240f9c892514-s.163v2i5cux7-c.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_dffaa2c9-module__wX8OqW__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_dffaa2c9-module__wX8OqW__variable{--font-sans:"DM Sans", "DM Sans Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.08hd0g.321csk.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.0x08jh8vondwt.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.0~wrfy7sm-h4g.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.0k_.i63k_i_qa.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.16-z~2sp29ex6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.0m9hhkgdlzukj.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.0juuwbcf7uz~t.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.0qg7j5o.yrclm.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.0hkrq11n-dhos.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.07ig5l8azj~hy.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_3d32714f-module__BqeOpa__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_3d32714f-module__BqeOpa__variable{--font-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
:root{--bg-1:#f2f7f3;--bg-2:#eaf1ff;--card:#fff;--ink:#18251f;--muted:#5b6b64;--line:#d6e2dc;--brand:#146a5a;--brand-2:#2e5ea8;--soft:#f6faf8}*{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100%}body{font-family:var(--font-sans), sans-serif;color:var(--ink);background:radial-gradient(circle at 8% 0%, #edf7f2 0, var(--bg-1) 45%, var(--bg-2) 100%)}main{gap:1rem;max-width:1240px;margin:0 auto;padding:1.5rem 1rem 3rem;display:grid}.login-main{place-items:center;min-height:100vh;padding:1.2rem;display:grid}.login-card{gap:.9rem;width:min(520px,100%);display:grid}.login-form{gap:.65rem;display:grid}.app-topbar{border:1px solid var(--line);background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:.8rem;padding:.75rem .9rem;display:flex}.app-topbar p{color:var(--muted);margin-top:.2rem;font-size:.84rem}.app-nav-links{align-items:center;gap:.4rem;display:flex}.app-nav-links a{color:#315247;background:#f8fbf9;border:1px solid #d2e1da;border-radius:999px;padding:.35rem .7rem;font-size:.84rem;font-weight:700;text-decoration:none}.app-nav-links a.active{color:#fff;background:#146a5a;border-color:#0f5a4c}h1,h2,h3{letter-spacing:-.02em}h3{margin-bottom:.6rem;font-size:1rem}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1rem;box-shadow:0 10px 24px #122f270d}.hero{background:linear-gradient(120deg,#e7f8f2 0%,#edf4ff 100%);border:1px solid #cfe1da;border-radius:16px;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.2rem;display:flex}.hero h1{font-size:clamp(1.45rem,2.2vw,1.95rem)}.hero p{color:#2f4f43;margin-top:.35rem}.mode-switch{align-items:center;gap:.5rem;padding:.45rem;display:flex}.mode-button{color:#315247;cursor:pointer;background:#f8fbf9;border:1px solid #d2e1da;border-radius:999px;padding:.46rem .88rem;font-size:.83rem;font-weight:700;transition:all .12s ease-out}.mode-button:hover{background:#edf5f1}.mode-button.active{color:#fff;background:#146a5a;border-color:#0f5a4c;box-shadow:0 6px 14px #146a5a33}.setup-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.7rem;display:grid}.stepper-card{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.step{color:#52675f;background:#f8fbf9;border:1px dashed #c9dad2;border-radius:999px;padding:.24rem .55rem;font-size:.82rem}.step.done{color:#1f594a;background:#e8f6ef;border-style:solid;border-color:#98ccb9}.kpi-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;display:grid}.kpi-card span{color:var(--muted);font-size:.84rem}.kpi-card strong{margin-top:.2rem;font-size:1.4rem;display:block}.workspace-grid{grid-template-columns:1.55fr 1fr;gap:1rem;display:grid}.field-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}.inline-field{color:var(--muted);gap:.35rem;font-size:.84rem;display:grid}.inline-field input,.inline-field select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:9px;min-height:34px;padding:.45rem .56rem;font-size:.84rem}.inline-field select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,#5f746a 50%),linear-gradient(135deg,#5f746a 50%,#0000 50%);background-position:calc(100% - 14px) calc(50% - 2px),calc(100% - 9px) calc(50% - 2px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:1.7rem}.primary-button,.secondary-button,.status-button,.mini-actions button{border:1px solid var(--line);cursor:pointer;white-space:normal;overflow-wrap:anywhere;border-radius:10px;padding:.5rem .62rem;font-size:.83rem;font-weight:600;line-height:1.25}.primary-button{background:var(--brand);color:#fff;border-color:#0f5a4c}.secondary-button{background:var(--soft);color:var(--ink)}.status-actions{flex-wrap:wrap;gap:.4rem;margin-top:.9rem;display:flex}.status-button{color:#234476;background:#edf4ff;border-color:#d4e1f7}.undo-button{color:#7a4b19;background:#fff3e9;border-color:#f1d5bc}.advice-box{background:#f7fbf9;border:1px solid #deebe5;border-radius:10px;gap:.2rem;margin-top:.8rem;padding:.65rem .75rem;display:grid}.advice-box strong{color:#244b40;font-size:.86rem}.advice-box p{font-size:.9rem}.advice-reason{color:var(--muted)}.board-columns{grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;margin-top:.8rem;display:grid}.board-column{background:#f8fbf9;border:1px solid #e3ece8;border-radius:10px;padding:.5rem}.board-column header{justify-content:space-between;align-items:center;margin-bottom:.45rem;display:flex}.board-column h4{color:#365348;font-size:.8rem}.board-column header span{font-size:.75rem;font-family:var(--font-mono), monospace;color:#335046}.board-column ul{gap:.35rem;list-style:none;display:grid}.board-column button{text-align:left;color:#24453b;cursor:pointer;background:#fff;border:1px solid #dce8e2;border-radius:8px;width:100%;padding:.35rem .45rem;font-size:.78rem}.student-list{gap:.65rem;margin-top:.9rem;list-style:none;display:grid}.student-row{background:#fbfdfb;border:1px solid #e4ece8;border-radius:12px;padding:.65rem}.student-row.active{border-color:#9ecfbe;box-shadow:inset 0 0 0 1px #cde8df}.student-main{text-align:left;width:100%;color:var(--ink);cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;font-weight:700;display:flex}.status-pill{color:#20584b;background:#e5f4ee;border:1px solid #cce8dc;border-radius:999px;padding:.15rem .5rem;font-size:.78rem;font-weight:600}.mini-actions{flex-wrap:wrap;gap:.45rem;margin-top:.55rem;display:flex}.mini-actions button{background:#fff;padding:.45rem .55rem;font-size:.78rem}.detail-list{gap:.55rem;list-style:none;display:grid}.detail-row{background:#fafdfb;border:1px solid #e8eeec;border-radius:10px;justify-content:space-between;gap:.8rem;padding:.58rem;display:flex}.detail-row p{color:var(--muted);margin-top:.2rem;font-size:.85rem}.detail-score{text-align:right;font-family:var(--font-mono), monospace;color:#335046;gap:.2rem;font-size:.79rem;display:grid}.tree-list{gap:.55rem;list-style:none;display:grid}.tree-list ul{border-left:2px solid #e4ece8;gap:.3rem;margin-top:.35rem;padding-left:.9rem;list-style:none;display:grid}.footer-note{color:var(--muted);font-size:.9rem}.status-message{background:#fbfdfb;border:1px solid #dfe9e4;border-radius:10px;padding:.55rem .7rem}.help-box{border-top:1px dashed #d9e4df;margin-top:.95rem;padding-top:.75rem}.help-box summary{cursor:pointer;color:#355a4d;font-weight:600}.help-box ol{color:var(--muted);gap:.3rem;margin-top:.55rem;margin-left:1rem;font-size:.88rem;display:grid}.admin-panel{gap:.9rem;display:grid}.admin-header p{color:var(--muted);margin-top:.25rem}.admin-selectors{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;display:grid}.admin-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.7rem;display:grid}.admin-card{background:#fafdfb;border:1px solid #e4ece8;border-radius:12px;gap:.6rem;padding:.75rem;display:grid}.admin-card .secondary-button,.admin-card .primary-button{width:100%}.admin-card .field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-card h4{color:#2b4f42;font-size:.88rem}.admin-form-grid{grid-template-columns:1fr}.bulk-input{border:1px solid var(--line);width:100%;min-height:82px;font-size:.82rem;font-family:var(--font-mono), monospace;color:var(--ink);resize:vertical;background:#fff;border-radius:10px;padding:.5rem .6rem}.admin-overview{border-top:1px dashed #d9e4df;gap:.6rem;padding-top:.7rem;display:grid}.admin-school-list,.admin-group-list,.admin-student-preview ul{gap:.4rem;list-style:none;display:grid}.admin-school-list>li{background:#fff;border:1px solid #e4ece8;border-radius:10px;padding:.55rem .65rem}.admin-school-head{gap:.16rem;display:grid}.admin-school-head span,.admin-group-list span{color:var(--muted);font-size:.82rem}.admin-group-list{border-left:2px solid #e4ece8;margin-top:.45rem;padding-left:.5rem}.admin-group-list li{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.7rem;display:grid}.linklike{color:#24453b;cursor:pointer;text-align:left;background:#fff;border:1px solid #dce8e2;border-radius:8px;padding:.25rem .45rem;font-size:.8rem}.linklike.active{background:#e8f6ef;border-color:#98ccb9}.admin-student-preview{background:#fff;border:1px solid #e4ece8;border-radius:10px;gap:.4rem;padding:.55rem .65rem;display:grid}.primary-button:disabled,.secondary-button:disabled,.status-button:disabled,.mini-actions button:disabled{opacity:.55;cursor:not-allowed}@media (max-width:1060px){.setup-grid,.kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-grid,.field-grid,.admin-selectors,.admin-grid,.admin-card .field-grid{grid-template-columns:1fr}.board-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){main{padding:1rem .8rem 2rem}.app-topbar{flex-direction:column;align-items:flex-start}.mode-switch{flex-wrap:wrap}.setup-grid,.kpi-row{grid-template-columns:1fr}.hero{flex-direction:column;align-items:flex-start}.detail-row{display:grid}.detail-score{text-align:left}.board-columns{grid-template-columns:1fr}}
