:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{scroll-behavior:smooth;min-width:320px}#root{min-height:100vh}:root{--page-bg:#e8e7e2;--panel:#f8f7f2;--panel-soft:#efeee9;--stage:#dddcd6;--ink:#1c2428;--muted:#687177;--line:#d3d1ca;--blue:#1262a3;--blue-soft:#e5eef8;--orange:#d58a1c;--orange-dark:#a96506;--red:#e43732;--green:#30794c;--shadow:0 16px 40px #262a2b17;color:var(--ink);background:var(--page-bg);font-family:PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{background:var(--page-bg);min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit;transition:border-color .18s,box-shadow .18s,background .18s,transform .18s}button:focus-visible,input:focus-visible,select:focus-visible,.artwork-card:focus-visible{outline:none;box-shadow:0 0 0 3px #1262a33d}button:disabled{cursor:not-allowed;opacity:.48}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:0}h1{font-size:22px;line-height:1.15}h2{font-size:20px;line-height:1.2}h3{text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.35;overflow:hidden}.page-shell{gap:14px;width:min(1800px,100%);margin:0 auto;padding:18px 22px 28px;display:grid}.home-shell{gap:28px;width:min(1440px,100%);min-height:100vh;margin:0 auto;padding:34px 42px 54px;display:grid}.home-header{justify-content:space-between;align-items:center;gap:18px;display:flex}.home-status,.binding-note,.analysis-note{color:var(--muted);font-size:11px}.page-code{border:1px solid var(--blue);min-height:22px;color:var(--blue);letter-spacing:.06em;white-space:nowrap;border-radius:4px;align-items:center;padding:0 6px;font-size:10px;font-weight:900;display:inline-flex}.home-intro{gap:7px;max-width:680px;padding:38px 0 8px;display:grid}.home-intro h2{letter-spacing:0;font-size:clamp(28px,4vw,48px)}.home-intro p:last-child{color:var(--muted);font-size:14px}.mode-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:14px;display:grid}.mode-card{border:1px solid var(--line);border-top:5px solid var(--blue);background:var(--panel);min-height:260px;color:var(--ink);cursor:pointer;text-align:left;border-radius:8px;align-content:start;gap:14px;padding:22px;display:grid}.mode-card:hover{border-color:var(--blue);box-shadow:var(--shadow);transform:translateY(-2px)}.mode-card-examiner{border-top-color:var(--orange)}.mode-card-statistics{border-top-color:var(--green)}.mode-card-query{border-top-color:var(--blue)}.mode-index{color:var(--muted);letter-spacing:.12em;font-size:11px;font-weight:800}.mode-card strong{font-size:24px}.mode-card>span:not(.mode-index):not(.mode-action){max-width:260px;color:var(--muted);font-size:13px;line-height:1.6}.mode-action{color:var(--blue);align-self:end;margin-top:auto;font-size:12px;font-weight:800}.home-link-button{border:1px solid var(--line);min-height:30px;color:var(--muted);cursor:pointer;background:#fff;border-radius:5px;padding:0 10px;font-size:11px;font-weight:800}.home-link-button:hover{border-color:var(--blue);color:var(--blue)}.mode-context{color:var(--blue);font-size:11px;font-weight:800}.examiner-setup{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:10px;gap:18px;padding:24px;display:grid}.setup-heading,.setup-footer{justify-content:space-between;align-items:center;gap:16px;display:flex}.setup-heading{border-bottom:1px solid var(--line);padding-bottom:8px}.setup-step{border-bottom:1px solid var(--line);grid-template-columns:30px minmax(180px,.32fr) minmax(0,1fr);align-items:start;gap:14px;padding:14px 0;display:grid}.setup-step-number{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:26px;height:26px;font-size:12px;font-weight:800;display:grid}.setup-step strong{font-size:13px}.setup-step p{color:var(--muted);margin-top:4px;font-size:11px;line-height:1.5}.setup-options{flex-wrap:wrap;gap:6px;display:flex}.subject-setup-options{gap:6px}.subject-setup-divider{flex-basis:100%;height:5px}.setup-option-all{border-color:#d5a64f}.setup-option{border:1px solid var(--line);min-height:32px;color:var(--muted);cursor:pointer;background:#fff;border-radius:5px;align-content:center;gap:4px;padding:0 11px;font-size:12px;font-weight:800;display:grid}.setup-option-stats{color:var(--muted);white-space:nowrap;font-size:10px;font-weight:700}.setup-option-stats-grid{white-space:normal;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 7px;display:grid}.setup-option:hover,.setup-option.is-active{border-color:var(--blue);background:var(--blue);color:#fff}.setup-option:hover .setup-option-stats,.setup-option.is-active .setup-option-stats{color:#ffffffd1}.setup-option-stats-grid>span.is-complete{color:#19733e}.setup-option-stats-grid>span.is-pending{color:#b42318}.setup-option-stats-grid>span.is-zero{color:#111}.evaluator-setup-options .setup-option{min-width:132px}.setup-batch-options .setup-option{text-align:left}.setup-footer{justify-content:flex-end;padding-top:4px}.app-header{justify-content:space-between;align-items:center;gap:24px;min-height:58px;display:flex}.brand-lockup,.header-context,.stage-toolbar,.summary-head,.summary-major-head,.summary-band-item,.artwork-meta,.artwork-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.brand-lockup{justify-content:flex-start}.brand-mark{background:var(--ink);color:#fff;letter-spacing:.08em;border-radius:8px;place-items:center;width:44px;height:44px;font-size:12px;font-weight:800;display:grid}.eyebrow{color:var(--blue);letter-spacing:.12em;margin-bottom:4px;font-size:11px;font-weight:800}.header-context{color:var(--muted);justify-content:flex-end;font-size:13px}.auth-context{justify-content:flex-end;align-items:center;gap:8px;min-width:max-content;display:flex}.auth-status-text,.auth-user-name{color:var(--muted);font-size:12px;font-weight:700}.auth-avatar,.auth-avatar-fallback{border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.auth-avatar{object-fit:cover}.auth-avatar-fallback,.auth-gate-mark,.wechat-mark{color:#fff;background:#07c160;font-weight:800}.wechat-login-button{color:#fff;cursor:pointer;background:#07c160;border:0;border-radius:5px;align-items:center;gap:6px;min-height:32px;padding:0 11px;font-size:12px;font-weight:800;display:inline-flex}.wechat-login-button:hover{background:#06a955}.wechat-mark{border:1px solid #ffffffb8;border-radius:50%;place-items:center;width:18px;height:18px;font-size:10px;display:inline-grid}.auth-logout-button{border:1px solid var(--line);min-height:28px;color:var(--muted);cursor:pointer;background:0 0;border-radius:4px;padding:0 7px;font-size:11px}.auth-gate{border:1px solid var(--line);background:var(--panel);min-height:280px;box-shadow:var(--shadow);border-radius:10px;align-items:center;gap:18px;padding:34px;display:flex}.auth-gate-mark{border-radius:16px;flex:none;place-items:center;width:64px;height:64px;font-size:26px;display:grid}.auth-gate-copy{gap:10px;max-width:620px;display:grid}.auth-gate-copy h2{font-size:22px}.auth-gate-copy p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.6}.auth-gate-button{justify-self:start;margin-top:4px}.auth-config-hint{width:fit-content;color:var(--orange-dark);background:#fff8e8;border:1px solid #e8c98b;border-radius:4px;padding:8px 10px;font-size:11px}.header-context strong{color:var(--ink)}.workspace-card,.summary-card{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:10px}.workspace-card{overflow:hidden}.workspace-toolbar{border-bottom:1px solid var(--line);background:#fbfaf6;grid-template-columns:minmax(240px,1fr) auto auto auto auto;align-items:stretch;gap:12px;padding:14px;display:grid}.management-toolbar{grid-template-columns:minmax(180px,.9fr) minmax(250px,1.2fr) minmax(250px,1.2fr) minmax(220px,1fr)}.import-step{border:1px solid var(--line);background:#fff;border-radius:7px;align-items:flex-start;gap:9px;min-width:0;min-height:126px;padding:10px 12px;display:flex}.import-step-number{background:var(--blue);color:#fff;border-radius:50%;flex:none;place-items:center;width:23px;height:23px;font-size:11px;font-weight:900;display:grid}.import-step-content{align-content:start;gap:7px;width:100%;min-width:0;display:grid}.import-step-content>strong{font-size:13px}.import-step .subject-switcher{flex-wrap:wrap}.roster-import-step{cursor:pointer;border-style:dashed}.roster-import-step input{width:100%;color:var(--muted);font-size:11px}.roster-file-summary{min-width:0;color:var(--muted);background:#f4f8fa;border:1px solid #c9d8df;border-radius:4px;justify-content:space-between;align-items:center;gap:7px;padding:5px 7px;font-size:10px;display:flex}.roster-file-summary strong{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.roster-match-summary{color:var(--green);grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;font-size:10px;font-weight:800;display:grid}.roster-match-summary span{text-align:center;background:#f1f8f2;border:1px solid #c8dfcf;border-radius:4px;padding:4px 3px}.upload-box{cursor:pointer;background:#fff;border:1px dashed #a9b7c0;border-radius:7px;gap:3px;min-width:0;padding:10px 14px;display:grid}.upload-title{color:var(--ink);font-size:14px;font-weight:800}.upload-hint,.stage-note,.summary-note{color:var(--muted);font-size:12px}.upload-box input{width:100%;color:var(--muted);margin-top:5px;font-size:12px}.upload-settings{align-content:center;gap:8px;min-width:188px;padding:3px 0;display:grid}.upload-setting{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:11px;font-weight:700;display:flex}.upload-setting select{border:1px solid var(--line);min-height:29px;color:var(--ink);background:#fff;border-radius:4px;padding:0 7px;font-size:11px}.upload-setting-check{cursor:pointer;justify-content:flex-start}.upload-setting-check input{accent-color:var(--blue)}.recognize-button{background:var(--blue-soft);min-height:29px;color:var(--blue);cursor:pointer;border:1px solid #a9b7c0;border-radius:4px;padding:0 9px;font-size:11px;font-weight:800}.recognition-status{color:var(--muted);font-size:10px}.upload-progress{width:min(100%,260px);color:var(--muted);gap:6px;font-size:10px;display:grid}.upload-progress-meta{justify-content:space-between;align-items:center;gap:10px;display:flex}.upload-progress-meta strong{color:var(--blue);font-size:10px}.upload-progress-track{background:#edf4f7;border:1px solid #b9c8d0;border-radius:999px;height:7px;overflow:hidden}.upload-progress-track span{border-radius:inherit;background:linear-gradient(90deg, var(--blue), #67aeca);height:100%;transition:width .18s;display:block}.upload-progress-error .upload-progress-track span{background:linear-gradient(90deg,#b84a4a,#de7b63)}.toolbar-control{align-content:center;gap:7px;display:grid}.toolbar-control>span{color:var(--muted);font-size:12px;font-weight:700}.count-switcher{gap:4px;display:flex}.unlock-all-pages-button{min-height:27px;color:var(--orange-dark);cursor:pointer;background:#fff8e8;border:1px solid #d59b37;border-radius:4px;padding:0 8px;font-size:11px;font-weight:800}.unlock-all-pages-button:hover:not(:disabled){background:#ffefcc}.subject-switcher{gap:4px;display:flex}.evaluator-switcher{grid-template-columns:repeat(10,24px);gap:3px;display:grid}.evaluator-button{border:1px solid var(--line);width:24px;height:30px;color:var(--muted);cursor:pointer;background:#fff;border-radius:4px;padding:0;font-size:10px;font-weight:800}.evaluator-button:hover,.evaluator-button.is-active{border-color:var(--blue);background:var(--blue);color:#fff}.examiner-mode-badge{border-left:3px solid var(--orange);color:var(--orange-dark);white-space:nowrap;background:#fff5df;align-self:center;padding:7px 9px;font-size:11px;font-weight:800}.subject-button{border:1px solid var(--line);min-height:30px;color:var(--muted);cursor:pointer;white-space:nowrap;background:#fff;border-radius:5px;padding:0 9px;font-size:11px;font-weight:800}.subject-button:hover,.subject-button.is-active{border-color:var(--blue);background:var(--blue);color:#fff}.count-button{border:1px solid var(--line);width:30px;height:30px;color:var(--muted);cursor:pointer;background:#fff;border-radius:5px;padding:0;font-size:12px;font-weight:800}.count-button:hover,.count-button.is-active{border-color:var(--blue);background:var(--blue);color:#fff}.clear-button{border:1px solid var(--line);min-height:30px;color:var(--muted);cursor:pointer;background:#fff;border-radius:5px;align-self:end;padding:0 14px;font-size:12px;font-weight:700}.review-layout{background:var(--stage);padding:14px;display:block}.batch-manager{border-bottom:1px solid var(--line);background:#f4f3ee;gap:14px;padding:16px 14px;display:grid}.batch-manager-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.batch-manager-head h2{text-overflow:ellipsis;white-space:nowrap;max-width:min(620px,70vw);overflow:hidden}.rename-row{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.batch-name-input{border:1px solid var(--blue);width:min(360px,65vw);min-height:31px;color:var(--ink);background:#fff;border-radius:5px;padding:0 9px;font-size:16px;font-weight:800}.batch-storage-status{color:var(--muted);margin-top:5px;font-size:11px}.batch-storage-status.is-error{color:#a13d32;font-weight:800}.exam-group-binding{flex-wrap:wrap;align-items:center;gap:7px;margin-top:10px;display:flex}.exam-group-binding label{color:var(--muted);font-size:11px;font-weight:800}.exam-group-binding input{border:1px solid var(--line);width:min(230px,55vw);min-height:31px;color:var(--ink);background:#fff;border-radius:5px;padding:0 9px;font-size:12px}.exam-group-binding input:focus{border-color:var(--blue);outline:0}.batch-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.primary-button,.secondary-button{border:1px solid var(--blue);cursor:pointer;border-radius:5px;min-height:31px;padding:0 12px;font-size:12px;font-weight:800}.primary-button{background:var(--blue);color:#fff}.secondary-button{color:var(--blue);background:#fff}.text-button{min-height:31px;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:12px;font-weight:700}.primary-button:hover,.secondary-button:hover{transform:translateY(-1px)}.batch-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.batch-stat{border:1px solid var(--line);background:#fff;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;min-height:52px;padding:8px 11px;display:flex}button.batch-stat{width:100%;font:inherit;text-align:left;cursor:pointer}button.batch-stat:hover:not(:disabled),button.batch-stat.is-selected{border-color:var(--blue);background:var(--blue-soft)}button.batch-stat.is-selected strong{color:var(--blue)}.batch-stat span{color:var(--muted);font-size:12px;font-weight:700}.batch-stat strong{color:var(--ink);font-size:22px;line-height:1}.batch-stat.is-graded strong{color:var(--green)}.batch-stat.is-ungraded strong{color:var(--orange-dark)}.batch-list{gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.batch-item{border:1px solid var(--line);min-height:58px;color:var(--ink);cursor:pointer;text-align:left;background:#fff;border-radius:6px;flex:0 0 218px;gap:5px;padding:9px 10px;display:grid}.batch-item:hover,.batch-item.is-active{border-color:var(--blue);box-shadow:inset 3px 0 0 var(--blue)}.name-code-generator{background:#fbfcfa;border:1px solid #cbd9df;border-radius:7px;gap:12px;padding:14px;display:grid}.name-code-generator-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.name-code-generator-head h3{margin:2px 0 4px;font-size:17px}.name-code-generator-note,.name-code-generator-binding{color:var(--muted);font-size:11px}.name-code-generator-binding{background:#f4f8fa;border:1px solid #c9d8df;border-radius:4px;flex:none;padding:5px 8px;font-weight:800}.name-code-generator-grid{grid-template-columns:minmax(100px,.65fr) minmax(180px,1.3fr) minmax(130px,.8fr) auto;align-items:end;gap:9px;display:grid}.name-code-generator-grid label{color:var(--muted);gap:4px;font-size:11px;font-weight:800;display:grid}.name-code-generator-grid input,.name-code-generator-grid select{box-sizing:border-box;border:1px solid var(--line);width:100%;min-height:32px;color:var(--ink);font:inherit;background:#fff;border-radius:5px;padding:0 8px}.name-code-generator-grid input:focus,.name-code-generator-grid select:focus{border-color:var(--blue);outline:0}.name-code-generator-actions{flex-wrap:wrap;align-items:end;gap:6px;display:flex}.name-code-upload-button{box-sizing:border-box;cursor:pointer;justify-content:center;align-items:center;min-height:31px;display:inline-flex}.name-code-upload-button input{display:none}.name-code-generator-status{color:var(--blue);margin:0;font-size:11px;font-weight:800}.name-code-generator-stats{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.name-code-generator-stats span{border:1px solid var(--line);min-width:0;color:var(--muted);background:#fff;border-radius:5px;justify-content:space-between;align-items:center;gap:5px;padding:7px 8px;font-size:10px;font-weight:700;display:flex}.name-code-generator-stats strong{color:var(--ink);font-size:15px}.name-code-generator-stats span.is-danger,.name-code-generator-stats span.is-danger strong{color:#b34035}.name-code-generator-preview{gap:8px;padding-top:4px;display:grid}.name-code-generator-preview>div{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:7px 12px;font-size:10px;display:flex}.name-code-generator-preview>div strong{color:var(--ink);font-size:11px}.name-code-generator-preview table{border-collapse:collapse;background:#fff;width:100%;font-size:11px}.name-code-generator-preview th,.name-code-generator-preview td{text-align:left;border:1px solid #dbe3e6;padding:6px 8px}.name-code-generator-preview th{color:var(--muted);background:#eef4f5;font-size:10px}.name-code-print-area{background:#f3f7f8;border-top:1px solid #dbe3e6;grid-template-columns:minmax(0,1fr) 150px auto;align-items:center;gap:14px;padding:12px;display:grid}.name-code-print-copy h4{color:var(--ink);margin:2px 0 3px;font-size:14px}.name-code-print-copy p:last-child{color:var(--muted);margin:0;font-size:10px;line-height:1.5}.name-code-print-preview{text-align:center;background:#fff;border:1px dashed #8ca7b3;border-radius:5px;gap:3px;min-height:58px;padding:9px 10px;display:grid}.name-code-print-preview strong{color:#11191e;letter-spacing:0;font-size:20px}.name-code-print-preview span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.name-code-print-actions{justify-items:end;gap:8px;display:grid}.name-code-print-buttons{align-items:center;gap:5px;display:flex}.name-code-print-buttons>span,.name-code-print-hint{color:var(--muted);font-size:10px}.name-code-print-hint{text-align:right}.name-code-printer-status{color:var(--red);white-space:nowrap;font-size:10px;font-weight:800}.name-code-printer-status.is-matched{color:var(--green)}.name-code-printer-status.is-unmatched{color:var(--red)}.name-code-printer-status i{background:currentColor;border-radius:50%;width:7px;height:7px;margin-right:4px;display:inline-block}.seat-number-print-area,.name-code-label-print-area{background:#f8faf7;border-top:1px solid #dbe3e6;gap:12px;padding:12px;display:grid}.seat-number-print-copy h4{color:var(--ink);margin:2px 0 3px;font-size:14px}.seat-number-print-copy p:last-child{color:var(--muted);margin:0;font-size:10px;line-height:1.5}.seat-number-print-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:12px;display:grid}.seat-number-print-stack{gap:12px;display:grid}.seat-number-print-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.seat-number-print-panel{background:#fff;border:1px dashed #9cb1a4;border-radius:6px;gap:10px;padding:12px;display:grid}.seat-number-print-panel strong{color:var(--ink);font-size:13px}.seat-number-print-panel-compact{max-width:260px}.seat-number-inline-entry{align-items:center;gap:8px;display:flex}.seat-number-inline-entry span{color:var(--muted);font-weight:800}.seat-number-inline-entry input{border:1px solid var(--line);width:100%;min-height:34px;color:var(--ink);text-align:center;background:#fff;border-radius:5px;padding:0 10px;font-size:12px}.seat-number-print-template{display:none}.seat-number-style-preview{background:#fff;border:1px solid #dbe3e6;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:100%;padding:12px;display:flex}.name-code-style-preview{justify-content:space-between}.name-code-style-pair{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:10px;width:100%;display:grid}.name-code-style-item{justify-items:center;gap:6px;min-width:0;display:grid}.name-code-style-item>span{color:var(--muted);font-size:11px;font-weight:800}.name-code-style-item .seat-number-style-image{width:100%;max-width:260px}.seat-number-style-image{background:#fff;border:1px solid #b9c7bf;border-radius:10px;width:min(100%,360px);height:auto;max-height:100%;display:block}.seat-number-style-ratio{color:var(--muted);font-size:12px;line-height:1}.seat-number-print-button{justify-self:start;min-width:120px}.seat-number-print-hint{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.seat-number-style-sheet{aspect-ratio:8/5;background:linear-gradient(#fff,#f4f8f4);border:1px solid #b9c7bf;border-radius:10px;width:min(100%,360px);padding:16px;display:grid;position:relative;box-shadow:inset 0 0 0 1px #ffffffa6}.seat-number-style-center{text-align:center;align-content:start;justify-items:center;gap:6px;padding-top:18%;display:grid}.seat-number-style-label{color:var(--muted);letter-spacing:.12em;font-size:11px;font-weight:800}.seat-number-style-center strong{color:#15211a;font-size:clamp(30px,6.6vw,48px);line-height:1}.seat-number-style-footer{color:var(--ink);text-align:center;justify-items:center;font-size:13px;font-weight:800;display:grid;position:absolute;bottom:16px;left:16px;right:16px}.seat-number-card{text-align:center;background:linear-gradient(#fff,#f3f8f4);border:1px solid #c9d8cf;border-radius:6px;gap:4px;min-height:56px;padding:9px 8px;display:grid}.seat-number-card strong{color:#15211a;font-size:18px;line-height:1.1}.seat-number-card-single{aspect-ratio:8/5;background:0 0;border:0;align-items:stretch;padding:0}@media print{.is-printing-name-code>*{display:none!important}.is-printing-name-code>.batch-manager{background:#fff;border:0;width:100%;padding:0;display:block!important}.is-printing-name-code .batch-manager>:not(.name-code-generator){display:none!important}.is-printing-name-code .name-code-generator{background:#fff;border:0;width:58mm;margin:0;padding:0;display:block}.is-printing-name-code .name-code-generator>:not(.name-code-print-area){display:none!important}.is-printing-name-code .name-code-print-area{text-align:center;background:#fff;border:0;width:58mm;min-height:30mm;padding:4mm;display:block}.is-printing-name-code .name-code-print-copy,.is-printing-name-code .name-code-print-actions{display:none}.is-printing-name-code .name-code-print-preview{border:0;min-height:22mm;display:grid}.is-printing-name-code .name-code-print-preview strong{font-size:22pt}.is-printing-name-code .name-code-print-preview span{color:#111;white-space:normal;font-size:9pt}.is-printing-seat-number>*{display:none!important}.is-printing-seat-number>.batch-manager{background:#fff;border:0;width:100%;padding:0;display:block!important}.is-printing-seat-number .batch-manager>:not(.name-code-generator){display:none!important}.is-printing-seat-number .name-code-generator{background:#fff;border:0;width:100%;margin:0;padding:0;display:block}.is-printing-seat-number .name-code-generator>:not(.seat-number-print-area){display:none!important}.is-printing-seat-number .seat-number-print-area{background:#fff;border:0;width:100%;padding:0;display:grid}.is-printing-seat-number .seat-number-print-copy,.is-printing-seat-number .seat-number-print-layout{display:none}.is-printing-seat-number .seat-number-print-template{grid-template-columns:repeat(2,minmax(0,1fr));gap:6mm;display:grid}.is-printing-seat-number .seat-number-card{background:#fff;border:1px solid #111;min-height:26mm;padding:4mm 3mm}.is-printing-seat-number .seat-number-card-single{width:80mm;height:50mm;min-height:0}.is-printing-seat-number .seat-number-card strong{font-size:22pt}.is-printing-seat-number .seat-number-style-sheet{aspect-ratio:auto;width:80mm;height:50mm}.is-printing-seat-number .seat-number-style-center{padding-top:18%}.is-printing-seat-number .seat-number-style-footer{font-size:18pt;bottom:22mm;left:24mm;right:24mm}.is-printing-seat-number .seat-number-style-label{font-size:11pt}.is-printing-seat-number .seat-number-style-center strong{font-size:44pt}.is-printing-seat-number .seat-number-card span{color:#111;font-size:9pt}}.batch-item-name{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800;overflow:hidden}.batch-item-meta{color:var(--muted);flex-wrap:wrap;gap:2px 8px;font-size:10px;line-height:1.4;display:flex}.batch-item-meta .is-warning{color:#a65a19;font-weight:800}.review-stage{min-width:0}.stage-toolbar{min-height:44px;margin-bottom:10px;padding:0 2px}.stage-count-control{flex:none;margin-left:auto}.artwork-grid{grid-template-columns:repeat(var(--grid-columns), minmax(0, 1fr));gap:10px;display:grid}.stage-footer{grid-column:1/-1;justify-content:flex-end;align-items:center;gap:12px;min-height:30px;padding:2px 1px 0;display:flex}.examiner-grading-footer{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);display:grid;position:relative}.examiner-grading-footer .stage-note{justify-self:start}.examiner-grading-footer .examiner-step-actions{justify-items:center;gap:4px;margin:0;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.examiner-grading-footer .pagination-controls{grid-column:3;justify-self:end}.examiner-submit-block,.examiner-step-actions{color:var(--muted);align-items:center;gap:8px;margin-right:auto;font-size:11px;display:flex}.examiner-back-step{margin-right:auto}.pagination-controls{align-items:center;gap:6px;display:flex}.pagination-button{background:var(--panel);min-height:27px;color:var(--ink);cursor:pointer;border:1px solid #aeb9be;border-radius:4px;padding:0 9px;font-size:11px;font-weight:800}.pagination-button:not(:disabled):hover{border-color:var(--blue);color:var(--blue)}.recheck-button{border-color:var(--orange);color:var(--orange-dark)}.recheck-button.is-active,.recheck-button:not(:disabled):hover{border-color:var(--orange-dark);color:var(--orange-dark);background:#fff5df}.pagination-status{min-width:58px;color:var(--muted);text-align:center;font-size:11px}.artwork-card{background:var(--panel);cursor:pointer;border:2px solid #0000;border-radius:7px;gap:8px;min-width:0;padding:9px;display:grid}.artwork-card:hover{border-color:#b7c7d5}.artwork-head{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.artwork-title-block{min-width:0}.artwork-info-lock-row{align-items:center;gap:6px;margin-bottom:6px;display:flex}.info-lock-button{min-height:24px;color:var(--orange-dark);cursor:pointer;background:#fffaf0;border:1px solid #e8b75f;border-radius:4px;align-items:center;padding:0 7px;font-size:10px;font-weight:800;display:inline-flex}.info-lock-button.is-active{background:#fff0d5}.info-lock-button .lock-icon{vertical-align:-1px;margin-right:4px}.artwork-info-lock-note{color:var(--muted);font-size:9px}.artwork-subject-picker{align-items:center;gap:3px;margin-bottom:6px;padding-bottom:1px;display:flex;overflow-x:auto}.artwork-subject-label{color:var(--muted);flex:none;margin-right:2px;font-size:10px;font-weight:800}.artwork-subject-button{min-height:22px;color:var(--muted);cursor:pointer;white-space:nowrap;background:#f0f2f0;border:1px solid #0000;border-radius:4px;flex:none;padding:0 6px;font-size:10px;font-weight:800}.artwork-subject-button:hover:not(:disabled),.artwork-subject-button.is-selected{border-color:var(--blue);color:var(--blue);background:#eaf2f8}.artwork-card.is-locked .artwork-subject-button.is-selected{color:var(--orange-dark);background:#fff4d8;border-color:#e8b75f}.artwork-card.is-info-locked{border-color:#e8b75f}.artwork-index{color:var(--muted);margin-bottom:2px;font-size:10px;font-weight:800}.artwork-rename-editor{align-items:center;gap:4px;width:100%;display:flex}.artwork-name-row{align-items:center;gap:6px;min-width:0;display:flex}.artwork-name-block{gap:4px;min-width:0;display:grid}.artwork-name-row h3{flex:auto;min-width:0}.artwork-student-row{align-items:center;gap:6px;min-width:0;display:flex}.student-name{max-width:44%;color:var(--green);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;font-size:11px;font-weight:800;overflow:hidden}.class-name{max-width:40%;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;font-size:10px;font-weight:700;overflow:hidden}.pairing-button,.recognize-single-button{min-height:23px;color:var(--green);cursor:pointer;background:#edf7ef;border:1px solid #9eb9a7;border-radius:4px;flex:none;padding:0 6px;font-size:10px;font-weight:800}.recognize-single-button{color:var(--blue);background:#edf5ff;border-color:#96b4d5}.student-pairing-editor{align-items:center;gap:4px;min-width:0;display:flex}.student-pairing-input{border:1px solid var(--green);width:92px;min-height:27px;color:var(--ink);background:#fff;border-radius:4px;padding:0 6px;font-size:11px;font-weight:700}.artwork-name-row .rename-button{cursor:pointer;border:1px solid #a9b7c0;border-radius:4px;flex:none;min-height:23px;padding:0 6px;font-size:10px;font-weight:800}.artwork-rename-input{border:1px solid var(--blue);width:100%;min-width:0;min-height:27px;color:var(--ink);background:#fff;border-radius:4px;padding:0 7px;font-size:13px;font-weight:800}.artwork-rename-editor button{border:1px solid var(--line);min-height:27px;color:var(--muted);cursor:pointer;background:#fff;border-radius:4px;flex:none;padding:0 6px;font-size:10px;font-weight:800}.artwork-rename-editor .rename-confirm-button{border-color:var(--blue);background:var(--blue);color:#fff}.lock-mark{width:25px;height:25px;color:var(--orange-dark);background:#fff4d8;border:1px solid #e8b75f;border-radius:50%;flex:none;place-items:center;display:inline-grid}.lock-icon{border:2px solid;border-radius:2px;width:10px;height:8px;display:inline-block;position:relative}.lock-icon:before{content:"";border:2px solid;border-bottom:0;border-radius:5px 5px 0 0;width:4px;height:7px;position:absolute;top:-8px;left:1px}.artwork-card.is-locked{border-color:#e8b75f}.preview-frame{aspect-ratio:4/3;background:#11191e;border:5px solid #182127;place-items:center;display:grid;position:relative;overflow:hidden}.preview-frame img{object-fit:contain;cursor:zoom-in;width:100%;height:100%;display:block}.score-overlay{color:var(--red);text-shadow:0 1px 2px #00000040;font-size:clamp(24px,3vw,44px);font-weight:900;line-height:1;position:absolute;top:8px;right:8px}.grade-overlay{z-index:1;text-align:center;background:#fffffff0;border:1px solid;border-radius:4px;min-width:32px;padding:5px 7px;font-size:15px;font-weight:900;line-height:1;position:absolute;top:8px;left:8px}.grade-overlay.grade-A{background:#e4f1e8}.grade-overlay.grade-B{background:#fff0d5}.grade-overlay.grade-C{background:#f8e2df}.artwork-meta{min-height:25px;padding:0 2px;font-size:11px}.artwork-storage-meta{min-height:22px;color:var(--muted);justify-content:space-between;gap:8px;padding:5px 2px 0;font-size:10px;line-height:1.4;display:flex}.grade-caption{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.grade-A{color:var(--green)}.grade-B{color:var(--orange-dark)}.grade-C{color:#a13d32}.score-caption{color:var(--muted);flex:none;font-weight:800}.score-caption.is-invalid{color:#a13d32}.average-caption{color:var(--blue);margin-top:2px;font-size:9px;font-weight:700;display:block}.statistics-score-panel{color:var(--muted);background:#f4f8fa;border:1px solid #c9d8df;border-radius:5px;gap:4px;margin-top:7px;padding:8px;font-size:10px;display:grid}.statistics-score-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.statistics-score-head>span{color:var(--ink);font-weight:800}.statistics-score-head strong{color:var(--blue);font-size:12px}.statistics-score-panel.is-safe{background:#f1f8f2;border-color:#b9d9c2}.statistics-score-panel.is-watch{background:#fff8e8;border-color:#e7c98e}.statistics-score-panel.is-danger{background:#fff1ef;border-color:#e4aaa4}.statistics-evaluator-list{grid-template-columns:repeat(auto-fit,minmax(82px,1fr));gap:4px;display:grid}.statistics-evaluator-list span{background:#fff;border:1px solid #d8e3e8;border-radius:3px;justify-content:space-between;align-items:center;gap:5px;min-width:0;padding:4px 5px;display:flex}.statistics-evaluator-list b,.statistics-evaluator-list em{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.statistics-evaluator-list b{color:var(--ink);font-size:10px}.statistics-evaluator-list em{color:var(--muted);font-size:10px;font-style:normal}.statistics-score-empty{color:var(--orange-dark)}.statistics-score-range{border-top:1px solid #32444a24;flex-wrap:wrap;gap:4px 10px;padding-top:5px;line-height:1.4;display:flex}.statistics-score-range strong{color:var(--ink)}.statistics-score-panel.is-safe .statistics-score-range strong{color:var(--green)}.statistics-score-panel.is-watch .statistics-score-range strong{color:var(--orange-dark)}.statistics-score-panel.is-danger .statistics-score-range strong{color:var(--red)}.card-controls{gap:10px;display:grid}.grade-control,.score-control{gap:3px;min-width:0;display:grid}.control-label-row{justify-content:space-between;align-items:baseline;gap:5px;min-height:17px;display:flex}.control-label-row>span,.score-control>span{color:var(--muted);font-size:10px;font-weight:700}.control-label-row strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.grade-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid}.grade-option{border:1px solid var(--line);min-width:0;min-height:42px;color:var(--muted);cursor:pointer;text-align:left;background:#fff;border-radius:4px;gap:2px;padding:5px 4px;display:grid}.grade-option strong{font-size:12px;line-height:1}.grade-option span{text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.grade-option:hover,.grade-option.is-selected{border-color:currentColor;box-shadow:inset 0 0 0 1px}.grade-option.grade-A{color:var(--green)}.grade-option.grade-A.is-selected{background:#e4f1e8}.grade-option.grade-B{color:var(--orange-dark)}.grade-option.grade-B.is-selected{background:#fff0d5}.grade-option.grade-C{color:#a13d32}.grade-option.grade-C.is-selected{background:#f8e2df}.grade-stepper{justify-content:flex-end;gap:5px;margin-top:2px;display:flex}.step-button{border:1px solid var(--line);min-height:25px;color:var(--muted);cursor:pointer;background:#fff;border-radius:4px;padding:0 7px;font-size:10px;font-weight:800}.step-button:hover:not(:disabled){border-color:var(--blue);color:var(--blue)}.score-control{max-width:260px;margin-top:2px}.score-offset-picker{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;display:grid}.score-option{border:1px solid var(--line);min-width:0;min-height:38px;color:var(--blue);cursor:pointer;text-align:center;background:#fff;border-radius:4px;gap:2px;padding:4px 2px;display:grid}.score-option strong{font-size:12px;line-height:1}.score-option span{color:var(--muted);font-size:9px;line-height:1}.score-option:hover:not(:disabled),.score-option.is-selected{border-color:var(--blue);background:var(--blue-soft);box-shadow:inset 0 0 0 1px var(--blue)}.score-option:disabled{cursor:not-allowed;opacity:.48}.score-control small{min-height:13px;color:var(--muted);font-size:9px}.artwork-actions{justify-content:flex-start;gap:6px}.artwork-actions button{cursor:pointer;border:0;border-radius:4px;min-height:27px;padding:0 8px;font-size:11px;font-weight:800}.lock-button,.preview-button{color:#fff;background:#f1a51b}.lock-button.is-active{background:var(--orange-dark)}.rename-button{background:var(--blue-soft);color:var(--blue)}.replace-button{background:var(--blue-soft);min-height:27px;color:var(--blue);cursor:pointer;border-radius:4px;align-items:center;padding:0 8px;font-size:11px;font-weight:800;display:inline-flex}.replace-button input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.lock-button .lock-icon{vertical-align:-1px;margin-right:4px}.preview-button{background:var(--blue)}.remove-button{color:var(--muted);background:0 0;margin-left:auto}.remove-button:hover:not(:disabled){color:#a13d32;background:#f8e2df}.artwork-actions button:disabled{cursor:not-allowed;opacity:.48}.replace-button:has(input:disabled){cursor:not-allowed;opacity:.48}.previous-button,.next-button{color:var(--blue);background:0 0}.next-button{margin-left:auto}.previous-button:disabled,.next-button:disabled{color:#aeb9be;cursor:not-allowed}.empty-state{text-align:center;background:#f8f7f2b8;border:1px dashed #aeb9be;border-radius:7px;place-items:center;gap:9px;min-height:320px;padding:24px;display:grid}.empty-state p{max-width:420px;color:var(--muted);font-size:13px}.summary-card{padding:18px}.statistics-toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;padding-bottom:14px;display:flex}.statistics-toolbar label{color:var(--muted);font-size:12px;font-weight:800}.statistics-toolbar select{border:1px solid var(--line);min-width:220px;min-height:31px;color:var(--ink);background:#fff;border-radius:5px;padding:0 8px;font-size:12px}.statistics-toolbar span{color:var(--muted);margin-left:auto;font-size:11px}.student-query-card{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:10px;gap:18px;padding:24px;display:grid}.student-query-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:16px;padding-bottom:14px;display:flex}.student-query-toolbar{align-items:flex-end;gap:10px;display:flex}.student-query-toolbar .primary-button,.student-query-toolbar .secondary-button{flex:none}.student-query-field{width:min(560px,100%);color:var(--muted);gap:6px;font-size:11px;font-weight:800;display:grid}.student-query-field input{border:1px solid var(--line);min-height:38px;color:var(--ink);background:#fff;border-radius:5px;padding:0 12px;font-size:13px}.student-query-field input:focus{border-color:var(--blue)}.student-query-empty{border:1px dashed var(--line);text-align:center;background:#fff;border-radius:6px;place-content:center;gap:7px;min-height:160px;padding:24px;display:grid}.student-query-empty span,.student-query-result-meta{color:var(--muted);font-size:12px}.student-query-empty.is-warning{background:#fff8e8;border-color:#e8c98b}.student-query-empty.is-warning strong{color:var(--orange-dark)}.student-query-result-meta{margin-bottom:-8px}.student-query-result-list{gap:16px;display:grid}.student-query-result{border:1px solid var(--line);background:#fff;border-radius:6px;gap:0;display:grid;overflow:hidden}.student-query-result-header,.student-query-result-footer{justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex}.student-query-result-header{border-bottom:1px solid var(--line)}.student-query-result-brand{align-items:center;gap:9px;display:flex}.student-query-result-mark{background:var(--ink);color:#fff;letter-spacing:.08em;border-radius:5px;place-items:center;width:34px;height:34px;font-size:10px;font-weight:900;display:grid}.student-query-result-brand div{gap:2px;display:grid}.student-query-result-brand strong{font-size:13px}.student-query-result-brand span,.student-query-result-code,.student-query-result-footer{color:var(--muted);font-size:10px}.student-query-result-code{color:var(--blue);font-weight:800}.student-query-result>h3{text-align:center;justify-self:center;padding:22px 18px 16px;font-size:21px}.student-query-identity{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 18px;padding:0 0 20px;display:grid}.student-query-identity>div{gap:5px;min-width:0;display:grid}.student-query-identity span,.student-query-score-summary span,.student-query-evaluations>span{color:var(--muted);font-size:10px;font-weight:800}.student-query-identity strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.student-query-result-body{gap:16px;padding:20px 18px;display:grid}.student-query-result-title{text-align:center;font-size:16px;font-weight:900}.student-query-score-table{border:1px solid var(--line);border-radius:5px;grid-template-columns:repeat(9,minmax(92px,1fr));display:grid;overflow-x:auto}.student-query-score-table>div{border-right:1px solid var(--line);text-align:center;background:#fff;align-content:center;gap:6px;min-height:78px;padding:10px 8px;display:grid}.student-query-score-table>div:first-child,.student-query-score-table>div:nth-child(2){background:#eef5f8}.student-query-score-table>div:nth-child(3),.student-query-score-table>div:nth-child(4){background:#f4f7ef}.student-query-score-table>div:nth-child(5),.student-query-score-table>div:nth-child(6){background:#fff6e5}.student-query-score-table>div:nth-child(7),.student-query-score-table>div:nth-child(8),.student-query-score-table>div:nth-child(9){background:#f3eef8}.student-query-score-table>div:last-child{border-right:0}.student-query-score-table span{color:var(--muted);font-size:10px;font-weight:800}.student-query-score-table strong{font-size:14px}.student-query-subject-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:10px;display:grid}.student-query-subject-card{border:1px solid var(--line);background:#fff;border-radius:5px;gap:0;display:grid;overflow:hidden}.student-query-subject-score,.student-query-subject-rank{text-align:center;align-content:center;gap:5px;min-height:70px;padding:11px 12px;display:grid}.student-query-subject-score{background:#eef5f8}.student-query-subject-rank{border-top:1px solid var(--line);background:#f4f7ef}.student-query-subject-score span,.student-query-subject-rank span,.student-query-total-summary span{color:var(--muted);font-size:10px;font-weight:800}.student-query-subject-score strong{color:var(--blue);font-size:20px}.student-query-subject-rank strong{color:var(--ink);font-size:13px}.student-query-subject-card img,.student-query-artwork-empty{aspect-ratio:4/3;object-fit:contain;border-top:1px solid var(--line);background:#f7f8f6;width:100%;min-height:150px;display:block}.student-query-subject-card img{cursor:zoom-in}.student-query-artwork-empty{color:var(--muted);place-items:center;font-size:11px;display:grid}.student-query-total-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.student-query-total-summary>div{border:1px solid var(--line);text-align:center;background:#f3eef8;border-radius:5px;gap:5px;padding:11px 12px;display:grid}.student-query-total-summary strong{font-size:15px}.student-query-leaders-card{border:1px solid var(--line);background:#fbfaf6;border-radius:6px;gap:10px;margin-top:14px;padding:14px;display:grid}.student-query-leaders-heading{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.student-query-leaders-heading strong{color:var(--ink);font-size:14px}.student-query-leaders-heading span{color:var(--muted);font-size:10px}.student-query-leaders-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.student-query-leader{border:1px solid var(--line);background:#fff;border-radius:5px;overflow:hidden}.student-query-leader-meta{background:#eef5f8;gap:4px;padding:10px;display:grid}.student-query-leader-meta strong{color:var(--blue);font-size:12px}.student-query-leader img,.student-query-leader .student-query-artwork-empty{aspect-ratio:4/3;object-fit:contain;border-top:1px solid var(--line);cursor:zoom-in;background:#f7f8f6;width:100%}.student-query-score-summary{grid-template-columns:1fr 1fr;gap:12px;display:grid}.student-query-score-summary>div{border:1px solid var(--line);background:var(--panel-soft);text-align:center;border-radius:5px;align-content:center;gap:4px;min-height:104px;padding:14px;display:grid}.student-query-score-summary>div:first-child strong{color:var(--blue);font-size:34px;line-height:1}.student-query-score-summary small{color:var(--muted);font-size:10px}.student-query-grade-summary strong:not(.query-grade-badge){font-size:27px}.student-query-grade-summary .query-grade-badge{justify-self:center;min-height:32px;padding:0 12px;font-size:16px}.student-query-evaluations{gap:9px;padding-top:4px;display:grid}.student-query-evaluator-list{color:var(--muted);flex-wrap:wrap;gap:5px 10px;font-size:11px;display:flex}.student-query-evaluator-list span{border:1px solid var(--line);background:#fff;border-radius:4px;padding:7px 9px}.student-query-evaluator-list b{color:var(--ink);margin-right:5px}.query-grade-badge{border-radius:4px;align-items:center;min-height:24px;padding:0 7px;font-size:11px;font-weight:900;display:inline-flex}.query-grade-badge.grade-A{color:var(--green);background:#e4f1e8}.query-grade-badge.grade-B{color:var(--orange-dark);background:#fff0d5}.query-grade-badge.grade-C{color:#a13d32;background:#f8e2df}.student-query-result-footer{border-top:1px solid var(--line);background:#fbfaf6}.summary-head{align-items:flex-end}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.summary-major-card{border:1px solid var(--line);background:#fff;border-radius:6px;gap:10px;padding:12px;display:grid}.major-badge{border-radius:4px;align-items:center;width:fit-content;padding:4px 8px;font-size:11px;font-weight:800;display:inline-flex}.major-A{color:var(--green);background:#e4f1e8}.major-B{color:var(--orange-dark);background:#fff0d5}.major-C{color:#a13d32;background:#f8e2df}.summary-major-head strong{font-size:20px}.summary-band-list{gap:6px;display:grid}.summary-band-item{border:0;border-top:1px solid var(--line);width:100%;color:var(--muted);cursor:pointer;text-align:left;background:0 0;padding-top:6px;font-size:12px}.summary-band-item:hover,.summary-band-item.is-selected{color:var(--blue)}.summary-band-item.is-selected{font-weight:800}.summary-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:12px;margin-top:14px;padding-top:12px;font-size:12px;display:flex}.summary-warning{color:#a13d32;font-weight:800}.analysis-section{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.evaluator-analysis{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.evaluator-stats-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.evaluator-stat-card{border:1px solid var(--line);min-width:0;color:var(--muted);cursor:pointer;text-align:left;background:#fff;border-radius:6px;gap:4px;padding:10px;display:grid}.evaluator-stat-card:hover,.evaluator-stat-card.is-active{border-color:var(--blue);box-shadow:inset 3px 0 0 var(--blue)}.evaluator-stat-name{color:var(--ink);font-size:12px;font-weight:800}.evaluator-stat-breakdown{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:4px 0 2px;display:grid}.evaluator-stat-breakdown>span{background:var(--panel-soft);text-align:center;border-radius:4px;gap:3px;min-width:0;padding:5px 4px;display:grid}.evaluator-stat-breakdown>span.is-complete{color:#19733e;background:#e7f5ec}.evaluator-stat-breakdown>span.is-pending{color:#b42318;background:#fff0ee}.evaluator-stat-breakdown>span.is-zero{color:#111;background:#fff}.evaluator-stat-breakdown strong{color:var(--blue);font-size:16px;line-height:1}.evaluator-stat-breakdown small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.evaluator-stat-breakdown>span.is-complete strong,.evaluator-stat-breakdown>span.is-complete small{color:#19733e}.evaluator-stat-breakdown>span.is-pending strong,.evaluator-stat-breakdown>span.is-pending small{color:#b42318}.evaluator-stat-breakdown>span.is-zero strong,.evaluator-stat-breakdown>span.is-zero small{color:#111}.evaluator-stat-card>span:not(.evaluator-stat-name){text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.evaluator-difference-card{border:1px solid var(--line);background:#fff;border-radius:6px;gap:10px;margin-top:12px;padding:12px;display:grid}.evaluator-difference-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.evaluator-difference-head strong{color:var(--ink);font-size:13px}.evaluator-difference-head p,.evaluator-difference-empty{color:var(--muted);margin:4px 0 0;font-size:10px}.evaluator-difference-head>span{color:var(--blue);white-space:nowrap;font-size:10px;font-weight:800}.evaluator-difference-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.evaluator-difference-item{border-left:3px solid var(--blue);background:var(--panel-soft);border-radius:4px;gap:4px;padding:9px;display:grid}.evaluator-difference-item.is-close{background:#e7f5ec;border-left-color:#19733e}.evaluator-difference-item.is-watch{background:#fff5df;border-left-color:#b56a00}.evaluator-difference-item.is-wide{background:#fff0ee;border-left-color:#b42318}.evaluator-difference-pair{color:var(--ink);font-size:11px;font-weight:800}.evaluator-difference-item strong{color:var(--ink);font-size:11px}.evaluator-difference-item small{color:var(--muted);font-size:9px}.analysis-head{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.analysis-head h3{margin-top:3px;font-size:16px}.analysis-note{color:var(--muted);font-size:11px}.analysis-layout{gap:14px;margin-top:14px;display:grid}.analysis-distribution-columns{grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);align-items:start;gap:14px;display:grid}.subject-distribution-grid{grid-template-columns:1fr;gap:10px;display:grid}.total-score-distribution-card{border:1px solid var(--line);background:#fff;border-radius:7px;gap:8px;padding:12px;display:grid}.total-score-distribution-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:8px;padding-bottom:9px;display:flex}.total-score-distribution-head h4{color:var(--ink);margin-top:2px;font-size:18px}.total-score-distribution-head>strong{color:var(--blue);font-size:14px}.distribution-score-scale-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px 12px;display:grid}.total-score-distribution-row{grid-template-columns:58px minmax(40px,1fr) 18px 28px;align-items:center;gap:4px;min-height:20px;display:grid}.total-score-distribution-row>span,.total-score-distribution-row>strong{color:var(--muted);font-size:8px;line-height:1}.total-score-distribution-row>strong{color:var(--ink);text-align:right}.total-score-distribution-row small{color:var(--muted);text-align:right;font-size:8px}.subject-distribution-card{border:1px solid var(--line);background:#fff;border-radius:7px;min-width:0;padding:10px}.subject-distribution-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:8px;margin-bottom:13px;padding-bottom:9px;display:flex}.subject-distribution-head h4{color:var(--ink);margin-top:2px;font-size:17px}.subject-distribution-head>strong{color:var(--blue);white-space:nowrap;font-size:16px}.subject-distribution-kicker{color:var(--muted);font-size:12px}.distribution-area-chart{min-width:0;height:320px;padding-top:2px}.total-score-distribution-card .distribution-area-chart{height:340px}.subject-distribution-card .distribution-area-chart{height:320px}.subject-band-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-bottom:7px;display:grid}.subject-band-summary-item{border:1px solid var(--line);background:var(--panel-soft);min-width:0;color:var(--muted);cursor:pointer;border-radius:4px;justify-content:space-between;align-items:center;gap:4px;padding:4px 5px;font-size:9px;display:flex}.subject-band-summary-item strong{color:var(--ink);font-size:10px}.subject-band-summary-item:hover,.subject-band-summary-item.is-selected{border-color:var(--blue);background:var(--blue-soft);color:var(--blue)}.distribution-summary{color:var(--muted);flex-wrap:wrap;gap:3px 10px;margin-top:5px;font-size:10px;line-height:1.25;display:flex}.distribution-summary-item{white-space:nowrap;align-items:center;gap:3px;display:inline-flex}.distribution-summary-item:before{content:"";border-radius:2px;width:8px;height:8px}.distribution-summary-item.is-total-high:before{background:#c62828}.distribution-summary-item.is-total-mid:before{background:#e07800}.distribution-summary-item.is-total-low:before{background:#2474c6}.distribution-summary-item.is-total-bottom:before{background:#2b8a5b}.distribution-summary-item.is-subject-1:before{background:#c62828}.distribution-summary-item.is-subject-2:before{background:#e07800}.distribution-summary-item.is-subject-3:before{background:#d6a400}.distribution-summary-item.is-subject-4:before{background:#2474c6}.distribution-summary-item.is-subject-5:before{background:#2b8a5b}.distribution-summary-item strong{color:var(--ink);font-size:11px}.distribution-area-chart svg{width:100%;height:100%;display:block;overflow:visible}.distribution-gridline{stroke:#e3e6e2;stroke-width:1px}.distribution-axis{stroke:#b8bfba;stroke-width:1.2px}.distribution-axis-label,.distribution-x-label{fill:var(--muted);font-size:10px;font-weight:700}.distribution-x-label{font-size:9px;font-weight:800}.distribution-point-value{fill:var(--ink);font-size:14px;font-weight:900}.distribution-in-chart-label rect{fill:#ffffffe6;stroke:currentColor;stroke-width:1.2px}.distribution-in-chart-label text{fill:currentColor;font-size:12px;font-weight:900}.distribution-in-chart-label.is-total-high{color:#a81f1f}.distribution-in-chart-label.is-total-mid{color:#a85700}.distribution-in-chart-label.is-total-low{color:#1d5d9a}.distribution-in-chart-label.is-total-bottom{color:#1d6b43}.distribution-in-chart-label.is-subject-1{color:#a81f1f}.distribution-in-chart-label.is-subject-2{color:#a85700}.distribution-in-chart-label.is-subject-3{color:#8a6a00}.distribution-in-chart-label.is-subject-4{color:#1d5d9a}.distribution-in-chart-label.is-subject-5{color:#1d6b43}.distribution-area-fill{opacity:.25}.distribution-area-line{fill:none;stroke-width:3px;stroke-linejoin:round;stroke-linecap:round}.distribution-point circle{fill:#fff;stroke-width:2.5px}.distribution-area-chart.is-total .distribution-area-fill{fill:url(#distribution-fill-total)}.distribution-area-chart.is-total .distribution-area-fill stop:first-child{stop-color:#3b9b9a}.distribution-area-chart.is-total .distribution-area-fill stop:last-child{stop-color:#b7dfd5}.distribution-area-chart.is-total .distribution-area-line,.distribution-area-chart.is-total .distribution-point circle{stroke:#248784}.distribution-area-chart.is-A .distribution-area-fill{fill:url(#distribution-fill-A)}.distribution-area-chart.is-A .distribution-area-fill stop:first-child{stop-color:#40a66b}.distribution-area-chart.is-A .distribution-area-fill stop:last-child{stop-color:#c6e8cd}.distribution-area-chart.is-A .distribution-area-line,.distribution-area-chart.is-A .distribution-point circle{stroke:#23864d}.distribution-area-chart.is-B .distribution-area-fill{fill:url(#distribution-fill-B)}.distribution-area-chart.is-B .distribution-area-fill stop:first-child{stop-color:#d99a32}.distribution-area-chart.is-B .distribution-area-fill stop:last-child{stop-color:#f4dfb2}.distribution-area-chart.is-B .distribution-area-line,.distribution-area-chart.is-B .distribution-point circle{stroke:#b56a00}.distribution-area-chart.is-C .distribution-area-fill{fill:url(#distribution-fill-C)}.distribution-area-chart.is-C .distribution-area-fill stop:first-child{stop-color:#ce6a5f}.distribution-area-chart.is-C .distribution-area-fill stop:last-child{stop-color:#f0c7c2}.distribution-area-chart.is-C .distribution-area-line,.distribution-area-chart.is-C .distribution-point circle{stroke:#a13d32}.distribution-point circle{transition:r .12s,stroke-width .12s}.distribution-point:hover circle{r:7;stroke-width:3px}.distribution-chart{gap:8px;display:grid}.distribution-row{grid-template-columns:30px minmax(80px,1fr) 40px 48px;align-items:center;gap:8px;min-height:20px;display:grid}.distribution-label{font-size:11px;font-weight:800}.distribution-label.grade-A{color:var(--green)}.distribution-label.grade-B{color:var(--orange-dark)}.distribution-label.grade-C{color:#a13d32}.distribution-track{background:#e7e5df;border-radius:2px;height:10px;overflow:hidden}.distribution-bar{border-radius:2px;min-width:0;height:100%;display:block}.distribution-bar.grade-A{background:var(--green)}.distribution-bar.grade-B{background:var(--orange)}.distribution-bar.grade-C{background:#c96559}.distribution-value,.distribution-percent{color:var(--muted);text-align:right;font-size:10px}.analysis-metrics{grid-template-columns:repeat(4,minmax(0,1fr));align-content:start;gap:8px;display:grid}.analysis-metric{border-left:3px solid var(--line);background:var(--panel-soft);gap:3px;padding:9px 10px;display:grid}.analysis-metric span{color:var(--muted);font-size:10px}.analysis-metric strong{color:var(--ink);font-size:16px}.info-metric-button{border:0;border-left:3px solid var(--orange);cursor:pointer;text-align:left;width:100%}.info-metric-button:hover,.info-metric-button.is-selected{box-shadow:inset 0 0 0 1px var(--orange);background:#fff4d8}.info-filter-note{color:var(--orange-dark);margin-top:5px;font-size:11px;font-weight:800;display:inline-block}.info-confirmation-metrics{grid-template-columns:repeat(6,minmax(0,1fr))}.info-confirmation-metrics .analysis-metric.is-positive strong{color:var(--green)}.info-confirmation-metrics .analysis-metric.is-warning strong{color:var(--orange-dark)}.info-confirmation-metrics .analysis-metric.is-danger strong{color:var(--red)}.info-confirmation-checks{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.info-check-card{border:1px solid var(--line);border-left:3px solid var(--green);background:#fff;border-radius:6px;gap:6px;min-height:72px;padding:12px;display:grid}.info-check-card.is-warning{border-left-color:var(--orange)}.info-check-card span{color:var(--muted);font-size:11px;line-height:1.5}.info-table-section{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.info-table-scroll{border:1px solid var(--line);background:#fff;border-radius:6px;overflow-x:auto}.info-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:980px;color:var(--ink);font-size:11px}.info-col-name{width:12%}.info-col-class-rank{width:9%}.info-col-class,.info-col-contact{width:12%}.info-col-total,.info-col-score{width:8%}.info-col-rank{width:9%}.info-table th,.info-table td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:9px 10px}.info-table th{background:var(--panel-soft);color:var(--muted);font-size:10px;font-weight:800}.info-table tbody tr.info-class-columns th{color:var(--blue);background:#eef5f8;border-top:1px solid #b9cad8;padding-top:8px;padding-bottom:8px;font-size:10px}.info-table .info-score-group,.info-table .info-rank-group{border-left:1px solid #4056661a}.info-table tbody tr.info-class-columns th.info-score-group,.info-table tbody tr.info-class-columns th.info-rank-group{color:var(--ink)}.info-table tbody tr.info-class-columns th:nth-child(5),.info-table tbody tr:not(.info-class-divider):not(.info-class-columns) td:nth-child(5),.info-table tbody tr.info-class-columns th:nth-child(6),.info-table tbody tr:not(.info-class-divider):not(.info-class-columns) td:nth-child(6){background:#eef5f8}.info-table tbody tr.info-class-columns th:nth-child(7),.info-table tbody tr:not(.info-class-divider):not(.info-class-columns) td:nth-child(7),.info-table tbody tr.info-class-columns th:nth-child(8),.info-table tbody tr:not(.info-class-divider):not(.info-class-columns) td:nth-child(8){background:#f4f7ef}.info-table tbody tr.info-class-columns th:nth-child(9),.info-table tbody tr:not(.info-class-divider):not(.info-class-columns) td:nth-child(9),.info-table tbody tr.info-class-columns th:nth-child(10),.info-table tbody tr:not(.info-class-divider):not(.info-class-columns) td:nth-child(10){background:#fff6e5}.info-table tbody tr.info-class-columns th:nth-child(11),.info-table tbody tr:not(.info-class-divider):not(.info-class-columns) td:nth-child(11),.info-table tbody tr.info-class-columns th:nth-child(12),.info-table tbody tr:not(.info-class-divider):not(.info-class-columns) td:nth-child(12){background:#f3eef8}.info-rank{align-items:center;display:inline-flex}.info-rank.is-top-five{color:#b42318}.info-rank.is-last-five{color:var(--green)}.info-table tbody tr.info-class-divider td{border-top:2px solid var(--blue);background:var(--blue-soft);color:var(--blue);border-bottom:1px solid #b9cad8;padding:0}.info-class-divider-content{align-items:center;gap:16px;min-width:0;padding:8px 10px;display:flex}.info-class-name{text-overflow:ellipsis;white-space:nowrap;flex:0 0 150px;font-size:11px;font-weight:900;overflow:hidden}.info-table tbody tr.info-class-divider:first-child td{border-top:0}.info-class-download{border:1px solid var(--blue);color:#fff;cursor:pointer;background:var(--blue);border-radius:4px;min-height:26px;padding:0 9px;font-size:10px;font-weight:800}.info-class-actions{flex-wrap:wrap;flex:auto;align-items:center;gap:6px 14px;min-width:0;display:flex}.info-table tbody tr.info-class-average-row td{background:#f7fbfd;border-bottom:1px solid #b9cad8;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:7px 10px 8px;display:flex}.info-class-average{color:var(--blue);white-space:nowrap;font-size:11px;font-weight:800}@media (width<=760px){.info-table tbody tr.info-class-average-row td{flex-direction:column;align-items:flex-start;gap:4px}}.info-class-download:hover{background:#0c538e}.info-table tbody tr:last-child td{border-bottom:0}.info-table tbody tr:hover{background:#f7fafb}.info-table tbody tr.info-row-missing{color:#a13d32;background:#fff1ef}.info-table tbody tr.info-row-missing:hover{background:#fbe3df}.info-student-link{color:var(--ink);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;padding:0;font-weight:800}.info-student-link:hover,.info-student-link.is-selected{color:var(--blue);text-underline-offset:2px;text-decoration:underline}.lightbox{z-index:10;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.lightbox-backdrop{cursor:pointer;background:#11191ec7;border:0;position:absolute;inset:0}.lightbox-content{z-index:1;background:#f8f7f2;border-radius:8px;gap:10px;width:min(980px,100%);max-height:calc(100vh - 48px);padding:16px;display:grid;position:relative;box-shadow:0 28px 80px #00000052}.lightbox-stage{touch-action:none;background:#11191e;place-items:center;min-height:0;display:grid;overflow:hidden}.lightbox-stage.is-zoomed{cursor:grab}.lightbox-stage.is-zoomed:active{cursor:grabbing}.lightbox-stage img{object-fit:contain;transform-origin:50%;-webkit-user-select:none;user-select:none;width:100%;max-height:calc(100vh - 110px);transition:transform .12s ease-out}.lightbox-stage.is-zoomed img{max-width:none}.lightbox-content p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.lightbox-close{z-index:2;width:32px;height:32px;color:var(--ink);cursor:pointer;background:#f8f7f2eb;border:0;border-radius:50%;font-size:22px;line-height:1;position:absolute;top:7px;right:7px}@media (width<=1180px){.mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.artwork-grid{grid-template-columns:repeat(min(4, var(--grid-columns)), minmax(0, 1fr))}}@media (width<=900px){.home-shell{padding:24px}.mode-grid{grid-template-columns:1fr}.mode-card{min-height:190px}.setup-step{grid-template-columns:30px minmax(150px,.4fr) minmax(0,1fr)}.page-shell{padding:12px}.workspace-toolbar{grid-template-columns:1fr}.toolbar-control{justify-items:start}.clear-button{justify-self:start}.batch-manager-head{flex-direction:column}.batch-actions{justify-content:flex-start}.analysis-layout,.analysis-distribution-columns{grid-template-columns:1fr}.info-confirmation-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.info-confirmation-checks,.subject-distribution-grid{grid-template-columns:1fr}.evaluator-stats-grid,.name-code-generator-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.name-code-print-area{grid-template-columns:1fr 140px}.name-code-print-actions{grid-column:1/-1;justify-content:space-between;align-items:center;display:flex}.name-code-generator-actions{grid-column:1/-1}}@media (width<=620px){.home-shell{padding:18px 12px 30px}.home-header,.setup-heading,.setup-footer{flex-direction:column;align-items:flex-start}.home-intro{padding-top:18px}.home-intro h2{font-size:30px}.examiner-setup{padding:16px}.setup-step{grid-template-columns:30px 1fr}.setup-options{grid-column:2}.statistics-toolbar span{width:100%;margin-left:0}.student-query-heading,.student-query-toolbar{flex-direction:column;align-items:flex-start}.student-query-field{width:100%}.student-query-card{padding:16px}.student-query-result-header,.student-query-result-footer{flex-direction:column;align-items:flex-start;gap:8px;padding:12px}.student-query-result>h3{font-size:18px}.name-code-generator-head{flex-direction:column}.name-code-generator-grid,.name-code-print-area{grid-template-columns:1fr}.name-code-print-actions{flex-direction:column;align-items:stretch}.seat-number-print-options{grid-template-columns:1fr}.name-code-generator-actions{flex-direction:column;align-items:stretch}.name-code-generator-actions>button,.name-code-upload-button{width:100%}.student-query-identity,.student-query-score-summary{grid-template-columns:repeat(2,minmax(0,1fr));margin-left:12px;margin-right:12px}.student-query-result-body{padding:16px 12px}.student-query-subject-grid,.student-query-total-summary,.student-query-leaders-grid{grid-template-columns:1fr}.student-query-leaders-heading{flex-direction:column;align-items:flex-start}.examiner-submit-block,.examiner-step-actions{flex-direction:column;align-items:flex-start;width:100%;margin-right:0}.examiner-grading-footer{grid-template-columns:1fr;justify-items:stretch;position:static}.examiner-grading-footer .stage-note,.examiner-grading-footer .examiner-step-actions,.examiner-grading-footer .pagination-controls{grid-column:auto;justify-self:stretch;position:static;transform:none}.app-header,.stage-toolbar,.summary-head,.summary-footer,.auth-context,.analysis-head{flex-direction:column;align-items:flex-start}.header-context,.auth-context{justify-content:flex-start}.auth-gate{flex-direction:column;align-items:flex-start;padding:24px}.artwork-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-grid{grid-template-columns:1fr}.batch-manager-head h2{max-width:100%}.subject-distribution-grid,.analysis-metrics,.evaluator-stats-grid,.evaluator-difference-list{grid-template-columns:1fr}}@media (width<=420px){.page-shell{padding:8px}.review-layout,.workspace-toolbar,.summary-card{padding:10px}.artwork-grid,.batch-stats{grid-template-columns:1fr}}
