@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap";:root{color:#12324b;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg:#f3f8fc;--bg-soft:#ffffffbf;--panel:#ffffffe6;--panel-strong:#fffffffa;--border:#12324b1a;--border-strong:#12324b24;--text:#12324b;--text-soft:#57708a;--text-muted:#7f94a8;--accent:#2f80ed;--accent-soft:#2f80ed1f;--brand:#0f9d8f;--brand-soft:#0f9d8f1f;--success:#17a673;--success-soft:#17a6731f;--danger:#e45d6f;--danger-soft:#e45d6f1f;--shadow-xl:0 20px 48px #12324b1a;--shadow-md:0 8px 20px #12324b12;--radius-xs:8px;--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--radius-xl:22px;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.875rem;--text-md:.9375rem;--text-lg:1.125rem;--text-xl:1.35rem;--text-2xl:1.65rem;--space-2xs:4px;--space-xs:6px;--space-sm:8px;--space-md:10px;--space-lg:12px;--space-xl:16px;--space-2xl:18px;--control-height:32px;--control-padding-y:6px;--control-padding-x:12px;--control-font-size:var(--text-sm);--control-font-weight:600;--control-radius:var(--radius-sm);--btn-shadow:0 6px 14px #2f80ed1f;--btn-shadow-hover:0 8px 18px #2f80ed29;--input-height:36px;--input-padding-y:8px;--input-padding-x:10px;--input-font-size:var(--text-base);--input-radius:var(--radius-sm);--panel-padding:16px 18px;--panel-radius:var(--radius-lg);--shell-padding:14px;--shell-gap:12px;--sidebar-width:252px;background:radial-gradient(circle at 0 0,#509dff24,#0000 24%),radial-gradient(circle at right 18%,#47c9aa1f,#0000 22%),linear-gradient(#f7fbff 0%,#edf5fb 100%);font-family:Manrope,sans-serif}*{box-sizing:border-box}html,body,#app{min-height:100vh}body{min-width:320px;color:var(--text);margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{min-height:var(--control-height);padding:var(--control-padding-y) var(--control-padding-x);border-radius:var(--control-radius);color:#fff;font-size:var(--control-font-size);font-weight:var(--control-font-weight);cursor:pointer;box-shadow:var(--btn-shadow);background:linear-gradient(135deg,#2f80ed 0%,#1565c0 100%);border:0;transition:transform .16s,box-shadow .16s,opacity .16s,background .16s}button:hover:not(:disabled){box-shadow:var(--btn-shadow-hover);transform:translateY(-1px)}button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}input,select{width:100%;min-height:var(--input-height);border-radius:var(--input-radius);padding:var(--input-padding-y) var(--input-padding-x);font-size:var(--input-font-size);color:var(--text);background:#fffffff2;border:1px solid #12324b1f;outline:none;transition:border-color .14s,background .14s,box-shadow .14s}input::placeholder{color:#57708a8f}input:not([type=range]):focus,select:focus{background:#fff;border-color:#2f80ed6b;box-shadow:0 0 0 4px #2f80ed1a}#app{position:relative}.eyebrow{margin:0 0 var(--space-sm);font-size:var(--text-xs);letter-spacing:.16em;text-transform:uppercase;color:#2f80ed;font-weight:800}.copy{color:var(--text-soft);font-size:var(--text-sm);line-height:1.6}.admin-app-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);min-height:100vh;padding:var(--shell-padding);gap:var(--shell-gap);font-size:var(--text-base);display:grid}.admin-sidebar,.workspace-section,.workspace-hero,.login-card{border:1px solid var(--border);background:var(--panel);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow-xl)}.admin-sidebar{top:var(--shell-padding);height:calc(100vh - var(--shell-padding) * 2);border-radius:var(--radius-xl);padding:var(--space-xl) var(--space-lg);align-self:start;gap:var(--space-lg);grid-template-rows:auto auto 1fr;display:grid;position:sticky}.brand-block h1,.workspace-hero h2,.section-heading h2,.login-card h1{margin:0}.brand-block h1{font-size:var(--text-2xl);letter-spacing:-.04em}.user-panel{gap:10px;display:grid}.user-pill{padding:var(--space-lg);border-radius:var(--radius-md);background:linear-gradient(#f8fcff 0%,#eef6ff 100%);border:1px solid #2f80ed14;justify-content:space-between;gap:12px;display:flex}.user-pill span{font-weight:800;display:block}.user-pill small{color:var(--text-soft);margin-top:4px;display:block}.user-pill em{color:#17a673;background:#17a6731f;border-radius:999px;align-self:center;padding:6px 10px;font-size:.76rem;font-style:normal}.logout-btn{color:#1b4f91;box-shadow:none;background:linear-gradient(135deg,#e8f1ff 0%,#dce9ff 100%);border:1px solid #2f80ed1f}.sidebar-nav{gap:var(--space-sm);align-content:start;display:grid}.sidebar-link{text-align:left;width:100%;min-height:auto;padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);box-shadow:none;color:var(--text-soft);font-size:var(--text-sm);background:#f6f9fc;border:1px solid #0000;gap:2px;font-weight:600;display:grid}.sidebar-link:hover:not(:disabled){box-shadow:none;transform:none}.sidebar-link strong{font-size:var(--text-base);color:var(--text);font-weight:700}.sidebar-link span{font-size:var(--text-xs);color:var(--text-muted)}.sidebar-link.active{background:linear-gradient(135deg,#f0f7ff 0%,#e6f1ff 100%);border-color:#2f80ed24}.admin-content{min-width:0;padding:10px 2px 10px 6px}.workspace-page{gap:var(--space-lg);display:grid}.workspace-hero{border-radius:var(--radius-xl);padding:var(--panel-padding);justify-content:space-between;gap:var(--space-xl);align-items:start;display:flex}.workspace-strip{justify-content:space-between;gap:var(--space-lg);padding:var(--space-sm) 2px 0;align-items:center;display:flex}.workspace-strip h2{margin:0 0 var(--space-sm);font-size:var(--text-xl);letter-spacing:-.04em;line-height:1.2}.workspace-hero.compact{padding:var(--panel-padding)}.workspace-hero h2{font-size:var(--text-xl);letter-spacing:-.04em;margin-bottom:var(--space-sm);line-height:1.2}.hero-badge{min-width:168px;padding:var(--space-lg) var(--space-xl);border-radius:var(--radius-md);gap:var(--space-xs);background:linear-gradient(#f8fcff 0%,#eef5ff 100%);border:1px solid #2f80ed1a;display:grid}.hero-badge span{color:var(--text-soft);font-size:var(--text-xs)}.hero-badge strong{font-size:var(--text-md)}.workspace-section{border-radius:var(--radius-xl);padding:var(--panel-padding)}.section-heading,.question-list-head{justify-content:space-between;align-items:start;gap:var(--space-lg);display:flex}.section-heading h2,.workspace-hero h2,.workspace-strip h2{font-size:var(--text-xl);letter-spacing:-.03em;line-height:1.25}.dashboard-metrics{gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.dashboard-grid{gap:var(--space-lg);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.workbench-chart-section{width:100%;padding:var(--panel-padding)}.ring-grid{gap:var(--space-lg);grid-template-columns:repeat(4,minmax(180px,1fr));align-items:stretch;display:grid}.dashboard-card{border-radius:var(--radius-lg);padding:var(--space-lg) var(--space-xl);box-shadow:var(--shadow-md);gap:var(--space-sm);background:linear-gradient(#fff 0%,#f7fbff 100%);border:1px solid #12324b14;display:grid}.dashboard-card span{color:var(--text-soft);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}.dashboard-card strong{font-size:var(--text-md);line-height:1.3}.dashboard-card p{color:var(--text-muted);margin:0;line-height:1.65}.status-chart,.mini-list{gap:var(--space-md);display:grid}.status-row{gap:8px;display:grid}.status-row-head{color:var(--text-soft);justify-content:space-between;align-items:center;gap:12px;display:flex}.status-row-head strong{color:var(--text)}.status-bar-track{background:#2f80ed14;border-radius:999px;height:12px;overflow:hidden}.status-bar-fill{border-radius:inherit;height:100%}.status-bar-fill.sky{background:linear-gradient(135deg,#8cc4ff,#5fa6ff)}.status-bar-fill.blue{background:linear-gradient(135deg,#2f80ed,#4aa0ff)}.status-bar-fill.teal{background:linear-gradient(135deg,#31a9b5,#5ed0db)}.status-bar-fill.gold{background:linear-gradient(135deg,#f0b14a,#ffd16f)}.status-bar-fill.green{background:linear-gradient(135deg,#17a673,#46c98f)}.mini-list-item{justify-content:space-between;gap:var(--space-lg);padding:var(--space-lg) var(--space-xl);border-radius:var(--radius-md);background:linear-gradient(#fff 0%,#f9fcff 100%);border:1px solid #12324b14;align-items:start;display:flex}.mini-list-item strong{margin-bottom:6px;display:block}.mini-list-item p{color:var(--text-soft);margin:0}.ring-card{gap:var(--space-md);min-height:112px;padding:var(--space-lg);border-radius:var(--radius-md);background:linear-gradient(#fff 0%,#f8fbff 100%);border:1px solid #12324b14;grid-template-columns:80px minmax(0,1fr);align-items:center;display:grid}.ring-chart{--value:0%;background:radial-gradient(circle at center, #fff 0 53%, transparent 54%), conic-gradient(var(--ring-color) 0 var(--value), #e8f0f8 var(--value) 100%);border-radius:50%;place-items:center;width:72px;height:72px;display:grid}.ring-chart.blue{--ring-color:#2f80ed}.ring-chart.teal{--ring-color:#31a9b5}.ring-chart.gold{--ring-color:#f0b14a}.ring-chart.green{--ring-color:#17a673}.ring-chart-inner{background:#fff;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;box-shadow:inset 0 0 0 1px #12324b0f}.ring-chart-inner strong{font-size:.92rem}.ring-copy{gap:6px;min-width:0;display:grid}.ring-copy strong{font-size:.98rem;line-height:1.35}.ring-copy p{color:var(--text-soft);margin:0;font-size:.9rem;line-height:1.55}.mini-tag{color:#2f80ed;min-height:24px;font-size:var(--text-xs);white-space:nowrap;background:#eef5ff;border-radius:999px;justify-content:center;align-items:center;padding:2px 8px;font-weight:600;display:inline-flex}.mini-tag.warning{color:#c6871e;background:#fff5df}.mini-tag.success{color:#17a673;background:#ebfaf4}.mini-tag.muted{color:#7f94a8;background:#f1f5f8}.card-link{cursor:pointer;transition:transform .16s,box-shadow .16s}.card-link:hover{transform:translateY(-1px);box-shadow:0 12px 22px #12324b14}.empty-tip{padding:var(--space-lg) var(--space-xl);border-radius:var(--radius-md);color:var(--text-soft);font-size:var(--text-sm);background:#f7fbff;margin:0}.dashboard-card.warm{background:linear-gradient(#fff 0%,#f2f8ff 100%);border-color:#2f80ed14}.dashboard-card.cool{background:linear-gradient(#fff 0%,#f1fbfa 100%);border-color:#0f9d8f14}.dashboard-card.vivid{background:linear-gradient(#fff 0%,#f0fbf7 100%);border-color:#17a67314}.dashboard-card.neutral{background:linear-gradient(#fff 0%,#f7fafc 100%);border-color:#12324b0f}.login-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border-radius:var(--radius-xl);width:min(520px,100%);padding:var(--space-2xl)}.login-card--auth{gap:28px;width:min(400px,100%);padding:40px 36px 32px;display:grid}.login-brand{text-align:center;justify-items:center;gap:8px;display:grid}.login-mark{color:#fff;background:linear-gradient(145deg, var(--accent) 0%, var(--brand) 100%);border-radius:16px;place-items:center;width:56px;height:56px;font-size:1.5rem;font-weight:800;display:grid;box-shadow:0 12px 28px #2f80ed38}.login-brand h1{font-size:var(--text-2xl);letter-spacing:-.04em;margin:0}.login-tagline{color:var(--text-muted);font-size:var(--text-sm);margin:0;font-weight:600}.login-form{gap:16px;display:grid}.login-form--auth{margin-top:0}.login-form--auth label{gap:0}.login-form--auth input{width:100%}.login-form--auth button[type=submit]{min-height:42px;font-size:var(--text-md);margin-top:4px}.login-form label,.file-field{color:var(--text-soft);gap:9px;display:grid}.form-error,.upload-message.error{color:#d34d62;text-align:center;font-size:var(--text-sm);margin:0}.upload-message{color:var(--text-soft);margin:0}.upload-message.success{color:#17a673}.upload-panel,.annotation-block,.question-list,.progress-metrics,.question-bank-shell{gap:var(--space-lg);display:grid}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.question-bank-toolbar{gap:var(--space-md);padding:var(--space-lg) var(--space-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#ffffffeb;border:1px solid #12324b14;display:grid}.question-bank-toolbar-main{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.question-search-field input{width:100%}.question-bank-toolbar-actions{flex-wrap:wrap;gap:10px;display:flex}.question-bank-summary{color:var(--text-soft);margin:0}.question-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:4px;display:flex}.question-pagination-summary{color:var(--text-soft);margin:0;font-size:.9rem}.question-pagination-actions{gap:8px;display:flex}.question-table-panel{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#ffffffeb;border:1px solid #12324b14;overflow:hidden}.question-table-wrap{overflow-x:auto}.question-bank-table{border-collapse:collapse;width:100%}.question-bank-table th,.question-bank-table td{padding:var(--space-md) var(--space-lg);text-align:left;vertical-align:middle;font-size:var(--text-sm);border-bottom:1px solid #12324b0f}.question-bank-table th{color:var(--text-soft);font-size:var(--text-xs);background:#f3f8fce6;font-weight:700}.question-bank-table tbody tr:hover{background:#f1f7ffb8}.question-bank-table .col-id{width:72px;color:var(--text-soft);white-space:nowrap;vertical-align:middle;font-weight:700}.question-bank-table .col-thumb{white-space:nowrap;vertical-align:middle;width:1%}.question-table-thumb-frame{background:#eff5fb;border:1px solid #12324b14;border-radius:10px;justify-content:center;align-items:center;height:58px;padding:4px;display:inline-flex;overflow:visible}.question-table-thumb{object-fit:contain;object-position:center;width:auto;height:50px;max-height:50px;display:block}.question-thumb-btn{cursor:zoom-in;box-shadow:none;background:0 0;border:0;padding:0}.question-thumb-btn:hover{box-shadow:none;background:0 0;transform:none}.question-stem-text{color:var(--text);line-height:1.45;font-size:var(--text-sm);white-space:normal;word-break:break-word;-webkit-user-select:text;user-select:text;cursor:text;margin:0;font-weight:600}.question-bank-table .col-stem{min-width:220px;max-width:480px}.question-confirm-image{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.image-zoom-root{z-index:120;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.image-zoom-backdrop{cursor:zoom-out;background:#0a18269e;border:0;position:absolute;inset:0}.image-zoom-panel{z-index:1;width:min(960px,100%);max-height:min(88vh,900px);box-shadow:var(--shadow-xl);background:#fff;border-radius:20px;grid-template-rows:auto 1fr auto;display:grid;position:relative;overflow:hidden}.image-zoom-header{border-bottom:1px solid #12324b14;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.image-zoom-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.image-zoom-scale{text-align:center;min-width:52px;color:var(--text-soft);font-weight:800}.image-zoom-stage{touch-action:none;background:#0f1c2a;justify-content:center;align-items:center;min-height:360px;max-height:calc(min(88vh,900px) - 160px);padding:20px;display:flex;position:relative;overflow:auto}.image-zoom-stage.can-pan{cursor:grab}.image-zoom-stage.is-dragging{cursor:grabbing}.image-zoom-transform{transform-origin:50%;flex-shrink:0}.image-zoom-image{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none;width:auto;max-width:min(100vw - 120px,860px);height:auto;max-height:calc(min(88vh,900px) - 220px);display:block}.image-zoom-hint{color:var(--text-soft);margin:0;padding:10px 18px 14px;font-size:.84rem}.question-id-label{color:var(--text-muted);font-size:.8rem}.question-table-actions{flex-wrap:wrap;gap:8px;display:flex}.question-table-empty{justify-items:start;gap:8px;padding:42px 24px;display:grid}.question-table-empty p{color:var(--text-soft);margin:0}.student-status-tag{font-size:var(--text-xs);border-radius:999px;align-items:center;padding:2px 8px;font-weight:700;display:inline-flex}.student-status-tag.is-active{color:#0f6b4d;background:#22a87224}.student-status-tag.is-inactive{color:#8a3b12;background:#e87e3a24}.student-import-result{margin-top:var(--space-lg);padding:var(--space-lg) var(--space-xl);border-radius:var(--radius-md);background:#ffffffeb;border:1px solid #12324b14}.student-import-result h3{margin:0 0 12px;font-size:1rem}.student-form-drawer{width:min(480px,100vw)}.composer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.inline-note{color:var(--text-muted);font-size:.84rem}.question-annotate-head{align-items:center}.question-annotate-title{align-items:center;gap:var(--space-sm);display:flex}.question-annotate-title h4{margin:0}.field-help-tip{outline:none;flex-shrink:0;display:inline-flex;position:relative}.field-help-tip__icon{color:#2f80ed;width:18px;height:18px;font-size:var(--text-xs);cursor:help;background:#2f80ed1a;border:1px solid #2f80ed47;border-radius:50%;justify-content:center;align-items:center;font-weight:800;line-height:1;display:inline-flex}.field-help-tip__bubble{z-index:2;border-radius:var(--radius-sm);width:max-content;max-width:240px;box-shadow:var(--shadow-md);color:var(--text-soft);font-size:var(--text-xs);text-align:left;white-space:normal;pointer-events:none;opacity:0;visibility:hidden;background:#fff;border:1px solid #12324b1a;padding:8px 10px;font-weight:500;line-height:1.45;transition:opacity .14s,transform .14s,visibility .14s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(4px)}.field-help-tip:hover .field-help-tip__bubble,.field-help-tip:focus-visible .field-help-tip__bubble{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}.question-status-chip{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:30px;padding:4px 10px;font-size:.78rem;font-weight:800;display:inline-flex}.question-status-chip.is-enabled{color:#138a61;background:#17a6731f}.question-status-chip.is-disabled{color:#c44c5d;background:#e45d6f1f}.question-link-btn{min-height:50px;color:var(--text);background:#fff;border:1px solid #12324b1a;border-radius:14px;justify-content:center;align-items:center;padding:.9rem 1.15rem;font-weight:700;display:inline-flex}.question-drawer-root{z-index:80;justify-content:flex-end;display:flex;position:fixed;inset:0}.question-drawer-backdrop{cursor:pointer;background:#0c1c2c6b;border:0;position:absolute;inset:0}.question-drawer{z-index:1;background:#fff;grid-template-rows:auto 1fr;width:min(560px,100vw);height:100%;transition:width .2s;display:grid;position:relative;box-shadow:-18px 0 48px #12324b24}.question-drawer--fullscreen{width:100vw;max-width:100vw;box-shadow:none}.question-modal-root{z-index:80;padding:var(--space-lg);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.question-modal-backdrop{cursor:pointer;background:#0c1c2c7a;border:0;position:absolute;inset:0}.question-modal{z-index:1;border-radius:var(--radius-lg);width:min(1120px,100vw - 32px);min-height:min(680px,100vh - 48px);max-height:min(94vh,980px);box-shadow:var(--shadow-xl);background:#fff;border:1px solid #12324b1a;grid-template-rows:auto minmax(0,1fr);transition:width .2s,height .2s,max-height .2s,border-radius .2s;display:grid;position:relative;overflow:hidden}.question-modal--fullscreen{border-radius:var(--radius-sm);width:min(100vw,100%);height:min(100vh,100%);max-height:100vh}.question-modal--fullscreen .question-drawer-body{flex-direction:column;min-height:0;display:flex;overflow:hidden}.question-modal--fullscreen .question-wizard-steps,.question-modal--fullscreen .question-drawer-footer,.question-modal--fullscreen .question-list-head{flex-shrink:0}.question-modal--fullscreen .question-wizard-panel{flex-direction:column;flex:1;min-height:0;display:flex}.question-modal--fullscreen .question-wizard-panel .annotation-editor--fill{flex:1;min-height:0}.question-drawer-header-actions{flex-shrink:0;gap:8px;display:flex}.question-drawer--fullscreen .question-drawer-body{flex-direction:column;min-height:0;display:flex;overflow:hidden}.question-drawer--fullscreen .question-wizard-steps,.question-drawer--fullscreen .question-drawer-footer,.question-drawer--fullscreen .question-list-head{flex-shrink:0}.question-drawer--fullscreen .question-wizard-panel{flex-direction:column;flex:1;min-height:0;display:flex}.question-drawer--fullscreen .question-wizard-panel .annotation-editor--fill{flex:1;min-height:0}.question-drawer-header{justify-content:space-between;gap:var(--space-lg);padding:var(--space-lg) var(--space-xl);border-bottom:1px solid #12324b14;align-items:start;display:flex}.question-drawer-header h3{margin:0}.question-drawer-header p{color:var(--text-soft);margin:6px 0 0;font-size:.9rem}.question-drawer-body{padding:var(--space-lg) var(--space-xl);gap:var(--space-lg);align-content:start;display:grid;overflow:auto}.question-drawer-body--wizard{gap:var(--space-md);flex-direction:column;min-height:0;display:flex;overflow:hidden}.question-drawer-body--wizard .question-wizard-steps{flex-shrink:0}.question-drawer-body--wizard .question-drawer-footer{flex-shrink:0;justify-content:flex-start;margin-top:auto}.question-drawer-body--wizard .question-wizard-panel{flex:1;min-height:0;overflow:auto}.question-wizard-panel--annotate{gap:var(--space-sm);flex-direction:column;display:flex;overflow:hidden}.question-wizard-panel--annotate .question-annotate-head{flex-shrink:0}.question-wizard-panel--annotate .annotation-editor--fill{flex:1;min-height:0}.question-wizard-panel--annotate .annotation-hint{display:none}.question-drawer-body--wizard .question-wizard-panel--confirm{flex:0 auto;align-self:start;width:100%}.question-wizard-panel--confirm{gap:var(--space-sm);align-content:start}.question-wizard-panel--confirm .question-confirm-card{gap:var(--space-sm);padding:var(--space-lg) var(--space-xl)}.question-wizard-panel--confirm .question-confirm-card p{margin:0;line-height:1.55}.question-drawer-footer{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:10px;padding-top:8px;display:flex}.question-wizard-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.question-wizard-steps li{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-sm);color:var(--text-soft);text-align:center;background:#f3f8fce6;border:1px solid #12324b14;font-size:.84rem;font-weight:700}.question-wizard-steps li.active{color:#1f4f7d;background:#2f80ed1a;border-color:#2f80ed3d}.question-wizard-steps li.done{color:#138a61;border-color:#17a67333}.question-wizard-panel{gap:14px;display:grid}.question-dropzone{gap:var(--space-lg);padding:var(--space-xl);border-radius:var(--radius-md);text-align:center;background:linear-gradient(#fffffff5 0%,#f3f8fcf5 100%);border:1px dashed #12324b29;justify-items:center;display:grid}.question-dropzone.is-dragging{background:#f1f7fffa;border-color:#2f80ed6b}.question-dropzone.has-image{justify-items:stretch}.question-dropzone-preview-wrap{border-radius:var(--radius-md);background:#eff5fb;border:1px solid #12324b14;justify-content:center;align-items:center;width:100%;min-height:120px;max-height:min(50vh,400px);padding:4px;display:flex}.question-dropzone-preview{object-fit:contain;object-position:center;border-radius:var(--radius-sm);width:auto;max-width:100%;height:auto;max-height:min(48vh,380px);display:block}.question-dropzone-input span{cursor:pointer;background:#fff;border:1px solid #12324b1a;border-radius:12px;justify-content:center;align-items:center;min-height:42px;padding:0 16px;font-weight:700;display:inline-flex}.question-confirm-card,.question-preview-meta{background:#f3f8fcb8;border:1px solid #12324b14;border-radius:16px;gap:8px;padding:16px;display:grid}.question-preview-meta h4{margin:0}.question-preview-meta p{color:var(--text-soft);margin:0}.question-preview-stats{flex-wrap:wrap;gap:8px;display:flex}.question-preview-stats span{color:#1f4f7d;background:#2f80ed14;border-radius:999px;align-items:center;min-height:32px;padding:4px 10px;font-size:.84rem;font-weight:700;display:inline-flex}.result-box,.progress-card,.question-item,.select-item,.panel-box,.review-item{background:#fff;border:1px solid #12324b14}.result-box{padding:var(--space-lg);border-radius:var(--radius-md);word-break:break-all;font-size:var(--text-sm)}.result-box p{margin:0}.question-item{gap:var(--space-md);padding:var(--space-lg) var(--space-xl);border-radius:var(--radius-md);display:grid}.question-item p,.review-selection-summary,.annotation-hint{color:var(--text-soft);margin:0}.question-card{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:18px;display:grid}.question-card-body{gap:10px;display:grid}.question-thumb{aspect-ratio:4/3;object-fit:cover;background:#eff5fb;border-radius:18px;width:100%}.preview-stage{-webkit-user-select:none;user-select:none;background:#eff5fb;border-radius:18px;position:relative;overflow:hidden}.preview-stage .preview-image,.preview-stage .question-thumb{aspect-ratio:auto;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;background:0 0;border-radius:0;width:100%;height:auto;max-height:none;display:block}.preview-shape{pointer-events:none}.select-item{border-radius:16px;align-items:center;gap:12px;padding:16px;display:flex}.select-item input,.review-check input{width:auto}.annotation-editor{gap:14px;display:grid}.annotation-editor--fill{flex-direction:column;flex:1;gap:14px;min-height:0;display:flex}.annotation-editor--fill .annotation-toolbar,.annotation-editor--fill .annotation-hint{flex-shrink:0}.annotation-editor--fill .annotation-toolbar__group--grow{max-width:none}.annotation-editor--fill .annotation-viewport{flex:1;min-height:0;max-height:none;overflow:auto}.annotation-editor--fill .annotation-canvas{min-width:0}.annotation-editor--fill .annotation-stage{overflow:hidden}.annotation-toolbar-actions,.exam-summary-actions,.review-actions,.review-nav,.review-list-tools{gap:var(--space-sm);flex-wrap:wrap;display:flex}.annotation-toolbar{align-items:flex-end;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);background:linear-gradient(#fffffffa 0%,#f1f7ffeb 100%);border:1px solid #2f80ed1f;display:flex;box-shadow:inset 0 1px #fffc}.annotation-toolbar__main{align-items:flex-end;gap:var(--space-md) var(--space-lg);flex-wrap:wrap;flex:1;min-width:0;display:flex}.annotation-toolbar__group{gap:var(--space-xs);min-width:0;display:grid}.annotation-toolbar__group--grow{flex:160px;min-width:140px;max-width:280px}.annotation-toolbar__label{font-size:var(--text-xs);letter-spacing:.04em;color:var(--text-muted);text-transform:uppercase;font-weight:700}.annotation-type-toggle{border-radius:var(--radius-sm);background:#ffffffe6;border:1px solid #12324b1a;padding:3px;display:inline-flex}.annotation-type-toggle__btn{border-radius:calc(var(--radius-sm) - 2px);min-height:30px;color:var(--text-soft);font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;padding:0 14px;font-weight:600;transition:background .14s,color .14s,box-shadow .14s}.annotation-type-toggle__btn:hover:not(.is-active){color:var(--text);background:#2f80ed0f}.annotation-type-toggle__btn.is-active{color:#fff;background:linear-gradient(135deg,#2f80ed 0%,#1565c0 100%);box-shadow:0 4px 12px #2f80ed38}.annotation-slider{min-height:var(--control-height);flex:1;align-items:center;gap:10px;min-width:0;padding:0 4px;display:flex}.annotation-slider__input{--range-pct:50%;width:auto;min-width:88px;height:18px;min-height:0;box-shadow:none;cursor:pointer;appearance:none;background:0 0;border:none;border-radius:0;flex:1;margin:0;padding:0}.annotation-slider__input:focus,.annotation-slider__input:focus-visible{box-shadow:none;background:0 0;border:none;outline:none}.annotation-slider__input::-webkit-slider-runnable-track{background:linear-gradient(90deg, #2f80ed 0%, #5ca0f0 var(--range-pct), #e4ebf2 var(--range-pct), #e4ebf2 100%);border-radius:999px;height:4px}.annotation-slider__input::-webkit-slider-thumb{-webkit-appearance:none;background:#2f80ed;border:2px solid #fff;border-radius:50%;width:14px;height:14px;margin-top:-5px;transition:transform .12s;box-shadow:0 1px 3px #12324b2e}.annotation-slider__input:active::-webkit-slider-thumb{transform:scale(1.06)}.annotation-slider__input::-moz-range-track{background:#e4ebf2;border-radius:999px;height:4px}.annotation-slider__input::-moz-range-progress{background:#2f80ed;border-radius:999px 0 0 999px;height:4px}.annotation-slider__input::-moz-range-thumb{cursor:grab;background:#2f80ed;border:2px solid #fff;border-radius:50%;width:14px;height:14px;box-shadow:0 1px 3px #12324b2e}.annotation-slider__value{color:#1f4f7d;min-width:2.5rem;font-size:var(--text-xs);font-variant-numeric:tabular-nums;text-align:center;background:#2f80ed1a;border-radius:999px;flex-shrink:0;padding:2px 8px;font-weight:700}.annotation-zoom-bar{min-height:var(--control-height);border-radius:var(--radius-sm);background:#fff;border:1px solid #12324b1a;align-items:center;gap:2px;padding:2px;display:inline-flex}.annotation-icon-btn{border-radius:calc(var(--radius-sm) - 2px);width:30px;min-height:28px;color:var(--text);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;font-size:1rem;font-weight:700;line-height:1;transition:background .14s;display:inline-flex}.annotation-icon-btn:hover{background:#2f80ed1a}.annotation-zoom-bar__value{color:#1f4f7d;min-width:3rem;font-size:var(--text-sm);font-variant-numeric:tabular-nums;text-align:center;padding:0 6px;font-weight:700}.annotation-zoom-bar__fit{border-radius:calc(var(--radius-sm) - 2px);color:#2f80ed;min-height:28px;font-size:var(--text-xs);cursor:pointer;background:#2f80ed14;border:0;margin-left:4px;padding:0 10px;font-weight:700;transition:background .14s}.annotation-zoom-bar__fit:hover{background:#2f80ed29}.annotation-toolbar__actions{align-items:center;gap:var(--space-sm);min-height:var(--control-height);padding-left:var(--space-md);border-left:1px solid #12324b14;flex-shrink:0;display:flex}.annotation-tool-btn{min-height:var(--control-height);padding:var(--control-padding-y) var(--control-padding-x);border-radius:var(--control-radius);color:var(--text);font-size:var(--control-font-size);font-weight:var(--control-font-weight);cursor:pointer;background:#fff;border:1px solid #12324b1f;transition:border-color .14s,background .14s,color .14s}.annotation-tool-btn:hover:not(:disabled){color:#1f4f7d;background:#2f80ed0f;border-color:#2f80ed47}.annotation-tool-btn:disabled{opacity:.45;cursor:not-allowed}.annotation-viewport{background:#f3f8fe;border-radius:20px;min-height:320px;max-height:min(72vh,720px);position:relative;overflow:auto}.annotation-viewport.can-pan{cursor:grab}.annotation-viewport.can-pan.is-panning{cursor:grabbing}.annotation-canvas{min-width:min(100%, max-content);display:inline-block}.annotation-stage{cursor:crosshair;-webkit-user-select:none;user-select:none;touch-action:none;border-radius:20px;width:max-content;max-width:100%;line-height:0;display:inline-block;position:relative;overflow:hidden}.annotation-image{object-fit:contain;object-position:center;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:auto;max-width:100%;height:auto;max-height:min(72vh,720px);display:block}.annotation-editor--fill .annotation-image{max-width:none;max-height:none}.annotation-circle,.annotation-rect{pointer-events:auto;touch-action:none;cursor:grab;background:#17a67329;border:2px solid #17a673f5;position:absolute}.annotation-circle{box-sizing:border-box;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%)}.annotation-circle:active,.annotation-rect:active{cursor:grabbing}.resize-handle{background:#fff;border:2px solid #2f80ed;border-radius:999px;width:14px;height:14px;position:absolute;box-shadow:0 4px 12px #12324b2e}.resize-handle.right{cursor:ew-resize;top:50%;right:-7px;transform:translateY(-50%)}.resize-handle.bottom{cursor:ns-resize;bottom:-7px;left:50%;transform:translate(-50%)}.resize-handle.corner{cursor:nwse-resize;bottom:-7px;right:-7px}.resize-handle.left{cursor:ew-resize;top:50%;left:-7px;transform:translateY(-50%)}.resize-handle.top{cursor:ns-resize;top:-7px;left:50%;transform:translate(-50%)}.secondary-btn,a.secondary-btn{color:#1f4f7d;box-shadow:none;background:linear-gradient(135deg,#edf4fb 0%,#dfeaf7 100%);border:1px solid #2f80ed1a}a.secondary-btn{min-height:var(--control-height);padding:var(--control-padding-y) var(--control-padding-x);border-radius:var(--control-radius);font-size:var(--control-font-size);font-weight:var(--control-font-weight);justify-content:center;align-items:center;text-decoration:none;transition:transform .16s,box-shadow .16s,background .16s,border-color .16s;display:inline-flex}a.secondary-btn:hover{transform:translateY(-1px)}.secondary-btn:hover:not(:disabled),a.secondary-btn:hover,.ghost-btn:hover:not(:disabled),.logout-btn:hover:not(:disabled),.sidebar-link:hover:not(:disabled){box-shadow:none}.publish-btn{background:linear-gradient(135deg,#0f9d8f 0%,#20b7a6 100%);box-shadow:0 6px 14px #0f9d8f24}.danger-btn{background:linear-gradient(135deg,#d95e72 0%,#f27186 100%);box-shadow:0 12px 24px #e45d6f24}.ghost-btn{color:var(--text);box-shadow:none;background:#fff;border:1px solid #12324b1a}.exam-summary-card{background:linear-gradient(#fff 0%,#f7fbff 100%)}.exam-mgmt-list{gap:var(--space-md);display:grid}.exam-mgmt-card{gap:var(--space-md);padding:var(--space-lg) var(--space-xl);border-radius:var(--radius-md);background:linear-gradient(#fff 0%,#f8fbff 100%);border:1px solid #12324b14;display:grid;box-shadow:0 1px 2px #0c1c300a}.exam-mgmt-card__head{justify-content:space-between;align-items:flex-start;gap:10px;min-width:0;display:flex}.exam-mgmt-card__title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-size:1rem;font-weight:700;line-height:1.35;overflow:hidden}.exam-mgmt-card__status{color:#1f4f7d;background:#2f80ed1a;border:1px solid #2f80ed29;border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:.75rem;font-weight:600;line-height:1.4}.exam-mgmt-card__status[data-tone=未开始]{color:#5c6370;background:#5c637014;border-color:#5c637024}.exam-mgmt-card__status[data-tone=进行中]{color:#0d6b5c;background:#0d6b5c1a;border-color:#0d6b5c2e}.exam-mgmt-card__status[data-tone=已结束],.exam-mgmt-card__status[data-tone=成绩已发布]{color:#1f4f7d;background:#2f80ed14}.exam-mgmt-card__meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px;margin:0;display:grid}.exam-mgmt-card__meta-item{grid-template-columns:auto 1fr;align-items:baseline;gap:6px;min-width:0;display:grid}.exam-mgmt-card__meta-item--wide{grid-column:1/-1}.exam-mgmt-card__meta dt{color:var(--text-muted,#8a94a6);white-space:nowrap;margin:0;font-size:.75rem;font-weight:600}.exam-mgmt-card__meta dd{color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.8125rem;line-height:1.4;overflow:hidden}.exam-mgmt-card__meta-item--wide .exam-mgmt-card__meta dd{white-space:normal}.exam-mgmt-card__actions{gap:var(--space-xs);padding-top:var(--space-lg);border-top:1px solid #12324b0f;flex-wrap:wrap;display:flex}.exam-details-toggle{justify-self:start;margin-top:4px}.exam-details-panel{background:#f7fbffe6;border:1px dashed #2f80ed33;border-radius:14px;gap:10px;padding:14px 16px;display:grid}@media (width>=900px){.exam-mgmt-card__meta{grid-template-columns:repeat(3,minmax(0,1fr))}.exam-mgmt-card__meta-item--wide{grid-column:span 2}}.section-heading-actions{gap:var(--space-sm);flex-wrap:wrap;align-items:center;display:flex}.exam-wizard-steps{grid-template-columns:repeat(2,minmax(0,1fr));max-width:520px;margin-bottom:20px}.exam-create-step{gap:16px;display:grid}.exam-step-summary{padding:var(--space-lg) var(--space-xl);border-radius:var(--radius-md);background:#2f80ed0f;border:1px solid #2f80ed24}.exam-step-summary p{margin:0}.exam-step-summary p+p{color:var(--text-soft);margin-top:6px;font-size:14px}.exam-step-selection-note{color:var(--text-soft);margin:12px 0 0;font-size:14px}.exam-create-layout{gap:var(--space-lg);grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);align-items:start;display:grid}.exam-picker-panel,.exam-basket-panel{background:#fff;border:1px solid #12324b14;border-radius:18px;gap:14px;padding:18px;display:grid}.exam-picker-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.exam-picker-toolbar .question-search-field{flex:220px;min-width:200px}.exam-picker-toolbar-actions{flex-wrap:wrap;gap:8px;display:flex}.exam-pick-table .col-check{width:44px}.exam-pick-row{cursor:pointer}.exam-pick-row--selected{background:#2f80ed0f}.exam-basket-head{justify-content:space-between;align-items:start;gap:12px;display:flex}.exam-basket-head h3{margin:0 0 6px}.exam-basket-meta{color:var(--text-soft);margin:0;font-size:14px}.exam-basket-hint{color:var(--text-soft);margin:6px 0 0;font-size:13px}.exam-basket-empty{text-align:center;color:var(--text-soft);background:#2f80ed0a;border-radius:14px;padding:24px 16px}.exam-basket-empty strong{color:var(--text);margin-bottom:8px;display:block}.exam-basket-list{gap:10px;max-height:min(70vh,640px);margin:0;padding:0;list-style:none;display:grid;overflow:auto}.exam-basket-item{background:#fafcff;border:1px solid #12324b14;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.exam-basket-order{width:28px;height:28px;color:var(--accent);background:#2f80ed1f;border-radius:999px;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.exam-basket-stem{margin:0;font-weight:600;line-height:1.4}.exam-basket-sub{color:var(--text-soft);margin:4px 0 0;font-size:13px}.exam-basket-item-actions{flex-wrap:wrap;gap:4px;display:flex}.exam-form-panel{max-width:720px}.exam-datetime-label-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.exam-datetime-now-link{color:var(--accent);cursor:pointer;box-shadow:none;background:0 0;border:0;padding:0;font-size:.88rem;font-weight:600}.exam-datetime-now-link:hover:not(:disabled){box-shadow:none;text-decoration:underline;transform:none}.exam-datetime-field .dp__main{width:100%;font:inherit;--dp-input-icon-padding:2.85rem;--dp-input-padding:.92rem 2.75rem .92rem 1rem;--dp-input-not-clearable-padding:1rem}.exam-datetime-field .dp__input_wrap{width:100%}.exam-datetime-field .dp__input{width:100%;padding:var(--dp-input-padding);color:var(--text);font:inherit;cursor:text;background:#fffffff2;border:1px solid #12324b1f;border-radius:14px;transition:border-color .14s,background .14s,box-shadow .14s}.exam-datetime-field .dp__input_reg{caret-color:var(--text)}.exam-datetime-field .dp__input.dp__input_icon_pad{padding-inline-start:var(--dp-input-icon-padding)}.exam-datetime-field .dp__input_icon{color:var(--text-muted);inset-inline-start:1rem}.exam-datetime-field .dp--clear-btn{inset-inline-end:.85rem}.exam-datetime-field .dp__input::placeholder{color:#57708a8f}.exam-datetime-field .dp__input:hover{border-color:#12324b2e}.exam-datetime-field .dp__input:focus{background:#fff;border-color:#2f80ed6b;box-shadow:0 0 0 4px #2f80ed1a}.exam-datetime-field .dp__menu{border:1px solid var(--border);font:inherit;border-radius:16px;box-shadow:0 18px 40px #12324b24}.exam-datetime-field .dp__action_select,.exam-datetime-field .dp__today,.exam-datetime-field .dp__active_date,.exam-datetime-field .dp__range_end,.exam-datetime-field .dp__range_start{background:var(--accent)}.exam-datetime-field .dp__action_button.dp__action_cancel{color:var(--accent);border-color:#2f80ed59;border-radius:10px;font-weight:600}.exam-datetime-field .dp__action_button.dp__action_cancel:hover{border-color:var(--accent);background:var(--accent-soft)}.exam-datetime-field .dp__inc_dec_button:hover,.exam-datetime-field .dp__time_display:hover{color:var(--accent)}.exam-student-note{color:var(--text-soft);margin:0;font-size:14px}.exam-create-actions{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.toast-host{z-index:9999;pointer-events:none;gap:12px;width:min(420px,100vw - 48px);display:grid;position:fixed;top:24px;right:24px}.toast-item{gap:var(--space-xs);padding:var(--space-lg) 36px var(--space-lg) var(--space-xl);border-radius:var(--radius-md);pointer-events:auto;background:#fff;border:1px solid #0000;display:grid;position:relative;box-shadow:0 18px 40px #12324b2e,0 4px 12px #12324b14}.toast-item--error{background:linear-gradient(#fff5f6 0%,#fff 100%);border-color:#d34d6259}.toast-item--success{background:linear-gradient(#f3fbf8 0%,#fff 100%);border-color:#17a67347}.toast-item--info{background:linear-gradient(#f5f9ff 0%,#fff 100%);border-color:#2f80ed3d}.toast-title{font-size:var(--text-sm);color:var(--text);font-weight:700}.toast-item--error .toast-title{color:#c7374f}.toast-item--success .toast-title{color:#138a61}.toast-message{color:var(--text);line-height:1.45;font-size:var(--text-sm);margin:0}.toast-close{top:var(--space-sm);right:var(--space-sm);width:24px;height:24px;min-height:24px;color:var(--text-soft);cursor:pointer;box-shadow:none;background:#12324b0f;border:none;border-radius:999px;padding:0;font-size:1.2rem;line-height:1;position:absolute}.toast-close:hover{color:var(--text);background:#12324b1f}.toast-slide-enter-active,.toast-slide-leave-active{transition:opacity .22s,transform .22s}.toast-slide-enter-from,.toast-slide-leave-to{opacity:0;transform:translate(24px)}.toast-slide-move{transition:transform .22s}.progress-card{border-radius:16px;padding:14px}.progress-label{color:var(--text);justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.progress-label span{color:var(--text-soft)}.progress-track{background:#2f80ed14;border-radius:999px;height:10px;overflow:hidden}.progress-fill{border-radius:inherit;background:linear-gradient(135deg,#2f80ed,#63a8ff);height:100%}.publish-fill{background:linear-gradient(135deg,#0f9d8f,#20b7a6)}.review-page-shell{gap:var(--space-lg);display:grid}.review-page-shell .section-heading,.review-page-heading{margin-bottom:0}.review-page-heading .copy{display:none}.review-toolbar{gap:var(--space-md);padding:var(--space-lg) var(--space-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#ffffffeb;border:1px solid #12324b14;display:grid}.review-toolbar--compact{padding:var(--space-lg) var(--space-xl);border-radius:var(--radius-lg);gap:0}.review-toolbar--compact .review-toolbar-filters{flex-wrap:wrap;align-items:flex-end;gap:10px 12px;display:flex}.review-toolbar--compact .review-toolbar-field{flex:120px;gap:4px;min-width:0;max-width:200px;display:grid}.review-toolbar--compact .review-toolbar-search{flex:1.4 160px;max-width:240px}.review-toolbar--compact .review-toolbar-label{font-size:.72rem;line-height:1.2}.review-toolbar--compact .review-toolbar-control,.review-toolbar--compact .review-filter{min-height:34px;padding:6px 10px;font-size:.88rem}.review-toolbar--compact .review-toolbar-summary{color:var(--text-soft);white-space:nowrap;flex:none;margin:0;padding-bottom:6px;font-size:.84rem}.review-toolbar--compact .review-toolbar-refresh{flex:none;min-height:34px;margin-bottom:1px;margin-left:auto;padding:6px 12px}.review-toolbar-filters{grid-template-columns:minmax(160px,1.1fr) minmax(120px,.75fr) minmax(120px,.75fr) minmax(200px,1.2fr);align-items:end;gap:14px;display:grid}.review-toolbar-field{gap:8px;min-width:0;display:grid}.review-toolbar-label{color:var(--text-soft);font-size:.82rem;font-weight:700}.review-toolbar-field input,.review-toolbar-field select,.review-filter{width:100%;min-width:0}.review-exam-lock{color:var(--text-soft);background:#2f80ed0f;border:1px solid #2f80ed1a;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:10px 14px;font-size:.9rem;display:flex}.review-toolbar-actions-row{border-top:1px solid #12324b0f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:4px;display:flex}.review-toolbar-summary{color:var(--text-soft);margin:0;font-size:.9rem}.review-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.review-toolbar-publish{color:#0b7a70;background:linear-gradient(135deg,#e8f8f5 0%,#daf3ee 100%);border-color:#0f9d8f38}.review-workspace-grid{grid-template-columns:minmax(380px,42%) minmax(0,1fr);align-items:stretch;gap:18px;display:grid}.review-pane-queue--full{min-height:calc(100vh - 280px)}.review-pane{gap:var(--space-lg);min-width:0;min-height:420px;padding:var(--space-lg) var(--space-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#ffffffeb;border:1px solid #12324b14;grid-template-rows:auto 1fr;display:grid}.review-pane-queue{grid-template-rows:1fr auto}.review-pane-detail{grid-template-rows:auto 1fr}.review-pane-heading{justify-content:space-between;align-items:start;gap:12px;display:flex}.review-pane-heading h3{letter-spacing:-.02em;margin:4px 0 0;font-size:1.15rem}.review-pane-meta{color:var(--text-soft);background:#f3f8fcf2;border:1px solid #12324b14;border-radius:999px;flex-shrink:0;padding:6px 12px;font-size:.82rem;font-weight:700}.review-queue-table-shell{background:#f8fbfecc;border:1px solid #12324b0f;border-radius:18px;min-height:0;display:grid;overflow:hidden}.review-queue-table-shell>.review-queue-empty{align-self:center;width:100%}.review-queue-table-shell .question-table-wrap{max-height:min(52vh,560px);overflow:auto}.review-queue-empty{gap:var(--space-md);text-align:center;align-content:center;justify-items:center;padding:28px 18px;display:grid}.review-queue-empty strong{color:var(--text);font-size:1.05rem}.review-queue-empty p{max-width:360px;color:var(--text-soft);margin:0;font-size:.9rem;line-height:1.55}.review-queue-empty-link{border-radius:var(--radius-sm);color:#1f4f7d;width:max-content;max-width:100%;font-size:var(--text-xs);white-space:nowrap;box-shadow:none;background:linear-gradient(135deg,#edf4fb 0%,#dfeaf7 100%);border:1px solid #2f80ed24;justify-content:center;align-self:center;align-items:center;padding:2px 10px;font-weight:600;line-height:1.25;text-decoration:none;transition:background .16s,border-color .16s;display:inline-flex}.review-queue-empty-link:hover{background:linear-gradient(135deg,#e4eef9 0%,#d5e5f5 100%);border-color:#2f80ed47}.review-queue-table{table-layout:fixed;width:100%}.review-queue-table .col-check{width:44px}.review-queue-table .col-exam{text-overflow:ellipsis;white-space:nowrap;width:22%;overflow:hidden}.review-queue-table .col-student{text-overflow:ellipsis;white-space:nowrap;width:10%;overflow:hidden}.review-queue-table .col-progress{width:20%;font-size:.84rem}.review-queue-table .col-progress .review-paper-meta{line-height:1.45;display:block}.review-queue-table .col-stem{min-width:120px;max-width:200px}.review-queue-table .col-score{white-space:nowrap;text-align:center;width:64px}.review-queue-table .col-time{white-space:nowrap;width:152px;color:var(--text-soft);font-size:.82rem}.review-queue-table .col-status{white-space:nowrap;width:96px}.review-queue-table .col-actions{white-space:nowrap;text-align:center;width:92px}.review-queue-table .review-grade-btn{white-space:nowrap;min-width:64px;padding:6px 14px}.review-row-active{background:#2f80ed1a!important}.review-row-active td{border-bottom-color:#2f80ed1f}.review-paper-row td{background:#f3f8fcf2;border-bottom:1px solid #12324b14;padding-top:12px;padding-bottom:12px}.review-paper-head{flex-wrap:wrap;align-items:baseline;gap:8px 14px;display:flex}.review-paper-head strong{color:var(--text)}.review-paper-meta{color:var(--text-soft);font-size:.86rem}.review-paper-indent{color:var(--text-soft);white-space:nowrap;font-size:.84rem}.review-sort-no{padding-left:8px;display:inline-block}.review-pane-queue .question-pagination{margin-top:auto}.review-detail-body{align-content:start;gap:14px;min-height:0;display:grid;overflow:auto}.review-detail-empty{align-content:center;justify-items:start;gap:10px;min-height:360px;padding:12px 4px;display:grid}.review-detail-empty .copy{margin:0;font-size:1rem}.review-shortcut-hint{color:var(--text-muted);margin:0;font-size:.86rem}.review-detail-meta{gap:8px;display:grid}.review-question-nav{flex-wrap:wrap;gap:8px;display:flex}.review-question-nav-btn{min-width:32px;height:32px;min-height:32px;padding:0 var(--space-md);border-radius:var(--radius-xs);color:var(--text-soft);font-size:var(--text-sm);box-shadow:none;cursor:pointer;background:#fff;border:1px solid #12324b1f;font-weight:600}.review-question-nav-btn:hover{color:var(--text);border-color:#2f80ed59}.review-question-nav-active{color:var(--primary);background:#2f80ed14;border-color:#2f80ed8c}.review-question-nav-pending:not(.review-question-nav-active){color:#c05621;border-color:#e67e2273}.review-detail-title{flex-wrap:wrap;align-items:baseline;gap:8px 12px;margin:0;font-size:.95rem;display:flex}.review-detail-title strong{color:var(--text)}.review-detail-title span{color:var(--text-soft)}.review-detail-time{font-size:.84rem}.review-detail-tags{flex-wrap:wrap;gap:8px;display:flex}.review-score-line{color:var(--text-soft);margin:0;font-size:.9rem}.review-canvas,.review-overlay,.review-canvas{position:relative}.review-student-marker{z-index:5}.answer-marker{border:3px solid #ffffffe6;border-radius:999px;width:18px;height:18px;position:absolute;transform:translate(-50%,-50%)}.review-hit-marker{background:#17a673;box-shadow:0 10px 24px #17a67338}.review-miss-marker{background:#e45d6f;box-shadow:0 10px 24px #e45d6f38}.review-hit-text{color:#17a673;margin:0;font-weight:700}.review-miss-text{color:#d34d62;margin:0;font-weight:700}.review-status-tag{white-space:nowrap;border-radius:999px;align-items:center;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.review-status-tag--success{color:#12845c;background:#17a6731f}.review-status-tag--danger{color:#c23f52;background:#e45d6f1f}.review-status-tag--warning{color:#9a6408;background:#f5a62329}.review-status-tag--muted{color:var(--text-soft);background:#7882961f}.review-nav{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.review-nav-index{color:var(--text-soft);font-size:.86rem}.review-auto-advance{color:var(--text-soft);white-space:nowrap;flex-shrink:0;align-items:center;gap:8px;margin:0;font-size:.9rem;display:flex}.review-grading-overlay{z-index:1200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0c1826b8;justify-content:center;align-items:stretch;padding:0;display:flex;position:fixed;inset:0}.review-grading-modal{background:#f6f9fc;grid-template-rows:auto 1fr auto;width:100%;max-width:100%;height:100%;max-height:100%;display:grid;box-shadow:0 24px 80px #0c182659}.review-grading-header{background:#fff;border-bottom:1px solid #12324b1a;gap:10px;padding:14px 18px;display:grid}.review-grading-header-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.review-grading-nav-row,.review-grading-header-main{min-width:0}.review-grading-title{color:var(--text);margin:0;font-size:1.15rem}.review-grading-subtitle{color:var(--text-soft);flex-wrap:wrap;gap:8px 14px;margin:6px 0 0;font-size:.88rem;display:flex}.review-grading-nav{flex-wrap:wrap;justify-content:flex-start;max-width:100%}.review-question-nav-ellipsis{min-width:28px;height:36px;color:var(--text-muted);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:.9rem;display:inline-flex}.review-grading-close{border-radius:var(--radius-sm);width:32px;height:32px;min-height:32px;color:var(--text);box-shadow:none;cursor:pointer;background:#12324b0f;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:1.15rem;font-weight:400;line-height:1;display:inline-flex}.review-grading-close:hover:not(:disabled){box-shadow:none;color:#c23f52;background:#e45d6f1f;transform:none}.review-attempt-complete-banner{background:linear-gradient(135deg,#27ae6024 0%,#2ecc7114 100%);border:2px solid #27ae6073;border-radius:16px;flex-wrap:wrap;align-items:center;gap:16px 20px;margin:0 18px;padding:16px 20px;display:flex;box-shadow:0 12px 32px #27ae602e}.review-attempt-complete-icon{color:#fff;background:#27ae60;border-radius:50%;flex-shrink:0;place-items:center;width:52px;height:52px;font-size:1.75rem;font-weight:800;line-height:1;display:grid;box-shadow:0 8px 20px #27ae6059}.review-attempt-complete-main{flex:1;gap:6px;min-width:220px;display:grid}.review-attempt-complete-title{color:#1a6b42;letter-spacing:.02em;margin:0;font-size:1.2rem;font-weight:800}.review-attempt-complete-meta{color:var(--text);flex-wrap:wrap;gap:8px 14px;margin:0;font-size:.92rem;display:flex}.review-attempt-complete-score{color:#1a6b42;font-weight:800}.review-attempt-complete-hint{color:var(--text-soft);margin:0;font-size:.88rem}.review-attempt-complete-actions{flex-wrap:wrap;gap:10px;margin-left:auto;display:flex}.review-complete-banner-enter-active,.review-complete-banner-leave-active{transition:opacity .25s,transform .25s}.review-complete-banner-enter-from,.review-complete-banner-leave-to{opacity:0;transform:translateY(-8px)}.review-grading-loading{min-height:200px;color:var(--text-soft);place-items:center;display:grid}.review-grading-body{flex:1;min-height:0;padding:14px 18px;overflow:hidden}.review-grading-question-pane{grid-template-rows:auto 1fr;gap:12px;height:100%;min-height:0;display:grid;overflow:hidden}.review-grading-body.is-submitting .review-grading-question-pane{opacity:.88}.review-question-swap-enter-active,.review-question-swap-leave-active{transition:opacity .12s,transform .12s}.review-question-swap-enter-from,.review-question-swap-leave-to{opacity:0;transform:translateY(4px)}.review-grading-meta{gap:8px;display:grid}.review-grading-meta .review-detail-tags{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.review-grading-meta .review-score-line{margin:0}.review-grading-canvas-wrap{grid-template-rows:1fr auto;gap:8px;min-height:0;display:grid}.review-grading-canvas.review-image-stage{background:#eff5fb;border:1px solid #12324b1a;border-radius:16px;grid-template-rows:1fr;height:100%;min-height:0;max-height:none;display:grid;position:relative;overflow:hidden}.review-grading-canvas-toolbar{z-index:6;background:#fffffff0;border:1px solid #12324b1a;border-radius:12px;align-items:center;gap:6px;padding:6px 8px;display:flex;position:absolute;top:10px;right:10px;box-shadow:0 8px 24px #12324b1f}.review-grading-canvas-toolbar .ghost-btn{min-width:32px;padding:4px 8px;font-size:.84rem}.review-grading-canvas-scale{text-align:center;min-width:44px;color:var(--text-soft);font-size:.82rem;font-weight:700}.review-grading-canvas-stage{touch-action:none;justify-content:center;align-items:center;height:100%;min-height:0;display:flex;overflow:hidden}.review-grading-canvas-transform{transform-origin:50%;will-change:transform;line-height:0;position:relative}.review-grading-canvas-transform.can-pan{cursor:grab}.review-grading-canvas-transform.is-dragging{cursor:grabbing}.review-grading-canvas-inner{line-height:0;display:inline-block;position:relative}.review-grading-canvas-inner .preview-stage{display:block}.review-grading-canvas-inner .preview-image{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:auto;max-width:min(92vw,1200px);height:auto;max-height:calc(100vh - 320px);display:block}.review-grading-canvas-hint{color:var(--text-muted);margin:0;font-size:.82rem}.review-grading-footer{background:#fff;border-top:1px solid #12324b1a;gap:10px;padding:12px 18px 16px;display:grid}.review-grading-footer-nav{justify-content:flex-start}.review-grading-actions{justify-content:flex-end}.review-grading-fade-enter-active,.review-grading-fade-leave-active{transition:opacity .2s}.review-grading-fade-enter-from,.review-grading-fade-leave-to{opacity:0}.review-actions{flex-wrap:wrap;gap:10px;padding-top:4px;display:flex}.review-publish-hint,.review-view-only-hint{color:var(--text-soft);margin:0;font-size:.86rem}.review-grading-body.is-question-loading{min-height:280px;position:relative}.review-grading-body.is-question-loading .review-grading-question-pane{opacity:.55;pointer-events:none}.review-image-stage{background:#eff5fb;border-radius:18px;min-height:280px;max-height:min(42vh,480px);position:relative;overflow:hidden}.review-image-stage .preview-stage{max-height:min(42vh,480px)}.review-image-stage .preview-image{object-fit:contain;max-height:min(42vh,480px)}.review-layout{grid-template-columns:minmax(360px,440px) minmax(0,1fr);gap:18px;display:grid}.panel-box{border-radius:24px;padding:0}.review-item{margin-top:12px}.review-check{color:var(--text-soft);align-items:center;gap:8px;display:flex}.mini-list-item-btn{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:none}.mini-list-item-btn:hover{background:#2f80ed0f}.fade-slide-enter-active,.fade-slide-leave-active{transition:all .18s}.fade-slide-enter-from,.fade-slide-leave-to{opacity:0;transform:translateY(8px)}@media (width<=1180px){.admin-app-shell{grid-template-columns:1fr}.admin-sidebar{height:auto;position:static}.sidebar-nav{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.review-workspace-grid,.review-layout{grid-template-columns:1fr}.review-toolbar-filters{grid-template-columns:1fr 1fr}.review-toolbar-field:first-child,.review-toolbar-search{grid-column:1/-1}.dashboard-grid{grid-template-columns:1fr}.ring-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.question-bank-toolbar-main{grid-template-columns:1fr}}@media (width<=820px){.admin-app-shell{padding:12px}.workspace-hero,.workspace-section,.login-card,.admin-sidebar{border-radius:var(--radius-xl);padding:var(--space-lg)}.workspace-hero{flex-direction:column}.question-card,.composer-grid,.question-wizard-steps{grid-template-columns:1fr}.question-drawer{width:100vw}.question-modal-root{align-items:stretch;padding:0}.question-modal{border-radius:0;width:100%;height:100%;max-height:100vh}.question-modal--fullscreen{width:100%;height:100%}.question-bank-table .col-score,.question-bank-table .col-difficulty{display:none}.section-heading,.question-list-head,.review-list-tools,.review-toolbar-actions-row{flex-direction:column;align-items:stretch}.review-toolbar-actions{justify-content:stretch}.review-toolbar-actions .ghost-btn,.review-toolbar-actions .secondary-btn{flex:auto}.exam-create-layout,.hero-badge,.review-filter,.review-list-tools button,.review-toolbar-filters{grid-template-columns:1fr}.panel-header,.composer-actions,.question-list-card-head{flex-direction:column;align-items:stretch}.workbench-chart-section{padding:18px}.ring-grid{grid-template-columns:1fr}.ring-card{grid-template-columns:88px minmax(0,1fr);min-height:0}.login-card--auth{padding:32px 24px 28px}}.dp__input_wrap{width:100%;box-sizing:unset;position:relative}.dp__input_wrap:focus{border-color:var(--dp-border-color-hover);outline:none}.dp__input_valid{box-shadow:0 0 var(--dp-border-radius) var(--dp-success-color);border-color:var(--dp-success-color)}.dp__input_valid:hover{border-color:var(--dp-success-color)}.dp__input_invalid{box-shadow:0 0 var(--dp-border-radius) var(--dp-danger-color);border-color:var(--dp-danger-color)}.dp__input_invalid:hover{border-color:var(--dp-danger-color)}.dp__input{background-color:var(--dp-background-color);border-radius:var(--dp-border-radius);font-family:var(--dp-font-family);border:1px solid var(--dp-border-color);width:100%;font-size:var(--dp-font-size);line-height:calc(var(--dp-font-size)*1.5);padding:var(--dp-input-padding);color:var(--dp-text-color);box-sizing:border-box;outline:none;transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.dp__input::placeholder{opacity:.7}.dp__input:hover:not(.dp__input_focus){border-color:var(--dp-border-color-hover)}.dp__input_not_clearable{padding-inline-end:var(--dp-input-not-clearable-padding)!important}.dp__input_reg{caret-color:#0000}.dp__input_focus{border-color:var(--dp-border-color-focus)}.dp__disabled{background:var(--dp-disabled-color)}.dp__disabled::placeholder{color:var(--dp-disabled-color-text)}.dp__input_icons{width:var(--dp-font-size);height:var(--dp-font-size);stroke-width:0;font-size:var(--dp-font-size);line-height:calc(var(--dp-font-size)*1.5);color:var(--dp-icon-color);box-sizing:content-box;padding:6px 12px;display:inline-block}.dp__input_icon{cursor:pointer;top:50%;color:var(--dp-icon-color);position:absolute;inset-inline-start:0;transform:translateY(-50%)}.dp--clear-btn{top:50%;cursor:pointer;color:var(--dp-icon-color);background:0 0;border:none;align-items:center;margin:0;padding:0;display:inline-flex;position:absolute;inset-inline-end:0;transform:translateY(-50%)}.dp__input_icon_pad{padding-inline-start:var(--dp-input-icon-padding)}.dp__menu{background:var(--dp-background-color);border-radius:var(--dp-border-radius);min-width:var(--dp-menu-min-width);font-family:var(--dp-font-family);font-size:var(--dp-font-size);-webkit-user-select:none;user-select:none;border:1px solid var(--dp-menu-border-color);box-sizing:border-box}.dp__menu:after,.dp__menu:before{box-sizing:border-box}.dp__menu:focus{border:1px solid var(--dp-menu-border-color);outline:none}.dp--menu-wrapper{z-index:99999;position:absolute}.dp__menu_inner{padding:var(--dp-menu-padding)}.dp--menu--inner-stretched{padding:6px 0}.dp__menu_index{z-index:99999}.dp-menu-loading,.dp__menu_readonly,.dp__menu_disabled{z-index:999999;position:absolute;inset:0}.dp__menu_disabled{cursor:not-allowed;background:#ffffff80}.dp__menu_readonly{cursor:default;background:0 0}.dp-menu-loading{cursor:default;background:#ffffff80}.dp--menu-load-container{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.dp--menu-loader{border:var(--dp-loader);box-sizing:border-box;border-bottom-color:#0000;border-radius:50%;width:48px;height:48px;animation:1s linear infinite dp-load-rotation;display:inline-block;position:absolute}@keyframes dp-load-rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dp__arrow_top{background-color:var(--dp-background-color);border-inline-end:1px solid var(--dp-menu-border-color);border-top:1px solid var(--dp-menu-border-color);width:12px;height:12px;position:absolute;transform:translateY(-50%)rotate(-45deg)}.dp__arrow_bottom{left:var(--dp-arrow-left);background-color:var(--dp-background-color);border-inline-end:1px solid var(--dp-menu-border-color);border-bottom:1px solid var(--dp-menu-border-color);width:12px;height:12px;position:absolute;bottom:0;transform:translate(-50%,50%)rotate(45deg)}.dp__action_extra{text-align:center;padding:2px 0}.dp--preset-dates{border-inline-end:1px solid var(--dp-border-color);padding:5px}.dp--preset-dates[data-dp-mobile],.dp--preset-dates-collapsed{max-width:calc(var(--dp-menu-width) - var(--dp-action-row-padding)*2);border:none;align-self:center;display:flex;overflow-x:auto}.dp__sidebar_left{border-inline-end:1px solid var(--dp-border-color);padding:5px}.dp__sidebar_right{margin-inline-end:1px solid var(--dp-border-color);padding:5px}.dp--preset-range{text-align:left;white-space:nowrap;width:100%;color:var(--dp-text-color);border-radius:var(--dp-border-radius);transition:var(--dp-common-transition);padding:5px;display:block}.dp--preset-range:hover{background-color:var(--dp-hover-color);color:var(--dp-hover-text-color);cursor:pointer}.dp--preset-range[data-dp-mobile]{border:1px solid var(--dp-border-color);margin:0 3px}.dp--preset-range[data-dp-mobile]:first-child{margin-left:0}.dp--preset-range[data-dp-mobile]:last-child{margin-right:0}.dp--preset-range-collapsed{border:1px solid var(--dp-border-color);margin:0 3px}.dp--preset-range-collapsed:first-child{margin-left:0}.dp--preset-range-collapsed:last-child{margin-right:0}.dp__menu_content_wrapper{display:flex}.dp__menu_content_wrapper[data-dp-mobile],.dp--menu-content-wrapper-collapsed{flex-direction:column-reverse}.dp__calendar_header{color:var(--dp-text-color);white-space:nowrap;justify-content:center;align-items:center;font-weight:700;display:flex;position:relative}.dp__calendar_header_item{text-align:center;height:var(--dp-cell-size);padding:var(--dp-cell-padding);width:var(--dp-cell-size);box-sizing:border-box;flex-grow:1}.dp__calendar_row{margin:var(--dp-row-margin);justify-content:center;align-items:center;display:flex}.dp__calendar_item{text-align:center;box-sizing:border-box;color:var(--dp-text-color);flex-grow:1}.dp__calendar{position:relative}.dp__calendar_header_cell{border-bottom:thin solid var(--dp-border-color);padding:var(--dp-calendar-header-cell-padding)}.dp__cell_inner{text-align:center;border-radius:var(--dp-cell-border-radius);height:var(--dp-cell-size);padding:var(--dp-cell-padding);width:var(--dp-cell-size);box-sizing:border-box;border:1px solid #0000;justify-content:center;align-items:center;display:flex;position:relative}.dp__cell_inner:hover{transition:all .2s}.dp__cell_auto_range_start,.dp__date_hover_start:hover,.dp__range_start{border-start-end-radius:0;border-end-end-radius:0}.dp__cell_auto_range_end,.dp__date_hover_end:hover,.dp__range_end{border-start-start-radius:0;border-end-start-radius:0}.dp__range_end,.dp__range_start,.dp__active_date{background:var(--dp-primary-color);color:var(--dp-primary-text-color)}.dp__date_hover_end:hover,.dp__date_hover_start:hover,.dp__date_hover:hover{background:var(--dp-hover-color);color:var(--dp-hover-text-color)}.dp__cell_offset{color:var(--dp-secondary-color)}.dp__cell_disabled{color:var(--dp-secondary-color);cursor:not-allowed}.dp--extended-fixed-end,.dp--extended-fixed-start,.dp__range_between{background:var(--dp-range-between-dates-background-color);color:var(--dp-range-between-dates-text-color);border:1px solid var(--dp-range-between-border-color);border-radius:0}.dp__range_between_week{background:var(--dp-primary-color);color:var(--dp-primary-text-color);border-top:1px solid var(--dp-primary-color);border-bottom:1px solid var(--dp-primary-color);border-radius:0}.dp__today{border:1px solid var(--dp-primary-color)}.dp__week_num{color:var(--dp-secondary-color);text-align:center}.dp__cell_auto_range{border-top:1px dashed var(--dp-primary-color);border-bottom:1px dashed var(--dp-primary-color);border-radius:0}.dp__cell_auto_range_start{border-inline-start:1px dashed var(--dp-primary-color);border-top:1px dashed var(--dp-primary-color);border-bottom:1px dashed var(--dp-primary-color);border-start-start-radius:var(--dp-cell-border-radius);border-end-start-radius:var(--dp-cell-border-radius)}.dp__cell_auto_range_end{border-top:1px dashed var(--dp-primary-color);border-bottom:1px dashed var(--dp-primary-color);border-inline-end:1px dashed var(--dp-primary-color);border-start-end-radius:var(--dp-cell-border-radius);border-end-end-radius:var(--dp-cell-border-radius)}.dp__calendar_header_separator{background:var(--dp-border-color);width:100%;height:1px}.dp__calendar_next{margin-inline-start:var(--dp-multi-calendars-spacing)}.dp__marker_line,.dp__marker_dot{background-color:var(--dp-marker-color);height:5px;position:absolute;bottom:0}.dp__marker_dot{border-radius:50%;width:5px;left:50%;transform:translate(-50%)}.dp__marker_line{width:100%;left:0}.dp__marker_tooltip{border-radius:var(--dp-border-radius);background-color:var(--dp-tooltip-color);border:1px solid var(--dp-border-color);z-index:99999;box-sizing:border-box;cursor:default;padding:5px;position:absolute}.dp__tooltip_content{white-space:nowrap}.dp__tooltip_text{color:var(--dp-text-color);flex-flow:row;align-items:center;display:flex}.dp__tooltip_mark{background-color:var(--dp-text-color);width:5px;height:5px;color:var(--dp-text-color);border-radius:50%;margin-inline-end:5px}.dp__arrow_bottom_tp{background-color:var(--dp-tooltip-color);border-inline-end:1px solid var(--dp-border-color);border-bottom:1px solid var(--dp-border-color);width:8px;height:8px;position:absolute;bottom:0;transform:translate(-50%,50%)rotate(45deg)}.dp__instance_calendar{width:100%;position:relative}.dp__flex_display[data-dp-mobile],.dp--flex-display-collapsed{flex-direction:column}.dp__cell_highlight{background-color:var(--dp-highlight-color)}.dp__month_year_row{height:var(--dp-month-year-row-height);color:var(--dp-text-color);box-sizing:border-box;align-items:center;display:flex}.dp__inner_nav{cursor:pointer;height:var(--dp-month-year-row-button-size);width:var(--dp-month-year-row-button-size);color:var(--dp-icon-color);text-align:center;border-radius:50%;justify-content:center;align-items:center;display:flex}.dp__inner_nav svg{height:var(--dp-button-icon-height);width:var(--dp-button-icon-height)}.dp__inner_nav:hover{background:var(--dp-hover-color);color:var(--dp-hover-icon-color)}[dir=rtl] .dp__inner_nav{transform:rotate(180deg)}.dp__inner_nav_disabled:hover,.dp__inner_nav_disabled{background:var(--dp-disabled-color);color:var(--dp-disabled-color-text);cursor:not-allowed}.dp--year-select,.dp__month_year_select{text-align:center;cursor:pointer;height:var(--dp-month-year-row-height);border-radius:var(--dp-border-radius);box-sizing:border-box;color:var(--dp-text-color);justify-content:center;align-items:center;display:flex}.dp--year-select:hover,.dp__month_year_select:hover{background:var(--dp-hover-color);color:var(--dp-hover-text-color);transition:var(--dp-common-transition)}.dp__month_year_select{width:50%}.dp--year-select{width:100%}.dp__month_year_wrap{flex-direction:row;align-items:center;width:100%;display:flex}.dp__year_disable_select{justify-content:space-around}.dp--header-wrap{flex-direction:column;width:100%;display:flex}.dp__overlay{background:var(--dp-background-color);z-index:99999;width:100%;font-family:var(--dp-font-family);color:var(--dp-text-color);box-sizing:border-box;transition:opacity 1s ease-out}.dp--overlay-absolute{height:100%;position:absolute;top:0;left:0}.dp--overlay-relative{position:relative}.dp__overlay_container::-webkit-scrollbar-track{box-shadow:var(--dp-scroll-bar-background);background-color:var(--dp-scroll-bar-background)}.dp__overlay_container::-webkit-scrollbar{background-color:var(--dp-scroll-bar-background);width:5px}.dp__overlay_container::-webkit-scrollbar-thumb{background-color:var(--dp-scroll-bar-color);border-radius:10px}.dp__overlay:focus{border:none;outline:none}.dp__container_flex{display:flex}.dp__container_block{display:block}.dp__overlay_container{height:var(--dp-overlay-height);flex-direction:column;overflow-y:auto}.dp__time_picker_overlay_container{height:100%}.dp__overlay_row{box-sizing:border-box;flex-wrap:wrap;align-items:center;width:100%;max-width:100%;margin-inline:auto;padding:0;display:flex}.dp__flex_row{flex:1}.dp__overlay_col{box-sizing:border-box;width:33%;padding:var(--dp-overlay-col-padding);white-space:nowrap}.dp__overlay_cell_pad{padding:var(--dp-common-padding) 0}.dp__overlay_cell_active{cursor:pointer;border-radius:var(--dp-border-radius);text-align:center;background:var(--dp-primary-color);color:var(--dp-primary-text-color)}.dp__overlay_cell{cursor:pointer;border-radius:var(--dp-border-radius);text-align:center}.dp__overlay_cell:hover{background:var(--dp-hover-color);color:var(--dp-hover-text-color);transition:var(--dp-common-transition)}.dp__cell_in_between{background:var(--dp-hover-color);color:var(--dp-hover-text-color)}.dp__over_action_scroll{box-sizing:border-box;right:5px}.dp__overlay_cell_disabled{cursor:not-allowed;background:var(--dp-disabled-color)}.dp__overlay_cell_disabled:hover{background:var(--dp-disabled-color)}.dp__overlay_cell_active_disabled{cursor:not-allowed;background:var(--dp-primary-disabled-color)}.dp__overlay_cell_active_disabled:hover{background:var(--dp-primary-disabled-color)}.dp__btn,.dp--qr-btn,.dp--time-overlay-btn,.dp--time-invalid{font:inherit;transition:var(--dp-common-transition);border:none;line-height:normal}.dp--year-mode-picker{width:100%;height:var(--dp-cell-size);justify-content:space-between;align-items:center;display:flex}.dp--tp-wrap{width:100%}.dp--tp-wrap[data-dp-mobile]{max-width:100%}.dp__time_input{-webkit-user-select:none;user-select:none;width:100%;font-family:var(--dp-font-family);color:var(--dp-text-color);justify-content:center;align-items:center;display:flex}.dp__time_col_reg_block{padding:0 20px}.dp__time_col_reg_inline{padding:0 10px}.dp__time_col_reg_with_button{padding:0 15px}.dp__time_col_reg_with_button[data-compact~=true]{padding:0 5px}.dp__time_col_sec{padding:0 10px}.dp__time_col_sec_with_button{padding:0 5px}.dp__time_col_sec_with_button[data-collapsed~=true]{padding:0}.dp__time_col{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.dp__time_col_block{font-size:var(--dp-time-font-size)}.dp__time_display_block{padding:0 3px}.dp__time_display_inline{padding:5px}.dp__time_picker_inline_container{justify-content:center;width:100%;display:flex}.dp__inc_dec_button{height:var(--dp-time-inc-dec-button-size);width:var(--dp-time-inc-dec-button-size);cursor:pointer;color:var(--dp-icon-color);box-sizing:border-box;border-radius:50%;justify-content:center;align-items:center;margin:0;padding:5px;display:flex}.dp__inc_dec_button svg{height:var(--dp-time-inc-dec-button-size);width:var(--dp-time-inc-dec-button-size)}.dp__inc_dec_button:hover{background:var(--dp-hover-color);color:var(--dp-hover-icon-color)}.dp__time_display{cursor:pointer;color:var(--dp-text-color);border-radius:var(--dp-border-radius);justify-content:center;align-items:center;display:flex}.dp__time_display:hover:enabled{background:var(--dp-hover-color);color:var(--dp-hover-text-color)}.dp__inc_dec_button_inline{cursor:pointer;align-items:center;width:100%;height:8px;padding:0;display:flex}.dp__inc_dec_button_disabled,.dp__inc_dec_button_disabled:hover{background:var(--dp-disabled-color);color:var(--dp-disabled-color-text);cursor:not-allowed}.dp__pm_am_button{background:var(--dp-primary-color);color:var(--dp-primary-text-color);padding:var(--dp-common-padding);border-radius:var(--dp-border-radius);cursor:pointer;border:none}.dp__pm_am_button[data-compact~=true]{padding:7px}.dp__tp_inline_btn_bar{background-color:var(--dp-secondary-color);width:100%;height:4px;transition:var(--dp-common-transition);border-collapse:collapse}.dp__tp_inline_btn_top:hover .dp__tp_btn_in_r{background-color:var(--dp-primary-color);transform:rotate(12deg)scale(1.15)translateY(-2px)}.dp__tp_inline_btn_top:hover .dp__tp_btn_in_l,.dp__tp_inline_btn_bottom:hover .dp__tp_btn_in_r{background-color:var(--dp-primary-color);transform:rotate(-12deg)scale(1.15)translateY(-2px)}.dp__tp_inline_btn_bottom:hover .dp__tp_btn_in_l{background-color:var(--dp-primary-color);transform:rotate(12deg)scale(1.15)translateY(-2px)}.dp--time-overlay-btn{background:0 0}.dp--time-invalid{background-color:var(--dp-disabled-color)}.dp__action_row{width:100%;padding:var(--dp-action-row-padding);box-sizing:border-box;color:var(--dp-text-color);flex-flow:row;align-items:center;display:flex}.dp__action_row svg{height:var(--dp-button-icon-height);width:auto}.dp__selection_preview{color:var(--dp-text-color);font-size:var(--dp-preview-font-size);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.dp__action_buttons{white-space:nowrap;flex:0;justify-content:flex-end;align-items:center;margin-inline-start:auto;display:flex}.dp__action_button{padding:var(--dp-action-buttons-padding);line-height:var(--dp-action-button-height);height:var(--dp-action-button-height);cursor:pointer;border-radius:var(--dp-border-radius);font-size:var(--dp-preview-font-size);font-family:var(--dp-font-family);background:0 0;border:1px solid #0000;align-items:center;margin-inline-start:3px;display:inline-flex}.dp__action_cancel{color:var(--dp-text-color);border:1px solid var(--dp-border-color)}.dp__action_cancel:hover{border-color:var(--dp-primary-color);transition:var(--dp-action-row-transition)}.dp__action_buttons .dp__action_select{background:var(--dp-primary-color);color:var(--dp-primary-text-color)}.dp__action_buttons .dp__action_select:hover{background:var(--dp-primary-color);transition:var(--dp-action-row-transition)}.dp__action_buttons .dp__action_select:disabled{background:var(--dp-primary-disabled-color);cursor:not-allowed}.dp-quarter-picker-wrap{height:100%;min-width:var(--dp-menu-min-width);flex-direction:column;display:flex}.dp--qr-btn-disabled{cursor:not-allowed;background:var(--dp-disabled-color)}.dp--qr-btn-disabled:hover{background:var(--dp-disabled-color)}.dp--qr-btn{width:100%;padding:var(--dp-common-padding)}.dp--qr-btn:not(.dp--highlighted,.dp--qr-btn-active,.dp--qr-btn-disabled,.dp--qr-btn-between){background:0 0}.dp--qr-btn:hover:not(.dp--qr-btn-active,.dp--qr-btn-disabled){background:var(--dp-hover-color);color:var(--dp-hover-text-color);transition:var(--dp-common-transition)}.dp--quarter-items{flex-direction:column;flex:1;justify-content:space-evenly;width:100%;height:100%;display:flex}.dp--qr-btn-active{background:var(--dp-primary-color);color:var(--dp-primary-text-color)}.dp--qr-btn-between{background:var(--dp-hover-color);color:var(--dp-hover-text-color)}:root{--dp-common-transition:all .1s ease-in;--dp-menu-padding:6px 8px;--dp-animation-duration:.1s;--dp-menu-appear-transition-timing:cubic-bezier(.4, 0, 1, 1);--dp-transition-timing:ease-out;--dp-action-row-transition:all .2s ease-in;--dp-font-family:-apple-system, blinkmacsystemfont, "Segoe UI", roboto, oxygen, ubuntu, cantarell, "Open Sans", "Helvetica Neue", sans-serif;--dp-border-radius:4px;--dp-cell-border-radius:4px;--dp-transition-length:22px;--dp-transition-timing-general:.1s;--dp-button-height:35px;--dp-month-year-row-height:35px;--dp-month-year-row-button-size:25px;--dp-button-icon-height:20px;--dp-calendar-wrap-padding:0 5px;--dp-cell-size:35px;--dp-cell-padding:5px;--dp-common-padding:10px;--dp-input-icon-padding:35px;--dp-input-padding:6px 30px 6px 12px;--dp-input-not-clearable-padding:12px;--dp-menu-min-width:260px;--dp-action-buttons-padding:1px 6px;--dp-row-margin:5px 0;--dp-calendar-header-cell-padding:.5rem;--dp-multi-calendars-spacing:10px;--dp-overlay-col-padding:3px;--dp-time-inc-dec-button-size:32px;--dp-font-size:1rem;--dp-preview-font-size:.8rem;--dp-time-font-size:2rem;--dp-action-button-height:22px;--dp-action-row-padding:8px;--dp-direction:ltr}.dp__theme_dark{--dp-background-color:#212121;--dp-text-color:#fff;--dp-hover-color:#484848;--dp-hover-text-color:#fff;--dp-hover-icon-color:#959595;--dp-primary-color:#005cb2;--dp-primary-disabled-color:#61a8ea;--dp-primary-text-color:#fff;--dp-secondary-color:#a9a9a9;--dp-border-color:#2d2d2d;--dp-menu-border-color:#2d2d2d;--dp-border-color-hover:#aaaeb7;--dp-border-color-focus:#aaaeb7;--dp-disabled-color:#737373;--dp-disabled-color-text:#d0d0d0;--dp-scroll-bar-background:#212121;--dp-scroll-bar-color:#484848;--dp-success-color:#00701a;--dp-success-color-disabled:#428f59;--dp-icon-color:#959595;--dp-danger-color:#e53935;--dp-marker-color:#e53935;--dp-tooltip-color:#3e3e3e;--dp-highlight-color:#005cb233;--dp-range-between-dates-background-color:var(--dp-hover-color,#484848);--dp-range-between-dates-text-color:var(--dp-hover-text-color,#fff);--dp-range-between-border-color:var(--dp-hover-color,#fff);--dp-loader:5px solid #005cb2}.dp__theme_light{--dp-background-color:#fff;--dp-text-color:#212121;--dp-hover-color:#f3f3f3;--dp-hover-text-color:#212121;--dp-hover-icon-color:#959595;--dp-primary-color:#1976d2;--dp-primary-disabled-color:#6bacea;--dp-primary-text-color:#fff;--dp-secondary-color:#c0c4cc;--dp-border-color:#ddd;--dp-menu-border-color:#ddd;--dp-border-color-hover:#aaaeb7;--dp-border-color-focus:#aaaeb7;--dp-disabled-color:#f6f6f6;--dp-scroll-bar-background:#f3f3f3;--dp-scroll-bar-color:#959595;--dp-success-color:#76d275;--dp-success-color-disabled:#a3d9b1;--dp-icon-color:#959595;--dp-danger-color:#ff6f60;--dp-marker-color:#ff6f60;--dp-tooltip-color:#fafafa;--dp-disabled-color-text:#8e8e8e;--dp-highlight-color:#1976d21a;--dp-range-between-dates-background-color:var(--dp-hover-color,#f3f3f3);--dp-range-between-dates-text-color:var(--dp-hover-text-color,#212121);--dp-range-between-border-color:var(--dp-hover-color,#f3f3f3);--dp-loader:5px solid #1976d2}.dp__flex{align-items:center;display:flex}.dp__btn{background:0 0}.dp__main{font-family:var(--dp-font-family);-webkit-user-select:none;user-select:none;box-sizing:border-box;width:100%;position:relative}.dp__main *{direction:var(--dp-direction,ltr)}.dp__pointer{cursor:pointer}.dp__icon{stroke:currentColor;fill:currentColor}.dp__button{text-align:center;width:100%;color:var(--dp-icon-color);cursor:pointer;padding:var(--dp-common-padding);box-sizing:border-box;height:var(--dp-button-height);place-content:center;align-items:center;display:flex}.dp__button.dp__overlay_action{position:absolute;bottom:0}.dp__button:hover{background:var(--dp-hover-color);color:var(--dp-hover-icon-color)}.dp__button svg{height:var(--dp-button-icon-height);width:auto}.dp__button_bottom{border-bottom-left-radius:var(--dp-border-radius);border-bottom-right-radius:var(--dp-border-radius)}.dp__flex_display{display:flex}.dp__flex_display_with_input{flex-direction:column;align-items:flex-start}.dp__relative{position:relative}.calendar-next-enter-active,.calendar-next-leave-active,.calendar-prev-enter-active,.calendar-prev-leave-active{transition:all var(--dp-transition-timing-general) ease-out}.calendar-next-enter-from{opacity:0;transform:translateX(var(--dp-transition-length))}.calendar-next-leave-to,.calendar-prev-enter-from{opacity:0;transform:translateX(calc(var(--dp-transition-length) * -1))}.calendar-prev-leave-to{opacity:0;transform:translateX(var(--dp-transition-length))}.dp-menu-appear-bottom-enter-active,.dp-menu-appear-bottom-leave-active,.dp-menu-appear-top-enter-active,.dp-menu-appear-top-leave-active,.dp-slide-up-enter-active,.dp-slide-up-leave-active,.dp-slide-down-enter-active,.dp-slide-down-leave-active{transition:all var(--dp-animation-duration) var(--dp-transition-timing)}.dp-menu-appear-top-enter-from,.dp-menu-appear-top-leave-to,.dp-slide-down-leave-to,.dp-slide-up-enter-from{opacity:0;transform:translateY(var(--dp-transition-length))}.dp-menu-appear-bottom-enter-from,.dp-menu-appear-bottom-leave-to,.dp-slide-down-enter-from,.dp-slide-up-leave-to{opacity:0;transform:translateY(calc(var(--dp-transition-length) * -1))}.dp--arrow-btn-nav{transition:var(--dp-common-transition);height:100%}.dp--highlighted{background-color:var(--dp-highlight-color)}.dp--hidden-el{visibility:hidden}.dp--centered{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.exam-analysis-modal[data-v-2fb8639c]{flex-direction:column;width:min(1100px,100vw - 2rem);max-height:min(88vh,900px);display:flex}.exam-analysis-modal__head[data-v-2fb8639c]{border-bottom:1px solid var(--border-subtle,#e8e4dc);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem .75rem;display:flex}.exam-analysis-modal__head h3[data-v-2fb8639c]{margin:.25rem 0 0}.exam-analysis-modal__head .copy[data-v-2fb8639c]{color:var(--text-muted,#6b6560);margin:.5rem 0 0;font-size:.875rem}.exam-analysis-modal__body[data-v-2fb8639c]{flex:1;min-height:0;padding:0 1.5rem 1.5rem;overflow:auto}.exam-analysis-table-wrap[data-v-2fb8639c]{margin-top:1rem}.exam-analysis-table .sortable[data-v-2fb8639c]{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.exam-analysis-table .col-num[data-v-2fb8639c]{text-align:right;width:6.5rem}
