.update-page[data-v-8c6ce36c]{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--bg-grad);z-index:2000}.update-card[data-v-8c6ce36c]{width:min(90vw,400px);padding:32px 24px;border-radius:18px;background:#fffffff5;border:1px solid rgba(31,45,79,.1);box-shadow:0 12px 40px #0000001f;text-align:center}.update-logo[data-v-8c6ce36c]{font-size:28px;font-weight:800;color:#1f2d4f;margin-bottom:20px}.update-title[data-v-8c6ce36c]{font-size:18px;font-weight:600;color:#1f2d4f;margin-bottom:8px}.update-message[data-v-8c6ce36c]{margin-bottom:20px;line-height:1.5;font-size:13px;color:#5e6b86}.update-progress-wrap[data-v-8c6ce36c]{margin-bottom:8px}.update-progress-track[data-v-8c6ce36c]{width:100%;height:6px;border-radius:999px;background:#e6edf7;border:1px solid #d8e2f0;overflow:hidden}.update-progress-fill[data-v-8c6ce36c]{height:100%;border-radius:999px;background:linear-gradient(90deg,#ff8e53,#ff6b35);transition:width .25s ease}.update-progress-text[data-v-8c6ce36c]{margin-top:6px;font-size:12px;color:#8892a8}.update-action-btn[data-v-8c6ce36c]{margin-top:16px;width:100%;height:40px;border:none;border-radius:12px;background:linear-gradient(135deg,#ff8e53,#ff6b35);color:#fff;font-size:14px;font-weight:600;cursor:pointer}.update-actions[data-v-8c6ce36c]{display:grid;gap:8px;margin-top:16px}.update-actions .update-action-btn[data-v-8c6ce36c]{margin-top:0}.update-dismiss-btn[data-v-8c6ce36c]{width:100%;min-height:38px;border:1px solid #d8e2f0;border-radius:12px;background:transparent;color:#5e6b86;font-size:14px;cursor:pointer}.update-action-btn[data-v-8c6ce36c]:active{transform:translateY(1px)}.communication-inbox-listener[data-v-28b59632]{display:none}.communication-list[data-v-7dd2d55b]{display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;grid-row:1 / -1;background:var(--learning-surface)}.communication-list-header[data-v-7dd2d55b]{flex-shrink:0;padding:16px 16px 12px;border-bottom:1px solid var(--learning-line)}.communication-list-title-row[data-v-7dd2d55b]{display:flex;align-items:center;justify-content:space-between;gap:8px}.communication-list-actions[data-v-7dd2d55b]{display:inline-flex;align-items:center;gap:4px}.communication-start-button[data-v-7dd2d55b]{display:inline-grid;width:28px;height:28px;padding:0;place-items:center}.communication-student-select[data-v-7dd2d55b]{width:100%}.communication-list-title[data-v-7dd2d55b]{margin:0;font-size:17px;font-weight:600;color:var(--learning-text-1)}.communication-list-subtitle[data-v-7dd2d55b]{display:block;margin-top:4px;font-size:12px;color:var(--learning-text-3)}.communication-list-state[data-v-7dd2d55b]{display:grid;flex:1;min-height:160px;place-items:center}.communication-list-empty[data-v-7dd2d55b]{margin-top:64px}.communication-conversations[data-v-7dd2d55b]{display:flex;flex-direction:column;gap:8px;flex:1;min-height:0;margin:0;padding:10px 8px 12px;list-style:none;overflow-y:auto;overscroll-behavior:contain;-ms-overflow-style:none;scrollbar-width:none}.communication-conversations[data-v-7dd2d55b]::-webkit-scrollbar{display:none}.communication-conversation[data-v-7dd2d55b]{display:flex;align-items:center;gap:10px;padding:10px;border-radius:10px;cursor:pointer;transition:background-color .15s ease}.communication-conversation[data-v-7dd2d55b]:hover{background:color-mix(in srgb,var(--learning-primary) 6%,var(--learning-surface))}.communication-conversation.active[data-v-7dd2d55b]{background:color-mix(in srgb,var(--learning-primary) 12%,var(--learning-surface))}.communication-conversation.has-new-message[data-v-7dd2d55b]{background:color-mix(in srgb,var(--learning-primary) 7%,var(--learning-surface))}.communication-avatar[data-v-7dd2d55b]{display:grid;flex-shrink:0;width:40px;height:40px;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--learning-primary) 14%,var(--learning-surface));color:var(--learning-primary);font-size:15px;font-weight:600}.communication-conversation-main[data-v-7dd2d55b]{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.communication-conversation-row[data-v-7dd2d55b]{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.communication-conversation-name[data-v-7dd2d55b]{overflow:hidden;min-width:0;font-size:13px;font-weight:600;color:var(--learning-text-1);text-overflow:ellipsis;white-space:nowrap}.communication-conversation-identity[data-v-7dd2d55b]{display:inline-flex;min-width:0;align-items:center;gap:6px}.communication-presence-tag[data-v-7dd2d55b]{flex-shrink:0;padding:1px 5px;border-radius:4px;font-size:10px;font-weight:600;line-height:16px}.communication-presence-tag.is-online[data-v-7dd2d55b]{background:color-mix(in srgb,var(--learning-success) 14%,var(--learning-surface));color:var(--learning-success)}.communication-presence-tag.is-offline[data-v-7dd2d55b]{background:var(--learning-surface-soft);color:var(--learning-text-3)}.communication-conversation-time[data-v-7dd2d55b]{flex-shrink:0;font-size:11px;color:var(--learning-text-3)}.communication-conversation-preview[data-v-7dd2d55b]{overflow:hidden;flex:1;min-width:0;font-size:12px;color:var(--learning-text-2);text-overflow:ellipsis;white-space:nowrap}.communication-conversation-new-count[data-v-7dd2d55b]{display:inline-grid;min-width:18px;height:18px;padding:0 5px;flex:none;place-items:center;border-radius:9px;background:var(--learning-danger);color:#fff;font-size:10px;font-weight:700;line-height:18px}.communication-conversation-delete[data-v-7dd2d55b]{display:inline-flex;flex:none;width:26px;height:26px;align-items:center;justify-content:center;margin-left:2px;border-radius:50%;color:var(--learning-text-3);cursor:pointer;opacity:0;transition:opacity .15s ease,background-color .15s ease,color .15s ease}.communication-conversation:hover .communication-conversation-delete[data-v-7dd2d55b],.communication-conversation-delete[data-v-7dd2d55b]:focus-visible{opacity:1}.communication-conversation-delete[data-v-7dd2d55b]:hover{background:color-mix(in srgb,var(--learning-danger) 12%,var(--learning-surface));color:var(--learning-danger)}.more-pane[data-v-a2197174]{display:flex;flex-direction:column;height:100%;min-width:0;padding:16px 12px}.more-pane-header[data-v-a2197174]{padding:0 4px 14px}.more-pane-title[data-v-a2197174]{margin:0;font-size:15px;font-weight:600;color:var(--learning-text-1)}.more-pane-subtitle[data-v-a2197174]{display:block;margin-top:3px;font-size:12px;color:var(--learning-text-3)}.more-pane-list[data-v-a2197174]{display:flex;flex-direction:column;gap:8px;overflow-y:auto}.more-pane-item[data-v-a2197174]{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--learning-text-1);font-size:14px;text-align:left;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.more-pane-item[data-v-a2197174]:hover{background:var(--learning-surface);border-color:var(--learning-line-strong)}.more-pane-item.active[data-v-a2197174]{color:var(--learning-primary);border-color:color-mix(in srgb,var(--learning-primary) 34%,var(--learning-line));background:var(--learning-primary-soft)}.more-pane-icon[data-v-a2197174]{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--learning-primary) 12%,var(--learning-surface));color:var(--learning-primary);font-size:16px;transition:background .15s ease,color .15s ease}.more-pane-item.active .more-pane-icon[data-v-a2197174]{background:color-mix(in srgb,var(--learning-primary) 16%,var(--learning-surface))}.more-pane-text[data-v-a2197174]{display:flex;min-width:0;flex:1;flex-direction:column;gap:2px}.more-pane-label[data-v-a2197174]{font-size:14px;font-weight:500;line-height:1.3}.more-pane-desc[data-v-a2197174]{overflow:hidden;font-size:11px;color:var(--learning-text-3);text-overflow:ellipsis;white-space:nowrap}.more-pane-item.active .more-pane-desc[data-v-a2197174]{color:color-mix(in srgb,var(--learning-primary) 70%,var(--learning-text-3))}.more-pane-arrow[data-v-a2197174]{flex:0 0 auto;font-size:12px;color:var(--learning-text-3);opacity:.65;transition:transform .15s ease,opacity .15s ease,color .15s ease}.more-pane-item:hover .more-pane-arrow[data-v-a2197174],.more-pane-item.active .more-pane-arrow[data-v-a2197174]{opacity:1;color:var(--learning-primary)}.more-pane-item.active .more-pane-arrow[data-v-a2197174]{transform:translate(2px)}.list-inner[data-v-e505fc93]{min-width:0}.teacher-page-loading[data-v-2f1fedef]{display:grid;min-height:200px;place-items:center;color:var(--learning-primary);background:var(--learning-surface)}.login-page[data-v-7a7a37b1]{--login-primary-rgb: 255, 107, 53;--login-primary: rgb(var(--login-primary-rgb));min-height:100vh;min-height:100dvh;background:var(--bg-grad)}.login-shell[data-v-7a7a37b1]{width:100%;max-width:420px;margin:0 auto;padding:calc(env(safe-area-inset-top,0px) + 20px) 16px calc(env(safe-area-inset-bottom,0px) + 20px);min-height:100%;min-height:100dvh;display:flex;flex-direction:column;justify-content:center}.login-shell--loading[data-v-7a7a37b1]{align-items:center}.brand-header[data-v-7a7a37b1]{display:flex;margin-bottom:20px;align-items:center;gap:12px;justify-content:center}.brand-logo[data-v-7a7a37b1]{display:grid;width:48px;height:48px;flex-shrink:0;place-items:center;border-radius:12px;background:var(--login-primary);color:#fff;font-size:24px;font-weight:700;box-shadow:0 4px 12px #0000001f}.brand-text[data-v-7a7a37b1]{display:flex;flex-direction:column;justify-content:center;text-align:left}.brand-title[data-v-7a7a37b1]{margin:0;font-size:26px;font-weight:700;line-height:1.1;color:var(--text-1);letter-spacing:.2px}.brand-subtitle[data-v-7a7a37b1]{margin-top:4px;color:var(--text-2, #6f7f92);font-size:13px;line-height:1.2}.login-card[data-v-7a7a37b1]{overflow:hidden;padding:24px;border:1px solid rgba(148,163,184,.18);border-radius:16px;background:#fffffff5;box-shadow:0 16px 40px #0f172a14;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.form-title[data-v-7a7a37b1]{font-size:22px;font-weight:600;color:var(--text-1);margin-bottom:4px}.form-subtitle[data-v-7a7a37b1]{margin:0 0 16px;color:var(--text-2, #6f7f92);font-size:13px}.login-form[data-v-7a7a37b1]{margin:0}.form-item[data-v-7a7a37b1]{background:#f8fafceb;border:1px solid transparent;border-radius:12px;padding:10px 14px;margin-bottom:12px;transition:border-color .2s ease,box-shadow .2s ease}.form-item[data-v-7a7a37b1]:focus-within{border-color:rgba(var(--login-primary-rgb),.45);box-shadow:0 0 0 3px rgba(var(--login-primary-rgb),.12)}.field-label[data-v-7a7a37b1]{display:block;margin-bottom:4px;color:var(--text-2, #6f7f92);font-size:12px;font-weight:500;line-height:1.1}.form-item[data-v-7a7a37b1] .ant-input,.form-item[data-v-7a7a37b1] .ant-input-affix-wrapper,.form-item[data-v-7a7a37b1] .ant-input-affix-wrapper:hover,.form-item[data-v-7a7a37b1] .ant-input-affix-wrapper-focused{background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important;min-height:auto!important}.form-item[data-v-7a7a37b1] .ant-input{color:var(--text-1);font-size:15px}.form-item[data-v-7a7a37b1] .ant-input::placeholder{color:#9aa8b7}.account-field-wrap[data-v-7a7a37b1]{position:relative}.account-dropdown[data-v-7a7a37b1]{position:absolute;z-index:20;top:calc(100% + 6px);left:0;right:0;max-height:224px;overflow-y:auto;padding:6px;border:1px solid rgba(148,163,184,.24);border-radius:10px;background:#fffffffa;box-shadow:0 12px 28px #0f172a24}.account-dropdown-item[data-v-7a7a37b1]{display:flex;align-items:center;border-radius:8px}.account-dropdown-item[data-v-7a7a37b1]:hover{background:#f8fafceb}.account-option[data-v-7a7a37b1]{flex:1;min-width:0;padding:9px 10px;border:0;background:transparent;color:var(--text-1);font-size:14px;text-align:left;cursor:pointer}.account-option-name[data-v-7a7a37b1]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-remove[data-v-7a7a37b1]{flex-shrink:0;width:32px;height:32px;margin-right:4px;border:0;border-radius:8px;background:transparent;color:var(--text-2, #6f7f92);font-size:15px;line-height:1;cursor:pointer}.account-remove[data-v-7a7a37b1]:hover{background:#ef44441a;color:#dc2626}.account-dropdown-enter-active[data-v-7a7a37b1],.account-dropdown-leave-active[data-v-7a7a37b1]{transition:opacity .15s ease,transform .15s ease}.account-dropdown-enter-from[data-v-7a7a37b1],.account-dropdown-leave-to[data-v-7a7a37b1]{opacity:0;transform:translateY(-4px)}.form-actions-row[data-v-7a7a37b1]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.remember-row[data-v-7a7a37b1]{color:var(--text-2, #6f7f92)}.forgot-link[data-v-7a7a37b1]{padding:0;border:0;background:transparent;color:var(--login-primary);font-size:13px;cursor:pointer}.forgot-link[data-v-7a7a37b1]:hover{text-decoration:underline}.form-error[data-v-7a7a37b1]{margin:0 0 8px}.login-button.ant-btn-primary[data-v-7a7a37b1]{height:48px;margin-top:4px;border-radius:12px;font-size:15px;font-weight:600;letter-spacing:.3px}.version-tag[data-v-7a7a37b1]{text-align:center;margin-top:12px;font-size:11px;color:#aab}@media(max-width:576px){.brand-logo[data-v-7a7a37b1]{width:42px;height:42px;font-size:20px}.brand-title[data-v-7a7a37b1]{font-size:22px}.login-shell[data-v-7a7a37b1]{max-width:100%;padding-left:14px;padding-right:14px}.login-card[data-v-7a7a37b1]{padding:20px;border-radius:14px}.form-item[data-v-7a7a37b1] .ant-input{font-size:14px}}:root{--learning-bg-grad: linear-gradient(180deg, #ffe8d9 0%, #fff4ed 30%, #fffaf7 60%, #fff8f3 100%);--learning-bg: #fef8f5;--learning-surface: #ffffff;--learning-surface-soft: #fafbfc;--learning-line: #e8ecf1;--learning-line-strong: #d8dee7;--learning-shadow-1: 0 2px 8px rgba(15, 23, 42, .08);--learning-primary: #ff6b35;--learning-primary-hover: #e55f2f;--learning-primary-pressed: #d9542a;--learning-primary-soft: #fff5f2;--learning-success: #52c41a;--learning-warning: #f59e0b;--learning-danger: #ff4d4f;--learning-text-1: #0f172a;--learning-text-2: #475569;--learning-text-3: #64748b;--learning-font-family: "HarmonyOS Sans SC", "PingFang SC", "SF Pro Display", "Segoe UI", sans-serif;--fs-page-title: 17px;--fs-section-title: 15px;--fs-body: 14px;--fs-sub: 12px;--fs-caption: 11px;--fs-number: 20px;--fs-number-lg: 24px;--fs-btn: 13px;--learning-radius-sm: 6px;--learning-radius-md: 10px;--learning-radius-lg: 12px;--learning-touch-size: 36px;--learning-mobile-breakpoint: 767px;--learning-envelope-orb-left: rgba(255, 173, 131, .35);--learning-envelope-orb-right: rgba(255, 196, 165, .35);--learning-envelope-bg: #fff4ee;--learning-envelope-flap-start: #ffd4b8;--learning-envelope-flap-end: #ffb27a;--learning-envelope-seal-start: #ff8c42;--learning-envelope-seal-mid: #ff6b35;--learning-envelope-seal-end: #e55f2f;--learning-envelope-seal-subtext: rgba(255, 255, 255, .55);--learning-envelope-postmark-border: rgba(180, 50, 50, .4);--learning-envelope-postmark-line: rgba(180, 50, 50, .3);--learning-envelope-postmark-text: rgba(180, 50, 50, .5);--learning-envelope-postmark-date: rgba(180, 50, 50, .4);--learning-envelope-letter-rule: #e8e3db;--learning-envelope-watermark-start: #ffeaa7;--learning-envelope-watermark-end: #fdcb6e;--student-bg: #f6f7f9;--student-surface: #ffffff;--student-text: #263244;--student-text-secondary: #667085;--student-line: #e4e7ec;--student-primary: #ff6b35;--student-primary-strong: #e55f2f;--student-primary-soft: #fff5f2;--student-danger: #c7362f;--student-header-height: 64px;--student-product-bg: #fef8f5;--student-product-surface: var(--learning-surface);--student-product-text: var(--learning-text-1);--student-product-text-secondary: var(--learning-text-2);--student-product-line: var(--learning-line);--student-product-line-strong: var(--learning-line-strong);--student-product-primary: var(--learning-primary);--student-product-primary-rgb: 255, 107, 53;--student-product-primary-strong: var(--learning-primary-hover);--student-product-primary-soft: var(--learning-primary-soft);--student-product-success: var(--learning-success);--student-product-danger: var(--learning-danger)}[data-theme=mint]{--learning-bg: #f3f7fb;--learning-bg-grad: linear-gradient(180deg, #eefaf8 0%, #f2fbfd 34%, #f7fbfd 68%, #ffffff 100%);--learning-primary: #0f766e;--learning-primary-hover: #0d675f;--learning-primary-pressed: #115e59;--learning-primary-soft: #f0fdfa;--learning-text-1: #101828;--learning-text-2: #475467;--learning-text-3: #667085;--learning-line: #d0d5dd;--learning-line-strong: #c9d4df;--learning-surface-soft: #f8fbfb;--learning-success: #15803d;--learning-danger: #dc2626;--learning-envelope-orb-left: rgba(16, 185, 129, .28);--learning-envelope-orb-right: rgba(34, 211, 238, .25);--learning-envelope-bg: #ecfdf3;--learning-envelope-flap-start: #bdeee7;--learning-envelope-flap-end: #6ee7d8;--learning-envelope-seal-start: #14b8a6;--learning-envelope-seal-mid: #0f766e;--learning-envelope-seal-end: #115e59;--learning-envelope-seal-subtext: rgba(255, 255, 255, .65);--learning-envelope-postmark-border: rgba(15, 118, 110, .4);--learning-envelope-postmark-line: rgba(15, 118, 110, .3);--learning-envelope-postmark-text: rgba(15, 118, 110, .54);--learning-envelope-postmark-date: rgba(15, 118, 110, .42);--learning-envelope-letter-rule: #d8ece8;--learning-envelope-watermark-start: #ccfbf1;--learning-envelope-watermark-end: #5eead4}[data-theme=blue]{--learning-bg: #f4f7fd;--learning-bg-grad: linear-gradient(180deg, #e3edff 0%, #eef4ff 30%, #f6f9ff 60%, #ffffff 100%);--learning-primary: #2563eb;--learning-primary-hover: #1d4ed8;--learning-primary-pressed: #1e40af;--learning-primary-soft: #eff6ff;--learning-text-1: #101828;--learning-text-2: #475467;--learning-text-3: #667085;--learning-line: #d6e0f2;--learning-line-strong: #c3d0e8;--learning-surface-soft: #f8fafd;--learning-success: #15803d;--learning-danger: #dc2626;--learning-envelope-orb-left: rgba(37, 99, 235, .26);--learning-envelope-orb-right: rgba(59, 130, 246, .24);--learning-envelope-bg: #eef4ff;--learning-envelope-flap-start: #c7d9fb;--learning-envelope-flap-end: #8fb0f0;--learning-envelope-seal-start: #3b82f6;--learning-envelope-seal-mid: #2563eb;--learning-envelope-seal-end: #1e40af;--learning-envelope-seal-subtext: rgba(255, 255, 255, .68);--learning-envelope-postmark-border: rgba(37, 99, 235, .4);--learning-envelope-postmark-line: rgba(37, 99, 235, .3);--learning-envelope-postmark-text: rgba(37, 99, 235, .54);--learning-envelope-postmark-date: rgba(37, 99, 235, .42);--learning-envelope-letter-rule: #dbe4f4;--learning-envelope-watermark-start: #c7dbfd;--learning-envelope-watermark-end: #93b8f7;--student-product-primary-rgb: 37, 99, 235}@media(min-width:768px){:root{--fs-page-title: 19px;--fs-section-title: 17px;--fs-body: 16px;--fs-sub: 14px;--fs-caption: 12px;--fs-number: 22px;--fs-number-lg: 28px;--fs-btn: 14px}}@media(min-width:1025px){:root{--fs-page-title: 20px;--fs-section-title: 18px;--fs-body: 16px;--fs-sub: 14px;--fs-caption: 13px;--fs-number: 24px;--fs-number-lg: 32px;--fs-btn: 15px}}:root{--bg-grad: var(--learning-bg-grad);--surface: var(--learning-surface);--surface-soft: var(--learning-surface-soft);--line: var(--learning-line);--shadow-1: var(--learning-shadow-1);--primary: var(--learning-primary);--text-1: var(--learning-text-1);--text-2: var(--learning-text-2);--text-3: var(--learning-text-3)}html[data-platform=native] *,html[data-platform=native] *:before,html[data-platform=native] *:after{box-shadow:none!important}*{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%;min-height:100%}body{background:var(--bg-grad);overflow:hidden;-webkit-font-smoothing:antialiased}.workspace{width:100%;height:100vh;height:100dvh;overflow:hidden;display:grid;grid-template-columns:76px 280px minmax(0,1fr);transition:grid-template-columns .28s cubic-bezier(.4,0,.2,1)}.workspace.middle-collapsed{grid-template-columns:76px 0 minmax(0,1fr)}.workspace.standalone-workspace,.workspace.standalone-workspace.middle-collapsed{grid-template-columns:76px minmax(0,1fr)}.rail-sider{min-width:0;border-right:1px solid var(--line);background:var(--surface-soft)}.rail-inner{height:100%;min-height:0;display:flex;flex-direction:column;align-items:center;gap:10px;padding:calc(env(safe-area-inset-top,0px) + 12px) 8px calc(env(safe-area-inset-bottom,0px) + 12px)}.rail-brand{width:56px;height:56px;border-radius:12px;border:0;background:linear-gradient(135deg,color-mix(in srgb,var(--learning-primary) 68%,#fff),var(--learning-primary),var(--learning-primary-hover));box-shadow:0 6px 18px color-mix(in srgb,var(--learning-primary) 28%,transparent);position:relative;display:block;color:#fff;text-align:center;line-height:1;overflow:hidden;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.rail-brand:hover{box-shadow:0 8px 20px color-mix(in srgb,var(--learning-primary) 34%,transparent)}.rail-brand:active{transform:scale(.96)}.rail-brand-main{position:absolute;left:50%;top:8px;transform:translate(-50%);font-size:8px;font-weight:800;line-height:1;opacity:.72;letter-spacing:1.1px;white-space:nowrap}.rail-brand-sub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;min-height:16px;align-items:center;justify-content:center;font-size:16px;font-weight:900;line-height:1;white-space:nowrap}.rail-brand-sub.is-abc{letter-spacing:1px}.rail-brand-sub.is-jisuan{font-size:16px;letter-spacing:.2px}.rail-brand-role{position:absolute;left:50%;bottom:7px;transform:translate(-50%);font-size:8px;font-weight:700;line-height:1;letter-spacing:1px;opacity:.86;white-space:nowrap}.rail-nav{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.rail-nav::-webkit-scrollbar{display:none}.rail-nav-item{position:relative;width:56px;min-height:56px;border-radius:12px;border:1px solid transparent;background:transparent;color:var(--learning-text-3);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:6px 4px;cursor:pointer;text-align:center;transition:all .18s ease}.rail-nav-badge{position:absolute;top:4px;right:4px;display:inline-grid;min-width:18px;height:18px;padding:0 5px;place-items:center;border-radius:9px;background:var(--learning-danger);color:#fff;font-size:10px;font-weight:700;line-height:18px}.rail-nav-item:hover{background:var(--learning-surface);border-color:var(--learning-line-strong);color:var(--learning-text-2)}.rail-nav-item.active{color:var(--learning-primary);border-color:color-mix(in srgb,var(--learning-primary) 34%,var(--learning-line));background:var(--learning-primary-soft);box-shadow:none}.rail-nav-item:disabled{opacity:.6;cursor:not-allowed}.rail-nav-icon{font-size:18px;line-height:1}.rail-nav-text{width:100%;text-align:center;font-size:11px;font-weight:700;line-height:1.05}.rail-actions{margin-top:auto;width:100%;border-top:1px solid var(--line);padding-top:10px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:8px}@media(max-width:767px){.workspace{grid-template-columns:64px minmax(0,1fr);position:relative}.workspace.middle-collapsed,.workspace.standalone-workspace,.workspace.standalone-workspace.middle-collapsed{grid-template-columns:64px minmax(0,1fr)}.rail-inner{gap:6px;padding:calc(env(safe-area-inset-top,0px) + 8px) 5px calc(env(safe-area-inset-bottom,0px) + 8px)}.rail-brand,.rail-nav-item{width:52px}.rail-brand{height:52px;border-radius:11px}.rail-nav{gap:6px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.rail-nav::-webkit-scrollbar{display:none}.rail-nav-item{min-height:50px;border-radius:10px;gap:3px;padding:5px 3px}.rail-nav-icon{font-size:17px}.rail-nav-text{font-size:10px;line-height:1}.rail-actions{gap:6px;padding-top:7px}.list-sider{position:fixed;z-index:40;top:0;bottom:0;left:64px;width:min(280px,calc(100vw - 64px));height:100vh;height:100dvh;box-shadow:14px 0 32px #0f172a2e;opacity:1;pointer-events:auto;transform:translate(0);will-change:transform,opacity;transition:opacity .24s cubic-bezier(.32,.72,0,1),transform .28s cubic-bezier(.32,.72,0,1)}.workspace.middle-collapsed .list-sider{opacity:0;pointer-events:none;transform:translate(-100%)}}.list-sider{min-width:0;overflow:hidden;background:var(--surface);border-right:1px solid var(--line);transition:opacity .18s ease}.workspace.middle-collapsed .list-sider{opacity:0;pointer-events:none}.list-inner{width:280px;height:100%;display:grid;grid-template-rows:auto 1fr;min-height:0}.student-list-pane{display:flex;flex-direction:column;height:100%;min-height:0}.list-inner.list-inner-groups{display:flex;flex-direction:column;overflow-y:auto;-ms-overflow-style:none;scrollbar-width:none}.list-inner.list-inner-groups::-webkit-scrollbar{display:none}.list-inner.list-inner-groups .list-header{position:sticky;top:0;z-index:1;background:var(--surface)}@media(max-width:767px){.list-inner{width:min(280px,calc(100vw - 64px))}}.workspace-tablet-scrim{display:none}@media(min-width:768px)and (max-width:1300px)and (orientation:landscape){.workspace,.workspace.middle-collapsed{grid-template-columns:76px minmax(0,1fr);position:relative}.list-sider{position:fixed;z-index:40;top:0;bottom:0;left:76px;width:min(300px,calc(100vw - 76px));height:100vh;height:100dvh;opacity:1;pointer-events:auto;transform:translate(0);box-shadow:14px 0 32px #0f172a2e;will-change:transform,opacity;transition:opacity .24s cubic-bezier(.32,.72,0,1),transform .28s cubic-bezier(.32,.72,0,1)}.workspace-tablet-scrim{position:fixed;z-index:30;top:0;right:0;bottom:0;left:76px;display:block;width:auto;height:auto;margin:0;padding:0;border:0;background:transparent;cursor:default}.workspace.middle-collapsed .list-sider{opacity:0;pointer-events:none;transform:translate(-100%)}.list-inner{width:100%}.main-content{min-width:0;padding:12px}.students-workspace,.groups-workspace,.student-profile-card,.student-panel-card,.student-overview-pane,.right-tabs,.profile-top,.student-profile-top{min-width:0}.right-tabs{width:100%}.right-tab{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stats-row{gap:8px}.stat-card{min-width:0;padding-inline:8px}.chart-card{min-width:0;padding-inline:14px}}@media(max-width:767px){.workspace-tablet-scrim{position:fixed;z-index:30;top:0;right:0;bottom:0;left:64px;display:block;width:auto;height:auto;margin:0;padding:0;border:0;background:transparent;cursor:default}}.list-header{padding:12px;border-bottom:1px solid var(--line);display:grid;gap:8px}.list-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.list-title{font-size:15px;font-weight:700;color:var(--learning-text-1)}.status-strip{display:flex;flex-wrap:wrap;gap:6px;padding:8px;border-bottom:1px solid var(--line)}.student-scroll{min-height:0;overflow-y:auto;padding:8px;-ms-overflow-style:none;scrollbar-width:none}.student-scroll::-webkit-scrollbar{display:none}.group-filter-section{padding:10px}.group-filter-title{margin-bottom:8px;font-size:12px;font-weight:700;color:var(--learning-text-2)}.group-filter-chip-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.group-filter-chip{width:100%;border:1px solid var(--learning-line);border-radius:12px;background:var(--learning-surface-soft);color:var(--learning-text-2);font-size:12px;font-weight:700;padding:12px 10px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:8px;min-height:52px;cursor:pointer;transition:all .15s ease}.group-filter-chip>span:first-child{line-height:1.2}.group-filter-chip .chip-count{min-width:0;border-radius:0;background:transparent;color:var(--learning-text-3);font-size:18px;font-weight:800;line-height:1.1;padding:0;text-align:left;border:0;transition:color .15s ease}.group-filter-chip.active{border-color:color-mix(in srgb,var(--learning-primary) 34%,var(--learning-line));background:var(--learning-primary-soft);color:var(--learning-primary);box-shadow:none}.group-filter-chip.active .chip-count{color:var(--learning-primary-hover)}.dashboard-middle-pane{height:100%;min-height:0;padding:0;display:flex;flex-direction:column;gap:10px;overflow-y:auto;-ms-overflow-style:none;scrollbar-width:none}.dashboard-middle-pane::-webkit-scrollbar{display:none}.dashboard-middle-title{font-size:14px;font-weight:700;color:var(--learning-text-1)}.dashboard-middle-scope{margin-top:-6px;color:var(--learning-text-3);font-size:12px;line-height:1.4}.dashboard-middle-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dashboard-middle-stat{border:1px solid var(--learning-line);border-radius:12px;background:var(--learning-surface-soft);text-align:center;padding:10px 6px}.dashboard-middle-stat-value{font-size:20px;line-height:1;font-weight:800;color:var(--learning-text-1)}.dashboard-middle-stat-label{margin-top:4px;font-size:11px;color:var(--learning-text-3);font-weight:600}.dashboard-middle-log-title{font-size:13px;font-weight:700;color:var(--learning-text-2)}.dashboard-middle-log-list{display:grid;gap:8px;align-content:start}.dashboard-middle-log-item{width:100%;border:1px solid var(--learning-line);border-radius:10px;background:var(--learning-surface);padding:8px 10px;text-align:left;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;overflow:hidden}.dashboard-middle-log-main{display:grid;grid-template-areas:"name type level manual" "sub sub sub sub";grid-template-columns:minmax(42px,1fr) auto auto auto;align-items:center;column-gap:6px;row-gap:3px;min-width:0}.dashboard-middle-log-name{grid-area:name;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;color:var(--learning-text-1)}.dashboard-middle-log-type{grid-area:type;font-size:11px;color:var(--learning-text-3)}.dashboard-middle-log-level{grid-area:level;font-size:12px;font-weight:700;color:var(--learning-success)}.dashboard-middle-log-level.down{color:var(--learning-danger)}.dashboard-middle-log-manual{grid-area:manual;font-size:10px;font-weight:700;color:var(--learning-primary-hover);background:var(--learning-primary-soft);border:1px solid color-mix(in srgb,var(--learning-primary) 30%,var(--learning-line));border-radius:999px;padding:1px 6px}.dashboard-middle-log-acc{grid-area:level;font-size:12px;font-weight:700}.dashboard-middle-log-acc.acc-good{color:var(--learning-success)}.dashboard-middle-log-acc.acc-mid{color:var(--learning-warning)}.dashboard-middle-log-acc.acc-low{color:var(--learning-danger)}.dashboard-middle-log-acc.acc-none{color:var(--learning-text-3)}.dashboard-middle-log-sub{grid-area:sub;min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:11px;color:var(--learning-text-3);white-space:nowrap}.dashboard-middle-empty{font-size:12px;color:var(--learning-text-3);padding-top:4px}.inline-refresh-indicator{width:max-content;max-width:100%;margin:0 0 8px auto;border:1px solid var(--learning-line);border-radius:999px;background:var(--learning-surface);color:var(--learning-text-3);font-size:12px;line-height:1;font-weight:700;padding:5px 9px;display:flex;align-items:center;gap:6px;box-shadow:0 4px 12px #0f172a0f}.inline-refresh-indicator.compact{margin:0 0 6px auto;padding:4px 8px;font-size:11px}.student-toolbar{margin-bottom:8px;padding:0}.batch-bar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;border:1px solid var(--learning-line);border-radius:10px;background:var(--learning-surface-soft);padding:8px 10px}.batch-left{border:0;background:transparent;display:inline-flex;align-items:center;gap:4px;color:var(--learning-text-3);font-size:12px;font-weight:700;cursor:pointer;padding:0}.batch-count{text-align:center;font-size:12px;color:var(--learning-text-3);font-weight:600}.batch-generate{border:1px solid color-mix(in srgb,var(--learning-primary) 30%,var(--learning-line));background:var(--learning-primary-soft);color:var(--learning-primary-hover);height:28px;padding:0 10px;border-radius:8px;display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;cursor:pointer}.batch-generate:not(.disabled):hover{border-color:color-mix(in srgb,var(--learning-primary) 48%,var(--learning-line));background:color-mix(in srgb,var(--learning-primary) 14%,var(--learning-surface));color:var(--learning-primary-hover)}.batch-generate.disabled,.batch-generate:disabled{opacity:.45;cursor:not-allowed}.batch-icon{font-size:14px}.batch-icon.select{color:var(--learning-primary)}.student-list{display:grid;gap:8px;align-content:start}.student-list.student-list-virtual{display:block}.student-list.student-list-virtual .student-card{margin-bottom:8px}.student-list.student-list-virtual .student-card:last-of-type{margin-bottom:0}.student-pager{position:sticky;bottom:0;z-index:2;display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 0 6px;background:linear-gradient(180deg,color-mix(in srgb,var(--learning-surface) 76%,transparent),var(--learning-surface) 28%);color:var(--learning-text-3);font-size:12px}.student-pager button{height:26px;min-width:58px;border:1px solid color-mix(in srgb,var(--learning-primary) 30%,var(--learning-line));border-radius:6px;background:var(--learning-surface);color:var(--learning-primary);cursor:pointer}.student-pager button:disabled{border-color:var(--learning-line);color:var(--learning-text-3);cursor:not-allowed}.virtual-spacer{width:100%;pointer-events:none}.student-card{border:1px solid var(--learning-line);box-shadow:var(--shadow-1);cursor:pointer;transition:all .18s ease}.student-card.active{border-color:color-mix(in srgb,var(--learning-primary) 34%,var(--learning-line));background:var(--learning-primary-soft)}.student-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.student-name{font-size:14px;font-weight:700;color:var(--learning-text-1)}.student-meta{margin-top:2px;font-size:12px;color:var(--learning-text-3)}.student-main{flex:1;min-width:0}.student-card-action{min-width:86px;display:flex;justify-content:flex-end;align-items:center}.student-generate-btn{min-width:64px;height:24px;padding:0 7px;border-radius:6px;border:1px solid #cfe3ff;background:#eff6ff;color:#0a84ff;font-size:12px;font-weight:600;box-shadow:none}.student-generate-btn.ant-btn:hover,.student-generate-btn.ant-btn:focus{border-color:#b9d9ff;background:#e0f0ff;color:#0869cb}.student-generate-btn.ant-btn:disabled,.student-generate-btn.ant-btn[disabled]{opacity:.45;color:#0a84ff;border-color:#cfe3ff;background:#eff6ff}.plans-content-actions{display:flex;align-items:center;gap:8px}.plans-content-actions .plans-action-btn+.plans-action-btn{margin-left:0}.student-generate-btn.ant-btn.ant-btn-sm{font-size:12px;height:24px;padding:0 7px;border-radius:6px}.student-status-dot{width:10px;height:10px;border-radius:50%;display:inline-block;border:0;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.student-status-dot.dot-green{background-color:#52c41a;box-shadow:0 0 0 4px #52c41a24}.student-status-dot.dot-red{background-color:#ff4d4f;box-shadow:0 0 0 4px #ff4d4f24}.student-status-dot.dot-gray{background-color:#bfbfbf;box-shadow:0 0 0 4px #bfbfbf29}.main-content{min-width:0;overflow-y:auto;padding:16px;background:var(--bg-grad);-ms-overflow-style:none;scrollbar-width:none}.main-content::-webkit-scrollbar{display:none}.students-workspace,.groups-workspace,.groups-third-column{min-height:100%;display:flex;flex-direction:column;gap:12px}.students-workspace{height:100%}.students-empty-frame.ant-empty{flex:1;margin:0;border:1px solid var(--learning-line);border-radius:14px;background:var(--learning-surface);box-shadow:var(--shadow-1);min-height:calc(100vh - 128px);min-height:calc(100dvh - 128px);display:flex;align-items:center;justify-content:center}.students-empty-frame.ant-empty .ant-empty-description{color:var(--learning-text-3);font-size:13px;font-weight:600}.system-tabs .ant-tabs-nav{margin:0}.system-tabs .ant-tabs-tab{padding-top:8px;padding-bottom:8px}.groups-toolbar{display:grid;gap:10px}.stage-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px;flex-wrap:wrap}.stage-toolbar-left{display:grid;gap:8px;min-width:0;flex:1}.stage-toolbar-right{min-width:260px}.stage-chip-group{display:flex;gap:8px;flex-wrap:wrap}.stage-chip{border:1px solid var(--learning-line);background:var(--learning-surface);color:var(--learning-text-3);border-radius:999px;padding:5px 12px;font-size:12px;font-weight:700;cursor:pointer}.stage-chip.active{border-color:color-mix(in srgb,var(--learning-primary) 34%,var(--learning-line));background:var(--learning-primary-soft);color:var(--learning-primary)}.stage-stat-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.stage-stat{border:1px solid var(--learning-line);border-radius:12px;background:var(--learning-surface-soft);padding:8px 10px}.stage-stat span{display:block;font-size:11px;color:var(--learning-text-3)}.stage-stat strong{display:block;margin-top:3px;font-size:18px;color:var(--learning-text-1)}.group-batch-bar{margin:0 0 12px;border:1px solid #ffd9c2;border-radius:10px;background:#fff4ec;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;box-shadow:0 1px 3px #0000000a}.group-batch-title{font-size:14px;font-weight:700;color:#ff6b35}.group-batch-count{font-size:13px;font-weight:600;color:#ff6b35;white-space:nowrap}.group-batch-left,.group-batch-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.group-batch-right .ant-btn{display:inline-flex;align-items:center;gap:4px}.group-table-wrap{border:1px solid var(--learning-line);border-radius:12px;background:var(--learning-surface);overflow-y:auto;overflow-x:auto}.group-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:2px}@media(max-width:1440px){.group-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1280px){.group-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.group-card-grid{grid-template-columns:1fr}}.group-worksheet-card{position:relative;display:flex;flex-direction:column;gap:0;padding:14px 16px;border:1px solid #eef0f4;border-radius:14px;background:var(--learning-surface);overflow:hidden;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.group-worksheet-card:hover{border-color:color-mix(in srgb,var(--learning-primary) 55%,#eef0f4);box-shadow:0 4px 14px #0f172a14;transform:translateY(-1px)}.group-worksheet-card--selected{border-color:var(--learning-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--learning-primary) 16%,transparent),0 4px 14px color-mix(in srgb,var(--learning-primary) 10%,transparent);transform:translateY(-1px)}.group-card-main{display:flex;flex-direction:column;flex:1 1 auto;min-width:0}.group-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.group-card-head-left{display:flex;align-items:center;gap:8px;min-width:0}.group-card-student-link{cursor:pointer;border-radius:6px;transition:background .15s}.group-card-student-link:hover{background:color-mix(in srgb,var(--learning-primary) 8%,transparent)}.group-card-student-link--disabled,.group-card-student-link--disabled:hover{cursor:default;background:transparent}.group-card-avatar{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#fff3ed,#ffe8dc);color:#ff6b35;font-size:15px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.group-card-student-box{display:flex;flex-direction:column;gap:1px;min-width:0}.group-card-student{font-size:14px;font-weight:700;color:#0f172a;letter-spacing:-.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.group-card-student-meta{font-size:12px;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.group-card-tags{display:flex;align-items:center;gap:4px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.group-card-print-btn.ant-btn{width:24px;height:24px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:#94a3b8;margin-left:2px}.group-card-print-btn.ant-btn:hover{color:var(--learning-primary);background:color-mix(in srgb,var(--learning-primary) 8%,transparent)}.group-card-type{display:inline-flex;align-items:center;font-size:11px;font-weight:600;line-height:1;padding:3px 8px;border-radius:999px;background:#f1f5f9;color:#475569}.group-card-type.t-upgrade{background:#fff1e6;color:#ea580c}.group-card-type.t-basic{background:#eef2ff;color:#4f46e5}.group-card-status{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;line-height:1;padding:3px 8px;border-radius:999px}.group-card-status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.85}.group-card-status-inline{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;height:26px;padding:0 8px;border-radius:6px}.group-card-status-inline-dot{width:7px;height:7px;border-radius:50%;background:currentColor}.group-card-status-inline-icon{font-size:12px}.group-card-status-inline.st-running{color:#16a34a;background:#f0fdf4}.group-card-status-inline.st-paused{color:#d97706;background:#fff7e6}.group-card-status-inline.st-completed{color:#64748b;background:#f1f5f9}.group-card-status-inline.st-not_generated{color:#94a3b8;background:#f1f5f9}.group-card-status.st-pending{background:#e6f4ff;color:#1677ff}.group-card-status.st-running{background:#f0fdf4;color:#16a34a}.group-card-status.st-paused{background:#fff7e6;color:#d97706}.group-card-status.st-completed{background:#f8fafc;color:#64748b}.group-card-status.st-not_generated{background:#f1f5f9;color:#94a3b8}.group-card-info{display:flex;flex-direction:column;gap:4px;margin-top:10px;font-size:12px;color:#94a3b8;font-variant-numeric:tabular-nums}.group-card-info-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}.group-card-index{font-size:12px;font-weight:700;color:#475569}.group-card-metric{display:inline-flex;align-items:center;gap:4px;color:#94a3b8;font-weight:500}.group-card-metric .anticon{font-size:11px;color:#94a3b8}.group-card-time{display:inline-flex;align-items:center;gap:5px;color:#64748b}.group-card-time-dot{width:6px;height:6px;border-radius:50%;background:#cbd5e1}.group-card-duration{color:#64748b}.group-card-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid #f4f5f7;flex-shrink:0;flex-wrap:wrap}.group-card-actions-left,.group-card-actions-right{display:flex;align-items:center;gap:2px;flex-wrap:wrap}.group-card-icon-btn.ant-btn{width:26px;height:26px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:#64748b}.group-card-icon-btn.ant-btn:hover{color:var(--learning-primary);background:color-mix(in srgb,var(--learning-primary) 8%,transparent)}.group-card-start-btn.ant-btn,.plans-card-resume-btn.ant-btn{display:inline-flex;align-items:center;gap:5px;height:26px;border-radius:6px;padding:0 10px;border-color:color-mix(in srgb,var(--learning-primary) 34%,var(--learning-line));background:var(--learning-primary-soft);color:var(--learning-primary)}.group-card-start-btn.ant-btn:hover,.group-card-start-btn.ant-btn:focus,.plans-card-resume-btn.ant-btn:hover,.plans-card-resume-btn.ant-btn:focus{border-color:var(--learning-primary);background:color-mix(in srgb,var(--learning-primary) 14%,var(--learning-primary-soft));color:var(--learning-primary)}.group-card-start-btn.ant-btn>span:not(.anticon){margin-left:0}.group-card-data-menu .ant-dropdown-menu-item,.group-card-more-menu .ant-dropdown-menu-item{display:flex;align-items:center;gap:6px}.group-card-data-menu .anticon,.group-card-more-menu .anticon{font-size:14px}.group-card-pager{display:flex;justify-content:center;margin-top:14px}.group-table-wrap.virtual-scroll{max-height:calc(100vh - 300px);max-height:calc(100dvh - 300px)}.group-table{width:100%;border-collapse:separate;border-spacing:0;min-width:0;table-layout:auto}.group-table th,.group-table td{padding:10px 12px;text-align:left;font-size:12px;border-bottom:1px solid var(--learning-line);vertical-align:middle;word-break:break-word;white-space:nowrap}.group-table th{color:var(--learning-text-3);font-weight:700;background:var(--learning-surface-soft);white-space:nowrap;position:sticky;top:0;z-index:1}.group-table td{color:var(--learning-text-1)}.group-common-col,.group-review-col,.group-data-col,.group-action-col{min-width:0}.group-actions-stack{display:inline-flex;flex-direction:row;align-items:center;gap:6px;flex-wrap:nowrap}.group-op-actions{display:inline-flex;flex-direction:column;align-items:flex-start;gap:6px}.group-data-actions{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.group-op-actions .manage-link-btn,.group-actions-stack .manage-link-btn,.group-data-actions .manage-link-btn{white-space:nowrap;line-height:1.25}.group-word-list{display:flex;flex-direction:column;gap:0}.group-word-row{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px solid var(--learning-line)}.group-word-row:last-child{border-bottom:none}.group-word-index{min-width:24px;text-align:right;font-size:11px;font-weight:700;color:var(--learning-text-3);padding-top:2px}.group-word-main{flex:1;min-width:0}.group-word-en{font-size:15px;font-weight:700;color:var(--learning-text-1);line-height:1.4}.group-word-phonetic{margin-left:6px;font-size:12px;font-weight:500;color:var(--learning-text-3)}.group-word-cn{margin-top:2px;font-size:12px;color:var(--learning-text-3);line-height:1.4}.group-passage-tabs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.group-passage-tab{padding:4px 12px;border-radius:8px;border:1px solid var(--learning-line);background:var(--learning-surface-soft);color:var(--learning-text-3);font-size:12px;font-weight:600;cursor:pointer}.group-passage-tab.active{border-color:var(--learning-primary);background:var(--learning-primary-soft);color:var(--learning-primary)}.group-passage-ghost-btn{margin-left:auto;padding:4px 10px;border-radius:8px;border:1px solid var(--learning-line);background:var(--learning-surface-soft);color:var(--learning-text-3);font-size:11px;font-weight:600;cursor:pointer}.group-passage-ghost-btn.active{border-color:color-mix(in srgb,var(--learning-primary) 34%,var(--learning-line));background:var(--learning-primary-soft);color:var(--learning-primary)}.group-passage-card{border:1px solid var(--learning-line);border-radius:12px;background:var(--learning-surface-soft);padding:14px}.group-passage-meta{margin-bottom:10px;font-size:12px;color:#64748b}.group-passage-content{color:#1f2937;font-size:14px;line-height:1.85;white-space:normal}.group-passage-translation{margin-top:12px;border-top:1px dashed #e2e8f0;padding-top:12px}.group-passage-translation-title{font-size:12px;font-weight:700;color:#475569;margin-bottom:6px}.group-passage-translation-body{font-size:13px;color:#475569;line-height:1.7;white-space:normal}.group-passage-questions{margin-top:12px}.group-passage-question-title{margin-bottom:8px;font-size:12px;font-weight:700;color:#334155}.group-passage-question{margin-bottom:12px}.group-passage-question-text{margin-bottom:6px;font-size:13px;font-weight:600;color:#1f2937;white-space:normal}.group-passage-options{display:flex;flex-direction:column;gap:4px}.group-passage-option{padding:4px 8px;border-radius:8px;font-size:13px;color:#475569;white-space:normal}.group-passage-option.correct{background:#ecfdf3;color:#166534}.group-passage-option-label{font-weight:700;margin-right:4px}.group-passage-answer{margin-top:6px;font-size:12px;color:#0f766e;font-weight:600}.group-review-meta{border:1px solid #e8edf3;border-radius:10px;background:#f8fafc;padding:10px 12px;margin-bottom:12px;display:flex;justify-content:space-between;gap:10px;font-size:12px;color:#334155}.group-review-question{border:1px solid #edf2f7;border-radius:10px;padding:10px;margin-bottom:10px;background:#fff}.group-review-question-title{margin-bottom:8px;font-size:13px;font-weight:700;color:#1f2937}.group-review-options{display:flex;flex-wrap:wrap;gap:8px}.group-review-option-btn{border:1px solid #e5eaf1;background:#f8fafc;color:#475569;border-radius:8px;padding:6px 10px;font-size:12px;font-weight:600;cursor:pointer}.group-review-option-btn.active{border-color:#ffd7c4;background:#fff5ef;color:#ff6b35}.group-review-remark{margin-top:10px}.group-review-remark-label{margin-bottom:6px;font-size:12px;font-weight:700;color:#475569}.teacher-themed-modal{overflow:hidden!important}.teacher-themed-modal .ant-modal{top:0;margin:0;padding-bottom:0;max-width:calc(100vw - 32px)}.teacher-themed-modal.ant-modal-wrap{display:flex;align-items:center;justify-content:center;padding:16px;overflow:hidden!important}.teacher-themed-modal .ant-modal-content{border-radius:14px;border:1px solid #e8edf3;overflow:hidden;display:flex;flex-direction:column;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px)}.teacher-themed-modal .ant-modal-header,.teacher-themed-modal .ant-modal-footer{flex-shrink:0}.teacher-themed-modal .ant-modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none}.teacher-themed-modal .ant-modal-body::-webkit-scrollbar{width:0;height:0;display:none}.teacher-themed-modal .ant-modal-title{color:#c2410c;font-weight:700}.teacher-themed-modal .ant-modal-footer .ant-btn-primary{border-color:#ff6b35;background:#ff6b35}.teacher-themed-modal .ant-modal-footer .ant-btn-primary:hover,.teacher-themed-modal .ant-modal-footer .ant-btn-primary:focus{border-color:#ff824f;background:#ff824f}@media(max-width:768px){.teacher-themed-modal.ant-modal-wrap{padding:8px}.teacher-themed-modal .ant-modal-content{max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px)}}.group-time-field{display:flex;flex-direction:column;gap:8px}.group-time-mode-row{display:inline-flex;align-items:center;gap:8px}.group-time-mode-btn{border:1px solid #ffd9c2;background:#fff7f2;color:#9a3412;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:700;cursor:pointer;transition:all .16s ease}.group-time-mode-btn.active{border-color:#ff6b35;background:#ff6b35;color:#fff}.group-time-label{font-size:12px;font-weight:700;color:#475569}.group-time-input{height:40px;border:1px solid #ffd9c2;border-radius:10px;padding:0 12px;font-size:13px;color:#1f2937;background:#fff;outline:none}.group-time-input:focus{border-color:#ff6b35;box-shadow:0 0 0 3px #ff6b3514}.group-table th:first-child,.group-table td:first-child{padding-left:10px;padding-right:10px}.group-table .col-check{width:44px;min-width:44px;text-align:center}.group-virtual-spacer-row td{padding:0!important;border-bottom:none!important;background:transparent!important}.group-student-link{border:none;background:transparent;color:#ff6b35;font-size:13px;font-weight:700;cursor:pointer;padding:0}.group-student-link:hover{text-decoration:underline}.group-student-meta{margin-top:2px;color:#94a3b8;font-size:11px}@media(min-width:768px)and (max-width:1300px)and (orientation:landscape){.groups-workspace .stage-card .ant-card-head{min-height:42px;padding:0 12px}.groups-workspace .stage-card .ant-card-head-title,.groups-workspace .stage-card .ant-card-extra{font-size:12px}.group-table{min-width:1020px;table-layout:fixed}.group-table th,.group-table td{padding:8px 7px;font-size:12px}.group-table .col-check{width:36px;min-width:36px}.group-table .group-id-col{width:60px;min-width:60px}.group-table .group-student-col{width:154px;min-width:154px}.group-student-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-table .group-type-col{width:92px;min-width:92px}.group-table .group-status-col{width:100px;min-width:100px}.group-table .group-common-col{width:124px;min-width:124px}.group-table .group-review-col{width:78px}.group-table .group-time-col{width:112px;min-width:112px}.group-table .group-data-col{width:90px;min-width:90px}.group-table .group-action-col{width:102px;min-width:102px}.group-actions-stack,.group-data-actions{display:flex;gap:4px;flex-wrap:wrap}.group-op-actions{gap:4px}.group-op-actions .manage-link-btn,.group-actions-stack .manage-link-btn,.group-data-actions .manage-link-btn{padding-inline:4px;font-size:12px}.dashboard-card .ant-card-head{min-height:42px;padding:0 12px}.board-metrics{gap:8px}.board-metric{padding:9px 10px}.board-metric strong{font-size:18px}.board-table-wrap{overflow-x:auto}.board-table-abc{min-width:720px}.board-table-abc .col-stu{width:27%}.board-table th,.board-table td{padding:8px 6px;font-size:12px}.board-table-abc .board-initial-level-col{display:none}.board-student-compact-meta{display:block;margin-top:2px;color:var(--learning-text-3);font-size:10px;line-height:1.2}.student-panel-card .level-log-pane{overflow-x:auto;overflow-y:hidden}.student-panel-card .level-log-header,.student-panel-card .level-log-row{display:flex;min-width:760px;padding:9px 12px;align-items:center;white-space:nowrap}.student-panel-card .level-log-row .col-group{width:48px}.student-panel-card .level-log-row .col-vocab,.student-panel-card .level-log-row .col-vocab-range,.student-panel-card .level-log-row .col-acc,.student-panel-card .level-log-row .col-suggest{display:flex;align-items:center;gap:4px}}.profile-card{background:#fff;border-radius:16px;padding:20px}.jisuan-profile-card{border:1px solid #e8edf3;box-shadow:var(--shadow-1)}.profile-top{display:flex;align-items:center;gap:14px;margin-bottom:14px}.profile-avatar{cursor:default}.profile-info{min-width:0;flex:1}.profile-name{font-size:18px;line-height:1;font-weight:800;color:#0f172a;letter-spacing:-.3px}.profile-meta{margin-top:4px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:#64748b;font-size:12px;font-weight:500}.profile-meta .expiry-link{display:inline-flex;align-items:center;gap:3px;cursor:pointer}.profile-meta .expiry-link:hover{color:#ff6b35}.profile-meta .expiry-icon{font-size:13px;color:#f59e0b}.profile-meta .expired{color:#ef4444}.profile-epoch-control{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;min-width:180px}.profile-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.profile-primary-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 20px;border-radius:14px;border:0;background:linear-gradient(135deg,#ff8c42,#ff6b35);color:#fff;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 4px 14px #ff6b354d;transition:transform .15s ease,opacity .15s ease}.profile-primary-action:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.profile-primary-action:not(:disabled):active{transform:scale(.96)}.profile-back-btn{display:inline-flex;align-items:center;gap:5px;padding:8px 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--text-2);font-size:12px;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.profile-back-btn:hover{background:color-mix(in srgb,var(--primary) 6%,var(--surface));color:var(--primary);border-color:color-mix(in srgb,var(--primary) 40%,var(--line))}.profile-actions{display:flex;gap:8px;flex-wrap:wrap}.act-chip{display:inline-flex;align-items:center;gap:5px;padding:8px 14px;border-radius:12px;border:1.5px solid #eef0f4;background:#fafbfc;color:#111827;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}.chip-icon{font-size:16px;color:#ff6b35}.act-chip:hover{background:#f4f5f7}.act-chip:active{transform:scale(.97)}.act-chip.warn,.act-chip.danger{color:#4b5563}.act-chip.warn .chip-icon{color:#f59e0b}.act-chip.danger .chip-icon{color:#ef4444}.student-profile-top{display:flex;align-items:center;gap:14px}.student-avatar{width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,#fff3ed,#ffe8dc);color:#ff6b35;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800;flex-shrink:0}.student-profile-info{min-width:0;flex:1}.student-profile-name{font-size:18px;line-height:1;font-weight:800;color:#0f172a}.student-profile-meta{margin-top:4px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:#64748b;font-size:12px;font-weight:500}.student-profile-actions{display:flex;justify-content:flex-end;align-items:center}.right-tabs{display:flex;gap:0;background:#fff;border-radius:12px;padding:3px;box-shadow:0 1px 3px #0000000d}.right-tabs-shell{display:flex;align-items:center;gap:10px;background:#fff;border-radius:12px;padding:3px;box-shadow:0 1px 3px #0000000d}.right-tabs-shell .right-tabs{flex:1 1 auto;min-width:0;box-shadow:none;padding:0}.learning-epoch-switcher{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;min-width:150px}.learning-epoch-label{color:#64748b;font-size:12px;font-weight:700;white-space:nowrap}.learning-epoch-select{width:100%;min-width:126px;height:32px;border:1px solid #e5e7eb;border-radius:9px;background:#f8fafc;color:#334155;font-size:12px;font-weight:600;padding:0 8px;outline:none}.learning-epoch-select:disabled{opacity:1;cursor:default}.learning-epoch-select:focus{border-color:#ffb391;box-shadow:0 0 0 2px #ff6b351f}.learning-epoch-readonly,.profile-readonly-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#eef2ff;color:#4f46e5;font-size:11px;font-weight:700;padding:3px 7px;white-space:nowrap}.right-tab{flex:1;border:0;background:transparent;text-align:center;padding:8px 0;border-radius:10px;font-size:13px;font-weight:600;color:#9ca3af;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:4px;transition:background .2s,color .2s,box-shadow .2s}.right-tab.active{background:linear-gradient(135deg,#fff3ed,#ffe8dc);color:#ff6b35;box-shadow:0 2px 8px #ff6b3526}.tab-count{font-size:10px;font-weight:700;background:#ff6b3526;padding:0 5px;border-radius:8px;color:#ff6b35}@media(max-width:900px){.right-tabs-shell{align-items:stretch;flex-direction:column}.learning-epoch-switcher{width:100%}}.student-overview-pane{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:12px}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;flex-shrink:0}.stat-card{background:#fff;border-radius:14px;padding:16px 12px;text-align:center;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000005}.stat-num{font-size:20px;font-weight:800;color:var(--text-1);line-height:1.2}.stat-num.accent{color:var(--primary, #ff6b35)}.stat-sub{font-size:11px;font-weight:500;color:var(--text-3)}.stat-lbl{margin-top:4px;font-size:11px;color:#b0b8c4;font-weight:500}.chart-card{background:#fff;border-radius:16px;padding:16px 20px 12px;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000005;flex:1 1 0;display:flex;flex-direction:column;min-height:0}.chart-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px;flex-shrink:0;flex-wrap:wrap}.toggle-group{display:flex;gap:4px}.toggle-btn{padding:5px 14px;border-radius:10px;font-size:12px;font-weight:600;color:var(--text-3);background:#fafbfc;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent;border:none}.toggle-btn.active{background:linear-gradient(135deg,#fff3ed,#ffe8dc);color:var(--primary);box-shadow:0 2px 8px #ff6b3526}.toggle-btn.ghost{background:#f4f5f7;color:#7b8698}.toggle-btn.ghost.active{background:#fff;color:var(--primary);box-shadow:inset 0 0 0 1px #ff6b3540}.chart-area{flex:1 1 auto;min-height:0;height:100%;position:relative}.chart-area canvas{width:100%!important;height:100%!important}.chart-empty{height:100%;min-height:180px;display:flex;align-items:center;justify-content:center}.overview-chart-svg{width:100%;height:100%}.overview-chart-grid line{stroke:#0000000a;stroke-width:1}.overview-chart-grid text,.overview-chart-xaxis text{fill:#94a3b8;font-size:11px;font-weight:500}.overview-chart-xaxis text{text-anchor:middle}.manage-filter-row{display:flex;gap:8px}.manage-filter-chip{border:1px solid var(--learning-line);background:var(--learning-surface-soft);color:var(--learning-text-3);border-radius:var(--learning-radius-md);padding:6px 12px;font-size:12px;font-weight:700;cursor:pointer}.manage-filter-chip.active{border-color:color-mix(in srgb,var(--learning-primary) 34%,var(--learning-line));background:var(--learning-primary-soft);color:var(--learning-primary)}.manage-batch-bar{margin-bottom:10px;border:1px solid var(--learning-line);border-radius:var(--learning-radius-md);background:var(--learning-surface-soft);padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.manage-batch-left,.manage-batch-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.manage-selected-count{font-size:12px;color:var(--learning-text-3);font-weight:600}.group-batch-bar .manage-selected-count{color:var(--learning-accent, #ff6b35);font-size:13px}.group-batch-select-all{padding:0!important;height:auto!important;line-height:inherit!important}.manage-check{display:inline-flex;align-items:center;gap:6px;color:var(--learning-text-2);font-size:12px;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none}.manage-check input{width:16px;height:16px;margin:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:1.5px solid var(--learning-line-strong);border-radius:4px;background:var(--learning-surface);display:inline-grid;place-content:center;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease}.manage-check input:before{content:"";width:9px;height:5px;border:2px solid #fff;border-top:0;border-right:0;transform:rotate(-45deg) scale(0);transform-origin:center;transition:transform .14s ease}.manage-check input:hover{border-color:var(--learning-primary-hover)}.manage-check input:checked{border-color:var(--learning-primary);background:var(--learning-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--learning-primary) 20%,transparent)}.manage-check input:checked:before{transform:rotate(-45deg) scale(1)}.manage-check input:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--learning-primary) 18%,transparent)}.manage-check input:disabled{opacity:.55;cursor:not-allowed}.manage-head-left{gap:6px}.manage-list,.report-list{display:grid;gap:10px}.manage-item-card,.report-item-card{border:1px solid var(--learning-line)}.student-manage-pane .manage-list{margin-top:8px;gap:10px}.student-manage-pane .manage-item-card{border-radius:16px;background:var(--learning-surface);border:none;box-shadow:var(--learning-shadow-1);padding:14px 14px 12px}.student-report-pane .report-list{gap:12px}.student-report-pane .report-item-card{border-radius:16px;background:var(--learning-surface);border:none;box-shadow:var(--learning-shadow-1);padding:16px 20px}.student-report-pane .report-head{margin-bottom:12px}.student-report-pane .report-metrics{margin-bottom:14px}.student-report-pane .report-section{margin-top:4px}.student-report-pane.report-pane-abc .report-metrics{display:flex;gap:8px;flex-wrap:nowrap}.student-report-pane.report-pane-abc .report-metric{flex:1;min-width:0;border:none;background:var(--learning-surface-soft);border-radius:12px;padding:12px 8px}.student-report-pane.report-pane-abc .report-metric span{font-size:10px;margin-bottom:2px;color:var(--learning-text-3)}.student-report-pane.report-pane-abc .report-metric strong{font-size:16px;font-weight:800}.student-report-pane.report-pane-abc .report-section-title{margin-bottom:8px}.student-report-pane.report-pane-abc .report-section-title span:first-child{font-size:12px;font-weight:700}.student-report-pane.report-pane-abc .report-section-sub,.student-report-pane.report-pane-abc .report-section-right{font-size:11px;font-weight:500;color:var(--learning-text-3)}.student-report-pane.report-pane-abc .report-rings{gap:8px;flex-wrap:nowrap}.student-report-pane.report-pane-abc .report-ring-item{border-radius:12px;background:var(--learning-surface-soft);padding:10px 8px}.student-report-pane.report-pane-abc .report-ring-title{font-size:10px;color:var(--learning-text-3);font-weight:500;margin-bottom:4px}.jisuan-report-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.jisuan-report-title{font-size:14px;font-weight:700;color:var(--learning-text-2)}.student-report-pane.report-pane-jisuan .jisuan-record-table .ant-table-thead>tr>th{font-size:12px;color:var(--learning-text-3);background:var(--learning-surface-soft)}.student-report-pane.report-pane-jisuan .jisuan-record-table .ant-table-tbody>tr>td{font-size:12px;color:var(--learning-text-2)}.jisuan-report-detail-modal .ant-modal-body{max-height:72vh;overflow:auto}.jisuan-report-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.jisuan-report-summary-item{border:1px solid var(--learning-line);background:var(--learning-surface-soft);border-radius:var(--learning-radius-md);padding:10px}.jisuan-report-summary-label{font-size:12px;color:var(--learning-text-3);margin-bottom:4px}.jisuan-report-summary-value{font-size:14px;color:var(--learning-text-1);font-weight:600;line-height:1.35}.jisuan-report-tabs .ant-tabs-content{min-height:280px}.jisuan-page-link{padding-left:0}.student-manage-pane .manage-item-actions{margin-top:0}.student-manage-pane .abc-manage-actions .manage-item-actions-left,.student-manage-pane .abc-manage-actions .manage-item-actions-right{gap:8px}.student-manage-pane .manage-link-btn{border:1px solid var(--learning-line);background:var(--learning-surface-soft);color:var(--learning-text-2);border-radius:var(--learning-radius-md);padding:4px 12px;min-height:30px;font-size:12px;font-weight:600;cursor:pointer;line-height:1.2;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .12s ease}.student-manage-pane .manage-link-btn:hover{background:var(--learning-primary-soft);border-color:color-mix(in srgb,var(--learning-primary) 30%,var(--learning-line));color:var(--learning-primary)}.student-manage-pane .manage-link-btn:active{transform:translateY(1px)}.student-manage-pane .manage-link-btn:disabled{color:var(--learning-text-3);border-color:var(--learning-line);background:var(--learning-surface-soft);cursor:not-allowed}.student-manage-pane .abc-manage-actions .manage-item-actions-left .manage-link-btn{border-color:var(--learning-line);background:var(--learning-surface-soft);border-radius:9px;padding:4px 11px;min-height:30px}.student-manage-pane .abc-manage-actions .manage-item-actions-left .manage-link-btn:hover{background:var(--learning-primary-soft);border-color:color-mix(in srgb,var(--learning-primary) 30%,var(--learning-line));color:var(--learning-primary)}.student-manage-pane .abc-manage-actions .manage-item-actions-right .manage-link-btn{border-width:1px;padding:4px 13px;border-radius:10px;min-height:30px}.student-manage-pane .manage-link-btn.action-primary{border-color:color-mix(in srgb,var(--learning-primary) 38%,var(--learning-line));background:var(--learning-primary-soft);color:var(--learning-primary)}.student-manage-pane .manage-link-btn.action-success{border-color:color-mix(in srgb,var(--learning-success) 40%,var(--learning-line));background:color-mix(in srgb,var(--learning-success) 10%,var(--learning-surface));color:var(--learning-success)}.student-manage-pane .manage-link-btn.action-warning{border-color:color-mix(in srgb,var(--learning-warning) 40%,var(--learning-line));background:color-mix(in srgb,var(--learning-warning) 10%,var(--learning-surface));color:var(--learning-warning)}.student-manage-pane .manage-link-btn.action-danger{border-color:color-mix(in srgb,var(--learning-danger) 34%,var(--learning-line));background:color-mix(in srgb,var(--learning-danger) 9%,var(--learning-surface));color:var(--learning-danger)}.student-manage-pane .manage-link-btn.action-primary:hover{border-color:#ffc3a6;background:#ffede4;color:#ea580c}.student-manage-pane .manage-link-btn.action-success:hover{border-color:#86efac;background:#dcfce7;color:#166534}.student-manage-pane .manage-link-btn.action-warning:hover{border-color:#fcd34d;background:#fef3c7;color:#92400e}.student-manage-pane .manage-link-btn.action-danger:hover{border-color:#fca5a5;background:#fee2e2;color:#b91c1c}.student-manage-pane .pager-bar,.student-report-pane .pager-bar{padding-bottom:12px}.manage-item-head,.report-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.manage-item-meta,.report-head-left{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.manage-time{font-size:11px;color:var(--learning-text-3)}.manage-id{font-size:12px;font-weight:600;color:var(--learning-text-2)}.group-type{font-size:11px;font-weight:700;padding:2px 10px;border-radius:8px}.group-type.t-basic{background:var(--learning-primary-soft);color:var(--learning-primary)}.group-type.t-upgrade{background:color-mix(in srgb,var(--learning-success) 10%,var(--learning-surface));color:var(--learning-success)}.group-type.t-consolidation{background:color-mix(in srgb,var(--learning-warning) 10%,var(--learning-surface));color:var(--learning-warning)}.group-type.t-application{background:color-mix(in srgb,var(--learning-danger) 9%,var(--learning-surface));color:var(--learning-danger)}.group-status{font-size:10px;font-weight:700;padding:2px 8px;border-radius:8px}.group-status.st-pending{background:color-mix(in srgb,var(--learning-warning) 16%,var(--learning-surface));color:var(--learning-warning)}.group-status.st-running{background:color-mix(in srgb,var(--learning-primary) 12%,var(--learning-surface));color:var(--learning-primary)}.group-status.st-tested{background:var(--learning-primary-soft);color:var(--learning-primary)}.group-status.st-paused{background:color-mix(in srgb,var(--learning-warning) 16%,var(--learning-surface));color:var(--learning-warning)}.group-status.st-completed{background:color-mix(in srgb,var(--learning-success) 14%,var(--learning-surface));color:var(--learning-success)}.group-status.st-pending-review{background:color-mix(in srgb,var(--learning-warning) 10%,var(--learning-surface));color:var(--learning-warning);border:1px solid color-mix(in srgb,var(--learning-warning) 34%,var(--learning-line))}.group-status.st-not_generated{background:var(--learning-surface-soft);color:var(--learning-text-2)}.pdf-badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:6px;background:var(--learning-surface-soft);color:var(--learning-text-3)}.pdf-badge.pdf-generating,.pdf-badge.pdf-pending{background:color-mix(in srgb,var(--learning-warning) 10%,var(--learning-surface));color:var(--learning-warning)}.pdf-badge.pdf-completed{background:color-mix(in srgb,var(--learning-success) 10%,var(--learning-surface));color:var(--learning-success)}.pdf-badge.pdf-failed{background:color-mix(in srgb,var(--learning-danger) 9%,var(--learning-surface));color:var(--learning-danger)}.duration-badge{font-size:10px;font-weight:700;padding:2px 8px;border-radius:6px;background:var(--learning-primary-soft);color:var(--learning-primary);border:1px solid color-mix(in srgb,var(--learning-primary) 34%,var(--learning-line))}.pause-badge{font-size:10px;font-weight:700;padding:2px 8px;border-radius:6px;border:1px solid transparent}.pause-badge.running{background:color-mix(in srgb,var(--learning-success) 10%,var(--learning-surface));color:var(--learning-success);border-color:color-mix(in srgb,var(--learning-success) 40%,var(--learning-line))}.pause-badge.paused{background:color-mix(in srgb,var(--learning-warning) 10%,var(--learning-surface));color:var(--learning-warning);border-color:color-mix(in srgb,var(--learning-warning) 34%,var(--learning-line))}.manage-item-actions{margin-top:4px}.abc-manage-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:nowrap}.abc-manage-actions .manage-item-actions-left,.abc-manage-actions .manage-item-actions-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.abc-manage-actions .manage-item-actions-left{flex:1;min-width:0}.abc-manage-actions .manage-item-actions-right{justify-content:flex-end;margin-left:auto;flex-shrink:0}.jisuan-manage-actions{justify-content:flex-end}.jisuan-manage-actions .manage-item-actions-right{justify-content:flex-end;margin-left:auto}.manage-link-btn{border:1px solid #e5eaf1;background:#f8fafc;color:#64748b;border-radius:8px;padding:4px 9px;font-size:12px;font-weight:600;line-height:1.2;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.manage-link-btn:hover{background:#eef2f7}.manage-link-btn.action-primary{border-color:#c7e0ff;background:#eff6ff;color:#1d4ed8}.manage-link-btn.action-success{border-color:#bbf7d0;background:#ecfdf3;color:#15803d}.manage-link-btn.action-warning{border-color:#fde68a;background:#fffbeb;color:#b45309}.manage-link-btn.action-danger{border-color:#fecaca;background:#fef2f2;color:#dc2626}.manage-link-btn.action-print{border-color:#ffd7c4;background:#fff5ef;color:#ff6b35}.manage-timing{margin-bottom:10px;padding:10px;border-radius:10px;background:linear-gradient(180deg,#fbfdff,#f8fbff);border:1px solid #eaf0f7}.timing-flow-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;row-gap:24px;width:100%;padding:10px 0 8px}.flow-chip{min-width:108px;border:1px solid #dbe7f5;background:#f5f9ff;border-radius:10px;padding:6px 8px;display:flex;flex-direction:column;align-items:center;gap:2px;flex:0 0 auto}.flow-chip.completed{border-color:#bde7cc;background:#effcf4}.flow-chip.active{border-color:#bfd7ff;background:#edf5ff}.flow-chip.pause{border-color:#fed7aa;background:#fff7ed}.flow-chip.resume{border-color:#bbf7d0;background:#ecfdf3}.flow-chip.pause .flow-name{color:#c2410c}.flow-chip.resume .flow-name{color:#15803d}.flow-name{font-size:11px;font-weight:700;color:#4f5f75;line-height:1.2;white-space:nowrap}.flow-time{font-size:10px;color:#7f90a6;line-height:1.2;white-space:nowrap}.flow-event{max-width:124px;font-size:10px;line-height:1.35;color:#8a9aaf;text-align:center;white-space:normal;word-break:break-all}.flow-arrow{min-width:62px;display:inline-flex;align-items:center;justify-content:center;position:relative;align-self:center;overflow:visible}.arrow-line{width:42px;height:2px;border-radius:999px;background:#cfdbeb;position:relative}.arrow-line:after{content:"";position:absolute;right:-1px;top:-3px;width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:6px solid #cfdbeb}.flow-arrow.active .arrow-line{background:#59a8ff}.flow-arrow.active .arrow-line:after{border-left-color:#59a8ff}.arrow-time{position:absolute;left:50%;bottom:100%;margin-bottom:4px;transform:translate(-50%);font-size:10px;color:#8091a7;white-space:nowrap}@media(max-width:1100px){.timing-flow-row{gap:12px;row-gap:24px}.flow-chip{padding:6px 4px}.flow-name{font-size:10px}.flow-time,.arrow-time{font-size:9px}}@media(max-width:768px){.flow-chip{min-width:82px;padding:5px 6px}.flow-arrow{min-width:50px}}.report-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}.report-metric{border:1px solid var(--learning-line);background:var(--learning-surface-soft);border-radius:10px;padding:10px 8px;text-align:center}.report-metric span{display:block;font-size:11px;color:var(--learning-text-3)}.report-metric strong{display:block;margin-top:4px;font-size:16px;color:var(--learning-text-1)}.report-metric strong.acc-none{color:var(--learning-text-3);font-size:14px;font-weight:600}.report-section{margin-top:4px}.report-section-title{display:flex;align-items:center;gap:8px;margin-bottom:8px}.report-section-title span:first-child{font-size:12px;font-weight:700;color:var(--learning-text-1)}.report-section-sub{font-size:11px;color:var(--learning-text-3);font-weight:500}.report-section-right{margin-left:auto;font-size:11px;color:var(--learning-text-3);font-weight:500}.report-rings{display:flex;flex-wrap:nowrap;gap:10px}.report-ring-item{flex:1;min-width:0;border-radius:12px;background:var(--learning-surface-soft);padding:10px 8px;display:flex;flex-direction:column;align-items:center;gap:4px}.report-ring-circle{width:76px;height:76px;position:relative}.report-ring-circle svg{width:76px;height:76px;transform:rotate(-90deg)}.report-ring-bg{fill:none;stroke:var(--learning-line);stroke-width:6}.report-ring-bar{fill:none;stroke-width:6;stroke-linecap:round;transition:stroke-dashoffset .6s ease}.report-ring-bar.acc-high{stroke:var(--learning-success)}.report-ring-bar.acc-mid{stroke:var(--learning-warning)}.report-ring-bar.acc-low{stroke:var(--learning-danger)}.report-ring-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.report-ring-pct{font-size:14px;font-weight:800;color:var(--learning-text-1);line-height:1.2}.report-ring-score{font-size:9px;color:var(--learning-text-3);font-weight:500}.report-ring-title{font-size:10px;color:var(--learning-text-2);font-weight:500}.level-log-pane{font-size:12px;background:var(--learning-surface);border-radius:12px;overflow-x:auto;overflow-y:hidden;box-shadow:0 1px 3px #0000000a}.level-log-toolbar{display:flex;justify-content:flex-end;margin-bottom:10px}.student-panel-card .ant-card-body{border-radius:0 0 12px 12px}.level-log-header{display:flex;align-items:center;min-width:760px;padding:10px 14px;font-size:11px;font-weight:600;color:var(--learning-text-3);background:var(--learning-surface-soft);border-bottom:1px solid var(--learning-line)}.level-log-row{display:flex;align-items:center;min-width:760px;padding:10px 14px;border-bottom:1px solid var(--learning-line)}.level-log-row:last-child{border-bottom:none}.level-log-row.highlight{background:var(--learning-primary-soft)}.col-group{width:48px;flex-shrink:0;color:var(--learning-text-2);font-weight:600}.col-ttype{flex:1;flex-shrink:0}.ttype-tag{font-size:10px;font-weight:700;padding:1px 6px;border-radius:4px;white-space:nowrap}.ttype-tag.t-basic{background:#f4f5f7;color:#888}.ttype-tag.t-upgrade{background:#ecfdf3;color:#16a34a}.ttype-tag.t-consolidation{background:#fff7ed;color:#f59e0b}.ttype-tag.t-application{background:#fef2f2;color:#ef4444}.col-vocab{flex:1;display:flex;align-items:center;gap:4px}.col-vocab-range{flex:1;color:var(--learning-text-3);font-size:11px}.col-acc{flex:1;font-size:11px;color:var(--learning-text-2)}.col-suggest{flex:1;display:flex;align-items:center;gap:5px}.col-time{width:82px;flex-shrink:0;color:var(--learning-text-3);font-size:11px;text-align:right}.delta{font-weight:800;font-size:13px}.delta.up{color:#16a34a}.delta.down{color:#ef4444}.level-tag{font-size:10px;font-weight:700;padding:1px 6px;border-radius:4px}.level-tag.up{background:#ecfdf3;color:#16a34a}.level-tag.down{background:#fef2f2;color:#ef4444}.streak{font-weight:700;font-size:12px}.streak.up{color:#16a34a}.streak.down{color:#ef4444}.streak.reset{color:var(--learning-text-3)}.muted{color:var(--learning-text-3);font-weight:500}.pager-bar{margin-top:10px;display:flex;align-items:center;justify-content:center;gap:10px}.pager-btn{border:1px solid var(--learning-line);background:var(--learning-surface);color:var(--learning-text-3);border-radius:8px;padding:5px 12px;font-size:12px;font-weight:600;cursor:pointer}.pager-btn:disabled{opacity:.45;cursor:not-allowed}.pager-info{color:var(--learning-text-3);font-size:12px}.stage-card{border:1px solid #f0e6df;border-radius:16px;background:#fff;box-shadow:0 1px 3px #0f172a08,0 4px 12px #0f172a05}.groups-workspace .ant-card-body{padding:16px 20px}.groups-content-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:12px}.groups-content-heading{display:flex;align-items:baseline;gap:8px}.groups-content-title{font-size:15px;font-weight:700;color:#0f172a}.groups-content-sub{font-size:12px;color:#64748b}.groups-content-actions{display:flex;align-items:center;gap:8px}.groups-batch-entry{border-radius:6px;font-weight:600}.dashboard-card{border:1px solid var(--learning-line);box-shadow:var(--shadow-1)}.dashboard-refresh-btn{min-width:88px;border-radius:8px;font-weight:700;box-shadow:0 4px 10px color-mix(in srgb,var(--learning-primary) 22%,transparent)}.dashboard-refresh-btn.ant-btn-loading,.dashboard-refresh-btn:disabled{box-shadow:none}.dashboard-alert{margin-bottom:8px}.board-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.board-metric{border:1px solid var(--learning-line);border-radius:10px;background:var(--learning-surface);padding:10px;display:flex;flex-direction:column;gap:3px}.board-metric span{font-size:12px;color:var(--learning-text-3)}.board-metric strong{font-size:20px;color:var(--learning-text-1);line-height:1}.board-table-wrap{border:1px solid var(--learning-line);border-radius:12px;background:var(--learning-surface);overflow:hidden}.board-table{width:100%;border-collapse:separate;border-spacing:0;min-width:0;table-layout:fixed}.board-table-abc .col-stu{width:clamp(190px,30%,320px)}.board-table-jisuan .col-stu{width:clamp(190px,34%,340px)}.board-table th,.board-table td{padding:10px 8px;text-align:center;font-size:12px;border-bottom:1px solid var(--learning-line);vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-table th{color:var(--learning-text-3);font-weight:700;background:var(--learning-surface-soft);white-space:nowrap;position:sticky;top:0;z-index:2}.board-table th.col-sort{cursor:pointer;-webkit-user-select:none;user-select:none}.board-table td{color:var(--learning-text-1)}.board-table th:first-child,.board-table td:first-child{text-align:left;padding-left:16px}.board-table tbody tr{cursor:pointer;transition:background .15s ease}.board-table tbody tr:hover{background:var(--learning-surface-soft)}.col-stu{min-width:0}.board-table th.col-stu,.board-table td.col-stu{white-space:normal;overflow:visible;text-overflow:clip}.stu-cell{display:flex;align-items:center;gap:10px;min-width:0}.stu-avatar{width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,color-mix(in srgb,var(--learning-primary) 12%,var(--learning-surface)) 0%,var(--learning-primary-soft) 100%);color:var(--learning-primary);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;flex-shrink:0}.stu-text{min-width:0;overflow:visible;flex:1}.stu-name{font-size:13px;font-weight:700;color:var(--learning-text-1);white-space:nowrap;line-height:1.25}.stu-grade{font-size:10px;color:var(--learning-text-3);margin-top:1px}.board-student-compact-meta{display:none}.acc-val{font-weight:700;font-size:13px;font-variant-numeric:tabular-nums}.acc-val.acc-good{color:var(--learning-success)}.acc-val.acc-mid{color:var(--learning-warning)}.acc-val.acc-low{color:var(--learning-danger)}.acc-val.acc-none{color:var(--learning-text-3);font-weight:500}.clickable-acc,.clickable-val{cursor:pointer}.clickable-acc:hover,.clickable-val:hover{text-decoration:underline}.clickable-val{color:var(--learning-primary);font-weight:700}.board-popover{min-width:200px}.board-pop-title{font-size:14px;font-weight:700;color:var(--learning-text-1);margin-bottom:8px}.board-pop-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--learning-line)}.board-pop-row:last-child{border-bottom:none}.board-pop-row span{color:var(--learning-text-3);font-size:12px}.board-pop-row strong{color:var(--learning-text-1);font-size:13px;font-weight:700}.board-pop-empty{padding:8px 0;color:var(--learning-text-3);font-size:12px}.board-level-btn{display:inline-flex;align-items:center;justify-content:center;min-width:34px;padding:2px 10px;border-radius:999px;border:1px solid var(--learning-line);background:var(--learning-surface-soft);color:var(--learning-text-2);font-size:12px;font-weight:700;cursor:pointer;transition:all .15s ease}.board-level-btn:hover{border-color:color-mix(in srgb,var(--learning-primary) 34%,var(--learning-line));background:var(--learning-primary-soft);color:var(--learning-primary)}.level-popover{min-width:220px}.board-level-log-list{max-height:260px;overflow-y:auto}.board-level-log-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--learning-line);color:var(--learning-text-2);font-size:12px;font-weight:700}.board-level-log-row:last-child{border-bottom:none}.board-level-log-row.up{color:var(--learning-success)}.board-level-log-row.down{color:var(--learning-danger)}.board-level-log-time{color:var(--learning-text-3);font-size:11px;font-weight:500;white-space:nowrap}.growth-up{color:var(--learning-success)!important}.growth-down{color:var(--learning-danger)!important}.board-status{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700}.board-status.status-running{color:#0f766e;background:#ccfbf1}.board-status.status-paused{color:#b45309;background:#fef3c7}.board-status.status-pending{color:#92400e;background:#ffedd5}.board-status.status-completed{color:#1d4ed8;background:#dbeafe}.board-status.status-not_generated{color:#475569;background:#e2e8f0}.trend-actions{margin-bottom:10px}.trend-summary{display:flex;align-items:center;justify-content:space-between;color:#64748b;font-size:12px;margin-bottom:8px}.trend-svg-wrap{height:300px;border:1px solid #edf2f7;border-radius:12px;background:#fff;overflow:hidden}.trend-svg{width:100%;height:100%}.trend-grid line{stroke:#e5e7eb;stroke-width:1}.trend-grid text{fill:#94a3b8;font-size:11px}.trend-main-line{fill:none;stroke:#ff6b35;stroke-width:2.5}.trend-avg-line{fill:none;stroke:#94a3b8;stroke-width:1.5;stroke-dasharray:6 4}.trend-points circle{fill:#ff6b35}.trend-foot-list{margin-top:10px;display:grid;gap:6px}.trend-foot-item{border:1px solid #edf2f7;border-radius:8px;padding:7px 10px;display:grid;grid-template-columns:88px 1fr 1fr;gap:8px;align-items:center;color:#64748b;font-size:12px}.trend-foot-item strong{color:#0f172a;font-size:13px;font-weight:700}.stage-card .ant-card-head{min-height:52px;border-bottom:1px solid #eef2f6;padding:0 16px}.stage-card .ant-card-head-title{font-size:16px;font-weight:700}.stage-card .ant-card-extra{color:#64748b;font-size:12px}.task-list{display:grid;gap:10px}.task-card{border:1px solid #edf2f7}.task-head{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:8px}.task-title{font-size:14px;font-weight:700}.task-meta{font-size:12px;color:var(--learning-text-3)}.task-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}.task-summary-item{border:1px solid var(--learning-line);border-radius:var(--learning-radius-sm);padding:6px 8px;display:flex;flex-direction:column;gap:2px;background:var(--learning-surface)}.task-summary-item span{font-size:11px;color:var(--learning-text-3);line-height:1.1}.task-summary-item strong{font-size:13px;color:var(--learning-text-1);line-height:1.1}.drawer-block{margin-bottom:10px;border:1px solid var(--learning-line)}.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.summary-item{border:1px solid var(--learning-line);border-radius:var(--learning-radius-sm);padding:8px 10px;display:flex;justify-content:space-between;color:var(--learning-text-3);font-size:12px}.summary-item strong{color:var(--learning-text-1)}.worksheet-list{display:grid;gap:8px}.worksheet-item{border:1px solid var(--learning-line)}.worksheet-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.worksheet-no{font-size:13px;font-weight:700;color:var(--learning-text-1)}.timeline-row{display:flex;justify-content:space-between;gap:8px;color:var(--learning-text-3);font-size:12px}@media(max-width:767px){.main-content{padding:12px}.board-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.student-profile-top,.profile-top{flex-wrap:wrap}.student-profile-actions{width:100%;justify-items:start}.profile-epoch-control{width:100%;justify-content:flex-start}.profile-toolbar{align-items:stretch}.profile-primary-action{width:100%;justify-content:center}.profile-card{padding:14px}.stats-row{grid-template-columns:repeat(2,minmax(0,1fr))}.plans-stats-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.plans-stats-row .stat-card{padding:10px 4px}.plans-stats-row .stat-num{font-size:15px}.plans-content-card{padding:12px 14px}.plans-page-header{align-items:flex-start}.plans-page-actions{width:100%}.plans-page-actions .plans-student-switcher{flex:1;width:auto}.plans-profile-actions{width:100%;margin-left:0}.plans-profile-actions .plans-student-switcher{flex:1;width:auto}.plans-filter-bar{flex-direction:column;align-items:stretch}.plans-toggle-group{overflow-x:auto;justify-content:flex-start}.chart-area{min-height:0}.report-metrics{grid-template-columns:1fr}.report-rings{grid-template-columns:repeat(2,minmax(0,1fr))}}.replaced-session-modal .ant-modal{margin:0 auto}.replaced-session-modal .ant-modal-content{padding:24px 20px 20px}.replaced-session-modal .ant-modal-confirm-btns,.replaced-session-modal .ant-modal-footer{display:flex;justify-content:center;margin-top:10px}.replaced-session-modal .ant-modal-confirm-btns .ant-btn,.replaced-session-modal .ant-modal-footer .ant-btn{min-width:160px}.plans-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:2px}.plans-grid-card{flex-direction:column;gap:0}.plans-item--batch{position:relative;cursor:pointer}.plans-item--batch.plans-item--selected{border-color:#1677ff;box-shadow:0 0 0 2px #1677ff26}.plans-item--batch.plans-item--unselectable{opacity:.55;cursor:not-allowed}.plans-batch-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;margin-bottom:12px;background:#e6f4ff;border:1px solid #91caff;border-radius:8px}.plans-batch-bar-left{display:flex;align-items:center;gap:8px}.plans-batch-bar-title{font-size:15px;font-weight:700;color:#0958d9}.plans-batch-bar-count{font-size:14px;font-weight:600;color:#0958d9}.plans-batch-bar-right{display:flex;align-items:center;gap:8px}.plans-grid-card .plans-item-card-main{padding-left:0;display:flex;flex-direction:column;flex:1 1 auto;min-width:0}.plans-grid-card .plans-item-card-content{flex:1 1 auto}.plans-grid-card-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;padding-top:8px;border-top:1px solid #f4f5f7;flex-shrink:0}.plans-card-actions-left,.plans-card-actions-right{display:flex;align-items:center;gap:2px}.plans-card-student-link{cursor:pointer;border-radius:6px;padding:2px 4px;margin:-2px -4px;transition:background .15s}.plans-card-student-link:hover{background:#ff8a4c14}.plans-grid-card-actions .ant-btn-text{color:#cbd5e1}.plans-grid-card-actions .ant-btn-text:hover{color:#94a3b8}.plans-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.plans-card-student{font-size:14px;font-weight:700;color:#0f172a;letter-spacing:-.2px}.plans-card-type{font-size:12px;font-weight:600;color:#ea580c;background:#fff3ed;padding:2px 8px;border-radius:6px}.plans-card-initiator{font-size:12px;font-weight:600;color:#15803d;background:#f0fdf4;padding:2px 8px;border-radius:6px}.plans-card-date{font-size:12px;color:#94a3b8;font-variant-numeric:tabular-nums}.plans-card-title{margin-top:6px;font-size:15px;font-weight:600;color:#1e293b;line-height:1.4;white-space:pre-wrap;word-break:break-word}.plans-card-head-left{display:flex;align-items:center;gap:8px;min-width:0}.plans-card-avatar{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,#fff3ed,#ffe8dc);color:#ff6b35;font-size:13px;font-weight:800;flex-shrink:0}.plans-card-result{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex-shrink:0;white-space:nowrap;padding:6px 12px;border-radius:8px;min-width:72px;text-align:center}.plans-card-result.result-done{background:#dcfce7;color:#15803d}.plans-card-result.result-doing{background:#dbeafe;color:#1d4ed8}.plans-card-result.result-pending_review{background:#ede9fe;color:#6d28d9}.plans-card-result.result-awaiting_review{background:#fef3c7;color:#b45309}.plans-card-result.result-failed{background:#fee2e2;color:#b91c1c}.plans-card-result.result-rejected{background:#ffe4e6;color:#be123c}.plans-card-result.result-timeout{background:#fecaca;color:#991b1b}.plans-card-result.result-planned{background:#f1f5f9;color:#475569}.plans-card-result.result-cancelled{background:#e2e8f0;color:#475569}.plans-card-result.result-open{background:#cbd5e1;color:#334155}.plans-card-result.result-partial{background:#fef3c7;color:#b45309;opacity:.55}.plans-card-result-label{font-size:14px;font-weight:700;letter-spacing:-.2px;color:inherit;line-height:1.3}.plans-card-result-minutes{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;color:inherit;opacity:.72;line-height:1.3}.plans-card-warn{margin-top:6px;display:inline-block;font-size:12px;font-weight:600;color:#dc2626;background:#fef2f2;padding:12px;border-radius:6px}.plans-card-paused{margin-top:6px;display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:#d97706;background:#fffbeb;padding:6px 10px;border-radius:6px}.plans-card-paused .anticon{font-size:14px}.pause-reason-modal .pause-reason-tip{margin:0 0 12px;font-size:14px;color:#333}.pause-reason-modal .pause-reason-presets{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.pause-reason-modal .pause-reason-custom{margin-bottom:16px}.pause-reason-modal .pause-reason-actions{display:flex;justify-content:flex-end;gap:8px}.plans-card-meta{display:grid;grid-template-columns:1fr 1fr;gap:3px 12px;margin-top:8px;font-size:12px;color:#94a3b8;line-height:1.6;font-variant-numeric:tabular-nums}.plans-card-meta-note{grid-column:1 / -1;color:#64748b}.plans-card-rounds{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;margin-top:8px}.plans-card-rounds-track{height:6px;overflow:hidden;border-radius:999px;background:#7f7f7f24}.plans-card-rounds-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#1890ff,#096dd9);transition:width .3s ease}.plans-card-rounds-text{font-size:12px;font-weight:600;color:#096dd9;font-variant-numeric:tabular-nums;white-space:nowrap}.plans-item-student{background:#fff3ed;color:#ea580c;font-weight:700}.plans-grid-loading,.plans-grid-end{text-align:center;padding:16px 0 8px;font-size:12px;color:#94a3b8}@media(max-width:1440px){.plans-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1280px){.plans-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.plans-grid{grid-template-columns:1fr}}.ant-popconfirm-buttons{display:flex!important;align-items:center;gap:8px;white-space:nowrap}.ant-popconfirm-buttons .ant-btn{white-space:nowrap}.plans-group{margin-bottom:14px}.plans-group-name{font-size:13px;font-weight:700;color:var(--learning-text-1, #0f172a);margin-bottom:8px}.plans-date-range-input{width:240px;flex-shrink:0}.plans-global-filter-bar{flex-wrap:wrap;gap:8px}@media(hover:none),(pointer:coarse){.ant-select-allow-clear .ant-select-clear{opacity:1;right:5px;width:24px;height:24px;margin-top:-12px;display:inline-flex;align-items:center;justify-content:center}.ant-select-allow-clear .ant-select-selector{padding-right:32px!important}}.plans-students{display:flex;flex-direction:column;height:100%;min-height:0}.plans-student-action{min-width:auto;gap:6px}.plans-sort-bar{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.plans-sort-btn{display:inline-flex;min-width:0;padding:4px 6px;align-items:center;justify-content:center;gap:2px;border:1px solid var(--learning-line);border-radius:6px;background:var(--learning-surface);color:var(--learning-text-3);font:inherit;font-size:12px;font-weight:600;line-height:1.2;white-space:nowrap;cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease}.plans-sort-btn:hover,.plans-sort-btn:focus-visible{border-color:color-mix(in srgb,var(--learning-primary) 40%,var(--learning-line));color:var(--learning-primary);outline:none}.plans-sort-btn.active{border-color:var(--learning-primary);background:var(--learning-primary-soft);color:var(--learning-primary)}.plans-sort-arrow{font-size:10px;line-height:1}.plans-student-progress{font-size:11px;line-height:1;padding:3px 7px;border-radius:999px;background:color-mix(in srgb,var(--learning-primary) 10%,var(--learning-surface));color:var(--learning-primary-hover);border:1px solid color-mix(in srgb,var(--learning-primary) 24%,var(--learning-line));white-space:nowrap}.plans-student-open-badge{display:inline-grid;margin-left:6px;min-width:18px;height:18px;padding:0 5px;vertical-align:middle;place-items:center;border-radius:9px;background:var(--learning-danger);color:#fff;font-size:10px;font-weight:700;line-height:18px}.plans-student-doing-badge{display:inline-grid;margin-left:6px;height:18px;padding:0 7px;vertical-align:middle;place-items:center;border-radius:9px;background:#e8f1ff;color:#1677ff;font-size:10px;font-weight:700;line-height:18px;white-space:nowrap}.plans-student-completion{display:flex;min-width:52px;flex:0 0 auto;flex-direction:column;align-items:flex-end;gap:1px;line-height:1}.plans-student-completion-value{font-size:16px;font-weight:800;color:var(--learning-primary)}.plans-student-completion-label{font-size:11px;color:var(--learning-text-3)}.plans-workspace{height:auto;min-height:100%;display:flex;flex-direction:column;gap:12px}.plans-detail-root{flex:1 0 auto;min-height:0;display:flex;flex-direction:column;gap:12px}.plans-page-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;flex-shrink:0}.plans-page-heading{display:flex;align-items:baseline;gap:10px}.plans-page-title{margin:0;font-size:20px;font-weight:800;color:#0f172a;letter-spacing:-.3px}.plans-page-subtitle{font-size:12px;color:#64748b}.plans-page-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.plans-page-metrics{display:flex;align-items:center;gap:28px;flex:1;justify-content:center}.plans-page-metric{display:flex;flex-direction:column;align-items:center;gap:3px}.plans-page-metric-num{font-size:20px;font-weight:700;line-height:1;color:#1e293b;font-variant-numeric:tabular-nums}.plans-page-metric-num--total{color:#ea580c}.plans-page-metric-label{font-size:11px;color:#94a3b8}.plans-profile .profile-top{margin-bottom:0}.plans-profile.profile-card{border:1px solid #f0e6df}.plans-stats-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;flex-shrink:0}.plans-stats-row .stat-card{padding:14px 10px;border:1px solid transparent;transition:transform .15s ease,box-shadow .15s ease}.plans-stats-row .stat-card:hover{transform:translateY(-1px)}.plans-stats-row .stat-sub{margin-top:4px}.plans-stat--total{background:linear-gradient(135deg,#fff7f2,#fff);border-color:#ffe8d9!important}.plans-stat--total .stat-num{color:#ea580c}.plans-stat--done{background:linear-gradient(135deg,#f0fdf4,#fff);border-color:#dcfce7!important}.plans-stat--done .stat-num{color:#16a34a}.plans-stat--ontime{background:linear-gradient(135deg,#fff1e8,#fff);border-color:#ffdcc4!important}.plans-stat--ontime .stat-num{color:#c2410c}.plans-stat--pending{background:linear-gradient(135deg,#fffbeb,#fff);border-color:#fef3c7!important}.plans-stat--pending .stat-num{color:#d97706}.plans-stat--overdue{background:linear-gradient(135deg,#fef2f2,#fff);border-color:#fee2e2!important}.plans-stat--overdue .stat-num{color:#dc2626}.plans-stat--points{background:linear-gradient(135deg,#fff7ed,#fff);border-color:#fed7aa!important}.plans-stat--points .stat-num{color:#ea580c}.stat-label{display:inline-flex;align-items:center;justify-content:center;gap:3px;white-space:nowrap;color:#b0b8c4}.stat-help{color:#94a3b8;font-size:11px;cursor:help}.plans-metrics-line{display:flex;align-items:center;gap:0;flex-shrink:0;background:#fff;border:1px solid #f0e6df;border-radius:14px;padding:10px 18px;box-shadow:0 1px 3px #0f172a08,0 4px 12px #0f172a05;overflow-x:auto}.plans-metric{display:flex;align-items:baseline;gap:7px;padding:0 18px;white-space:nowrap}.plans-metric:first-child{padding-left:0}.plans-metric:last-child{padding-right:0}.plans-metric-num{font-size:22px;font-weight:700;line-height:1;color:#1e293b;font-variant-numeric:tabular-nums}.plans-metric--total .plans-metric-num{color:#ea580c}.plans-metric-label{display:inline-flex;align-items:center;gap:3px;font-size:12px;color:#94a3b8}.plans-metric-divider{width:1px;height:20px;background:#f0e6df;flex-shrink:0}.plans-growth-card{flex:1 0 auto;min-height:0}.plans-content-tabs{display:flex;gap:4px;padding:4px;border-radius:12px;background:#f8f5f2;border:1px solid #f0e6df;flex-shrink:0}.plans-tab-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;padding:7px 0;border-radius:9px;font-size:13px;line-height:1;color:#64748b;cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.plans-tab-btn:hover{color:#c2410c}.plans-tab-btn.active{background:#fff;color:#ea580c;font-weight:600;box-shadow:0 1px 3px #0f172a14}.growth-empty{color:#94a3b8;font-size:13px;padding:6px 0}.growth-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-radius:12px;background:linear-gradient(135deg,#fff7f2,#fff);border:1px solid #ffe8d9}.growth-level{display:flex;flex-direction:column;gap:2px}.growth-level-name{font-size:24px;font-weight:700;color:#ea580c;line-height:1.1}.growth-level-points{font-size:13px;color:#c2410c}.growth-metrics{display:flex;gap:18px}.growth-metric{display:flex;flex-direction:column;align-items:center;gap:2px}.growth-metric-num{font-size:18px;font-weight:600;color:#1e293b}.growth-metric-label{font-size:11px;color:#94a3b8}.growth-cats{display:flex;flex-wrap:wrap;gap:6px;padding:10px 0 2px}.growth-cat-tag{font-size:12px;padding:3px 10px;border-radius:999px;white-space:nowrap;border:1px solid transparent}.growth-cat-tag.activeDone{color:#15803d;background:#f0fdf4;border-color:#bbf7d0}.growth-cat-tag.activeFailed{color:#b45309;background:#fffbeb;border-color:#fde68a}.growth-cat-tag.otherDone{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.growth-cat-tag.otherFailed{color:#64748b;background:#f8fafc;border-color:#e2e8f0}.growth-trend{padding:12px 0 4px;border-top:1px dashed #f0e6df;margin-top:8px}.growth-trend-title{font-size:12px;color:#94a3b8;margin-bottom:8px}.growth-trend-bars{display:flex;align-items:flex-end;gap:8px;height:72px}.growth-trend-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;height:100%}.growth-trend-bar{display:flex;align-items:flex-end;justify-content:center;width:100%}.growth-trend-fill{display:block;width:18px;min-height:4px;border-radius:4px 4px 0 0;background:linear-gradient(180deg,#ff6b35,#ffb28c);transition:height .3s ease}.growth-trend-week{font-size:10px;color:#94a3b8;white-space:nowrap}.growth-entries{display:flex;flex-direction:column;gap:6px}.growth-entries-title{font-size:12px;color:#94a3b8;margin-bottom:4px}.growth-entry{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border-radius:8px;background:#fafafa}.growth-entry-index{flex:none;width:22px;height:22px;border-radius:6px;background:#f1f5f9;color:#94a3b8;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums}.growth-entry-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.growth-entry-content{font-size:13px;color:#1e293b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.growth-entry-sub{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.growth-entry-tag{font-size:11px;color:#94a3b8}.growth-entry-result{font-size:11px;padding:1px 8px;border-radius:999px}.growth-entry-result.done{color:#15803d;background:#f0fdf4}.growth-entry-result.failed{color:#b91c1c;background:#fef2f2}.growth-entry-time{font-size:11px;color:#cbd5e1}.growth-entry-points{flex:none;min-width:36px;text-align:right;font-size:15px;font-weight:700;color:#ea580c;font-variant-numeric:tabular-nums}.plans-grid-empty{padding:24px 0;text-align:center;color:#94a3b8;font-size:13px}.rank-table{display:flex;flex-direction:column;gap:4px;min-width:528px}.plans-rank-range{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:4px 0 12px}.plans-rank-range .plans-rank-range-sep{font-size:12px;color:#94a3b8}.rank-table-head{display:grid;grid-template-columns:48px 1fr 52px 52px 60px 52px 52px 56px 56px;align-items:center;gap:8px;padding:8px 12px;border-bottom:2px solid #f1f5f9;margin-bottom:4px;font-size:12px;color:#94a3b8;font-weight:600}.rank-table-row{display:grid;grid-template-columns:48px 1fr 52px 52px 60px 52px 52px 56px 56px;align-items:center;gap:8px;padding:10px 12px;border-radius:10px;border:1px solid #e2e8f0;cursor:pointer;transition:background .15s ease}.rank-table-row:hover{background:#faf7f4}.rank-table-row.rank-top3{background:linear-gradient(135deg,#fffdf7,#fff);border-color:#f5ead9}.rank-col{display:flex;align-items:center;min-width:0}.rank-col-rank{justify-content:center}.rank-no{width:24px;height:24px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#94a3b8;background:#f1f5f9}.rank-no-1{color:#b45309;background:#fef3c7}.rank-no-2{color:#64748b;background:#e2e8f0}.rank-no-3{color:#b45309;background:#fed7aa}.rank-col-name{gap:8px}.rank-col-num{justify-content:center;font-variant-numeric:tabular-nums}.rank-col-num.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s ease}.rank-col-num.sortable:hover,.rank-col-num.sortable.active{color:#ea580c}.sort-arrow{font-size:10px;margin-left:2px}.rank-avatar{flex:none;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#ffb28c,#ff6b35);color:#fff;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center}.rank-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;color:#1e293b}.rank-points{font-size:16px;font-weight:700;color:#ea580c}.plans-content-card{background:#fff;border-radius:16px;padding:16px 20px;border:1px solid #f0e6df;box-shadow:0 1px 3px #0f172a08,0 4px 12px #0f172a05;flex:1 0 auto;min-height:0;display:flex;flex-direction:column;gap:14px;overflow:hidden}.plans-content-scroll{flex:1 0 auto;min-height:0;overflow-y:auto;overflow-x:hidden;-ms-overflow-style:none;scrollbar-width:none}.plans-content-scroll::-webkit-scrollbar{display:none}.plans-list-pager{display:flex;justify-content:flex-end;flex-shrink:0;padding-top:4px}@media(max-width:767px){.plans-list-pager{justify-content:center}}.plans-sentinel{height:1px;pointer-events:none}.plans-virtual-scroll{flex:1 0 auto;min-height:0;overflow-y:auto;overflow-x:hidden;-ms-overflow-style:none;scrollbar-width:none}.plans-virtual-scroll::-webkit-scrollbar{display:none}.plans-virtual-row{padding-bottom:10px}.plans-virtual-row>.plans-item-card{min-height:0}.plans-virtual-loading{padding:8px;text-align:center;color:#64748b;font-size:12px}.plans-content-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-shrink:0}.plans-content-heading{display:flex;align-items:baseline;gap:10px;min-width:0}.plans-content-title{font-size:15px;font-weight:700;color:#0f172a;white-space:nowrap}.plans-content-sub{font-size:12px;color:#94a3b8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plans-toggle-group{display:inline-flex;gap:2px;padding:3px;background:#f4f5f7;border-radius:10px}.plans-toggle-btn{padding:4px 12px;border:none;border-radius:8px;background:transparent;color:#7b8698;font-size:12px;font-weight:600;line-height:1.4;cursor:pointer;white-space:nowrap;transition:all .18s ease;-webkit-tap-highlight-color:transparent}.plans-toggle-btn:hover{color:#475569}.plans-toggle-btn.active{background:linear-gradient(135deg,#fff3ed,#ffe8dc);color:#ff6b35;box-shadow:0 2px 8px #ff6b3526}.plans-timeline{list-style:none;margin:0;padding:0;display:grid;gap:10px}.plans-item{position:relative}.plans-item-dot{position:absolute;left:-8px;top:14px;width:10px;height:10px;border-radius:50%;background:#94a3b8;border:2px solid #fff;box-shadow:0 0 0 1px #e2e8f0}.plans-item.is-done .plans-item-dot{background:#16a34a}.plans-item.is-partial .plans-item-dot{background:#f59e0b}.plans-item.is-failed .plans-item-dot{background:#dc2626}.plans-item-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.plans-item-title{font-size:14px;font-weight:600;color:#0f172a}.plans-item-badge{display:inline-flex;align-items:center;font-size:11px;font-weight:600;padding:2px 8px;border-radius:6px;background:#fff3ed;color:#e85d1a;line-height:1.5}.plans-item-visit{background:#f0fdf4;color:#16a34a}.plans-item-doing-badge{background:#fff4ed;color:#ea580c}.plans-item-ended{background:#fef2f2;color:#dc2626}.plans-item-result{font-size:11px;font-weight:600;color:#64748b}.plans-item.is-done .plans-item-result{color:#16a34a}.plans-item.is-partial .plans-item-result{color:#d97706}.plans-item.is-failed .plans-item-result{color:#dc2626}.plans-item-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:4px;font-size:12px;color:#64748b}.plans-item-note{color:#334155}.plans-empty-frame{border:1px solid var(--learning-line);border-radius:14px;background:var(--learning-surface);box-shadow:var(--shadow-1);min-height:calc(100vh - 128px);min-height:calc(100dvh - 128px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--learning-text-2, #475569)}.plans-empty-icon{font-size:28px;color:#cbd5e1}.plans-check-title{font-weight:600;margin-bottom:8px}.plans-add-form{display:flex;flex-direction:column;gap:12px}.plans-add-row{display:flex;align-items:center;gap:10px}.plans-add-row label{width:56px;flex-shrink:0;font-size:12px;color:var(--learning-text-2, #475569)}.plans-add-divider{font-size:12px;font-weight:600;color:#94a3b8;padding-top:4px;border-top:1px solid #f1f5f9;margin-top:4px}.plans-add-time-group{display:flex;align-items:center;flex-wrap:wrap;gap:6px;width:100%}.plans-add-auto{flex:1;font-size:13px;font-weight:600;color:var(--learning-text-1, #0f172a)}.plans-add-auto-hint{font-size:12px;font-weight:400;color:var(--learning-text-3, #94a3b8)}.plans-profile-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex-wrap:wrap}.plans-student-switcher{width:180px}.plans-filter-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;flex-shrink:0}.plans-global-filter-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.plans-search-input{max-width:240px;border-radius:8px}.plans-search-input :deep(.ant-input){border-radius:8px}.plans-search-input :deep(.ant-input-affix-wrapper-focused),.plans-search-input :deep(.ant-input:focus){border-color:#ff6b35;box-shadow:0 0 0 2px #ff6b351f}@media(max-width:480px){.plans-global-filter-bar{align-items:stretch;flex-direction:column}.plans-search-input{max-width:none}.plans-student-switcher{width:100%}.plans-toggle-group{overflow-x:auto;max-width:100%}}.plans-timeline-cards{display:grid;gap:10px}.plans-item-card{position:relative;display:flex;align-items:stretch;gap:12px;padding:14px 16px;border:1px solid #eef0f4;border-radius:12px;background:#fff;overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease}.plans-item-card:hover{border:3px solid #ffd9c2;padding:12px 14px;box-shadow:0 2px 8px #ff6b350f}.plans-item-card-main{flex:1;min-width:0}.plans-item-finished{color:#16a34a;font-weight:600}.plans-item-field{display:inline-flex;align-items:center;gap:3px}.plans-item-card-actions{display:flex;align-items:flex-start;gap:2px;flex-shrink:0;padding-top:2px}@media(max-width:767px){.plans-item-card:not(.plans-grid-card){flex-direction:column}.plans-item-card:not(.plans-grid-card) .plans-item-card-actions{flex-direction:row;justify-content:flex-end;padding-top:0}}.plans-item-card-tags{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.plans-item-card-content{margin-top:6px;font-size:14px;font-weight:500;color:#1e293b;line-height:1.5;white-space:pre-wrap;word-break:break-word}.plans-item-card-times{display:flex;flex-direction:column;gap:3px;margin-top:10px}.plan-time-row{display:flex;align-items:baseline;gap:8px;font-size:12px;line-height:1.6}.plan-time-label{flex-shrink:0;width:32px;color:#94a3b8;font-weight:500}.plan-time-value{color:#475569;font-weight:500;font-variant-numeric:tabular-nums}.plan-time-done{color:#16a34a}.plan-time-extra{margin-left:auto;color:#b0b8c4;font-size:11px;white-space:nowrap}.plan-time-extra.plan-time-done{color:#16a34a}.plan-time-note-row{align-items:flex-start}.plan-time-note{color:#64748b;font-weight:400;word-break:break-word}.ant-notification-notice.communication-notice{width:min(320px,calc(100vw - 32px));padding:12px;overflow:hidden;border:1px solid var(--learning-line);border-radius:8px;background:var(--learning-surface);box-shadow:0 8px 20px color-mix(in srgb,var(--learning-text-1) 12%,transparent);cursor:pointer}.communication-notice .ant-notification-notice-message{margin:0}.communication-notice .ant-notification-notice-close{display:none}.communication-notice__message{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0}.communication-notice__avatar{display:grid;width:36px;height:36px;place-items:center;border-radius:50%;background:var(--learning-primary-soft);color:var(--learning-primary);font-size:13px;font-weight:700}.communication-notice__copy{min-width:0}.communication-notice__sender,.communication-notice__preview{overflow:hidden;margin:0;text-overflow:ellipsis;white-space:nowrap}.communication-notice__sender{color:var(--learning-text-1);font-size:13px;font-weight:650;line-height:18px}.communication-notice__preview{margin-top:2px;color:var(--learning-text-2);font-size:12px;line-height:16px}.communication-notice__time{align-self:start;color:var(--learning-text-3);font-size:11px;line-height:18px}
