:root{--background:#fff;--surface:#fff;--surface-muted:#f5f8fb;--ink:#06254b;--muted:#63717b;--line:#d8e2e8;--accent:#078f8b;--accent-strong:#075b72;--accent-soft:#d9f1ee;--brand-blue:#1d4f91;--brand-green:#7fa34a;--warning:#a45118;--warning-soft:#fde9d2;--shadow:0 20px 60px #06254b14}*{box-sizing:border-box}html{min-width:320px}body{background:var(--background);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}a{color:inherit;text-decoration:none}.app-frame{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.app-frame:has(.auth-page){display:block}.app-sidebar{background:var(--surface);border-right:1px solid var(--line);height:100vh;color:var(--ink);grid-template-rows:auto 1fr auto;gap:24px;padding:22px 16px;display:grid;position:sticky;top:0}.sidebar-brand{border-bottom:1px solid var(--line);grid-template-columns:46px 1fr;align-items:center;gap:10px;padding:8px 4px 14px;display:grid}.sidebar-brand-icon{background:var(--surface-muted);border:1px solid var(--line);border-radius:8px;place-items:center;width:46px;height:46px;display:grid;overflow:hidden}.sidebar-brand-icon img{width:40px;height:auto;display:block}.sidebar-brand-text{gap:2px;min-width:0;display:grid}.sidebar-brand-text strong{color:var(--ink);font-size:1.08rem;font-weight:950;line-height:1}.sidebar-brand-text small{color:var(--muted);text-transform:uppercase;font-size:.68rem;font-weight:850;line-height:1.15}.sidebar-nav{align-content:start;gap:8px;display:grid}.sidebar-link{min-height:44px;color:var(--muted);border:1px solid #0000;border-radius:8px;grid-template-columns:24px 1fr;align-items:center;gap:10px;padding:0 12px;font-size:.92rem;font-weight:900;display:grid}.sidebar-section{gap:6px;display:grid}.sidebar-section-trigger{text-align:left;grid-template-columns:24px 1fr 18px;width:100%}.sidebar-section-chevron{color:var(--muted);font-size:1rem;font-weight:950}.sidebar-subnav{gap:6px;padding-left:34px;display:grid}.sidebar-sublink{min-height:36px;color:var(--muted);border:1px solid #0000;border-radius:8px;align-items:center;padding:0 10px;font-size:.82rem;font-weight:850;display:flex}.sidebar-sublink:hover,.sidebar-sublink.is-active{background:var(--surface-muted);border-color:var(--line);color:var(--ink)}.sidebar-link span{color:var(--accent-strong);text-align:center;font-size:1rem}.sidebar-link:hover,.sidebar-link.is-active{background:var(--accent-soft);color:var(--ink);border-color:#078f8b38}.sidebar-footer{background:var(--surface-muted);border:1px solid var(--line);border-radius:8px;gap:5px;padding:14px;display:grid}.sidebar-footer .metric-label{color:var(--muted)}.sidebar-footer strong{font-size:.88rem}.sidebar-account{border-top:1px solid var(--line);gap:8px;min-width:0;padding-top:10px;display:grid}.sidebar-account span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.sidebar-account button,.sidebar-sign-in{width:fit-content;color:var(--accent-strong);cursor:pointer;background:0 0;border:0;padding:0;font-size:.82rem;font-weight:850}.sidebar-account button:disabled{color:var(--muted);cursor:wait}.auth-page{background:var(--surface-muted);place-items:center;min-height:100vh;padding:28px 20px;display:grid}.auth-content{border:1px solid var(--line);background:var(--surface);width:min(440px,100%);box-shadow:var(--shadow);border-radius:8px;padding:28px}.auth-brand{color:var(--ink);align-items:center;gap:10px;margin-bottom:28px;font-size:1.15rem;font-weight:950;display:inline-flex}.auth-brand img{object-fit:contain;width:42px;height:42px}.auth-heading{margin-bottom:22px}.auth-heading .eyebrow{margin-bottom:7px}.auth-heading h1{margin:0;font-size:1.8rem;line-height:1.2}.auth-form{gap:16px;display:grid}.auth-form label{display:block}.auth-form input{margin-top:7px}.auth-forgot-link,.auth-footer a,.auth-message a{color:var(--accent-strong);font-weight:850}.auth-forgot-link{justify-self:end;font-size:.82rem}.auth-submit{width:100%;margin-top:4px}.auth-footer{border-top:1px solid var(--line);color:var(--muted);text-align:center;margin-top:22px;padding-top:18px;font-size:.85rem}.auth-message{background:var(--accent-soft);color:var(--ink);border:1px solid #078f8b38;border-radius:8px;margin:0 0 18px;padding:12px;font-size:.88rem;line-height:1.5}.auth-message-error{background:var(--warning-soft);color:var(--warning);border-color:#f0c7a4}.account-settings{max-width:900px}.account-section{border-top:1px solid var(--line);padding:28px 0}.account-section h2{margin:0 0 18px;font-size:1.25rem}.account-form,.account-workspace-row{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:16px;max-width:700px;display:grid}.account-form button{justify-self:start}.account-workspace-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto;padding:14px 0}.account-workspace-role{color:var(--muted);padding-bottom:13px;font-size:.85rem;font-weight:800}.account-form input[readonly],.account-workspace-row input[readonly]{background:var(--surface-muted);color:var(--muted)}@media (max-width:480px){.auth-content{padding:22px}.account-form,.account-workspace-row{grid-template-columns:1fr;align-items:start}.account-workspace-role{padding-bottom:0}}.app-content{min-width:0}.app-shell{min-height:100vh;padding:32px}.workspace{width:min(1180px,100%);margin:0 auto}.top-bar{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.home-header{margin-bottom:18px}.home-brand{width:min(760px,100%)}.brand-lockup{aspect-ratio:3.2;background:#fff;width:min(720px,100%);margin-bottom:18px;position:relative;overflow:hidden}.brand-lockup img{width:100%;height:auto;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.eyebrow{color:var(--accent-strong);letter-spacing:0;text-transform:uppercase;margin:0 0 6px;font-size:.78rem;font-weight:800}h1,h2{letter-spacing:0;margin:0}h1{max-width:720px;font-size:clamp(2rem,5vw,4.6rem);line-height:.96}h2{font-size:1.08rem;line-height:1.25}.score-card{background:var(--ink);color:#fff;min-width:150px;box-shadow:var(--shadow);text-align:right;border-radius:8px;padding:16px 18px;display:grid}.score-card span{font-size:2rem;font-weight:850;line-height:1}.score-card small{color:#ffffffc2;font-weight:700}.controls,.summary-grid,.content-grid,.home-grid{gap:16px;display:grid}.home-nav{flex-wrap:wrap;gap:10px;margin:0 0 18px;display:flex}.nav-button{background:var(--surface);border:1px solid var(--line);min-width:190px;min-height:54px;color:var(--ink);cursor:pointer;box-shadow:var(--shadow);border-radius:8px;grid-template-columns:1fr auto;align-items:center;gap:18px;padding:10px 14px;display:inline-grid}.nav-button:hover{border-color:var(--brand-green)}.nav-button span{font-weight:900}.nav-button small{color:var(--brand-blue);text-transform:uppercase;font-size:.76rem;font-weight:900}.nav-button.is-disabled{color:var(--muted);cursor:not-allowed;box-shadow:none;background:#ffffff94}.nav-button.is-disabled small{color:var(--muted)}.home-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.home-panel{background:var(--surface);border:1px solid var(--line);min-height:180px;box-shadow:var(--shadow);border-radius:8px;align-content:start;gap:18px;padding:18px;display:grid}.home-panel p{color:var(--muted);margin:0;font-weight:650;line-height:1.5}.back-link{min-height:38px;color:var(--accent-strong);align-items:center;margin-bottom:14px;font-size:.88rem;font-weight:900;display:none}.back-link:hover{text-decoration:underline}.dashboard-header{align-items:center}.dashboard-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:16px;display:grid}.dashboard-kpi,.dashboard-panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px}.dashboard-kpi{gap:8px;min-height:132px;padding:18px;display:grid}.dashboard-kpi strong{color:var(--ink);font-size:2rem;font-weight:950;line-height:1}.dashboard-kpi small{color:var(--muted);font-weight:800}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.dashboard-panel{align-content:start;gap:16px;min-height:260px;padding:18px;display:grid}.dashboard-panel-wide{grid-column:span 1}.dashboard-mini-chart{background:linear-gradient(var(--line) 1px, transparent 1px) 0 0 / 100% 25%;border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(6,1fr);align-items:end;gap:14px;min-height:170px;padding:18px;display:grid}.dashboard-mini-chart span{background:linear-gradient(180deg, var(--accent), var(--brand-blue));border-radius:7px 7px 0 0;min-height:20px;display:block}.dashboard-topic-list,.dashboard-table{gap:10px;display:grid}.dashboard-topic-list{grid-template-columns:1fr auto}.dashboard-topic-list span,.dashboard-table span{color:var(--muted);font-weight:850}.dashboard-topic-list strong,.dashboard-table strong{color:var(--ink);font-weight:950}.dashboard-actions{gap:10px;display:grid}.dashboard-actions a,.dashboard-table>div{background:var(--surface-muted);border:1px solid var(--line);border-radius:8px;gap:4px;min-height:64px;padding:12px;display:grid}.dashboard-actions a:hover{border-color:var(--accent)}.dashboard-actions small,.dashboard-table small{color:var(--muted);font-weight:750}.controls{grid-template-columns:minmax(220px,.7fr) minmax(260px,1.3fr);margin-bottom:16px}label{color:var(--muted);font-size:.84rem;font-weight:800}select,input{border:1px solid var(--line);background:var(--surface);width:100%;min-height:44px;color:var(--ink);border-radius:8px}select{margin-top:8px;padding:0 12px;display:block}input{padding:0 10px}label>input{margin-top:8px;display:block}select:focus,input:focus{border-color:var(--accent);outline:3px solid var(--accent-soft)}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.metric-panel,.mark-entry,.analytics-panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px}.metric-panel{gap:10px;min-height:132px;padding:18px;display:grid}.metric-label,.metric-panel small,.topic-result small,.section-heading span{color:var(--muted);font-size:.82rem;font-weight:750}.metric-panel strong{overflow-wrap:anywhere;font-size:1.55rem;line-height:1.05}.progress-track{background:#edf1ee;border-radius:999px;width:100%;height:9px;overflow:hidden}.progress-fill{background:var(--accent);border-radius:inherit;min-width:3px;height:100%}.content-grid{grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr);align-items:start}.mark-entry-layout,.analytics-page-grid,.attempt-details{gap:16px;display:grid}.attempt-details{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.analytics-controls{grid-template-columns:minmax(220px,420px)}.chart-panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;margin-bottom:16px;overflow:hidden}.chart-filter{min-width:190px}.chart-wrap{padding:16px 18px 18px;position:relative}.progress-chart{width:100%;min-height:260px;display:block}.chart-grid-line{stroke:var(--line);stroke-width:1px}.chart-axis-label,.chart-date-label{fill:var(--muted);font-size:.68rem;font-weight:800}.chart-line{fill:none;stroke:var(--accent);stroke-linecap:round;stroke-width:5px}.chart-point{fill:var(--accent-strong);stroke:var(--accent-strong);stroke-width:1px}.chart-hit-area{fill:#0000;cursor:pointer}.chart-tooltip{z-index:10;background:var(--ink);color:#fff;pointer-events:none;border-radius:8px;gap:3px;min-width:104px;padding:9px 10px;display:grid;position:absolute;transform:translate(-50%,calc(-100% - 14px));box-shadow:0 18px 48px #18211f38}.chart-tooltip strong,.chart-tooltip span{display:block}.chart-tooltip strong{font-size:1rem}.chart-tooltip span{color:#ffffffb8;font-size:.76rem;font-weight:800}.chart-empty{color:var(--muted);place-items:center;font-weight:800;display:grid;position:absolute;inset:16px 18px 18px}.recent-results-panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;margin-bottom:16px;overflow:hidden}.recent-results-table{overflow-x:auto}.recent-results-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(104px,.8fr) minmax(230px,1.6fr) minmax(128px,.9fr) minmax(92px,.7fr) minmax(92px,.7fr) minmax(170px,1.2fr) minmax(170px,1.2fr);align-items:center;gap:14px;min-width:1080px;min-height:64px;padding:12px 18px;display:grid}.recent-results-row:last-child{border-bottom:0}.recent-results-head{background:var(--surface-muted);min-height:44px;color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:850}.recent-results-row span,.recent-results-row strong{overflow-wrap:anywhere}.recent-results-row>:nth-child(2){white-space:nowrap}.recent-results-row span{color:var(--muted);font-size:.9rem;font-weight:700}.recent-results-row strong{color:var(--ink);font-size:.92rem;font-weight:900}.trend-panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;margin-bottom:16px;overflow:hidden}.trend-legend{flex-wrap:wrap;justify-content:flex-end;gap:8px 12px;max-width:520px;display:flex}.trend-legend span{color:var(--muted);align-items:center;gap:6px;font-size:.78rem;font-weight:850;display:inline-flex}.trend-legend i{border-radius:999px;width:10px;height:10px}.trend-chart-wrap{padding:16px 18px 18px;position:relative}.trend-chart{width:100%;min-height:280px;display:block}.trend-line{fill:none;stroke-linecap:round;stroke-width:3.5px}.trend-point{stroke-width:1px}.marks-lost-panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;margin-bottom:16px;overflow:hidden}.marks-lost-chart{gap:12px;padding:18px;display:grid;position:relative}.marks-lost-axis{color:var(--muted);grid-template-columns:140px minmax(160px,1fr);font-size:.72rem;font-weight:850;display:grid}.marks-lost-axis span{grid-area:1/2;transform:translate(-50%)}.marks-lost-axis span:first-child{justify-self:start;transform:translate(0)}.marks-lost-axis span:nth-child(2){justify-self:start;margin-left:25%}.marks-lost-axis span:nth-child(3){justify-self:start;margin-left:50%}.marks-lost-axis span:nth-child(4){justify-self:start;margin-left:75%}.marks-lost-axis span:nth-child(5){justify-self:end;transform:translate(0)}.marks-lost-row{grid-template-columns:140px minmax(160px,1fr);align-items:center;gap:14px;display:grid}.marks-lost-row strong{cursor:default;font-size:.9rem;font-weight:900}.marks-lost-track{cursor:default;background-color:#edf1ee;background-image:linear-gradient(90deg,#65716e33 1px,#0000 1px),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:25% 100%;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border-radius:999px;height:22px;position:relative}.marks-lost-fill{border-radius:inherit;min-width:4px;height:100%}.marks-lost-value{color:var(--ink);cursor:default;font-size:.86rem;font-weight:950;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.marks-lost-tooltip{z-index:8;background:var(--ink);color:#fff;pointer-events:none;border-radius:8px;gap:4px;min-width:190px;padding:10px 12px;display:grid;position:fixed;transform:translate(14px,14px);box-shadow:0 18px 48px #18211f38}.marks-lost-tooltip strong,.marks-lost-tooltip span{display:block}.marks-lost-tooltip strong{font-size:.95rem}.marks-lost-tooltip span{color:#ffffffbf;font-size:.76rem;font-weight:800}.topic-priority-panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;margin-top:16px;overflow:hidden}.topic-priority-table{display:grid}.topic-priority-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(180px,1.2fr) repeat(3,minmax(150px,1fr));align-items:center;gap:14px;min-height:58px;padding:12px 18px;display:grid}.topic-priority-row:last-child{border-bottom:0}.topic-priority-head{background:var(--surface-muted);min-height:44px;color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:850}.topic-priority-row strong{color:var(--ink);font-size:.92rem;font-weight:900}.topic-priority-row span{color:var(--muted);font-size:.9rem;font-weight:750}.priority-score-cell{background:#edf1ee;border-radius:6px;align-items:center;min-height:34px;padding:0 10px;display:flex;position:relative;overflow:hidden}.priority-score-cell:before{width:var(--priority-width);content:"";background:#0f766e42;position:absolute;inset:0 auto 0 0}.priority-score-cell strong{z-index:1;position:relative}.student-toolbar{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:16px;padding:16px 18px;display:flex}.student-toolbar label{width:min(480px,100%)}.student-toolbar span{color:var(--muted);font-size:.84rem;font-weight:850}.toolbar-status{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.toolbar-status span{background:var(--accent-soft);min-height:34px;color:var(--accent-strong);border-radius:6px;padding:8px 10px}.students-panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;overflow:hidden}.students-table{overflow-x:auto}.students-row{text-align:center;border-bottom:1px solid var(--line);grid-template-columns:minmax(150px,1fr) minmax(230px,1.4fr) minmax(150px,.9fr) minmax(260px,1.5fr) 230px;align-items:center;gap:14px;min-width:980px;min-height:64px;padding:12px 18px;display:grid}.students-row .row-actions{flex-wrap:nowrap;justify-content:center}.student-details-dialog{background:var(--surface);border:1px solid var(--line);border-radius:8px;gap:18px;width:min(680px,100%);padding:22px;display:grid;box-shadow:0 28px 80px #18211f3d}.student-details-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;display:grid}.student-details-grid div{background:var(--surface-muted);border-radius:8px;padding:14px}.student-details-grid dt{color:var(--muted);text-transform:uppercase;font-size:.74rem;font-weight:900}.student-details-grid dd{color:var(--ink);margin:6px 0 0;font-weight:800}.details-span-two{grid-column:1/-1}.details-stack{gap:6px;display:grid}.students-row:last-child{border-bottom:0}.students-head{background:var(--surface-muted);min-height:44px;color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:850}.students-row strong{color:var(--ink);text-align:center;font-size:.92rem;font-weight:900}.students-row span{color:var(--muted);overflow-wrap:anywhere;text-align:center;font-size:.88rem;font-weight:700}.worksheet-folder-list{gap:18px;display:grid}.folder-toggle{border:1px solid var(--line);background:var(--surface-muted);border-radius:8px;align-items:center;gap:4px;padding:4px;display:inline-flex}.folder-toggle button{min-height:38px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:0 14px;font-weight:900}.folder-toggle button:hover{color:var(--accent-strong)}.folder-toggle button.is-active{background:var(--surface);color:var(--ink);border-color:#078f8b38;box-shadow:0 8px 18px #06254b14}.worksheet-folder-panel{overflow:hidden}.worksheet-row{border-bottom:1px solid var(--line);text-align:center;grid-template-columns:minmax(220px,1.4fr) minmax(140px,.8fr) minmax(140px,.8fr) minmax(100px,.55fr) minmax(90px,.5fr) 230px;align-items:center;gap:14px;min-width:980px;min-height:64px;padding:12px 18px;display:grid}.worksheet-row:last-child{border-bottom:0}.worksheet-head{background:var(--surface-muted);min-height:44px;color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:850}.worksheet-row strong{color:var(--ink);font-size:.92rem;font-weight:900}.worksheet-row span{color:var(--muted);font-size:.88rem;font-weight:700}.worksheet-row .row-actions{flex-wrap:nowrap;justify-content:center}.student-form-dialog{background:var(--surface);border:1px solid var(--line);border-radius:8px;gap:18px;width:min(720px,100%);max-height:calc(100vh - 40px);padding:22px;display:grid;overflow-y:auto;box-shadow:0 28px 80px #18211f3d}.student-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-span-two{grid-column:1/-1}.form-section-heading{border-top:1px solid var(--line);padding-top:4px}.form-section-heading span{color:var(--ink);padding-top:16px;font-size:.94rem;font-weight:900;display:block}.inline-heading{border-top:0;justify-content:space-between;align-items:center;padding-top:0;display:flex}.inline-heading span{padding-top:0}.subject-enrolments{gap:12px;display:grid}.subject-enrolment-row{border:1px solid var(--line);background:var(--surface-muted);border-radius:8px;grid-template-columns:minmax(120px,.8fr) minmax(170px,1fr) minmax(140px,.8fr) auto;align-items:end;gap:12px;padding:12px;display:grid}.subject-remove{justify-content:center;min-height:40px}.paper-filters{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;grid-template-columns:repeat(5,minmax(150px,1fr));gap:14px;margin-bottom:16px;padding:18px;display:grid}.paper-filters select:disabled{background:var(--surface-muted);color:var(--muted);cursor:not-allowed}.multi-select-field{position:relative}.multi-select-field>span{color:var(--muted);font-size:.84rem;font-weight:800;display:block}.multi-select{margin-top:8px;position:relative}.multi-select summary{background:var(--surface);border:1px solid var(--line);min-height:44px;color:var(--ink);cursor:pointer;border-radius:8px;align-items:center;padding:0 36px 0 12px;font-size:.84rem;font-weight:750;list-style:none;display:flex}.multi-select summary::-webkit-details-marker{display:none}.multi-select summary:after{color:var(--muted);content:"▾";position:absolute;right:13px}.multi-select[open] summary{border-color:var(--accent);outline:3px solid var(--accent-soft)}.multi-select-menu{z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:8px;width:max(100%,180px);max-height:280px;padding:8px;display:grid;position:absolute;top:calc(100% + 7px);left:0;overflow-y:auto;box-shadow:0 18px 48px #06254b29}.multi-select-menu label{cursor:pointer;border-radius:6px;grid-template-columns:20px 1fr;align-items:center;gap:8px;min-height:38px;padding:5px 8px;display:grid}.multi-select-menu label:hover{background:var(--surface-muted)}.multi-select-menu input{width:16px;min-height:16px;accent-color:var(--accent);margin:0}.multi-select-menu label span{color:var(--ink);font-size:.84rem;font-weight:750}.multi-select-clear{min-height:34px;color:var(--accent-strong);cursor:pointer;text-align:left;background:0 0;border:0;padding:0 8px;font-size:.78rem;font-weight:900}.filter-dropdown-field{position:relative}.filter-dropdown-field>span{color:var(--muted);font-size:.84rem;font-weight:800;display:block}.filter-dropdown{margin-top:8px;position:relative}.filter-dropdown-trigger{background:var(--surface);border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);cursor:pointer;text-align:left;border-radius:8px;align-items:center;padding:0 36px 0 12px;font-size:.84rem;font-weight:850;display:flex}.filter-dropdown-trigger:after{border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);content:"";width:8px;height:8px;position:absolute;right:13px;transform:rotate(45deg)translateY(-2px)}.filter-dropdown.is-open .filter-dropdown-trigger{border-color:var(--accent);outline:3px solid var(--accent-soft)}.filter-dropdown.is-disabled .filter-dropdown-trigger{background:var(--surface-muted);color:var(--muted);cursor:not-allowed}.filter-dropdown.is-disabled .filter-dropdown-trigger:after{opacity:.45}.single-select-menu{z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:8px;width:max(100%,180px);padding:7px;display:grid;position:absolute;top:calc(100% + 7px);left:0;box-shadow:0 18px 48px #06254b29}.single-select-menu button{min-height:38px;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;padding:0 10px;font-size:.84rem;font-weight:800}.single-select-menu button:hover,.single-select-menu button.is-selected{background:var(--surface-muted)}.single-select-menu button.is-selected{color:var(--accent-strong)}.past-papers-panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;overflow:hidden}.past-papers-table{display:grid}.past-papers-row{text-align:center;border-bottom:1px solid var(--line);grid-template-columns:minmax(70px,.5fr) minmax(190px,1.3fr) minmax(120px,.8fr) minmax(110px,.7fr) minmax(140px,.9fr) minmax(210px,1.2fr);align-items:center;gap:16px;min-height:66px;padding:12px 18px;display:grid}.past-papers-row:last-child{border-bottom:0}.past-papers-head{background:var(--surface-muted);min-height:44px;color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:850}.past-papers-row strong{color:var(--ink);font-size:.92rem;font-weight:900}.past-papers-row>span{color:var(--muted);font-size:.9rem;font-weight:750}.past-paper-actions{justify-content:center;display:flex}.past-paper-actions .secondary-button{min-height:38px;padding:0 14px}.difficulty-gauge{justify-content:center;align-items:center;gap:10px;width:100%;display:flex}.difficulty-gauge svg{width:112px;height:68px;display:block;overflow:visible}.difficulty-gauge-segment{fill:none;stroke-linecap:butt;stroke-width:15px}.difficulty-gauge-needle{stroke:var(--ink);stroke-linecap:round;stroke-width:5px}.difficulty-gauge-hub{fill:var(--ink)}.difficulty-gauge-center{fill:#fff}.difficulty-gauge strong{color:var(--muted);white-space:nowrap;font-size:.78rem}.question-review-summary{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;justify-content:flex-end;align-items:center;gap:18px;margin-bottom:16px;padding:18px;display:flex}.question-review-stats{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.question-review-stats span{background:var(--accent-soft);min-height:34px;color:var(--accent-strong);border-radius:6px;padding:8px 10px;font-size:.8rem;font-weight:900}.question-filters{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px;margin-bottom:16px;padding:18px;display:grid}.question-filters>label:first-child{grid-column:span 2}.filter-reset-action{grid-column:4;justify-content:flex-end;align-items:flex-end;display:flex}.question-review-list{gap:16px;display:grid}.question-review-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:18px;padding:18px;display:grid}.question-review-image{gap:12px;min-width:0;display:grid}.question-review-image img{border:1px solid var(--line);background:#fff;border-radius:6px;width:100%;height:auto;display:block}.question-review-meta{gap:14px;display:grid;position:sticky;top:18px}.question-review-meta h2{color:var(--ink);margin-top:4px;font-size:1.35rem}.question-review-meta dl{gap:8px;margin:0;display:grid}.question-review-meta dl div{background:var(--surface-muted);border-radius:6px;gap:3px;padding:10px;display:grid}.question-review-meta dt,.question-review-text span{color:var(--muted);text-transform:uppercase;font-size:.73rem;font-weight:900}.question-review-meta dd{color:var(--ink);margin:0;font-size:.88rem;font-weight:850}.stacked-meta{gap:6px;display:grid}.stacked-meta span{display:block}.question-review-text{background:var(--surface-muted);border-radius:6px;gap:8px;padding:10px;display:grid}.question-review-text p{white-space:pre-wrap;max-height:210px;color:var(--muted);margin:0;font-size:.82rem;font-weight:650;line-height:1.45;overflow:auto}@media (max-width:960px){.paper-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.past-papers-table{overflow-x:auto}.past-papers-row{min-width:760px}.question-review-summary,.question-review-card{grid-template-columns:1fr}.question-review-card{display:grid}.question-review-meta{position:static}.question-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-reset-action{grid-column:2}}@media (max-width:560px){.paper-filters{grid-template-columns:1fr}.question-review-summary{flex-direction:column;align-items:flex-start}.question-review-stats{justify-content:flex-start}.question-filters{grid-template-columns:1fr}.question-filters>label:first-child{grid-column:auto}.filter-reset-action{grid-column:auto;justify-content:stretch}.filter-reset-action .secondary-button{width:100%}}.marks-lost-row>span{color:var(--ink);text-align:right;font-size:.9rem;font-weight:950}.record-form-grid{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:16px;padding:18px;display:grid}.date-panel{background:var(--surface);border:1px solid var(--line);min-height:132px;box-shadow:var(--shadow);border-radius:8px;align-content:start;gap:8px;padding:18px;display:grid}.date-panel input{margin-top:0}.date-picker-field{gap:8px;min-width:0;display:grid;position:relative}.date-picker-label{color:var(--muted);font-size:.84rem;font-weight:800}.date-picker-button{background:var(--surface);border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);cursor:pointer;border-radius:8px;justify-content:flex-start;align-items:center;padding:0 12px;font-weight:750;display:flex}.date-picker-button:hover,.date-picker-button[aria-expanded=true]{border-color:var(--accent)}.date-picker-button[aria-expanded=true]{outline:3px solid var(--accent-soft)}.date-picker-popover{z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:8px;width:max-content;max-width:min(340px,100vw - 36px);padding:12px;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 22px 70px #18211f2e}.date-picker-popover .rdp-root{--rdp-accent-color:var(--accent);--rdp-accent-background-color:var(--accent-soft);--rdp-day_button-border-radius:8px;--rdp-selected-border:2px solid var(--accent);color:var(--ink);margin:0}.date-picker-popover .rdp-caption_label,.date-picker-popover .rdp-weekday{font-weight:850}.date-picker-popover .rdp-day_button{border-radius:8px}.time-field{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;display:grid}.time-panel{background:var(--surface);border:1px solid var(--line);min-height:132px;box-shadow:var(--shadow);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:8px 12px;margin:0;padding:18px;display:grid}.time-panel-label,.time-field legend{color:var(--muted);grid-column:1/-1;margin:0;padding:0;font-size:.84rem;font-weight:800}.mark-entry,.analytics-panel,.records-panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;overflow:hidden}.records-table{display:grid}.records-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(220px,1fr) 140px 120px 160px;align-items:center;gap:14px;min-height:72px;padding:12px 18px;display:grid}.records-row:last-child{border-bottom:0}.records-head{background:var(--surface-muted);min-height:44px;color:var(--muted);text-transform:uppercase;font-size:.8rem;font-weight:850}.heading-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.primary-button{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:0 18px;font-weight:900;line-height:1;transition:background .16s,border-color .16s,box-shadow .16s,transform .16s;display:inline-flex;box-shadow:0 14px 28px #078f8b2e}.primary-button:hover{border-color:var(--accent-strong);background:var(--accent-strong);transform:translateY(-1px);box-shadow:0 16px 32px #075b7238}.primary-button:focus-visible{outline:3px solid var(--accent-soft);outline-offset:2px}.primary-button:disabled{border-color:var(--line);background:var(--surface-muted);color:var(--muted);cursor:not-allowed;box-shadow:none;transform:none}.secondary-button{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0 16px;font-weight:900;line-height:1;transition:background .16s,border-color .16s,color .16s;display:inline-flex}.secondary-button:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.secondary-button:focus-visible{outline:3px solid var(--accent-soft);outline-offset:2px}.worksheet-summary-card{background:var(--ink);color:#fff;min-width:168px;min-height:72px;box-shadow:var(--shadow);border-radius:8px;align-content:center;justify-items:end;padding:12px 16px;display:grid}.worksheet-summary-card strong{font-size:2rem;line-height:1}.worksheet-summary-card span{margin-top:4px;font-weight:850}.worksheet-header-actions{justify-items:end;gap:12px;display:grid}.worksheet-action-buttons{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.worksheet-action-buttons button{border:1px solid var(--line);background:var(--surface);min-height:40px;color:var(--ink);cursor:pointer;border-radius:8px;padding:0 14px;font-weight:900}.worksheet-action-buttons button:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.worksheet-action-buttons button:disabled{background:var(--surface-muted);color:var(--muted);cursor:not-allowed;opacity:.62}.worksheet-filter-summary{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;gap:16px;margin-bottom:18px;padding:20px;display:grid}.worksheet-filter-summary h2{margin:6px 0 0;font-size:1.2rem}.filter-chip-list{flex-wrap:wrap;gap:10px;display:flex}.filter-chip{border:1px solid var(--line);background:var(--surface-muted);min-height:38px;color:var(--ink);border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:.86rem;font-weight:800;display:inline-flex}.filter-chip strong{color:var(--muted);text-transform:uppercase;font-size:.72rem}.worksheet-question-list{gap:18px;display:grid}.worksheet-question-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;overflow:hidden}.worksheet-question-card.is-muted{opacity:.55}.worksheet-question-controls{border-bottom:1px solid var(--line);background:var(--surface-muted);justify-content:space-between;align-items:center;gap:14px;padding:14px 18px;display:flex}.worksheet-check{color:var(--ink);align-items:center;gap:10px;font-size:1rem;font-weight:900;display:inline-flex}.worksheet-check input{width:18px;height:18px;accent-color:var(--accent)}.reorder-controls{gap:8px;display:inline-flex}.reorder-controls button{border:1px solid var(--line);background:var(--surface);width:52px;min-height:50px;color:var(--ink);cursor:pointer;border-radius:8px;place-items:center;padding:0;line-height:1;display:inline-grid;overflow:hidden}.reorder-icon{fill:currentColor;pointer-events:none;-webkit-user-select:none;user-select:none;width:28px;height:24px;display:block}.reorder-controls button:hover{border-color:var(--accent);color:var(--accent-strong)}.reorder-controls button:disabled{color:var(--muted);cursor:not-allowed;opacity:.5}.worksheet-question-body{grid-template-columns:minmax(0,1fr) 360px;gap:24px;padding:20px;display:grid}.records-row strong,.records-row small{display:block}.records-row small{color:var(--muted);margin-top:4px;font-size:.82rem;font-weight:750}.row-actions{flex-wrap:wrap;gap:8px;display:flex}.text-action,.primary-action{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;min-height:38px;font-weight:900;display:inline-flex}.text-action{background:var(--accent-soft);color:var(--accent-strong);border:1px solid #0000;padding:0 12px}.text-action:hover{border-color:var(--accent)}.text-action:disabled,.primary-action:disabled{background:var(--surface-muted);border-color:var(--line);color:var(--muted);cursor:not-allowed;opacity:.7}.danger-action{background:var(--warning-soft);color:var(--warning)}.danger-primary{background:var(--warning);border-color:var(--warning)}.danger-primary:hover{background:#813d12;border-color:#813d12}.empty-state{padding:24px 18px}.empty-state p{color:var(--muted);margin:6px 0 0;font-weight:650}.loading-panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-soft);color:var(--ink);border-radius:8px;align-items:center;gap:12px;margin-top:18px;padding:18px 20px;display:flex}.loading-spinner{border:3px solid var(--accent-soft);border-top-color:var(--accent);border-radius:999px;flex:none;width:24px;height:24px;animation:.8s linear infinite markmap-spin;display:inline-block}@keyframes markmap-spin{to{transform:rotate(360deg)}}.section-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;min-height:76px;padding:18px;display:flex}.question-table{display:grid}.table-row{border-bottom:1px solid var(--line);grid-template-columns:92px minmax(160px,1fr) 140px;align-items:center;gap:14px;min-height:72px;padding:12px 18px;display:grid}.table-row:last-child{border-bottom:0}.total-row{background:var(--surface-muted);font-weight:900}.table-head{background:var(--surface-muted);min-height:44px;color:var(--muted);text-transform:uppercase;font-size:.8rem;font-weight:850}.question-number{font-weight:850}.topic-list{flex-wrap:wrap;gap:7px;display:flex}.topic-pill{background:var(--accent-soft);min-height:28px;color:var(--accent-strong);border-radius:999px;align-items:center;padding:4px 10px;font-size:.78rem;font-weight:850;display:inline-flex}.mark-input{grid-template-columns:minmax(54px,76px) 46px;align-items:center;gap:8px;display:grid}.mark-input span{color:var(--muted);font-size:.9rem;font-weight:850}.topic-results{display:grid}.topic-bar-chart{gap:0;display:grid}.topic-column-chart-wrap{grid-template-columns:46px minmax(0,1fr);gap:10px;padding:20px 18px 18px;display:grid;overflow-x:auto}.topic-column-axis{height:220px;color:var(--muted);text-align:right;margin-top:7px;font-size:.68rem;font-weight:800;position:relative}.topic-column-axis span{position:absolute;right:0;transform:translateY(50%)}.topic-column-plot{min-width:940px;position:relative}.topic-column-grid{z-index:0;height:220px;position:absolute;inset:7px 0 auto}.topic-column-grid span{border-top:1px solid var(--line);width:100%;position:absolute;left:0}.topic-column-chart{z-index:1;grid-template-rows:220px auto;grid-template-columns:repeat(10,minmax(86px,1fr));align-items:start;gap:14px;min-height:282px;display:grid;position:relative}.topic-column{min-width:0;display:contents}.topic-column-value{width:100%;color:var(--ink);text-align:center;font-size:.9rem;font-weight:950;position:absolute;left:0}.topic-column-track{border-bottom:2px solid var(--line);grid-row:1;align-items:flex-end;height:220px;display:flex;position:relative}.topic-column[role=button] .topic-column-track,.topic-column[role=button] .topic-column-label{cursor:pointer}.topic-column[role=button]:hover .topic-column-fill,.topic-column[role=button]:focus-visible .topic-column-fill{filter:saturate(1.12);box-shadow:inset 0 1px #ffffff47,0 0 0 3px #078f8b29}.topic-column[role=button]:focus-visible .topic-column-track{outline-offset:4px;outline:3px solid #078f8b3d}.topic-column-fill{border-radius:7px 7px 0 0;width:100%;min-height:4px;box-shadow:inset 0 1px #ffffff47}.topic-column-label{text-align:center;grid-row:2;gap:3px;min-height:42px;padding-top:10px;display:grid}.topic-column-label strong{color:var(--ink);overflow-wrap:anywhere;font-size:.78rem;font-weight:900}.topic-bar-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(150px,.8fr) minmax(180px,1.5fr) 92px;align-items:center;gap:16px;min-height:74px;padding:14px 18px;display:grid}.topic-bar-row:last-child{border-bottom:0}.topic-bar-label strong,.topic-bar-label small,.topic-bar-value strong,.topic-bar-value small{display:block}.topic-bar-label strong{font-weight:900}.topic-bar-label small,.topic-bar-value small{color:var(--muted);margin-top:3px;font-size:.78rem;font-weight:750}.topic-bar-track{background:#edf1ee;border-radius:999px;height:18px;overflow:hidden}.topic-bar-fill{border-radius:inherit;min-width:4px;height:100%;transition:width .16s}.topic-bar-value{text-align:right}.topic-bar-value strong{color:var(--ink);font-weight:950}.topic-result{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:10px 14px;padding:16px 18px;display:grid}.topic-result:last-child{border-bottom:0}.topic-result strong,.topic-result small{display:block}.topic-result span{color:var(--accent-strong);font-weight:900}.topic-result .progress-track,.topic-result>small{grid-column:1/-1}.form-footer{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:14px;min-height:74px;padding:16px 18px;display:flex}.saved-notice{background:var(--accent-soft);min-height:34px;color:var(--accent-strong);border-radius:999px;align-items:center;padding:0 12px;font-size:.85rem;font-weight:900;display:inline-flex}.error-notice{background:var(--warning-soft);max-width:100%;min-height:34px;color:var(--warning);border-radius:999px;align-items:center;padding:0 12px;font-size:.85rem;font-weight:900;display:inline-flex}.primary-action{background:var(--accent);border:1px solid var(--accent);color:#fff;min-width:118px;padding:0 18px}.primary-action:hover{background:var(--accent-strong)}.modal-backdrop{z-index:20;background:#18211f6b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.confirm-dialog{background:var(--surface);border:1px solid var(--line);border-radius:8px;gap:18px;width:min(430px,100%);padding:22px;display:grid;box-shadow:0 28px 80px #18211f3d}.confirm-dialog p{color:var(--muted);margin:0;font-weight:650;line-height:1.5}.analytics-drilldown-modal{background:var(--surface);border:1px solid var(--line);border-radius:8px;gap:18px;width:min(880px,100%);max-height:min(760px,100vh - 40px);padding:22px;display:grid;overflow:auto;box-shadow:0 28px 80px #18211f3d}.modal-close-button{background:var(--surface-muted);border:1px solid var(--line);min-height:38px;color:var(--ink);cursor:pointer;border-radius:8px;padding:0 14px;font-weight:900}.modal-close-button:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}.subtopic-drilldown-chart{gap:12px;display:grid}.subtopic-drilldown-row{background:var(--surface-muted);border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(230px,1.1fr) minmax(220px,1.6fr) 76px;align-items:center;gap:14px;min-height:64px;padding:12px;display:grid}.subtopic-drilldown-label{gap:4px;display:grid}.subtopic-drilldown-label strong{color:var(--ink);font-size:.88rem;font-weight:900;line-height:1.25}.subtopic-drilldown-label small{color:var(--muted);font-size:.78rem;font-weight:800}.subtopic-drilldown-track{background:#e9efed;border-radius:999px;height:16px;overflow:hidden}.subtopic-drilldown-fill{border-radius:inherit;min-width:4px;height:100%;box-shadow:inset 0 1px #ffffff47}.subtopic-drilldown-value{color:var(--ink);text-align:right;font-size:.9rem;font-weight:950}.dialog-actions{justify-content:flex-end;gap:10px;display:flex}@media (max-width:860px){.app-frame{grid-template-columns:1fr}.app-sidebar{grid-template-rows:auto auto;grid-template-columns:minmax(120px,180px) 1fr;align-items:center;gap:12px;height:auto;padding:14px;position:static}.sidebar-brand{border-bottom:0;padding:0}.sidebar-nav{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.sidebar-link{min-height:38px;padding:0 10px;font-size:.82rem}.sidebar-footer{grid-column:1/-1}.app-shell{padding:20px}.top-bar,.controls,.summary-grid,.content-grid,.attempt-details,.record-form-grid,.worksheet-question-body,.home-grid,.dashboard-kpis,.dashboard-grid{grid-template-columns:1fr}.dashboard-panel-wide{grid-column:auto}.top-bar{display:grid}.score-card{text-align:left;width:100%}.worksheet-summary-card{justify-items:start;width:100%}.worksheet-header-actions{justify-items:start}.worksheet-action-buttons{justify-content:flex-start}.worksheet-question-controls{flex-direction:column;align-items:flex-start}.table-row{grid-template-columns:72px minmax(0,1fr)}.table-row>:last-child{grid-column:1/-1}.table-head{display:none}.records-row{grid-template-columns:1fr;align-items:start}.records-head{display:none}.topic-bar-row{grid-template-columns:1fr;gap:10px}.topic-bar-value{text-align:left}.marks-lost-axis,.marks-lost-row{grid-template-columns:96px minmax(120px,1fr)}.topic-priority-table{overflow-x:auto}.topic-priority-row{grid-template-columns:minmax(150px,1fr) repeat(3,minmax(140px,1fr));min-width:620px}.subtopic-drilldown-row{grid-template-columns:1fr}.subtopic-drilldown-value{text-align:left}.heading-actions,.dialog-actions{justify-content:flex-start}.chart-filter{width:100%}}@media (max-width:520px){.app-sidebar{grid-template-columns:1fr}.sidebar-nav{justify-content:flex-start}.sidebar-link{grid-template-columns:20px 1fr}.app-shell{padding:14px}h1{font-size:2.4rem}.metric-panel,.section-heading,.table-row,.topic-result{padding-left:14px;padding-right:14px}}@media (max-width:700px){.student-toolbar{flex-direction:column;align-items:stretch}.student-form-grid{grid-template-columns:1fr}.form-span-two{grid-column:auto}}.assignment-toolbar{justify-content:space-between;align-items:end;gap:16px;margin-bottom:16px;display:flex}.assignment-toolbar .filter-dropdown-field{width:min(400px,100%)}.assignment-section,.assignment-editor{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;margin-bottom:16px}.assignment-editor-dialog{width:min(760px,100% - 32px);max-width:760px;max-height:calc(100dvh - 32px);color:var(--ink);margin:auto;padding:0;position:fixed;overflow-y:auto;box-shadow:0 28px 80px #18211f3d}.assignment-editor-dialog::backdrop{background:#18211f6b}.assignment-section-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:68px;padding:14px 18px;display:flex}.assignment-section-heading h2{margin:0;font-size:1.1rem}.assignment-section-heading span{color:var(--muted);font-size:.85rem;font-weight:800}.assignment-table-wrap{overflow-x:auto}.assignment-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(220px,1.4fr) minmax(210px,1fr) minmax(180px,1fr) 180px;align-items:center;gap:14px;min-width:790px;min-height:62px;padding:10px 18px;font-size:.88rem;display:grid}.assignment-row:last-child{border-bottom:0}.assignment-row strong{overflow-wrap:anywhere}.assignment-row>span{color:var(--muted);font-weight:700}.assignment-row .row-actions{flex-wrap:nowrap;gap:8px;display:flex}.assignment-row .row-actions button{min-height:36px;padding:0 11px}.assignment-head{background:var(--surface-muted);min-height:42px;color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:850}.assignment-empty{color:var(--muted);margin:0;padding:22px 18px}.assignment-editor form{padding:18px}.assignment-editor-fields,.assignment-scopes{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.assignment-editor-fields{margin-bottom:20px}.assignment-editor-fields label>input{margin-top:8px}.assignment-scopes fieldset{border:0;min-width:0;margin:0;padding:0}.assignment-scopes legend{color:var(--ink);margin-bottom:10px;font-weight:900}.assignment-scopes p{color:var(--muted);font-size:.85rem}.assignment-check{border-bottom:1px solid var(--line);min-height:40px;color:var(--ink);cursor:pointer;align-items:center;gap:10px;padding:5px 8px;display:flex}.assignment-check input{width:17px;height:17px;min-height:17px;accent-color:var(--accent);margin:0}.assignment-check span{overflow-wrap:anywhere}.assignment-form-actions{justify-content:flex-end;margin-top:20px;display:flex}.danger-button{color:#83411b;cursor:pointer;background:#fff0e5;border:1px solid #f0c6b0;border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:0 14px;font-weight:900;display:inline-flex}.danger-button:hover{background:#ffe3ce}.danger-button:disabled{opacity:.5;cursor:not-allowed}@media (max-width:700px){.assignment-toolbar{flex-direction:column;align-items:stretch}.assignment-toolbar .filter-dropdown-field{width:100%}.assignment-editor-fields,.assignment-scopes{grid-template-columns:1fr}}
