:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f4f0e8;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--bg:#101312;--panel:#171b19;--panel-2:#1d221f;--line:#f4f0e81f;--muted:#a9b0aa;--text:#f4f0e8;--teal:#21b8a6;--amber:#edb84b;--rose:#ec7a9b;--green:#78c56e;--violet:#9d8cf5;--danger:#ef8a72;--shadow:0 22px 80px #00000059;background:#101312;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(135deg, #21b8a614, transparent 34%), linear-gradient(315deg, #edb84b14, transparent 30%), var(--bg);min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.loading-shell,.gate-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.loader{border:3px solid #f4f0e82e;border-top-color:var(--teal);border-radius:50%;width:42px;height:42px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.gate-panel{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 92%, black);width:min(860px,100%);box-shadow:var(--shadow);border-radius:8px;padding:34px}.gate-brand{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:22px;display:grid}.brand-logo,.class-logo{object-fit:cover;background:#f8f5ef;border:1px solid #edb84b5c;border-radius:50%;display:block;box-shadow:0 14px 36px #00000047}.brand-logo{aspect-ratio:1;width:clamp(96px,18vw,146px)}.gate-mark,.class-card__icon,.mode-icon{color:#071412;background:var(--teal);border-radius:8px;place-items:center;width:58px;height:58px;display:grid}.eyebrow{color:var(--amber);letter-spacing:0;text-transform:uppercase;margin:0 0 8px;font-size:.78rem;font-weight:800}h1,h2,h3,p{overflow-wrap:anywhere}.gate-panel h1{margin:0;font-size:clamp(2.4rem,7vw,5rem);line-height:.95}.gate-copy{max-width:48rem;color:var(--muted);font-size:1.05rem}.mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:30px;display:grid}.mode-card{border:1px solid var(--line);min-height:138px;color:var(--text);background:var(--panel-2);text-align:left;border-radius:8px;align-items:center;gap:16px;padding:20px;display:flex}.mode-card:hover{border-color:color-mix(in srgb, var(--teal) 60%, white);transform:translateY(-1px)}.mode-card--edit .mode-icon{background:var(--amber)}.mode-card strong{font-size:1.2rem;display:block}.mode-card small{color:var(--muted);margin-top:4px;display:block}.app-shell{grid-template-columns:306px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:#111513;flex-direction:column;gap:16px;height:100vh;padding:18px;display:flex;position:sticky;top:0;overflow-y:auto}.back-button,.icon-text-button,.clear-button,.primary-button,.secondary-button,.icon-button,.toast{border:1px solid var(--line);min-height:40px;color:var(--text);background:var(--panel-2);border-radius:8px;justify-content:center;align-items:center;gap:8px;display:inline-flex}.back-button{justify-content:flex-start;padding:0 12px}.icon-button{width:42px;padding:0}.primary-button{color:#071412;background:var(--teal);border-color:#0000;padding:0 16px;font-weight:800}.secondary-button,.clear-button,.icon-text-button{padding:0 12px}.class-card,.workbook-card,.kpi-card,.student-card,.toolbar{border:1px solid var(--line);background:var(--panel);border-radius:8px}.class-card{padding:18px}.class-logo{aspect-ratio:1;width:104px}.class-card p{color:var(--muted);margin:16px 0 4px;font-weight:700}.class-card h1{margin:0;font-size:clamp(1.7rem,6vw,2.15rem);line-height:1}.class-card span{color:var(--amber);font-weight:800}.summary-stack,.workbook-card{gap:10px;display:grid}.count-bar{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;padding:12px}.count-bar__top{color:var(--muted);justify-content:space-between;gap:12px;font-size:.88rem;display:flex}.count-bar__top span{align-items:center;gap:7px;display:inline-flex}.count-bar__top strong{color:var(--text)}.meter{background:#f4f0e81a;border-radius:999px;height:8px;margin-top:10px;overflow:hidden}.meter span{border-radius:inherit;height:100%;display:block}.tone-rose{background:var(--rose)}.tone-teal{background:var(--teal)}.tone-amber{background:var(--amber)}.tone-green{background:var(--green)}.workbook-card{padding:14px}.section-title,.filter-label{color:var(--muted);align-items:center;gap:8px;font-weight:800;display:inline-flex}.summary-mini{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding:10px 0;display:flex}.summary-mini span{color:var(--muted)}.content{min-width:0;padding:24px}.topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.topbar h2{margin:0;font-size:clamp(1.8rem,4vw,3.6rem)}.mode-pill{border:1px solid var(--line);min-height:34px;color:var(--amber);text-transform:uppercase;background:#edb84b14;border-radius:999px;align-items:center;padding:0 12px;font-size:.78rem;font-weight:900;display:inline-flex}.toolbar{padding:14px}.search-box{border:1px solid var(--line);background:#111513;border-radius:8px;align-items:center;gap:10px;min-height:48px;padding:0 14px;display:flex}.search-box input{width:100%;min-width:0;color:var(--text);background:0 0;border:0;outline:0}.filter-strip{flex-wrap:wrap;align-items:end;gap:10px;margin-top:12px;display:flex}.filter-select{gap:5px;display:grid}.filter-select span{color:var(--muted);font-size:.75rem;font-weight:800}.filter-select select,.edit-field input,.edit-field select,.edit-field textarea{border:1px solid var(--line);width:100%;min-height:40px;color:var(--text);background:#111513;border-radius:8px;outline:none}.filter-select select{min-width:118px;padding:0 10px}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0;display:grid}.kpi-card{align-content:center;gap:6px;min-height:104px;padding:16px;display:grid}.kpi-card svg{color:var(--teal)}.kpi-card span{color:var(--muted);font-size:.84rem;font-weight:800}.kpi-card strong{overflow-wrap:anywhere;font-size:1.55rem}.student-list{grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:14px;display:grid}.student-card{min-width:0;padding:16px}.student-card__head{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;display:grid}.roll-badge{color:#101312;background:var(--amber);border-radius:8px;place-items:center;width:58px;min-height:58px;display:grid}.roll-badge span{text-transform:uppercase;font-size:.68rem;font-weight:900}.roll-badge strong{font-size:1.2rem}.student-title{min-width:0}.student-title h3{margin:0;font-size:1.12rem}.student-title p{color:var(--muted);align-items:center;gap:6px;margin:4px 0 0;display:inline-flex}.gender-mark{color:var(--muted);display:inline-flex}.gender-mark--girl{color:var(--rose)}.gender-mark--boy{color:var(--teal)}.student-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0;display:grid}.field-line{border:1px solid var(--line);background:#111513;border-radius:8px;gap:10px;min-width:0;padding:10px;display:flex}.field-line--sc{background:#ec7a9b1a;border-color:#ec7a9b9e}.field-line--sc .field-icon,.field-line--sc .field-text strong{color:var(--rose)}.field-icon{color:var(--teal)}.field-text{gap:2px;min-width:0;display:grid}.field-text span{color:var(--muted);font-size:.73rem;font-weight:800}.field-text strong{overflow-wrap:anywhere;min-width:0;font-size:.93rem}.student-card__foot{color:var(--muted);justify-content:flex-end;align-items:center;gap:12px;display:flex}.record-nav{justify-content:space-between;align-items:center;gap:14px;margin:16px 0 14px;display:flex}.record-nav__title h3{margin:0;font-size:1.25rem}.view-switcher{border:1px solid var(--line);background:#111513;border-radius:8px;gap:4px;padding:4px;display:inline-flex}.view-tab{min-height:36px;color:var(--muted);background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-weight:800;display:inline-flex}.view-tab--active{color:#071412;background:var(--amber)}.student-table-panel{border:1px solid var(--line);background:var(--panel);border-radius:8px;overflow:hidden}.student-table-scroll{overflow-x:auto}.student-table{border-collapse:collapse;width:100%;min-width:980px}.student-table th,.student-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #f4f0e814;padding:11px 12px}.student-table th{z-index:1;color:var(--muted);background:color-mix(in srgb, var(--panel) 94%, black);text-transform:uppercase;font-size:.74rem;font-weight:900;position:sticky;top:0}.student-table td{color:var(--text)}.student-table tbody tr:hover td{background:#21b8a60f}.student-table__roll{color:var(--amber);font-weight:900}.student-table__gender{align-items:center;gap:6px;display:inline-flex}.student-table__sc-row td{background:#ec7a9b14}.student-table__sc-row td:nth-child(6){color:#ffd1dd;font-weight:900}.table-action{border:1px solid var(--line);min-height:34px;color:var(--text);background:var(--panel-2);border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 10px;display:inline-flex}.count-tables{border:1px solid var(--line);background:var(--panel);border-radius:8px;margin:16px 0;padding:16px}.count-tables__head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.count-tables__head h3{margin:0;font-size:1.35rem}.count-table-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.count-table-card{border:1px solid var(--line);background:#111513;border-radius:8px;min-width:0;overflow:hidden}.count-table-card h4{color:var(--amber);border-bottom:1px solid var(--line);margin:0;padding:12px 14px}.table-scroll{overflow-x:auto}.count-table-card table{border-collapse:collapse;width:100%;min-width:260px}.count-table-card th,.count-table-card td{text-align:left;white-space:nowrap;border-bottom:1px solid #f4f0e814;padding:10px 12px}.count-table-card th{color:var(--muted);text-transform:uppercase;font-size:.75rem}.count-table-card td{color:var(--text);font-weight:700}.count-table-card tr:last-child td{border-bottom:0}.count-table-card .total-row td{color:var(--teal);background:#21b8a614}.count-table-card .sc-row td{color:#ffd1dd;background:#ec7a9b1f}.count-table-card .sc-row.total-row td{color:var(--teal);background:#21b8a614}.modal-backdrop{z-index:20;background:#000000b8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.detail-modal{border:1px solid var(--line);background:var(--panel);width:min(960px,100%);max-height:min(900px,92vh);box-shadow:var(--shadow);border-radius:8px;overflow:auto}.modal-head,.modal-actions{z-index:2;background:color-mix(in srgb, var(--panel) 94%, black);justify-content:space-between;align-items:center;gap:14px;padding:18px;display:flex;position:sticky}.modal-head{border-bottom:1px solid var(--line);top:0}.modal-head h2{margin:0}.modal-actions{border-top:1px solid var(--line);bottom:0}.edit-section{border-bottom:1px solid var(--line);padding:18px}.edit-section h3{color:var(--amber);margin:0 0 12px}.edit-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.edit-field{gap:7px;min-width:0;display:grid}.edit-field span{color:var(--muted);font-size:.78rem;font-weight:900}.edit-field input,.edit-field select,.edit-field textarea{padding:0 11px}.edit-field textarea{resize:vertical;min-height:86px;padding-top:10px}.edit-field--wide{grid-column:1/-1}.toast{z-index:30;box-shadow:var(--shadow);background:#241f19;padding:0 14px;position:fixed;bottom:18px;right:18px}@media (width<=980px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));height:auto;display:grid;position:static}.back-button,.summary-stack{grid-column:1/-1}.kpi-grid,.count-table-grid,.edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.gate-panel{padding:22px}.gate-brand,.mode-grid,.student-grid,.kpi-grid,.edit-grid,.sidebar{grid-template-columns:1fr}.content{padding:16px}.topbar,.student-card__head,.record-nav{grid-template-columns:1fr;display:grid}.view-switcher{width:100%}.view-tab{flex:1}.student-list,.count-table-grid{grid-template-columns:1fr}.modal-backdrop{padding:0}.detail-modal{border-radius:0;width:100%;height:100vh;max-height:none}}
