:root{--module-columns: minmax(320px, 1.04fr) minmax(360px, 1.18fr) minmax(320px, 1fr);--module-row-gap: clamp(16px, 2vh, 24px);font-family:Avenir Next,PingFang SC,Hiragino Sans GB,sans-serif;color:#0f172a;background:radial-gradient(circle at top left,rgba(141,197,255,.24),transparent 24%),radial-gradient(circle at bottom right,rgba(214,229,255,.38),transparent 30%),linear-gradient(180deg,#f4f7fb,#edf2f8);line-height:1.5;font-weight:400}:root[data-theme=teams]{--role-primary: #5b5fc7;--role-bg: #f4f5fb;--role-surface: #ffffff;--role-soft: #f8f8ff;--role-line: #dfe3f2;--role-text: #1f2937;--role-muted: #64748b}:root[data-theme=academic]{--role-primary: #1d4ed8;--role-bg: #f3f6fb;--role-surface: #ffffff;--role-soft: #f7faff;--role-line: #d7e0ee;--role-text: #172033;--role-muted: #64748b}:root[data-theme=focus]{--role-primary: #047857;--role-bg: #f2f7f4;--role-surface: #ffffff;--role-soft: #f6fbf8;--role-line: #d7e8df;--role-text: #163126;--role-muted: #5d7169}:root[data-theme=pro]{--role-primary: #8b5cf6;--role-bg: #101217;--role-surface: #171a22;--role-soft: #202431;--role-line: #2c3140;--role-text: #e5e7eb;--role-muted: #a5adbd;color-scheme:dark}.login-shell{min-height:100vh}.role-shell{height:100vh;display:grid;grid-template-columns:252px minmax(0,1fr);gap:16px;padding:16px;background:var(--role-bg);color:var(--role-text)}.role-sidebar,.role-topbar,.role-panel{background:var(--role-surface);border:1px solid var(--role-line);border-radius:18px}.role-sidebar{min-height:0;display:grid;grid-template-rows:auto 1fr auto auto;overflow:visible}.role-sidebar footer{padding:14px 16px;border-top:1px solid var(--role-line);color:var(--role-muted);font-size:12px}.role-nav{padding:14px;display:grid;align-content:start;gap:8px}.role-nav button{min-height:42px;border:0;border-radius:11px;padding:0 13px;text-align:left;background:var(--role-soft);color:var(--role-text);font-weight:700}.role-nav button.active{background:var(--role-primary);color:#fff}.sidebar-notification-button{width:calc(100% - 28px);min-height:44px;margin:0 14px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--role-line);border-radius:11px;padding:0 12px;background:var(--role-soft);color:var(--role-text);font-weight:700;text-align:left}.sidebar-notification-button span{min-width:0;display:grid;gap:2px}.sidebar-notification-button b{font:inherit}.sidebar-notification-button small{color:var(--role-muted);font-size:11px;font-weight:800;line-height:1.1}.sidebar-notification-button:hover{background:var(--role-surface)}.role-content{min-width:0;min-height:0;display:grid;grid-template-rows:64px minmax(0,1fr);gap:14px}.role-body{min-height:0;overflow:auto}.role-body:has(.teacher-home-dashboard){overflow:hidden}.role-body:has(.pending-task-list-panel),.role-body:has(.history-workspace-panel){overflow:hidden}.teacher-submission-shell .role-body{scroll-snap-type:y mandatory;overscroll-behavior-y:contain}.role-topbar{display:flex;align-items:center;gap:12px;padding:0 16px}.topbar-title-line strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-topbar small{display:block;color:var(--role-muted);font-size:12px}.topbar-actions{position:relative;z-index:2;flex:0 0 auto;margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0}.workspace-search input{width:100%;height:38px;border:1px solid var(--role-line);border-radius:11px;padding:0 12px;background:var(--role-soft);color:var(--role-text)}.topbar-button{position:relative;z-index:3;height:38px;border:1px solid var(--role-line);background:var(--role-surface);color:var(--role-text);border-radius:11px;padding:0 13px;font-weight:700}.topbar-button span{margin-left:6px;color:var(--role-primary)}.workspace-empty{margin:12px 0 0;color:var(--role-muted);font-size:13px}.teacher-submission-shell .role-topbar{position:relative}.teacher-submission-shell .topbar-title{flex:1 1 0;min-width:0;max-width:calc(100% - 176px)}.teacher-submission-shell .topbar-actions{flex:0 0 auto}.teacher-submission-shell .topbar-button{pointer-events:auto}.account-menu{position:relative;padding:16px;border-bottom:1px solid var(--role-line)}.account-button{width:100%;border:0;background:var(--role-soft);color:var(--role-text);border-radius:14px;padding:12px;display:grid;grid-template-columns:44px 1fr 18px;gap:12px;align-items:center;text-align:left}.account-avatar{width:44px;height:44px;border-radius:13px;background:var(--role-primary);color:#fff;display:grid;place-items:center;font-weight:800}.account-copy{min-width:0}.account-copy strong,.account-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-popover{position:absolute;left:16px;right:16px;top:86px;z-index:20;background:var(--role-surface);border:1px solid var(--role-line);border-radius:14px;box-shadow:0 18px 36px #1f293724;overflow:hidden}.account-popover button{width:100%;border:0;background:transparent;color:var(--role-text);padding:10px 12px;text-align:left}.account-popover .danger{color:#b42318;border-top:1px solid var(--role-line)}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;background:#0f172a2e;display:flex;justify-content:flex-end}.side-drawer,.modal-panel{background:var(--role-surface);color:var(--role-text);border-left:1px solid var(--role-line);box-shadow:-20px 0 60px #0f172a1f}.side-drawer{width:min(420px,100vw);padding:18px;display:grid;align-content:start;gap:12px}.notification-drawer.side-drawer{position:fixed;left:50%;top:50%;right:auto;bottom:auto;width:min(1120px,calc(100vw - 80px));height:min(780px,calc(100vh - 48px));max-height:none;transform:translate(-50%,-50%);border:1px solid var(--role-line);border-radius:0;padding:0;gap:0;display:flex;flex-direction:column;background:var(--role-surface);box-shadow:0 24px 70px #0f172a38;overflow:hidden}.side-drawer header,.modal-panel header{display:flex;align-items:center;justify-content:space-between;gap:12px}.notification-drawer header{min-height:58px;padding:0 16px;border-bottom:1px solid var(--role-line)}.notification-subheader{min-height:38px;padding:0 14px;border-bottom:1px solid var(--role-line);display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fbfdff}.notification-subheader small{color:var(--role-muted);font-size:12px;font-weight:850}.side-drawer header button,.modal-panel header button{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--role-line);border-radius:10px;padding:0;background:var(--role-soft);color:var(--role-text);font-family:Arial,Helvetica,sans-serif;font-size:18px;font-weight:400;line-height:1}.modal-panel{margin:auto;width:min(420px,calc(100vw - 32px));border:1px solid var(--role-line);border-radius:18px;padding:18px;display:grid;gap:12px}.modal-panel label{display:grid;gap:6px;color:var(--role-muted);font-weight:700}.modal-panel input{min-height:40px;border:1px solid var(--role-line);border-radius:10px;padding:0 12px;background:var(--role-soft);color:var(--role-text)}.theme-grid{display:grid;gap:10px}.theme-grid button{border:1px solid var(--role-line);border-radius:14px;padding:12px;display:grid;grid-template-columns:34px 1fr;gap:4px 10px;align-items:center;text-align:left;background:var(--role-soft);color:var(--role-text)}.theme-grid button.active{border-color:var(--role-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--role-primary) 18%,transparent)}.theme-swatch{grid-row:span 2;width:34px;height:34px;border-radius:10px}.notification-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:46px;padding:7px 12px;border-bottom:1px solid var(--role-line);background:color-mix(in srgb,var(--role-soft) 76%,#fff)}.notification-filter-group{display:inline-flex;align-items:stretch;min-height:32px;border:1px solid var(--role-line);background:var(--role-surface)}.notification-toolbar-btn{height:32px;min-height:32px;min-width:64px;border:0;border-right:1px solid var(--role-line);border-radius:0;background:var(--role-surface);color:var(--role-muted);font:inherit;font-weight:900;padding:0 14px}.notification-toolbar-btn:last-child{border-right:0}.notification-toolbar-btn.active{background:color-mix(in srgb,var(--role-primary) 10%,#fff);color:var(--role-text);box-shadow:inset 0 -3px 0 var(--role-primary)}.notification-mark-read-btn{height:32px;min-height:32px;border:1px solid color-mix(in srgb,var(--role-primary) 72%,#082f49);border-radius:0;background:var(--role-primary);color:#fff;font:inherit;font-weight:950;padding:0 16px;white-space:nowrap}.notification-mark-read-btn:hover{filter:brightness(.96)}.notification-mark-read-btn:disabled{opacity:.45;cursor:not-allowed;filter:none}.notification-queue-section{border-bottom:1px solid var(--role-line);background:#fff}.notification-queue-row{width:100%;min-height:74px;border:0;border-bottom:1px solid var(--role-line);border-radius:0;padding:10px 14px;display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,38%);gap:16px;align-items:center;background:#fff;color:var(--role-text);text-align:left;font:inherit}.notification-queue-row:hover{background:#f8fbff}.notification-queue-row:last-child{border-bottom:0}.notification-queue-main,.notification-queue-state{min-width:0;display:grid;gap:6px}.notification-queue-main strong,.notification-queue-state span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-queue-main small{color:var(--role-muted);font-size:12px;font-weight:850}.notification-list{flex:1 1 auto;margin:0;background:var(--role-surface);min-height:0;overflow:hidden;max-height:none}.notification-section-label{height:32px;margin:0;padding:8px 14px 7px;border-bottom:1px solid var(--role-line);background:#fbfdff;color:var(--role-muted);font-size:12px;font-weight:950}.notification-message-row{--notification-type-color: #64748b;width:100%;border:0;border-bottom:1px solid var(--role-line);border-radius:0;background:#fff;color:var(--role-text);display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:stretch;text-align:left;padding:10px 12px;min-height:72px}.notification-message-row:hover{background:#f8fbff}.notification-message-row.unread{background:#fff}.notification-message-row.success{--notification-type-color: #16a34a}.notification-message-row.danger{--notification-type-color: #dc2626}.notification-message-row.task{--notification-type-color: #2f6fa8}.notification-message-row.submission{--notification-type-color: #0f8f8c}.notification-message-row.research{--notification-type-color: #6b5bbd}.notification-message-row.request{--notification-type-color: #d88716}.notification-message-row.approved{--notification-type-color: #2f9d68}.notification-message-row.campus-review{--notification-type-color: #3aa96b}.notification-message-row.default{--notification-type-color: #64748b}.notification-type-dot{width:28px;height:28px;margin-top:6px;border-radius:999px;display:grid;place-items:center;background:var(--notification-type-color);color:#fff;font-size:12px;font-weight:950}.notification-message-row.request .notification-type-dot{color:#241400}.notification-open{-webkit-appearance:none;-moz-appearance:none;appearance:none;grid-column:1 / 3;border:0;border-radius:0;background:transparent;color:inherit;padding:0;display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;text-align:left;min-width:0;width:100%;font:inherit;box-shadow:none}.notification-copy{min-width:0;display:grid;gap:4px}.notification-title-row{display:flex;align-items:center;gap:8px;min-width:0}.notification-title-row strong{margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-pin{border:0;border-radius:0;background:transparent;color:var(--role-muted);font:inherit;font-size:12px;font-weight:900;white-space:nowrap;min-height:24px;padding:0}.notification-row-actions{min-width:0;display:grid;align-items:center;justify-items:end;align-content:start;gap:7px;color:var(--role-muted);font-size:12px;white-space:nowrap}.notification-request-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.notification-request-btn{min-width:58px;height:30px;border:1px solid var(--role-line-strong);border-radius:0;padding:0 12px;font:inherit;font-size:13px;font-weight:950;line-height:28px;text-align:center;white-space:nowrap;cursor:pointer}.notification-request-btn.approve{border-color:#2f6fa8;background:#2f6fa8;color:#fff}.notification-request-btn.reject{border-color:#f0b5b5;background:#fff7f7;color:#c62828}.notification-request-btn:hover{filter:brightness(.97)}.notification-read-dot{width:8px;height:8px;border-radius:999px;background:var(--notification-type-color);opacity:.58;flex:none}.notification-read-dot.unread{background:var(--notification-type-color);opacity:1;box-shadow:0 0 0 3px color-mix(in srgb,var(--notification-type-color) 14%,transparent)}.queue-item{width:100%;min-height:84px;border:1px solid var(--role-line);border-radius:12px;background:var(--role-soft);color:var(--role-text);padding:12px;display:grid;gap:4px;text-align:left}.notification-body,.queue-item span{color:var(--role-muted);font-size:13px}.notification-body{line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-message-time{color:#94a3b8;font-size:11px;font-weight:800}.notification-pagination{margin-top:auto;min-height:48px;padding:8px 14px;border-top:1px solid var(--role-line);display:flex;align-items:center;justify-content:center;gap:10px;background:#fbfdff;color:var(--role-muted);font-size:13px;font-weight:900}.notification-pagination button{display:inline-flex;align-items:center;justify-content:center;min-height:30px;border:1px solid var(--role-line);border-radius:9px;background:#fff;color:#0f559f;font:inherit;font-size:13px;font-weight:900;padding:0 10px}.notification-pagination button:disabled{opacity:.45;cursor:not-allowed}.processing-queue{position:fixed;right:22px;bottom:22px;z-index:30;width:min(360px,calc(100vw - 44px));border:1px solid var(--role-line);border-radius:16px;background:var(--role-surface);color:var(--role-text);box-shadow:0 20px 46px #0f172a29;overflow:hidden}.queue-toggle{width:100%;height:48px;border:0;background:var(--role-surface);color:var(--role-text);padding:0 14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.queue-toggle span{color:var(--role-muted);font-size:13px}.queue-list{--queue-item-height: 92px;display:grid;gap:8px;padding:0 12px 12px;max-height:calc(var(--queue-item-height) * 3);overflow-y:auto}.queue-progress{height:6px;overflow:hidden;border-radius:999px;background:#e5e7eb}.queue-progress i,.queue-progress b{display:block;height:100%;border-radius:inherit;background:#2563eb}.queue-item small{color:#b91c1c;line-height:1.35}.teacher-video-frame,.teacher-board-roi{display:grid;gap:10px}.teacher-video-frame-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.teacher-frame-preview,.teacher-frame-empty{min-height:180px;border:1px solid var(--role-line);border-radius:8px;overflow:hidden;background:#f8fafc}.teacher-frame-preview img{display:block;width:100%;aspect-ratio:16 / 9;object-fit:contain}.teacher-frame-empty{display:grid;place-items:center;color:var(--role-muted)}.campus-dashboard,.teacher-dashboard,.admin-workspace{min-width:0;width:100%;display:grid;gap:14px}.report-snap-section{min-width:0;scroll-snap-align:start;scroll-snap-stop:always}.report-snap-reviews{min-height:calc(100vh - 104px)}.metric-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.metric-card{min-width:0;background:var(--role-surface);border:1px solid var(--role-line);border-radius:16px;padding:16px}.metric-card span{color:var(--role-muted);font-size:13px}.metric-card strong{display:block;margin-top:8px;font-size:32px;line-height:1}.workspace-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:14px}.workspace-grid .wide{grid-column:1 / -1}.research-video-panel video{width:100%;max-height:360px;border-radius:12px;background:#0f172a}.teacher-layout{grid-template-columns:minmax(360px,.9fr) minmax(420px,1.1fr)}.teacher-home-content{padding:0;display:grid;grid-template-columns:1fr;gap:10px;align-items:start}.teacher-home-dashboard{height:100%;overflow:hidden;align-content:start;gap:8px}.teacher-supervisor-entry{margin-bottom:6px;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:16px}.teacher-supervisor-entry div{display:grid;gap:4px}.teacher-supervisor-entry strong{color:var(--role-text)}.teacher-supervisor-entry span{color:var(--role-muted);font-size:13px;font-weight:700}.teacher-my-supervisor-panel{margin-bottom:6px;display:grid;gap:10px}.teacher-scope-panel{margin-bottom:6px;display:grid;gap:4px}.teacher-scope-panel p{margin:0;color:var(--role-text);font-size:14px;line-height:1.45}.teacher-scope-panel strong{color:var(--role-text)}.teacher-my-supervisor-card{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--role-line);background:color-mix(in srgb,var(--role-primary) 6%,var(--role-surface));padding:8px 12px}.teacher-my-supervisor-card>span:first-child{min-width:0;display:grid;gap:2px}.teacher-my-supervisor-card strong{color:var(--role-text)}.teacher-my-supervisor-card small,.teacher-my-supervisor-card>span:last-child{color:var(--role-muted);font-size:12px;font-weight:750}.teacher-home-panel{border:1px solid rgba(216,225,239,.82);border-radius:0;background:#fff;box-shadow:none;overflow:hidden}.teacher-home-panel header{min-height:42px;padding:9px 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--role-line)}.teacher-home-panel h3{margin:0;font-size:16px}.teacher-home-panel small{color:var(--role-muted);font-weight:700}.teacher-home-list{height:clamp(186px,calc((100vh - 360px)/2),232px);padding:14px 16px;overflow:hidden;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:12px;align-content:start}.teacher-home-card{position:relative;overflow:hidden;min-height:0;height:100%;padding:12px 14px 12px 20px;border:0;border-radius:0;background:#f6f9fe;box-shadow:inset 0 0 0 1px #e2ebf7;color:var(--role-text);text-align:left}.teacher-home-card:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:6px;border-radius:0;background:var(--task-color, #d9e2ef)}.teacher-home-card:hover{background:#f6f9fe;box-shadow:inset 0 0 0 1px #e2ebf7}.teacher-home-card strong,.teacher-home-card small{display:block}.teacher-home-card strong{margin-bottom:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-home-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.teacher-home-card.task-card,.teacher-home-card.report-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center}.teacher-home-card.task-card span{color:var(--role-primary);font-size:12px;font-weight:900}.teacher-home-card.report-card{grid-template-columns:minmax(0,1fr) auto}.teacher-home-view-btn{min-height:30px;border:1px solid #bcd0ea;border-radius:0;background:#fff;color:#0f559f;font:inherit;font-size:12px;font-weight:950;padding:0 11px}.teacher-toast-bubble{position:fixed;right:28px;bottom:76px;width:260px;padding:12px 14px 12px 42px;border-radius:18px;border:1px solid var(--toast-border);background:#fff;color:var(--toast-ink);box-shadow:0 18px 44px #2563eb2e;font-size:13px;line-height:1.45;font-weight:800;text-align:left;cursor:pointer;z-index:20}.teacher-toast-bubble:before{content:"";position:absolute;left:14px;top:14px;width:14px;height:14px;border-radius:999px;background:var(--toast-dot);box-shadow:0 0 0 5px var(--toast-halo)}.teacher-toast-bubble:after{content:"";position:absolute;right:34px;bottom:-8px;width:16px;height:16px;transform:rotate(45deg);border-right:1px solid var(--toast-border);border-bottom:1px solid var(--toast-border);background:#fff}.teacher-toast-bubble strong{display:block;margin-bottom:2px;font-size:14px}.teacher-toast-bubble small{color:var(--role-muted);font-weight:700}.teacher-toast-bubble.info{--toast-dot: #2563eb;--toast-halo: #dbeafe;--toast-border: #bfdbfe;--toast-ink: #1e3a8a}.teacher-toast-bubble.running{--toast-dot: #7c3aed;--toast-halo: #ede9fe;--toast-border: #ddd6fe;--toast-ink: #4c1d95}.teacher-toast-bubble.success{--toast-dot: #22c55e;--toast-halo: #dcfce7;--toast-border: #bbf7d0;--toast-ink: #14532d}.teacher-toast-bubble.error{--toast-dot: #ef4444;--toast-halo: #fee2e2;--toast-border: #fecaca;--toast-ink: #7f1d1d}.teacher-queue-compact.processing-queue{right:28px;bottom:22px;min-width:184px;width:min(240px,calc(100vw - 56px));border-radius:999px;background:#ffffffeb;box-shadow:0 10px 24px #1c30541f;font-size:13px}.teacher-queue-compact .queue-toggle{height:42px;padding:0 12px}.teacher-queue-compact .queue-toggle strong{font-size:13px}.teacher-queue-compact .queue-toggle span{font-size:12px}.teacher-queue-compact.processing-queue:not(.collapsed){width:min(360px,calc(100vw - 56px));border-radius:16px}.pad{padding:16px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.panel-title select{min-height:34px;border:1px solid var(--role-line);border-radius:10px;background:var(--role-soft);color:var(--role-text);padding:0 10px}.account-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:nowrap;overflow-x:auto;max-width:100%}.account-header-actions .secondary-action{flex:0 0 auto;min-height:34px;padding:0 10px;font-size:13px}.workspace-row{width:100%;border:0;border-left:4px solid transparent;border-radius:10px;background:var(--role-soft);padding:12px 14px;display:grid;gap:4px;text-align:left;color:var(--role-text);margin-bottom:10px}.task-ribbon-row{position:relative;overflow:hidden;padding-left:22px}.task-ribbon-row:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:7px;border-radius:0 999px 999px 0;background:var(--task-color, #d9e2ef)}.workspace-row:hover,.workspace-row.active{border-left-color:var(--role-primary)}.workspace-row span,.workspace-row em,.trend-row span,.trend-row small{color:var(--role-muted);font-size:13px}.workspace-row em{font-style:normal;color:var(--role-primary)}.compact-row{margin-top:8px;margin-bottom:0}.campus-detail-grid,.teacher-submit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.teacher-submit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.role-subpanel{min-width:0;border:1px solid var(--role-line);border-radius:14px;background:var(--role-soft);padding:14px}.trend-list{display:grid;gap:10px}.trend-row{display:grid;gap:4px;padding:10px;border-radius:10px;background:color-mix(in srgb,var(--role-surface) 78%,transparent)}.primary-action.compact,.secondary-action.mini{min-height:36px;padding:0 14px;border-radius:11px}.secondary-action.mini{min-height:34px;font-size:13px}.side-drawer label,.role-subpanel label{display:grid;gap:6px;color:var(--role-muted);font-weight:700;margin-top:10px}.side-drawer input,.side-drawer select,.side-drawer textarea,.role-subpanel input,.role-subpanel select,.role-subpanel textarea,.toolbar-select,.filter-bar select,.account-editor input,.account-editor select,.account-editor textarea,.inline-form input,.review-editor input,.review-editor textarea{width:100%;min-height:38px;border:1px solid var(--role-line);border-radius:10px;background:var(--role-soft);color:var(--role-text);padding:0 11px}.toolbar-select{width:180px}.admin-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.8fr)}.metric-list,.simple-table{display:grid;gap:10px}.metric-list div,.simple-table div{min-width:0;min-height:44px;border:1px solid var(--role-line);border-radius:12px;background:var(--role-soft);padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.metric-list span,.simple-table span{color:var(--role-muted)}.metric-list strong,.simple-table strong{font-size:18px}.data-table{display:grid;gap:0;overflow-x:auto}.data-row{min-width:720px;display:grid;grid-template-columns:1.4fr 1fr 1fr .8fr 1.1fr;gap:12px;align-items:center;min-height:52px;padding:10px 12px;border-bottom:1px solid var(--role-line)}.data-row.head{min-height:42px;color:var(--role-muted);font-size:12px;font-weight:800;background:var(--role-soft);border-radius:12px 12px 0 0}.data-row:last-child{border-bottom:0}.data-row strong,.data-row small{display:block}.data-row small{color:var(--role-muted)}.row-actions,.form-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.account-editor{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;align-items:end}.account-editor label,.inline-form label,.review-editor label{min-width:0;display:grid;gap:6px;color:var(--role-muted);font-weight:700}.account-editor .wide-field{grid-column:span 2}.compact-account-editor{padding:0;border:0;background:transparent;grid-template-columns:repeat(4,minmax(140px,1fr))}.campus-account-drawer{margin-bottom:14px}.toolbar-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0 14px}.toolbar-row input,.toolbar-row select{min-width:180px;min-height:38px;border:1px solid var(--role-line);border-radius:10px;background:var(--role-soft);color:var(--role-text);padding:0 11px}.toolbar-row input{flex:1}.teacher-pool-bulk-actions{justify-content:flex-start;margin-top:-4px}.bulk-check-label{min-height:36px;display:inline-flex;align-items:center;gap:8px;color:var(--role-text);font-weight:800}.bulk-check-label input{width:16px;height:16px}.clickable-row{width:100%;border-left:0;border-right:0;border-top:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.clickable-row:hover{background:color-mix(in srgb,var(--role-primary) 8%,transparent)}.static-row{cursor:default}.teacher-profile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;color:var(--role-muted)}.segmented-control{display:inline-flex;border:1px solid var(--role-line);border-radius:12px;padding:3px;background:var(--role-soft)}.segmented-control button{min-height:30px;border:0;border-radius:9px;background:transparent;color:var(--role-muted);padding:0 12px;font-weight:800}.segmented-control button.active{background:var(--role-primary);color:#fff}.task-group-list,.teacher-picker-list{display:grid;gap:10px}.teacher-chip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;margin-top:12px}.teacher-task-chip,.teacher-picker-row{min-width:0;border:1px solid var(--role-line);border-radius:12px;background:color-mix(in srgb,var(--role-surface) 86%,transparent);color:var(--role-text);padding:10px 12px}.teacher-task-chip{display:grid;gap:3px;text-align:left;cursor:pointer}.teacher-task-chip span,.teacher-picker-row small{color:var(--role-muted);font-size:12px}.teacher-picker{display:grid;gap:8px;margin:12px 0}.teacher-picker-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 10px;align-items:center}.teacher-picker-row input{width:auto;min-height:0}.teacher-picker-row small{grid-column:2}.report-data-table .data-row{grid-template-columns:1.5fr .8fr .7fr .6fr 1fr .7fr}.admin-create-form{margin-top:12px}.inline-form{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:12px;align-items:end}.compact-data-table{margin-top:14px}.filter-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.filter-bar select{width:180px}.admin-filter-shell{display:grid;gap:10px}.admin-filter-shell.role-panel.pad{padding:10px 12px}.admin-filter-compact{min-width:0;display:flex;align-items:center;gap:12px}.admin-filter-compact span{min-width:0;color:var(--role-muted);font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-filter-shell.expanded{box-shadow:0 18px 36px #0f172a14}.admin-filter-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr)) auto;gap:10px;align-items:end;padding-top:10px;border-top:1px solid var(--role-line)}.admin-filter-bar label{min-width:0;display:grid;gap:6px;color:var(--role-muted);font-weight:700}.admin-filter-bar input,.admin-filter-bar select{width:100%;min-height:38px;border:1px solid var(--role-line);border-radius:10px;background:var(--role-soft);color:var(--role-text);padding:0 11px}.admin-filter-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.admin-data-table{display:grid;gap:0;overflow-x:auto}.admin-data-row{min-width:860px;display:grid;grid-template-columns:var(--admin-columns);gap:12px;align-items:center;min-height:52px;padding:10px 12px;border-bottom:1px solid var(--role-line)}.admin-data-row.head{min-height:42px;color:var(--role-muted);font-size:12px;font-weight:800;background:var(--role-soft);border-radius:12px 12px 0 0}.admin-data-row:last-child{border-bottom:0}.admin-data-row strong,.admin-data-row small{display:block}.admin-data-row small,.admin-table-state{color:var(--role-muted)}.compact-admin-table-panel{min-height:0}.compact-admin-table .admin-data-row>span{min-width:0;padding:10px 11px!important;overflow:hidden}.compact-admin-table .admin-data-row>span:not(.row-actions),.compact-admin-table .admin-data-row strong,.compact-admin-table .admin-data-row small{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-admin-table .admin-data-row strong{line-height:1.35}.model-ops-workspace .metric-card strong{font-size:26px}.model-ops-workspace{height:calc(100vh - 60px);overflow:hidden;display:flex;flex-direction:column;gap:6px;padding-block:8px}.model-ops-mode-actions{flex:0 0 auto;display:flex;align-items:center;gap:8px;flex-wrap:nowrap;overflow-x:auto}.model-ops-mode-actions .secondary-action.active{border-color:var(--role-accent);background:var(--role-accent);color:#fff}.model-ops-return-btn{margin-left:auto}.model-ops-workspace .metric-strip{flex:0 0 auto}.model-ops-workspace .metric-card{min-height:72px;padding:10px 14px}.model-ops-workspace .admin-grid{flex:1 1 auto;min-height:0;overflow:hidden;grid-template-columns:minmax(0,1fr);align-items:stretch}.model-ops-workspace .admin-grid>.role-panel{min-height:0}.model-ops-workspace .admin-data-table{border:1px solid var(--role-line);border-radius:12px;background:#fff}.model-ops-table-row{background:#fff}.model-ops-table-row.active{background:color-mix(in srgb,var(--role-accent) 7%,white);box-shadow:inset 3px 0 0 var(--role-accent)}.model-ops-video-cell,.model-ops-video-cell strong,.model-ops-video-cell small{min-width:0;overflow-wrap:anywhere}.model-ops-nowrap,.model-ops-number,.model-ops-money{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-ops-number,.model-ops-money{text-align:right;font-variant-numeric:tabular-nums}.model-ops-detail-table .admin-data-row{min-width:980px}.model-ops-detail-table .model-ops-model-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-ops-detail-table .model-ops-number,.model-ops-detail-table .model-ops-money{overflow:visible;text-overflow:clip;white-space:nowrap}.model-ops-view-btn{min-height:28px;padding:0 10px;border:1px solid #bfdbfe;border-radius:999px;background:#eff6ff;color:#0f559f;font:inherit;font-size:12px;font-weight:900;cursor:pointer}.model-ops-view-btn:hover{background:#dbeafe}.model-ops-breakdown-panel,.model-ops-results-panel{grid-column:1 / -1;display:flex;flex-direction:column;overflow:hidden}.model-ops-results-panel.role-panel.pad{padding:12px}.model-ops-results-title{flex:0 0 auto;min-height:36px;margin:-12px -12px 10px;padding:0 12px}.model-ops-results-title span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-ops-results-panel .admin-data-table{flex:0 0 auto;min-height:0;overflow:hidden}.model-ops-results-panel .admin-data-row{min-height:58px;height:58px;overflow:hidden;align-items:center}.model-ops-results-panel .admin-data-row.head{min-height:44px;height:44px}.model-ops-results-panel .admin-data-row>span{min-width:0;overflow:hidden}.model-ops-results-panel .model-ops-video-cell{display:grid;gap:2px;min-width:0;overflow:hidden;overflow-wrap:normal}.model-ops-results-panel .model-ops-video-cell strong,.model-ops-results-panel .model-ops-video-cell small{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:normal}.model-ops-results-panel .model-ops-video-cell small{line-height:1.2}.model-ops-results-panel .admin-pagination{flex:0 0 auto;margin-top:5px}.model-ops-detail-full{grid-column:1 / -1}.model-ops-breakdown{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(280px,.42fr) minmax(0,1fr);gap:16px;align-items:stretch}.model-ops-stack{min-height:0;height:100%;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--role-line);border-radius:0;background:var(--role-soft)}.model-ops-stack-segment{min-height:46px;display:grid;place-items:center;align-content:center;gap:2px;color:#fff;text-align:center;padding:8px}.model-ops-stack-segment span,.model-ops-stack-segment small{overflow-wrap:anywhere}.model-ops-stack-segment span{font-size:18px;font-weight:800}.model-ops-stack-segment small{font-size:10px;opacity:.82}.model-ops-breakdown-list{display:grid;grid-template-rows:repeat(auto-fit,minmax(72px,1fr));gap:10px;min-height:0}.model-ops-breakdown-item{display:grid;grid-template-columns:12px minmax(0,1fr) 82px 112px;gap:12px;align-items:center;min-height:0;padding:14px 16px;border:1px solid var(--role-line);background:#ffffffb8}.model-ops-breakdown-item i{width:12px;height:42px;border-radius:4px}.model-ops-breakdown-item span,.model-ops-breakdown-item strong,.model-ops-breakdown-item small{min-width:0;overflow-wrap:anywhere}.model-ops-breakdown-item small{display:block;color:var(--role-muted)}.model-ops-breakdown-item em,.model-ops-breakdown-item b{font-style:normal;text-align:right}.model-ops-stat-list{display:grid;gap:10px}.model-ops-stat-list div{min-width:0;display:grid;gap:4px;padding:10px 0;border-bottom:1px solid var(--role-line)}.model-ops-stat-list div:last-child{border-bottom:0}.model-ops-stat-list span,.model-ops-stat-list small{min-width:0;overflow-wrap:anywhere}.model-ops-stat-list small{color:var(--role-muted)}.model-ops-stats-modal{width:min(760px,calc(100vw - 48px))}.model-ops-modal-filters{grid-template-columns:repeat(4,minmax(150px,1fr))}.model-ops-modal-filters .admin-modal-actions{grid-column:1 / -1}.feedback-summary-actions{align-items:center;gap:8px}.feedback-summary-actions .secondary-action{background:var(--role-surface);color:var(--role-text)}.feedback-summary-row>span{min-width:0}.feedback-report-link{display:block;color:var(--color-primary-700);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feedback-summary-text{cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feedback-summary-text:hover,.feedback-summary-text:focus-visible{color:var(--color-primary-700);text-decoration:underline;outline:none}.feedback-summary-modal{max-width:760px}.feedback-summary-fulltext{white-space:pre-wrap;line-height:1.75;color:var(--color-text-primary);max-height:min(62vh,620px);overflow:auto;padding:18px}.admin-pagination{min-height:48px;margin-top:10px;padding-top:10px;border-top:1px solid var(--role-line);display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.admin-pagination button{display:inline-flex;align-items:center;justify-content:center;min-height:30px;border:1px solid var(--role-line);border-radius:10px;background:#fff;color:var(--role-muted);font:inherit;font-size:13px;font-weight:900;padding:0 11px}.admin-pagination button.active{background:#0f559f;color:#fff}.admin-pagination button:disabled{opacity:.45;cursor:not-allowed}.table-pagination{min-height:44px;margin-top:10px;padding-top:10px;border-top:1px solid var(--role-line);display:flex;align-items:center;justify-content:flex-end;gap:10px;color:var(--role-muted);font-size:13px;font-weight:800}.table-pagination button:disabled{opacity:.45;cursor:not-allowed}.admin-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;background:#0f172a47;display:grid;place-items:center;padding:18px}.admin-modal{width:min(620px,calc(100vw - 36px));max-height:calc(100vh - 36px);overflow:auto;background:var(--role-surface);color:var(--role-text);border:1px solid var(--role-line);border-radius:18px;box-shadow:0 24px 72px #0f172a2e;padding:18px;display:grid;gap:14px}.admin-modal header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.admin-modal header strong,.admin-modal header small{display:block}.admin-modal header small{color:var(--role-muted);margin-top:3px}.admin-modal-close{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--role-line);border-radius:10px;padding:0;background:var(--role-soft);color:var(--role-text);font-family:Arial,Helvetica,sans-serif;font-size:18px;font-weight:400;line-height:1}.admin-modal-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-modal-form label{min-width:0;display:grid;gap:6px;color:var(--role-muted);font-weight:700}.campus-task-modal{width:min(920px,calc(100vw - 36px))}.campus-task-modal-form{grid-template-columns:repeat(3,minmax(0,1fr))}.campus-teacher-select-panel{display:grid;gap:10px;border:1px solid var(--role-line);border-radius:14px;background:#fff;padding:14px}.campus-teacher-select-table{display:grid;border:1px solid var(--role-line);border-radius:14px;overflow:hidden}.campus-teacher-select-head,.campus-teacher-select-row{display:grid;grid-template-columns:64px minmax(220px,1fr) 110px;gap:12px;align-items:center}.campus-teacher-select-head{min-height:40px;padding:9px 14px;border-bottom:1px solid var(--role-line);background:#fbfdff;color:var(--role-muted);font-size:12px;font-weight:950}.campus-teacher-select-row{min-height:58px;padding:8px 14px;border-bottom:1px solid var(--role-line);background:#fff;cursor:pointer}.campus-teacher-select-row:last-child{border-bottom:0}.campus-teacher-select-row:hover{background:#f8fbff}.campus-teacher-select-row input{width:16px;height:16px}.profile-request-row{grid-template-columns:minmax(180px,1.1fr) minmax(260px,1.3fr) minmax(220px,1fr) 150px}.teacher-profile-request-panel{display:grid;gap:12px}.teacher-profile-request-modal{width:min(860px,calc(100vw - 96px));border-radius:0;padding:0}.teacher-profile-request-modal .teacher-profile-request-form{padding:18px}.teacher-profile-request-form{display:grid;gap:12px}.teacher-profile-request-modal .profile-request-grid{grid-column:1 / -1;display:contents}.teacher-profile-request-form .profile-request-reason{min-width:0;display:grid;gap:6px;color:var(--role-muted);font-weight:800}.teacher-profile-request-form .profile-request-reason input{width:100%;min-height:38px;border:1px solid var(--role-line);border-radius:10px;background:var(--role-soft);color:var(--role-text);padding:0 11px}.profile-request-grid{display:grid;grid-template-columns:minmax(220px,1fr) minmax(300px,1fr) minmax(220px,.58fr);gap:12px;align-items:stretch}.profile-request-field{height:100%;min-height:112px}.teacher-profile-request-form .profile-request-field{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-content:flex-start;align-items:center;margin:0;border:1px solid var(--role-line)}.teacher-profile-request-modal .campus-teacher-checkbox-field{gap:8px;min-height:102px;padding:12px 14px 14px;background:transparent}.profile-request-checkbox-field{gap:8px;padding:12px 14px 14px;border-radius:0;background:transparent}.profile-request-checkbox-field legend{padding:0 6px;color:var(--role-muted);font-size:13px;font-weight:900}.profile-request-checkbox-field label{min-height:32px;display:inline-flex;align-items:center;gap:8px;border:0!important;border-radius:0!important;padding:0 10px 0 0;background:transparent!important;font-weight:700}.profile-request-checkbox-field input{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:18px!important;min-width:18px!important;max-width:18px!important;height:18px!important;min-height:18px!important;max-height:18px!important;display:inline-grid;place-items:center;flex:0 0 18px;border:1px solid var(--role-line-strong);border-radius:0!important;background:var(--role-surface);margin:0!important;padding:0!important;box-shadow:none!important}.profile-request-checkbox-field input:checked{border-color:var(--role-primary);background:var(--role-primary)}.profile-request-checkbox-field input:checked:before{content:"";width:8px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translate(1px,-1px)}.teacher-profile-request-modal .profile-request-reason{grid-column:1 / -1;justify-content:center;padding:12px;border:1px solid var(--role-line);border-radius:0;background:#fff}.profile-request-reason span{color:var(--role-muted);font-size:13px;font-weight:900}.admin-account-create-form .account-create-profile-field{grid-column:1 / -1;display:flex;flex-wrap:wrap;min-height:102px;align-content:flex-start;align-items:center;gap:8px;margin:0;padding:12px 14px 14px;border:1px solid var(--role-line);border-radius:0;background:transparent}.teacher-profile-request-form .admin-modal-actions{grid-column:1 / -1}@media(max-width:1080px){.profile-request-grid{grid-template-columns:1fr}}.research-task-modal select[multiple]{min-height:150px}.admin-modal-form input,.admin-modal-form select{width:100%;min-height:38px;border:1px solid var(--role-line);border-radius:10px;background:var(--role-soft);color:var(--role-text);padding:0 11px}.admin-modal-form .wide-field,.admin-modal-actions{grid-column:1 / -1}.admin-modal-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.quick-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.review-editor{display:grid;gap:12px}.review-editor textarea{min-height:120px;padding-top:10px;resize:vertical}.review-score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.review-display-grid{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:12px;margin-top:14px}.review-list-block{min-width:0;display:grid;gap:10px}.review-card{border:1px solid var(--role-line);background:var(--role-soft);padding:12px;display:grid;grid-template-rows:auto 1fr auto;gap:8px;height:104px;overflow:hidden;min-width:0}.review-card header{display:flex;justify-content:space-between;gap:12px;color:var(--role-muted);font-size:12px;min-width:0}.review-card header span,.review-card header small,.review-card>small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-card p{margin:0;line-height:1.55;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.review-card-button{width:100%;border:1px solid var(--role-line);color:inherit;font:inherit;text-align:left;cursor:pointer}.review-card-button:hover{border-color:var(--role-accent)}.review-card-button:focus-visible{outline:2px solid var(--role-accent);outline-offset:2px}.external-reviews-panel{margin-top:14px}.review-stack-block .admin-pagination{justify-content:flex-start;margin-top:2px}.review-detail-modal{width:min(1280px,calc(100vw - 48px));height:min(820px,calc(100vh - 48px));max-width:none;display:grid!important;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.review-detail-modal>header>div{min-width:0;display:grid;gap:4px}.review-detail-modal>header span{color:var(--role-muted);font-size:12px}.review-detail-body{padding:22px 24px;overflow:auto;display:grid;gap:14px;align-content:start}.review-detail-body p{margin:0;white-space:pre-wrap;line-height:1.85;font-size:16px}.review-detail-body small{color:var(--role-muted)}.side-drawer textarea,.role-subpanel textarea{min-height:86px;padding:10px 11px;resize:vertical}.hidden-input{display:none}.report-workspace{display:grid;gap:14px;color:var(--role-text)}.report-summary-band{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(240px,.9fr) repeat(3,minmax(170px,.75fr));gap:10px;padding:12px;border:1px solid var(--role-line);border-radius:16px;background:linear-gradient(180deg,var(--role-surface),var(--role-soft))}.report-score-card,.report-radar-card,.report-conclusion{min-width:0;border:1px solid var(--role-line);border-radius:14px;background:color-mix(in srgb,var(--role-surface) 84%,transparent);padding:12px}.report-score-card{position:relative;display:grid;align-content:center;gap:8px}.report-thinking-entry{position:absolute;top:10px;right:10px}.report-score-card>span{padding-right:108px}.report-score-card>span,.report-score-card p{color:var(--role-muted);font-size:13px}.report-score-card p{margin:0}.report-score strong{font-size:42px;line-height:1;color:var(--role-primary)}.report-score span{color:var(--role-muted);margin-left:4px}.report-progress{height:8px;background:color-mix(in srgb,var(--role-primary) 14%,var(--role-line));border-radius:999px;overflow:hidden}.report-progress span{display:block;height:100%;background:var(--role-primary);border-radius:inherit}.report-radar-card{display:grid;place-items:center}.report-thinking-modal{width:min(940px,calc(100vw - 48px))}.radar-chart{width:min(100%,260px);height:180px;color:color-mix(in srgb,var(--role-primary) 28%,#cbd5e1)}.radar-grid{opacity:.85}.radar-area{fill:color-mix(in srgb,var(--role-primary) 24%,transparent);stroke:var(--role-primary);stroke-width:3}.radar-labels{fill:var(--role-muted);font-size:10px;font-weight:700}.report-conclusion{display:grid;grid-template-rows:auto minmax(0,1fr);height:204px;gap:8px;overflow:hidden}.report-conclusion span,.report-conclusion-list{font-size:13px}.report-conclusion-list{min-height:0;margin:0;padding-left:18px;overflow:auto;line-height:1.5;scrollbar-width:none;-ms-overflow-style:none}.report-conclusion-list::-webkit-scrollbar{display:none}.report-conclusion-list li+li{margin-top:6px}.report-conclusion.strength{background:#f0fdf4;border-color:#bbf7d0;color:#14532d}.report-conclusion.problem{background:#fff7ed;border-color:#fed7aa;color:#9a3412}.report-conclusion.suggestion{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.report-lower-grid{display:grid;grid-template-columns:380px minmax(0,1fr);gap:14px;min-height:0}.dimension-rail,.report-review-main,.indicator-panel,.overall-comment-panel,.feedback-list-panel,.feedback-score-panel{border:1px solid var(--role-line);border-radius:14px;background:var(--role-surface)}.dimension-rail{overflow:auto;border-radius:0}.dimension-rail header{padding:10px 14px;border-bottom:1px solid var(--role-line);display:flex;justify-content:space-between;gap:12px}.dimension-rail header span{color:var(--role-muted);font-size:12px}.dimension-rail button{width:100%;border:0;border-bottom:1px solid var(--role-line);border-radius:0;background:var(--role-surface);color:var(--role-text);text-align:left;padding:7px 14px;display:grid;grid-template-columns:54px minmax(0,1fr) 52px;gap:10px;align-items:center}.dimension-rail button.active{background:var(--role-soft);border-left:4px solid var(--role-primary);padding-left:10px}.dimension-rail button>strong{color:var(--role-primary);font-size:20px}.dimension-rail b,.dimension-rail small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dimension-rail small{color:var(--role-muted)}.dimension-rail em{height:7px;background:var(--role-line);border-radius:0;overflow:hidden}.dimension-rail i{display:block;height:100%;background:var(--role-primary);border-radius:0}.dimension-rail-actions{padding:12px 14px}.dimension-rail .dimension-weight-action{min-height:36px;border:1px solid #bfd3ef;border-radius:8px;background:#fff;color:#155ca8;display:block;padding:0 12px;text-align:center;font-weight:900}.teacher-upload-page{min-height:min(680px,calc(100vh - 180px))}.teacher-upload-form{display:grid;grid-template-columns:minmax(320px,420px) minmax(0,1fr);gap:16px;align-items:start}.teacher-upload-form>label,.teacher-upload-form>button{grid-column:1}.teacher-upload-form>.teacher-video-frame{grid-column:2;grid-row:1 / span 8}.teacher-free-practice-e2{min-height:0}.free-practice-workspace{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:stretch}.free-practice-main-panel,.free-practice-settings-drawer{border:1px solid rgba(216,225,239,.86);border-radius:26px;background:#fff;box-shadow:0 24px 70px #1f31501c;overflow:hidden}.free-practice-panel-head{min-height:58px;padding:15px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf2f8}.free-practice-panel-head h2,.free-practice-settings-drawer h2{margin:0;font-size:17px;letter-spacing:0}.free-practice-panel-head p,.free-practice-settings-drawer p{margin:4px 0 0;color:var(--role-muted);font-size:13px;line-height:1.7}.free-practice-panel-head span{color:var(--role-muted);font-size:13px;font-weight:800}.free-practice-panel-body,.free-practice-settings-drawer{padding:18px}.free-practice-upload-surface{position:relative;width:min(720px,100%);min-height:108px;margin:0 auto;padding:14px;display:grid;place-items:center;border:1px dashed rgba(15,76,147,.28);border-radius:20px;background:radial-gradient(circle at 24% 22%,rgba(91,91,214,.1),transparent 34%),linear-gradient(180deg,#f8fbff,#eef5ff);text-align:center;cursor:pointer}.free-practice-upload-surface.has-file{grid-template-columns:168px minmax(0,1fr);grid-template-rows:auto auto;column-gap:18px;align-items:center;justify-items:start;min-height:86px;padding:12px 16px;text-align:left}.free-practice-upload-surface input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.free-practice-upload-surface strong,.free-practice-summary-grid strong{display:block;color:var(--role-text);font-weight:900}.free-practice-upload-surface.has-file strong{align-self:end;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.free-practice-upload-surface small,.free-practice-summary-grid small{display:block;margin-top:6px;color:var(--role-muted);font-size:13px;line-height:1.65}.free-practice-upload-surface.has-file small{align-self:start;margin-top:4px}.free-practice-upload-icon{width:46px;height:46px;margin:0 auto 10px;display:grid;place-items:center;border-radius:14px;color:#fff;background:var(--role-primary);font-size:24px;font-weight:900}.free-practice-video-cover{width:min(360px,100%);max-height:120px;margin:0 auto 10px;border:1px solid #d7e4f4;border-radius:16px;background:#0f172a;object-fit:contain;display:block}.free-practice-upload-surface.has-file .free-practice-video-cover{grid-row:1 / span 2;width:168px;height:76px;max-height:none;margin:0;border-radius:14px}.free-practice-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.free-practice-summary-grid section{min-height:92px;border:1px solid #dbe5f2;border-radius:22px;background:#fff;padding:15px}.free-practice-summary-grid strong{margin-bottom:8px;font-size:15px;line-height:1.35}.free-practice-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.free-practice-progress-panel{min-height:138px;border:1px solid #b8cce5;background:#ffffffd1;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.free-practice-progress-panel.idle{min-height:0;grid-template-rows:1fr}.free-practice-progress-empty{min-height:100%;display:grid;align-content:center;justify-items:start;gap:6px;padding:16px;color:var(--role-muted)}.free-practice-progress-empty strong{color:var(--role-text);font-size:14px}.free-practice-progress-empty small{font-size:12px;line-height:1.5}.free-practice-progress-head,.free-practice-progress-foot{min-height:38px;padding:9px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #d9e5f5}.free-practice-progress-head strong{display:block;color:var(--role-text);font-size:14px;line-height:1.35}.free-practice-progress-head small,.free-practice-progress-foot span{display:block;color:var(--role-muted);font-size:12px;line-height:1.45}.free-practice-progress-meta{min-width:96px;text-align:right}.free-practice-progress-meta span{display:block;color:var(--role-primary);font-size:20px;font-weight:900;line-height:1.1;font-variant-numeric:tabular-nums}.free-practice-step-strip{min-height:58px;padding:10px 12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(116px,1fr));gap:6px;align-items:stretch}.free-practice-step{position:relative;min-width:0;min-height:58px;box-sizing:border-box;border:1px solid #b8cce5;padding:8px 20px 7px 10px;overflow:hidden;background:#f8fbff;color:var(--role-text);clip-path:polygon(0 0,calc(100% - 16px) 0,100% 50%,calc(100% - 16px) 100%,0 100%);font:inherit;text-align:left;cursor:pointer}.free-practice-step.waiting{color:#718096;background:#f8fbffb8}.free-practice-step.running,.free-practice-step.active{border-color:#2b6cb0;background:#2b6cb01a;color:#17406f}.free-practice-step.completed,.free-practice-step.done{border-color:#22c55e7a;background:#22c55e1a;color:#14532d}.free-practice-step.skipped{border-color:#7180966b;background:#f1f5f9d1;color:#475569}.free-practice-step.failed{border-color:#b91c1c6b;background:#fee2e2b8;color:#991b1b}.free-practice-step-fill{position:absolute;inset:0 auto 0 0;width:0;background:#2b6cb01f;transition:width .26s ease;pointer-events:none}.free-practice-step.completed .free-practice-step-fill,.free-practice-step.done .free-practice-step-fill{background:#22c55e24}.free-practice-step.skipped .free-practice-step-fill{background:#94a3b824}.free-practice-step.failed .free-practice-step-fill{background:#b91c1c1f}.free-practice-step span,.free-practice-step strong,.free-practice-step em{position:relative;z-index:1;display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.free-practice-step span{font-size:12px;font-weight:900;line-height:1.25}.free-practice-step strong{margin-top:4px;font-size:18px;line-height:1;font-variant-numeric:tabular-nums}.free-practice-step em{margin-top:3px;color:currentColor;opacity:.72;font-size:11px;font-style:normal;line-height:1;font-variant-numeric:tabular-nums}.free-practice-progress-foot{border-top:1px solid #d9e5f5;border-bottom:0}.free-practice-progress-detail{width:min(760px,calc(100vw - 48px));max-height:calc(100vh - 48px);overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr)}.free-practice-progress-detail-body{min-height:0;overflow-y:auto;display:grid;gap:12px;padding:16px}.free-practice-progress-detail-body section{border:1px solid #d9e5f5;padding:12px;background:#f8fbffc2}.free-practice-progress-detail-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.free-practice-progress-detail-body strong{display:block;margin-bottom:6px;color:var(--role-text)}.free-practice-progress-detail-body p,.free-practice-progress-detail-body small,.free-practice-progress-detail-body li{color:var(--role-muted);line-height:1.65}.free-practice-progress-detail-body p{margin:0}.free-practice-progress-detail-body ul{margin:0;padding-left:18px}.free-practice-progress-detail-body li:has(.sentence-time-range){display:grid;grid-template-columns:88px minmax(0,1fr);gap:10px;align-items:start}.sentence-time-range{color:#1f5f9f;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.free-practice-progress-detail-body pre{max-height:none;margin:0;overflow:visible;white-space:pre-wrap;color:#173b67;font:12px/1.65 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.free-practice-settings-stack{display:grid;gap:13px;margin-top:14px}.free-practice-settings-stack label{display:grid;gap:7px;color:var(--role-text);font-size:13px;font-weight:800}.free-practice-settings-stack input,.free-practice-settings-stack select{height:42px;min-width:0;border:1px solid #d5deec;border-radius:14px;padding:0 13px;background:#fbfdff;color:var(--role-text);font:inherit;font-weight:700}.free-practice-board-toggle,.free-practice-board-config{min-height:42px;border:1px solid #d5deec;border-radius:14px;background:#fff;color:var(--role-text);font:inherit;font-weight:900}.free-practice-board-toggle.on{border-color:#0f4c9347;background:#0f4c9314;color:var(--role-primary)}.free-practice-board-config{border-color:#0f4c9357;background:#0f4c931a;color:var(--role-primary)}.free-practice-board-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:260;display:grid;place-items:center;padding:24px;background:#0f172a61}.free-practice-board-modal{width:min(980px,calc(100vw - 48px));max-height:calc(100vh - 48px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;border:1px solid #b8cce5;border-radius:0;background:#fffffffa;color:var(--role-text);overflow:hidden}.free-practice-board-modal-head,.free-practice-board-modal-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #d9e5f5}.free-practice-board-modal-head h2{margin:0 0 4px;font-size:18px;line-height:1.3}.free-practice-board-modal-head p{margin:0;color:var(--role-muted);font-size:13px}.free-practice-board-modal-body{min-height:0;overflow:auto;padding:16px;background:#f8fbff}.free-practice-board-modal-body .teacher-video-frame{min-height:480px;align-content:start}.free-practice-board-modal-body .teacher-frame-preview,.free-practice-board-modal-body .teacher-frame-empty{height:420px;min-height:420px;max-height:none}.free-practice-board-modal-body .teacher-frame-preview img,.free-practice-board-modal-body .board-roi-image{height:100%;max-height:none;object-fit:contain}.free-practice-board-modal-body .board-toolbar{justify-content:flex-end}.free-practice-board-modal-foot{justify-content:flex-end;border-top:1px solid #d9e5f5;border-bottom:0}@media(max-width:960px){.teacher-upload-form,.free-practice-workspace,.free-practice-summary-grid{grid-template-columns:1fr}.teacher-upload-form>.teacher-video-frame{grid-column:1;grid-row:auto}.free-practice-upload-surface.has-file{grid-template-columns:1fr;justify-items:center;text-align:center}.free-practice-upload-surface.has-file .free-practice-video-cover{grid-row:auto;width:min(360px,100%);height:120px}.free-practice-upload-surface.has-file strong{white-space:normal}.free-practice-board-modal{width:calc(100vw - 28px);max-height:calc(100vh - 28px)}.free-practice-board-modal-body .teacher-video-frame{min-height:360px}.free-practice-board-modal-body .teacher-frame-preview,.free-practice-board-modal-body .teacher-frame-empty{height:300px;min-height:300px}}.report-review-main{padding:14px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px}.feedback-entry-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.feedback-entry{border-radius:12px;padding:14px;text-align:left;display:grid;gap:4px}.feedback-entry span{font-size:28px;line-height:1;font-weight:800}.feedback-entry small{font-size:12px}.feedback-entry.strength{background:#f0fdf4;border:1px solid #bbf7d0;color:#14532d}.feedback-entry.problem{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412}.feedback-entry.suggestion{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8}.feedback-entry.sentence{background:#f5f3ff;border:1px solid #ddd6fe;color:#5b21b6}.indicator-review-grid,.feedback-review-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:12px;min-height:330px}.indicator-panel,.overall-comment-panel,.feedback-list-panel,.feedback-score-panel{padding:16px}.indicator-list,.feedback-list-panel{display:grid;align-content:start;gap:9px}.indicator-row{border-left:4px solid var(--role-primary);background:var(--role-soft);border-radius:8px;padding:10px 12px;display:block}.indicator-row span,.indicator-row small{color:var(--role-muted);font-size:13px}.indicator-row small{display:block;margin:2px 0 4px;font-weight:800}.overall-comment-panel{display:grid;grid-template-rows:auto minmax(220px,1fr);align-content:stretch;gap:12px}.overall-comment-panel textarea,.feedback-score-panel textarea,.feedback-score-panel input{width:100%;border:1px solid var(--role-line);border-radius:10px;background:var(--role-soft);color:var(--role-text);padding:10px 12px}.overall-comment-panel textarea{min-height:220px;height:100%;resize:vertical}.feedback-list-panel header{display:flex;justify-content:space-between;gap:12px;margin-bottom:4px}.feedback-list-panel header button{border:1px solid var(--role-line);border-radius:9px;background:var(--role-soft);color:var(--role-text)}.feedback-list-panel>button{border:1px solid var(--role-line);border-radius:10px;background:var(--role-soft);color:var(--role-text);padding:10px 12px;display:grid;gap:4px;text-align:left}.feedback-list-panel>button.active{border-color:var(--role-primary);box-shadow:inset 4px 0 0 var(--role-primary)}.feedback-list-panel>button span,.feedback-score-panel p,.feedback-score-panel label span{color:var(--role-muted);font-size:13px}.feedback-score-panel{display:grid;align-content:start;gap:12px}.feedback-score-panel label{display:grid;gap:6px}.sentence-review-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:12px;min-height:330px}.sentence-list-panel,.sentence-score-panel{border:1px solid var(--role-line);border-radius:14px;background:var(--role-surface);padding:16px}.sentence-list-panel{display:grid;align-content:start;gap:9px;overflow:auto}.sentence-list-panel header{display:flex;justify-content:space-between;gap:12px}.sentence-list-panel header button{border:1px solid var(--role-line);border-radius:9px;background:var(--role-soft);color:var(--role-text)}.sentence-list-panel>button{border:1px solid var(--role-line);border-radius:10px;background:var(--role-soft);color:var(--role-text);padding:10px 12px;display:grid;gap:4px;text-align:left}.sentence-list-panel>button.active{border-color:var(--role-primary);box-shadow:inset 4px 0 0 var(--role-primary)}.sentence-list-panel small,.sentence-list-panel span,.sentence-score-head span,.sentence-event-stack span,.sentence-score-panel label span{color:var(--role-muted);font-size:13px}.sentence-score-panel{display:grid;align-content:start;gap:12px}.sentence-score-head{display:flex;justify-content:space-between;gap:12px}.sentence-score-text{border-left:4px solid var(--role-primary);border-radius:10px;background:var(--role-soft);padding:12px;margin:0}.sentence-event-stack{display:grid;gap:8px}.sentence-event-stack article{border:1px solid var(--role-line);border-radius:10px;padding:10px 12px;display:grid;gap:4px}.sentence-score-panel label{display:grid;gap:6px}.sentence-score-panel textarea,.sentence-score-panel input{width:100%;border:1px solid var(--role-line);border-radius:10px;background:var(--role-soft);color:var(--role-text);padding:10px 12px}.report-actions{display:flex;justify-content:flex-end;position:sticky;bottom:0;z-index:1;padding-top:4px;background:var(--role-surface)}.report-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#0f172a52;display:grid;place-items:center;padding:24px}.report-modal-backdrop:has(.weight-modal){padding:8px}.report-modal{width:min(760px,calc(100vw - 48px));max-height:min(720px,calc(100vh - 48px));border:1px solid var(--role-line);border-radius:18px;background:#fff;color:var(--role-text);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.report-modal-head,.report-modal-actions{min-height:58px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--role-line)}.report-modal-head div{display:grid;gap:3px}.report-modal-head span{color:var(--role-muted);font-size:13px;font-weight:700}.report-modal-actions{border-top:1px solid var(--role-line);border-bottom:0;justify-content:space-between;flex-wrap:wrap}.feedback-modal{width:min(660px,calc(100vw - 48px))}.feedback-modal-body{min-height:0;padding:18px;display:grid;align-content:start;gap:13px;overflow:auto}.feedback-modal-progress{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--role-muted);font-size:13px;font-weight:900}.feedback-modal-progress em{border:1px solid #d7e0ee;border-radius:999px;padding:4px 10px;color:#64748b;font-style:normal;background:#f8fafc}.feedback-modal-progress em.viewed{border-color:#bbf7d0;color:#15803d;background:#f0fdf4}.feedback-modal-body h3{margin:0;font-size:20px;line-height:1.35}.feedback-modal-body p{margin:0;color:var(--role-muted);font-weight:800}.feedback-modal-body .feedback-sentence-count{color:#155ca8;font-size:13px}.feedback-modal-meta{border:1px solid var(--role-line);border-radius:12px;background:#f8fbff;padding:10px 12px;display:grid;gap:6px;color:var(--role-muted);font-weight:800}.feedback-modal-meta span{color:#155ca8;font-size:13px}.feedback-modal-meta q{color:var(--role-text);quotes:none}.feedback-timeline-list{display:grid;gap:8px;margin:10px 0}.feedback-timeline-row{display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px;align-items:start;padding:8px 10px;border:1px solid #e5e7eb;border-radius:8px;background:#f8fafc}.feedback-timeline-row span{color:#475569;font-weight:800}.feedback-timeline-row q{color:#111827;quotes:none}.sentence-group-expand{width:fit-content;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#1f2937;padding:7px 10px;font-weight:800;cursor:pointer}.feedback-modal-detail{border:1px solid var(--role-line);border-radius:14px;background:#f8fbff;padding:14px;color:var(--role-text);line-height:1.55;white-space:pre-wrap}.feedback-page-jump{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;min-width:0}.feedback-page-jump button{width:34px;height:34px;border:1px solid var(--role-line);border-radius:8px;background:#fff;color:var(--role-text);padding:0;font-weight:900;cursor:pointer}.feedback-page-jump button.active{border-color:var(--role-primary);background:var(--role-primary);color:#fff}.feedback-modal-empty{min-height:280px;display:grid;place-items:center;color:var(--role-muted);font-weight:800}.weight-modal{width:min(1120px,calc(100vw - 16px));height:min(900px,calc(100vh - 16px));max-height:calc(100vh - 16px);box-shadow:none}.weight-modal .report-modal-head,.weight-modal .report-modal-actions{min-height:52px;padding:10px 16px}.weight-modal-body{min-height:0;padding:10px 18px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;overflow:hidden}.weight-score-summary{border:1px solid var(--role-line);border-radius:12px;background:#fff;padding:12px 14px;display:grid;grid-template-columns:130px 130px minmax(0,1fr);gap:14px;align-items:center}.weight-score-summary div{display:grid;gap:3px}.weight-score-summary span{color:var(--role-muted);font-size:12px;font-weight:900}.weight-score-summary strong{color:var(--role-primary);font-size:28px;line-height:1}.weight-score-summary p{margin:0;color:#15803d;font-size:13px;font-weight:900}.weight-score-summary p.invalid{color:#dc2626}.weight-reason-panel{border:1px solid #e5e7eb;border-radius:8px;padding:12px;background:#f8fafc}.weight-reason-panel label{display:grid;gap:8px;color:#1f2937;font-weight:800}.weight-reason-panel textarea{width:100%;resize:vertical;border:1px solid #d1d5db;border-radius:8px;padding:10px 12px;font:inherit;color:#111827;background:#fff}.weight-reason-panel small{display:block;margin-top:8px;color:#64748b;font-weight:700}.weight-reason-panel small.invalid{color:#b91c1c}.weight-table-section{min-height:0;border:1px solid var(--role-line);border-radius:12px;background:#fff;overflow:hidden}.weight-scroll-section{overflow-y:visible;overscroll-behavior:contain;scrollbar-gutter:stable}.weight-table-toolbar{min-height:58px;padding:12px 14px;border-bottom:1px solid var(--role-line);background:#f8fbff;display:flex;justify-content:space-between;align-items:center;gap:14px}.weight-table-toolbar>div{min-width:0;display:grid;gap:4px}.weight-table-toolbar strong{color:var(--role-text);font-size:16px;font-weight:900}.weight-table-toolbar span{color:var(--role-muted);font-size:13px;font-weight:800}.weight-table-toolbar span.invalid,.weight-table-actions span.invalid{color:#dc2626}.weight-table-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px}.weight-table{width:100%;border-collapse:collapse;table-layout:fixed}.weight-table th,.weight-table td{min-height:44px;border-bottom:1px solid var(--role-line);padding:9px 12px;color:var(--role-text);font-size:13px;font-weight:800;text-align:left;vertical-align:middle}.weight-table thead th{background:#fff;color:var(--role-muted);font-weight:900}.weight-table tbody tr{cursor:pointer}.weight-table tbody tr.active{background:#eef4ff}.weight-table tbody tr:last-child th,.weight-table tbody tr:last-child td{border-bottom:0}.weight-dimension-table th:first-child{width:30%}.weight-table td:nth-child(2),.weight-table td:nth-child(3),.weight-table td:nth-child(5){color:var(--role-primary)}.weight-input-cell{display:inline-flex;gap:5px;align-items:center;color:var(--role-muted);font-size:12px;font-weight:900}.weight-input-cell input{width:74px;min-height:34px;border:1px solid var(--role-line);border-radius:8px;background:#fff;color:var(--role-text);padding:0 8px;text-align:right;font-weight:900}.report-modal-actions>span{color:#15803d;font-size:13px;font-weight:900}.report-modal-actions>span.invalid{color:#dc2626}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow:hidden}button,input,select{font:inherit}.page-shell{height:100vh;display:flex;gap:18px;padding:12px 18px 18px;overflow:hidden}.page-shell>.role-shell{flex:1 1 auto;width:100%;min-width:0;height:100%}.platform-sidebar{width:76px;min-width:76px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:18px 12px;border-radius:28px;background:#ffffffdb;border:1px solid rgba(148,163,184,.18);box-shadow:0 24px 60px #0f172a14}.sidebar-brand,.sidebar-foot{display:flex;justify-content:center}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:16px;background:linear-gradient(135deg,#0f4c93,#2f7bdc);color:#fff;font-weight:800}.sidebar-nav{display:grid;gap:12px}.sidebar-icon{width:42px;height:42px;display:grid;place-items:center;padding:0;border-radius:14px;border:1px solid rgba(148,163,184,.14);background:#f8fafcf2;color:#56708f;font-size:18px}.sidebar-icon svg{width:20px;height:20px}.sidebar-icon:disabled{cursor:not-allowed;opacity:.5}.sidebar-icon.is-active{background:linear-gradient(180deg,#eff6ff,#dbeafe);color:#0f4c93;border-color:#2f7bdc40}.sidebar-user{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#eef2ff;color:#1e3a8a;font-weight:700}.login-shell,.role-main{flex:1;min-width:0;height:100%;overflow:auto}.login-shell{display:grid;place-items:center}.login-panel{width:min(420px,calc(100vw - 140px));display:grid;gap:24px;padding:30px;border-radius:22px;background:#ffffffe6;border:1px solid rgba(148,163,184,.2);box-shadow:0 24px 60px #0f172a1a}.ptfm-login-panel{width:min(860px,calc(100vw - 80px))}.formal-entry-button{position:fixed;right:24px;bottom:22px;min-height:38px;padding:0 14px;border-radius:10px;border:1px solid rgba(148,163,184,.35);background:#fff;color:#0f4c93;font-weight:800}.ptfm-login-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.ptfm-login-grid .login-form{padding:18px;border:1px solid rgba(148,163,184,.25);border-radius:12px;background:#f8fafccc}.ptfm-login-grid h2{margin:0;font-size:18px}.login-subtitle{color:#64748b}.login-form{display:grid;gap:14px}.login-form label{display:grid;gap:7px;color:#334155;font-weight:700}.login-form input{min-height:42px;border:1px solid rgba(148,163,184,.35);border-radius:10px;padding:0 12px;color:#0f172a;background:#fff}.form-error{margin:0;color:#b91c1c;font-weight:700}.form-success{margin:0;color:#047857;font-weight:700}.primary-action{min-height:42px;border:0;border-radius:10px;background:#0f4c93;color:#fff;font-weight:800}.primary-action:disabled{opacity:.55}.secondary-action{min-height:38px;padding:0 14px;border-radius:10px;border:1px solid rgba(148,163,184,.35);background:#fff;color:#0f4c93;font-weight:800}.login-mode-toggle{position:fixed;right:24px;bottom:24px;z-index:10}.secondary-action.danger-lite{border-color:#fecaca;background:#fff7f7;color:#b91c1c}.role-main{display:grid;gap:16px;align-content:start;padding:8px}.role-header{display:flex;justify-content:space-between;align-items:center;padding:0 8px}.role-placeholder{padding:24px;border-radius:22px;background:#ffffffdb;border:1px solid rgba(148,163,184,.18);box-shadow:0 20px 60px #0f172a14}.campus-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);gap:14px;min-height:0}.teacher-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:14px}.teacher-grid.lower{grid-template-columns:minmax(320px,1fr) minmax(320px,1fr)}.campus-grid.lower{grid-template-columns:minmax(260px,.75fr) minmax(320px,1fr) minmax(300px,.85fr)}.role-card{min-width:0;display:grid;gap:12px;align-content:start;padding:18px;border-radius:22px;background:#ffffffdb;border:1px solid rgba(148,163,184,.18);box-shadow:0 20px 60px #0f172a14}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-heading h2{margin:0;font-size:18px}.section-heading select,.task-form-card select,.task-form-card input,.task-form-card textarea{width:100%;border:1px solid rgba(148,163,184,.35);border-radius:10px;background:#fff;color:#0f172a}.section-heading select,.task-form-card select,.task-form-card input{min-height:36px;padding:0 10px}.task-form-card label{display:grid;gap:6px;color:#334155;font-weight:700}.task-form-card textarea{padding:10px;resize:vertical}.muted{margin:0;color:#64748b}.task-row,.teacher-summary{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border:1px solid rgba(148,163,184,.24);border-radius:12px;background:#fff;color:#0f172a;text-align:left}.task-row span,.teacher-summary{min-width:0}.task-row small,.teacher-summary span,.submission-row small,.trend-row small,.detail-block span{display:block;color:#64748b}.task-row em{flex:0 0 auto;font-style:normal;color:#0f4c93;font-weight:800}.task-row.is-selected{border-color:#2f7bdc80;background:#eff6ff}.teacher-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.detail-block,.trend-row,.submission-row,.message-row{display:grid;gap:4px;padding:12px;border-radius:12px;background:#f8fafc;border:1px solid rgba(148,163,184,.2)}.message-row{width:100%;color:#0f172a;text-align:left}.message-row span{color:#475569}.badge{display:inline-grid;place-items:center;min-width:28px;min-height:24px;padding:0 8px;border-radius:999px;background:#dbeafe;color:#0f4c93;font-size:12px;font-weight:800}.toast{position:fixed;right:24px;top:24px;z-index:20;max-width:320px;padding:12px 16px;border-radius:12px;background:#0f4c93;color:#fff;box-shadow:0 16px 40px #0f172a38;font-weight:800}.trend-list,.submissions-card{gap:10px}@media(max-width:1100px){.campus-grid,.campus-grid.lower,.teacher-grid,.teacher-grid.lower{grid-template-columns:1fr}}.platform-main{flex:1;min-width:0;display:grid;gap:var(--module-row-gap);grid-template-rows:auto minmax(0,calc(61vh - 68px)) minmax(280px,33vh);overflow:hidden}.platform-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 8px}.legacy-page-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.dashboard-grid{display:grid;grid-template-columns:var(--module-columns);gap:12px;align-items:stretch;min-height:0;height:calc(61vh - 68px)}.workspace-panel,.metric-window,.issues-window{min-height:0;height:100%;border-radius:30px;background:#ffffffd1;border:1px solid rgba(148,163,184,.16);box-shadow:0 20px 60px #0f172a14;overflow:hidden}.workspace-panel{overflow-y:auto;overflow-x:hidden;scrollbar-width:none}.workspace-panel::-webkit-scrollbar{width:0;height:0}.panel-scroll{width:100%;min-height:100%;height:auto;padding:14px 18px 16px;overflow:visible}.panel-scroll::-webkit-scrollbar{width:0;height:0}.workspace-stack{display:grid;gap:6px;align-content:start;min-height:min-content}.analysis-scroll{width:100%;height:100%;display:grid;grid-template-rows:auto auto minmax(0,1fr);align-content:stretch;padding:12px 16px 14px;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}.analysis-scroll::-webkit-scrollbar{width:0;height:0}.upload-panel{display:grid;gap:8px;min-width:0;height:auto;align-content:start;grid-template-rows:auto auto auto}.timeline-panel{display:grid;gap:12px;min-width:0;align-content:start}.eyebrow{margin:0 0 8px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#b45309}h1,h2,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(28px,4.2vw,38px);letter-spacing:-.03em;color:#0f172a}h2{margin-bottom:0;color:#16324f}h3{margin:0;color:#16324f}.panel-title-wrap{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.panel-subtitle{margin:0;color:#64748b;font-size:13px}.analysis-mode-switch{display:grid;gap:6px;min-width:min(100%,240px)}.analysis-mode-switch span{color:#16324f;font-size:12px;font-weight:600;text-align:right}.analysis-mode-switch select{width:100%;padding:10px 12px;border-radius:14px;border:1px solid rgba(148,163,184,.18);background:#f8fafcf0;color:#0f172a;font:inherit}.upload-box-wrap{position:relative;min-height:0;min-width:0}.admin-flow-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:6px}.admin-flow-strip span{border:1px solid rgba(148,163,184,.18);border-radius:12px;background:#f8fafce6;color:#64748b;padding:9px 10px;font-size:13px;font-weight:700;text-align:center}.admin-flow-strip span.active{border-color:#2f7bdc59;background:#2f7bdc14;color:#0f4c93}.upload-box{display:grid;gap:12px;position:relative;margin:8px 0 6px;padding:12px 14px;border:1px dashed rgba(47,123,220,.28);border-radius:22px;background:linear-gradient(180deg,#f3f8ffeb,#edf5ffd6);min-width:0;overflow:hidden;min-height:112px}.upload-box-has-file{grid-template-columns:88px minmax(0,1fr);gap:10px;align-items:center;min-height:104px;padding-top:40px}.upload-box input{display:none}.analysis-meta-card{display:grid;gap:10px;padding:12px 14px;border-radius:20px;background:#ffffffd1;border:1px solid rgba(148,163,184,.16)}.analysis-meta-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.analysis-meta-head span{color:#64748b;font-size:12px}.analysis-meta-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-meta-field{display:grid;gap:6px}.analysis-meta-field-wide{grid-column:1 / -1}.analysis-meta-field span{color:#16324f;font-size:13px;font-weight:600}.analysis-meta-field input,.analysis-meta-field select{width:100%;padding:10px 12px;border-radius:14px;border:1px solid rgba(148,163,184,.18);background:#f8fafcf0;color:#0f172a;font:inherit}.analysis-meta-field input:disabled,.analysis-meta-field select:disabled{cursor:not-allowed;opacity:.7}.analysis-config-value{min-height:44px;display:flex;align-items:center;padding:10px 12px;border-radius:14px;border:1px solid rgba(148,163,184,.18);background:linear-gradient(135deg,#edf2f7eb,#f8fafcfa);color:#0f172a;font-weight:600;word-break:break-word}.upload-submit-btn{position:absolute;top:12px;right:14px;padding:8px 14px;font-size:13px;line-height:1;box-shadow:0 10px 20px #2f7bdc29;z-index:1}.upload-box-title{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-width:112px;padding:9px 14px;border-radius:999px;background:#ffffffeb;color:#194a7a;border:1px solid rgba(47,123,220,.16);font-weight:600}.upload-file-name{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#334155}.upload-selected-media{display:grid;gap:10px;align-items:center;min-width:0}.upload-video-preview{width:100%;height:64px;display:block;object-fit:cover;border-radius:14px;background:linear-gradient(135deg,#dbeafe,#bfdbfe);box-shadow:inset 0 0 0 1px #2f7bdc1f}.upload-video-preview-fallback{display:grid;place-items:center;color:#0f4c93;font-weight:700;letter-spacing:.06em}.upload-video-meta{display:grid;gap:4px;min-width:0}.upload-video-title{min-width:0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#16324f;font-size:13px;line-height:1.25}.upload-video-caption{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#64748b;font-size:12px}button{border:0;border-radius:999px;padding:12px 20px;color:#fff;background:linear-gradient(135deg,#0f4c93,#2f7bdc);cursor:pointer;box-shadow:0 12px 24px #2f7bdc2e}button:disabled{cursor:not-allowed;opacity:.6}.secondary-btn{color:#0f4c93;background:#edf5fff0;border:1px solid rgba(47,123,220,.16);box-shadow:none}.legacy-return-link{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.primary-btn{color:#fff;background:linear-gradient(135deg,#0f4c93,#2f7bdc)}.danger-btn{color:#b42318;background:#fef2f2f5;border:1px solid rgba(239,68,68,.2);box-shadow:none}.error{margin:12px 0 0;color:#b91c1c}.result{margin-top:8px;padding-top:8px;border-top:1px solid rgba(107,114,128,.16);min-width:0}.compact-result{padding-bottom:4px}.result-priority{min-height:0;display:grid;grid-template-rows:auto auto;align-content:start}.analysis-log-list{display:grid;gap:8px;margin-top:12px}.analysis-log-item{margin:0;padding:10px 12px;border-radius:14px;background:#f1f6ffe6;color:#26486d;font-size:13px}.analysis-preview{margin-top:12px;padding:12px;border-radius:14px;background:#ffffffc7;color:#475569;font-size:14px;line-height:1.55;white-space:pre-wrap}.board-toolbar{display:flex;gap:8px;flex-wrap:wrap}.board-hint{margin:0;color:#64748b;font-size:12px;line-height:1.5}.board-hint-mono{font-family:SFMono-Regular,Consolas,monospace;font-size:11px}.board-roi-stage{position:relative;overflow:hidden;border-radius:18px;border:1px solid rgba(148,163,184,.18);background:linear-gradient(135deg,#edf4fb,#dbeafe);cursor:crosshair;touch-action:none}.board-roi-stage.is-drawing{box-shadow:inset 0 0 0 1px #0f4c9347}.board-roi-image{display:block;width:100%;height:auto;-webkit-user-select:none;user-select:none;pointer-events:none}.board-roi-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.board-roi-polygon{fill:#b423181f}.board-roi-outline{fill:none;stroke:#b42318;stroke-width:.5;vector-effect:non-scaling-stroke}.board-roi-handle{fill:#fff;stroke:#0f4c93;stroke-width:.7;vector-effect:non-scaling-stroke}.board-roi-handle.is-dragging{fill:#dbeafe}.board-roi-box,.board-roi-mask{position:absolute;border:2px solid #b42318;background:#b4231824;box-shadow:0 0 0 9999px #0f172a33}.board-round-list{display:grid;gap:14px;margin-top:14px}.board-round-card{padding:16px;border-radius:18px;background:#f8fafcf5;border:1px solid rgba(148,163,184,.14)}.board-round-image{display:block;width:100%;max-width:520px;margin-bottom:12px;border-radius:12px;border:1px solid rgba(148,163,184,.16)}.quick-entry-grid{display:grid;gap:10px;margin-top:6px;min-width:0;align-content:start}.quick-entry-row{display:grid;gap:4px;min-width:0}.quick-entry-row-two{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-entry-row-three{grid-template-columns:repeat(3,minmax(0,1fr))}.quick-entry-card{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:center;column-gap:6px;height:34px;min-height:34px;padding:0 12px;border-radius:12px;background:linear-gradient(180deg,#f3f8fff5,#e8f2ffe6);color:#16324f;box-shadow:none;min-width:0;text-align:left;line-height:1}.quick-entry-row-three .quick-entry-card{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center}.quick-entry-card-ghost{opacity:.42}.quick-entry-icon{font-size:13px}.quick-entry-card span:last-child{min-width:0;font-size:12px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-entry-card-label{min-width:0;width:100%;font-size:12px;line-height:1.1;white-space:nowrap;text-align:center}button.quick-entry-card{padding:0 12px;height:60px;min-height:10px}@media(max-width:640px){.upload-panel{height:auto;grid-template-rows:auto auto auto}.analysis-meta-grid{grid-template-columns:1fr}.upload-box-has-file{grid-template-columns:1fr;padding-top:52px}.upload-selected-media{gap:8px}.upload-video-preview{width:100%;height:128px}.quick-entry-row-two,.quick-entry-row-three{grid-template-columns:1fr}}.thinking-modal{width:min(920px,calc(100vw - 48px));height:min(78vh,820px);display:grid;grid-template-rows:auto minmax(0,1fr);gap:16px;padding:24px;border-radius:28px;background:#fffffffa;border:1px solid rgba(148,163,184,.16);box-shadow:0 28px 80px #0f172a2e}.thinking-modal-body{min-height:0;overflow:auto;padding:18px;border-radius:18px;background:#f4f8fcfa;border:1px solid rgba(148,163,184,.16)}.thinking-content{margin:0;color:#57534e;line-height:1.7;white-space:pre-wrap}.score-hero-card,.radar-card,.issue-preview-card{border-radius:24px;background:linear-gradient(180deg,#fffffff5,#f1f6fff0);border:1px solid rgba(148,163,184,.16)}.score-hero-card{margin-top:6px;padding:8px 12px;min-height:0}.score-hero-inline{display:flex;align-items:center;justify-content:flex-start;gap:10px}.hero-label{margin:0;color:#64748b;font-size:12px;white-space:nowrap;flex:0 0 auto}.score-hero-mainline{display:flex;align-items:center;justify-content:flex-start;gap:4px}.score-hero-mainline strong{font-size:34px;line-height:1;color:#0f4c93;white-space:nowrap}.academic-chip{display:inline-flex;align-items:center;margin-left:auto;padding:6px 10px;border-radius:999px;background:#2f7bdc14;color:#475569;font-size:13px;white-space:nowrap}.decision-chip{display:inline-flex;align-items:center;width:fit-content;padding:5px 9px;border-radius:999px;background:#3b82f614;color:#1d4ed8;font-size:13px}.decision-chip.pass{background:#22c55e1f;color:#15803d}.decision-chip.fail{background:#ef44441f;color:#b91c1c}.radar-card{margin-top:8px;padding:10px 12px 6px;min-height:0;height:100%;display:grid;grid-template-rows:auto minmax(0,1fr)}.radar-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.radar-head p{margin:0;color:#64748b;font-size:12px}.radar-wrap{margin-top:2px;display:flex;align-items:center;justify-content:center;min-height:0}.radar-svg{width:min(100%,390px);height:auto;max-height:min(100%,340px)}.radar-ring,.radar-axis{fill:none;stroke:#94a3b85c;stroke-width:1}.radar-area{fill:#3b82f63d;stroke:#2f7bdc;stroke-width:2}.radar-point{fill:#60a5fa;stroke:#fff;stroke-width:2;transition:r .18s ease,fill .18s ease}.radar-point.active{fill:#0f4c93;r:6}.radar-label{font-size:12px;fill:#16324f;text-anchor:middle;cursor:pointer;transition:fill .18s ease,font-weight .18s ease}.radar-label.active{fill:#0f4c93;font-weight:700}.radar-score{font-size:11px;fill:#64748b;text-anchor:middle;cursor:pointer}.radar-score.active{fill:#0f4c93;font-weight:700}.active-dimension-meta{display:flex;flex-wrap:wrap;gap:8px}.active-dimension-meta span{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#2f7bdc1a;color:#0f4c93;font-size:13px}.metric-modal-summary{margin:6px 0 0;color:#64748b;font-size:14px}.metric-modal-meta{margin-bottom:14px}.analysis-issues{overflow:auto;padding-right:4px}.metric-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:14px}.metric-card,.event-card{padding:14px;border-radius:16px;background:#ffffffb8;border:1px solid rgba(120,113,108,.14)}.metric-card p,.event-card p,.event-card small{margin-bottom:0}.metric-card p{margin-top:8px;color:#7c2d12}.event-list{display:grid;gap:10px}.issue-inline-list{margin-top:2px}.event-card p{margin-top:8px;color:#7c2d12}.event-card small{display:block;margin-top:6px;color:#78716c}.issue-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.issue-card-tag{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:600;white-space:nowrap}.issue-card-tag.source-diagnostic{background:#2563eb1a;color:#1d4ed8}.issue-card-tag.source-llm{background:#ea580c1f;color:#c2410c}.issue-card-tag.severity-high{box-shadow:inset 0 0 0 1px #b91c1c3d}.issue-card-tag.severity-medium{box-shadow:inset 0 0 0 1px #d9770633}.issue-card-tag.severity-low{box-shadow:inset 0 0 0 1px #2563eb2e}.analysis-empty{color:#64748b}.issue-filter-panel{display:grid;gap:10px;margin-top:16px}.issue-filter-field{display:grid;gap:8px}.issue-filter-field span{color:#16324f;font-size:14px;font-weight:600}.issue-filter-field select{width:100%;padding:12px 14px;border-radius:14px;border:1px solid rgba(148,163,184,.18);background:#fffffff0;color:#0f172a;font:inherit}.issue-filter-hint{margin:0;color:#78716c;font-size:13px}.issue-event-time{color:#0f4c93;font-weight:600}.metric-modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#1f293733;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:30}.metric-modal{width:min(520px,calc(100vw - 32px));max-height:min(70vh,760px);padding:20px;overflow:auto;border-radius:24px;background:#fffffffa;border:1px solid rgba(148,163,184,.16);box-shadow:0 24px 80px #0f172a29}.extraction-modal{width:min(920px,calc(100vw - 40px));max-height:min(82vh,980px);display:grid;grid-template-rows:auto minmax(0,1fr);gap:16px;padding:20px;overflow:hidden;border-radius:24px;background:#fffffffa;border:1px solid rgba(148,163,184,.16);box-shadow:0 24px 80px #0f172a29}.issue-modal{width:min(680px,calc(100vw - 40px))}.sentence-detail-modal{width:min(720px,calc(100vw - 40px))}.modal-section{display:grid;gap:10px;margin-bottom:18px}.modal-section p{margin-bottom:0}.second-head{margin-top:8px}.modal-sentence-list{max-height:none}.metric-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.metric-modal-head h3{margin:0;color:#16324f}.metric-modal-list{display:grid;gap:10px}.metric-close-btn{flex:0 0 auto;white-space:nowrap}.section-head,.sentence-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.sentence-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.sentence-list{display:grid;gap:14px;max-height:min(62vh,720px);overflow-y:auto;padding-right:6px;align-content:start}.sentence-card{padding:16px;border-radius:18px;background:#f3f8ffe6;border:1px solid rgba(148,163,184,.16)}.sentence-card-flagged{border-color:#2f7bdc42;box-shadow:inset 0 0 0 1px #2f7bdc14}.sentence-line,.sentence-meta{margin-bottom:0}.sentence-main{min-width:0;flex:1}.sentence-line{font-family:SFMono-Regular,Menlo,monospace;font-size:14px;color:#0f4c93}.modal-sentence-line{margin-bottom:12px}.sentence-meta{margin-top:8px;color:#64748b;display:flex;flex-wrap:wrap;gap:10px;font-size:13px}.sentence-badge-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.sentence-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:#dbeafee6;color:#1d4ed8;font-size:12px;font-weight:600}.sentence-event-panel{margin-top:18px;display:grid;gap:10px}.sentence-event-panel h4{margin:0;color:#16324f}.sentence-event-list{display:grid;gap:10px}.sentence-event-card{padding:12px 14px;border-radius:16px;background:#f3f8ffd1;border:1px solid rgba(148,163,184,.16)}.sentence-event-head{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#0f4c93}.sentence-event-card p,.sentence-event-card small{margin-bottom:0}.sentence-event-card p{margin-top:6px;color:#7c2d12}.sentence-event-card small{display:block;margin-top:6px;color:#64748b}.word-panel{margin-top:14px;display:flex;flex-wrap:wrap;gap:10px}.detail-word-panel{margin-top:18px}.word-chip{display:grid;gap:4px;min-width:110px;padding:10px 12px;border-radius:14px;background:#fffffff5;border:1px solid rgba(148,163,184,.16)}.word-chip-highlight{background:#fef08a59;border-color:#d9770642}.word-chip strong{color:#16324f}.word-chip span{font-size:12px;color:#64748b}.sentence-toggle-btn{flex:0 0 auto;align-self:flex-start;white-space:nowrap;min-width:96px;text-align:center}.secondary-btn:disabled{cursor:not-allowed;opacity:.56}.subject-choice-row{display:flex;gap:10px;flex-wrap:wrap}.subject-choice-btn{min-width:88px;padding:10px 14px;border:1px solid rgba(148,163,184,.22);border-radius:999px;background:#f8fafcf2;color:#334155;font:inherit;cursor:pointer;transition:all .18s ease}.subject-choice-btn:disabled{cursor:not-allowed;opacity:.55}.subject-choice-btn.is-active{background:#16324f;border-color:#16324f;color:#fff}.history-page-card{min-height:0;padding:18px;border-radius:30px;background:#ffffffd6;border:1px solid rgba(148,163,184,.16);box-shadow:0 20px 60px #0f172a14;overflow:hidden}.history-page-list{display:grid;gap:14px;min-height:0;height:100%;overflow-y:auto;padding-right:4px;scrollbar-width:none}.history-page-list::-webkit-scrollbar{width:0;height:0}.history-page-item{display:grid;gap:12px;padding:18px;border-radius:24px;border:1px solid rgba(148,163,184,.18);background:#f8fafce0}.history-page-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.history-page-item-head h3{margin:0 0 6px;color:#16324f}.history-page-item-body{display:grid;gap:6px}.history-page-score{flex:0 0 auto;padding:6px 10px;border-radius:999px;background:#2f7bdc1a;color:#0f4c93;font-size:13px;font-weight:600}.history-page-actions{display:flex;gap:10px;flex-wrap:wrap}.history-item-meta,.history-item-time,.history-empty,.history-error{margin:0;font-size:12px;color:#64748b}.history-error{color:#b91c1c}.history-workspace-panel{min-height:0;height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;border-radius:0;background:#fff;overflow:hidden;box-shadow:none}.history-toolbar{min-height:74px;padding:14px 16px;display:grid;grid-template-columns:minmax(240px,1fr) auto auto;gap:12px;align-items:end;border-bottom:1px solid var(--role-line)}.history-search-box{display:grid;gap:6px;color:var(--role-muted);font-size:12px;font-weight:900}.history-search-box input{width:100%;min-height:38px;border:1px solid var(--role-line);border-radius:12px;background:#f8fbff;color:var(--role-text);padding:0 12px;font:inherit;font-weight:750}.history-filter-group{display:flex;align-items:center;gap:6px;padding:4px;border:1px solid var(--role-line);border-radius:14px;background:#f8fbff}.history-filter-group button,.history-star-filter,.history-pagination button{border:0;border-radius:10px;background:transparent;color:var(--role-muted);font:inherit;font-size:13px;font-weight:900;min-height:30px;padding:0 11px}.history-filter-group button.active,.history-star-filter.active,.history-pagination button.active{background:#0f559f;color:#fff}.history-star-filter{border:1px solid var(--role-line);background:#fff;color:#0f559f;min-height:40px}.history-table-head{display:grid;grid-template-columns:minmax(240px,1fr) 96px 84px 74px 52px 52px;gap:12px;padding:10px 16px;border-bottom:1px solid var(--role-line);background:#fbfdff;color:var(--role-muted);font-size:12px;font-weight:950}.history-workspace-panel .history-page-list{display:grid;align-content:start;gap:0;min-height:0;height:auto;padding:0}.history-record-row{min-height:63px;display:grid;grid-template-columns:minmax(240px,1fr) 96px 84px 74px 52px 52px;gap:12px;align-items:center;border:0;border-bottom:1px solid var(--role-line);border-radius:0;background:#fff;padding:8px 16px 8px 20px;position:relative}.history-record-row.highlighted,.pending-task-row.highlighted{outline:3px solid #2563eb;outline-offset:-3px;background:#eef6ff;animation:teacher-row-highlight 1.1s ease-in-out 2}@keyframes teacher-row-highlight{0%,to{background:#eef6ff}50%{background:#dbeafe}}.history-record-row:before{left:0;top:12px;bottom:12px;border-radius:999px}.history-record-main{min-width:0;border:0;background:transparent;color:var(--role-text);padding:0;display:grid;gap:4px;text-align:left;font:inherit;box-shadow:none}.history-record-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:950}.history-revision-badge{margin-left:8px;border:1px solid #bfdbfe;border-radius:999px;background:#eff6ff;color:#1d4ed8;padding:2px 7px;font-size:11px;font-style:normal;font-weight:950;vertical-align:1px}.history-record-subtitle,.history-record-time{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--role-muted);font-size:12px;font-weight:750}.history-source-pill{justify-self:start;border-radius:999px;background:#eef5ff;color:#0f559f;padding:5px 9px;font-size:12px;font-weight:950}.history-score{justify-self:end;font-size:24px;line-height:1;font-weight:950;color:#64748b}.history-score.good{color:#16a34a}.history-score.bad{color:#dc2626}.history-score.empty{color:#94a3b8}.history-row-actions{display:flex;justify-content:flex-end;gap:8px}.history-icon-btn,.history-delete-btn,.history-view-btn{min-height:32px;border:1px solid var(--role-line);border-radius:10px;background:#fff;color:var(--role-text);font:inherit;font-size:13px;font-weight:900;padding:0 10px}.history-view-btn{color:#0f559f}.history-icon-btn{min-width:38px;color:#b7791f}.history-delete-btn{color:#b91c1c}.history-pagination{min-height:52px;padding:10px 16px;display:flex;align-items:center;justify-content:center;gap:8px;border-top:1px solid var(--role-line);background:#fbfdff}.history-pagination button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--role-line);background:#fff}.history-pagination button:disabled{opacity:.45;cursor:not-allowed}.teacher-supervisor-dashboard{display:grid;grid-template-columns:1fr;gap:14px;align-items:start}.teacher-supervisor-dashboard>.form-error,.teacher-supervisor-dashboard>.form-success,.teacher-supervisor-dashboard>.history-empty{grid-column:1 / -1}.teacher-supervisor-wide-panel{width:100%}.research-task-actions{margin-top:12px;display:flex;justify-content:flex-start}.research-delegate-form{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:10px;align-items:center}.research-delegate-form select{min-width:0;min-height:36px;border:1px solid var(--role-line);border-radius:8px;background:var(--role-soft);color:var(--role-text);padding:0 10px;font:inherit}.teacher-supervisor-row-actions{display:flex;align-items:center;gap:8px;justify-content:flex-end}.teacher-supervisor-inline-select{width:132px;min-height:34px;border:1px solid var(--role-line);border-radius:8px;background:var(--role-soft);color:var(--role-text);padding:0 8px;font:inherit}.teacher-full-height-panel{min-height:0;height:calc(100vh - 126px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;border-radius:0;background:#fff;overflow:hidden;box-shadow:none}.pending-task-list-panel{min-height:0;height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;border-radius:0;background:#fff;overflow:hidden;box-shadow:none}.teacher-supervisor-panel{min-height:0;display:grid;grid-template-rows:auto auto auto;align-content:start;border-radius:0;background:#fff;overflow:hidden;box-shadow:none}.teacher-dashboard:has(.pending-task-list-panel),.teacher-dashboard:has(.history-workspace-panel){min-height:0;height:100%;grid-template-rows:minmax(0,1fr);align-items:stretch;padding-bottom:0;overflow:hidden}.teacher-dashboard:has(.teacher-supervisor-panel){grid-template-rows:auto;align-items:start;padding-bottom:0}.teacher-dashboard.teacher-free-practice-e2{grid-template-rows:minmax(0,1fr);align-items:stretch;padding-bottom:0}.teacher-full-height-panel .admin-data-table{min-height:0;align-content:start;overflow:hidden}.teacher-workspace-table .admin-data-row{min-height:64px!important}.teacher-workspace-table .admin-data-row.head{min-height:40px!important}.teacher-supervisor-table{height:680px;align-content:start}.teacher-supervisor-table .admin-data-row{min-height:64px!important;height:64px!important}.teacher-supervisor-table .admin-data-row.head{min-height:40px!important;height:40px!important}.teacher-workspace-table .admin-table-state{min-height:64px!important}.teacher-workspace-table .pending-task-row,.teacher-workspace-table .history-record-row{grid-template-columns:var(--admin-columns)}.teacher-workspace-table .pending-task-row{min-height:64px!important;height:64px!important}.teacher-workspace-table .history-view-btn,.teacher-workspace-table .history-icon-btn,.teacher-workspace-table .history-delete-btn{justify-self:start;min-height:30px;border-radius:0}.teacher-workspace-table .history-score{justify-self:start;font-size:22px}.teacher-workspace-table .history-source-pill{border-radius:0}.teacher-free-practice-panel{min-height:0;height:100%;padding:0!important;border-radius:0;background:#fff;box-shadow:none;overflow:hidden}.teacher-free-practice-panel .free-practice-workspace{min-height:0;height:100%;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:0;align-items:stretch}.teacher-free-practice-panel .free-practice-main-panel,.teacher-free-practice-panel .free-practice-settings-drawer{border:0;border-radius:0;box-shadow:none;background:transparent}.teacher-free-practice-panel .free-practice-main-panel{border-right:1px solid var(--role-line);display:grid;grid-template-rows:auto minmax(0,1fr)}.teacher-free-practice-panel .free-practice-panel-head{min-height:50px;padding:9px 16px;background:var(--role-soft)}.teacher-free-practice-panel .free-practice-panel-body,.teacher-free-practice-panel .free-practice-settings-drawer{padding:14px}.teacher-free-practice-panel .free-practice-panel-body{min-height:0;display:grid;grid-template-rows:178px auto auto minmax(112px,1fr);gap:12px;align-content:stretch}.teacher-free-practice-panel .free-practice-upload-surface{width:min(820px,100%);height:178px;min-height:0}.teacher-free-practice-panel .free-practice-summary-grid,.teacher-free-practice-panel .free-practice-actions{margin-top:0}.teacher-free-practice-panel .free-practice-summary-grid section{min-height:88px}.teacher-free-practice-panel .free-practice-actions{align-self:end}.teacher-free-practice-panel .free-practice-progress-panel{align-self:stretch;min-height:0}.teacher-free-practice-panel .free-practice-upload-surface,.teacher-free-practice-panel .free-practice-summary-grid section,.teacher-free-practice-panel .free-practice-settings-stack label,.teacher-free-practice-panel .free-practice-board-toggle,.teacher-free-practice-panel .free-practice-progress-panel,.teacher-free-practice-panel .free-practice-progress-detail-body section{border-radius:0}.teacher-supervisor-created-head,.teacher-supervisor-created-row{grid-template-columns:minmax(0,1fr) minmax(110px,.35fr) minmax(80px,auto) minmax(72px,auto)!important}.pending-task-toolbar{min-height:74px;padding:14px 16px;display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:12px;align-items:end;border-bottom:1px solid var(--role-line)}.pending-task-count{align-self:center;color:var(--role-muted);font-size:13px;font-weight:900}.pending-task-table-head,.pending-task-row{display:grid;grid-template-columns:minmax(240px,1fr) 96px 96px 116px;gap:12px;align-items:center}.pending-task-table-head{padding:10px 16px;border-bottom:1px solid var(--role-line);background:#fbfdff;color:var(--role-muted);font-size:12px;font-weight:950}.pending-task-list{display:grid;align-content:start;min-height:0;overflow:hidden}.pending-task-row{min-height:72px;border-bottom:1px solid var(--role-line);border-radius:0;background:#fff;padding:9px 16px 9px 20px}.pending-task-reviewer{min-width:0;display:grid;gap:3px;align-content:center}.pending-task-reviewer strong,.pending-task-reviewer small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pending-task-reviewer strong{color:var(--role-text);font-weight:950}.pending-task-reviewer small{color:var(--role-muted);font-size:12px;font-weight:850}.pending-task-actions{justify-self:start}.pending-task-main{min-width:0;border:0;background:transparent;color:var(--role-text);padding:0;display:grid;gap:4px;text-align:left;font:inherit;box-shadow:none}.pending-task-main strong,.pending-task-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pending-task-main strong{font-size:15px;font-weight:950}.pending-task-main span,.pending-task-status{color:var(--role-muted);font-size:12px;font-weight:800}.history-delete-btn.neutral{color:#0f559f}.pending-task-pagination{min-height:52px;padding:10px 16px;display:flex;align-items:center;justify-content:center;gap:8px;border-top:1px solid var(--role-line);background:#fbfdff}.pending-task-pagination button{display:inline-flex;align-items:center;justify-content:center;min-height:30px;border:1px solid var(--role-line);border-radius:10px;background:#fff;color:var(--role-muted);font:inherit;font-size:13px;font-weight:900;padding:0 11px}.pending-task-pagination button.active{background:#0f559f;color:#fff}.pending-task-pagination button:disabled{opacity:.45;cursor:not-allowed}.campus-teacher-table,.campus-task-table,.campus-report-table,.campus-detail-table{display:grid;align-content:start;border:1px solid var(--role-line);border-radius:18px;background:#fff;overflow:hidden}.campus-teacher-head,.campus-teacher-row,.campus-task-head,.campus-task-row,.campus-report-head,.campus-report-row,.campus-detail-head,.campus-detail-row{display:grid;gap:12px;align-items:center}.campus-teacher-head,.campus-task-head,.campus-report-head,.campus-detail-head{min-height:42px;padding:10px 16px;border-bottom:1px solid var(--role-line);background:#fbfdff;color:var(--role-muted);font-size:12px;font-weight:950}.campus-teacher-row,.campus-task-row,.campus-report-row,.campus-detail-row{min-height:68px;border:0;border-bottom:1px solid var(--role-line);border-radius:0;background:#fff;padding:9px 16px 9px 20px;position:relative}.campus-teacher-row:last-child,.campus-task-row:last-child,.campus-report-row:last-child,.campus-detail-row:last-child{border-bottom:0}.campus-teacher-head,.campus-teacher-row{grid-template-columns:minmax(220px,1.25fr) 96px 92px 72px 260px}.campus-task-head,.campus-task-row{grid-template-columns:minmax(150px,.75fr) minmax(260px,1.25fr) 96px 150px 92px 74px}.campus-task-head.grouped,.campus-task-row.grouped{grid-template-columns:minmax(260px,1.1fr) minmax(220px,.8fr) minmax(420px,1.2fr)}.campus-task-head.groups,.campus-task-row.groups{grid-template-columns:minmax(260px,1.15fr) minmax(220px,.8fr) 110px 100px 150px 74px}.campus-report-head,.campus-report-row{grid-template-columns:minmax(240px,1.2fr) minmax(120px,.7fr) 90px 80px 150px 74px}.campus-detail-head.tasks,.campus-detail-row.tasks{grid-template-columns:minmax(180px,1fr) minmax(160px,.9fr) 90px}.campus-detail-head.submissions,.campus-detail-row.submissions{grid-template-columns:minmax(200px,1fr) 80px 150px 74px}.campus-task-detail-summary{display:grid;gap:16px}.task-detail-description{margin:0;color:var(--role-muted);font-size:14px;line-height:1.7}.campus-task-detail-table{display:grid;align-content:start;border:1px solid var(--role-line);border-radius:18px;background:#fff;overflow:hidden}.campus-task-detail-head,.campus-task-detail-row{display:grid;grid-template-columns:minmax(180px,1.05fr) 92px 90px 90px 150px 130px;gap:12px;align-items:center}.campus-task-detail-head{min-height:42px;padding:10px 16px;border-bottom:1px solid var(--role-line);background:#fbfdff;color:var(--role-muted);font-size:12px;font-weight:950}.campus-task-detail-row{min-height:68px;border-bottom:1px solid var(--role-line);background:#fff;padding:9px 16px 9px 20px}.campus-task-detail-row:last-child{border-bottom:0}.campus-report-video{width:100%;max-height:520px;border:1px solid var(--role-line);border-radius:16px;background:#0f172a;object-fit:contain}.campus-task-chip-line{display:flex;gap:8px;flex-wrap:wrap}.campus-status-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--role-line);border-radius:999px;background:#f8fbff;color:var(--role-muted);padding:4px 6px 4px 10px;font-size:12px;font-weight:850}.campus-status-chip button{min-height:24px;border:0;border-radius:999px;background:#eef5ff;color:#0f559f;font:inherit;font-size:12px;font-weight:950;padding:0 8px}.campus-action-btn{min-height:32px;border:1px solid transparent;border-radius:10px;font:inherit;font-size:13px;font-weight:900;padding:0 10px}.campus-action-btn.tiny{min-height:24px;border-radius:999px;font-size:12px;padding:0 8px}.campus-action-btn.view{border-color:#bfdbfe;background:#eff6ff;color:#0f559f}.campus-action-btn.edit{border-color:#cbd5e1;background:#f8fafc;color:#334155}.campus-action-btn.reset{border-color:#fed7aa;background:#fff7ed;color:#c2410c}.campus-action-btn.disable{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.campus-action-btn.enable{border-color:#bbf7d0;background:#f0fdf4;color:#15803d}.campus-action-btn.delete{border-color:#fecaca;background:#fff7f7;color:#b91c1c}.account-disabled-badge{margin-left:8px;border-color:#b91c1c47;border-radius:0;background:#fee2e275;color:#b91c1c;padding:0 7px;font-size:12px;font-style:normal;font-weight:600;vertical-align:1px}.account-status-pill{justify-self:start;min-height:22px;border:1px solid rgba(22,101,52,.28);border-radius:0;background:#dcfce77a;color:#15803d;padding:0 7px;font-size:12px;font-style:normal;font-weight:600;line-height:20px}.account-status-pill.disabled{border-color:#b91c1c47;background:#fee2e275;color:#b91c1c}.campus-teacher-edit-form{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-modal-backdrop.campus-teacher-modal-backdrop{display:block!important;padding:0!important;background:transparent!important}.campus-teacher-modal-backdrop .campus-teacher-edit-modal{position:fixed;left:50%;top:50%;width:min(860px,calc(100vw - 96px));max-height:min(720px,calc(100vh - 96px));transform:translate(-50%,-50%);border-radius:0;padding:0}.campus-teacher-modal-backdrop .campus-teacher-edit-form{padding:18px}.campus-teacher-modal-backdrop .campus-teacher-checkbox-field{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-content:flex-start;align-items:center;gap:8px;margin:0;padding:12px 14px 14px;border:1px solid var(--role-line);border-radius:0;background:transparent}.campus-teacher-edit-form .admin-modal-actions{grid-column:1 / -1}.org-table-head,.org-table-row{grid-template-columns:1.4fr .8fr .8fr}.research-org-row{grid-template-columns:1.2fr .85fr .65fr 1.15fr}.research-manager-row{grid-template-columns:1.25fr .6fr 1.15fr}.campus-org-teacher-row,.research-specialist-row{grid-template-columns:1.4fr .8fr .65fr .8fr}.pairing-detail-row{grid-template-columns:1.2fr .7fr 1fr 1fr}.compact-actions{justify-content:flex-start;gap:8px}.teacher-pool-filters{grid-template-columns:minmax(220px,1fr) repeat(4,minmax(120px,180px))}.teacher-pool-row{grid-template-columns:1.2fr .9fr 1fr 1fr .8fr .7fr}.admin-teacher-pool-row{grid-template-columns:1.2fr 1.1fr 1fr 1fr .8fr}.org-assign-modal{max-width:900px}.org-assign-form{grid-template-columns:minmax(280px,1.1fr) minmax(280px,.9fr);align-items:start}.org-assign-form .supervisor-select-field{grid-column:1}.org-assign-form>.toolbar-row{grid-column:2;align-self:end}.org-assign-form .org-checkbox-list,.org-assign-form>.history-pagination{grid-column:1}.org-assign-form .org-scope-grid{grid-column:2;grid-row:2 / span 2;grid-template-columns:1fr;align-self:stretch}.org-checkbox-list{display:grid;gap:8px;max-height:330px;overflow:auto;padding:4px}.org-checkbox-row{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(148,163,184,.24);border-radius:8px;background:#f8fafcc7;color:#1f2937}.org-checkbox-row>span{min-width:0;display:grid;gap:2px}.org-checkbox-row strong{color:#1f2937;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.org-checkbox-row small{display:block;color:#64748b;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.org-checkbox-row em{justify-self:end;color:#64748b;font-size:12px;font-style:normal;font-weight:850}.org-scope-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.org-scope-grid fieldset{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:8px;margin:0;padding:12px;border:1px solid rgba(148,163,184,.24);border-radius:8px}.org-scope-note{display:grid;gap:4px;color:#60708a;font-size:13px}.org-scope-note strong{color:#1f2937;font-size:14px}.org-scope-grid legend{padding:0 4px;color:#475569;font-size:12px;font-weight:950}.org-scope-grid label{display:inline-flex;align-items:center;gap:6px;color:#334155;font-size:13px;font-weight:850;white-space:nowrap}@media(max-width:860px){.org-assign-form{grid-template-columns:1fr}.org-assign-form .supervisor-select-field,.org-assign-form>.toolbar-row,.org-assign-form .org-checkbox-list,.org-assign-form>.history-pagination,.org-assign-form .org-scope-grid{grid-column:1;grid-row:auto}}.report-card{padding:16px 18px;border-radius:24px;background:#ffffffd6;border:1px solid rgba(148,163,184,.16);box-shadow:0 20px 60px #0f172a0f;overflow:auto;height:100%;scrollbar-width:none}.report-card::-webkit-scrollbar{width:0;height:0}.report-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.report-head h2{margin:0}.report-tag{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#2f7bdc1a;color:#0f4c93;font-size:12px}.report-empty{color:#64748b;font-size:14px;line-height:1.6}@media(max-width:1180px){body{overflow:auto}.platform-main{grid-template-rows:auto auto auto}.page-shell{height:auto;min-height:100vh;flex-direction:column;overflow:visible}.dashboard-grid{grid-template-columns:1fr;height:auto}.workspace-panel,.metric-window,.issues-window{min-height:0;height:auto}}@media(max-width:760px){body{overflow:auto}.page-shell{flex-direction:column;padding:12px;height:auto;overflow:visible}.platform-sidebar{width:100%;min-width:0;flex-direction:row;padding:12px}.sidebar-nav{display:flex}.platform-main{gap:14px}.quick-entry-grid{grid-template-columns:1fr}.quick-entry-card-wide{grid-column:auto}.platform-header{flex-direction:column;align-items:flex-start}.panel-scroll,.analysis-scroll{padding:18px}.section-head,.sentence-row{flex-direction:column}.metric-grid{grid-template-columns:1fr}}:root{--gov-blue: #0b4f8a;--gov-blue-dark: #083a66;--gov-blue-soft: #e8f1f9;--gov-red: #b42318;--gov-red-soft: #fff1f0;--gov-green: #2f5f4a;--gov-green-soft: #edf5f0;--gov-ink: #1f2937;--gov-bg: #eef3f8;--gov-bg-strong: #dfe8f1;--gov-surface: #ffffff;--gov-surface-muted: #f5f7fa;--gov-surface-blue: #f2f7fc;--gov-line: #c9d3df;--gov-line-strong: #8fa2b6;--gov-text: #1f2937;--gov-muted: #5f6b7a;--gov-faint: #eef2f6;--gov-warning: #9a5b00;--gov-warning-soft: #fff7e6;--gov-radius: 0;--gov-radius-soft: 2px;--gov-shadow: none;--gov-font: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", "Hiragino Sans GB", Arial, sans-serif;--gov-font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--gov-page-gutter: 16px;--gov-panel-pad: 16px;--gov-control-height: 36px;--gov-control-height-touch: 44px;--gov-sidebar-width: 248px;--gov-topbar-height: 58px;--gov-transition: .15s ease-out;--role-primary: var(--gov-blue);--role-primary-dark: var(--gov-blue-dark);--role-accent: var(--gov-red);--role-bg: var(--gov-bg);--role-surface: var(--gov-surface);--role-soft: var(--gov-surface-muted);--role-line: var(--gov-line);--role-line-strong: var(--gov-line-strong);--role-text: var(--gov-text);--role-muted: var(--gov-muted)}:root[data-theme=teams],:root[data-theme=standard-blue]{--role-primary: #0b4f8a;--role-primary-dark: #083a66;--role-accent: #b42318;--role-bg: #eef3f8;--role-surface: #ffffff;--role-soft: #f5f7fa;--role-line: #c9d3df;--role-line-strong: #8fa2b6;--role-text: #1f2937;--role-muted: #5f6b7a}:root[data-theme=academic],:root[data-theme=education-navy]{--role-primary: #123f73;--role-primary-dark: #082d55;--role-accent: #9f1d20;--role-bg: #edf2f7;--role-surface: #ffffff;--role-soft: #f3f6fa;--role-line: #c4cfdd;--role-line-strong: #879bb2;--role-text: #1b2738;--role-muted: #596879}:root[data-theme=focus],:root[data-theme=archive-green]{--role-primary: #2f5f4a;--role-primary-dark: #1f4535;--role-accent: #8a3a12;--role-bg: #eef4f0;--role-surface: #ffffff;--role-soft: #f4f8f5;--role-line: #c8d6cd;--role-line-strong: #8da493;--role-text: #1d3028;--role-muted: #5d6f66}:root[data-theme=document-red]{--role-primary: #0f4c81;--role-primary-dark: #08365f;--role-accent: #b42318;--role-bg: #f1f4f7;--role-surface: #ffffff;--role-soft: #f8f4f2;--role-line: #d2c7c3;--role-line-strong: #a99189;--role-text: #2b2f36;--role-muted: #6b6461}:root[data-theme=teacher-soft]{--role-primary: #2f6f9f;--role-primary-dark: #164f77;--role-accent: #4d7c59;--role-bg: #f0f5f8;--role-surface: #ffffff;--role-soft: #f6f9fb;--role-line: #cbd8e2;--role-line-strong: #8fa6b7;--role-text: #24313d;--role-muted: #64717d}:root[data-theme=mayan-jungle]{--role-primary: #6f7f22;--role-primary-dark: #e4bc5a;--role-accent: #d8a53a;--role-bg: #08150d;--role-surface: rgba(9, 24, 14, .82);--role-soft: rgba(18, 46, 24, .7);--role-line: rgba(210, 164, 58, .3);--role-line-strong: rgba(232, 190, 86, .48);--role-text: #fff4cf;--role-muted: rgba(244, 236, 209, .72);color-scheme:dark}:root[data-theme=china-modern]{--role-primary: #0f65a8;--role-primary-dark: #083a66;--role-accent: #d92f3f;--role-bg: #eaf6ff;--role-surface: rgba(255, 255, 255, .84);--role-soft: rgba(235, 247, 255, .78);--role-line: rgba(134, 184, 220, .58);--role-line-strong: rgba(15, 101, 168, .42);--role-text: #11304a;--role-muted: #4f6f86}:root[data-theme^=custom-]{--role-primary: #0b4f8a;--role-primary-dark: #083a66;--role-accent: #d92f3f;--role-bg: #eef3f8;--role-surface: rgba(255, 255, 255, .72);--role-soft: rgba(239, 246, 255, .62);--role-line: rgba(148, 163, 184, .48);--role-line-strong: rgba(96, 125, 159, .42);--role-text: #172033;--role-muted: rgba(55, 65, 81, .74);color-scheme:light}:root[data-theme=pro],:root[data-theme=ink-gray]{--role-primary: #0b4f8a;--role-primary-dark: #083a66;--role-accent: #b42318;--role-bg: #eef3f8;--role-surface: #ffffff;--role-soft: #f5f7fa;--role-line: #c9d3df;--role-line-strong: #8fa2b6;--role-text: #1f2937;--role-muted: #5f6b7a}:root{font-family:var(--gov-font);color:var(--gov-text);background:var(--gov-bg);line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}html,body,#app{min-width:0;min-height:100%}body{margin:0;min-width:320px;background:var(--gov-bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.62}a{color:var(--role-primary);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid color-mix(in srgb,var(--role-primary) 72%,white);outline-offset:2px}input,select,textarea{min-height:var(--gov-control-height);border:1px solid var(--role-line-strong);border-radius:var(--gov-radius);background:var(--role-surface);color:var(--role-text)}textarea{min-height:88px;resize:vertical}input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--role-muted) 78%,white)}input:focus,select:focus,textarea:focus{border-color:var(--role-primary);box-shadow:inset 3px 0 0 var(--role-primary);outline:none}hr{border:0;border-top:1px solid var(--role-line)}table{border-collapse:collapse}::selection{background:color-mix(in srgb,var(--role-primary) 22%,white)}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:var(--role-soft)}::-webkit-scrollbar-thumb{background:var(--role-line-strong);border:2px solid var(--role-soft)}@media(max-width:640px){input,select,textarea,button{min-height:var(--gov-control-height-touch)}}.gov-pattern-grid{background-image:linear-gradient(var(--role-line) 1px,transparent 1px),linear-gradient(90deg,var(--role-line) 1px,transparent 1px);background-size:32px 32px;background-position:-1px -1px}.gov-pattern-terrazzo{background-image:radial-gradient(circle at 12% 18%,color-mix(in srgb,var(--role-primary) 10%,transparent) 0 1px,transparent 2px),radial-gradient(circle at 78% 28%,rgba(15,76,129,.08) 0 2px,transparent 3px),radial-gradient(circle at 38% 72%,rgba(180,35,24,.06) 0 1px,transparent 2px),radial-gradient(circle at 88% 82%,rgba(95,107,122,.08) 0 1px,transparent 2px);background-size:56px 56px,72px 72px,64px 64px,48px 48px}.gov-pattern-official-field{background-image:radial-gradient(circle at 10px 10px,color-mix(in srgb,var(--role-primary) 9%,transparent) 0 1px,transparent 1.8px),radial-gradient(circle at 34px 26px,rgba(180,35,24,.045) 0 1px,transparent 1.8px),linear-gradient(135deg,rgba(255,255,255,.55),transparent 42%);background-size:52px 52px,76px 76px,100% 100%;background-position:0 0,12px 8px,0 0}.gov-pattern-danmaku-field{background-image:radial-gradient(circle at 14px 20px,color-mix(in srgb,var(--role-primary) 10%,transparent) 0 1.4px,transparent 2.2px),radial-gradient(circle at 45px 12px,rgba(15,76,129,.06) 0 1.2px,transparent 2px),radial-gradient(circle at 62px 45px,rgba(180,35,24,.045) 0 1px,transparent 1.8px);background-size:88px 68px,88px 68px,88px 68px}.gov-pattern-document{position:relative}.gov-pattern-document:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(90deg,var(--role-primary) 0 96px,transparent 96px),linear-gradient(90deg,transparent 0 104px,var(--role-accent) 104px 132px,transparent 132px);background-size:100% 3px;background-repeat:no-repeat}.gov-border-ornament{border:1px solid var(--role-line-strong);box-shadow:inset 0 3px 0 var(--role-primary),inset 0 -1px 0 var(--role-line)}.gov-official-band{background:linear-gradient(90deg,var(--role-primary) 0 36%,var(--role-accent) 36% 42%,var(--role-primary-dark) 42% 100%)}.role-shell{position:relative;isolation:isolate;height:100vh;display:grid;grid-template-columns:var(--gov-sidebar-width) minmax(0,1fr);gap:0;padding:0;overflow:hidden;background:linear-gradient(180deg,color-mix(in srgb,var(--role-bg) 86%,white),var(--role-bg)),var(--role-bg);color:var(--role-text)}.role-sidebar,.role-content{position:relative;z-index:1}.role-sidebar,.role-topbar,.role-panel{border-radius:var(--gov-radius);box-shadow:none}.role-sidebar{min-height:0;display:grid;grid-template-rows:4px auto minmax(0,1fr) auto auto;overflow:visible;border:0;border-right:1px solid var(--role-line-strong);background:var(--role-surface)}.role-sidebar:before{content:"";display:block;height:4px;background:linear-gradient(90deg,var(--role-primary) 0 74%,var(--role-accent) 74% 100%);grid-row:1}.role-sidebar footer{grid-row:5;padding:10px 14px;border-top:1px solid var(--role-line);color:var(--role-muted);background:var(--role-soft);font-size:12px}.account-menu{grid-row:2;position:relative;padding:14px;border-bottom:1px solid var(--role-line)}.account-button{width:100%;min-height:58px;display:grid;grid-template-columns:36px minmax(0,1fr) 16px;align-items:center;gap:10px;border:1px solid var(--role-line);border-radius:var(--gov-radius);padding:8px 9px;background:var(--role-soft);color:var(--role-text);text-align:left}.account-avatar{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--role-primary);border-radius:50%;background:var(--role-primary);color:#fff;font-weight:700;overflow:hidden}.account-avatar img{width:100%;height:100%;display:block;object-fit:cover}.account-copy{min-width:0;display:grid;gap:2px}.account-copy strong,.account-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-copy strong{font-size:14px}.account-copy small{color:var(--role-muted);font-size:12px}.account-chevron{color:var(--role-muted)}.account-popover{position:absolute;z-index:120;top:calc(100% - 1px);left:14px;right:14px;display:grid;border:1px solid var(--role-line-strong);border-radius:0;background:var(--role-surface);box-shadow:none}.account-popover button{min-height:36px;border:0;border-bottom:1px solid var(--role-line);border-radius:0;background:var(--role-surface);color:var(--role-text);text-align:left;padding:0 12px}.account-popover button:hover{background:var(--role-soft)}.account-popover button:last-child{border-bottom:0}.account-popover .danger{color:var(--gov-red)}.role-nav{grid-row:3;padding:10px 0;display:grid;align-content:start;gap:0}.role-nav button{min-height:38px;border:0;border-left:4px solid transparent;border-radius:0;padding:0 14px 0 18px;text-align:left;background:transparent;color:var(--role-text);font-weight:600}.role-nav button:hover{background:var(--role-soft);border-left-color:var(--role-line-strong)}.role-nav button.active{background:color-mix(in srgb,var(--role-primary) 12%,var(--role-surface));border-left-color:var(--role-primary);color:var(--role-primary-dark)}.sidebar-notification-button{grid-row:4;width:calc(100% - 28px);min-height:44px;margin:0 14px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--role-line-strong);border-radius:var(--gov-radius);padding:0 10px;background:var(--role-surface);color:var(--role-text);font-weight:600;text-align:left}.sidebar-notification-button:hover{background:var(--role-soft)}.sidebar-notification-button strong{min-width:20px;height:20px;display:inline-grid;place-items:center;border-radius:999px;background:var(--role-primary);color:#fff;font-size:12px;line-height:1}.workspace-empty{margin:14px 0 0;color:var(--role-muted);font-size:13px}.role-content{min-width:0;min-height:0;display:grid;grid-template-rows:var(--gov-topbar-height) minmax(0,1fr);gap:0}.role-topbar{display:flex;align-items:center;gap:12px;min-width:0;border:0;border-bottom:1px solid var(--role-line-strong);background:var(--role-surface);padding:0 var(--gov-page-gutter)}.topbar-title{flex:1 1 auto;min-width:210px;overflow:hidden}.topbar-title-line{min-width:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.topbar-title-line strong{min-width:0;color:var(--role-text);font-size:18px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-topbar small{display:block;margin-top:2px;color:var(--role-muted);font-size:12px}.topbar-actions{position:relative;z-index:2;flex:0 0 auto;margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.workspace-search{width:min(380px,34vw);min-width:240px}.workspace-search input{width:100%;height:var(--gov-control-height);border:1px solid var(--role-line-strong);border-radius:var(--gov-radius);padding:0 10px;background:var(--role-surface);color:var(--role-text)}.topbar-button{position:relative;z-index:3;height:var(--gov-control-height);min-height:var(--gov-control-height);border:1px solid var(--role-line-strong);border-radius:var(--gov-radius);padding:0 12px;background:var(--role-surface);color:var(--role-text);font-weight:600}.topbar-button:hover{background:var(--role-soft)}.topbar-button span{display:inline-grid;min-width:20px;height:20px;place-items:center;margin-left:6px;border:1px solid var(--role-accent);border-radius:var(--gov-radius);color:var(--role-accent);font-size:12px;line-height:1}.role-body{position:relative;min-height:0;overflow:auto;background:transparent}.role-body:has(.campus-reports-dashboard){overflow:hidden}.danmaku-backdrop{position:fixed;inset:var(--gov-topbar-height) 0 0 var(--gov-sidebar-width);z-index:0;width:calc(100vw - var(--gov-sidebar-width));height:calc(100vh - var(--gov-topbar-height));pointer-events:none}.role-body>:not(.danmaku-backdrop){position:relative;z-index:1}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#121f3057}.drawer-backdrop.notification-backdrop{display:block;padding:0;background:transparent}.side-drawer{position:absolute;top:0;right:0;width:min(420px,100vw);height:100%;border-left:1px solid var(--role-line-strong);border-radius:0;background:var(--role-surface);box-shadow:none}.side-drawer.compact{width:min(360px,100vw)}.notification-drawer.side-drawer{position:fixed;left:50%;top:50%;right:auto;bottom:auto;width:min(1120px,calc(100vw - 80px));height:min(820px,calc(100vh - 32px));max-height:none;transform:translate(-50%,-50%);border:1px solid var(--role-line-strong);border-radius:0;box-shadow:0 24px 70px #0f172a38;overflow:hidden}.side-drawer>header{min-height:54px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--role-line-strong);padding:0 14px;background:var(--role-soft)}.side-drawer>header button{width:34px;height:34px;min-height:34px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 34px;border:1px solid var(--role-line-strong);border-radius:0;padding:0;background:var(--role-surface);color:var(--role-text);font-family:Arial,Helvetica,sans-serif;font-size:18px;font-weight:400;line-height:1}.theme-grid{display:grid;gap:8px;padding:14px}.theme-grid button{display:grid;grid-template-columns:34px minmax(0,1fr);gap:4px 10px;align-items:center;min-height:62px;border:1px solid var(--role-line);border-radius:0;padding:8px;background:var(--role-surface);color:var(--role-text);text-align:left}.theme-grid button.active{border-color:var(--role-primary);box-shadow:inset 4px 0 0 var(--role-primary)}.theme-swatch{grid-row:span 2;width:34px;height:34px;border:1px solid var(--role-line-strong);border-radius:0}.theme-grid small{color:var(--role-muted)}.role-shell[data-theme=standard-blue] .role-sidebar{background:#ffffffe0;border-right:1px solid rgba(203,213,225,.9);box-shadow:6px 0 24px #0f172a14;-webkit-backdrop-filter:blur(24px) saturate(118%);backdrop-filter:blur(24px) saturate(118%)}.role-shell[data-theme=standard-blue] .role-topbar{background:#ffffffd1;border-bottom:1px solid rgba(203,213,225,.92);box-shadow:0 8px 28px #0f172a0a;-webkit-backdrop-filter:blur(18px) saturate(116%);backdrop-filter:blur(18px) saturate(116%)}.role-shell[data-theme=standard-blue] .account-button,.role-shell[data-theme=standard-blue] .account-popover,.role-shell[data-theme=standard-blue] .workspace-search input,.role-shell[data-theme=standard-blue] .topbar-button,.role-shell[data-theme=standard-blue] .sidebar-notification-button,.role-shell[data-theme=standard-blue] .side-drawer,.role-shell[data-theme=standard-blue] .theme-grid button{background:#ffffffd6;border-color:#cbd5e1e0;-webkit-backdrop-filter:blur(14px) saturate(116%);backdrop-filter:blur(14px) saturate(116%)}.role-shell[data-theme=standard-blue] .role-sidebar footer{background:#f8fafcd1;border-top-color:#cbd5e1d1}.role-shell[data-theme=standard-blue] .role-nav button:hover{background:#eff6ffc2}.role-shell[data-theme=standard-blue] .role-nav button.active{background:#dbeafee6}.role-shell[data-theme=mayan-jungle]{background:radial-gradient(circle at 50% 12%,rgba(216,165,58,.12),transparent 30%),#08150d;color:var(--role-text)}.role-shell[data-theme=mayan-jungle] .role-sidebar{background:#08160cd1;border-right:1px solid rgba(232,190,86,.42);box-shadow:8px 0 28px #0000003d;-webkit-backdrop-filter:blur(20px) saturate(112%);backdrop-filter:blur(20px) saturate(112%)}.role-shell[data-theme=mayan-jungle] .role-sidebar:before{background:linear-gradient(90deg,#2d551f 0,#2d551f 58%,#d8a53a 58%,#d8a53a)}.role-shell[data-theme=mayan-jungle] .role-topbar{background:#08160cc2;border-bottom:1px solid rgba(232,190,86,.42);box-shadow:0 10px 30px #0000002e;-webkit-backdrop-filter:blur(18px) saturate(112%);backdrop-filter:blur(18px) saturate(112%)}.role-shell[data-theme=mayan-jungle] .account-button,.role-shell[data-theme=mayan-jungle] .account-popover,.role-shell[data-theme=mayan-jungle] .workspace-search input,.role-shell[data-theme=mayan-jungle] .topbar-button,.role-shell[data-theme=mayan-jungle] .sidebar-notification-button,.role-shell[data-theme=mayan-jungle] .side-drawer,.role-shell[data-theme=mayan-jungle] .theme-grid button{background:#0c2211c7;border-color:#d2a43a61;color:var(--role-text);-webkit-backdrop-filter:blur(14px) saturate(112%);backdrop-filter:blur(14px) saturate(112%)}.role-shell[data-theme=mayan-jungle] .account-avatar{border-color:#e8be56b8;background:linear-gradient(180deg,#6f7f22,#2d551f);color:#fff8dd}.role-shell[data-theme=mayan-jungle] .role-sidebar footer{background:#06120ac2;border-top-color:#d2a43a47;color:#f4ecd1bd}.role-shell[data-theme=mayan-jungle] .role-nav button{color:#fff4cfdb}.role-shell[data-theme=mayan-jungle] .role-nav button:hover{background:#2c531875;border-left-color:#e8be5680}.role-shell[data-theme=mayan-jungle] .role-nav button.active{background:#6f7f2294;border-left-color:#d8a53a;color:#fff8dd}.role-shell[data-theme=mayan-jungle] .topbar-title-line strong,.role-shell[data-theme=mayan-jungle] .account-copy strong{color:#fff8dd}.role-shell[data-theme=china-modern]{background:radial-gradient(circle at 58% 8%,rgba(255,255,255,.42),transparent 32%),#eaf6ff;color:var(--role-text)}.role-shell[data-theme=china-modern] .role-sidebar{background:#ffffffc7;border-right:1px solid rgba(15,101,168,.32);box-shadow:8px 0 28px #1c58811f;-webkit-backdrop-filter:blur(22px) saturate(116%);backdrop-filter:blur(22px) saturate(116%)}.role-shell[data-theme=china-modern] .role-sidebar:before{background:linear-gradient(90deg,#0f65a8 0,#0f65a8 58%,#d92f3f 58%,#d92f3f)}.role-shell[data-theme=china-modern] .role-topbar{background:#ffffffb8;border-bottom:1px solid rgba(15,101,168,.32);box-shadow:0 10px 30px #1c58811a;-webkit-backdrop-filter:blur(18px) saturate(116%);backdrop-filter:blur(18px) saturate(116%)}.role-shell[data-theme=china-modern] .account-button,.role-shell[data-theme=china-modern] .account-popover,.role-shell[data-theme=china-modern] .workspace-search input,.role-shell[data-theme=china-modern] .topbar-button,.role-shell[data-theme=china-modern] .sidebar-notification-button,.role-shell[data-theme=china-modern] .side-drawer,.role-shell[data-theme=china-modern] .theme-grid button{background:#ffffffc2;border-color:#0f65a847;color:var(--role-text);-webkit-backdrop-filter:blur(14px) saturate(116%);backdrop-filter:blur(14px) saturate(116%)}.role-shell[data-theme=china-modern] .account-avatar{border-color:#ffffffb8;background:linear-gradient(180deg,#0f65a8,#084f86);color:#fff}.role-shell[data-theme=china-modern] .role-sidebar footer{background:#eaf7ffad;border-top-color:#0f65a838;color:#11304aad}.role-shell[data-theme=china-modern] .role-nav button{color:#11304a}.role-shell[data-theme=china-modern] .role-nav button:hover{background:#dbf1ffb8;border-left-color:#0f65a852}.role-shell[data-theme=china-modern] .role-nav button.active{background:#d2eafae0;border-left-color:#d92f3f;color:#083a66}.role-shell[data-theme=china-modern] .topbar-title-line strong,.role-shell[data-theme=china-modern] .account-copy strong{color:#11304a}@media(max-width:900px){.role-shell{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.danmaku-backdrop{top:132px;right:0;bottom:0;left:0;width:100vw;height:calc(100vh - 132px)}.role-sidebar{grid-template-rows:4px auto auto auto;border-right:0;border-bottom:1px solid var(--role-line-strong)}.role-sidebar footer{display:none}.sidebar-notification-button{width:auto;margin:8px 12px 10px}.role-nav{display:flex;gap:0;overflow-x:auto;padding:0;border-top:1px solid var(--role-line)}.role-nav button{flex:0 0 auto;border-left:0;border-bottom:3px solid transparent;padding:0 14px}.role-nav button.active{border-bottom-color:var(--role-primary)}}@media(max-width:680px){.role-topbar{min-height:auto;align-items:stretch;flex-direction:column;padding:10px 12px}.role-content{grid-template-rows:auto minmax(0,1fr)}.topbar-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}.workspace-search{width:100%;min-width:0}}.admin-workspace,.campus-dashboard,.teacher-dashboard,.research-dashboard,.system-workspace,.model-ops-workspace{padding:var(--gov-page-gutter)}.role-panel{border:1px solid var(--role-line-strong);border-radius:var(--gov-radius);background:var(--role-surface);box-shadow:none}.role-panel.pad,.pad{padding:var(--gov-panel-pad)}.panel-title{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:calc(var(--gov-panel-pad) * -1) calc(var(--gov-panel-pad) * -1) 14px;padding:0 var(--gov-panel-pad);border-bottom:1px solid var(--role-line-strong);background:var(--role-soft)}.panel-title strong{color:var(--role-text);font-size:15px}.panel-title span,.muted,small{color:var(--role-muted)}.workspace-grid,.admin-grid{display:grid;gap:12px}.metric-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:0;border:1px solid var(--role-line-strong);border-bottom:0;border-right:0;background:var(--role-surface)}.metric-card,.research-metric-card{min-height:88px;display:grid;align-content:center;gap:6px;border:0;border-right:1px solid var(--role-line-strong);border-bottom:1px solid var(--role-line-strong);border-radius:0;background:var(--role-surface);box-shadow:none;padding:14px}.metric-card span,.metric-card small,.research-metric-card small{color:var(--role-muted);font-size:12px}.metric-card strong,.research-metric-card strong{color:var(--role-primary-dark);font-size:26px;line-height:1;font-variant-numeric:tabular-nums}.primary-action,.secondary-action,.secondary-btn,.formal-entry-button,.admin-modal-close{min-height:var(--gov-control-height);border-radius:var(--gov-radius);font-weight:600;transition:background var(--gov-transition),border-color var(--gov-transition),color var(--gov-transition)}.role-shell button,.role-shell input,.role-shell select,.role-shell textarea,.login-shell button,.login-shell input,.login-shell select,.login-shell textarea{border-radius:0!important}.primary-action{border:1px solid var(--role-primary-dark);background:var(--role-primary);color:#fff}.primary-action:hover:not(:disabled){background:var(--role-primary-dark)}.secondary-action,.secondary-btn,.formal-entry-button{border:1px solid var(--role-line-strong);background:var(--role-surface);color:var(--role-text)}.secondary-action:hover:not(:disabled),.secondary-btn:hover:not(:disabled),.formal-entry-button:hover:not(:disabled){border-color:var(--role-primary);background:color-mix(in srgb,var(--role-primary) 9%,var(--role-surface));color:var(--role-primary-dark)}.primary-action.compact,.secondary-action.compact,.primary-action.mini,.secondary-action.mini{min-height:32px;padding:0 10px;font-size:13px}.danger-lite,.primary-action.danger,.secondary-action.danger{border-color:var(--gov-red);color:var(--gov-red)}.toolbar-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.toolbar-row input,.toolbar-row select,.admin-modal-form input,.admin-modal-form select,.admin-modal-form textarea,.login-form input,.admin-filter-bar input,.admin-filter-bar select{border-radius:0}.form-error{border:1px solid color-mix(in srgb,var(--gov-red) 48%,white);border-left:4px solid var(--gov-red);border-radius:0;background:var(--gov-red-soft);color:var(--gov-red);padding:9px 12px}.admin-filter-shell{border-radius:0;background:var(--role-surface)}.admin-filter-compact{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-filter-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--role-line)}.admin-filter-bar label,.admin-modal-form label,.login-form label{display:grid;gap:5px;color:var(--role-text);font-size:13px;font-weight:600}.admin-filter-bar input,.admin-filter-bar select,.admin-modal-form input,.admin-modal-form select,.admin-modal-form textarea,.login-form input{width:100%;padding:0 9px}.admin-filter-actions{display:flex;align-items:end;gap:8px}.admin-data-table,.data-table,.simple-table{border:1px solid var(--role-line-strong);border-bottom:0;border-radius:0!important;background:var(--role-surface);overflow-x:auto}.admin-data-row,.data-row,.simple-table>div{display:grid;grid-template-columns:var(--admin-columns, 1fr);min-height:42px;border-bottom:1px solid var(--role-line)}.admin-data-row>span,.data-row>span,.simple-table>div>span,.simple-table>div>strong{min-width:0;display:grid;align-content:center;border-right:1px solid var(--role-line);padding:8px 10px;overflow-wrap:anywhere}.admin-data-row>span:last-child,.data-row>span:last-child,.simple-table>div>strong:last-child{border-right:0}.admin-data-row.head,.data-row.head{min-height:38px;background:color-mix(in srgb,var(--role-primary) 10%,var(--role-soft));color:var(--role-text);font-size:13px;font-weight:700}.admin-data-row:not(.head):hover,.data-row:not(.head):hover{background:color-mix(in srgb,var(--role-primary) 5%,var(--role-surface))}.admin-data-row small{display:block;margin-top:2px;color:var(--role-muted);font-size:12px}.admin-table-state{margin:0}.admin-table-state>span{grid-column:1 / -1}.compact-admin-table-panel{box-sizing:border-box;min-height:0;overflow:hidden;display:grid;grid-template-rows:auto auto auto;align-content:start;gap:8px}.compact-admin-table-panel .panel-title{min-height:34px;padding-block:0}.compact-admin-table{min-height:0;overflow:hidden}.compact-admin-table .admin-data-row{gap:0!important;min-height:64px!important;padding:0!important}.compact-admin-table .admin-data-row.head{min-height:40px!important}.compact-admin-table .admin-data-row>span{padding:10px 11px!important}.compact-admin-table .row-actions{gap:5px!important;flex-wrap:nowrap!important}.compact-admin-table .secondary-action.mini{min-height:30px!important;padding:0 8px!important;font-size:12px!important}.compact-admin-table-panel .admin-pagination{min-height:36px;margin-top:0;padding-top:6px;gap:6px}.compact-admin-table-panel .admin-pagination button{min-height:28px;padding:0 9px;border-radius:0}.metric-list{display:grid;gap:8px}.metric-list div{min-height:40px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--role-line);border-radius:0!important;background:var(--role-soft);padding:8px 10px}.metric-list span{color:var(--role-muted)}.metric-list strong{color:var(--role-text);font-variant-numeric:tabular-nums}.row-actions{display:flex!important;align-items:center;gap:6px;flex-wrap:wrap}.status-pill,.account-status-pill,.account-disabled-badge,.notification-dot{display:inline-flex;align-items:center;justify-content:center;min-height:24px;border:1px solid var(--role-line-strong);border-radius:0;padding:0 7px;background:var(--role-surface);color:var(--role-text);font-size:12px;font-style:normal;font-weight:600}.status-pill.success,.account-status-pill:not(.disabled){border-color:#16653447;background:#dcfce77a;color:#15803d}.status-pill.danger,.account-status-pill.disabled,.account-disabled-badge{border-color:#b91c1c47;background:#fee2e275;color:#b91c1c}.admin-modal-backdrop,.report-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483001;display:grid;place-items:center;background:#121f306b;padding:18px}.admin-modal,.report-modal{width:min(760px,100%);max-height:min(86vh,860px);overflow:auto;border:1px solid var(--role-line-strong);border-radius:0;background:var(--role-surface);box-shadow:none}.admin-modal>header,.report-modal-head{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--role-line-strong);padding:0 14px;background:var(--role-soft)}.admin-modal-close{width:34px;height:34px;min-height:34px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 34px;padding:0;border:1px solid var(--role-line-strong);background:var(--role-surface);color:var(--role-text);font-family:Arial,Helvetica,sans-serif;font-size:18px;font-weight:400;line-height:1}.admin-modal-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px}.wide-field,.admin-modal-form>p,.admin-modal-actions{grid-column:1 / -1}.admin-modal-form>p{margin:0;max-width:none;line-height:1.75}.admin-modal-actions,.report-modal-actions{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--role-line);padding-top:12px}.teacher-toast-bubble{border:1px solid var(--role-line-strong);border-radius:0;background:var(--role-surface);box-shadow:none}.progress-bar,.queue-progress,.report-score-bar{border-radius:0}.progress-bar>*,.queue-progress>*,.report-score-bar>*{border-radius:0}.role-shell .role-panel,.role-shell .metric-card,.role-shell .research-metric-card,.role-shell .admin-data-table,.role-shell .data-table,.role-shell .simple-table,.role-shell .system-shell,.role-shell .system-tabs,.role-shell .system-tab,.role-shell .system-main,.role-shell .model-cost-chart,.role-shell .model-ops-workspace .admin-data-table,.role-shell .teacher-home-card,.role-shell .free-practice-main-panel,.role-shell .free-practice-settings-drawer,.role-shell .free-practice-board-card,.role-shell .report-summary-shell,.role-shell .report-score-card,.role-shell .report-radar-card,.role-shell .review-card,.role-shell .highlight-panel,.role-shell .suggestion-panel,.role-shell .timeline-panel,.role-shell .sentence-card,.role-shell .upload-panel,.role-shell .teacher-video-frame,.role-shell .teacher-board-roi,.role-shell .processing-queue,.role-shell .queue-item,.role-shell .worker-card,.role-shell .status-pill,.role-shell .account-status-pill,.role-shell .account-disabled-badge{border-radius:0!important;box-shadow:none!important}.role-shell[data-theme=standard-blue] .role-panel,.role-shell[data-theme=standard-blue] .metric-strip,.role-shell[data-theme=standard-blue] .metric-card,.role-shell[data-theme=standard-blue] .research-metric-card,.role-shell[data-theme=standard-blue] .admin-data-table,.role-shell[data-theme=standard-blue] .data-table,.role-shell[data-theme=standard-blue] .simple-table,.role-shell[data-theme=standard-blue] .admin-filter-shell,.role-shell[data-theme=standard-blue] .metric-list div,.role-shell[data-theme=standard-blue] .system-shell,.role-shell[data-theme=standard-blue] .system-tabs,.role-shell[data-theme=standard-blue] .system-main,.role-shell[data-theme=standard-blue] .model-cost-chart,.role-shell[data-theme=standard-blue] .teacher-home-card,.role-shell[data-theme=standard-blue] .free-practice-main-panel,.role-shell[data-theme=standard-blue] .free-practice-settings-drawer,.role-shell[data-theme=standard-blue] .free-practice-board-card,.role-shell[data-theme=standard-blue] .report-summary-shell,.role-shell[data-theme=standard-blue] .report-score-card,.role-shell[data-theme=standard-blue] .report-radar-card,.role-shell[data-theme=standard-blue] .review-card,.role-shell[data-theme=standard-blue] .highlight-panel,.role-shell[data-theme=standard-blue] .suggestion-panel,.role-shell[data-theme=standard-blue] .timeline-panel,.role-shell[data-theme=standard-blue] .sentence-card,.role-shell[data-theme=standard-blue] .upload-panel,.role-shell[data-theme=standard-blue] .teacher-video-frame,.role-shell[data-theme=standard-blue] .teacher-board-roi,.role-shell[data-theme=standard-blue] .processing-queue,.role-shell[data-theme=standard-blue] .queue-item,.role-shell[data-theme=standard-blue] .worker-card{background:#ffffffc7!important;border-color:#cbd5e1eb!important;box-shadow:0 8px 32px #0f172a0e!important;-webkit-backdrop-filter:blur(16px) saturate(120%);backdrop-filter:blur(16px) saturate(120%)}.role-shell[data-theme=standard-blue] .role-panel.pad,.role-shell[data-theme=standard-blue] .pad{background:#fffc!important}.role-shell[data-theme=standard-blue] .panel-title,.role-shell[data-theme=standard-blue] .admin-data-row.head,.role-shell[data-theme=standard-blue] .data-row.head,.role-shell[data-theme=standard-blue] .side-drawer>header,.role-shell[data-theme=standard-blue] .admin-modal>header,.role-shell[data-theme=standard-blue] .report-modal-head{background:#f1f5f9d1!important;border-color:#cbd5e1e0!important;-webkit-backdrop-filter:blur(12px) saturate(112%);backdrop-filter:blur(12px) saturate(112%)}.role-shell[data-theme=standard-blue] .admin-data-row:not(.head),.role-shell[data-theme=standard-blue] .data-row:not(.head),.role-shell[data-theme=standard-blue] .simple-table>div{background:#ffffff7a}.role-shell[data-theme=standard-blue] .admin-data-row:not(.head):hover,.role-shell[data-theme=standard-blue] .data-row:not(.head):hover{background:#dbeafeb8}.role-shell[data-theme=standard-blue] input,.role-shell[data-theme=standard-blue] select,.role-shell[data-theme=standard-blue] textarea{background-color:#ffffffdb;border-color:#94a3b8d1}.role-shell[data-theme=standard-blue] .admin-modal,.role-shell[data-theme=standard-blue] .report-modal,.role-shell[data-theme=standard-blue] .teacher-toast-bubble{background:#ffffffe0!important;border-color:#cbd5e1f5!important;box-shadow:0 20px 56px #0f172a24!important;-webkit-backdrop-filter:blur(20px) saturate(122%);backdrop-filter:blur(20px) saturate(122%)}.role-shell[data-theme=mayan-jungle] .role-panel,.role-shell[data-theme=mayan-jungle] .metric-strip,.role-shell[data-theme=mayan-jungle] .metric-card,.role-shell[data-theme=mayan-jungle] .research-metric-card,.role-shell[data-theme=mayan-jungle] .admin-data-table,.role-shell[data-theme=mayan-jungle] .data-table,.role-shell[data-theme=mayan-jungle] .simple-table,.role-shell[data-theme=mayan-jungle] .admin-filter-shell,.role-shell[data-theme=mayan-jungle] .metric-list div,.role-shell[data-theme=mayan-jungle] .system-shell,.role-shell[data-theme=mayan-jungle] .system-tabs,.role-shell[data-theme=mayan-jungle] .system-main,.role-shell[data-theme=mayan-jungle] .model-cost-chart,.role-shell[data-theme=mayan-jungle] .teacher-home-card,.role-shell[data-theme=mayan-jungle] .free-practice-main-panel,.role-shell[data-theme=mayan-jungle] .free-practice-settings-drawer,.role-shell[data-theme=mayan-jungle] .free-practice-board-card,.role-shell[data-theme=mayan-jungle] .report-summary-shell,.role-shell[data-theme=mayan-jungle] .report-score-card,.role-shell[data-theme=mayan-jungle] .report-radar-card,.role-shell[data-theme=mayan-jungle] .review-card,.role-shell[data-theme=mayan-jungle] .highlight-panel,.role-shell[data-theme=mayan-jungle] .suggestion-panel,.role-shell[data-theme=mayan-jungle] .timeline-panel,.role-shell[data-theme=mayan-jungle] .sentence-card,.role-shell[data-theme=mayan-jungle] .upload-panel,.role-shell[data-theme=mayan-jungle] .teacher-video-frame,.role-shell[data-theme=mayan-jungle] .teacher-board-roi,.role-shell[data-theme=mayan-jungle] .processing-queue,.role-shell[data-theme=mayan-jungle] .queue-item,.role-shell[data-theme=mayan-jungle] .worker-card{background:#09180ebd!important;border-color:#d2a43a5c!important;color:var(--role-text)!important;box-shadow:0 10px 34px #00000038!important;-webkit-backdrop-filter:blur(16px) saturate(112%);backdrop-filter:blur(16px) saturate(112%)}.role-shell[data-theme=mayan-jungle] .role-panel.pad,.role-shell[data-theme=mayan-jungle] .pad{background:#09180ec7!important}.role-shell[data-theme=mayan-jungle] .panel-title,.role-shell[data-theme=mayan-jungle] .admin-data-row.head,.role-shell[data-theme=mayan-jungle] .data-row.head,.role-shell[data-theme=mayan-jungle] .side-drawer>header,.role-shell[data-theme=mayan-jungle] .admin-modal>header,.role-shell[data-theme=mayan-jungle] .report-modal-head{background:#163618c7!important;border-color:#d2a43a57!important;color:var(--role-text)!important;-webkit-backdrop-filter:blur(12px) saturate(112%);backdrop-filter:blur(12px) saturate(112%)}.role-shell[data-theme=mayan-jungle] .admin-data-row:not(.head),.role-shell[data-theme=mayan-jungle] .data-row:not(.head),.role-shell[data-theme=mayan-jungle] .simple-table>div{background:#0a1e0e75}.role-shell[data-theme=mayan-jungle] .admin-data-row:not(.head):hover,.role-shell[data-theme=mayan-jungle] .data-row:not(.head):hover{background:#4a631b94}.role-shell[data-theme=mayan-jungle] input,.role-shell[data-theme=mayan-jungle] select,.role-shell[data-theme=mayan-jungle] textarea{background-color:#05120ad1;border-color:#d2a43a6b;color:var(--role-text)}.role-shell[data-theme=mayan-jungle] input::placeholder,.role-shell[data-theme=mayan-jungle] textarea::placeholder{color:#f4ecd180}.role-shell[data-theme=mayan-jungle] .metric-card strong,.role-shell[data-theme=mayan-jungle] .research-metric-card strong,.role-shell[data-theme=mayan-jungle] .panel-title strong{color:#e4bc5a}.role-shell[data-theme=mayan-jungle] .primary-action{border-color:#e8be5670;background:linear-gradient(180deg,#6f7f22,#2d551f);color:#fff8dd}.role-shell[data-theme=mayan-jungle] .secondary-action,.role-shell[data-theme=mayan-jungle] .secondary-btn,.role-shell[data-theme=mayan-jungle] .formal-entry-button{border-color:#d2a43a61;background:#0c2211bd;color:var(--role-text)}.role-shell[data-theme=mayan-jungle] .secondary-action:hover:not(:disabled),.role-shell[data-theme=mayan-jungle] .secondary-btn:hover:not(:disabled),.role-shell[data-theme=mayan-jungle] .formal-entry-button:hover:not(:disabled){border-color:#e8be56ad;background:#4a631b94;color:#fff8dd}.role-shell[data-theme=mayan-jungle] .admin-modal,.role-shell[data-theme=mayan-jungle] .report-modal,.role-shell[data-theme=mayan-jungle] .teacher-toast-bubble{background:#08160ce6!important;border-color:#e8be5685!important;box-shadow:0 22px 58px #00000057!important;-webkit-backdrop-filter:blur(20px) saturate(116%);backdrop-filter:blur(20px) saturate(116%)}.role-shell[data-theme=china-modern] .role-panel,.role-shell[data-theme=china-modern] .metric-strip,.role-shell[data-theme=china-modern] .metric-card,.role-shell[data-theme=china-modern] .research-metric-card,.role-shell[data-theme=china-modern] .admin-data-table,.role-shell[data-theme=china-modern] .data-table,.role-shell[data-theme=china-modern] .simple-table,.role-shell[data-theme=china-modern] .admin-filter-shell,.role-shell[data-theme=china-modern] .metric-list div,.role-shell[data-theme=china-modern] .system-shell,.role-shell[data-theme=china-modern] .system-tabs,.role-shell[data-theme=china-modern] .system-main,.role-shell[data-theme=china-modern] .model-cost-chart,.role-shell[data-theme=china-modern] .teacher-home-card,.role-shell[data-theme=china-modern] .free-practice-main-panel,.role-shell[data-theme=china-modern] .free-practice-settings-drawer,.role-shell[data-theme=china-modern] .free-practice-board-card,.role-shell[data-theme=china-modern] .report-summary-shell,.role-shell[data-theme=china-modern] .report-score-card,.role-shell[data-theme=china-modern] .report-radar-card,.role-shell[data-theme=china-modern] .review-card,.role-shell[data-theme=china-modern] .highlight-panel,.role-shell[data-theme=china-modern] .suggestion-panel,.role-shell[data-theme=china-modern] .timeline-panel,.role-shell[data-theme=china-modern] .sentence-card,.role-shell[data-theme=china-modern] .upload-panel,.role-shell[data-theme=china-modern] .teacher-video-frame,.role-shell[data-theme=china-modern] .teacher-board-roi,.role-shell[data-theme=china-modern] .processing-queue,.role-shell[data-theme=china-modern] .queue-item,.role-shell[data-theme=china-modern] .worker-card{background:#ffffffbd!important;border-color:#0f65a847!important;color:var(--role-text)!important;box-shadow:0 10px 34px #1c58811f!important;-webkit-backdrop-filter:blur(16px) saturate(116%);backdrop-filter:blur(16px) saturate(116%)}.role-shell[data-theme=china-modern] .role-panel.pad,.role-shell[data-theme=china-modern] .pad{background:#ffffffc7!important}.role-shell[data-theme=china-modern] .panel-title,.role-shell[data-theme=china-modern] .admin-data-row.head,.role-shell[data-theme=china-modern] .data-row.head,.role-shell[data-theme=china-modern] .side-drawer>header,.role-shell[data-theme=china-modern] .admin-modal>header,.role-shell[data-theme=china-modern] .report-modal-head{background:#eaf7ffc7!important;border-color:#0f65a842!important;color:var(--role-text)!important;-webkit-backdrop-filter:blur(12px) saturate(116%);backdrop-filter:blur(12px) saturate(116%)}.role-shell[data-theme=china-modern] .admin-data-row:not(.head),.role-shell[data-theme=china-modern] .data-row:not(.head),.role-shell[data-theme=china-modern] .simple-table>div{background:#ffffff75}.role-shell[data-theme=china-modern] .admin-data-row:not(.head):hover,.role-shell[data-theme=china-modern] .data-row:not(.head):hover{background:#dbf1ffb8}.role-shell[data-theme=china-modern] input,.role-shell[data-theme=china-modern] select,.role-shell[data-theme=china-modern] textarea{background-color:#ffffffd1;border-color:#0f65a852;color:var(--role-text)}.role-shell[data-theme=china-modern] input::placeholder,.role-shell[data-theme=china-modern] textarea::placeholder{color:#11304a7a}.role-shell[data-theme=china-modern] .metric-card strong,.role-shell[data-theme=china-modern] .research-metric-card strong,.role-shell[data-theme=china-modern] .panel-title strong{color:#0f65a8}.role-shell[data-theme=china-modern] .primary-action{border-color:#0a4e8452;background:linear-gradient(180deg,#0f65a8,#084f86);color:#fff}.role-shell[data-theme=china-modern] .secondary-action,.role-shell[data-theme=china-modern] .secondary-btn,.role-shell[data-theme=china-modern] .formal-entry-button{border-color:#0f65a847;background:#ffffffb8;color:var(--role-text)}.role-shell[data-theme=china-modern] .secondary-action:hover:not(:disabled),.role-shell[data-theme=china-modern] .secondary-btn:hover:not(:disabled),.role-shell[data-theme=china-modern] .formal-entry-button:hover:not(:disabled){border-color:#d92f3f6b;background:#eaf7ffd1;color:#083a66}.role-shell[data-theme=china-modern] .admin-modal,.role-shell[data-theme=china-modern] .report-modal,.role-shell[data-theme=china-modern] .teacher-toast-bubble{background:#ffffffdb!important;border-color:#0f65a857!important;box-shadow:0 22px 58px #1c58812e!important;-webkit-backdrop-filter:blur(20px) saturate(118%);backdrop-filter:blur(20px) saturate(118%)}.role-shell[data-theme^=custom-] .role-panel,.role-shell[data-theme^=custom-] .metric-strip,.role-shell[data-theme^=custom-] .metric-card,.role-shell[data-theme^=custom-] .research-metric-card,.role-shell[data-theme^=custom-] .admin-data-table,.role-shell[data-theme^=custom-] .data-table,.role-shell[data-theme^=custom-] .simple-table,.role-shell[data-theme^=custom-] .admin-filter-shell,.role-shell[data-theme^=custom-] .metric-list div,.role-shell[data-theme^=custom-] .system-shell,.role-shell[data-theme^=custom-] .system-tabs,.role-shell[data-theme^=custom-] .system-main,.role-shell[data-theme^=custom-] .model-cost-chart,.role-shell[data-theme^=custom-] .teacher-home-card,.role-shell[data-theme^=custom-] .free-practice-main-panel,.role-shell[data-theme^=custom-] .free-practice-settings-drawer,.role-shell[data-theme^=custom-] .free-practice-board-card,.role-shell[data-theme^=custom-] .report-summary-shell,.role-shell[data-theme^=custom-] .report-score-card,.role-shell[data-theme^=custom-] .report-radar-card,.role-shell[data-theme^=custom-] .review-card,.role-shell[data-theme^=custom-] .highlight-panel,.role-shell[data-theme^=custom-] .suggestion-panel,.role-shell[data-theme^=custom-] .timeline-panel,.role-shell[data-theme^=custom-] .sentence-card,.role-shell[data-theme^=custom-] .upload-panel,.role-shell[data-theme^=custom-] .teacher-video-frame,.role-shell[data-theme^=custom-] .teacher-board-roi,.role-shell[data-theme^=custom-] .processing-queue,.role-shell[data-theme^=custom-] .queue-item,.role-shell[data-theme^=custom-] .worker-card{background:#ffffffb8!important;border-color:#607d9f6b!important;color:var(--role-text)!important;box-shadow:0 12px 34px #1f29371f!important;-webkit-backdrop-filter:blur(18px) saturate(112%);backdrop-filter:blur(18px) saturate(112%)}.role-shell[data-theme^=custom-] .role-panel.pad,.role-shell[data-theme^=custom-] .pad{background:#ffffffc2!important}.role-shell[data-theme^=custom-] .panel-title,.role-shell[data-theme^=custom-] .admin-data-row.head,.role-shell[data-theme^=custom-] .data-row.head,.role-shell[data-theme^=custom-] .side-drawer>header,.role-shell[data-theme^=custom-] .admin-modal>header,.role-shell[data-theme^=custom-] .report-modal-head{background:#eff6ffb8!important;border-color:#607d9f52!important;color:var(--role-text)!important;-webkit-backdrop-filter:blur(12px) saturate(112%);backdrop-filter:blur(12px) saturate(112%)}.role-shell[data-theme^=custom-] .admin-data-row:not(.head),.role-shell[data-theme^=custom-] .data-row:not(.head),.role-shell[data-theme^=custom-] .simple-table>div{background:#ffffff57}.role-shell[data-theme^=custom-] .admin-data-row:not(.head):hover,.role-shell[data-theme^=custom-] .data-row:not(.head):hover{background:#eff6ff8a}.role-shell[data-theme^=custom-] input,.role-shell[data-theme^=custom-] select,.role-shell[data-theme^=custom-] textarea{background-color:#ffffffdb;border-color:#607d9f6b;color:var(--role-text)}.role-shell[data-theme^=custom-] input::placeholder,.role-shell[data-theme^=custom-] textarea::placeholder{color:#47556994}.role-shell[data-theme^=custom-] .metric-card strong,.role-shell[data-theme^=custom-] .research-metric-card strong,.role-shell[data-theme^=custom-] .panel-title strong{color:var(--role-primary-dark)}.role-shell[data-theme^=custom-] .primary-action{border-color:#083a6675;background:linear-gradient(180deg,#0f65a8,#084f86);color:#fff}.role-shell[data-theme^=custom-] .secondary-action,.role-shell[data-theme^=custom-] .secondary-btn,.role-shell[data-theme^=custom-] .formal-entry-button{border-color:#607d9f5c;background:#ffffffbd;color:var(--role-text)}.role-shell[data-theme^=custom-] .secondary-action:hover:not(:disabled),.role-shell[data-theme^=custom-] .secondary-btn:hover:not(:disabled),.role-shell[data-theme^=custom-] .formal-entry-button:hover:not(:disabled){border-color:#d92f3f6b;background:#eff6ffd1;color:#083a66}.role-shell[data-theme^=custom-] .admin-modal,.role-shell[data-theme^=custom-] .report-modal,.role-shell[data-theme^=custom-] .teacher-toast-bubble{background:#ffffffe0!important;border-color:#607d9f70!important;box-shadow:0 24px 58px #1f29372e!important;-webkit-backdrop-filter:blur(20px) saturate(116%);backdrop-filter:blur(20px) saturate(116%)}.role-shell .compact-admin-table-panel{box-sizing:border-box;min-height:0;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px}.role-shell .compact-admin-table-panel .panel-title{min-height:34px;padding-block:0}.role-shell .compact-admin-table{min-height:0;overflow:hidden}.role-shell .compact-admin-table .admin-data-row{gap:0!important;min-height:64px!important;padding:0!important}.role-shell .compact-admin-table .admin-data-row.head{min-height:40px!important}.role-shell .compact-admin-table .admin-data-row>span{min-width:0;padding:10px 11px!important;overflow:hidden}.role-shell .compact-admin-table .admin-data-row>span:not(.row-actions),.role-shell .compact-admin-table .admin-data-row strong,.role-shell .compact-admin-table .admin-data-row small{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-shell .compact-admin-table .admin-data-row strong{line-height:1.35}.role-shell .compact-admin-table .row-actions{gap:5px;flex-wrap:nowrap}.role-shell .compact-admin-table .secondary-action.mini{min-height:30px;padding:0 8px;font-size:12px}.role-shell .compact-admin-table-panel .admin-pagination{min-height:36px;margin-top:0;padding-top:6px;gap:6px}.role-shell .compact-admin-table-panel .admin-pagination button{min-height:28px;padding:0 9px;border-radius:0}.role-shell .role-topbar .topbar-actions{gap:8px}.role-shell .role-topbar .topbar-actions .account-header-actions,.role-shell .role-topbar .topbar-actions .feedback-summary-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:nowrap}.role-shell .role-topbar .topbar-actions :is(.primary-action,.secondary-action,.secondary-btn,.formal-entry-button),.role-shell .role-topbar .workspace-search input{height:var(--gov-control-height)!important;min-height:var(--gov-control-height)!important;padding:0 14px!important;font-size:14px!important;line-height:1!important;white-space:nowrap}.role-shell .role-topbar .topbar-actions :is(.primary-action,.secondary-action,.secondary-btn,.formal-entry-button){display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:0!important;text-decoration:none}.admin-modal.review-detail-modal{width:min(1280px,calc(100vw - 48px))!important;height:min(820px,calc(100vh - 48px))!important;max-width:none!important;max-height:calc(100vh - 48px)!important;display:grid!important;grid-template-rows:auto minmax(0,1fr);padding:0;overflow:hidden}.admin-modal.review-detail-modal>header{padding:18px 20px}.admin-modal.review-detail-modal .review-detail-body{min-height:0;overflow:auto}.admin-modal.video-detail-modal{width:min(1280px,calc(100vw - 48px))!important;height:min(820px,calc(100vh - 48px))!important;max-width:none!important;max-height:calc(100vh - 48px)!important;display:grid!important;grid-template-rows:auto minmax(0,1fr);padding:0;overflow:hidden}.admin-modal.video-detail-modal>header{padding:18px 20px}.admin-modal.video-detail-modal .video-detail-body{min-height:0;padding:16px;overflow:auto}.admin-modal.video-detail-modal .campus-report-video{box-sizing:border-box;width:100%;height:100%;max-height:none;object-fit:contain}@media(max-width:760px){.admin-modal.review-detail-modal,.admin-modal.video-detail-modal{width:calc(100vw - 20px)!important;height:calc(100vh - 20px)!important;max-height:calc(100vh - 20px)!important}}@media(max-width:760px){.admin-workspace,.campus-dashboard,.teacher-dashboard,.research-dashboard,.system-workspace,.model-ops-workspace{padding:10px}.admin-modal-form{grid-template-columns:1fr}.metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}.login-shell{min-height:100vh;display:grid;place-items:center;padding:32px 16px;background:#050608;color:var(--gov-text);overflow:hidden;position:relative}.login-shell:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;opacity:.64;background:radial-gradient(circle at center,rgba(5,6,8,.34) 0 22%,rgba(5,6,8,.12) 42%,transparent 70%),linear-gradient(180deg,#05060814,#0506085c)}.standard-login-shell{background-color:#f4f7fc;background:radial-gradient(circle at center,rgba(255,255,255,.82) 0%,rgba(239,246,255,.34) 34%,transparent 62%),linear-gradient(rgba(29,78,216,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(29,78,216,.04) 1px,transparent 1px),#f4f7fc;background-size:100% 100%,40px 40px,40px 40px,auto}.standard-login-shell:before{opacity:1;background:radial-gradient(circle at center,#fff3 0,#fff3 18%,#fff0 58%),linear-gradient(180deg,#ffffff38,#e2e8f014)}.standard-login-ornaments{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;overflow:hidden;--login-parallax-x: 0;--login-parallax-y: 0}.totem-array{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;overflow:hidden}.totem{position:absolute;display:block;pointer-events:none;-webkit-user-select:none;user-select:none}.totem{color:#1d4ed808;font-family:Times New Roman,Playfair Display,Georgia,serif;line-height:1;font-weight:700}.totem-en{top:5%;right:8%;color:#1d4ed808;font-size:min(25vw,360px);font-style:italic;filter:none;transform:rotate(10deg)}.totem-math{right:-5%;bottom:-15%;color:#1d4ed808;font-size:min(45vw,660px);filter:blur(1px);transform:rotate(5deg)}.totem-zh{top:-10%;left:-5%;color:#1d4ed808;font-family:"Noto Serif SC","Source Han Serif SC",Songti SC,SimSun,serif;font-size:min(45vw,660px);font-weight:900;filter:blur(1px);transform:rotate(5deg)}.totem-music{top:17%;right:23%;color:#1d4ed808;font-family:Times New Roman,Georgia,serif;font-size:min(14vw,200px);font-weight:400;transform:rotate(-8deg)}.totem-edu{left:10%;bottom:5%;width:min(20vw,280px);color:#1d4ed808;transform:rotate(-12deg)}.totem-edu-mark{display:block;width:100%;height:auto}.totem-edu-mark path{fill:none;stroke:currentColor;stroke-linecap:square;stroke-linejoin:miter;stroke-width:5}.totem-fragment{position:absolute;color:#1d4ed821;font-family:Times New Roman,Georgia,serif;font-size:32px;line-height:1;opacity:.56;transform:translate(calc(var(--login-parallax-x) * 18px),calc(var(--login-parallax-y) * 18px));transition:transform .18s ease-out}.fragment-plus{left:18%;top:24%}.fragment-ring{right:23%;top:31%;width:20px;height:20px;border:1px solid rgba(249,115,22,.16);border-radius:50%}.fragment-wave{left:31%;bottom:19%;color:#f9731626;font-size:38px}.fragment-cross{right:18%;bottom:23%;color:#0f172a1f;font-size:28px}.standard-login-shell .login-panel{border-color:#fffffff2;border-radius:0;background:#ffffffbd;color:#0f172a;box-shadow:0 34px 72px -22px #1d4ed847,0 10px 24px -16px #0f172a1f,inset 0 1px #ffffffe0;backdrop-filter:blur(18px) saturate(1.35);-webkit-backdrop-filter:blur(18px) saturate(1.35)}.standard-login-shell .login-panel:before{opacity:.018}.standard-login-shell .login-panel:after{border-color:#94a3b85c}.standard-login-shell .login-masthead{border-bottom-color:#3b82f629;background:linear-gradient(115deg,#eff6ffb8,#ffffff3d 62%),#ffffff61}.standard-login-shell .login-masthead:before{background:linear-gradient(90deg,#1d4ed8 0,#1d4ed8 68%,#f97316 68%,#f97316 78%,#2563eb 78%,#2563eb)}.standard-login-shell .eyebrow,.standard-login-shell .login-form h2{color:#1d4ed8}.standard-login-shell .login-panel h1,.standard-login-shell .login-form h2,.standard-login-shell .login-form label{color:#0f172a}.standard-login-shell .login-panel h1{text-shadow:0 1px 0 rgba(255,255,255,.72)}.standard-login-shell .login-subtitle,.standard-login-shell .login-footnote,.standard-login-shell .login-theme-field{color:#475569}.standard-login-shell .login-form input,.standard-login-shell .login-form select,.standard-login-shell .login-theme-select{border-color:#1d4ed838;border-radius:0;background:#fff;color:#0f172a;box-shadow:none;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}.standard-login-shell .login-form input:focus,.standard-login-shell .login-form select:focus,.standard-login-shell .login-theme-select:focus{border-color:#1d4ed8;background:#fff;outline:none;box-shadow:0 3px #1d4ed847}.standard-login-shell .login-form .primary-action{border-color:transparent;background:#1d4ed8;color:#fff;box-shadow:0 8px 18px #1d4ed82e}.standard-login-shell .login-form .primary-action:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 26px #1d4ed84d}.standard-login-shell .formal-entry-button{border-color:#1d4ed847;background:#ffffff85;color:#1e3a8a;box-shadow:0 8px 18px #1d4ed81a}.standard-login-shell .formal-entry-button:hover{border-color:#1d4ed87a;background:#eff6ffd1;color:#1d4ed8}.standard-login-shell .login-footnote{border-top-color:#3b82f629;background:#ffffff70}.standard-login-shell .login-theme-select:hover{border-color:#1d4ed875;background:#ffffffdb;color:#1d4ed8}.login-shell .danmaku-backdrop{top:0;right:0;bottom:0;left:0;z-index:0;width:100vw;height:100vh}.login-panel{position:relative;z-index:2;width:min(520px,100%);display:grid;gap:18px;border:1px solid rgba(195,214,236,.78);border-radius:0;background:#ffffffe6;box-shadow:0 24px 80px #0000006b;padding:0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overflow:hidden;isolation:isolate}.login-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;opacity:.04;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='fiber'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.52' numOctaves='4' seed='7' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23fiber)' opacity='0.72'/%3E%3C/svg%3E")}.login-panel>:not(.login-clock-backdrop){position:relative;z-index:2}.login-panel:after{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;z-index:3;pointer-events:none;border:1px solid color-mix(in srgb,var(--gov-line) 72%,transparent)}.login-clock-backdrop{position:absolute;left:62%;top:55%;z-index:0;width:660px;height:560px;pointer-events:none;transform:translate(-50%,-50%) perspective(900px) rotateY(-24deg) rotate(-4deg) scaleX(.92);transform-origin:58% 50%;opacity:.5;filter:drop-shadow(0 0 16px rgba(212,175,55,.14));-webkit-user-select:none;user-select:none}.login-clock-backdrop svg{display:block;width:100%;height:100%;overflow:visible}.clock-plate,.clock-ticks{fill:none;stroke:#d4af373d}.clock-plate{stroke-width:1.4;opacity:.72}.clock-ticks line{stroke-width:1}.clock-ticks line.major{stroke-width:2}.clock-numerals{fill:#d4af376b;font-family:Cinzel,Playfair Display,Times New Roman,Georgia,serif;font-size:25px;letter-spacing:0}.clock-hands line{stroke-linecap:round}.clock-hands{opacity:.96}.hour-hand{stroke:#d4af3794;stroke-width:9}.minute-hand{stroke:#be9a3085;stroke-width:5}.second-hand{stroke:#9c2230f5;stroke-width:2}.hand-pivot{fill:#d4af37c7;stroke:#08070aa8;stroke-width:3}.hand-jewel{fill:#fff7e8e6}.ptfm-login-panel{width:min(860px,100%);height:518.53125px}.formal-login-panel{grid-template-rows:147.4375px 238.09375px 36px 41px}.formal-login-panel .login-form{width:min(430px,calc(100% - 64px));height:238.09375px;justify-self:center;align-content:center;gap:5px;padding-left:0;padding-right:0}.formal-login-panel .login-form h2{margin-bottom:0}.formal-login-panel .login-form label{gap:3px;font-size:12px}.formal-login-panel .login-form input,.formal-login-panel .login-form select{height:34px}.formal-login-panel .login-form .primary-action{height:36px;margin-top:4px}.formal-login-spacer{height:36px;visibility:hidden}.login-masthead{position:relative;display:grid;gap:6px;border-bottom:1px solid var(--gov-line-strong);padding:20px 32px 18px;background:linear-gradient(90deg,rgba(11,79,138,.09),transparent 70%),var(--gov-surface)}.login-masthead:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--gov-blue) 0 72%,var(--gov-red) 72% 82%,var(--gov-blue-dark) 82% 100%)}.eyebrow{margin:0;color:var(--gov-blue);font-size:12px;font-weight:700;letter-spacing:0}.login-panel h1{margin:0;color:var(--gov-ink);font-size:clamp(24px,3.6vw,31px);line-height:1.16;letter-spacing:0}.login-subtitle{margin:0;color:var(--gov-muted);font-size:14px}.login-form{display:grid;gap:13px;padding:0 32px}.login-form h2{margin:0 0 2px;color:var(--gov-ink);font-size:17px;line-height:1.3}.login-form-header{display:flex;min-height:40px;align-items:center}.test-login-header{justify-content:space-between;gap:16px}.test-login-header select{width:min(220px,52%);height:36px;flex:0 0 auto}.login-form input,.login-form select{height:40px}.login-form .primary-action{width:100%;height:40px;margin-top:2px}.gothic-login-shell{background:radial-gradient(circle at center,#2a18239e 0,#2a18239e 18%,#120e14f0 48%,#030204),#120e14}.gothic-login-shell:before{opacity:1;background:radial-gradient(circle at center,transparent 0 22%,rgba(0,0,0,.22) 48%,rgba(0,0,0,.82) 100%),repeating-linear-gradient(45deg,rgba(212,175,55,.026) 0 1px,transparent 1px 18px),repeating-linear-gradient(-45deg,rgba(76,48,108,.035) 0 1px,transparent 1px 22px)}.gothic-login-shell:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none;opacity:.048;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.78' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E")}.gothic-login-shell .login-panel{border-color:#d4af3757;background:#141216ad;box-shadow:0 26px 90px #0000009e,inset 0 1px #ffffff14;-webkit-backdrop-filter:blur(14px) saturate(.92);backdrop-filter:blur(14px) saturate(.92)}.gothic-login-shell .login-panel:after{border-color:#d4af372e}.gothic-login-shell .login-masthead{border-bottom-color:#d4af3742;background:linear-gradient(90deg,rgba(128,24,36,.18),transparent 72%),#ffffff09}.gothic-login-shell .login-masthead:before{background:linear-gradient(90deg,#8a1e2d 0,#8a1e2d 42%,#d4af37 42%,#d4af37 50%,#3b2858 50%,#3b2858)}.gothic-login-shell .eyebrow,.gothic-login-shell .login-form h2{color:#d4af37}.gothic-login-shell .eyebrow,.gothic-login-shell .login-form input,.gothic-login-shell .login-form select,.gothic-login-shell .login-form .primary-action,.gothic-login-shell .formal-entry-button,.gothic-login-shell .login-footnote{font-family:Cinzel,Playfair Display,Times New Roman,Georgia,serif;font-variant-numeric:lining-nums}.gothic-login-shell .login-form h2{font-family:"Noto Serif SC","Source Han Serif SC",Songti SC,SimSun,serif;font-weight:700}.gothic-login-shell .login-panel h1,.gothic-login-shell .login-form label,.gothic-login-shell .formal-entry-button{color:#f1eadc}.gothic-login-shell .login-panel h1{font-family:"Noto Serif SC","Source Han Serif SC",Songti SC,SimSun,serif;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.58),0 0 22px rgba(212,175,55,.1)}.gothic-login-shell .login-subtitle,.gothic-login-shell .login-footnote{color:#f1eadcb8}.gothic-login-shell .login-form input,.gothic-login-shell .login-form select{border-color:#d4af3742;background:#ffffff0e;color:#f1eadc;box-shadow:inset 0 1px #ffffff0a}.gothic-login-shell .login-form input:focus,.gothic-login-shell .login-form select:focus{border-color:#d4af37ad;background:#ffffff16;outline:2px solid rgba(212,175,55,.16);box-shadow:0 0 0 1px #d4af372e,0 0 18px #d4af371f,inset 0 1px #ffffff0d}.gothic-login-shell .login-form input:-webkit-autofill,.gothic-login-shell .login-form input:-webkit-autofill:hover,.gothic-login-shell .login-form input:-webkit-autofill:focus{-webkit-text-fill-color:#f1eadc;caret-color:#f1eadc;transition:background-color 9999s ease-in-out 0s;box-shadow:0 0 0 1000px #221920f5 inset}.gothic-login-shell .login-form .primary-action{border-color:#d4af3775;background:linear-gradient(180deg,#7d1c2b,#56131f);color:#fff7e8}.gothic-login-shell .formal-entry-button{border-color:#d4af3757;background:#14121694}.gothic-login-shell .login-footnote{border-top-color:#d4af3733;background:#ffffff0a}.gothic-login-shell .login-theme-field{color:#f1eadcb8;font-family:Cinzel,Playfair Display,Times New Roman,Georgia,serif}.gothic-login-shell .login-theme-select{border-color:#d4af3747;background:#141216b8;color:#f1d78a;font-family:Cinzel,Playfair Display,Times New Roman,Georgia,serif}.gothic-login-shell .login-theme-select:hover{border-color:#d4af3794;background:#5c182380;color:#fff7e8}.gothic-login-shell .ptfm-login-grid .login-form:first-child{border-right-color:#d4af372e}.steel-login-shell{background:#0b1016}.steel-login-shell:before{opacity:1;background:radial-gradient(circle at center,#b9c3ca14 0,#b9c3ca14 18%,#0b101633 46%,#040608b8),linear-gradient(180deg,#0406080f,#04060861)}.steel-login-shell .login-panel{border-color:#b9c3ca52;background:#0c1016b8;color:#edf1f4;box-shadow:0 30px 92px #000000ad,inset 0 1px #ffffff14;-webkit-backdrop-filter:blur(12px) saturate(.86);backdrop-filter:blur(12px) saturate(.86)}.steel-login-shell .login-panel:after{border-color:#b9c3ca33}.steel-login-shell .login-masthead{border-bottom-color:#b9c3ca33;background:linear-gradient(90deg,rgba(139,30,24,.22),transparent 68%),#0a0e137a}.steel-login-shell .login-masthead:before{background:linear-gradient(90deg,#8b1e18 0,#8b1e18 42%,#b9c3ca 42%,#b9c3ca 50%,#34424e 50%,#34424e)}.steel-login-shell .eyebrow,.steel-login-shell .login-form h2{color:#cbd5dc}.steel-login-shell .login-panel h1,.steel-login-shell .login-form label,.steel-login-shell .formal-entry-button{color:#f2f5f7}.steel-login-shell .login-panel h1{text-shadow:0 2px 4px rgba(0,0,0,.64),0 0 22px rgba(139,30,24,.18)}.steel-login-shell .login-subtitle,.steel-login-shell .login-footnote,.steel-login-shell .login-theme-field{color:#e2e8edb8}.steel-login-shell .login-form input,.steel-login-shell .login-form select,.steel-login-shell .login-theme-select{border-color:#b9c3ca47;background:#090d12b8;color:#edf1f4;box-shadow:inset 0 1px #ffffff0b}.steel-login-shell .login-form input:focus,.steel-login-shell .login-form select:focus,.steel-login-shell .login-theme-select:focus{border-color:#da4a3cc7;background:#0e131ad6;outline:2px solid rgba(139,30,24,.2);box-shadow:0 0 0 1px #da4a3c38,0 0 18px #8b1e1829}.steel-login-shell .login-form input:-webkit-autofill,.steel-login-shell .login-form input:-webkit-autofill:hover,.steel-login-shell .login-form input:-webkit-autofill:focus{-webkit-text-fill-color:#edf1f4;caret-color:#edf1f4;transition:background-color 9999s ease-in-out 0s;box-shadow:0 0 0 1000px #0e131af5 inset}.steel-login-shell .login-form .primary-action{border-color:#b9c3ca2e;background:linear-gradient(180deg,#9a2a22,#641711);color:#fff;box-shadow:0 12px 28px #8b1e1847}.steel-login-shell .formal-entry-button{border-color:#b9c3ca42;background:#0a0e139e}.steel-login-shell .login-footnote{border-top-color:#b9c3ca2e;background:#0a0e136b}.steel-login-shell .login-theme-select:hover,.steel-login-shell .formal-entry-button:hover{border-color:#da4a3c94;background:#5c18147a;color:#fff}.steel-login-shell .ptfm-login-grid .login-form:first-child{border-right-color:#b9c3ca2e}.mayan-login-shell{background:#08150d;color:#f4ecd1}.mayan-login-shell:before{opacity:1;background:radial-gradient(circle at 52% 18%,#e9c25a2e 0,#e9c25a2e 16%,#08150d29 44%,#030906bd),linear-gradient(180deg,#040f0814,#040a0675)}.mayan-login-shell .login-panel{border-color:#d2a43a61;background:#09180eb8;color:#f4ecd1;box-shadow:0 30px 92px #0000009e,inset 0 1px #fff4ce1a;-webkit-backdrop-filter:blur(13px) saturate(1.05);backdrop-filter:blur(13px) saturate(1.05)}.mayan-login-shell .login-panel:after{border-color:#d2a43a38}.mayan-login-shell .login-masthead{border-bottom-color:#d2a43a47;background:linear-gradient(90deg,rgba(93,120,34,.28),transparent 70%),#05140a75}.mayan-login-shell .login-masthead:before{background:linear-gradient(90deg,#264f23 0,#264f23 42%,#d8a53a 42%,#d8a53a 50%,#132c17 50%,#132c17)}.mayan-login-shell .eyebrow,.mayan-login-shell .login-form h2{color:#e4bc5a}.mayan-login-shell .login-panel h1,.mayan-login-shell .login-form label,.mayan-login-shell .formal-entry-button{color:#fff4cf}.mayan-login-shell .login-panel h1{text-shadow:0 2px 5px rgba(0,0,0,.68),0 0 24px rgba(216,165,58,.16)}.mayan-login-shell .login-subtitle,.mayan-login-shell .login-footnote,.mayan-login-shell .login-theme-field{color:#f4ecd1c2}.mayan-login-shell .login-form input,.mayan-login-shell .login-form select,.mayan-login-shell .login-theme-select{border-color:#d2a43a57;background:#05120ac2;color:#fff4cf;box-shadow:inset 0 1px #fff4ce0d}.mayan-login-shell .login-form input:focus,.mayan-login-shell .login-form select:focus,.mayan-login-shell .login-theme-select:focus{border-color:#e8be56d6;background:#081c0edb;outline:2px solid rgba(216,165,58,.18);box-shadow:0 0 0 1px #e8be5638,0 0 18px #d8a53a24}.mayan-login-shell .login-form input:-webkit-autofill,.mayan-login-shell .login-form input:-webkit-autofill:hover,.mayan-login-shell .login-form input:-webkit-autofill:focus{-webkit-text-fill-color:#fff4cf;caret-color:#fff4cf;transition:background-color 9999s ease-in-out 0s;box-shadow:0 0 0 1000px #081c0ef5 inset}.mayan-login-shell .login-form .primary-action{border-color:#e8be566b;background:linear-gradient(180deg,#6f7f22,#2d551f);color:#fff8dd;box-shadow:0 12px 28px #174a1957}.mayan-login-shell .formal-entry-button{border-color:#d2a43a57;background:#07160ca3}.mayan-login-shell .login-footnote{border-top-color:#d2a43a38;background:#07160c75}.mayan-login-shell .login-theme-select:hover,.mayan-login-shell .formal-entry-button:hover{border-color:#e8be56a3;background:#2c531885;color:#fff8dd}.mayan-login-shell .ptfm-login-grid .login-form:first-child{border-right-color:#d2a43a38}.china-login-shell{background:#eaf6ff;color:#11304a}.china-login-shell:before{opacity:1;background:radial-gradient(circle at 55% 10%,#ffffff61 0,#ffffff61 20%,#eaf6ff1f 48%,#d3ebf957),linear-gradient(180deg,#ffffff3d,#e3f4ff2e)}.china-login-shell .login-panel{border-color:#0f65a852;background:#ffffffc2;color:#11304a;box-shadow:0 26px 82px #1c588133,inset 0 1px #ffffffb8;-webkit-backdrop-filter:blur(14px) saturate(116%);backdrop-filter:blur(14px) saturate(116%)}.china-login-shell .login-panel:after{border-color:#0f65a82e}.china-login-shell .login-masthead{border-bottom-color:#0f65a838;background:linear-gradient(90deg,rgba(217,47,63,.12),transparent 62%),#eaf7ff9e}.china-login-shell .login-masthead:before{background:linear-gradient(90deg,#0f65a8 0,#0f65a8 42%,#fff 42%,#fff 50%,#d92f3f 50%,#d92f3f)}.china-login-shell .eyebrow,.china-login-shell .login-form h2{color:#0f65a8}.china-login-shell .login-panel h1,.china-login-shell .login-form label,.china-login-shell .formal-entry-button{color:#11304a}.china-login-shell .login-panel h1{text-shadow:0 1px 0 rgba(255,255,255,.76)}.china-login-shell .login-subtitle,.china-login-shell .login-footnote,.china-login-shell .login-theme-field{color:#11304ab8}.china-login-shell .login-form input,.china-login-shell .login-form select,.china-login-shell .login-theme-select{border-color:#0f65a847;background:#ffffffc7;color:#11304a;box-shadow:inset 0 1px #ffffffa8}.china-login-shell .login-form input:focus,.china-login-shell .login-form select:focus,.china-login-shell .login-theme-select:focus{border-color:#d92f3f9e;background:#ffffffe6;outline:2px solid rgba(217,47,63,.14);box-shadow:0 0 0 1px #d92f3f29,0 8px 22px #0f65a81f}.china-login-shell .login-form .primary-action{border-color:#0a4e844d;background:linear-gradient(180deg,#0f65a8,#084f86);color:#fff;box-shadow:0 12px 28px #0f65a838}.china-login-shell .formal-entry-button{border-color:#0f65a847;background:#ffffffa8}.china-login-shell .login-footnote{border-top-color:#0f65a82e;background:#ffffff85}.china-login-shell .login-theme-select:hover,.china-login-shell .formal-entry-button:hover{border-color:#d92f3f75;background:#eaf7ffc7;color:#083a66}.china-login-shell .ptfm-login-grid .login-form:first-child{border-right-color:#0f65a82e}.steel-login-shell .totem,.steel-login-shell .totem-fragment{color:#b9c3ca14}.steel-login-shell .fragment-ring{border-color:#8b1e182e}.mayan-login-shell .totem,.mayan-login-shell .totem-fragment{color:#d8a53a17}.mayan-login-shell .fragment-ring{border-color:#d8a53a33}.china-login-shell .totem,.china-login-shell .totem-fragment{color:#0f65a814}.china-login-shell .fragment-ring{border-color:#d92f3f29}.custom-login-shell{background:#0f172a;color:#f8fafc}.custom-login-shell:before{opacity:1;background:radial-gradient(circle at center,#0f172a14 0,#0f172a14 20%,#0f172a2e 48%,#020617c7),linear-gradient(180deg,#0f172a14,#0206176b)}.custom-login-shell .login-panel{border-color:#f2c14e5c;background:#0f172ac2;color:#f8fafc;box-shadow:0 30px 92px #0009,inset 0 1px #ffffff14;-webkit-backdrop-filter:blur(14px) saturate(112%);backdrop-filter:blur(14px) saturate(112%)}.custom-login-shell .login-panel:after{border-color:#f2c14e2e}.custom-login-shell .login-masthead{border-bottom-color:#f2c14e3d;background:linear-gradient(90deg,rgba(242,193,78,.18),transparent 68%),#0f172a7a}.custom-login-shell .login-masthead:before{background:linear-gradient(90deg,#f2c14e 0,#f2c14e 44%,#76d0c4 44%,#76d0c4 52%,#52616b 52%,#52616b)}.custom-login-shell .eyebrow,.custom-login-shell .login-form h2{color:#ffe28a}.custom-login-shell .login-panel h1,.custom-login-shell .login-form label,.custom-login-shell .formal-entry-button{color:#f8fafc}.custom-login-shell .login-subtitle,.custom-login-shell .login-footnote,.custom-login-shell .login-theme-field{color:#e2e8f0bd}.custom-login-shell .login-form input,.custom-login-shell .login-form select,.custom-login-shell .login-theme-select{border-color:#f2c14e4d;background:#0f172ac7;color:#f8fafc}.custom-login-shell .login-form input:focus,.custom-login-shell .login-form select:focus,.custom-login-shell .login-theme-select:focus{border-color:#f2c14eb8;background:#0f172ae0;outline:2px solid rgba(242,193,78,.16)}.custom-login-shell .login-form .primary-action{border-color:#f2c14e70;background:linear-gradient(180deg,#d9a93d,#8d6a1e);color:#111827}.custom-login-shell .formal-entry-button{border-color:#f2c14e4d;background:#0f172aa3}.custom-login-shell .login-footnote{border-top-color:#f2c14e33;background:#0f172a7a}.ptfm-login-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:0 32px}.ptfm-login-grid .login-form{padding:0 18px;border:0;border-radius:0;background:transparent}.ptfm-login-grid .login-form:first-child{border-right:1px solid var(--gov-line);padding-left:0}.ptfm-login-grid .login-form:last-child{padding-right:0}.formal-entry-button{position:static;right:auto;bottom:auto;justify-self:center;min-width:180px;margin:0 32px;padding:0 16px;border-radius:0}.login-footnote{margin:0;border-top:1px solid var(--gov-line);background:var(--gov-surface-muted);color:var(--gov-muted);padding:11px 32px;font-size:12px;text-align:center}.login-footnote-with-theme{display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left}.login-theme-field{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;color:var(--gov-muted);font-size:12px;font-weight:700}.login-theme-select{min-height:28px;border:1px solid rgba(11,79,138,.26);border-radius:0;background:#ffffffb8;color:var(--gov-blue);padding:0 10px;font-size:12px;font-weight:700}.login-theme-select:hover{border-color:#0b4f8a6b;background:#e6f1fdf0}.teacher-home-card,.free-practice-main-panel,.free-practice-settings-drawer,.free-practice-board-card,.report-summary-shell,.report-score-card,.report-radar-card,.review-card,.highlight-panel,.suggestion-panel,.timeline-panel,.sentence-card,.upload-panel,.teacher-video-frame,.teacher-board-roi,.processing-queue,.queue-item,.worker-card{border-radius:0;box-shadow:none}.free-practice-upload-surface{border-radius:0;border-style:solid}.teacher-home-card{border:1px solid var(--role-line-strong);background:var(--role-surface)}.teacher-home-card:before{border-radius:0}.report-summary-shell,.report-score-card,.report-radar-card,.review-card{border:1px solid var(--role-line);background:var(--role-surface)}.system-tab{border-radius:0}.worker-card{border:1px solid var(--role-line-strong)}@media(max-width:720px){.login-panel,.ptfm-login-panel{width:min(100%,calc(100vw - 32px))}.login-masthead,.login-form,.login-footnote{padding-left:20px;padding-right:20px}.login-footnote-with-theme{align-items:flex-start;flex-direction:column;gap:8px}.ptfm-login-grid{grid-template-columns:1fr;gap:18px;padding:0 20px}.ptfm-login-grid .login-form,.ptfm-login-grid .login-form:first-child,.ptfm-login-grid .login-form:last-child{border-right:0;padding:0}.ptfm-login-grid .login-form:first-child{border-bottom:1px solid var(--gov-line);padding-bottom:18px}}.role-shell .admin-create-form,.role-shell .account-editor,.role-shell .system-query,.role-shell .system-key-row,.role-shell .worker-card,.role-shell .model-ops-breakdown,.role-shell .model-ops-stat-list,.role-shell .teacher-book-card,.role-shell .teacher-book-reader,.role-shell .reader-empty,.role-shell .reader-section,.role-shell .campus-teacher-table,.role-shell .campus-task-table,.role-shell .campus-detail-table,.role-shell .teacher-profile-grid,.role-shell .teacher-home-panel,.role-shell .teacher-profile-request-form,.role-shell .free-practice-workspace,.role-shell .free-practice-main-panel,.role-shell .free-practice-settings-drawer,.role-shell .free-practice-board-card,.role-shell .free-practice-upload-surface,.role-shell .upload-panel,.role-shell .upload-box,.role-shell .upload-box-wrap,.role-shell .teacher-video-frame,.role-shell .teacher-board-roi,.role-shell .board-roi-stage,.role-shell .report-workspace,.role-shell .report-card,.role-shell .report-summary-band,.role-shell .report-conclusion,.role-shell .report-review-main,.role-shell .feedback-entry,.role-shell .sentence-event-panel,.role-shell .sentence-event-card,.role-shell .feedback-modal-detail,.role-shell .feedback-timeline-row,.role-shell .weight-score-summary,.role-shell .weight-table-section,.role-shell .weight-reason-panel{border-radius:0!important;box-shadow:none!important}.role-shell .admin-create-form,.role-shell .account-editor,.role-shell .system-query,.role-shell .system-key-row,.role-shell .worker-card,.role-shell .teacher-book-card,.role-shell .teacher-book-reader,.role-shell .reader-empty,.role-shell .reader-section,.role-shell .campus-teacher-table,.role-shell .campus-task-table,.role-shell .campus-detail-table,.role-shell .teacher-profile-grid,.role-shell .teacher-home-panel,.role-shell .teacher-profile-request-form,.role-shell .free-practice-main-panel,.role-shell .free-practice-settings-drawer,.role-shell .free-practice-board-card,.role-shell .upload-panel,.role-shell .teacher-video-frame,.role-shell .teacher-board-roi,.role-shell .report-card,.role-shell .report-conclusion,.role-shell .report-review-main,.role-shell .sentence-event-panel,.role-shell .weight-score-summary,.role-shell .weight-table-section,.role-shell .weight-reason-panel,.role-shell .system-tabs,.role-shell .teacher-book-sidebar{border:1px solid var(--role-line-strong)!important;background:var(--role-surface)!important}.role-shell .system-tab,.role-shell .teacher-book-card{border:0!important;border-bottom:1px solid var(--role-line)!important;background:var(--role-surface)!important}.role-shell .system-tab.active,.role-shell .teacher-book-card.active{background:color-mix(in srgb,var(--role-primary) 10%,var(--role-surface))!important;box-shadow:inset 4px 0 0 var(--role-primary)!important;color:var(--role-primary-dark)!important}.role-shell .worker-card.online{background:color-mix(in srgb,var(--gov-green) 8%,var(--role-surface))!important}.role-shell .worker-card.running{box-shadow:inset 4px 0 0 var(--role-primary)!important}.role-shell .system-json,.role-shell pre{border:1px solid var(--role-line-strong);border-radius:0!important;background:#111827;color:#e5eef7;font-family:var(--gov-font-mono)}.role-shell .model-ops-breakdown{display:grid;grid-template-columns:minmax(140px,180px) minmax(0,1fr);gap:16px;border:1px solid var(--role-line);background:var(--role-surface);padding:14px}.role-shell .model-ops-stack{border:1px solid var(--role-line-strong);border-radius:0!important;background:var(--role-soft)}.role-shell .model-ops-stack-segment{border-radius:0!important}.role-shell .model-ops-breakdown-item,.role-shell .model-ops-stat-list>div{border:1px solid var(--role-line);border-radius:0!important;background:var(--role-soft)}.role-shell .model-ops-number,.role-shell .model-ops-money{font-family:var(--gov-font-mono);font-variant-numeric:tabular-nums}.role-shell .reader-hero{border-bottom:1px solid var(--role-line-strong);background:linear-gradient(90deg,color-mix(in srgb,var(--role-primary) 8%,white),transparent 70%)}.role-shell .reader-meta span{border-radius:0!important;background:var(--role-soft)!important}.role-shell .campus-teacher-head,.role-shell .campus-detail-head,.role-shell .org-table-head,.role-shell .campus-task-head{border:1px solid var(--role-line-strong)!important;border-bottom:0!important;background:color-mix(in srgb,var(--role-primary) 10%,var(--role-soft))!important;color:var(--role-text)!important}.role-shell .campus-teacher-row,.role-shell .campus-detail-row,.role-shell .org-table-row,.role-shell .task-ribbon-row{border:1px solid var(--role-line)!important;border-top:0!important;border-radius:0!important;background:var(--role-surface)!important;box-shadow:none!important}.role-shell .campus-teacher-row:hover,.role-shell .campus-detail-row:hover,.role-shell .org-table-row:hover,.role-shell .task-ribbon-row:hover{background:color-mix(in srgb,var(--role-primary) 5%,var(--role-surface))!important}.role-shell .campus-action-btn,.role-shell .teacher-home-view-btn,.role-shell .model-ops-view-btn{min-height:32px;border:1px solid var(--role-line-strong)!important;border-radius:0!important;background:var(--role-surface)!important;color:var(--role-text)!important;font-weight:600}.role-shell .campus-action-btn.view,.role-shell .teacher-home-view-btn,.role-shell .model-ops-view-btn{border-color:var(--role-primary)!important;color:var(--role-primary-dark)!important}.role-shell .campus-action-btn.delete,.role-shell .campus-action-btn.disable{border-color:var(--gov-red)!important;color:var(--gov-red)!important}.role-shell .teacher-dashboard,.role-shell .teacher-free-practice-e2{background:radial-gradient(circle at 18% 14%,color-mix(in srgb,var(--role-primary) 5%,transparent) 0 2px,transparent 3px),transparent;background-size:64px 64px}.role-body:has(.teacher-free-practice-e2){overflow:hidden}.role-body:has(.pending-task-list-panel),.role-body:has(.history-workspace-panel),.role-body:has(.teacher-supervisor-panel){overflow:hidden}.role-shell .teacher-free-practice-e2{min-height:0;height:100%;grid-template-rows:minmax(0,1fr);align-items:stretch;padding-bottom:0;overflow:hidden}.role-shell .teacher-free-practice-e2>.teacher-free-practice-panel{min-height:0;height:100%;overflow:hidden}.role-shell .teacher-dashboard:has(.pending-task-list-panel),.role-shell .teacher-dashboard:has(.history-workspace-panel),.role-shell .teacher-dashboard:has(.teacher-supervisor-panel){min-height:0;height:100%;grid-template-rows:minmax(0,1fr);align-items:stretch;padding-bottom:0;overflow:hidden}.role-shell .teacher-free-practice-e2>.free-practice-workspace{min-height:0;height:100%}.role-shell .teacher-home-panel,.role-shell .free-practice-main-panel,.role-shell .free-practice-settings-drawer{background:color-mix(in srgb,var(--role-surface) 92%,var(--role-soft))!important}.role-shell .free-practice-panel-head,.role-shell .teacher-video-frame-head,.role-shell .board-toolbar,.role-shell .report-head,.role-shell .weight-table-toolbar{border-bottom:1px solid var(--role-line-strong);background:var(--role-soft)}.role-shell .free-practice-upload-surface,.role-shell .upload-box{border:1px dashed var(--role-line-strong)!important;background:color-mix(in srgb,var(--role-primary) 4%,var(--role-surface))!important}.role-shell .free-practice-upload-surface.has-file,.role-shell .upload-box-has-file{border-style:solid!important;background:var(--role-surface)!important}.role-shell .free-practice-upload-icon,.role-shell .upload-box-title{color:var(--role-primary-dark)!important}.role-shell .free-practice-summary-grid>*,.role-shell .free-practice-settings-stack>*,.role-shell .teacher-home-card{border:1px solid var(--role-line)!important;border-radius:0!important;background:var(--role-surface)!important}.role-shell .free-practice-board-toggle.on{background:color-mix(in srgb,var(--role-primary) 12%,var(--role-surface))!important;box-shadow:inset 4px 0 0 var(--role-primary)!important}.role-shell .board-roi-stage,.role-shell .teacher-frame-preview,.role-shell .upload-video-preview,.role-shell .campus-report-video{border:1px solid var(--role-line-strong)!important;border-radius:0!important;background:#111827!important}.role-shell .board-roi-handle{border-radius:50%!important}.role-shell .report-summary-band,.role-shell .report-lower-grid{gap:12px!important}.role-shell .report-score-card,.role-shell .report-radar-card,.role-shell .report-conclusion,.role-shell .report-card,.role-shell .timeline-panel,.role-shell .sentence-card{border:1px solid var(--role-line-strong)!important;border-radius:0!important;background:var(--role-surface)!important;box-shadow:none!important}.role-shell .report-score,.role-shell .report-tag{color:var(--role-primary-dark)!important;font-family:var(--gov-font-mono)}.role-shell .report-progress,.role-shell .feedback-modal-progress,.role-shell .queue-progress{border-radius:0!important;background:var(--role-line)!important}.role-shell .report-progress span,.role-shell .queue-progress span{border-radius:0!important;background:var(--role-primary)!important}.role-shell .feedback-entry{border:1px solid var(--role-line-strong)!important;background:var(--role-surface)!important}.role-shell .sentence-badge,.role-shell .feedback-page-jump button,.role-shell .sentence-group-expand{border-radius:0!important}.role-shell .weight-table{border-collapse:collapse;width:100%}.role-shell .weight-table th,.role-shell .weight-table td{border:1px solid var(--role-line)!important}@media(max-width:760px){.role-shell .model-ops-breakdown,.role-shell .free-practice-workspace,.role-shell .report-summary-band,.role-shell .report-lower-grid{grid-template-columns:1fr!important}.role-shell .campus-teacher-table,.role-shell .campus-task-table,.role-shell .campus-detail-table,.role-shell .admin-data-table,.role-shell .data-table{overflow-x:auto}}body:has(.role-shell[data-theme=gothic-manor]){min-height:100vh;background-color:#070408;background-image:radial-gradient(circle at center,transparent 30%,rgba(0,0,0,.95) 100%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='900' viewBox='0 0 900 900'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='0.032' stroke-width='1'%3E%3Cpath d='M450 90 H560 V150 H620 V250 H700 V360 H760'/%3E%3Cpath d='M450 90 H340 V150 H280 V250 H200 V360 H140'/%3E%3Cpath d='M450 810 H560 V750 H620 V650 H700 V540 H760'/%3E%3Cpath d='M450 810 H340 V750 H280 V650 H200 V540 H140'/%3E%3Cpath d='M90 450 H188 V390 H286 V330 H388 V220 H450'/%3E%3Cpath d='M810 450 H712 V390 H614 V330 H512 V220 H450'/%3E%3Cpath d='M90 450 H188 V510 H286 V570 H388 V680 H450'/%3E%3Cpath d='M810 450 H712 V510 H614 V570 H512 V680 H450'/%3E%3Cpath d='M450 170 L530 250 H650 V370 L735 450 L650 530 V650 H530 L450 730 L370 650 H250 V530 L165 450 L250 370 V250 H370 Z'/%3E%3Cpath d='M450 255 L505 310 H590 V395 L645 450 L590 505 V590 H505 L450 645 L395 590 H310 V505 L255 450 L310 395 V310 H395 Z'/%3E%3Cpath d='M450 340 L560 450 L450 560 L340 450 Z'/%3E%3Cpath d='M450 90 V255 M450 645 V810 M90 450 H255 M645 450 H810'/%3E%3Ccircle cx='450' cy='450' r='7'/%3E%3Ccircle cx='450' cy='170' r='4'/%3E%3Ccircle cx='450' cy='730' r='4'/%3E%3Ccircle cx='170' cy='450' r='4'/%3E%3Ccircle cx='730' cy='450' r='4'/%3E%3C/g%3E%3C/svg%3E"),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(180deg,rgba(255,255,255,.018) 1px,transparent 1px);background-attachment:fixed;background-position:center;background-size:auto,min(78vw,920px) min(78vw,920px),40px 40px,40px 40px}body:has(.role-shell[data-theme=gothic-manor]) #app{min-height:100vh;background:transparent}body:has(.role-shell[data-theme=gothic-manor]) .role-shell{--role-primary: #d4af37;--role-primary-dark: #f1d78a;--role-accent: #a31a1a;--role-bg: #090a0f;--role-surface: #15161a;--role-soft: #22242b;--role-line: rgba(255, 255, 255, .055);--role-line-strong: rgba(255, 255, 255, .08);--role-text: #f3f4f6;--role-muted: #a1a1aa;min-height:100vh;position:relative;isolation:isolate;background:transparent!important;color:var(--role-text)!important}body:has(.role-shell[data-theme=gothic-manor]) .role-shell:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:.045;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E")}body:has(.role-shell[data-theme=gothic-manor]) .role-sidebar,body:has(.role-shell[data-theme=gothic-manor]) .role-content{position:relative;z-index:1}body:has(.role-shell[data-theme=gothic-manor]) .role-sidebar{background:#030303!important;border-right:1px solid rgba(212,175,55,.15)!important;box-shadow:4px 0 15px #000c!important;isolation:isolate}body:has(.role-shell[data-theme=gothic-manor]) .role-sidebar:before{background:linear-gradient(90deg,#7d1c2b 0,#7d1c2b 42%,#d4af37 42%,#d4af37 58%,#2f2340 58%,#2f2340)!important}body:has(.role-shell[data-theme=gothic-manor]) .role-sidebar:after{content:none!important}body:has(.role-shell[data-theme=gothic-manor]) .role-nav,body:has(.role-shell[data-theme=gothic-manor]) .role-sidebar footer{position:relative;z-index:1}body:has(.role-shell[data-theme=gothic-manor]) .account-menu{position:relative;z-index:40}body:has(.role-shell[data-theme=gothic-manor]) .role-sidebar footer{background:#030303f5!important;border-top-color:#ffffff0e!important;color:#807985!important}body:has(.role-shell[data-theme=gothic-manor]) .role-topbar{background:#08090cd6!important;border-bottom:1px solid rgba(255,255,255,.07)!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}body:has(.role-shell[data-theme=gothic-manor]) .role-body{position:relative;z-index:1;min-height:0;overflow:auto;background:radial-gradient(circle at center,transparent 30%,rgba(0,0,0,.95) 100%),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(180deg,rgba(255,255,255,.018) 1px,transparent 1px),#070408eb!important;background-size:auto,40px 40px,40px 40px,auto!important;background-attachment:fixed,fixed,fixed,scroll!important}body:has(.role-shell[data-theme=gothic-manor]) .role-body:before,body:has(.role-shell[data-theme=gothic-manor]) .role-body:after{content:none!important}body:has(.role-shell[data-theme=gothic-manor]) .role-body>:not(.danmaku-backdrop){position:relative;z-index:1}body:has(.role-shell[data-theme=gothic-manor]) .role-shell .admin-workspace,body:has(.role-shell[data-theme=gothic-manor]) .role-shell .campus-dashboard,body:has(.role-shell[data-theme=gothic-manor]) .role-shell .teacher-dashboard,body:has(.role-shell[data-theme=gothic-manor]) .role-shell .research-dashboard,body:has(.role-shell[data-theme=gothic-manor]) .role-shell .system-workspace,body:has(.role-shell[data-theme=gothic-manor]) .role-shell .model-ops-workspace{padding:calc(var(--gov-page-gutter) + 4px)}body:has(.role-shell[data-theme=gothic-manor]) .role-shell .workspace-grid,body:has(.role-shell[data-theme=gothic-manor]) .role-shell .admin-grid{gap:16px}body:has(.role-shell[data-theme=gothic-manor]) .magitek-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;pointer-events:none;overflow:hidden;mix-blend-mode:screen;opacity:0}body:has(.role-shell[data-theme=gothic-manor]) .magitek-overlay:before,body:has(.role-shell[data-theme=gothic-manor]) .magitek-overlay:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}body:has(.role-shell[data-theme=gothic-manor]) .magitek-overlay:before{z-index:0;opacity:.92;background:radial-gradient(circle at 0% 0%,rgba(139,0,0,.22),transparent 46%),radial-gradient(circle at 100% 100%,rgba(212,175,55,.2),transparent 50%)}body:has(.role-shell[data-theme=gothic-manor]) .magitek-overlay:after{z-index:1;opacity:1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1400' height='1000' viewBox='0 0 1400 1000'%3E%3Cg fill='none' stroke='%23d4af37' stroke-opacity='0.16' stroke-width='1.45'%3E%3Cpath d='M700 70 H880 V142 H970 V270 H1102 V410 H1260'/%3E%3Cpath d='M700 70 H520 V142 H430 V270 H298 V410 H140'/%3E%3Cpath d='M700 930 H880 V858 H970 V730 H1102 V590 H1260'/%3E%3Cpath d='M700 930 H520 V858 H430 V730 H298 V590 H140'/%3E%3Cpath d='M135 500 H300 V430 H462 V354 H614 V212 H700'/%3E%3Cpath d='M1265 500 H1100 V430 H938 V354 H786 V212 H700'/%3E%3Cpath d='M135 500 H300 V570 H462 V646 H614 V788 H700'/%3E%3Cpath d='M1265 500 H1100 V570 H938 V646 H786 V788 H700'/%3E%3Cpath d='M700 130 L812 242 H986 V414 L1110 500 L986 586 V758 H812 L700 870 L588 758 H414 V586 L290 500 L414 414 V242 H588 Z'/%3E%3Cpath d='M700 238 L782 320 H906 V444 L988 500 L906 556 V680 H782 L700 762 L618 680 H494 V556 L412 500 L494 444 V320 H618 Z'/%3E%3Cpath d='M700 344 L856 500 L700 656 L544 500 Z'/%3E%3Cpath d='M700 70 V238 M700 762 V930 M135 500 H412 M988 500 H1265'/%3E%3C/g%3E%3Cg fill='none' stroke='%23a31a1a' stroke-opacity='0.13' stroke-width='3.2'%3E%3Cpath d='M318 246 H520 L616 342 H700 L812 230 H1040'/%3E%3Cpath d='M275 754 H514 L616 658 H700 L804 754 H1120'/%3E%3Cpath d='M170 500 H412 L518 394 H700 L902 596 H1240'/%3E%3Cpath d='M238 364 H390 L504 478 H700 L836 342 H1080'/%3E%3Cpath d='M238 636 H390 L504 522 H700 L836 658 H1080'/%3E%3C/g%3E%3Cg fill='%23d4af37' fill-opacity='0.28'%3E%3Ccircle cx='700' cy='130' r='4'/%3E%3Ccircle cx='700' cy='870' r='4'/%3E%3Ccircle cx='290' cy='500' r='4'/%3E%3Ccircle cx='1110' cy='500' r='4'/%3E%3Ccircle cx='520' cy='246' r='3'/%3E%3Ccircle cx='880' cy='858' r='3'/%3E%3C/g%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:min(118vw,1480px) auto}body:has(.role-shell[data-theme=gothic-manor]) .magitek-particles{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;width:100%;height:100%;opacity:1}body:has(.role-shell[data-theme=gothic-manor]) .magitek-circuit-flow{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;width:100%;height:100%;overflow:visible;pointer-events:none}body:has(.role-shell[data-theme=gothic-manor]) .magitek-circuit-trace,body:has(.role-shell[data-theme=gothic-manor]) .magitek-circuit-active,body:has(.role-shell[data-theme=gothic-manor]) .magitek-circuit-active-core{fill:none;stroke-linecap:round;stroke-linejoin:miter}body:has(.role-shell[data-theme=gothic-manor]) .magitek-circuit-trace{stroke-width:1px;opacity:.28}body:has(.role-shell[data-theme=gothic-manor]) .magitek-circuit-trace.trace-gold{stroke:#d4af37b8;filter:drop-shadow(0 0 6px rgba(212,175,55,.36))}body:has(.role-shell[data-theme=gothic-manor]) .magitek-circuit-trace.trace-red{stroke:#b81c2ca3;filter:drop-shadow(0 0 8px rgba(184,28,44,.34))}body:has(.role-shell[data-theme=gothic-manor]) .magitek-circuit-active,body:has(.role-shell[data-theme=gothic-manor]) .magitek-circuit-active-core{opacity:1}body:has(.role-shell[data-theme=gothic-manor]) .magitek-circuit-active{stroke-width:7px}body:has(.role-shell[data-theme=gothic-manor]) .magitek-circuit-active-core{stroke-width:2.4px}body:has(.role-shell[data-theme=gothic-manor]) .magitek-circuit-active.active-gold,body:has(.role-shell[data-theme=gothic-manor]) .magitek-circuit-active-core.active-gold{stroke:#ffe184fa;filter:drop-shadow(0 0 8px rgba(255,225,132,.95)) drop-shadow(0 0 18px rgba(212,175,55,.72)) drop-shadow(0 0 30px rgba(163,26,26,.18))}body:has(.role-shell[data-theme=gothic-manor]) .magitek-circuit-active.active-gold{stroke:#ffd76c61}body:has(.role-shell[data-theme=gothic-manor]) .magitek-circuit-active-core.active-gold{stroke:#fff5c6fa}body:has(.role-shell[data-theme=gothic-manor]) .magitek-circuit-active.active-red,body:has(.role-shell[data-theme=gothic-manor]) .magitek-circuit-active-core.active-red{stroke:#ff4658f5;filter:drop-shadow(0 0 8px rgba(255,70,88,.9)) drop-shadow(0 0 20px rgba(163,26,26,.72)) drop-shadow(0 0 28px rgba(212,175,55,.18))}body:has(.role-shell[data-theme=gothic-manor]) .magitek-circuit-active.active-red{stroke:#ff374a57}body:has(.role-shell[data-theme=gothic-manor]) .magitek-circuit-active-core.active-red{stroke:#ff97a0fa}@media(prefers-reduced-motion:reduce){body:has(.role-shell[data-theme=gothic-manor]) .magitek-circuit-active,body:has(.role-shell[data-theme=gothic-manor]) .magitek-circuit-active-core,body:has(.role-shell[data-theme=gothic-manor]) .magitek-particles{display:none}}body:has(.role-shell[data-theme=gothic-manor]) .account-button{background:#0e0f12db!important;border-color:#ffffff14!important;color:var(--role-text)!important;box-shadow:none!important}body:has(.role-shell[data-theme=gothic-manor]) .account-avatar{background:linear-gradient(145deg,#16161a,#0b0b0d 68%)!important;border-color:#d4af37a8!important;box-shadow:inset 0 0 18px #d4af3714!important;color:#f8fafc!important}body:has(.role-shell[data-theme=gothic-manor]) .account-copy small,body:has(.role-shell[data-theme=gothic-manor]) .account-chevron,body:has(.role-shell[data-theme=gothic-manor]) .role-topbar small,body:has(.role-shell[data-theme=gothic-manor]) .panel-title span,body:has(.role-shell[data-theme=gothic-manor]) .muted,body:has(.role-shell[data-theme=gothic-manor]) .role-shell small{color:var(--role-muted)!important}body:has(.role-shell[data-theme=gothic-manor]) .role-shell,body:has(.role-shell[data-theme=gothic-manor]) .role-shell p,body:has(.role-shell[data-theme=gothic-manor]) .role-shell span,body:has(.role-shell[data-theme=gothic-manor]) .role-shell strong,body:has(.role-shell[data-theme=gothic-manor]) .role-shell b,body:has(.role-shell[data-theme=gothic-manor]) .role-shell em,body:has(.role-shell[data-theme=gothic-manor]) .role-shell label,body:has(.role-shell[data-theme=gothic-manor]) .role-shell td,body:has(.role-shell[data-theme=gothic-manor]) .role-shell th{color:var(--role-text)}body:has(.role-shell[data-theme=gothic-manor]) .role-shell .muted,body:has(.role-shell[data-theme=gothic-manor]) .role-shell .panel-title span,body:has(.role-shell[data-theme=gothic-manor]) .role-shell .metric-card span,body:has(.role-shell[data-theme=gothic-manor]) .role-shell .metric-card small,body:has(.role-shell[data-theme=gothic-manor]) .role-shell .research-metric-card small,body:has(.role-shell[data-theme=gothic-manor]) .role-shell .admin-data-row small,body:has(.role-shell[data-theme=gothic-manor]) .role-shell .data-row small,body:has(.role-shell[data-theme=gothic-manor]) .role-shell .model-ops-video-cell small,body:has(.role-shell[data-theme=gothic-manor]) .role-shell .model-ops-breakdown-item small,body:has(.role-shell[data-theme=gothic-manor]) .role-shell .model-ops-stat-list small{color:var(--role-muted)!important}body:has(.role-shell[data-theme=gothic-manor]) .account-popover{z-index:200!important;background:#090a0dfa!important;border-color:#ffffff14!important;box-shadow:0 18px 44px #0000005c!important}body:has(.role-shell[data-theme=gothic-manor]) .account-popover button{background:transparent!important;border-bottom-color:#ffffff0e!important;color:var(--role-text)!important}body:has(.role-shell[data-theme=gothic-manor]) .account-popover button:hover{background:#ffffff0e!important}body:has(.role-shell[data-theme=gothic-manor]) .account-popover .danger{color:#ff8f8f!important}body:has(.role-shell[data-theme=gothic-manor]) .role-nav button{background:transparent!important;border-bottom:1px solid rgba(255,255,255,.035)!important;box-shadow:none!important;color:#d4d4d8!important}body:has(.role-shell[data-theme=gothic-manor]) .role-nav button:hover{background:#ffffff0b!important;border-left-color:#d4af3738!important;color:#f8fafc!important}body:has(.role-shell[data-theme=gothic-manor]) .role-nav button.active{background:#8b000075!important;border-left-color:#a31a1a!important;box-shadow:inset 0 0 0 1px #ffffff06!important;color:#fff!important}body:has(.role-shell[data-theme=gothic-manor]) .role-nav button.active span{color:#fff!important}body:has(.role-shell[data-theme=gothic-manor]) .role-panel,body:has(.role-shell[data-theme=gothic-manor]) .metric-card,body:has(.role-shell[data-theme=gothic-manor]) .research-metric-card,body:has(.role-shell[data-theme=gothic-manor]) .admin-filter-shell,body:has(.role-shell[data-theme=gothic-manor]) .admin-data-table,body:has(.role-shell[data-theme=gothic-manor]) .data-table,body:has(.role-shell[data-theme=gothic-manor]) .simple-table,body:has(.role-shell[data-theme=gothic-manor]) .system-shell,body:has(.role-shell[data-theme=gothic-manor]) .system-tabs,body:has(.role-shell[data-theme=gothic-manor]) .system-tab,body:has(.role-shell[data-theme=gothic-manor]) .system-main,body:has(.role-shell[data-theme=gothic-manor]) .model-cost-chart,body:has(.role-shell[data-theme=gothic-manor]) .model-ops-breakdown,body:has(.role-shell[data-theme=gothic-manor]) .model-ops-stat-list,body:has(.role-shell[data-theme=gothic-manor]) .model-ops-breakdown-item,body:has(.role-shell[data-theme=gothic-manor]) .model-ops-stat-list>div,body:has(.role-shell[data-theme=gothic-manor]) .worker-card,body:has(.role-shell[data-theme=gothic-manor]) .teacher-book-card,body:has(.role-shell[data-theme=gothic-manor]) .teacher-book-reader,body:has(.role-shell[data-theme=gothic-manor]) .reader-empty,body:has(.role-shell[data-theme=gothic-manor]) .reader-section,body:has(.role-shell[data-theme=gothic-manor]) .campus-teacher-table,body:has(.role-shell[data-theme=gothic-manor]) .campus-task-table,body:has(.role-shell[data-theme=gothic-manor]) .campus-detail-table,body:has(.role-shell[data-theme=gothic-manor]) .teacher-profile-grid,body:has(.role-shell[data-theme=gothic-manor]) .teacher-home-panel,body:has(.role-shell[data-theme=gothic-manor]) .teacher-profile-request-form,body:has(.role-shell[data-theme=gothic-manor]) .free-practice-main-panel,body:has(.role-shell[data-theme=gothic-manor]) .free-practice-settings-drawer,body:has(.role-shell[data-theme=gothic-manor]) .free-practice-board-card,body:has(.role-shell[data-theme=gothic-manor]) .free-practice-upload-surface,body:has(.role-shell[data-theme=gothic-manor]) .upload-panel,body:has(.role-shell[data-theme=gothic-manor]) .upload-box,body:has(.role-shell[data-theme=gothic-manor]) .teacher-video-frame,body:has(.role-shell[data-theme=gothic-manor]) .teacher-board-roi,body:has(.role-shell[data-theme=gothic-manor]) .report-card,body:has(.role-shell[data-theme=gothic-manor]) .report-summary-shell,body:has(.role-shell[data-theme=gothic-manor]) .report-score-card,body:has(.role-shell[data-theme=gothic-manor]) .report-radar-card,body:has(.role-shell[data-theme=gothic-manor]) .report-conclusion,body:has(.role-shell[data-theme=gothic-manor]) .report-review-main,body:has(.role-shell[data-theme=gothic-manor]) .review-card,body:has(.role-shell[data-theme=gothic-manor]) .highlight-panel,body:has(.role-shell[data-theme=gothic-manor]) .suggestion-panel,body:has(.role-shell[data-theme=gothic-manor]) .timeline-panel,body:has(.role-shell[data-theme=gothic-manor]) .sentence-card,body:has(.role-shell[data-theme=gothic-manor]) .sentence-event-panel,body:has(.role-shell[data-theme=gothic-manor]) .weight-score-summary,body:has(.role-shell[data-theme=gothic-manor]) .weight-table-section,body:has(.role-shell[data-theme=gothic-manor]) .weight-reason-panel{background:#14151ab3!important;border:0!important;border-top:1px solid rgba(255,255,255,.08)!important;color:var(--role-text)!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}body:has(.role-shell[data-theme=gothic-manor]) .role-panel,body:has(.role-shell[data-theme=gothic-manor]) .metric-card,body:has(.role-shell[data-theme=gothic-manor]) .research-metric-card,body:has(.role-shell[data-theme=gothic-manor]) .admin-data-table,body:has(.role-shell[data-theme=gothic-manor]) .data-table,body:has(.role-shell[data-theme=gothic-manor]) .simple-table{box-shadow:inset 0 1px #ffffff08,0 10px 30px #0009!important}body:has(.role-shell[data-theme=gothic-manor]) .panel-title,body:has(.role-shell[data-theme=gothic-manor]) .free-practice-panel-head,body:has(.role-shell[data-theme=gothic-manor]) .teacher-video-frame-head,body:has(.role-shell[data-theme=gothic-manor]) .board-toolbar,body:has(.role-shell[data-theme=gothic-manor]) .report-head,body:has(.role-shell[data-theme=gothic-manor]) .weight-table-toolbar,body:has(.role-shell[data-theme=gothic-manor]) .admin-modal>header,body:has(.role-shell[data-theme=gothic-manor]) .report-modal-head{background:#22242b!important;border-bottom-color:#ffffff12!important;color:var(--role-text)!important}body:has(.role-shell[data-theme=gothic-manor]) .metric-strip{background:#14151ab3!important;border:0!important;border-top:1px solid rgba(255,255,255,.08)!important;box-shadow:inset 0 1px #ffffff08,0 10px 30px #0009!important}body:has(.role-shell[data-theme=gothic-manor]) .metric-card,body:has(.role-shell[data-theme=gothic-manor]) .research-metric-card{background:linear-gradient(180deg,rgba(255,255,255,.022),transparent 70%),#14151ab3!important;border:0!important;border-top:1px solid rgba(255,255,255,.08)!important}body:has(.role-shell[data-theme=gothic-manor]) .metric-card strong,body:has(.role-shell[data-theme=gothic-manor]) .research-metric-card strong,body:has(.role-shell[data-theme=gothic-manor]) .model-ops-number,body:has(.role-shell[data-theme=gothic-manor]) .model-ops-money,body:has(.role-shell[data-theme=gothic-manor]) .metric-list strong{font-family:JetBrains Mono,Fira Code,Consolas,monospace!important;font-variant-numeric:tabular-nums;color:#f8fafc!important;text-shadow:none!important}body:has(.role-shell[data-theme=gothic-manor]) .role-shell .model-ops-nowrap,body:has(.role-shell[data-theme=gothic-manor]) .role-shell .admin-data-row small,body:has(.role-shell[data-theme=gothic-manor]) .role-shell .data-row small,body:has(.role-shell[data-theme=gothic-manor]) .role-shell .reader-meta span,body:has(.role-shell[data-theme=gothic-manor]) .role-shell .model-ops-video-cell small,body:has(.role-shell[data-theme=gothic-manor]) .role-shell .status-pill,body:has(.role-shell[data-theme=gothic-manor]) .role-shell .account-status-pill{font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-variant-numeric:tabular-nums}body:has(.role-shell[data-theme=gothic-manor]) .admin-data-row.head,body:has(.role-shell[data-theme=gothic-manor]) .data-row.head,body:has(.role-shell[data-theme=gothic-manor]) .campus-teacher-head,body:has(.role-shell[data-theme=gothic-manor]) .campus-detail-head,body:has(.role-shell[data-theme=gothic-manor]) .org-table-head,body:has(.role-shell[data-theme=gothic-manor]) .campus-task-head{background:#22242b!important;color:#d4d4d8!important;border-color:#ffffff12!important}body:has(.role-shell[data-theme=gothic-manor]) .admin-data-row,body:has(.role-shell[data-theme=gothic-manor]) .data-row,body:has(.role-shell[data-theme=gothic-manor]) .simple-table>div,body:has(.role-shell[data-theme=gothic-manor]) .campus-teacher-row,body:has(.role-shell[data-theme=gothic-manor]) .campus-detail-row,body:has(.role-shell[data-theme=gothic-manor]) .org-table-row,body:has(.role-shell[data-theme=gothic-manor]) .task-ribbon-row{min-height:50px;background:#15161a!important;border-color:#ffffff0d!important;border-bottom-color:#ffffff0d!important;color:var(--role-text)!important}body:has(.role-shell[data-theme=gothic-manor]) .admin-data-row:not(.head)>span,body:has(.role-shell[data-theme=gothic-manor]) .data-row:not(.head)>span,body:has(.role-shell[data-theme=gothic-manor]) .simple-table>div>span,body:has(.role-shell[data-theme=gothic-manor]) .simple-table>div>strong,body:has(.role-shell[data-theme=gothic-manor]) .campus-teacher-row,body:has(.role-shell[data-theme=gothic-manor]) .campus-detail-row,body:has(.role-shell[data-theme=gothic-manor]) .org-table-row,body:has(.role-shell[data-theme=gothic-manor]) .task-ribbon-row{color:#f3f4f6!important}body:has(.role-shell[data-theme=gothic-manor]) .admin-data-row.head>span,body:has(.role-shell[data-theme=gothic-manor]) .data-row.head>span,body:has(.role-shell[data-theme=gothic-manor]) .campus-teacher-head,body:has(.role-shell[data-theme=gothic-manor]) .campus-detail-head,body:has(.role-shell[data-theme=gothic-manor]) .org-table-head,body:has(.role-shell[data-theme=gothic-manor]) .campus-task-head{color:#d4d4d8!important}body:has(.role-shell[data-theme=gothic-manor]) .admin-data-row>span,body:has(.role-shell[data-theme=gothic-manor]) .data-row>span,body:has(.role-shell[data-theme=gothic-manor]) .simple-table>div>span,body:has(.role-shell[data-theme=gothic-manor]) .simple-table>div>strong{border-right-color:#ffffff0e!important;padding:10px 12px!important}body:has(.role-shell[data-theme=gothic-manor]) .admin-data-row:not(.head):hover,body:has(.role-shell[data-theme=gothic-manor]) .data-row:not(.head):hover,body:has(.role-shell[data-theme=gothic-manor]) .campus-teacher-row:hover,body:has(.role-shell[data-theme=gothic-manor]) .campus-detail-row:hover,body:has(.role-shell[data-theme=gothic-manor]) .org-table-row:hover,body:has(.role-shell[data-theme=gothic-manor]) .task-ribbon-row:hover{background:#2a2b30!important;color:#f3f4f6!important}body:has(.role-shell[data-theme=gothic-manor]) .role-shell input,body:has(.role-shell[data-theme=gothic-manor]) .role-shell select,body:has(.role-shell[data-theme=gothic-manor]) .role-shell textarea{background:#111113!important;border:1px solid rgba(255,255,255,.08)!important;color:var(--role-text)!important;outline:none}body:has(.role-shell[data-theme=gothic-manor]) .role-shell input::placeholder,body:has(.role-shell[data-theme=gothic-manor]) .role-shell textarea::placeholder{color:#9ca3af!important}body:has(.role-shell[data-theme=gothic-manor]) .role-shell input:focus,body:has(.role-shell[data-theme=gothic-manor]) .role-shell select:focus,body:has(.role-shell[data-theme=gothic-manor]) .role-shell textarea:focus{border-color:#d4af377a!important;box-shadow:0 0 0 2px #d4af3714!important}body:has(.role-shell[data-theme=gothic-manor]) .primary-action{border-color:#f1d78a52!important;background:linear-gradient(135deg,#4a1515,#8a1010)!important;color:#fff7e8!important}body:has(.role-shell[data-theme=gothic-manor]) .primary-action:hover:not(:disabled){background:linear-gradient(135deg,#5d1a1a,#a31313)!important}body:has(.role-shell[data-theme=gothic-manor]) .topbar-button,body:has(.role-shell[data-theme=gothic-manor]) .sidebar-notification-button{border-color:#f1d78a57!important;background:linear-gradient(135deg,#4a1515,#8a1010)!important;color:#fff7e8!important}body:has(.role-shell[data-theme=gothic-manor]) .topbar-button:hover,body:has(.role-shell[data-theme=gothic-manor]) .sidebar-notification-button:hover,body:has(.role-shell[data-theme=gothic-manor]) .role-topbar .secondary-action:hover:not(:disabled),body:has(.role-shell[data-theme=gothic-manor]) .panel-title .secondary-action:hover:not(:disabled){background:linear-gradient(135deg,#5d1a1a,#a31313)!important}body:has(.role-shell[data-theme=gothic-manor]) .role-topbar .secondary-action,body:has(.role-shell[data-theme=gothic-manor]) .panel-title .secondary-action{border-color:#f1d78a57!important;background:linear-gradient(135deg,#4a1515,#8a1010)!important;color:#fff7e8!important}body:has(.role-shell[data-theme=gothic-manor]) .secondary-action,body:has(.role-shell[data-theme=gothic-manor]) .secondary-btn,body:has(.role-shell[data-theme=gothic-manor]) .formal-entry-button,body:has(.role-shell[data-theme=gothic-manor]) .admin-modal-close,body:has(.role-shell[data-theme=gothic-manor]) .campus-action-btn,body:has(.role-shell[data-theme=gothic-manor]) .teacher-home-view-btn,body:has(.role-shell[data-theme=gothic-manor]) .model-ops-view-btn{background:#0d0d11db!important;border-color:#ffffff14!important;color:#f3f4f6!important}body:has(.role-shell[data-theme=gothic-manor]) .secondary-action:hover:not(:disabled),body:has(.role-shell[data-theme=gothic-manor]) .secondary-btn:hover:not(:disabled),body:has(.role-shell[data-theme=gothic-manor]) .formal-entry-button:hover:not(:disabled),body:has(.role-shell[data-theme=gothic-manor]) .campus-action-btn:hover:not(:disabled),body:has(.role-shell[data-theme=gothic-manor]) .teacher-home-view-btn:hover:not(:disabled),body:has(.role-shell[data-theme=gothic-manor]) .model-ops-view-btn:hover:not(:disabled){background:#2a2b30!important;border-color:#ffffff24!important;color:#f8fafc!important}body:has(.role-shell[data-theme=gothic-manor]) .status-pill,body:has(.role-shell[data-theme=gothic-manor]) .account-status-pill,body:has(.role-shell[data-theme=gothic-manor]) .account-disabled-badge,body:has(.role-shell[data-theme=gothic-manor]) .notification-dot{background:#0d0d11d6!important;border-color:#d4af372e!important;color:#f3f4f6!important}body:has(.role-shell[data-theme=gothic-manor]) .status-pill.success,body:has(.role-shell[data-theme=gothic-manor]) .account-status-pill:not(.disabled),body:has(.role-shell[data-theme=gothic-manor]) .worker-card.online{background:#34563f2e!important;border-color:#6e9f7c47!important;color:#a9c9ad!important}body:has(.role-shell[data-theme=gothic-manor]) .status-pill.danger,body:has(.role-shell[data-theme=gothic-manor]) .account-status-pill.disabled,body:has(.role-shell[data-theme=gothic-manor]) .account-disabled-badge,body:has(.role-shell[data-theme=gothic-manor]) .primary-action.danger,body:has(.role-shell[data-theme=gothic-manor]) .secondary-action.danger,body:has(.role-shell[data-theme=gothic-manor]) .danger-lite{background:#7e1c2a29!important;border-color:#c4455057!important;color:#ff9b9b!important}body:has(.role-shell[data-theme=gothic-manor]) .role-shell .form-error{border-color:#c445506b!important;border-left-color:#a31a1a!important;background:linear-gradient(90deg,#7e1c2a57,#18191ee0 72%)!important;color:#ffd7d7!important;box-shadow:inset 0 1px #ffffff0a,0 10px 28px #0000003d!important}body:has(.role-shell[data-theme=gothic-manor]) .admin-modal-backdrop,body:has(.role-shell[data-theme=gothic-manor]) .report-modal-backdrop{background:#030305b8!important;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}body:has(.role-shell[data-theme=gothic-manor]) .admin-modal,body:has(.role-shell[data-theme=gothic-manor]) .report-modal{background:#18181b!important;border-color:#d4af3742!important;color:var(--role-text)!important}body:has(.role-shell[data-theme=gothic-manor]) .role-shell .system-json,body:has(.role-shell[data-theme=gothic-manor]) .role-shell pre{background:#111113!important;border-color:#d4af372e!important;color:#f3f4f6!important}body:has(.role-shell[data-theme=gothic-manor]) .model-ops-stack{background:#111113!important;border-color:#d4af3733!important}body:has(.role-shell[data-theme=gothic-manor]) .model-ops-stack-segment{filter:saturate(.58) brightness(.82)}body:has(.role-shell[data-theme=gothic-manor]) .model-ops-stack-segment:nth-child(1){background:#b38d2d!important}body:has(.role-shell[data-theme=gothic-manor]) .model-ops-stack-segment:nth-child(2){background:#6f3b94!important}body:has(.role-shell[data-theme=gothic-manor]) .model-ops-stack-segment:nth-child(3){background:#08745d!important}body:has(.role-shell[data-theme=gothic-manor]) .model-ops-stack-segment:nth-child(4){background:#9f3219!important}body:has(.role-shell[data-theme=gothic-manor]) .model-ops-breakdown-item i{filter:saturate(.62) brightness(.86)}body:has(.role-shell[data-theme=gothic-manor]) .model-ops-breakdown-item:nth-child(1) i{background:#b38d2d!important}body:has(.role-shell[data-theme=gothic-manor]) .model-ops-breakdown-item:nth-child(2) i{background:#6f3b94!important}body:has(.role-shell[data-theme=gothic-manor]) .model-ops-breakdown-item:nth-child(3) i{background:#08745d!important}body:has(.role-shell[data-theme=gothic-manor]) .model-ops-breakdown-item:nth-child(4) i{background:#9f3219!important}body:has(.role-shell[data-theme=gothic-manor]) .model-ops-stack-segment span,body:has(.role-shell[data-theme=gothic-manor]) .model-ops-stack-segment small{color:#f8fafc!important}body:has(.role-shell[data-theme=gothic-manor]) .reader-hero{background:linear-gradient(90deg,rgba(212,175,55,.08),transparent 72%)!important}body:has(.role-shell[data-theme=gothic-manor]) .reader-meta span,body:has(.role-shell[data-theme=gothic-manor]) .metric-list div{background:#1e1e24!important;border-color:#d4af3724!important}body:has(.role-shell[data-theme=gothic-manor]) a,body:has(.role-shell[data-theme=gothic-manor]) .role-shell a{color:#f1d78a}body:has(.role-shell[data-theme=steel-torrent]){min-height:100vh;background-color:#0b1016}body:has(.role-shell[data-theme=steel-torrent]) #app{min-height:100vh;background:transparent}body:has(.role-shell[data-theme=steel-torrent]) .role-shell{--role-primary: #c84538;--role-primary-dark: #f07163;--role-accent: #b9c3ca;--role-bg: #0b1016;--role-surface: rgba(13, 18, 24, .9);--role-soft: rgba(35, 43, 51, .78);--role-line: rgba(185, 195, 202, .14);--role-line-strong: rgba(185, 195, 202, .24);--role-text: #edf1f4;--role-muted: #a8b0b8;min-height:100vh;position:relative;isolation:isolate;background:transparent!important;color:var(--role-text)!important}body:has(.role-shell[data-theme=steel-torrent]) .role-sidebar,body:has(.role-shell[data-theme=steel-torrent]) .role-content{position:relative;z-index:1}body:has(.role-shell[data-theme=steel-torrent]) .role-sidebar{background:#06090de6!important;border-right:1px solid rgba(185,195,202,.18)!important;box-shadow:4px 0 18px #0000008f!important}body:has(.role-shell[data-theme=steel-torrent]) .role-sidebar:before{background:linear-gradient(90deg,#8b1e18 0,#8b1e18 46%,#cbd5dc 46%,#cbd5dc 54%,#34424e 54%,#34424e)!important}body:has(.role-shell[data-theme=steel-torrent]) .role-sidebar footer{background:#06090deb!important;border-top-color:#b9c3ca29!important;color:#e2e8eda3!important}body:has(.role-shell[data-theme=steel-torrent]) .role-topbar{background:#0c1016d1!important;border-bottom:1px solid rgba(185,195,202,.16)!important;box-shadow:0 16px 34px #00000042!important}body:has(.role-shell[data-theme=steel-torrent]) .role-nav button,body:has(.role-shell[data-theme=steel-torrent]) .account-button,body:has(.role-shell[data-theme=steel-torrent]) .account-popover,body:has(.role-shell[data-theme=steel-torrent]) .topbar-button,body:has(.role-shell[data-theme=steel-torrent]) .sidebar-notification-button,body:has(.role-shell[data-theme=steel-torrent]) .theme-grid button,body:has(.role-shell[data-theme=steel-torrent]) .workspace-search input{background:#0d1218b8!important;border-color:#b9c3ca29!important;color:var(--role-text)!important}body:has(.role-shell[data-theme=steel-torrent]) .role-nav button:hover,body:has(.role-shell[data-theme=steel-torrent]) .topbar-button:hover,body:has(.role-shell[data-theme=steel-torrent]) .sidebar-notification-button:hover{background:#8b1e183d!important;border-color:#da4a3c5c!important}body:has(.role-shell[data-theme=steel-torrent]) .role-nav button.active{background:linear-gradient(180deg,#9a2a22,#641711)!important;color:#fff!important;box-shadow:0 14px 28px #8b1e1847!important}body:has(.role-shell[data-theme=steel-torrent]) .role-panel,body:has(.role-shell[data-theme=steel-torrent]) .metric-strip,body:has(.role-shell[data-theme=steel-torrent]) .metric-card,body:has(.role-shell[data-theme=steel-torrent]) .research-metric-card,body:has(.role-shell[data-theme=steel-torrent]) .admin-data-table,body:has(.role-shell[data-theme=steel-torrent]) .data-table,body:has(.role-shell[data-theme=steel-torrent]) .simple-table,body:has(.role-shell[data-theme=steel-torrent]) .admin-filter-shell,body:has(.role-shell[data-theme=steel-torrent]) .metric-list div,body:has(.role-shell[data-theme=steel-torrent]) .system-shell,body:has(.role-shell[data-theme=steel-torrent]) .system-tabs,body:has(.role-shell[data-theme=steel-torrent]) .system-main,body:has(.role-shell[data-theme=steel-torrent]) .model-cost-chart,body:has(.role-shell[data-theme=steel-torrent]) .teacher-home-card,body:has(.role-shell[data-theme=steel-torrent]) .upload-panel,body:has(.role-shell[data-theme=steel-torrent]) .report-summary-shell,body:has(.role-shell[data-theme=steel-torrent]) .review-card{background:#0c1016c7!important;border-color:#b9c3ca2e!important;color:var(--role-text)!important;box-shadow:0 18px 42px #0000003d!important;-webkit-backdrop-filter:blur(4px) saturate(.9);backdrop-filter:blur(4px) saturate(.9)}body:has(.role-shell[data-theme=steel-torrent]) .panel-title,body:has(.role-shell[data-theme=steel-torrent]) .admin-data-row.head,body:has(.role-shell[data-theme=steel-torrent]) .data-row.head,body:has(.role-shell[data-theme=steel-torrent]) .side-drawer>header,body:has(.role-shell[data-theme=steel-torrent]) .admin-modal>header,body:has(.role-shell[data-theme=steel-torrent]) .report-modal-head{background:#171e26d1!important;border-color:#b9c3ca2e!important;color:var(--role-text)!important}body:has(.role-shell[data-theme=steel-torrent]) .admin-data-row,body:has(.role-shell[data-theme=steel-torrent]) .data-row,body:has(.role-shell[data-theme=steel-torrent]) .simple-table>div{border-color:#b9c3ca24!important;color:var(--role-text)!important}body:has(.role-shell[data-theme=steel-torrent]) .role-shell input,body:has(.role-shell[data-theme=steel-torrent]) .role-shell select,body:has(.role-shell[data-theme=steel-torrent]) .role-shell textarea{background:#080c11c7!important;border-color:#b9c3ca33!important;color:var(--role-text)!important}body:has(.role-shell[data-theme=steel-torrent]) .role-shell input::placeholder,body:has(.role-shell[data-theme=steel-torrent]) .role-shell textarea::placeholder{color:#e2e8ed85!important}body:has(.role-shell[data-theme=steel-torrent]) .primary-action{background:linear-gradient(180deg,#9a2a22,#641711)!important;border-color:#b9c3ca29!important;color:#fff!important;box-shadow:0 12px 28px #8b1e1847!important}body:has(.role-shell[data-theme=steel-torrent]) .secondary-action,body:has(.role-shell[data-theme=steel-torrent]) .secondary-btn,body:has(.role-shell[data-theme=steel-torrent]) .formal-entry-button,body:has(.role-shell[data-theme=steel-torrent]) .admin-modal-close{background:#0d1218b8!important;border-color:#b9c3ca33!important;color:#dbe3e8!important}body:has(.role-shell[data-theme=steel-torrent]) .secondary-action:hover:not(:disabled),body:has(.role-shell[data-theme=steel-torrent]) .secondary-btn:hover:not(:disabled),body:has(.role-shell[data-theme=steel-torrent]) .formal-entry-button:hover:not(:disabled){background:#8b1e183d!important;border-color:#da4a3c5c!important;color:#fff!important}
