:root{font-family:Inter,SF Pro Text,PingFang SC,Microsoft YaHei,Arial,sans-serif;color:#151714;background:#f5f6f2;font-synthesis:none;--background:#f5f6f2;--panel:#ffffff;--text:#151714;--secondary:#747971;--muted:#a5aaa2;--border:#d8dbd4;--soft-border:#e7e9e4;--accent:#c6de32;--accent-strong:#9bb51e;--accent-ink:#6f7d1e;--accent-rgb:198,222,50;--table-head-bg:rgba(243,244,240,0.84);--table-head-soft:rgba(243,244,240,0.58);--surface-tint:#fafbf8;--ui-color-accent:var(--accent);--ui-status-review:var(--accent)}:root[data-theme=orange]{--background:#f8f6f4;--table-head-bg:rgba(246,241,234,.88);--table-head-soft:rgba(246,241,234,.62);--surface-tint:#fcf8f3;--accent:#f0a33a;--accent-strong:#d88316;--accent-ink:#96570b;--accent-rgb:240,163,58}:root[data-theme=blue]{--background:#f4f6f8;--table-head-bg:rgba(237,242,248,.88);--table-head-soft:rgba(237,242,248,.62);--surface-tint:#f7f9fc;--accent:#4b89e8;--accent-strong:#2f6cc7;--accent-ink:#285aa0;--accent-rgb:75,137,232}:root[data-theme=violet]{--background:#f6f4f8;--table-head-bg:rgba(242,238,247,.88);--table-head-soft:rgba(242,238,247,.62);--surface-tint:#faf7fc;--accent:#8b6ce0;--accent-strong:#6b4fc2;--accent-ink:#5840a3;--accent-rgb:139,108,224}:root[data-theme=teal]{--background:#f2f6f4;--table-head-bg:rgba(235,244,241,.88);--table-head-soft:rgba(235,244,241,.62);--surface-tint:#f6fbf9;--accent:#36b6a0;--accent-strong:#168e7b;--accent-ink:#147566;--accent-rgb:54,182,160}:root[data-theme=coral]{--background:#f8f4f4;--table-head-bg:rgba(247,238,237,.88);--table-head-soft:rgba(247,238,237,.62);--surface-tint:#fcf7f6;--accent:#e4675d;--accent-strong:#c64d44;--accent-ink:#9b3b35;--accent-rgb:228,103,93}*{box-sizing:border-box}html{scrollbar-gutter:stable;scrollbar-width:thin}body,html{background:var(--background);scrollbar-color:transparent var(--background)}body{margin:0;min-width:1080px;min-height:100vh;overflow-y:scroll;-webkit-font-smoothing:antialiased}body:has(.class-detail-content){min-width:1000px}html::-webkit-scrollbar{width:14px;height:14px}html::-webkit-scrollbar-track{background:var(--background)}html::-webkit-scrollbar-thumb{background:transparent}body::-webkit-scrollbar{width:14px;height:14px}body::-webkit-scrollbar-track{background:var(--background)}body::-webkit-scrollbar-thumb{background:transparent}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid rgba(73,79,72,.48);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{display:grid;grid-template-columns:180px minmax(0,1fr);min-height:100vh;background:var(--panel)}.sidebar{inset:0 auto 0 0;z-index:10;display:flex;flex-direction:column;border-right:1px solid var(--soft-border)}.app-shell>.sidebar,.sidebar{position:fixed;width:180px;background:var(--background)}.app-shell>.sidebar{inset:0 auto auto 0;height:100dvh;padding:0;color:var(--text)}.app-shell>.sidebar .primary-nav{display:block;gap:0}.app-shell>.sidebar .primary-nav>.nav-item{min-height:0;padding:0 12px;border-radius:0;color:var(--text)}.brand{height:118px;display:flex;align-items:center;gap:12px;padding:0 22px}.brand-switch{width:100%;border:0;background:transparent;color:inherit;text-align:left;text-decoration:none;cursor:pointer}.brand svg{flex:0 0 auto;stroke-width:1.4}.brand-copy{display:flex;flex-direction:column;gap:3px;font-size:8px;line-height:1;letter-spacing:.16em;white-space:nowrap}.brand-copy strong{font-size:10px;font-weight:700}.brand-copy span{color:var(--secondary);font-weight:650}.primary-nav{padding:28px 12px 16px;transform:translateY(-24px)}.nav-item{position:relative;width:100%;height:78px;display:grid;grid-template-columns:28px 1fr;align-items:center;grid-gap:12px;gap:12px;padding:0 12px;border:0;background:transparent;text-align:left;cursor:default}.nav-item:not(.is-active):hover{background:rgba(255,255,255,.45)}.nav-item.is-active{background:rgba(255,255,255,.78)}.active-line{position:absolute;left:0;top:16px;bottom:16px;width:2px;background:transparent}.is-active .active-line{background:var(--accent)}.nav-leading{width:28px;display:grid;place-items:center start}.nav-icon{color:#62675f}.nav-number{color:var(--accent);font-size:17px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.03em}.nav-copy{display:flex;flex-direction:column;gap:7px}.nav-label,.settings strong{position:relative;top:1px}.nav-label{font-size:13px;font-weight:600}.nav-english,.settings small{position:relative;top:-1px}.nav-english{color:var(--muted);font-size:8px;font-weight:650;letter-spacing:.1em}.settings{flex:0 0 86px;height:86px;margin:auto 20px 10px;display:flex;align-items:center;gap:12px;padding:0 8px;border:0;border-top:1px solid var(--soft-border);background:transparent;text-align:left;color:#737970}.settings:not(:disabled){cursor:pointer}.settings.is-active,.settings:not(:disabled):hover{background:#f4f5f1;color:#242824}.settings.is-active svg{color:var(--accent)}.settings>span{display:flex;flex-direction:column;gap:6px}.settings strong{font-size:12px}.settings small{color:var(--muted);font-size:8px;font-weight:650;letter-spacing:.1em}.workspace{grid-column:2;min-width:0;background:var(--panel)}.topbar{height:118px;align-items:flex-start;justify-content:space-between;padding:39px 38px 0;background:var(--panel)}.page-title,.topbar{position:relative;display:flex}.page-title{top:9.5px;align-items:flex-end;gap:18px}.page-title h1{position:relative;top:-1px;margin:0;font-size:var(--ui-type-page-title-size,22px);line-height:var(--ui-type-page-title-line,28px);font-weight:var(--ui-type-page-title-weight,760);letter-spacing:.055em}.page-title>span{position:static;font-size:var(--ui-type-page-label-size,12px);line-height:var(--ui-type-page-label-line,16px);font-weight:var(--ui-type-page-label-weight,600)}.eyebrow,.page-title>span{color:var(--secondary);letter-spacing:.12em}.eyebrow{font-size:11px;font-weight:600}.system-meta{position:relative;z-index:60;display:flex;align-items:center;height:40px}.system-meta>time{padding-right:26px;color:#373a35;font-family:SFMono-Regular,Roboto Mono,monospace;font-size:11px;font-weight:600;letter-spacing:.03em}.notice-wrap{position:relative;display:flex;align-items:center;height:100%;padding:0 18px;border-left:1px solid var(--soft-border);border-right:1px solid var(--soft-border)}.icon-button{position:relative;width:34px;height:34px;display:grid;place-items:center;padding:0;border:0;background:transparent;cursor:pointer}.unread-dot{position:absolute;top:7px;right:6px;width:5px;height:5px;border:1px solid var(--panel);border-radius:50%;background:#d84f43}.notice-panel{position:absolute;top:61px;right:-1px;z-index:80;width:310px;display:flex;flex-direction:column;padding:6px;background:var(--panel);border:1px solid var(--border);box-shadow:0 14px 34px rgba(31,35,29,.09)}.notice-panel header{min-height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-bottom:1px solid var(--soft-border)}.notice-panel header span{font-size:12px;font-weight:650}.notice-panel header small{font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:8px;letter-spacing:.08em}.notice-panel>button{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border:0;border-bottom:1px solid var(--soft-border);background:transparent;color:#4f554e;text-align:left;cursor:pointer}.notice-panel>button:focus-visible,.notice-panel>button:hover{outline:0;background:#f5f6f2}.notice-panel>button>span{min-width:0;display:flex;flex-direction:column;gap:6px}.notice-panel strong{overflow:hidden;font-size:11px;font-weight:620;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.notice-panel small{color:var(--secondary);font-size:9px}.notice-panel .notice-empty{min-height:74px;display:grid;place-items:center;padding:12px;border-bottom:1px solid var(--soft-border);color:#8b9188;font-size:10px;text-align:center}.notice-panel>button.notice-view-all{min-height:38px;justify-content:flex-end;border-bottom:0;color:#747a72;font-size:10px}.profile-wrap{position:relative;height:100%}.user-profile{height:100%;display:flex;align-items:center;gap:10px;padding-left:18px;padding-right:0;border:0;background:transparent;text-align:left;cursor:pointer}.user-profile img{width:32px;height:32px;border-radius:50%;object-fit:cover;object-position:50% 42%;filter:saturate(.55) contrast(1.03)}.user-profile>.teacher-avatar-slot{width:32px;min-width:32px;max-width:32px;height:32px;flex:0 0 32px;border-radius:50%}.user-profile>.admin-profile-mark{width:32px;height:32px;min-width:32px;display:grid;place-items:center;border-radius:50%;background:#20231f;color:#f5f6f2;font-family:var(--ui-font-numeric,sans-serif);font-size:12px;font-weight:700}.user-profile>.user-profile-copy{min-width:58px;display:flex;flex-direction:column;gap:4px}.user-profile strong{font-size:12px;font-weight:600}.user-profile small{color:var(--secondary);font-family:var(--ui-font-body,Inter,"SF Pro Text","PingFang SC","Microsoft YaHei",Arial,sans-serif);font-size:8px;letter-spacing:.09em}.user-profile .student-code-reveal{font-size:8px;letter-spacing:.07em}.user-profile>svg{margin-left:2px;color:var(--secondary)}.profile-menu{position:absolute;top:61px;right:0;z-index:80;width:190px;display:flex;flex-direction:column;padding:5px;border:1px solid var(--border);background:var(--panel);box-shadow:0 14px 34px rgba(31,35,29,.09)}.profile-menu button{min-height:48px;display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;grid-gap:10px;gap:10px;padding:0 11px;border:0;background:transparent;color:#5c625b;text-align:left;cursor:pointer}.profile-menu button:focus-visible,.profile-menu button:hover{outline:0;background:#f4f5f1;color:#242824}.profile-menu button>span{display:flex;flex-direction:column;gap:4px}.profile-menu strong{font-size:11px;font-weight:620}.profile-menu small{color:#92978f;font-size:8px;letter-spacing:.07em}.profile-menu.is-theme-open{width:228px}.theme-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:3px;gap:3px;padding:5px;border-top:1px solid var(--soft-border);border-bottom:1px solid var(--soft-border);background:var(--surface-tint)}.profile-menu .theme-swatch{min-height:42px;display:grid;grid-template-columns:16px minmax(0,1fr) 13px;grid-gap:7px;gap:7px;padding:0 7px}.profile-menu .theme-swatch>i{width:12px;height:12px;border:1px solid rgba(21,23,20,.12);border-radius:50%}.profile-menu .theme-swatch>span{gap:3px}.profile-menu .theme-swatch strong{font-size:9.5px;white-space:nowrap}.profile-menu .theme-swatch small{font-size:6.5px;letter-spacing:.05em}.profile-menu .theme-swatch>svg{color:var(--accent-ink);opacity:0}.profile-menu .theme-swatch.is-selected{background:rgba(var(--accent-rgb),.08);color:#242824}.profile-menu .theme-swatch.is-selected>svg{opacity:1}.content-area{position:relative;top:-37px;padding:0 38px 28px}.section-index{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.tabs{position:relative;align-self:stretch;display:flex;align-items:stretch;gap:42px;padding-left:0}.tabs button{position:relative;min-width:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:4px 0 0;border:0;background:transparent;color:#888d85;font-size:13.6667px;font-weight:500;cursor:pointer}.tabs button.active{color:var(--text);font-weight:650}.student-index-page .section-index{height:82px;flex-wrap:nowrap;column-gap:24px}.student-index-page .tabs{min-width:0;min-height:0;flex:1 1 auto;margin-bottom:-1px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.student-index-page .tabs::-webkit-scrollbar{display:none}.student-index-page .tabs button{flex-shrink:0;white-space:nowrap}.student-index-page .tabs-indicator{bottom:0}.student-index-page .filters{height:38px;margin-left:auto;flex-shrink:0}.student-registry-controls{display:inline-flex;gap:8px;align-items:center}.registry-icon-select{position:relative}.registry-icon-select.is-active{color:var(--text);background:var(--surface-tint)}.registry-icon-select>svg{pointer-events:none}.registry-icon-select select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.tabs-indicator{position:absolute;left:0;bottom:-1px;width:42px;height:2px;background:var(--accent);pointer-events:none;transition:transform .24s cubic-bezier(.2,.75,.25,1),background-color .18s ease}.tabs-indicator.tab-tone-pending{background:#b5b9b1}.tabs-indicator.tab-tone-review{background:var(--accent)}.tabs-indicator.tab-tone-revision{background:#e28a38}.tabs-indicator.tab-tone-complete{background:#9cad4a}.tab-count{min-width:20px;height:20px;display:inline-grid;place-items:center;padding:0 5px;border-radius:6px;font-size:10px;font-weight:650;line-height:1;letter-spacing:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tab-count,.tab-count-pending{background:#eef0eb;color:#747a71}.tab-count-review{background:rgba(var(--accent-rgb),.18);color:var(--accent-ink)}.tab-count-revision{background:rgba(226,138,56,.14);color:#c7752c}.tab-count-complete{background:rgba(156,173,74,.16);color:#71803b}.filters{display:flex;align-items:center;gap:12px}.course-filter,.search-field{height:38px;display:flex;align-items:center;background:rgba(255,255,255,.56);border:1px solid var(--border)}.course-filter{position:relative;width:154px}.course-filter select{width:100%;height:100%;padding:0 34px 0 13px;border:0;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;color:#4f544d;font-size:13px}.course-filter svg{position:absolute;right:12px;pointer-events:none}.search-field{width:208px;padding:0 12px}.search-field input{min-width:0;flex:1 1;height:100%;padding:0;border:0;outline:0;background:transparent;color:var(--text);font-size:13px}.search-field input::placeholder{color:#a6aaa3}.search-field>svg{color:#8c9189}.search-field button{display:grid;place-items:center;padding:4px;border:0;background:transparent;cursor:pointer}.global-search-field{position:relative;z-index:24}.global-entity-filter select{font-weight:520}.global-search-results{position:absolute;top:calc(100% + 7px);right:-1px;width:392px;max-height:356px;overflow-y:auto;padding:5px;border:1px solid var(--border);background:#fff;box-shadow:0 14px 34px rgba(31,35,29,.09)}.global-search-results>button{width:100%;min-height:54px;display:grid;grid-template-columns:108px minmax(0,1fr) 16px;align-items:center;grid-column-gap:12px;column-gap:12px;padding:7px 10px;border:0;background:transparent;color:var(--text);text-align:left}.global-search-results>button:focus-visible,.global-search-results>button:hover{outline:0;background:#f4f5f1}.global-search-results>button>span{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px}.global-search-results>button>span:first-child small{color:#8a9087;font-size:9px;font-weight:650;letter-spacing:.08em}.global-search-results>button>span:first-child b{font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:10px;font-weight:500;letter-spacing:.025em}.global-search-results>button>span:nth-child(2) strong{max-width:100%;overflow:hidden;font-size:12px;font-weight:620;text-overflow:ellipsis;white-space:nowrap}.global-search-results>button>span:nth-child(2) small{max-width:100%;overflow:hidden;color:#858b82;font-size:9px;letter-spacing:.025em;text-overflow:ellipsis;white-space:nowrap}.global-search-results>button>svg{color:#92978f}.global-search-empty{min-height:80px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#858b82}.global-search-empty small{font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:9px;letter-spacing:.12em}.global-search-empty span{font-size:12px}.table-frame{margin-top:28px;background:rgba(255,255,255,.6);border:1px solid var(--border);border-radius:3px;overflow:hidden}.index-table-frame,.registry-table-frame{border:0;border-radius:0;background:transparent}.index-table-frame>.index-table,.registry-table-frame>.registry-table{border:1px solid var(--border);border-radius:3px;background:rgba(255,255,255,.6)}.assignment-table{min-width:880px}.table-row{display:grid;grid-template-columns:minmax(184px,1.32fr) minmax(190px,1.45fr) minmax(126px,.84fr) minmax(126px,.9fr) minmax(126px,.86fr) 70px;align-items:center;grid-column-gap:18px;column-gap:18px;padding:0 22px}.table-head{height:46px;color:#666b64;background:var(--table-head-bg);font-size:12px;font-weight:600;letter-spacing:.06em}.assignment-row,.table-head{border-bottom:1px solid var(--soft-border)}.assignment-row{min-height:66px;background:rgba(255,255,255,.54)}.assignment-row:last-child{border-bottom:0}.assignment-row:hover{background:rgba(250,251,247,.98)}.assignment-name,.status{display:flex;align-items:flex-start}.assignment-name{flex-direction:column;gap:6px}.assignment-name small{color:var(--secondary);font-family:SFMono-Regular,Roboto Mono,monospace;font-size:11px;letter-spacing:.03em}.assignment-name strong{font-size:13.6667px;font-weight:620}.course-name{color:#50554e;font-size:13px}.assignment-row>time{color:#50554e;font-size:11.6667px;font-family:SFMono-Regular,Roboto Mono,monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.02em}.assignment-row>time.muted{color:#b1b5ae}.status{gap:9px}.status-dot{width:6px;height:6px;margin-top:5px;flex:0 0 auto;border-radius:50%;background:var(--accent)}.status>span:last-child{display:flex;flex-direction:column;gap:4px}.status strong{font-size:13px;font-weight:620}.status small{color:#8f9588;font-size:10px;font-weight:600;letter-spacing:.06em}.status-review small{color:var(--accent)}.status-pending .status-dot,.status-revision .status-dot{background:#b5b9b1}.status-pending small,.status-revision small{color:#969b93}.status-complete .status-dot{background:#9cad4a}.status-complete small{color:#8f9588}.status-revision .status-dot{background:#e28a38}.status-revision small{color:#e28a38}.app-shell:is(.is-courses,.is-assignment-list,.is-classes) .eyebrow{font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace)}.app-shell:is(.is-courses,.is-assignment-list,.is-classes) .page-title>span{font-family:var(--ui-font-body,Inter,"SF Pro Text","PingFang SC","Microsoft YaHei",Arial,sans-serif)}.app-shell:is(.is-courses,.is-assignment-list,.is-classes) .course-card-english{font-family:var(--ui-font-body,Inter,"SF Pro Text","PingFang SC","Microsoft YaHei",Arial,sans-serif)}.app-shell:is(.is-courses,.is-assignment-list,.is-classes) .course-add-card small,.app-shell:is(.is-courses,.is-assignment-list,.is-classes) .course-card-number,.app-shell:is(.is-courses,.is-assignment-list,.is-classes) .course-empty span{font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace)}.app-shell:is(.is-courses,.is-assignment-list,.is-classes) .course-lessons,.app-shell:is(.is-courses,.is-assignment-list,.is-classes) .course-progress-value{font-family:var(--ui-font-body,Inter,"SF Pro Text","PingFang SC","Microsoft YaHei",Arial,sans-serif)}.app-shell:is(.is-courses,.is-assignment-list,.is-classes) .course-card-dates,.app-shell:is(.is-courses,.is-assignment-list,.is-classes) .course-card-id{font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace)}.course-filters{gap:12px}.course-filters .search-field{order:3}.course-filters .course-filter{order:2}.course-view-toggle{order:1;width:38px;height:38px;display:flex;align-items:center;justify-content:center;gap:0;padding:0;border:1px solid var(--border);border-radius:3px;background:rgba(255,255,255,.56);overflow:hidden}.registry-action-buttons{order:-1;display:flex;align-items:center;gap:12px}.course-record-actions{order:-1;width:38px;height:38px;margin:0;transform:translateX(0)}.registry-action-button{width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;padding:0;border:1px solid var(--border);border-radius:3px;background:rgba(255,255,255,.56);color:#7b8178;cursor:pointer}.registry-action-button:focus-visible,.registry-action-button:hover,.registry-icon-select:focus-within{outline:0;border-color:#c5c9c1;background:rgba(250,251,247,.98);color:#4e554c}.message-mark-all-read:disabled{cursor:default;opacity:.42}.class-index-filters .class-csv-control{transform:translateX(0)}.class-cohort-control{order:0;width:38px;height:38px;flex:0 0 38px}.class-cohort-button{width:38px;height:38px;display:grid;place-items:center;padding:0;border:1px solid var(--border);border-radius:3px;background:rgba(255,255,255,.56);color:#636a61;font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:10px;font-weight:400;line-height:1;white-space:nowrap;cursor:pointer}.class-cohort-button:focus-visible,.class-cohort-button:hover{outline:0;border-color:#c5c9c1;background:rgba(250,251,247,.98);color:var(--text)}.course-view-toggle button{width:36px;height:36px;display:grid;place-items:center;flex:0 0 36px;padding:0;border:0;border-radius:0;background:transparent;color:#7b8178;cursor:pointer}.course-view-toggle button+button{border-left:1px solid var(--soft-border)}.course-view-toggle button.is-active{color:var(--accent-ink);background:rgba(255,255,255,.9)}.filters>.assignment-list-entry{order:-1}.filters>.assignment-class-entry{order:-2}.filters>.assignment-monitor-back-control{order:-3}.assignment-list-content .class-cohort-control,.assignment-monitor-page .class-cohort-control{order:-4}.assignment-list-filters .assignment-back-control,.class-detail-filters .class-detail-back-control,.course-filters .course-ledger-back-control{order:-2}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:20px;gap:20px;margin-top:28px}.course-card{position:relative;min-width:0;min-height:312px;display:block;padding:24px 24px 20px;border:1px solid var(--border);border-radius:6px;background:rgba(255,255,255,.68);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:none}.course-card:hover{border-color:#c4cbc0;background:rgba(250,251,247,.98)}.index-card-actions{position:absolute;top:14px;right:15px;z-index:12}.index-card-action-trigger{width:30px;height:28px;display:grid;place-items:center;padding:0;border:0;border-radius:2px;background:transparent;color:#858b82;cursor:pointer}.index-card-action-trigger:focus-visible,.index-card-action-trigger:hover,.index-card-actions.is-open .index-card-action-trigger{outline:0;background:transparent;color:#3f453e}.index-card-action-popover{position:absolute;top:calc(100% + 4px);right:0;width:108px;display:flex;flex-direction:column;padding:5px;border:1px solid var(--border);background:#fff;box-shadow:0 10px 24px rgba(31,35,29,.08)}.index-card-action-popover button{min-height:34px;padding:0 12px;border:0;background:transparent;color:#4c524a;font:inherit;font-size:12px;text-align:left;cursor:pointer}.index-card-action-popover button:focus-visible,.index-card-action-popover button:hover{outline:0;background:#f4f5f1;color:#171a16}.index-card-action-popover button.is-danger{color:#a45750}.index-card:not(.course-add-card):before{position:absolute;top:55px;bottom:56px;left:-2px;width:3px;border-radius:2px;background:var(--accent);content:"";opacity:0;transition:none}.index-card:not(.course-add-card):focus-visible:before,.index-card:not(.course-add-card):hover:before{opacity:1}.index-card.is-disabled:not(.course-add-card):before{background:#e39a3b}.course-card-number{display:block;color:var(--secondary);font-family:DIN Alternate,DIN\ 1451,Arial Narrow,sans-serif;font-size:13px;letter-spacing:.04em}.course-card-title{display:block;margin-top:20px;color:#20231f;font-size:18px;font-weight:650;letter-spacing:.025em;white-space:nowrap}.course-card-english{display:block;margin-top:9px;color:#8b9188;font-family:DIN Alternate,DIN\ 1451,Arial Narrow,sans-serif;font-size:11px;letter-spacing:.06em;white-space:nowrap}.course-progress-label{display:block;margin-top:27px;color:#777d74;font-size:11px}.course-progress-value{display:flex;align-items:baseline;gap:2px;margin-top:2px;font-family:DIN Alternate,DIN\ 1451,Arial Narrow,sans-serif}.course-progress-value b{color:#151714;font-size:42px;font-weight:500;line-height:1;letter-spacing:-.025em}.course-progress-value small{color:#343a32;font-size:18px;font-weight:400}.course-lessons{position:absolute;top:194px;right:24px;color:#42483f;font-family:DIN Alternate,DIN\ 1451,Arial Narrow,sans-serif;font-size:12px;letter-spacing:.025em}.course-progress-track{position:absolute;right:24px;bottom:71px;left:24px;height:4px;display:block;background:#e2e5df}.course-progress-track i{display:block;height:100%;background:var(--accent)}.index-card.is-disabled .course-progress-track i{background:#e39a3b}.course-progress-track em{position:absolute;top:50%;width:8px;height:8px;display:block;border:1px solid #858d7f;border-radius:50%;background:#fff;transform:translate(-50%,-50%)}.course-card-id{bottom:43px;color:#81877f;letter-spacing:.04em}.course-card-dates,.course-card-id{position:absolute;left:24px;font-family:DIN Alternate,DIN\ 1451,Arial Narrow,sans-serif;font-size:12px}.course-card-dates{bottom:25px;color:#777d74;letter-spacing:.035em}.course-grid:not(.is-list) .course-card:not(.course-add-card){display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding-top:22px}.course-grid:not(.is-list) .course-card:not(.course-add-card) .course-card-title{margin-top:22px;font-size:22px;font-weight:500}.course-grid:not(.is-list) .course-card:not(.course-add-card) .course-card-english{margin-top:8px}.course-grid:not(.is-list) .course-card:not(.course-add-card) .course-progress-label{margin-top:29px;font-size:13px}.course-grid:not(.is-list) .course-card:not(.course-add-card) .course-progress-value{margin-top:12px}.course-grid:not(.is-list) .course-card:not(.course-add-card) .course-card-id{bottom:42px}.course-grid:not(.is-list) .course-card:not(.course-add-card) .course-card-dates{bottom:22px}.class-index-grid .class-index-card{min-height:312px}.class-card-type{position:absolute;top:24px;right:54px;color:#878d84;font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:9px;font-weight:500;letter-spacing:.055em}.class-index-card .course-lessons{color:#555b53;font-size:12px}.class-index-card .course-card-dates{max-width:calc(100% - 48px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.class-detail-content{padding-bottom:36px}.class-members-content{padding-top:26px}.class-member-save-bar{display:flex;align-items:center;justify-content:flex-end;gap:16px;padding:14px 0 2px;border-top:1px solid #e7e9e4}.class-member-save-bar span{margin-right:auto;color:#a64036;font-size:12px}.class-member-save-bar button{min-height:36px;padding:0 18px;border:1px solid #30352f;background:#30352f;color:#fff;cursor:pointer}.class-member-save-bar button:disabled{cursor:wait;opacity:.55}.class-detail-summary{min-height:126px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--border);background:rgba(255,255,255,.66)}.class-detail-summary>div{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:15px;padding:22px 28px;border-left:1px solid var(--soft-border)}.class-detail-summary>div:first-child{border-left:0}.class-detail-summary span{display:flex;flex-direction:column;gap:5px;color:#3f443e;font-size:12px;font-weight:620;letter-spacing:.03em}.class-detail-summary span small{color:#92978f;font-family:var(--ui-font-body,Inter,"SF Pro Text",sans-serif);font-size:8.5px;font-weight:500;letter-spacing:.055em}.class-detail-summary strong{overflow:hidden;color:#1f221e;font-size:18px;font-weight:600;letter-spacing:.025em;text-overflow:ellipsis;white-space:nowrap}.class-summary-heading{min-width:0;display:flex;align-items:flex-start;gap:6px}.class-summary-edit-button{width:18px;height:18px;display:grid;place-items:center;flex:0 0 18px;margin-top:-2px;padding:0;border:0;background:transparent;color:#878d84;cursor:pointer}.class-summary-editor button{width:26px;height:26px;display:grid;place-items:center;flex:0 0 26px;padding:0;border:0;background:transparent;color:#777d74;cursor:pointer}.class-summary-edit-button:hover,.class-summary-editor button:hover{background:transparent;color:#343934}.class-summary-edit-button:focus-visible,.class-summary-editor button:focus-visible,.class-summary-editor input:focus-visible{outline:2px solid rgba(73,79,72,.48);outline-offset:2px}.class-summary-editor{min-width:0;display:flex;align-items:center;gap:6px}.class-summary-editor input{width:min(160px,calc(100% - 64px));height:30px;min-width:64px;padding:0 8px;border:1px solid #cfd3cb;border-radius:2px;outline:0;background:#fff;color:#1f221e;font:inherit;font-size:14px;font-weight:560}.class-summary-editor button:disabled{color:#b5bab2;cursor:default}.member-assignment-grid{min-height:438px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:20px;gap:20px;margin-top:20px}.member-assignment-panel{min-width:0;padding:24px 22px 22px;border:1px solid var(--border);background:rgba(255,255,255,.62)}.member-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.member-panel-title{display:flex;align-items:flex-start;gap:10px}.member-panel-title>span,.member-selected-total{display:flex;flex-direction:column;gap:6px}.member-panel-title strong,.member-selected-total strong{color:#2a2e29;font-size:13px;font-weight:650;letter-spacing:.035em}.member-panel-title small,.member-selected-total small{color:#969b93;font-family:var(--ui-font-body,Inter,"SF Pro Text",sans-serif);font-size:8px;font-weight:500;letter-spacing:.06em}.member-selected-total{align-items:flex-end}.member-selected-total strong{color:#555b53;font-size:11.5px}.member-panel-summary{display:flex;align-items:center;gap:12px}.member-import-icon-button{width:34px;height:34px;display:grid;place-items:center;padding:0;border:1px solid var(--border);border-radius:3px;background:rgba(255,255,255,.72);color:#596057;cursor:pointer}.member-import-icon-button:focus-visible,.member-import-icon-button:hover{outline:0;border-color:#aeb5aa;color:#252a24}.member-search-field{height:46px;display:flex;align-items:center;gap:11px;margin-top:22px;padding:0 14px;border:1px solid var(--border);border-radius:3px;background:rgba(255,255,255,.72);color:#7a8077}.member-search-field input{min-width:0;flex:1 1;padding:0;border:0;outline:0;background:transparent;color:var(--text);font:inherit;font-size:11.5px}.member-search-field input::placeholder{color:#777d75;opacity:1}.member-search-field button{width:24px;height:24px;display:grid;place-items:center;padding:0;border:0;background:transparent;color:#858b82;cursor:pointer}.member-transfer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:14px}.member-pool{min-width:0;min-height:318px;border:1px solid var(--border);background:rgba(255,255,255,.46)}.member-pool>header{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 15px;border-bottom:1px solid var(--soft-border)}.member-pool>header>span{min-width:0;display:flex;flex-direction:column;gap:5px}.member-pool>header strong{color:#3f443e;font-size:11.5px;font-weight:620}.member-pool>header small{color:#999e96;font-family:var(--ui-font-body,Inter,"SF Pro Text",sans-serif);font-size:7.5px;letter-spacing:.045em;white-space:nowrap}.member-pool>header>b{color:#898f86;font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:9px;font-weight:500}.member-pool>header>button{display:flex;flex-direction:column;align-items:flex-end;gap:4px;padding:0;border:0;background:transparent;color:#8b9f20;cursor:pointer}.member-pool>header>button:disabled{color:#b4b8b0;cursor:default}.member-pool>header>button strong{color:inherit;font-size:10px}.member-pool>header>button small{color:inherit;font-size:7.5px}.member-pool-body{max-height:305px;min-height:248px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:transparent transparent}.member-pool-body:hover{scrollbar-color:#d6d9d2 transparent}.member-person-row{width:100%;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border:0;border-bottom:1px solid var(--soft-border);background:transparent;color:#7b8178;text-align:left}button.member-person-row{font:inherit;cursor:pointer}.member-person-row:hover{background:rgba(250,251,247,.98)}.member-person-row>span{min-width:0;display:flex;flex-direction:column;gap:5px}.member-person-row>span strong{overflow:hidden;color:#343933;font-size:12px;font-weight:620;text-overflow:ellipsis;white-space:nowrap}.member-person-row>span small{overflow:hidden;color:#8d938a;font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:8.5px;letter-spacing:.025em;text-overflow:ellipsis;white-space:nowrap}.member-person-row>button{width:28px;height:28px;display:grid;place-items:center;flex:0 0 28px;padding:0;border:0;background:transparent;color:#858b82;cursor:pointer}.member-empty{min-height:248px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:20px;color:#c0c4bc;text-align:center}.member-empty strong{color:#6e746c;font-size:10.5px;font-weight:500}.member-empty small{color:#a2a79f;font-family:var(--ui-font-body,Inter,"SF Pro Text",sans-serif);font-size:7.5px;letter-spacing:.055em}.member-hidden-count{min-height:54px;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:0 14px;border-bottom:1px solid var(--soft-border)}.member-hidden-count strong{color:#666c64;font-size:10.5px;font-weight:560}.member-hidden-count small{color:#9a9f97;font-family:var(--ui-font-body,Inter,"SF Pro Text",sans-serif);font-size:7.5px;letter-spacing:.045em}.class-detail-footnote{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding-top:14px;color:#9a9f97;font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:8.5px;letter-spacing:.045em}.class-detail-footnote span+span{padding-left:12px;border-left:1px solid var(--soft-border)}.class-detail-content .index-table-frame,.class-detail-index-grid{margin-top:28px}@media (max-width:900px){.class-detail-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.class-detail-summary>div:nth-child(3){border-left:0}.class-detail-summary>div:nth-child(3),.class-detail-summary>div:nth-child(4){border-top:1px solid var(--soft-border)}.class-content-source-setting,.member-assignment-grid{grid-template-columns:minmax(0,1fr)}}.course-add-card{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.course-add-icon{display:grid;place-items:center;color:#9da39a;font-family:Arial,sans-serif;font-size:42px;font-weight:200;line-height:1}.course-add-card strong{margin-top:18px;color:#333831;font-size:15px;font-weight:600}.course-add-card small{margin-top:8px;color:#959b92;font-family:DIN Alternate,DIN\ 1451,Arial Narrow,sans-serif;font-size:10px;letter-spacing:.06em}.course-empty{grid-column:1/-1;min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border:1px solid var(--border);color:var(--secondary)}.course-empty span{font-family:DIN Alternate,DIN\ 1451,Arial Narrow,sans-serif;font-size:11px;letter-spacing:.08em}.course-empty strong{color:#4b5149;font-size:15px;font-weight:600}.index-table-frame{margin-top:28px;overflow-x:auto}.index-table{min-width:1000px}.index-table-row{display:grid;align-items:center;grid-column-gap:18px;column-gap:18px;min-width:0;padding:0 22px}.index-course-table .index-table-row{grid-template-columns:minmax(180px,1.2fr) 84px 70px 112px minmax(116px,.78fr) 68px minmax(190px,1.18fr) 58px}.index-course-table .index-table-row>:last-child{transform:translateX(-38px)}.index-assignment-table .index-table-row{grid-template-columns:minmax(176px,1.12fr) minmax(190px,1.24fr) 108px 116px 72px 108px 58px}.assignment-instance-table .index-table-row{grid-template-columns:190px repeat(6,minmax(0,1fr)) 110px 70px;column-gap:16px}.assignment-instance-table .index-table-row>:nth-child(3),.assignment-instance-table .index-table-row>:nth-child(4),.assignment-instance-table .index-table-row>:nth-child(5){position:relative;left:-10px}.lesson-table-frame{overflow:visible}.lesson-table{width:100%;min-width:0}.lesson-table .index-table-row{grid-template-columns:230px repeat(5,minmax(82px,1fr)) 140px 58px}.lesson-table-row>span:not(.lesson-status){color:#50554e;font-size:12px}.lesson-table .index-table-row>:nth-child(n+3):nth-child(-n+7){transform:translateX(-20px)}.lesson-table .index-table-row>:last-child{transform:translateX(-12px)}.lesson-table-add{border-top:0}.index-table-head{height:46px;background:var(--table-head-bg);color:#666b64;font-size:12px;font-weight:600;letter-spacing:.06em}.index-table-data-row,.index-table-head{border-bottom:1px solid var(--soft-border)}.index-table-data-row{min-height:66px;background:rgba(255,255,255,.54);color:#50554e;font-size:12.5px;cursor:pointer;outline:none}.index-table-data-row:last-child{border-bottom:0}.index-table-data-row:focus-visible,.index-table-data-row:hover{background:rgba(250,251,247,.98)}.index-table-data-row:focus-visible{box-shadow:inset 2px 0 0 var(--accent)}.index-table-primary{min-width:0;display:flex;flex-direction:column;gap:6px}.index-table-primary small{color:var(--secondary);font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:10.5px;letter-spacing:.035em}.index-table-primary strong{overflow:hidden;color:#222520;font-size:13.5px;font-weight:620;text-overflow:ellipsis;white-space:nowrap}.index-table-mono{color:#5e645c;font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.index-table-mono.muted{color:#b1b5ae}.index-table-progress{min-width:0;display:flex;align-items:center;gap:10px}.index-table-progress>i{min-width:58px;height:3px;flex:1 1;background:#e0e3dc}.index-table-progress>i b{height:100%;display:block;background:var(--accent)}.index-table-progress small{width:33px;color:#4f554d;font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:10.5px}.index-table-action{display:inline-flex;align-items:center;gap:6px;color:#363a34;font-size:12px;white-space:nowrap}.index-table-add{width:100%;min-height:66px;display:flex;align-items:center;gap:12px;padding:0 22px;border:0;border-top:1px solid var(--soft-border);background:rgba(255,255,255,.38);color:#596057;cursor:pointer;text-align:left}.index-table-add:hover{background:rgba(250,251,247,.98)}.index-table-add>span{color:#8d938a;font-size:19px;font-weight:300}.index-table-add strong{font-size:13px;font-weight:600}.index-table-add small{color:#969b93;font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:9px;letter-spacing:.06em}.course-empty-list{min-height:250px;margin-top:28px}.assignment-list-content .index-table-frame,.course-content .index-table-frame{overflow:visible}.assignment-list-content .index-assignment-table{width:100%;min-width:0}.formal-boundary-note{display:flex;align-items:baseline;gap:16px;margin:20px 0 0;padding:11px 14px;border-left:2px solid var(--accent);background:rgba(var(--accent-rgb),.08);color:#71776f;font-size:10.5px;line-height:1.55}.formal-boundary-note strong{flex:0 0 auto;color:#444b42;font-size:11px;font-weight:650}.assignment-list-content .index-table-data-row:has(.row-action-menu:focus-within),.assignment-list-content .index-table-data-row:has(.row-action-menu:hover){position:relative;z-index:30}.index-course-table .index-table-data-row:has(.row-action-menu:focus-within),.index-course-table .index-table-data-row:has(.row-action-menu:hover),.index-course-table .index-table-data-row:has(.teacher-class-menu:focus-within),.index-course-table .index-table-data-row:has(.teacher-class-menu:hover),.lesson-table .index-table-data-row:has(.row-action-menu:focus-within),.lesson-table .index-table-data-row:has(.row-action-menu:hover){position:relative;z-index:20}.assignment-editor-page{padding-top:22px;padding-bottom:38px}.assignment-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 292px;align-items:start;grid-gap:20px;gap:20px}.assignment-editor-main{min-width:0;display:flex;flex-direction:column;gap:18px}.assignment-form-section,.assignment-settings-panel>section{border:1px solid var(--border);border-radius:3px;background:rgba(255,255,255,.66)}.assignment-form-section{padding:25px 28px 27px}.assignment-form-section>header,.assignment-form-subsection>header{display:flex;align-items:flex-start;gap:13px}.assignment-form-section>header>b,.assignment-form-subsection>header>b{color:#2f342e;font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:12px;font-weight:600;line-height:18px}.assignment-form-section>header>span,.assignment-form-subsection>header>span{display:flex;flex-direction:column;gap:5px}.assignment-form-section>header strong,.assignment-form-subsection>header strong{color:#2d322c;font-size:13px;font-weight:650;letter-spacing:.035em}.assignment-form-section>header small,.assignment-form-subsection>header small{color:#999e96;font-family:var(--ui-font-body,Inter,"SF Pro Text",sans-serif);font-size:7.5px;font-weight:500;letter-spacing:.075em}.assignment-basic-grid{display:grid;grid-template-columns:minmax(0,1.35fr) repeat(2,minmax(180px,1fr));grid-gap:20px;gap:20px;margin-top:24px}.assignment-basic-grid>label,.assignment-textarea-grid>label{min-width:0;display:flex;flex-direction:column;gap:10px}.assignment-basic-grid label>span,.assignment-textarea-grid label>span{display:flex;align-items:baseline;gap:7px;color:#50564e;font-size:11.5px;font-weight:620}.assignment-basic-grid label>span small,.assignment-textarea-grid label>span small{margin-left:auto;color:#a0a59d;font-family:var(--ui-font-body,Inter,"SF Pro Text",sans-serif);font-size:7.5px;font-weight:500;letter-spacing:.065em}.assignment-basic-grid label>span em,.assignment-textarea-grid label>span em{color:#a65d55;font-style:normal}.assignment-basic-grid input,.assignment-class-row select,.assignment-history-search input{width:100%;height:42px;padding:0 12px;border:1px solid #d6dad2;border-radius:2px;outline:0;background:rgba(255,255,255,.78);color:#343934;font:inherit;font-size:11.5px}.assignment-basic-grid input:focus,.assignment-class-row select:focus,.assignment-history-search input:focus,.assignment-textarea-grid textarea:focus{border-color:#858b83;box-shadow:none}.assignment-counted-input{position:relative}.assignment-counted-input input{padding-right:52px}.assignment-counted-input>small{position:absolute;top:50%;right:12px;color:#a0a59d;font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:8.5px;transform:translateY(-50%)}.assignment-textarea-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:24px;gap:24px;margin-top:24px}.assignment-textarea-grid label{position:relative}.assignment-textarea-grid textarea{width:100%;min-height:128px;resize:vertical;padding:13px 14px 28px;border:1px solid #d6dad2;border-radius:2px;outline:0;background:rgba(255,255,255,.78);color:#343934;font:inherit;font-size:11.5px;line-height:1.7}.assignment-textarea-grid label>small{position:absolute;right:12px;bottom:10px;color:#9ca199;font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:8.5px}.assignment-form-subsection{margin-top:24px;padding-top:23px;border-top:1px solid var(--soft-border)}.assignment-form-subsection>header>p{margin:0 0 0 auto;color:#858b82;font-size:10.5px}.assignment-form-subsection>header>p strong{color:#879b20;font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:11px}.assignment-upload-field{position:relative;min-height:105px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;margin-top:18px;border:1px dashed #cdd2c9;background:rgba(250,251,247,.58);color:#8a9087;cursor:pointer}.assignment-upload-field input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.assignment-upload-field strong{color:#555b53;font-size:11.5px;font-weight:600}.assignment-upload-field small{color:#999e96;font-size:9px}.assignment-upload-field.has-file{border-style:solid;box-shadow:inset 2px 0 0 var(--accent)}.assignment-class-table{margin-top:18px;border-top:1px solid var(--soft-border)}.assignment-class-row{min-height:52px;display:grid;grid-template-columns:24px minmax(210px,1.55fr) minmax(90px,.7fr) 80px minmax(150px,1fr);align-items:center;grid-column-gap:18px;column-gap:18px;padding:0 10px;border-bottom:1px solid var(--soft-border);color:#5a6058;font-size:11px}.assignment-class-row.is-head{min-height:40px;color:#7e847b;background:var(--table-head-soft);font-size:10px;font-weight:600}.assignment-class-row>input[type=radio]{width:16px;height:16px;margin:0;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #aeb4aa;border-radius:50%;background:#fff;box-shadow:none;cursor:pointer}.assignment-class-row>input[type=radio]:checked{border-color:#333832;background:var(--accent);box-shadow:inset 0 0 0 4px #fff}.assignment-group-select-table .assignment-class-row:not(.is-head):has(input:checked){background:transparent;box-shadow:inset 2px 0 0 var(--accent)}.assignment-group-select-table{border-left:1px solid var(--line);border-right:1px solid var(--line)}.assignment-group-select-table time{color:#686e66;font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:9.5px;white-space:nowrap}.assignment-class-row>span:nth-child(2){min-width:0;display:flex;flex-direction:column;gap:4px}.assignment-class-row>span strong{overflow:hidden;color:#333832;font-size:11.5px;font-weight:620;text-overflow:ellipsis;white-space:nowrap}.assignment-class-row>span small{color:#9a9f97;font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:8px}.assignment-class-row select{height:34px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.assignment-history-search{position:relative;width:min(520px,100%);display:block;margin-top:18px}.assignment-history-search input{padding-right:38px}.assignment-history-search svg{position:absolute;top:50%;right:13px;color:#858b82;transform:translateY(-50%)}.assignment-history-results{width:min(720px,100%);margin-top:10px;border:1px solid #dfe3dc;border-radius:8px;background:#fff;overflow:hidden}.assignment-history-results button{width:100%;min-height:54px;border:0;border-top:1px solid #ecefe9;background:transparent;padding:9px 12px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:#28322b;text-align:left;cursor:pointer}.assignment-history-results button:first-child{border-top:0}.assignment-history-results button.is-selected,.assignment-history-results button:hover{background:#f0f5ed}.assignment-history-results button span{min-width:0;display:grid;grid-gap:3px;gap:3px}.assignment-history-results button strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.assignment-history-results button small,.assignment-history-results button time{color:#7d867e;font-size:10px}.assignment-history-results button time{flex:none}.assignment-history-results>p{margin:0;padding:16px;color:#858d86;font-size:11px;text-align:center}.assignment-settings-panel{position:-webkit-sticky;position:sticky;top:20px;min-width:0}.assignment-settings-panel>section{padding:24px 24px 25px}.assignment-settings-panel>section+section{margin-top:14px}.assignment-settings-panel header{display:flex;flex-direction:column;gap:6px;padding-bottom:20px;border-bottom:1px solid var(--soft-border)}.assignment-settings-panel header strong{color:#30352f;font-size:14px;font-weight:650}.assignment-settings-panel header small{color:#999e96;font-family:var(--ui-font-body,Inter,"SF Pro Text",sans-serif);font-size:7.5px;letter-spacing:.075em}.assignment-code-panel label{display:grid;grid-gap:9px;gap:9px;margin-top:18px;color:#555b53;font-size:11.5px;font-weight:600}.assignment-code-panel input{width:100%;height:40px;padding:0 11px;border:1px solid #d6dad2;border-radius:2px;outline:0;background:rgba(255,255,255,.78);color:#343934;font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:11px;letter-spacing:.04em}.assignment-code-panel input:focus{border-color:#858b83;box-shadow:none}.assignment-code-panel input[aria-invalid=true]{border-color:#a65d55}.assignment-code-panel>p{margin:9px 0 0;color:#8e948c;font-size:9px;line-height:1.65}.assignment-code-panel>p.is-error{color:#a65d55}.assignment-setting-block{display:flex;flex-direction:column;gap:12px;padding:20px 0;border-bottom:1px solid var(--soft-border)}.assignment-setting-block>span:first-child{display:flex;flex-direction:column;gap:5px;color:#555b53;font-size:11.5px;font-weight:600}.assignment-setting-block>span:first-child small{color:#9a9f97;font-size:7.5px;font-weight:500;letter-spacing:.075em}.assignment-stepper{width:126px;height:38px;display:grid;grid-template-columns:38px 1fr 38px;border:1px solid var(--border)}.assignment-stepper button{display:grid;place-items:center;padding:0;border:0;background:transparent;color:#71776f;cursor:pointer}.assignment-stepper b+button,.assignment-stepper button+b{border-left:1px solid var(--soft-border)}.assignment-stepper b{display:grid;place-items:center;color:#333832;font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:11px;font-weight:600}.assignment-segmented{height:38px;display:grid;grid-template-columns:repeat(2,1fr)}.assignment-segmented button{border:1px solid var(--border);background:transparent;color:#7a8077;font:inherit;font-size:11px;cursor:pointer}.assignment-segmented button+button{border-left:0}.assignment-segmented button.is-active{border-color:var(--accent-strong);box-shadow:inset 0 0 0 1px var(--accent-strong);background:rgba(var(--accent-rgb),.06);color:#31362f}.assignment-summary-panel dl{margin:18px 0 0}.assignment-summary-panel dl>div{min-height:37px;display:flex;align-items:center;justify-content:space-between;gap:16px}.assignment-summary-panel dt{color:#777d74;font-size:10.5px}.assignment-summary-panel dd{margin:0;color:#3d433c;font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:9.5px;text-align:right}.assignment-editor-actions{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:10px;gap:10px;margin-top:14px}.assignment-editor-actions button{height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--border);border-radius:2px;background:rgba(255,255,255,.7);color:#565c54;font:inherit;font-size:11.5px;cursor:pointer}.assignment-editor-actions button.is-primary{border-color:#171a16;background:#171a16;color:#f7f8f4}.assignment-editor-actions button:focus-visible,.assignment-editor-actions button:hover{outline:0;filter:brightness(.96)}.assignment-editor-actions button:disabled{border-color:#cfd3cb;background:#dfe2db;color:#9a9f97;cursor:default;filter:none}@media (max-width:1120px){.assignment-editor-layout{grid-template-columns:minmax(0,1fr)}.assignment-settings-panel{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.assignment-settings-panel>section+section{margin-top:0}.assignment-editor-actions{grid-column:1/-1}}@media (max-width:820px){.assignment-basic-grid,.assignment-textarea-grid{grid-template-columns:minmax(0,1fr)}.assignment-class-table{overflow-x:auto}.assignment-class-row{min-width:720px}.assignment-settings-panel{grid-template-columns:minmax(0,1fr)}.assignment-editor-actions{grid-column:auto}}.assignment-row.is-interactive{cursor:pointer;outline:none}.assignment-row.is-interactive:focus-visible{background:rgba(250,251,247,.98);box-shadow:inset 2px 0 0 var(--accent)}.assignment-monitor-frame{overflow:visible}.assignment-monitor-frame .assignment-table{width:100%;min-width:0}.assignment-monitor-frame .table-row{grid-template-columns:132px 160px minmax(150px,1.55fr) repeat(4,minmax(0,1fr)) 96px 70px;column-gap:16px}.assignment-monitor-frame .table-row>*{min-width:0}.assignment-monitor-frame .course-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assignment-monitor-class-table{min-width:1100px!important}.assignment-monitor-class-table .table-row,.assignment-monitor-group-table .table-row{grid-template-columns:190px repeat(6,minmax(0,1fr)) 110px 70px;column-gap:16px}.assignment-monitor-class-assignment-table,.assignment-monitor-group-table{min-width:1100px!important}.assignment-monitor-class-assignment-table .table-row{grid-template-columns:190px repeat(6,minmax(0,1fr)) 110px 70px;column-gap:16px}.assignment-monitor-class-assignment-table .table-row>:nth-child(3),.assignment-monitor-class-assignment-table .table-row>:nth-child(4),.assignment-monitor-class-assignment-table .table-row>:nth-child(5){position:relative;left:-10px}.assignment-monitor-frame .assignment-table,.registry-table-frame .registry-table{position:relative}.registry-table-frame{overflow:visible}.assignment-monitor-frame .assignment-row:has(.row-action-menu:focus-within),.assignment-monitor-frame .assignment-row:has(.row-action-menu:hover),.registry-table-frame .assignment-row:has(.row-action-menu:focus-within),.registry-table-frame .assignment-row:has(.row-action-menu:hover),.registry-table-frame .assignment-row:has(.teacher-class-menu:focus-within),.registry-table-frame .assignment-row:has(.teacher-class-menu:hover){position:relative;z-index:12}.registry-row{cursor:pointer;outline:none}.registry-row:focus-visible{background:rgba(250,251,247,.98);box-shadow:inset 2px 0 0 var(--accent)}.registry-metric{color:#50554e;font-size:12px}.teacher-registry-table{min-width:1000px}.teacher-registry-table .table-row{grid-template-columns:156px repeat(6,minmax(0,1fr)) 70px;column-gap:18px}.teacher-registry-table .table-head>*{text-align:left}.teacher-registry-row>:not(:last-child){justify-self:start;text-align:left}.teacher-middle-grid{min-width:0;display:grid;grid-column:span 4;grid-template-columns:repeat(6,minmax(0,1fr));align-items:center;grid-column-gap:4px;column-gap:4px;justify-self:stretch!important}.teacher-middle-grid>*{min-width:0;justify-self:start;text-align:left}.teacher-registry-table .table-head .teacher-middle-grid>span{overflow:hidden;font:inherit;letter-spacing:inherit;text-overflow:clip;white-space:nowrap}.student-registry-table{min-width:1000px;min-width:1120px}.student-registry-table .table-row{grid-template-columns:156px minmax(172px,1.45fr) minmax(94px,.78fr) minmax(104px,.82fr) minmax(92px,.74fr) minmax(108px,.88fr) minmax(108px,.88fr) 70px;column-gap:18px}.student-registry-table .table-head>*{text-align:left}.student-registry-row>:not(:last-child){min-width:0;justify-self:start;text-align:left}.student-registry-row>.course-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.class-registry-table{min-width:1080px}.class-registry-table .table-row{grid-template-columns:minmax(220px,1.6fr) repeat(5,minmax(100px,1fr)) 70px;column-gap:18px}.class-registry-table .table-head>*{text-align:left}.class-registry-row>:not(:last-child){min-width:0;justify-self:start;text-align:left}.class-latest-assignment,.class-teacher-value{overflow:hidden;color:#50554e;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.class-info-meta{display:flex;align-items:baseline;gap:10px}.class-info-meta i{color:#91978e;font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:8.5px;font-style:normal;font-weight:500;letter-spacing:.045em;white-space:nowrap}.class-student-count{min-width:22px}.student-two-line-cell{min-width:0;display:flex;flex-direction:column;gap:6px}.student-data-line{min-width:0;display:flex;align-items:center;gap:7px}.student-two-line-cell strong{min-width:0;max-width:100%;overflow:hidden;color:#383d37;font-size:12px;font-weight:580;text-overflow:ellipsis;white-space:nowrap}.student-two-line-cell small{color:#8c9289;font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:8.5px;letter-spacing:.035em;white-space:nowrap}.student-score-cell .student-data-line.is-muted strong,.student-two-line-cell.is-muted small,.student-two-line-cell.is-muted strong{color:#a9aea6}.student-score-cell .student-data-line.is-muted .student-line-marker{color:#aeb3ab}.student-line-marker{width:14px;height:14px;display:grid;place-items:center;flex:0 0 14px;border:0;color:#777e74;font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:8px;font-style:normal;font-weight:650;line-height:1}.student-line-marker.is-theory{color:#7c8c24}.student-line-marker.is-drawing{color:#7f857d}.student-two-line-cell.is-muted .student-line-marker{color:#aeb3ab}.student-score-cell strong{font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:11.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.student-submission-stack{display:flex;flex-direction:column;gap:6px}.student-submission-stack strong{color:#343933;font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:11.5px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.student-submission-stack small{color:#8b9188;font-size:9px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.registry-mono-value,.student-submission-stack small{font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);white-space:nowrap}.registry-mono-value{font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.teacher-info-cell{min-width:0;display:flex;align-items:center;gap:12px}.teacher-avatar-slot{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;overflow:hidden;border:1px solid #d9ddd5;border-radius:50%;background:#f3f4f0;color:#7d837a}.teacher-avatar-slot img{width:100%;height:100%;display:block;object-fit:cover}.teacher-avatar-slot.is-large{width:82px;height:82px;flex:0 0 82px;color:#7d837a}.teacher-info-copy{min-width:0;display:flex;flex-direction:column;gap:6px}.teacher-info-copy small{color:var(--secondary);font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:10.5px;letter-spacing:.035em}.teacher-info-copy strong{overflow:hidden;color:#222520;font-size:13.5px;font-weight:620;text-overflow:ellipsis;white-space:nowrap}.student-code-reveal{position:relative;width:max-content;display:inline-flex;color:var(--secondary);font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:10px;font-weight:500;letter-spacing:.035em;line-height:1.2;white-space:nowrap;cursor:default}.student-code-reveal:focus{outline:0}.student-code-phone{position:absolute;top:calc(100% + 7px);left:0;z-index:30;width:max-content;padding:7px 9px;border:1px solid #3d423c;border-radius:2px;background:#20231f;color:#f4f5f1;font-size:9px;font-weight:500;letter-spacing:.055em;opacity:0;pointer-events:none;transform:translateY(-2px);transition:opacity .12s ease,transform .12s ease}.student-code-reveal:focus .student-code-phone,.student-code-reveal:focus-within .student-code-phone,.student-code-reveal:hover .student-code-phone{opacity:1;transform:translateY(0)}.teacher-category,.teacher-review-value{justify-self:start;color:#50554e;font-size:12px}.teacher-review-value{min-width:28px;font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:11.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:left}.teacher-review-value.is-overdue{color:#b64c42;font-weight:650}.teacher-class-menu{position:relative;width:42px;justify-self:start}.teacher-class-trigger{width:42px;height:30px;padding:0;border:0;background:transparent;color:#343933;font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:left;cursor:pointer}.teacher-class-trigger:focus-visible,.teacher-class-trigger:hover{outline:0;background:rgba(250,251,247,.98)}.teacher-class-popover{position:absolute;top:calc(100% - 1px);left:50%;z-index:24;min-width:222px;display:flex;flex-direction:column;padding:7px;border:1px solid var(--border);background:#fff;box-shadow:0 10px 24px rgba(31,35,29,.08);opacity:0;visibility:hidden;transform:translateX(-50%) scaleY(.9);transform-origin:top;transition:opacity .12s ease,transform .15s ease,visibility 0s linear .15s}.teacher-class-menu:focus-within .teacher-class-popover,.teacher-class-menu:hover .teacher-class-popover{opacity:1;visibility:visible;transform:translateX(-50%) scaleY(1);transition-delay:0s}.teacher-class-popover>small{padding:7px 9px 9px;border-bottom:1px solid var(--soft-border);color:#969b93;font-family:var(--ui-font-body,Inter,"SF Pro Text",sans-serif);font-size:8px;letter-spacing:.08em}.teacher-class-popover>span{min-height:36px;display:flex;align-items:center;gap:12px;padding:0 9px;border-bottom:1px solid var(--soft-border);color:#414740;font-size:11.5px;white-space:nowrap}.teacher-class-popover>span:last-child{border-bottom:0}.teacher-class-popover>span b{color:#979c94;font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:9px;font-weight:500}.teacher-class-popover>span.is-empty{color:#a2a79f}.row-action-menu{position:relative;width:max-content}.row-action-trigger svg{transition:transform .16s ease}.row-action-popover{position:absolute;top:calc(100% - 2px);right:-12px;z-index:20;width:112px;display:flex;flex-direction:column;padding:5px;border:1px solid var(--border);background:#fff;box-shadow:0 10px 24px rgba(31,35,29,.08);opacity:0;visibility:hidden;transform:scaleY(.88);transform-origin:top;transition:opacity .12s ease,transform .15s ease,visibility 0s linear .15s}.teacher-action-popover{width:128px}.student-action-popover{width:118px}.row-action-menu:focus-within .row-action-popover,.row-action-menu:hover .row-action-popover{opacity:1;visibility:visible;transform:scaleY(1);transition-delay:0s}.row-action-menu:focus-within .row-action-trigger svg,.row-action-menu:hover .row-action-trigger svg{transform:rotate(180deg)}.row-action-popover button{min-height:34px;padding:0 12px;border:0;background:transparent;color:#4c524a;font-size:12px;text-align:left;cursor:pointer}.row-action-popover button:focus-visible,.row-action-popover button:hover{outline:0;background:#f4f5f1;color:#171a16}.row-action-popover button.is-danger{color:#a45750}.assignment-drawer-layer{position:fixed;inset:0;z-index:80;display:flex;justify-content:flex-end;background:rgba(29,32,28,.2);pointer-events:none;animation:drawer-backdrop-in .16s ease-out both}.assignment-drawer{width:min(420px,calc(100vw - 48px));height:100%;overflow-y:auto;padding:30px 32px 28px;border-left:1px solid var(--border);background:#fbfcf8;box-shadow:-18px 0 38px rgba(30,34,29,.07);pointer-events:auto;animation:assignment-drawer-in .22s cubic-bezier(.2,.75,.25,1) both}.assignment-drawer-layer.is-closing{animation:drawer-backdrop-out .22s ease-in both}.assignment-drawer-layer.is-closing .assignment-drawer{pointer-events:none;animation:assignment-drawer-out .22s cubic-bezier(.55,.05,.8,.45) both}.assignment-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:25px;border-bottom:1px solid var(--border)}.assignment-drawer-head>div{min-width:0;display:flex;flex-direction:column;gap:7px;overflow-wrap:anywhere}.assignment-drawer-head small{color:#92978f;font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:9px;letter-spacing:.1em}.assignment-drawer-head strong{color:#252824;font-size:17px;font-weight:650;letter-spacing:.04em}.assignment-drawer-head button{width:30px;height:30px;flex-shrink:0;display:grid;place-items:center;padding:0;border:0;background:transparent;color:#565c54;cursor:pointer}.assignment-drawer-head button:hover{background:#f0f2ed}.assignment-drawer-title{min-width:0;padding:31px 0 21px;overflow-wrap:anywhere}.assignment-drawer-title>small{color:#8c9289;font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:10px;letter-spacing:.05em}.assignment-drawer-title h2{margin:10px 0 0;color:#171a16;font-size:24px;font-weight:650;letter-spacing:.04em}.assignment-drawer-title>span{display:block;margin-top:9px;color:#8a9087;font-size:10px;font-weight:550;letter-spacing:.08em}.assignment-drawer-title.is-assignment{padding-bottom:28px;border-bottom:1px solid var(--border)}.assignment-drawer-title-line{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 28px;margin-top:10px}.assignment-drawer-title-line>div:first-child{min-width:0;flex:1 1 160px}.assignment-drawer-title-line h2{margin-top:0}.assignment-drawer-title-line>div:first-child>span{display:block;margin-top:9px;color:#8a9087;font-size:10px;font-weight:550;letter-spacing:.08em}.assignment-drawer-status{padding-bottom:28px;border-bottom:1px solid var(--border)}.assignment-drawer-status.is-inline{min-width:112px;flex:0 0 auto;padding:0;border-bottom:0}.assignment-drawer-details{margin:0}.assignment-drawer-details>div{min-height:76px;display:grid;grid-template-columns:116px minmax(0,1fr);align-items:center;border-bottom:1px solid var(--soft-border)}.assignment-drawer-details dt{display:flex;flex-direction:column;gap:5px;color:#555b53;font-size:12px;font-weight:600}.assignment-drawer-details dt small{color:#9a9f97;font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:8px;font-weight:500;letter-spacing:.08em}.assignment-drawer-details dd{min-width:0;margin:0;padding:14px 0;overflow-wrap:anywhere;color:#2e332d;font-size:12.5px;line-height:1.5}.assignment-drawer-details dd:not(:first-child),.assignment-drawer-progress p{font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.assignment-drawer-details dd.muted{color:#a9aea6}.assignment-drawer-progress{padding:28px 0;border-bottom:1px solid var(--border)}.assignment-drawer-progress>div{display:flex;align-items:flex-end;justify-content:space-between}.assignment-drawer-progress>div>span{display:flex;flex-direction:column;gap:5px;color:#4f554e;font-size:12px;font-weight:600}.assignment-drawer-progress>div>span small{color:#969c93;font-size:8px;font-weight:500;letter-spacing:.08em}.assignment-drawer-progress strong{color:#1c201b;font-family:var(--ui-font-numeric,"DIN Alternate","DIN 1451",sans-serif);font-size:34px;font-weight:400;line-height:1}.assignment-drawer-progress strong small{margin-left:2px;color:#777d74;font-size:16px}.drawer-progress-track{height:4px;display:block;margin-top:21px;background:#e0e3dc}.drawer-progress-track i{height:100%;display:block;background:var(--accent)}.assignment-drawer-progress p{margin:10px 0 0;color:#777d74;font-size:9px;letter-spacing:.04em}.assignment-drawer-note{padding-top:26px;color:#777d74}.assignment-drawer-note small{font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:8px;letter-spacing:.08em}.assignment-drawer-note p{margin:11px 0 0;font-size:11px;line-height:1.8}.assignment-drawer-details dt small,.assignment-drawer-head small,.assignment-drawer-progress>div>span small,.assignment-drawer-progress>p,.assignment-drawer-status .status small,.assignment-drawer-title-line>div:first-child>span,.assignment-drawer-title>span{font-family:var(--ui-font-body,Inter,"SF Pro Text","PingFang SC","Microsoft YaHei",Arial,sans-serif)}.registry-action-drawer-layer{pointer-events:auto}.registry-action-drawer{display:flex;flex-direction:column}.registry-action-intro{margin:0;padding:25px 0 21px;border-bottom:1px solid var(--soft-border);color:#777d74;font-size:11.5px;line-height:1.75}.registry-action-form{flex:1 1;display:flex;flex-direction:column}.registry-action-drawer>.assignment-drawer-head,.registry-action-drawer>.formal-course-import-links,.registry-action-drawer>.registry-action-intro,.registry-action-form>*{flex-shrink:0}.assignment-delete-summary{min-width:0;flex-shrink:0;display:grid;grid-gap:8px;gap:8px;padding:22px 0;border-bottom:1px solid var(--soft-border);overflow-wrap:anywhere}.assignment-delete-summary>small{color:#8c9289;font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:10px;line-height:1.6;letter-spacing:.04em}.assignment-delete-summary>strong{color:#252824;font-size:14px;font-weight:600;line-height:1.6}.assignment-delete-summary>dl{display:grid;grid-gap:8px;gap:8px;margin:6px 0 0}.assignment-delete-summary>dl>div{display:grid;grid-template-columns:82px minmax(0,1fr);grid-gap:12px;gap:12px;font-size:11px;line-height:1.6}.assignment-delete-summary dt{color:#8c9289}.assignment-delete-summary dd{min-width:0;margin:0;color:#4f554e}.registry-action-form>label{position:relative;min-width:0;min-height:82px;display:grid;grid-template-columns:126px minmax(0,1fr);align-items:center;border-bottom:1px solid var(--soft-border)}.registry-action-form>label>*{min-width:0;overflow-wrap:anywhere}.registry-action-form>label>span:first-child{display:flex;flex-direction:column;gap:6px;color:#4f554e;font-size:12px;font-weight:600}.registry-action-form>label>span:first-child small{color:#979c94;font-family:var(--ui-font-body,Inter,"SF Pro Text","PingFang SC","Microsoft YaHei",Arial,sans-serif);font-size:8px;font-weight:500;letter-spacing:.08em}.registry-action-form input:not([type=file]),.registry-action-form select{height:38px;padding:0 12px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.registry-action-form input:not([type=file]),.registry-action-form select,.registry-action-form textarea{width:100%;border:1px solid #d7dad3;border-radius:2px;outline:0;background:rgba(255,255,255,.72);color:#30352f;font:inherit;font-size:12px}.registry-action-form textarea{min-height:66px;padding:10px 12px;resize:vertical;line-height:1.6}.registry-action-form input:not([type=file])::placeholder{color:#a1a69e}.registry-action-form input:not([type=file]):not([type=checkbox]):focus,.registry-action-form select:focus,.registry-action-form textarea:focus{border-color:#858b83;box-shadow:none}.registry-action-form input:disabled,.registry-action-form select:disabled,.registry-action-form textarea:disabled{cursor:not-allowed;opacity:.62}.registry-action-form>label>svg{position:absolute;right:11px;color:#737970;pointer-events:none}.registry-action-form>.registry-action-check{min-height:82px;display:flex;grid-template-columns:none;align-items:center;gap:12px}.registry-action-form>.registry-action-check>input[type=checkbox]{width:16px;height:16px;flex:0 0 16px;margin:0}.registry-action-form>.registry-action-check>span{min-width:0;display:block;overflow-wrap:anywhere;color:#4f554e;font-size:11px;font-weight:500;line-height:1.7}.formal-course-editor-drawer{width:min(560px,calc(100vw - 48px))}.formal-class-course-link-drawer{width:min(520px,calc(100vw - 48px))}.formal-course-active-option>.outlined-checkbox{justify-self:end}.formal-write-error{margin:18px 0 0;padding:12px 14px;border:1px solid #e0c6c3;background:#fbf0ef;color:#93473f;font-size:10.5px;line-height:1.65}.assignment-group-permission-note{margin:0;padding:17px 0 18px 126px;border-bottom:1px solid var(--soft-border)}.assignment-group-permission-note small{color:#8f958c;font-family:var(--ui-font-body,Inter,"SF Pro Text",sans-serif);font-size:8px;letter-spacing:.08em}.assignment-group-permission-note p{margin:7px 0 0;color:#737970;font-size:10.5px;line-height:1.7}.registry-multi-select-field{min-width:0;margin:0;padding:0;border:0;border-bottom:1px solid var(--soft-border)}.registry-multi-select-field>legend{width:100%;display:flex;flex-direction:column;gap:6px;padding:21px 0 0;color:#4f554e;font-size:12px;font-weight:600}.registry-multi-select-field>legend small{color:#979c94;font-family:var(--ui-font-body,Inter,"SF Pro Text","PingFang SC","Microsoft YaHei",Arial,sans-serif);font-size:8px;font-weight:500;letter-spacing:.08em}.registry-multi-select-field>div{max-height:206px;margin-top:16px;overflow-y:auto;border:1px solid #d7dad3;background:rgba(255,255,255,.52)}.registry-multi-select-field>div>label{min-height:50px;display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;grid-gap:10px;gap:10px;padding:8px 12px;border-bottom:1px solid var(--soft-border);cursor:pointer}.registry-multi-select-field>div>label:last-child{border-bottom:0}.registry-multi-select-field label>span{min-width:0;display:flex;flex-direction:column;gap:5px}.registry-multi-select-field label strong{overflow:hidden;color:#3e443d;font-size:11.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.registry-multi-select-field label small{color:#969b93;font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:8px;letter-spacing:.035em}.registry-multi-select-field label:has(input:checked){background:transparent;box-shadow:none}.registry-file-field{min-height:174px!important;grid-template-columns:1fr!important;align-content:center;gap:18px}.registry-file-field>input[type=file]{position:absolute;inset:0;z-index:0;width:100%;height:100%;opacity:0;cursor:pointer}.registry-file-heading{position:relative;z-index:2;display:flex;align-items:flex-start;justify-content:space-between}.registry-file-heading>span{display:flex;flex-direction:column;gap:6px;color:#4f554e;font-size:12px;font-weight:600}.registry-file-heading>span small{color:#979c94;font-family:var(--ui-font-body,Inter,"SF Pro Text","PingFang SC","Microsoft YaHei",Arial,sans-serif);font-size:8px;font-weight:500;letter-spacing:.08em}.registry-file-heading a{width:30px;height:30px;display:grid;place-items:center;border:1px solid #d5d9d1;border-radius:2px;background:rgba(255,255,255,.62);color:#636a61;pointer-events:auto}.registry-file-heading a:focus-visible,.registry-file-heading a:hover{outline:0;border-color:#bcc2b8;background:#fff;color:#30352f}.registry-file-picker{position:relative;z-index:1;min-height:82px;display:grid;grid-template-columns:32px 1fr;grid-template-rows:1fr 1fr;align-items:end;padding:17px 18px;border:1px dashed #cfd3cb;background:rgba(255,255,255,.45);color:#737970}.registry-file-picker svg{grid-row:1/span 2;align-self:center}.registry-file-picker b{overflow:hidden;color:#444a42;font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.registry-file-picker small{align-self:start;color:#979c94;font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:8px;letter-spacing:.06em}.registry-file-picker.has-file{border-style:solid;box-shadow:inset 2px 0 0 var(--accent)}.registry-import-note{display:none}.registry-import-preview{min-height:126px;margin-top:20px;padding:18px 20px;border-left:2px solid var(--accent);background:var(--table-head-soft);color:#686e66}.registry-import-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.registry-import-preview-head>span{display:flex;flex-direction:column;gap:6px;color:#4f554e;font-size:11.5px;font-weight:600}.registry-import-preview-head small{color:#8d938a;font-family:var(--ui-font-body,Inter,"SF Pro Text","PingFang SC","Microsoft YaHei",Arial,sans-serif);font-size:8px;letter-spacing:.09em}.registry-import-preview p{margin:13px 0 0;color:#8a9088;font-size:10.5px;line-height:1.75}.registry-import-preview pre{max-height:92px;margin:13px 0 0;overflow:auto;color:#565c54;font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:9px;line-height:1.7;white-space:pre-wrap}.formal-course-import-drawer{width:min(560px,calc(100vw - 48px));overflow:hidden}.formal-course-import-links{display:flex;gap:10px;padding:18px 0;border-bottom:1px solid var(--soft-border)}.formal-course-import-links a{min-height:34px;display:inline-flex;align-items:center;gap:8px;padding:0 12px;border:1px solid #d2d6ce;border-radius:2px;color:#596057;font-size:10.5px;text-decoration:none}.formal-course-import-links a:focus-visible,.formal-course-import-links a:hover{outline:0;border-color:#adb4a9;background:#fff}.formal-course-import-form{min-height:0;overflow-y:auto}.formal-course-import-preview{margin-top:22px}.formal-course-import-form>.student-import-table-wrap{flex:0 0 auto;max-height:280px}.formal-course-import-preview.has-errors{border-left-color:#bd443e;background:#fbf0ef}.formal-course-import-preview ul{max-height:180px;margin:14px 0 0;padding:12px 12px 12px 28px;overflow-y:auto;background:rgba(255,255,255,.6);color:#914840;font-size:10px;line-height:1.75}.formal-course-import-form .registry-action-footer{position:-webkit-sticky;position:sticky;bottom:0;padding-bottom:1px;background:#fbfcf8}.registry-import-note>div{display:flex;align-items:center;justify-content:space-between}.registry-import-note small{color:#8d938a;font-family:var(--ui-font-body,Inter,"SF Pro Text","PingFang SC","Microsoft YaHei",Arial,sans-serif);font-size:8px;letter-spacing:.09em}.registry-import-note a{width:30px;height:30px;display:grid;place-items:center;border:1px solid #d5d9d1;border-radius:2px;background:rgba(255,255,255,.62);color:#636a61}.registry-import-note a:focus-visible,.registry-import-note a:hover{outline:0;border-color:#bcc2b8;background:#fff;color:#30352f}.registry-import-note p{margin:9px 0 0;font-size:11px;line-height:1.75}.registry-action-footer{margin-top:auto;display:flex;justify-content:flex-end;gap:10px;padding-top:28px}.registry-action-footer button{height:38px;padding:0 17px;border-radius:2px;font:inherit;font-size:11.5px;cursor:pointer}.registry-action-cancel{border:1px solid var(--border);background:transparent;color:#6f756d}.registry-action-submit{min-width:142px;display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid #171a16;background:#171a16;color:#f8f9f5}.registry-action-footer button:disabled{cursor:not-allowed;opacity:.5}.student-class-transfer-safety{margin-top:20px;padding:16px 18px;border-left:2px solid var(--accent);background:var(--table-head-soft)}.student-class-transfer-safety small{color:#858b82;font-size:8px;letter-spacing:.09em}.student-class-transfer-safety p{margin:8px 0 0;color:#666c64;font-size:10.5px;line-height:1.75}.student-class-transfer-safety b{color:#3f453e;font-weight:650}.student-class-transfer-blocked,.student-class-transfer-error{margin-top:12px;padding:12px 14px;border:1px solid #ddd5bb;background:#fbf7e9;color:#7a682c;font-size:10.5px;line-height:1.65}.student-class-transfer-error{position:fixed;right:32px;bottom:28px;z-index:80;max-width:min(420px,calc(100vw - 40px));margin:0;border:0;background:#1a1c19;color:#f6f7f3;box-shadow:0 10px 28px rgba(0,0,0,.2)}.assignment-drawer .student-class-transfer-error{position:static;max-width:100%;margin-top:12px;padding:12px 14px;border:1px solid #e0c6c3;background:#fbf0ef;color:#93473f;box-shadow:none;overflow-wrap:anywhere}.registry-action-footer button:focus-visible,.registry-action-footer button:hover{outline:0;filter:brightness(.94)}.lesson-editor-layer{pointer-events:auto}.lesson-editor-drawer{width:min(640px,calc(100vw - 48px));display:flex;flex-direction:column;padding:0;overflow:hidden}.lesson-editor-head{flex:0 0 auto;padding:28px 34px 24px}.lesson-editor-intro{flex:0 0 auto;margin:0;padding:17px 34px;border-bottom:1px solid var(--soft-border);background:var(--table-head-soft);color:#6d736a;font-size:11.5px;line-height:1.65}.lesson-editor-form{min-height:0;flex:1 1;display:flex;flex-direction:column;overflow-y:auto;padding:7px 34px 28px}.lesson-editor-form>label,.lesson-editor-grid>label{position:relative;display:flex;flex-direction:column;gap:9px;padding-top:19px}.lesson-editor-form label>span:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:#4d534b;font-size:11.5px;font-weight:620}.lesson-editor-form label>span:first-child small{color:#9a9f97;font-family:var(--ui-font-body,Inter,"SF Pro Text","PingFang SC","Microsoft YaHei",Arial,sans-serif);font-size:7.5px;font-weight:500;letter-spacing:.075em}.lesson-editor-form input:not([type=checkbox]),.lesson-editor-form select{width:100%;height:42px;padding:0 12px;border:1px solid #d5d9d1;border-radius:2px;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:rgba(255,255,255,.76);color:#30352f;font:inherit;font-size:12px}.lesson-editor-form input[readonly]{background:rgba(240,242,237,.72);color:#8f958d;font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace)}.lesson-editor-form input:not([type=checkbox]):focus,.lesson-editor-form select:focus{border-color:#858b83;box-shadow:none}.lesson-editor-form label>svg{position:absolute;right:12px;bottom:14px;color:#737970;pointer-events:none}.lesson-editor-grid{display:grid;grid-gap:22px;gap:22px}.lesson-editor-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-live-heading{display:flex;align-items:baseline;justify-content:space-between;gap:22px;margin-top:27px;padding-top:21px;border-top:1px solid var(--soft-border)}.lesson-live-heading strong{color:#30352f;font-size:13px;font-weight:650}.lesson-live-heading span{color:#92978f;font-size:10px;line-height:1.5;text-align:right}.lesson-editor-form .lesson-enabled-option{min-height:72px;flex-direction:row;align-items:center;gap:13px;margin-top:22px;padding:14px 17px;border:1px solid var(--border);background:rgba(255,255,255,.46)}.outlined-checkbox{position:relative;width:16px;height:16px;display:grid!important;place-items:center;flex:0 0 16px}.outlined-checkbox input[type=checkbox]{position:absolute;inset:0;width:16px;height:16px;margin:0;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #c5cac1;border-radius:2px;background:#fff;box-shadow:none;cursor:pointer}.outlined-checkbox input[type=checkbox]:checked{border-color:#a9c323;background:#fff;box-shadow:none}.outlined-checkbox input[type=checkbox]:focus,.outlined-checkbox input[type=checkbox]:focus-visible{outline:0;box-shadow:none}.outlined-checkbox svg{position:relative;z-index:1;color:#343933;opacity:0;pointer-events:none}.outlined-checkbox input[type=checkbox]:checked+svg{opacity:1}.lesson-enabled-option>span:not(.outlined-checkbox){display:flex!important;flex-direction:column;align-items:flex-start!important;gap:5px!important}.lesson-enabled-option>span.outlined-checkbox{width:16px;height:16px;display:grid!important;place-items:center;align-items:center!important;justify-content:center!important;justify-items:center;flex:0 0 16px;grid-gap:0!important;gap:0!important}.lesson-enabled-option strong{color:#3d433c;font-size:11.5px}.lesson-enabled-option small{color:#949a91!important;font-size:9px!important;letter-spacing:.02em!important}.lesson-editor-footer{position:-webkit-sticky;position:sticky;bottom:-28px;z-index:3;margin-top:26px;padding:20px 0 0;border-top:1px solid var(--border);background:#fbfcf8}.lesson-editor-footer .registry-action-cancel,.lesson-editor-footer .registry-action-submit{min-width:146px}@media (max-width:720px){.lesson-editor-grid-two{grid-template-columns:minmax(0,1fr);gap:0}.lesson-live-heading{align-items:flex-start;flex-direction:column;gap:7px}.lesson-live-heading span{text-align:left}}@keyframes assignment-drawer-in{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes drawer-backdrop-in{0%{background:rgba(29,32,28,0)}to{background:rgba(29,32,28,.2)}}@keyframes assignment-drawer-out{0%{transform:translateX(0)}to{transform:translateX(100%)}}@keyframes drawer-backdrop-out{0%{background:rgba(29,32,28,.2)}to{background:rgba(29,32,28,0)}}.view-action{width:max-content;display:inline-flex;align-items:center;gap:7px;padding:7px 0;border:0;background:transparent;color:#363a34;font-size:12px;cursor:pointer}.view-action svg{transition:transform .16s ease}.view-action:not(.row-action-trigger):hover svg{transform:translateX(3px)}.empty-state{min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--secondary)}.empty-state span{font-size:10px;letter-spacing:.18em}.empty-state strong{color:var(--text);font-size:15px}.empty-state button{margin-top:8px;padding:7px 0;border:0;border-bottom:1px solid var(--accent);background:transparent;font-size:12px;cursor:pointer}.list-footer{height:72px;justify-content:space-between;color:var(--secondary);font-size:12px}.footer-tools,.list-footer{display:flex;align-items:center}.footer-tools{gap:18px}.pagination-controls{display:flex;align-items:center;gap:8px}.page-arrow{width:30px;height:30px;display:grid;place-items:center;padding:0;border:1px solid var(--soft-border);background:rgba(255,255,255,.72);color:#6f756c;cursor:pointer}.page-arrow:hover:not(:disabled){border-color:var(--border);color:var(--text)}.page-arrow:disabled{color:#c7cbc4;cursor:default}.page-number{display:flex;align-items:baseline;gap:8px}.page-number small,.page-number span{color:#989d95;font-size:10px;letter-spacing:.12em}.page-number{position:relative}.page-current{padding:0 2px 4px;border:0;border-bottom:2px solid var(--accent);background:transparent;color:var(--text);font-size:14px;font-weight:700;line-height:1;cursor:pointer}.page-menu{position:absolute;right:18px;bottom:calc(100% + 8px);z-index:10;min-width:64px;display:flex;flex-direction:column;padding:4px;background:var(--panel);border:1px solid var(--border)}.page-menu button{padding:7px 9px;border:0;background:transparent;color:var(--secondary);font-family:SFMono-Regular,Roboto Mono,monospace;font-size:11px;text-align:left;cursor:pointer}.page-menu button.is-current,.page-menu button:hover{background:#f3f5ef;color:var(--text)}.page-size{position:relative;width:118px;height:38px;display:flex;align-items:center;border:1px solid var(--border);background:rgba(255,255,255,.72)}.page-size select{width:100%;height:100%;padding:0 32px 0 12px;border:0;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;color:#50554e;font-size:12px}.page-size svg{position:absolute;right:11px;pointer-events:none;color:#70766d}.overview-kicker,.panel-kicker{color:#30342f;font-size:12px;font-weight:650;letter-spacing:.07em;line-height:1.1}.overview-cn,.panel-cn{margin-top:7px;color:#555b53;font-size:13px;letter-spacing:.04em}.overview-hero{display:grid;grid-template-columns:31% 69%;min-height:256px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--panel)}.operation-index{position:relative;padding:34px 34px 22px;border-right:1px solid var(--soft-border);overflow:hidden}.operation-value{position:relative;z-index:1;display:flex;align-items:baseline;gap:10px;margin-top:34px;font-family:DIN Alternate,DIN\ 1451,Roboto Condensed,Arial Narrow,sans-serif}.operation-value strong{color:#10120f;font-size:86px;font-weight:400;line-height:.9;letter-spacing:-.055em}.operation-value span{color:#20231f;font-size:27px}.gauge-wrap{position:absolute;top:22px;right:10px;width:170px;height:170px}.operation-gauge-canvas{width:100%;height:100%;display:block}.gauge-label{position:absolute;color:#6f756d;font-family:DIN Alternate,DIN\ 1451,sans-serif;font-size:10px}.gauge-50{top:-4px;left:40px}.gauge-0{bottom:3px;left:3px}.gauge-100{right:1px;bottom:3px}.workflow-panel{padding:34px 36px 20px}.workflow-track{position:relative;height:172px;margin-top:25px}.workflow-line,.workflow-line-active{position:absolute;left:7%;right:7%;top:71px;height:1px;background:#969b94}.workflow-line-active{right:43%;background:var(--accent)}.workflow-steps{position:relative;display:grid;grid-template-columns:repeat(5,1fr);height:100%}.workflow-step{position:relative;display:flex;flex-direction:column;align-items:center;color:#737971}.workflow-number{color:#30342f;font-family:DIN Alternate,DIN\ 1451,sans-serif;font-size:18px;line-height:1}.workflow-node{width:39px;height:39px;margin-top:18px;display:grid;place-items:center;border:1px solid #9ca09a;border-radius:50%;background:var(--panel)}.workflow-node i{width:10px;height:10px;border-radius:50%;background:#a6aaa3}.workflow-step.is-active .workflow-node{border-color:var(--accent)}.workflow-step.is-active .workflow-node i{background:var(--accent)}.workflow-step strong{margin-top:22px;color:#4c524a;font-size:13px;font-weight:600}.workflow-step small{margin-top:7px;color:#92978f;font-size:10px;letter-spacing:.04em}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));min-height:138px;border-bottom:1px solid var(--border);background:var(--panel)}.metric-card{position:relative;min-width:0;display:grid;grid-template-columns:52px 1fr;grid-template-rows:auto 1fr;grid-column-gap:12px;column-gap:12px;padding:26px 28px 18px}.metric-card+.metric-card{border-left:1px solid var(--soft-border)}.metric-icon-wrap{position:relative;grid-row:1/span 2;padding-top:8px}.metric-icon{color:#4c524a}.metric-icon-dot{position:absolute;left:23px;top:32px;width:8px;height:8px;border-radius:50%;background:var(--accent)}.metric-heading{display:flex;flex-direction:column;gap:5px}.metric-label{color:#30342f;font-size:12px;font-weight:650;letter-spacing:.075em;line-height:1.1;white-space:nowrap}.metric-subtitle{color:#757b73;font-size:13px;font-weight:500;letter-spacing:.04em;line-height:1.1}.metric-value{display:flex;align-items:baseline;gap:10px;align-self:end;font-family:DIN Alternate,DIN\ 1451,Roboto Condensed,Arial Narrow,sans-serif}.metric-value strong{color:var(--text);font-size:33px;font-weight:400;line-height:.95;letter-spacing:-.045em}.metric-value small{color:#a7aba4;font-size:23px;font-weight:400;line-height:1;letter-spacing:-.04em}.metric-slash{color:#a7aba4;font-size:25px;font-weight:300;line-height:1}.metric-status-dot{width:11px;height:11px;flex:0 0 11px;margin-left:2px;border-radius:50%;background:var(--accent);transform:translateY(-2px)}.overview-lower-grid{display:grid;grid-template-columns:1.05fr 1.28fr 1.75fr;min-height:318px;border-bottom:1px solid var(--border);background:var(--panel)}.overview-panel{min-width:0;padding:25px 28px 20px}.overview-panel+.overview-panel{border-left:1px solid var(--soft-border)}.panel-link{gap:5px;padding:0;border:0;background:transparent;color:#81877f;letter-spacing:.05em;cursor:pointer}.timeline-list{position:relative;margin-top:18px}.timeline-list:before{content:"";position:absolute;left:97px;top:12px;bottom:13px;width:1px;background:#d4d7d1}.timeline-item{position:relative;display:grid;grid-template-columns:61px 72px 1fr;align-items:center;min-height:43px;color:#5e645c}.timeline-item time{color:#565c55;font-family:DIN Alternate,DIN\ 1451,sans-serif;font-size:13px}.timeline-rail{position:relative;z-index:1;width:11px;height:11px;display:grid;place-items:center;margin-left:31px;border:1px solid #9da39a;border-radius:50%;background:var(--panel)}.timeline-rail i{width:5px;height:5px;border-radius:50%;background:transparent}.timeline-item.is-active .timeline-rail{border-color:var(--accent)}.timeline-item.is-active .timeline-rail i{background:var(--accent)}.timeline-item strong{display:block;color:#454b44;font-size:12px;font-weight:600}.timeline-item small{display:block;margin-top:5px;color:#8d928b;font-size:10px;letter-spacing:.03em}.alert-row{grid-template-columns:19px 1fr auto;grid-gap:10px;gap:10px;min-height:72px;padding:11px 0;border-bottom:1px solid var(--soft-border)}.alert-row:last-child{border-bottom:0}.alert-icon{color:#edaa19;margin-top:3px}.alert-title{gap:15px;color:#454b44;font-size:12px}.alert-title b{color:#596057;font-size:13px}.alert-row small{display:block;margin-top:8px;color:#8a9088;font-size:11px}.alert-row time{align-self:center;color:#8b9189}.alert-row-button{width:100%;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.alert-row-button:hover{background:rgba(69,75,68,.04)}.alert-row-button:focus-visible{outline:1px solid #596057;outline-offset:2px}.network-map{position:relative;height:192px;margin-top:11px}.network-line{position:absolute;height:1px;background:#959b93;transform-origin:left center}.line-12{left:10%}.line-12,.line-23{top:39px;width:34%}.line-23{left:48%}.line-56{left:10%}.line-56,.line-67{top:146px;width:34%}.line-67{left:48%}.line-78{left:84%;top:146px;width:14%}.line-15{left:14%;top:60px;width:91px;transform:rotate(90deg)}.line-26{left:52%}.line-26,.line-36{top:60px;width:88px;transform:rotate(90deg)}.line-36{left:86%}.network-node{position:absolute;width:45px;height:45px;display:grid;place-items:center;border:1px solid #929890;border-radius:50%;background:var(--panel);color:#383e37;font-family:DIN Alternate,DIN\ 1451,sans-serif;font-size:17px}.network-node.is-active{border-color:var(--accent)}.node-01{left:7%;top:17px}.node-02{left:45%;top:17px}.node-03{left:79%;top:17px}.node-05{left:7%;top:124px}.node-06{left:45%;top:124px}.node-07{left:79%;top:124px}.node-08{right:0;top:124px}.network-legend{display:flex;gap:43px;color:#565c55;font-family:DIN Alternate,DIN\ 1451,sans-serif;font-size:12px;letter-spacing:.04em}.legend-dot{display:inline-block;width:9px;height:9px;margin-right:8px;border-radius:50%;vertical-align:-1px}.legend-dot.active{background:var(--accent)}.legend-dot.standby{border:1px solid #a5aaa2}.overview-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:72px;padding:0 28px;color:#626960;font-family:DIN Alternate,DIN\ 1451,sans-serif;font-size:10px;letter-spacing:.055em}.overview-footer span{white-space:nowrap}.overview-footer b{margin-left:7px;color:#858b83;font-family:inherit}@media (max-width:1180px){.overview-hero{grid-template-columns:34% 66%}.gauge-wrap{right:8px;transform:scale(.84);transform-origin:right top}.metric-card{padding-left:16px;padding-right:16px}.metric-label{font-size:11px;letter-spacing:.055em}.metric-subtitle{font-size:12px}.metric-value strong{font-size:29px}.metric-value small{font-size:21px}.overview-panel{padding-left:18px;padding-right:18px}.overview-footer{padding:0 18px;gap:10px;font-size:9px}}.course-attachment-page,.other-index-page{padding:34px 36px 44px;overflow:auto}.other-index-intro{max-width:720px;margin-bottom:30px}.course-attachment-form header small,.course-attachment-history header small,.other-index-intro small{color:var(--muted);font-family:var(--ui-font-mono);font-size:11px;letter-spacing:.12em}.other-index-intro h2{margin:9px 0 8px;font-size:28px;font-weight:650}.other-index-intro p{margin:0;color:var(--muted);font-size:14px;line-height:1.7}.other-index-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));grid-gap:18px;gap:18px}.other-index-grid>button{min-width:0;min-height:210px;padding:24px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:inherit;display:grid;grid-template-columns:24px 28px minmax(0,1fr) 18px;align-items:start;grid-gap:10px;gap:10px;text-align:left;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.other-index-grid>button:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 12px 30px rgba(18,24,14,.07)}.other-index-number{padding-top:4px;color:var(--muted);font-family:var(--ui-font-mono);font-size:12px}.other-index-grid svg{margin-top:1px}.other-index-copy{min-width:0;display:flex;flex-direction:column}.other-index-copy strong{font-size:20px}.other-index-copy small{margin-top:6px;color:var(--muted);font-family:var(--ui-font-mono);font-size:11px;letter-spacing:.08em}.other-index-copy p{margin:32px 0 0}.data-import-intro,.other-index-copy p{color:var(--muted);font-size:13px;line-height:1.7}.data-import-intro{margin:0 0 24px}.data-import-fixture-note{padding:8px 20px;background:#fff7df;color:#604b18;font-size:12px}.data-import-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px;max-width:1120px}.data-import-card{display:flex;flex-direction:column;padding:22px;border:1px solid var(--border);border-radius:8px;background:var(--panel);min-width:0}.data-import-card>header{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.data-import-card>header strong{font-size:16px;font-weight:600}.data-import-card>header small{margin-left:auto;color:var(--muted);font-family:var(--ui-font-mono);font-size:10px}.data-import-card>p{color:var(--muted);font-size:13px;line-height:1.7;margin:18px 0}.data-import-class-fields{display:grid;grid-gap:10px;gap:10px;margin-bottom:18px}.data-import-class-fields label{display:grid;grid-gap:7px;gap:7px;font-size:12px}.data-import-class-fields input,.data-import-class-fields select{width:100%;min-width:0;height:36px;padding:0 10px;color:inherit;background:var(--panel);border:1px solid var(--border);border-radius:4px;font:inherit}.data-import-card>footer{margin-top:auto;display:flex;align-items:center;justify-content:flex-end;gap:12px}.data-import-card>footer span{color:var(--muted);font-size:12px}.data-import-card>footer button{display:flex;align-items:center;justify-content:center;gap:10px;flex:0 0 auto;width:auto;min-width:80px;padding:0 14px;font-size:12px;line-height:1;white-space:nowrap}.data-import-card>footer button svg{flex:0 0 auto}.data-import-card>footer button:disabled{opacity:.4;cursor:not-allowed}@media (max-width:900px){.data-import-grid{grid-template-columns:1fr}}.course-attachment-layout{display:grid;grid-template-columns:minmax(360px,460px) minmax(480px,1fr);grid-gap:22px;gap:22px;align-items:stretch}.course-attachment-form,.course-attachment-history{min-width:0;border:1px solid var(--border);border-radius:8px;background:var(--panel)}.course-attachment-form{display:flex;flex-direction:column;padding:25px}.course-attachment-form>header,.course-attachment-history>header{min-height:52px;display:flex;align-items:flex-start;justify-content:space-between}.course-attachment-form header span,.course-attachment-history header span{display:flex;flex-direction:column;gap:7px}.course-attachment-form header strong,.course-attachment-history header strong{font-size:18px}.course-attachment-form>label:not(.course-attachment-drop){margin-top:24px;display:flex;flex-direction:column;gap:9px}.course-attachment-form>label>span{font-size:13px;font-weight:650}.course-attachment-form select{width:100%;height:45px;padding:0 13px;border:1px solid var(--border);border-radius:5px;outline:0;background:var(--panel);color:inherit;font-family:var(--ui-font-body,Inter,"SF Pro Text",sans-serif);font-size:12px}.course-attachment-form select:focus{border-color:#858b83;box-shadow:none}.course-attachment-form label>small{color:var(--muted);font-size:11px;line-height:1.55}.course-attachment-drop{min-height:175px;margin-top:22px;padding:24px;border:1px dashed var(--border);border-radius:6px;background:var(--surface-tint);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;text-align:center}.course-attachment-drop.has-file{border-color:#858b83;background:color-mix(in srgb,#858b83 7%,var(--panel))}.course-attachment-drop input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.course-attachment-drop strong{max-width:100%;overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.course-attachment-feedback{margin:14px 0 0;padding:10px 12px;border-radius:4px;font-size:12px;line-height:1.5}.course-attachment-feedback.is-error{background:rgba(190,62,70,.09);color:#a62f38}.course-attachment-feedback.is-success{background:rgba(85,129,45,.1);color:#4d7328}.course-attachment-submit{width:100%;height:45px;margin-top:18px;border:0;border-radius:5px;background:#151714;color:#fff;display:flex;align-items:center;justify-content:center;gap:9px;font-weight:680}.course-attachment-submit:hover:not(:disabled){background:#000}.course-attachment-submit:disabled{background:#151714;color:#fff;opacity:1;cursor:not-allowed}.course-attachment-history{min-height:480px;display:flex;flex-direction:column;padding:25px}.course-attachment-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:12px;padding:8px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.course-attachment-filter,.course-attachment-search{height:38px;display:flex;align-items:center;border:1px solid var(--border);border-radius:4px;background:rgba(255,255,255,.56)}.course-attachment-search{min-width:170px;flex:1 1 180px;gap:8px;padding:0 10px;color:#8c9189}.course-attachment-search input{min-width:0;flex:1 1;height:100%;padding:0;border:0;outline:0;background:transparent;color:var(--text);font:inherit;font-size:12px}.course-attachment-search input::placeholder{color:#a6aaa3}.course-attachment-search button{width:24px;height:24px;display:grid;place-items:center;padding:0;border:0;background:transparent;color:#71766f;cursor:pointer}.course-attachment-filter:focus-within,.course-attachment-search:focus-within{border-color:#858b83;box-shadow:none}.course-attachment-filter{position:relative;flex:0 1 105px;min-width:96px}.course-attachment-filter select{width:100%;height:100%;padding:0 31px 0 11px;border:0;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;color:#4f544d;font-family:var(--ui-font-body,Inter,"SF Pro Text",sans-serif);font-size:11px}.course-attachment-filter svg{position:absolute;right:10px;pointer-events:none}.course-attachment-reset{height:38px;display:flex;align-items:center;justify-content:center;gap:5px;padding:0 7px;border:0;border-left:1px solid var(--border);background:transparent;color:#555b53;font-size:10.5px;cursor:pointer}.course-attachment-reset:disabled{color:#a6aaa3;cursor:default}.course-attachment-list{min-height:300px;flex:1 1;border-top:0}.course-attachment-list article{min-height:78px;padding:13px 4px;border-bottom:1px solid var(--border);display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;grid-gap:14px;gap:14px}.course-attachment-file-icon{width:46px;height:46px;border:1px solid var(--border);border-radius:5px;background:var(--surface-tint);font-family:var(--ui-font-mono);font-size:10px;font-weight:700;display:grid;place-items:center}.course-attachment-list article>span:last-child,.course-attachment-list article>span:nth-child(2){min-width:0;display:flex;flex-direction:column;gap:6px}.course-attachment-list article>span:nth-child(2) strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.course-attachment-list article small,.course-attachment-list article time{color:var(--muted);font-size:11px}.course-attachment-list article>span:last-child{align-items:flex-end;text-align:right}.course-attachment-empty{min-height:300px;height:100%;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center}.course-attachment-empty strong{color:var(--text);font-size:13px}.course-attachment-empty small{font-size:11px}@media (max-width:1080px){.course-attachment-layout{grid-template-columns:1fr}}.toast{position:fixed;right:32px;bottom:28px;z-index:30;display:flex;align-items:center;gap:16px;max-width:min(540px,calc(100vw - 64px));padding:11px 15px;background:#1a1c19;color:#f6f7f3;font-size:10px;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .16s ease,transform .16s ease}.toast.is-visible{opacity:1;transform:translateY(0)}.toast span{overflow-wrap:anywhere}.toast button{flex-shrink:0;padding:4px 10px;border:1px solid rgb(246 247 243/40%);background:transparent;color:inherit;font:inherit;cursor:pointer;pointer-events:auto}.toast button:focus-visible{outline:2px solid currentColor;outline-offset:3px}@media (max-width:1180px){.content-area,.topbar{padding-left:28px;padding-right:28px}.tabs{gap:26px}.course-filter{width:132px}.search-field{width:176px}}@media (min-width:1540px){.content-area,.topbar{padding-left:44px;padding-right:44px}.table-row{padding-left:26px;padding-right:26px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition:none!important}}.overview-content{padding-top:21.5px;padding-bottom:28px;font-family:Inter,SF Pro Text,PingFang SC,Microsoft YaHei,Arial,sans-serif}.overview-content .metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));min-height:160px;margin:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--panel)}.overview-content .metric-card{position:relative;min-width:0;display:flex;flex-direction:column;justify-content:space-between;padding:27px 30px 21px;border-left:0;background:transparent}.overview-content .metric-card:not(:first-child):before{content:"";position:absolute;left:0;top:39px;bottom:39px;border-left:1px dotted #d8dbd4}.overview-content .metric-card:first-child{border-left:0}.overview-content .metric-content-group{width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between;transform:scale(var(--ui-kpi-scale,.9));transform-origin:center center}.overview-content .metric-heading{display:flex;flex-direction:column;gap:7px}.overview-content .metric-label{color:#30342f;font-size:var(--ui-kpi-title-size,13px);font-weight:var(--ui-kpi-title-weight,600);letter-spacing:.035em;line-height:var(--ui-kpi-title-line,18px);white-space:nowrap}.overview-content .metric-subtitle{color:#747971;font-size:var(--ui-kpi-label-size,12px);font-weight:var(--ui-kpi-label-weight,500);letter-spacing:.06em;line-height:var(--ui-kpi-label-line,16px);transform:translateY(-2px)}.overview-content .metric-value{display:flex;align-self:flex-start;align-items:baseline;gap:10px;font-family:var(--ui-font-numeric,"DIN Local","DIN Alternate","DIN 1451","Roboto Condensed","Arial Narrow",sans-serif);transform:translateY(-4px)}.overview-content .metric-value strong{color:#151714;font-size:var(--ui-kpi-display-size,49px);font-weight:var(--ui-kpi-display-weight,500);line-height:var(--ui-kpi-display-line,44px);letter-spacing:var(--ui-kpi-display-tracking,-.01em)}.overview-content .metric-card-accent .metric-value strong{color:var(--accent-strong)}.overview-content .metric-value small{color:#a5aaa2;font-size:var(--ui-kpi-denominator-size,25px);font-weight:var(--ui-kpi-denominator-weight,500);letter-spacing:-.01em}.overview-content .metric-slash{color:#a5aaa2;font-size:29px;font-weight:var(--ui-kpi-denominator-weight,500)}.overview-content .metric-status-dot{width:13px;height:13px;margin-left:3px;border-radius:50%;background:var(--accent);transform:translateY(-3px)}.profile-detail-content .teacher-detail-metric-grid{grid-template-columns:minmax(292px,1.55fr) repeat(4,minmax(126px,1fr))}.teacher-detail-summary{min-width:0;display:flex;align-items:center;gap:20px;padding:20px 27px 18px 24px}.teacher-detail-summary>.teacher-avatar-slot img{object-position:center 38%;filter:saturate(.58) contrast(1.02)}.teacher-detail-identity{min-width:0;flex:1 1}.teacher-detail-name-line{display:flex;align-items:center;gap:15px}.teacher-detail-name-line>strong{color:#1d201c;font-size:20px;font-weight:650;letter-spacing:.04em;white-space:nowrap}.teacher-detail-name-line>span{display:inline-flex;align-items:center;gap:7px;color:#666c64;font-size:11px;font-weight:600;white-space:nowrap}.teacher-detail-name-line>span>i{width:8px;height:8px;border-radius:50%;background:var(--accent)}.teacher-detail-name-line>span.is-disabled>i{background:#9da39a}.student-class-transfer-trigger{min-height:30px;margin-left:auto;display:inline-flex;align-items:center;gap:7px;padding:0 10px;border:1px solid #cdd2c8;border-radius:2px;background:rgba(255,255,255,.68);color:#454b44;font:inherit;font-size:10.5px;cursor:pointer;white-space:nowrap}.student-class-transfer-trigger:focus-visible,.student-class-transfer-trigger:hover{outline:2px solid rgba(73,79,72,.48);outline-offset:2px;border-color:#858b83;box-shadow:none}.student-class-transfer-trigger small{color:#92988f;font-size:7px;letter-spacing:.08em}.teacher-detail-identity dl{margin:14px 0 0;display:flex;flex-direction:column;gap:6px}.teacher-detail-identity dl>div{display:grid;grid-template-columns:62px minmax(0,1fr);align-items:baseline}.teacher-detail-identity dt{color:#858a82;font-size:10.5px;letter-spacing:.04em}.teacher-detail-identity dd{margin:0;overflow:hidden;color:#50564e;font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:10px;letter-spacing:.025em;text-overflow:ellipsis;white-space:nowrap}.profile-detail-content .metric-card{padding-right:18px;padding-left:22px}.profile-detail-content .metric-content-group{transform:scale(.88);transform-origin:center center}.profile-detail-content .metric-value strong{font-size:36px;line-height:34px;letter-spacing:.015em}.profile-detail-content .metric-value small{font-size:19px}.profile-detail-content .metric-value .metric-suffix{margin-left:-4px;color:#8b9088;font-size:12px;letter-spacing:.03em}.profile-detail-content .metric-value .metric-secondary{color:#777d75;font-size:15px;letter-spacing:.025em}.profile-detail-content .metric-card-time .metric-value{gap:8px}.profile-detail-content .metric-card-time .metric-value strong{font-size:30px;letter-spacing:.02em}.profile-detail-content .metric-slash{font-size:22px}.profile-detail-content .metric-status-dot{width:10px;height:10px}.student-learning-metric-card{z-index:8;overflow-anchor:none}.student-learning-metric-trigger{width:100%;height:100%;padding:0;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.student-learning-metric-trigger:focus-visible{outline:2px solid rgba(73,79,72,.48);outline-offset:4px}.metric-label-with-caret{display:inline-flex;align-items:center;gap:6px}.metric-label-with-caret svg{color:#858b83;transition:transform .15s ease}.student-learning-metric-card.is-open .metric-label-with-caret svg{transform:rotate(180deg)}.student-learning-popover{position:absolute;top:calc(100% - 8px);right:14px;z-index:40;width:min(372px,calc(100vw - 48px));border:1px solid var(--border);background:#fff;box-shadow:0 18px 42px rgba(31,35,29,.14);color:#40463e;transition:transform .16s ease}.student-learning-popover.has-session-open{transform:translateX(-140px)}.student-learning-popover-head{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px 15px;border-bottom:1px solid var(--soft-border);background:#f7f8f4}.student-learning-popover-head>span{display:flex;flex-direction:column;gap:4px;color:#30342f;font-size:12px;font-weight:650;letter-spacing:.04em}.student-learning-popover-head>span small{color:#8a9088;font-size:8px;font-weight:500;letter-spacing:.08em}.student-learning-popover-head>b{color:#737970;font-size:10px;font-weight:600;white-space:nowrap}.student-learning-course-list{max-height:258px;overflow-y:auto}.student-learning-course-row{width:100%;min-height:58px;display:grid;grid-template-columns:minmax(0,1fr) auto 16px;align-items:center;grid-gap:13px;gap:13px;padding:9px 15px;border:0;border-bottom:1px solid var(--soft-border);-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background .14s ease,box-shadow .14s ease}.student-learning-course-row:focus-visible,.student-learning-course-row:hover{outline:0;background:#f8f9f5}.student-learning-course-row.is-selected{background:rgba(var(--accent-rgb),.11);box-shadow:inset 2px 0 0 var(--accent-strong)}.student-learning-course-row:disabled{cursor:default;opacity:.62}.student-learning-course-copy{min-width:0;display:flex;flex-direction:column;gap:5px}.student-learning-course-copy strong{overflow:hidden;color:#353a34;font-size:11.5px;font-weight:620;text-overflow:ellipsis;white-space:nowrap}.student-learning-course-copy small{color:#92978f;font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:8.5px;letter-spacing:.045em}.student-learning-course-total{display:inline-flex;align-items:baseline;white-space:nowrap}.student-learning-course-total b{color:#20241f;font-family:var(--ui-font-numeric,"DIN Local","DIN Alternate",sans-serif);font-size:16px;font-weight:540}.student-learning-course-total small{margin-left:4px;color:#8e938b;font-size:9px;font-weight:500}.student-learning-course-row>svg{color:#858b83;transition:transform .14s ease}.student-learning-course-row.is-selected>svg{color:#4f5943;transform:translateX(2px)}.student-learning-course-unavailable{color:#a0a59d;font-size:8px;white-space:nowrap}.student-learning-popover-foot{min-height:54px;display:grid;grid-template-columns:auto 1fr;align-items:center;grid-column-gap:10px;column-gap:10px;padding:9px 15px;background:#fafbf8}.student-learning-popover-foot>span{color:#747a72;font-size:10px}.student-learning-popover-foot>strong{justify-self:end;color:#242823;font-family:var(--ui-font-numeric,"DIN Local","DIN Alternate",sans-serif);font-size:14px;font-weight:600}.student-learning-popover-foot>small{grid-column:1/-1;margin-top:2px;color:#999e96;font-size:8.5px}.student-learning-session-popover{position:absolute;top:0;left:calc(100% + 10px);z-index:41;width:min(390px,calc(100vw - 48px));border:1px solid var(--border);background:#fff;box-shadow:0 18px 42px rgba(31,35,29,.14);color:#40463e}.student-learning-session-head{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 13px 11px 15px;border-bottom:1px solid var(--soft-border);background:#f7f8f4}.student-learning-session-head>span:first-child{min-width:0;display:flex;flex-direction:column;gap:5px}.student-learning-session-head>span:first-child strong{overflow:hidden;color:#30342f;font-size:12px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.student-learning-session-head>span:first-child small{color:#92978f;font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:8px;letter-spacing:.045em}.student-learning-session-head>span:last-child{display:flex;align-items:center;gap:7px;white-space:nowrap}.student-learning-session-head>span:last-child b{color:#737970;font-size:9.5px;font-weight:600}.student-learning-session-head button{width:26px;height:26px;display:grid;place-items:center;padding:0;border:0;background:transparent;color:#7e847b;cursor:pointer}.student-learning-session-list{max-height:318px;overflow-y:auto}.student-learning-session-row{min-height:60px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:18px;gap:18px;padding:9px 15px;border-bottom:1px solid var(--soft-border)}.student-learning-session-row>span{min-width:0;display:flex;flex-direction:column;gap:5px}.student-learning-session-row>span strong{overflow:hidden;color:#393e38;font-size:10.5px;font-weight:590;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.student-learning-session-row>span small{color:#979c94;font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:8px;letter-spacing:.035em}.student-learning-session-row>b{color:#242823;font-family:var(--ui-font-numeric,"DIN Local","DIN Alternate",sans-serif);font-size:14px;font-weight:560;white-space:nowrap}.student-learning-session-row>b small{margin-left:4px;color:#92978f;font-family:var(--ui-font-body,Inter,sans-serif);font-size:8.5px;font-weight:500}.student-learning-session-row>em{color:#a0a59d;font-size:9px;font-style:normal;white-space:nowrap}.student-learning-session-foot{min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 15px;background:#fafbf8}.student-learning-session-foot span{color:#747a72;font-size:9.5px}.student-learning-session-foot strong{color:#242823;font-family:var(--ui-font-numeric,"DIN Local","DIN Alternate",sans-serif);font-size:13px;font-weight:600}@media (max-width:1320px){.student-learning-popover.has-session-open{transform:none}.student-learning-session-popover{right:calc(100% + 10px);left:auto}}.profile-detail-content .overview-bottom-grid{grid-template-columns:minmax(0,1fr);min-height:330px}.profile-detail-content .teacher-review-history-panel{padding-right:0}.teacher-review-history{margin-top:22px;border-top:1px solid var(--soft-border)}.teacher-review-history-row{min-height:48px;display:grid;grid-template-columns:110px 180px 150px 116px 126px minmax(170px,1fr);align-items:center;grid-column-gap:18px;column-gap:18px;padding-right:28px;padding-left:38px;border-bottom:1px solid var(--soft-border);color:#555b53;font-size:11.5px}.student-detail-content .teacher-review-history-row{grid-template-columns:150px 190px 116px 116px 126px minmax(190px,1fr)}.student-formal-history-empty{min-height:88px;display:grid;place-items:center;color:#8b9188;font-size:11px}.teacher-review-history-row:last-child{border-bottom:0}.teacher-review-history-row.is-head{min-height:40px;color:#7b8178;background:var(--table-head-soft);font-size:10.5px;font-weight:600;letter-spacing:.045em}.teacher-review-history-row>time{font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.teacher-review-history-row>strong{color:#2d312c;font-size:12px;font-weight:620}.teacher-review-history-row .status{align-items:flex-start}.teacher-review-history-row .status strong{font-size:11.5px}.teacher-review-history-row .status small{font-size:8px}.teacher-review-history-row:focus-within,.teacher-review-history-row:hover{position:relative;z-index:5}.review-comment-cell{position:relative;min-width:0;outline:0;cursor:default}.review-comment-cell>span{display:block;overflow:hidden;color:#666c64;font-size:11px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.review-comment-popover{position:absolute;right:0;top:calc(100% + 8px);z-index:12;width:310px;padding:13px 15px;border:1px solid var(--border);background:#fff;color:#424740;box-shadow:0 10px 24px rgba(31,35,29,.08);font-size:11.5px;line-height:1.75;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .12s ease,transform .15s ease,visibility 0s linear .15s}.review-comment-cell:focus-visible .review-comment-popover,.review-comment-cell:hover .review-comment-popover{opacity:1;visibility:visible;transform:translateY(0);transition-delay:0s}.overview-main-grid{display:grid;grid-template-columns:2fr 1fr;min-height:332px;margin-top:2px;border-bottom:1px solid var(--border);background:var(--panel)}.overview-content .overview-panel{min-width:0;padding:28px 28px 21px;background:var(--panel)}.overview-main-grid .overview-panel+.overview-panel{border-left:1px solid var(--border)}.panel-kicker{color:#30342f;font-size:13px;font-weight:650;letter-spacing:.05em;line-height:1.1}.panel-cn{margin-top:7px;color:#747971;font-size:12px;letter-spacing:.07em;line-height:1.1}.overview-main-grid .panel-cn{font-size:11px}.trend-head{display:flex;justify-content:space-between;gap:20px}.trend-legend{display:flex;gap:34px;margin-top:31px;color:#414740;font-size:11px}.trend-legend>.trend-legend-item{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.trend-legend small{margin-left:6px;color:#949a91;font-size:10px;letter-spacing:.08em}.trend-swatch{width:25px;height:2px;display:inline-block}.trend-swatch.accent{background:var(--accent)}.trend-swatch.review{background:#414640}.trend-tools{display:flex;align-items:flex-start;gap:17px;color:#777d75}.trend-refresh{display:inline-grid;place-items:center;width:18px;height:18px;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:inherit;line-height:1;cursor:pointer;transform:translateY(8px)}.trend-refresh.is-active{color:#9caf21}.trend-range{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;width:113px;height:36px;padding:10px 12px;border:1px solid var(--border);color:#5f655d;font-size:11px;line-height:1.2}.trend-range-select{position:relative;padding:0}.trend-range-select select{width:100%;height:100%;padding:0 34px 0 12px;border:0;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;color:inherit;font:inherit;cursor:pointer}.trend-range-select>svg{position:absolute;top:50%;right:11px;transform:translateY(-50%);pointer-events:none}.trend-backlog{display:inline-flex;align-items:center;color:#5d645c;font-size:11px}.trend-panel{position:relative}.overview-select{position:relative;display:inline-flex;height:32px;min-width:0;border:1px solid var(--border);border-radius:3px;color:#5f655d;background:transparent;font-size:11px}.overview-select select{width:100%;min-width:0;height:100%;padding:0 27px 0 10px;border:0;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;color:inherit;font:inherit;text-overflow:ellipsis;cursor:pointer}.overview-select:focus-within{outline:1px solid var(--text);outline-offset:2px}.overview-select>svg{position:absolute;top:50%;right:9px;transform:translateY(-50%);pointer-events:none}.overview-scope-filters{display:inline-grid;grid-template-columns:18px 18px;align-items:center;gap:14px;min-width:0;flex-shrink:0}.trend-head>div:first-child{min-width:0}.trend-icon-tools,.trend-tools.has-scope-filters{align-items:center;gap:14px;flex-shrink:0}.trend-icon-tools{display:inline-flex}.trend-tools.has-scope-filters .trend-range{width:96px;height:32px}.trend-tools.has-scope-filters .trend-range-select select{padding:0 25px 0 9px}.trend-tools.has-scope-filters .trend-range-select>svg{right:8px}.trend-tools.has-scope-filters .trend-refresh{transform:none}.overview-filter-head{gap:4px}.overview-filter-head>div:first-child{min-width:0}.overview-filter-head .panel-cn{white-space:nowrap}.overview-icon-select{display:inline-grid;place-items:center;width:18px;height:18px;flex-shrink:0;border:0;border-radius:0;color:#777d75;cursor:pointer}.overview-icon-select.is-active{color:var(--accent-strong)}.overview-icon-select>svg{position:static;transform:none;pointer-events:none}.overview-icon-select select{position:absolute;inset:0;z-index:1;padding:0;opacity:0;cursor:pointer}.overview-scope-empty{margin:12px 0 0;color:#7b8178;font-size:11px}.course-session-sync-note{margin:0;color:#7b8178;font-size:11px;line-height:1.7}.course-import-change-list{max-height:300px;margin:14px 0 0;padding:0;overflow-y:auto;list-style:none}.course-import-change-list li{display:flex;align-items:flex-start;gap:12px;padding:11px 0;border-top:1px solid var(--soft-border)}.course-import-change-operation{width:28px;flex-shrink:0;padding-top:1px;color:var(--text);font-size:10.5px;font-weight:600}.course-import-change-operation.is-removal{color:#a14538}.course-import-change-list li>div{min-width:0;display:flex;flex-direction:column;gap:5px}.course-import-change-list strong{color:var(--text);font-size:11px;font-weight:500;overflow-wrap:anywhere}.course-import-change-list small{color:#7b8178;font-size:9px;overflow-wrap:anywhere}.course-import-change-list p{margin:0;font-size:10px}.formal-course-import-preview .course-session-sync-confirmation{margin-top:14px}.member-cohort-select{width:102px;flex-shrink:0}.member-panel-summary{flex-wrap:wrap}.overview-filters-fixture-note{margin-left:180px}.formal-student-trend-placeholder{min-height:230px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:#8b9188;text-align:center}.formal-student-trend-placeholder strong{color:#565c54;font-size:12px;font-weight:620}.formal-student-trend-placeholder span{max-width:340px;font-size:10.5px;line-height:1.7}.formal-teacher-trend-note{margin-top:24px;color:#858b82;font-size:10.5px;line-height:1.6}.formal-teacher-class-panel{position:relative;overflow:hidden}.formal-teacher-class-list{margin-top:20px;border-top:1px solid var(--soft-border)}.formal-teacher-class-list>div{min-height:53px;display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;grid-gap:10px;gap:10px;border-bottom:1px solid var(--soft-border)}.formal-teacher-class-list>div>span:last-child{min-width:0;display:flex;flex-direction:column;gap:5px}.formal-teacher-class-list strong{overflow:hidden;color:#414740;font-size:11.5px;font-weight:620;text-overflow:ellipsis;white-space:nowrap}.formal-teacher-class-list small{color:#90968d;font-family:var(--ui-font-mono,"SFMono-Regular",monospace);font-size:8px}.formal-teacher-class-list p{margin:30px 0;color:#8b9188;font-size:11px;text-align:center}.formal-overview-ranking-list{margin-top:22px;border-top:1px solid var(--soft-border)}.formal-overview-ranking-list>div{min-height:43px;display:grid;grid-template-columns:28px minmax(0,1fr) auto auto;align-items:center;grid-gap:10px;gap:10px;border-bottom:1px solid var(--soft-border)}.formal-overview-ranking-list>div>b{color:#8a9088;font-family:var(--ui-font-numeric,"DIN Alternate",sans-serif);font-size:12px;font-weight:400}.formal-overview-ranking-list>div>strong{min-width:0;overflow:hidden;color:#414740;font-size:11px;font-weight:620;text-overflow:ellipsis;white-space:nowrap}.formal-overview-ranking-list>div>span{color:#777d75;font-family:var(--ui-font-mono,"SFMono-Regular",monospace);font-size:8px;white-space:nowrap}.formal-overview-ranking-list>p{margin:50px 0;color:#8b9188;font-size:11px;text-align:center}.trend-backlog .trend-stat{display:flex;white-space:nowrap}.trend-backlog .trend-stat-line{display:flex;align-items:baseline;gap:0}.trend-backlog .trend-stat-line small{margin-left:10px;color:#949a91;font-size:10px;letter-spacing:.08em}.trend-backlog .trend-stat-line strong{color:var(--accent-strong);font-family:DIN Alternate,DIN\ 1451,sans-serif;font-size:12px;font-weight:400}.trend-backlog .trend-stat-cn{margin-left:8px}.submission-trend-chart{width:100%;height:230px;display:block;margin-top:24px;overflow:visible;font-family:DIN Alternate,DIN\ 1451,Arial Narrow,sans-serif}.trend-chart-grid-line{stroke:#e6e8e3;stroke-width:1;vector-effect:non-scaling-stroke}.trend-chart-date-line{stroke:#e3e6df;stroke-width:1;stroke-dasharray:2 5;vector-effect:non-scaling-stroke}.trend-chart-axis-label{fill:#737971;font-size:11px}.trend-chart-area{fill:rgba(var(--accent-rgb),.1)}.trend-chart-line{fill:none;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.trend-chart-line-submitted{stroke:var(--accent)}.trend-chart-line-reviewed{stroke:#454a45}.trend-chart-point-submitted{fill:var(--accent)}.trend-chart-point-reviewed{fill:#454a45}.submission-trend-chart-wrap{position:relative}.trend-chart-hit{fill:transparent;stroke:transparent;cursor:crosshair;pointer-events:all}.trend-chart-hit:focus-visible{outline:none;stroke:rgba(47,51,47,.72);stroke-width:1;stroke-dasharray:2 2}.chart-value-tooltip{position:absolute;z-index:12;width:164px;padding:13px 14px 12px;border:1px solid #d5dad2;border-radius:3px;background:rgba(255,255,255,.98);box-shadow:0 7px 20px rgba(34,40,34,.12);color:#313630;font-size:10px;pointer-events:none}.chart-value-tooltip>strong{display:block;margin-bottom:12px;font:650 10px/1.2 var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace)}.chart-value-tooltip>div{min-height:31px;display:grid;grid-template-columns:12px 1fr auto;align-items:center;grid-gap:7px;gap:7px}.chart-value-tooltip div>span{display:grid;font-weight:580}.chart-value-tooltip div>span small{margin-top:2px;color:#838880;font-size:7px;letter-spacing:.03em}.chart-value-tooltip div>b{font:500 17px/1 var(--ui-font-numeric,"DIN Local","DIN Alternate","DIN 1451",sans-serif);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chart-tooltip-swatch{width:10px;height:10px;border-radius:2px}.chart-tooltip-swatch.submission{background:var(--accent-strong)}.chart-tooltip-swatch.review{background:#414541}.chart-tooltip-swatch.load{background:var(--accent-strong)}.chart-tooltip-swatch.pending{background:#414541}.chart-tooltip-swatch.overdue{background:#bd443e}.chart-tooltip-swatch.completed{border:1px solid var(--accent-strong);background:#fff}.line-value-tooltip{transform:translate(-50%,calc(-100% - 9px))}.line-value-tooltip.is-below{transform:translate(-50%,9px)}.submission-heatmap-stage{--heatmap-cell-size:22px;--heatmap-column-gap:5.14px;position:relative;padding-top:24px}.submission-heatmap-legend{height:22px;display:flex;align-items:center;gap:8px;color:#414740;font-size:11px}.submission-heatmap-legend>span{font-size:11px;font-weight:400}.submission-heatmap-legend>span:last-of-type{margin-left:7px}.submission-heatmap-legend.is-count>span:last-of-type{margin-left:0}.submission-heatmap-legend small{margin-left:6px;color:#949a91;font-size:10px;font-weight:400;letter-spacing:.08em}.heatmap-legend-cell,.submission-heatmap-cell{display:block;aspect-ratio:1;border-radius:3px;transform:scale(.9);transform-origin:center center}.heatmap-legend-cell{width:13px;height:13px}.heat-level-0{background:rgba(var(--accent-rgb),.055)}.heat-level-1{background:rgba(var(--accent-rgb),.18)}.heat-level-2{background:rgba(var(--accent-rgb),.36)}.heat-level-3{background:rgba(var(--accent-rgb),.62)}.heat-level-4{background:var(--accent-strong)}.submission-heatmap-body{display:grid;grid-template-columns:47px minmax(0,1fr);margin:22px 0 0 20px}.submission-heatmap-weekdays{display:grid;grid-template-rows:repeat(7,var(--heatmap-cell-size));grid-row-gap:5px;row-gap:5px;align-items:center}.submission-heatmap-weekdays span{color:#353a34;font-size:11px;font-weight:400}.submission-heatmap-grid-wrap{position:relative;width:100%;min-width:0;transform:translateX(-10px)}.submission-heatmap-grid{display:grid;width:max-content;grid-template-columns:repeat(var(--heatmap-columns),var(--heatmap-cell-size));grid-template-rows:repeat(7,var(--heatmap-cell-size));grid-auto-flow:row;grid-column-gap:var(--heatmap-column-gap);column-gap:var(--heatmap-column-gap);grid-row-gap:5px;row-gap:5px}.submission-heatmap-cell{width:var(--heatmap-cell-size);height:var(--heatmap-cell-size);padding:0;border:0;cursor:crosshair}.submission-heatmap-cell.is-unavailable{background:transparent;box-shadow:inset 0 0 0 1px var(--soft-border)}.submission-heatmap-cell.is-selected,.submission-heatmap-cell:focus-visible,.submission-heatmap-cell:hover{outline:1px solid #2f332f;outline-offset:2px}.submission-heatmap-months{margin-top:14px;display:grid;width:max-content;grid-template-columns:repeat(var(--heatmap-columns),var(--heatmap-cell-size));grid-column-gap:var(--heatmap-column-gap);column-gap:var(--heatmap-column-gap)}.submission-heatmap-months span{grid-column:var(--heatmap-month-column) /span var(--heatmap-month-span);color:#545a54;font-size:11px;font-weight:400;text-align:center;white-space:nowrap}.heatmap-value-tooltip{top:-48px;right:-10px}.trend-data-empty{min-height:230px;margin-top:24px;display:grid;place-content:center;grid-gap:6px;gap:6px;text-align:center;color:#868c84}.trend-data-empty span{font:600 10px/1.2 Inter,sans-serif;letter-spacing:.12em}.trend-data-empty strong{font-size:13px;font-weight:500;color:#5f655e}.trend-data-list{height:230px;margin-top:24px;overflow:auto;border-top:1px solid #e7e9e4}.trend-data-list-row{display:grid;grid-template-columns:minmax(120px,1fr) repeat(2,minmax(90px,.55fr));align-items:center;min-height:36px;padding:0 10px;border-bottom:1px solid #eceee9;color:#4a504a}.trend-data-list.is-review-only .trend-data-list-row{grid-template-columns:minmax(120px,1fr) minmax(90px,.55fr)}.trend-data-list-row.is-head{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:#fff;color:#7b817a;font-size:10px;letter-spacing:.08em}.trend-data-list-row strong,.trend-data-list-row time{font:500 12px/1.2 DIN Alternate,DIN\ 1451,sans-serif}.trend-data-list-row strong{text-align:right;color:#30352f}.row-action-readonly{display:block;padding:8px 12px;color:#858b84;font-size:11px;white-space:nowrap}.panel-head{display:flex;align-items:flex-start;justify-content:space-between}.panel-link{display:inline-flex;align-items:center;gap:6px;color:#7b8179;font-size:10px;letter-spacing:.04em}.alert-list{margin-top:18px}.alert-row{position:relative;display:grid;grid-template-columns:16px 1fr auto;grid-gap:13px;gap:13px;min-height:57.6px;padding:12px 0;border-bottom:0}.alert-row:after{content:"";position:absolute;right:0;bottom:5px;left:0;height:1px;background:var(--soft-border)}.alert-row:last-child:after{display:none}.alert-dot{width:10px;height:10px;margin-top:5px;border-radius:50%;background:#dba52a}.alert-dot.danger{background:#bd443e}.alert-dot.warning{background:#dba52a}.alert-title{display:flex;gap:28px;color:#3e443d;font-size:13px}.alert-title b{color:#3e443d;font-family:DIN Alternate,DIN\ 1451,sans-serif;font-size:15px;font-weight:400}.alert-title strong{font-weight:600}.alert-row time{align-self:start;padding-top:1px;color:#8b9188;font-family:DIN Alternate,DIN\ 1451,sans-serif;font-size:12px;line-height:1.2}.student-profile-panel{position:relative;overflow:hidden}.student-detail-content .overview-main-grid{grid-template-columns:minmax(0,2fr) minmax(280px,1fr)}.student-profile-body{display:flex;justify-content:center;margin-top:6px}.student-profile-radar{position:relative;width:100%;min-width:0;height:250px}.student-profile-radar canvas{max-width:100%;display:block;margin:0 auto;cursor:crosshair}.student-profile-radar canvas:focus-visible{outline:1px solid #2f332f;outline-offset:-2px}.radar-value-tooltip{transform:translate(-50%,calc(-100% - 9px))}.radar-value-tooltip.is-below{transform:translate(-50%,9px)}.student-profile-scores{min-width:0}.student-profile-score{height:36px;display:grid;grid-template-columns:minmax(0,1fr) 27px 38px;align-items:center;grid-column-gap:5px;column-gap:5px;border-bottom:1px solid var(--soft-border)}.student-profile-score:last-child{border-bottom:0}.student-profile-score>span{overflow:hidden;color:#535952;font-size:10.5px;font-weight:560;text-overflow:ellipsis;white-space:nowrap}.student-profile-score>strong{color:#262a25;font-family:var(--ui-font-numeric,"DIN Alternate","DIN 1451",sans-serif);font-size:18px;font-weight:500;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.student-profile-score>small{color:#9a9f97;font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:8px;text-align:right;white-space:nowrap}.student-profile-note{position:absolute;right:28px;bottom:12px;left:28px;margin:0;color:#9a9f97;font-size:9px;letter-spacing:.035em;text-align:center}.student-profile-note.is-error{color:#b2483f}.theory-learning-panel{position:relative;overflow:hidden}.theory-learning-panel .panel-head{gap:24px}.theory-learning-head-meta{flex:0 0 auto;display:grid;grid-template-columns:repeat(3,minmax(92px,auto));grid-column-gap:22px;column-gap:22px}.theory-learning-meta-item{min-width:0;display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right;white-space:nowrap}.theory-learning-meta-item small{color:#989d95;font-size:8px;line-height:1}.theory-learning-meta-item b{color:#5f655e;font-family:var(--ui-font-numeric,"DIN Alternate","DIN 1451",sans-serif);font-size:9px;font-weight:560;line-height:1.1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.theory-learning-state b{display:flex;align-items:center;gap:5px}.theory-learning-state b:before{width:5px;height:5px;border-radius:50%;background:#9ba098;content:""}.theory-learning-state.is-current b{color:#61705c}.theory-learning-state.is-current b:before{background:#7d9475}.theory-learning-state.is-stale b{color:#9a7420}.theory-learning-state.is-stale b:before{background:#c5992f}.theory-learning-periods{margin-top:14px;border-top:1px solid var(--soft-border)}.theory-learning-period{min-height:66px;display:grid;grid-template-columns:minmax(0,1fr) 48px 58px;align-items:center;grid-gap:9px;gap:9px;border-bottom:1px solid var(--soft-border)}.theory-learning-period>span{min-width:0;display:flex;flex-direction:column}.theory-learning-period>span:first-child strong{color:#3f453e;font-size:11.5px;font-weight:620}.theory-learning-period>span:first-child small{margin-top:2px;color:#92978f;font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:7.5px;letter-spacing:.055em}.theory-learning-period>span:first-child em{margin-top:5px;overflow:hidden;color:#858b83;font-size:8.5px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.theory-learning-period>span:not(:first-child){align-items:flex-end}.theory-learning-period>span:not(:first-child) b{color:#252a24;font-family:var(--ui-font-numeric,"DIN Alternate","DIN 1451",sans-serif);font-size:16px;font-weight:540;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.theory-learning-period>span:not(:first-child) small{margin-top:3px;color:#9a9f97;font-size:8px}.student-theory-learning-grid{border-bottom:1px solid var(--border);background:var(--panel)}.student-theory-learning-grid .overview-panel{padding-left:0}.student-theory-learning-grid .theory-learning-periods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.student-theory-learning-grid .theory-learning-period{min-height:76px;padding:0 24px;border-right:1px solid var(--soft-border)}.student-theory-learning-grid .theory-learning-period:first-child{padding-left:0}.student-theory-learning-grid .theory-learning-period:last-child{border-right:0}.student-theory-learning-grid .theory-learning-head-meta{margin-right:24px}@media (max-width:900px){.theory-learning-panel .panel-head{flex-direction:column}.student-theory-learning-grid .theory-learning-head-meta{width:100%;margin-right:0;grid-template-columns:repeat(3,minmax(0,1fr))}}.overview-bottom-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-height:300px;border-bottom:1px solid var(--border);background:var(--panel)}.overview-bottom-grid .overview-panel+.overview-panel{border-left:1px solid var(--border)}.overview-bottom-grid .panel-cn{font-size:11px}.status-track{position:relative;margin-top:27px}.status-track-line{position:absolute;left:4%;right:calc(12.5% + 7px);top:19px;height:1px;background:#9ca19a}.status-stages{position:relative;display:grid;grid-template-columns:repeat(4,1fr)}.status-stage{display:flex;flex-direction:column;align-items:center;text-align:center}.status-node{z-index:1;width:16px;height:16px;display:grid;place-items:center;border:1px solid #a6aaa3;border-radius:50%;background:var(--panel);color:#8a9088;font-family:DIN Alternate,DIN\ 1451,sans-serif;font-size:10px;transform:translateY(11px)}.status-node.danger{border:2px solid #bd443e;color:#bd443e}.status-node.accent{border:2px solid #dda92e}.status-stage strong{margin-top:18px;color:#555b53;font-size:12px;font-weight:600}.status-stage small{margin-top:7px;color:#969b93;font-size:8.5px;letter-spacing:0;white-space:nowrap}.status-stage b{margin-top:27px;color:#151714;font-family:DIN Alternate,DIN\ 1451,sans-serif;font-size:34px;font-weight:400;white-space:nowrap}.status-stage b i{margin-left:3px;color:#757b73;font-family:Inter,sans-serif;font-size:11px;font-style:normal}.teacher-row,.teacher-table-head{display:grid;grid-template-columns:46px 10px minmax(0,1fr) 10px 34px 28px 34px 38px 31px}.teacher-table-head{align-items:end;margin-top:27px;color:#555b53}.teacher-column-heading{display:flex;min-width:0;flex-direction:column;align-items:center;gap:calc(7px * var(--ui-kpi-scale, .81));text-align:center}.teacher-column-heading .metric-label{font-size:calc(var(--ui-kpi-title-size, 13px) * var(--ui-kpi-scale, .81));line-height:calc(var(--ui-kpi-title-line, 18px) * var(--ui-kpi-scale, .81))}.teacher-column-heading .metric-subtitle{font-size:calc(var(--ui-kpi-label-size, 12px) * var(--ui-kpi-scale, .81));line-height:calc(var(--ui-kpi-label-line, 16px) * var(--ui-kpi-scale, .81))}.teacher-name-heading{grid-column:1;align-items:flex-start;text-align:left}.teacher-load-head-spacer{grid-column:3}.teacher-overdue-heading,.teacher-pending-heading{width:14px;justify-self:end}.teacher-pending-heading{grid-column:5}.teacher-overdue-heading{grid-column:7}.teacher-done-heading{grid-column:9;transform:translateX(2px)}.teacher-list{margin-top:14px}.teacher-row{align-items:center;min-height:31px;color:#4d534c;font-size:12px}.teacher-row>strong{grid-column:1;font-weight:600}.teacher-load{grid-column:3;height:4px;background:#252a25}.teacher-load i{display:block;height:100%;background:var(--accent)}.teacher-row>b{color:#454b44;font-family:DIN Alternate,DIN\ 1451,sans-serif;font-size:14px;font-weight:400;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.teacher-row>b:first-of-type{grid-column:5}.teacher-row>b:nth-of-type(2){grid-column:7}.teacher-row>b:nth-of-type(3){grid-column:9;width:17px;justify-self:center}.class-load-row,.class-load-table-head{display:grid;grid-template-columns:124px 14px minmax(0,1fr) 14px 34px 28px 34px}.class-load-table-head{align-items:end;margin-top:27px;color:#555b53}.class-load-column-heading{display:flex;min-width:0;flex-direction:column;align-items:center;gap:calc(7px * var(--ui-kpi-scale, .81));text-align:center}.class-load-column-heading .metric-label{font-size:calc(var(--ui-kpi-title-size, 13px) * var(--ui-kpi-scale, .81));line-height:calc(var(--ui-kpi-title-line, 18px) * var(--ui-kpi-scale, .81))}.class-load-column-heading .metric-subtitle{font-size:calc(var(--ui-kpi-label-size, 12px) * var(--ui-kpi-scale, .81));line-height:calc(var(--ui-kpi-label-line, 16px) * var(--ui-kpi-scale, .81))}.class-load-name-heading{grid-column:1;align-items:flex-start;text-align:left}.class-load-head-spacer{grid-column:3}.class-load-overdue-heading,.class-load-pending-heading{width:14px;justify-self:end}.class-load-pending-heading{grid-column:5}.class-load-overdue-heading{grid-column:7}.class-load-list{margin-top:14px}.overview-list-empty{min-height:126px;display:grid;place-items:center;color:#8b9188;font-size:10.5px}.class-load-row{align-items:center;min-height:31px;color:#4d534c;font-size:12px}.class-load-row>strong{grid-column:1;min-width:0;font-weight:600;white-space:nowrap}.class-load-bar{grid-column:3;height:4px;background:#252a25}.class-load-bar i{display:block;height:100%;background:var(--accent)}.class-load-row>b{color:#454b44;font-family:DIN Alternate,DIN\ 1451,sans-serif;font-size:14px;font-weight:400;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.class-load-row>b:first-of-type{grid-column:5}.class-load-row>b:nth-of-type(2){grid-column:7}.has-metric-tooltip{position:relative;outline:0;cursor:default}.has-metric-tooltip:focus-visible{outline:1px solid rgba(47,51,47,.62);outline-offset:2px}.overview-metric-tooltip{top:calc(100% + 7px);right:0;width:184px;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .12s ease,transform .15s ease,visibility 0s linear .15s}.has-metric-tooltip:hover{z-index:14}.has-metric-tooltip:focus-visible .overview-metric-tooltip,.has-metric-tooltip:hover .overview-metric-tooltip{opacity:1;visibility:visible;transform:translateY(0);transition-delay:0s}.risk-list{margin-top:22px}.risk-row{display:grid;grid-template-columns:40px 1fr auto;align-items:center;grid-gap:13px;gap:13px;min-height:61px;border-bottom:1px solid var(--soft-border)}.risk-row:last-child{border-bottom:0}.risk-row>b{color:#4f554e;font-family:DIN Alternate,DIN\ 1451,sans-serif;font-size:17px;font-weight:400}.risk-row>strong{color:#3f453e;font-size:13px;font-weight:600;white-space:nowrap}.risk-row>div{display:flex;justify-content:flex-end;gap:8px}.risk-row span{padding:8px 12px;border:1px solid #eff0ed;border-radius:8px;background:#fbfbfa;color:#737971;font-size:10px;white-space:nowrap}.overview-footer{display:grid;grid-template-columns:repeat(4,1fr);min-height:90px;background:var(--panel)}.overview-footer span{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:7px;padding:0 28px;border-right:1px solid var(--soft-border);color:#555b53;font-family:DIN Alternate,DIN\ 1451,sans-serif;font-size:11px;letter-spacing:.06em;text-align:left}.overview-footer span:last-child{border-right:0}.overview-footer b{margin-left:0;color:#8b9188;font-family:Inter,sans-serif;font-size:10px;font-weight:400;letter-spacing:0}.overview-footer strong{color:#4a5049;font-family:DIN Alternate,DIN\ 1451,sans-serif;font-size:16px;font-weight:400;letter-spacing:.04em}.overview-content .alert-row time,.overview-content .alert-title b,.overview-content .overview-footer strong,.overview-content .risk-row>b,.overview-content .status-stage b,.overview-content .teacher-row>b,.overview-content .trend-backlog strong{font-weight:300}.overview-content .status-content{align-self:center;width:auto;margin-top:18px}.overview-content .status-content,.overview-content .status-heading{display:flex;flex-direction:column;align-items:center;text-align:center}.overview-content .status-heading{width:100%;gap:7px;margin-top:0}.overview-content .status-content b{align-self:center}.overview-content .status-heading{gap:calc(7px * var(--ui-kpi-scale, .81))}.overview-content .status-heading .metric-label{font-size:calc(var(--ui-kpi-title-size, 13px) * var(--ui-kpi-scale, .81));line-height:calc(var(--ui-kpi-title-line, 18px) * var(--ui-kpi-scale, .81))}.overview-content .status-heading .metric-subtitle{font-size:calc(var(--ui-kpi-label-size, 12px) * var(--ui-kpi-scale, .81));line-height:calc(var(--ui-kpi-label-line, 16px) * var(--ui-kpi-scale, .81))}.overview-content .status-content,.overview-content .status-node{position:static;left:auto}.overview-bottom-grid>.overview-panel:first-child,.overview-main-grid>.overview-panel:first-child{padding-left:0}.assignment-detail-page{padding-top:21.5px;padding-bottom:56px}.formal-readonly-banner{display:flex;align-items:baseline;gap:16px;margin-bottom:14px;padding:11px 14px;border-left:2px solid var(--accent);background:rgba(var(--accent-rgb),.08);color:#70766e;font-size:10.5px;line-height:1.55}.formal-readonly-banner strong{flex:0 0 auto;color:#444b42;font-size:11px;font-weight:650}.formal-detail-state-page{min-height:calc(100vh - 72px);display:grid;place-items:center}.formal-detail-state{min-width:330px;display:flex;flex-direction:column;align-items:center;gap:10px;padding:36px;border:1px solid var(--border);background:rgba(255,255,255,.72);color:#858b83}.formal-detail-state strong{color:#343a34;font-size:14px}.formal-detail-state span{max-width:440px;text-align:center;font-size:11px;line-height:1.6}.formal-detail-state button{height:32px;margin-top:7px;padding:0 16px;border:1px solid var(--border);background:transparent;color:#555c54;cursor:pointer}.formal-detail-state .is-spinning{animation:formal-detail-spin .9s linear infinite}.formal-detail-state.is-error>svg{color:#a65d55}@keyframes formal-detail-spin{to{transform:rotate(1turn)}}.assignment-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:start;grid-gap:18px;gap:18px}.assignment-detail-main,.assignment-detail-side{min-width:0}.assignment-detail-main{display:grid;grid-gap:16px;gap:16px}.assignment-detail-overview{min-height:128px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--border);border-radius:3px;background:rgba(255,255,255,.72)}.assignment-detail-overview>div{min-width:0;display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;grid-column-gap:13px;column-gap:13px;padding:25px 22px}.assignment-detail-overview>div+div{border-left:1px solid var(--soft-border)}.assignment-detail-overview svg{align-self:start;margin-top:2px;color:#777d75}.assignment-detail-overview span,.assignment-detail-panel header>div{min-width:0;display:flex;flex-direction:column}.assignment-detail-overview small,.assignment-detail-panel header small{color:var(--secondary);font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:9px;font-weight:500;letter-spacing:.075em;line-height:1.25}.assignment-detail-overview strong{overflow:hidden;margin-top:12px;color:#2e332e;font-size:13px;font-weight:620;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.assignment-detail-overview em{margin-top:8px;color:#989d95;font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:9px;font-style:normal;letter-spacing:.035em;line-height:1.2}.assignment-detail-panel{min-width:0;border:1px solid var(--border);border-radius:3px;background:rgba(255,255,255,.72)}.assignment-detail-panel>header{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 24px;border-bottom:1px solid var(--soft-border)}.assignment-detail-panel header strong{color:#282c28;font-size:14px;font-weight:650;letter-spacing:.025em;line-height:1.3}.assignment-detail-panel header small{margin-top:5px}.assignment-submission-controls{display:flex;flex:0 0 auto;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:8px}.assignment-detail-panel header>div.assignment-submission-controls{flex-direction:row}.assignment-submission-controls a,.assignment-submission-controls button{height:32px;display:inline-grid;place-items:center;border:1px solid var(--border);border-radius:2px;background:transparent;color:#687067;text-decoration:none;cursor:pointer}.assignment-submission-controls a{padding:0 14px;border-color:var(--border);color:#687067;font-size:11px;font-weight:550;letter-spacing:.04em;white-space:nowrap}.assignment-submission-controls button{width:34px;padding:0}.assignment-submission-controls a:hover,.assignment-submission-controls button:hover{background:#fafbf6}.assignment-submission-content{min-height:192px;display:grid;grid-template-columns:218px minmax(0,1fr);grid-gap:20px;gap:20px;padding:20px 24px}.formal-submission-viewer{min-height:420px;display:grid;grid-template-columns:minmax(0,1fr) 174px;grid-gap:14px;gap:14px;padding:18px 20px 20px}.formal-submission-image{position:relative;min-height:380px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--soft-border);background:#f2f3ef}.formal-submission-image>a{width:100%;height:100%;display:grid;place-items:center;cursor:zoom-in}.formal-submission-image img{width:100%;max-height:620px;display:block;object-fit:contain}.formal-submission-image>button{position:absolute;top:50%;z-index:2;width:34px;height:34px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:rgba(21,23,20,.52);color:#fff;transform:translateY(-50%);cursor:pointer}.formal-submission-image>button.is-previous{left:10px}.formal-submission-image>button.is-next{right:10px}.formal-submission-asset-list{min-height:0;max-height:620px;display:flex;flex-direction:column;gap:8px;overflow:auto}.formal-submission-asset-list button{min-height:70px;display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;grid-gap:9px;gap:9px;padding:6px;border:1px solid var(--soft-border);background:rgba(255,255,255,.7);color:#4f554f;text-align:left;cursor:pointer}.formal-submission-asset-list button.is-active{border-color:#aaba51;box-shadow:inset 2px 0 0 var(--accent)}.formal-submission-asset-list img{width:58px;height:56px;display:block;background:#eef0ea;object-fit:cover}.formal-submission-asset-list span{min-width:0;display:flex;flex-direction:column;gap:6px}.formal-submission-asset-list strong{font-size:10.5px}.formal-submission-asset-list small{color:#999f97;font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:8px}.formal-review-rating{display:flex;gap:3px;margin:10px 24px 0;color:#8fa515}.formal-detail-empty{min-height:130px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#9aa097}.formal-detail-empty span{font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:8px;letter-spacing:.08em}.formal-detail-empty strong{color:#6a7069;font-size:11px;font-weight:550}.assignment-submission-thumbnail{position:relative;width:218px;height:152px}.assignment-submission-thumbnail img,.assignment-submission-thumbnail>a{width:100%;height:100%;display:block}.assignment-submission-thumbnail>a{cursor:zoom-in}.assignment-submission-thumbnail img{border:1px solid var(--soft-border);border-radius:2px;background:#f1f2ee;object-fit:cover}.assignment-submission-thumbnail>button{position:absolute;top:50%;z-index:2;width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:rgba(21,23,20,.5);color:#fff;opacity:0;transform:translateY(-50%);transition:opacity .12s ease,background .12s ease;cursor:pointer}.assignment-submission-thumbnail>button:hover{background:rgba(21,23,20,.5)}.assignment-submission-thumbnail>button.is-previous{left:7px}.assignment-submission-thumbnail>button.is-next{right:7px}.assignment-submission-thumbnail:focus-within>button,.assignment-submission-thumbnail:hover>button{opacity:1}.assignment-submission-thumbnail.controls-suppressed:focus-within>button,.assignment-submission-thumbnail.controls-suppressed:hover>button,.assignment-submission-thumbnail.controls-suppressed>button{opacity:0;pointer-events:none}.assignment-submission-meta{min-width:0;padding:8px 18px;border:1px solid var(--soft-border)}.assignment-submission-meta>small,.assignment-submission-meta>strong{display:block}.assignment-submission-meta>strong{color:#303530;font-size:14px;font-weight:650;letter-spacing:.035em}.assignment-submission-meta>small{margin-top:5px;color:#92978f;font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:9px;letter-spacing:.06em}.assignment-submission-meta>.student-code-reveal{margin-top:5px}.assignment-detail-panel>p,.assignment-submission-content p{color:#5f655e;font-size:12px;line-height:1.8}.assignment-submission-content p{margin:22px 0 0}.assignment-submission-content dl{display:flex;flex-wrap:wrap;gap:28px;margin:20px 0 0}.assignment-submission-content dl div{display:flex;align-items:baseline;gap:8px}.assignment-submission-content dd,.assignment-submission-content dt{margin:0;font-size:11px}.assignment-submission-content dt{color:#8c9289}.assignment-submission-content dd{color:#3f453f;font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace)}.assignment-note-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.assignment-note-grid .assignment-detail-panel{min-height:168px;padding-bottom:19px}.assignment-feedback-editor,.assignment-note-grid .assignment-detail-panel>p,.assignment-note-grid .assignment-detail-panel>time{margin-right:24px;margin-left:24px}.assignment-note-grid .assignment-detail-panel>p{min-height:44px;margin-top:18px;margin-bottom:8px}.assignment-note-grid .assignment-detail-panel>time{display:block;color:#92988f;font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:9px;letter-spacing:.02em}.assignment-feedback-editor{display:grid;grid-gap:10px;gap:10px;margin-top:16px}.assignment-feedback-editor textarea{min-height:74px;resize:vertical;padding:10px 12px;border:1px solid var(--border);border-radius:2px;background:#fbfcf9;color:var(--text);font:12px/1.7 inherit}.assignment-feedback-editor button{width:92px;height:30px;justify-self:end;border:1px solid var(--accent);border-radius:2px;background:transparent;color:#71850f;font-size:11px;cursor:pointer}.assignment-version-table{padding:0 24px 12px}.assignment-version-table>div{min-height:46px;display:grid;grid-template-columns:72px 84px minmax(0,1fr) 182px;align-items:center;grid-gap:14px;gap:14px;border-bottom:1px solid var(--soft-border);color:#505650;font-size:11px}.assignment-version-table>div:last-child{border-bottom:0}.assignment-version-table>div.is-head{min-height:40px;color:#8e948c;font-size:10px}.assignment-version-table strong{font-weight:550}.assignment-version-table strong,.assignment-version-table time{font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace)}.assignment-version-table time{color:#7e847c;font-size:10px}.assignment-version-table .is-current{color:#81970d}.assignment-thread-panel{padding-bottom:22px}.assignment-thread{margin:18px 24px 0}.assignment-thread article{position:relative;min-height:78px;padding:14px 18px;border:1px solid var(--soft-border);background:rgba(255,255,255,.58)}.assignment-thread article+article{border-top:0}.assignment-thread article.is-reply{background:rgba(var(--accent-rgb),.055)}.assignment-thread article strong{color:#343934;font-size:11px;font-weight:650}.assignment-thread article p{margin:8px 0 6px;color:#555b54;font-size:12px;line-height:1.55}.assignment-thread article time{color:#989d96;font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:9px}.formal-thread-panel .assignment-thread article+article{margin-top:10px;border-top:1px solid var(--soft-border)}.formal-conversation-reply,.formal-feedback-snapshot{margin-top:11px;padding:10px 12px;background:rgba(246,247,242,.82)}.formal-feedback-snapshot small{color:#858c83;font-size:9px}.formal-conversation-reply p,.formal-feedback-snapshot p{margin-bottom:0!important}.formal-conversation-reply{border-left:2px solid var(--accent);background:rgba(var(--accent-rgb),.055)}.assignment-reply-box{display:grid;grid-template-columns:minmax(0,1fr) 76px;margin:14px 24px 0}.assignment-reply-box button,.assignment-reply-box input{height:38px;border:1px solid var(--border);border-radius:0}.assignment-reply-box input{min-width:0;padding:0 12px;background:#fbfcf9;color:#424842;font-size:11px}.assignment-reply-box button{display:inline-flex;align-items:center;justify-content:center;gap:6px;margin-left:-1px;background:transparent;color:#697068;font-size:10px;cursor:pointer}.assignment-detail-side{position:-webkit-sticky;position:sticky;top:18px;display:grid;grid-gap:16px;gap:16px}.assignment-task-details dl{margin:0;padding:4px 22px 12px}.assignment-task-details dl>div{min-height:45px;display:grid;grid-template-columns:84px minmax(0,1fr);align-items:center;grid-gap:10px;gap:10px;border-bottom:1px solid var(--soft-border)}.assignment-task-details dl>div:last-child{border-bottom:0}.assignment-task-details dt{color:#858b83;font-size:10px}.assignment-task-details dd{min-width:0;margin:0;overflow-wrap:anywhere;color:#444a44;font-size:11px;font-weight:560;line-height:1.45}.assignment-task-details dd.muted{color:#a3a8a1;font-weight:400}.assignment-management-panel{display:grid;grid-gap:10px;gap:10px;padding-bottom:20px}.assignment-management-panel>button,.assignment-management-panel>p{margin-right:22px;margin-left:22px}.assignment-management-panel>button{height:38px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--border);border-radius:2px;background:transparent;color:#5e655d;font-size:11px;cursor:pointer}.assignment-management-panel>header+button{margin-top:8px}.assignment-management-panel>button.is-primary{border-color:#151714;background:#151714;color:#fff;font-weight:650}.assignment-management-panel>p{margin-top:4px;margin-bottom:0;color:#92978f;font-size:9px;line-height:1.7}.message-table-frame{margin-top:28px}.message-table .table-row{grid-template-columns:minmax(280px,1.8fr) 110px minmax(150px,.9fr) 118px 72px 70px}.message-row{width:100%;min-height:68px;border:0;border-bottom:1px solid var(--soft-border);background:transparent;color:#4f554e;font:inherit;text-align:left;cursor:pointer}.message-row:focus-visible,.message-row:hover{outline:0;background:#f7f8f4}.message-row.is-read,.message-row.is-resolved{color:#858b83}.message-primary{min-width:0;display:grid;grid-template-columns:5px minmax(0,1fr);align-items:center;grid-gap:13px;gap:13px}.message-primary>i{width:5px;height:5px;border-radius:50%;background:transparent}.message-row.is-pending .message-primary>i,.message-row.is-unread .message-primary>i{background:#d84f43}.message-primary>span{min-width:0;display:flex;flex-direction:column;gap:6px}.message-primary small{color:#92978f;font-family:var(--ui-font-mono,"SFMono-Regular","Roboto Mono",monospace);font-size:8.5px;letter-spacing:.04em}.message-primary small,.message-primary strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-primary strong{color:#282d28;font-size:13px;font-weight:620}.message-row.is-read .message-primary strong,.message-row.is-resolved .message-primary strong{color:#6f756e;font-weight:540}.message-row>span:not(.message-primary),.message-row>time{font-size:11px}.message-row .view-action{display:inline-flex;align-items:center;gap:5px;color:#626860}.message-empty-state small{max-width:420px;color:#92978f;font-size:10px;line-height:1.7;text-align:center}.operation-record-page .tabs button.active{color:#20241f}.operation-record-page .tabs button.active:after{content:"";position:absolute;left:50%;bottom:-32px;width:42px;height:2px;background:var(--accent);transform:translateX(-50%)}.operation-record-search{width:268px}.operation-record-table .table-row{grid-template-columns:minmax(280px,1.8fr) 78px minmax(160px,1fr) 118px 142px 64px}.operation-record-row{cursor:default}.operation-record-row:hover{background:transparent}.operation-record-actor,.operation-record-entity{min-width:0;display:flex;flex-direction:column;gap:5px}.operation-record-actor strong,.operation-record-entity strong{overflow:hidden;color:#4f554e;font-size:11px;font-weight:620;text-overflow:ellipsis;white-space:nowrap}.operation-record-actor small,.operation-record-entity small{color:#92978f;font-size:8px;letter-spacing:.07em}.operation-record-recovery{display:flex;align-items:center;justify-content:flex-start}.operation-record-recovery button{height:28px;padding:0 12px;border:0;border-radius:4px;background:#20241f;color:#fff;font-size:10px;cursor:pointer}.operation-record-recovery button:hover{background:var(--accent-strong)}.operation-record-recovery button:disabled{cursor:wait;opacity:.55}.operation-record-recovery small{color:#92978f;font-size:9px}.account-dialog-backdrop.is-rhine{background:rgba(42,46,40,.24);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.account-dialog-backdrop.is-rhine .account-dialog{border-color:var(--border);border-radius:12px;box-shadow:0 24px 68px rgba(31,35,29,.18);color:#4f554e;font-family:var(--ui-font-body)}.account-dialog-backdrop.is-rhine .account-dialog>header{border-bottom-color:var(--soft-border)}.account-dialog-backdrop.is-rhine .account-dialog-icon{border-radius:9px;background:#f0f2ea;color:#242824}.account-dialog-backdrop.is-rhine .account-dialog h2{color:#242824;font-size:19px;font-weight:680}.account-dialog-backdrop.is-rhine .account-dialog header p{color:#7f857d}.account-dialog-backdrop.is-rhine .account-dialog-close{color:#858b83}.account-dialog-backdrop.is-rhine .account-dialog-close:hover{background:#f4f5f1;color:#242824}.account-dialog-backdrop.is-rhine .account-password-form label{color:#5b6159}.account-dialog-backdrop.is-rhine .account-password-form input{border-color:var(--border);border-radius:0;color:#242824}.account-dialog-backdrop.is-rhine .account-password-form input:focus{border-color:#858b83;box-shadow:none}.account-dialog-backdrop.is-rhine .primary-button{border-color:#20231f;background:#20231f;color:#fff}.account-dialog-backdrop.is-rhine .secondary-button{border-color:#555b53;background:#fff;color:#30352f}.account-dialog-backdrop.is-rhine .account-dialog-success strong{color:#71820f}body:has(.review-workbench-page),html:has(.review-workbench-page){height:100%;overflow:hidden}body:has(.review-workbench-page){min-height:0}.app-shell:has(.review-workbench-page),.workspace:has(.review-workbench-page){height:100vh;min-height:0;overflow:hidden}.app-shell:has(.review-workbench-page){grid-template-columns:minmax(0,1fr)}.app-shell:has(.review-workbench-page)>.sidebar{display:none}.app-shell:has(.review-workbench-page)>.workspace{position:relative;grid-column:1}.review-workbench-page{position:absolute;inset:102.5px 0 0;top:102.5px;z-index:2;min-height:0;padding:0;overflow:hidden;background:#f7f9fc;color:#17345f;display:grid;grid-template-rows:58px minmax(0,1fr) 58px;font-family:PingFang SC,Microsoft YaHei,sans-serif}.review-workbench-page.formal-detail-state-page{inset:0;min-height:100vh;grid-template-rows:minmax(0,1fr);place-items:center}.review-workbench-page .review-header{min-height:58px;padding:0 22px;border-bottom:1px solid #e3e8f1;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:18px}.review-workbench-page .review-header>div{display:flex;align-items:center;gap:14px}.review-workbench-page .review-back-button,.review-workbench-page .review-exit-button{min-height:38px;border:0;border-radius:7px;background:transparent;color:#17345f;display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;font-weight:650}.review-workbench-page .review-back-button{padding:0 6px}.review-workbench-page .review-back-button:hover{color:#1463f3}.review-workbench-page .review-exit-button{padding:0 13px;border:1px solid #dde4ef;background:#fff;color:#516a92;font-weight:600}.review-workbench-page .review-exit-button:hover{border-color:#b9c8dd;background:#f8fafe}.review-workbench-page .save-indicator{position:relative;padding-left:15px;color:#677b9d;display:inline-flex;align-items:center;font-size:11px}.review-workbench-page .save-indicator:before{position:absolute;left:0;width:7px;height:7px;border-radius:50%;background:#22b879;content:""}.review-workbench-page .save-indicator.dirty:before{background:#f2a334}.review-workbench-page .review-layout{min-height:0;display:grid;grid-template-columns:276px minmax(0,1fr) 326px;grid-gap:12px;gap:12px;overflow:hidden}.review-workbench-page .review-canvas-column,.review-workbench-page .review-queue-panel,.review-workbench-page .review-side-card,.review-workbench-page .student-note{border:1px solid #e1e7f0;border-radius:10px;background:#fff}.review-workbench-page .review-queue-panel{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.review-workbench-page .review-queue-filters{padding:15px 14px 12px;display:grid;grid-gap:9px;gap:9px}.review-workbench-page .review-queue-filters>label:not(.review-queue-search){display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;grid-gap:7px;gap:7px;color:#597095;font-size:12px;font-weight:650}.review-workbench-page .review-queue-filters input,.review-workbench-page .review-queue-filters select{width:100%;height:36px;min-width:0;border:1px solid #dce4ef;border-radius:7px;background:#fff;color:#294970;outline:0;padding:0 10px;font-size:12px}.review-workbench-page .review-queue-filters input:focus,.review-workbench-page .review-queue-filters select:focus{border-color:#4c88ed;box-shadow:0 0 0 3px rgba(20,99,243,.07)}.review-workbench-page .review-queue-search{height:38px;margin-top:3px;border:1px solid #dce4ef;border-radius:7px;padding:0 10px;display:flex;align-items:center;gap:7px;color:#6680a6}.review-workbench-page .review-queue-search input{height:34px;border:0;padding:0}.review-workbench-page .review-queue-search:focus-within{border-color:#4c88ed;box-shadow:0 0 0 3px rgba(20,99,243,.07)}.review-workbench-page .review-queue-search:focus-within input{box-shadow:none}.review-workbench-page .review-queue-count{margin:0;padding:0 14px 11px;border-bottom:1px solid #e7ebf2;color:#7b8ba4;font-size:12px}.review-workbench-page .review-queue-list{min-height:0;flex:1 1;overflow-y:auto}.review-workbench-page .review-queue-list>button{position:relative;width:100%;min-height:64px;padding:11px 10px 11px 13px;border:0;border-bottom:1px solid #edf0f5;background:#fff;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;grid-gap:9px;gap:9px;color:#29466f;cursor:pointer;text-align:left}.review-workbench-page .review-queue-list>button:hover{background:#f7f9fc}.review-workbench-page .review-queue-list>button.active{background:#f1f6ff;box-shadow:inset 3px 0 #1463f3}.review-workbench-page .review-queue-list>button>i{width:38px;height:38px;border-radius:50%;background:#eaf1ff;color:#185cce;display:grid;place-items:center;font-style:normal;font-size:12px;font-weight:700}.review-workbench-page .review-queue-list>button>span{min-width:0;display:flex;flex-direction:column;gap:5px}.review-workbench-page .review-queue-list>button b,.review-workbench-page .review-queue-list>button em,.review-workbench-page .review-queue-list>button small,.review-workbench-page .review-queue-list>button strong{font-size:12px}.review-workbench-page .review-queue-list>button small{overflow:hidden;color:#7184a2;text-overflow:ellipsis;white-space:nowrap}.review-workbench-page .review-queue-list>button .review-queue-state{align-items:flex-end;justify-self:end}.review-workbench-page .review-queue-list>button em{min-height:18px;padding:0 6px;border-radius:5px;background:#fff1e9;color:#e06b29;display:inline-flex;align-items:center;font-style:normal;white-space:nowrap}.review-workbench-page .review-queue-list>button em.reviewing{background:#e9f7f0;color:#17835a}.review-workbench-page .review-queue-list>button b{color:#8291a9;font-weight:500;line-height:18px}.review-workbench-page .review-canvas-column{min-width:0;min-height:0;border:1px solid #e1e7f0;border-radius:10px;background:#fff;display:flex;flex-direction:column;overflow:hidden}.review-workbench-page .editor-shell{order:1;flex:1 1;min-height:0;display:flex;flex-direction:column}.review-workbench-page .annotation-toolbar{min-height:58px;padding:5px 10px;border-bottom:1px solid #e4e9f1;background:#fff;display:flex;align-items:center;gap:0}.review-workbench-page .annotation-tool-group{min-width:max-content;padding:0 8px;border-right:1px solid #e7ebf2;display:flex;align-items:center;gap:3px}.review-workbench-page .annotation-tool-group:first-child{padding-left:0}.review-workbench-page .annotation-style-group label,.review-workbench-page .annotation-toolbar button{width:48px;height:46px;border:0;border-radius:7px;background:transparent;color:#5f7393;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;font-size:9px}.review-workbench-page .annotation-toolbar button.active,.review-workbench-page .annotation-toolbar button:hover{background:#edf4ff;color:#1463f3}.review-workbench-page .annotation-style-group label{position:relative}.review-workbench-page .annotation-color-control input{width:24px;height:24px;border:0;padding:0;border-radius:50%;overflow:hidden;cursor:pointer}.review-workbench-page .annotation-color-control input::-webkit-color-swatch-wrapper{padding:0}.review-workbench-page .annotation-color-control input::-webkit-color-swatch{border:0;border-radius:50%}.review-workbench-page .annotation-width-control select{width:46px;height:25px;border:0;background:transparent;color:#29466f;outline:0;font-size:10px}.review-workbench-page .annotation-zoom-control{min-width:max-content;margin-left:auto;padding-left:10px;display:flex;align-items:center;gap:2px}.review-workbench-page .annotation-zoom-control>button{width:30px;height:34px;flex-direction:row}.review-workbench-page .annotation-zoom-control strong{min-width:46px;color:#29466f;font-size:10px;text-align:center}.review-workbench-page .canvas-stage{flex:1 1;min-width:0;min-height:0;padding:18px;overflow:hidden;background:#f5f7fa;display:grid;place-items:center}.review-workbench-page .annotation-canvas-wrap{width:min(100%,560px);height:calc(100% - 6px);max-height:600px;border:1px solid #e1e4e9;border-radius:2px;overflow:hidden;background:#fff;box-shadow:0 10px 30px rgba(27,51,87,.13);transform-origin:center;transition:transform .16s ease}.review-workbench-page .annotation-canvas-wrap canvas,.review-workbench-page .annotation-canvas-wrap img{position:absolute;inset:0;width:100%;height:100%;display:block}.review-workbench-page .annotation-canvas-wrap img{object-fit:contain;-webkit-user-select:none;-moz-user-select:none;user-select:none}.review-workbench-page .annotation-canvas-wrap canvas{touch-action:none;transition:opacity .14s ease}.review-workbench-page .annotation-canvas-wrap canvas.is-hidden{opacity:0;pointer-events:none}.review-workbench-page .image-tabs{order:2;flex:0 0 70px;min-height:70px;padding:7px 10px;border-top:1px solid #e4e9f1;background:#fff;display:flex;align-items:center;gap:7px;overflow:hidden}.review-workbench-page .review-image-tabs-items{min-width:0;display:flex;align-items:center;gap:7px;overflow-x:auto}.review-workbench-page .image-tabs button{position:relative;width:58px;height:54px;flex:none;padding:0;border:2px solid transparent;border-radius:7px;overflow:hidden;background:#f4f6f9;cursor:pointer}.review-workbench-page .image-tabs button.active{border-color:#1463f3}.review-workbench-page .image-tabs button img{width:100%;height:100%;object-fit:cover}.review-workbench-page .image-tabs button span{position:absolute;left:3px;bottom:3px;width:18px;height:18px;border-radius:4px;background:rgba(255,255,255,.9);color:#38557d;display:grid;place-items:center;font-size:9px}.review-workbench-page .review-image-total{width:66px;height:54px;flex:none;border:1px solid #e1e7f0;border-radius:7px;background:#f8fafe;color:#526d96;display:flex;align-items:center;justify-content:center;font-size:10px}.review-workbench-page .review-panel{min-width:0;min-height:0;padding:0 2px 0 0;border:0;display:flex;flex-direction:column;gap:0;overflow-y:auto}.review-workbench-page .review-side-card{margin-bottom:10px;padding:15px}.review-workbench-page .panel-title h2,.review-workbench-page .quick-comments>span,.review-workbench-page .review-side-card h2,.review-workbench-page .student-note strong{margin:0;color:#213f68;font-size:12px;font-weight:700}.review-workbench-page .review-student-card>div{margin-top:13px;display:flex;align-items:center;gap:11px}.review-workbench-page .review-student-card i{width:42px;height:42px;border-radius:50%;background:#eaf1ff;color:#185cce;display:grid;place-items:center;font-style:normal;font-weight:700}.review-workbench-page .review-student-card span{display:flex;flex-direction:column;gap:4px}.review-workbench-page .review-student-card small,.review-workbench-page .review-student-card strong{font-size:12px}.review-workbench-page .review-student-card strong{color:#17365f}.review-workbench-page .review-student-card small{color:#6f82a1}.review-workbench-page .review-assignment-card dl{margin:11px 0 0}.review-workbench-page .review-assignment-card dl div{padding:5px 0;display:grid;grid-template-columns:58px minmax(0,1fr);grid-gap:8px;gap:8px;font-size:12px;line-height:1.5}.review-workbench-page .review-assignment-card dt{color:#7a8ba5}.review-workbench-page .review-assignment-card dd{margin:0;color:#3f5d87;text-align:right;overflow-wrap:anywhere}.review-workbench-page .student-note{margin:0 0 10px;padding:15px;color:#536b91;font-size:12px}.review-workbench-page .student-note p{margin:9px 0 0;color:#657a9c;line-height:1.65}.review-workbench-page .review-feedback-card{flex:none;margin:0 0 10px;border:1px solid #e1e7f0;border-radius:10px;background:#fff;overflow:hidden}.review-workbench-page .review-feedback-card .panel-title{min-height:42px;padding:13px 14px 7px}.review-workbench-page .review-rating{padding:2px 14px 10px;display:flex;align-items:center;justify-content:space-between}.review-workbench-page .review-rating>span{color:#637896;font-size:12px}.review-workbench-page .review-rating>div{display:flex;align-items:center;gap:2px}.review-workbench-page .review-rating button{width:24px;height:24px;padding:0;border:0;background:transparent;color:#f3a620;display:grid;place-items:center;cursor:pointer}.review-workbench-page .review-feedback-editor{position:relative;padding-bottom:1px}.review-workbench-page .review-feedback-card textarea{min-height:112px;max-height:360px;width:calc(100% - 28px);margin:0 14px;padding:9px 12px 26px;border:1px solid #e1e7f0;border-radius:7px;color:#344f79;resize:vertical;line-height:1.6;font:inherit;font-size:12px}.review-workbench-page .review-feedback-count{position:absolute;right:24px;bottom:10px;z-index:1;color:#8391a6;font-size:10px;pointer-events:none}.review-workbench-page .quick-comments{margin:0;padding:12px 14px 14px;background:#fff;display:flex;flex-wrap:wrap;gap:7px}.review-workbench-page .quick-comments>span{width:100%}.review-workbench-page .quick-comments button{padding:5px 8px;border:1px solid #d7e0ec;border-radius:14px;background:#fff;color:#5a7194;cursor:pointer;font-size:12px}.review-workbench-page .quick-comments button:hover{border-color:#8eb4f5;background:#f2f6ff;color:#1463f3}.review-workbench-page .review-action-bar{min-height:58px;padding:9px 18px;border-top:1px solid #e2e7ef;background:#fff;display:flex;align-items:center;justify-content:flex-end;gap:20px}.review-workbench-page .review-action-bar>span{color:#b57720;display:inline-flex;align-items:center;gap:7px;font-size:10px}.review-workbench-page .review-action-bar>span i{width:7px;height:7px;border-radius:50%;background:#f2a334}.review-workbench-page .review-action-controls{display:flex;align-items:center;gap:10px}.review-workbench-page .review-exception-button,.review-workbench-page .review-next-button,.review-workbench-page .review-submit-button{min-height:38px;padding:0 18px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-size:12px;font-weight:600}.review-workbench-page .review-exception-button{border:1px solid #e4a25a;background:#fff;color:#c2722e}.review-workbench-page .review-exception-button:hover{border-color:#d78a40;background:#fff8ef;color:#b65f1b}.review-workbench-page .review-next-button,.review-workbench-page .review-submit-button{border:1px solid #1463f3;background:#1463f3;color:#fff;font-weight:700}.review-workbench-page .review-submit-button{background:#fff;color:#1463f3}.review-workbench-page .review-submit-button:hover{background:#f3f7ff}.review-workbench-page .review-next-button:hover{background:#0e55db}.workspace:has(.review-workbench-page)>.topbar{display:none}.review-workbench-page>.review-header{display:none}.review-workbench-page{inset:0;top:0;width:100vw;background:var(--background);color:var(--text);grid-template-rows:minmax(0,1fr) 58px;font-family:Inter,SF Pro Text,PingFang SC,Microsoft YaHei,Arial,sans-serif}.review-workbench-page .review-layout{padding:12px 14px 10px}.review-workbench-page .review-canvas-column,.review-workbench-page .review-feedback-card,.review-workbench-page .review-queue-panel,.review-workbench-page .review-side-card,.review-workbench-page .student-note{border-color:var(--border);border-radius:3px;background:var(--panel)}.review-workbench-page .review-queue-filters>label:not(.review-queue-search){color:var(--secondary)}.review-workbench-page .review-queue-filters input,.review-workbench-page .review-queue-filters select,.review-workbench-page .review-queue-search{border-color:var(--border);border-radius:2px;background:var(--panel);color:var(--text)}.review-workbench-page .review-queue-filters select{color:#4f544d;font-weight:520}.review-workbench-page .review-queue-filters select,.review-workbench-page .review-queue-search input{font-family:var(--ui-font-body,Inter,"SF Pro Text","PingFang SC","Microsoft YaHei",Arial,sans-serif);font-size:13px}.review-workbench-page .review-queue-search input{font-weight:400}.review-workbench-page .review-queue-filters input:focus,.review-workbench-page .review-queue-filters select:focus,.review-workbench-page .review-queue-search:focus-within{border-color:#858b83;box-shadow:none}.review-workbench-page .review-queue-search{color:var(--muted)}.review-workbench-page .review-queue-count{border-color:var(--soft-border);color:var(--secondary)}.review-workbench-page .review-queue-list>button{border-color:var(--soft-border);color:var(--text)}.review-workbench-page .review-queue-list>button.active,.review-workbench-page .review-queue-list>button:hover{background:var(--background)}.review-workbench-page .review-queue-list>button.active{box-shadow:inset 2px 0 var(--accent)}.review-workbench-page .review-queue-list>button>i,.review-workbench-page .review-student-card i{background:rgba(var(--accent-rgb),.14);color:var(--accent-ink)}.review-workbench-page .review-queue-list>button small{color:var(--secondary);font-size:10px}.review-workbench-page .review-queue-list>button b{font-size:10px;font-weight:400;line-height:normal}.review-workbench-page .review-queue-list>button em{padding-inline:0;background:transparent;color:var(--secondary)}.review-workbench-page .review-queue-list>button em.reviewing{background:transparent;color:#738113}.review-workbench-page .review-queue-list>button b{color:var(--muted)}.review-workbench-page .review-canvas-column{border-color:var(--border);border-radius:3px}.review-workbench-page .annotation-tool-group,.review-workbench-page .annotation-toolbar{border-color:var(--soft-border)}.review-workbench-page .annotation-style-group label,.review-workbench-page .annotation-toolbar button{border-radius:2px;color:var(--secondary)}.review-workbench-page .annotation-toolbar button.active,.review-workbench-page .annotation-toolbar button:hover{background:var(--background);color:var(--text);box-shadow:inset 0 -2px var(--accent)}.review-workbench-page .annotation-width-control select,.review-workbench-page .annotation-zoom-control strong{color:var(--text)}.review-workbench-page .canvas-stage{background:var(--background)}.review-workbench-page .annotation-canvas-wrap{border-color:var(--border);box-shadow:none}.review-workbench-page .image-tabs{border-color:var(--soft-border)}.review-workbench-page .image-tabs button{border-radius:3px;background:var(--background)}.review-workbench-page .image-tabs button.active{border-color:var(--accent)}.review-workbench-page .image-tabs button span{border-radius:2px;color:var(--secondary)}.review-workbench-page .review-image-total{border-color:var(--border);border-radius:3px;background:var(--background);color:var(--secondary)}.review-workbench-page .panel-title h2,.review-workbench-page .quick-comments>span,.review-workbench-page .review-side-card h2,.review-workbench-page .review-student-card strong,.review-workbench-page .student-note strong{color:var(--text)}.review-workbench-page .review-assignment-card dt,.review-workbench-page .review-rating>span,.review-workbench-page .review-student-card small,.review-workbench-page .student-note,.review-workbench-page .student-note p{color:var(--secondary)}.review-workbench-page .review-assignment-card dd{color:var(--text)}.review-workbench-page .review-feedback-card textarea{border-color:var(--border);border-radius:2px;color:var(--text)}.review-workbench-page .review-feedback-card textarea:focus{border-color:#858b83;box-shadow:none;outline:0}.review-workbench-page .review-feedback-count{color:var(--muted)}.review-workbench-page .quick-comments button{border-color:var(--border);border-radius:2px;color:var(--secondary)}.review-workbench-page .quick-comments button:hover{border-color:var(--accent);background:var(--background);color:var(--text)}.review-workbench-page .review-action-bar{border-color:var(--border);background:var(--panel)}.review-workbench-page .review-action-bar>span{color:var(--secondary)}.review-workbench-page .review-action-bar>span i{background:var(--accent)}.review-workbench-page .review-action-bar>span.error i{background:#cf4545}.review-workbench-page .review-action-bar>span.completed i,.review-workbench-page .review-action-bar>span.success i{background:#6c790e}.review-workbench-page .review-exception-button,.review-workbench-page .review-exit-footer-button,.review-workbench-page .review-next-button,.review-workbench-page .review-submit-button{min-height:36px;padding:0 14px;border-radius:2px;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;font-size:12px;font-weight:600}.review-workbench-page .review-exception-button{border-color:#dfab78;background:var(--panel);color:#b76725}.review-workbench-page .review-exception-button:hover{border-color:#d58b46;background:#fff9f1;color:#a6571e}.review-workbench-page .review-exception-menu summary{min-height:36px;padding:0 14px;border-color:#dfab78;border-radius:2px;background:var(--panel);color:#b76725}.review-workbench-page .review-exception-menu summary.reported,.review-workbench-page .review-exception-menu summary:hover,.review-workbench-page .review-exception-menu[open] summary{border-color:#d58b46;background:#fff9f1;color:#a6571e}.review-workbench-page .review-submit-button{border:1px solid var(--text);background:var(--panel);color:var(--text)}.review-workbench-page .review-submit-button:hover{background:var(--background)}.review-workbench-page .review-next-button{border:1px solid var(--text);background:var(--panel);color:var(--text)}.review-workbench-page .review-next-button:hover{background:var(--background)}.review-workbench-page .review-exit-footer-button{border:1px solid var(--border);background:var(--panel);color:var(--secondary)}.review-workbench-page .review-exit-footer-button:hover{border-color:var(--text);color:var(--text)}.review-workbench-page button:focus-visible,.review-workbench-page input:focus-visible,.review-workbench-page select:focus-visible,.review-workbench-page textarea:focus-visible{outline-color:rgba(73,79,72,.48)}.review-workbench-page .annotation-toolbar{padding-inline:8px;overflow:visible}.review-workbench-page .annotation-toolbar-left{min-width:0;flex:1 1;margin-left:10px;display:flex;align-items:center;justify-content:flex-start}.review-workbench-page .annotation-tool-group{padding-inline:5px;gap:1px}.review-workbench-page .annotation-toolbar-left .annotation-tool-group:first-child{padding-left:5px}.review-workbench-page.review-workspace-blue .annotation-shape-menu>summary,.review-workbench-page.review-workspace-blue .annotation-style-group label,.review-workbench-page.review-workspace-blue .annotation-toolbar button{width:40px;height:46px;flex:none;border:0;border-radius:2px;background:transparent;color:var(--secondary);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:9px;cursor:pointer}.review-workbench-page.review-workspace-blue .annotation-fit-button>span,.review-workbench-page.review-workspace-blue .annotation-shape-menu>summary>span,.review-workbench-page.review-workspace-blue .annotation-style-group label>span,.review-workbench-page.review-workspace-blue .annotation-toolbar button>span{display:block;white-space:nowrap}.review-workbench-page .annotation-toolbar button:disabled{opacity:.3;cursor:not-allowed}.review-workbench-page .annotation-toolbar button:disabled:hover{background:transparent;color:var(--secondary);box-shadow:none}.review-workbench-page .annotation-shape-menu{position:relative;flex:none}.review-workbench-page .annotation-shape-menu>summary{position:relative;list-style:none}.review-workbench-page .annotation-shape-menu>summary::-webkit-details-marker{display:none}.review-workbench-page .annotation-shape-menu>summary.active,.review-workbench-page .annotation-shape-menu>summary:hover,.review-workbench-page .annotation-shape-menu[open]>summary{background:var(--background);color:var(--text);box-shadow:inset 0 -2px var(--accent)}.review-workbench-page .annotation-shape-caret{position:absolute;right:2px;top:9px;width:9px;height:9px;transform:none}.review-workbench-page .annotation-shape-icon{transform:translateX(-4px)}.review-workbench-page .annotation-shape-menu>summary:focus-visible{outline:2px solid rgba(73,79,72,.48);outline-offset:1px}:where(.app-shell,.account-dialog-backdrop) :is(input,textarea,select):focus,:where(.app-shell,.account-dialog-backdrop) :is(input,textarea,select):focus-visible{border-color:#858b83!important;outline-color:rgba(73,79,72,.48)!important;box-shadow:none!important}.review-workbench-page .annotation-shape-popover{position:absolute;top:calc(100% + 5px);left:0;z-index:30;width:150px;padding:5px;border:1px solid var(--border);border-radius:3px;background:var(--panel);display:grid;grid-template-columns:repeat(2,1fr);grid-gap:3px;gap:3px}.review-workbench-page .annotation-shape-popover button{width:68px;height:44px}.review-workbench-page .annotation-style-group label{display:grid;grid-template-rows:18px 11px;align-content:center;justify-items:center;grid-gap:5px;gap:5px}.review-workbench-page .annotation-color-control input{width:18px;height:18px;display:block}.review-workbench-page .annotation-width-control select{width:40px;height:18px;padding:0 10px 0 0;-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;line-height:18px;text-align:center;text-align-last:center}.review-workbench-page .annotation-width-caret{position:absolute;right:2px;top:9px;width:9px;height:9px;pointer-events:none}.review-workbench-page .annotation-zoom-control{padding-left:5px;gap:1px}.review-workbench-page .annotation-zoom-control>button{width:28px}.review-workbench-page .annotation-zoom-control strong{min-width:38px}.review-workbench-page .annotation-zoom-control .annotation-fit-button{width:44px;height:46px}.review-workbench-page.review-workspace-blue .annotation-rotation-control>button{width:28px;height:34px;flex-direction:row}@container (max-width: 760px){.review-workbench-page .annotation-toolbar-left{margin-left:0}.review-workbench-page .annotation-tool-group{padding-inline:3px}.review-workbench-page .annotation-toolbar-left .annotation-tool-group:first-child{padding-left:0}.review-workbench-page .annotation-width-control select,.review-workbench-page.review-workspace-blue .annotation-shape-menu>summary,.review-workbench-page.review-workspace-blue .annotation-style-group label,.review-workbench-page.review-workspace-blue .annotation-tool-group>button{width:32px}}@container (max-width: 600px){.review-workbench-page.review-workspace-blue .annotation-shape-menu>summary,.review-workbench-page.review-workspace-blue .annotation-style-group label,.review-workbench-page.review-workspace-blue .annotation-tool-group>button{width:28px}.review-workbench-page .annotation-tool-group{padding-inline:2px;gap:0}.review-workbench-page .annotation-width-control select{width:28px}.review-workbench-page .annotation-zoom-control{padding-left:2px}.review-workbench-page.review-workspace-blue .annotation-rotation-control>button,.review-workbench-page.review-workspace-blue .annotation-zoom-control>button:not(.annotation-fit-button){width:24px}}@container (max-width: 560px){.review-workbench-page .annotation-toolbar{flex-wrap:wrap;row-gap:3px}.review-workbench-page .annotation-toolbar-left{flex:1 0 100%}}.review-workbench-page .canvas-stage{position:relative;overflow:auto;overscroll-behavior:contain}.review-workbench-page .canvas-stage.is-panning{cursor:-webkit-grab;cursor:grab}.review-workbench-page .canvas-stage.is-panning:active{cursor:-webkit-grabbing;cursor:grabbing}.review-workbench-page .annotation-canvas-wrap{position:relative;flex:none;max-height:none;transform:none;transform-origin:initial;transition:width .16s ease,height .16s ease}.review-workbench-page .annotation-canvas-wrap canvas{cursor:crosshair}.review-workbench-page .annotation-canvas-wrap canvas.is-panning{pointer-events:none}.review-workbench-page .review-image-nav{position:absolute;top:50%;z-index:5;width:32px!important;height:32px!important;padding:0;border:0;border-radius:50%!important;background:rgba(21,23,20,.5)!important;color:#fff!important;opacity:0;transform:translateY(-50%);transition:opacity .12s ease,background .12s ease;pointer-events:none}.review-workbench-page .review-image-nav.is-previous{left:10px}.review-workbench-page .review-image-nav.is-next{right:10px}.review-workbench-page .annotation-canvas-wrap:focus-within .review-image-nav,.review-workbench-page .annotation-canvas-wrap:hover .review-image-nav{opacity:1;pointer-events:auto;box-shadow:none}.review-workbench-page .annotation-canvas-wrap.controls-suppressed .review-image-nav,.review-workbench-page .annotation-canvas-wrap.controls-suppressed:focus-within .review-image-nav,.review-workbench-page .annotation-canvas-wrap.controls-suppressed:hover .review-image-nav{opacity:0;pointer-events:none}.review-workbench-page .review-image-nav:hover{background:rgba(21,23,20,.5)!important;box-shadow:none!important}.review-workbench-page .image-tabs{position:relative;overflow:visible;transition:flex-basis .2s ease,min-height .2s ease,padding .2s ease}.review-workbench-page .review-image-tabs-items{flex:1 1;opacity:1;transform:translateY(0);transition:opacity .16s ease,transform .2s ease,visibility 0s linear 0s}.review-workbench-page .image-tabs.collapsed{flex-basis:0;min-height:0;height:0;padding-block:0;border-top:0}.review-workbench-page .image-tabs.collapsed .review-image-tabs-items{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(100%);transition:opacity .12s ease,transform .2s ease,visibility 0s linear .2s}.review-workbench-page .image-tabs .review-image-tabs-toggle{width:28px;min-width:28px;height:24px;margin-left:auto;padding:0;border:1px solid var(--border);border-radius:2px;background:var(--background);color:var(--secondary);display:inline-flex;align-items:center;justify-content:center;overflow:hidden}.review-workbench-page .image-tabs .review-image-tabs-toggle:hover{border-color:var(--accent);background:var(--panel);color:var(--text)}.review-workbench-page .image-tabs.collapsed .review-image-tabs-toggle{position:absolute;right:10px;bottom:8px;z-index:6;margin:0}@media (max-width:1180px){.assignment-detail-layout{grid-template-columns:minmax(0,1fr)}.assignment-detail-side{position:static;grid-template-columns:minmax(0,1fr) minmax(260px,.72fr)}.assignment-detail-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.assignment-detail-overview>div:nth-child(3){border-left:0;border-top:1px solid var(--soft-border)}.assignment-detail-overview>div:nth-child(4){border-top:1px solid var(--soft-border)}.review-workbench-page .review-layout{grid-template-columns:238px minmax(0,1fr) 292px}}.trial-student-index{gap:20px}.trial-account-entry-button{color:var(--text)}.trial-page-heading{display:flex;align-items:center;gap:12px}.trial-page-heading>span{display:flex;flex-direction:column;gap:5px}.trial-page-heading strong{color:var(--text);font-size:14px;font-weight:650}.trial-page-heading small{color:var(--muted);font-family:var(--ui-font-mono);font-size:9px;letter-spacing:.1em}.trial-primary-action{min-height:38px;padding:0 17px;border:1px solid #20231f;border-radius:3px;background:#20231f;color:#fff;font:inherit;font-size:11.5px;cursor:pointer}.trial-primary-action:disabled{cursor:wait;opacity:.52}.trial-account-guidance-v2{min-height:78px;margin-top:28px;padding:18px 20px;border:1px solid var(--border);border-radius:5px;background:color-mix(in srgb,var(--accent) 7%,var(--panel));display:flex;align-items:center;gap:15px}.trial-account-guidance-v2>svg{flex:0 0 auto;color:var(--accent-ink)}.trial-account-guidance-v2>span{display:flex;flex-direction:column;gap:7px}.trial-account-guidance-v2 strong{font-size:13px}.trial-account-guidance-v2 small{color:var(--muted);font-size:11.5px;line-height:1.55}.trial-class-configuration{margin-top:14px;padding:15px 17px;border:1px solid var(--border);border-radius:5px;background:var(--panel);display:grid;grid-template-columns:minmax(240px,1fr) minmax(150px,.58fr) minmax(150px,.58fr) auto;align-items:end;grid-gap:14px;gap:14px}.trial-class-configuration-copy{align-self:center;display:flex;flex-direction:column;gap:5px}.trial-class-configuration-copy strong{font-size:12.5px}.trial-class-configuration-copy small{color:var(--muted);font-size:10.5px;line-height:1.5}.trial-class-configuration label{display:flex;flex-direction:column;gap:6px}.trial-class-configuration label>span{color:var(--muted);font-size:10px}.trial-class-configuration select{width:100%;height:36px;padding:0 28px 0 10px;border:1px solid var(--border);border-radius:3px;outline:0;background:var(--surface-tint);color:var(--text);font:inherit;font-size:11px}.trial-class-configuration>button{height:36px;padding:0 14px;border:1px solid #30352f;border-radius:3px;background:#30352f;color:#fff;font:inherit;font-size:11px;cursor:pointer}.trial-class-configuration>button:disabled{cursor:wait;opacity:.5}.trial-binding-handoff{margin-top:14px;padding:16px 18px;border:1px solid color-mix(in srgb,var(--accent) 55%,var(--border));border-radius:5px;background:var(--panel);display:grid;grid-template-columns:minmax(210px,1fr) minmax(360px,1.5fr) auto;align-items:center;grid-gap:18px;gap:18px}.trial-binding-handoff>span{display:flex;flex-direction:column;gap:5px}.trial-binding-handoff>span strong{font-size:12.5px}.trial-binding-handoff>span small{color:var(--muted);font-size:10.5px}.trial-binding-handoff dl{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.trial-binding-handoff dl>div{min-width:0;display:flex;flex-direction:column;gap:4px}.trial-binding-handoff dt{color:var(--muted);font-size:9px}.trial-binding-handoff dd{margin:0;overflow:hidden;color:var(--text);font-family:var(--ui-font-mono);font-size:11px;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:all;-moz-user-select:all;user-select:all}.trial-binding-handoff>button{min-height:34px;padding:0 13px;border:1px solid var(--border);border-radius:3px;background:var(--surface-tint);color:var(--text);font:inherit;font-size:11px;cursor:pointer}.trial-account-error{margin:14px 0 0;padding:11px 13px;border-radius:4px;background:rgba(190,62,70,.09);color:#a62f38;font-size:12px}.trial-account-empty{min-height:260px;margin-top:28px;border:1px solid var(--border);border-radius:5px;background:var(--panel);color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center}.trial-account-empty strong{color:var(--text);font-size:13px}.trial-account-empty small{font-size:11px}.trial-account-table-frame{overflow-x:auto}.trial-student-table{min-width:930px}.trial-student-table .table-row{grid-template-columns:minmax(160px,1.1fr) minmax(100px,.68fr) 70px minmax(126px,.82fr) minmax(126px,.82fr) 76px minmax(168px,1.05fr);column-gap:12px;padding-inline:16px}.trial-student-row>span{color:#50554e;font-size:12px}.trial-validity-control{display:flex;align-items:center;gap:8px}.trial-validity-control label{position:relative;display:block}.trial-validity-control select{width:74px;height:34px;padding:0 26px 0 10px;border:1px solid var(--border);border-radius:3px;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--panel);color:var(--text);font:inherit;font-size:11px}.trial-validity-control select:disabled{cursor:not-allowed;opacity:.48}.trial-validity-control label>svg{position:absolute;top:11px;right:9px;color:var(--muted);pointer-events:none}.trial-validity-control button{min-width:86px;height:34px;padding:0 11px;border:1px solid #30352f;border-radius:3px;background:#30352f;color:#fff;font:inherit;font-size:11px;cursor:pointer}.trial-validity-control button:disabled{cursor:not-allowed;opacity:.5}@media (max-width:900px){.trial-binding-handoff,.trial-class-configuration{grid-template-columns:1fr}.trial-student-index{align-items:center}}.course-query-panel{min-height:0;overflow:auto}.query-panel-index{margin-bottom:28px}.query-panel-index>small{margin-left:auto;font-size:11px;color:var(--muted)}.query-preview-enrollment{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin:-4px 0 20px;font-size:11px;color:#53584f}.query-preview-enrollment>label{display:flex;align-items:center;gap:10px}.query-preview-enrollment select{width:128px;height:32px;box-sizing:border-box;border:1px solid #d8dcd3;border-radius:4px;padding:0 9px;background:#fff;color:#171915;font:inherit}.query-preview-enrollment small{color:#858a83;font-size:11px}.query-panel-layout{display:grid;grid-template-columns:200px minmax(0,1fr);grid-gap:24px;gap:24px}.query-student-picker{border-right:1px solid #e4e6e0;padding-right:20px}.query-mapping-panel label,.query-student-picker>label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#53584f}.query-mapping-panel input,.query-mapping-panel select,.query-student-picker input{width:100%;height:34px;box-sizing:border-box;border:1px solid #d8dcd3;border-radius:4px;padding:0 10px;background:#fff;color:#171915;font:inherit;font-size:12px}.query-student-list{display:flex;flex-direction:column;gap:4px;margin-top:12px;max-height:520px;overflow:auto}.query-student-list>button{border:0;border-radius:4px;padding:10px;background:transparent;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:4px;font:inherit}.query-student-list>button.is-selected{background:#f2f5e8}.query-student-list strong{font-size:12px;font-weight:550}.query-student-list small,.query-student-pagination{font-size:11px;color:#858a83}.query-student-pagination{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;align-items:center}.query-student-pagination button{padding:3px 0;border:0;background:transparent;font:inherit;cursor:pointer}.query-student-detail{min-width:0;container-type:inline-size;container-name:query-student}.query-student-detail>header{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center;justify-content:space-between;margin:2px 0 16px}.query-student-actions{display:flex;flex:0 0 auto;gap:8px;align-items:center;margin-left:auto}.query-student-detail h2{margin:0;font-size:17px;font-weight:550}.query-student-detail h2 small{display:inline-block;margin-left:12px;color:#858a83;font-size:11px;font-weight:400}.query-student-detail header p{color:#858a83;font-size:11px;margin:8px 0 0}.query-student-course-type{display:inline-block;margin-left:12px;padding-left:12px;border-left:1px solid #e0e3dc}.query-save-button{height:32px;padding:0 16px;border:1px solid #171915;border-radius:4px;background:#171915;color:#fff;font:inherit;font-size:12px;cursor:pointer;white-space:nowrap}.query-student-course-groups{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:18px 28px;gap:18px 28px;align-items:start}.query-student-course-column{min-width:0;display:flex;flex-direction:column;gap:18px}.query-student-course-column>section{min-width:0}.query-student-course-groups section>header{display:grid;grid-template-columns:minmax(0,1fr) 24px;align-items:center;grid-gap:12px;gap:12px;padding:7px 0;border-bottom:1px solid #e0e3dc}.query-student-course-groups h3{margin:0;color:#53584f;font-size:10px;font-weight:550}.query-student-course-groups header>span{color:#858a83;font-size:10px;text-align:center}.query-student-course-groups ul{list-style:none;margin:0;padding:0}.query-student-course-row{display:grid;grid-template-columns:minmax(0,1fr) 24px;grid-gap:12px;gap:12px;align-items:center;min-height:64px;padding:10px 0;box-sizing:border-box;border-bottom:1px dashed #d8dcd3}.query-student-course-row>div{min-width:0}.query-student-course-row strong{display:block;font-size:13px;font-weight:550;line-height:1.45}.query-course-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 10px;margin:4px 0 0 24px;line-height:1.4}.query-course-meta small{color:#858a83;font-size:11px}.query-course-title{display:flex;align-items:baseline;gap:8px}.query-course-title>span:last-child{min-width:0;overflow-wrap:anywhere}.query-course-number{flex:0 0 16px;color:#858a83;font-size:.82em;font-weight:450;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.query-checkbox{display:inline-flex;position:relative;align-items:center;justify-content:center;width:24px;height:24px;flex:0 0 24px;vertical-align:middle}.query-checkbox input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;margin:0;border:1px solid #aeb4a5;border-radius:3px;background:#fff;cursor:pointer}.query-checkbox input:checked{border-color:#171915;background:#171915}.query-checkbox svg{position:absolute;left:50%;top:50%;width:13px;height:13px;transform:translate(-50%,-50%);color:#fff;pointer-events:none;visibility:hidden}.query-checkbox input:checked+svg{visibility:visible}.query-checkbox input:disabled{opacity:.45;cursor:default}.query-checkbox input:disabled+svg{opacity:.45}.query-source-auto{color:#858a83;font-size:11px}.query-source-manual{color:#343c23;font-size:11px}.query-restore-button{height:32px;padding:0 12px;border:1px solid #d8dcd3;border-radius:4px;background:#fff;color:#171915;display:inline-flex;gap:5px;align-items:center;font:inherit;font-size:12px;cursor:pointer;white-space:nowrap}.query-restore-button svg{width:12px;height:12px}.course-query-panel button:disabled{opacity:.4;cursor:default}.course-query-panel button:focus-visible,.course-query-panel input:focus-visible,.course-query-panel select:focus-visible{outline:2px solid #171915;outline-offset:3px}.query-panel-help{color:#858a83;font-size:11px;line-height:1.7;margin-top:16px}.query-panel-empty{min-height:330px;display:flex;align-items:center;justify-content:center;color:#858a83;font-size:14px}.query-panel-error{background:#fff3f1;border-radius:4px;padding:14px 18px;margin-bottom:18px;font-size:13px;color:#a63135;display:flex;gap:20px;align-items:center}.query-panel-error button{margin-left:auto;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;white-space:nowrap}.query-panel-notice{color:#52612e;font-size:13px;margin-bottom:20px}.query-mapping-panel{max-width:1050px}.query-mapping-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.query-mapping-header h2{font-size:17px;font-weight:550;margin:0}.query-mapping-header p{color:#858a83;font-size:11px;line-height:1.7;margin:8px 0 0}.query-mapping-layout{display:grid;grid-template-columns:200px minmax(0,1fr);grid-gap:24px;gap:24px}.query-rule-picker{border-right:1px solid #e4e6e0;padding-right:20px}.query-rule-picker>div{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#858a83;margin-bottom:10px}.query-rule-picker>div button,.query-rule-remove{border:0;background:transparent;padding:6px 0;font:inherit;font-size:12px;cursor:pointer}.query-rule-add{margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid #e4e6e0}.query-rule-add button{display:block;margin:8px 0 0 auto;border:0;background:transparent;padding:6px 0;font:inherit;font-size:12px;cursor:pointer}.query-rule-picker>button{display:flex;flex-direction:column;gap:3px;width:100%;text-align:left;background:transparent;border:0;border-radius:4px;padding:8px 10px;margin-bottom:3px;font:inherit;cursor:pointer;overflow-wrap:anywhere}.query-rule-picker>button.is-selected{background:#f2f5e8}.query-rule-picker strong{font-size:12px;font-weight:550;line-height:1.5}.query-rule-picker small{color:#858a83;font-size:10px;line-height:1.5}.query-rule-editor{min-width:0}.query-rule-editor h3{font-size:12px;font-weight:550;margin:0 0 14px}.query-rule-courses h3{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.query-rule-courses h3 small{display:inline;margin:0;font-weight:400;font-size:11px}.query-rule-courses{margin-top:0;padding-top:0}.query-rule-course-groups{display:flex;flex-direction:column;gap:16px}.query-rule-course-groups h4{margin:0 0 8px;color:#53584f;font-size:10px;font-weight:550}.query-rule-course-groups section>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:12px 20px;gap:12px 20px}.query-rule-course-groups label{flex-direction:row;align-items:center;gap:8px;min-width:0;cursor:pointer}.query-rule-course-groups label>span:last-child{min-width:0}.query-rule-courses .query-checkbox{flex:0 0 24px}.query-rule-courses .query-checkbox input{width:18px;height:18px;padding:0}.query-rule-courses strong{display:block;font-weight:550;font-size:12px;color:#171915;line-height:1.45}.query-rule-courses small{display:block;margin:3px 0 0 24px;font-size:10px;color:#858a83;line-height:1.4}.query-drawing-exception{font-size:11px;line-height:1.7;color:#53584f;margin:14px 0 0}.query-rule-remove{color:#a63135}.query-mapping-validation,.query-retired-courses{color:#a63135;font-size:12px;line-height:1.8}.query-retired-courses{margin:0 0 22px}.query-retired-courses p{margin:0 0 10px}.query-retired-courses>div{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:6px 0;padding:6px 0;border-bottom:1px dashed #e4e6e0}.query-retired-courses button{border:0;background:transparent;padding:4px 0;color:inherit;font:inherit;cursor:pointer;white-space:nowrap}.query-retired-conditions dl{margin:10px 0 0}.query-retired-conditions dl>div{display:grid;grid-template-columns:90px minmax(0,1fr);grid-gap:12px;gap:12px;padding:6px 0;border-bottom:1px dashed #e4e6e0}.query-retired-conditions dt{font-weight:550}.query-retired-conditions dd{margin:0;overflow-wrap:anywhere}.query-rule-delete-dialog{width:400px;max-width:calc(100vw - 64px);border:1px solid #e4e6e0;border-radius:5px;padding:28px;color:#171915;background:#fff}.query-rule-delete-dialog::-webkit-backdrop{background:rgb(23 25 21/30%)}.query-rule-delete-dialog::backdrop{background:rgb(23 25 21/30%)}.query-rule-delete-dialog h2{font-size:18px;font-weight:550;margin:0}.query-rule-delete-dialog p{font-size:13px;color:#858a83;line-height:1.9;margin:18px 0}.query-rule-delete-dialog label{display:flex;flex-direction:column;gap:10px;font-size:13px}.query-rule-delete-dialog input{height:40px;border:1px solid #d8dcd3;border-radius:5px;padding:0 12px;font:inherit}.query-rule-delete-dialog>div{display:flex;justify-content:flex-end;gap:18px;margin-top:24px}.query-rule-delete-dialog button:not(.query-save-button){border:0;background:transparent;font:inherit;font-size:13px;cursor:pointer}@container query-student (max-width: 559px){.query-student-course-groups{grid-template-columns:minmax(0,1fr)}}@media (max-width:980px){.query-mapping-layout,.query-panel-layout{grid-template-columns:170px minmax(0,1fr);gap:18px}.query-rule-picker,.query-student-picker{padding-right:16px}}@media (max-width:680px){.query-panel-layout{grid-template-columns:1fr}.query-student-picker{border-right:0;padding-right:0}.query-student-list{max-height:140px}.query-rule-course-groups section>div{grid-template-columns:1fr}.query-student-detail>header{align-items:flex-start}}