html,body{width:100%;height:100%}input::-ms-clear{display:none}input::-ms-reveal{display:none}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:#0000;font-family:sans-serif;line-height:1.15}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}address{font-style:normal;line-height:inherit;margin-bottom:1em}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{text-align:left;caption-side:bottom;padding-top:.75em;padding-bottom:.3em}input,button,select,optgroup,textarea{color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner{border-style:none;padding:0}[type=reset]::-moz-focus-inner{border-style:none;padding:0}[type=submit]::-moz-focus-inner{border-style:none;padding:0}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{resize:vertical;overflow:auto}fieldset{border:0;min-width:0;margin:0;padding:0}legend{width:100%;max-width:100%;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal;margin-bottom:.5em;padding:0;display:block}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button{height:auto}[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}:root{color:#102033;--app-bg:#f5f7fb;--app-surface:#fff;--app-surface-soft:#f8fafc;--app-border:#d8dee8;--app-border-soft:#e9eef6;--app-text:#102033;--app-muted:#526070;--app-subtle:#7a8698;--app-primary:#1e40af;--app-primary-hover:#1d4ed8;--app-accent:#d97706;--app-success:#059669;--app-danger:#dc2626;--app-focus:#2563eb38;--workspace-content-max:100%;--topbar-height:66px;--control-height:40px;--action-button-height:40px;--action-button-small-height:34px;--action-button-min-width:80px;--workspace-filter-card-padding-y:16px;--workspace-filter-card-padding-x:18px;--workspace-filter-card-min-height:72px;--workspace-section-gap:24px;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f7fb;font-family:Noto Sans,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.table-action-group,.table-action-buttons{white-space:nowrap;flex-wrap:nowrap;align-items:center;gap:8px;display:inline-flex}.table-action-buttons{min-width:max-content}.table-action-button.ant-btn,.table-action-button{height:var(--action-button-height);min-width:var(--action-button-min-width);border:1px solid var(--app-border);box-shadow:none;color:var(--app-text);background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:400;line-height:1;display:inline-flex}.table-action-button.ant-btn:not(:disabled):hover{color:var(--app-primary);background:#f8fafc;border-color:#b8c5d8}.table-action-button--primary.ant-btn,.table-action-button--primary{border-color:var(--app-primary);background:var(--app-primary);color:#fff}.table-action-button--primary.ant-btn:not(:disabled):hover{border-color:var(--app-primary-hover);background:var(--app-primary-hover);color:#fff}.table-action-button--primary.ant-btn:disabled,.table-action-button--primary:disabled{color:#00000040;background:#f5f5f5;border-color:#d9d9d9}.table-action-button.ant-btn-dangerous{color:var(--app-danger)}.table-action-button--danger.ant-btn,.table-action-button--danger{color:var(--app-danger);border-color:#fecaca}.table-action-button--danger.ant-btn:not(:disabled):hover{color:#b91c1c;background:#fff5f5;border-color:#fca5a5}.table-action-button--wide.ant-btn,.table-action-button--wide{min-width:96px}.table-action-button--small.ant-btn,.table-action-button--small{min-width:72px;height:var(--action-button-small-height);padding:0 14px}.icon-action-button.ant-btn,.icon-action-button{width:var(--action-button-small-height);min-width:var(--action-button-small-height);height:var(--action-button-small-height);border-radius:8px;padding:0}.workspace-tabs{border-bottom:1px solid var(--app-border-soft);background:var(--app-surface);scrollbar-width:none;align-items:flex-end;gap:28px;min-height:48px;padding:0 18px;display:flex;overflow-x:auto}.workspace-tabs::-webkit-scrollbar{display:none}.workspace-tab{min-height:48px;color:var(--app-muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;padding:0;font-family:inherit;font-size:14px;font-weight:500;line-height:1;display:inline-flex;position:relative}.workspace-tab:hover,.workspace-tab:focus-visible{color:var(--app-primary)}.workspace-tab:focus-visible{outline:2px solid var(--app-focus);outline-offset:3px;border-radius:4px}.workspace-tab:disabled{cursor:not-allowed;opacity:.56}.workspace-tab.is-active{color:var(--app-primary);font-weight:600}.workspace-tab.is-active:after{content:"";background:var(--app-primary);border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:-1px;left:0;right:0}:root{color:#102033;--app-bg:#f5f7fb;--app-surface:#fff;--app-surface-soft:#f8fafc;--app-border:#d8dee8;--app-border-soft:#e9eef6;--app-text:#102033;--app-muted:#526070;--app-subtle:#7a8698;--app-primary:#1e40af;--app-primary-hover:#1d4ed8;--app-accent:#d97706;--app-success:#059669;--app-danger:#dc2626;--app-focus:#2563eb38;--workspace-content-max:100%;--topbar-height:66px;--control-height:40px;--action-button-height:40px;--action-button-small-height:34px;--action-button-min-width:80px;--workspace-filter-card-padding-y:16px;--workspace-filter-card-padding-x:18px;--workspace-filter-card-min-height:72px;--workspace-section-gap:16px;--workspace-surface-radius:8px;--workspace-surface-shadow:none;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f7fb;font-family:Noto Sans,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.workspace-route-state{align-items:center;gap:var(--workspace-section-gap);width:100%;min-height:min(520px,100vh - 66px);color:var(--app-muted);flex-direction:column;justify-content:center;font-size:14px;display:flex}.workspace-route-state__actions{justify-content:center;display:flex}*{box-sizing:border-box}body{background:linear-gradient(180deg,#f8fafc 0,var(--app-bg)260px);min-width:320px;min-height:100vh;margin:0}a{color:var(--app-primary);text-decoration:none}a:hover{color:var(--app-primary-hover)}button,input,textarea,select{font:inherit}.ant-card{box-shadow:var(--workspace-surface-shadow)}.ant-card-head{color:var(--app-text)}.ant-btn-primary{box-shadow:none}.ant-table-wrapper .ant-table-pagination.ant-pagination{justify-content:flex-end;align-items:center;gap:4px;margin:14px 0 0;padding:0;display:flex;position:static}.ant-pagination-options-size-changer .ant-select-selector{height:var(--control-height)!important}.ant-table-thead>tr>th{color:var(--app-muted);font-weight:600}.teacher-form-control:focus,.ant-input:focus,.ant-input-focused,.ant-input-outlined:focus-within,.ant-input-affix-wrapper:focus,.ant-input-affix-wrapper:focus-within,.ant-input-affix-wrapper-focused,.ant-input-number:focus,.ant-input-number:focus-within,.ant-input-number-focused,.ant-picker-focused{outline:none;border-color:var(--app-primary)!important;box-shadow:none!important}.ant-select-focused:not(.ant-select-disabled) .ant-select-selector{border-color:var(--app-primary)!important;box-shadow:none!important}.workspace-modal-button:focus-visible,.teacher-copy-list-item:focus-visible{box-shadow:0 0 0 3px var(--app-focus);outline:none;border-color:var(--app-primary)!important}.teacher-form-field{min-width:0;color:var(--app-text);gap:8px;font-size:14px;font-weight:500;display:grid}.teacher-form-field span{line-height:1.4}.teacher-form-control{border:1px solid var(--app-border);background:var(--app-surface);width:100%;min-height:38px;color:var(--app-text);border-radius:8px;padding:9px 12px;font-size:14px;font-weight:400;line-height:1.4}.teacher-form-control:disabled{cursor:not-allowed;color:var(--app-muted);background:#f8fafc}.teacher-form-modal__overlay{z-index:80;background:#09182d47;animation:.14s ease-out teacher-modal-overlay-in;position:fixed;inset:0}.teacher-form-modal{z-index:81;width:min(760px,100vw - 32px);max-height:calc(100vh - 40px);border:1px solid var(--app-border-soft);background:var(--app-surface);border-radius:10px;flex-direction:column;max-height:calc(100dvh - 40px);animation:.15s ease-out teacher-modal-in;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 12px 36px #0f172a29}.teacher-copy-dialog{width:min(820px,100vw - 32px)}.teacher-experiment-dialog{width:min(840px,100vw - 32px)}.teacher-course-cover-preview-dialog{width:min(980px,100vw - 48px)}.teacher-report-preview-dialog,.teacher-history-dialog{width:min(880px,100vw - 32px)}.student-submit-success-dialog{width:min(520px,100vw - 32px)}.app-confirm-modal{width:min(540px,100vw - 32px)}.app-detail-modal{width:min(860px,100vw - 32px)}.app-detail-modal__body{max-height:min(72vh,640px)}.teacher-form-modal__head,.teacher-form-modal__foot{border-color:var(--app-border-soft);flex:none;justify-content:space-between;align-items:center;display:flex}.teacher-form-modal__head{border-bottom:1px solid var(--app-border-soft);min-height:54px;padding:0 20px}.teacher-form-modal__head h2{color:var(--app-text);margin:0;font-size:18px;font-weight:600;line-height:1.4}.teacher-form-modal__close{width:32px;height:32px;color:var(--app-subtle);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;font-size:16px;line-height:1;display:grid}.teacher-form-modal__close:hover{background:var(--app-surface-soft)}.teacher-form-modal__body{overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;color:var(--app-text);padding:18px 20px;font-size:14px;font-weight:400;line-height:1.55;overflow:auto}.teacher-form-modal__body .ant-form-item-label>label,.teacher-form-modal__body .teacher-form-field{font-weight:500}.teacher-form-modal__body h2,.teacher-form-modal__body h3,.teacher-form-modal__body strong,.teacher-form-modal__body b{font-weight:600}.teacher-course-cover-preview-dialog__body{background:#f8fafc;padding:16px}.teacher-course-cover-preview-dialog__img{object-fit:contain;background:#fff;border-radius:10px;width:100%;max-height:calc(100vh - 150px);display:block}.teacher-copy-dialog__body,.teacher-report-preview-dialog__body,.teacher-history-dialog__body{max-height:min(76vh,720px)}.teacher-form-modal__foot{border-top:1px solid var(--app-border-soft);justify-content:flex-end;gap:8px;min-height:58px;padding:0 20px}.teacher-form-modal__secondary,.teacher-form-modal__primary{min-width:92px;height:var(--action-button-height);cursor:pointer;border-radius:8px;padding:0 16px;font-size:14px;font-weight:400;line-height:1}.teacher-form-modal__secondary{border:1px solid var(--app-border);background:var(--app-surface);color:var(--app-text)}.teacher-form-modal__primary{border:1px solid var(--app-primary);background:var(--app-primary);color:#fff}.teacher-form-modal__danger{border-color:var(--app-danger);background:var(--app-danger)}.teacher-form-modal__secondary:disabled,.teacher-form-modal__primary:disabled{cursor:not-allowed;opacity:.62}.app-confirm-modal__body{padding-top:16px}.app-confirm-content{gap:12px;display:grid}.app-confirm-summary{border-bottom:1px solid var(--app-border-soft);gap:4px;padding:0 0 14px;display:grid}.app-confirm-summary__label{color:var(--app-subtle);font-size:13px;font-weight:500}.app-confirm-summary__value{color:var(--app-text);font-size:14px;font-weight:500;line-height:1.5}.app-confirm-description{color:var(--app-muted);font-size:14px;line-height:1.55}.app-confirm-extra{gap:12px;display:grid}@keyframes teacher-modal-overlay-in{0%{opacity:0}}@keyframes teacher-modal-in{0%{opacity:0;transform:translate(-50%,calc(8px - 50%))}}@media (max-width:640px){.teacher-form-modal{width:calc(100vw - 24px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px)}.teacher-form-modal__head,.teacher-form-modal__body,.teacher-form-modal__foot{padding-left:16px;padding-right:16px}}@media (prefers-reduced-motion:reduce){.teacher-form-modal__overlay,.teacher-form-modal{animation:none}}.app-shell{background:0 0;min-height:100vh}.app-shell__topbar{z-index:900;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffeb;border-bottom:1px solid #d8dee8e6;min-height:66px;position:sticky;top:0;overflow:visible}.app-shell__brand-title{color:var(--app-text);font-size:15px;font-weight:800;line-height:1.25}.app-shell__nav{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.app-shell__nav-link{min-height:36px;color:var(--app-muted);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:0 12px;font-size:14px;font-weight:700;text-decoration:none;transition:background .18s,box-shadow .18s,color .18s,transform .18s;display:inline-flex}.app-shell__nav-link.active{color:var(--app-primary);background:#e9eef6}.app-shell__nav-link:hover{color:var(--app-primary);background:#dfe7f5;transform:translateY(-1px);box-shadow:0 8px 18px #1e40af1a}.app-shell--teacher{background:linear-gradient(90deg,#102033 0,#102033 248px,transparent 248px),linear-gradient(180deg,#f8fafc 0,var(--app-bg)280px);grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.app-shell__sidebar{background:linear-gradient(#1e40af2e,#0000 220px),#102033;border-right:1px solid #ffffff1a;flex-direction:column;gap:18px;height:100vh;padding:22px 18px;display:flex;position:sticky;top:0}.app-shell__sidebar .app-shell__brand{min-width:0}.app-shell__sidebar .app-shell__brand-title{color:#fff}.app-shell__sidebar-section{color:#e2e8f094;letter-spacing:0;font-size:12px;font-weight:800}.app-shell--teacher .app-shell__nav--teacher{flex-direction:column;flex:none;align-items:stretch;gap:8px;width:100%}.app-shell--teacher .app-shell__nav-link{color:#e2e8f0c7;border:1px solid #0000;justify-content:flex-start;width:100%;min-height:44px;padding:0 12px}.app-shell--teacher .app-shell__nav-link.active{color:#fff;background:#ffffff1f;border-color:#ffffff2e}.app-shell--teacher .app-shell__nav-link:hover{box-shadow:none;color:#fff;background:#ffffff1a;border-color:#ffffff2e;transform:none}.app-shell__workspace{flex-direction:column;min-width:0;min-height:100vh;display:flex}.app-shell--student{background:var(--app-bg);min-height:100vh}.app-shell--student .app-shell__workspace{grid-template-columns:220px minmax(0,1fr);min-height:calc(100vh - 66px);display:grid}.app-shell__student-sidebar{color:#fff;background:linear-gradient(#102f63 0%,#0d243f 100%);flex-direction:column;height:calc(100vh - 66px);padding:18px 12px;display:flex;position:sticky;top:66px}.app-shell__student-sidebar-title{color:#dbeafead;padding:4px 14px 10px;font-size:12px;font-weight:800}.app-shell--student .app-shell__nav--student{flex-direction:column;flex:none;align-items:stretch;gap:6px;width:100%}.app-shell--student .app-shell__nav-link{color:#e2e8f0d1;justify-content:flex-start;width:100%;min-height:46px;padding:0 14px}.app-shell--student .app-shell__nav-link.active{background:var(--app-primary);color:#fff;box-shadow:0 8px 20px #1e40af38}.app-shell--student .app-shell__nav-link:hover{box-shadow:none;color:#fff;background:#ffffff1f;transform:none}.app-shell--student .app-shell__nav-link.active:hover{background:var(--app-primary-hover)}.app-shell__student-main{min-width:0;padding:24px 28px 26px}.app-shell__teacher-main{width:100%;min-width:0;padding:24px}.app-shell__account{min-width:0;min-height:44px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:8px;padding:4px 8px 4px 6px;display:flex;position:relative}.app-shell__account:hover{background:var(--app-surface-muted)}.app-shell__notification-button{border:1px solid var(--app-border);width:40px;height:40px;color:var(--app-text);cursor:pointer;background:#fff;border-radius:8px;place-items:center;padding:0;font-size:18px;display:inline-grid}.app-shell__notification-button:hover{border-color:var(--app-primary);color:var(--app-primary)}.app-shell__notification-dialog{width:min(600px,100vw - 32px)}.app-shell__notification-list{display:grid}.app-shell__notification-item{border:0;border-bottom:1px solid var(--app-border);width:100%;color:var(--app-text);text-align:left;cursor:pointer;background:0 0;gap:6px;padding:14px 4px;display:grid}.app-shell__notification-item:first-child{padding-top:4px}.app-shell__notification-item:last-child{border-bottom:0}.app-shell__notification-item.is-unread strong:before{background:var(--app-primary);content:"";vertical-align:1px;border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block}.app-shell__notification-item-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.app-shell__notification-item-head strong{min-width:0;font-size:14px;font-weight:600}.app-shell__notification-item-head time,.app-shell__notification-content{color:var(--app-muted);font-size:13px}.app-shell__notification-item-head time{flex:none}.app-shell__notification-content{padding-left:15px;line-height:1.6}.app-shell__notification-empty{color:var(--app-muted);text-align:center;padding:32px 0}.teacher-gradebook-toolbar{border-bottom:1px solid var(--app-border);justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.teacher-gradebook-toolbar>div:first-child{align-items:center;gap:12px;min-width:0;display:flex}.teacher-form-confirmation-copy{color:var(--app-muted);font-size:14px;line-height:1.7}.app-shell__account-meta{text-align:right;min-width:0}.app-shell__account-name{max-width:110px;color:var(--app-text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:800;overflow:hidden}.app-shell__password-dialog{width:min(520px,100vw - 32px)}.app-shell__password-form{gap:12px;display:grid}.app-shell__password-notice{color:#9a3412;background:#fff7ed;border-radius:8px;padding:10px 12px;font-size:13px;font-weight:500}.app-shell__password-field{color:var(--app-text);gap:6px;font-size:13px;font-weight:500;display:grid}.app-shell{background:#f5f7fb;flex-direction:column;min-height:100vh;display:flex}.app-shell__topbar{z-index:900;height:var(--topbar-height);min-height:var(--topbar-height);flex:0 0 var(--topbar-height);-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border-bottom:1px solid #e6eaf0;justify-content:space-between;align-items:center;gap:20px;padding:0 28px;display:flex;position:sticky;top:0;overflow:visible}.app-shell__topbar-brand,.app-shell__topbar-actions{align-items:center;min-width:0;display:flex}.app-shell__topbar-brand{flex:0 auto}.app-shell__topbar-actions{flex:auto;justify-content:flex-end;gap:12px}.app-shell__brand{align-items:center;gap:10px;min-width:0;min-height:44px;display:flex}.app-shell__flask{border:3px solid #1677ff;border-top:0;border-radius:0 0 12px 12px;flex:none;width:30px;height:30px;margin-right:2px;position:relative;transform:none}.app-shell__flask:before{content:"";border-left:3px solid #1677ff;border-right:3px solid #1677ff;width:10px;height:12px;position:absolute;top:-11px;left:7px}.app-shell__flask:after{content:"";background:linear-gradient(90deg,#51a8ff,#1677ff);border-radius:2px 2px 8px 8px;height:10px;position:absolute;bottom:4px;left:4px;right:4px}.app-shell__brand-title{color:#0d3572;white-space:nowrap;font-size:24px;font-weight:800;line-height:1}.app-shell__role-badge{color:#1677ff;background:#eaf3ff;border-radius:999px;flex:none;align-items:center;height:24px;padding:0 9px;font-size:12px;font-weight:750;line-height:1;display:inline-flex}.app-shell__role-badge--student{color:#169b58;background:#eaf8f0}.app-shell--teacher{background:#f5f7fb;flex-direction:column;min-height:100vh;display:flex}.app-shell__workspace,.app-shell--student .app-shell__workspace{min-height:calc(100vh - var(--topbar-height));grid-template-columns:220px minmax(0,1fr);display:grid}.app-shell__sidebar,.app-shell__student-sidebar{top:var(--topbar-height);height:calc(100vh - var(--topbar-height));color:#fff;background:linear-gradient(#082d5f 0%,#061f42 100%);flex-direction:column;gap:6px;padding:18px 12px;display:flex;position:sticky}.app-shell__sidebar-section,.app-shell__student-sidebar-title{color:#91a9c8;padding:4px 14px 10px;font-size:12px;font-weight:650}.app-shell--teacher .app-shell__nav--teacher,.app-shell--student .app-shell__nav--student{flex-direction:column;flex:none;align-items:stretch;gap:6px;width:100%}.app-shell__nav-link,.app-shell--teacher .app-shell__nav-link,.app-shell--student .app-shell__nav-link{color:#d9e7f8;border:1px solid #0000;border-radius:8px;justify-content:flex-start;gap:12px;width:100%;min-height:48px;padding:0 16px;font-size:15px;display:flex}.app-shell__nav-link.active,.app-shell--teacher .app-shell__nav-link.active,.app-shell--student .app-shell__nav-link.active{color:#fff;background:#1677ff;border-color:#0000;box-shadow:0 8px 20px #1677ff47}.app-shell__nav-link:hover,.app-shell--teacher .app-shell__nav-link:hover,.app-shell--student .app-shell__nav-link:hover{box-shadow:none;color:#fff;background:#ffffff1a;transform:none}.app-shell__teacher-main,.app-shell__student-main{min-width:0;padding:24px 28px 26px}.teacher-page-shell,.student-page-shell,.admin-page-shell{width:100%;max-width:var(--workspace-content-max);margin:0;padding:0}.app-shell__avatar{color:#fff;background:linear-gradient(135deg,#1c62c7,#6aa8ff);border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-weight:800;display:inline-flex}.app-shell__nav-spacer{flex:1}.app-shell__sidefoot{border-top:1px solid #ffffff1f;margin-top:12px;padding-top:12px}.app-shell__logout-link{color:#d9e7f8;cursor:pointer;width:100%;min-height:48px;font:inherit;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;padding:0 16px;font-size:15px;font-weight:700;display:flex}.app-shell__logout-link:hover{color:#fff;background:#ffffff1a}.student-page-shell{gap:var(--workspace-section-gap);width:100%;display:grid}.workspace-page-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:0;display:flex}.workspace-page-head__main{min-width:0}.workspace-page-head__breadcrumb{color:var(--app-subtle);margin-bottom:8px;font-size:13px;font-weight:650}.workspace-page-head__breadcrumb b{color:#2e5f9f}.workspace-page-head__title{color:var(--app-text);margin:0;font-size:27px;font-weight:850;line-height:1.25}.workspace-page-head__description{color:var(--app-muted);margin-top:6px;font-size:14px;line-height:1.65}.workspace-page-head__actions{flex:none;justify-content:flex-end;align-items:center;gap:10px;display:flex}.student-course-filter-select{min-width:145px}.student-page-content{min-width:0}.teacher-page-shell{gap:var(--workspace-section-gap);width:100%;display:grid}.teacher-page-content{min-width:0}.teacher-prototype-page{gap:var(--workspace-section-gap);min-width:0;display:grid}.teacher-prototype-filter-card,.teacher-prototype-tab-card,.teacher-course-context,.teacher-prototype-table-card,.teacher-prototype-detail-card{border:1px solid var(--app-border-soft);border-radius:var(--workspace-surface-radius);background:var(--app-surface);box-shadow:var(--workspace-surface-shadow)}.teacher-prototype-filter-card{margin-bottom:0;padding:18px}.workspace-filter-card{min-height:var(--workspace-filter-card-min-height)}.teacher-prototype-filter-card.workspace-filter-card,.teacher-prototype-tab-card.workspace-filter-card{padding:var(--workspace-filter-card-padding-y)var(--workspace-filter-card-padding-x)}.teacher-workspace-panel.workspace-filter-card{gap:0;display:block}.teacher-workspace-panel.workspace-filter-card>.workspace-filter-toolbar{padding:var(--workspace-filter-card-padding-y)var(--workspace-filter-card-padding-x)}.workspace-filter-toolbar{min-height:var(--control-height);gap:10px}.workspace-filter-layout{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;display:grid}.workspace-filter-controls{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.workspace-filter-actions{white-space:nowrap;flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.workspace-table-toolbar{min-height:var(--workspace-filter-card-min-height);border-bottom:1px solid var(--app-border-soft);background:var(--app-surface);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;padding:12px 14px;display:flex}.workspace-filter-toolbar .ant-input,.workspace-filter-toolbar .ant-input-affix-wrapper,.workspace-filter-toolbar .ant-picker{height:var(--control-height);min-height:var(--control-height);border-radius:8px;font-size:14px}.workspace-filter-toolbar .ant-input-affix-wrapper .ant-input{height:auto;min-height:0}.workspace-filter-toolbar .ant-select,.workspace-filter-toolbar .ant-select-single{height:var(--control-height);min-height:var(--control-height)}.workspace-filter-toolbar .ant-select-single .ant-select-selector{min-height:var(--control-height);border-radius:8px;align-items:center;height:var(--control-height)!important}.workspace-filter-toolbar .ant-btn{height:var(--control-height);min-height:var(--control-height);border-radius:8px}.teacher-prototype-filter-bar{width:100%}.teacher-prototype-filter-control{min-width:146px}.teacher-course-year-filter{width:190px}.teacher-course-term-filter{width:170px}.teacher-course-status-filter{width:160px}.teacher-prototype-search{width:min(100%,320px)}.teacher-prototype-table-card{overflow:hidden}.teacher-prototype-table-card .ant-table{border-radius:8px}.teacher-prototype-table-card .ant-table-thead>tr>th{color:#59677b;background:#f7f9fc;height:44px;font-size:13px;font-weight:800}.teacher-prototype-table-card .ant-table-tbody>tr>td{color:#34445b;height:52px}.teacher-prototype-table-row{cursor:pointer}.teacher-prototype-table-row:hover>td{background:#f4f7ff!important}.teacher-prototype-table-row--selected>td,.teacher-prototype-table-row--selected:hover>td{background:#f0f6ff!important}.teacher-prototype-course-cell{align-items:center;gap:16px;min-width:0;display:flex}.teacher-course-cover-view{border:1px solid var(--app-border-soft);font:inherit;background-color:#f8fafc;background-position:50%;background-size:cover;flex:none;padding:0;display:block;position:relative;overflow:hidden;box-shadow:0 1px 2px #0f172a0f}.teacher-course-cover-view--thumb{border-radius:8px;width:144px;height:81px}.teacher-course-cover-view--hero{border-radius:8px;width:220px;height:124px}.teacher-course-cover-view--image{appearance:none;cursor:zoom-in}.teacher-course-cover-view__img{object-fit:cover;width:100%;height:100%;display:block}.teacher-course-cover-view--image:focus-visible{outline-offset:3px;outline:2px solid #1677ff6b}.teacher-prototype-course-cell b{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--app-text);font-size:14px;line-height:1.35;display:block;overflow:hidden}.teacher-prototype-course-cell>span:not(.teacher-course-cover){min-width:0}.teacher-prototype-course-cell small{color:var(--app-subtle);margin-top:3px;font-size:12px;line-height:1.35;display:block}.teacher-course-context{align-items:center;gap:24px;margin-bottom:0;padding:14px 18px;display:flex}.teacher-course-context--with-cover{align-items:stretch;gap:18px}.teacher-course-context__meta{flex:1;grid-template-columns:repeat(4,minmax(0,1fr));min-width:0;display:grid}.teacher-course-context__item{border-right:1px solid var(--app-border-soft);min-width:0;padding:0 22px}.teacher-course-context__item:first-child{padding-left:0}.teacher-course-context__item:last-child{border-right:0}.teacher-course-context__item span{color:var(--app-subtle);font-size:12px;font-weight:700;display:block}.teacher-course-context__item strong{color:var(--app-text);margin-top:4px;font-size:14px;line-height:1.35;display:block}.teacher-prototype-tab-card{margin-bottom:0;overflow:hidden}.teacher-prototype-detail-card{min-width:0;padding:18px}.teacher-prototype-detail-title{color:var(--app-text);margin-bottom:12px;font-size:18px;font-weight:850}.teacher-prototype-mini-row{color:var(--app-text);border-bottom:1px solid #edf0f4;justify-content:space-between;align-items:center;gap:16px;padding:9px 0;display:flex}.teacher-prototype-mini-row:last-child{border-bottom:0}.teacher-prototype-mini-row span{color:var(--app-muted)}.teacher-prototype-mini-row b{color:var(--app-text);font-weight:850}.teacher-course-context>div{border-right:1px solid var(--app-border-soft);min-width:0;padding-right:24px}.teacher-course-context>div:last-child{border-right:0}.teacher-course-context>div span{color:var(--app-subtle);font-size:12px;font-weight:700;display:block}.teacher-course-context>div strong{color:var(--app-text);margin-top:4px;font-size:14px;line-height:1.35;display:block}.teacher-course-detail-sections,.teacher-class-detail-sections{gap:14px;min-width:0;display:grid}.teacher-class-roster-page,.teacher-class-schedule-page{gap:var(--workspace-section-gap);min-width:0;display:grid}.teacher-class-roster-toolbar-card{padding:18px}.teacher-class-import-preview,.teacher-class-import-file{min-width:0}.teacher-class-import-header{min-height:var(--control-height);justify-content:space-between;align-items:center;gap:16px;display:flex}.teacher-class-import-header .teacher-prototype-detail-title{margin-bottom:0}.teacher-class-import-context{border-top:1px solid var(--app-border-soft);border-bottom:1px solid var(--app-border-soft);grid-template-columns:minmax(320px,1fr) minmax(220px,auto) minmax(180px,auto);align-items:center;gap:24px;margin-top:12px;padding:12px 0;display:grid}.teacher-class-import-file-row,.teacher-class-import-file-name{align-items:center;gap:16px;min-width:0;display:flex}.teacher-class-import-file-name span{color:var(--app-subtle);flex:none;font-size:13px}.teacher-class-import-file-name strong{color:var(--app-text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.teacher-class-import-context-item{gap:4px;min-width:0;display:grid}.teacher-class-import-context-item span{color:var(--app-subtle);font-size:12px}.teacher-class-import-context-item strong{color:var(--app-text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.teacher-class-import-summary{color:var(--app-muted);flex-wrap:wrap;align-items:center;gap:0;padding:12px 0;font-size:13px;display:flex}.teacher-class-import-summary span{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.teacher-class-import-summary span+span:before{content:"";background:var(--app-border);width:1px;height:14px;margin:0 14px}.teacher-class-import-summary strong{color:var(--app-text);font-size:14px;font-weight:700}.teacher-class-import-summary .is-warning strong{color:var(--app-accent)}.teacher-class-import-summary .is-danger strong{color:var(--app-danger)}.teacher-class-import-issues{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.teacher-class-import-table{border:1px solid var(--app-border-soft);border-radius:var(--workspace-surface-radius);overflow:hidden}.teacher-class-import-actions{justify-content:flex-end;gap:8px;display:flex}.teacher-class-schedule-toolbar{width:100%}.teacher-class-schedule-filter{width:160px}.teacher-experiment-publish-drawer{gap:16px;display:grid}.teacher-experiment-publish-class-list{border:1px solid var(--app-border-soft);background:#fbfdff;border-radius:8px;min-width:0;max-height:320px;display:grid;overflow:auto}.teacher-experiment-publish-class{border-bottom:1px solid var(--app-border-soft);min-width:0;min-height:58px;color:var(--app-text);align-items:center;gap:10px;padding:10px 12px;display:flex}.teacher-experiment-publish-class:last-child{border-bottom:0}.teacher-experiment-publish-class.is-disabled{color:var(--app-subtle)}.teacher-experiment-publish-class b,.teacher-experiment-publish-class small{display:block}.teacher-experiment-publish-class small{color:var(--app-subtle);margin-top:3px}.teacher-experiment-publish-form{gap:14px;min-width:0;display:grid}.teacher-experiment-publish-reset{justify-content:flex-end;display:flex}.teacher-course-cover{background:linear-gradient(135deg,#0d3f8c,#1f92e9);border-radius:6px;flex:0 0 58px;width:58px;height:38px;position:relative;overflow:hidden}.teacher-course-cover:before{content:"";border:1px solid #ffffff59;border-radius:50%;width:44px;height:44px;position:absolute;top:-15px;left:18px}.teacher-course-cover:after{content:"";background:#ffffffc7;height:2px;position:absolute;bottom:8px;left:7px;right:7px;box-shadow:0 -7px #ffffff73,0 -14px #ffffff47}.teacher-course-cover--2{background:linear-gradient(135deg,#273142,#ea3f61)}.teacher-course-cover--3{background:linear-gradient(135deg,#0b6b6c,#54caa6)}.teacher-course-cover--4{background:linear-gradient(135deg,#4b2b7c,#9058e8)}.teacher-course-cover--5{background:linear-gradient(135deg,#68491f,#e1a73b)}.teacher-class-publish-field{min-width:0;color:var(--app-text);gap:5px;font-weight:750;display:grid}.teacher-class-publish-field>span{color:#47566d;font-size:12px}.teacher-class-publish-field input{color:#34445b;width:100%;min-height:38px;font:inherit;background:#fff;border:1px solid #dfe5ed;border-radius:7px;padding:8px 11px}.teacher-class-publish-field input:read-only{background:#f8fafc}.teacher-class-publish-field input:disabled{color:#9aa3af;cursor:not-allowed;background:#f5f7fb}.teacher-class-publish-field .ant-radio-wrapper{color:#34445b;font-weight:650}.teacher-grading-page{gap:var(--workspace-section-gap);display:grid}.teacher-grading-main,.teacher-grading-table{min-width:0}.teacher-grading-task-cell{gap:6px;min-width:0;display:grid}.teacher-grading-task-cell strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--app-text);font-size:15px;line-height:1.35;overflow:hidden}.teacher-grading-task-cell span{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--app-muted);font-size:13px;line-height:1.35;overflow:hidden}.teacher-grading-progress{gap:6px;min-width:0;display:grid}.teacher-grading-progress__summary{color:var(--app-muted);align-items:baseline;gap:4px;font-size:13px;display:flex}.teacher-grading-progress__summary strong{color:var(--app-primary);font-size:18px;line-height:1}.teacher-grading-progress__meta,.teacher-grading-review-progress{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.teacher-grading-progress__meta{color:var(--app-muted);font-size:12px}.teacher-grading-progress__meta-success{color:#16a34a}.teacher-grading-progress__meta-danger{color:#dc2626}.teacher-grading-progress-pill{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-width:64px;height:24px;padding:0 10px;font-size:12px;line-height:1;display:inline-flex}.teacher-grading-progress-pill--success{color:#15803d;background:#dcfce7}.teacher-grading-progress-pill--warning{color:#c2410c;background:#ffedd5}.teacher-grading-progress-pill--returned{color:#a16207;background:#fef3c7}.student-course-filter{width:min(100%,260px)}.teacher-workspace-panel{border:1px solid var(--app-border-soft);min-width:0;box-shadow:var(--workspace-surface-shadow);background:#fffffff0;border-radius:8px;gap:12px;display:grid;overflow:hidden}.teacher-workspace-panel__header{justify-content:space-between;align-items:flex-start;gap:16px;min-width:0;padding:12px 18px 0;display:flex}.teacher-workspace-panel__heading{min-width:0}.teacher-workspace-panel__title{color:var(--app-text);font-size:18px;font-weight:850;line-height:1.35}.teacher-workspace-panel__description{max-width:720px;color:var(--app-muted);margin-top:5px;font-size:13px;line-height:1.65}.teacher-workspace-panel__actions{justify-content:flex-end;min-width:fit-content;display:flex}.teacher-workspace-panel__body{min-width:0;padding:0 18px 18px}.teacher-workspace-panel .ant-table-wrapper,.teacher-workspace-panel .ant-spin-nested-loading{min-width:0}.teacher-panel-toolbar{justify-content:flex-end;align-items:center}.teacher-management-table .ant-table{border:1px solid var(--app-border-soft);border-radius:8px;overflow:hidden}.teacher-management-table .ant-table-thead>tr>th{color:var(--app-muted);background:#f8fafc;font-size:12px;font-weight:800}.teacher-management-table .ant-table-tbody>tr>td{color:var(--app-text)}.student-prototype-page{gap:var(--workspace-section-gap);display:grid}.student-prototype-filter-card,.student-prototype-table-card{border:1px solid var(--app-border-soft);border-radius:var(--workspace-surface-radius);background:var(--app-surface);min-width:0;box-shadow:var(--workspace-surface-shadow)}.student-prototype-filter-card{justify-content:flex-end;align-items:center;min-height:58px;padding:10px 18px;display:flex}.student-prototype-filter-card.workspace-filter-card{min-height:var(--workspace-filter-card-min-height);padding:var(--workspace-filter-card-padding-y)var(--workspace-filter-card-padding-x)}.student-prototype-table-card{overflow:hidden}.student-prototype-table-card .ant-table-thead>tr>th{color:#59677b;background:#f7f9fc;font-size:13px;font-weight:800}.student-course-enter-button{margin-top:0}.student-course-filter-row{width:100%}.student-course-filter-row .student-course-filter-select{width:180px}.student-course-filter-row .student-course-filter-select--year{width:190px}.student-course-list{gap:12px;min-width:0;display:grid}.student-prototype-course-row{border:1px solid var(--app-border-soft);background:var(--app-surface);min-width:0;min-height:108px;box-shadow:var(--workspace-surface-shadow);border-radius:8px;grid-template-columns:minmax(320px,400px) minmax(0,1fr) auto;grid-template-areas:"main facts actions";align-items:center;gap:0;padding:16px 18px;display:grid}.student-prototype-course-row:hover{border-color:#1e40af47}.student-course-list-row__main{grid-area:main;grid-template-columns:128px minmax(0,1fr);align-items:center;gap:14px;min-width:0;display:grid}.student-course-list-row__cover{aspect-ratio:16/9;border:1px solid var(--app-border-soft);background-color:#f8fafc;border-radius:8px;width:128px;overflow:hidden}.student-course-list-row__title-block{gap:3px;min-width:0;display:grid}.student-course-list-row__title{min-width:0;color:var(--app-text);text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:750;line-height:1.4;overflow:hidden}.student-course-list-row__college{min-width:0;color:var(--app-muted);word-break:break-word;font-size:13px;line-height:1.45}.student-course-list-row__facts{border-left:1px solid var(--app-border-soft);grid-area:facts;grid-template-columns:minmax(220px,1.45fr) minmax(180px,1.15fr) minmax(120px,.75fr) minmax(80px,.5fr);gap:0;min-width:0;margin:0;padding:4px 18px;display:grid}.student-course-list-row__facts>div{border-right:1px solid var(--app-border-soft);gap:4px;min-width:0;padding:0 16px;display:grid}.student-course-list-row__facts>div:last-child{border-right:0}.student-course-list-row__facts dt{color:var(--app-subtle);font-size:12px;font-weight:500;line-height:1.35}.student-course-list-row__facts dd{min-width:0;color:var(--app-text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:13px;font-weight:600;line-height:1.45;overflow:hidden}.student-course-list-row__actions{border-left:1px solid var(--app-border-soft);grid-area:actions;justify-content:flex-end;align-items:center;gap:10px;min-width:max-content;padding-left:18px;display:inline-flex}.student-prototype-empty-card{border:1px solid var(--app-border-soft);border-radius:var(--workspace-surface-radius);background:var(--app-surface);grid-column:1/-1;place-items:center;min-height:180px;display:grid}.student-context-line{border:1px solid var(--app-border-soft);border-radius:var(--workspace-surface-radius);background:var(--app-surface-soft);grid-template-columns:minmax(320px,.9fr) minmax(0,2.1fr);align-items:stretch;gap:0;margin-bottom:0;padding:0;display:grid;overflow:hidden}.student-course-context-card{background:var(--app-surface);box-shadow:var(--workspace-surface-shadow)}.student-context-main{border-right:1px solid var(--app-border);align-items:center;gap:12px;min-width:0;padding:15px 18px;display:flex}.student-context-cover{border:1px solid var(--app-border-soft);background:linear-gradient(135deg,#0d3f8c,#1f92e9);border-radius:6px;flex:none;width:84px;height:56px}.student-context-title{color:var(--app-text);font-size:16px;font-weight:850;line-height:1.35}.student-context-subtitle{color:var(--app-subtle);margin-top:3px;font-size:12px;font-weight:650}.student-course-context-meta{grid-template-columns:repeat(4,minmax(0,1fr));min-width:0;display:grid}.student-context-item{border-right:1px solid var(--app-border-soft);gap:3px;min-width:0;padding:15px 18px;display:grid}.student-context-item:last-child{border-right:0}.student-context-item span{color:var(--app-subtle);font-size:12px;font-weight:700}.student-context-item strong{color:var(--app-text);font-size:14px;font-weight:800}.student-experiment-loading{place-items:center;min-height:220px;display:grid}.student-comment-text{max-width:210px;color:var(--app-text);text-overflow:ellipsis;vertical-align:middle;white-space:nowrap;font-size:13px;font-weight:650;line-height:1.5;display:inline-block;overflow:hidden}.student-report-control-card{border:1px solid var(--app-border-soft);border-radius:var(--workspace-surface-radius);background:var(--app-surface);min-width:0;box-shadow:var(--workspace-surface-shadow);overflow:visible}.student-report-control-card.workspace-filter-card{min-height:var(--workspace-filter-card-min-height)}.student-report-filter-row{padding:var(--workspace-filter-card-padding-y)var(--workspace-filter-card-padding-x)}.student-report-filter-control{flex:none;width:140px}.student-report-filter-control--term{width:190px}.student-report-filter-control--course{width:180px}.student-report-filter-control--class{width:220px}.student-report-search{flex:280px;width:auto;min-width:260px;max-width:360px}.student-report-filter-row .workspace-date-picker--range{flex:0 0 320px;width:320px}.student-report-table .ant-table-cell{vertical-align:middle}.student-report-main-cell,.student-report-submit-cell{gap:4px;min-width:0;display:grid}.student-report-main-meta,.student-report-submit-cell{color:var(--app-muted);font-size:13px;line-height:1.45}.student-report-main-cell .student-table-strong,.student-report-main-meta{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.student-report-return-note{color:#dc6b21;text-overflow:ellipsis;white-space:nowrap;max-width:520px;font-size:13px;line-height:1.45;display:block;overflow:hidden}.student-report-version{color:var(--app-text);font-weight:700}.workspace-date-picker.ant-picker{min-height:var(--control-height);border-color:var(--app-border);background:var(--app-surface);box-shadow:none;border-radius:6px;font-size:14px}.workspace-date-picker.ant-picker:hover,.workspace-date-picker.ant-picker-focused{border-color:var(--app-primary);box-shadow:none}.workspace-date-picker--range{width:360px}.workspace-date-picker--datetime{width:100%}.student-report-draft-empty{place-items:center;min-height:260px;display:grid}.student-profile-stack{gap:var(--workspace-section-gap);display:grid}.student-profile-panel{border:1px solid var(--app-border-soft);background:var(--app-surface);min-width:0;box-shadow:var(--workspace-surface-shadow);border-radius:8px;padding:18px 20px}.student-profile-primary-panel{padding:20px}.student-profile-primary-layout{align-items:start;gap:var(--workspace-section-gap);grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr);display:grid}.student-profile-primary-main{min-width:0;padding-right:var(--workspace-section-gap);border-right:1px solid var(--app-border-soft)}.student-profile-overview-rail{min-width:0}.student-profile-side-rail{gap:18px;min-width:0;display:grid}.student-profile-rail-block{gap:2px;min-width:0;display:grid}.student-profile-rail-block+.student-profile-rail-block{border-top:1px solid var(--app-border-soft);padding-top:18px}.student-profile-password-button{flex:none}.student-profile-section-head{justify-content:space-between;align-items:center;gap:12px;min-height:32px;margin-bottom:14px;display:flex}.student-profile-section-title{color:var(--app-text);margin:0;font-size:16px;font-weight:750;line-height:1.4}.student-profile-head{border-bottom:1px solid var(--app-border-soft);align-items:center;gap:14px;padding-bottom:16px;display:flex}.student-profile-avatar{background:var(--app-primary);color:#fff;border-radius:50%;place-items:center;width:64px;height:64px;font-size:24px;font-weight:760;display:grid}.student-profile-name{color:var(--app-text);font-size:20px;font-weight:760;line-height:1.3}.student-profile-subtitle{color:var(--app-subtle);margin-top:4px;font-size:13px;font-weight:560}.student-profile-row-list{margin-top:2px;display:grid}.student-profile-head+.student-profile-row-list{margin-top:12px}.student-profile-row{border-bottom:1px solid var(--app-border-soft);grid-template-columns:minmax(120px,.42fr) minmax(0,1fr);align-items:center;gap:16px;min-height:46px;padding:11px 0;display:grid}.student-profile-row:last-child{border-bottom:0}.student-profile-row span{color:var(--app-muted);font-size:13px;font-weight:620}.student-profile-row strong{text-align:right;min-width:0;color:var(--app-text);word-break:break-word;justify-self:end;font-size:14px;font-weight:650}.student-profile-row .ant-tag{margin:0}.student-profile-security-panel .student-profile-row,.student-profile-overview-rail .student-profile-row{grid-template-columns:minmax(100px,.48fr) minmax(0,1fr)}.student-profile-login-panel{padding-top:18px}.student-profile-logins .ant-table-wrapper{min-width:0}.student-profile-logins .ant-table-cell{vertical-align:middle}.student-login-device{max-width:260px;color:var(--app-text);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.student-report-form-card .ant-card-body{padding:16px}.student-prototype-editor-card,.student-prototype-detail-card{border:1px solid var(--app-border-soft);border-radius:var(--workspace-surface-radius);background:var(--app-surface);min-width:0;box-shadow:var(--workspace-surface-shadow);padding:16px}.student-table-strong{color:var(--app-text);font-weight:750}.student-report-meta-strip{flex-wrap:wrap;align-items:center;gap:0;display:flex}.student-report-editor-status{margin-bottom:var(--workspace-section-gap);padding-bottom:var(--workspace-section-gap);border-bottom:1px solid var(--app-border-soft);gap:12px;display:grid}.student-report-meta-item{border-right:1px solid var(--app-border-soft);grid-template-columns:auto auto;align-items:center;gap:6px;min-height:28px;padding:0 16px;font-size:13px;display:inline-grid}.student-report-meta-item:first-child{padding-left:0}.student-report-meta-item:last-of-type{border-right:0}.student-report-meta-item .ant-tag{margin:0}.student-report-meta-item__label{color:var(--app-muted);font-weight:500}.student-report-meta-item__value{color:var(--app-text);font-weight:600}.student-report-meta-notice{color:var(--app-danger);padding-left:16px;font-size:13px;font-weight:600}.student-report-editor-status .student-report-feedback{grid-template-columns:auto minmax(0,1fr);gap:12px;margin:0;display:grid}.student-report-editor-status .student-report-feedback span{font-weight:600}.student-report-editor-status .student-report-feedback strong{min-width:0;font-weight:500}.student-report-section-title{color:var(--app-text);font-size:16px;font-weight:850;line-height:1.45}.student-report-step-bar{margin-bottom:var(--workspace-section-gap);border-bottom:1px solid var(--app-border-soft);grid-template-columns:repeat(4,minmax(120px,1fr));gap:0;display:grid;overflow-x:auto}.student-report-step{min-height:44px;color:var(--app-muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;border-radius:0;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:13px;font-weight:500;transition:border-color .18s,color .18s;display:inline-flex}.student-report-step:hover{color:var(--app-primary)}.student-report-step:focus-visible{outline:3px solid var(--app-focus);outline-offset:2px}.student-report-step--active{border-bottom-color:var(--app-primary);color:var(--app-primary);font-weight:600}.student-report-step--done{color:var(--app-success)}.student-report-step__index{width:20px;height:20px;color:inherit;font-variant-numeric:tabular-nums;background:0 0;border-radius:0;place-items:center;font-size:12px;font-weight:600;display:inline-grid}.student-report-step--active .student-report-step__index{background:0 0}.student-report-step__index .anticon{font-size:12px}.student-report-editor-panel .ant-form-item{margin-bottom:20px}.student-record-block{margin-bottom:16px}.student-record-block__header{border-bottom:1px solid var(--app-border-soft);justify-content:space-between;align-items:center;gap:12px;padding:0 0 12px;display:flex}.student-record-block__list{gap:16px;padding:16px 0 0;display:grid}.student-record-item{border-bottom:1px solid var(--app-border-soft);border-left:3px solid var(--app-border);padding:0 0 16px 16px}.student-record-item:last-child{border-bottom:0;padding-bottom:0}.student-record-item__header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.student-record-item__title{color:var(--app-text);align-items:center;font-size:14px;font-weight:600;display:inline-flex}.student-record-item__actions{flex-shrink:0}.student-record-item__action--danger:not(:disabled):hover,.student-image-upload__remove:not(:disabled):hover{border-color:var(--app-danger)!important;color:var(--app-danger)!important}.student-record-block__empty{text-align:center;color:var(--app-subtle);padding:18px 8px;font-size:13px;font-weight:650}.student-record-block__footer{justify-content:flex-end;padding-top:16px;display:flex}.student-record-block__add{min-width:152px}.student-image-upload.ant-space{width:100%}.student-image-upload__paste-zone{border:1px dashed var(--app-border);background:var(--app-surface-soft);border-radius:8px;align-items:center;gap:8px;min-height:48px;padding:6px 8px 6px 4px;display:flex}.student-image-upload__paste-zone:focus-within{border-color:var(--app-primary)}.student-image-upload__paste-input{flex:1;min-width:0;resize:none!important;box-shadow:none!important;background:0 0!important}.student-image-upload__actions{flex:none;align-items:center;display:flex}.student-image-upload__preview-grid{grid-template-columns:repeat(auto-fit,minmax(180px,480px));justify-content:center;align-items:start;gap:12px;padding-top:8px;display:grid}.student-image-upload__preview-frame{border:1px solid var(--app-border-soft);background:var(--app-surface-soft);border-radius:6px;justify-content:center;align-items:center;width:100%;min-width:0;max-width:480px;min-height:160px;padding:8px;display:flex;position:relative}.student-image-upload__preview-image{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:480px;display:block}.student-image-upload__preview-error{min-height:120px;color:var(--app-danger);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}.student-image-upload__preview-error small{color:var(--app-text-muted)}.student-image-upload__remove{position:absolute;top:8px;right:8px;background:#fffffff0!important}.student-report-form-card .ant-form-item-label>label{height:auto;line-height:1.45}.flask{border:3px solid #1677ff;border-top:0;border-radius:0 0 12px 12px;flex:0 0 34px;width:34px;height:34px;margin-right:2px;position:relative;transform:scale(.72)}.flask:before{content:"";border-left:3px solid;border-right:3px solid;width:12px;height:16px;position:absolute;top:-15px;left:8px}.flask:after{content:"";background:linear-gradient(90deg,#51a8ff,#1677ff);border-radius:2px 2px 8px 8px;height:10px;position:absolute;bottom:4px;left:4px;right:4px}.flask--light{color:#fff;border-color:#fff}.flask--light:after{background:#ffffffdb}.loginpage{background:#f5f8fe;grid-template-columns:minmax(0,58fr) minmax(420px,42fr);min-height:100vh;display:grid}.loginleft{color:#fff;background:linear-gradient(135deg,#0b346b 0%,#1568c9 62%,#36a1ef 100%);flex-direction:column;justify-content:center;padding:76px 70px 76px 96px;display:flex;position:relative;overflow:hidden}.loginleft:before{content:"";border:1px solid #ffffff2e;border-radius:50%;width:520px;height:520px;position:absolute;bottom:-170px;right:-120px}.loginleft:after{content:"";border:1px solid #ffffff1f;border-radius:50%;width:350px;height:350px;position:absolute;bottom:-160px;right:50px}.loginlogo{z-index:1;align-items:center;gap:14px;font-size:clamp(24px,2vw,30px);font-weight:800;display:flex;position:relative}.loginleft h1{z-index:1;max-width:620px;margin:105px 0 18px;font-size:clamp(34px,3.2vw,43px);line-height:1.3;position:relative}.loginleft p{z-index:1;color:#d9ecff;max-width:650px;font-size:18px;line-height:1.8;position:relative}.flowchips{z-index:1;flex-wrap:wrap;gap:12px;margin-top:54px;display:flex;position:relative}.flowchip{background:#ffffff17;border:1px solid #ffffff47;border-radius:9px;padding:12px 18px;font-weight:650}.loginright{justify-content:center;align-items:center;padding:70px;display:flex}.logincard{background:#fff;border:1px solid #e2e7ef;border-radius:16px;width:min(460px,100%);padding:38px 42px;box-shadow:0 18px 60px #1637621f}.smallcaps{color:#7890af;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.logincard h2{color:#13213a;margin:0 0 8px;font-size:27px;line-height:1.35}.logincard .desc,.password-card .desc{color:#7c8798}.logincard .desc{margin-bottom:30px}.logincard .ant-form-item{margin-bottom:16px}.loginfield.ant-input,.loginfield.ant-input-affix-wrapper{color:#33445c;min-height:50px;box-shadow:none;border:1px solid #dce3ed;border-radius:8px;padding-inline:14px}.loginfield .ant-input{font-size:15px}.login-remember{color:#617087;font-weight:650}.loginbtn.ant-btn,.loginbtn{color:#fff;background:#1677ff;border-radius:8px;justify-content:center;align-items:center;min-height:50px;margin-top:22px;font-size:16px;font-weight:800;display:flex}.loginhint{color:#2e639f;background:#f1f7ff;border-radius:8px;margin-top:20px;padding:12px 14px;font-size:13px;line-height:1.65}.loginhelp{color:#7e8999;text-align:center;margin-top:18px;font-size:13px}.force-page{background:#f5f8fe;grid-template-columns:minmax(0,47fr) minmax(460px,53fr);min-height:100vh;display:grid}.force-left{color:#fff;background:linear-gradient(145deg,#082f66,#1477dc);padding:82px 78px;position:relative;overflow:hidden}.force-left:after{content:"";border:1px solid #ffffff29;border-radius:50%;width:520px;height:520px;position:absolute;bottom:-210px;right:-230px}.force-brand{z-index:1;align-items:center;gap:14px;font-size:clamp(24px,2vw,29px);font-weight:800;display:flex;position:relative}.force-left h1{z-index:1;margin:120px 0 20px;font-size:clamp(34px,3.1vw,42px);line-height:1.35;position:relative}.force-left p{z-index:1;color:#d9ebff;max-width:570px;font-size:17px;line-height:1.8;position:relative}.force-points{z-index:1;gap:13px;margin-top:42px;display:grid;position:relative}.force-point{align-items:center;gap:12px;font-weight:650;display:flex}.force-check{background:#ffffff2e;border-radius:50%;flex:0 0 26px;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.force-right{justify-content:center;align-items:center;padding:50px;display:flex}.password-card{background:#fff;border:1px solid #e2e7ef;border-radius:16px;width:min(540px,100%);padding:34px 42px;box-shadow:0 18px 55px #1a3c681f}.lockmark{color:#1677ff;background:#eaf3ff;border-radius:50%;justify-content:center;align-items:center;width:62px;height:62px;margin:0 auto 16px;font-size:28px;font-weight:800;display:flex}.password-card h2{color:#13213a;text-align:center;margin:0 0 8px;font-size:26px;line-height:1.35}.password-card .desc{text-align:center;margin-bottom:22px}.accountbox{background:#f8fafc;border:1px solid #dfe6ef;border-radius:9px;margin-bottom:18px;padding:12px 14px}.minirow{border-bottom:1px solid #edf0f4;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.minirow:last-child{border-bottom:0}.muted{color:#7d8999}.student-badge{color:#169b58;background:#eaf8f0;border-radius:14px;align-items:center;min-height:24px;padding:0 9px;font-size:12px;font-weight:800;display:inline-flex}.pwdlabel{color:#13213a;margin:13px 0 7px;font-weight:800;display:block}.pwdinput.ant-input-affix-wrapper{border:1px solid #dce3ed;border-radius:8px;min-height:44px;padding-inline:13px}.strength{gap:5px;margin:8px 0;display:flex}.strength span{background:#e6eaf0;border-radius:3px;flex:1;height:5px}.strength span.on{background:#20b26b}.footnote{color:#7f8b9b;font-size:12px}.force-strength-label{color:#20a453}.requirements{color:#677589;background:#f7f9fc;border:1px solid #e2e7ef;border-radius:8px;margin-top:14px;padding:11px 14px;font-size:12px;line-height:1.75}.link-button{color:#1677ff;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.teacher-placeholder-note{border:1px dashed var(--app-border);background:var(--app-surface-soft);color:var(--app-muted);border-radius:8px;padding:12px 14px;font-size:14px;font-weight:650;line-height:1.5}.grading-card-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.grading-card-actions .ant-btn{min-width:112px}.teacher-grading-tab-card{margin-bottom:14px}.teacher-grading-action-tabs{border-bottom:1px solid var(--app-border-soft);align-items:center;gap:14px;min-height:48px;padding:0 18px;display:flex}.teacher-grading-view-tabs.workspace-tabs{background:0 0;border-bottom:0;padding:0}.teacher-grading-tab-actions{justify-content:flex-end;margin-left:auto}.teacher-report-result-panel{margin-top:16px}.grading-meta-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.grading-meta-bar__chip{border:1px solid var(--app-border-soft);background:var(--app-surface-soft);min-height:28px;color:var(--app-muted);border-radius:999px;align-items:center;padding:0 10px;font-size:13px;font-weight:650;display:inline-flex}.teacher-filter-select{width:200px}.teacher-filter-select--course{width:220px}.teacher-export-search{width:min(100%,340px)}.teacher-export-target-cell{gap:5px;min-width:0;display:grid}.teacher-export-target-cell strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--app-text);font-size:15px;line-height:1.35;overflow:hidden}.teacher-export-target-cell span{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--app-muted);font-size:13px;line-height:1.35;overflow:hidden}.teacher-export-target-cell em{color:#2563eb;font-size:12px;font-style:normal;font-weight:700}.teacher-export-file-stats{white-space:nowrap;gap:4px;display:inline-grid}.teacher-export-file-stats b{color:var(--app-text);font-size:14px;line-height:1}.teacher-export-file-stats small{color:var(--app-muted);font-size:12px;font-weight:700;line-height:1}.teacher-export-file-stats--empty b{color:#c2410c}.teacher-export-file-stats--empty small{color:#ea580c}.teacher-export-result-cell{justify-items:start;gap:4px;width:auto;min-width:0;display:grid}.teacher-export-result-cell .ant-tag{margin-inline-end:0}.teacher-export-result-cell small{max-width:100%;color:var(--app-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:400;line-height:1.35;overflow:hidden}.teacher-export-record-page,.teacher-operation-logs-panel{gap:var(--workspace-section-gap);display:grid}.teacher-account-page{gap:var(--workspace-section-gap);width:100%;display:grid}.teacher-account-toolbar{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:10px;padding:0;display:flex}.teacher-account-search{width:min(380px,100%)}.teacher-account-table-card{display:block}.teacher-account-table{min-width:0}.teacher-account-table .ant-table-pagination.ant-pagination{margin:14px 0 0}.student-account-page{gap:var(--workspace-section-gap);width:100%;display:grid}.student-account-toolbar{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:10px;padding:0;display:flex}.student-account-search{width:min(380px,100%)}.student-account-filter{width:160px}.student-account-selection{min-height:40px;color:var(--app-muted);white-space:nowrap;align-items:center;font-size:14px;font-weight:600;display:inline-flex}.student-account-table-card{padding:0;overflow:hidden}.student-account-table-toolbar{justify-content:space-between}.student-account-table-actions{white-space:nowrap;flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:10px;display:inline-flex}.student-account-section-title{margin:0}.student-account-table .ant-table-pagination.ant-pagination{margin:14px 0 0}.student-account-table .ant-table-selection-column{width:48px}.student-account-actions{justify-content:flex-start}.student-account-status-tag,.student-account-auth-tag{margin:0;font-weight:650}.student-account-status-tag.is-active{color:#12823f;background:#ecfdf3;border-color:#d9f4df}.student-account-status-tag.is-inactive{color:var(--app-danger);background:#fff1f2;border-color:#fde2e2}.student-account-auth-tag.is-effective{color:#12823f;background:#ecfdf3;border-color:#d9f4df}.student-account-auth-tag.is-none{color:#b45309;background:#fff8eb;border-color:#fdecc8}.teacher-account-user-cell{gap:4px;min-width:0;display:grid}.teacher-account-user-cell strong{min-width:0;color:var(--app-text);word-break:break-word;font-weight:650;line-height:1.35}.teacher-account-user-cell span{min-width:0;color:var(--app-muted);word-break:break-word;font-size:12px;line-height:1.35}.teacher-account-status-tag{margin:0;font-weight:650}.teacher-account-status-tag.is-active{color:#12823f;background:#ecfdf3;border-color:#d9f4df}.teacher-account-status-tag.is-inactive{color:var(--app-danger);background:#fff1f2;border-color:#fde2e2}.teacher-account-dialog{width:min(560px,100vw - 32px)}.teacher-account-form-grid{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.teacher-account-reset-target{border:1px solid var(--app-border-soft);background:#f8fafc;border-radius:8px;grid-column:1/-1;gap:6px;padding:13px 14px;display:grid}.teacher-account-reset-target span{color:var(--app-subtle);font-size:12px;font-weight:600}.teacher-account-reset-target strong{color:var(--app-text);font-size:16px;font-weight:650;line-height:1.45}.teacher-audit-filter{width:190px}.teacher-audit-keyword{width:300px}.teacher-audit-selected-count,.teacher-export-selected-count{color:var(--app-muted);text-align:right;white-space:nowrap;min-width:70px;font-size:13px;font-weight:600}.teacher-audit-grid{grid-template-columns:minmax(0,1fr);align-items:start;gap:0;display:grid}.teacher-audit-table{min-width:0;overflow:hidden}.teacher-audit-actor,.teacher-audit-target-cell{gap:5px;min-width:0;display:grid}.teacher-audit-actor{justify-items:start}.teacher-audit-actor strong,.teacher-audit-target-cell strong{min-width:0;color:var(--app-text);word-break:break-word;font-weight:650;line-height:1.45}.teacher-audit-target-cell span{color:var(--app-muted);font-size:12px;font-weight:500}.teacher-audit-detail-content{gap:12px;display:grid}.teacher-audit-detail-meta-grid,.teacher-audit-detail-list{border:1px solid var(--app-border-soft);background:var(--app-surface);border-radius:6px}.teacher-audit-detail-summary{border-bottom:1px solid var(--app-border-soft);justify-content:space-between;align-items:center;gap:12px;padding:0 0 12px;display:flex}.teacher-audit-detail-summary>div,.teacher-audit-detail-object,.teacher-audit-detail-meta-grid>div,.teacher-audit-detail-list>div{gap:5px;min-width:0;display:grid}.teacher-audit-detail-object{border-bottom:1px solid var(--app-border-soft);padding:0 0 12px}.teacher-audit-detail-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;display:grid;overflow:hidden}.teacher-audit-detail-meta-grid>div{border-right:1px solid var(--app-border-soft);border-bottom:1px solid var(--app-border-soft);padding:12px 14px}.teacher-audit-detail-meta-grid>div:nth-child(2n){border-right:0}.teacher-audit-detail-meta-grid>div:nth-last-child(-n+2){border-bottom:0}.teacher-audit-detail-section{color:var(--app-text);font-size:15px;font-weight:600}.teacher-audit-detail-list{display:grid;overflow:hidden}.teacher-audit-detail-list>div{border-bottom:1px solid var(--app-border-soft);grid-template-columns:minmax(140px,.35fr) minmax(0,1fr);gap:12px;padding:10px 14px}.teacher-audit-detail-list>div:last-child{border-bottom:0}.teacher-audit-detail-summary span,.teacher-audit-detail-object span,.teacher-audit-detail-meta-grid span,.teacher-audit-detail-list span{color:var(--app-subtle);font-size:12px;font-weight:500}.teacher-audit-detail-summary strong,.teacher-audit-detail-object strong,.teacher-audit-detail-meta-grid strong,.teacher-audit-detail-list strong{min-width:0;color:var(--app-text);word-break:break-word;font-weight:500;line-height:1.5}.teacher-system-settings-page{gap:var(--workspace-section-gap);width:100%;display:grid}.teacher-system-settings-layout{align-items:start;gap:16px;display:grid}.teacher-system-setting-section{min-width:0;padding:var(--workspace-filter-card-padding-y)var(--workspace-filter-card-padding-x);border:1px solid var(--app-border-soft);background:var(--app-surface);box-shadow:var(--workspace-surface-shadow);border-radius:8px}.teacher-system-setting-section--policy .teacher-system-setting-list{grid-template-columns:repeat(2,minmax(320px,1fr));column-gap:26px}.teacher-system-setting-section--policy .teacher-setting-row{grid-template-columns:minmax(160px,210px) minmax(0,1fr);min-height:56px}.teacher-system-setting-section--policy .teacher-setting-name b{font-size:14px;font-weight:600}.teacher-system-setting-section--policy .teacher-setting-readonly-value{color:var(--app-muted);font-size:13px;font-weight:500}.teacher-system-setting-section--policy .teacher-setting-control .ant-input-number-input,.teacher-system-setting-section--policy .teacher-setting-inline-unit{font-weight:500}.teacher-system-setting-section--policy .teacher-setting-switch-state{font-weight:600}.teacher-system-section-head{min-height:var(--control-height);justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.teacher-system-section-actions{align-items:center;gap:8px;display:inline-flex}.teacher-system-setting-list{display:grid}.teacher-setting-row{border-bottom:1px solid var(--app-border-soft);grid-template-columns:minmax(160px,210px) minmax(0,1fr);justify-content:start;align-items:center;gap:18px;min-height:62px;padding:12px 0;display:grid}.teacher-setting-row:last-child{border-bottom:0}.teacher-setting-name{min-width:0}.teacher-setting-name b,.teacher-setting-name span{display:block}.teacher-setting-name b{color:var(--app-text);font-weight:850;line-height:1.4}.teacher-setting-name span{color:var(--app-subtle);margin-top:3px;font-size:11px;font-weight:650;line-height:1.45}.teacher-setting-control{align-items:center;gap:12px;min-width:0;min-height:38px;display:flex}.teacher-setting-readonly-value{min-width:0;min-height:38px;color:var(--app-text);word-break:break-word;align-items:center;font-weight:800;line-height:1.35;display:inline-flex}.teacher-setting-number-control{align-items:center}.teacher-setting-inline-unit{min-width:34px;color:var(--app-muted);font-size:13px;font-weight:650}.teacher-setting-switch-state{color:var(--app-muted);font-size:13px;font-weight:750}.teacher-setting-switch-state.is-enabled{color:var(--app-success)}.teacher-setting-control .ant-input-number{border-color:var(--app-border);border-radius:8px;width:min(220px,100%)}.teacher-setting-control .ant-input-number-focused,.teacher-setting-control .ant-input-number:focus,.teacher-setting-control .ant-input-number:focus-within{border-color:var(--app-primary);box-shadow:none}.teacher-setting-control .ant-switch.ant-switch-checked{background:var(--app-primary)}@media (max-width:980px){.teacher-system-setting-section--policy .teacher-system-setting-list{grid-template-columns:1fr}}.teacher-copy-source{border-bottom:1px solid var(--app-border-soft);color:var(--app-subtle);margin-bottom:12px;padding:6px 0 9px;font-size:13px;font-weight:400;line-height:1.5}.teacher-copy-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px;display:grid}.teacher-copy-section-title{color:var(--app-text);margin:0 0 8px;font-size:15px;font-weight:600}.teacher-copy-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.teacher-copy-list-item{border:1px solid var(--app-border-soft);background:var(--app-surface);width:100%;min-width:0;min-height:38px;color:var(--app-text);cursor:pointer;text-align:left;border-radius:8px;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 10px;font-size:14px;font-weight:400;line-height:1;display:grid}.teacher-copy-list-item.is-checked{background:#f5f9ff;border-color:#9fc4ff}.teacher-copy-list-item.is-locked,.teacher-copy-list-item.is-disabled{cursor:default}.teacher-copy-list-item.is-locked{background:#f8fbff}.teacher-copy-list-item.is-disabled{color:#808999;background:#f8fafc}.teacher-copy-list-mark{color:#0000;background:#fff;border:1px solid #cfd8e6;border-radius:3px;justify-content:center;align-items:center;width:16px;height:16px;font-size:11px;font-weight:800;display:inline-flex}.teacher-copy-list-item.is-checked .teacher-copy-list-mark{color:#fff;background:#1677ff;border-color:#1677ff}.teacher-copy-list-item.is-disabled .teacher-copy-list-mark{background:#eef2f7;border-color:#d7dde7}.teacher-copy-list-title{min-width:0;color:inherit;font-weight:inherit;text-overflow:ellipsis;white-space:nowrap;line-height:1;overflow:hidden}.teacher-copy-list-status{color:var(--app-muted);white-space:nowrap;font-size:12px;font-weight:400;line-height:1}.teacher-history-summary{border-bottom:1px solid var(--app-border-soft);gap:8px;padding-bottom:14px;display:grid}.teacher-history-summary__experiment{color:var(--app-subtle);font-size:13px;font-weight:500;line-height:1.35}.teacher-history-summary__main{color:var(--app-muted);flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;line-height:1.35;display:flex}.teacher-history-summary__main strong{color:var(--app-text);font-size:15px;font-weight:600}.teacher-history-section-title{color:var(--app-text);margin:16px 0 10px;font-size:15px;font-weight:600}.teacher-history-loading,.teacher-history-empty{border:1px solid var(--app-border-soft);background:var(--app-surface);color:var(--app-subtle);border-radius:6px;padding:12px;font-size:13px;font-weight:400}.teacher-history-version-table-wrap{border:1px solid var(--app-border-soft);background:var(--app-surface);border-radius:6px;overflow:hidden}.teacher-history-version-table{border-collapse:collapse;table-layout:fixed;width:100%}.teacher-history-version-table th,.teacher-history-version-table td{border-bottom:1px solid var(--app-border-soft);color:var(--app-muted);text-align:left;vertical-align:middle;padding:10px 12px;font-size:14px;line-height:1.35}.teacher-history-version-table th{color:var(--app-muted);background:#f7f9fc;font-size:13px;font-weight:500}.teacher-history-version-table tbody tr:last-child td{border-bottom:0}.teacher-history-version-table tbody tr.is-selected{background:#f4f8ff}.teacher-history-version-table th:first-child,.teacher-history-version-table td:first-child{width:120px;color:var(--app-text)}.teacher-history-version-table th:nth-child(2),.teacher-history-version-table td:nth-child(2){width:190px}.teacher-history-version-table th:nth-child(3),.teacher-history-version-table td:nth-child(3){width:110px}.teacher-history-version-table th:nth-child(4),.teacher-history-version-table td:nth-child(4){width:80px}.teacher-history-version-table th:last-child,.teacher-history-version-table td:last-child{width:180px}.teacher-history-version-cell{align-items:center;gap:6px;display:flex}.teacher-history-version-cell b{color:var(--app-text);font-weight:600}.teacher-history-actions{justify-content:flex-start}.teacher-history-actions .table-action-button{min-width:72px}.teacher-export-record-panel{gap:14px;display:grid}.teacher-export-table-card{border:1px solid var(--app-border-soft);background:var(--app-surface);border-radius:8px;min-width:0;overflow:hidden}.student-table-score{color:var(--app-text);font-variant-numeric:tabular-nums;font-weight:800}.student-table-muted{color:var(--app-subtle);font-size:13px;font-weight:650}.student-submit-success{gap:8px;display:grid}.student-submit-success__title{color:var(--app-text);font-size:15px;font-weight:600}.student-submit-success__body{color:var(--app-muted);font-size:14px;line-height:1.7}.student-report-feedback{border:1px solid var(--app-border-soft);background:var(--app-surface-soft);color:var(--app-muted);border-radius:8px;margin:10px 0 14px;padding:10px 12px;font-size:13px;font-weight:650;line-height:1.6}.student-report-feedback--return{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.student-report-viewer{gap:18px;display:grid}.student-report-viewer-summary{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px 16px;display:grid}.student-report-viewer-summary__meta{align-items:stretch;min-width:0;display:flex}.student-report-viewer-summary__item{border-right:1px solid var(--app-border-soft);flex-direction:column;justify-content:center;gap:4px;min-width:0;min-height:44px;padding:0 18px;display:flex}.student-report-viewer-summary__item:first-child{padding-left:0}.student-report-viewer-summary__item:last-child{border-right:0}.student-report-viewer-summary__item span{color:var(--app-muted);font-size:12px;font-weight:650;line-height:1.2}.student-report-viewer-summary__item strong{min-width:0;color:var(--app-text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:750;line-height:1.35;overflow:hidden}.student-report-viewer-summary__item .ant-tag{width:fit-content;margin:0}.student-report-history-feedback{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.student-report-history-table .ant-table-tbody>tr.student-report-history-row--current>td{background:#f3f7ff}.student-report-history-table .ant-table-tbody>tr.student-report-history-row--current>td:first-child{box-shadow:inset 3px 0 0 var(--app-primary)}.student-report-history-table .ant-table-tbody>tr.student-report-history-row--current:hover>td{background:#edf4ff}.student-report-viewer-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.student-report-viewer-feedback{grid-column:1/-1;gap:8px;display:grid}.student-report-viewer-feedback .student-report-feedback{margin:0}.student-report-viewer-empty{justify-content:center;align-items:center;min-height:220px;display:flex}.student-report-workspace{gap:var(--workspace-section-gap);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.student-report-form-card,.student-report-preview-column{min-width:0}.student-report-editor-content{position:relative}.student-report-editor-loading{min-height:320px;color:var(--app-text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.student-report-preview-column{justify-content:flex-end;display:flex}.student-report-preview-column--editor{align-self:stretch;align-items:flex-start}.student-report-preview-column--full{justify-content:center}.student-report-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:20px;display:flex}@media (max-width:1280px){.student-prototype-course-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"main actions""facts facts";row-gap:16px}.student-course-list-row__facts{border-top:1px solid var(--app-border-soft);border-left:0;grid-template-columns:repeat(2,minmax(0,1fr));padding:16px 0 0}.student-course-list-row__facts>div:nth-child(2n){border-right:0}}@media (max-width:960px){.teacher-class-import-header{flex-wrap:wrap;align-items:flex-start}.teacher-class-import-context{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-class-import-file-row{grid-column:1/-1}.teacher-class-import-actions{justify-content:flex-start;width:100%}.app-shell__topbar{flex-wrap:wrap;height:auto;min-height:66px;padding:12px 16px}.app-shell__topbar-actions{flex-wrap:wrap;justify-content:flex-start;width:100%}.app-shell__account{margin-left:auto}.app-shell--teacher{background:var(--app-bg);display:block}.app-shell__sidebar{z-index:820;border-bottom:1px solid #ffffff1f;border-right:0;height:auto;min-height:0;padding:12px 16px}.app-shell__sidebar-section{display:none}.app-shell--teacher .app-shell__nav--teacher{flex-direction:row;align-items:center;padding-bottom:2px;overflow-x:auto}.app-shell--teacher .app-shell__nav-link{width:auto;min-width:max-content}.app-shell__teacher-main{padding:16px}.app-shell--student .app-shell__workspace{min-height:0;display:block}.app-shell__student-sidebar{height:auto;padding:10px 16px;position:static}.app-shell__student-sidebar-title{display:none}.app-shell--student .app-shell__nav--student{flex-direction:row;overflow-x:auto}.app-shell--student .app-shell__nav-link{width:auto;min-width:max-content}.app-shell__student-main{padding:16px}.workspace-page-head{flex-direction:column;align-items:stretch}.workspace-page-head__actions{justify-content:flex-start;width:100%}.student-course-back-button{width:fit-content}.teacher-workspace-panel__header{flex-direction:column}.teacher-workspace-panel__actions,.teacher-panel-toolbar{justify-content:flex-start;width:100%}.teacher-course-search{width:100%}.teacher-course-context--with-cover{flex-direction:column;align-items:flex-start}.teacher-course-context__meta{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.teacher-course-cover-view--hero{aspect-ratio:16/9;width:min(100%,360px);height:auto}.app-shell__nav{width:100%;overflow-x:auto}.app-shell__account{justify-content:space-between;width:100%}.app-shell__account-meta{text-align:left}.login-panel,.student-report-workspace,.student-profile-primary-layout,.teacher-audit-grid,.teacher-system-settings-layout{grid-template-columns:1fr}.student-profile-primary-main{border-right:0;border-bottom:1px solid var(--app-border-soft);padding-bottom:16px;padding-right:0}.student-profile-row{grid-template-columns:1fr;gap:4px}.student-profile-row strong{text-align:left;justify-self:start}.student-report-viewer-summary{grid-template-columns:1fr}.student-report-viewer-summary__meta{flex-direction:column}.student-report-viewer-summary__item,.student-report-viewer-summary__item:first-child{border-right:0;border-bottom:1px solid var(--app-border-soft);padding:10px 0}.student-report-viewer-summary__item:last-child{border-bottom:0}.student-report-viewer-actions{justify-content:flex-start}.teacher-setting-row{grid-template-columns:1fr;gap:8px}.student-account-toolbar{justify-content:flex-start}.student-context-line{grid-template-columns:1fr}.student-prototype-course-row{grid-template-columns:1fr;grid-template-areas:"main""facts""actions";align-items:stretch;gap:16px}.student-course-list-row__actions{border-top:1px solid var(--app-border-soft);border-left:0;justify-content:flex-end;padding-top:16px;padding-left:0}.student-course-list-row__facts{border-top:1px solid var(--app-border-soft);border-left:0;padding:16px 0 0}.student-context-main{border-right:0;border-bottom:1px solid var(--app-border);min-width:0}.student-course-context-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.grading-card-actions{justify-content:flex-start;width:100%}.student-preview{position:static}.student-report-preview-column{justify-content:flex-start}}@media (max-width:640px){body{background:var(--app-bg)}.app-shell__teacher-main{padding:14px}.app-shell__sidebar .app-shell__brand{gap:10px}.app-shell__sidebar .app-shell__brand-title{font-size:14px}.app-shell__student-main{padding-left:14px;padding-right:14px}.workspace-page-head__title{font-size:21px}.teacher-course-context__meta{grid-template-columns:1fr}.teacher-course-context--with-cover .teacher-course-context__item{border-right:0;border-bottom:1px solid var(--app-border-soft);padding:10px 0}.teacher-course-context--with-cover .teacher-course-context__item:last-child{border-bottom:0}.teacher-workspace-panel__header,.teacher-workspace-panel__body{padding-left:14px;padding-right:14px}.teacher-class-import-context{grid-template-columns:1fr}.teacher-class-import-file-row{flex-direction:column;align-items:flex-start}.teacher-experiment-publish-form{grid-template-columns:1fr}.student-report-filter-control,.student-report-search,.workspace-date-picker--range{width:100%!important}.workspace-filter-layout{grid-template-columns:1fr;align-items:stretch;width:100%}.workspace-filter-controls,.workspace-filter-actions{flex-wrap:wrap;justify-content:flex-start;width:100%}.teacher-filter-select,.teacher-export-search,.teacher-audit-filter,.teacher-audit-keyword{width:100%}.teacher-audit-detail-meta-grid{grid-template-columns:1fr}.teacher-audit-detail-meta-grid>div,.teacher-audit-detail-meta-grid>div:nth-child(2n),.teacher-audit-detail-meta-grid>div:nth-last-child(-n+2){border-right:0;border-bottom:1px solid var(--app-border-soft)}.teacher-audit-detail-meta-grid>div:last-child{border-bottom:0}.teacher-copy-form-grid,.teacher-copy-list{grid-template-columns:1fr}.teacher-history-version-table-wrap{overflow-x:auto}.teacher-history-version-table{min-width:720px}.student-prototype-filter-card{justify-content:flex-start;align-items:stretch;width:100%}.student-prototype-filter-card .ant-input,.student-prototype-filter-card .ant-input-affix-wrapper,.student-prototype-filter-card .ant-select,.student-course-filter-row .ant-select,.student-course-filter-row .ant-btn{width:100%!important}.student-course-list-row__main{grid-template-columns:1fr}.student-course-list-row__cover{width:100%}.student-course-list-row__facts{grid-template-columns:1fr}.student-course-list-row__facts>div,.student-course-list-row__facts>div:last-child{border-right:0;border-bottom:1px solid var(--app-border-soft);padding:10px 0}.student-course-list-row__facts>div:last-child{border-bottom:0}.student-course-list-row__title,.student-course-list-row__facts dd{text-overflow:clip;white-space:normal;word-break:break-word;overflow:visible}.student-course-context-meta{grid-template-columns:1fr}.student-course-context-meta .student-context-item,.student-course-context-meta .student-context-item:last-child{border-right:0;border-bottom:1px solid var(--app-border-soft)}.student-course-context-meta .student-context-item:last-child{border-bottom:0}.student-report-actions{flex-wrap:wrap}.student-report-actions>button,.student-report-viewer-actions>button{flex:120px}.student-record-item__header{align-items:center}.student-record-item__actions{width:auto}.student-record-block__header{align-items:flex-start}.student-image-upload__paste-zone{flex-direction:column;align-items:stretch}.student-image-upload__actions .ant-btn{width:100%}.grading-card-actions .ant-btn{flex:100%;width:100%}}.teacher-experiment-config-section{border-top:1px solid var(--app-border-soft);gap:10px;padding-top:16px;display:grid}.teacher-experiment-config-label{color:var(--app-text);font-size:14px;font-weight:500}.teacher-experiment-config-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.teacher-experiment-rubric-total{color:var(--app-muted);font-size:13px;font-weight:400}.teacher-experiment-rubric-total--invalid{color:var(--app-danger)}.teacher-experiment-config-section .ant-checkbox-group{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 16px;display:grid}.teacher-experiment-score-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;display:grid}@media (max-width:720px){.teacher-experiment-config-section .ant-checkbox-group,.teacher-experiment-score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:480px){.teacher-experiment-score-grid{grid-template-columns:1fr}}.teacher-grading-rubric{border-block:1px solid var(--app-border-soft)}.teacher-grading-rubric>div{border-bottom:1px solid var(--app-border-soft);min-height:38px;color:var(--app-muted);justify-content:space-between;align-items:center;font-size:14px;display:flex}.teacher-grading-rubric>div:last-child{border-bottom:0}.teacher-grading-rubric strong{color:var(--app-text);font-weight:500}
