:root,[data-theme=light]{--rc-white: #ffffff;--rc-black: #000000;--rc-bg-page: #f5f7fa;--rc-bg-surface: #ffffff;--rc-bg-subtle: #fafbfc;--rc-bg-hover: #eef3ff;--rc-bg-student: #fcfdfc;--rc-bg-school-tint: #d0e9fe;--rc-bg-course-tint: #e5f4fe;--rc-bg-table-head: #fafbfc;--rc-primary: #5d87ff;--rc-primary-hover: #5782ff;--rc-primary-active: #4a75f0;--rc-primary-soft: #aec3ff;--rc-primary-deep: #387bde;--rc-primary-deeper: #2569cc;--rc-primary-border: #d6e1ff;--rc-primary-tint: #eef3ff;--rc-primary-wash: #e5ecff;--rc-link: #5d87ff;--rc-primary-text: #2569cc;--rc-success-bg: #e7fcf8;--rc-success: #10a37f;--rc-success-text: #0b7a60;--rc-warning-bg: #fff7e9;--rc-warning: #ffae1f;--rc-warning-text: #a4650b;--rc-danger: #f54a5b;--rc-danger-bg: #fff1f2;--rc-danger-text: #c02b3a;--rc-info-bg: #f4f4f5;--rc-info-text: #7e7e7e;--rc-text-1: #303133;--rc-text-2: #65686d;--rc-text-3: #7e7e7e;--rc-text-4: #868fa1;--rc-text-th: #7b7e86;--rc-text-inverse: #ffffff;--rc-border: #f2f3f4;--rc-border-strong: #edeff1;--rc-border-control: #dcdfe6;--rc-divider: #f4f4f5;--rc-accent: var(--rc-primary);--rc-accent-soft: var(--rc-primary-tint);--rc-accent-text: var(--rc-text-1);--rc-font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;--rc-font-title: 20px;--rc-font-section: 16px;--rc-font-body: 14px;--rc-font-aux: 12px;--rc-font-tiny: 11px;--rc-font-sm: 13px;--rc-font-md: 15px;--rc-font-lg: 18px;--rc-font-xl: 24px;--rc-font-stat: 22px;--rc-line-body: 1.6;--rc-sidebar-w: 230px;--rc-topbar-h: 56px;--rc-radius-card: 6px;--rc-radius-control: 6px;--rc-radius-tag: 4px;--rc-radius-kbd: 3px;--rc-radius-pop: 8px;--rc-radius-pill: 999px;--rc-shadow-card: 0 1px 2px rgba(16, 24, 40, .04);--rc-shadow-pop: 0 8px 24px rgba(16, 24, 40, .1);--rc-gap: 16px;--rc-pad-card: 20px;--rc-row-h: 44px;--rc-th-h: 40px;--rc-control-h: 32px;--rc-control-h-lg: 40px;--rc-login-hero-from: #06428d;--rc-login-hero-to: #44a7ae;--rc-login-slogan: #4de2ff;--rc-radius-login-card: 12px;--rc-login-title: #12223b;--rc-login-welcome: #1688d4;--rc-login-btn: #1181c9;--rc-login-btn-deep: #0d6fae;--rc-login-btn-grad: #1688d4;--rc-login-card: #1384cd;--rc-login-input-bg: #f8fafc;--rc-login-footer: #a1aab7;--rc-login-hero-w: 48%;--rc-login-form-w: 520px;--rc-ink-1: #22314d;--rc-ink-2: #3b4a63;--rc-ink-3: #55627a;--rc-ink-4: #7c889c;--rc-ink-5: #98a3b5;--rc-line-1: #e6ebf3;--rc-line-2: #eceff5;--rc-line-3: #f2f5fa;--rc-wash-1: #f4f6fa;--rc-wash-2: #fafbfd;--rc-wash-3: #f6faff;--rc-purple: #805ad5;--rc-green: #2f855a;--rc-brown: #a4650b;--rc-white-90: rgba(255, 255, 255, .9);--rc-white-16: rgba(255, 255, 255, .16);--rc-white-09: rgba(255, 255, 255, .09);--rc-scrim-30: rgba(0, 0, 0, .3);--rc-scrim-40: rgba(0, 0, 0, .4);--rc-scrim-45: rgba(0, 0, 0, .45);--rc-scrim-55: rgba(0, 0, 0, .55);--rc-ink-shadow: rgba(20, 40, 80, .09);--rc-ink-shadow-soft: rgba(20, 40, 80, .07);--rc-bar-bg: var(--rc-ink-1);--rc-bar-fg: #ffffff;--rc-bar-chip-fg: #cfe0ff;--rc-bar-chip-border: #4a6fa8;--rc-on-brand: #ffffff;--rc-on-warning: #4a3000;--rc-on-green: #ffffff;--rc-on-purple: #ffffff;--rc-on-bright: #ffffff;--rc-avatar-bg: #2569cc;--rc-brand-grad-from: #2569cc;--rc-brand-grad-to: #387bde;--rc-brand-soft-fg: #e8f0ff;--el-color-primary: var(--rc-primary);--el-color-primary-light-3: color-mix(in srgb, var(--rc-primary) 70%, var(--rc-white));--el-color-primary-light-5: color-mix(in srgb, var(--rc-primary) 50%, var(--rc-white));--el-color-primary-light-7: color-mix(in srgb, var(--rc-primary) 30%, var(--rc-white));--el-color-primary-light-8: color-mix(in srgb, var(--rc-primary) 20%, var(--rc-white));--el-color-primary-light-9: var(--rc-primary-tint);--el-color-primary-dark-2: var(--rc-primary-hover);--el-color-success: var(--rc-success);--el-color-warning: var(--rc-warning);--el-color-danger: var(--rc-danger);--el-color-info: var(--rc-text-4);--el-text-color-primary: var(--rc-text-1);--el-text-color-regular: var(--rc-text-2);--el-text-color-secondary: var(--rc-text-3);--el-text-color-placeholder: var(--rc-text-4);--el-border-color: var(--rc-border-control);--el-border-color-light: var(--rc-border);--el-border-color-lighter: var(--rc-border);--el-border-color-extra-light: var(--rc-border);--el-fill-color-blank: var(--rc-bg-surface);--el-fill-color-light: var(--rc-bg-subtle);--el-fill-color: var(--rc-bg-subtle);--el-fill-color-lighter: var(--rc-bg-subtle);--el-fill-color-extra-light: var(--rc-bg-page);--el-fill-color-dark: var(--rc-bg-hover);--el-fill-color-darker: var(--rc-bg-hover);--el-bg-color-overlay: var(--rc-bg-surface);--el-mask-color: rgba(255, 255, 255, .9);--el-mask-color-extra-light: rgba(255, 255, 255, .3);--el-avatar-bg-color: var(--rc-avatar-bg);--el-avatar-text-color: #ffffff;--el-text-color-disabled: var(--rc-text-4);--el-disabled-text-color: var(--rc-text-4);--el-disabled-bg-color: var(--rc-bg-subtle);--el-disabled-border-color: var(--rc-border-control);--el-color-info-light-9: var(--rc-info-bg);--el-bg-color: var(--rc-bg-surface);--el-bg-color-page: var(--rc-bg-page);--el-border-radius-base: var(--rc-radius-control);--el-border-radius-small: var(--rc-radius-tag);--el-border-radius-round: var(--rc-radius-pill);--el-font-family: var(--rc-font-family);--el-font-size-base: var(--rc-font-body)}[data-role=school]{--rc-accent: #667bd8;--rc-accent-soft: var(--rc-bg-school-tint);--rc-accent-text: #1e355d}[data-role=student]{--rc-accent: #4a81fa;--rc-accent-soft: var(--rc-bg-course-tint);--rc-accent-text: var(--rc-text-1);--rc-bg-page: var(--rc-bg-student)}[data-role=platform],[data-role=teacher]{--rc-accent: var(--rc-primary);--rc-accent-soft: var(--rc-primary-tint);--rc-accent-text: var(--rc-text-1)}html[data-theme=dark]{--rc-white: #e3e3e8;--rc-black: #110f0f;--rc-bg-page: #110f0f;--rc-bg-surface: #17171c;--el-color-white: var(--rc-bg-surface);--el-color-black: var(--rc-text-1);--el-bg-color: var(--rc-bg-surface);--el-bg-color-page: var(--rc-bg-page);--el-fill-color-blank: var(--rc-bg-surface);--rc-bg-subtle: #161618;--rc-bg-hover: #27282d;--rc-bg-student: #131316;--rc-bg-school-tint: #1d2b3d;--rc-bg-course-tint: #1a2c38;--rc-bg-table-head: #141414;--rc-primary-soft: #3a5fa8;--rc-primary-tint: #1a2745;--rc-primary-wash: #1e2c4d;--rc-primary-border: #2c3f6b;--rc-success-bg: #0f2a24;--rc-success-text: #4fd1ae;--rc-warning-bg: #2a2113;--rc-warning-text: #ffc76b;--rc-danger-bg: #2b1518;--rc-danger-text: #ff8692;--rc-info-bg: #232329;--rc-info-text: #a3a6ad;--rc-text-1: #e3e3e8;--rc-text-2: #c7c7d1;--rc-text-3: #ababba;--rc-text-4: #8f8fa3;--rc-text-th: #a3a6ad;--rc-text-inverse: #110f0f;--rc-border: #2a2a33;--rc-border-strong: #393946;--rc-border-control: #393946;--rc-divider: #26262f;--rc-primary-text: #a3b8ff;--rc-accent: var(--rc-primary);--rc-accent-soft: var(--rc-primary-tint);--rc-accent-text: var(--rc-text-1);--rc-ink-1: #e3e3e8;--rc-ink-2: #c7c7d1;--rc-ink-3: #ababba;--rc-ink-4: #8f8fa3;--rc-ink-5: #73738c;--rc-line-1: #393946;--rc-line-2: #2f2f3a;--rc-line-3: #26262f;--rc-wash-1: #1d1d24;--rc-wash-2: #17171c;--rc-wash-3: #1a1a22;--rc-purple: #a98be8;--rc-green: #4fd1ae;--rc-brown: #ffc76b;--rc-white-90: rgba(227, 227, 232, .9);--rc-white-16: rgba(227, 227, 232, .16);--rc-white-09: rgba(227, 227, 232, .09);--rc-ink-shadow: rgba(0, 0, 0, .4);--rc-ink-shadow-soft: rgba(0, 0, 0, .3);--rc-bar-bg: #0b0d16;--rc-bar-fg: #e3e3e8;--rc-bar-chip-fg: #c7d4ff;--rc-bar-chip-border: #3a4c74;--rc-on-brand: #ffffff;--rc-on-warning: #2a1c00;--rc-on-green: #082a22;--rc-on-purple: #1a1030;--rc-on-bright: #110f0f;--rc-avatar-bg: #3b6ad6;--rc-brand-grad-from: #14356e;--rc-brand-grad-to: #1d4a94;--rc-brand-soft-fg: #cfe0ff;--rc-shadow-card: 0 1px 2px rgba(0, 0, 0, .5);--rc-shadow-pop: 0 8px 24px rgba(0, 0, 0, .6);--rc-login-input-bg: #1a1a22;--rc-login-title: #e3e3e8;--rc-login-welcome: #7fb4ff;--rc-login-footer: #73738c;--el-color-primary: var(--rc-primary);--el-color-primary-light-3: color-mix(in srgb, var(--rc-primary) 70%, var(--rc-white));--el-color-primary-light-5: color-mix(in srgb, var(--rc-primary) 50%, var(--rc-white));--el-color-primary-light-7: color-mix(in srgb, var(--rc-primary) 30%, var(--rc-white));--el-color-primary-light-8: color-mix(in srgb, var(--rc-primary) 20%, var(--rc-white));--el-color-primary-light-9: var(--rc-primary-tint);--el-color-primary-dark-2: var(--rc-primary-hover);--el-bg-color-overlay: #1c1c22;--el-mask-color: rgba(0, 0, 0, .72);--el-mask-color-extra-light: rgba(0, 0, 0, .3);--el-fill-color-darker: #232329;--el-fill-color-dark: #26262f;--el-fill-color: #232329;--el-fill-color-light: #1d1d24;--el-fill-color-lighter: #1b1b21;--el-fill-color-extra-light: #191920;--el-color-info-light-9: #232329;--el-avatar-bg-color: var(--rc-avatar-bg);--el-avatar-text-color: #ffffff;--el-text-color-disabled: var(--rc-text-4);--el-disabled-text-color: var(--rc-text-4);--el-disabled-bg-color: #1d1d24;--el-disabled-border-color: #2a2a33}[data-theme=dark][data-role=school],[data-theme=dark] [data-role=school]{--rc-accent: #8a9cf0;--rc-accent-soft: #1e2745;--rc-accent-text: #c7d4ff}[data-theme=dark][data-role=student],[data-theme=dark] [data-role=student]{--rc-accent: #6f9bff;--rc-accent-soft: #1a2c4d;--rc-accent-text: var(--rc-text-1);--rc-bg-page: #131316}[data-theme=dark][data-role=platform],[data-theme=dark][data-role=teacher],[data-theme=dark] [data-role=platform],[data-theme=dark] [data-role=teacher]{--rc-accent: var(--rc-primary);--rc-accent-soft: var(--rc-primary-tint);--rc-accent-text: var(--rc-text-1)}[data-theme=stage]{--rc-stage-bg: #071425;--rc-stage-topbar: #030617;--rc-stage-panel: #0b1628;--rc-stage-card: #16253a;--rc-stage-border: #172339;--rc-stage-border-soft: #1d2c44;--rc-stage-orange: #f0975d;--rc-stage-orange-soft: #fdc094;--rc-stage-orange-wash: #ef9960;--rc-stage-blue: #065985;--rc-stage-blue-light: #2d77a1;--rc-stage-cyan: #3dd6c0;--rc-stage-surface: #fdfcf8;--rc-stage-text: #fdfcf8;--rc-stage-text-dim: #9fb0c6;--rc-stage-white: #ffffff;--rc-stage-red: #f54a5b;--rc-stage-green: #22c55e;--rc-stage-amber: #fbbf24;--rc-stage-ink: #071425;--rc-stage-scrim: rgba(3, 6, 23, .72);--rc-stage-highlight: rgba(253, 192, 148, .16);--rc-stage-shadow: 0 8px 28px rgba(0, 0, 0, .36);--rc-stage-radius: 8px;--rc-stage-0: #030617;--rc-stage-1: #071425;--rc-stage-2: #0b1628;--rc-stage-3: #101d33;--rc-stage-4: #16253a;--rc-stage-5: #1d2f49;--rc-stage-6: #23354f;--rc-stage-7: #2e4767;--rc-stage-8: #3a5273;--rc-stage-text-1: #fdfcf8;--rc-stage-text-2: #cfe0f5;--rc-stage-text-3: #9fb0c8;--rc-stage-text-4: #7e93ae;--rc-stage-orange-1: #f0975d;--rc-stage-orange-2: #fdc094;--rc-stage-orange-3: #f0c9a4;--rc-stage-blue-1: #065985;--rc-stage-blue-2: #3d7fc4;--rc-stage-blue-3: #7fc4ff;--rc-stage-line-1: #27364d;--rc-stage-line-2: #33465f;--rc-stage-wash-1: #f2f7fd;--rc-stage-wash-2: #eaf3ff;--rc-stage-success-wash: #e7f7ee;--rc-stage-warning-wash: #fff6ea;--rc-stage-transparent-09: rgba(255, 255, 255, .09);--rc-stage-transparent-16: rgba(255, 255, 255, .16);--rc-stage-scrim-72: rgba(5, 12, 24, .72)}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}html{color-scheme:light}html[data-theme=dark],html[data-theme=stage]{color-scheme:dark}body{font-family:var(--rc-font-family);font-size:var(--rc-font-body);line-height:var(--rc-line-body);color:var(--rc-text-1);background:var(--rc-bg-page);-webkit-font-smoothing:antialiased}button,select,input,textarea{color:inherit}select{background-color:var(--rc-bg-surface)}option{background-color:var(--rc-bg-surface);color:var(--rc-text-1)}a{color:var(--rc-link);text-decoration:none}a:hover{color:var(--rc-primary-hover)}.rc-page{min-height:100vh;padding:var(--rc-gap);background:var(--rc-bg-page)}.rc-page--plain{background:var(--rc-bg-surface)}.rc-page-head{display:flex;align-items:center;justify-content:space-between;gap:var(--rc-gap);margin-bottom:var(--rc-gap)}.rc-page-title{font-size:var(--rc-font-title);font-weight:700;color:var(--rc-text-1);margin:0}.rc-page-desc{font-size:var(--rc-font-aux);color:var(--rc-text-3);margin-top:4px}.rc-section-title{font-size:var(--rc-font-section);font-weight:600;color:var(--rc-text-1);margin:0 0 12px}.rc-card{background:var(--rc-bg-surface);border:1px solid var(--rc-border);border-radius:var(--rc-radius-card);box-shadow:var(--rc-shadow-card);padding:var(--rc-pad-card)}.rc-card--flush{padding:0;overflow:hidden}.rc-card+.rc-card{margin-top:var(--rc-gap)}.rc-grid{display:grid;gap:var(--rc-gap)}.rc-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.rc-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.rc-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.rc-grid--5{grid-template-columns:repeat(5,minmax(0,1fr))}.rc-stat-card{background:var(--rc-bg-surface);border:1px solid var(--rc-border);border-radius:var(--rc-radius-card);box-shadow:var(--rc-shadow-card);padding:16px 18px;display:flex;align-items:center;gap:12px}.rc-stat-index{width:28px;height:28px;flex:none;display:grid;place-items:center;border-radius:var(--rc-radius-control);background:var(--rc-accent-soft);color:var(--rc-primary-text);font-size:var(--rc-font-aux);font-weight:700}.rc-stat-label{font-size:var(--rc-font-aux);color:var(--rc-text-3)}.rc-stat-value{font-size:22px;font-weight:700;color:var(--rc-text-1);line-height:1.2}.rc-stat-foot{font-size:var(--rc-font-tiny);color:var(--rc-text-4)}.rc-banner{border-radius:var(--rc-radius-card);padding:24px 28px;color:var(--rc-on-brand);background:linear-gradient(100deg,var(--rc-brand-grad-from),var(--rc-brand-grad-to));box-shadow:var(--rc-shadow-card)}.rc-banner__eyebrow{font-size:var(--rc-font-tiny);letter-spacing:1.5px;opacity:.8}.rc-banner__title{font-size:26px;font-weight:700;margin:6px 0 4px}.rc-banner__desc{font-size:var(--rc-font-aux);opacity:.85}.rc-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--rc-control-h);padding:0 14px;border-radius:var(--rc-radius-control);border:1px solid transparent;font-family:inherit;font-size:var(--rc-font-aux);font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}.rc-btn--lg{height:var(--rc-control-h-lg);font-size:var(--rc-font-body);padding:0 20px}.rc-btn--block{width:100%}.rc-btn--primary{background:var(--rc-accent);color:var(--rc-on-brand)}.rc-btn--primary:hover{background:var(--rc-primary-hover)}.rc-btn--ghost{background:var(--rc-bg-surface);color:var(--rc-primary-text);border-color:var(--rc-primary-border)}.rc-btn--ghost:hover{background:var(--rc-accent-soft)}.rc-btn--plain{background:var(--rc-bg-subtle);color:var(--rc-text-2);border-color:var(--rc-border-control)}.rc-btn--plain:hover{border-color:var(--rc-accent);color:var(--rc-accent)}.rc-btn--text{background:transparent;color:var(--rc-primary-text);padding:0 6px}.rc-btn--text:hover{background:var(--rc-accent-soft)}.rc-btn--danger{background:var(--rc-danger);color:var(--rc-on-brand)}.rc-btn:disabled{opacity:.5;cursor:not-allowed}.rc-tag{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--rc-radius-tag);font-size:var(--rc-font-tiny);line-height:1.7;background:var(--rc-info-bg);color:var(--rc-info-text);white-space:nowrap}.rc-tag--primary{background:var(--rc-accent-soft);color:var(--rc-primary-text)}.rc-tag--success{background:var(--rc-success-bg);color:var(--rc-success-text)}.rc-tag--warning{background:var(--rc-warning-bg);color:var(--rc-warning-text)}.rc-tag--danger{background:var(--rc-danger-bg);color:var(--rc-danger-text)}.rc-alert{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:var(--rc-radius-control);font-size:var(--rc-font-aux)}.rc-alert--success{background:var(--rc-success-bg);color:var(--rc-success-text)}.rc-alert--warning{background:var(--rc-warning-bg);color:var(--rc-warning-text)}.rc-alert--info{background:var(--rc-accent-soft);color:var(--rc-accent-text)}.rc-table{width:100%;border-collapse:collapse;font-size:var(--rc-font-aux)}.rc-table th{height:var(--rc-th-h);padding:0 12px;text-align:left;background:var(--rc-bg-table-head);color:var(--rc-text-th);font-weight:500;border-bottom:1px solid var(--rc-border);white-space:nowrap}.rc-table td{height:var(--rc-row-h);padding:8px 12px;color:var(--rc-text-2);border-bottom:1px solid var(--rc-border);vertical-align:middle}.rc-table tbody tr:hover td{background:var(--rc-bg-subtle)}.rc-table .rc-table__primary{color:var(--rc-text-1);font-weight:600}.rc-table .rc-table__muted{color:var(--rc-text-4)}.rc-field{display:flex;flex-direction:column;gap:6px}.rc-field__label{font-size:var(--rc-font-aux);color:var(--rc-text-3)}.rc-input,.rc-select{height:var(--rc-control-h-lg);padding:0 12px;border:1px solid var(--rc-border-control);border-radius:var(--rc-radius-control);background:var(--rc-bg-surface);color:var(--rc-text-1);font-family:inherit;font-size:var(--rc-font-aux);outline:none}.rc-input:focus,.rc-select:focus{border-color:var(--rc-accent);box-shadow:0 0 0 2px var(--rc-accent-soft)}.rc-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.rc-tabs{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.rc-tab{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border:1px solid var(--rc-border);border-radius:var(--rc-radius-tag);background:var(--rc-bg-surface);color:var(--rc-text-3);font-size:var(--rc-font-tiny);cursor:pointer}.rc-tab--active{background:var(--rc-accent-soft);color:var(--rc-primary-text);border-color:var(--rc-primary-border)}.rc-muted{color:var(--rc-text-3)}.rc-dim{color:var(--rc-text-4)}.rc-strong{color:var(--rc-text-1);font-weight:600}.rc-mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.rc-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rc-row{display:flex;align-items:center;gap:10px}.rc-row--between{justify-content:space-between}.rc-spacer{flex:1}.rc-divider{height:1px;background:var(--rc-divider);margin:12px 0}.rc-code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:var(--rc-font-tiny);color:var(--rc-primary-text);background:var(--rc-accent-soft);padding:2px 6px;border-radius:var(--rc-radius-tag)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--rc-border-strong);border-radius:var(--rc-radius-pill)}::-webkit-scrollbar-track{background:transparent}.el-card{border-radius:var(--rc-radius-card);border-color:var(--rc-border);box-shadow:var(--rc-shadow-card)}.el-button{border-radius:var(--rc-radius-control);font-weight:500}.el-input__wrapper,.el-select__wrapper{border-radius:var(--rc-radius-control)}.el-table th.el-table__cell{background:var(--rc-bg-table-head);color:var(--rc-text-3);font-weight:500}.el-table td.el-table__cell{border-bottom-color:var(--rc-border)}.el-tabs__item{font-size:var(--rc-font-body)}.el-alert--info .el-alert__title,.el-alert--info .el-alert__description,.el-alert.el-alert--info.is-light,.el-alert.el-alert--info.is-light .el-alert__title,.el-alert.el-alert--info.is-light .el-alert__description{color:var(--rc-text-2)}.el-alert__title{font-weight:600}.el-dialog{border-radius:var(--rc-radius-card)}.el-tag{border-radius:var(--rc-radius-tag)}@media (max-width: 900px){.rc-grid--5,.rc-grid--4,.rc-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 620px){.rc-grid--5,.rc-grid--4,.rc-grid--3,.rc-grid--2{grid-template-columns:1fr}}.cp-mask[data-v-3ef6f885]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;background:var(--rc-scrim-45);display:flex;justify-content:center;align-items:flex-start;padding-top:12vh}.cp-panel[data-v-3ef6f885]{width:640px;max-width:92vw;max-height:68vh;display:flex;flex-direction:column;background:var(--rc-bg-surface);border:1px solid var(--rc-border);border-radius:var(--rc-radius-card);box-shadow:0 18px 48px var(--rc-ink-shadow);overflow:hidden}.cp-head[data-v-3ef6f885]{display:flex;align-items:center;gap:10px;padding:0 var(--rc-pad-card);height:52px;border-bottom:1px solid var(--rc-divider)}.cp-ico[data-v-3ef6f885]{font-size:var(--rc-font-lg);color:var(--rc-text-3)}.cp-input[data-v-3ef6f885]{flex:1;border:0;outline:0;background:transparent;color:var(--rc-text-1);font-size:var(--rc-font-body);font-family:var(--rc-font-family);height:100%}.cp-input[data-v-3ef6f885]::placeholder{color:var(--rc-text-4)}.cp-esc[data-v-3ef6f885]{font-size:var(--rc-font-tiny);color:var(--rc-text-4);border:1px solid var(--rc-border);border-radius:var(--rc-radius-kbd);padding:1px 5px}.cp-body[data-v-3ef6f885]{flex:1;overflow-y:auto;padding:6px 0 8px}.cp-state[data-v-3ef6f885]{padding:28px 0;text-align:center;color:var(--rc-text-3);font-size:var(--rc-font-sm)}.cp-tips[data-v-3ef6f885]{padding:10px var(--rc-pad-card) 4px}.cp-tip-title[data-v-3ef6f885]{font-size:var(--rc-font-sm);color:var(--rc-text-3);margin-bottom:8px}.cp-chips[data-v-3ef6f885]{display:flex;flex-wrap:wrap;gap:8px}.cp-chip[data-v-3ef6f885]{border:1px solid var(--rc-border);background:var(--rc-bg-subtle);color:var(--rc-text-2);border-radius:var(--rc-radius-card);padding:4px 10px;font-size:var(--rc-font-sm);cursor:pointer}.cp-chip[data-v-3ef6f885]:hover{border-color:var(--rc-primary-border);color:var(--rc-primary)}.cp-tip-note[data-v-3ef6f885]{margin-top:12px;font-size:var(--rc-font-tiny);color:var(--rc-text-4)}.cp-group[data-v-3ef6f885]{padding:4px 0}.cp-group-title[data-v-3ef6f885]{padding:6px var(--rc-pad-card);font-size:var(--rc-font-tiny);color:var(--rc-text-th);letter-spacing:.4px}.cp-item[data-v-3ef6f885]{width:100%;display:flex;align-items:center;gap:10px;padding:8px var(--rc-pad-card);border:0;background:transparent;text-align:left;cursor:pointer;font-family:var(--rc-font-family)}.cp-item.on[data-v-3ef6f885]{background:var(--rc-bg-hover)}.cp-badge[data-v-3ef6f885]{flex:0 0 auto;font-size:var(--rc-font-tiny);color:var(--rc-primary);border:1px solid var(--rc-primary-border);background:var(--rc-accent-soft);border-radius:var(--rc-radius-kbd);padding:1px 6px}.cp-badge.alt[data-v-3ef6f885]{color:var(--rc-success-text);border-color:var(--rc-success);background:var(--rc-success-bg)}.cp-main[data-v-3ef6f885]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cp-title[data-v-3ef6f885]{font-size:var(--rc-font-body);color:var(--rc-text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cp-col[data-v-3ef6f885]{color:var(--rc-text-4);font-size:var(--rc-font-tiny)}.cp-sub[data-v-3ef6f885]{font-size:var(--rc-font-tiny);color:var(--rc-text-4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cp-go[data-v-3ef6f885]{flex:0 0 auto;font-size:var(--rc-font-tiny);color:var(--rc-text-4)}.cp-item.on .cp-go[data-v-3ef6f885]{color:var(--rc-primary)}.cp-hl[data-v-3ef6f885]{background:transparent;color:var(--rc-primary);font-weight:600}.cp-foot[data-v-3ef6f885]{display:flex;align-items:center;gap:12px;padding:0 var(--rc-pad-card);height:36px;border-top:1px solid var(--rc-divider);font-size:var(--rc-font-tiny);color:var(--rc-text-4)}.cp-fk[data-v-3ef6f885]{display:inline-flex;align-items:center;gap:3px}.cp-foot kbd[data-v-3ef6f885]{border:1px solid var(--rc-border);border-radius:var(--rc-radius-kbd);padding:0 4px;font-family:var(--rc-font-family);color:var(--rc-text-3)}.cp-scope[data-v-3ef6f885]{margin-left:auto}.nb[data-v-8fadc6f4]{position:relative;display:inline-flex}.nb-btn[data-v-8fadc6f4]{position:relative;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--rc-border);background:var(--rc-bg-surface);color:var(--rc-text-2);border-radius:50%;cursor:pointer}.nb-btn[data-v-8fadc6f4]:hover{border-color:var(--rc-primary-border);color:var(--rc-primary)}.nb-dot[data-v-8fadc6f4]{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:var(--rc-radius-pop);background:var(--rc-danger);color:var(--rc-text-inverse);font-size:var(--rc-font-tiny);line-height:16px;text-align:center}.nb-panel[data-v-8fadc6f4]{position:absolute;top:40px;right:0;width:340px;max-height:60vh;display:flex;flex-direction:column;background:var(--rc-bg-surface);border:1px solid var(--rc-border);border-radius:var(--rc-radius-card);box-shadow:0 14px 36px var(--rc-ink-shadow);z-index:2500;overflow:hidden}.nb-head[data-v-8fadc6f4]{display:flex;align-items:center;justify-content:space-between;padding:0 var(--rc-pad-card);height:40px;border-bottom:1px solid var(--rc-divider)}.nb-title[data-v-8fadc6f4]{font-size:var(--rc-font-sm);color:var(--rc-text-1);font-weight:600}.nb-all[data-v-8fadc6f4]{border:0;background:transparent;color:var(--rc-primary);font-size:var(--rc-font-tiny);cursor:pointer;font-family:var(--rc-font-family)}.nb-all[data-v-8fadc6f4]:disabled{color:var(--rc-text-4);cursor:default}.nb-list[data-v-8fadc6f4]{flex:1;overflow-y:auto}.nb-state[data-v-8fadc6f4]{padding:24px 0;text-align:center;color:var(--rc-text-3);font-size:var(--rc-font-sm)}.nb-item[data-v-8fadc6f4]{width:100%;display:flex;align-items:flex-start;gap:8px;padding:10px var(--rc-pad-card);border:0;border-bottom:1px solid var(--rc-divider);background:transparent;text-align:left;cursor:pointer;font-family:var(--rc-font-family)}.nb-item[data-v-8fadc6f4]:hover{background:var(--rc-bg-hover)}.nb-item.read[data-v-8fadc6f4]{opacity:.6}.nb-tag[data-v-8fadc6f4]{flex:0 0 auto;margin-top:1px;font-size:var(--rc-font-tiny);border-radius:var(--rc-radius-kbd);padding:1px 6px;border:1px solid var(--rc-border);color:var(--rc-text-3);background:var(--rc-bg-subtle)}.nb-tag.warn[data-v-8fadc6f4]{color:var(--rc-warning-text);background:var(--rc-warning-bg);border-color:var(--rc-warning)}.nb-tag.danger[data-v-8fadc6f4]{color:var(--rc-danger-text);background:var(--rc-danger-bg);border-color:var(--rc-danger)}.nb-tag.info[data-v-8fadc6f4]{color:var(--rc-info-text);background:var(--rc-info-bg);border-color:var(--rc-primary-border)}.nb-main[data-v-8fadc6f4]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.nb-t[data-v-8fadc6f4]{font-size:var(--rc-font-sm);color:var(--rc-text-1)}.nb-d[data-v-8fadc6f4]{font-size:var(--rc-font-tiny);color:var(--rc-text-4);line-height:1.4}.nb-unread[data-v-8fadc6f4]{flex:0 0 auto;width:6px;height:6px;margin-top:6px;border-radius:50%;background:var(--rc-danger)}.nb-foot[data-v-8fadc6f4]{padding:6px var(--rc-pad-card);border-top:1px solid var(--rc-divider);font-size:var(--rc-font-tiny);color:var(--rc-text-4)}.layout[data-v-cbcbe6a7]{height:100vh}.aside[data-v-cbcbe6a7]{background:var(--rc-bg-subtle);color:var(--rc-text-1);border-right:1px solid var(--rc-border);display:flex;flex-direction:column}.brand[data-v-cbcbe6a7]{height:var(--rc-topbar-h);display:flex;align-items:center;gap:8px;padding:0 16px;font-weight:700;font-size:var(--rc-font-section);color:var(--rc-text-1);border-bottom:1px solid var(--rc-border)}.brand-logo[data-v-cbcbe6a7]{width:24px;height:24px;display:block;object-fit:contain;flex:none}.scope[data-v-cbcbe6a7]{padding:10px 16px 12px;border-bottom:1px solid var(--rc-divider)}.scope-role[data-v-cbcbe6a7]{display:block;font-size:var(--rc-font-tiny);color:var(--rc-primary-text);font-weight:600}.scope-school[data-v-cbcbe6a7]{display:block;margin-top:3px;font-size:var(--rc-font-tiny);color:var(--rc-text-4)}.menu[data-v-cbcbe6a7]{border-right:none;background:var(--rc-bg-subtle);flex:1;overflow-y:auto}.menu[data-v-cbcbe6a7] .el-menu-item,.menu[data-v-cbcbe6a7] .el-sub-menu__title{color:var(--rc-text-2);font-size:var(--rc-font-sm)}.menu[data-v-cbcbe6a7] .el-menu-item:hover,.menu[data-v-cbcbe6a7] .el-sub-menu__title:hover{background:var(--rc-bg-hover);color:var(--rc-primary-text)}.menu[data-v-cbcbe6a7] .el-menu-item.is-active{color:var(--rc-primary-text);background:var(--rc-accent-soft);font-weight:600}.phase-tag[data-v-cbcbe6a7]{margin-left:6px}.aside-foot[data-v-cbcbe6a7]{padding:10px 16px;border-top:1px solid var(--rc-divider)}.foot-link[data-v-cbcbe6a7]{background:none;border:none;padding:0;cursor:pointer;font-size:var(--rc-font-tiny);color:var(--rc-text-3)}.foot-link[data-v-cbcbe6a7]:hover{color:var(--rc-primary-text)}.header[data-v-cbcbe6a7]{height:var(--rc-topbar-h)!important;display:flex;align-items:center;gap:12px;background:var(--rc-bg-surface);border-bottom:1px solid var(--rc-border);padding:0 var(--rc-gap)}.title[data-v-cbcbe6a7]{font-weight:600;font-size:var(--rc-font-body);color:var(--rc-text-1)}.crumb[data-v-cbcbe6a7]{font-size:var(--rc-font-tiny);color:var(--rc-text-4)}.spacer[data-v-cbcbe6a7]{flex:1}.search-trigger[data-v-cbcbe6a7]{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border:1px solid var(--rc-border);border-radius:var(--rc-radius-card);background:var(--rc-bg-subtle);color:var(--rc-text-4);font-family:var(--rc-font-family);font-size:var(--rc-font-tiny);cursor:pointer}.search-trigger[data-v-cbcbe6a7]:hover{border-color:var(--rc-primary-border);color:var(--rc-primary-text)}.st-ico[data-v-cbcbe6a7]{font-size:var(--rc-font-body)}.st-text[data-v-cbcbe6a7]{min-width:92px;text-align:left}.st-kbd[data-v-cbcbe6a7]{border:1px solid var(--rc-border);border-radius:var(--rc-radius-kbd);padding:0 4px;font-family:var(--rc-font-family);font-size:var(--rc-font-tiny);color:var(--rc-text-4)}.user[data-v-cbcbe6a7]{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.uname[data-v-cbcbe6a7]{font-size:var(--rc-font-aux);color:var(--rc-text-2)}.main[data-v-cbcbe6a7]{background:var(--rc-bg-page);padding:var(--rc-gap)}
