:root{--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-primary-active:#1e40af;--color-primary-soft:#eff6ff;--color-ink:#172033;--color-text-secondary:#667085;--color-text-muted:#98a2b3;--color-canvas:#f6f8fb;--color-surface:#fff;--color-paper:#fffefa;--color-border:#dce3ec;--color-row-hover:#f8fafc;--color-success:#168a65;--color-warning:#b54708;--color-danger:#b42318;--shadow-paper:0 12px 30px #1720331a;--font-ui:Inter, -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html,body{background:var(--color-canvas);min-height:100%;color:var(--color-ink);font-family:var(--font-ui);margin:0}body{min-width:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.teacher-login-page{background:var(--color-canvas);place-items:center;min-height:100vh;padding:24px 16px;display:grid}.teacher-login-panel{border:1px solid var(--color-border);background:var(--color-surface);width:min(100%,440px);box-shadow:var(--shadow-paper);padding:28px 32px 24px}.teacher-login-heading{border-bottom:1px solid var(--color-border);align-items:center;gap:12px;padding-bottom:20px;display:flex}.teacher-login-heading .teacher-login-mark{background:var(--color-primary);color:#fff;border-radius:6px;flex:none;place-items:center;width:42px;height:42px;font-size:16px;font-weight:800;display:grid}.teacher-login-heading>div{gap:2px;min-width:0;display:grid}.teacher-login-heading span{color:var(--color-primary);letter-spacing:.08em;font-size:11px;font-weight:700}.teacher-login-heading h1{color:var(--color-ink);margin:0;font-size:20px;line-height:28px}.teacher-wechat-login{border-bottom:1px solid var(--color-border);padding:24px 0;position:relative}.teacher-wechat-login h2{margin:0 0 8px;font-size:18px;line-height:26px}.teacher-wechat-login>p{color:var(--color-text-secondary);margin:0 0 18px;font-size:13px;line-height:22px}.teacher-wechat-badge{color:var(--color-success);background:#ecfdf3;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700;position:absolute;top:24px;right:0}.teacher-wechat-button{background:var(--color-success);color:#fff;border-radius:6px;justify-content:center;align-items:center;min-height:48px;font-size:14px;font-weight:700;display:flex}.teacher-wechat-button:hover{color:#fff;background:#0f7454}.teacher-wechat-open-tip{border:1px dashed var(--color-border);background:var(--color-row-hover);border-radius:6px;align-content:center;gap:4px;min-height:68px;padding:12px 14px;display:grid}.teacher-wechat-open-tip strong{font-size:13px}.teacher-wechat-open-tip span{color:var(--color-text-secondary);font-size:12px;line-height:19px}.teacher-login-state{border-left:3px solid var(--color-primary);background:var(--color-primary-soft);gap:4px;margin:0 0 16px;padding:10px 12px;font-size:12px;line-height:20px;display:grid}.teacher-login-state span{color:var(--color-text-secondary)}.teacher-login-state.is-warning{border-left-color:var(--color-warning);background:#fffaeb}.teacher-login-state.is-danger{border-left-color:var(--color-danger);background:#fff1f0}.teacher-login-error{border-left:3px solid var(--color-danger);color:var(--color-danger);background:#fff1f0;margin:0 0 16px;padding:10px 12px;font-size:12px;line-height:20px}.teacher-admin-login{border-bottom:1px solid var(--color-border)}.teacher-admin-login summary{min-height:52px;color:var(--color-text-secondary);cursor:pointer;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;list-style:none;display:flex}.teacher-admin-login summary::-webkit-details-marker{display:none}.teacher-admin-login summary:after{content:"+";color:var(--color-text-muted);font-size:18px;font-weight:400}.teacher-admin-login[open] summary:after{content:"−"}.teacher-admin-login-body{padding:0 0 20px}.teacher-admin-login-body>p{color:var(--color-text-secondary);margin:0 0 16px;font-size:12px;line-height:20px}.teacher-login-form{gap:16px;display:grid}.teacher-login-form label{color:var(--color-ink);gap:7px;font-size:12px;font-weight:600;display:grid}.teacher-login-form input{border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:44px;color:var(--color-ink);border-radius:6px;padding:0 12px;font-size:16px}.teacher-login-form input:hover{border-color:var(--color-primary)}.teacher-login-form input:focus{border-color:var(--color-primary);outline:2px solid var(--color-primary-soft);outline-offset:0}.teacher-login-form button{background:var(--color-primary);color:#fff;cursor:pointer;border:0;border-radius:6px;min-height:48px;margin-top:4px;font-size:14px;font-weight:700}.teacher-login-form button:hover{background:var(--color-primary-hover)}.teacher-login-form button:active{background:var(--color-primary-active)}.teacher-login-note{color:var(--color-text-muted);text-align:center;margin:20px 0 0;font-size:11px;line-height:18px}@media (max-width:480px){.teacher-login-page{place-items:start center;padding:20px 12px}.teacher-login-panel{margin-top:max(24px, env(safe-area-inset-top));padding:24px 20px 20px}}.app-shell{grid-template:60px minmax(0,1fr)/224px minmax(0,1fr);min-height:100vh;display:grid}.app-shell.is-sidebar-collapsed{grid-template-columns:64px minmax(0,1fr)}.app-header{z-index:50;background:var(--color-surface);border-bottom:1px solid var(--color-border);grid-column:1/-1;grid-template-columns:224px minmax(0,1fr) auto;align-items:center;min-width:0;display:grid;position:sticky;top:0}.app-shell.is-sidebar-collapsed .app-header{grid-template-columns:64px minmax(0,1fr) auto}.brand-lockup{border-right:1px solid var(--color-border);align-items:center;gap:12px;height:60px;padding:0 20px;display:flex}.brand-mark{background:var(--color-primary);color:#fff;letter-spacing:.5px;border-radius:6px;place-items:center;width:32px;height:32px;font-size:12px;font-weight:800;display:grid}.brand-lockup>span:last-child{line-height:1.2;display:grid}.brand-lockup strong{font-size:15px}.brand-lockup small{color:var(--color-text-secondary);margin-top:3px;font-size:10px}.header-context{min-width:0;color:var(--color-text-secondary);align-items:center;gap:12px;padding:0 24px;font-size:13px;display:flex}.sidebar-collapse-button{border:1px solid var(--color-border);background:var(--color-surface);width:34px;height:34px;color:var(--color-text-secondary);cursor:pointer;border-radius:6px;flex:none;place-items:center;padding:0;display:grid}.sidebar-collapse-button:hover{border-color:var(--color-primary);color:var(--color-primary)}.header-school{color:var(--color-ink);font-weight:600}.header-divider{background:var(--color-border);width:1px;height:16px}.header-actions{color:var(--color-text-secondary);align-items:center;gap:8px;padding-right:24px;font-size:12px;display:flex}.status-dot{background:var(--color-text-muted);border-radius:50%;width:8px;height:8px}.status-dot.is-online{background:var(--color-success)}.header-account-menu{margin-left:8px;position:relative}.header-account-menu summary{min-height:44px;color:var(--color-text-secondary);cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:0 8px;list-style:none;display:flex}.header-account-menu summary::-webkit-details-marker{display:none}.header-account-menu summary:hover,.header-account-menu[open] summary{background:var(--color-row-hover);color:var(--color-ink)}.header-avatar{background:var(--color-primary-soft);width:32px;height:32px;color:var(--color-primary);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.header-account-copy{min-width:0;line-height:1.25;display:grid}.header-account-copy strong{color:var(--color-ink);font-size:12px;font-weight:600}.header-account-copy small{color:var(--color-text-muted);font-size:10px}.header-account-arrow{font-size:10px;transition:transform .12s}.header-account-menu[open] .header-account-arrow{transform:rotate(180deg)}.header-account-popover{z-index:90;border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;width:224px;padding:8px;position:absolute;top:calc(100% + 6px);right:0}.header-account-identity{border-bottom:1px solid var(--color-border);gap:3px;padding:8px 10px 12px;display:grid}.header-account-identity strong{color:var(--color-ink);font-size:13px}.header-account-identity span{color:var(--color-text-secondary);font-size:11px}.header-account-popover>a,.header-account-popover form button{width:100%;min-height:40px;color:var(--color-text-secondary);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;padding:0 10px;font-size:13px;display:flex}.header-account-popover>a:hover,.header-account-popover form button:hover{background:var(--color-row-hover);color:var(--color-ink)}.header-account-popover form{border-top:1px solid var(--color-border);margin-top:4px;padding-top:4px}.header-account-popover form button{color:var(--color-danger)}.mobile-navigation-toggle,.mobile-sidebar-backdrop,.mobile-sidebar-heading,.header-status-short{display:none}.app-sidebar{background:var(--color-surface);border-right:1px solid var(--color-border);flex-direction:column;justify-content:space-between;height:calc(100vh - 60px);padding:16px 12px;display:flex;position:sticky;top:60px;overflow-y:auto}.sidebar-main{gap:8px;display:grid}.side-nav{gap:4px;display:grid}.nav-section-label{color:var(--color-text-muted);letter-spacing:.08em;padding:8px 12px;font-size:11px;font-weight:700}.nav-section-label-settings{border-top:1px solid var(--color-border);margin-top:12px;padding-top:16px}.side-nav a{min-height:44px;color:var(--color-text-secondary);border-left:3px solid #0000;border-radius:6px;align-items:center;gap:12px;padding:0 12px;font-size:14px;font-weight:500;transition:background .12s,color .12s;display:flex}.side-nav a:hover{background:var(--color-row-hover);color:var(--color-ink)}.side-nav a.is-active{border-left-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary);font-weight:600}.side-nav .anticon{font-size:17px}.sidebar-capacity{border-top:1px solid var(--color-border);color:var(--color-text-secondary);gap:5px;padding:14px 12px;font-size:12px;display:grid}.sidebar-capacity strong{color:var(--color-ink)}.sidebar-capacity small{color:var(--color-text-muted)}.app-shell.is-sidebar-collapsed .brand-lockup{justify-content:center;padding:0}.app-shell.is-sidebar-collapsed .brand-lockup>span:last-child,.app-shell.is-sidebar-collapsed .side-nav a>span:last-child,.app-shell.is-sidebar-collapsed .nav-section-label,.app-shell.is-sidebar-collapsed .sidebar-capacity{display:none}.app-shell.is-sidebar-collapsed .app-sidebar{padding-inline:8px}.app-shell.is-sidebar-collapsed .side-nav a{border-left:0;justify-content:center;padding:0}.app-shell.is-sidebar-collapsed .side-nav a.is-active{box-shadow:inset 3px 0 var(--color-primary);border-left:0}.app-main{min-width:0;overflow-x:clip}.page{min-height:calc(100vh - 60px);padding:24px}.page-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:20px;display:flex}.page-title{min-width:0}.page-title h1{margin:0;font-size:20px;line-height:28px}.page-title p{color:var(--color-text-secondary);margin:5px 0 0;font-size:13px;line-height:20px}.eyebrow{color:var(--color-primary);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:700;display:block}.flat-panel{background:var(--color-surface);border:1px solid var(--color-border)}.panel-heading{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:16px;min-height:48px;padding:0 16px;display:flex}.panel-heading h2,.panel-heading h3{margin:0;font-size:15px}.panel-heading>span:not(.status-chip),.panel-heading>div:first-child>span:not(.status-chip){color:var(--color-text-secondary);font-size:12px}.stat-strip{background:var(--color-surface);border:1px solid var(--color-border);grid-template-columns:repeat(4,1fr);display:grid}.stat-item{align-content:center;gap:6px;min-height:96px;padding:16px 20px;display:grid}.stat-item+.stat-item{border-left:1px solid var(--color-border)}.stat-item strong{font-size:26px;line-height:1}.stat-item span{color:var(--color-text-secondary);font-size:12px}.stat-item small{color:var(--color-text-muted);font-size:11px}.status-chip{background:var(--color-row-hover);width:max-content;color:var(--color-text-secondary);border-radius:999px;align-items:center;gap:6px;padding:3px 8px;font-size:12px;display:inline-flex}.status-chip.is-success{color:var(--color-success);background:#ecfdf3}.status-chip.is-warning{color:var(--color-warning);background:#fffaeb}.status-chip.is-danger{color:var(--color-danger);background:#fff1f0}.status-chip.is-primary{background:var(--color-primary-soft);color:var(--color-primary)}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;background:var(--color-surface);width:100%;font-size:13px}.data-table th{background:var(--color-row-hover);border-bottom:1px solid var(--color-border);height:44px;color:var(--color-text-secondary);text-align:left;white-space:nowrap;padding:0 16px;font-size:12px;font-weight:600}.data-table td{border-bottom:1px solid var(--color-border);vertical-align:middle;height:52px;padding:8px 16px}.data-table tbody tr:hover{background:var(--color-row-hover)}.data-table tbody tr:last-child td{border-bottom:0}.muted{color:var(--color-text-secondary)}.text-danger{color:var(--color-danger)}.text-success{color:var(--color-success)}.wechat-access-page{padding-bottom:48px}.permission-editor{white-space:normal;min-width:300px;max-width:480px}.permission-editor summary{min-height:40px;color:var(--color-primary);cursor:pointer;align-items:center;display:flex}.permission-editor form{border:1px solid var(--color-border);padding:12px}.permission-editor p{color:var(--color-text-secondary);font-size:12px;line-height:20px}.permission-options{flex-wrap:wrap;gap:8px 16px;padding:16px;display:flex}.permission-options label{align-items:center;gap:8px;min-height:40px;display:flex}.wechat-access-table{min-width:1080px}.wechat-access-empty{min-height:220px;color:var(--color-text-secondary);text-align:center;align-content:center;place-items:center;gap:8px;font-size:13px;display:grid}.wechat-access-empty strong{color:var(--color-ink);font-size:15px}.wechat-access-actions{white-space:nowrap;align-items:center;gap:10px;min-height:40px;display:flex}.wechat-access-actions form{display:inline-flex}.wechat-access-actions>span{color:var(--color-text-secondary);font-size:12px}.table-action-button,.danger-text-button{min-height:40px;color:var(--color-primary);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:600}.danger-text-button{color:var(--color-danger)}.table-action-button:hover,.danger-text-button:hover{text-decoration:underline}.primary-link{background:var(--color-primary);color:#fff;border-radius:6px;align-items:center;gap:8px;min-height:40px;padding:0 16px;font-size:13px;font-weight:600;display:inline-flex}.primary-link:hover{background:var(--color-primary-hover);color:#fff}.secondary-link{border:1px solid var(--color-border);background:var(--color-surface);min-height:40px;color:var(--color-primary);border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:13px;font-weight:600;display:inline-flex}.secondary-link:hover{border-color:var(--color-primary);background:var(--color-primary-soft)}.identity-management-page,.account-settings-page{padding-bottom:48px}.identity-management-header{align-items:center}.identity-management-stats,.identity-system-owner{margin-bottom:16px}.identity-system-owner-row{grid-template-columns:40px minmax(220px,1fr) auto auto minmax(180px,auto);align-items:center;gap:16px;min-height:72px;padding:12px 16px;display:grid}.identity-user-mark,.account-large-avatar{background:var(--color-primary-soft);color:var(--color-primary);border-radius:50%;place-items:center;font-weight:700;display:grid}.identity-user-mark{width:36px;height:36px}.identity-system-owner-row>div:nth-child(2){gap:3px;display:grid}.identity-system-owner-row>div:nth-child(2) span,.identity-system-owner-row>small{color:var(--color-text-secondary);font-size:12px}.identity-tabs{border-bottom:1px solid var(--color-border);align-items:end;gap:24px;min-height:52px;padding:0 16px;display:flex}.identity-tabs a{min-height:52px;color:var(--color-text-secondary);border-bottom:2px solid #0000;align-items:center;gap:7px;font-size:13px;font-weight:600;display:flex}.identity-tabs a:hover{color:var(--color-primary)}.identity-tabs a.is-active{border-bottom-color:var(--color-primary);color:var(--color-primary)}.identity-tabs a span{background:var(--color-row-hover);min-width:22px;height:20px;color:var(--color-text-secondary);border-radius:999px;place-items:center;padding:0 6px;font-size:11px;display:grid}.identity-tabs a.is-active span{background:var(--color-primary-soft);color:var(--color-primary)}.identity-cell-note{color:var(--color-text-muted);margin-top:3px;font-size:11px;font-weight:400;display:block}.account-settings-page{grid-template-columns:minmax(0,1fr) minmax(340px,.75fr);align-content:start;gap:16px;display:grid}.account-settings-page>.page-header{grid-column:1/-1;margin-bottom:4px}.account-current-session,.account-login-methods,.account-sign-out{grid-column:1}.account-current-session-body{grid-template-columns:56px minmax(180px,.8fr) minmax(320px,1.2fr);align-items:center;gap:16px;padding:20px;display:grid}.account-large-avatar{width:56px;height:56px;font-size:18px}.account-current-copy{gap:4px;display:grid}.account-current-copy strong{font-size:16px}.account-current-copy span{color:var(--color-text-secondary);font-size:12px}.account-current-session dl{margin:0}.account-current-session dl div{border-top:1px solid var(--color-border);justify-content:space-between;gap:20px;padding:8px 0;font-size:12px;display:flex}.account-current-session dl div:first-child{border-top:0}.account-current-session dt{color:var(--color-text-secondary)}.account-current-session dd{text-align:right;margin:0}.account-method-row{border-top:1px solid var(--color-border);grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:88px;padding:16px;display:grid}.account-method-row:first-of-type{border-top:0}.account-method-row.is-current{background:var(--color-primary-soft);box-shadow:inset 3px 0 var(--color-primary)}.account-method-icon{border:1px solid var(--color-border);width:36px;height:36px;color:var(--color-primary);border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:grid}.account-method-row>div{gap:4px;display:grid}.account-method-row>div span{color:var(--color-text-secondary);font-size:12px;line-height:20px}.account-wechat-flow{grid-area:2/2/span 3}.account-wechat-mark{color:var(--color-success);font-size:13px;font-weight:700}.account-wechat-flow ol{gap:0;margin:0;padding:8px 20px 4px;list-style:none;display:grid}.account-wechat-flow li{grid-template-columns:32px minmax(0,1fr);gap:12px;min-height:84px;padding:12px 0;display:grid;position:relative}.account-wechat-flow li+li{border-top:1px solid var(--color-border)}.account-wechat-flow li>span{background:var(--color-primary-soft);width:28px;height:28px;color:var(--color-primary);border-radius:50%;place-items:center;font-size:12px;font-weight:700;display:grid}.account-wechat-flow li>div{align-content:start;gap:4px;display:grid}.account-wechat-flow li small{color:var(--color-text-secondary);font-size:12px;line-height:20px}.account-manage-users-link{margin:8px 20px 20px}.account-sign-out{justify-content:space-between;align-items:center;gap:24px;min-height:84px;padding:16px 20px;display:flex}.account-sign-out>div{gap:4px;display:grid}.account-sign-out span{color:var(--color-text-secondary);font-size:12px;line-height:20px}.account-sign-out button{border:1px solid var(--color-danger);background:var(--color-surface);min-height:40px;color:var(--color-danger);cursor:pointer;white-space:nowrap;border-radius:6px;padding:0 16px;font-size:13px;font-weight:600}.account-sign-out button:hover{background:var(--color-row-hover)}.dashboard-grid{grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);gap:20px;margin-top:20px;display:grid}.active-task-heading{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:24px;padding:20px;display:flex}.active-task-heading span{color:var(--color-primary);font-size:12px;font-weight:700}.active-task-heading h3{margin:6px 0;font-size:19px}.active-task-heading p{color:var(--color-text-secondary);margin:0;font-size:13px}.active-task-heading a{color:var(--color-primary);font-size:13px;font-weight:600}.workflow-list{margin:0;padding:0 20px;list-style:none}.workflow-list li{border-bottom:1px solid var(--color-border);grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:72px;display:grid}.workflow-list li:last-child{border-bottom:0}.workflow-index{border:1px solid var(--color-border);width:32px;height:32px;color:var(--color-text-muted);border-radius:50%;place-items:center;display:grid}.workflow-list li.is-complete .workflow-index{border-color:var(--color-success);color:var(--color-success);background:#ecfdf3}.workflow-list li>span:nth-child(2){gap:4px;display:grid}.workflow-list small{color:var(--color-text-secondary);font-size:12px}.workflow-list em{color:var(--color-text-muted);font-size:12px;font-style:normal}.workflow-list li.is-complete em{color:var(--color-success)}.workflow-list li.is-current .workflow-index{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.workflow-list li.is-current em{color:var(--color-primary);font-weight:600}.safety-content{padding:24px}.safety-icon{color:var(--color-primary);font-size:30px}.safety-content h3{margin:14px 0 8px;font-size:17px}.safety-content>p{color:var(--color-text-secondary);margin:0;font-size:13px;line-height:22px}.safety-content dl{margin:24px 0 0}.safety-content dl div{border-top:1px solid var(--color-border);justify-content:space-between;gap:16px;padding:12px 0;font-size:12px;display:flex}.safety-content dt{color:var(--color-text-secondary)}.safety-content dd{color:var(--color-ink);text-align:right;margin:0;font-weight:600}@media (max-width:1250px){.dashboard-grid{grid-template-columns:1fr}}.exams-page{padding-bottom:48px}.exam-list-header{align-items:center}.exam-list-header .ant-btn{min-height:40px}.exam-stats{margin-bottom:16px}.exam-list-panel{min-height:490px}.exam-list-toolbar{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:20px;min-height:68px;padding:12px 16px;display:flex}.exam-list-toolbar>div{grid-template-columns:minmax(260px,360px) 170px;gap:10px;display:grid}.exam-list-toolbar>span{color:var(--color-text-secondary);font-size:12px}.exam-table{min-width:1160px}.exam-table td{height:64px;padding-top:10px;padding-bottom:10px}.exam-name-cell{grid-template-columns:36px minmax(0,1fr);align-items:center;gap:10px;display:grid}.exam-kind-icon{border:1px solid var(--color-border);width:34px;height:34px;color:var(--color-primary);border-radius:6px;place-items:center;display:grid}.exam-name-cell>span:last-child{gap:4px;min-width:0;display:grid}.exam-name-cell strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.exam-name-cell small{color:var(--color-text-secondary);font-size:10px}.table-action{color:var(--color-primary);white-space:nowrap;font-size:12px;font-weight:600}.exam-row-actions{align-items:center;gap:2px;min-width:144px;display:flex}.exam-row-actions .table-action{min-width:64px}.exam-row-actions .ant-btn{width:40px;height:40px;padding:0}.exam-create-intro{background:var(--color-primary-soft);color:var(--color-primary);align-items:flex-start;gap:12px;margin-bottom:16px;padding:14px 16px;display:flex}.exam-create-intro>.anticon{margin-top:3px;font-size:20px}.exam-create-intro p{gap:4px;margin:0;display:grid}.exam-create-intro strong{color:var(--color-ink);font-size:13px}.exam-create-intro span{color:var(--color-text-secondary);font-size:11px;line-height:18px}.exam-paper-center-alert{margin:-4px 0 16px}.exam-create-grid{grid-template-columns:repeat(2,1fr);column-gap:14px;display:grid}.exam-edit-note{border-left:3px solid var(--color-warning);color:var(--color-warning);background:#fff8f0;align-items:flex-start;gap:10px;margin-bottom:16px;padding:12px 14px;display:flex}.exam-edit-note>.anticon{margin-top:3px}.exam-edit-note>span{gap:3px;display:grid}.exam-edit-note strong{color:var(--color-ink);font-size:13px}.exam-edit-note small{color:var(--color-text-secondary);font-size:11px;line-height:18px}.exam-delete-warning{gap:8px;display:grid}.exam-delete-warning strong{color:var(--color-ink)}.exam-delete-warning p{color:var(--color-text-secondary);margin:0;font-size:12px;line-height:20px}.modal-actions{border-top:1px solid var(--color-border);justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.exam-detail-page-shell{padding:16px 20px 40px}.exam-deleted-state{text-align:center;align-content:center;place-items:center;gap:12px;min-height:360px;padding:40px;display:grid}.exam-deleted-state h1{margin:0;font-size:20px}.exam-deleted-state p{max-width:560px;color:var(--color-text-secondary);margin:0;line-height:22px}.exam-detail-heading{z-index:40;background:var(--color-canvas);justify-content:space-between;align-items:center;gap:20px;min-height:50px;margin-bottom:10px;padding:4px 0;display:flex;position:sticky;top:60px}.exam-detail-heading>div{gap:5px;display:grid}.exam-detail-heading h1{margin:0;font-size:20px;line-height:28px}.back-link{width:max-content;color:var(--color-primary);font-size:11px}.back-link-button{cursor:pointer;background:0 0;border:0;padding:0}.exam-stage-panel{margin-bottom:8px;padding:8px 18px 5px}.exam-stage-panel .ant-steps-item-title{font-weight:600;font-size:12px!important}.exam-stage-panel .ant-steps-item-description{font-size:10px!important}.exam-stage-panel .ant-steps-item-icon{width:28px!important;height:28px!important;margin-inline-end:8px!important;line-height:28px!important}.exam-stage-panel .ant-steps-item-header{min-height:28px!important}.exam-stage-panel .ant-steps-item-content{min-height:20px!important}.exam-meta-strip{grid-template-columns:repeat(9,minmax(94px,1fr));margin-bottom:8px;display:grid;overflow-x:auto}.exam-meta-strip>span{white-space:nowrap;align-content:center;gap:2px;min-height:44px;padding:5px 12px;display:grid}.exam-meta-strip>span+span{border-left:1px solid var(--color-border)}.exam-meta-strip small{color:var(--color-text-secondary);font-size:10px}.exam-meta-strip strong{font-size:12px}.exam-material-strip{grid-template-columns:repeat(3,minmax(180px,1fr)) auto;align-items:stretch;min-height:50px;margin-bottom:0;display:grid}.exam-material-strip>span{grid-template-rows:auto auto;grid-template-columns:30px minmax(0,1fr);align-content:center;column-gap:9px;padding:8px 14px;display:grid}.exam-material-strip>span+span{border-left:1px solid var(--color-border)}.exam-material-strip>span>.anticon{color:var(--color-primary);grid-row:1/3;align-self:center;font-size:19px}.exam-material-strip strong{font-size:12px}.exam-material-strip small{color:var(--color-text-secondary);font-size:10px}.exam-material-strip>a{border-left:1px solid var(--color-border);min-width:110px;color:var(--color-primary);justify-content:center;align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.exam-material-ready{color:var(--color-success);align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.exam-material-strip>.exam-material-binding-state{border-left:1px solid var(--color-border);min-width:130px;color:var(--color-success);grid-template-columns:none;justify-content:center;align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.exam-review-mode-toolbar{border:1px solid var(--color-primary);background:var(--color-primary-soft);border-left-width:4px;justify-content:space-between;align-items:center;gap:20px;min-height:58px;padding:9px 12px 9px 14px;display:flex}.exam-review-mode-toolbar>div{gap:3px;display:grid}.exam-review-mode-toolbar strong{color:var(--color-ink);font-size:13px}.exam-review-mode-toolbar span{color:var(--color-text-secondary);font-size:10px}.exam-detail-page.is-review-focused .exam-stage-panel,.exam-detail-page.is-review-focused .exam-meta-strip,.exam-detail-page.is-review-focused .exam-material-strip{display:none}.exam-review-layout{grid-template-columns:minmax(280px,1fr) minmax(0,3fr);align-items:start;min-width:0;margin-top:0;scroll-margin-top:120px;display:grid}.exam-review-layout.is-submissions-collapsed{grid-template-columns:48px minmax(0,1fr)}.exam-review-layout:focus{outline:2px solid var(--color-primary);outline-offset:2px}.exam-submission-panel{border-top:0;min-width:0;overflow:hidden}.exam-submission-panel.is-collapsed{background:var(--color-canvas);height:min(716px,100vh - 150px);overflow:hidden}.submission-collapsed-rail{background:var(--color-surface);width:100%;height:100%;color:var(--color-primary);cursor:pointer;border:0;flex-direction:column;align-items:center;gap:12px;padding:14px 0;display:flex}.submission-collapsed-rail span{writing-mode:vertical-rl;color:var(--color-text-secondary);letter-spacing:.16em;font-size:11px}.exam-submission-tabs{border-bottom:1px solid var(--color-border);align-items:flex-end;gap:12px;min-height:52px;padding:0 12px;display:flex;overflow-x:auto}.exam-submission-tabs button{height:52px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:0;font-size:12px}.exam-submission-tabs button:hover{color:var(--color-primary)}.exam-submission-tabs button.is-active{border-bottom-color:var(--color-primary);color:var(--color-primary);font-weight:600}.exam-submission-toolbar{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) minmax(88px,112px);align-items:center;gap:8px;min-height:56px;padding:8px 12px;display:grid}.exam-submission-toolbar>button{grid-column:1/-1;width:100%}.exam-submission-table-wrap{min-height:438px}.exam-submission-table{min-width:610px}.exam-submission-table th{height:38px;padding:0 6px;font-size:9px}.exam-submission-table td{white-space:nowrap;height:40px;padding:5px 6px;font-size:10px}.exam-submission-table tbody tr{cursor:pointer}.exam-submission-table tbody tr.is-selected{background:var(--color-primary-soft);box-shadow:inset 3px 0 var(--color-primary)}.exam-submission-table .status-chip{padding:2px 5px;font-size:9px}.student-row-button{color:var(--color-primary);cursor:pointer;background:0 0;border:0;padding:0;font-size:11px;font-weight:600}.exam-pagination{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;min-height:54px;padding:8px 12px;display:flex}.exam-pagination>span{color:var(--color-text-secondary);font-size:11px}.exam-release-note{border-top:1px solid var(--color-border);min-height:48px;color:var(--color-text-secondary);align-items:center;gap:12px;padding:8px 12px;font-size:10px;display:flex}.exam-release-note strong{color:var(--color-ink);white-space:nowrap}.exam-evidence-panel{border-top:0;border-left:0;min-width:0;max-height:716px;overflow-y:auto}.exam-detail-page.is-review-focused .exam-evidence-panel{max-height:calc(100vh - 128px)}.exam-evidence-heading{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;min-height:52px;padding:8px 14px;display:flex}.exam-evidence-heading>div{align-items:center;gap:7px;display:flex}.exam-evidence-heading h2{margin:0;font-size:16px}.exam-evidence-heading>div>span:not(.status-chip){color:var(--color-text-secondary);font-size:12px}.exam-evidence-heading>button{width:40px;height:40px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0}.exam-evidence-panel .ant-tabs-nav{padding:0 14px;margin:0!important}.exam-evidence-panel .ant-tabs-content-holder{min-width:0}.exam-evidence-content>section{border-bottom:1px solid var(--color-border);padding:12px 14px}.local-model-workflow{background:var(--color-primary-soft)}.model-routing-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:8px;margin-bottom:8px;display:grid}.model-routing-grid>div,.model-routing-grid>label{border:1px solid var(--color-border);background:var(--color-surface);align-content:start;gap:4px;min-width:0;padding:8px;display:grid}.model-routing-grid small{color:var(--color-text-secondary);font-size:8px}.model-routing-grid strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.model-routing-grid span{color:var(--color-text-secondary);font-size:8px;line-height:13px}.model-routing-grid .ant-select{width:100%}.model-routing-grid .ant-select-selector{font-size:9px!important}.local-model-empty{justify-content:space-between;align-items:center;gap:12px;display:flex}.local-model-empty p{color:var(--color-text-secondary);margin:0;font-size:10px;line-height:16px}.local-model-processing{align-items:center;gap:12px;min-height:48px;display:flex}.local-model-processing>div{flex:1;gap:4px;min-width:0;display:grid}.local-model-processing strong{font-size:11px}.local-model-processing span{color:var(--color-text-secondary);font-size:9px}.local-model-processing .ant-progress{max-width:520px;margin:0}.recognition-task-strip{background:#f4f8ff;border-color:#91b5ff;grid-template-columns:minmax(260px,.8fr) minmax(360px,1.2fr) auto;align-items:center;gap:18px;min-height:72px;padding:10px 14px;display:grid}.recognition-task-summary{align-items:center;gap:10px;display:flex}.recognition-task-summary>span{gap:3px;display:grid}.recognition-task-summary strong{font-size:12px}.recognition-task-summary small,.recognition-task-progress>span{color:var(--color-text-secondary);font-size:9px;line-height:15px}.recognition-task-progress{gap:2px;min-width:0;display:grid}.recognition-task-progress .ant-progress{margin:0}.recognition-leave-confirm{gap:12px;display:grid}.recognition-leave-confirm p{color:var(--color-text-secondary);margin:0;font-size:12px;line-height:20px}.exam-model-task-state{justify-items:start;gap:4px;display:grid}.exam-model-task-state small{max-width:160px;color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.exam-detail-page.is-review-focused .exam-submission-table th:nth-child(4),.exam-detail-page.is-review-focused .exam-submission-table td:nth-child(4),.exam-detail-page.is-review-focused .exam-submission-table th:nth-child(5),.exam-detail-page.is-review-focused .exam-submission-table td:nth-child(5),.exam-detail-page.is-review-focused .exam-submission-table th:nth-child(7),.exam-detail-page.is-review-focused .exam-submission-table td:nth-child(7),.exam-detail-page.is-review-focused .exam-submission-table th:nth-child(8),.exam-detail-page.is-review-focused .exam-submission-table td:nth-child(8),.exam-detail-page.is-review-focused .exam-submission-table th:nth-child(9),.exam-detail-page.is-review-focused .exam-submission-table td:nth-child(9){display:none}.exam-detail-page.is-review-focused .exam-submission-table{min-width:280px}.exam-detail-page.is-review-focused .exam-submission-toolbar{grid-template-columns:minmax(160px,1fr) 120px}.exam-detail-page.is-review-focused .exam-submission-toolbar>button{display:none}.local-model-score-grid{border:1px solid var(--color-border);background:var(--color-surface);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.local-model-score-grid>span{gap:3px;padding:8px;display:grid}.local-model-score-grid>span+span{border-left:1px solid var(--color-border)}.local-model-score-grid small{color:var(--color-text-secondary);font-size:8px}.local-model-score-grid strong{white-space:nowrap;font-size:12px}.model-run-summary{border:1px solid var(--color-border);background:var(--color-surface);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:7px;display:grid}.model-run-summary>span{gap:2px;min-width:0;padding:7px 8px;display:grid}.model-run-summary>span+span{border-left:1px solid var(--color-border)}.model-run-summary small{color:var(--color-text-secondary);font-size:8px}.model-run-summary strong{text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.model-run-summary em{color:var(--color-text-secondary);font-size:8px;font-style:normal}.local-model-meta{color:var(--color-text-secondary);justify-content:space-between;align-items:center;gap:8px;margin:7px 0;font-size:9px;display:flex}.local-model-workflow .ant-alert{padding:6px 8px}.local-model-workflow .ant-alert-title{font-size:9px;line-height:15px}.answer-card-evidence{grid-template-columns:minmax(0,1.6fr) minmax(155px,1fr);column-gap:12px;display:grid}.evidence-section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px;display:flex}.answer-card-evidence>.evidence-section-heading{grid-column:1/-1}.evidence-section-heading strong{font-size:12px}.evidence-section-heading span{color:var(--color-primary);font-size:10px;font-weight:600}.answer-card-evidence>.ant-segmented{margin-bottom:8px}.answer-card-thumbnail{background:var(--color-canvas);border:1px solid var(--color-border);cursor:zoom-in;place-items:center;width:100%;height:170px;padding:0;display:grid;position:relative;overflow:hidden}.answer-card-thumbnail img{object-fit:contain;width:100%;height:100%}.answer-card-thumbnail>span{color:#fff;background:#172033c7;border-radius:4px;align-items:center;gap:5px;padding:5px 8px;font-size:9px;display:inline-flex;position:absolute;bottom:8px;right:8px}.answer-card-thumbnail:hover{border-color:var(--color-primary);box-shadow:0 0 0 2px #2563eb1a}.objective-evidence{grid-area:2/2/4;grid-template-columns:minmax(0,1fr) auto;align-content:start;gap:7px;margin-top:0;display:grid}.objective-evidence>strong{font-size:11px}.objective-evidence>span{color:var(--color-primary);font-size:10px}.objective-evidence>p{color:var(--color-text-secondary);grid-column:1/-1;margin:0;font-size:9px;line-height:15px}.objective-evidence>div{grid-column:1/-1;grid-template-columns:repeat(5,1fr);gap:4px;display:grid}.objective-evidence>div>span{min-height:22px;color:var(--color-success);justify-content:center;align-items:center;gap:2px;font-size:9px;display:flex}.objective-evidence>div>span.is-wrong{color:var(--color-danger)}.subjective-evidence{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px;display:grid}.subjective-evidence>.evidence-section-heading{grid-column:1/-1}.subjective-evidence dl{margin:0}.subjective-evidence dl div{grid-template-columns:88px minmax(0,1fr);gap:10px;padding:6px 0;font-size:10px;display:grid}.subjective-evidence dt{color:var(--color-text-secondary)}.subjective-evidence dd{margin:0}.ai-diagnosis{border-left:1px solid var(--color-border);margin:0;padding:0 0 0 14px}.ai-diagnosis strong{font-size:11px}.ai-diagnosis p{color:var(--color-text-secondary);margin:7px 0 0;font-size:10px;line-height:16px}.ai-diagnosis .anticon{color:var(--color-warning)}.recognition-detail-section{min-width:0}.judgement-table-wrap{border:1px solid var(--color-border);max-height:272px;overflow:auto}.judgement-table{border-collapse:collapse;background:var(--color-surface);width:100%;min-width:390px;font-size:10px}.judgement-table th{z-index:1;border-bottom:1px solid var(--color-border);background:var(--color-canvas);height:30px;color:var(--color-text-secondary);text-align:left;white-space:nowrap;padding:4px 8px;position:sticky;top:0}.judgement-table td{border-bottom:1px solid var(--color-border);vertical-align:top;height:30px;padding:4px 8px}.judgement-table tbody tr:last-child td{border-bottom:0}.question-analysis-cell{min-width:260px}.question-analysis-cell strong,.question-analysis-cell span,.question-analysis-cell p{display:block}.question-analysis-cell strong{color:var(--color-ink);font-size:10px}.question-analysis-cell span{color:var(--color-text-secondary);margin-top:3px}.question-analysis-cell p{color:var(--color-primary);margin:3px 0 0;line-height:16px}.option-review-section>.ant-alert{margin-bottom:9px}.option-review-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:8px;display:grid}.option-review-grid article{border:1px solid var(--color-border);background:var(--color-surface)}.option-review-grid article.is-confirmed{box-shadow:inset 3px 0 var(--color-success);border-color:#86d3b7}.option-review-grid article.is-wrong{background:snow}.option-review-main{border-bottom:1px solid var(--color-border);grid-template-columns:28px 74px minmax(92px,1fr) auto;align-items:center;gap:7px;min-height:42px;padding:5px 8px;display:grid}.option-review-main>strong{background:var(--color-primary-soft);width:24px;height:24px;color:var(--color-primary);border-radius:50%;place-items:center;font-size:10px;display:grid}.option-review-main>span{font-size:9px}.option-review-analysis{gap:3px;padding:7px 9px;font-size:9px;line-height:15px;display:grid}.option-review-analysis strong{color:var(--color-ink)}.option-review-analysis span{color:var(--color-text-secondary)}.option-review-analysis p{color:var(--color-primary);margin:0}.sentence-judgements{gap:8px;display:grid}.sentence-judgements article{border:1px solid var(--color-border);background:var(--color-surface)}.sentence-judgements article>div{border-bottom:1px solid var(--color-border);background:var(--color-canvas);justify-content:space-between;align-items:center;min-height:34px;padding:5px 9px;display:flex}.sentence-judgements article>div strong{font-size:11px}.sentence-judgements article>div span{color:var(--color-primary);font-size:11px;font-weight:600}.sentence-judgements dl{grid-template-columns:72px minmax(0,1fr);margin:0;padding:5px 9px;font-size:10px;line-height:16px;display:grid}.sentence-judgements dt{color:var(--color-text-secondary);padding:4px 0}.sentence-judgements dd{overflow-wrap:anywhere;min-width:0;margin:0;padding:4px 0}.writing-score-grid{border:1px solid var(--color-border);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.writing-score-grid>span{gap:3px;padding:8px;display:grid}.writing-score-grid>span+span{border-left:1px solid var(--color-border)}.writing-score-grid small{color:var(--color-text-secondary);font-size:9px}.writing-score-grid strong{font-size:12px}.essay-transcript,.essay-issues{margin-top:10px}.essay-transcript>strong,.essay-issues>strong{font-size:11px}.essay-transcript p{border-left:3px solid var(--color-primary);background:var(--color-canvas);color:var(--color-ink);white-space:pre-wrap;margin:6px 0 0;padding:8px 10px;font-family:Times New Roman,Songti SC,STSong,serif;font-size:12px;line-height:19px}.essay-issues ul{color:var(--color-danger);margin:6px 0 0;padding-left:18px;font-size:10px;line-height:17px}.essay-issues p{color:var(--color-text-secondary);margin:6px 0 0;font-size:10px}.subjective-step-advice{border:1px solid var(--color-border);background:var(--color-primary-soft);margin-top:10px;padding:10px}.subjective-step-advice>strong{font-size:11px}.subjective-step-advice ol{color:var(--color-text-secondary);margin:6px 0 0;padding-left:20px;font-size:10px;line-height:18px}.answer-learning-summary{background:#fffefa}.answer-summary-overview{border-left:3px solid var(--color-primary);background:var(--color-primary-soft);margin:0 0 10px;padding:9px 11px;font-size:10px;line-height:17px}.answer-summary-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.answer-summary-columns>div,.subjective-focus-summary{border:1px solid var(--color-border);background:var(--color-surface);padding:10px}.answer-summary-columns strong,.subjective-focus-summary strong{font-size:11px}.answer-summary-columns ul,.subjective-focus-summary ol{color:var(--color-text-secondary);margin:6px 0 0;padding-left:18px;font-size:10px;line-height:18px}.subjective-focus-summary{margin-top:10px}.answer-card-preview-modal .ant-modal-content{padding:14px}.answer-card-preview-toolbar{justify-content:space-between;align-items:center;gap:16px;min-height:46px;padding:0 4px 10px;display:flex}.answer-card-preview-toolbar>.ant-space>span{min-width:46px;color:var(--color-text-secondary);text-align:center;font-size:11px}.answer-card-large-preview{border:1px solid var(--color-border);background:#e7eaf0;place-items:center;height:min(78vh,940px);display:grid;overflow:auto}.answer-card-large-preview img{object-fit:contain;transform-origin:50%;width:auto;max-width:90%;height:auto;max-height:90%;box-shadow:var(--shadow-paper);transition:transform .12s}.teacher-score-editor{grid-template-columns:minmax(145px,.75fr) minmax(0,1.25fr);gap:10px 14px;display:grid}.teacher-score-editor>strong{grid-column:1/-1;font-size:12px}.teacher-score-editor>label{color:var(--color-text-secondary);align-content:start;gap:6px;font-size:10px;display:grid}.teacher-score-editor>label .ant-radio-group{flex-wrap:wrap;gap:8px;display:flex}.teacher-score-fields{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.teacher-score-fields label{color:var(--color-text-secondary);gap:5px;font-size:10px;display:grid}.teacher-score-total{border:1px solid var(--color-border);background:var(--color-canvas);color:var(--color-text-secondary);grid-column:1/-1;margin:0;padding:8px 10px;font-size:10px}.exam-evidence-actions{justify-content:flex-end;gap:8px;padding:8px 14px 6px;display:flex}.exam-evidence-actions .primary-link{min-height:32px}.ai-boundary{color:var(--color-text-secondary);margin:0;padding:0 14px 2px;font-size:9px;line-height:16px}.ai-boundary .anticon{color:var(--color-primary)}.student-basic-info{padding:14px}.student-basic-info dl{margin:0}.student-basic-info dl div{border-bottom:1px solid var(--color-border);justify-content:space-between;gap:20px;padding:10px 0;font-size:11px;display:flex}.student-basic-info dt{color:var(--color-text-secondary)}.student-basic-info dd{margin:0;font-weight:600}.exam-no-submissions,.exam-loading{text-align:center;align-content:center;place-items:center;gap:10px;min-height:360px;margin-top:10px;display:grid}.exam-no-submissions>.anticon{color:var(--color-primary);font-size:38px}.exam-no-submissions h2{margin:6px 0 0;font-size:18px}.exam-no-submissions p{max-width:580px;color:var(--color-text-secondary);margin:0;font-size:12px;line-height:20px}@media (max-width:1320px){.exam-review-layout{grid-template-columns:minmax(280px,1fr) minmax(0,3fr)}.exam-evidence-panel{max-height:760px}.exam-meta-strip{grid-template-columns:repeat(9,minmax(88px,1fr))}.local-model-score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.model-routing-grid,.model-run-summary{grid-template-columns:1fr}.model-run-summary>span+span,.local-model-score-grid>span:nth-child(3){border-left:0;border-top:1px solid var(--color-border)}.local-model-score-grid>span:nth-child(4){border-top:1px solid var(--color-border)}.writing-score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.writing-score-grid>span:nth-child(3){border-left:0;border-top:1px solid var(--color-border)}.writing-score-grid>span:nth-child(4){border-top:1px solid var(--color-border)}.teacher-score-fields{grid-template-columns:1fr}.recognition-task-strip{grid-template-columns:1fr;gap:8px}}.class-directory{grid-template-columns:180px minmax(0,1fr);margin-bottom:16px;display:grid}.class-directory-summary{border-right:1px solid var(--color-border);grid-template-columns:auto 1fr;align-content:center;column-gap:7px;min-height:116px;padding:16px 20px;display:grid}.class-directory-summary strong{font-size:26px;line-height:32px}.class-directory-summary>span{color:var(--color-text-secondary);align-self:end;padding-bottom:4px;font-size:12px}.class-directory-summary small{color:var(--color-text-muted);grid-column:1/-1;font-size:10px;line-height:18px}.class-directory-groups{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;display:grid}.class-directory-group{min-width:0;padding:12px 16px}.class-directory-group+.class-directory-group{border-left:1px solid var(--color-border)}.class-directory-group header{align-items:center;gap:7px;margin-bottom:8px;display:flex}.class-directory-group header>span{color:var(--color-primary)}.class-directory-group header strong{font-size:12px}.class-directory-group header small{color:var(--color-text-muted);margin-left:auto;font-size:10px}.class-directory-group.is-unassigned{border-top:1px solid var(--color-border);border-left:0;grid-column:1/-1}.class-switch-list{gap:8px;display:flex;overflow-x:auto}.class-switch-list button{border:1px solid var(--color-border);background:var(--color-surface);min-width:136px;min-height:56px;color:var(--color-ink);text-align:left;cursor:pointer;border-radius:6px;align-content:center;gap:3px;padding:8px 12px;transition:border-color .12s,background-color .12s;display:grid}.class-switch-list button:hover{border-color:var(--color-primary)}.class-switch-list button.is-selected{border-color:var(--color-primary);background:var(--color-primary-soft);box-shadow:inset 3px 0 var(--color-primary)}.class-switch-list button.is-empty{color:var(--color-primary);font-size:11px;font-weight:600}.class-switch-list button strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.class-switch-list button span{color:var(--color-text-secondary);white-space:nowrap;font-size:10px}.roster-toolbar{justify-content:space-between;align-items:center;gap:20px;min-height:68px;margin-bottom:0;padding:10px 16px;display:flex}.selected-class-heading{align-items:center;gap:8px;min-width:180px;display:flex}.selected-class-heading>strong{font-size:16px}.selected-class-heading>span{color:var(--color-text-secondary);font-size:11px}.selected-class-heading>span:first-child{border-right:1px solid var(--color-border);padding-right:8px}.student-roster-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.class-roster-meta{border:1px solid var(--color-border);background:var(--color-surface);min-height:44px;color:var(--color-text-secondary);border-top:0;align-items:center;gap:20px;margin-bottom:16px;padding:0 16px;font-size:11px;display:flex}.class-roster-meta strong{color:var(--color-ink);font-size:16px}.class-roster-meta small{color:var(--color-text-muted);margin-left:auto}.roster-toolbar label{color:var(--color-text-secondary);font-size:12px;font-weight:600}.roster-count{align-items:baseline;gap:5px;display:flex}.roster-count strong{font-size:24px}.roster-count span,.roster-count small{color:var(--color-text-secondary)}.roster-count small{margin-left:10px;font-size:11px}.roster-panel{min-height:420px}.student-center-header .ant-btn{min-height:40px}.student-roster-scope{align-items:center;gap:12px;display:flex}.student-roster-scope>span{color:var(--color-text-secondary);font-size:12px;font-weight:600}.student-center-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}.student-center-layout.has-detail{grid-template-columns:minmax(620px,1.45fr) minmax(340px,.65fr)}.student-roster-table{min-width:800px}.student-roster-table tbody tr.is-selected{background:var(--color-primary-soft);box-shadow:inset 3px 0 var(--color-primary)}.student-name-link{min-height:40px;color:var(--color-primary);text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.student-name-link:hover{color:var(--color-primary-hover);text-decoration:underline}.student-profile-panel{min-width:0;position:sticky;top:76px}.student-profile-content{display:grid}.student-profile-identity{border-bottom:1px solid var(--color-border);gap:4px;padding:16px;display:grid}.student-profile-identity strong{font-size:18px;line-height:26px}.student-profile-identity span{color:var(--color-text-secondary);font-size:12px}.student-profile-identity small{overflow-wrap:anywhere;color:var(--color-text-muted);font-size:10px}.student-profile-content>.ant-empty{padding:40px 16px}.student-detail-loading{min-height:220px;color:var(--color-text-secondary);align-content:center;place-items:center;gap:12px;font-size:12px;display:grid}.student-profile-panel>.ant-alert{margin:16px}.student-overview-strip{border-bottom:1px solid var(--color-border);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.student-overview-strip>div{text-align:center;align-content:center;place-items:center;gap:5px;min-height:78px;padding:12px;display:grid}.student-overview-strip>div:nth-child(2n){border-left:1px solid var(--color-border)}.student-overview-strip>div:nth-child(n+3){border-top:1px solid var(--color-border)}.student-overview-strip strong{font-size:22px}.student-overview-strip span{color:var(--color-text-secondary);font-size:10px}.student-profile-section{border-bottom:1px solid var(--color-border);padding:16px}.student-profile-section:last-child{border-bottom:0}.student-profile-section h3{align-items:center;gap:7px;margin:0 0 10px;font-size:13px;display:flex}.student-profile-section h3 .anticon{color:var(--color-primary)}.student-profile-section p{color:var(--color-text-secondary);margin:0;font-size:11px;line-height:18px}.student-profile-section ol,.student-wrong-word-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.student-profile-section>ol>li,.student-wrong-word-list>li{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;min-height:38px;font-size:11px;display:flex}.student-profile-section>ol>li:first-child,.student-wrong-word-list>li:first-child{border-top:0}.student-profile-section li>span{overflow-wrap:anywhere;min-width:0;color:var(--color-text-secondary)}.student-profile-section li>strong{flex:none;font-size:11px}.student-timeline>li{padding:9px 0;gap:3px!important;align-items:initial!important;justify-content:initial!important;display:grid!important}.student-timeline>li>div{justify-content:space-between;gap:12px;display:flex}.student-timeline time{color:var(--color-text-muted);font-size:10px}.student-profile-form{padding-bottom:4px}.class-profile-form .ant-input-number{width:100%}.roster-import-form>p{color:var(--color-text-secondary);margin:0;font-size:11px;line-height:19px}.roster-file-input{border:1px solid var(--color-border);background:var(--color-surface);min-height:40px;color:var(--color-ink);border-radius:6px;padding:6px 8px;font-weight:400}.roster-file-input::file-selector-button{border:1px solid var(--color-border);background:var(--color-row-hover);min-height:28px;color:var(--color-ink);cursor:pointer;border-radius:4px;margin-right:10px;padding:0 10px}.import-preview{border:1px solid var(--color-border);grid-template-columns:repeat(3,1fr);display:grid}.import-preview>div{align-content:center;place-items:center;gap:3px;min-height:68px;display:grid}.import-preview>div+div{border-left:1px solid var(--color-border)}.import-preview>div strong{font-size:20px}.import-preview>div span,.import-preview>small{color:var(--color-text-secondary);font-size:10px}.import-preview ol{border-top:1px solid var(--color-border);grid-column:1/-1;margin:0;padding:0 14px;list-style:none}.import-preview li{border-top:1px solid var(--color-border);align-items:center;gap:20px;min-height:34px;font-size:11px;display:flex}.import-preview li:first-child{border-top:0}.import-preview li span{width:54px;color:var(--color-text-secondary)}.import-preview>small{border-top:1px solid var(--color-border);grid-column:1/-1;padding:8px 14px}.empty-table{color:var(--color-text-secondary);text-align:center;padding:56px 16px}.import-dialog,.form-stack{gap:16px;padding-top:8px;display:grid}.import-dialog>label,.form-stack label{color:var(--color-text-secondary);gap:7px;font-size:12px;font-weight:600;display:grid}.form-stack .ant-select{width:100%}@media (max-width:1200px){.class-directory{grid-template-columns:150px minmax(0,1fr)}.student-roster-actions{flex-wrap:wrap}.student-center-layout.has-detail{grid-template-columns:1fr}.student-profile-panel{position:static}}@media (max-width:760px){.student-center-header,.roster-toolbar{flex-direction:column;align-items:stretch}.student-center-header .ant-btn{width:100%}.student-roster-scope{flex-direction:column;align-items:flex-start}.student-roster-actions{flex-direction:column;align-items:stretch}.class-directory{grid-template-columns:1fr}.class-directory-summary{border-right:0;border-bottom:1px solid var(--color-border);min-height:88px}.class-directory-groups{grid-template-columns:1fr}.class-directory-group+.class-directory-group{border-top:1px solid var(--color-border);border-left:0}.class-roster-meta{flex-direction:column;align-items:flex-start;gap:6px;padding:10px 16px}.class-roster-meta small{margin-left:0}.roster-count{flex-wrap:wrap}.roster-count small{width:100%;margin-left:0}}.learning-progress-page{padding-bottom:48px}.learning-report-tabs>.ant-tabs-nav{margin:0 0 20px}.learning-report-tabs>.ant-tabs-nav .ant-tabs-tab{min-height:40px;padding:8px 4px;font-weight:600}.learning-progress-header{align-items:center}.learning-progress-header-actions{align-items:center;gap:8px;display:flex}.learning-progress-header-actions .ant-btn{min-height:40px}.learning-progress-header-actions .ant-select{min-width:168px}.learning-progress-alert{margin-bottom:16px}.learning-progress-date-range{background:var(--color-surface);border:1px solid var(--color-border);align-items:center;gap:12px;min-height:60px;margin-bottom:16px;padding:10px 16px;display:flex}.learning-progress-date-range>.anticon{color:var(--color-primary);font-size:18px}.learning-progress-date-range label{color:var(--color-text-secondary);align-items:center;gap:8px;font-size:12px;display:flex}.learning-progress-date-range input{border:1px solid var(--color-border);background:var(--color-surface);width:148px;min-height:36px;color:var(--color-ink);border-radius:6px;padding:0 10px}.learning-progress-date-range>span{color:var(--color-text-muted);font-size:11px}.learning-progress-stats{margin-bottom:16px}.learning-progress-panel{min-height:440px}.learning-progress-toolbar{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:16px;min-height:68px;padding:12px 16px;display:flex}.learning-progress-toolbar .ant-input-affix-wrapper{width:240px;min-height:36px}.learning-progress-filters{align-items:center;gap:8px;display:flex}.learning-progress-filters .ant-select:first-child{min-width:156px}.learning-progress-filters .ant-select:last-child{min-width:176px}.learning-progress-source-note{background:var(--color-primary-soft);border-bottom:1px solid var(--color-border);min-height:42px;color:var(--color-text-secondary);justify-content:space-between;align-items:center;gap:16px;padding:8px 16px;font-size:11px;display:flex}.learning-progress-source-note>span{color:var(--color-primary);align-items:center;gap:7px;font-weight:600;display:inline-flex}.learning-progress-tracking-note{margin:12px 16px 0}.learning-progress-core-fields{justify-content:center;padding:12px 16px 4px;display:flex}.learning-progress-core-fields .ant-tag{margin:0;padding:4px 10px;font-weight:600}.learning-progress-loading{max-width:960px;padding:28px 24px}.learning-progress-empty{padding:72px 16px}.learning-progress-table{min-width:1660px}.learning-progress-table td{height:76px}.learning-progress-table td strong{font-size:12px;display:block}.learning-progress-table td small{color:var(--color-text-secondary);margin-top:3px;font-size:10px;display:block}.student-progress-core-value{color:var(--color-ink);font-size:14px!important}.student-progress-primary-number{color:var(--color-primary);line-height:28px;font-size:21px!important}.student-progress-breakdown{white-space:nowrap;flex-wrap:wrap;gap:3px 10px;min-width:244px;font-size:10px;font-weight:600;display:flex}.student-progress-breakdown .is-mastered{color:var(--color-success)}.student-progress-breakdown .is-reinforcing{color:var(--color-warning)}.student-progress-breakdown .is-unmastered{color:var(--color-danger)}.student-progress-knowledge-rate{grid-template-columns:minmax(72px,1fr) 32px;align-items:center;gap:8px;margin-top:5px;display:grid}.student-progress-knowledge-rate .ant-progress{margin:0}.student-progress-knowledge-rate small{text-align:right;margin:0!important}.student-progress-rank{border:1px solid var(--color-border);width:28px;height:28px;color:var(--color-primary);border-radius:50%;place-items:center;font-size:13px!important;display:grid!important}.student-progress-identity{min-height:42px;color:var(--color-primary);text-align:left;cursor:pointer;background:0 0;border:0;gap:3px;padding:0;display:grid}.student-progress-identity strong{font-size:13px}.student-progress-identity small{color:var(--color-text-secondary);font-size:10px;font-weight:400}.student-progress-identity:hover strong{color:var(--color-primary-hover);text-decoration:underline}.student-progress-vocabulary{grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px;width:112px;display:grid}.student-progress-vocabulary strong{font-size:11px}.student-progress-vocabulary .ant-progress{margin:0}.student-progress-mastery{align-items:center;gap:8px;display:flex}.student-progress-mastery>strong{width:36px;font-size:12px}.game-progress-table{min-width:1240px}.game-progress-table td:nth-child(2),.game-progress-table td:nth-child(3),.game-progress-table td:nth-child(4),.game-progress-table td:nth-child(6){display:table-cell}.game-progress-table td:nth-child(2) strong,.game-progress-table td:nth-child(3) strong,.game-progress-table td:nth-child(4) strong,.game-progress-table td:nth-child(6) strong{font-size:12px;display:block}.game-progress-table td:nth-child(2) small,.game-progress-table td:nth-child(3) small,.game-progress-table td:nth-child(4) small,.game-progress-table td:nth-child(6) small{color:var(--color-text-secondary);margin-top:3px;font-size:10px;display:block}.game-progress-table .student-progress-mastery{min-width:104px}.game-progress-table .student-progress-mastery .ant-progress{min-width:52px;margin:0}.game-achievement-list{margin-top:12px}.game-achievement-list li>b{color:var(--color-success)}.student-progress-detail{display:grid}.student-progress-detail-identity{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:20px;display:flex}.student-progress-detail-identity>div{min-width:0}.student-progress-detail-identity>div>span{color:var(--color-primary);letter-spacing:.04em;font-size:11px;font-weight:700}.student-progress-detail-identity h2{margin:5px 0 2px;font-size:21px}.student-progress-detail-identity p{color:var(--color-text-secondary);margin:0;font-size:12px}.student-progress-detail-grid{border-bottom:1px solid var(--color-border);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.student-progress-detail-grid>div{text-align:center;align-content:center;place-items:center;gap:5px;min-height:84px;display:grid}.student-progress-detail-grid>div+div{border-left:1px solid var(--color-border)}.student-progress-detail-grid strong{font-size:19px}.student-progress-detail-grid span{color:var(--color-text-secondary);font-size:9px}.student-progress-report-actions{border-bottom:1px solid var(--color-border);align-items:center;gap:8px;min-height:60px;padding:10px 0;display:flex}.student-progress-report-actions>span{color:var(--color-text-muted);text-align:right;margin-left:auto;font-size:10px}.student-progress-legacy-note{margin-top:16px}.student-progress-detail-section{border-bottom:1px solid var(--color-border);padding:20px 0}.student-progress-detail-section:last-child{border-bottom:0}.student-progress-detail-section h3{align-items:center;gap:7px;margin:0 0 12px;font-size:14px;display:flex}.student-progress-detail-section h3 .anticon{color:var(--color-primary)}.student-progress-detail-section dl{margin:0}.student-progress-detail-section dl>div{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:16px;min-height:40px;font-size:12px;display:flex}.student-progress-detail-section dl>div:first-child{border-top:0}.student-progress-detail-section dt{color:var(--color-text-secondary)}.student-progress-detail-section dd{margin:0;font-weight:600}.student-progress-weak-list,.student-progress-paper-list{margin:0;padding:0;list-style:none;display:grid}.student-progress-weak-list li,.student-progress-paper-list li{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;min-height:52px;display:flex}.student-progress-weak-list li:first-child,.student-progress-paper-list li:first-child{border-top:0}.student-progress-weak-list li>span,.student-progress-paper-list li>span{gap:3px;min-width:0;display:grid}.student-progress-weak-list li strong,.student-progress-paper-list li strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.student-progress-weak-list li small,.student-progress-paper-list li small{color:var(--color-text-secondary);font-size:10px}.student-progress-weak-list li>b{color:var(--color-warning);flex:none;font-size:12px}.student-progress-paper-list li>b{color:var(--color-primary);flex:none;font-size:12px}.student-progress-page-usage{margin:0;padding:0;list-style:none;display:grid}.student-progress-page-usage li{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:16px;min-height:48px;display:flex}.student-progress-page-usage li:first-child{border-top:0}.student-progress-page-usage li>span{gap:3px;display:grid}.student-progress-page-usage li strong,.student-progress-page-usage li b{font-size:12px}.student-progress-page-usage li small{color:var(--color-text-secondary);font-size:10px}.student-progress-section-note{color:var(--color-text-muted);margin:-4px 0 12px;font-size:10px;line-height:17px}.student-progress-session-section{min-width:0}.student-progress-session-table{min-width:720px}.student-progress-session-table th,.student-progress-session-table td{padding-inline:10px}.student-progress-session-table td{white-space:nowrap;height:48px;font-size:11px}.student-progress-session-table td strong{font-size:11px}.student-progress-daily-section{min-width:0}.student-progress-detail-loading{min-height:160px}.student-progress-daily-table{min-width:980px}.student-progress-daily-table th,.student-progress-daily-table td{padding-inline:10px}.student-progress-daily-table td{height:58px;font-size:11px;line-height:18px}.student-progress-daily-table td:first-child strong,.student-progress-daily-table td:first-child small{display:block}.student-progress-daily-table td small{color:var(--color-text-secondary);font-size:9px}.student-progress-report-rule{background:var(--color-primary-soft);color:var(--color-text-secondary);align-items:flex-start;gap:8px;margin:16px 0 0;padding:14px;font-size:11px;line-height:18px;display:flex}.student-progress-report-rule .anticon{color:var(--color-primary);margin-top:2px}@media (max-width:1200px){.learning-progress-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-progress-stats .stat-item:nth-child(3){border-top:1px solid var(--color-border);border-left:0}.learning-progress-stats .stat-item:nth-child(4){border-top:1px solid var(--color-border)}}@media (max-width:760px){.learning-progress-header,.learning-progress-toolbar,.learning-progress-source-note,.learning-progress-date-range{flex-direction:column;align-items:stretch}.learning-progress-header-actions{justify-content:space-between}.learning-progress-header-actions .ant-select,.learning-progress-toolbar .ant-input-affix-wrapper,.learning-progress-date-range input{width:100%}.learning-progress-filters{flex-direction:column;align-items:stretch}.learning-progress-filters .ant-select{width:100%}.learning-progress-source-note{gap:4px}.student-progress-report-actions{flex-direction:column;align-items:stretch}.student-progress-report-actions>span{text-align:left;margin-left:0}.student-progress-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-progress-detail-grid>div:nth-child(3){border-top:1px solid var(--color-border);border-left:0}.student-progress-detail-grid>div:nth-child(4){border-top:1px solid var(--color-border)}}@media print{body:has(.student-progress-drawer .parent-learning-report) .app-shell{display:none}:is(body:has(.student-progress-drawer .parent-learning-report) .ant-drawer-mask,body:has(.student-progress-drawer .parent-learning-report) .ant-drawer-header,body:has(.student-progress-drawer .parent-learning-report) .student-progress-report-actions){display:none!important}:is(body:has(.student-progress-drawer .parent-learning-report) .ant-drawer,body:has(.student-progress-drawer .parent-learning-report) .ant-drawer-content-wrapper){width:100%!important;max-width:none!important;box-shadow:none!important;position:static!important;transform:none!important}body:has(.student-progress-drawer .parent-learning-report) .ant-drawer-content{overflow:visible!important}body:has(.student-progress-drawer .parent-learning-report) .ant-drawer-body{padding:0!important;overflow:visible!important}body:has(.student-progress-drawer .parent-learning-report) .student-progress-daily-table{min-width:0;font-size:9px}}.template-layout{grid-template-columns:300px minmax(0,1fr);gap:16px;display:grid}.template-list{align-self:start}.template-list>button{border:0;border-bottom:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:82px;color:var(--color-text-secondary);text-align:left;cursor:pointer;grid-template-columns:32px minmax(0,1fr) 20px;align-items:center;gap:10px;padding:12px 14px;display:grid}.template-list>button:hover{background:var(--color-row-hover)}.template-list>button.is-active{background:var(--color-primary-soft);box-shadow:inset 3px 0 var(--color-primary);color:var(--color-primary)}.template-list>button>span:nth-child(2){gap:5px;min-width:0;display:grid}.template-list strong{color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.template-list small{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.template-number{color:var(--color-text-muted);font-size:12px;font-weight:700}.template-note{color:var(--color-text-secondary);gap:10px;padding:16px;font-size:11px;line-height:18px;display:flex}.template-detail>.panel-heading{min-height:64px}.template-detail>.panel-heading>div:first-child{gap:3px;display:grid}.paper-meta-strip{border-bottom:1px solid var(--color-border);grid-template-columns:repeat(4,1fr);display:grid}.paper-meta-strip>span{min-height:72px;color:var(--color-text-secondary);align-content:center;place-items:center;gap:4px;font-size:11px;display:grid}.paper-meta-strip>span+span{border-left:1px solid var(--color-border)}.paper-meta-strip strong{color:var(--color-ink);font-size:21px}.question-key-list{padding:4px 20px 20px}.question-key-list>div{border-bottom:1px solid var(--color-border);grid-template-columns:30px minmax(0,1fr) 90px 48px;align-items:center;gap:12px;min-height:78px;display:grid}.question-index{border:1px solid var(--color-border);width:26px;height:26px;color:var(--color-text-secondary);border-radius:50%;place-items:center;font-size:11px;display:grid}.question-key-list>div>span:nth-child(2){gap:5px;min-width:0;display:grid}.question-key-list strong{font-family:Times New Roman,Songti SC,serif;font-size:15px;font-weight:500}.question-key-list small{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.question-key-list b{text-align:right;font-size:12px}.knowledge-paper-preview{border-bottom:1px solid var(--color-border);background:var(--color-canvas);grid-template-columns:minmax(0,1fr) 230px;align-items:start;gap:20px;padding:20px;display:grid}.knowledge-paper-preview img{background:var(--color-paper);width:100%;height:auto;box-shadow:var(--shadow-paper)}.knowledge-paper-preview>div{background:var(--color-surface);border:1px solid var(--color-border);gap:8px;padding:14px;display:grid}.knowledge-paper-preview p{color:var(--color-text-secondary);overflow-wrap:anywhere;margin:0;font-size:11px;line-height:18px}.answer-key{color:var(--color-success);font-size:12px;font-weight:600}.answer-key.is-review{color:var(--color-warning)}.answer-card-view{grid-template-columns:minmax(380px,1fr) 320px;min-height:620px;display:grid}.answer-card-preview{background:var(--color-canvas);place-items:start center;padding:24px;display:grid;overflow:auto}.answer-card-preview img{width:min(100%,510px);height:auto;box-shadow:var(--shadow-paper)}.answer-card-roster{border-left:1px solid var(--color-border);padding:24px}.answer-card-roster h3{margin:0 0 8px;font-size:16px}.answer-card-roster>p{color:var(--color-text-secondary);margin:0 0 20px;font-size:12px;line-height:20px}.download-list{border-top:1px solid var(--color-border)}.download-list a{border-bottom:1px solid var(--color-border);min-height:44px;color:var(--color-text-secondary);justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.download-list a:hover{color:var(--color-primary)}@media (max-width:1250px){.template-layout{grid-template-columns:250px minmax(0,1fr)}.answer-card-view{grid-template-columns:1fr}.answer-card-roster{border-top:1px solid var(--color-border);border-left:0}}.grading-page{padding-bottom:48px}.grading-stepper{background:var(--color-surface);border:1px solid var(--color-border);grid-template-columns:repeat(5,1fr);min-height:72px;margin-bottom:16px;display:grid}.grading-stepper>div{color:var(--color-text-muted);justify-content:center;align-items:center;gap:8px;font-size:12px;display:flex;position:relative}.grading-stepper>div+div:before{background:var(--color-border);content:"";width:28%;height:1px;position:absolute;top:50%;left:-14%}.grading-stepper span{z-index:1;border:1px solid var(--color-border);background:var(--color-surface);border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.grading-stepper .is-current{color:var(--color-primary)}.grading-stepper .is-current span{border-color:var(--color-primary);background:var(--color-primary-soft)}.grading-stepper .is-done{color:var(--color-success)}.grading-stepper .is-done span{border-color:var(--color-success);background:#ecfdf3}.grading-empty{text-align:center;align-content:center;place-items:center;gap:12px;min-height:470px;display:grid}.grading-empty>.anticon{color:var(--color-primary);font-size:48px}.grading-empty h2{margin:8px 0 0;font-size:20px}.grading-empty p{max-width:580px;color:var(--color-text-secondary);margin:0;line-height:22px}.grading-empty .upload-actions{margin-top:8px}.grading-empty>.upload-hints{gap:8px;margin-top:12px;display:flex}.grading-empty>.upload-hints span{background:var(--color-row-hover);color:var(--color-text-secondary);padding:6px 10px;font-size:12px}.upload-drop-zone{border-style:dashed}.real-model-routing{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:12px;display:grid}.real-model-routing>div,.real-model-routing>label{align-content:center;gap:5px;min-height:92px;padding:16px 20px;display:grid}.real-model-routing>label{border-left:1px solid var(--color-border)}.real-model-routing small,.real-model-routing span{color:var(--color-text-secondary);font-size:11px}.real-model-routing strong{font-size:14px}.real-model-routing .ant-select{width:100%}.model-config-summary{background:var(--color-surface);border:1px solid var(--color-border);grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px;display:grid}.model-config-summary>div{align-items:center;gap:14px;min-height:88px;padding:16px 20px;display:flex}.model-config-summary>div+div{border-left:1px solid var(--color-border)}.model-config-summary>div>.anticon{color:var(--color-primary);font-size:22px}.model-config-summary span{gap:4px;display:grid}.model-config-summary strong{font-size:20px;line-height:1}.model-config-summary small{color:var(--color-text-secondary);font-size:11px}.model-defaults-panel{margin-bottom:16px}.model-defaults-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:16px;padding:16px;display:grid}.model-defaults-grid label{min-width:0;color:var(--color-ink);gap:6px;font-size:13px;font-weight:600;display:grid}.model-defaults-grid label small{color:var(--color-text-secondary);font-size:11px;font-weight:400}.model-defaults-grid .ant-select{width:100%}.model-config-list{margin-bottom:16px;overflow:hidden}.model-config-list .ant-table-wrapper{overflow-x:auto}.model-config-list .ant-table{min-width:860px}.model-name-cell{gap:3px;display:grid}.model-name-cell small{color:var(--color-text-secondary);font-size:11px}.model-endpoint{color:var(--color-text-secondary);word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.model-security-note{margin-bottom:8px}.model-config-form .ant-form-item{margin-bottom:16px}.model-connection-row{border-top:1px solid var(--color-border);align-items:center;gap:12px;min-height:40px;padding-top:4px;display:flex}.model-connection-row span{font-size:12px}.text-warning{color:var(--color-warning)}.upload-manifest>.ant-alert{border-radius:0}.upload-file-grid{grid-template-columns:repeat(2,1fr);gap:0 24px;padding:12px 20px 20px;display:grid}.upload-file-grid>div{border-bottom:1px solid var(--color-border);grid-template-columns:28px minmax(0,1fr) 24px;align-items:center;gap:10px;min-height:58px;display:grid}.upload-file-grid>div>.anticon:first-child{color:var(--color-primary)}.upload-file-grid>div>.anticon:last-child{color:var(--color-success)}.upload-file-grid span{gap:3px;min-width:0;display:grid}.upload-file-grid strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.upload-file-grid small{color:var(--color-text-secondary);font-size:11px}.processing-panel{align-content:center;gap:28px;min-height:360px;padding:48px 8%;display:grid}.processing-main{align-items:center;gap:20px;display:flex}.processing-main>.anticon{color:var(--color-primary);font-size:38px}.processing-main h2{margin:0 0 6px;font-size:20px}.processing-main p{color:var(--color-text-secondary);margin:0;font-size:12px}.processing-counts{border:1px solid var(--color-border);grid-template-columns:repeat(4,1fr);display:grid}.processing-counts span{color:var(--color-text-secondary);justify-content:center;align-items:baseline;gap:6px;padding:14px;font-size:11px;display:flex}.processing-counts span+span{border-left:1px solid var(--color-border)}.processing-counts strong{color:var(--color-ink);font-size:18px}.batch-summary{grid-template-columns:minmax(150px,1fr) repeat(4,minmax(90px,.65fr)) auto;align-items:center;gap:10px;min-height:64px;margin-bottom:12px;padding:8px 16px;display:grid}.batch-summary>div{align-items:center;gap:8px;display:flex}.batch-summary>div:not(:first-child){border-left:1px solid var(--color-border);gap:2px;padding-left:16px;display:grid}.batch-summary>div:not(:first-child) strong{font-size:18px}.batch-summary span{color:var(--color-text-secondary);font-size:11px}.grading-workspace{grid-template-columns:250px minmax(500px,1fr) 330px;gap:12px;height:720px;display:grid}.sheet-list,.review-panel{min-height:0;overflow-y:auto}.sheet-list>button{border:0;border-bottom:1px solid var(--color-border);background:var(--color-surface);text-align:left;cursor:pointer;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;min-height:64px;padding:8px 12px;display:grid}.sheet-list>button:hover{background:var(--color-row-hover)}.sheet-list>button.is-active{background:var(--color-primary-soft);box-shadow:inset 3px 0 var(--color-primary)}.sheet-list>button>span:first-child{background:var(--color-row-hover);width:32px;height:32px;color:var(--color-primary);border-radius:50%;place-items:center;font-size:12px;font-weight:700;display:grid}.sheet-list>button>span:nth-child(2){gap:3px;min-width:0;display:grid}.sheet-list strong{font-size:12px}.sheet-list small{color:var(--color-text-secondary);font-size:10px}.sheet-list .status-chip{padding:2px 5px;font-size:9px}.sheet-canvas{grid-template-rows:64px minmax(0,1fr);min-width:0;min-height:0;display:grid}.sheet-canvas>.panel-heading{min-height:64px}.sheet-canvas>.panel-heading>div{gap:3px;min-width:0;display:grid}.sheet-canvas>.panel-heading span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sheet-image-stage{background:var(--color-canvas);min-height:0;padding:24px;overflow:auto}.sheet-image-stage img{width:min(100%,1000px);height:auto;box-shadow:var(--shadow-paper);margin:0 auto;display:block}.identity-warning{justify-items:start;gap:10px;padding:24px;display:grid}.identity-warning>.anticon{color:var(--color-warning);font-size:30px}.identity-warning h3{margin:4px 0 0;font-size:16px}.identity-warning p{color:var(--color-text-secondary);margin:0 0 8px;font-size:12px;line-height:20px}.review-form{gap:16px;padding:16px;display:grid}.review-form section{border-top:1px solid var(--color-border);gap:8px;padding-top:14px;display:grid}.review-form h3{margin:0 0 4px;font-size:13px}.review-section-note{color:var(--color-text-secondary);margin:0 0 4px;font-size:10px;line-height:17px}.review-feedback-list{color:#8f2d1f;background:#fff8f5;gap:7px;margin:0 0 8px;padding:10px 12px 10px 28px;font-size:11px;line-height:18px;display:grid}.completed-score-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-bottom:16px;display:grid;overflow:hidden}.completed-score-strip>div{border-right:1px solid var(--color-border);flex-direction:column;gap:5px;min-width:0;padding:18px 20px;display:flex}.completed-score-strip>div:last-child{border-right:0}.completed-score-strip span,.completed-score-strip small{color:var(--color-text-secondary)}.completed-score-strip strong{font-size:22px}.review-form label{min-height:38px;color:var(--color-text-secondary);grid-template-columns:minmax(0,1fr) 100px;align-items:center;gap:8px;font-size:11px;display:grid}.review-form .ant-input-number{width:100%}.review-form label.review-note{grid-template-columns:1fr}.compact-answer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px;display:grid}.compact-answer-grid>span{border-left:2px solid var(--color-border);background:var(--color-row-hover);min-width:0;color:var(--color-text-secondary);overflow-wrap:anywhere;padding:5px 6px;font-size:10px;line-height:16px}.compact-answer-grid>span.is-correct{border-left-color:var(--color-success);color:var(--color-success)}.compact-answer-grid>span.is-wrong{border-left-color:var(--color-danger);color:var(--color-danger)}.essay-review-text{border:1px solid var(--color-border);background:var(--color-paper);white-space:pre-wrap;max-height:180px;margin:0;padding:10px 12px;font-family:Times New Roman,Songti SC,serif;font-size:13px;line-height:21px;overflow-y:auto}.teacher-score-total{background:var(--color-primary-soft);color:var(--color-text-secondary);margin:4px 0 0;padding:10px 12px;font-size:11px}.teacher-score-total strong{color:var(--color-primary);font-size:16px}.audit-log{max-height:540px;padding:8px 0;overflow-y:auto}.audit-log>div:not(.empty-table){border-bottom:1px solid var(--color-border);grid-template-columns:32px minmax(0,1fr) auto;align-items:start;gap:12px;min-height:68px;padding:12px 0;display:grid}.audit-log>div>span{background:var(--color-primary-soft);width:28px;height:28px;color:var(--color-primary);border-radius:50%;place-items:center;display:grid}.audit-log p{gap:4px;margin:0;display:grid}.audit-log small{color:var(--color-text-secondary);line-height:18px}.audit-log time{color:var(--color-text-muted);font-size:11px}@media (max-width:1300px){.grading-workspace{grid-template-rows:720px auto;grid-template-columns:220px minmax(0,1fr);height:auto}.review-panel{grid-column:1/-1;max-height:none}}@media (max-width:900px){.real-model-routing,.upload-file-grid{grid-template-columns:1fr}.real-model-routing>label{border-top:1px solid var(--color-border);border-left:0}.model-config-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.model-config-summary>div:nth-child(3){border-top:1px solid var(--color-border);border-left:0}.model-config-summary>div:nth-child(4){border-top:1px solid var(--color-border)}.model-defaults-grid{grid-template-columns:1fr;align-items:stretch}.model-connection-row{flex-direction:column;align-items:stretch}.grading-empty>.upload-hints{flex-direction:column}}.marked-paper-preview-page{--marked-paper-red:#c81e1e;padding:16px 20px 36px}.marked-paper-toolbar{justify-content:space-between;align-items:center;gap:24px;min-height:72px;padding-bottom:12px;display:flex}.marked-paper-toolbar h1{margin:0;font-size:20px;line-height:28px}.marked-paper-toolbar p{color:var(--color-text-secondary);margin:4px 0 0;font-size:11px;line-height:18px}.marked-paper-toolbar .ant-input-affix-wrapper{border-radius:6px;width:min(360px,34vw);min-height:40px}.marked-paper-student-nav{grid-template-columns:auto minmax(240px,1fr) auto;align-items:center;gap:12px;min-height:64px;margin-bottom:8px;padding:8px 12px;display:grid}.marked-paper-student-nav>div{grid-template-columns:auto minmax(0,auto) 1fr;align-items:baseline;gap:8px;min-width:0;display:grid}.marked-paper-student-nav small,.marked-paper-student-nav span{color:var(--color-text-secondary);font-size:10px}.marked-paper-student-nav strong{color:var(--color-ink);white-space:nowrap;font-size:14px}.marked-paper-student-nav .ant-btn{min-height:40px}.marked-paper-identity{background:var(--color-surface);border:1px solid var(--color-border);grid-template-columns:minmax(150px,.6fr) minmax(140px,.55fr) minmax(170px,.7fr) minmax(270px,1.15fr);display:grid}.marked-paper-identity>div{align-content:center;gap:3px;min-height:68px;padding:10px 16px;display:grid}.marked-paper-identity>div+div{border-left:1px solid var(--color-border)}.marked-paper-identity span,.marked-paper-identity small{color:var(--color-text-secondary);font-size:10px}.marked-paper-identity strong{font-size:16px}.marked-paper-identity .marked-paper-total{background:var(--color-primary-soft);grid-template-columns:minmax(0,1fr) auto;column-gap:16px}.marked-paper-total span,.marked-paper-total small{grid-column:1}.marked-paper-total strong{color:var(--color-primary);white-space:nowrap;grid-area:1/2/3;align-self:center;font-size:24px}.marked-paper-legend{background:var(--color-surface);border:1px solid var(--color-border);min-height:48px;color:var(--color-text-secondary);border-top:0;align-items:center;gap:24px;padding:8px 14px;font-size:11px;display:flex}.marked-paper-legend>span{white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.marked-paper-legend>small{color:var(--color-warning);margin-left:auto}.legend-circle{border:1px solid var(--marked-paper-red);border-radius:50%;width:24px;height:14px;transform:rotate(-7deg)}.legend-wave{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='8' viewBox='0 0 28 8'%3E%3Cpath d='M0 4q3-4 6 0t6 0t6 0t6 0t6 0' fill='none' stroke='%23c81e1e' stroke-width='1.2'/%3E%3C/svg%3E") 50%/contain no-repeat;width:28px;height:8px}.legend-slash{background:linear-gradient(104deg, transparent 44%, var(--marked-paper-red) 45% 55%, transparent 56%);width:14px;height:20px}.legend-half{width:24px;height:18px;position:relative}.legend-half:before{content:"";border-left:1px solid var(--marked-paper-red);border-bottom:1px solid var(--marked-paper-red);width:12px;height:8px;position:absolute;top:2px;left:4px;transform:rotate(-45deg)}.legend-half:after{content:"1";color:var(--marked-paper-red);font-size:9px;position:absolute;bottom:-2px;right:0}.marked-paper-spread{grid-template-columns:repeat(2,minmax(520px,1fr));gap:16px;min-width:1096px;margin-top:12px;padding-bottom:8px;display:grid}.marked-paper-preview-page:has(.marked-paper-spread){overflow-x:auto}.marked-paper-page{background:var(--color-surface);border:1px solid var(--color-border);min-width:0}.marked-paper-page-heading{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:16px;min-height:44px;padding:0 12px;display:flex}.marked-paper-page-heading strong{font-size:12px}.marked-paper-page-heading span{color:var(--color-text-secondary);font-size:10px}.marked-paper-page-heading>div{align-items:center;gap:10px;display:flex}.marked-paper-page-heading .ant-btn{min-height:30px;color:var(--color-primary)}.marked-paper-sheet{box-shadow:var(--shadow-paper);background:#e8ebef;position:relative;overflow:hidden}.marked-paper-sheet>img{width:100%;height:auto;display:block}.marked-paper-sheet>svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.marked-paper-annotation{fill:none;stroke:var(--marked-paper-red);stroke-width:.9px;stroke-linecap:round;stroke-linejoin:round;opacity:.96;vector-effect:non-scaling-stroke}.marked-paper-annotation.is-objective{stroke-width:1.35px}.marked-paper-annotation text{fill:var(--marked-paper-red);stroke:#ffffffe6;stroke-width:1.6px;paint-order:stroke fill;font-family:var(--font-ui);letter-spacing:.01em;font-size:28px;font-weight:720}.marked-paper-symbol{stroke-width:.95px}.marked-paper-symbol.is-slash{stroke:#dc2626;stroke-width:4.4px;opacity:1}.marked-paper-symbol.is-half{stroke:#a8071a;stroke-width:3px;opacity:1}.marked-paper-score-label text{fill:#b5121b;stroke:#ffffffe0;stroke-width:2px;paint-order:stroke fill;font-variant-numeric:tabular-nums lining-nums;letter-spacing:-.025em;font-family:DIN Alternate,Arial Narrow,Roboto Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:52px;font-weight:800}.marked-paper-note-label text{fill:var(--marked-paper-red);stroke:#ffffffeb;stroke-width:1.5px;paint-order:stroke fill;font-family:var(--font-ui);letter-spacing:.01em;font-size:24px;font-weight:620}.marked-paper-note-label .is-title{font-size:28px;font-weight:780}.marked-paper-awaiting{border:1px solid var(--color-warning);max-width:250px;color:var(--color-warning);background:#fffefaeb;padding:6px 9px;font-size:10px;line-height:16px;position:absolute;top:16px;right:16px}.marked-paper-empty{place-items:center;min-height:480px;display:grid}.marked-paper-compare-modal{--marked-paper-red:#c81e1e;max-width:1580px}.marked-paper-compare-modal .ant-modal-content{border-radius:8px;padding:14px}.marked-paper-compare-modal .ant-modal-body{background:var(--color-canvas);max-height:calc(100vh - 170px);overflow:auto}.marked-paper-compare-grid{grid-template-columns:repeat(2,minmax(500px,1fr));gap:14px;min-width:1060px;padding:12px;display:grid}.marked-paper-compare-grid>section{background:var(--color-surface);border:1px solid var(--color-border);min-width:0}.marked-paper-compare-grid h3{z-index:2;border-bottom:1px solid var(--color-border);background:#fffffff0;align-items:center;min-height:40px;margin:0;padding:0 12px;font-size:12px;display:flex;position:sticky;top:0}@media (max-width:1100px){.marked-paper-toolbar{flex-direction:column;align-items:stretch;gap:12px}.marked-paper-toolbar .ant-input-affix-wrapper{width:100%}.marked-paper-identity{min-width:760px}.marked-paper-legend,.marked-paper-student-nav{min-width:900px}.marked-paper-spread{grid-template-columns:repeat(2,minmax(430px,1fr));min-width:900px}.marked-paper-compare-grid{grid-template-columns:repeat(2,minmax(400px,1fr));min-width:880px}.completed-score-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}.demo-only-alert{border-radius:0;margin-bottom:16px}.report-stats{margin-bottom:16px}.report-table-panel{min-height:430px}.wecom-report-confirmation{gap:16px;display:grid}.wecom-report-confirmation>p{color:var(--color-text-secondary);margin:0;font-size:12px;line-height:1.6}.report-modal-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.report-modal-toolbar>span{color:var(--color-text-secondary);font-size:11px}.student-report-summary{background:var(--color-paper);border:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:24px;display:grid}.student-report-summary h2{margin:5px 0;font-size:22px}.student-report-summary p{color:var(--color-text-secondary);margin:0;font-size:12px}.student-report-summary>strong{color:var(--color-primary);font-size:54px;line-height:1}.student-report-summary>strong small{color:var(--color-text-secondary);font-size:16px}.student-report-summary dl{border:1px solid var(--color-border);grid-column:1/-1;grid-template-columns:repeat(3,1fr);margin:10px 0 0;display:grid}.student-report-summary dl div{gap:6px;padding:16px;display:grid}.student-report-summary dl div+div{border-left:1px solid var(--color-border)}.student-report-summary dt{color:var(--color-text-secondary);font-size:11px}.student-report-summary dd{margin:0;font-weight:700}.student-report-summary>p:last-child{border-top:1px solid var(--color-border);grid-column:1/-1;padding-top:16px;line-height:20px}.report-feedback{background:#fff8f5;border:1px solid #f1b6aa;grid-column:1/-1;padding:16px}.report-feedback ul{color:#8f2d1f;gap:7px;margin:10px 0 0;padding-left:20px;font-size:12px;line-height:19px;display:grid}.report-paper-preview{background:var(--color-canvas);max-height:640px;padding:24px;overflow:auto}.report-paper-preview>.ant-segmented{width:max-content;margin:0 auto 16px;display:flex}.report-paper-preview img{width:min(100%,1000px);height:auto;box-shadow:var(--shadow-paper);margin:0 auto;display:block}.student-report-dialog .ant-modal-body{max-height:calc(100vh - 210px);overflow:auto}.learning-report-view,.report-practice-view{gap:16px;display:grid}.report-overview{background:var(--color-paper);border:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;gap:12px 20px;padding:20px;display:grid}.report-overview h2{margin:4px 0;font-size:22px}.report-overview p{color:var(--color-text-secondary);margin:0;font-size:12px;line-height:20px}.report-overview>strong{color:var(--color-primary);font-size:48px;line-height:1}.report-overview>strong small{color:var(--color-text-secondary);font-size:15px}.report-overview>p:last-child{border-top:1px solid var(--color-border);color:var(--color-ink);grid-column:1/-1;padding-top:12px}.report-priority-grid{border:1px solid var(--color-border);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.report-priority-grid>div{padding:16px 18px}.report-priority-grid>div+div{border-left:1px solid var(--color-border)}.report-priority-grid h3{margin:0 0 8px;font-size:13px}.report-priority-grid ul,.report-priority-grid ol{color:var(--color-text-secondary);gap:6px;margin:0;padding-left:20px;font-size:11px;line-height:18px;display:grid}.report-detail-section{border:1px solid var(--color-border);background:var(--color-surface)}.report-section-heading{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:16px;min-height:58px;padding:10px 16px;display:flex}.report-section-heading>div{gap:3px;display:grid}.report-section-heading h3{margin:0;font-size:14px}.report-section-heading span{color:var(--color-text-secondary);font-size:10px}.report-section-heading>strong{color:var(--color-primary);white-space:nowrap;font-size:13px}.report-section-cards{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.report-section-cards article{border-bottom:1px solid var(--color-border);min-height:160px;padding:14px 16px}.report-section-cards article:nth-child(odd){border-right:1px solid var(--color-border)}.report-section-cards article>div{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.report-section-cards article>div span{gap:2px;font-weight:700;display:grid}.report-section-cards article>div small{color:var(--color-text-secondary);font-size:9px;font-weight:400}.report-section-cards article>div>strong{color:var(--color-primary);font-size:22px}.report-section-cards article>div>strong small{color:var(--color-text-secondary);font-size:10px}.report-section-cards article p{color:var(--color-text-secondary);margin:6px 0 0;font-size:10px;line-height:17px}.report-section-cards article p b,.report-section-cards article p strong{color:var(--color-ink)}.report-analysis-table{table-layout:fixed;min-width:900px}.report-analysis-table th:first-child{width:120px}.report-analysis-table th:nth-child(2){width:150px}.report-analysis-table td{white-space:normal;line-height:17px}.report-analysis-table td small{color:var(--color-text-secondary);margin-top:3px;font-size:9px;display:block}.writing-breakdown{border-bottom:1px solid var(--color-border);grid-template-columns:repeat(4,1fr);display:grid}.writing-breakdown>div{justify-content:space-between;align-items:center;gap:8px;min-height:58px;padding:10px 16px;display:flex}.writing-breakdown>div+div{border-left:1px solid var(--color-border)}.writing-breakdown span{color:var(--color-text-secondary);font-size:10px}.writing-breakdown strong{font-size:16px}.model-essay{background:var(--color-primary-soft);border-left:3px solid var(--color-primary);margin:16px;padding:16px}.model-essay h4{margin:0 0 7px;font-size:12px}.model-essay p{margin:0 0 12px;font-family:Times New Roman,serif;font-size:15px;line-height:25px}.model-essay ol{gap:5px;margin:0;padding-left:20px;font-family:Times New Roman,serif;font-size:13px;display:grid}.report-source-note{background:var(--color-canvas);border:1px solid var(--color-border);color:var(--color-text-secondary);margin:0;padding:10px 14px;font-size:10px;line-height:17px}.practice-exercise-list{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.practice-exercise-list article{border-bottom:1px solid var(--color-border);min-height:190px;padding:16px}.practice-exercise-list article:nth-child(odd){border-right:1px solid var(--color-border)}.practice-exercise-list h4{margin:0 0 8px;font-size:13px}.practice-exercise-list h4 span{color:var(--color-text-secondary);margin-left:8px;font-size:10px;font-weight:400}.practice-exercise-list article>p{min-height:74px;margin:0;font-family:Times New Roman,Songti SC,serif;font-size:14px;line-height:23px}.practice-exercise-list article>p span{display:block}.practice-exercise-list details{border-top:1px solid var(--color-border);margin-top:10px;padding-top:8px;font-size:10px}.practice-exercise-list summary{min-height:32px;color:var(--color-primary);cursor:pointer;align-items:center;font-weight:600;display:flex}.practice-exercise-list details p{color:var(--color-text-secondary);margin:5px 0 0;line-height:17px}.study-plan-table{min-width:760px}.study-plan-table th:first-child{width:90px}.study-plan-table td{white-space:normal;line-height:18px}@media (max-width:900px){.report-priority-grid,.report-section-cards,.practice-exercise-list{grid-template-columns:1fr}.report-priority-grid>div+div,.report-section-cards article:nth-child(odd),.practice-exercise-list article:nth-child(odd){border-left:0;border-right:0;border-top:1px solid var(--color-border)}.writing-breakdown{grid-template-columns:repeat(2,1fr)}.report-modal-toolbar{flex-direction:column;align-items:flex-start}}.reading-task{grid-template-columns:340px minmax(0,1fr);margin-bottom:16px;display:grid}.reading-upload-form{gap:16px;display:grid}.reading-checkin-header{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 20px;margin-bottom:12px;display:grid}.reading-checkin-header-links{justify-content:flex-end;align-items:center;gap:4px;display:flex}.reading-checkin-header-links .ant-btn{min-height:40px;color:var(--color-ink);font-weight:600}.reading-compact-create{overflow:hidden}.reading-quick-start{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:16px;padding:20px;display:grid}.reading-quick-start label,.reading-student-action{gap:6px;min-width:0;display:grid}.reading-quick-start label>span,.reading-student-action>span,.reading-compact-fields label>span{color:var(--color-ink);font-size:12px;font-weight:600}.reading-quick-start .ant-select,.reading-student-action .ant-btn{width:100%}.reading-student-action .ant-btn{min-height:40px}.reading-create-note{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:var(--color-primary-soft);gap:3px;min-height:52px;padding:10px 20px;display:grid}.reading-create-note strong{color:var(--color-ink);font-size:11px;line-height:18px}.reading-create-note span{color:var(--color-text-secondary);font-size:10px;line-height:17px}.reading-compact-fields{grid-template-columns:minmax(240px,1fr) minmax(220px,.7fr) minmax(180px,.55fr);gap:16px;padding:20px;display:grid}.reading-compact-fields label{align-content:start;gap:7px;min-width:0;display:grid}.reading-compact-fields .ant-select{width:100%}.reading-target-field{grid-column:1/-1}.reading-create-actions{border-top:1px solid var(--color-border);background:var(--color-canvas);justify-content:space-between;align-items:center;gap:20px;min-height:64px;padding:12px 20px;display:flex}.reading-create-actions>span{color:var(--color-text-secondary);font-size:11px}.reading-create-actions .ant-btn{min-width:156px}.reading-drawer-toolbar{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding-bottom:8px;display:flex}.reading-drawer-list{display:grid}.reading-drawer-list>label{border-bottom:1px solid var(--color-border);cursor:pointer;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px;min-height:58px;padding:8px 10px;display:grid}.reading-drawer-list>label:hover,.reading-drawer-list>label.is-selected{background:var(--color-primary-soft)}.reading-drawer-list>label>span:last-child{gap:3px;min-width:0;display:grid}.reading-drawer-list strong{font-size:12px}.reading-drawer-list small{color:var(--color-text-secondary);font-size:10px}.reading-workspace-tabs{background:var(--color-surface);border:1px solid var(--color-border);grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px;display:grid}.reading-workspace-tabs>button{min-height:72px;color:var(--color-text-secondary);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:12px;padding:10px 18px;display:grid}.reading-workspace-tabs>button+button{border-left:1px solid var(--color-border)}.reading-workspace-tabs>button:hover{background:var(--color-row-hover);color:var(--color-ink)}.reading-workspace-tabs>button.is-active{background:var(--color-primary-soft);color:var(--color-primary);box-shadow:inset 0 -3px var(--color-primary)}.reading-workspace-tabs>button>.anticon{border:1px solid;border-radius:50%;place-items:center;width:34px;height:34px;font-size:14px;display:grid}.reading-workspace-tabs>button>span:last-child{gap:4px;min-width:0;display:grid}.reading-workspace-tabs strong{color:var(--color-ink);font-size:14px}.reading-workspace-tabs small{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.remote-task-create-form{padding:20px}.reading-create-fields{grid-template-columns:minmax(240px,1fr) minmax(220px,.7fr) minmax(200px,.55fr);gap:16px;padding:20px;display:grid}.reading-create-fields label{color:var(--color-ink);gap:7px;font-size:12px;font-weight:600;display:grid}.reading-create-fields .ant-select{width:100%}.reading-roster-panel>.panel-heading>strong{color:var(--color-primary);font-size:20px}.reading-roster-toolbar{border-bottom:1px solid var(--color-border);align-items:center;gap:16px;min-height:64px;padding:10px 20px;display:flex}.reading-roster-toolbar>.ant-select{min-width:260px}.reading-roster-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 20px 20px;display:grid}.reading-roster-grid>label{border-bottom:1px solid var(--color-border);cursor:pointer;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px;min-height:58px;padding:8px 12px;display:grid}.reading-roster-grid>label:nth-child(odd){border-right:1px solid var(--color-border)}.reading-roster-grid>label:hover,.reading-roster-grid>label.is-selected{background:var(--color-primary-soft)}.reading-roster-grid>label>span:last-child{gap:3px;min-width:0;display:grid}.reading-roster-grid strong{font-size:12px}.reading-roster-grid small{color:var(--color-text-secondary);font-size:10px}.reading-created-links{gap:12px;display:grid}.reading-created-links details{border-top:1px solid var(--color-border);padding-top:10px}.reading-created-links summary{color:var(--color-primary);cursor:pointer}.reading-created-links p{margin:8px 0 0;font-size:12px}.reading-process-status{border-bottom:1px solid var(--color-border);background:var(--color-primary-soft);gap:4px;padding:12px 16px;display:grid}.reading-process-status strong{font-size:12px}.reading-process-status span,.reading-process-status small{color:var(--color-text-secondary);font-size:10px}.reading-process-status.is-failed{background:color-mix(in srgb, var(--color-danger) 7%, var(--color-surface))}.remote-task-create-grid{grid-template-columns:minmax(240px,1fr) minmax(280px,1fr);gap:20px;display:grid}.remote-records-heading{min-height:64px}.remote-records-actions{align-items:center;gap:8px;display:flex}.remote-created-task{border-bottom:1px solid var(--color-border)}.remote-created-share{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:24px;display:grid}.remote-created-share-copy{gap:12px;min-width:0;display:grid}.remote-created-share-copy>strong{color:var(--color-ink);font-size:14px;line-height:22px}.remote-created-share-copy p{color:var(--color-text-secondary);overflow-wrap:anywhere;margin:0}.remote-created-actions{flex-wrap:wrap;gap:8px;display:flex}.remote-created-fallback-link{color:var(--color-text-secondary);overflow-wrap:anywhere;width:fit-content;font-size:12px;line-height:18px}.remote-mini-program-preview{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;width:100%;max-width:320px;padding:16px}.remote-mini-program-account{color:var(--color-text-secondary);align-items:center;gap:8px;font-size:12px;display:flex}.remote-mini-program-account>span{background:var(--color-success);width:28px;height:28px;color:var(--color-surface);border-radius:6px;place-items:center;font-size:14px;font-weight:600;display:grid}.remote-mini-program-account strong{color:var(--color-ink);font-size:13px}.remote-mini-program-preview h3{color:var(--color-ink);margin:16px 0 4px;font-size:16px;line-height:24px}.remote-mini-program-preview>p{color:var(--color-text-secondary);margin:0 0 12px;font-size:12px;line-height:18px}.remote-mini-program-cover{border:1px solid var(--color-border);background:var(--color-primary-soft);min-height:112px;color:var(--color-primary);justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.remote-mini-program-cover .anticon{font-size:24px}.remote-mini-program-preview footer{border-top:1px solid var(--color-border);color:var(--color-text-muted);align-items:center;gap:6px;margin-top:12px;padding-top:12px;font-size:12px;line-height:18px;display:flex}@media (max-width:900px){.reading-create-fields,.reading-roster-grid{grid-template-columns:1fr}.reading-roster-grid>label:nth-child(odd){border-right:0}.reading-roster-toolbar{flex-direction:column;align-items:stretch}.reading-roster-toolbar>.ant-select{width:100%;min-width:0}.remote-created-share{grid-template-columns:1fr}.remote-mini-program-preview{max-width:100%}}.remote-single-upload-note{color:var(--color-text-secondary);margin:-4px 0 0;font-size:11px;line-height:18px}.student-debug-disclosure{border-top:1px solid var(--color-border);background:var(--color-canvas)}.student-debug-disclosure>summary{min-height:52px;color:var(--color-ink);cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:8px 16px;list-style:none;display:flex}.student-debug-disclosure>summary::-webkit-details-marker{display:none}.student-debug-disclosure>summary span{align-items:center;gap:8px;font-size:12px;font-weight:600;display:inline-flex}.student-debug-disclosure>summary small{color:var(--color-text-secondary);font-size:10px}.student-debug-disclosure>p{border-top:1px solid var(--color-border);color:var(--color-text-secondary);margin:0;padding:10px 20px;font-size:11px;line-height:18px}.student-debug-launcher{background:var(--color-canvas);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);margin:16px 0}.student-debug-intro{justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:8px 20px;display:flex}.student-debug-intro>div{gap:3px;display:grid}.student-debug-intro strong{align-items:center;gap:8px;font-size:14px;display:flex}.student-debug-intro span{color:var(--color-text-secondary);font-size:11px}.student-debug-list{background:var(--color-surface);border-top:1px solid var(--color-border)}.student-debug-row{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;min-height:60px;padding:8px 20px;display:grid}.student-debug-row:last-child{border-bottom:0}.student-debug-row>div{gap:3px;min-width:0;display:grid}.student-debug-row strong{font-size:12px}.student-debug-row span{color:var(--color-text-secondary);font-size:11px}.student-debug-launcher>p{border-top:1px solid var(--color-border);color:var(--color-text-secondary);margin:0;padding:10px 20px;font-size:11px;line-height:18px}.remote-records-split{grid-template-rows:repeat(2,minmax(500px,1fr));min-height:max(1000px,100dvh - 240px);display:grid}.remote-records-split .remote-task-browser{height:100%;min-height:0;overflow:hidden}.remote-records-split>.remote-task-empty{min-height:420px}.remote-task-browser{border-bottom:1px solid var(--color-border);grid-template-columns:280px minmax(0,1fr);min-height:420px;display:grid}.remote-task-list{border-right:1px solid var(--color-border);background:var(--color-canvas);overflow-y:auto}.remote-task-list>button{border:0;border-bottom:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:82px;color:var(--color-ink);text-align:left;cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 14px;display:grid}.remote-task-list>button:hover{background:var(--color-row-hover)}.remote-task-list>button.is-active{background:var(--color-primary-soft);box-shadow:inset 3px 0 var(--color-primary)}.remote-task-list>button>span{gap:6px;min-width:0;display:grid}.remote-task-list>button>span:last-child{justify-items:end}.remote-task-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.remote-task-list small{color:var(--color-text-secondary);white-space:nowrap;font-size:10px}.remote-task-detail{background:var(--color-surface);flex-direction:column;min-width:0;display:flex;overflow:hidden}.remote-task-detail>.table-wrap{flex:1;min-height:0;overflow:auto}.remote-submission-table{min-width:1320px}.remote-select-column{width:48px;min-width:48px;text-align:center!important;padding-inline:12px!important}.remote-submission-table tr.is-selected td{background:var(--color-primary-soft)}.remote-submission-table tr.is-selected td:first-child{box-shadow:inset 3px 0 var(--color-primary)}.remote-media-file{gap:6px;min-width:210px;display:grid}.remote-media-file>span{align-items:center;gap:6px;min-width:0;display:flex}.remote-media-file>span>.anticon{color:var(--color-primary);flex:none}.remote-media-file strong{text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:11px;font-weight:500;overflow:hidden}.remote-media-file .ant-btn{width:fit-content;min-height:32px}.remote-visual-status{align-items:flex-start;gap:7px;min-width:150px;display:flex}.remote-visual-status>.anticon{margin-top:2px}.remote-visual-status>span{gap:2px;display:grid}.remote-visual-status strong{white-space:nowrap;font-size:11px}.remote-visual-status small{color:var(--color-text-secondary);white-space:nowrap;font-size:9px}.remote-visual-status.is-danger,.remote-visual-inline.is-danger{color:var(--color-danger)}.remote-visual-status.is-warning,.remote-visual-inline.is-warning{color:var(--color-warning)}.remote-visual-status.is-success,.remote-visual-inline.is-success{color:var(--color-success)}.remote-visual-status.is-neutral,.remote-visual-inline.is-neutral{color:var(--color-text-secondary)}.remote-task-detail-heading{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:16px;min-height:68px;padding:10px 16px;display:flex}.remote-task-detail-title{gap:4px;min-width:0;display:grid}.remote-task-detail-heading h3{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:14px;overflow:hidden}.remote-task-detail-title>span{color:var(--color-text-secondary);font-size:10px}.remote-task-controls{justify-content:flex-end}.remote-task-start-button{min-height:40px;padding-inline:16px;font-weight:600}.remote-task-start-button.ant-btn-primary:not(:disabled){border-color:var(--color-primary)!important;background:var(--color-primary)!important;color:var(--color-surface)!important}.remote-task-start-button.ant-btn-primary:hover:not(:disabled){border-color:var(--color-primary-hover)!important;background:var(--color-primary-hover)!important}.remote-task-start-button.ant-btn-primary:disabled{border-color:var(--color-border)!important;background:var(--color-row-hover)!important;color:var(--color-text-muted)!important}.remote-task-metrics{border-bottom:1px solid var(--color-border);grid-template-columns:repeat(5,minmax(90px,1fr));display:grid;overflow-x:auto}.remote-task-metrics>div{align-content:center;place-items:center;gap:4px;min-height:76px;display:grid}.remote-task-metrics>div+div{border-left:1px solid var(--color-border)}.remote-task-metrics strong{font-size:21px}.remote-task-metrics span{color:var(--color-text-secondary);white-space:nowrap;font-size:10px}.remote-task-target{border-bottom:1px solid var(--color-border);padding:14px 16px}.remote-task-target span{color:var(--color-text-secondary);font-size:10px;font-weight:600}.remote-task-target p{margin:7px 0 0;font-family:Times New Roman,serif;font-size:15px;line-height:24px}.remote-process-strip{border-bottom:1px solid var(--color-border);background:var(--color-primary-soft);min-height:44px;color:var(--color-primary);align-items:center;padding:8px 16px;font-size:11px;display:flex}.remote-process-strip span{align-items:center;gap:7px;line-height:18px;display:inline-flex}.remote-process-strip.is-error{color:var(--color-danger);background:#fff1f0}.remote-process-panel{border-bottom:1px solid var(--color-border);background:var(--color-surface);gap:8px;padding:12px 16px;display:grid}.remote-process-panel.is-running{background:var(--color-primary-soft)}.remote-process-panel.is-error{background:color-mix(in srgb, var(--color-danger) 5%, var(--color-surface))}.remote-process-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.remote-process-heading>div{align-items:baseline;gap:8px;display:flex}.remote-process-heading>div>span{color:var(--color-text-secondary);font-size:10px;font-weight:600}.remote-process-heading>div>strong{color:var(--color-ink);font-size:16px}.remote-process-counts{color:var(--color-text-secondary);align-items:center;gap:16px;font-size:10px;display:flex}.remote-process-counts>span{white-space:nowrap}.remote-process-counts strong{color:var(--color-ink);margin-right:3px;font-size:12px}.remote-process-task-status{border-top:1px solid var(--color-border);grid-template-columns:84px minmax(0,1fr);align-items:start;gap:10px;padding-top:8px;display:grid}.remote-process-task-status>span{color:var(--color-text-secondary);font-size:10px;font-weight:600}.remote-process-task-status>div{grid-template-columns:18px minmax(0,1fr);align-items:start;gap:7px;min-width:0;display:grid}.remote-process-task-status .anticon{color:var(--color-primary);margin-top:2px}.remote-process-panel.is-error .remote-process-task-status .anticon{color:var(--color-danger)}.remote-process-task-status p{gap:2px;min-width:0;margin:0;display:grid}.remote-process-task-status strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.remote-process-task-status small{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:9px;line-height:15px;overflow:hidden}.remote-selection-bar{border-bottom:1px solid var(--color-border);background:var(--color-canvas);justify-content:space-between;align-items:center;gap:16px;min-height:52px;padding:6px 16px;display:flex}.remote-selection-bar>span{color:var(--color-text-secondary);font-size:10px;line-height:17px}.remote-selection-bar>span strong{color:var(--color-primary);font-size:13px}.remote-selection-bar .ant-btn{min-height:36px}.remote-task-empty{border-bottom:1px solid var(--color-border);min-height:120px;color:var(--color-text-secondary);text-align:center;place-items:center;padding:24px;font-size:12px;display:grid}.remote-task-error{max-width:190px;color:var(--color-danger);white-space:normal;margin-top:4px;font-size:9px;line-height:15px;display:block}.remote-task-archived{max-width:190px;color:var(--color-text-secondary);white-space:normal;margin-top:4px;font-size:9px;line-height:15px;display:block}.remote-task-edit-form{padding-top:8px}.remote-task-edit-form p{color:var(--color-text-secondary);margin:0;font-size:11px;line-height:18px}.remote-report-section{background:var(--color-surface);flex-direction:column;min-height:0;display:flex;overflow:hidden}.remote-report-section>.table-wrap{flex:1;min-height:0;overflow:auto}.remote-report-section>.remote-report-filter-empty,.remote-report-section>.remote-report-empty{flex:1;min-height:0}.remote-report-heading-actions{align-items:center;gap:12px;display:flex}.remote-report-counts{align-items:center;gap:12px;font-size:11px;display:flex}.remote-report-counts span{white-space:nowrap;align-items:baseline;gap:4px;display:inline-flex}.remote-report-counts strong{font-size:16px}.remote-report-counts .is-danger{color:var(--color-danger)}.remote-report-counts .is-success{color:var(--color-success)}.remote-report-filter-bar{border-bottom:1px solid var(--color-border);background:var(--color-surface);justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:8px 16px;display:flex}.remote-report-filter-bar>span{color:var(--color-text-secondary);font-size:11px}.remote-report-filters{align-items:center;gap:8px;display:flex}.remote-report-filters button{border:1px solid var(--color-border);background:var(--color-surface);min-height:40px;color:var(--color-text-secondary);cursor:pointer;border-radius:6px;padding:0 14px}.remote-report-filters button:hover{border-color:var(--color-primary);color:var(--color-primary)}.remote-report-filters button.is-active{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-surface);font-weight:600}.remote-report-filters button.is-active.is-danger{border-color:var(--color-danger);background:var(--color-danger)}.remote-report-filters button.is-active.is-success{border-color:var(--color-success);background:var(--color-success)}.remote-report-table{min-width:920px}.remote-report-row.is-issue{background:color-mix(in srgb, var(--color-danger) 5%, var(--color-surface))}.remote-report-row.is-issue:hover{background:color-mix(in srgb, var(--color-danger) 8%, var(--color-surface))}.remote-report-row.is-issue td:first-child{box-shadow:inset 3px 0 var(--color-danger)}.remote-report-student{align-items:center;gap:8px;display:flex}.remote-report-student strong{white-space:nowrap}.remote-report-student>span{background:color-mix(in srgb, var(--color-danger) 10%, var(--color-surface));color:var(--color-danger);white-space:nowrap;border-radius:999px;padding:2px 6px;font-size:10px;font-weight:700}.remote-report-summary{white-space:nowrap;align-items:center;gap:10px;display:flex}.remote-report-summary>span:last-child{color:var(--color-ink);font-weight:600}.remote-visual-inline{white-space:nowrap;align-items:center;gap:6px;font-size:11px;font-weight:600;display:inline-flex}.remote-report-filter-empty,.remote-report-empty{min-height:96px;color:var(--color-text-secondary);place-items:center;margin:0;padding:20px;font-size:12px;display:grid}.remote-report-review{gap:16px;padding-top:8px;display:grid}.remote-report-metrics{border:1px solid var(--color-border);grid-template-columns:repeat(5,minmax(90px,1fr));display:grid;overflow-x:auto}.remote-report-metrics>div{align-content:center;place-items:center;gap:4px;min-height:72px;display:grid}.remote-report-metrics>div+div{border-left:1px solid var(--color-border)}.remote-report-metrics strong{color:var(--color-ink);font-size:18px}.remote-report-metrics span{color:var(--color-text-secondary);white-space:nowrap;font-size:10px}.remote-report-compare{border:1px solid var(--color-border);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.remote-report-compare section{min-width:0;padding:14px 16px}.remote-report-compare section+section{border-left:1px solid var(--color-border)}.remote-report-compare h4{margin:0 0 8px;font-size:12px}.remote-report-compare p{overflow-wrap:anywhere;min-height:72px;margin:0;font-family:Times New Roman,serif;font-size:14px;line-height:22px}.remote-report-differences{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.remote-report-differences span{border:1px solid var(--color-border);color:var(--color-text-secondary);overflow-wrap:anywhere;padding:9px 12px;font-size:11px;line-height:18px}.remote-visual-review{border:1px solid var(--color-border);padding:14px 16px}.remote-visual-review>div{align-items:flex-start;gap:9px;display:flex}.remote-visual-review>div>.anticon{margin-top:3px;font-size:16px}.remote-visual-review>div>span{gap:3px;display:grid}.remote-visual-review strong{font-size:12px}.remote-visual-review small{color:var(--color-text-secondary);font-size:10px}.remote-visual-review p{color:var(--color-text-secondary);margin:10px 0 0;font-size:11px;line-height:18px}.remote-visual-review.is-danger{border-left:3px solid var(--color-danger)}.remote-visual-review.is-warning{border-left:3px solid var(--color-warning)}.remote-visual-review.is-success{border-left:3px solid var(--color-success)}.remote-report-source{color:var(--color-text-secondary);justify-content:space-between;align-items:center;gap:16px;margin:0;font-size:10px;line-height:17px;display:flex}.remote-report-source>span{min-width:0}.remote-report-source .ant-btn{flex:none}.remote-media-preview{gap:12px;padding-top:8px;display:grid}.remote-media-preview video{background:var(--color-ink);width:100%;max-height:520px}.remote-media-preview audio{width:100%}.remote-media-timing{border:1px solid var(--color-border);background:var(--color-canvas);grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:8px 12px;min-height:52px;padding:10px 12px;display:grid}.remote-media-timing span{color:var(--color-text-secondary);font-size:11px}.remote-media-timing strong{color:var(--color-ink);font-variant-numeric:tabular-nums;font-size:14px}.remote-media-timing small{color:var(--color-text-secondary);justify-self:end;font-size:10px}.remote-task-retry{margin-top:6px;display:flex}.reading-target-toolbar{justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:12px 20px 8px;display:flex}.reading-target-toolbar>label{color:var(--color-ink);font-size:12px;font-weight:600}.reading-target-toolbar>.ant-btn{flex:none}.reading-task-editor>.ant-input-textarea{padding:0 20px;display:block}.reading-task-editor textarea{font-family:Times New Roman,serif;font-size:16px;line-height:26px}.reading-target-extraction-status{border:1px solid var(--color-border);background:var(--color-canvas);align-items:center;gap:8px;min-height:40px;margin:8px 20px 0;padding:8px 12px;font-size:11px;line-height:18px;display:flex}.reading-target-extraction-status.is-success{color:var(--color-success)}.reading-target-extraction-status.is-error{color:var(--color-danger)}.reading-target-extraction-status>span{color:var(--color-text-secondary);overflow-wrap:anywhere}.reading-task-editor>p{color:var(--color-text-secondary);margin:8px 20px 20px;font-size:11px;line-height:18px}.reading-file-input{clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.reading-drop-zone{border:1px dashed var(--color-border-strong);background:var(--color-canvas);text-align:center;cursor:pointer;align-content:center;place-items:center;gap:9px;min-height:210px;margin:20px;padding:28px;display:grid}.reading-drop-zone:hover,.reading-drop-zone:focus-visible{border-color:var(--color-primary);background:var(--color-primary-soft);outline:none}.reading-drop-zone>.anticon{color:var(--color-primary);font-size:40px}.reading-drop-zone>strong{font-size:16px}.reading-drop-zone>span{color:var(--color-text-secondary);font-size:11px}.reading-drop-zone>.ant-btn{margin-top:6px}.reading-selected-files{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;padding:0 20px 20px;display:grid}.reading-selected-files>div{border-bottom:1px solid var(--color-border);grid-template-columns:24px minmax(0,1fr) 30px;align-items:center;gap:8px;min-height:56px;display:grid}.reading-selected-files>div>.anticon{color:var(--color-primary)}.reading-selected-files>div>span{gap:3px;min-width:0;display:grid}.reading-selected-files strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.reading-selected-files small{color:var(--color-text-secondary);font-size:10px}.reading-submit-bar{background:var(--color-surface);border:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:20px;min-height:68px;padding:12px 16px;display:flex}.reading-submit-bar>span{color:var(--color-text-secondary);font-size:11px}.reading-processing-panel{min-height:430px}.reading-task-meta{border-right:1px solid var(--color-border);padding:20px}.reading-task-meta h2{margin:10px 0 6px;font-size:17px}.reading-task-meta p{color:var(--color-text-secondary);margin:0;font-size:11px}.target-text{padding:18px 22px}.target-text span{color:var(--color-text-secondary);font-size:11px;font-weight:600}.target-text p{margin:10px 0 0;font-family:Times New Roman,serif;font-size:16px;line-height:26px}.reading-empty{text-align:center;align-content:center;place-items:center;gap:10px;min-height:330px;display:grid}.reading-empty>.anticon{color:var(--color-primary);font-size:42px}.reading-empty h2{margin:8px 0 0}.reading-empty p{max-width:600px;color:var(--color-text-secondary);margin:0;font-size:12px;line-height:20px}.reading-files{grid-template-columns:repeat(2,1fr);gap:0 24px;padding:8px 20px 20px;display:grid}.reading-files>div{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto 20px;align-items:center;gap:12px;min-height:52px;display:grid}.reading-files span{align-items:center;gap:8px;min-width:0;display:flex}.reading-files strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.reading-files small{color:var(--color-text-secondary);font-size:10px}.reading-files>div>.anticon{color:var(--color-success)}.reading-summary{grid-template-columns:minmax(180px,1fr) repeat(4,minmax(100px,.65fr));margin-bottom:12px}.reading-results-layout{grid-template-columns:290px minmax(0,1fr);gap:12px;height:620px;display:grid}.reading-list{overflow-y:auto}.reading-list>button{border:0;border-bottom:1px solid var(--color-border);background:var(--color-surface);text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:62px;padding:8px 12px;display:flex}.reading-list>button:hover{background:var(--color-row-hover)}.reading-list>button.is-active{background:var(--color-primary-soft);box-shadow:inset 3px 0 var(--color-primary)}.reading-list>button>span:first-child{gap:4px;display:grid}.reading-list small{color:var(--color-text-secondary);font-size:10px}.reading-detail{overflow-y:auto}.reading-detail>.panel-heading{min-height:64px}.reading-detail>.panel-heading>div{gap:3px;display:grid}.reading-metrics{border-bottom:1px solid var(--color-border);grid-template-columns:repeat(5,1fr);display:grid}.reading-metrics>div{align-content:center;place-items:center;gap:4px;min-height:78px;display:grid}.reading-metrics>div+div{border-left:1px solid var(--color-border)}.reading-metrics strong{font-size:22px}.reading-metrics span{color:var(--color-text-secondary);font-size:10px}.transcript-compare{padding:20px}.transcript-compare section{padding-bottom:16px}.transcript-compare section+section{border-top:1px solid var(--color-border);padding-top:16px}.transcript-compare h3{margin:0 0 8px;font-size:12px}.transcript-compare p{margin:0;font-family:Times New Roman,serif;font-size:15px;line-height:25px}.difference-row{border-top:1px solid var(--color-border);gap:8px;padding-top:12px;display:flex}.difference-row span{color:var(--color-danger);background:#fff1f0;padding:5px 8px;font-size:11px}.difference-row span.is-empty{background:var(--color-canvas);color:var(--color-text-secondary)}.reading-word-timeline{border-top:1px solid var(--color-border);margin-top:14px}.reading-word-timeline summary{min-height:40px;color:var(--color-primary);cursor:pointer;align-items:center;font-size:11px;font-weight:600;display:flex}.reading-word-timeline ol{border:1px solid var(--color-border);max-height:180px;margin:0;padding:0;list-style:none;overflow-y:auto}.reading-word-timeline li{border-bottom:1px solid var(--color-border);grid-template-columns:72px minmax(0,1fr) 48px;align-items:center;min-height:34px;padding:0 10px;font-family:Times New Roman,serif;font-size:13px;display:grid}.reading-word-timeline li:last-child{border-bottom:0}.reading-word-timeline time,.reading-word-timeline small{color:var(--color-text-secondary);font-family:var(--font-ui);font-size:10px}.reading-word-timeline small{text-align:right}.reading-detail>.ant-alert{margin:0 20px}.reading-actions{justify-content:flex-end;gap:8px;padding:16px 20px 20px;display:flex}.diagnostics-page{padding-bottom:48px}.diagnostic-page-header .ant-btn{min-height:40px}.diagnostics-page .ant-btn-default:not(:disabled){background:var(--color-surface);border-color:var(--color-border);color:var(--color-ink)}.diagnostics-page .ant-btn-default:not(:disabled):hover{background:var(--color-surface);border-color:var(--color-primary);color:var(--color-primary)}.diagnostics-page .ant-btn-primary:not(:disabled){background:var(--color-primary);border-color:var(--color-primary);color:var(--color-surface)}.diagnostics-page .ant-btn-primary:not(:disabled):hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);color:var(--color-surface)}.diagnostics-page .ant-btn-primary:not(:disabled):active{background:var(--color-primary-active);border-color:var(--color-primary-active);color:var(--color-surface)}.diagnostics-page .ant-btn-primary:not(:disabled)>span{color:inherit;font-size:inherit}.diagnostic-notice{margin-bottom:16px}.diagnostic-config-grid{border:1px solid var(--color-border);background:var(--color-surface);grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px;display:grid}.diagnostic-config-option{min-height:104px;color:var(--color-ink);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;display:grid}.diagnostic-config-option+.diagnostic-config-option{border-left:1px solid var(--color-border)}.diagnostic-config-option:hover{background:var(--color-row-hover)}.diagnostic-config-option.is-active{background:var(--color-primary-soft);box-shadow:inset 0 -3px var(--color-primary)}.diagnostic-config-index{border:1px solid var(--color-border);width:48px;height:48px;color:var(--color-primary);border-radius:6px;place-items:center;font-size:12px;font-weight:700;display:grid}.diagnostic-config-option>span:nth-child(2){gap:4px;min-width:0;display:grid}.diagnostic-config-option strong{font-size:14px}.diagnostic-config-option small{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.diagnostic-setup-panel,.diagnostic-batch-panel,.diagnostic-review-panel,.diagnostic-report-panel{margin-bottom:16px}.diagnostic-setup-panel>.panel-heading,.diagnostic-batch-panel>.panel-heading,.diagnostic-review-panel>.panel-heading,.diagnostic-report-panel>.panel-heading{min-height:64px}.diagnostic-setup-panel>.panel-heading>div,.diagnostic-batch-panel>.panel-heading>div,.diagnostic-review-panel>.panel-heading>div,.diagnostic-report-panel>.panel-heading>div{gap:4px;min-width:0;display:grid}.diagnostic-setup-panel>.panel-heading h2,.diagnostic-batch-panel>.panel-heading h2,.diagnostic-review-panel>.panel-heading h2,.diagnostic-report-panel>.panel-heading h2{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.diagnostic-setup-body{gap:16px;padding:20px;display:grid}.diagnostic-layout-contract{border:1px solid var(--color-border);background:var(--color-canvas);grid-template-columns:38px minmax(0,1fr);align-items:start;gap:12px;min-height:72px;padding:14px 16px;display:grid}.diagnostic-layout-contract>.anticon{width:34px;height:34px;color:var(--color-primary);place-items:center;font-size:22px;display:grid}.diagnostic-layout-contract strong{font-size:13px}.diagnostic-layout-contract p{color:var(--color-text-secondary);margin:5px 0 0;font-size:11px;line-height:18px}.diagnostic-material-strip{border:1px solid var(--color-border);background:var(--color-surface);grid-template-columns:1fr;display:grid}.diagnostic-material-strip>div{grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:88px;padding:14px 16px;display:grid}.diagnostic-material-strip>div+div{border-top:1px solid var(--color-border)}.diagnostic-material-strip>div>.anticon{background:var(--color-primary-soft);width:32px;height:32px;color:var(--color-primary);place-items:center;font-size:18px;display:grid}.diagnostic-material-strip>.diagnostic-teacher-material{background:var(--color-canvas)}.diagnostic-material-strip>.diagnostic-teacher-material>.anticon{background:var(--color-surface);color:var(--color-warning)}.diagnostic-material-strip>div>span{gap:3px;min-width:0;display:grid}.diagnostic-material-strip strong{font-size:12px}.diagnostic-material-strip small{color:var(--color-text-secondary);font-size:10px;line-height:16px}.diagnostic-material-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.diagnostic-material-actions .ant-btn{background:var(--color-surface);min-width:142px}.diagnostic-model-select label{gap:7px;max-width:620px;display:grid}.diagnostic-model-select label>span{font-size:11px;font-weight:600}.diagnostic-model-select small{color:var(--color-text-secondary);font-size:10px;line-height:16px}.diagnostic-upload-grid{grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:16px;display:grid}.diagnostic-file-control,.diagnostic-token-control{align-content:start;gap:8px;min-width:0;display:grid}.diagnostic-file-control{border:1px dashed var(--color-border);background:var(--color-canvas);cursor:pointer;min-height:132px;padding:16px}.diagnostic-file-control:hover{border-color:var(--color-primary);background:var(--color-primary-soft)}.diagnostic-file-control>span,.diagnostic-token-control>span{color:var(--color-ink);font-size:12px;font-weight:600}.diagnostic-file-control input{max-width:100%;min-height:40px;color:var(--color-text-secondary);font-size:11px}.diagnostic-file-control small{overflow-wrap:anywhere;color:var(--color-text-secondary);font-size:10px;line-height:17px}.diagnostic-student-mapping-list{gap:8px;display:grid}.diagnostic-student-mapping-list label{border:1px solid var(--color-border);background:var(--color-surface);grid-template-columns:minmax(0,1fr) minmax(220px,.8fr);align-items:center;gap:12px;min-width:0;min-height:52px;padding:8px 10px;display:grid}.diagnostic-student-mapping-list label>span{min-width:0;color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.diagnostic-student-mapping-list .ant-select{width:100%}.diagnostic-upload-actions{border-top:1px solid var(--color-border);grid-column:1/-1;justify-content:space-between;align-items:center;gap:20px;min-height:58px;padding-top:12px;display:flex}.diagnostic-upload-actions p{max-width:760px;color:var(--color-text-secondary);margin:0;font-size:11px;line-height:18px}.diagnostic-batch-progress{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(260px,1fr) auto;align-items:center;gap:24px;min-height:72px;padding:12px 16px;display:grid}.diagnostic-batch-progress>span{color:var(--color-text-secondary);white-space:nowrap;font-size:11px}.diagnostic-sheet-table{table-layout:fixed;min-width:960px}.diagnostic-sheet-table th:first-child{width:180px}.diagnostic-sheet-table th:nth-child(2),.diagnostic-sheet-table th:nth-child(3){width:110px}.diagnostic-sheet-table th:nth-child(4),.diagnostic-sheet-table th:nth-child(5){width:100px}.diagnostic-sheet-table th:nth-child(7){width:160px}.diagnostic-sheet-table td{white-space:normal;line-height:17px}.diagnostic-sheet-table td:first-child{gap:2px;display:grid}.diagnostic-sheet-table td:first-child small{color:var(--color-text-secondary);font-size:9px}.diagnostic-review-priority{border:1px solid var(--color-border);border-left:4px solid var(--color-warning);background:var(--color-surface);grid-template-columns:repeat(3,minmax(0,1fr));margin:16px;display:grid}.diagnostic-review-priority-heading{border-bottom:1px solid var(--color-border);background:var(--color-canvas);grid-column:1/-1;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:10px;min-height:56px;padding:10px 14px;display:grid}.diagnostic-review-priority-heading>.anticon{width:32px;height:32px;color:var(--color-warning);place-items:center;font-size:20px;display:grid}.diagnostic-review-priority-heading>div{gap:2px;display:grid}.diagnostic-review-priority-heading strong{color:var(--color-ink);font-size:13px}.diagnostic-review-priority-heading span{color:var(--color-text-secondary);font-size:10px;line-height:17px}.diagnostic-review-issue-group{min-width:0;padding:12px 14px}.diagnostic-review-issue-group+.diagnostic-review-issue-group{border-left:1px solid var(--color-border)}.diagnostic-review-issue-group>strong{color:var(--color-warning);font-size:11px}.diagnostic-review-issue-group ul{color:var(--color-ink);gap:5px;margin:7px 0 0;padding-left:18px;font-size:10px;line-height:17px;display:grid}.diagnostic-review-meta{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(220px,.55fr) minmax(300px,1fr);gap:16px;padding:16px;display:grid}.diagnostic-review-meta label{gap:6px;display:grid}.diagnostic-review-meta label>span{color:var(--color-text-secondary);font-size:11px;font-weight:600}.diagnostic-review-filter{border-bottom:1px solid var(--color-border);background:var(--color-canvas);justify-content:space-between;align-items:center;gap:20px;min-height:56px;padding:8px 16px;display:flex}.diagnostic-review-filter>div{gap:2px;display:grid}.diagnostic-review-filter strong{color:var(--color-ink);font-size:12px}.diagnostic-review-filter span{color:var(--color-text-secondary);font-size:10px;line-height:17px}.diagnostic-review-filter>label{white-space:nowrap;align-items:center;gap:10px;min-height:40px;display:flex}.diagnostic-answer-review-table{min-width:900px}.diagnostic-answer-review-table th,.diagnostic-answer-review-table td{text-align:center}.diagnostic-answer-review-table tr.is-review-required td{background:var(--color-canvas)}.diagnostic-answer-review-table tr.is-review-required td:first-child{box-shadow:inset 3px 0 var(--color-warning);color:var(--color-warning);font-weight:700}.diagnostic-answer-review-status{min-width:230px}.diagnostic-answer-review-status>.status-chip{margin-right:8px;display:inline-flex}.diagnostic-answer-review-status>small{color:var(--color-text-secondary);font-size:9px;line-height:15px}.diagnostic-answer-review-table select{border:1px solid var(--color-border);background:var(--color-surface);min-width:92px;height:36px;color:var(--color-ink);border-radius:6px;padding:0 10px}.diagnostic-review-empty{min-height:72px;color:var(--color-text-secondary);text-align:center;place-items:center;padding:16px;font-size:11px;line-height:18px;display:grid}.diagnostic-review-actions{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:20px;min-height:72px;padding:12px 16px;display:flex}.diagnostic-review-actions span{color:var(--color-text-secondary);font-size:11px;line-height:18px}.diagnostic-report-summary{border-bottom:1px solid var(--color-border);background:var(--color-primary-soft);gap:6px;min-height:76px;padding:16px 20px;display:grid}.diagnostic-report-summary strong{font-size:13px;line-height:20px}.diagnostic-report-summary span{color:var(--color-text-secondary);font-size:10px}.diagnostic-report-warning{margin:16px 20px}.diagnostic-answer-summary{border-bottom:1px solid var(--color-border);gap:16px;padding:18px 20px;display:grid}.diagnostic-answer-summary-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.diagnostic-answer-summary-heading h3{margin:0 0 4px;font-size:14px}.diagnostic-answer-summary-heading p{color:var(--color-text-secondary);margin:0;font-size:10px;line-height:17px}.diagnostic-answer-summary-heading>strong{border-left:3px solid var(--color-danger);color:var(--color-danger);flex:none;padding-left:12px;font-size:15px}.diagnostic-answer-count-grid{border:1px solid var(--color-border);grid-template-columns:repeat(4,minmax(90px,.65fr)) minmax(220px,1.4fr);display:grid}.diagnostic-answer-count-grid>div{align-content:center;gap:3px;min-height:72px;padding:10px 14px;display:grid}.diagnostic-answer-count-grid>div+div{border-left:1px solid var(--color-border)}.diagnostic-answer-count-grid span{color:var(--color-text-secondary);font-size:10px}.diagnostic-answer-count-grid strong{overflow-wrap:anywhere;font-size:19px}.diagnostic-answer-count-grid .is-wrong{box-shadow:inset 3px 0 var(--color-danger)}.diagnostic-answer-count-grid .is-wrong strong{color:var(--color-danger);font-size:13px;line-height:20px}.diagnostic-answer-summary .table-wrap{padding:0}.diagnostic-answer-summary .table-wrap>h4{margin:0 0 8px;font-size:12px}.diagnostic-report-panel .diagnostic-answer-summary .data-table{font-size:14px}.diagnostic-report-panel .diagnostic-answer-summary .data-table th{min-height:46px;font-size:13px}.diagnostic-report-panel .diagnostic-answer-summary .data-table td{min-height:54px;line-height:21px}.diagnostic-concise-errors{border-left:4px solid var(--color-danger);padding-left:12px!important}.diagnostic-answer-summary .diagnostic-concise-errors>h4{color:var(--color-danger);font-size:14px}.diagnostic-concise-errors .diagnostic-error-table td:first-child strong{color:var(--color-danger);font-size:15px}.diagnostic-module-error-table{min-width:720px}.diagnostic-module-error-table th:first-child{width:150px}.diagnostic-module-error-table th:nth-child(2),.diagnostic-module-error-table th:nth-child(3),.diagnostic-module-error-table th:nth-child(4),.diagnostic-module-error-table th:nth-child(5){width:100px}.diagnostic-error-type-table{table-layout:fixed;min-width:900px}.diagnostic-error-type-table th:first-child{width:140px}.diagnostic-error-type-table th:nth-child(2){width:180px}.diagnostic-error-type-table th:nth-child(3){width:72px}.diagnostic-error-type-table th:nth-child(4){width:120px}.diagnostic-error-type-table td{white-space:normal;height:auto;line-height:18px}.diagnostic-ai-analysis{border-bottom:1px solid var(--color-border);background:#f8fbff;padding:18px 20px}.diagnostic-ai-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.diagnostic-ai-heading h3{align-items:center;gap:7px;margin:0 0 4px;font-size:14px;display:flex}.diagnostic-ai-heading p,.diagnostic-ai-profile p,.diagnostic-ai-family p,.diagnostic-ai-findings p{color:var(--color-text-secondary);margin:0;font-size:11px;line-height:18px}.diagnostic-ai-content{gap:16px;display:grid}.diagnostic-ai-profile,.diagnostic-ai-family,.diagnostic-ai-limitations{border:1px solid var(--color-border);background:#fff;padding:12px 14px}.diagnostic-ai-content h4{margin:0 0 8px;font-size:12px}.diagnostic-ai-findings{border:1px solid var(--color-border);background:#fff;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.diagnostic-ai-findings section{padding:12px 14px}.diagnostic-ai-findings section+section{border-left:1px solid var(--color-border)}.diagnostic-ai-findings ul{color:var(--color-text-secondary);gap:9px;margin:0;padding-left:18px;font-size:11px;line-height:18px;display:grid}.diagnostic-ai-findings li span,.diagnostic-ai-priority-table td span{margin-top:2px;display:block}.diagnostic-ai-findings li small,.diagnostic-ai-priority-table td small{color:var(--color-text-tertiary);margin-top:2px;display:block}.diagnostic-ai-limitations{color:var(--color-text-secondary);font-size:10px;line-height:17px}.diagnostic-domain-grid{border-bottom:1px solid var(--color-border);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.diagnostic-domain-grid>div{align-content:center;place-items:center;gap:4px;min-height:92px;display:grid}.diagnostic-domain-grid>div+div{border-left:1px solid var(--color-border)}.diagnostic-domain-grid span,.diagnostic-domain-grid small{color:var(--color-text-secondary);font-size:10px}.diagnostic-domain-grid strong{font-size:22px}.diagnostic-mastery-table-wrap{border-bottom:1px solid var(--color-border);padding:16px 20px}.diagnostic-mastery-table-wrap>h3{margin:0 0 4px;font-size:14px}.diagnostic-mastery-table-wrap>p{color:var(--color-text-secondary);margin:0 0 12px;font-size:10px;line-height:17px}.diagnostic-mastery-table{min-width:760px}.diagnostic-mastery-table th:first-child{width:130px}.diagnostic-mastery-table th:nth-child(3),.diagnostic-mastery-table th:nth-child(4),.diagnostic-mastery-table th:nth-child(5){width:110px}.diagnostic-mastery-table th:nth-child(6){width:150px}.diagnostic-mastery-summary{border-bottom:1px solid var(--color-border);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.diagnostic-mastery-summary section{min-height:142px;padding:16px 20px}.diagnostic-mastery-summary section+section{border-left:1px solid var(--color-border)}.diagnostic-mastery-summary h3{margin:0 0 10px;font-size:13px}.diagnostic-mastery-summary ul{color:var(--color-text-secondary);gap:7px;margin:0;padding-left:18px;font-size:11px;line-height:18px;display:grid}.diagnostic-mastery-summary li span{display:block}.diagnostic-mastery-summary p{color:var(--color-text-secondary);margin:0;font-size:11px;line-height:18px}.diagnostic-evidence-grid{border-bottom:1px solid var(--color-border);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.diagnostic-evidence-grid section{min-height:190px;padding:16px 20px}.diagnostic-evidence-grid section+section{border-left:1px solid var(--color-border)}.diagnostic-evidence-grid h3{margin:0 0 10px;font-size:13px}.diagnostic-evidence-grid ul,.diagnostic-evidence-grid ol{color:var(--color-text-secondary);gap:7px;margin:0;padding-left:18px;font-size:11px;line-height:18px;display:grid}.diagnostic-evidence-grid li span{margin-top:2px;display:block}.diagnostic-error-table{table-layout:fixed;min-width:900px}.diagnostic-error-table th:first-child{width:72px}.diagnostic-error-table th:nth-child(2),.diagnostic-error-table th:nth-child(3){width:100px}.diagnostic-error-table th:nth-child(4){width:180px}.diagnostic-error-table td{white-space:normal;height:auto;line-height:18px}@media (max-width:1250px){.reading-task{grid-template-columns:290px 1fr}.reading-results-layout{grid-template-columns:250px minmax(0,1fr)}}@media (max-width:900px){.reading-compact-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.reading-compact-fields label:first-child,.reading-target-field{grid-column:1/-1}.reading-workspace-tabs>button{grid-template-columns:28px minmax(0,1fr);padding-inline:12px}.reading-workspace-tabs>button>.anticon{width:28px;height:28px}.reading-workspace-tabs small{white-space:normal}.remote-task-create-grid{grid-template-columns:1fr}.remote-records-heading{flex-direction:column;align-items:stretch;padding-block:10px}.remote-records-actions{justify-content:space-between}.student-debug-row{grid-template-columns:1fr;padding-block:12px}.student-debug-row .ant-btn{width:100%}.remote-task-browser{grid-template-columns:1fr}.remote-records-split{min-height:0;display:block}.remote-records-split .remote-task-browser{height:auto;min-height:640px;overflow:visible}.remote-records-split>.remote-task-empty{min-height:320px}.remote-task-list{border-right:0;border-bottom:1px solid var(--color-border);max-height:260px}.remote-task-detail{overflow:visible}.remote-task-detail>.table-wrap{max-height:320px}.remote-task-detail-heading{flex-direction:column;align-items:stretch}.remote-task-controls{justify-content:flex-start;width:100%}.remote-process-counts{flex-wrap:wrap;align-items:flex-start;gap:6px 12px}.remote-process-task-status{grid-template-columns:1fr}.remote-process-task-status small{white-space:normal}.remote-selection-bar{flex-direction:column;align-items:stretch}.remote-selection-bar .ant-space{width:100%}.remote-selection-bar .ant-space-item{flex:1}.remote-selection-bar .ant-btn{width:100%}.remote-report-heading{flex-direction:column;align-items:stretch;padding-block:10px}.remote-report-heading-actions,.remote-report-filter-bar{flex-direction:column;align-items:flex-start}.remote-report-heading-actions{width:100%}.remote-report-section{min-height:420px;overflow:visible}.remote-report-filter-bar>span{padding-left:2px}.remote-report-filters{width:100%;overflow-x:auto}.remote-report-filters button{flex:none}.remote-report-compare{grid-template-columns:1fr}.remote-report-compare section+section{border-top:1px solid var(--color-border);border-left:0}.reading-selected-files{grid-template-columns:1fr}.reading-stepper{grid-template-columns:repeat(5,minmax(90px,1fr));overflow-x:auto}.reading-drop-zone{margin:14px}.reading-submit-bar{flex-direction:column;align-items:stretch}.diagnostic-config-grid,.diagnostic-upload-grid,.diagnostic-review-priority,.diagnostic-review-meta,.diagnostic-evidence-grid,.diagnostic-ai-findings,.diagnostic-mastery-summary{grid-template-columns:1fr}.diagnostic-student-mapping-list label{grid-template-columns:1fr;align-items:stretch}.diagnostic-config-option+.diagnostic-config-option,.diagnostic-review-issue-group+.diagnostic-review-issue-group,.diagnostic-evidence-grid section+section,.diagnostic-ai-findings section+section,.diagnostic-mastery-summary section+section{border-top:1px solid var(--color-border);border-left:0}.diagnostic-review-filter{flex-direction:column;align-items:stretch}.diagnostic-review-filter>label{justify-content:space-between}.diagnostic-ai-heading,.diagnostic-answer-summary-heading{flex-direction:column;align-items:stretch}.diagnostic-upload-actions,.diagnostic-review-actions,.diagnostic-batch-progress{flex-direction:column;grid-template-columns:1fr;align-items:stretch}.diagnostic-domain-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.diagnostic-domain-grid>div:nth-child(3){border-top:1px solid var(--color-border);border-left:0}.diagnostic-domain-grid>div:nth-child(4){border-top:1px solid var(--color-border)}.diagnostic-answer-count-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.diagnostic-answer-count-grid>div{border-top:1px solid var(--color-border);border-left:0!important}.diagnostic-answer-count-grid>div:nth-child(-n+2){border-top:0}.diagnostic-answer-count-grid .is-wrong{grid-column:1/-1}}@media (max-width:760px){.reading-checkin-header{grid-template-columns:minmax(0,1fr) auto;align-items:center}.reading-checkin-header .page-title .eyebrow{display:none}.reading-checkin-header-links{gap:0}.reading-checkin-header-links .ant-btn,.reading-checkin-header-links .vocabulary-model-settings-link{padding-inline:8px;font-size:12px}.reading-quick-start,.reading-compact-fields{grid-template-columns:1fr;gap:12px;padding:12px}.reading-compact-fields label:first-child,.reading-target-field{grid-column:auto}.reading-create-note{padding:10px 12px}.reading-create-actions{flex-direction:column;align-items:stretch;gap:10px;padding:12px}.reading-create-actions .ant-btn{width:100%;min-width:0}.reading-student-drawer .ant-drawer-content-wrapper{width:100vw!important}.remote-task-detail-heading .ant-space,.remote-task-detail-heading .ant-btn{width:100%}}@media (max-width:700px){.diagnostic-material-strip>div{grid-template-columns:32px minmax(0,1fr);align-items:start}.diagnostic-material-actions{grid-column:1/-1;justify-content:stretch;width:100%}.diagnostic-material-actions .ant-btn{flex:180px}}@media (max-width:1199px){.app-shell,.app-shell.is-sidebar-collapsed{grid-template:60px minmax(0,1fr)/minmax(0,1fr)}.app-header,.app-shell.is-sidebar-collapsed .app-header{grid-template-columns:52px minmax(0,1fr) auto}.brand-lockup,.app-shell.is-sidebar-collapsed .brand-lockup{border-right:0;justify-content:center;padding:0}.brand-lockup>span:last-child{display:none}.header-context{gap:10px;padding:0 12px;overflow:hidden}.header-school{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.header-divider,.header-term,.desktop-sidebar-toggle,.header-status-copy{display:none}.mobile-navigation-toggle{display:grid}.header-status-short{white-space:nowrap;display:inline}.header-actions{gap:8px;padding-right:12px}.header-avatar{margin-left:0}.app-sidebar,.app-shell.is-sidebar-collapsed .app-sidebar{z-index:70;visibility:hidden;width:min(280px,100vw - 48px);height:auto;padding:12px;transition:transform .18s,visibility 0s linear .18s;position:fixed;top:60px;bottom:0;left:0;transform:translate(-100%)}.app-shell.is-mobile-navigation-open .app-sidebar{visibility:visible;transition-delay:0s;transform:translate(0)}.mobile-sidebar-backdrop{z-index:60;cursor:pointer;background:#17203357;border:0;padding:0;position:fixed;inset:60px 0 0}.app-shell.is-mobile-navigation-open .mobile-sidebar-backdrop{display:block}.mobile-sidebar-heading{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;min-height:44px;padding:0 4px 0 12px;display:flex}.mobile-sidebar-heading strong{font-size:13px}.mobile-sidebar-heading button{width:40px;height:40px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:grid}.app-shell.is-sidebar-collapsed .app-sidebar .side-nav a>span:last-child,.app-shell.is-sidebar-collapsed .app-sidebar .nav-section-label,.app-shell.is-sidebar-collapsed .app-sidebar .sidebar-capacity{display:initial}.app-shell.is-sidebar-collapsed .app-sidebar .nav-section-label,.app-shell.is-sidebar-collapsed .app-sidebar .sidebar-capacity{display:grid}.side-nav a,.app-shell.is-sidebar-collapsed .app-sidebar .side-nav a{border-left:3px solid #0000;justify-content:flex-start;gap:12px;padding:0 12px}.side-nav a.is-active,.app-shell.is-sidebar-collapsed .app-sidebar .side-nav a.is-active{border-left-color:var(--color-primary);box-shadow:none}.page{padding:20px 16px}.exam-review-layout{grid-template-columns:1fr;gap:12px}.exam-detail-page.is-review-focused .exam-evidence-panel{order:-1}.exam-evidence-panel{border:1px solid var(--color-border);max-height:none}.exam-material-strip{grid-template-columns:repeat(3,minmax(160px,1fr))}.exam-material-strip>a{border-top:1px solid var(--color-border);border-left:0;grid-column:1/-1;min-height:44px}}@media (max-width:900px){.knowledge-paper-preview{grid-template-columns:1fr}}.report-delivery-header{margin-bottom:16px}.report-delivery-header .ant-input[type=date]{width:148px}.report-delivery-alert{margin-bottom:16px}.report-delivery-layout{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:16px;display:grid}.report-type-panel{min-width:0;position:sticky;top:76px}.report-type-list{display:grid}.report-type-list>button{border:0;border-top:1px solid var(--color-border);background:var(--color-surface);min-height:84px;color:var(--color-text-secondary);text-align:left;cursor:pointer;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:12px;padding:12px 16px;display:grid}.report-type-list>button:first-child{border-top:0}.report-type-list>button:hover{background:var(--color-row-hover);color:var(--color-ink)}.report-type-list>button.is-active{background:var(--color-primary-soft);color:var(--color-primary);box-shadow:inset 3px 0 var(--color-primary)}.report-type-list>button>.anticon{border:1px solid;border-radius:50%;place-items:center;width:34px;height:34px;font-size:16px;display:grid}.report-type-list>button>span{gap:4px;min-width:0;display:grid}.report-type-list strong{color:var(--color-ink);font-size:13px}.report-type-list small{color:var(--color-text-secondary);font-size:10px;line-height:16px}.report-type-note{border-top:1px solid var(--color-border);background:var(--color-canvas);color:var(--color-success);grid-template-columns:24px minmax(0,1fr);gap:8px;padding:14px 16px;display:grid}.report-type-note>.anticon{margin-top:2px}.report-type-note p{color:var(--color-text-secondary);margin:0;font-size:10px;line-height:17px}.report-compose-panel{min-width:0}.report-compose-heading{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:24px;min-height:104px;padding:16px 20px;display:flex}.report-compose-heading>div:first-child{gap:4px;display:grid}.report-compose-heading>div:first-child>span{color:var(--color-primary);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:700}.report-compose-heading h2{margin:0;font-size:20px;line-height:28px}.report-compose-heading p{color:var(--color-text-secondary);margin:0;font-size:11px;line-height:18px}.report-audience-counts{border:1px solid var(--color-border);align-items:stretch;display:flex}.report-audience-counts>span{min-width:94px;min-height:56px;color:var(--color-text-secondary);cursor:default;align-content:center;place-items:center;gap:2px;padding:8px 12px;font-size:10px;display:grid}.report-audience-counts>span+span{border-left:1px solid var(--color-border)}.report-audience-counts strong{color:var(--color-ink);font-size:18px}.report-audience-counts .has-unbound strong{color:var(--color-warning)}.report-delivery-loading{min-height:420px;padding:28px}.report-compose-grid{grid-template-columns:minmax(360px,1.1fr) minmax(320px,.9fr);min-height:458px;display:grid}.report-recipient-panel{border-right:1px solid var(--color-border);min-width:0;padding:16px}.report-recipient-toolbar{justify-content:space-between;align-items:center;gap:12px;min-height:38px;display:flex}.report-recipient-toolbar>div{align-items:center;gap:7px;display:flex}.report-recipient-toolbar>div>.anticon{color:var(--color-primary)}.report-recipient-toolbar strong{font-size:12px}.report-recipient-toolbar span{color:var(--color-text-secondary);font-size:10px}.report-recipient-panel>.ant-input-affix-wrapper{margin:8px 0 12px}.report-recipient-list{border:1px solid var(--color-border);max-height:352px;overflow:auto}.report-recipient-list>button{border:0;border-bottom:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:60px;color:var(--color-ink);text-align:left;cursor:pointer;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 12px;display:grid}.report-recipient-list>button:last-of-type{border-bottom:0}.report-recipient-list>button:hover{background:var(--color-row-hover)}.report-recipient-list>button.is-active{background:var(--color-primary-soft);box-shadow:inset 3px 0 var(--color-primary)}.report-recipient-list>button>span:nth-child(2){gap:3px;min-width:0;display:grid}.report-recipient-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.report-recipient-list small{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.report-recipient-list>.ant-empty{padding:40px 12px}.report-message-preview{background:var(--color-canvas);min-width:0;padding:16px}.report-preview-heading{justify-content:space-between;align-items:center;gap:12px;min-height:38px;display:flex}.report-preview-heading>span{color:var(--color-primary);align-items:center;gap:7px;font-size:12px;font-weight:700;display:flex}.report-preview-metrics{border:1px solid var(--color-border);background:var(--color-surface);grid-template-columns:repeat(2,minmax(0,1fr));margin:8px 0 12px;display:grid}.report-preview-metrics>div{align-content:center;place-items:center;gap:3px;min-height:66px;padding:8px;display:grid}.report-preview-metrics>div:nth-child(2n){border-left:1px solid var(--color-border)}.report-preview-metrics>div:nth-child(n+3){border-top:1px solid var(--color-border)}.report-preview-metrics strong{font-size:17px}.report-preview-metrics span{color:var(--color-text-secondary);font-size:10px}.report-message-preview pre{border:1px solid var(--color-border);background:var(--color-surface);min-height:190px;color:var(--color-ink);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:16px;font-family:inherit;font-size:11px;line-height:20px;overflow:auto}.report-message-preview>p{color:var(--color-text-secondary);margin:10px 0 0;font-size:10px;line-height:17px}.report-send-bar{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:24px;min-height:80px;padding:12px 20px;display:flex}.report-send-bar>div{gap:4px;display:grid}.report-send-bar strong{font-size:12px}.report-send-bar>div>span{color:var(--color-text-secondary);font-size:10px}.report-send-bar .ant-btn{min-width:168px}.report-delivery-empty{align-content:center;place-items:center;min-height:420px;display:grid}.cloud-page-header{align-items:center}.cloud-dashboard-grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,.7fr);gap:20px;margin-top:20px;display:grid}.cloud-flow-list{margin:0;padding:0 20px;list-style:none}.cloud-flow-list li{border-bottom:1px solid var(--color-border);grid-template-columns:150px minmax(0,1fr);align-items:center;gap:16px;min-height:68px;display:grid}.cloud-flow-list li:last-child{border-bottom:0}.cloud-flow-list strong{color:var(--color-ink);font-size:13px}.cloud-flow-list span{color:var(--color-text-secondary);font-size:12px;line-height:20px}.cloud-boundary-panel{padding-bottom:20px}.cloud-boundary-panel dl,.cloud-local-only-panel dl{margin:0}.cloud-boundary-panel dl>div,.cloud-local-only-panel dl>div{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:16px;min-height:48px;padding:0 16px;font-size:12px;display:flex}.cloud-boundary-panel dt,.cloud-local-only-panel dt{color:var(--color-text-secondary)}.cloud-boundary-panel dd,.cloud-local-only-panel dd{text-align:right;margin:0;font-weight:600}.cloud-boundary-panel .primary-link{margin:20px 16px 0}.is-online-text{color:var(--color-success)}.cloud-table-panel{min-height:360px}.cloud-data-table{min-width:840px}.cloud-data-table td strong{font-size:13px}.cloud-roster-toolbar{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(240px,320px) 190px 170px minmax(120px,1fr);align-items:center;gap:12px;min-height:64px;padding:12px 16px;display:grid}.cloud-roster-toolbar .ant-input-affix-wrapper,.cloud-roster-toolbar .ant-select{width:100%}.cloud-roster-toolbar .ant-input-affix-wrapper,.cloud-roster-toolbar .ant-select-selector{border-radius:6px!important;min-height:40px!important}.cloud-roster-toolbar .ant-input-affix-wrapper{align-items:center}.cloud-roster-toolbar .ant-select-single{height:40px}.cloud-roster-toolbar .ant-select-single .ant-select-selector{align-items:center;display:flex}.cloud-roster-search .anticon{color:var(--color-text-secondary);font-size:16px}.cloud-roster-result{color:var(--color-text-secondary);text-align:right;white-space:nowrap;font-size:12px}.cloud-roster-scroll-hint{display:none}.cloud-offline-panel,.cloud-local-only-panel{text-align:center;align-content:center;place-items:center;gap:12px;min-height:360px;padding:40px 24px;display:grid}.cloud-offline-panel h2,.cloud-local-only-panel h2{margin:8px 0 0;font-size:20px}.cloud-offline-panel p,.cloud-local-only-panel>p{max-width:660px;color:var(--color-text-secondary);margin:0;font-size:13px;line-height:22px}.cloud-local-only-panel dl{border-top:1px solid var(--color-border);width:min(620px,100%);margin-top:16px}@media (max-width:1024px){.cloud-dashboard-grid{grid-template-columns:1fr}.cloud-flow-list li{grid-template-columns:132px minmax(0,1fr)}.cloud-roster-toolbar{grid-template-columns:minmax(220px,1fr) 180px 160px}.cloud-roster-result{text-align:left;grid-column:1/-1}}@media (max-width:720px){.cloud-page-header{flex-direction:column;align-items:flex-start;gap:12px}.cloud-page-header .status-chip{white-space:nowrap;flex:none}.cloud-table-panel{min-width:0;max-width:100%}.cloud-table-panel .table-wrap{overscroll-behavior-inline:contain;max-width:100%}.cloud-data-table{min-width:760px}.cloud-flow-list li{grid-template-columns:1fr;align-content:center;gap:4px;padding:12px 0}.cloud-student-roster>.panel-heading{min-height:56px}.cloud-roster-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-height:132px;padding:12px 16px}.cloud-roster-search{grid-column:1/-1}.cloud-roster-result{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.cloud-roster-scroll-hint{border-bottom:1px solid var(--color-border);min-height:40px;color:var(--color-text-secondary);justify-content:center;align-items:center;gap:8px;margin:0;padding:8px 16px;font-size:12px;display:flex}.cloud-roster-scroll-hint span{color:var(--color-primary);font-size:16px}}@media (prefers-reduced-motion:reduce){.app-sidebar{transition:none}}.report-send-confirmation{gap:12px;display:grid}.report-send-confirmation p{color:var(--color-text-secondary);margin:0;font-size:11px}@media (max-width:1320px){.report-compose-grid{grid-template-columns:1fr}.report-recipient-panel{border-right:0;border-bottom:1px solid var(--color-border)}}@media (max-height:820px) and (min-width:1321px){.report-delivery-header{margin-bottom:10px}.report-compose-heading{min-height:88px;padding-block:10px}.report-compose-grid{min-height:390px}.report-recipient-panel,.report-message-preview{padding:12px 16px}.report-recipient-list{max-height:286px}.report-message-preview pre{min-height:150px}.report-send-bar{min-height:68px}}@media (max-width:900px){.report-delivery-layout{grid-template-columns:1fr}.report-type-panel{position:static}.report-type-list{grid-template-columns:repeat(3,minmax(0,1fr))}.report-type-list>button{text-align:center;border-top:0;border-left:1px solid var(--color-border);grid-template-columns:1fr;justify-items:center}.report-type-list>button:first-child{border-left:0}.report-type-list>button.is-active{box-shadow:inset 0 3px var(--color-primary)}.report-compose-heading,.report-send-bar{flex-direction:column;align-items:stretch}.report-audience-counts{width:100%}.report-audience-counts>span{flex:1}.report-send-bar .ant-btn{width:100%}}.student-submission-header{margin-bottom:16px}.student-submission-loading{min-height:560px;padding:28px}.student-submission-workspace{grid-template-columns:310px minmax(0,1fr);align-items:start;gap:16px;display:grid}.student-submission-list{min-width:0;max-height:calc(100dvh - 96px);position:sticky;top:76px;overflow:hidden}.student-submission-list ol{max-height:calc(100dvh - 146px);margin:0;padding:0;list-style:none;overflow-y:auto}.student-submission-list li+li{border-top:1px solid var(--color-border)}.student-submission-list button{background:var(--color-surface);width:100%;min-height:104px;color:var(--color-ink);text-align:left;cursor:pointer;border:0;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;padding:12px 14px;display:grid}.student-submission-list button:hover{background:var(--color-row-hover)}.student-submission-list button.is-active{background:var(--color-primary-soft);box-shadow:inset 3px 0 var(--color-primary)}.student-submission-list button>span{gap:2px;min-width:0;display:grid}.student-submission-list button>span strong,.student-submission-list button>b,.student-submission-list button>small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-submission-list button>span strong{font-size:12px}.student-submission-list button>span small,.student-submission-list button>small{color:var(--color-text-secondary);font-size:10px}.student-submission-list button>b,.student-submission-list button>small{grid-column:1/-1}.student-submission-list button>b{margin-top:3px;font-size:13px}.student-submission-detail{min-width:0}.submission-detail-heading{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:20px;min-height:108px;padding:16px 20px;display:flex}.submission-detail-heading>div{gap:4px;min-width:0;display:grid}.submission-detail-heading>div>span{color:var(--color-primary);text-transform:uppercase;font-size:10px;font-weight:700}.submission-detail-heading h2{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:20px;overflow:hidden}.submission-detail-heading p{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:11px;overflow:hidden}.submission-image-strip{border-bottom:1px solid var(--color-border);background:var(--color-border);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid}.submission-image-strip a{min-width:0;color:var(--color-ink);background:var(--color-surface);grid-template-rows:172px 38px;text-decoration:none;display:grid}.submission-image-strip img{object-fit:contain;background:var(--color-canvas);width:100%;height:172px;display:block}.submission-image-strip span{color:var(--color-text-secondary);justify-content:center;align-items:center;gap:5px;font-size:10px;display:flex}.submission-handwriting-practice{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(150px,220px) minmax(0,1fr);gap:16px;padding:14px 20px;display:grid}.submission-handwriting-practice>div{align-content:start;gap:3px;display:grid}.submission-handwriting-practice strong{font-size:12px}.submission-handwriting-practice span{color:var(--color-text-secondary);font-size:10px}.submission-handwriting-practice p{color:var(--color-text-secondary);margin:0;font-size:11px;line-height:1.8}.submission-analysis-start{justify-content:space-between;align-items:center;gap:20px;min-height:98px;padding:18px 20px;display:flex}.submission-analysis-start>div{align-items:center;gap:12px;display:flex}.submission-analysis-start>div>.anticon{border:1px solid var(--color-primary);width:38px;height:38px;color:var(--color-primary);border-radius:50%;place-items:center;font-size:17px;display:grid}.submission-analysis-start>div span{gap:4px;display:grid}.submission-analysis-start>div strong{font-size:12px}.submission-analysis-start>div small{color:var(--color-text-secondary);font-size:10px}.submission-analysis-start .ant-select{width:min(310px,35vw)}.submission-analysis-summary{border-bottom:1px solid var(--color-border);grid-template-columns:repeat(3,minmax(110px,1fr));display:grid}.submission-analysis-summary>div{border-right:1px solid var(--color-border);align-content:center;place-items:center;gap:2px;min-height:76px;display:grid}.submission-analysis-summary>div strong{color:var(--color-success);font-size:20px}.submission-analysis-summary>div span{color:var(--color-text-secondary);font-size:10px}.submission-analysis-summary>div.wrong strong{color:var(--color-danger)}.submission-analysis-summary>div.uncertain strong{color:var(--color-warning)}.submission-analysis-summary>p{color:var(--color-text-secondary);background:var(--color-canvas);grid-column:1/-1;align-items:center;gap:5px;margin:0;padding:8px 14px;font-size:10px;display:flex}.submission-handwriting-summary>div strong{color:var(--color-primary)}.submission-review-toolbar{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:20px;min-height:72px;padding:12px 20px;display:flex}.submission-review-toolbar>div{gap:3px;display:grid}.submission-review-toolbar h3{margin:0;font-size:15px}.submission-review-toolbar span{color:var(--color-text-secondary);font-size:10px}.submission-review-toolbar>.ant-select{width:min(380px,46%)}.submission-review-items{margin:0;padding:0;list-style:none}.submission-review-items>li{border-bottom:1px solid var(--color-border);padding:14px 20px}.submission-review-items>li>header{justify-content:space-between;align-items:center;gap:16px;min-height:40px;display:flex}.submission-review-items>li>header>span{font-size:12px;font-weight:700}.submission-review-items>li>header>div{display:flex}.submission-review-items>li>header button{border:1px solid var(--color-border);background:var(--color-surface);min-height:34px;color:var(--color-text-secondary);cursor:pointer;border-left:0;padding:0 10px;font-size:10px}.submission-review-items>li>header button:first-child{border-left:1px solid var(--color-border);border-radius:6px 0 0 6px}.submission-review-items>li>header button:last-child{border-radius:0 6px 6px 0}.submission-review-items>li>header button.is-correct{border-color:var(--color-success);color:var(--color-success);background:#ecfdf5}.submission-review-items>li>header button.is-incorrect{border-color:var(--color-danger);color:var(--color-danger);background:#fff1f0}.submission-review-items>li>header button.is-uncertain{border-color:var(--color-warning);color:var(--color-warning);background:#fff7ed}.submission-review-grid{grid-template-columns:90px repeat(4,minmax(130px,1fr));gap:8px;margin-top:8px;display:grid}.submission-review-grid label{min-width:0;color:var(--color-text-secondary);gap:4px;font-size:10px;display:grid}.submission-review-items>li>small{color:var(--color-text-muted);margin-top:7px;font-size:9px;display:block}.submission-handwriting-review{border-bottom:1px solid var(--color-border);grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px 20px;display:grid}.submission-handwriting-review label{min-width:0;color:var(--color-text-secondary);align-content:start;gap:6px;font-size:10px;display:grid}.submission-handwriting-review label>span{color:var(--color-ink);font-size:11px;font-weight:600}.submission-handwriting-review .submission-handwriting-score{grid-column:1/-1;max-width:260px}.submission-handwriting-review .submission-handwriting-suggestion{grid-column:1/-1}.submission-handwriting-review .ant-input-number-group-wrapper{width:100%}.submission-confirm-bar{background:var(--color-canvas);justify-content:space-between;align-items:center;gap:20px;min-height:86px;padding:12px 20px;display:flex}.submission-confirm-bar>div{gap:4px;display:grid}.submission-confirm-bar strong{font-size:12px}.submission-confirm-bar span{color:var(--color-text-secondary);font-size:10px}.submission-confirm-bar .ant-btn{min-width:190px}@media (max-width:1320px){.submission-review-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.submission-review-grid label:first-child{grid-column:auto}}@media (max-width:1000px){.student-submission-workspace{grid-template-columns:1fr}.student-submission-list{max-height:none;position:static}.student-submission-list ol{max-height:300px}.submission-image-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.submission-analysis-start,.submission-review-toolbar,.submission-confirm-bar{flex-direction:column;align-items:stretch}.submission-analysis-start .ant-space,.submission-analysis-start .ant-select,.submission-review-toolbar>.ant-select,.submission-confirm-bar .ant-btn{width:100%}}@media (max-width:700px){.reading-target-toolbar{flex-direction:column;align-items:stretch}.reading-target-toolbar>.ant-btn{width:100%}.submission-image-strip,.submission-review-grid,.submission-handwriting-practice,.submission-handwriting-review{grid-template-columns:1fr}.submission-handwriting-review .submission-handwriting-score,.submission-handwriting-review .submission-handwriting-suggestion{grid-column:auto;max-width:none}.submission-review-items>li>header{flex-direction:column;align-items:flex-start}}.visually-hidden{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.vocabulary-dictation-header .ant-space{justify-content:flex-end}.vocabulary-dictation-create{overflow:hidden}.vocabulary-dictation-create>.ant-alert,.vocabulary-dictation-create>.vocabulary-dictation-word-toolbar,.vocabulary-dictation-create>.table-wrap{margin-left:20px;margin-right:20px}.vocabulary-dictation-create>.ant-alert{margin-top:16px}.vocabulary-dictation-quick-start{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:16px;padding:20px;display:grid}.vocabulary-dictation-quick-start label,.vocabulary-dictation-photo-action{gap:6px;min-width:0;display:grid}.vocabulary-dictation-quick-start label>span,.vocabulary-dictation-photo-action>span{color:var(--color-ink);font-size:12px;font-weight:600}.vocabulary-dictation-photo-action>.ant-btn{width:100%;min-height:40px}.vocabulary-dictation-word-toolbar{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;min-height:52px;display:flex}.vocabulary-dictation-word-toolbar>span{color:var(--color-text-secondary);font-size:11px;font-weight:600}.vocabulary-word-table td:first-child,.vocabulary-word-table th:first-child,.vocabulary-word-table td:nth-child(2),.vocabulary-word-table th:nth-child(2){text-align:center;width:70px}.vocabulary-dictation-create-actions{border-top:1px solid var(--color-border);background:var(--color-canvas);justify-content:flex-end;align-items:center;min-height:64px;padding:12px 20px;display:flex}.vocabulary-dictation-finish>div{gap:4px;display:grid}.vocabulary-dictation-finish strong{font-size:12px}.vocabulary-dictation-finish span{color:var(--color-text-secondary);font-size:10px}.vocabulary-dictation-stats .ant-tag{margin:0}.vocabulary-dictation-plan{padding:0}.vocabulary-dictation-plan>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;min-height:68px;padding:12px 20px;list-style:none;display:flex}.vocabulary-dictation-plan>summary::-webkit-details-marker{display:none}.vocabulary-dictation-plan>summary>span:first-child{gap:3px;min-width:0;display:grid}.vocabulary-dictation-plan>summary strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.vocabulary-dictation-plan>summary small{color:var(--color-text-secondary);font-size:10px}.vocabulary-dictation-plan>summary>span:last-child{color:var(--color-primary);flex:none;font-size:11px;font-weight:600}.vocabulary-dictation-plan-grid{border-top:1px solid var(--color-border);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.vocabulary-dictation-plan-grid>span{border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);grid-template-columns:24px minmax(0,1fr);align-content:center;gap:2px 8px;min-width:0;min-height:62px;padding:10px 12px;display:grid}.vocabulary-dictation-plan-grid b{width:24px;color:var(--color-primary);grid-row:1/3;font-size:10px}.vocabulary-dictation-plan-grid strong,.vocabulary-dictation-plan-grid small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vocabulary-dictation-plan-grid strong{font-size:12px}.vocabulary-dictation-plan-grid small{color:var(--color-text-secondary);font-size:9px}.vocabulary-dictation-workspace{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:16px;display:grid}.vocabulary-dictation-students{max-height:calc(100vh - 100px);position:sticky;top:76px;overflow:hidden}.vocabulary-dictation-students ol{max-height:calc(100vh - 170px);margin:0;padding:0;list-style:none;overflow-y:auto}.vocabulary-dictation-students li+li{border-top:1px solid var(--color-border)}.vocabulary-dictation-students button{width:100%;min-height:60px;color:var(--color-ink);background:var(--color-surface);text-align:left;cursor:pointer;border:0;border-left:3px solid #0000;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 8px;padding:9px 12px;display:grid}.vocabulary-dictation-students button:hover{background:var(--color-row-hover)}.vocabulary-dictation-students button.is-active{border-left-color:var(--color-primary);background:var(--color-primary-soft)}.vocabulary-dictation-students button>span{gap:1px;min-width:0;display:grid}.vocabulary-dictation-students button strong,.vocabulary-dictation-students button small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vocabulary-dictation-students button strong{font-size:12px}.vocabulary-dictation-students button small{color:var(--color-text-secondary);font-size:10px}.vocabulary-dictation-students button>b{color:var(--color-primary);grid-column:1/-1;font-size:10px}.vocabulary-dictation-detail{min-width:0;overflow:hidden}.vocabulary-dictation-upload-empty{text-align:center;align-content:center;place-items:center;gap:10px;min-height:330px;padding:32px;display:grid}.vocabulary-dictation-upload-empty>.anticon{color:var(--color-primary);font-size:36px}.vocabulary-dictation-upload-empty strong{font-size:15px}.vocabulary-dictation-upload-empty span{max-width:460px;color:var(--color-text-secondary);font-size:11px;line-height:1.7}.vocabulary-dictation-student-row{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;min-height:88px;padding:10px 16px 12px;display:grid}.vocabulary-dictation-class-label{color:var(--color-primary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;overflow:hidden}.vocabulary-dictation-student-row .vocabulary-current-student-control{grid-column:1/-1}.vocabulary-dictation-student-row>.ant-tag{grid-area:1/2;justify-self:end;margin:0;font-size:12px}.vocabulary-dictation-processing{grid-template-columns:44px minmax(0,1fr);align-items:center;gap:14px;min-height:128px;padding:20px;display:grid}.vocabulary-dictation-processing>.anticon{border:1px solid var(--color-primary);width:44px;height:44px;color:var(--color-primary);border-radius:50%;place-items:center;font-size:20px;display:grid}.vocabulary-dictation-processing>div{gap:7px;display:grid}.vocabulary-dictation-processing strong{font-size:13px}.vocabulary-dictation-processing span{color:var(--color-text-secondary);font-size:10px}.vocabulary-dictation-review-summary{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(176px,1.5fr) repeat(3,minmax(72px,.7fr));min-height:84px;display:grid}.vocabulary-dictation-review-summary>div{border-right:1px solid var(--color-border);align-content:center;place-items:center;gap:1px;display:grid}.vocabulary-dictation-review-summary>div:last-child{border-right:0}.vocabulary-dictation-review-summary>div strong{color:var(--color-success);font-size:22px}.vocabulary-dictation-review-summary>div.score{place-items:start;padding:10px 16px}.vocabulary-dictation-score-input{align-items:baseline;gap:5px;display:flex;color:var(--color-ink)!important}.vocabulary-dictation-score-input .ant-input-number{border:0;border-bottom:1px solid var(--color-border);width:58px;box-shadow:none;background:0 0;border-radius:0}.vocabulary-dictation-score-input .ant-input-number-input{height:38px;color:var(--color-ink);text-align:left;padding:0;font-size:30px;font-weight:700}.vocabulary-dictation-score-input b{font-size:19px;line-height:1}.vocabulary-dictation-review-summary>div.wrong strong{color:var(--color-danger)}.vocabulary-dictation-review-summary>div.unclear strong{color:var(--color-warning)}.vocabulary-dictation-review-summary>div span{color:var(--color-text-secondary);font-size:12px}.vocabulary-answer-card-review{padding:12px 16px}.vocabulary-answer-card-heading{align-items:flex-start;min-height:28px;display:flex}.vocabulary-answer-card-heading h3{margin:0;font-size:14px;line-height:22px}.vocabulary-answer-card-grid{border-top:1px solid var(--color-border);border-left:1px solid var(--color-border);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.vocabulary-answer-card-grid>button{border:0;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);min-width:0;min-height:72px;color:var(--color-text-secondary);background:var(--color-surface);cursor:pointer;border-radius:0;align-content:center;place-items:center;gap:3px;padding:5px 3px;transition:background .12s;display:grid}.vocabulary-answer-card-grid>button:hover,.vocabulary-answer-card-grid>button.is-active{background:var(--color-primary-soft)}.vocabulary-answer-card-grid>button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.vocabulary-answer-card-grid .answer-card-order{color:var(--color-ink);text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.vocabulary-answer-card-grid .answer-card-mark{color:var(--color-warning);font-size:22px}.vocabulary-answer-card-grid .answer-card-point{white-space:nowrap;font-size:12px}.vocabulary-answer-card-grid>button.is-correct .answer-card-mark{color:var(--color-success)}.vocabulary-answer-card-grid>button.is-wrong .answer-card-mark{color:var(--color-danger)}.vocabulary-answer-card-grid>button.is-correct .answer-card-point{color:var(--color-success)}.vocabulary-answer-card-grid>button.is-wrong .answer-card-point{color:var(--color-danger)}.vocabulary-answer-card-grid>button.is-unclear .answer-card-point{color:var(--color-warning)}.vocabulary-answer-card-selection{border:1px solid var(--color-border);border-top:0;grid-template-columns:minmax(72px,1fr) minmax(92px,auto) minmax(72px,1fr);align-items:center;gap:12px;min-height:48px;padding:4px 12px;display:grid}.vocabulary-answer-card-selection strong{font-size:14px}.vocabulary-answer-card-selection>span{color:var(--color-warning);text-align:center;font-size:13px}.vocabulary-answer-card-selection.is-correct>span{color:var(--color-success)}.vocabulary-answer-card-selection.is-wrong>span{color:var(--color-danger)}.vocabulary-answer-card-selection>button{min-width:64px;min-height:40px;color:var(--color-primary);cursor:pointer;background:0 0;border:0;justify-content:flex-end;justify-self:end;align-items:center;gap:6px;padding:0 4px;font-size:13px;display:inline-flex}.vocabulary-answer-card-hint{color:var(--color-text-muted);text-align:center;margin:8px 0 0;font-size:10px}.vocabulary-answer-card-detail{border:1px solid var(--color-border);border-top:0;border-left:3px solid var(--color-warning);background:var(--color-canvas)}.vocabulary-answer-card-detail.is-correct{border-left-color:var(--color-success)}.vocabulary-answer-card-detail.is-wrong{border-left-color:var(--color-danger)}.vocabulary-answer-card-detail>header{border-bottom:1px solid var(--color-border);background:var(--color-surface);justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:6px 12px;display:flex}.vocabulary-answer-card-detail>header strong{font-size:12px}.vocabulary-answer-card-detail>header button{min-width:40px;min-height:40px;color:var(--color-primary);cursor:pointer;background:0 0;border:0;font-size:10px}.vocabulary-answer-card-answers{grid-template-columns:minmax(120px,.8fr) minmax(180px,1.2fr);gap:12px;padding:10px 12px;display:grid}.vocabulary-answer-card-answers>div,.vocabulary-answer-card-answers>label{gap:2px;min-width:0;display:grid}.vocabulary-answer-card-answers small{color:var(--color-text-secondary);font-size:9px}.vocabulary-answer-card-answers strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.vocabulary-answer-card-answers span{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.vocabulary-answer-card-detail>.vocabulary-dictation-verdicts{padding:0 12px 12px}.vocabulary-dictation-verdicts{display:flex}.vocabulary-dictation-verdicts button{border:1px solid var(--color-border);min-height:40px;color:var(--color-text-secondary);background:var(--color-surface);cursor:pointer;border-left:0;flex:1;justify-content:center;align-items:center;gap:4px;padding:0 8px;font-size:10px;display:flex}.vocabulary-dictation-verdicts button:first-child{border-left:1px solid var(--color-border);border-radius:6px 0 0 6px}.vocabulary-dictation-verdicts button:last-child{border-radius:0 6px 6px 0}.vocabulary-dictation-verdicts button.is-active.correct{border-color:var(--color-success);color:var(--color-success);background:var(--color-primary-soft)}.vocabulary-dictation-verdicts button.is-active.wrong{border-color:var(--color-danger);color:var(--color-danger);background:var(--color-surface)}.vocabulary-dictation-verdicts button.is-active.unclear{border-color:var(--color-warning);color:var(--color-warning);background:var(--color-canvas)}.vocabulary-dictation-verdicts button:disabled{cursor:default;opacity:.72}.vocabulary-dictation-confirm,.vocabulary-dictation-finish{background:var(--color-canvas);justify-content:space-between;align-items:center;gap:20px;min-height:84px;padding:12px 20px;display:flex}.vocabulary-dictation-confirm>div{gap:4px;display:grid}.vocabulary-dictation-confirm strong{font-size:12px}.vocabulary-dictation-confirm span{color:var(--color-text-secondary);font-size:10px}.vocabulary-dictation-finish{border:1px solid var(--color-border);background:var(--color-surface)}.step-label{color:var(--color-primary);letter-spacing:.04em;font-size:10px;font-weight:700}.vocabulary-answer-capture{border-color:var(--color-border);gap:12px;margin-bottom:16px;padding:16px;display:grid}.vocabulary-current-student-control{gap:4px;min-width:0;display:grid}.vocabulary-current-student-control>span{color:var(--color-primary);letter-spacing:.04em;font-size:10px;font-weight:700}.vocabulary-current-student-control>div{align-items:center;gap:12px;min-width:0;display:flex}.vocabulary-current-student-control strong{min-width:0;color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap;font-size:20px;line-height:28px;overflow:hidden}.vocabulary-current-student-control strong i{color:var(--color-text-muted);font-style:normal;font-weight:400}.vocabulary-current-student-control .ant-btn{border-color:var(--color-primary);min-height:40px;color:var(--color-primary);flex:none}.vocabulary-current-student-control small{color:var(--color-text-secondary);font-size:10px}.vocabulary-capture-camera{width:100%;min-height:52px;font-size:16px;font-weight:700}.vocabulary-student-picker-drawer .ant-drawer-body{grid-template-rows:auto minmax(0,1fr);min-height:0;padding:12px 16px 16px;display:grid;overflow:hidden}.vocabulary-student-picker-tools{background:var(--color-surface);gap:10px;padding-bottom:12px;display:grid}.vocabulary-student-picker-tools>.ant-input-affix-wrapper{min-height:44px}.vocabulary-student-picker-tabs{border-bottom:1px solid var(--color-border);grid-template-columns:1fr 1fr;display:grid}.vocabulary-student-picker-tabs button{min-height:42px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;font-size:12px;font-weight:600}.vocabulary-student-picker-tabs button.is-active{border-bottom-color:var(--color-primary);color:var(--color-primary)}.vocabulary-student-picker-scroll-region{overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;padding-right:4px;overflow-y:auto}.vocabulary-student-picker-scroll-region>.ant-empty{margin-block:36px}.vocabulary-student-picker-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.vocabulary-student-picker-list li>button{border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:58px;color:var(--color-ink);text-align:left;cursor:pointer;border-radius:6px;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 12px;display:grid}.vocabulary-student-picker-list li>button:hover,.vocabulary-student-picker-list li>button.is-current{border-color:var(--color-primary);background:var(--color-primary-soft)}.vocabulary-student-picker-list li>button:disabled{cursor:default;opacity:.62}.vocabulary-student-picker-list b{color:var(--color-primary);font-size:15px}.vocabulary-student-picker-list span{gap:2px;min-width:0;display:grid}.vocabulary-student-picker-list strong,.vocabulary-student-picker-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vocabulary-student-picker-list strong{font-size:13px}.vocabulary-student-picker-list small{color:var(--color-text-secondary);font-size:10px}.vocabulary-student-picker-list .ant-tag{margin:0}.vocabulary-dictation-students button:disabled{cursor:default;opacity:.68}@media (max-width:1280px){.vocabulary-dictation-plan-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.vocabulary-dictation-workspace{grid-template-columns:230px minmax(0,1fr)}}@media (max-width:1050px){.vocabulary-dictation-header{flex-direction:column;align-items:stretch}.vocabulary-dictation-header .ant-space{justify-content:flex-start}.vocabulary-dictation-workspace{grid-template-columns:1fr}.vocabulary-dictation-students{max-height:none;position:static}.vocabulary-dictation-students ol{max-height:260px}.vocabulary-dictation-student-row{grid-template-columns:minmax(0,1fr) auto}}@media (max-width:760px){.vocabulary-dictation-header .ant-space{grid-template-columns:1fr 1fr;width:100%;display:grid}.vocabulary-dictation-header .ant-space .ant-select{grid-column:1/-1;width:100%!important}.vocabulary-dictation-quick-start{grid-template-columns:1fr;gap:12px;padding:12px}.vocabulary-dictation-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vocabulary-dictation-create-actions,.vocabulary-dictation-confirm,.vocabulary-dictation-finish{flex-direction:column;align-items:stretch}.vocabulary-dictation-create-actions .ant-btn,.vocabulary-dictation-confirm .ant-btn,.vocabulary-dictation-finish .ant-btn{width:100%}.vocabulary-dictation-create>.vocabulary-dictation-word-toolbar,.vocabulary-dictation-create>.table-wrap{margin-left:12px;margin-right:12px}.vocabulary-answer-capture{padding:16px}.vocabulary-answer-capture>.ant-btn{width:100%;min-width:0;min-height:48px}.vocabulary-word-table{min-width:640px}.vocabulary-dictation-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.vocabulary-dictation-stats .stat-item{min-height:82px}.vocabulary-dictation-students ol{scroll-snap-type:x proximity;max-height:none;display:flex;overflow-x:auto}.vocabulary-dictation-students li{border-right:1px solid var(--color-border);scroll-snap-align:start;min-width:164px;border-top:0!important}.vocabulary-dictation-students button{min-height:66px}.vocabulary-dictation-student-row{grid-template-columns:minmax(0,1fr) auto;gap:6px 8px;min-height:82px;padding:8px 10px 10px}.vocabulary-dictation-class-label{font-size:11px}.vocabulary-dictation-review-summary{grid-template-columns:minmax(112px,1.35fr) repeat(3,minmax(48px,.7fr));min-height:68px}.vocabulary-dictation-review-summary>div.score{padding:6px 10px}.vocabulary-dictation-review-summary>div strong{font-size:17px}.vocabulary-dictation-review-summary>div span{font-size:9px}.vocabulary-dictation-score-input .ant-input-number{width:42px}.vocabulary-dictation-score-input .ant-input-number-input{height:30px;font-size:24px}.vocabulary-dictation-score-input b{font-size:15px}.vocabulary-answer-card-review{padding:8px 10px}.vocabulary-answer-card-heading{min-height:26px}.vocabulary-answer-card-heading h3{font-size:13px;line-height:20px}.vocabulary-answer-card-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.vocabulary-answer-card-grid>button{gap:1px;min-height:52px;padding:3px 2px}.vocabulary-answer-card-grid .answer-card-order{font-size:11px}.vocabulary-answer-card-grid .answer-card-mark{font-size:17px}.vocabulary-answer-card-grid .answer-card-point{font-size:9px}.vocabulary-answer-card-selection{min-height:44px;padding-block:2px}.vocabulary-answer-card-hint{margin-top:6px;font-size:9px}.vocabulary-answer-card-answers{grid-template-columns:minmax(92px,.72fr) minmax(0,1.28fr);gap:8px}}@media (max-width:420px){.vocabulary-dictation-plan-grid{grid-template-columns:1fr}.vocabulary-dictation-student-row{grid-template-columns:minmax(0,1fr) auto;padding-inline:12px}.vocabulary-current-student-control>div{gap:8px}.vocabulary-current-student-control strong{font-size:17px}.vocabulary-dictation-student-row .ant-tag{padding-inline:5px;font-size:11px}.vocabulary-dictation-review-summary>div.score span{max-width:94px;line-height:1.25}.vocabulary-answer-card-review{padding-inline:8px}.vocabulary-answer-card-grid>button{min-height:48px}.vocabulary-answer-card-detail>.vocabulary-dictation-verdicts{flex-wrap:wrap}.vocabulary-answer-card-detail>.vocabulary-dictation-verdicts button{min-width:calc(50% - 1px)}.vocabulary-answer-card-detail>.vocabulary-dictation-verdicts button:last-child{border-top:0;border-left:1px solid var(--color-border);border-radius:0 0 6px 6px;min-width:100%}.vocabulary-dictation-create-actions,.vocabulary-dictation-finish{padding:12px}}.vocabulary-dictation-header{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 20px;margin-bottom:12px;display:grid}.vocabulary-model-settings-link{min-height:40px;color:var(--color-ink);border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:0 10px;font-size:13px;font-weight:600;display:inline-flex}.vocabulary-model-settings-link:hover{background:var(--color-row-hover);color:var(--color-primary)}.vocabulary-dictation-header-links{justify-content:flex-end;align-items:center;gap:4px;display:flex}.vocabulary-dictation-batch-tools{grid-column:1/-1;align-items:center;gap:8px;display:flex}.vocabulary-dictation-batch-tools .ant-select{width:min(420px,100% - 244px)}.vocabulary-dictation-compact-summary{gap:9px;margin-bottom:12px;padding:14px 16px;display:grid}.vocabulary-dictation-compact-summary>strong{align-items:center;gap:9px;font-size:14px;line-height:22px;display:flex}.vocabulary-dictation-compact-summary>strong>span,.vocabulary-dictation-compact-summary i{color:var(--color-text-muted);font-style:normal;font-weight:400}.vocabulary-dictation-compact-summary p{color:var(--color-text-secondary);align-items:center;gap:10px;margin:0;font-size:12px;display:flex}.vocabulary-dictation-compact-summary b{color:var(--color-ink);font-size:13px}.vocabulary-dictation-compact-summary b.is-warning{color:var(--color-warning)}.vocabulary-dictation-compact-summary b.is-success{color:var(--color-success)}.vocabulary-answer-capture{border:1px solid var(--color-border);gap:12px;margin-bottom:16px;padding:16px;display:grid}.vocabulary-answer-capture>.ant-btn{width:100%;min-width:0;min-height:52px;font-size:16px;font-weight:600}.vocabulary-dictation-processing-list{overflow:hidden}.vocabulary-dictation-processing-list ol{margin:0;padding:0;list-style:none}.vocabulary-dictation-processing-list li+li{border-top:1px solid var(--color-border)}.vocabulary-processing-row{background:var(--color-surface);grid-template-columns:minmax(0,1fr) auto;align-items:stretch;min-height:64px;display:grid}.vocabulary-processing-open{min-width:0;color:var(--color-ink);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:34px minmax(0,1fr) auto 20px;align-items:center;gap:10px;padding:9px 8px 9px 14px;display:grid}.vocabulary-processing-open:hover{background:var(--color-row-hover)}.vocabulary-processing-sequence{border:1px solid var(--color-border);width:28px;height:28px;color:var(--color-primary);border-radius:50%;place-items:center;font-size:11px;display:grid}.vocabulary-processing-main{gap:6px;min-width:0;display:grid}.vocabulary-processing-main strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.vocabulary-processing-main small{color:var(--color-text-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:400;overflow:hidden}.vocabulary-processing-status{color:var(--color-text-secondary);white-space:nowrap;font-size:12px}.vocabulary-processing-status.is-processing,.vocabulary-processing-status.is-queued{color:var(--color-primary)}.vocabulary-processing-status.is-review_required{color:var(--color-warning)}.vocabulary-processing-status.is-reviewed{color:var(--color-success)}.vocabulary-processing-status.is-failed{color:var(--color-danger)}.vocabulary-processing-open>.anticon{color:var(--color-text-muted)}.vocabulary-processing-delete{align-self:center;min-width:72px;min-height:40px;margin-right:8px}.vocabulary-dictation-processing-list>.ant-empty{margin:0;padding:28px 16px}.vocabulary-processing-more{border:0;border-top:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:44px;color:var(--color-text-secondary);cursor:pointer;justify-content:center;align-items:center;gap:10px;padding:0 16px;font-size:12px;display:flex}.vocabulary-processing-more:hover{background:var(--color-row-hover);color:var(--color-primary)}.vocabulary-submission-metadata{border-bottom:1px solid var(--color-border);background:var(--color-canvas);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.vocabulary-submission-metadata>div{border-right:1px solid var(--color-border);gap:4px;min-width:0;padding:10px 12px;display:grid}.vocabulary-submission-metadata>div:last-child{border-right:0}.vocabulary-submission-metadata dt{color:var(--color-text-secondary);font-size:9px}.vocabulary-submission-metadata dd{color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:11px;font-weight:600;overflow:hidden}.vocabulary-dictation-record-action{justify-content:flex-end;margin-top:12px;display:flex}.vocabulary-dictation-detail-drawer .ant-drawer-content-wrapper{max-width:100vw}.vocabulary-dictation-detail-drawer .ant-drawer-header{min-height:60px;padding-block:10px}.vocabulary-dictation-confirm-action{min-width:64px;min-height:40px;padding-inline:8px;font-size:15px;font-weight:600}.vocabulary-dictation-delete-action{min-width:64px;min-height:40px;padding-inline:8px}.vocabulary-dictation-confirm-action:not(:disabled){font-weight:600;color:var(--color-primary)!important}.vocabulary-dictation-confirm-action:not(:disabled):hover{color:var(--color-primary-hover)!important;background:var(--color-primary-soft)!important}.vocabulary-dictation-detail-drawer .ant-drawer-body{background:var(--color-canvas);padding:16px}.vocabulary-dictation-detail-drawer .vocabulary-dictation-detail{border:1px solid var(--color-border)}@media (max-width:760px){.vocabulary-dictation-detail-drawer .ant-drawer-header{min-height:52px;padding-block:6px}.vocabulary-dictation-detail-drawer .ant-drawer-body{padding:8px}}.vocabulary-history-page{padding-top:16px}.vocabulary-history-header{grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:52px;margin-bottom:12px;display:grid}.vocabulary-history-header>a:first-child{width:40px;height:40px;color:var(--color-ink);border-radius:6px;place-items:center;font-size:18px;display:grid}.vocabulary-history-header>a:first-child:hover{background:var(--color-row-hover);color:var(--color-primary)}.vocabulary-history-header>div{min-width:0}.vocabulary-history-header h1{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:20px;line-height:28px;overflow:hidden}.vocabulary-history-header p{color:var(--color-text-secondary);margin:2px 0 0;font-size:11px;line-height:18px}.vocabulary-history-list{overflow:hidden}.vocabulary-history-list>.ant-empty{margin:0;padding:44px 16px}.vocabulary-history-list ol,.vocabulary-history-students ol,.vocabulary-history-pending ul{margin:0;padding:0;list-style:none}.vocabulary-history-list li{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:68px;display:grid}.vocabulary-history-list li:last-child{border-bottom:0}.vocabulary-history-record-link{grid-template-columns:minmax(180px,1.3fr) minmax(150px,.7fr) 72px 18px;align-items:center;gap:12px;min-width:0;min-height:68px;padding:8px 14px 8px 16px;display:grid}.vocabulary-history-record-link:hover{background:var(--color-row-hover)}.vocabulary-history-list li>.ant-btn{width:44px;height:44px;margin-right:8px}.vocabulary-history-row-export{width:44px;height:44px;color:var(--color-primary);border-radius:6px;place-items:center;margin-right:8px;font-size:18px;display:grid}.vocabulary-history-row-export:hover{background:var(--color-primary-soft);color:var(--color-primary-hover)}.vocabulary-history-row-action-placeholder{width:44px;height:44px;margin-right:8px}.vocabulary-history-main{gap:4px;min-width:0;display:grid}.vocabulary-history-main strong,.vocabulary-history-main small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vocabulary-history-main strong{font-size:13px}.vocabulary-history-main small,.vocabulary-history-counts{color:var(--color-text-secondary);font-size:11px}.vocabulary-history-status{white-space:nowrap;font-size:12px;font-weight:600}.vocabulary-history-status.is-collecting,.vocabulary-history-status.is-processing{color:var(--color-primary)}.vocabulary-history-status.is-review,.vocabulary-history-status.is-ready{color:var(--color-warning)}.vocabulary-history-status.is-completed{color:var(--color-success)}.vocabulary-history-record-link>.anticon{color:var(--color-text-muted)}.vocabulary-history-export{border:1px solid var(--color-border);background:var(--color-surface);min-height:40px;color:var(--color-ink);border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:13px;font-weight:600;display:inline-flex}.vocabulary-history-export:hover{border-color:var(--color-primary);color:var(--color-primary)}.vocabulary-history-overview{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:12px;display:grid}.vocabulary-history-overview>div{align-content:center;gap:5px;min-width:0;min-height:76px;padding:12px 16px;display:grid}.vocabulary-history-overview>div+div{border-left:1px solid var(--color-border)}.vocabulary-history-overview span{color:var(--color-text-secondary);font-size:11px}.vocabulary-history-overview strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.vocabulary-history-preview-section+.vocabulary-history-preview-section{margin-top:12px}.vocabulary-history-word-table td:first-child,.vocabulary-history-word-table th:first-child{text-align:center;width:76px}.vocabulary-history-students>ol>li+li{border-top:1px solid var(--color-border)}.vocabulary-history-students details>summary,.vocabulary-history-student-empty{grid-template-columns:minmax(0,1fr) 70px 86px 18px;align-items:center;gap:12px;min-height:64px;padding:8px 14px 8px 16px;list-style:none;display:grid}.vocabulary-history-students details>summary{cursor:pointer}.vocabulary-history-students details>summary::-webkit-details-marker{display:none}.vocabulary-history-students details>summary:hover{background:var(--color-row-hover)}.vocabulary-history-students details>summary>span:first-child,.vocabulary-history-student-empty>span{gap:4px;min-width:0;display:grid}.vocabulary-history-students details>summary strong,.vocabulary-history-student-empty strong{font-size:13px}.vocabulary-history-students details>summary small,.vocabulary-history-student-empty small{color:var(--color-text-secondary);font-size:10px}.vocabulary-history-students details>summary>b,.vocabulary-history-student-empty>b{text-align:right;font-size:13px}.vocabulary-history-students details>summary>span.is-success{color:var(--color-success);white-space:nowrap;font-size:11px}.vocabulary-history-students details>summary>span.is-success .anticon{margin-right:4px}.vocabulary-history-students details>summary>.anticon{color:var(--color-text-muted);transition:transform .12s}.vocabulary-history-students details[open]>summary>.anticon{transform:rotate(90deg)}.vocabulary-history-student-empty{grid-template-columns:minmax(0,1fr) auto}.vocabulary-history-student-empty>b{color:var(--color-text-muted);font-weight:500}.vocabulary-history-result-table{border-top:1px solid var(--color-border)}.vocabulary-history-result-table .is-correct{color:var(--color-success)}.vocabulary-history-result-table .is-wrong{color:var(--color-danger)}.vocabulary-history-pending li{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:16px;min-height:48px;padding:8px 16px;font-size:12px;display:flex}.vocabulary-history-pending li:first-child{border-top:0}.vocabulary-history-pending b{color:var(--color-warning);font-weight:600}.vocabulary-dictation-settings-page{padding-top:16px}.vocabulary-settings-header{grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;min-height:48px;margin-bottom:12px;display:grid}.vocabulary-settings-header>a{width:40px;height:40px;color:var(--color-ink);border-radius:6px;place-items:center;font-size:18px;display:grid}.vocabulary-settings-header>a:hover{background:var(--color-row-hover);color:var(--color-primary)}.vocabulary-settings-header h1{text-align:center;margin:0;font-size:20px}.vocabulary-settings-loading,.vocabulary-settings-content{width:min(100%,760px);margin:0 auto}.vocabulary-settings-content{gap:20px;padding-bottom:76px;display:grid}.vocabulary-settings-section{background:var(--color-surface);border:1px solid var(--color-border)}.vocabulary-settings-section-heading{border-bottom:1px solid var(--color-border);gap:2px;padding:12px 16px;display:grid}.vocabulary-settings-section-heading h2{margin:0;font-size:16px;line-height:24px}.vocabulary-settings-section-heading p{color:var(--color-text-secondary);margin:0;font-size:11px;line-height:18px}.vocabulary-model-order-list{gap:8px;margin:0;padding:12px;list-style:none;display:grid}.vocabulary-model-order-list>li{border:1px solid var(--color-border);background:var(--color-surface);grid-template-columns:20px 28px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:72px;padding:8px 10px;display:grid}.vocabulary-model-drag-handle{color:var(--color-text-muted)}.vocabulary-model-order-list>li>b{font-size:18px;font-weight:500}.vocabulary-model-order-list>li>div:nth-child(3){align-items:center;gap:6px;min-width:0;display:flex}.vocabulary-model-order-list strong{flex:none;font-size:13px}.vocabulary-model-order-list span:not(.anticon){min-width:0;color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.vocabulary-model-order-list .ant-select{width:min(100%,260px)}.vocabulary-model-order-list .ant-tag{margin:0}.vocabulary-model-order-actions{gap:6px;display:flex}.vocabulary-model-order-actions .ant-btn{width:40px;height:40px;padding:0}.vocabulary-concurrency-settings{display:grid}.vocabulary-concurrency-settings>label{justify-content:space-between;align-items:center;gap:20px;min-height:64px;padding:10px 16px;display:flex}.vocabulary-concurrency-settings>label+label{border-top:1px solid var(--color-border)}.vocabulary-concurrency-settings>label>span{gap:2px;display:grid}.vocabulary-concurrency-settings strong{font-size:13px}.vocabulary-concurrency-settings small{color:var(--color-text-secondary);font-size:10px}.vocabulary-concurrency-settings .ant-input-number{width:112px}.vocabulary-settings-save{z-index:10;pointer-events:none;justify-content:center;display:flex;position:fixed;bottom:16px;left:248px;right:24px}.vocabulary-settings-save .ant-btn{pointer-events:auto;width:min(100%,760px);min-height:48px}@media (max-width:1199px){.vocabulary-settings-save{left:16px;right:16px}}@media (max-width:760px){.vocabulary-dictation-header{grid-template-columns:minmax(0,1fr) auto;align-items:center}.vocabulary-dictation-header .page-title .eyebrow{display:none}.vocabulary-dictation-batch-tools{grid-template-columns:minmax(0,1fr) auto auto;display:grid}.vocabulary-dictation-batch-tools .ant-select{grid-column:auto!important;width:100%!important}.vocabulary-dictation-compact-summary{padding:12px 14px}.vocabulary-answer-capture{gap:12px;padding:14px}.vocabulary-student-picker-tools{grid-template-columns:1fr}.vocabulary-student-picker-tabs{grid-column:1}.vocabulary-student-picker-list{grid-template-columns:1fr}.vocabulary-processing-open{grid-template-columns:30px minmax(0,1fr) auto 14px;gap:7px;padding-left:10px}.vocabulary-processing-delete{min-width:54px;margin-right:4px;padding-inline:6px}.vocabulary-submission-metadata{grid-template-columns:repeat(2,minmax(0,1fr))}.vocabulary-submission-metadata>div:nth-child(2){border-right:0}.vocabulary-submission-metadata>div:nth-child(-n+2){border-bottom:1px solid var(--color-border)}.vocabulary-dictation-record-action .ant-btn{width:100%}.vocabulary-dictation-detail-drawer .ant-drawer-content-wrapper{width:100vw!important}.vocabulary-dictation-detail-drawer .ant-drawer-body{background:var(--color-surface);padding:0}.vocabulary-dictation-detail-drawer .vocabulary-dictation-detail{border:0}.vocabulary-settings-content{gap:12px}.vocabulary-model-order-list>li{grid-template-columns:18px 24px minmax(0,1fr) auto;gap:7px;padding-inline:8px}.vocabulary-model-order-list>li>div:nth-child(3){flex-direction:column;align-items:flex-start;gap:2px}.vocabulary-model-order-list .ant-select{width:100%}.vocabulary-model-order-actions{gap:3px}.vocabulary-model-order-actions .ant-btn{width:40px}.vocabulary-history-header{gap:8px}.vocabulary-history-header p{display:none}.vocabulary-history-record-link{grid-template-columns:minmax(0,1fr) auto 16px;gap:8px;padding-inline:12px}.vocabulary-history-counts{grid-column:1/2}.vocabulary-history-status{grid-area:1/2/3/3}.vocabulary-history-record-link>.anticon{grid-area:1/3/3/4}.vocabulary-history-list li>.ant-btn,.vocabulary-history-row-export,.vocabulary-history-row-action-placeholder{margin-right:4px}.vocabulary-history-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.vocabulary-history-overview>div+div{border-left:0}.vocabulary-history-overview>div:nth-child(2n){border-left:1px solid var(--color-border)}.vocabulary-history-overview>div:nth-child(n+3){border-top:1px solid var(--color-border)}.vocabulary-history-overview>div:last-child{border-left:0;grid-column:1/-1}.vocabulary-history-students details>summary{grid-template-columns:minmax(0,1fr) 56px 16px;gap:8px;padding-inline:12px}.vocabulary-history-students details>summary>span.is-success{grid-area:2/1/auto/3}.vocabulary-history-students details>summary>.anticon{grid-area:1/3/3}.vocabulary-history-result-table{min-width:520px}}@media (max-width:1199px){.header-account-menu{margin-left:0}.header-account-menu summary{padding:0}.header-account-copy,.header-account-arrow{display:none}.header-account-popover{right:0}.account-settings-page{grid-template-columns:minmax(0,1fr)}.account-current-session,.account-login-methods,.account-wechat-flow,.account-sign-out{grid-area:auto/1}.identity-system-owner-row{grid-template-columns:40px minmax(180px,1fr) auto auto}.identity-system-owner-row>small{grid-column:2/-1}}@media (max-width:760px){.identity-management-header{flex-direction:column;align-items:stretch}.identity-management-header .secondary-link{width:100%}.identity-management-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.identity-management-stats .stat-item+.stat-item{border-left:0}.identity-management-stats .stat-item:nth-child(2n){border-left:1px solid var(--color-border)}.identity-management-stats .stat-item:nth-child(n+3){border-top:1px solid var(--color-border)}.identity-system-owner-row{grid-template-columns:40px minmax(0,1fr) auto;gap:10px}.identity-system-owner-row>.status-chip:nth-of-type(2){grid-area:1/3}.identity-system-owner-row>.status-chip:first-of-type{grid-column:2;width:max-content}.identity-system-owner-row>small{grid-column:2/-1}.identity-tabs{gap:16px;overflow-x:auto}.identity-tabs a{flex:none}.account-current-session-body{grid-template-columns:48px minmax(0,1fr);gap:12px;padding:16px}.account-large-avatar{width:48px;height:48px}.account-current-session dl{grid-column:1/-1}.account-method-row{grid-template-columns:36px minmax(0,1fr)}.account-method-row>.status-chip{grid-column:2}.account-sign-out{flex-direction:column;align-items:stretch}.account-sign-out button{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.submission-account-link,.submission-student-summary{border-bottom:1px solid var(--color-border);overflow-wrap:anywhere;padding:16px 20px}.submission-account-link p,.submission-student-summary p{color:var(--color-text-secondary);margin:8px 0}.submission-account-link .ant-select{min-width:240px;max-width:100%}.student-submission-list>.ant-select{width:calc(100% - 24px);margin:8px 12px}.submission-review-fieldset{border:0;min-width:0;margin:0;padding:0}.submission-draft-actions{padding:12px 20px}.submission-review-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.submission-review-grid .ant-select{width:100%;min-width:0}.submission-review-items>li>header button{min-height:40px}.submission-student-summary summary{cursor:pointer;min-height:40px;color:var(--color-primary)}@media (max-width:1100px){.submission-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.submission-review-grid{grid-template-columns:minmax(0,1fr)}.submission-account-link .ant-select{width:100%;min-width:0}}.submission-upload-form{gap:16px;display:grid}.submission-upload-form label{gap:8px;display:grid}.submission-upload-form .ant-select{width:100%}.submission-upload-form input[type=file]{max-width:100%;min-height:40px}.student-submission-list li>.submission-delete-button{width:auto;min-height:40px;color:var(--color-danger);margin:0 12px 8px;padding:8px 12px;display:inline-flex}.student-submission-list li>.submission-delete-button:disabled{color:var(--color-text-muted);cursor:not-allowed}.student-submission-header .ant-btn,.submission-upload-form .ant-select,.submission-draft-actions .ant-btn{min-height:40px}.checkin-console .page-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.checkin-console h1{font-size:20px}.checkin-console .page-heading p{color:var(--color-text-secondary);font-size:14px}.checkin-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin:20px 0;display:flex}.checkin-toolbar input,.checkin-form input[type=date],.checkin-form input[type=time]{border:1px solid var(--color-border);background:var(--color-surface);min-height:40px;color:var(--color-ink);border-radius:6px;padding:8px 12px}.checkin-task-row{border-top:1px solid var(--color-border);align-items:center;gap:20px;padding:24px 0;display:flex}.checkin-task-row>div{flex:1;min-width:0}.checkin-task-row h2{overflow-wrap:anywhere;margin:4px 0;font-size:16px}.checkin-task-row p,.checkin-task-row small,.checkin-task-row span{color:var(--color-text-secondary);font-size:12px}.checkin-task-row .checkin-type-icon{color:var(--color-primary);font-size:24px}.checkin-empty{text-align:center;color:var(--color-text-secondary);padding:64px 24px}.checkin-error{color:var(--color-danger);border-left:3px solid var(--color-danger);padding:12px}.checkin-form{gap:20px;display:grid}.checkin-form>label,.checkin-two>label,.checkin-words>label{gap:8px;display:grid}.checkin-two{grid-template-columns:1fr 1fr;gap:16px;display:grid}.checkin-form small{color:var(--color-text-secondary)}.checkin-students{grid-template-columns:repeat(3,1fr);gap:12px;display:grid!important}.checkin-students label{align-items:center;min-height:40px}.checkin-member-list>div,.checkin-binding-row{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;padding:16px 0;display:flex}.checkin-member-list small{color:var(--color-text-secondary);margin-top:4px;display:block}.checkin-words{grid-template-columns:1fr 1fr;gap:16px;display:grid}.checkin-report-text{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.8}@media (max-width:600px){.checkin-students,.checkin-two,.checkin-words{grid-template-columns:1fr}.checkin-task-row{gap:12px}.checkin-task-row>button{align-self:flex-end}.checkin-console .page-heading{align-items:flex-start}.checkin-console .page-heading button{flex-shrink:0}}.checkin-binding-row small{color:var(--color-text-secondary);margin-top:4px;display:block}.checkin-more{margin-left:auto;position:relative}.checkin-more summary{cursor:pointer;min-height:40px;padding:8px 12px}.checkin-more>div{flex-wrap:wrap;align-items:center;gap:8px;padding:12px 0;display:flex}.checkin-console details>summary,.checkin-form details>summary{cursor:pointer;overflow-wrap:anywhere;min-height:40px}.checkin-form details p,.checkin-form details li{overflow-wrap:anywhere}.checkin-form .ant-select{width:100%;min-width:0}.checkin-form>label{min-width:0}.checkin-binding-row>span{overflow-wrap:anywhere;min-width:0}.checkin-binding-row{flex-wrap:wrap}@media (max-width:600px){.checkin-task-row{flex-wrap:wrap}.checkin-task-row>button{margin-left:auto}.checkin-console .page-heading{gap:8px}.checkin-more[open]{width:100%}.checkin-students{grid-template-columns:repeat(2,minmax(0,1fr))}}.app-shell:has(.checkin-console) .sidebar-capacity{display:none}.app-shell:has(.checkin-console) .header-status-copy{display:none}.app-shell:has(.checkin-console) .header-status-short{display:none}.app-shell:has(.checkin-console) .header-actions>.status-dot{display:none}.checkin-console .ant-btn{min-height:40px}.checkin-task-row{padding:16px 0}.checkin-task-row .checkin-type-icon .anticon{font-size:20px}.checkin-console .checkin-page-heading{align-items:center;margin-bottom:8px}.checkin-console .checkin-page-heading h1{margin:0;font-size:24px;line-height:32px}.checkin-console .checkin-page-heading p{margin:4px 0 0}.checkin-scope-tabs{border-bottom:1px solid var(--color-border);gap:28px;min-height:48px;display:flex}.checkin-scope-tabs button{min-width:76px;min-height:48px;color:var(--color-text-secondary);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 4px;font-weight:600;position:relative}.checkin-scope-tabs button[aria-selected=true]{color:var(--color-primary)}.checkin-scope-tabs button[aria-selected=true]:after{background:var(--color-primary);content:"";border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:-1px;left:18px;right:18px}.checkin-list-toolbar{align-items:center;gap:12px;min-height:64px;display:flex}.checkin-date-picker{align-items:center;min-height:40px;display:inline-grid;position:relative}.checkin-date-copy{color:var(--color-ink);pointer-events:none;font-size:18px;font-weight:600;line-height:28px}.checkin-date-picker input{opacity:0;cursor:pointer;width:100%;min-width:0;position:absolute;inset:0}.checkin-list-toolbar>small{color:var(--color-text-muted);font-size:12px}.checkin-list-toolbar .checkin-more{margin-left:auto}.checkin-list-toolbar .checkin-more summary{width:40px;height:40px;color:var(--color-text-secondary);border-radius:6px;place-items:center;padding:0;list-style:none;display:grid}.checkin-list-toolbar .checkin-more summary::-webkit-details-marker{display:none}.checkin-list-toolbar .checkin-more[open]>div{z-index:20;border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;min-width:184px;padding:8px;display:grid;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #1720331a}.checkin-list-toolbar .checkin-more>div .ant-btn,.checkin-list-toolbar .checkin-more>div a{min-height:40px;color:var(--color-ink);text-align:left;justify-content:flex-start;align-items:center;padding:8px 12px;display:flex}.checkin-list-loading{min-height:152px;color:var(--color-text-secondary);text-align:center;padding:48px 16px}.checkin-console .checkin-task-list{gap:12px;display:grid}.checkin-console .checkin-task-row{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;grid-template-columns:minmax(0,1fr) 40px;align-items:start;gap:0;padding:0;display:grid;overflow:hidden;box-shadow:0 2px 8px #1720330a}.checkin-console .checkin-task-row:last-child{border-bottom:1px solid var(--color-border)}.checkin-task-open{width:100%;min-width:0;color:var(--color-ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:40px minmax(0,1fr);align-self:stretch;gap:12px;padding:18px 8px 18px 16px;display:grid}.checkin-task-open:hover,.checkin-task-open:focus-visible{background:var(--color-row-hover)}.checkin-task-row:has(.checkin-task-more:hover){background:var(--color-row-hover)}.checkin-task-open:focus-visible,.checkin-scope-tabs button:focus-visible,.checkin-list-toolbar .checkin-more summary:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.checkin-console .checkin-type-icon{background:var(--color-primary-soft);width:40px;height:40px;color:var(--color-primary);border-radius:6px;place-items:center;display:grid}.checkin-task-copy{min-width:0;display:block}.checkin-task-kicker{align-items:center;gap:8px;min-height:24px;display:flex}.checkin-task-kicker small{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;line-height:18px;overflow:hidden}.checkin-task-state{background:var(--color-primary-soft);color:var(--color-primary);border-radius:4px;flex:none;padding:2px 8px;font-size:12px;font-weight:600;line-height:20px}.checkin-task-state.is-已完成{color:var(--color-success);background:#ecfdf3}.checkin-task-state.is-待提交{color:var(--color-warning);background:#fff7ed}.checkin-task-state.is-已撤回{background:var(--color-canvas);color:var(--color-text-secondary)}.checkin-console .checkin-task-row h2{color:var(--color-ink);margin:4px 0 2px;font-size:16px;font-weight:650;line-height:24px}.checkin-task-meta{color:var(--color-text-secondary);font-size:12px;line-height:20px;display:block}.checkin-task-metrics{border-top:1px solid var(--color-border);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:12px;padding-top:12px;display:grid}.checkin-task-metrics>span{min-width:0;color:var(--color-text-secondary);text-align:center;gap:2px;font-size:12px;line-height:18px;display:grid}.checkin-task-metrics>span+span{border-left:1px solid var(--color-border)}.checkin-task-metrics strong{color:var(--color-ink);font-size:18px;font-weight:650;line-height:24px}.checkin-task-metrics>span:last-child strong{color:var(--color-success)}.checkin-task-row.is-待提交 .checkin-task-metrics>span:last-child strong{color:var(--color-warning)}.checkin-notification-summary{border-block:1px solid var(--color-border)}.checkin-notification-summary summary{cursor:pointer;min-height:40px;padding:8px 0}.checkin-notification-summary p{color:var(--color-text-secondary)}.checkin-task-more.ant-btn{width:40px;min-width:40px;height:40px;color:var(--color-text-secondary);margin-top:14px;padding:0}@media (max-width:600px){.checkin-console .checkin-page-heading{gap:12px}.checkin-console .checkin-page-heading h1{font-size:24px}.checkin-console .checkin-page-heading p{max-width:190px;font-size:12px;line-height:18px}.checkin-console .checkin-page-heading .ant-btn{padding-inline:14px}.checkin-task-open{grid-template-columns:36px minmax(0,1fr);gap:10px;padding:16px 4px 16px 12px}.checkin-console .checkin-type-icon{width:36px;height:36px}.checkin-task-metrics{margin-top:10px;padding-top:10px}}.checkin-publish-drawer.ant-drawer .ant-drawer-body,.checkin-student-picker.ant-drawer .ant-drawer-body{padding:16px}.checkin-publish-form,.checkin-publish-form .checkin-form{gap:12px}.checkin-publish-form .checkin-two{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.checkin-publish-form .checkin-publish-title-row{grid-template-columns:minmax(0,140px) minmax(0,1fr)}.checkin-publish-form label,.checkin-publish-student-field{gap:4px;min-width:0;display:grid}.checkin-publish-form .ant-select,.checkin-publish-form .ant-input-number,.checkin-student-filters .ant-select{width:100%;min-width:0}.checkin-publish-form .ant-select,.checkin-publish-form .ant-input,.checkin-publish-form .ant-input-number,.checkin-student-filters .ant-input-affix-wrapper,.checkin-student-filters .ant-select,.checkin-publish-form .ant-btn{min-height:40px}.checkin-publish-form input[type=date],.checkin-publish-form input[type=time]{box-sizing:border-box;width:100%;min-width:0}.checkin-publish-form .ant-input-number-input{height:38px}.checkin-publish-extra{border-top:1px solid var(--color-border)}.checkin-publish-extra>summary{box-sizing:border-box;min-height:40px;color:var(--color-text-secondary);padding:8px 0;display:list-item}.checkin-publish-extra>.checkin-form{padding:8px 0}.checkin-publish-form .ant-checkbox-wrapper{align-items:center;min-height:40px}.checkin-publish-footer{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.checkin-publish-footer .ant-btn{min-height:40px}.checkin-publish-footer .checkin-error{width:100%;margin:0;padding:4px 8px}.checkin-publish-footer>span{color:var(--color-text-secondary);margin-right:auto}.checkin-student-filters{grid-template-columns:minmax(0,1fr) minmax(0,160px);gap:12px;margin-bottom:16px;display:grid}.checkin-student-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;display:grid}.checkin-student-options .ant-checkbox-wrapper{border-bottom:1px solid var(--color-border);align-items:center;min-width:0;min-height:48px;margin:0;padding:8px 0;display:flex}.checkin-student-options .ant-checkbox-wrapper>span:last-child{overflow-wrap:anywhere;min-width:0}.checkin-student-options small{color:var(--color-text-secondary);font-size:12px;display:block}.checkin-student-empty{color:var(--color-text-secondary)}.checkin-publish-options.ant-select-dropdown .ant-select-item-option{align-items:center;min-height:40px}.checkin-publish-knowledge-field{gap:4px;min-width:0;display:grid}.checkin-publish-knowledge-button.ant-btn{text-align:left;justify-content:space-between;align-items:center;width:100%;padding-inline:12px;display:flex}.checkin-publish-knowledge-button>span{width:100%;color:var(--color-text-secondary);justify-content:space-between;align-items:center;display:flex}.checkin-publish-knowledge-button strong{color:var(--color-primary);font-size:18px}.checkin-publish-knowledge-summary{flex-wrap:wrap;gap:6px;display:flex}.checkin-publish-knowledge-summary>span{border:1px solid var(--color-border);background:var(--color-primary-soft);max-width:100%;color:var(--color-ink);overflow-wrap:anywhere;border-radius:6px;padding:4px 8px;font-size:12px}.checkin-publish-knowledge-summary>small{align-self:center}.checkin-knowledge-picker.ant-drawer .ant-drawer-body{background:var(--color-canvas);padding:0}.checkin-knowledge-picker.ant-drawer .ant-drawer-footer{padding:12px 16px max(12px, env(safe-area-inset-bottom))}.checkin-knowledge-picker-content{gap:12px;padding:16px;display:grid}.checkin-knowledge-picker-content>.ant-select,.checkin-knowledge-picker-content>.ant-input-affix-wrapper{width:100%;min-height:48px}.checkin-knowledge-unit-tabs{scrollbar-width:none;gap:4px;margin-inline:-16px;padding-inline:16px;display:flex;overflow-x:auto}.checkin-knowledge-unit-tabs::-webkit-scrollbar{display:none}.checkin-knowledge-unit-tabs button{min-width:68px;min-height:44px;color:var(--color-text-secondary);font:inherit;cursor:pointer;background:0 0;border:0;flex:none;padding:0 10px;position:relative}.checkin-knowledge-unit-tabs button[aria-selected=true]{color:var(--color-primary);font-weight:700}.checkin-knowledge-unit-tabs button[aria-selected=true]:after{background:var(--color-primary);content:"";border-radius:3px;height:3px;position:absolute;bottom:0;left:10px;right:10px}.checkin-knowledge-groups{border:1px solid var(--color-border);background:var(--color-surface);border-radius:6px;overflow:hidden}.checkin-knowledge-group+.checkin-knowledge-group{border-top:8px solid var(--color-canvas)}.checkin-knowledge-group-heading{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:48px;display:grid}.checkin-knowledge-group-heading>button{cursor:pointer;background:0 0;border:0;min-height:44px}.checkin-knowledge-group-heading>button:first-child{min-width:0;color:var(--color-ink);text-align:left;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:8px;padding:0 10px;display:grid}.checkin-knowledge-group-heading>button:first-child span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.checkin-knowledge-group-heading>button:first-child small{color:var(--color-text-secondary)}.checkin-knowledge-group-heading>button:last-child{color:var(--color-primary);padding-inline:10px;font-weight:600}.checkin-knowledge-points>button{border:0;border-bottom:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:56px;color:var(--color-ink);text-align:left;cursor:pointer;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:10px;padding:7px 12px;display:grid}.checkin-knowledge-points>button:last-child{border-bottom:0}.checkin-knowledge-points>button[data-selected=true]{background:var(--color-primary-soft)}.checkin-knowledge-points>button:disabled{cursor:not-allowed;opacity:.55}.checkin-knowledge-checkbox{border:1px solid var(--color-text-tertiary);background:var(--color-surface);width:24px;height:24px;color:var(--color-surface);border-radius:5px;place-items:center;display:grid}.checkin-knowledge-points>button[data-selected=true] .checkin-knowledge-checkbox{border-color:var(--color-primary);background:var(--color-primary)}.checkin-knowledge-points>button>span:last-child{gap:2px;min-width:0;display:grid}.checkin-knowledge-points strong{overflow-wrap:anywhere;line-height:22px}.checkin-knowledge-points small{color:var(--color-text-secondary);line-height:18px}.checkin-knowledge-empty{color:var(--color-text-secondary);text-align:center;padding:48px 20px}.checkin-knowledge-picker-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.checkin-knowledge-picker-footer span{color:var(--color-text-secondary)}.checkin-knowledge-picker-footer strong{color:var(--color-primary);font-size:19px}.checkin-knowledge-picker-footer .ant-btn{min-height:44px}@media (max-width:600px){.checkin-publish-form .checkin-publish-title-row{grid-template-columns:minmax(0,128px) minmax(0,1fr)}.checkin-publish-drawer.ant-drawer .ant-drawer-header,.checkin-student-picker.ant-drawer .ant-drawer-header{padding:12px 16px}.checkin-publish-drawer.ant-drawer .ant-drawer-close,.checkin-student-picker.ant-drawer .ant-drawer-close{width:40px;height:40px;margin-inline-end:8px}.checkin-publish-drawer.ant-drawer .ant-drawer-footer,.checkin-student-picker.ant-drawer .ant-drawer-footer{padding:12px 16px max(12px, env(safe-area-inset-bottom))}.checkin-publish-drawer .checkin-publish-footer>.ant-btn{width:100%}.checkin-student-filters{grid-template-columns:minmax(0,1fr);gap:8px}.checkin-knowledge-picker.ant-drawer .ant-drawer-content-wrapper{width:100vw!important;max-width:100vw!important}.checkin-knowledge-picker.ant-drawer .ant-drawer-header{min-height:56px;padding:8px 16px}.checkin-knowledge-picker.ant-drawer .ant-drawer-close{width:40px;height:40px;margin-inline-end:8px}.checkin-knowledge-picker-content{padding:12px 16px 24px}}.checkin-report-drawer .ant-drawer-body{padding:16px}.checkin-report-drawer .ant-drawer-footer .ant-btn{min-height:40px}.checkin-report-recipients{border-block:1px solid var(--color-border);margin-block:16px}.checkin-report-recipients>div{border-bottom:1px solid var(--color-border);align-items:center;gap:12px;display:flex}.checkin-report-recipients .ant-checkbox-wrapper{place-items:center;min-width:40px;min-height:40px;display:grid}.checkin-report-recipients button{background:var(--color-surface);min-height:40px;color:var(--color-ink);text-align:left;cursor:pointer;border:0;flex:1;padding:12px}.checkin-report-recipients button.active{background:var(--color-primary-soft)}.checkin-report-recipients small{color:var(--color-text-secondary);margin-top:4px;display:block}.checkin-report-preview h2{overflow-wrap:anywhere;font-size:16px}.checkin-report-metrics{border-block:1px solid var(--color-border);flex-wrap:wrap;gap:16px;padding-block:16px;display:flex}.checkin-report-metrics span{color:var(--color-text-secondary)}.checkin-report-metrics strong{color:var(--color-ink);font-size:20px;display:block}.checkin-report-preview p,.checkin-correction-report p{overflow-wrap:anywhere;white-space:pre-wrap}.checkin-report-preview summary{cursor:pointer;min-height:40px;padding-block:8px}.checkin-report-preview li{border-bottom:1px solid var(--color-border);padding-block:12px}.checkin-knowledge-preview{border:1px solid var(--color-border);background:var(--color-surface);margin-block:16px;padding:16px}.checkin-knowledge-preview h3{margin:0 0 12px;font-size:15px}.checkin-knowledge-root{background:var(--color-primary-soft);border-left:3px solid var(--color-primary);padding:10px 12px;font-weight:700}.checkin-knowledge-branches{border-left:2px solid var(--color-border);gap:8px;margin:12px 0 16px 16px;padding-left:12px;display:grid}.checkin-knowledge-branches>div{border:1px solid var(--color-success);color:var(--color-success);border-left-width:4px;justify-content:space-between;gap:12px;padding:10px 12px;display:flex}.checkin-knowledge-branches>div.wrong{border-color:var(--color-danger);color:var(--color-danger)}.checkin-knowledge-branches span{font-size:12px}.checkin-knowledge-preview section{border-top:1px solid var(--color-border);padding-top:16px}.checkin-knowledge-preview article{border-top:1px solid var(--color-border);padding:10px 0}@media (max-width:600px){.checkin-knowledge-branches>div{flex-direction:column;gap:4px}}.student-identity{vertical-align:middle;align-items:center;gap:8px;min-width:0;max-width:100%;display:inline-flex}.student-identity .student-avatar{background:var(--color-primary-soft);width:32px;height:32px;color:var(--color-primary);border-radius:50%;flex:0 0 32px;place-items:center;font-size:14px;font-weight:700;line-height:1;display:grid}.student-identity-copy{overflow-wrap:anywhere;flex-direction:column;gap:4px;min-width:0;display:flex}.student-identity .student-identity-name{color:var(--color-ink);font-size:14px;font-weight:600}.student-identity-copy>small{color:var(--color-text-secondary);font-size:12px;line-height:18px}.checkin-task-meta{flex-wrap:wrap;align-items:center;gap:8px;min-height:32px;display:flex}.checkin-participant-avatars{flex-shrink:0;display:inline-flex}.checkin-participant-avatars .student-identity+.student-identity{margin-left:-8px}.checkin-participant-avatars .student-avatar{border:2px solid var(--color-surface)}.checkin-member-list>div>.student-identity{flex:1}.checkin-student-options .student-identity-copy>small{margin:0}.guardian-access-intro{color:var(--color-text-secondary);margin:0 0 16px;line-height:24px}.guardian-access-section{border-bottom:1px solid var(--color-border);padding:16px 0}.guardian-access-section h2{color:var(--color-ink);margin:0 0 12px;font-size:16px;line-height:24px}.guardian-invite-controls{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.guardian-invite-controls .ant-select{width:100%;min-width:0}.guardian-access-drawer .ant-btn,.guardian-access-drawer .ant-select,.guardian-access-confirmation .ant-modal-footer .ant-btn{min-height:40px}.guardian-access-drawer .ant-drawer-close,.guardian-access-confirmation .ant-modal-close{width:40px;height:40px}.guardian-student-options .ant-select-item-option{min-height:40px}.guardian-student-options .ant-select-item-option-content{white-space:normal;overflow-wrap:anywhere}.guardian-selected-child{margin-block:12px}.guardian-invite-code{border-block:1px solid var(--color-border);gap:12px;margin:16px 0;padding:16px 0;display:grid}.guardian-invite-code p{color:var(--color-text-secondary);margin:0;line-height:22px}.guardian-invite-code>.ant-btn{justify-self:start}.guardian-access-row{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:16px;padding:16px 0;display:flex}.guardian-access-row>div:first-child{flex:1;min-width:0}.guardian-row-actions{flex-wrap:wrap;flex-shrink:0;gap:8px;display:flex}.guardian-access-row>small,.guardian-access-row small,.guardian-empty{color:var(--color-text-secondary);font-size:12px}.guardian-account{color:var(--color-ink);overflow-wrap:anywhere;margin:8px 0 4px}.guardian-confirmation{gap:12px;display:grid}.guardian-confirmation p{overflow-wrap:anywhere;margin:0;line-height:24px}@media (max-width:600px){.guardian-invite-controls{grid-template-columns:minmax(0,1fr)}.guardian-access-row{flex-direction:column;align-items:flex-start;gap:12px}.guardian-row-actions{width:100%}.guardian-row-actions>.ant-btn{flex:1}}
