:root{--bg:#e7ebf0;--sidebar:#263445;--sidebar-soft:#334456;--surface:#fff;--surface-2:#f5f7fa;--line:#c8d1dc;--line-strong:#aeb9c6;--text:#1f2a37;--muted:#596778;--blue:#1f5e9f;--blue-soft:#e5f0fb;--green:#23765a;--green-soft:#e7f6ef;--amber:#9c6500;--amber-soft:#fff3d7;--red:#c2413f;--red-soft:#fff0ef;--focus:#1f5e9f;--shadow:0 10px 24px #2734451f}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,a{font:inherit}button,a{min-height:36px}:is(button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible){outline:3px solid color-mix(in srgb, var(--focus) 35%, transparent);outline-offset:2px}button{cursor:pointer}svg{flex:none;width:18px;height:18px}h1,h2,h3,p{margin:0}.admin-shell{grid-template-columns:280px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#e5edf7;background:var(--sidebar);border-right:1px solid #1f2b39;flex-direction:column;gap:22px;height:100vh;padding:16px;display:flex;position:sticky;top:0}.brand-block{align-items:center;gap:12px;min-height:56px;display:flex}.brand-mark{width:44px;height:44px;color:var(--blue);background:#dce7f2;border-radius:8px;place-items:center;display:grid}.brand-block h1{font-size:23px;line-height:1.1}.brand-block span,.sidebar-card p,.page-title span,.eyebrow,.metric-card span,.teacher-record small,.component-row span,.trace-item p,.trace-item small,.scenario-result span{color:var(--muted)}.brand-block span,.sidebar-card p{color:#aeb9c8}.nav-stack{gap:6px;display:grid}.nav-button{color:#cbd5e1;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:22px 1fr 16px;align-items:center;gap:10px;width:100%;padding:10px 12px;display:grid}.nav-button:hover,.nav-button.active{background:var(--sidebar-soft);color:#fff;border-color:#ffffff1a}.nav-button svg:last-child{color:#7d8ba0;width:14px;height:14px}.sidebar-card{background:#ffffff0f;border:1px solid #ffffff1f;border-radius:8px;margin-top:auto;padding:14px}.card-kicker{color:#9fb2c8;margin-bottom:7px;font-size:12px;display:block}.sidebar-card strong{margin-bottom:5px;font-size:18px;display:block}.admin-main{min-width:0;padding:14px}.command-bar{border-bottom:1px solid var(--line-strong);background:#f8fafc;grid-template-columns:auto minmax(220px,1fr) minmax(260px,420px) auto;align-items:center;gap:14px;margin:-14px -14px 12px;padding:10px 14px;display:grid}.menu-button{display:none}.page-title{gap:3px;display:grid}.page-title h2{font-size:20px;line-height:1.15}.page-title span,.eyebrow,.metric-card span,.teacher-head,.card-kicker{letter-spacing:0;text-transform:uppercase;font-size:12px;font-weight:700}.search-box{border:1px solid var(--line);background:var(--surface);border-radius:8px;align-items:center;gap:9px;min-height:36px;padding:0 12px;display:flex}.search-box svg{color:#8b98a8}.search-box input{width:100%;color:var(--text);background:0 0;border:0;outline:0}.toolbar,.hero-actions,.workspace-actions,.download-row{align-items:center;gap:10px;display:flex}.status-pill{border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:0 10px;display:inline-flex}.status-pill span{background:var(--amber);border-radius:999px;width:9px;height:9px}.status-pill.live span{background:var(--green)}.status-pill.offline span{background:var(--red)}.icon-button,.primary-action,.secondary-action,.icon-text-button{border-radius:8px;justify-content:center;align-items:center;gap:8px;text-decoration:none;display:inline-flex}.icon-button{border:1px solid var(--line);background:var(--surface);width:36px;height:36px;color:var(--text)}.primary-action{background:var(--blue);color:#fff;border:1px solid #1d4ed8;min-height:36px;padding:0 14px;font-weight:800}.secondary-action,.icon-text-button{border:1px solid var(--line-strong);background:var(--surface);min-height:34px;color:var(--text);padding:0 12px;font-weight:700}.dashboard-grid{grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:16px;display:grid}.management-grid{grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:14px;display:grid}.management-grid.table-first{grid-template-columns:minmax(0,1fr) minmax(360px,.42fr)}.hero-panel,.kpi-row,.wide-panel,.workspace-header,.teacher-list-panel{grid-column:1/-1}.workspace-header{border:1px solid var(--line);background:linear-gradient(#fff 0%,#f3f6f9 100%);border-radius:8px;justify-content:space-between;align-items:center;gap:16px;min-height:82px;padding:12px;display:flex}.erp-workbar{border-color:var(--line-strong);box-shadow:none}.workspace-header h3{font-size:20px;line-height:1.18}.workspace-header p{color:var(--muted);margin-top:6px}.hero-panel{border:1px solid var(--line);min-height:172px;box-shadow:var(--shadow);background:linear-gradient(135deg,#2563eb1a,#0000 46%),linear-gradient(#fff,#f8fbff);border-radius:8px;justify-content:space-between;align-items:center;gap:18px;padding:24px;display:flex}.eyebrow{color:var(--green);margin-bottom:10px;display:inline-block}.hero-panel h3{max-width:780px;font-size:30px;line-height:1.14}.hero-panel p{max-width:720px;color:var(--muted);margin-top:10px;line-height:1.55}.kpi-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.compact-kpis{gap:10px}.metric-card,.panel{border:1px solid var(--line);background:var(--surface);border-radius:8px}.metric-card{gap:9px;min-height:98px;padding:16px;display:grid}.compact-kpis .metric-card{grid-template-columns:36px 1fr;align-items:center;min-height:70px;padding:10px}.compact-kpis .metric-card span,.compact-kpis .metric-card strong{grid-column:2}.compact-kpis .metric-card .metric-icon{grid-row:1/span 2}.metric-icon{border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.metric-card.blue .metric-icon{background:var(--blue-soft);color:var(--blue)}.metric-card.green .metric-icon{background:var(--green-soft);color:var(--green)}.metric-card.amber .metric-icon{background:var(--amber-soft);color:var(--amber)}.metric-card.ink .metric-icon{color:#344154;background:#eef2f7}.metric-card strong{overflow-wrap:anywhere;min-width:0;font-size:21px;line-height:1.12}.panel{min-width:0;padding:12px}.panel-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.panel-heading h3{font-size:15px}.panel-heading svg{color:#7b8797}.teacher-panel,.teacher-list-panel,.rules-panel,.assignments-panel{grid-column:1}.inspector-panel,.teacher-detail-panel,.scenario-panel{grid-column:2}.teacher-detail-panel{grid-column:1}.list-toolbar{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.list-actions{align-items:center;gap:8px;display:flex}.list-actions>span{background:var(--surface-2);min-height:28px;color:var(--muted);white-space:nowrap;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}.erp-filter-row{border:1px solid var(--line);background:#f8fafc;border-radius:8px;grid-template-columns:minmax(180px,1fr) minmax(130px,.7fr) minmax(150px,.8fr) auto;align-items:end;gap:8px;margin-bottom:10px;padding:10px;display:grid}.erp-filter-row label{color:var(--muted);gap:4px;font-size:12px;font-weight:800;display:grid}.erp-filter-row select{border:1px solid var(--line-strong);background:var(--surface);min-height:34px;color:var(--text);border-radius:6px;padding:0 8px}.table-scroll{border:1px solid var(--line);background:var(--surface);border-radius:8px;overflow-x:auto}.teacher-data-table{border-collapse:separate;border-spacing:0;width:100%;min-width:1120px}.teacher-data-table th,.teacher-data-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;white-space:nowrap;padding:8px 10px}.teacher-data-table th{z-index:1;color:#6c788a;text-transform:uppercase;background:#edf2f7;font-size:12px;font-weight:900;position:sticky;top:0}.teacher-data-table tbody tr{background:var(--surface);color:var(--text);transition:background .14s,box-shadow .14s}.teacher-data-table tbody tr:hover,.teacher-data-table tbody tr.selected{background:#eaf3fc}.teacher-data-table tbody tr.selected{box-shadow:inset 3px 0 0 var(--blue)}.teacher-data-table tbody tr:last-child td{border-bottom:0}.teacher-name-button{min-height:0;color:var(--text);text-align:left;background:0 0;border:0;gap:3px;padding:0;display:grid}.teacher-name-button strong{font-size:14px}.teacher-name-button span{max-width:220px;color:var(--muted);text-overflow:ellipsis;font-size:12px;overflow:hidden}.mini-avatar,.profile-photo{border:1px solid var(--line-strong);color:var(--blue);background:#e5edf5;place-items:center;font-weight:900;display:grid;overflow:hidden}.mini-avatar{border-radius:6px;width:28px;height:28px;font-size:12px}.profile-card{grid-template-columns:74px minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:10px;display:grid}.profile-photo{border-radius:8px;width:74px;height:74px}.profile-photo img{object-fit:cover;width:100%;height:100%}.profile-card h3{font-size:18px}.profile-card p{color:var(--muted);margin-top:3px}.profile-card input,.file-field input{display:none}.access-panel,.documents-panel{grid-column:2}.access-list{gap:8px;display:grid}.access-row{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;grid-template-columns:minmax(150px,1fr) minmax(120px,.8fr) minmax(160px,1fr) auto;align-items:center;gap:8px;padding:9px;display:grid}.access-row span,.helper-text{color:var(--muted);font-size:13px}.modal-backdrop{z-index:20;background:#0f172a73;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal-panel{border:1px solid var(--line-strong);background:var(--surface);width:min(680px,100%);max-height:min(760px,100vh - 36px);box-shadow:var(--shadow);border-radius:8px;overflow:auto}.modal-panel header{border-bottom:1px solid var(--line);background:#f8fafc;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.modal-panel h3{font-size:18px}.modal-form{gap:10px;padding:12px;display:grid}.modal-form label{color:var(--muted);gap:4px;font-size:12px;font-weight:800;display:grid}.modal-form input,.modal-form select,.modal-form textarea{border:1px solid var(--line-strong);background:var(--surface);min-height:36px;color:var(--text);border-radius:6px;padding:7px 9px}.modal-form textarea{resize:vertical}.form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.file-field{border:1px dashed var(--line-strong);background:var(--surface-2);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;min-height:42px}.teacher-table,.municipality-table{gap:8px;display:grid}.teacher-head{color:#7b8797;grid-template-columns:minmax(180px,1.2fr) 90px 120px 130px;gap:10px;padding:0 10px 4px;display:grid}.teacher-record{border:1px solid var(--line);background:var(--surface-2);width:100%;min-height:64px;color:var(--text);text-align:left;border-radius:8px;grid-template-columns:minmax(180px,1.2fr) 90px 120px 130px;align-items:center;gap:10px;padding:10px;display:grid}.teacher-record:hover,.teacher-record.selected{background:#f4f8ff;border-color:#9bb8f4}.teacher-record span:first-child{gap:4px;display:grid}.teacher-record b{font-size:18px}.ok,.risk{white-space:nowrap;border-radius:6px;justify-self:start;min-height:24px;padding:3px 7px;font-size:12px;font-style:normal;font-weight:800}.ok{background:var(--green-soft);color:var(--green)}.risk{background:var(--amber-soft);color:var(--amber)}.inspector-top{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:10px;display:flex}.inspector-top h3{font-size:18px}.inspector-top p{color:var(--muted);margin-top:4px}.inspector-top>strong{background:#eef2f7;border-radius:8px;padding:8px 10px;font-size:20px}.warning-card,.success-card{border-radius:8px;align-items:flex-start;gap:10px;padding:10px;display:flex}.warning-card{background:var(--amber-soft);color:#684100;border:1px solid #f0c77d}.success-card{background:var(--green-soft);color:var(--green);border:1px solid #a8dac4;align-items:center}.component-list{border-top:1px solid var(--line);margin:10px 0;display:grid}.component-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:38px;display:flex}.trace-list,.assignment-list{gap:10px;display:grid}.trace-item{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;grid-template-columns:150px minmax(180px,1fr) minmax(130px,.7fr);align-items:start;gap:10px;padding:9px;display:grid}.badge{background:var(--green-soft);width:fit-content;min-height:26px;color:var(--green);border-radius:999px;justify-content:center;align-items:center;padding:4px 8px;font-size:11px;font-weight:900;display:inline-flex}.badge.transitional_rule{background:var(--amber-soft);color:var(--amber)}.badge.school_policy{background:var(--blue-soft);color:var(--blue)}.scenario-panel label{color:var(--muted);margin-bottom:8px;font-weight:700;display:block}.scenario-controls{grid-template-columns:minmax(120px,1fr) 76px auto;align-items:center;gap:9px;display:grid}.scenario-controls input{border:1px solid var(--line);background:var(--surface);border-radius:8px;min-height:34px;padding:0 10px}.scenario-result{background:var(--surface-2);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;padding:12px;display:flex}.scenario-result strong{color:var(--green)}.assignment-item{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;grid-template-columns:minmax(180px,1fr) 70px 110px;align-items:center;gap:10px;padding:12px;display:grid}.assignment-item div{gap:4px;display:grid}.assignment-item span{color:var(--muted)}.assignment-item b{justify-self:end}.privacy-chip{background:var(--green-soft);min-height:38px;color:var(--green);white-space:nowrap;border:1px solid #a8dac4;border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-weight:800;display:inline-flex}.municipality-grid{grid-template-columns:1fr}.municipality-record{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;grid-template-columns:minmax(220px,1fr) 130px 100px 140px 110px;align-items:center;gap:10px;min-height:58px;padding:12px 10px;display:grid}@media (max-width:1180px){.admin-shell{grid-template-columns:1fr}.sidebar{height:auto;padding:14px;position:static}.nav-stack{grid-template-columns:repeat(5,minmax(0,1fr))}.nav-button{grid-template-columns:20px 1fr}.nav-button svg:last-child,.sidebar-card{display:none}.command-bar{grid-template-columns:auto minmax(180px,1fr)}.menu-button{display:inline-flex}.search-box,.toolbar{grid-column:1/-1}.toolbar{justify-content:space-between}}@media (max-width:980px){.dashboard-grid,.management-grid,.kpi-row{grid-template-columns:1fr}.teacher-panel,.teacher-list-panel,.rules-panel,.assignments-panel,.inspector-panel,.teacher-detail-panel,.scenario-panel{grid-column:1}.hero-panel,.workspace-header{flex-direction:column;align-items:flex-start}.teacher-head,.teacher-record,.trace-item,.municipality-record{grid-template-columns:1fr}}@media (max-width:720px){.admin-main{padding:14px}.nav-stack{grid-template-columns:1fr 1fr}.hero-panel h3{font-size:24px}.toolbar,.hero-actions,.workspace-actions,.download-row{flex-direction:column;align-items:stretch}.primary-action,.secondary-action,.icon-text-button,.status-pill{width:100%}.scenario-controls,.erp-filter-row,.assignment-item{grid-template-columns:1fr}.assignment-item b{justify-self:start}}
