:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--font-sans:"PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", system-ui, sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--sidebar-width:244px;--sidebar-collapsed-width:72px;--topbar-height:64px;--content-max:1680px;--blue-950:#0b1f3a;--blue-900:#102a4c;--blue-800:#173c69;--blue-700:#1d5290;--blue-600:#2166b1;--blue-500:#2b78ca;--blue-400:#5795d5;--blue-300:#8eb8e3;--blue-200:#bfd6ed;--blue-100:#e2edf8;--blue-50:#f0f6fc;--ink-950:#111b28;--ink-900:#182535;--ink-800:#25364a;--ink-700:#3a4b60;--ink-600:#536276;--ink-500:#6c7889;--ink-400:#8d97a5;--ink-300:#b5bdc7;--ink-200:#d5dae1;--ink-150:#e1e5ea;--ink-100:#eceff3;--ink-75:#f2f4f7;--ink-50:#f7f8fa;--paper:#fdfefe;--success-700:#16724b;--success-600:#1e8a5a;--success-100:#dcefe6;--success-50:#eff8f4;--warning-700:#95620e;--warning-600:#b67b18;--warning-100:#f7e8c5;--warning-50:#fdf8ec;--danger-700:#b53e44;--danger-600:#cf4b50;--danger-100:#f6dede;--danger-50:#fdf1f1;--violet-700:#6950a7;--violet-100:#e9e3f6;--violet-50:#f7f4fb;--cyan-700:#176f82;--cyan-100:#d9edf1;--canvas:#eef1f5;--surface:#fdfefe;--surface-subtle:#f7f8fa;--surface-raised:#fff;--surface-selected:#edf4fb;--border:#dce1e8;--border-soft:#e8ebef;--border-strong:#c8cfd8;--text:var(--ink-900);--text-secondary:var(--ink-600);--text-tertiary:var(--ink-500);--accent:var(--blue-600);--accent-hover:var(--blue-700);--accent-pressed:var(--blue-800);--radius-xs:3px;--radius-sm:5px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--shadow-xs:0 1px 2px #111b280d;--shadow-sm:0 1px 3px #111b2812, 0 4px 12px #111b280a;--shadow-md:0 8px 26px #111b281a, 0 2px 8px #111b280f;--shadow-lg:0 18px 55px #0c18282e, 0 4px 16px #0c182814;--focus-ring:0 0 0 3px #2b78ca3d;--ease-out:cubic-bezier(.22, 1, .36, 1);font-family:PingFang SC,Microsoft YaHei,Noto Sans CJK SC,Source Han Sans SC,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}*,:before,:after{box-sizing:border-box}html{background:var(--canvas);scroll-behavior:smooth;min-width:320px;min-height:100%}body{background:var(--canvas);min-width:320px;min-height:100vh;color:var(--text);font-family:var(--font-sans);margin:0;font-size:14px;line-height:1.55}button,input,select,textarea{color:inherit;font:inherit}button,[role=button],a,select,label[for]{-webkit-tap-highlight-color:transparent}button:not(:disabled),[role=button]:not([aria-disabled=true]),a[href],select:not(:disabled),label[for]{cursor:pointer}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.55}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}img,svg{max-width:100%;display:block}table{border-collapse:collapse;border-spacing:0}::selection{background:var(--blue-200);color:var(--blue-950)}:focus-visible{border-radius:var(--radius-xs);outline:2px solid var(--blue-500);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.skip-link{z-index:10000;border-radius:var(--radius-sm);background:var(--paper);box-shadow:var(--shadow-md);color:var(--blue-800);transition:transform .16s var(--ease-out);padding:9px 14px;font-weight:700;position:fixed;top:12px;left:12px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.app-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);grid-template-rows:var(--topbar-height) minmax(0, 1fr);background:var(--canvas);min-height:100vh;display:grid}.sidebar{z-index:300;width:var(--sidebar-width);background:var(--blue-950);color:#d9e5f1;min-width:0;transition:width .22s var(--ease-out), transform .22s var(--ease-out);flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0;overflow:hidden;box-shadow:inset -1px 0 #ffffff0d}.sidebar:after{background:var(--blue-400);content:"";opacity:.9;height:3px;position:absolute;inset:0 0 auto}.sidebar-brand{min-height:var(--topbar-height);border-bottom:1px solid #ffffff14;align-items:center;gap:11px;padding:0 18px;display:flex}.brand-mark{width:34px;height:34px;color:var(--blue-800);background:#f0f6fc;border:1px solid #ffffff2e;border-radius:9px;flex:0 0 34px;place-items:center;font-size:18px;font-weight:800;display:grid;box-shadow:0 3px 12px #0000002e}.brand-copy{min-width:0;line-height:1.25}.brand-name{color:#f6f9fc;letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700;overflow:hidden}.brand-subtitle{color:#91a7be;letter-spacing:.08em;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:11px;overflow:hidden}.sidebar-scroll{overscroll-behavior:contain;scrollbar-color:#ffffff26 transparent;scrollbar-width:thin;flex:1;padding:14px 10px 18px;overflow:hidden auto}.sidebar-section+.sidebar-section{margin-top:19px}.sidebar-section-label{color:#7890a8;letter-spacing:.13em;text-transform:uppercase;padding:0 10px 7px;font-size:10px;font-weight:700}.sidebar-nav{gap:3px;margin:0;padding:0;list-style:none;display:grid}.nav-item{border-radius:var(--radius-sm);color:#b9cada;text-align:left;background:0 0;border:0;align-items:center;gap:11px;min-height:40px;padding:8px 10px;font-weight:500;transition:background .14s,color .14s;display:flex;position:relative}.nav-item.active,.nav-item[aria-current=page]{color:#fff;background:#1a456f;font-weight:650}.nav-item.active:before,.nav-item[aria-current=page]:before{content:"";background:#7eb3e3;border-radius:0 3px 3px 0;width:3px;position:absolute;inset:9px auto 9px -10px}.nav-icon{color:#8eabc5;flex:0 0 20px;place-items:center;width:20px;height:20px;display:grid}.nav-icon svg{stroke-width:1.8px;width:18px;height:18px}.nav-item.active .nav-icon,.nav-item[aria-current=page] .nav-icon{color:#d9ebfb}.nav-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.nav-badge{color:#dce9f5;font-variant-numeric:tabular-nums;text-align:center;background:#ffffff1a;border-radius:10px;min-width:20px;height:19px;padding:0 6px;font-size:11px;line-height:19px}.nav-badge.danger{color:#fff;background:#ad4148}.sidebar-footer{border-top:1px solid #ffffff14;padding:12px}.sidebar-account{border-radius:var(--radius-md);color:#dbe7f2;align-items:center;gap:10px;min-width:0;padding:7px;display:flex}.sidebar-account:hover{background:#ffffff0f}.app-main{min-width:0;min-height:calc(100vh - var(--topbar-height));grid-area:2/2}.topbar{z-index:200;height:var(--topbar-height);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fdfefef0;grid-area:1/2;align-items:center;gap:16px;padding:0 clamp(18px,2.2vw,32px);display:flex;position:sticky;top:0;box-shadow:0 1px #111b2805}.topbar-title{min-width:max-content;color:var(--ink-800);font-size:15px;font-weight:700}.topbar-spacer{flex:1}.topbar-actions,.page-actions,.toolbar,.inline-actions{align-items:center;gap:8px;display:flex}.sidebar-toggle,.icon-button{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--ink-600);background:0 0;border:1px solid #0000;flex:0 0 36px;place-items:center;transition:border-color .14s,background .14s,color .14s;display:inline-grid}.sidebar-toggle:hover,.icon-button:hover{border-color:var(--border);background:var(--ink-50);color:var(--ink-900)}.icon-button.active,.icon-button[aria-pressed=true]{border-color:var(--blue-200);background:var(--blue-50);color:var(--blue-700)}.icon-button svg,.sidebar-toggle svg{width:18px;height:18px}.notification-button{position:relative}.notification-dot{border:2px solid var(--paper);background:var(--danger-600);border-radius:50%;width:7px;height:7px;position:absolute;top:6px;right:6px}.global-search{width:min(420px,34vw);margin-right:auto;position:relative}.global-search input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-subtle);width:100%;height:36px;color:var(--text);outline:none;padding:0 76px 0 37px;transition:border-color .14s,background .14s,box-shadow .14s}.global-search input::placeholder{color:var(--ink-400)}.global-search input:focus{border-color:var(--blue-400);background:var(--paper);box-shadow:var(--focus-ring)}.global-search>svg{width:17px;height:17px;color:var(--ink-400);pointer-events:none;position:absolute;top:9px;left:12px}.search-shortcut{border:1px solid var(--border);border-bottom-color:var(--border-strong);background:var(--paper);color:var(--ink-500);font-family:var(--font-sans);border-radius:4px;padding:2px 6px;font-size:11px;line-height:17px;position:absolute;top:7px;right:8px}.user-menu{border-radius:var(--radius-md);text-align:left;background:0 0;border:0;align-items:center;gap:9px;min-width:0;padding:4px 6px 4px 4px;display:flex}.user-menu:hover{background:var(--ink-50)}.avatar{background:var(--blue-100);width:32px;height:32px;color:var(--blue-800);border-radius:50%;flex:0 0 32px;place-items:center;font-size:12px;font-weight:750;display:inline-grid;overflow:hidden}.avatar.sm{flex-basis:26px;width:26px;height:26px;font-size:10px}.avatar.lg{flex-basis:44px;width:44px;height:44px;font-size:15px}.user-copy{min-width:0}.user-name{color:var(--ink-800);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:650;line-height:1.25;overflow:hidden}.user-role{color:var(--ink-500);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11px;line-height:1.2;overflow:hidden}.sidebar-backdrop{display:none}.page{width:min(100%, var(--content-max));margin:0 auto;padding:clamp(20px,2.5vw,34px)}.page-wide{width:100%;max-width:none}.page-compact{max-width:1120px}.page-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:22px;display:flex}.page-heading{min-width:0}.breadcrumb{color:var(--ink-500);flex-wrap:wrap;align-items:center;gap:5px;margin:0 0 8px;padding:0;font-size:12px;list-style:none;display:flex}.breadcrumb li:not(:last-child):after{color:var(--ink-300);content:"/";margin-left:5px}.page-title{color:var(--ink-950);letter-spacing:-.025em;margin:0;font-size:clamp(22px,2vw,28px);font-weight:720;line-height:1.3}.page-description{max-width:760px;color:var(--text-secondary);margin:7px 0 0;font-size:13px}.page-actions{flex-wrap:wrap;flex:none;justify-content:flex-end}.section{margin-top:24px}.section:first-child{margin-top:0}.section-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.section-title{color:var(--ink-800);margin:0;font-size:16px;font-weight:700}.section-caption{color:var(--ink-500);margin:3px 0 0;font-size:12px}.content-grid{grid-template-columns:minmax(0,1fr) 340px;gap:18px;display:grid}.stack{gap:16px;display:grid}.split-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.split-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.button,.btn{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--paper);min-height:36px;color:var(--ink-700);text-align:center;box-shadow:var(--shadow-xs);justify-content:center;align-items:center;gap:7px;padding:7px 14px;font-size:13px;font-weight:650;line-height:20px;transition:border-color .14s,background .14s,box-shadow .14s,color .14s,transform .1s;display:inline-flex}.button:hover,.btn:hover{border-color:var(--ink-300);background:var(--ink-50);color:var(--ink-900)}.button:active,.btn:active{transform:translateY(1px)}.button svg,.btn svg{flex:0 0 16px;width:16px;height:16px}.button-primary,.btn-primary{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 1px 2px #1344772e}.button-primary:hover,.btn-primary:hover{border-color:var(--accent-hover);background:var(--accent-hover);color:#fff}.button-danger,.btn-danger{border-color:var(--danger-600);background:var(--danger-600);color:#fff}.button-danger:hover,.btn-danger:hover{border-color:var(--danger-700);background:var(--danger-700);color:#fff}.button-ghost,.btn-ghost{box-shadow:none;background:0 0;border-color:#0000}.button-ghost:hover,.btn-ghost:hover{background:var(--ink-75);border-color:#0000}.button-link,.btn-link{min-height:30px;color:var(--accent);box-shadow:none;background:0 0;border-color:#0000;padding:4px 2px}.button-link:hover,.btn-link:hover{color:var(--accent-hover);background:0 0;border-color:#0000}.button-sm,.btn-sm{min-height:30px;padding:4px 10px;font-size:12px}.button-lg,.btn-lg{min-height:42px;padding:9px 18px}.button-block,.btn-block{width:100%}.field,.form-field{gap:7px;min-width:0;display:grid}.field-label,.form-label{color:var(--ink-700);justify-content:space-between;align-items:center;gap:8px;font-size:13px;font-weight:650;display:flex}.required{color:var(--danger-600)}.field-hint,.form-hint{color:var(--ink-500);font-size:12px}.field-error,.form-error{color:var(--danger-700);font-size:12px}.input,.select,.textarea,.form-control,input[type=text],input[type=search],input[type=email],input[type=number],input[type=date],input[type=datetime-local],select,textarea{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--paper);width:100%;min-width:0;color:var(--text);outline:none;transition:border-color .14s,box-shadow .14s,background .14s;box-shadow:inset 0 1px 1px #111b2805}.input,.select,.form-control,input[type=text],input[type=search],input[type=email],input[type=number],input[type=date],input[type=datetime-local],select{height:36px;padding:0 11px}.textarea,textarea{resize:vertical;min-height:96px;padding:9px 11px;line-height:1.6}.input:hover,.select:hover,.textarea:hover,.form-control:hover,input:hover,select:hover,textarea:hover{border-color:var(--ink-300)}.input:focus,.select:focus,.textarea:focus,.form-control:focus,input:focus,select:focus,textarea:focus{border-color:var(--blue-400);box-shadow:var(--focus-ring)}.input::placeholder,.textarea::placeholder,input::placeholder,textarea::placeholder{color:var(--ink-400)}.input[aria-invalid=true],.textarea[aria-invalid=true],.form-control[aria-invalid=true]{border-color:var(--danger-600)}.input[aria-invalid=true]:focus,.textarea[aria-invalid=true]:focus,.form-control[aria-invalid=true]:focus{box-shadow:0 0 0 3px #cf4b502e}.input-group{min-width:0;display:flex;position:relative}.input-group>svg{z-index:1;width:17px;height:17px;color:var(--ink-400);pointer-events:none;position:absolute;top:9px;left:11px}.input-group>svg+input{padding-left:36px}.form-grid .full-span{grid-column:1/-1}.checkbox,.radio,.switch{color:var(--ink-700);align-items:center;gap:8px;display:inline-flex}input[type=checkbox],input[type=radio]{width:16px;height:16px;accent-color:var(--accent);margin:0}.switch-control{background:var(--ink-300);border:0;border-radius:12px;flex:0 0 36px;width:36px;height:20px;transition:background .16s;position:relative}.switch-control:after{background:var(--paper);content:"";width:14px;height:14px;transition:transform .18s var(--ease-out);border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #111b2840}.switch-control[aria-checked=true],.switch-control.active{background:var(--accent)}.switch-control[aria-checked=true]:after,.switch-control.active:after{transform:translate(16px)}.card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-width:0;box-shadow:var(--shadow-xs)}.card-header{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:14px;min-height:52px;padding:12px 16px;display:flex}.card-title{color:var(--ink-800);margin:0;font-size:14px;font-weight:700}.card-subtitle{color:var(--ink-500);margin:3px 0 0;font-size:12px}.card-body{padding:16px}.card-footer{border-top:1px solid var(--border-soft);background:var(--surface-subtle);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.card-flat{box-shadow:none;border-radius:0}.card-interactive{transition:border-color .16s ease, box-shadow .16s ease, transform .16s var(--ease-out)}.card-interactive:hover{border-color:var(--blue-300);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.stat-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-width:0;box-shadow:var(--shadow-xs);padding:17px 18px 16px;position:relative;overflow:hidden}.stat-card:after{background:var(--blue-500);content:"";opacity:0;height:2px;position:absolute;inset:0 0 auto}.stat-card.accent:after{opacity:1}.stat-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.stat-label{color:var(--ink-600);font-size:12px;font-weight:600}.stat-icon{border-radius:var(--radius-sm);background:var(--blue-50);width:30px;height:30px;color:var(--blue-700);place-items:center;display:grid}.stat-icon.success{background:var(--success-50);color:var(--success-700)}.stat-icon.warning{background:var(--warning-50);color:var(--warning-700)}.stat-icon.danger{background:var(--danger-50);color:var(--danger-700)}.stat-icon svg{width:17px;height:17px}.stat-value{color:var(--ink-950);font-variant-numeric:tabular-nums;letter-spacing:-.035em;margin-top:8px;font-size:clamp(24px,2.1vw,30px);font-weight:720;line-height:1.2}.stat-value small{color:var(--ink-500);letter-spacing:0;margin-left:3px;font-size:12px;font-weight:500}.stat-meta{color:var(--ink-500);align-items:center;gap:7px;margin-top:8px;font-size:11px;display:flex}.trend-up{color:var(--success-700);font-weight:650}.trend-down{color:var(--danger-700);font-weight:650}.metric-row{min-height:38px;color:var(--ink-600);grid-template-columns:minmax(110px,1fr) minmax(100px,2fr) auto;align-items:center;gap:12px;font-size:12px;display:grid}.metric-row+.metric-row{border-top:1px solid var(--border-soft)}.metric-value{color:var(--ink-800);font-variant-numeric:tabular-nums;text-align:right;font-weight:680}.progress{background:var(--ink-100);border-radius:4px;height:6px;position:relative;overflow:hidden}.progress-bar{border-radius:inherit;background:var(--blue-500);height:100%;transition:width .4s var(--ease-out)}.progress-bar.success{background:var(--success-600)}.progress-bar.warning{background:var(--warning-600)}.progress-bar.danger{background:var(--danger-600)}.progress-lg{height:9px}.progress-labels{color:var(--ink-600);justify-content:space-between;align-items:center;gap:12px;margin-bottom:7px;font-size:12px;display:flex}.progress-labels strong{color:var(--ink-800);font-variant-numeric:tabular-nums}.status,.badge,.tag{border:1px solid var(--ink-200);background:var(--ink-50);min-width:0;min-height:22px;color:var(--ink-600);white-space:nowrap;border-radius:4px;align-items:center;gap:5px;padding:2px 7px;font-size:11px;font-weight:620;line-height:16px;display:inline-flex}.status:before{content:"";opacity:.75;background:currentColor;border-radius:50%;flex:0 0 6px;width:6px;height:6px}.status-blue,.status-processing,.badge-blue{border-color:var(--blue-200);background:var(--blue-50);color:var(--blue-700)}.status-success,.status-complete,.badge-success{border-color:var(--success-100);background:var(--success-50);color:var(--success-700)}.status-warning,.status-review,.badge-warning{border-color:var(--warning-100);background:var(--warning-50);color:var(--warning-700)}.status-danger,.status-error,.badge-danger{border-color:var(--danger-100);background:var(--danger-50);color:var(--danger-700)}.status-violet,.badge-violet{border-color:var(--violet-100);background:var(--violet-50);color:var(--violet-700)}.status-muted,.badge-muted{border-color:var(--ink-200);background:var(--ink-50);color:var(--ink-500)}.badge:before,.tag:before{content:none}.tag{border-radius:12px;font-weight:500}.alert{border:1px solid var(--blue-200);border-radius:var(--radius-sm);background:var(--blue-50);color:var(--blue-800);align-items:flex-start;gap:11px;padding:11px 13px;font-size:12px;display:flex}.alert>svg{flex:0 0 18px;width:18px;height:18px;margin-top:1px}.alert-success{border-color:var(--success-100);background:var(--success-50);color:var(--success-700)}.alert-warning{border-color:var(--warning-100);background:var(--warning-50);color:#78500d}.alert-danger{border-color:var(--danger-100);background:var(--danger-50);color:var(--danger-700)}.alert-title{margin-bottom:2px;font-weight:700}.alert-message{color:color-mix(in srgb, currentColor 82%, transparent)}.table-card{overflow:hidden}.table-toolbar,.filter-bar{border-bottom:1px solid var(--border-soft);background:var(--surface);flex-wrap:wrap;align-items:center;gap:9px;min-height:58px;padding:11px 14px;display:flex}.filter-bar{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-xs)}.filter-search{width:min(280px,100%)}.filter-control{width:auto;min-width:128px}.filter-spacer{flex:1}.active-filters{flex-wrap:wrap;flex:100%;gap:7px;padding-top:3px;display:flex}.filter-chip{border:1px solid var(--blue-200);background:var(--blue-50);min-height:26px;color:var(--blue-800);border-radius:13px;align-items:center;gap:6px;padding:3px 7px 3px 9px;font-size:11px;display:inline-flex}.filter-chip button{width:17px;height:17px;color:var(--blue-700);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:inline-grid}.filter-chip button:hover{background:var(--blue-100)}.table-scroll{overscroll-behavior:contain;scrollbar-color:var(--ink-300) transparent;scrollbar-width:thin;width:100%;overflow:auto}.table{width:100%;min-width:760px;color:var(--ink-700);text-align:left;font-size:12px}.table th{border-bottom:1px solid var(--border);background:var(--surface-subtle);height:40px;color:var(--ink-600);letter-spacing:.02em;white-space:nowrap;padding:0 13px;font-size:11px;font-weight:700}.table td{border-bottom:1px solid var(--border-soft);vertical-align:middle;height:49px;padding:8px 13px}.table tbody tr{transition:background .11s}.table tbody tr:hover{background:var(--blue-50)}.table tbody tr.selected,.table tbody tr[aria-selected=true]{background:var(--surface-selected)}.table tbody tr:last-child td{border-bottom:0}.table .cell-primary{color:var(--ink-900);font-weight:650}.table .cell-secondary{color:var(--ink-500);margin-top:2px;font-size:11px}.table .cell-number{font-variant-numeric:tabular-nums;text-align:right}.table .cell-actions{white-space:nowrap;width:1%}.table .cell-checkbox{text-align:center;width:42px;padding-right:5px}.sort-button{color:inherit;font:inherit;font-weight:inherit;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.sort-button:hover,.sort-button.active{color:var(--blue-700)}.table-pagination,.pagination{border-top:1px solid var(--border-soft);background:var(--surface);min-height:54px;color:var(--ink-500);justify-content:space-between;align-items:center;gap:16px;padding:10px 14px;font-size:12px;display:flex}.pagination-pages{align-items:center;gap:4px;display:flex}.pagination-button{border-radius:var(--radius-sm);min-width:30px;height:30px;color:var(--ink-600);background:0 0;border:1px solid #0000;place-items:center;padding:0 7px;display:inline-grid}.pagination-button:hover{border-color:var(--border);background:var(--ink-50)}.pagination-button.active,.pagination-button[aria-current=page]{border-color:var(--blue-600);background:var(--blue-600);color:#fff}.bulk-actions{border-bottom:1px solid var(--blue-200);background:var(--blue-50);min-height:46px;color:var(--blue-800);align-items:center;gap:10px;padding:8px 13px;display:flex}.bulk-count{margin-right:auto;font-size:12px;font-weight:650}.tabs{border-bottom:1px solid var(--border);scrollbar-width:none;min-width:0;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{min-height:43px;color:var(--ink-600);background:0 0;border:0;flex:none;align-items:center;gap:6px;padding:0 15px;font-size:13px;display:inline-flex;position:relative}.tab:hover{color:var(--ink-900)}.tab.active,.tab[aria-selected=true]{color:var(--blue-700);font-weight:680}.tab.active:after,.tab[aria-selected=true]:after{background:var(--blue-600);content:"";height:2px;position:absolute;inset:auto 13px -1px}.tab-count{background:var(--ink-100);color:var(--ink-500);border-radius:8px;padding:0 5px;font-size:10px;line-height:17px}.tab.active .tab-count,.tab[aria-selected=true] .tab-count{background:var(--blue-100);color:var(--blue-700)}.steps{grid-template-columns:repeat(var(--step-count,4), minmax(0, 1fr));margin:0;padding:0;list-style:none;display:grid}.step{align-items:flex-start;gap:9px;min-width:0;padding-right:16px;display:flex;position:relative}.step:not(:last-child):after{z-index:0;background:var(--border-strong);content:"";height:1px;position:absolute;top:13px;left:36px;right:8px}.step.complete:not(:last-child):after{background:var(--success-600)}.step-number{z-index:1;border:1px solid var(--border-strong);background:var(--surface);width:27px;height:27px;color:var(--ink-500);border-radius:50%;flex:0 0 27px;place-items:center;font-size:11px;font-weight:700;display:grid;position:relative}.step.active .step-number{border-color:var(--blue-600);background:var(--blue-600);color:#fff}.step.complete .step-number{border-color:var(--success-600);background:var(--success-600);color:#fff}.step-label{min-width:0;color:var(--ink-600);padding-top:4px;font-size:12px}.step.active .step-label{color:var(--ink-900);font-weight:680}.timeline{margin:0;padding:0;list-style:none}.timeline-item{padding:0 0 20px 25px;position:relative}.timeline-item:not(:last-child):before{background:var(--border);content:"";width:1px;position:absolute;top:10px;bottom:0;left:6px}.timeline-item:after{border:2px solid var(--surface);background:var(--blue-500);width:9px;height:9px;box-shadow:0 0 0 1px var(--blue-300);content:"";border-radius:50%;position:absolute;top:5px;left:2px}.timeline-title{color:var(--ink-800);font-size:12px;font-weight:650}.timeline-meta{color:var(--ink-500);margin-top:3px;font-size:11px}.charts,.chart-grid{grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);gap:16px;display:grid}.chart-card{min-width:0;min-height:320px}.chart-card .card-body{height:270px}.chart-container{width:100%;height:100%;min-height:220px;position:relative}.chart-legend{color:var(--ink-600);flex-wrap:wrap;align-items:center;gap:14px;font-size:11px;display:flex}.legend-item{align-items:center;gap:6px;display:inline-flex}.legend-swatch{background:var(--blue-500);border-radius:2px;width:8px;height:8px}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:var(--border-soft)}.recharts-text{fill:var(--ink-500);font-family:var(--font-sans);font-size:11px}.recharts-tooltip-wrapper{outline:none}.chart-tooltip{border:1px solid var(--border);border-radius:var(--radius-sm);min-width:130px;box-shadow:var(--shadow-md);color:var(--ink-700);background:#fdfefefa;padding:9px 11px;font-size:11px}.distribution-bar{min-height:33px;color:var(--ink-600);grid-template-columns:62px minmax(0,1fr) 40px;align-items:center;gap:10px;font-size:11px;display:grid}.distribution-track{background:var(--ink-100);border-radius:2px;height:9px;overflow:hidden}.distribution-fill{border-radius:inherit;background:var(--blue-500);height:100%}.upload-zone{border:1px dashed var(--blue-300);border-radius:var(--radius-md);background:var(--blue-50);min-height:230px;color:var(--ink-600);text-align:center;place-items:center;padding:28px;transition:border-color .16s,background .16s,box-shadow .16s;display:grid;position:relative}.upload-zone:hover,.upload-zone.dragging,.upload-zone[data-dragging=true]{border-color:var(--blue-600);box-shadow:inset 0 0 0 1px var(--blue-400);background:#e9f3fc}.upload-zone input[type=file]{cursor:pointer;opacity:0;position:absolute;inset:0}.upload-icon{border:1px solid var(--blue-200);background:var(--surface);width:52px;height:52px;color:var(--blue-700);box-shadow:var(--shadow-xs);border-radius:50%;place-items:center;margin:0 auto 14px;display:grid}.upload-icon svg{width:24px;height:24px}.upload-title{color:var(--ink-800);font-size:15px;font-weight:700}.upload-description{color:var(--ink-500);margin-top:6px;font-size:12px}.upload-rules{color:var(--ink-400);margin-top:13px;font-size:11px}.file-list{gap:8px;display:grid}.file-item{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--surface);grid-template-columns:34px minmax(0,1fr) minmax(120px,180px) auto;align-items:center;gap:11px;min-height:58px;padding:8px 10px;display:grid}.file-icon{border-radius:var(--radius-sm);background:var(--ink-75);width:34px;height:34px;color:var(--ink-600);place-items:center;display:grid}.file-name{color:var(--ink-800);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:650;overflow:hidden}.file-meta{color:var(--ink-500);margin-top:2px;font-size:11px}.upload-summary{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.upload-summary-item{padding:16px}.upload-summary-item+.upload-summary-item{border-left:1px solid var(--border-soft)}.process-panel{grid-template-columns:minmax(240px,.9fr) minmax(0,2fr);gap:18px;display:grid}.process-stage-list{margin:0;padding:0;list-style:none}.process-stage{align-items:flex-start;gap:11px;min-height:52px;padding-bottom:10px;display:flex;position:relative}.process-stage:not(:last-child):before{background:var(--border);content:"";width:1px;position:absolute;top:25px;bottom:0;left:12px}.stage-dot{z-index:1;border:1px solid var(--border-strong);background:var(--surface);width:25px;height:25px;color:var(--ink-400);border-radius:50%;flex:0 0 25px;place-items:center;display:grid;position:relative}.process-stage.active .stage-dot{border-color:var(--blue-500);background:var(--blue-50);color:var(--blue-700)}.process-stage.complete .stage-dot{border-color:var(--success-600);background:var(--success-600);color:#fff}.stage-title{color:var(--ink-700);font-size:12px;font-weight:650}.process-stage.active .stage-title{color:var(--blue-800)}.stage-meta{color:var(--ink-500);margin-top:2px;font-size:11px}.confidence{font-variant-numeric:tabular-nums;align-items:center;gap:6px;display:inline-flex}.confidence-meter{background:var(--ink-100);border-radius:2px;width:48px;height:4px;overflow:hidden}.confidence-meter>span{background:var(--success-600);height:100%;display:block}.confidence.medium .confidence-meter>span{background:var(--warning-600)}.confidence.low .confidence-meter>span{background:var(--danger-600)}.review-page{height:calc(100vh - var(--topbar-height));background:#111923;min-height:660px;overflow:hidden}.review-workspace{color:#d7e0e9;grid-template-columns:260px minmax(420px,1fr) 370px;min-width:1080px;height:100%;display:grid}.review-queue,.review-inspector{background:#18222e;min-width:0;overflow:hidden}.review-queue{border-right:1px solid #2d3947}.review-inspector{color:var(--text);background:#f7f8fa;border-left:1px solid #2d3947}.review-pane-header{border-bottom:1px solid #2d3947;justify-content:space-between;align-items:center;gap:10px;min-height:54px;padding:10px 13px;display:flex}.review-inspector .review-pane-header{border-bottom-color:var(--border);background:var(--surface)}.review-pane-title{color:#f1f5f8;margin:0;font-size:13px;font-weight:700}.review-inspector .review-pane-title{color:var(--ink-800)}.review-pane-body{overscroll-behavior:contain;scrollbar-color:#536272 transparent;scrollbar-width:thin;height:calc(100% - 54px);overflow:auto}.review-inspector .review-pane-body{scrollbar-color:var(--ink-300) transparent}.review-filter{border-bottom:1px solid #2d3947;padding:10px}.review-filter input{color:#e6edf4;box-shadow:none;background:#111923;border-color:#354251}.review-filter input::placeholder{color:#798a9b}.review-task-list{margin:0;padding:0;list-style:none}.review-task{color:#b9c7d5;border-bottom:1px solid #273442;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;padding:11px 10px;transition:background .12s;display:grid}.review-task:hover{background:#1d2a38}.review-task.active,.review-task[aria-current=true]{color:#f1f6fa;background:#203b55;box-shadow:inset 3px 0 #6fa9dd}.review-task-number{border-radius:var(--radius-sm);color:#aebdcb;background:#111923;border:1px solid #3b4958;place-items:center;width:30px;height:30px;font-size:11px;font-weight:700;display:grid}.review-task-name{color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:650;overflow:hidden}.review-task-meta{color:#8293a4;margin-top:3px;font-size:10px}.review-canvas{background:#101720;flex-direction:column;min-width:0;display:flex;position:relative;overflow:hidden}.review-toolbar{background:#18222e;border-bottom:1px solid #2b3744;justify-content:space-between;align-items:center;gap:12px;min-height:54px;padding:8px 13px;display:flex}.review-toolbar-group{align-items:center;gap:4px;display:flex}.review-toolbar .icon-button{color:#adbdcc;flex-basis:32px;width:32px;height:32px}.review-toolbar .icon-button:hover,.review-toolbar .icon-button.active{color:#f0f5f9;background:#243140;border-color:#405062}.review-toolbar-divider{background:#344251;width:1px;height:20px;margin:0 4px}.review-zoom{color:#aab8c5;font-variant-numeric:tabular-nums;text-align:center;min-width:47px;font-size:11px}.paper-canvas{overscroll-behavior:contain;scrollbar-color:#465565 transparent;scrollbar-width:thin;background-color:#101720;background-image:linear-gradient(45deg,#ffffff05 25%,#0000 25%),linear-gradient(-45deg,#ffffff05 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#ffffff05 75%),linear-gradient(-45deg,#0000 75%,#ffffff05 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px;flex:1;place-items:start center;padding:32px;display:grid;position:relative;overflow:auto}.paper-sheet{color:#1f2630;transform-origin:top;background:#f7f5ef;width:min(760px,100%);min-height:980px;position:relative;overflow:hidden;box-shadow:0 5px 28px #00000059}.answer-region{background:#2b78ca17;border:2px solid #2b78cabf;position:absolute;box-shadow:0 0 0 1px #ffffff8c}.answer-region.low-confidence{background:#cf4b501c;border-color:#cf4b50e6}.region-label{background:var(--blue-700);color:#fff;white-space:nowrap;border-radius:3px 3px 0 0;padding:2px 6px;font-size:10px;font-weight:700;position:absolute;top:-23px;left:-2px}.low-confidence .region-label{background:var(--danger-700)}.review-question{border-bottom:1px solid var(--border);background:var(--surface);padding:15px}.question-kicker{color:var(--blue-700);font-size:11px;font-weight:700}.question-title{color:var(--ink-900);margin:5px 0 0;font-size:14px;font-weight:700}.question-meta{color:var(--ink-500);flex-wrap:wrap;gap:7px 12px;margin-top:8px;font-size:11px;display:flex}.review-section{border-bottom:1px solid var(--border-soft);background:var(--surface);padding:14px 15px}.review-section-title{color:var(--ink-700);justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px;font-size:12px;font-weight:700;display:flex}.answer-text{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--surface-subtle);color:var(--ink-700);padding:10px 11px;font-size:12px;line-height:1.75}.rubric-list{gap:7px;display:grid}.rubric-item{color:var(--ink-600);grid-template-columns:17px minmax(0,1fr) auto;align-items:start;gap:8px;font-size:11px;display:grid}.rubric-item.matched{color:var(--success-700)}.score-panel{border-top:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fdfefef7;padding:14px 15px;position:sticky;bottom:0;box-shadow:0 -6px 18px #111b2812}.score-input-row{grid-template-columns:minmax(0,1fr) 92px;align-items:end;gap:10px;display:grid}.score-input{font-variant-numeric:tabular-nums;text-align:center;height:44px!important;color:var(--blue-800)!important;font-size:20px!important;font-weight:750!important}.quick-scores{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;margin-top:9px;display:grid}.quick-score{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);height:30px;color:var(--ink-600);padding:0;font-size:11px}.quick-score:hover,.quick-score.active{border-color:var(--blue-400);background:var(--blue-50);color:var(--blue-800)}.keyboard-hints{color:var(--ink-500);flex-wrap:wrap;align-items:center;gap:7px 12px;margin-top:10px;font-size:10px;display:flex}kbd{border:1px solid var(--border-strong);background:var(--surface);min-width:20px;height:19px;color:var(--ink-600);font-family:var(--font-sans);border-bottom-width:2px;border-radius:3px;place-items:center;margin-right:3px;padding:0 4px;font-size:10px;line-height:16px;display:inline-grid}.exception-list{gap:10px;display:grid}.exception-item{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);grid-template-columns:4px minmax(0,1fr) auto;gap:13px;min-height:76px;padding:13px 14px 13px 0;display:grid;overflow:hidden}.exception-severity{background:var(--warning-600);border-radius:0 2px 2px 0;align-self:stretch}.exception-item.critical .exception-severity,.exception-item.danger .exception-severity{background:var(--danger-600)}.exception-item.info .exception-severity{background:var(--blue-500)}.exception-title{color:var(--ink-800);font-size:13px;font-weight:680}.exception-description{color:var(--ink-600);margin-top:4px;font-size:12px}.exception-meta{color:var(--ink-500);flex-wrap:wrap;gap:10px;margin-top:7px;font-size:11px;display:flex}.description-list{grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.description-item{border-bottom:1px solid var(--border-soft);grid-template-columns:110px minmax(0,1fr);align-items:start;gap:10px;min-height:43px;padding:11px 14px;display:grid}.description-item dt{color:var(--ink-500);font-size:12px}.description-item dd{min-width:0;color:var(--ink-800);overflow-wrap:anywhere;margin:0;font-size:12px;font-weight:550}.empty-state,.error-state{text-align:center;place-items:center;min-height:260px;padding:38px 24px;display:grid}.empty-state-icon,.error-state-icon{border:1px solid var(--border);background:var(--surface-subtle);width:50px;height:50px;color:var(--ink-400);border-radius:50%;place-items:center;margin:0 auto 13px;display:grid}.error-state-icon{border-color:var(--danger-100);background:var(--danger-50);color:var(--danger-600)}.empty-state-title,.error-state-title{color:var(--ink-800);margin:0;font-size:14px;font-weight:700}.empty-state-description,.error-state-description{max-width:430px;color:var(--ink-500);margin:6px auto 15px;font-size:12px}.skeleton{background:var(--ink-100);border-radius:3px;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,#0000,#ffffffb3,#0000);width:100%;height:100%;animation:1.4s infinite skeleton-shimmer;display:block;transform:translate(-100%)}@keyframes skeleton-shimmer{to{transform:translate(100%)}}@keyframes spin{to{transform:rotate(360deg)}}.modal-backdrop,.drawer-backdrop{z-index:900;background:#0b17257a;place-items:center;padding:20px;animation:.15s ease-out fade-in;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-raised);width:min(560px,100%);max-height:min(780px,100vh - 40px);box-shadow:var(--shadow-lg);animation:modal-in .19s var(--ease-out);overflow:hidden}.modal-sm{width:min(420px,100%)}.modal-lg{width:min(820px,100%)}.modal-header{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:14px;min-height:58px;padding:13px 17px;display:flex}.modal-title{color:var(--ink-900);margin:0;font-size:16px;font-weight:720}.modal-body{max-height:calc(100vh - 180px);padding:18px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border-soft);background:var(--surface-subtle);justify-content:flex-end;align-items:center;gap:9px;padding:12px 17px;display:flex}.drawer-backdrop{place-items:stretch end;padding:0}.drawer{background:var(--surface-raised);width:min(520px,92vw);height:100%;animation:drawer-in .21s var(--ease-out);flex-direction:column;display:flex;box-shadow:-12px 0 42px #0b17252e}.drawer-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;min-height:64px;padding:14px 18px;display:flex}.drawer-body{flex:1;padding:18px;overflow:auto}.drawer-footer{border-top:1px solid var(--border);background:var(--surface-subtle);justify-content:flex-end;gap:9px;padding:12px 18px;display:flex}.dropdown,.popover,.command-menu{z-index:700;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised);min-width:190px;box-shadow:var(--shadow-md);padding:5px;position:absolute}.dropdown-item,.menu-item{border-radius:var(--radius-sm);width:100%;min-height:34px;color:var(--ink-700);text-align:left;background:0 0;border:0;align-items:center;gap:9px;padding:6px 9px;font-size:12px;display:flex}.dropdown-item:hover,.menu-item:hover,.dropdown-item[aria-selected=true],.menu-item[aria-selected=true]{background:var(--blue-50);color:var(--blue-800)}.dropdown-item.danger,.menu-item.danger{color:var(--danger-700)}.menu-separator{background:var(--border-soft);height:1px;margin:5px}.toast-region{z-index:1200;pointer-events:none;gap:9px;width:min(380px,100vw - 40px);display:grid;position:fixed;bottom:20px;right:20px}.toast{border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:var(--ink-700);pointer-events:auto;animation:toast-in .22s var(--ease-out);background:#fdfefefa;grid-template-columns:20px minmax(0,1fr) auto;gap:10px;padding:12px 13px;display:grid}.toast.success{border-left:3px solid var(--success-600)}.toast.warning{border-left:3px solid var(--warning-600)}.toast.error,.toast.danger{border-left:3px solid var(--danger-600)}.toast-icon{color:var(--blue-700);margin-top:1px}.toast.success .toast-icon{color:var(--success-700)}.toast.error .toast-icon,.toast.danger .toast-icon{color:var(--danger-700)}.toast-title{font-size:12px;font-weight:700}.toast-message{color:var(--ink-500);margin-top:2px;font-size:11px}@keyframes fade-in{0%{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)scale(.985)}}@keyframes drawer-in{0%{transform:translate(100%)}}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.auth-page{background:var(--surface);grid-template-columns:minmax(360px,.9fr) minmax(520px,1.4fr);min-height:100vh;display:grid}.auth-panel{flex-direction:column;justify-content:center;min-width:0;padding:clamp(36px,6vw,88px);display:flex}.auth-card{width:min(420px,100%);margin:0 auto}.auth-brand{align-items:center;gap:11px;margin-bottom:42px;display:flex}.auth-title{color:var(--ink-950);letter-spacing:-.03em;margin:0;font-size:26px;font-weight:750}.auth-description{color:var(--ink-600);margin:8px 0 27px}.auth-aside{background:var(--blue-950);color:#dbe8f3;flex-direction:column;justify-content:flex-end;min-height:100vh;padding:clamp(36px,5vw,72px);display:flex;position:relative;overflow:hidden}.auth-aside:before{content:"";background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-size:36px 36px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 4%,#000 55%);mask-image:linear-gradient(#0000 4%,#000 55%)}.auth-aside-content{z-index:1;max-width:640px;position:relative}.auth-aside h2{color:#f4f8fb;letter-spacing:-.04em;max-width:580px;margin:0;font-size:clamp(30px,4vw,48px);font-weight:680;line-height:1.25}.auth-aside p{color:#a9bfd2;max-width:560px;margin:17px 0 0;font-size:15px;line-height:1.8}.role-options{gap:9px;display:grid}.role-option{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);text-align:left;grid-template-columns:38px minmax(0,1fr) 18px;align-items:center;gap:11px;padding:10px 11px;transition:border-color .14s,background .14s,box-shadow .14s;display:grid}.role-option:hover,.role-option.active,.role-option[aria-checked=true]{border-color:var(--blue-400);background:var(--blue-50);box-shadow:0 0 0 2px #2b78ca1a}.role-option-title{color:var(--ink-800);font-size:13px;font-weight:680}.role-option-meta{color:var(--ink-500);margin-top:2px;font-size:11px}@media (width<=1280px){:root{--sidebar-width:220px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid{grid-template-columns:minmax(0,1fr) 300px}.review-workspace{grid-template-columns:220px minmax(420px,1fr) 340px}}@media (width<=1100px){.app-shell{grid-template-columns:var(--sidebar-collapsed-width) minmax(0, 1fr)}.sidebar{width:var(--sidebar-collapsed-width)}.sidebar-brand{justify-content:center;padding:0}.brand-copy,.sidebar-section-label,.nav-label,.nav-badge,.sidebar-account .user-copy{display:none}.sidebar-scroll{padding-inline:8px}.nav-item{justify-content:center;padding-inline:0}.nav-item.active:before,.nav-item[aria-current=page]:before{left:-8px}.sidebar-account{justify-content:center;padding:5px 0}.content-grid,.charts,.chart-grid,.process-panel{grid-template-columns:1fr}.split-3{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-page{grid-template-columns:minmax(380px,1fr) 1fr}}@media (width<=840px){:root{--topbar-height:58px}.app-shell{min-height:100vh;display:block}.sidebar{width:min(278px,86vw);transform:translate(-100%)}.sidebar.open,.app-shell.sidebar-open .sidebar{transform:translate(0)}.sidebar.open .brand-copy,.sidebar.open .sidebar-section-label,.sidebar.open .nav-label,.sidebar.open .nav-badge,.sidebar.open .sidebar-account .user-copy,.app-shell.sidebar-open .brand-copy,.app-shell.sidebar-open .sidebar-section-label,.app-shell.sidebar-open .nav-label,.app-shell.sidebar-open .nav-badge,.app-shell.sidebar-open .sidebar-account .user-copy{display:block}.sidebar.open .sidebar-brand,.app-shell.sidebar-open .sidebar-brand{justify-content:flex-start;padding:0 18px}.sidebar.open .nav-item,.app-shell.sidebar-open .nav-item{justify-content:flex-start;padding-inline:10px}.sidebar.open .sidebar-account,.app-shell.sidebar-open .sidebar-account{justify-content:flex-start;padding:7px}.sidebar-backdrop{z-index:290;opacity:0;pointer-events:none;background:#0b17256b;transition:opacity .18s;display:block;position:fixed;inset:0}.app-shell.sidebar-open .sidebar-backdrop{opacity:1;pointer-events:auto}.topbar{height:var(--topbar-height);padding:0 14px;position:sticky}.app-main{min-height:calc(100vh - var(--topbar-height))}.global-search{flex:1;width:auto}.search-shortcut,.user-copy,.topbar-title{display:none}.page{padding:18px 14px 28px}.page-header{flex-direction:column;align-items:stretch;gap:15px}.page-actions{justify-content:flex-start}.content-grid,.split-2,.split-3,.form-grid,.description-list{grid-template-columns:1fr}.upload-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.upload-summary-item:nth-child(3){border-left:0;border-top:1px solid var(--border-soft)}.upload-summary-item:nth-child(4){border-top:1px solid var(--border-soft)}.steps{grid-template-columns:1fr;gap:8px}.step{min-height:40px}.step:not(:last-child):after{width:1px;height:auto;inset:28px auto -9px 13px}.auth-page{grid-template-columns:1fr}.auth-aside{display:none}.auth-panel{min-height:100vh;padding:28px 20px}.review-page{height:auto;min-height:calc(100vh - var(--topbar-height));overflow:auto}.review-workspace{min-width:0;height:auto;display:block}.review-queue{display:none}.review-canvas{min-height:58vh}.review-inspector{border-top:1px solid var(--border);border-left:0}.review-inspector .review-pane-body{height:auto;max-height:none}}@media (width<=560px){body{font-size:13px}.topbar-actions .icon-button:not(.notification-button),.user-menu{display:none}.stat-grid{grid-template-columns:1fr}.page-title{font-size:22px}.page-actions>.button,.page-actions>.btn{flex:1}.table-toolbar,.filter-bar{flex-direction:column;align-items:stretch}.filter-search,.filter-control,.table-toolbar .input-group,.table-toolbar select{width:100%}.table-pagination,.pagination{flex-direction:column;align-items:flex-start}.file-item{grid-template-columns:34px minmax(0,1fr) auto}.file-item .progress{grid-column:1/-1;width:100%}.upload-summary{grid-template-columns:1fr}.upload-summary-item+.upload-summary-item,.upload-summary-item:nth-child(3){border-top:1px solid var(--border-soft);border-left:0}.description-item{grid-template-columns:1fr;gap:3px}.modal-backdrop{align-items:end;padding:0}.modal{border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-width:1px 0 0;width:100%;max-height:92vh}.drawer{width:100%}.toast-region{width:calc(100vw - 20px);bottom:10px;right:10px}.paper-canvas{padding:16px 10px}.review-toolbar{overflow-x:auto}.quick-scores{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-contrast:more){:root{--border:#bbc3cd;--border-soft:#cfd5dc;--text-secondary:#3f4d5f;--text-tertiary:#4f5e70}.status,.badge,.tag,.button,.btn,.input,.select,.textarea,.form-control{border-width:2px}}@media print{.sidebar,.topbar,.page-actions,.table-toolbar,.filter-bar,.toast-region,.modal-backdrop,.drawer-backdrop{display:none!important}.app-shell{display:block}.app-main,.page{width:100%;max-width:none;padding:0}body,.card,.table{color:#111;box-shadow:none;background:#fff}.card,.table-card{break-inside:avoid}}:root{--sidebar-width:244px;--topbar-height:64px;--content-max:1500px}body{overflow-x:hidden}.workspace{background:#f4f6f9;grid-area:1/2/3;min-width:0;min-height:100vh}.brand{border-bottom:1px solid #ffffff14;align-items:center;gap:10px;min-height:72px;padding:0 16px;display:flex}.brand>span:last-child{gap:2px;display:grid}.brand strong{color:#fff;font-size:16px}.brand small{color:#9eb2c8;font-size:11px}.brand-mark svg{width:20px}.org-switcher{background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;grid-template-columns:32px 1fr 16px;align-items:center;gap:9px;margin:14px 12px 8px;padding:10px;display:grid}.org-switcher strong,.org-switcher small{display:block}.org-switcher strong{color:#edf5fc;font-size:12px}.org-switcher small{color:#829bb3;margin-top:2px;font-size:10px}.org-switcher>svg{width:14px}.org-avatar{color:#fff;background:#2563eb;border-radius:8px;place-items:center;width:30px;height:30px;font-weight:700;display:grid}.sidebar nav{flex:1;padding:4px 10px 12px;overflow:auto}.nav-group{margin-top:16px}.nav-title{color:#67819b;letter-spacing:.08em;padding:0 10px 7px;font-size:10px;font-weight:700}.nav-item{color:#b9cadb;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:11px;width:100%;height:40px;padding:0 11px;display:flex;position:relative}.nav-item svg{width:18px}.nav-item span{flex:1}.nav-item b{color:#fff;background:#d94b4b;border-radius:10px;place-items:center;min-width:20px;height:20px;font-size:10px;display:grid}.nav-item:hover{color:#fff;background:#ffffff0f}.nav-item.active{color:#fff;background:#1d568f;font-weight:650}.sidebar-foot{border-top:1px solid #ffffff14;padding:12px}.ai-health{color:#b8cadc;align-items:center;gap:8px;padding:8px;display:flex}.ai-health strong,.ai-health small{display:block}.ai-health strong{font-size:10px}.ai-health small{color:#6f89a3;margin-top:2px;font-size:9px}.pulse{background:#3ed58c;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #3ed58c1f}.profile-mini{color:#dce8f4;text-align:left;background:#ffffff0d;border:0;border-radius:8px;grid-template-columns:32px 1fr 18px;align-items:center;gap:8px;width:100%;margin-top:5px;padding:8px;display:grid}.profile-mini>span:first-child{color:#174b7e;background:#d8e8f8;border-radius:50%;place-items:center;width:30px;height:30px;font-weight:700;display:grid}.profile-mini strong,.profile-mini small{display:block}.profile-mini strong{font-size:11px}.profile-mini small{color:#8098b0;font-size:9px}.profile-mini svg{width:16px}.topbar{grid-area:auto;height:64px;padding:0 24px;position:sticky}.global-search{width:min(460px,45vw);margin-right:auto}.global-search kbd{color:#8491a3;margin-right:8px;font-size:10px}.top-actions{align-items:center;gap:10px;display:flex}.has-dot:after{content:"";background:#ef4444;border:2px solid #fff;border-radius:50%;width:6px;height:6px;position:absolute;top:7px;right:7px}.icon-button{background:0 0;border:0;position:relative}.role-switch{background:#fff;border:1px solid #dbe1e8;border-radius:7px;align-items:center;gap:7px;padding:5px 9px;display:flex}.role-switch svg{color:#42617f;width:16px}.role-switch select{color:#334155;background:0 0;border:0;outline:0;font-size:11px}.page{min-height:calc(100vh - 64px);padding:24px 28px 40px}.page-header h1{color:#152238;margin:5px 0 3px;font-size:25px}.page-header p{color:#758296;margin:0;font-size:12px}.breadcrumbs{color:#8a96a7;align-items:center;gap:4px;font-size:10px;display:flex}.breadcrumbs svg{width:12px}.page-actions .button svg,.button svg{width:15px}.button{cursor:pointer;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:34px;padding:0 13px;font-size:11px;font-weight:650;display:inline-flex}.button.primary{color:#fff;background:#2165d5;box-shadow:0 2px 6px #2563eb33}.button.secondary,.button.ghost{color:#344258;background:#fff;border-color:#d8dfe8}.button.light{color:#235cab;background:#fff}.button.tiny{min-height:28px;padding:0 10px}.text-button{color:#2165d5;background:0 0;border:0;align-items:center;gap:3px;font-size:11px;display:inline-flex}.text-button svg{width:13px}.loading-card{color:#667085;justify-content:center;align-items:center;gap:10px;min-height:320px;display:flex}.spinner{border:2px solid #dbe6f3;border-top-color:#2563eb;border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}.welcome-strip{color:#fff;background:linear-gradient(105deg,#174b80,#2468a7 58%,#2b80b0);border-radius:12px;justify-content:space-between;align-items:center;padding:22px 26px;display:flex;box-shadow:0 8px 20px #174b8024}.welcome-strip>div>span{background:#ffffff1f;border-radius:12px;align-items:center;gap:6px;padding:4px 8px;font-size:10px;display:inline-flex}.welcome-strip svg{width:13px}.welcome-strip h2{margin:10px 0 3px;font-size:23px}.welcome-strip p{color:#cde0ef;margin:0;font-size:12px}.welcome-strip p strong{color:#fff}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:16px 0;display:grid}.stat-card{background:#fff;border:1px solid #e1e6ed;border-radius:10px;align-items:center;gap:13px;padding:17px;display:flex;box-shadow:0 2px 8px #172a4608}.stat-icon{border-radius:10px;place-items:center;width:42px;height:42px;display:grid}.stat-icon svg{width:20px}.stat-icon.blue{color:#2563eb;background:#e8f0ff}.stat-icon.amber{color:#d78b11;background:#fff4dd}.stat-icon.red{color:#d64545;background:#fdeaea}.stat-icon.green{color:#15945c;background:#e5f8ef}.stat-card p,.stat-card small{color:#7c899a;margin:0;font-size:10px;display:block}.stat-card strong{color:#162337;margin:2px 0;font-size:23px;display:block}.stat-card small{color:#6a9b7e}.card{background:#fff;border:1px solid #e0e5ec;border-radius:10px;padding:18px;box-shadow:0 2px 8px #172a4608}.card-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.card-header h3{color:#243247;margin:0;font-size:14px}.dashboard-grid,.analytics-grid{grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:14px;display:grid}.span-2{grid-column:auto}.exam-focus-head{align-items:center;gap:11px;display:flex}.exam-focus-head>div:nth-child(2){flex:1}.exam-focus-head strong,.exam-focus-head p{margin:0;display:block}.exam-focus-head p{color:#8390a2;margin-top:3px;font-size:10px}.subject-icon{border-radius:8px;place-items:center;width:36px;height:36px;font-size:13px;font-weight:750;display:grid}.subject-icon.math{color:#3564cc;background:#e8efff}.subject-icon.chinese{color:#d66a21;background:#fff0e5}.subject-icon.english{color:#16875c;background:#e6f8f1}.stage-track{justify-content:space-between;margin:22px 8px 18px;display:flex}.stage{color:#9aa5b2;flex:1;justify-items:center;gap:5px;font-size:9px;display:grid;position:relative}.stage:not(:last-child):after{content:"";background:#e1e6ec;width:calc(100% - 30px);height:2px;position:absolute;top:11px;left:calc(50% + 15px)}.stage span{z-index:2;background:#fff;border:2px solid #d9e0e8;border-radius:50%;place-items:center;width:22px;height:22px;font-size:9px;display:grid;position:relative}.stage.done span{color:#fff;background:#2aae76;border-color:#2aae76}.stage.current span{color:#2770da;border-color:#2770da}.stage.done:not(:last-child):after{background:#2aae76}.progress-info{justify-content:space-between;margin-bottom:5px;font-size:10px;display:flex}.progress{background:#edf0f4;border-radius:4px;height:6px;overflow:hidden}.progress>span{background:#3478dd;border-radius:4px;height:100%;display:block}.mini-metrics{color:#7b8798;border-top:1px solid #edf0f4;gap:22px;margin-top:12px;padding-top:12px;font-size:10px;display:flex}.mini-metrics b{color:#27364b}.count-pill{color:#b97408;background:#fff2db;border-radius:10px;padding:3px 8px;font-size:9px}.todo-list,.activity-list{gap:7px;display:grid}.todo{text-align:left;background:#f8fafc;border:0;border-radius:7px;grid-template-columns:5px 1fr 16px;align-items:center;gap:10px;padding:10px;display:grid}.todo>span{border-radius:3px;width:4px;height:32px}.todo>span.red{background:#e24b4b}.todo>span.amber{background:#e9a52a}.todo>span.blue{background:#3a78d5}.todo>span.green{background:#25a76e}.todo strong,.todo small{display:block}.todo strong{font-size:11px}.todo small{color:#8a95a4;margin-top:3px;font-size:9px}.todo svg{color:#a0aaba;width:14px}.chart-box{height:240px}.activity{border-bottom:1px solid #f0f2f5;gap:9px;padding:8px 0;display:flex}.activity:last-child{border:0}.activity-icon{border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.activity-icon svg{width:13px}.activity-icon.green{color:#16965d;background:#e8f8f0}.activity-icon.amber{color:#c68213;background:#fff4dd}.activity-icon.blue{color:#3066cf;background:#e9f0ff}.activity p{margin:0;font-size:10px;line-height:1.4}.activity small{color:#9aa4b0;font-size:9px}.status{white-space:nowrap;border-radius:10px;align-items:center;gap:5px;padding:3px 7px;font-size:9px;display:inline-flex}.status>span{background:currentColor;border-radius:50%;width:5px;height:5px}.status.success{color:#168556;background:#e7f7ef}.status.warning{color:#b77408;background:#fff3db}.status.danger{color:#c84040;background:#fde8e8}.status.processing,.status.info{color:#2d65ca;background:#e7efff}.status.neutral{color:#647184;background:#edf0f4}.table-card{padding:0;overflow:hidden}.table-card>.card-header{padding:17px 18px 0}.table-toolbar{border-bottom:1px solid #e7ebf0;align-items:center;gap:9px;padding:14px 16px;display:flex}.table-toolbar select,.compact-select,.score-panel select,.field select{color:#445064;background:#fff;border:1px solid #d8dfe7;border-radius:6px;height:34px;padding:0 28px 0 10px;font-size:10px}.search-field{background:#fff;border:1px solid #d8dfe7;border-radius:6px;align-items:center;gap:7px;width:250px;height:34px;padding:0 9px;display:flex}.search-field svg{color:#8995a5;width:14px}.search-field input{border:0;outline:0;width:100%;font-size:10px}.table-count{color:#8793a2;margin-left:auto;font-size:10px}.table-wrap{overflow:auto}table{border-collapse:collapse;white-space:nowrap;width:100%}th{color:#738094;text-align:left;background:#f7f9fb;padding:10px 14px;font-size:9px;font-weight:650}td{color:#455267;border-top:1px solid #edf0f3;padding:12px 14px;font-size:10px}td strong{color:#263448}.block{color:#929dab;margin-top:3px;font-size:9px;display:block}.exam-cell,.student-cell,.file-cell{align-items:center;gap:9px;display:flex}.student-cell>span{color:#315f96;background:#e9eff8;border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.inline-progress{grid-template-columns:50px 80px;align-items:center;gap:8px;display:grid}.inline-progress.wide{grid-template-columns:80px 120px}.score-value{color:#205dbb;font-size:13px}.danger-text,.warning-text{color:#d54545!important}.severity{border-radius:5px;padding:3px 7px;font-size:9px}.severity.blocking{color:#c73b3b;background:#fde8e8}.severity.warning{color:#b8760b;background:#fff3dd}.detail-cell{text-overflow:ellipsis;max-width:260px;overflow:hidden}.tabs button{color:#6f7b8d;background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 12px;font-size:10px}.tabs button.active{color:#2563eb;border-color:#2563eb;font-weight:700}.upload-zone{text-align:center;background:#f8fbff;border:1.5px dashed #b9c9dd;border-radius:11px;margin-bottom:14px;padding:36px}.upload-zone.dragging{background:#edf4ff;border-color:#2563eb}.upload-illustration{color:#2769d1;background:#e4efff;border-radius:16px;place-items:center;width:58px;height:58px;margin:0 auto 12px;display:grid}.upload-illustration svg{width:28px}.upload-zone h2{margin:0 0 7px;font-size:17px}.upload-zone p{color:#7d8999;margin:0 0 16px;font-size:10px}.upload-tips{color:#6e7e91;justify-content:center;gap:22px;margin-top:17px;font-size:9px;display:flex}.upload-tips span{align-items:center;gap:4px;display:flex}.upload-tips svg{color:#28a16b;width:12px}.grading-hero{color:#fff;background:linear-gradient(110deg,#102c4b,#174b79);border-radius:11px;justify-content:space-between;align-items:center;margin-bottom:14px;padding:22px 25px;display:flex}.grading-hero h2{margin:8px 0 4px;font-size:20px}.grading-hero p{color:#a9c2d9;margin:0;font-size:10px}.eyebrow{color:#78c0ff;align-items:center;gap:5px;font-size:9px;font-weight:700;display:flex}.eyebrow svg{width:13px}.grading-ring{border:7px solid #3388d4;border-right-color:#74c69d;border-radius:50%;align-content:center;place-items:center;width:95px;height:95px;display:grid}.grading-ring strong{font-size:23px}.grading-ring small{color:#a9c2d9;font-size:8px}.grading-layout{grid-template-columns:2fr 1fr;gap:14px;margin-bottom:14px;display:grid}.pipeline{gap:13px;display:grid}.pipeline-row{grid-template-columns:30px 1fr;align-items:center;gap:10px;display:grid}.pipeline-icon{color:#7f8b9b;border:2px solid #d7dfe8;border-radius:50%;place-items:center;width:26px;height:26px;font-size:9px;display:grid}.pipeline-icon.done{color:#fff;background:#26a36c;border-color:#26a36c}.pipeline-icon.active{color:#3479d9;border-color:#3479d9}.pipeline-title{justify-content:space-between;margin-bottom:5px;font-size:10px;display:flex}.pipeline-title span{color:#7e8a99}.live-badge{color:#2b9b68;align-items:center;gap:5px;font-size:9px;display:flex}.live-badge>span{background:#2daf75;border-radius:50%;width:6px;height:6px}.overview-list{gap:12px;display:grid}.overview-list>div{border-bottom:1px solid #edf0f4;justify-content:space-between;padding-bottom:10px;font-size:10px;display:flex}.model-card{background:#eef5ff;border-radius:8px;gap:9px;margin-top:14px;padding:12px;display:flex}.model-card>svg{color:#2868cc;width:20px}.model-card strong{font-size:10px}.model-card p{color:#677890;margin:4px 0 6px;font-size:9px;line-height:1.5}.exception-summary,.score-kpis{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px;display:grid}.exception-summary>div,.score-kpis>div{background:#fff;border:1px solid #e0e5ec;border-radius:9px;align-items:center;gap:10px;padding:14px;display:flex}.summary-icon{border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.summary-icon svg{width:17px}.summary-icon.red{color:#d34848;background:#fdeaea}.summary-icon.amber{color:#c88413;background:#fff3dd}.summary-icon.green{color:#17935d;background:#e6f8ef}.exception-summary p{margin:0;font-size:10px}.exception-summary p strong{font-size:20px}.publish-block{justify-content:flex-end}.publish-block>svg{color:#d64a4a}.publish-block strong,.publish-block small{display:block}.publish-block small{color:#8c97a5;font-size:9px}.score-kpis{grid-template-columns:repeat(5,1fr)}.score-kpis>div{gap:3px;display:grid}.score-kpis small{color:#7e8999;font-size:9px}.score-kpis strong{font-size:20px}.analytics-stats{margin-top:0}.question-analysis{align-items:center;display:flex}.diagnosis{background:#f1f6ff;border-radius:9px;flex:1;padding:16px}.diagnosis>span{color:#2d67c6;align-items:center;gap:5px;font-size:9px;font-weight:700;display:flex}.diagnosis svg{width:14px}.diagnosis h3{margin:10px 0 7px;font-size:14px}.diagnosis p,.diagnosis li{color:#68778b;font-size:9px;line-height:1.6}.export-actions,.data-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px;display:grid}.export-card,.data-card{text-align:left;background:#fff;border:1px solid #e0e5ec;border-radius:10px;align-items:center;gap:11px;padding:17px;display:flex}.export-card>svg:first-child,.data-card>span{color:#2867cb;background:#eaf1ff;border-radius:9px;place-items:center;width:38px;height:38px;display:grid}.export-card>svg:first-child{padding:9px}.export-card span,.data-card div{flex:1}.export-card strong,.export-card small,.data-card h3,.data-card strong,.data-card p{margin:0;display:block}.export-card strong,.data-card h3{font-size:11px}.export-card small,.data-card p{color:#8c97a5;margin-top:3px;font-size:9px}.data-card>span svg{width:18px}.data-card>svg,.export-card>svg:last-child{color:#9aa4b1;width:15px}.settings-layout{grid-template-columns:210px 1fr;gap:14px;display:grid}.settings-tabs{background:#fff;border:1px solid #e0e5ec;border-radius:9px;align-content:start;gap:3px;padding:8px;display:grid}.settings-tabs button{color:#68778a;text-align:left;background:0 0;border:0;border-radius:6px;padding:10px;font-size:10px}.settings-tabs button.active{color:#245fb9;background:#eaf1ff;font-weight:700}.settings-content h2{margin:0;font-size:17px}.settings-content>p{color:#7c8998;font-size:10px}.setting-group{margin-top:22px}.setting-group h3{font-size:11px}.model-option{border:1px solid #e1e6ec;border-radius:8px;align-items:center;gap:10px;margin-top:8px;padding:13px;display:flex}.model-option.selected{background:#f7faff;border-color:#8db2e9}.model-logo{color:#2764c7;background:#e6efff;border-radius:8px;place-items:center;width:36px;height:36px;display:grid}.model-logo svg{width:18px}.model-logo.purple{color:#7456c9;background:#f0eaff}.model-option>div{flex:1}.model-option strong,.model-option small{display:block}.model-option strong{font-size:10px}.model-option small{color:#8b96a5;margin-top:3px;font-size:9px}.setting-row{border-top:1px solid #edf0f3;justify-content:space-between;align-items:center;padding:12px 0;display:flex}.setting-row strong,.setting-row small{display:block}.setting-row strong{font-size:10px}.setting-row small{color:#8a96a5;margin-top:3px;font-size:9px}.switch{background:#bdc5d0;border:0;border-radius:10px;width:34px;height:19px;padding:2px}.switch span{background:#fff;border-radius:50%;width:15px;height:15px;transition:all .2s;display:block}.switch.on{background:#286bd2}.switch.on span{transform:translate(15px)}.review-page{width:100%;max-width:none;height:calc(100vh - 64px);padding:14px;overflow:hidden}.review-page .page-header{display:none}.review-workspace{background:#fff;border:1px solid #dbe1e8;border-radius:10px;grid-template-columns:230px minmax(500px,1fr) 350px;height:100%;display:grid;overflow:hidden}.review-queue{border-right:1px solid #e0e5eb;flex-direction:column;min-width:0;display:flex}.review-queue-head{justify-content:space-between;padding:14px;display:flex}.review-queue-head strong,.review-queue-head small{display:block}.review-queue-head strong{font-size:11px}.review-queue-head small{color:#8692a3;margin-top:3px;font-size:9px}.queue-progress{align-items:center;gap:8px;padding:0 14px 12px;display:flex}.queue-progress .progress{flex:1}.queue-progress span{font-size:9px}.queue-list{overflow:auto}.queue-item{text-align:left;background:#fff;border:0;border-top:1px solid #f0f2f4;grid-template-columns:25px 1fr 24px;align-items:center;gap:8px;width:100%;padding:10px 12px;display:grid}.queue-item.active{background:#eaf2ff}.queue-item.done{opacity:.55}.queue-number{background:#edf1f6;border-radius:50%;place-items:center;width:22px;height:22px;font-size:9px;display:grid}.queue-item strong,.queue-item small{display:block}.queue-item strong{font-size:10px}.queue-item small{color:#8793a3;margin-top:3px;font-size:8px}.queue-item b{color:#2966c5;font-size:11px}.paper-stage{background:#27313d;flex-direction:column;min-width:0;display:flex}.paper-toolbar{color:#ccd6e1;background:#1e2731;justify-content:space-between;align-items:center;height:42px;padding:0 14px;font-size:9px;display:flex}.paper-toolbar>div{align-items:center;gap:5px;display:flex}.paper-toolbar button{color:#dae3ec;background:#35414d;border:0;border-radius:5px;place-items:center;width:28px;height:28px;display:grid}.paper-toolbar svg{width:14px}.paper-canvas{flex:1;place-items:start center;padding:28px;display:grid;overflow:auto}.paper-sheet{transform-origin:top;color:#252525;background:#fffefa;width:600px;min-height:760px;padding:46px 48px;transition:transform .15s;position:relative;box-shadow:0 10px 30px #0000004d}.paper-meta{border-bottom:1px solid #aaa;padding-bottom:12px;font-family:serif;font-size:11px}.paper-sheet h3{margin-top:24px;font-size:14px}.paper-sheet>p{font-family:serif;font-size:12px;line-height:1.8}.handwriting{color:#204c8d;margin-top:28px;font-family:KaiTi,STKaiti,serif;font-size:16px;line-height:1.9;transform:rotate(-.5deg)}.handwriting p{margin:6px 0}.ai-box-mark{pointer-events:none;border:2px solid #4e91eb;position:absolute;inset:260px 28px 80px}.ai-box-mark span{color:#fff;background:#3479d9;padding:4px 7px;font:8px sans-serif;position:absolute;top:-22px;left:-2px}.score-panel{padding:16px;overflow:auto}.score-panel-head{border-bottom:1px solid #e8ecf0;justify-content:space-between;align-items:flex-start;padding-bottom:13px;display:flex}.score-panel-head strong,.score-panel-head small{display:block}.score-panel-head strong{font-size:13px}.score-panel-head small{color:#8793a2;margin-top:3px;font-size:9px}.confidence{border-radius:8px;padding:4px 7px;font-size:8px}.confidence.warning{color:#ae700d;background:#fff1d5}.score-panel section{margin-top:15px}.score-panel label{color:#657286;margin-bottom:6px;font-size:9px;font-weight:700;display:block}.score-panel label em{color:#e14b4b}.ocr-text,.reference-box{background:#f8fafc;border:1px solid #e1e6ec;border-radius:7px;padding:10px;font-size:9px;line-height:1.6}.reference-box p{margin:0 0 8px}.scoring-point{border-top:1px solid #e8ecf1;align-items:center;gap:6px;padding:6px 0;display:flex}.scoring-point svg{color:#26a26c;width:12px}.scoring-point span{flex:1}.scoring-point b{color:#25865b}.ai-score{background:#edf4ff;border-radius:7px;align-items:center;gap:8px;padding:10px;display:flex}.ai-score>svg{color:#2d69ca;width:18px}.ai-score>div{flex:1}.ai-score strong,.ai-score small{display:block}.ai-score strong{font-size:15px}.ai-score small{color:#77869a;font-size:8px}.ai-score button{color:#2766c5;background:0 0;border:0;font-size:8px}.score-input{align-items:center;gap:8px;display:flex}.score-input input{border:1px solid #b9c7d9;border-radius:6px;width:80px;height:38px;padding:0 10px;font-size:18px;font-weight:700}.score-input span{color:#7a8798}.score-panel select{width:100%}.review-actions{gap:7px;margin-top:18px;display:flex}.review-actions .button{flex:1}.review-actions kbd{opacity:.7;font-size:7px}.shortcut-hint{color:#98a2af;text-align:center;margin-top:12px;font-size:8px}.modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a7a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:12px;width:min(520px,100%);max-height:90vh;overflow:auto;box-shadow:0 24px 70px #00000040}.modal.large{width:min(700px,100%)}.modal-header,.modal-footer{border-bottom:1px solid #e5e9ee;justify-content:space-between;align-items:center;padding:15px 18px;display:flex}.modal-header span,.modal-header small{display:block}.modal-header span{font-size:14px;font-weight:700}.modal-header small{color:#8c97a4;margin-top:3px;font-size:9px}.modal-body{padding:20px}.modal-footer{border-top:1px solid #e5e9ee;border-bottom:0;justify-content:flex-end}.wizard-steps{background:#f8fafc;justify-content:center;gap:60px;padding:15px;display:flex}.wizard-steps>div{color:#8b96a4;align-items:center;gap:6px;font-size:9px;display:flex}.wizard-steps span{border:1px solid #cfd7e1;border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.wizard-steps .active{color:#2563c5;font-weight:700}.wizard-steps .active span,.wizard-steps .done span{color:#fff;background:#256bd1;border-color:#256bd1}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-grid label,.field{color:#5f6d80;gap:6px;font-size:9px;display:grid}.form-grid label.full{grid-column:1/-1}.form-grid input,.form-grid select,.field textarea{background:#fff;border:1px solid #d6dde6;border-radius:6px;width:100%;height:36px;padding:0 10px;font-size:10px}.field textarea{resize:vertical;height:auto;padding:9px}.class-picker{grid-template-columns:1fr 1fr;gap:8px;margin:12px 0 18px;display:grid}.class-picker label{border:1px solid #e0e5eb;border-radius:7px;gap:8px;padding:11px;font-size:10px;display:flex}.paper-config,.grading-options label{border:1px solid #e0e5eb;border-radius:8px;align-items:center;gap:10px;padding:13px;display:flex}.paper-config>div,.grading-options label span{flex:1}.paper-config strong,.paper-config small,.grading-options strong,.grading-options small{display:block}.paper-config small,.grading-options small{color:#8994a3;margin-top:3px;font-size:9px}.grading-options{gap:9px;display:grid}.grading-options label.selected{background:#f4f8ff;border-color:#8cb1e8}.grading-options svg{color:#2b66c5;width:22px}.exception-detail{background:#fff3e3;border-radius:8px;gap:10px;padding:12px;display:flex}.exception-detail>svg{color:#cf8110;width:20px}.exception-detail strong{font-size:10px}.exception-detail p{color:#816d51;margin:4px 0 0;font-size:9px;line-height:1.5}.field{margin-top:14px}.toast{z-index:1500;color:#fff;background:#173b62;border-radius:8px;align-items:center;gap:8px;padding:12px 15px;font-size:10px;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 10px 28px #0003}.toast svg{color:#6de0a7;width:16px}.empty-state{color:#8b96a4;justify-items:center;padding:55px;display:grid}.empty-state svg{width:34px}.empty-state strong{color:#435065;margin-top:10px}.empty-state p{font-size:10px}@media (width<=1100px){.workspace{grid-column:2}.brand>span:last-child,.org-switcher>span:nth-child(2),.org-switcher>svg,.nav-title,.nav-item span,.nav-item b,.sidebar-foot{display:none}.brand{justify-content:center;padding:0}.org-switcher{justify-content:center;margin-inline:7px;display:flex}.sidebar nav{padding-inline:6px}.nav-item{justify-content:center;padding:0}.stat-grid,.export-actions,.data-grid{grid-template-columns:repeat(2,1fr)}.review-workspace{grid-template-columns:180px minmax(420px,1fr) 310px}}@media (width<=760px){.app-shell{display:block}.sidebar{width:244px;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar.open .brand>span:last-child,.sidebar.open .org-switcher>span:nth-child(2),.sidebar.open .org-switcher>svg,.sidebar.open .nav-title,.sidebar.open .nav-item span,.sidebar.open .nav-item b,.sidebar.open .sidebar-foot{display:initial}.workspace{min-height:100vh}.mobile-menu{display:grid!important}.global-search{display:none}.page{padding:17px}.page-header{gap:10px}.dashboard-grid,.analytics-grid,.grading-layout,.settings-layout{grid-template-columns:1fr}.stat-grid,.score-kpis,.exception-summary{grid-template-columns:1fr 1fr}.export-actions,.data-grid{grid-template-columns:1fr}.review-page{height:auto;overflow:auto}.review-workspace{height:auto;display:block}.review-queue{display:none}.paper-stage{min-height:650px}.score-panel{border-top:1px solid #e2e6eb}.question-analysis{display:block}.question-analysis>.recharts-responsive-container{width:100%!important}.topbar{padding:0 14px}.role-switch select{max-width:110px}}.visually-hidden{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}
