:root{--bg:#f5f6f8;--surface:#fff;--surface-subtle:#f9fafb;--text:#1f2937;--muted:#6b7280;--line:#d7dce2;--line-soft:#e7eaf0;--primary:#2454a6;--primary-weak:#e9f0ff;--danger:#b42318;--warning:#9a5b00;--success:#176b3a;--radius:6px}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);letter-spacing:0;margin:0;font-family:Noto Sans CJK SC,Noto Sans SC,WenQuanYi Zen Hei,Arial,sans-serif;font-size:14px}.loginPage,.authLoading{background:#202734;grid-template-columns:minmax(360px,48vw) minmax(420px,1fr);min-height:100vh;display:grid}.authLoading{color:#fff;grid-template-columns:1fr;place-items:center;padding:24px}.authStateCard{color:#111827;text-align:center;background:#fff;border:1px solid #ffffff2e;border-radius:8px;justify-items:center;gap:20px;width:min(420px,100%);padding:38px;display:grid;box-shadow:0 22px 60px #00000042}.authStateLogo{object-fit:contain;object-position:center;width:168px;height:52px}.authStateCard h1{margin:0;font-size:22px;font-weight:700}.authStateCard p{color:var(--muted);margin:8px 0 0;line-height:1.65}.authStateCard .button{min-width:132px;min-height:40px}.authStateFooter{color:var(--muted);margin-top:2px;font-size:12px;line-height:1.5}.authStateFooter a{color:var(--primary);font-weight:700}.authStateFooter a:hover{text-decoration:underline}.loginVisual{color:#111827;background:#dbeaf4;min-height:100vh;position:relative;overflow:hidden}.loginVisual:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(90deg,#f5f6f800,#f5f6f8);width:min(140px,18vw);position:absolute;top:0;bottom:0;right:-1px}.loginVisualImage{object-fit:cover;object-position:center top;width:100%;height:100%;position:absolute;inset:0}.loginVisualShade{background:linear-gradient(#ffffffb3,#ffffff2e 34%,#fff0);position:absolute;inset:0}.loginVisualContent{z-index:2;align-items:center;gap:14px;display:flex;position:absolute;top:38px;left:40px;right:40px}.loginVisualLogo{flex:none;align-items:center;display:inline-flex}.loginVisualLogo img{object-fit:contain;object-position:center;width:164px;height:44px}.loginVisualContent h1{color:#111827;margin:0;font-size:28px;font-weight:600;line-height:1.15}.loginFormPane{background:#f5f6f8;flex-direction:column;justify-content:center;place-items:center;min-height:100vh;padding:48px 48px 76px;display:flex;position:relative}.loginPanel{background:var(--surface);border:1px solid #0f172a14;border-radius:8px;gap:20px;width:min(440px,100%);padding:42px;display:grid;box-shadow:0 18px 54px #0f172a24}.loginBrand{align-items:center;gap:12px;display:flex}.loginBrand h1{margin:0;font-size:26px;font-weight:600}.loginBrand p{color:var(--muted);margin:4px 0 0}.loginPanel input{border-color:#9ca3af;border-radius:4px;min-height:42px}.captchaField{gap:6px;display:grid}.captchaInputRow{grid-template-columns:minmax(0,1fr) 148px;align-items:stretch;gap:8px;display:grid}.captchaImageButton{background:#f8fafc;border-color:#9ca3af;min-height:42px;padding:0;overflow:hidden}.captchaImageButton img{object-fit:cover;width:100%;height:42px;display:block}.captchaImageButton span{color:var(--muted);font-size:13px}.captchaImageButton.expired{background:#fff8e6;border-color:#f6d78b}.captchaImageButton.expired span{color:var(--warning);font-weight:700}.captchaHint{min-height:17px;color:var(--muted);font-size:12px}.captchaHint.error{color:var(--danger)}.loginSubmit{color:#fff;background:#2454a6;border:1px solid #2454a6;border-radius:4px;width:100%;min-height:42px}.loginSubmit:hover{background:#1d4285;border-color:#1d4285}.loginSecondary{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:4px;width:100%;min-height:42px}.loginSecondary:hover{background:#f8fafc;border-color:#9ca3af}.loginFooter{color:#6b7280;text-align:center;font-size:12px;position:absolute;bottom:22px;left:24px;right:24px}.loginFooter a{color:#2454a6;font-weight:650}.loginFooter a:hover{text-decoration:underline}@media (max-width:900px){.loginPage{background:#f5f6f8;grid-template-rows:72px minmax(0,1fr);grid-template-columns:1fr;overflow:hidden}.loginVisual{background:#202734;height:72px;min-height:72px}.loginVisual:after,.loginVisualImage,.loginVisualShade{display:none}.loginVisualContent{align-items:center;gap:12px;height:72px;padding:0 24px;display:flex;position:static;bottom:auto;left:24px;right:24px}.loginVisualLogo img{filter:brightness(0)invert();width:112px;height:38px}.loginVisualContent h1{color:#fff;font-size:18px}.loginFormPane{background:#f5f6f8;justify-content:center;min-height:calc(100vh - 72px);padding:24px 18px 58px}.loginPanel{padding:28px}}a{color:inherit;text-decoration:none}button,input,select,textarea,.button{font:inherit}button,.button{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-height:34px;color:var(--text);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;padding:0 12px;display:inline-flex}button.primary,.button.primary{border-color:var(--primary);background:var(--primary);color:#fff}button.danger,.button.danger{color:#fff;background:#dc2626;border-color:#b91c1c}button:disabled{cursor:not-allowed;opacity:.58}input,select,textarea{border:1px solid var(--line);border-radius:var(--radius);width:100%;color:var(--text);background:#fff;padding:8px 9px}select.alignedSelectControl{appearance:none;background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M4 6l4 4 4-4' fill='none' stroke='%236b7280' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3e%3c/svg%3e");background-position:right 9px center;background-repeat:no-repeat;background-size:16px 16px;padding-right:34px}select.alignedSelectControl:disabled{color:#6b7280;opacity:1;background-color:#f8fafc}input[type=checkbox],input[type=radio]{width:auto;min-width:14px;padding:0}textarea{resize:vertical;min-height:84px}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:middle;padding:10px 12px}th{background:var(--surface-subtle);color:#374151;font-weight:600}.appShell{grid-template-columns:232px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{z-index:18;color:#f9fafb;background:#202734;height:100vh;padding:18px 14px;position:sticky;top:0;overflow-y:auto}.brand{padding:2px 8px 18px}.brandLogo{object-fit:contain;object-position:center;width:168px;height:56px;display:block}.nav{gap:4px;display:grid}.nav a{border-radius:var(--radius);color:#d6dce6;padding:9px 10px;display:block}.nav a:hover{color:#fff;background:#2d3748}.main{min-width:0;min-height:100vh}.desktopSidebarHandle{display:none}@media (min-width:861px){.appShell{transition:grid-template-columns .18s}.appShell>.sidebar{will-change:transform;width:232px;transition:transform .18s,box-shadow .18s}.appShell.desktopSidebarCollapsed{grid-template-columns:0 minmax(0,1fr)}.appShell.desktopSidebarCollapsed>.sidebar{pointer-events:none;box-shadow:none;transform:translate(-100%)}.desktopSidebarHandle{z-index:32;color:#fff;background:#202734;border:1px solid #ffffff24;border-left:0;border-radius:0 12px 12px 0;place-items:center;width:24px;height:74px;min-height:0;padding:0;transition:left .18s,background .14s,box-shadow .14s;display:inline-grid;position:fixed;top:50%;left:220px;box-shadow:0 10px 24px #0f172a38}.desktopSidebarHandle:hover{background:#2d3748;box-shadow:0 12px 28px #0f172a47}.desktopSidebarHandle:focus-visible{outline-offset:2px;outline:2px solid #93c5fd}.desktopSidebarHandle span{font-size:22px;line-height:1;display:block}.appShell.desktopSidebarCollapsed>.desktopSidebarHandle{left:0}}.tenantScreenWatermark{z-index:120;pointer-events:none;-webkit-user-select:none;user-select:none;position:fixed;inset:0;overflow:hidden}.tenantScreenWatermarkGrid{color:#4b556329;letter-spacing:0;white-space:nowrap;grid-template-columns:repeat(auto-fill,520px);grid-auto-rows:170px;place-content:start;gap:24px 32px;width:190vmax;height:190vmax;font-size:16px;font-weight:700;line-height:1.2;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-45deg)}.tenantScreenWatermarkItem{grid-template-columns:minmax(122px,1.15fr) minmax(92px,.9fr) minmax(110px,1fr) minmax(90px,.8fr);align-items:center;gap:22px;min-width:0;display:grid}.tenantScreenWatermarkItem span{text-overflow:ellipsis;overflow:hidden}.mobileSidebarButton,.mobileShellHeader,.mobileSidebarBackdrop{display:none}.mobileShellBrand{min-width:0}.mobileShellOrgName{display:none}.topbar{border-bottom:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;gap:16px;height:58px;padding:0 24px;display:flex;position:relative}.topbarProgress{z-index:4;pointer-events:none;height:2px;position:absolute;bottom:-1px;left:0;right:0;overflow:hidden}.topbarProgressBar{opacity:0;background:#16a34a;width:0;height:100%;transition:width .18s,opacity .12s;display:block}.topbarProgress.visible .topbarProgressBar{opacity:1}.topbarProgress.loading .topbarProgressBar{background:#16a34a;transition:width .42s cubic-bezier(.22,.78,.22,1),opacity .12s}.topbarProgress.done .topbarProgressBar{background:#16a34a;transition:width .16s ease-out,opacity .18s 80ms}.topbarProgress.error .topbarProgressBar{background:#dc2626;transition:none}.addressBar{border:1px solid var(--line);color:#374151;white-space:nowrap;background:#f8fafc;border-radius:18px;align-items:center;gap:0;min-width:0;max-width:min(980px,72vw);height:36px;padding:0 12px;display:flex;overflow:hidden}.addressCrumb,.collapsedCrumb{align-items:center;min-width:0;display:inline-flex}.addressCrumb a{color:#4b5563}.addressCrumb a:hover{color:var(--primary)}.addressCrumb strong{text-overflow:ellipsis;color:#111827;min-width:0;overflow:hidden}.firstCrumb{flex:none;order:1}.middleCrumb{flex:none;order:3}.lastCrumb{flex:0 auto;order:4}.collapsedCrumb{color:var(--muted);flex:none;order:2;display:none}.addressSeparator{color:#9ca3af;padding:0 8px}.topbarIdentity{color:var(--muted);white-space:nowrap;flex:none;align-items:center;gap:8px;display:inline-flex}.topbarIdentity select{color:#374151;background-color:#fff;border-radius:15px;width:auto;min-width:136px;max-width:220px;height:30px;padding:4px 28px 4px 9px;font-size:12px}.topbarUserButton{color:#111827;background:#f8fafc;border-radius:15px;min-height:30px;padding:0 10px;font-size:12px}.topbarUserMenuHost{display:inline-flex;position:relative}.topbarUserMenu{z-index:30;border:1px solid var(--line);border-radius:var(--radius);background:#fff;gap:6px;width:200px;padding:10px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 16px 38px #0f172a24}.topbarUserMenu>div{border-bottom:1px solid var(--line-soft);gap:2px;padding:4px 6px 8px;display:grid}.topbarUserMenu span{color:var(--muted);text-overflow:ellipsis;font-size:12px;overflow:hidden}.topbarUserMenu button{background:0 0;border-color:#0000;justify-content:flex-start}.topbarUserMenu button:hover{background:var(--surface-subtle)}.debugReadonlyBanner{color:var(--warning);background:#fff8e6;border-bottom:1px solid #f6d78b;padding:10px 24px;font-size:13px;font-weight:650}.defaultPasswordBanner{color:var(--warning);background:#fff8e6;border-bottom:1px solid #f6d78b;justify-content:center;align-items:center;gap:10px;padding:10px 24px;font-size:13px;font-weight:650;display:flex}.defaultPasswordBanner button{appearance:none;color:#92400e;font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.defaultPasswordBanner button:hover{color:#78350f}.userInfoModal,.userProfileModal{max-width:680px}.userPasswordModal{max-width:560px}.userModalActions{justify-content:end}.passwordStrength{gap:8px;margin-top:8px;display:grid}.passwordStrengthTrack{background:#e5e7eb;border-radius:999px;height:8px;overflow:hidden}.passwordStrengthTrack span{border-radius:inherit;background:#d97706;height:100%;transition:width .16s,background .16s;display:block}.passwordStrength.valid .passwordStrengthTrack span{background:#059669}.passwordStrengthMeta,.passwordRuleList{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.passwordRuleList{flex-wrap:wrap;justify-content:flex-start}.passwordRuleList span{border:1px solid var(--line-soft);color:#6b7280;background:#f8fafc;border-radius:999px;min-height:24px;padding:4px 8px}.passwordRuleList span.passed{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.examWorkspaceTabs{border-bottom:1px solid var(--line);scrollbar-width:thin;background:#f3f5f8;overflow-x:auto}.examPrimaryTabs,.examSecondaryTabs{align-items:flex-end;min-width:max-content;padding:0 24px;display:flex}.examPrimaryTabs{gap:2px;padding-top:8px}.examSecondaryTabs{background:#fff;border-top:1px solid #e2e8f0;gap:2px;padding-top:8px;padding-bottom:0}.examPrimaryTabs a,.examSecondaryTabs a{white-space:nowrap;color:#4b5563;border:1px solid #0000;border-bottom:0;border-radius:7px 7px 0 0;align-items:center;min-height:34px;padding:8px 15px 7px;font-weight:650;text-decoration:none;display:inline-flex}.examPrimaryTabs a:hover,.examSecondaryTabs a:hover{color:#111827;background:#e8edf4}.examPrimaryTabs a.active{color:#111827;border-color:var(--line);background:#fff;box-shadow:0 -1px #11182708}.examSecondaryTabs a.active{color:#111827;background:#eef2f7;border-color:#cbd5e1;box-shadow:0 1px 3px #0f172a1f,inset 0 1px #ffffffe6}.academicFilter{border-bottom:1px solid var(--line);scrollbar-width:thin;background:#f3f5f8;margin:-22px -24px 16px;overflow-x:auto}.pageToolbar{border:1px solid var(--line);border-radius:var(--radius);background:#fff;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:10px 12px;display:flex}.pageToolbarMain{flex-wrap:wrap;align-items:center;gap:10px 16px;display:flex}.academicPrimaryTabs,.academicSecondaryTabs,.academicTertiaryTabs{align-items:flex-end;gap:2px;min-width:max-content;padding:8px 24px 0;display:flex}.academicPrimaryTabs{background:#f3f5f8}.academicSecondaryTabs{background:#fff;border-top:1px solid #e2e8f0}.academicTertiaryTabs{background:#f3f5f8;border-top:1px solid #e2e8f0}.academicPrimaryTabs button,.academicSecondaryTabs button,.academicTertiaryTabs button{color:#4b5563;white-space:nowrap;background:0 0;border:1px solid #0000;border-bottom:0;border-radius:7px 7px 0 0;align-items:center;min-height:34px;padding:8px 15px 7px;font-weight:650;display:inline-flex}.academicPrimaryTabs button:hover,.academicSecondaryTabs button:hover,.academicTertiaryTabs button:hover{color:#111827;background:#e8edf4}.academicPrimaryTabs button.active{color:#111827;border-color:var(--line);background:#fff;box-shadow:0 -1px #11182708}.academicSecondaryTabs button.active{color:#111827;border-color:var(--line);background:#f3f5f8;box-shadow:0 -1px #11182708}.academicTertiaryTabs button.active{color:#111827;border-color:var(--line);background:#fff;box-shadow:0 -1px #11182708}.examGroupedList{gap:16px;display:grid}.examGroupPanel{border:1px solid var(--line);border-radius:var(--radius);background:#fff}.examGroupHeader{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;display:flex}.examGroupHeader h2,.examSubgroup h3,.examListCard h3{margin:0}.examGroupHeader h2{font-size:16px}.examGroupHeader span,.examListCard p,.examListMeta{color:var(--muted)}.examSubgroup{border-bottom:1px solid var(--line-soft);padding:14px 16px}.examSubgroup:last-child{border-bottom:0}.examSubgroup h3{color:#374151;margin-bottom:10px;font-size:13px}.examCards{gap:8px;display:grid}.examListCard{border:1px solid var(--line-soft);border-radius:var(--radius);background:#fff;grid-template-columns:minmax(260px,1fr) auto auto;align-items:center;gap:14px;padding:10px 12px;display:grid}.examListCard.deleted{background:#fff7f7;border-color:#fecaca}.examListCard h3{font-size:14px}.examListCard p{margin:4px 0 0}.examListCollaboration{color:#374151;flex-wrap:wrap;gap:6px 12px;margin-top:8px;font-size:12px;line-height:1.5;display:flex}.examListCollaboration span{max-width:100%}.examCreateWizard .panelHeader{align-items:center}.examWizardSteps{flex-wrap:wrap;gap:8px;display:inline-flex}.examWizardSteps span{border:1px solid var(--line);min-height:30px;color:var(--muted);background:#fff;border-radius:999px;align-items:center;padding:5px 11px;font-size:12px;font-weight:750;display:inline-flex}.examWizardSteps span.active{color:#111827;background:#eef2f7;border-color:#cbd5e1;box-shadow:0 1px 3px #0f172a1a}.examParticipantOwnerRow{border:1px solid var(--line-soft);border-radius:var(--radius);background:#f8fafc;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.examParticipantRoleTabs{margin:2px 0 4px}.examParticipantGroupedTable table{table-layout:fixed}.examParticipantGroupedTable th:first-child,.examParticipantGroupedTable .examParticipantRoleCell{width:132px}.examParticipantGroupedTable .examParticipantRoleCell{vertical-align:top;border-right:1px solid var(--line-soft);background:#f8fafc}.examParticipantRoleCell strong,.examParticipantRoleCell span{display:block}.examParticipantRoleCell strong{color:var(--ink)}.examParticipantRoleCell span{color:var(--muted);margin-top:4px;font-size:12px;font-weight:700}.selectionPill{color:#166534;background:#dcfce7;border-radius:999px;align-items:center;min-height:22px;padding:2px 8px;font-size:12px;font-weight:800;display:inline-flex}.examListMeta{flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.examListActions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.content{padding:22px 24px 40px}.pageHeader{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.pageHeader h1{margin:0 0 5px;font-size:24px}.pageHeader p,.muted{color:var(--muted);margin:0}.pageActions,.desktopPageActions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.mobilePageActionTrigger{display:none}.mobilePageActionModal{width:min(420px,100vw - 28px)}.mobilePageActionList{gap:10px;display:grid}.mobilePageActionList button{justify-content:center;width:100%}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:16px}.panelHeader{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;display:flex}.panelHeader h2{margin:0;font-size:16px}.panelBody{padding:16px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.settingsTabs{z-index:12;border-bottom:1px solid var(--line);background:#f3f5f8;align-items:flex-end;gap:2px;margin:-22px -24px 16px;padding:8px 24px 0;display:flex;position:sticky;top:0;overflow-x:auto}.settingsTabs button,.settingsTabs a{color:#4b5563;background:0 0;border:1px solid #0000;border-bottom:0;border-radius:7px 7px 0 0;justify-content:center;align-items:center;width:auto;min-height:34px;padding:0 12px;font-weight:650;text-decoration:none;display:inline-flex}.settingsTabs button:hover,.settingsTabs a:hover{color:#111827;background:#e8edf4}.settingsTabs button.active,.settingsTabs a.active{border-color:var(--line);color:#111827;background:#fff}.field label{color:#374151;margin-bottom:5px;font-size:13px;font-weight:600;display:block}.wideField{grid-column:1/-1}.checkLine{color:#374151;align-items:center;gap:8px;min-height:38px;padding-top:21px;font-weight:600;display:flex}.checkLine input{width:auto}.panelHeader .teacherDeletedToggle{white-space:nowrap;align-self:center;min-height:34px;padding-top:0}.teacherDeletedToggle input{margin:0}.checkGrid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:4px 12px;max-height:220px;display:grid;overflow:auto}.checkGrid .checkLine{min-height:28px;padding-top:0;font-weight:500}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.reportPageGrid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:10px 0 22px;display:grid}.reportPageCard{border:1px solid var(--line-soft);border-radius:var(--radius);background:#fff;min-width:0;padding:10px}.reportPageHeader{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.reportPageCard img{object-fit:contain;border:1px solid var(--line-soft);background:#f8fafc;border-radius:6px;width:100%;max-height:360px;display:block}.emptyBox{border:1px dashed var(--line);border-radius:var(--radius);min-height:160px;color:var(--muted);background:#f8fafc;place-items:center;display:grid}.reportSourceSummary{border:1px solid var(--line-soft);border-radius:var(--radius);background:#f8fafc;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;padding:10px 12px;display:flex}.reportDetailPanel .dataTable{margin-bottom:18px}.reportIdentityGrid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.selectedTableRow td{background:#eef6ff}.reportOriginalModal{background:#fff;flex-direction:column;width:calc(100vw - 8px);max-width:none;height:calc(100vh - 8px);max-height:none;display:flex;overflow:hidden}.reportOriginalBody{background:#f4f6f9;flex:auto;grid-template-columns:280px minmax(760px,1fr) 280px;align-items:stretch;min-height:220px;overflow:auto}.reportOriginalPages,.reportOriginalMeta{min-height:0;overflow:auto}.reportOriginalPages{align-content:start;gap:8px;padding-right:2px;display:grid}.reportOriginalPages button{border-color:var(--line-soft);background:#fff;justify-content:space-between;min-height:44px}.reportOriginalPages button.active{border-color:var(--primary);color:var(--primary);background:#eef6ff}.reportOriginalPreview{border:1px solid var(--line-soft);border-radius:var(--radius);background:#e5e7eb;min-height:0;padding:16px;overflow:auto}.reportOriginalPreview img{background:#fff;max-width:100%;height:auto;margin:0 auto;display:block;box-shadow:0 10px 24px #0f172a24}.reportOriginalPreview .annotationCanvasShell{min-height:100%}.reportOriginalPreview .annotationViewport{min-height:calc(100vh - 190px)}.reportAnnotationModal{flex-direction:column;width:min(1120px,100vw - 32px);max-height:calc(100vh - 32px);display:flex;overflow:hidden}.reportAnnotationBody{min-height:0;overflow:auto}.reportAnnotationBody .annotationCanvasShell{min-height:520px}.reportAnnotationComment{border-top:1px solid var(--line-soft);background:#f8fafc;padding:10px 12px}.reportAnnotationComment p{white-space:pre-wrap;margin:6px 0 0}.reportOriginalMeta{align-content:start;gap:10px;display:grid}@media (max-width:960px){.reportIdentityGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.reportOriginalBody{grid-template-columns:1fr}}.clickableRow:hover{background:#f8fafc}.summaryGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.compactSummaryGrid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.tag{border:1px solid var(--line);color:#374151;background:#f8fafc;border-radius:999px;align-items:center;min-height:24px;padding:2px 8px;font-size:12px;font-weight:650;display:inline-flex}.modalTabs{z-index:3;border-bottom:1px solid var(--line);background:#fff;gap:2px;display:flex;position:sticky;top:0;overflow-x:auto}.modalTabs button{color:#4b5563;background:0 0;border:1px solid #0000;border-bottom:0;border-radius:7px 7px 0 0;width:auto;min-height:38px;padding:0 12px;font-weight:650}.modalTabs button.active{border-color:var(--line);color:#111827;background:#fff}.permissionGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.permissionGroup{border:1px solid var(--line);border-radius:var(--radius);background:#fff;flex-wrap:wrap;align-content:flex-start;gap:8px;min-height:80px;padding:12px;display:flex}.permissionGroup h3{flex:0 0 100%;margin:0 0 2px;font-size:14px}.permissionMatrixGroup{align-content:start;gap:10px;display:grid;overflow:hidden}.permissionMatrixWrap{overflow-x:auto}.permissionMatrix{border-collapse:collapse;width:100%;min-width:420px;font-size:13px}.permissionMatrix th,.permissionMatrix td{border-top:1px solid var(--line-soft);text-align:left;vertical-align:middle;padding:9px 10px}.permissionMatrix th{color:var(--muted);font-size:12px;font-weight:700}.permissionMatrix th:first-child,.permissionMatrix td:first-child{text-align:center;width:64px}.permissionMatrix input{width:16px;height:16px}.permissionMatrix code{color:#4b5563;white-space:nowrap;font-size:12px}.roleReadonlyHeader{justify-content:space-between;align-items:center;gap:12px;min-height:42px;display:flex}.roleReadonlyHeader>div{gap:2px;display:grid}.roleCategoryStack{gap:0;display:grid}.roleCategoryGroup{border-top:1px solid var(--line);gap:12px;padding-top:18px;display:grid}.roleCategoryGroup:first-child{border-top:0;padding-top:0}.roleCategoryGroup+.roleCategoryGroup{margin-top:18px}.roleCategoryHeader{justify-content:space-between;align-items:center;gap:12px;display:flex}.roleCategoryHeader h3{margin:0;font-size:15px}.roleCategoryHeader span{color:var(--muted);font-size:12px;font-weight:700}.roleCategoryTable table{table-layout:fixed}.roleCategoryTable .roleNameColumn{width:42%}.roleCategoryTable .rolePermissionCountColumn{width:110px}.roleCategoryTable .roleSystemColumn,.roleCategoryTable .roleStatusColumn{width:120px}.roleCategoryTable .roleActionsColumn{width:180px}.roleCategoryTable .roleNameColumn .muted{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.permissionReadonlyGroup{min-height:0}.readonlyBox{border:1px solid var(--line-soft);border-radius:var(--radius);color:#374151;background:#f8fafc;min-height:44px;padding:10px;line-height:1.5}.detailList{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.detailList>div{border:1px solid var(--line-soft);border-radius:var(--radius);background:#f8fafc;gap:4px;min-height:56px;padding:10px;display:grid}.detailList span,.permissionGroup small{color:#6b7280;font-size:12px}.detailList code{white-space:pre-wrap;color:#111827;display:block;overflow:auto}.status{border:1px solid var(--line);background:var(--surface-subtle);color:#374151;border-radius:999px;align-items:center;padding:3px 8px;font-size:12px;display:inline-flex}.status.completed,.status.recognized,.status.graded,.status.reviewed,.status.processed{color:var(--success);background:#edf8f1;border-color:#b9dbc7}.status.needs_review,.status.needs_abnormal_review,.status.needs_regrade,.status.needs_arbitration,.status.low_confidence,.status.multiple_marked,.status.blank,.status.voided{color:var(--danger);background:#fff1ef;border-color:#efc2bd}.status.skipped_blank{color:var(--muted);background:#f8fafc;border-color:#cfd8e3}.status.failed{color:var(--danger);background:#fff1ef;border-color:#efc2bd}.status.deleted{color:#b91c1c;background:#fff1f2;border-color:#fecaca}.status.pending,.status.pending_review,.status.unassigned,.status.suggested{color:#4b5563;background:#f6f7f9;border-color:#d4d8df}.status.running,.status.processing{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.status.examStatus-neutral{color:#4b5563;background:#f6f7f9;border-color:#d4d8df}.status.examStatus-blue{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.status.examStatus-green{color:var(--success);background:#edf8f1;border-color:#b9dbc7}.status.examStatus-purple{color:#6d28d9;background:#f5f3ff;border-color:#ddd6fe}.status.examStatus-red{color:var(--danger);background:#fff1ef;border-color:#efc2bd}.notice{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-subtle);color:#374151;padding:12px;line-height:1.55}.noticeStack{gap:12px;display:grid}.notice:not(.compact)+.panel,.notice:not(.compact)+.statsGrid,.notice:not(.compact)+.dataTable{margin-top:14px}.notice.warning{color:var(--warning);background:#fff8e6;border-color:#f6d78b}.notice.success{color:#166534;background:#effaf2;border-color:#b8dfc4}.error{color:var(--danger);background:#fff1ef;border-color:#efc2bd}.scanInlineDetail{color:#374151;align-items:center;gap:8px;margin-top:6px;display:flex}.scanBindingList{gap:8px;margin-top:10px;display:grid}.scanBindingItem{grid-template-columns:minmax(220px,1fr) 180px auto;align-items:center;gap:8px;display:grid}.scanBindingItem input{height:34px}.scanStatusPill{border:1px solid var(--line);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:24px;padding:2px 8px;font-size:12px;font-weight:750;display:inline-flex}.scanStatusPill.scanGreen,.scanStatusRow.scanGreen{color:var(--success);background:#edf8f1;border-color:#b9dbc7}.scanStatusPill.scanYellow,.scanStatusRow.scanYellow{color:#8a5c00;background:#fff8e6;border-color:#f6d78b}.scanStatusPill.scanRed,.scanStatusRow.scanRed{color:var(--danger);background:#fff1ef;border-color:#efc2bd}.scanStatusPill.scanGray,.scanStatusRow.scanGray{color:#64748b;background:#f8fafc;border-color:#cfd8e3}.scanStatusPill.scanBlue,.scanStatusRow.scanBlue{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.scanStatusRow td{background:0 0}.linkButton{color:var(--primary);min-height:auto;font:inherit;text-underline-offset:3px;background:0 0;border:0;padding:0;text-decoration:underline}.linkButton:hover{color:var(--primary-strong);background:0 0}.scanPreviewModalBody{grid-template-columns:260px minmax(0,1fr);align-items:start}.scanPreviewSidebar,.scanPreviewPageList,.scanStatsGroups{gap:10px;display:grid}.scanPreviewPageList button.active{border-color:var(--primary);background:var(--primary-weak)}.scanPreviewImagePane{border:1px solid var(--line-soft);border-radius:var(--radius);background:#f8fafc;min-height:60vh;max-height:72vh;padding:10px;overflow:auto}.scanPreviewImagePane img{background:#fff;max-width:100%;margin:0 auto;display:block}.resultProcessButton{font-weight:750}.resultProcessButton.scanGreen{color:var(--success);background:#e7f6ec;border-color:#9fceb1}.resultProcessButton.scanYellow{color:#7a4e00;background:#fff4d2;border-color:#efc86e}.resultProcessButton.scanRed{color:var(--danger);background:#ffe7e4;border-color:#e7aaa2}.modalBackdrop.scanResultBackdrop{padding:4px}.configModal.scanResultModal{background:#f4f6f9;flex-direction:column;width:calc(100vw - 8px);max-width:none;height:calc(100vh - 8px);max-height:none;display:flex;overflow:hidden}.scanResultModal .modalFooter{background:#fff;flex:none}.scanResultHeader{background:#fff;flex:none;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:6px 12px;padding:12px 16px;display:grid}.scanResultHeader>div:first-child{grid-area:1/1}.scanResultHeader>.iconButton{grid-area:1/2}.scanResultTitleLine{align-items:center;gap:10px;display:flex}.scanResultHeaderMeta{color:var(--muted);flex-wrap:wrap;grid-area:2/1/auto/-1;justify-content:flex-start;gap:8px;margin-left:0;font-size:13px;display:flex}.scanResultHeaderMeta span{border:1px solid var(--line-soft);white-space:nowrap;background:#f8fafc;border-radius:999px;align-items:center;gap:4px;min-height:28px;padding:0 10px;display:inline-flex}.scanResultHeaderMeta strong{color:var(--text)}.scanResultModalBody{flex:1;grid-template-columns:280px minmax(760px,1fr) minmax(580px,680px);align-items:stretch;gap:10px;min-height:0;padding:10px;overflow:auto hidden}.scanResultSidebar,.scanResultInspector,.scanResultImagePanel,.scanManualForm,.scanResultCheckPanel,.studentScanDetail{gap:12px;display:grid}.scanResultSidebar,.scanResultInspector,.scanResultImagePanel{border:1px solid var(--line-soft);background:#fff;border-radius:8px;min-width:0;min-height:0;box-shadow:0 1px 2px #0f172a0a}.scanResultInspector,.scanResultSidebar{align-content:start;height:100%;padding:14px;overflow:auto}.scanResultImagePanel{grid-template-rows:auto minmax(0,1fr);gap:0;overflow:hidden}.scanResultPanelTitle{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:10px;min-height:42px;padding:0 14px;display:flex}.scanResultPanelTitle h3{margin:0;font-size:14px}.scanResultPanelTitle span{color:var(--muted);white-space:nowrap;font-size:12px}.scanResultMeta{border:1px solid var(--line-soft);border-radius:var(--radius);background:#f8fafc;grid-template-columns:auto minmax(0,1fr);gap:6px 10px;padding:10px;font-size:13px;display:grid}.scanResultMeta span{color:var(--muted)}.scanPreviewPageList button{background:#f8fafc;border-color:#0000;justify-content:space-between;width:100%}.scanPageDot{border:1px solid;border-radius:999px;width:10px;height:10px}.scanPageDot.scanGreen{background:var(--success);color:var(--success)}.scanPageDot.scanYellow{color:#f59e0b;background:#f59e0b}.scanPageDot.scanGray{color:#94a3b8;background:#94a3b8}.scanPageDot.scanRed{background:var(--danger);color:var(--danger)}.scanResultImagePane{background:#eef2f7;border:0;border-radius:0;height:100%;min-height:0;max-height:none;padding:16px;overflow:auto}.scanResultImagePane img{background:#fff;border:1px solid #d8dee8;max-width:100%;margin:0 auto;display:block;box-shadow:0 12px 34px #0f172a1f}.scanResultCalibrationFrame{width:fit-content;max-width:100%;margin:0 auto;line-height:0;position:relative}.scanResultCalibrationFrame img{-webkit-user-select:none;user-select:none}.compactTabs{z-index:1;background:#fff;margin-bottom:0;padding-bottom:2px;position:sticky;top:0}.compactTabs button.active{border-color:var(--primary);background:var(--primary-weak);color:var(--primary)}.scanProblemList ul{margin:0;padding-left:18px}.scanResultDefinitionList{grid-template-columns:minmax(92px,max-content) minmax(0,1fr);gap:8px 12px;margin:0;display:grid}.scanResultDefinitionList dt{color:var(--muted)}.scanResultDefinitionList dd{word-break:break-word;margin:0}.scanResultDefinitionList.compact{gap:6px 10px;font-size:13px}.scanCheckDetails,.scanQuickFixForm{border:1px solid var(--line-soft);border-radius:var(--radius);background:#f8fafc;gap:10px;padding:10px;display:grid}.scanCheckDetails h3,.scanQuickFixForm h3{margin:0;font-size:14px}.scanQuickFixGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.scanQuickFixGrid label{min-width:0;font-size:13px;font-weight:700}.scanQuickFixGrid input,.scanQuickFixGrid select{width:100%;margin-top:4px}.scanQuickFixForm button{justify-content:center;justify-self:stretch}@media (max-width:760px){.scanQuickFixGrid{grid-template-columns:1fr}}.dangerZone{border-radius:var(--radius);background:#fff7f6;border:1px solid #efc2bd;gap:10px;padding:12px;display:grid}.scanUploadModal{width:min(680px,100vw - 32px)}.scanUploadModal.hasCalibration{flex-direction:column;width:min(1180px,100vw - 32px);height:min(860px,100vh - 36px);display:flex;overflow:hidden}.scanUploadModal.hasCalibration .modalBody{flex:auto;min-height:0;overflow:auto}.aiProgressModal{width:min(760px,100vw - 32px)}.aiDetailsModal{flex-direction:column;width:min(1160px,100vw - 32px);height:min(820px,100vh - 48px);display:flex;overflow:hidden}.aiDetailsBody{flex:auto;align-content:start;min-height:0;overflow:auto}.aiDetailsTable .dataTableScroll{max-height:440px;overflow:auto}.aiQuestionStatusList{flex-wrap:wrap;gap:6px;min-width:280px;max-width:520px;display:flex}.aiQuestionStatusItem{color:#4b5563;background:#f8fafc;border:1px solid #d4d8df;border-radius:999px;align-items:center;gap:5px;padding:3px 8px;font-size:12px;line-height:1.25;display:inline-flex}.aiQuestionStatusItem strong{font-weight:700}.aiQuestionStatusItem em{color:var(--muted);font-style:normal}.aiQuestionStatusItem.completed{color:var(--success);background:#edf8f1;border-color:#b9dbc7}.aiQuestionStatusItem.running{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.aiQuestionStatusItem.failed{color:var(--danger);background:#fff1ef;border-color:#efc2bd}.scanUploadSummary{border:1px solid var(--line-soft);border-radius:var(--radius);background:#f8fafc;grid-template-columns:auto minmax(0,1fr);gap:10px 14px;padding:14px;display:grid}.scanUploadSummary span{color:var(--muted)}.scanUploadSummary strong{overflow-wrap:anywhere;min-width:0}.scanUploadSummary.compact{gap:8px 10px;padding:12px}.scanUploadProgress{gap:10px;display:grid}.scanUploadStage{gap:6px;display:grid}.scanUploadProgressHeader{justify-content:space-between;align-items:center;gap:12px;display:flex}.scanCalibrationWorkspace{grid-template-columns:168px minmax(0,1fr) 240px;gap:12px;min-height:520px;display:grid}.scanCalibrationPages,.scanCalibrationTools{border:1px solid var(--line-soft);border-radius:var(--radius);background:#f8fafc;min-height:0;padding:10px}.scanCalibrationPages{align-content:start;gap:6px;display:grid;overflow:auto}.scanCalibrationPages button{background:#fff;border-color:#0000;justify-content:space-between;width:100%}.scanCalibrationPages button.active{border-color:var(--primary);background:var(--primary-weak);color:var(--primary)}.scanCalibrationPreview{border:1px solid var(--line-soft);border-radius:var(--radius);background:#eef2f7;min-width:0;min-height:0;padding:14px;overflow:auto}.scanCalibrationImageFrame{width:fit-content;max-width:100%;margin:0 auto;line-height:0;position:relative}.scanCalibrationImageFrame img{-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #d8dee8;width:auto;max-width:100%;height:auto;max-height:640px;display:block}.scanCalibrationPointLayer{touch-action:none;z-index:2;position:absolute;inset:0}.scanCalibrationRegionOverlay{z-index:1;pointer-events:none;position:absolute;inset:0}.scanCalibrationRegionShape{fill:#0ea5e91a;stroke:#0284c7;stroke-width:3px;vector-effect:non-scaling-stroke}.scanCalibrationRegion-anchor_marks{fill:#14b8a624;stroke:#0f766e}.scanCalibrationRegion-barcode{fill:#f59e0b26;stroke:#d97706}.scanCalibrationRegion-student_identity{fill:#6366f121;stroke:#4f46e5}.scanCalibrationRegion-objective_questions{fill:#22c55e17;stroke:#16a34a}.scanCalibrationRegion-written_questions{fill:#f43f5e17;stroke:#e11d48}.scanCalibrationPoint{color:#0f766e;cursor:grab;background:#f0fdfaf0;border:2px solid #0f766e;border-radius:999px;width:34px;min-width:34px;height:34px;padding:0;font-size:18px;line-height:1;position:absolute;transform:translate(-50%,-50%);box-shadow:0 4px 14px #0f172a33}.scanCalibrationPoint:active{cursor:grabbing}.scanCalibrationRegionChecks{border:1px solid var(--line-soft);border-radius:var(--radius);background:#f8fafc;gap:10px;padding:10px;display:grid}.scanCalibrationRegionHeader{justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.scanCalibrationRegionHeader span{color:var(--muted);font-weight:700}.scanCalibrationRegionGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.scanCalibrationRegionGrid label{color:#334155;background:#fff;border:1px solid #d8dee8;border-radius:8px;align-items:center;gap:7px;min-width:0;padding:8px;font-size:13px;font-weight:700;display:flex}.scanCalibrationRegionGrid input{flex:none}.scanCalibrationRegionGrid span{overflow-wrap:anywhere;min-width:0}.scanCalibrationTools{align-content:start;gap:12px;display:grid}.scanCalibrationTools .actions{gap:8px;display:grid}.scanCalibrationTools .actions button{justify-content:center;width:100%}.answerEditableHighlight{border-radius:var(--radius);padding:8px;box-shadow:0 0 0 2px #facc1547;background:#fefce8!important;border-color:#facc15!important}.studentScanPageButtons{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.studentScanSectionHeader{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.studentScanSectionHeader h3{margin:0}.studentScanBatchSummary{align-items:center;gap:8px;min-width:0;display:flex}.studentScanBatchSummary>span{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:700}.studentScanPageButton{border:1px solid var(--line);border-radius:var(--radius);text-align:left;background:#fff;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;min-height:74px;padding:10px}.studentScanPageButton.scanGreen{background:#f0fbf3;border-color:#8fcf9f}.studentScanPageButton.scanYellow{background:#fff9e8;border-color:#f2cf72}.studentScanPageButton.scanRed{background:#fff1f1;border-color:#ef9a9a}.studentScanPageButton.scanBlue{color:#1d4ed8;background:#eff6ff;border-color:#8cbcff}.studentPageModal{width:min(1560px,100vw - 32px);max-height:calc(100vh - 24px)}.configModal.recropModal{width:calc(100vw - 16px);max-width:none;height:calc(100vh - 16px);max-height:none;overflow:hidden}.studentPageModalBody{grid-template-columns:220px minmax(0,1fr);max-height:calc(100vh - 165px);overflow:hidden}.studentPageImagePane{min-height:calc(100vh - 220px)}.studentPageImagePane img{width:min(1320px,100%);max-width:none}.recropModalBody{grid-template-columns:280px minmax(900px,1fr) 360px;min-width:1540px;height:calc(100vh - 132px);overflow:auto}.recropSidebar,.recropBoxList{align-content:start;gap:12px;display:grid;overflow:auto}.recropImageStage{border:1px solid var(--line-soft);border-radius:var(--radius);background:#f8fafc;grid-template-rows:auto minmax(0,1fr);gap:10px;padding:10px;display:grid;overflow:hidden}.recropZoomToolbar{border-bottom:1px solid var(--line-soft);align-items:center;gap:8px;padding-bottom:10px;display:flex}.recropZoomToolbar span{text-align:center;color:#334155;min-width:58px;font-weight:700}.recropImageScroller{min-height:0;overflow:auto}.recropImageWrap{cursor:crosshair;-webkit-user-select:none;user-select:none;width:fit-content;margin:0 auto;position:relative}.recropImageWrap img{background:#fff;max-width:none;height:auto;display:block}.recropBox{color:#1d4ed8;pointer-events:none;background:#2563eb1f;border:2px solid #2563eb;place-items:center;font-size:12px;font-weight:800;display:grid;position:absolute}.recropBox.draft{color:#0000;border-style:dashed}.recropBoxRow{border:1px solid var(--line-soft);border-radius:var(--radius);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;display:grid}.scanBatchLinks{align-items:center;gap:6px;min-width:0;max-width:100%;display:flex}.scanBatchLinks button{text-overflow:ellipsis;white-space:nowrap;max-width:100%;min-height:28px;padding:0 8px;overflow:hidden}.scanBatchLinks select{width:118px;min-width:0;min-height:28px;padding:3px 24px 3px 7px;font-size:12px}.scanSummaryTable table{table-layout:fixed;min-width:820px}.attendanceSummaryTable table{min-width:980px}.scanSummaryTable .scanTableStatusColumn{width:104px}.scanSummaryTable .scanTableBatchColumn{width:136px;max-width:136px}.scanSummaryTable .scanTableReasonColumn{width:190px;max-width:190px}.scanSummaryTable .scanTableActionColumn{width:96px}.scanReasonSummary{width:100%;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.answerSheetStatGroup{border:1px solid var(--line);border-radius:var(--radius);padding:10px}.answerSheetStatGroup h3{margin-top:0}.teacherScopeStack{gap:18px;display:grid}.teacherScopeStack>section{gap:10px;display:grid}.teacherScopeStack>section>h3{margin:0;font-size:1rem}.permissionGroupStack{gap:20px;display:grid}.teacherPermissionGroup{border-color:var(--line-soft);background:#fff;border-radius:8px;gap:12px;padding:14px;display:grid}.teacherPermissionGroup h3{margin:0;font-size:1rem}.teacherPermissionTable table{table-layout:fixed;min-width:760px}.teacherPermissionTable .permissionNameColumn{width:30%}.teacherPermissionTable .permissionStateColumn{text-align:center;width:96px}.teacherPermissionTable .permissionSourcesColumn{width:42%}.teacherPermissionTable .permissionDetailColumn{text-align:right;width:92px}.permissionDetailButton{text-align:left;min-height:auto;padding:0;font-weight:750}.permissionStateIcon{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;font-size:20px;font-weight:800;line-height:1;display:inline-flex}.permissionStateIcon.granted{color:#15803d;background:#ecfdf3;border-color:#bbf7d0}.permissionStateIcon.denied{color:#b42318;background:#fff1f2;border-color:#fecdd3}.permissionSourceTags{flex-wrap:wrap;gap:6px;display:flex}.permissionDetailModal{width:min(720px,100%)}.teacherInfoModal{width:min(760px,100%)}.teacherInfoModalBody{align-content:start}.teacherInfoSection{border:1px solid var(--line-soft);background:#fbfcfe;border-radius:8px;gap:10px;padding:12px;display:grid}.teacherInfoSection h3{margin:0;font-size:14px}.teacherInfoSummaryGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.teacherInfoSummaryGrid>div{gap:4px;min-width:0;display:grid}.teacherInfoSummaryGrid span{color:var(--muted);font-size:12px}.teacherInfoSummaryGrid strong{min-width:0;color:var(--ink);overflow-wrap:anywhere}.teacherInfoTagList{flex-wrap:wrap;gap:6px;display:flex}.teacherInfoPermissionStack{gap:10px;display:grid}.teacherInfoPermissionStack>div{gap:6px;display:grid}.permissionDescriptionText{color:var(--ink);margin:0;line-height:1.75}.auditJson{white-space:pre-wrap;word-break:break-word;max-width:320px;max-height:220px;margin:0;font-size:11px;line-height:1.45;overflow:auto}.tabs{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.tabs a{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:8px 10px}.crop{border:1px solid var(--line);background:#fff;max-width:260px;max-height:120px}.crop.small{max-width:180px;max-height:76px}.cropPreviewLink{border:1px solid var(--line);border-radius:var(--radius);background:#fff;justify-content:center;align-items:center;min-width:168px;min-height:72px;padding:4px;display:inline-flex}.cropPreviewLink:hover{border-color:var(--primary);background:var(--primary-weak);text-decoration:none}.cropPreviewLink .crop{border:0}.scanDetailCrop{max-width:240px;max-height:96px;display:block}.clickableRow{cursor:pointer}.clickableRow:hover,.clickableRow.selected{background:var(--primary-weak)}.reviewRow{background:#fff7f6}.reviewRow td:first-child{border-left:3px solid var(--danger)}.resultPill{border:1px solid var(--line);background:var(--surface-subtle);color:#374151;border-radius:999px;justify-content:center;align-items:center;min-width:56px;padding:3px 8px;font-size:12px;font-weight:700;display:inline-flex}.resultPill.correct{color:var(--success);background:#edf8f1;border-color:#b9dbc7}.resultPill.wrong{color:var(--danger);background:#fff1ef;border-color:#efc2bd}.resultPill.pending{color:#5f6876;background:#f6f7f9;border-color:#d4d8df}.scoreCell{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:650}.examInfoRows{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.examInfoRows div{border:1px solid var(--line-soft);background:var(--surface-subtle);border-radius:var(--radius);min-width:0;padding:10px 12px}.examInfoRows span{color:var(--muted);margin-bottom:5px;font-size:12px;font-weight:700;display:block}.examInfoRows strong{overflow-wrap:anywhere;color:#111827;display:block}.compactTable{margin-bottom:18px}.compactTable th,.compactTable td{padding:8px 10px}.scanObjectiveReviewModal{width:min(860px,100%)}.scanObjectiveReviewModal .modalHeader>div{min-width:0}.scanObjectiveReviewModal .modalHeader p{color:var(--muted);margin:4px 0 0;font-size:13px}.scanObjectiveReviewSummary{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--line-soft);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.scanObjectiveReviewSummary>div{background:var(--surface-subtle);min-width:0;padding:10px 12px}.scanObjectiveReviewSummary span:not(.status){color:var(--muted);margin-bottom:5px;font-size:12px;font-weight:700;display:block}.scanObjectiveReviewSummary strong{overflow-wrap:anywhere;display:block}.scanObjectiveReviewLayout{grid-template-columns:minmax(240px,.9fr) minmax(0,1.1fr);gap:20px;display:grid}.scanObjectiveReviewLayout section{min-width:0}.scanObjectiveReviewLayout h3{margin:0 0 10px;font-size:14px}.scanObjectiveReviewImage .cropPreviewLink{background:#f8fafc;justify-content:center;align-items:center;min-height:150px;padding:12px;display:flex}.scanObjectiveReviewImage .scanDetailCrop{object-fit:contain;width:100%;max-width:100%;max-height:300px}.scanObjectiveReviewImage p,.scanObjectiveReviewStem{color:var(--muted);overflow-wrap:anywhere;margin:9px 0 0;font-size:13px;line-height:1.55}.scanObjectiveReviewStem{color:var(--text);margin:-2px 0 10px}.scanObjectiveReviewChoices{gap:8px;display:grid}.scanObjectiveReviewChoices label{border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;background:#fff;grid-template-columns:18px 34px minmax(0,1fr);align-items:center;gap:8px;min-height:44px;padding:8px 10px;display:grid}.scanObjectiveReviewChoices label:hover,.scanObjectiveReviewChoices label.selected{border-color:var(--primary);background:var(--primary-weak)}.scanObjectiveReviewChoices input{margin:0}.scanObjectiveReviewChoices strong{font-size:14px}.scanObjectiveReviewChoices span{overflow-wrap:anywhere;color:#374151;min-width:0;font-size:13px}@media (max-width:720px){.scanObjectiveReviewSummary,.scanObjectiveReviewLayout{grid-template-columns:1fr}.scanObjectiveReviewSummary{gap:0}.scanObjectiveReviewSummary>div+div{border-top:1px solid var(--line-soft)}}.dataTable{gap:10px;display:grid}.dataTableToolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.dataTableSearch{align-items:center;gap:8px;min-width:min(420px,100%);display:flex}.dataTableSearch span{color:var(--muted);white-space:nowrap;font-size:13px;font-weight:700}.dataTableSearch input{min-width:260px}.dataTableScroll{overflow-x:auto}.groupedDataTables{gap:14px;min-width:0;display:grid}.groupedDataTableToolbar{margin-bottom:2px}.groupedDataTableSection{border:1px solid var(--line-soft);background:#fff;border-radius:8px;min-width:0;overflow:hidden}.groupedDataTableHeader{border-bottom:1px solid var(--line-soft);color:#1f4f82;background:#eef6ff;padding:10px 14px;font-weight:760}.groupedDataTableToggle{width:100%;min-height:0;color:inherit;box-shadow:none;font:inherit;background:0 0;border:0;justify-content:flex-start;gap:8px;padding:0}.groupedDataTableToggle>span:first-child{text-align:center;flex:none;width:16px}.groupedDataTableToggle .dataTableGroupTitle{flex:auto}.groupedDataTable{gap:0}.groupedDataTable table{border:0}.teacherScopeTable table{table-layout:fixed}.teacherScopeRoleColumn{width:28%}.teacherScopeRangeColumn{width:52%}.teacherScopeStatusColumn{width:20%}.teacherLoginStatusCell{gap:3px;min-width:180px;line-height:1.35;display:grid}.dataTableEmptyState{border:1px dashed var(--line);color:var(--muted);text-align:center;background:#f8fafc;border-radius:8px;padding:18px}.dataTable table{border-collapse:collapse;border:1px solid var(--line-soft);background:#fff;border-radius:6px;width:100%}.dataTable th,.dataTable td{border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:middle;padding:10px 12px}.dataTable th{color:var(--muted);background:var(--surface-subtle);font-size:12px;font-weight:750}.dataTable .dataTableSelectionCell{text-align:center;width:48px;min-width:48px}.dataTableSelectionCell input{width:16px;height:16px}.dataTable tr:last-child td{border-bottom:0}.dataTableGroupRow td{color:#1f4f82;background:#eef6ff;padding:8px 12px;font-weight:760}.dataTableGroupTitle{justify-content:space-between;align-items:center;gap:12px;display:flex}.dataTableGroupTitle span:last-child{color:var(--muted);font-size:12px;font-weight:700}.tableSortButton{width:100%;color:inherit;font:inherit;background:0 0;border:0;justify-content:flex-start;align-items:center;gap:6px;min-height:0;padding:0;display:inline-flex}.tableSortButton.active{color:var(--primary)}.dataTablePager{color:var(--muted);justify-content:flex-end;align-items:center;gap:10px;font-size:13px;display:flex}.tableViewControls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.tableViewControl{align-items:center;gap:8px;display:inline-flex}.tagWrap,.classroomStaffTags{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.responsiveTagOverflow{min-width:0;max-width:100%;position:relative}.responsiveTagLine{align-items:center;gap:6px;min-width:0;max-width:100%;display:flex}.responsiveTagOverflow.collapsed .responsiveTagLine{flex-wrap:nowrap;overflow:hidden}.responsiveTagOverflow.expanded .responsiveTagLine{flex-wrap:wrap}.responsiveTagItem{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:min(260px,100%);overflow:hidden}.classroomStaffOverflow{max-width:min(100%,520px)}.classroomStaffOverflow .responsiveTagLine{align-items:flex-start}.classroomStaffTag{text-overflow:clip;white-space:normal;overflow-wrap:anywhere;max-width:100%;line-height:1.35;overflow:visible}.responsiveTagOverflow.collapsed .responsiveTagItem{text-overflow:ellipsis;white-space:nowrap;overflow-wrap:normal;flex:0 auto;max-width:100%;overflow:hidden}.classroomStaffOverflow.collapsed .responsiveTagLine{align-items:center}.responsiveTagOverflow.expanded .classroomStaffTag{text-overflow:clip;white-space:normal;overflow-wrap:anywhere;overflow:visible}.dataTable.classroomsDataTables table,.classroomsDataTables .dataTable table{table-layout:fixed;min-width:1116px}.dataTable.classroomsDataTables th,.dataTable.classroomsDataTables td,.classroomsDataTables .dataTable th,.classroomsDataTables .dataTable td{white-space:nowrap}.classroomsDataTables .classroomNameColumn{width:170px}.classroomsDataTables .classroomGradeColumn{width:90px}.classroomsDataTables .classroomYearColumn{width:110px}.classroomsDataTables .classroomStatusColumn{width:96px}.classroomsDataTables .classroomScopeColumn{width:180px}.classroomsDataTables .classroomStaffColumn{width:380px}.classroomsDataTables .classroomActionsColumn{width:90px}.tagOverflowButton{cursor:pointer;flex:none}.responsiveTagMeasure{visibility:hidden;white-space:nowrap;pointer-events:none;gap:6px;height:0;display:flex;position:absolute;top:0;left:0;overflow:hidden}.roleTag{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.capabilityTag{color:#15803d;background:#f0fdf4;border-color:#bbf7d0}.mutedTag{border-color:var(--line-soft);color:var(--muted);background:#f8fafc}.classroomStaffDetails{gap:6px;display:grid}.classroomStaffDetails summary{cursor:pointer;flex-wrap:wrap;align-items:center;gap:6px;display:flex}.paperWorkspace{--paper-workspace-header-height:58px;--paper-navigator-width:280px;--paper-navigator-collapsed-width:46px;grid-template-columns:minmax(420px, 1fr) minmax(360px, .95fr) var(--paper-navigator-width);grid-template-areas:"editor preview navigator";align-items:start;gap:14px;transition:grid-template-columns .16s;display:grid}.paperActionsPrimary,.questionEditorHeaderActions,.paperSourceToolbar,.paperSourceTitle{align-items:center;display:flex}.paperActionsPrimary{flex-wrap:wrap;gap:12px;min-width:0}.questionEditorHeaderActions{gap:10px}.paperEditorModeSwitch,.questionEditorModeSwitch{background:#eef2f7;border:1px solid #d7dee8;border-radius:6px;flex:none;gap:2px;padding:2px;display:inline-flex}.paperEditorModeSwitch button,.questionEditorModeSwitch button{color:#526070;min-height:30px;box-shadow:none;background:0 0;border:0;border-radius:4px;padding:5px 10px}.paperEditorModeSwitch button.active,.questionEditorModeSwitch button.active{color:#172033;background:#fff;box-shadow:0 1px 2px #0f172a1f}.paperWorkspace.paperSourceWorkspace{grid-template-columns:minmax(560px, 1.45fr) minmax(360px, .8fr) var(--paper-navigator-width)}.paperWorkspace.paperSourceWorkspace.paperNavigatorCollapsed{grid-template-columns:minmax(560px, 1.55fr) minmax(360px, .85fr) var(--paper-navigator-collapsed-width)}.paperSourcePane{overflow:hidden}.paperSourceEditor{flex-direction:column;min-width:0;display:flex}.paperSourceToolbar{min-height:var(--paper-workspace-header-height);background:#fff;border-bottom:1px solid #e1e6ed;justify-content:space-between;gap:12px;padding:10px 14px}.paperSourceToolbar .actions{justify-content:flex-end}.paperSourceTitle{gap:8px;min-width:0}.paperSourceState{color:#526070;background:#f8fafc;border:1px solid #cfd8e3;border-radius:999px;flex:none;padding:2px 7px;font-size:12px}.paperSourceState.dirty{color:#76520a;background:#fff8dc;border-color:#e6b94f}.paperSourceCode{background:#fbfcfe;min-height:640px}.paperSourceEditor.compact .paperSourceCode{min-height:560px}.paperSourceCode .cm-editor{min-height:inherit;color:#172033;background:#fbfcfe;font-size:13px}.paperSourceCode .cm-editor.cm-focused{outline-offset:-2px;outline:2px solid #2563eb2e}.paperSourceCode .cm-scroller{min-height:inherit;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;line-height:1.65;overflow:auto}.paperSourceCode .cm-gutters{color:#7a8798;background:#f1f4f8;border-right-color:#dce3eb}.paperSourceMessage{color:#526070;background:#f8fafc;border-top:1px solid #e1e6ed;padding:8px 14px;font-size:13px}.paperSourceDiagnostics{border-top:1px solid #e1e6ed;max-height:190px;display:grid;overflow:auto}.paperSourceDiagnostics button{text-align:left;background:#fff;border:0;border-bottom:1px solid #e8edf3;border-radius:0;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:10px;width:100%;min-height:42px;padding:8px 14px;display:grid}.paperSourceDiagnostics button.error{color:#9f1d1d;background:#fff7f7}.paperSourceDiagnostics button.warning{color:#76520a;background:#fffaf0}.paperSourceDiagnostics button span{color:#6c7888;font-size:12px}.sourcePendingActions{flex-wrap:wrap}.paperWorkspace>.panel>.panelHeader{min-height:var(--paper-workspace-header-height);box-sizing:border-box}.paperNavigatorActions{align-items:center;gap:8px;display:flex}.paperNavigatorContent{min-width:0}.paperNavigatorToggle.iconButton{z-index:4;color:#475569;background:#f8fafc;border:1px solid #d7dee8;border-right:0;border-radius:12px 0 0 12px;place-items:center;width:24px;height:74px;min-height:0;padding:0;font-size:22px;line-height:1;transition:left .16s,background .14s,border-color .14s,box-shadow .14s,color .14s;display:inline-grid;position:absolute;top:0;left:-24px;transform:none;box-shadow:-8px 10px 24px #0f172a24}.paperNavigatorToggle:hover{color:#111827;background:#fff;border-color:#cbd5e1;box-shadow:-10px 12px 28px #0f172a2e}.paperNavigatorToggle:focus-visible{outline-offset:2px;outline:2px solid #93c5fd}.questionGroupBar{gap:8px;margin-bottom:4px;padding:10px 0;display:flex;overflow-x:auto}.questionGroupTab{border:1px solid var(--line);border-radius:var(--radius);background:#fff;flex:none;grid-template-columns:180px auto auto;align-items:center;gap:6px;padding:6px;display:grid}.questionGroupTab.active{border-color:var(--primary);background:var(--primary-weak)}.questionGroupTab input{min-width:0;height:32px}.printConfigPanel{margin-bottom:14px}.printConfigChecks{flex-wrap:wrap;gap:10px 18px;margin-bottom:12px;display:flex}.printConfigChecks label,.printConfigPanel .field span{align-items:center;gap:6px;font-weight:600;display:inline-flex}.printConfigSummary{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.printConfigInlineSummary{color:var(--muted);flex-wrap:wrap;gap:8px;font-size:13px;display:flex}.printConfigInlineSummary span{text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--line-soft);background:var(--surface-subtle);border-radius:999px;max-width:100%;padding:5px 10px;overflow:hidden}.printConfigModalBody{grid-template-columns:minmax(0,1fr);align-items:start}.printConfigModalBody .formSection{min-width:0}.printConfigModal .configModalColumns{grid-template-columns:minmax(0,1fr)}.printConfigItem{border:1px solid var(--line-soft);background:var(--surface-subtle);border-radius:var(--radius);text-align:left;justify-content:stretch;gap:4px;width:100%;min-height:76px;padding:10px;display:grid}.printConfigItem.active{border-color:var(--primary);background:#fff}.printConfigItem span{font-weight:700}.printConfigItem strong{color:var(--muted)}.printConfigItem.active strong{color:var(--primary)}.printConfigItem small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.paperBodyFontPreview{border:1px solid var(--line-soft);border-radius:var(--radius);background:#fff;padding:12px;line-height:1.6}.examDateTimeInput{grid-template-columns:minmax(0,1fr) minmax(190px,220px);align-items:center;gap:8px;display:grid}.examDateTimeInput input[type=datetime-local]{min-width:0}.examDateTimeZone{grid-column:1/-1}.tableNameButton{text-align:left;min-height:auto;padding:0;font-weight:750}.modalBackdrop{z-index:50;background:#1118276b;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.unsavedChangesBackdrop{z-index:90}.captchaModalBackdrop{z-index:110}.configModal{border:1px solid var(--line);border-radius:var(--radius);background:#fff;width:min(680px,100%);max-height:calc(100vh - 48px);overflow:auto;box-shadow:0 18px 48px #0f172a38}.configModal.wideModal{width:min(1180px,100%)}.questionCreateModal{width:min(760px,100%)}.captchaModal{width:min(440px,100%)}.teacherWorkspaceModal{flex-direction:column;height:min(820px,100vh - 48px);max-height:calc(100vh - 48px);display:flex;overflow:hidden}.teacherWorkspaceModal>.modalHeader,.teacherWorkspaceModal>.teacherWorkspaceTabs,.teacherWorkspaceModal>.modalFooter,.rolePreviewModal>.modalHeader,.rolePreviewModal>.teacherWorkspaceTabs,.rolePreviewModal>.modalFooter{flex:none}.teacherWorkspaceTabs{background:#f8fafc;align-items:flex-end;min-height:46px;padding:8px 16px 0}.teacherWorkspaceModal .formSection .configModalColumns{row-gap:18px}.teacherWorkspaceModal .formSection .field{align-content:start;gap:7px;display:grid}.teacherWorkspaceModal .formSection .field label{margin-bottom:0}.teacherProtectedNotice{margin-bottom:16px}.teacherWorkspaceModalBody{position:relative}.teacherWorkspaceErrorAnchor{z-index:4;position:sticky;top:0}.teacherWorkspaceErrorAnchor .notice{box-shadow:0 8px 18px #0f172a14}.teacherWorkspaceModal>.modalBody,.rolePreviewModal>.modalBody{flex:auto;align-content:start;min-height:0;overflow:auto}.rolePreviewModal{flex-direction:column;width:min(960px,100%);max-height:calc(100vh - 48px);display:flex;overflow:hidden}.modalHeader,.modalFooter{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.modalHeader h2{margin:0;font-size:16px}.modalBody{gap:14px;padding:16px;display:grid}.dataExchangeModal{flex-direction:column;display:flex;overflow:hidden}.dataExchangeModal .modalBody{overflow:auto}.dataExchangeUpload{border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(260px,1fr) auto;align-items:end;gap:12px;padding-bottom:12px;display:grid}.dataExchangeHelp{color:var(--muted);flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:12px;font-size:13px;display:flex}.dataExchangeReview,.dataExchangeSection{gap:12px;display:grid}.dataExchangeSection h3{margin:6px 0 0;font-size:15px}.dataExchangeRelationGrid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;display:grid}.dataExchangeRelationGroup{border:1px solid var(--line-soft);border-radius:var(--radius);background:#f8fafc;align-content:start;gap:6px;padding:10px;display:grid}.dataExchangeRelationGroup span{text-overflow:ellipsis;white-space:nowrap;min-height:24px;color:var(--muted);overflow:hidden}.modalFooter{border-top:1px solid var(--line-soft);border-bottom:0;justify-content:flex-end}.teacherWorkspaceFooter{flex-wrap:wrap}.teacherWorkspaceFooter .actions:last-child{justify-content:flex-end;margin-left:auto}.configModalGrid{gap:12px;display:grid}.nestedConfigSetting{border-left:2px solid var(--line-soft);margin-left:26px;padding-left:14px}.nestedConfigSetting.disabled{opacity:.58}.questionInsertTableWrap{border:1px solid var(--line-soft);border-radius:var(--radius);background:#fff;max-height:min(360px,50vh);overflow:auto}.questionInsertTable{table-layout:fixed;border-collapse:collapse;width:100%}.questionInsertTable th,.questionInsertTable td{border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:top;padding:9px 10px}.questionInsertTable th{z-index:1;background:var(--surface-subtle);color:var(--muted);font-size:12px;font-weight:750;position:sticky;top:0}.questionInsertTable th:first-child,.questionInsertTable td:first-child{text-align:center;width:56px}.questionInsertTable th:nth-child(2),.questionInsertTable td:nth-child(2){width:160px}.questionInsertTable th:nth-child(3),.questionInsertTable td:nth-child(3){width:92px}.questionInsertTable tbody tr{cursor:pointer}.questionInsertTable tbody tr.active{background:var(--primary-weak)}.questionInsertTable tbody tr.disabled{cursor:default;color:var(--muted)}.questionInsertTable tbody tr:last-child td{border-bottom:0}.questionInsertSummary{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}@media (max-width:520px){.questionInsertTable th,.questionInsertTable td{padding:8px}.questionInsertTable th:first-child,.questionInsertTable td:first-child{width:48px}.questionInsertTable th:nth-child(2),.questionInsertTable td:nth-child(2){width:116px}.questionInsertTable th:nth-child(3),.questionInsertTable td:nth-child(3){width:68px}}.configModalColumns{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.formSection{border:1px solid var(--line-soft);background:#fbfcfe;border-radius:8px;padding:12px}.formSectionTitle{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.formSectionTitle strong{color:#111827}.formSectionTitle span{color:#6b7280;font-size:12px}.roleAssignmentActions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.roleAssignmentSection{gap:14px;display:grid}.roleBulkBlock{gap:10px;min-width:0;display:grid}.roleBulkTable{min-width:0}.roleBulkTable .dataTableScroll{max-height:360px;overflow:auto}.teacherAssignmentFormStack{grid-template-columns:minmax(0,1fr);gap:14px;min-width:0;display:grid}.teacherAssignmentFormStack>.field,.roleAssignmentSingleField{max-width:520px}.studentModal{width:min(820px,100%)}.classroomModal{width:min(520px,100%)}.gradeLevelModal{width:min(560px,100%)}.singleColumnForm{grid-template-columns:minmax(0,1fr)}.gradeRotationGraph{gap:12px;width:100%;min-width:0;margin-top:16px;display:grid}.gradeRotationLegend{color:var(--muted);flex-wrap:wrap;gap:14px;font-size:12px;display:flex}.gradeRotationLegend span{align-items:center;gap:6px;display:inline-flex}.gradeRotationLegend i{border:1px solid #0000;border-radius:999px;width:10px;height:10px}.gradeRotationLegend i.upgrade{background:#dcfce7;border-color:#22c55e}.gradeRotationLegend i.skipped{background:#f1f5f9;border-color:#94a3b8}.gradeRotationLegend i.missing{background:#fee2e2;border-color:#ef4444}.gradeRotationLegend i.terminal{background:#ffedd5;border-color:#f97316}.gradeRotationCanvas{border:1px solid var(--line-soft);box-sizing:border-box;scrollbar-gutter:stable;background:linear-gradient(#fff 0%,#f8fafc 100%);border-radius:8px;width:100%;min-width:0;max-width:100%;min-height:220px;position:relative;overflow:auto}.gradeRotationTrack{box-sizing:border-box;position:relative}.gradeRotationEdgeLayer{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:visible}.gradeRotationEdge{fill:none;stroke:#16a34a;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;opacity:.9}.gradeRotationEdge.missing{stroke:#dc2626;stroke-dasharray:6 5}.gradeRotationEdge.skipped{stroke:#64748b;stroke-dasharray:6 5}.gradeRotationEdge.terminal{stroke:#ea580c}.gradeRotationNodeSlot{z-index:2;position:absolute}.gradeRotationNode{background:#fff;border:1px solid #cbd5e1;border-left-width:4px;border-radius:8px;align-content:start;gap:7px;width:100%;height:auto;min-height:108px;padding:12px;display:grid;box-shadow:0 12px 28px #0f172a14}.gradeRotationNode.compact{align-content:center;height:44px;min-height:44px;padding:0 12px}.gradeRotationNodeHeader{gap:2px;min-width:0;display:grid}.gradeRotationNode.compact .gradeRotationNodeHeader{gap:0}.gradeRotationNode strong{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.gradeRotationNode span,.gradeRotationNode small{color:var(--muted);font-size:12px}.gradeRotationNode em{border-radius:999px;width:fit-content;padding:3px 8px;font-size:12px;font-style:normal;line-height:1.2}.gradeRotationNode.upgrade{border-color:#22c55e #22c55e #22c55e #16a34a}.gradeRotationNode.upgrade em{color:#166534;background:#dcfce7}.gradeRotationNode.skipped{background:#f8fafc;border-color:#94a3b8 #94a3b8 #94a3b8 #64748b}.gradeRotationNode.skipped em{color:#475569;background:#e2e8f0}.gradeRotationNode.missing{border-color:#ef4444 #ef4444 #ef4444 #dc2626}.gradeRotationNode.missing em{color:#991b1b;background:#fee2e2}.gradeRotationNode.terminal{border-color:#f97316 #f97316 #f97316 #ea580c}.gradeRotationNode.terminal em{color:#9a3412;background:#ffedd5}.gradeRotationNode.neutral em{color:#1d4ed8;background:#eef6ff}.gradeRotationNode.neutral{border-left-color:#2563eb}@media (max-width:720px){.gradeRotationLegend{gap:8px 12px}.gradeRotationCanvas{min-height:220px}.gradeRotationTrack{min-width:680px}.gradeRotationNode{min-height:100px;padding:10px}}.classroomPicker{gap:10px;min-width:0;display:grid}.classroomPickerTitle{margin-bottom:0}.compactIconButton{border-radius:6px;min-height:30px;font-size:18px;font-weight:800}.classroomPickerTable{min-width:0}.classroomPickerTable .dataTableToolbar{align-items:flex-end}.classroomPickerTable .dataTableScroll{max-height:286px;overflow:auto}.classroomPickerTable thead th{z-index:1;position:sticky;top:0}.selectedClassroomPickerRow td{background:#ecfdf5}.nationalityCombobox{gap:8px;display:grid;position:relative}.nationalitySelectedButton{background:#fff;justify-content:flex-start;gap:8px;width:100%;min-height:38px}.nationalitySelectedButton strong{font-weight:600}.nationalityDisplay{align-items:center;gap:8px;min-width:0;display:inline-flex}.nationalityDropdown{z-index:5;border:1px solid var(--line);background:#fff;border-radius:8px;gap:8px;padding:10px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;box-shadow:0 14px 30px #0f172a2e}.nationalityOptions{max-height:240px;display:grid;overflow:auto}.nationalityOptions button{background:0 0;border:0;border-radius:6px;justify-content:flex-start;gap:8px;min-height:36px}.nationalityOptions button:hover,.nationalityOptions button.active{background:#eef6ff}.nationalityOptions small{color:var(--muted);margin-left:auto;font-size:11px}.flagIcon{border-radius:3px;flex:0 0 24px;justify-content:center;align-items:center;width:24px;height:16px;display:inline-flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #0f172a29}.flagImage{object-fit:cover;background:#fff}.flagPlaceholder{background:#f1f5f9}.studentGuardianTitle{margin-top:8px}.guardianDraftCard{border:1px solid var(--line);background:#f8fafc;border-radius:8px;gap:12px;padding:14px;display:grid}.confirmModal{border:1px solid var(--line);border-radius:var(--radius);background:#fff;width:min(460px,100%);max-height:calc(100vh - 48px);overflow:auto;box-shadow:0 18px 48px #0f172a38}.markedReportJobModal{width:min(640px,100vw - 32px)}.markedReportConfigModal{width:min(760px,100vw - 32px)}.markedReportOptionGroup{border:1px solid var(--line-soft);border-radius:var(--radius);background:#f8fafc;gap:10px;padding:12px;display:grid}.markedReportOptionGroup.disabled{opacity:.58}.configToggle{width:max-content;max-width:100%;line-height:1.35}.modalBackdrop.reportOriginalBackdrop{justify-content:stretch;align-items:stretch;padding:4px}.configModal.reportOriginalModal{background:#fff;flex-direction:column;width:calc(100vw - 8px);max-width:none;height:calc(100vh - 8px);max-height:none;display:flex;overflow:hidden}.configModal.reportOriginalModal .modalHeader{flex:none}.configModal.reportOriginalModal .reportOriginalBody{flex:auto}.confirmMessage{margin:0;line-height:1.6}.groupWizardModal{width:min(720px,100%)}.questionTypeChecklist{flex-wrap:wrap;gap:8px;display:flex}.questionTypeChecklist label{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--surface-subtle);white-space:nowrap;flex:none;align-items:center;gap:6px;min-width:112px;min-height:34px;padding:0 10px;font-weight:700;display:inline-flex}.questionTypeChecklist label.active{border-color:var(--primary);background:var(--primary-weak)}.groupScoreGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.previewModalBody{grid-template-rows:auto minmax(0,1fr);min-height:76vh}.previewModalToolbar,.previewZoomControls,.previewTabs{align-items:center;gap:8px;display:flex}.previewModalToolbar{flex-wrap:wrap;justify-content:space-between}.previewZoomControls button,.previewTabs button{min-height:32px}.previewZoomControls button.active,.previewTabs button.active{border-color:var(--primary);background:var(--primary-weak)}.previewZoomValue{text-align:center;min-width:48px;color:var(--muted);font-variant-numeric:tabular-nums;font-weight:800}.previewPageControls{border-left:1px solid var(--line-soft);align-items:center;gap:6px;margin-left:6px;padding-left:8px;display:inline-flex}.previewPageControls label{color:var(--muted);white-space:nowrap;align-items:center;gap:4px;font-weight:800;display:inline-flex}.previewPageControls input{text-align:center;font-variant-numeric:tabular-nums;width:56px;height:32px;font-weight:800}.previewSurface{border:1px solid var(--line);border-radius:var(--radius);background:#eef1f5;min-width:0;min-height:0;padding:12px;position:relative;overflow:auto}.previewScaledContent{transform-origin:0 0;position:relative}.previewScaledFrame{flex:none;position:relative}.previewPageGuides{z-index:5;pointer-events:none;position:absolute;inset:0}.previewPageGuide{border-top:14px solid #eef1f5;position:absolute;left:0;right:0}.previewPageGuide span{color:#475569;background:#e2e8f0;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:800;position:absolute;top:-23px;right:12px}.onlinePreviewSurface,.revisionPreviewSurface{height:72vh}.onlinePreviewSurface iframe{border:1px solid var(--line);background:#fff;display:block}.onlinePreviewSurface .pdfPreviewFrame{width:100%;height:100%;min-height:620px}.previewGenerationOverlay{z-index:8;border-radius:calc(var(--radius) - 2px);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#eef1f5e0;place-items:center;display:grid;position:absolute;inset:12px}.previewGenerationCard{border:1px solid var(--line);border-radius:var(--radius);width:min(420px,100% - 32px);box-shadow:var(--shadow-md);background:#fff;gap:10px;padding:18px;display:grid}.previewGenerationCard strong{color:#111827}.previewGenerationOverlay.error .progressTrack span{background:#dc2626}.revisionTable{min-width:760px}.preprintGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.metricBox{border:1px solid var(--line-soft);border-radius:var(--radius);background:#fff;gap:4px;padding:12px;display:grid}.metricBox span{color:var(--muted);font-size:12px}.metricBox strong{font-size:18px}.inlineField{align-items:center;gap:8px;display:inline-flex}.inlineField input{width:180px}.toggleRow{white-space:nowrap;align-items:center;gap:8px;font-weight:700;display:inline-flex}.configSetting .toggleRow{color:#111827;white-space:nowrap;width:max-content;max-width:100%;margin-bottom:7px;display:flex}.previewProgressPanel{border-color:var(--primary)}.progressTrack{background:#e5e7eb;border-radius:999px;height:8px;overflow:hidden}.progressTrack span{border-radius:inherit;background:var(--primary);height:100%;transition:width .18s;display:block}.blockList{border:0;min-width:0;margin:0;padding:0}.button.disabled{opacity:.55;pointer-events:none}.fillBlankAnswerEditor{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--surface-subtle);padding:12px}.fillBlankAnswerRows{gap:10px;display:grid}.fillBlankAnswerTableWrap{overflow-x:auto}.fillBlankAnswerTable{border-collapse:collapse;border:1px solid var(--line-soft);border-radius:var(--radius);background:#fff;width:100%;min-width:560px;overflow:hidden}.fillBlankAnswerTable th,.fillBlankAnswerTable td{border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:top;padding:8px}.fillBlankAnswerTable th{color:#374151;background:var(--surface-subtle);white-space:nowrap;font-size:12px}.fillBlankAnswerTable td:first-child{color:#374151;white-space:nowrap;width:86px;font-weight:800}.fillBlankAnswerTable td:nth-child(2){width:112px}.fillBlankAnswerTable td:nth-child(4){width:96px}.fillBlankAnswerTable tr:last-child td{border-bottom:0}.fillBlankAnswerTable input[type=number]{width:88px}.fillBlankAnswerRow{border:1px solid var(--line-soft);border-radius:var(--radius);background:#fff;grid-template-columns:88px 120px minmax(0,1fr);align-items:start;gap:12px;padding:10px;display:grid}.fillBlankAnswerRow>span{color:#374151;align-items:center;min-height:38px;font-size:13px;font-weight:700;display:flex}.fillBlankAnswerInputs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.fillBlankScoreField{gap:4px;margin:0;display:grid}.fillBlankScoreField label{color:var(--muted);font-size:12px}.fillBlankScoreField input{min-height:38px}.iconButton{justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:15px;line-height:1;display:inline-flex}.questionNavigator{flex-direction:column;justify-content:flex-start;align-items:stretch;gap:12px;display:flex}.questionGroupSection{border:1px solid var(--line-soft);border-radius:var(--radius);background:#fff;flex:none;padding:10px}.questionGroupSection.active{border-color:var(--primary)}.questionGroupSection.collapsed{background:var(--surface-subtle)}.questionGroupHeader{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px;display:grid}.questionGroupSection.collapsed .questionGroupHeader{grid-template-columns:minmax(0,1fr)}.questionGroupHeader input{height:32px}.questionGroupTitleButton{text-overflow:ellipsis;background:0 0;border-color:#0000;justify-content:flex-start;width:100%;min-width:0;min-height:30px;padding:0;font-weight:700;overflow:hidden}.questionGroupMeta{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;margin:8px 0;font-size:13px;display:flex}.compactActions{gap:6px}.addQuestionButton{width:30px;min-width:30px;height:30px;padding:0;font-size:20px;font-weight:800}.deleteGroupPanel{border:1px solid var(--line);border-radius:var(--radius);background:#fffdf7;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:6px;margin-bottom:8px;padding:8px;display:grid}.groupSettingsDanger{background:#fff7ed;border-color:#fed7aa;grid-template-columns:minmax(0,1fr) auto;margin:8px 0 0}.groupSettingsDanger p{margin:4px 0 0}.questionList{gap:6px;display:grid}.questionListItem{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--surface-subtle);flex:none;grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:6px;display:grid}.questionListItem.active{border-color:var(--primary);background:var(--primary-weak)}.questionListItem.invalid{background:#fef2f2;border-color:#dc2626}.questionListItem.invalid .questionSelectButton{border-color:#fca5a5}.questionListItem.instruction .questionSelectButton{background:#f8fafc}.questionSelectButton{text-align:left;background:#fff;grid-template-columns:auto auto;justify-content:stretch;gap:2px 8px;width:100%;min-width:0;min-height:42px;display:grid}.questionSummary{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);grid-column:1/-1;font-size:12px;font-weight:400;overflow:hidden}.questionMoveButtons{gap:4px;display:grid}.notice.compact{padding:8px;font-size:13px;line-height:1.45}.editorPane,.previewPane,.navigatorPane{min-width:0}.editorPane{grid-area:editor}.previewPane{grid-area:preview}.navigatorPane{grid-area:navigator;position:relative;overflow:visible}.editorPane.invalid{border-color:#dc2626}.editorPane.invalid>.panelHeader{background:#fef2f2}@media (min-width:861px){.paperWorkspace.paperNavigatorCollapsed{grid-template-columns:minmax(420px, 1fr) minmax(360px, 1.35fr) var(--paper-navigator-collapsed-width)}.paperWorkspace.paperNavigatorCollapsed .navigatorPane{overflow:visible}.paperWorkspace.paperNavigatorCollapsed .navigatorPane>.panelHeader{border-bottom:0;justify-content:center;padding-inline:7px}.paperWorkspace.paperNavigatorCollapsed .navigatorPane>.panelHeader h2,.paperWorkspace.paperNavigatorCollapsed .paperNavigatorAddGroup,.paperWorkspace.paperNavigatorCollapsed .paperNavigatorContent{display:none}.paperWorkspace.paperNavigatorCollapsed .paperNavigatorActions{justify-content:center;width:100%}}@media (min-width:1180px){.previewPane,.navigatorPane{--paper-side-pane-height:calc(100vh - 92px);height:var(--paper-side-pane-height);max-height:var(--paper-side-pane-height);flex-direction:column;display:flex;position:sticky;top:78px}.previewPane>.panelBody,.navigatorPane>.paperNavigatorContent{flex:auto;min-height:0}.previewPane>.panelBody{flex-direction:column;display:flex;overflow:hidden}.navigatorPane>.paperNavigatorContent{overflow:auto}}@media (min-width:861px) and (max-width:1499px){.paperWorkspace,.paperWorkspace.paperSourceWorkspace,.paperWorkspace.paperSourceWorkspace.paperNavigatorCollapsed,.paperWorkspace.paperNavigatorCollapsed{grid-template-columns:minmax(420px,1fr) minmax(360px,.95fr);grid-template-areas:"editor preview""navigator navigator"}.navigatorPane{grid-column:1/-1;width:100%;height:auto;max-height:none;position:static}.navigatorPane>.paperNavigatorContent{max-height:360px;overflow:auto}}@media (min-width:861px) and (max-width:1150px){.paperWorkspace,.paperWorkspace.paperSourceWorkspace,.paperWorkspace.paperSourceWorkspace.paperNavigatorCollapsed,.paperWorkspace.paperNavigatorCollapsed{grid-template-columns:minmax(0,1fr);grid-template-areas:"navigator""preview""editor"}.paperWorkspace.paperSourceWorkspace,.paperWorkspace.paperSourceWorkspace.paperNavigatorCollapsed{grid-template-areas:"editor""preview""navigator"}.previewPane,.navigatorPane{width:100%;height:auto;max-height:none;position:static}}@media (max-width:860px){.paperNavigatorToggle{display:none}}.aiSettingsPanel{max-width:760px}.aiSettingsPanel .panelHeader>div,.aiSettingsPanel .formActions,.aiSettingsPanel button,.aiWorkbench button,.aiPagePreviewModal button{align-items:center;gap:7px;display:inline-flex}.aiSettingsPanel .panelHeader>div{justify-content:space-between;width:100%}.aiWorkbenchBackdrop{z-index:120;background:#11182752;justify-content:flex-end;display:flex;position:fixed;inset:0}.aiWorkbench{background:var(--surface);border-left:1px solid #bec6d2;grid-template-rows:auto auto auto minmax(0,1fr);width:min(560px,94vw);height:100vh;display:grid;overflow:hidden;box-shadow:-18px 0 48px #0f172a2e}.aiWorkbenchHeader{border-bottom:1px solid var(--line);color:#fff;background:#202734;justify-content:space-between;align-items:center;gap:16px;min-height:68px;padding:13px 16px;display:flex}.aiWorkbenchHeader h2,.aiWorkbenchHeader span,.aiSectionTitle h3,.aiCropControls h3{margin:0}.aiWorkbenchHeader h2,.aiCropControls h3{align-items:center;gap:8px;display:flex}.aiWorkbenchHeader h2{font-size:17px}.aiWorkbenchHeader span{color:#cbd5e1;margin-top:3px;font-size:12px;display:block}.aiWorkbenchHeader .iconButton{color:#fff;background:#ffffff14;border-color:#ffffff40}.aiWorkbenchTabs{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.aiWorkbenchTabs button{border:0;border-right:1px solid var(--line-soft);background:var(--surface);min-height:42px;box-shadow:none;border-radius:0;justify-content:center}.aiWorkbenchTabs button.active{color:var(--primary);box-shadow:inset 0 -3px 0 var(--primary)}.aiWorkbenchNotice{margin:10px 14px 0}.aiWorkbenchBody{flex-direction:column;gap:14px;min-height:0;padding:14px;display:flex;overflow-y:auto}.aiWorkbenchSection,.aiRunStatus,.aiPatchPreview,.aiComposer{border-top:1px solid var(--line);gap:10px;padding-top:13px;display:grid}.aiWorkbenchBody>:first-child{border-top:0;padding-top:0}.aiSectionTitle,.aiConversationBar,.aiRunStatus>div:first-child,.fieldLabelRow,.rubricCriterionHeader,.rubricLevel,.aiPatchActions{justify-content:space-between;align-items:center;gap:10px;display:flex}.aiSectionTitle h3,.aiCropControls h3{font-size:14px}.aiSectionTitle span,.aiPatchActions span{color:var(--muted);font-size:12px}.aiConversationBar select{flex:1;min-width:0}.aiMessages{flex-direction:column;gap:9px;max-height:260px;display:flex;overflow-y:auto}.aiMessage{border:1px solid var(--line);background:var(--surface-subtle);border-radius:6px;align-self:flex-start;width:min(88%,450px);padding:9px 11px}.aiMessage.user{background:#eef4ff;border-color:#b9cbed;align-self:flex-end}.aiMessage strong{font-size:12px}.aiMessage p{white-space:pre-wrap;margin:5px 0 0;line-height:1.55}.aiBlueprint{grid-template-columns:repeat(2,minmax(0,1fr))}.aiBlueprint .aiSectionTitle,.aiBlueprint .aiMaterialPicker,.aiBlueprint .inlineCheck{grid-column:1/-1}.aiBlueprint>label:not(.inlineCheck),.aiCropControls label{color:var(--muted);gap:5px;font-size:12px;display:grid}.aiMaterialPicker{flex-wrap:wrap;gap:7px;display:flex}.aiMaterialPicker>span,.aiMaterialPicker label{align-items:center;gap:5px;display:inline-flex}.aiMaterialPicker>span{width:100%;color:var(--muted);font-size:12px}.aiMaterialPicker label{border:1px solid var(--line);background:var(--surface-subtle);border-radius:4px;padding:5px 7px;font-size:12px}.aiComposer textarea{resize:vertical;min-height:92px}.aiComposer>button{justify-self:end}.aiRunStatus .progressTrack,.aiRunStatus .progressTrack span{min-height:7px}.aiPatchPreview{padding-bottom:18px}.aiChangeSummary{color:var(--muted);background:var(--surface-subtle);border-left:3px solid #3f6fb7;padding:7px 9px;font-size:12px}.aiPatchItem{border:1px solid var(--line);background:#fff;border-left:3px solid #3f6fb7;border-radius:5px;gap:8px;padding:10px;display:grid}.aiPatchItem.generalKnowledge{background:#fffaf0;border-left-color:#d08a1c}.aiPatchItem>label{grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:8px;display:grid}.aiPatchItem>label span{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.aiQuestionDiff{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.aiQuestionDiff>div{border:1px solid var(--line-soft);background:var(--surface-subtle);padding:7px}.aiQuestionDiff small,.aiMaterialTable td span,.aiMaterialTable td small{color:var(--muted);font-size:11px;display:block}.aiQuestionDiff p{margin:4px 0 0;line-height:1.45}.aiGeneralBadge{color:#7a4700;background:#fff3d6;border:1px solid #dca84c;border-radius:4px;justify-self:start;padding:3px 6px;font-size:11px}.aiCitationLinks{flex-wrap:wrap;gap:5px;display:flex}.aiCitationLinks button{color:#245c32;background:#f1faf3;border-color:#abc3ac;min-height:26px;padding:3px 7px;font-size:11px}.aiPatchActions{align-items:flex-start}.aiFilePicker{width:fit-content}.aiUploadRow{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.aiUploadRow span{color:var(--muted);font-size:11px}.aiMaterialTableWrap{border:1px solid var(--line);max-height:430px;overflow:auto}.aiMaterialTable{border-collapse:collapse;width:100%;min-width:900px;font-size:12px}.aiMaterialTable th,.aiMaterialTable td{border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:top;padding:8px}.aiMaterialTable th{z-index:1;background:#eef1f5;position:sticky;top:0}.aiMaterialTable .actions{flex-wrap:nowrap}.aiPagePreviewBackdrop{z-index:150}.aiPagePreviewModal{width:min(1040px,100vw - 36px)}.aiPagePreviewBody{grid-template-columns:minmax(0,1fr) 240px;gap:16px;display:grid}.aiPageImageWrap{border:1px solid var(--line);background:#e8ebef;place-items:center;min-height:400px;display:grid;overflow:auto}.aiPageImageColumn{min-width:0}.aiPageImageStage{max-width:100%;line-height:0;display:inline-block;position:relative}.aiPageImageStage img{max-width:100%;height:auto;display:block}.aiCropOverlay{pointer-events:none;background:#f59e0b24;border:2px solid #d97706;position:absolute}.aiPageNavigation{justify-content:center;align-items:center;gap:10px;min-height:42px;display:flex}.aiCropControls{align-content:start;gap:10px;display:grid}.aiFigureCandidates{flex-wrap:wrap;gap:6px;display:flex}.structuredRubricEditor{gap:10px}.rubricTotal{font-size:12px;font-weight:700}.rubricTotal.valid{color:var(--success)}.rubricTotal.invalid{color:var(--danger)}.rubricCriteria{gap:10px;display:grid}.rubricCriterion{border:1px solid var(--line);background:var(--surface-subtle);border-radius:5px;gap:9px;padding:10px;display:grid}.rubricCriterionHeader{grid-template-columns:minmax(0,1fr) 96px auto;display:grid}.rubricCriterion label{color:var(--muted);gap:4px;font-size:12px;display:grid}.rubricCriterion textarea{min-height:62px}.rubricLevels{gap:6px;display:grid}.rubricLevel{grid-template-columns:82px minmax(0,1fr) 34px;display:grid}@media (max-width:700px){.aiWorkbench{width:100vw}.aiBlueprint,.aiPagePreviewBody,.aiQuestionDiff{grid-template-columns:minmax(0,1fr)}.aiPagePreviewModal{width:calc(100vw - 16px)}.aiPageImageWrap{min-height:280px}.rubricCriterionHeader{grid-template-columns:minmax(0,1fr) 90px}.rubricCriterionHeader .danger{grid-column:1/-1;justify-self:start}}.formRows{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.blockList,.optionEditor,.richTextEditor{gap:8px;display:grid}.richTextEditor{position:relative}.richToolbar{z-index:25;border:1px solid var(--line-soft);border-radius:var(--radius);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;flex-direction:column;align-items:stretch;gap:7px;padding:8px;display:flex;position:absolute;inset:auto 0 calc(100% + 6px);box-shadow:0 14px 34px #0f172a24}.richToolbarMain,.richTableToolbar{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.richToolbar input{max-width:220px}.richToolbar button{justify-content:center;align-items:center;gap:5px;min-width:32px;min-height:30px;display:inline-flex}.richToolbar button svg{stroke-width:2.2px;width:16px;height:16px}.richMiniMark{margin-left:-4px;font-size:12px;font-weight:900;line-height:1}.richToolbarDivider{background:var(--line-soft);width:1px;height:22px}.richToolbarMore{position:relative}.richToolbarMenu{z-index:35;border:1px solid var(--line-soft);border-radius:var(--radius);background:#fff;gap:6px;min-width:156px;padding:8px;display:grid;position:absolute;top:auto;bottom:calc(100% + 8px);right:0;box-shadow:0 16px 38px #0f172a29}.richToolbarMenu button{justify-content:flex-start;width:100%}.richToolbarLabel{color:var(--muted);padding:0 2px 0 6px;font-size:12px;font-weight:800}.richToolbar button.active{border-color:var(--primary);background:var(--primary-weak)}.formulaPopover{z-index:30;border:1px solid var(--line);border-radius:var(--radius);background:#fff;gap:10px;padding:12px;display:grid;position:absolute;inset:auto 8px calc(100% + 54px);box-shadow:0 18px 42px #0f172a2e}.richTextEditor:has(.richTableToolbar) .formulaPopover{top:auto;bottom:calc(100% + 88px)}.formulaInputRow{grid-template-columns:minmax(0,1.35fr) minmax(180px,.65fr);align-items:stretch;gap:12px;display:grid}.formulaInputRow label,.formulaPreview{min-width:0;color:var(--muted);gap:6px;font-size:12px;font-weight:800;display:grid}.formulaInputRow textarea{resize:vertical;min-height:86px;font-family:Courier New,monospace;font-size:13px}.pinyinPopover .formulaInputRow{grid-template-columns:minmax(180px,1fr) minmax(180px,.8fr)}.pinyinPopover input{width:100%}.pinyinPreviewText{letter-spacing:0;font-size:18px;font-weight:700}.formulaPreview>div{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--surface-subtle);color:#111827;align-items:center;min-height:86px;padding:10px;font-size:16px;display:flex;overflow:auto}.formulaSnippetGroups{gap:10px;max-height:240px;padding-right:2px;display:grid;overflow:auto}.formulaSnippetGroup{gap:6px;display:grid}.formulaSnippetGroup h4{color:#374151;margin:0;font-size:12px}.formulaSnippetGrid{grid-template-columns:repeat(auto-fit,minmax(66px,1fr));gap:6px;display:grid}.formulaSnippetGrid button{white-space:nowrap;min-height:30px}.formulaPopoverActions{justify-content:flex-end;gap:8px;display:flex}.richEditable{border:1px solid var(--line);border-radius:var(--radius);background:#fff;min-height:120px;padding:10px;line-height:1.55}.richEditable:focus{outline:2px solid var(--primary-weak);border-color:var(--primary)}.tiptapEditable.ProseMirror{min-height:120px}.tiptapEditable p{margin:0 0 4px}.tiptapEditable p:last-child{margin-bottom:0}.tiptapEditable h2,.tiptapEditable h3,.richContent h2,.richContent h3{color:#111827;margin:.12em 0 .18em;line-height:1.22}.tiptapEditable h2,.richContent h2{font-size:1.18em}.tiptapEditable h3,.richContent h3{font-size:1.08em}.tiptapEditable ul,.tiptapEditable ol,.richContent ul,.richContent ol{margin:.08em 0 .16em 1.35em;padding:0}.tiptapEditable li,.richContent li{margin:.02em 0}.tiptapEditable blockquote,.richContent blockquote{border-left:3px solid var(--line,#d1d5db);color:#475569;margin:.1em 0 .18em;padding-left:.6em}.tiptapEditable hr,.richContent hr{border:0;border-top:1px solid var(--line,#d1d5db);margin:.35em 0}.tiptapEditable table,.richContent table{table-layout:fixed;border-collapse:collapse;width:100%;margin:.12em 0 .22em}.tiptapEditable td,.tiptapEditable th,.richContent td,.richContent th{border:1px solid var(--line,#d1d5db);vertical-align:top;padding:.25em .35em}.tiptapEditable td[data-cell-vertical-align=top],.tiptapEditable th[data-cell-vertical-align=top],.richContent td[data-cell-vertical-align=top],.richContent th[data-cell-vertical-align=top]{vertical-align:top}.tiptapEditable td[data-cell-vertical-align=middle],.tiptapEditable th[data-cell-vertical-align=middle],.richContent td[data-cell-vertical-align=middle],.richContent th[data-cell-vertical-align=middle]{vertical-align:middle}.tiptapEditable td[data-cell-vertical-align=bottom],.tiptapEditable th[data-cell-vertical-align=bottom],.richContent td[data-cell-vertical-align=bottom],.richContent th[data-cell-vertical-align=bottom]{vertical-align:bottom}.tiptapEditable th,.richContent th{background:#f8fafc;font-weight:800}.tiptapEditable .selectedCell{background:#2563eb14}.rubyText{ruby-position:over}.rubyText rt{color:#374151;letter-spacing:0;font-size:.65em}.imageSettingsPanel{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--surface-subtle);gap:8px;padding:10px;display:grid}.imageSettingsHeader,.imageSettingsRow,.imageSizeControl,.imageNudgeGrid{align-items:center;gap:8px;display:flex}.imageSettingsHeader{justify-content:space-between}.imageSettingsRow{border:1px solid var(--line);border-radius:var(--radius);background:#fff;align-items:stretch;padding:8px}.imageSettingsRow>img{object-fit:contain;background:#fff;border:0;width:72px;height:56px}.imageOrderButtons{align-content:center;gap:4px;display:grid}.imageSettingsControls{flex:auto;gap:8px;min-width:0;display:grid}.imageSettingsControls label{font-weight:700}.imageSettingsControls input[type=range]{min-width:120px;padding:0}.imageSettingsControls label span{min-width:48px;color:var(--muted);font-weight:700}.imageNudgeGrid{flex-wrap:wrap}.imageNudgeGrid>span{color:var(--muted);font-weight:700}.imageDisplaySettings{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.imageDisplaySettings .toggleRow{white-space:nowrap;align-items:center;gap:6px;width:auto;min-width:72px;font-weight:700;display:inline-flex}.imageDisplaySettings input[type=text],.imageDisplaySettings input:not([type]){flex:180px;min-width:160px}.answerField{min-width:0}.multiAnswerMenu{position:relative}.multiAnswerMenu summary{border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;background:#fff;align-items:center;min-height:38px;padding:0 10px;font-weight:700;display:flex}.multiAnswerOptions{z-index:20;border:1px solid var(--line);border-radius:var(--radius);background:#fff;gap:4px;min-width:180px;padding:8px;display:grid;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 12px 30px #0f172a24}.multiAnswerOptions label{border-radius:6px;align-items:center;gap:8px;padding:6px 8px;font-weight:700;display:flex}.multiAnswerOptions label.active,.optionBlock.correctOption{background:#ecfdf3;border-color:#22c55e}.multiAnswerActions{border-top:1px solid var(--line);justify-content:flex-end;margin-top:4px;padding-top:8px;display:flex}.multiAnswerActions button{min-height:32px;padding:0 12px}.richEditable [data-formula],.inlineFormula,.blankSlot{border:1px solid var(--line);background:#f8fafc;border-radius:4px;margin:0 2px;padding:0 4px;font-family:Courier New,monospace;display:inline-block}.blankSlot{text-align:center;color:#111827;min-width:92px}.richEditable .blankSlot.ProseMirror-selectednode{color:#1e3a8a;background:#dbeafe;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb3d}.blankSlot:empty:before{content:"空";color:#64748b}.previewInlineBlank{vertical-align:baseline;border-bottom:1px solid #111827;width:92px;height:1em;margin:0 6px;display:inline-block}.richImages,.richImageItem{gap:8px;display:grid}.contentBlock,.optionBlock{border:1px solid var(--line-soft);background:var(--surface-subtle);border-radius:var(--radius);padding:10px}.contentBlockHeader,.optionBlockHeader{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.previewPaper{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:18px}.previewQuestion{border-bottom:1px solid var(--line-soft);padding:12px 0}.previewQuestion:first-child{padding-top:0}.previewQuestion:last-child{border-bottom:0;padding-bottom:0}.previewQuestionTitle{justify-content:space-between;gap:12px;margin-bottom:8px;display:flex}.previewQuestionGroup{border-bottom:1px solid var(--line-soft);padding:10px 0}.previewQuestionGroup h4{margin:0 0 8px;font-size:14px}.previewOptions{gap:6px;margin-top:8px;display:grid}.livePaperPreview{border:1px solid var(--line);border-radius:var(--radius);background:#eef1f5;flex:auto;min-height:0;max-height:none;padding:12px;overflow:auto}.previewPane .previewZoomControls{margin-bottom:8px}.studentPaperLivePreview{width:max-content}.studentPaperLivePreview .studentPaperPage,.studentPaperLivePreview .studentPaperContinuous{margin:0;box-shadow:0 12px 30px #11182724}.studentPaperLivePreview .paperQuestion.active{border:2px solid var(--primary);background:#f4f7ff;border-radius:8px;margin:.04in -.08in;padding:.1in .08in;scroll-margin:160px}.previewAnswerSheet{border:1px solid var(--line);border-radius:var(--radius);background:#fff;flex:none;max-height:142px;margin-top:14px;padding:14px;overflow:auto}.previewQuestionTagSlot{box-sizing:border-box;color:#64748b;justify-content:flex-end;align-items:center;min-height:22px;margin-top:6px;padding:2px 4px 0;font-size:11px;line-height:1.2;display:flex}.previewQuestionTagSlot span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.questionTagsEditor textarea{min-height:82px}.previewMarkRows{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;display:grid}.previewMarkRow{align-items:center;gap:6px;min-height:28px;display:flex}.previewMarkNo{text-align:right;width:30px;font-weight:700}.previewMarkBox{border:1.5px solid #111827;width:24px;height:15px;display:inline-block}.previewWrittenBlock{border-top:1px solid var(--line-soft);margin-top:14px;padding-top:10px}.previewWrittenBlock h3{margin:0 0 8px;font-size:14px}.previewAnswerSheetEmbedded{border-bottom:1px solid var(--line-soft);gap:8px;margin-bottom:12px;padding-bottom:10px;display:grid}.previewAnswerSheetGroupTitle{color:#111827;font-weight:800}.previewAnswerSheetInstruction,.previewAnswerSheetStem{color:#334155;gap:4px;font-size:14px;display:grid}.previewAnswerSheetInstruction>span,.previewAnswerSheetStem>strong{color:#111827;font-weight:800}.previewAnswerSheetEmbedded .richContent{font-size:14px;line-height:1.42}.previewAnswerSheetEmbedded .paperStemFigure{justify-self:start;max-width:100%}.previewAnswerSheetEmbedded .paperStemImage{width:100%;height:auto;max-height:260px}.previewAnswerSheetObjectiveOptions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;margin-top:8px;display:grid}.previewAnswerSheetObjectiveOptions>div{align-items:flex-start;gap:4px;min-width:0;display:flex}.previewAnswerSheetObjectiveOptions .richContent{min-width:0}.previewBlankGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;display:grid}.previewBlankLine{border-bottom:1px solid #111827;width:70%;height:24px}.previewSubjectiveLine{gap:4px;margin-bottom:8px;display:grid}.previewSubjectiveBox{border:1px solid #111827;min-height:92px;padding:10px;font-weight:700}.previewCompositionBox{gap:8px;display:grid}.previewCompositionMeta{font-weight:700}.previewCompositionGrid{border-top:1px solid #111827;border-left:1px solid #111827;grid-template-columns:repeat(20,minmax(0,1fr));width:min(100%,520px);display:grid}.previewCompositionGrid span{aspect-ratio:1;background:#fff;border-bottom:1px solid #111827;border-right:1px solid #111827}.richContent p{margin:0 0 8px;line-height:1.65}.richContent p:last-child{margin-bottom:0}.latexBlock{margin:6px 0;overflow-x:auto}.contentImage{border:1px solid var(--line);background:#fff;max-width:100%;max-height:280px;margin:8px 0;display:block}:is(body:has(.printRoot),body:has(.studentPaperRoot:not(.studentPaperLivePreview))){background:#fff}:is(body:has(.printRoot) .appShell,body:has(.studentPaperRoot:not(.studentPaperLivePreview)) .appShell){display:block}:is(body:has(.printRoot) .sidebar,body:has(.printRoot) .topbar,body:has(.printRoot) .mobileShellHeader,body:has(.printRoot) .mobileSidebarButton,body:has(.printRoot) .mobileSidebarBackdrop,body:has(.printRoot) .desktopSidebarHandle,body:has(.printRoot) .examWorkspaceTabs,body:has(.printRoot) .tenantScreenWatermark,body:has(.studentPaperRoot:not(.studentPaperLivePreview)) .sidebar,body:has(.studentPaperRoot:not(.studentPaperLivePreview)) .topbar,body:has(.studentPaperRoot:not(.studentPaperLivePreview)) .mobileShellHeader,body:has(.studentPaperRoot:not(.studentPaperLivePreview)) .mobileSidebarButton,body:has(.studentPaperRoot:not(.studentPaperLivePreview)) .mobileSidebarBackdrop,body:has(.studentPaperRoot:not(.studentPaperLivePreview)) .desktopSidebarHandle,body:has(.studentPaperRoot:not(.studentPaperLivePreview)) .examWorkspaceTabs,body:has(.studentPaperRoot:not(.studentPaperLivePreview)) .tenantScreenWatermark){display:none}:is(body:has(.printRoot) .content,body:has(.studentPaperRoot:not(.studentPaperLivePreview)) .content){padding:0}.printRoot,.studentPaperRoot{color:#111827;background:#fff}.studentPaperRoot{--student-paper-body-font-size:10.5pt;position:relative}@media screen{:is(body:has(.printRoot) .printPage,body:has(.printRoot) .answerSheetA3Page,body:has(.studentPaperRoot:not(.studentPaperLivePreview)) .studentPaperPage){margin-bottom:18px;box-shadow:0 12px 30px #11182724}}@media print{.paperContinuationMarker{box-shadow:none;border:1px solid #cbd5e1}}.printPage{page-break-after:always;break-after:page;background:#fff;width:8.2667in;height:11.69in;margin:0 auto;position:relative;overflow:hidden}.answerSheetA3Page{page:answerSheetA3;page-break-after:always;break-after:page;background:#fff;grid-template-columns:8.2667in 8.2667in;width:16.5334in;height:11.69in;margin:0 auto;display:grid;position:relative;overflow:hidden}.answerSheetSlot{background:#fff;width:8.2667in;height:11.69in;position:relative;overflow:hidden}.slotPage{margin:0;position:absolute;inset:0}.printRoot .printPage:last-child,.printRoot .answerSheetA3Page:last-child,.studentPaperRoot .studentPaperPage:last-child,.printRoot>.printPage:last-of-type,.printRoot>.answerSheetA3Page:last-of-type{page-break-after:auto;break-after:auto}.answerHeader{border-bottom:1.2px solid #111827;justify-content:space-between;align-items:flex-start;gap:.18in;padding-bottom:.1in;display:flex;position:absolute;top:.43in;left:.72in;right:2.65in}.answerHeader h1{margin:0 0 .05in;font-size:18.5pt;line-height:1.2}.answerHeader p,.pageMark,.answerFooter{color:#374151;margin:0;font-size:9pt}.answerBarcode,.answerSheetCode,.answerPanelFrame,.printAnchor,.printRowAnchor,.answerQuestionNo,.objectiveQuestionHeader,.objectiveOptionHeader,.objectiveFrame,.answerOptionBox,.identityRegion,.candidateNotice,.studentNoGrid,.studentNoAnchor,.studentNoWriteBox,.studentNoDigit,.studentNoBox,.invalidMarkRegion,.invalidMarkBox,.invalidMarkAnchor,.invalidMarkLine,.subjectiveLineAnchor,.fillBlankGroupFrame,.writtenDisplayRegion,.writtenStemRegion,.fillBlankRegion,.fillBlankQuestionLabel,.subjectiveGroupFrame,.subjectiveRegion,.subjectiveQuestionLabel,.subjectiveAnswerLine,.questionTagRegion,.compositionGrid,.compositionGridLine{position:absolute}.printAnchor,.printRowAnchor{background:#111827}.answerPanelFrame{z-index:0;background:#fff;border:1.2px solid #111827}.answerBarcode{object-fit:fill;image-rendering:crisp-edges;background:#fff}.answerSheetCode{letter-spacing:0;color:#111827;justify-content:center;align-items:center;font-family:OCR A Std,OCR A Extended,OCR A,Courier New,monospace;font-size:7pt;display:flex}.identityRegion{z-index:1;background:0 0;align-items:center;gap:.08in;display:flex}.identityLabel{flex:none;font-size:10pt;font-weight:700}.identityUnderline{border-bottom:1.2px solid #111827;flex:auto;height:.22in}.candidateNotice{color:#111827;z-index:1;padding:.16in .22in .1in}.candidateNotice h2{text-align:center;margin:0 0 .07in;font-size:11pt;line-height:1.15}.candidateNotice ol{margin:0;padding:0;list-style:none}.candidateNotice li{margin:0 0 .04in;font-size:7.5pt;line-height:1.18}.candidateNotice strong{min-width:.58in;margin-right:.04in;font-size:7.5pt;display:inline-block}.studentNoGrid{z-index:1;background:0 0}.studentNoGridTitle{text-align:center;font-size:9.2pt;font-weight:700;position:absolute;top:.05in;left:0;right:0}.studentNoGridPrefix{text-align:center;border:1.35px solid #111827;justify-content:center;align-items:center;font-size:11pt;font-weight:700;display:flex;position:absolute}.studentNoWriteBox{border:1.35px solid #111827}.studentNoDigit{color:#111827;justify-content:flex-end;align-items:center;font-size:6.8pt;display:flex}.studentNoBox{background:0 0;border:1.35px solid #111827;justify-content:center;align-items:center;display:flex}.studentNoBoxDigit{opacity:0;font-size:5.5pt;font-weight:700;line-height:1}.studentNoAnchor{background:#111827}.invalidMarkRegion{color:#111827;z-index:1;background:0 0}.invalidMarkLine{white-space:nowrap;justify-content:flex-end;align-items:center;font-size:8pt;font-weight:700;display:flex}.invalidMarkBox{background:0 0;border:1.35px solid #111827}.invalidMarkAnchor{background:#111827}.answerQuestionNo{color:#111827;z-index:1;justify-content:flex-end;align-items:center;padding-right:.04in;font-size:8.5pt;font-weight:700;display:flex}.objectiveQuestionHeader,.objectiveOptionHeader{color:#374151;z-index:1;justify-content:center;align-items:center;font-size:7.5pt;font-weight:700;display:flex}.objectiveFrame{z-index:0;background:#fff;border:1.3px solid #111827}.answerOptionBox{z-index:1;color:#0000;background:0 0;border:1.35px solid #111827;justify-content:center;align-items:center;font-size:7pt;font-weight:700;line-height:1;display:flex}.subjectiveGroupFrame,.fillBlankGroupFrame{z-index:0;background:#fff;border:1.5px solid #111827}.subjectiveLineAnchor{background:#111827}.subjectiveRegion,.fillBlankRegion{z-index:1;background:0 0}.questionTagRegion{z-index:2;box-sizing:border-box;color:#64748b;text-align:right;justify-content:flex-end;align-items:center;padding:0 .025in;font-size:8pt;line-height:1;display:flex;overflow:hidden}.questionTagText{text-overflow:ellipsis;white-space:nowrap;width:100%;min-width:0;display:block;overflow:hidden}.writtenDisplayRegion{box-sizing:border-box;color:#111827;z-index:1;background:0 0;border:0;padding:.035in .08in;overflow:hidden}.writtenGroupHeaderRegion{border-bottom:1.1px solid #111827;align-items:center;padding:0 .08in;font-size:10.6pt;font-weight:850;line-height:1.2;display:flex}.writtenInstructionRegion{color:#111827;padding-top:.015in;padding-bottom:.015in}.writtenObjectiveRegion{color:#111827}.writtenStemTitle{color:#111827;margin-bottom:.015in;font-size:11pt;font-weight:800;line-height:1.2}.writtenStemScore{font-weight:700}.writtenDisplayRegion .richContent{font-size:10pt;line-height:1.22}.writtenInstructionRegion .richContent{font-size:11pt;line-height:1.26}.writtenDisplayRegion .richContent p,.writtenDisplayRegion .richTextBlock{margin:0 0 .012in;line-height:1.22}.writtenInstructionRegion .richContent p,.writtenInstructionRegion .richTextBlock{line-height:1.26}.writtenDisplayRegion .blankSlot{border-bottom-width:1px;min-width:.32in}.writtenStemBody{transform-origin:0 0}.writtenDisplayRegion .paperStemFigure{max-width:100%;margin:.018in 0}.writtenDisplayRegion .paperStemFigure.withBorder{border-color:#94a3b8}.writtenDisplayRegion .paperStemImage{object-fit:contain;width:100%;max-width:100%;height:auto;max-height:2.4in}.writtenDisplayRegion .paperStemFigure figcaption{color:#475569;font-size:8pt}.answerSheetObjectiveOptions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.018in .12in;margin-top:.035in;display:grid}.answerSheetObjectiveOption{align-items:flex-start;gap:.04in;min-width:0;font-size:9.5pt;line-height:1.18;display:flex}.answerSheetObjectiveOption strong{flex:none;font-weight:800}.answerSheetObjectiveOption .richContent{min-width:0;font-size:inherit;line-height:inherit}.fillBlankQuestionLabel{white-space:nowrap;justify-content:flex-start;align-items:flex-end;padding-bottom:.01in;font-size:10pt;font-weight:700;line-height:1;display:flex}.subjectiveQuestionLabel{font-size:10pt;font-weight:700;line-height:1;top:.18in;left:.14in}.subjectiveAnswerLine{border-bottom:1.1px solid #111827;height:0}.compositionGrid{--composition-grid-color:#111827;border:3px double var(--composition-grid-color);box-sizing:border-box;background:0 0;overflow:hidden}.compositionGridLine{z-index:1;pointer-events:none}.compositionGridLine.vertical{border-left:1.1px solid var(--composition-grid-color);width:0;top:0;bottom:0}.compositionGridLine.horizontal{border-top:3px double var(--composition-grid-color);height:0;left:0;right:0}.enhancedScanning{--markable-deep-pink:#be185d;--markable-light-pink:#f9a8c7}.enhancedScanning .answerPanelFrame,.enhancedScanning .objectiveFrame,.enhancedScanning .fillBlankGroupFrame,.enhancedScanning .subjectiveGroupFrame{border-color:var(--markable-deep-pink)}.enhancedScanning .candidateNotice,.enhancedScanning .studentNoGridTitle,.enhancedScanning .studentNoDigit,.enhancedScanning .invalidMarkLine,.enhancedScanning .writtenDisplayRegion{color:var(--markable-deep-pink)}.enhancedScanning .questionTagRegion{color:var(--markable-light-pink)}.enhancedScanning .studentNoGridPrefix,.enhancedScanning .studentNoWriteBox,.enhancedScanning .studentNoBox,.enhancedScanning .answerOptionBox,.enhancedScanning .invalidMarkBox,.enhancedScanning .compositionGrid{border-color:var(--markable-light-pink)}.enhancedScanning .compositionGrid{--composition-grid-color:var(--markable-light-pink)}.enhancedScanning .writtenGroupHeaderRegion,.enhancedScanning .writtenDisplayRegion .paperStemFigure.withBorder{border-color:var(--markable-light-pink)}.enhancedScanning .writtenStemTitle,.enhancedScanning .writtenInstructionRegion,.enhancedScanning .writtenInstructionRegion .richContent,.enhancedScanning .writtenInstructionRegion .writtenStemTitle{color:#111827}.enhancedScanning .studentNoBoxDigit{opacity:1;color:var(--markable-light-pink)}.enhancedScanning .answerOptionBox{color:var(--markable-light-pink)}.enhancedScanning .printAnchor,.enhancedScanning .printRowAnchor,.enhancedScanning .studentNoAnchor,.enhancedScanning .invalidMarkAnchor,.enhancedScanning .subjectiveLineAnchor{background:#111827}.enhancedScanning .answerQuestionNo,.enhancedScanning .fillBlankQuestionLabel,.enhancedScanning .subjectiveQuestionLabel,.enhancedScanning .subjectiveAnswerLine,.enhancedScanning .answerBarcode,.enhancedScanning .answerSheetCode,.enhancedScanning .pageMark{color:#111827;border-color:#111827}.answerFooter{border-top:1px solid #111827;padding-top:.08in;position:absolute;bottom:.32in;left:.72in;right:.72in}.pageMark{text-align:center;font-size:8pt;position:absolute;bottom:.32in;left:0;right:0}.blankBackPage{justify-content:center;align-items:center;display:flex}.blankBackText{letter-spacing:0;color:#111827;font-size:18pt;font-weight:700}.studentPaperPage{page:studentPaper;box-sizing:border-box;page-break-after:always;break-after:page;background:#fff;width:8.2667in;height:11.6933in;margin:0 auto;padding:1.08in .78in 1.22in;position:relative;overflow:hidden}.studentPaperRoot:not(.studentPaperLivePreview) .studentPaperPage{height:auto;min-height:11.6933in;overflow:visible}.studentPaperContinuous{box-sizing:border-box;background:#fff;width:8.2667in;min-height:11.6933in;margin:0 auto;padding:1.08in .78in 1.22in;position:relative}.studentPaperContinuousContent{min-height:100%}.studentPaperPages{gap:18px;display:grid}.studentPaperPageContent{height:100%;overflow:hidden}.studentPaperRoot:not(.studentPaperLivePreview) .studentPaperPageContent{height:auto;overflow:visible}.studentPaperMeasure{visibility:hidden;pointer-events:none;z-index:-1;width:8.2667in;position:absolute;top:0;left:-10000px}.studentPaperMeasurePage{box-sizing:border-box;background:#fff;width:8.2667in;min-height:11.6933in;padding:1.08in .78in 1.22in}.studentPaperMeasurePage .studentPaperPageContent{height:auto;overflow:visible}.studentPaperHeader{border-bottom:2px solid #111827;margin-bottom:.24in;padding-bottom:.18in}.studentPaperHeader h1{margin:0 0 .06in;font-size:20pt}.studentPaperHeader p{color:#4b5563;margin:0}.studentPaperCover{gap:.1in;margin-bottom:.38in;display:grid}.paperInfoGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.1in;display:grid}.paperInfoItem{border:1px solid #111827;justify-content:space-between;gap:.08in;padding:.08in .1in;font-size:9pt;display:flex}.paperInfoItem span{color:#374151}.paperStudentInfo{border:1px solid #111827;grid-template-columns:repeat(4,minmax(0,1fr));gap:.1in;padding:.1in;font-size:9.5pt;display:grid}.paperInstructions{border:1px solid #111827;padding:.1in .14in}.paperInstructions h2,.manualScoreTable h2{margin:0 0 .08in;font-size:11pt}.paperInstructions ol{gap:.02in;margin:0;padding-left:.18in;font-size:8.4pt;line-height:1.32;display:grid}.paperStatsSummary{margin:0;font-size:8.6pt;line-height:1.35}.manualScoreTable{break-inside:avoid}.manualScoreTable table{border-collapse:collapse;width:100%;font-size:9pt}.manualScoreTable th,.manualScoreTable td{text-align:center;border:1px solid #111827;padding:.06in .08in}.paperQuestionGroupTitle{break-after:avoid;page-break-after:avoid;border-bottom:1px solid #111827;margin:0 0 .12in;padding-bottom:.05in;font-size:14pt}.paperQuestion{break-inside:auto;page-break-inside:auto;font-size:var(--student-paper-body-font-size);orphans:3;widows:3;padding:.12in 0;line-height:1.55}.paperInstructionBlock{color:#111827;padding:.12in 0}.paperInstructionBlock .paperQuestionBody,.paperInstructionBlock .paperQuestionLine,.paperInstructionBlock .paperQuestionLine .richTextBlock,.paperInstructionBlock .paperQuestionLine .richContent p{display:block}.paperContinuationMarker{z-index:5;color:#111827;background:#fff;border-radius:999px;padding:.02in .08in;font-size:8.5pt;font-weight:800;box-shadow:0 0 0 1px #cbd5e1}.paperContinuationMarkerFlow{align-items:center;margin:0 0 .08in;display:inline-flex}.paperQuestionBody.withImage{grid-template-columns:minmax(0,1fr) 1.7in;align-items:start;gap:.16in;display:grid}.paperQuestionLine{align-items:baseline;gap:.08in;min-width:0;display:flex}.paperQuestionPrefix{white-space:nowrap;flex:none;font-weight:700}.paperQuestionLine .richContent{flex:auto;min-width:0}.paperQuestionLine .richTextBlock,.paperQuestionLine .richContent p{width:100%;font-size:inherit;line-height:inherit;display:block}.richContent [data-text-align],.richContent [style*=text-align]{width:100%;display:block}.paperOption,.paperOption .richContent,.paperOption .richTextBlock,.paperOption .richContent p{font-size:inherit;line-height:inherit}.paperQuestionLine .blankSlot{background:0 0;border:0;border-bottom:1px solid #111827;border-radius:0;padding:0 .08in}.paperQuestionLine .blankSlot:before{content:""}.paperStemImages{justify-items:center;gap:.08in;display:grid}.paperStemFigure{transform-origin:50%;max-width:100%;box-shadow:none;background:0 0;border:0;justify-items:center;gap:.04in;margin:0;padding:0;display:grid}.paperStemFigure.withBorder{border:1px solid #111827;padding:.04in}.paperStemImage{object-fit:contain;width:100%;max-width:100%;height:auto;max-height:2.6in;box-shadow:none;background:0 0;border:0;display:block}.paperStemFigure figcaption{text-align:center;color:#374151;width:100%;font-size:7.5pt;line-height:1.25}.paperOptions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.08in .22in;margin-top:.08in;display:grid}.paperOption{grid-template-columns:.24in minmax(0,1fr);gap:.04in;display:grid}.paperAnswerSpace{border:1px solid #9ca3af;height:1.2in;margin-top:.08in}.teacherAnswerKeyHeader p:after{content:" · 供教师批阅参考";color:#b91c1c;font-weight:700}.teacherAnswerKeyQuestion{padding-bottom:.18in}.teacherAnswerKeyBlock{color:#b91c1c;break-inside:avoid;page-break-inside:avoid;background:#fff7f7;border-left:3px solid #dc2626;margin-top:.12in;padding:.1in .12in}.teacherAnswerKeySection+.teacherAnswerKeySection{margin-top:.08in}.teacherAnswerKeySection h3{color:#991b1b;margin:0 0 .04in;font-size:9.5pt}.teacherAnswerKeyBlock .richContent,.teacherAnswerKeyBlock .richContent p,.teacherAnswerKeyPlainText{color:#b91c1c;white-space:pre-wrap;margin:0;font-size:9.4pt;line-height:1.45}.teacherAnswerKeyRubricTable{border-collapse:collapse;color:#b91c1c;width:100%;font-size:8.5pt;line-height:1.35}.teacherAnswerKeyRubricTable th,.teacherAnswerKeyRubricTable td{vertical-align:top;text-align:left;border:1px solid #fca5a5;padding:.04in .05in}.teacherAnswerKeyRubricTable th{color:#991b1b;background:#fee2e2;font-weight:800}.teacherAnswerKeyRubricTable ul{margin:0;padding-left:.14in}.statsGrid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px;display:grid}.gradingAssignmentNoticeStack{margin-bottom:18px}.statsGrid.compact{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:10px}.statCard{background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:12px}.statCard span{color:#6b7280;font-size:12px;display:block}.statCard strong{margin-top:4px;font-size:22px;line-height:1.15;display:block}.inlineCheck{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.checkboxGrid{grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:6px 12px;display:grid}.checkboxGrid label{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.pipelineProgress{min-width:150px}.pipelineProgress span{color:#4b5563;margin-bottom:4px;font-size:12px;display:block}.pipelineProgress div{background:#e5e7eb;border-radius:999px;height:8px;overflow:hidden}.pipelineProgress i{border-radius:inherit;background:#2563eb;height:100%;display:block}.pipelineProgress.large div{height:12px}.gradingPipelineModal{flex-direction:column;width:calc(100vw - 16px);max-width:none;height:calc(100vh - 16px);display:flex;overflow:hidden}.abnormalTaskModal{width:calc(100vw - 16px);max-width:none;height:calc(100vh - 16px)}.gradingPipelineBody{flex:auto;grid-template-rows:auto minmax(0,1fr);grid-template-columns:260px minmax(560px,1fr) minmax(420px,520px);gap:16px;min-width:1240px;min-height:0;display:grid;overflow:hidden}.gradingPipelineError{grid-column:1/-1}.abnormalTaskBody{grid-template-columns:minmax(620px,1fr) minmax(420px,520px);gap:16px;min-width:1080px;display:grid;overflow:auto}.gradingPipelineSide,.gradingInspector{grid-row:2;min-height:0;overflow:auto}.gradingAnswerPane{background:#f9fafb;border:1px solid #d1d5db;border-radius:8px;flex-direction:column;grid-row:2;min-height:0;padding:12px;display:flex;overflow:auto}.gradingAnswerPane img{background:#fff;max-width:100%;margin:0 auto;display:block}.gradingAnswerPane:has(.annotationCanvasShell){padding:0}.gradingAnswerPane>.notice{margin:12px}.annotationScopeBar{border-bottom:1px solid var(--line-soft);background:#fff;justify-content:space-between;align-items:center;gap:10px;min-height:46px;padding:7px 10px;display:flex}.segmentedControl{border:1px solid var(--line);background:#f8fafc;border-radius:6px;align-items:center;padding:2px;display:inline-flex}.segmentedControl button{min-height:30px;box-shadow:none;background:0 0;border:0;border-radius:4px;padding:5px 12px}.segmentedControl button.active{color:var(--primary);background:#fff;box-shadow:0 1px 3px #0f172a29}.reportModuleSwitch{margin-bottom:16px}.reportConfigLayout{grid-template-columns:minmax(260px,340px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.reportConfigPanel{position:sticky;top:18px}.reportConfigPanel .checkboxLine{align-items:flex-start}.reportConfigPanel .checkboxLine span{gap:3px;display:grid}.reportConfigPanel .checkboxLine small{color:#64748b;font-size:12px;line-height:1.4}.reportSectionBlock{margin-top:18px}.reportMiniBars{gap:8px;margin-top:10px;display:grid}.reportMiniBars>div{color:#475569;grid-template-columns:96px minmax(0,1fr) 42px;align-items:center;gap:8px;font-size:12px;display:grid}.reportMiniBars div div{background:#e2e8f0;border-radius:999px;height:10px;overflow:hidden}.reportMiniBars i{background:linear-gradient(90deg,#2563eb,#22c55e);height:100%;display:block}.studentReportBatchModal,.studentReportBatchJobModal{width:min(1080px,100vw - 32px)}.studentReportBatchBody{gap:14px;display:grid}.batchFilters,.batchConfigGrid{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.batchFilters input,.batchFilters select{min-width:180px}.batchSelectionSummary{color:#475569;font-size:13px}.batchStudentList{gap:8px;max-height:420px;padding-right:4px;display:grid;overflow:auto}.batchStudentRow{background:#fff;border:1px solid #e2e8f0;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}@media (max-width:900px){.reportConfigLayout{grid-template-columns:1fr}.reportConfigPanel{position:static}}.annotationCanvasShell{background:#eef1f5;flex-direction:column;min-width:0;min-height:360px;display:flex}.annotationToolbar{z-index:5;border-bottom:1px solid var(--line);background:#fff;flex-wrap:wrap;align-items:center;gap:8px;padding:8px;display:flex;position:sticky;top:0}.annotationToolGroup{border-right:1px solid var(--line-soft);align-items:center;gap:4px;min-height:34px;padding-right:8px;display:flex}.annotationToolGroup:last-child{border-right:0;padding-right:0}.annotationToolButton{width:34px;height:34px;padding:7px}.annotationToolButton svg{width:18px;height:18px}.annotationToolButton.active{border-color:var(--primary);background:var(--primary-weak);color:var(--primary)}.annotationColors>button{border:2px solid #fff;border-radius:50%;width:23px;height:23px;min-height:23px;padding:0;box-shadow:0 0 0 1px #cbd5e1}.annotationColors>button.active{box-shadow:0 0 0 2px var(--primary)}.annotationColors label{color:var(--muted);align-items:center;gap:5px;margin-left:4px;font-size:12px;font-weight:700;display:flex}.annotationColors input[type=range]{width:82px;min-height:24px;padding:0}.annotationZoomTools{margin-left:auto}.annotationZoomValue{font-variant-numeric:tabular-nums;min-width:56px;min-height:34px;padding:5px 7px}.annotationViewport{overscroll-behavior:contain;background:#dfe4ea;flex:auto;min-height:320px;padding:0;overflow:auto}.annotationViewport .konvajs-content{touch-action:none;background:#fff;margin:0 auto;box-shadow:0 1px 8px #0f172a26}.annotationImageLoading{min-height:320px;color:var(--muted);place-items:center;display:grid}.annotationTextEntry,.annotationClearConfirm{z-index:4;border-bottom:1px solid var(--line-soft);background:#fff;align-items:center;gap:8px;padding:8px;display:flex}.annotationTextEntry input{flex:auto;min-width:180px}.annotationTextEntry button{align-items:center;gap:5px;display:inline-flex}.annotationTextEntry svg{width:16px;height:16px}.annotationClearConfirm span{flex:auto;font-weight:700}.gradingAnnotationEditor{flex-direction:column;height:100%;min-height:0;display:flex}.gradingAnnotationEditor .annotationCanvasShell{flex:auto}.annotationSaveStatus{border-bottom:1px solid var(--line-soft);color:#475569;background:#f8fafc;flex-wrap:wrap;align-items:center;gap:8px;padding:7px 10px;font-size:12px;display:flex}.annotationSaveStatus>span{font-weight:800}.annotationSaveStatus>small{flex:auto}.annotationSaveStatus.saved{color:var(--success);background:#edf8f1}.annotationSaveStatus.unsaved,.annotationSaveStatus.saving{color:#92400e;background:#fffbeb}.annotationSaveStatus.error,.annotationSaveStatus.conflict{color:var(--danger);background:#fff1ef}.modalBackdrop.nested{z-index:80;background:#0f172a5c}.smallModal{width:min(720px,100vw - 32px);max-width:none}.publishReadinessModal{flex-direction:column;height:min(820px,100vh - 48px);display:flex;overflow:hidden}.publishReadinessModal>.modalHeader,.publishReadinessModal>.modalFooter{flex:none}.publishReadinessModal>.modalBody{flex:auto;min-height:0;overflow:auto}.publishReadinessList{gap:10px;display:grid}.publishReadinessItem{border:1px solid var(--line-soft);background:#fff;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding:12px;display:grid}.publishReadinessItem.ignored{background:#f8fafc}.publishReadinessItemTitle{color:var(--text);font-weight:700}.publishReadinessItemMeta{color:#334155;white-space:pre-wrap;word-break:break-word;background:#f1f5f9;border-radius:8px;max-height:120px;margin:8px 0 0;padding:8px;font-size:12px;overflow:auto}.gradingInspector{align-content:start;gap:12px;display:grid}.gradingInspector label{gap:6px;display:grid}.gradingInspector textarea{resize:vertical;min-height:88px}.gradingScoreField{gap:6px;font-weight:700;display:grid}.gradingScoreControls{grid-template-columns:auto minmax(90px,1fr) auto;align-items:stretch;gap:6px;display:grid}.gradingScoreControls input{text-align:center;font-variant-numeric:tabular-nums;min-width:0;font-size:18px;font-weight:800}.gradingRubric,.aiSuggestionBox,.arbitrationBox{background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:12px}.rubricLegacyText,.rubricLegacyDetails p{white-space:pre-wrap;margin:8px 0 0;line-height:1.55}.structuredRubricDisplay{gap:8px;margin-top:8px;display:grid}.rubricDisplaySummary{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.rubricDisplaySummary strong{color:var(--text)}.rubricDisplayTableWrap{border:1px solid var(--line-soft);border-radius:6px;max-height:340px;overflow:auto}.rubricDisplayTable{border-collapse:collapse;width:100%;min-width:620px;font-size:12px}.rubricDisplayTable th,.rubricDisplayTable td{border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:top;padding:8px}.rubricDisplayTable th{z-index:1;background:#eef1f5;position:sticky;top:0}.rubricDisplayTable td p{margin:0 0 6px;line-height:1.45}.rubricDisplayTable td p:last-child{margin-bottom:0}.rubricDisplayTable td p span{color:var(--primary);background:#eef4ff;border-radius:999px;margin-right:6px;padding:1px 5px;font-size:11px;font-weight:800;display:inline-flex}.rubricDisplayTable ul{gap:5px;margin:0;padding:0;list-style:none;display:grid}.rubricDisplayTable li{grid-template-columns:56px minmax(0,1fr);gap:6px;line-height:1.4;display:grid}.rubricDisplayTable li strong{color:var(--primary);font-variant-numeric:tabular-nums}.rubricLegacyDetails{color:var(--muted);font-size:12px}.tenantSelectPage,.platformLoginPage,.legacyRoutePage{background:linear-gradient(135deg,#eef3f8 0%,#f8fafc 48%,#eef2f7 100%);place-items:center;min-height:100vh;padding:32px 20px;display:grid}.tenantSelectPanel,.legacyRoutePage{border:1px solid var(--line-soft);background:var(--surface);border-radius:8px;gap:18px;width:min(720px,100%);padding:36px;display:grid;box-shadow:0 18px 48px #0f172a1a}.tenantSelectLogo{object-fit:contain;object-position:left center;width:168px;height:44px}.tenantSelectPanel h1,.legacyRoutePage h1{margin:0;font-size:28px;line-height:1.2}.tenantSelectPanel p,.legacyRoutePage p{color:var(--muted);margin:0}.tenantList{gap:10px;display:grid}.tenantListItem{border:1px solid var(--line-soft);background:var(--surface-subtle);min-height:54px;color:var(--text);border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.tenantListItem:hover{background:#f3f7fc;border-color:#b7c4d6;text-decoration:none}.tenantListItem span{color:var(--muted);font-size:12px}.tenantManualForm{border-top:1px solid var(--line-soft);gap:12px;padding-top:16px;display:grid}.tenantSearchBox{gap:8px;display:grid;position:relative}.tenantSearchDropdown{z-index:8;border:1px solid var(--line);background:#fff;border-radius:8px;gap:6px;max-height:280px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:auto;box-shadow:0 16px 36px #0f172a29}.tenantSearchResult{min-width:0;color:var(--text);border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:10px;display:flex}.tenantSearchResult:hover{background:#f3f7fc}.tenantSearchResult span{gap:3px;min-width:0;display:grid}.tenantSearchResult strong,.tenantSearchResult small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tenantSearchResult small,.tenantSearchState{color:var(--muted);font-size:12px}.tenantSearchResult b{color:var(--primary);flex:none;font-size:12px}.tenantSearchState{padding:12px 10px}.tenantCardList{gap:10px;max-height:320px;padding-right:2px;display:grid;overflow:auto}.tenantCard{border:1px solid var(--line-soft);min-width:0;min-height:58px;color:var(--text);background:#fff;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:12px;text-decoration:none;display:flex}.tenantCard:hover{background:#f3f7fc;border-color:#b7c4d6}.tenantCard span{gap:3px;min-width:0;display:grid}.tenantCard strong,.tenantCard small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tenantCard small{color:var(--muted);font-size:12px}.tenantCard b{color:var(--primary);flex:none;font-size:12px}.tenantSelectActions{gap:10px;display:grid}.buttonLike{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.tenantSelectLoginPanel{align-content:start;width:min(460px,100%)}.tenantSelectLoginPanel h1{margin:0;font-size:28px;line-height:1.2}.tenantSelectLoginPanel>p{color:var(--muted);margin:-10px 0 4px}.tenantSelectLoginPanel .tenantList{max-height:232px;padding-right:2px;overflow:auto}.tenantSelectLoginPanel .tenantListItem{background:#fff;min-height:58px}.tenantSelectLoginPanel .tenantListItem span{gap:4px;min-width:0;display:grid}.tenantSelectLoginPanel .tenantListItem strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tenantSelectLoginPanel .tenantListItem small{color:var(--muted);font-size:12px}.tenantSelectLoginPanel .tenantListItem b{color:var(--primary);font-size:13px;font-weight:700}.platformLoginPage{background:#202734;align-content:center;gap:16px}.platformLoginBrand{gap:12px;display:grid}.platformLoginBrand img{object-fit:contain;object-position:left center;width:156px;height:42px}.platformLoginBrand h1{margin:0}.platformLoginBrand p{color:var(--muted);margin:4px 0 0}.platformMfaProtected{color:#5b6472;text-align:center;margin:-2px 0 0;font-size:13px}.platformLoginFooter,.platformFooter{color:#8b95a4;text-align:center;font-size:12px}.platformLoginFooter a,.platformFooter a{color:inherit;font-weight:700;text-decoration:none}.platformLoginFooter a:hover,.platformFooter a:hover{color:var(--primary);text-decoration:underline}.platformMfaModal{width:min(460px,100%)}.platformMfaBody{gap:14px;display:grid}.platformMfaCode{text-align:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;gap:8px;padding:14px;display:grid}.platformMfaCode span{color:var(--muted);font-size:12px;font-weight:700}.platformMfaCode strong{color:#1d4ed8;letter-spacing:.08em;font-size:30px}.platformMfaWaiting{border:1px solid var(--line-soft);background:var(--surface-subtle);border-radius:6px;align-items:center;gap:12px;padding:12px;display:flex}.platformMfaWaiting strong,.platformMfaResult strong{margin-bottom:3px;display:block}.platformMfaWaiting p,.platformMfaResult p{color:var(--muted);margin:0}.platformMfaPulse{background:var(--primary);border-radius:999px;flex:none;width:14px;height:14px;animation:1.2s infinite platformMfaPulse;box-shadow:0 0 #2454a659}.platformMfaResult{border:1px solid var(--line-soft);background:var(--surface-subtle);text-align:center;border-radius:6px;justify-items:center;gap:8px;padding:16px;display:grid}.platformMfaResult span{border-radius:999px;place-items:center;width:38px;height:38px;font-size:22px;font-weight:800;display:inline-grid}.platformMfaResult.approved{color:var(--success);background:#f0fdf4;border-color:#bbf7d0}.platformMfaResult.approved span{background:#dcfce7}.platformMfaResult.rejected{color:var(--danger);background:#fef2f2;border-color:#fecaca}.platformMfaResult.rejected span{background:#fee2e2}.platformMfaResult.expired{color:var(--warning);background:#fff8e6;border-color:#f6d78b}.platformMfaResult.expired span{background:#ffedbd}@keyframes platformMfaPulse{0%{box-shadow:0 0 #2454a659}70%{box-shadow:0 0 0 10px #2454a600}to{box-shadow:0 0 #2454a600}}.platformPage{background:var(--bg);align-content:start;gap:18px;min-height:100vh;padding:28px;display:grid}.platformHeader{justify-content:space-between;align-items:center;gap:16px;display:flex}.platformHeader h1{margin:0 0 4px}.platformHeader p{color:var(--muted);margin:0}.tenantAdminList{gap:12px;display:grid}.tenantAdminItem{border:1px solid var(--line-soft);background:var(--surface-subtle);border-radius:6px;gap:12px;padding:14px;display:grid}.tenantAdminItem>div:first-child{gap:4px;display:grid}.tenantAdminItem span{color:var(--muted);overflow-wrap:anywhere;font-size:12px}.healthBlock{border:1px solid var(--line);color:#f9fafb;background:#111827;border-radius:6px;max-height:260px;margin:0;padding:12px;font-size:12px;overflow:auto}.platformShell{background:var(--bg)}.platformSidebar .nav a[aria-current=page]{color:#fff;background:#2d3748}.platformTopbar{z-index:20;position:sticky;top:0}.platformFooter{padding:20px 24px 28px}.platformTitle{gap:2px;display:grid}.platformTitle strong{color:#111827}.platformTitle span{color:var(--muted);font-size:12px}.platformUser{position:relative}.platformUserMenu{z-index:30;border:1px solid var(--line);border-radius:var(--radius);background:#fff;gap:6px;width:220px;padding:10px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 16px 38px #0f172a24}.platformUserMenu>div{border-bottom:1px solid var(--line-soft);gap:2px;padding:4px 6px 8px;display:grid}.platformUserMenu span{color:var(--muted);font-size:12px}.platformUserMenu button{background:0 0;border-color:#0000;justify-content:flex-start}.platformUserMenu button:hover{background:var(--surface-subtle)}.platformContent{gap:16px;display:grid}.platformStats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.platformStats>div{border:1px solid var(--line);border-radius:var(--radius);background:#fff;gap:8px;padding:14px;display:grid}.platformStats span{color:var(--muted);font-size:12px}.platformStats strong{color:#111827;font-size:24px;line-height:1}.platformSettingRow{border:1px solid var(--line-soft);background:var(--surface-subtle);border-radius:6px;justify-content:space-between;align-items:center;gap:18px;padding:14px;display:flex}.platformSettingRow>div{gap:4px;min-width:0;display:grid}.platformSettingRow span{color:var(--muted);font-size:13px;line-height:1.55}.platformSettingRow input{flex:none;width:18px;height:18px}.tenantDirectoryTable table{min-width:560px}.tenantDirectoryTable th:last-child,.tenantDirectoryTable td:last-child{text-align:right;width:120px}.tenantDirectoryTable td{color:#111827}.tenantDetailModal{max-width:980px}.tenantDetailModal .modalHeader>div{gap:4px;min-width:0;display:grid}.tenantDetailModal .modalHeader p{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:13px}.tenantDetailBody{align-content:start}.tenantDetailHeader{border:1px solid var(--line-soft);background:var(--surface-subtle);border-radius:6px;justify-content:space-between;align-items:flex-start;gap:14px;padding:12px;display:flex}.tenantDetailHeader .tenantActions{justify-content:flex-end}.tenantDetailEdit{border:1px solid var(--line-soft);background:#fff;border-radius:6px;gap:12px;padding:12px;display:grid}.modalFooter.inlineFooter{margin:0 -12px -12px;padding:12px}.platformAdminModal{max-width:1180px}.platformAdminModalBody{gap:18px;display:grid}.platformGrantEditor{gap:10px;display:grid}.panelHeader.compact{border:0;padding:0}.panelHeader.compact h3{margin:0;font-size:1rem}.permissionChipGrid{flex-wrap:wrap;gap:8px;display:flex}.permissionChipGrid label{border:1px solid var(--line-soft);white-space:nowrap;background:#fff;border-radius:8px;align-items:center;gap:5px;min-height:30px;padding:5px 8px;font-size:.82rem;display:inline-flex}.temporaryPasswordBox{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.temporaryPasswordBox code{border:1px solid var(--line-soft);overflow-wrap:anywhere;background:#f8fafc;border-radius:8px;min-width:0;padding:12px;font-size:1rem;display:block}.mutedText{color:var(--muted);font-size:.82rem;display:block}.tenantDetailGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.tenantDetailGrid>div{border:1px solid var(--line-soft);background:var(--surface-subtle);border-radius:6px;min-width:0;padding:10px}.tenantDetailGrid dt{color:var(--muted);margin-bottom:4px;font-size:12px;font-weight:700}.tenantDetailGrid dd{color:#111827;overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.45}.tenantDetailHealth{gap:8px;display:grid}.tenantDetailHealth strong{color:#374151;font-size:13px}.idleLogoutModal{width:min(440px,100%)}.idleLogoutModal .modalBody p{color:#374151;margin:0;line-height:1.6}.idleCountdown{color:#c2410c;background:#fff7ed;border:1px solid #fed7aa;border-radius:6px;place-items:center;min-height:76px;font-size:34px;font-weight:800;line-height:1;display:grid}.platformAuditBody{gap:14px;display:grid}.platformAuditNav{margin:-22px -24px 0;padding:8px 24px 0;position:static}.platformAuditPageHeader{margin-bottom:0}.platformAuditInlineHeader{border-bottom:0;padding:0}.platformAuditFilters{border:1px solid var(--line-soft);background:var(--surface-subtle);border-radius:6px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end;gap:12px;padding:12px;display:grid}.platformAuditFilters label{gap:6px;min-width:0;display:grid}.platformAuditFilters label span{color:var(--muted);font-size:12px;font-weight:700}.platformAuditFilters input,.platformAuditFilters select{width:100%}.platformAuditFilterActions{align-items:center;gap:8px;display:flex}.platformAuditTable table{min-width:1180px}.platformAuditTable td{vertical-align:top}.platformAuditTable td:nth-child(4){min-width:220px}.auditErrorText{color:#991b1b;margin-top:4px;font-size:12px;line-height:1.45;display:block}.auditActionTag{color:#374151;white-space:nowrap;background:#f9fafb;border:1px solid #d1d5db;border-radius:999px;align-items:center;max-width:100%;min-height:24px;padding:0 8px;font-size:12px;font-weight:750;line-height:1.2;display:inline-flex}.auditActionTag.auth{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.auditActionTag.account{color:#0f766e;background:#f0fdfa;border-color:#99f6e4}.auditActionTag.settings,.auditActionTag.organization{color:#4d7c0f;background:#f7fee7;border-color:#d9f99d}.auditActionTag.tenant,.auditActionTag.permission{color:#6d28d9;background:#f5f3ff;border-color:#ddd6fe}.auditActionTag.teacher,.auditActionTag.student{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.auditActionTag.exam,.auditActionTag.print{color:#92400e;background:#fffbeb;border-color:#fde68a}.auditActionTag.scan{color:#4338ca;background:#eef2ff;border-color:#c7d2fe}.auditActionTag.grading{color:#a21caf;background:#fdf4ff;border-color:#f5d0fe}.auditActionTag.score,.auditActionTag.file{color:#c2410c;background:#fff7ed;border-color:#fed7aa}.auditActionTag.failed{color:#991b1b;background:#fef2f2;border-color:#fecaca}.auditResultBadge{border:1px solid var(--line-soft);color:#374151;background:#f3f4f6;border-radius:999px;align-items:center;min-height:24px;padding:0 8px;font-size:12px;font-weight:700;display:inline-flex}.auditResultBadge.success{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.auditResultBadge.failed{color:#991b1b;background:#fef2f2;border-color:#fecaca}.platformAuditDetailRow td{background:#fbfcfe}.platformAuditDetailModal{max-width:980px}.platformAuditDetailBody{gap:14px;display:grid}.platformAuditDetailGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.platformAuditDetailGrid>div{border:1px solid var(--line-soft);background:var(--surface-subtle);border-radius:6px;min-width:0;padding:10px}.platformAuditDetailGrid dt{color:var(--muted);margin-bottom:4px;font-size:12px;font-weight:700}.platformAuditDetailGrid dd{color:#111827;overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.45}.platformAuditJsonGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.platformAuditJsonGrid>div{gap:8px;min-width:0;display:grid}.platformAuditJsonGrid strong{color:#374151;font-size:13px}.platformAuditRawBlock{gap:8px;display:grid}.platformAuditRawBlock strong{color:#374151;font-size:13px}.tenantAdminItem>.tenantAdminHead{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.tenantAdminItem>.tenantAdminHead>div:first-child{gap:4px;min-width:0;display:grid}.tenantBadges,.tenantActions{flex-wrap:wrap}.tenantBadges{justify-content:flex-end;align-items:center;gap:6px;display:flex}.statusPill,.tenantTypeBadge{border:1px solid var(--line-soft);color:#374151;background:#fff;border-radius:999px;align-items:center;min-height:24px;padding:0 8px;font-size:12px;font-weight:650;display:inline-flex}.tenantAdminItem .statusPill,.tenantAdminItem .tenantTypeBadge{color:#374151}.status-active{color:#166534;background:#effaf2;border-color:#b8dfc4}.status-disabled{color:#475569;background:#f4f6f9;border-color:#d7dde8}.status-failed{color:#b42318;background:#fff1ef;border-color:#efc2bd}.status-archived{color:#5b21b6;background:#f5f3ff;border-color:#ddd6fe}.status-initializing{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.tenantAdminItem .status-active{color:#166534}.tenantAdminItem .status-disabled{color:#475569}.tenantAdminItem .status-failed{color:#b42318}.tenantAdminItem .status-archived{color:#5b21b6}.tenantAdminItem .status-initializing{color:#1d4ed8}.tenantTypeBadge.muted{color:var(--muted)}.tenantMetaGrid{grid-template-columns:1.2fr .5fr 1.4fr;gap:10px;margin:0;display:grid}.tenantMetaGrid div{border:1px solid var(--line-soft);background:#fff;border-radius:6px;gap:4px;min-width:0;padding:10px;display:grid}.tenantMetaGrid dt{color:var(--muted);font-size:12px}.tenantMetaGrid dd{color:#111827;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;overflow:hidden}.checkboxLine{color:#374151;align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.checkboxLine input{width:auto}.tenantWizardModal{flex-direction:column;height:min(760px,100vh - 48px);display:flex;overflow:hidden}.tenantEditModal{width:min(560px,100%)}.tenantWizardModal .modalHeader{flex:none}.tenantWizardModal .modalHeader>div{gap:4px;display:grid}.tenantWizardModal .modalHeader p{color:var(--muted);margin:0;font-size:13px}.wizardSteps{border-bottom:1px solid var(--line-soft);background:#f8fafc;flex:none;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px 16px;display:grid}.wizardSteps button{color:#4b5563;background:0 0;border-color:#0000;justify-content:flex-start;min-width:0}.wizardSteps button.active{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.wizardSteps span{color:#374151;background:#e5e7eb;border-radius:999px;place-items:center;width:22px;height:22px;margin-right:6px;font-size:12px;font-weight:700;display:inline-grid}.wizardSteps button.active span{color:#fff;background:#2454a6}.tenantWizardBody{flex:auto;align-content:start;min-height:0;overflow:auto}.wizardPane{gap:14px;display:grid}.wizardChoiceGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.wizardChoiceGrid button{text-align:left;white-space:normal;align-content:start;justify-items:start;gap:8px;min-height:138px;padding:16px;display:grid}.wizardChoiceGrid button.selected{background:#eef4ff;border-color:#2454a6}.wizardChoiceGrid strong{color:#111827;font-size:16px}.wizardChoiceGrid span{color:var(--muted);line-height:1.55}.wizardSummary dl{gap:10px;margin:0;display:grid}.wizardSummary div{border-bottom:1px solid var(--line-soft);grid-template-columns:160px minmax(0,1fr);gap:12px;padding:10px 0;display:grid}.wizardSummary dt{color:var(--muted)}.wizardSummary dd{overflow-wrap:anywhere;color:#111827;min-width:0;margin:0;font-weight:650}@page{size:A4;margin:0}@page studentPaper{size:A4;margin:1.08in .78in 1.22in}@page answerSheetA3{size:A3 landscape;margin:0}@media (max-width:860px){.topbar{padding:0 16px}.addressBar{flex:auto;max-width:100%}.addressBar:has(.middleCrumb) .middleCrumb{display:none}.addressBar:has(.middleCrumb) .collapsedCrumb{display:inline-flex}.topbarIdentity>span:first-child{display:none}.topbarUserButton{text-overflow:ellipsis;max-width:128px;overflow:hidden}}@media (max-width:520px){.addressBar{padding:0 10px}.firstCrumb a{text-overflow:ellipsis;max-width:72px;overflow:hidden}.lastCrumb strong{max-width:160px}.pageToolbar{flex-direction:column;align-items:stretch}}@page studentPaperA3{size:A3 landscape;margin:.72in}.studentPaperRoot.prepA3 .studentPaperPage{page:studentPaperA3}@media print{.studentPaperMeasure{display:none}.studentPaperPage{width:8.2667in;height:auto;min-height:0;padding:0;overflow:visible}.studentPaperPageContent{height:auto;overflow:visible}.printPage,.studentPaperPage{box-shadow:none;margin:0}}@media (max-width:860px){.sidebar{position:static}.grid,.grid.three,.grid.four{grid-template-columns:1fr}.scanResultModalBody,.studentPageModalBody,.recropModalBody,.gradingPipelineBody{grid-template-rows:auto;grid-template-columns:1fr;min-width:0;max-height:calc(100vh - 140px);overflow:auto}.gradingPipelineSide,.gradingAnswerPane,.gradingInspector{grid-row:auto;height:auto;max-height:none}.scanResultModal{width:calc(100vw - 16px);height:calc(100vh - 16px)}.scanResultHeader{align-items:flex-start}.scanResultHeaderMeta{justify-content:flex-start;margin-left:0}.scanResultSidebar,.scanResultInspector{height:auto;max-height:none}.annotationScopeBar{flex-direction:column;align-items:flex-start}.scanResultImagePane{height:auto;min-height:50vh}.scanUploadModal.hasCalibration{width:calc(100vw - 16px);height:calc(100vh - 16px)}.scanCalibrationWorkspace{grid-template-columns:1fr;min-height:0}.scanCalibrationPages{display:flex;overflow-x:auto}.scanCalibrationPages button{flex:0 0 128px}.scanCalibrationImageFrame img{max-height:58vh}.pageHeader{display:block}.pageActions{justify-content:flex-start;margin-top:12px}.managementPageHeader{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.managementPageHeader>div:first-child{min-width:0}.managementPageHeader>button,.managementPageHeader>.pageActions{flex:none;margin-top:0;margin-left:auto}.managementPageHeader .pageActions{justify-content:flex-end}.responsivePageActions .desktopPageActions{display:none}.responsivePageActions .mobilePageActionTrigger{display:inline-flex}.dataExchangeUpload{grid-template-columns:minmax(0,1fr)}.examPrimaryTabs,.examSecondaryTabs{padding-left:16px;padding-right:16px}.examPrimaryTabs a{min-height:32px;padding:7px 12px 6px}.examListCard{grid-template-columns:1fr;align-items:stretch}.examListMeta{flex-wrap:wrap}.examListActions{justify-content:flex-start}.paperWorkspace,.paperWorkspace.paperSourceWorkspace,.paperWorkspace.paperSourceWorkspace.paperNavigatorCollapsed,.formRows,.printConfigSummary,.printConfigModalBody,.permissionGrid,.configModalColumns,.examDateTimeInput,.teacherInfoSummaryGrid{grid-template-columns:1fr}.paperActionsPanel .panelHeader,.paperSourceToolbar,.questionEditorHeaderActions{flex-direction:column;align-items:stretch}.paperActionsPrimary,.paperSourceToolbar .actions{align-items:stretch}.paperEditorModeSwitch,.questionEditorModeSwitch{align-self:flex-start}.paperSourceToolbar .actions button{flex:auto}.paperSourceCode,.paperSourceEditor.compact .paperSourceCode{min-height:480px}.paperSourceDiagnostics button{grid-template-columns:1fr;gap:3px}.teacherWorkspaceModal{height:calc(100vh - 32px);max-height:calc(100vh - 32px)}.paperWorkspace{grid-template-areas:"navigator""preview""editor"}.paperWorkspace.paperSourceWorkspace{grid-template-areas:"editor""preview""navigator"}.previewPane,.navigatorPane{max-height:none;position:static}.formulaInputRow,.fillBlankAnswerRow,.previewMarkRows{grid-template-columns:1fr}.platformTopbar{position:static}.platformStats,.tenantMetaGrid,.tenantDetailGrid,.platformAuditFilters,.platformAuditDetailGrid,.platformAuditJsonGrid,.wizardChoiceGrid{grid-template-columns:1fr}.platformAuditFilterActions{justify-content:flex-start}.tenantAdminItem>.tenantAdminHead,.tenantDetailHeader{flex-direction:column;align-items:stretch}.tenantBadges{justify-content:flex-start}.wizardSteps{grid-template-columns:1fr 1fr}.tenantWizardModal{height:calc(100vh - 32px)}.wizardSummary div{grid-template-columns:1fr;gap:4px}.appShell{grid-template-columns:minmax(0,1fr)}.mobileShellHeader{z-index:90;background:#202734;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:0 14px 0 18px;transition:transform .18s;display:flex;position:fixed;top:0;left:0;right:0}.mobileHeaderHidden:not(.mobileSidebarOpen) .mobileShellHeader{transform:translateY(-100%)}body:has(.modalBackdrop) .mobileShellHeader{transform:translateY(-100%)}.mobileShellHeader .brandLogo{object-position:left center;width:154px;height:46px}.mobileShellBrand{align-items:center;gap:10px;min-width:0;display:flex}.mobileShellOrgName{color:#e5eefc;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:min(42vw,180px);font-size:14px;font-weight:700;line-height:1.25;display:inline-block;overflow:hidden}.main{grid-column:1;padding-top:64px}.topbar{padding:0 16px}.sidebar,.platformShell .sidebar{z-index:80;width:min(292px,86vw);height:calc(100vh - 64px);box-shadow:none;padding-top:14px;transition:transform .18s;position:fixed;inset:64px 0 0 auto;overflow-y:auto;transform:translate(100%)}.sidebar>.brand{display:none}.mobileSidebarOpen .sidebar{transform:translate(0)}.mobileSidebarButton{width:42px;height:42px;box-shadow:none;background:#ffffff14;border:1px solid #ffffff2e;border-radius:8px;place-items:center;gap:4px;padding:10px;display:inline-grid}.mobileSidebarButton span{background:#fff;border-radius:999px;width:20px;height:2px;transition:transform .18s,opacity .18s;display:block}.mobileSidebarOpen .mobileSidebarButton span:first-child{transform:translateY(6px)rotate(45deg)}.mobileSidebarOpen .mobileSidebarButton span:nth-child(2){opacity:0}.mobileSidebarOpen .mobileSidebarButton span:last-child{transform:translateY(-6px)rotate(-45deg)}.mobileSidebarBackdrop{z-index:70;opacity:0;pointer-events:none;background:#0f172a6b;border:0;transition:opacity .18s;display:block;position:fixed;inset:64px 0 0}.mobileSidebarOpen .mobileSidebarBackdrop{opacity:1;pointer-events:auto}}
