:root{--color-bg:#f5f6fc;--color-surface:#fff;--color-surface-subtle:#f8f9fd;--color-surface-muted:#f1f3fb;--color-border:#e8eaf3;--color-border-strong:#d4d8e8;--color-text:#191b2e;--color-text-muted:#5c6280;--color-text-subtle:#9297b4;--color-primary:#f59e0b;--color-primary-hover:#d97706;--color-primary-contrast:#1a1305;--color-primary-soft:#fff8ec;--color-primary-soft-hover:#fdefd0;--color-primary-accent:#92400e;--color-secondary:#4f46e5;--color-secondary-hover:#4338ca;--color-secondary-contrast:#fff;--color-secondary-soft:#eef0ff;--color-secondary-soft-hover:#e0e3ff;--color-secondary-accent:#3730a3;--nav-bg:linear-gradient(185deg,#211f47,#17162f);--nav-bg-solid:#1b1a3a;--nav-text:#e9eaf8a8;--nav-text-hover:#f4f5fc;--nav-hover-bg:#ffffff0f;--nav-active-bg:#ffffff1a;--nav-active-text:#fff;--nav-border:#ffffff17;--nav-muted:#e9eaf86b;--color-success:#067647;--color-success-soft:#ecfdf3;--color-warning:#b54708;--color-warning-soft:#fffaeb;--color-danger:#b42318;--color-danger-soft:#fef3f2;--color-info:#4f46e5;--color-info-soft:#eef0ff;--shadow-xs:0 1px 2px #191b2e0d;--shadow-sm:0 1px 3px #191b2e0f,0 1px 2px #191b2e0a;--shadow-md:0 6px 16px -6px #191b2e1a,0 2px 6px -2px #191b2e0d;--shadow-lg:0 16px 32px -8px #191b2e24,0 6px 12px -6px #191b2e0f;--shadow-primary:0 6px 16px -6px #f59e0b73;--shadow-secondary:0 8px 20px -8px #4f46e566;--radius-sm:8px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-2xl:26px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--text-xs:11px;--text-sm:12.5px;--text-base:14px;--text-md:15px;--text-lg:17px;--text-xl:20px;--text-2xl:24px;--text-3xl:30px}:root[data-theme=dark]{--color-bg:#0e1016;--color-surface:#171a22;--color-surface-subtle:#1d212b;--color-surface-muted:#232833;--color-border:#2a2f3b;--color-border-strong:#3a4150;--color-text:#e9ebf2;--color-text-muted:#9aa1b6;--color-text-subtle:#6a7186;--color-primary-soft:#2a2110;--color-primary-soft-hover:#362a13;--color-primary-accent:#fbbf24;--color-secondary:#6366f1;--color-secondary-hover:#7b7ef4;--color-secondary-soft:#1e1e3a;--color-secondary-soft-hover:#26264a;--color-secondary-accent:#a5b4fc;--color-success:#34d399;--color-success-soft:#10251b;--color-warning:#fbbf24;--color-warning-soft:#2a2110;--color-danger:#f87171;--color-danger-soft:#2a1614;--color-info:#818cf8;--color-info-soft:#1e1e3a;--shadow-xs:0 1px 2px #0006;--shadow-sm:0 1px 3px #00000073,0 1px 2px #0000004d;--shadow-md:0 6px 16px -6px #0009,0 2px 6px -2px #0006;--shadow-lg:0 16px 32px -8px #000000a6,0 6px 12px -6px #00000073;color-scheme:dark}:root[data-theme=dark] .ds-badge-success{border-color:#34d3994d}:root[data-theme=dark] .ds-badge-warning{border-color:#fbbf244d}:root[data-theme=dark] .ds-badge-danger{border-color:#f871714d}:root[data-theme=dark] .ds-badge-info{border-color:#818cf84d}*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f6fc;background-color:var(--color-bg);color:#191b2e;color:var(--color-text);font-family:Inter,Nunito Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:14px;line-height:1.5}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#d0d5dd;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#98a2b3}.ds-btn{border-radius:10px;font-family:inherit;font-size:13.5px;font-weight:600;gap:6px;line-height:1.2;padding:9px 16px;text-decoration:none;transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease,transform .08s ease;white-space:nowrap}.ds-btn:focus-visible{outline:2px solid #f59e0b;outline:2px solid var(--color-primary);outline-offset:2px}.ds-btn:disabled,.ds-btn[aria-disabled=true]{cursor:not-allowed;opacity:.55;pointer-events:none}.ds-btn-sm{border-radius:8px;border-radius:var(--radius-sm);font-size:12.5px;padding:6px 12px}.ds-btn-lg{font-size:14.5px;padding:11px 20px}.hub{min-height:100%;padding:20px 24px 0;padding:var(--space-5) var(--space-6) 0}.hub-title{color:#191b2e;color:var(--color-text);font-size:24px;font-size:var(--text-2xl);font-weight:700;letter-spacing:-.3px;margin-bottom:16px;margin-bottom:var(--space-4)}.hub-tabs{margin-bottom:8px;margin-bottom:var(--space-2)}.hub-content{padding-bottom:24px;padding-bottom:var(--space-6)}.page-embedded{min-height:0!important;padding-left:0!important;padding-right:0!important;padding-top:16px!important;padding-top:var(--space-4)!important}.page-embedded>.feedback-header>h1,.page-embedded>.order-lists-header>h1,.page-embedded>.students-header>h1{display:none}.ds-btn-primary{background:#f59e0b;border-color:#f59e0b;border-color:var(--color-primary);box-shadow:0 1px 2px #191b2e0d;box-shadow:var(--shadow-xs);color:#1a1305}.ds-btn-primary:hover:not(:disabled){background:#d97706;background:var(--color-primary-hover);border-color:#d97706;border-color:var(--color-primary-hover);box-shadow:0 1px 3px #191b2e0f,0 1px 2px #191b2e0a;box-shadow:var(--shadow-sm)}.ds-btn-primary:active:not(:disabled){transform:translateY(1px)}.ds-btn-secondary{background:#fff;border-color:#e8eaf3;color:#191b2e}.ds-btn-secondary:hover:not(:disabled){background:#f8f9fd;background:var(--color-surface-subtle);border-color:#d4d8e8;border-color:var(--color-border-strong)}.ds-btn-ghost{background:#0000;border-color:#0000;color:#5c6280;color:var(--color-text-muted)}.ds-btn-ghost:hover:not(:disabled){background:#f8f9fd;background:var(--color-surface-subtle);color:#191b2e;color:var(--color-text)}.ds-btn-danger{background:#fff;background:var(--color-surface);border-color:#fecdca;color:#b42318;color:var(--color-danger)}.ds-btn-danger:hover:not(:disabled){background:#fef3f2;background:var(--color-danger-soft);border-color:#fda29b}.ds-btn-primary-soft{background:#fff8ec;background:var(--color-primary-soft);border-color:#fde68a;color:#92400e;color:var(--color-primary-accent)}.ds-btn-primary-soft:hover:not(:disabled){background:#fdefd0;background:var(--color-primary-soft-hover);border-color:#f59e0b;border-color:var(--color-primary)}.ds-btn-indigo{background:#4f46e5;background:var(--color-secondary);border-color:#4f46e5;border-color:var(--color-secondary);box-shadow:0 1px 2px #191b2e0d;box-shadow:var(--shadow-xs);color:#fff;color:var(--color-secondary-contrast)}.ds-btn-indigo:hover:not(:disabled){background:#4338ca;background:var(--color-secondary-hover);border-color:#4338ca;border-color:var(--color-secondary-hover);box-shadow:0 8px 20px -8px #4f46e566;box-shadow:var(--shadow-secondary)}.ds-btn-indigo:active:not(:disabled){transform:translateY(1px)}.ds-btn-indigo-soft{background:#eef0ff;background:var(--color-secondary-soft);border-color:#d3d7ff;color:#3730a3;color:var(--color-secondary-accent)}.ds-btn-indigo-soft:hover:not(:disabled){background:#e0e3ff;background:var(--color-secondary-soft-hover);border-color:#4f46e5;border-color:var(--color-secondary)}.ds-link{color:#4f46e5;color:var(--color-secondary);font-weight:600;text-decoration:none;transition:color .12s ease}.ds-link:hover{color:#4338ca;color:var(--color-secondary-hover);text-decoration:underline}.content-area .btn-create-video,.content-area .btn-new-event,.content-area .btn-primary,.content-area .btn-publish-header,.content-area .btn-save,.content-area .btn-save-continue,.content-area .btn-submit,.content-area .cc-save-btn,.content-area .cq-btn-primary,.content-area .discount-create-btn,.content-area .exam-btn.is-primary,.content-area .msd-btn-add-rec,.content-area .msd-btn-primary,.content-area .teachers-primary-btn,.content-area .teachers-submit-btn,.content-area .team-add-btn{align-items:center;background:#f59e0b;background:var(--color-primary);border:1px solid #f59e0b;border:1px solid var(--color-primary);border-radius:10px;border-radius:var(--radius-md);box-shadow:0 1px 2px #191b2e0d;box-shadow:var(--shadow-xs);color:#1a1305;color:var(--color-primary-contrast);cursor:pointer;display:inline-flex;font-family:inherit;font-size:13.5px;font-weight:600;gap:6px;justify-content:center;line-height:1.2;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .12s ease}.content-area .btn-create-video:hover:not(:disabled),.content-area .btn-new-event:hover:not(:disabled),.content-area .btn-primary:hover:not(:disabled),.content-area .btn-publish-header:hover:not(:disabled),.content-area .btn-save-continue:hover:not(:disabled),.content-area .btn-save:hover:not(:disabled),.content-area .btn-submit:hover:not(:disabled),.content-area .cc-save-btn:hover:not(:disabled),.content-area .cq-btn-primary:hover:not(:disabled),.content-area .discount-create-btn:hover:not(:disabled),.content-area .exam-btn.is-primary:hover:not(:disabled),.content-area .msd-btn-add-rec:hover:not(:disabled),.content-area .msd-btn-primary:hover:not(:disabled),.content-area .teachers-primary-btn:hover:not(:disabled),.content-area .teachers-submit-btn:hover:not(:disabled),.content-area .team-add-btn:hover:not(:disabled){background:#d97706;background:var(--color-primary-hover);border-color:#d97706;border-color:var(--color-primary-hover);box-shadow:0 6px 16px -6px #f59e0b73;box-shadow:var(--shadow-primary);transform:translateY(-1px)}.content-area .btn-back,.content-area .btn-cancel,.content-area .btn-secondary,.content-area .msd-btn-secondary,.content-area .teachers-back-btn,.content-area .team-btn-cancel{align-items:center;background:#fff;background:var(--color-surface);border:1px solid #d4d8e8;border:1px solid var(--color-border-strong);border-radius:10px;border-radius:var(--radius-md);color:#191b2e;color:var(--color-text);cursor:pointer;display:inline-flex;font-family:inherit;font-size:13.5px;font-weight:600;gap:6px;justify-content:center;line-height:1.2;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .12s ease}.content-area .btn-back:hover:not(:disabled),.content-area .btn-cancel:hover:not(:disabled),.content-area .btn-secondary:hover:not(:disabled),.content-area .msd-btn-secondary:hover:not(:disabled),.content-area .teachers-back-btn:hover:not(:disabled),.content-area .team-btn-cancel:hover:not(:disabled){background:#f8f9fd;background:var(--color-surface-subtle);border-color:#9297b4;border-color:var(--color-text-subtle)}.content-area .btn-message,.content-area .btn-send{align-items:center;background:#4f46e5;background:var(--color-secondary);border:1px solid #4f46e5;border:1px solid var(--color-secondary);border-radius:10px;border-radius:var(--radius-md);color:#fff;color:var(--color-secondary-contrast);cursor:pointer;display:inline-flex;font-family:inherit;font-size:13.5px;font-weight:600;gap:6px;justify-content:center;line-height:1.2;transition:background-color .16s ease,box-shadow .16s ease,transform .12s ease}.content-area .btn-message:hover:not(:disabled),.content-area .btn-send:hover:not(:disabled){background:#4338ca;background:var(--color-secondary-hover);border-color:#4338ca;border-color:var(--color-secondary-hover);box-shadow:0 8px 20px -8px #4f46e566;box-shadow:var(--shadow-secondary);transform:translateY(-1px)}.content-area .btn-danger,.content-area .msd-btn-danger{align-items:center;background:#fff;background:var(--color-surface);border:1px solid #fecdca;border-radius:10px;border-radius:var(--radius-md);color:#b42318;color:var(--color-danger);cursor:pointer;display:inline-flex;font-family:inherit;font-size:13.5px;font-weight:600;gap:6px;justify-content:center;line-height:1.2;transition:background-color .16s ease,border-color .16s ease}.content-area .btn-danger:hover:not(:disabled),.content-area .msd-btn-danger:hover:not(:disabled){background:#fef3f2;background:var(--color-danger-soft);border-color:#b42318;border-color:var(--color-danger)}.content-area .btn-cancel:disabled,.content-area .btn-danger:disabled,.content-area .btn-message:disabled,.content-area .btn-primary:disabled,.content-area .btn-secondary:disabled,.content-area .btn-send:disabled,.content-area .btn-submit:disabled{box-shadow:none;cursor:not-allowed;opacity:.55;transform:none}.page-head{align-items:flex-end;display:flex;gap:16px;gap:var(--space-4);justify-content:space-between;margin-bottom:20px;margin-bottom:var(--space-5)}.page-title{color:#191b2e;color:var(--color-text);font-size:24px;font-size:var(--text-2xl);font-weight:700;letter-spacing:-.3px;margin:0}.page-sub{color:#5c6280;color:var(--color-text-muted);font-size:12.5px;font-size:var(--text-sm);margin:4px 0 0}.page-actions{align-items:center;display:flex;flex-shrink:0;gap:8px;gap:var(--space-2)}.content-area [class$=-header]>h1:not([class]){color:#191b2e;color:var(--color-text);font-size:24px;font-size:var(--text-2xl);font-weight:700;letter-spacing:-.3px;line-height:1.2;margin:0}.crm-select,:where(select:not([data-no-style])){appearance:none;background-color:#fff;background-color:var(--color-surface);background-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%2712%27 height=%2712%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%236b7280%27 stroke-width=%272.4%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27><polyline points=%276 9 12 15 18 9%27/></svg>");background-position:right 12px center;background-repeat:no-repeat;background-size:12px 12px;border:1px solid #d4d8e8;border:1px solid var(--color-border-strong,#d0d5dd);border-radius:10px;box-shadow:0 1px 1px #0f172a05;color:#191b2e;color:var(--color-text);cursor:pointer;font-family:inherit;font-size:13.5px;line-height:1.3;min-height:38px;outline:none;padding:9px 36px 9px 14px;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.crm-select:hover:not(:disabled),:where(select:not([data-no-style]):hover:not(:disabled)){border-color:#b8bcc6}.crm-select:focus,:where(select:not([data-no-style]):focus){border-color:#4f46e5;border-color:var(--color-secondary);box-shadow:0 0 0 3px #4f46e529}.crm-select:disabled,:where(select:not([data-no-style]):disabled){background-color:#f1f3fb;background-color:var(--color-surface-muted);color:#9297b4;color:var(--color-text-subtle);cursor:not-allowed;opacity:.7}.crm-input,:where(input:where([type=text],[type=search],[type=number],[type=email],[type=password],[type=tel],[type=url],[type=date],[type=datetime-local],[type=time]):not([data-no-style])),:where(textarea:not([data-no-style])){background:#fff;background:var(--color-surface);border:1px solid #d4d8e8;border:1px solid var(--color-border-strong,#d0d5dd);border-radius:10px;box-sizing:border-box;color:#191b2e;color:var(--color-text);font-family:inherit;font-size:13.5px;line-height:1.4;min-height:38px;outline:none;padding:9px 12px;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.crm-input-block,.exam-form input,.exam-form textarea,.settings-field input,.settings-field textarea{width:100%}:where(textarea:not([data-no-style])){line-height:1.55;min-height:88px;resize:vertical}.crm-input:hover:not(:disabled):not(:focus),:where(input:where([type=text],[type=search],[type=number],[type=email],[type=password],[type=tel],[type=url],[type=date],[type=datetime-local],[type=time]):not([data-no-style]):hover:not(:disabled):not(:focus)),:where(textarea:not([data-no-style]):hover:not(:disabled):not(:focus)){border-color:#b8bcc6}.crm-input:focus,:where(input:where([type=text],[type=search],[type=number],[type=email],[type=password],[type=tel],[type=url],[type=date],[type=datetime-local],[type=time]):not([data-no-style]):focus),:where(textarea:not([data-no-style]):focus){border-color:#4f46e5;border-color:var(--color-secondary);box-shadow:0 0 0 3px #4f46e529}:where(input:where([type=text],[type=search],[type=number],[type=email],[type=password],[type=tel],[type=url],[type=date],[type=datetime-local],[type=time]):not([data-no-style])::placeholder),:where(textarea:not([data-no-style])::placeholder){color:#9297b4;color:var(--color-text-subtle);opacity:1}:where(input:where([type=text],[type=search],[type=number],[type=email],[type=password],[type=tel],[type=url],[type=date],[type=datetime-local],[type=time]):not([data-no-style]):disabled),:where(textarea:not([data-no-style]):disabled){background:#f1f3fb;background:var(--color-surface-muted);color:#9297b4;color:var(--color-text-subtle);cursor:not-allowed}input[type=number]:not([data-no-style])::-webkit-inline-spin-button,input[type=number]:not([data-no-style])::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]:not([data-no-style]){-moz-appearance:textfield}input[type=checkbox]:not([data-no-style]),input[type=radio]:not([data-no-style]){accent-color:#f59e0b;accent-color:var(--color-primary);cursor:pointer;height:16px;width:16px}.ds-search{align-items:center;background:#fff;background:var(--color-surface);border:1px solid #e8eaf3;border:1px solid var(--color-border);border-radius:10px;border-radius:var(--radius-md);display:inline-flex;gap:8px;min-width:240px;padding:8px 12px;transition:border-color .12s ease,box-shadow .12s ease}.ds-search:focus-within{border-color:#4f46e5;border-color:var(--color-secondary);box-shadow:0 0 0 3px #4f46e524}.ds-search svg{color:#9297b4;color:var(--color-text-subtle);flex-shrink:0}.ds-search input{background:#0000;border:0;color:#191b2e;color:var(--color-text);flex:1 1;font-family:inherit;font-size:13.5px;outline:0}.ds-search input::placeholder{color:#9297b4;color:var(--color-text-subtle)}.ds-spinner{animation:ds-spin .7s linear infinite;border:2.5px solid #e8eaf3;border-top-color:#f59e0b;border:2.5px solid var(--color-border);border-radius:50%;border-top-color:var(--color-primary);display:inline-block;height:20px;width:20px}@keyframes ds-spin{to{transform:rotate(1turn)}}.ds-loading{font-size:13.5px;gap:10px;padding:48px 20px}.ds-empty,.ds-loading{align-items:center;color:#5c6280;color:var(--color-text-muted);display:flex;justify-content:center}.ds-empty{background:#fff;background:var(--color-surface);border:1px dashed #d4d8e8;border:1px dashed var(--color-border-strong);border-radius:14px;border-radius:var(--radius-lg);flex-direction:column;gap:12px;padding:56px 28px;text-align:center}.ds-empty-icon{align-items:center;background:#fff8ec;background:var(--color-primary-soft);border:1px solid #fde68a;border-radius:50%;color:#f59e0b;color:var(--color-primary);display:flex;height:56px;justify-content:center;margin-bottom:4px;width:56px}.ds-empty h3{color:#191b2e;color:var(--color-text);font-size:15px;font-weight:600;margin:0}.ds-empty p{color:#5c6280;color:var(--color-text-muted);font-size:13px;line-height:1.5;margin:0;max-width:340px}:where(.content-area) table{border-collapse:collapse;width:100%}:where(.content-area) th{background:#f8f9fd;background:var(--color-surface-subtle);border-bottom:1px solid #e8eaf3;border-bottom:1px solid var(--color-border);color:#5c6280;color:var(--color-text-muted);font-size:11px;font-size:var(--text-xs);font-weight:600;letter-spacing:.4px;padding:10px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}:where(.content-area) td{border-bottom:1px solid #e8eaf3;border-bottom:1px solid var(--color-border);color:#191b2e;color:var(--color-text);font-size:14px;font-size:var(--text-base);padding:12px 16px}:where(.content-area) tbody tr:last-child td{border-bottom:0}:where(.content-area) tbody tr:hover{background:#f8f9fd;background:var(--color-surface-subtle)}:where(.content-area) .section-card{background:#fff;background:var(--color-surface);border:1px solid #e8eaf3;border:1px solid var(--color-border);border-radius:14px;border-radius:var(--radius-lg);box-shadow:0 1px 3px #191b2e0f,0 1px 2px #191b2e0a;box-shadow:var(--shadow-sm);margin-bottom:20px;padding:22px 24px;transition:box-shadow .24s ease,border-color .24s ease}:where(.content-area) .section-card:hover{border-color:#d4d8e8;border-color:var(--color-border-strong);box-shadow:0 6px 16px -6px #191b2e1a,0 2px 6px -2px #191b2e0d;box-shadow:var(--shadow-md)}.modal-overlay{animation:modal-fade-in .2s ease both;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#0f172a6b!important}.modal-content{animation:modal-pop-in .28s cubic-bezier(.2,.8,.2,1) both;border-radius:16px!important;box-shadow:0 24px 64px -12px #0f172a73,0 8px 16px -4px #0f172a1f!important}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-pop-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{border-bottom:1px solid #e8eaf3!important;border-bottom:1px solid var(--color-border)!important;padding:20px 24px!important}.modal-header h3{color:#191b2e!important;color:var(--color-text)!important;font-size:16px!important;font-weight:700!important;letter-spacing:-.1px}.modal-body{color:#191b2e;font-size:13.5px;line-height:1.6;padding:18px 24px!important}.modal-body p{margin:0 0 8px}.modal-body p:last-child{margin-bottom:0}.modal-warning{background:#fef3f2;background:var(--color-danger-soft);border-left:3px solid #b42318;border-left:3px solid var(--color-danger);border-radius:8px;color:#b42318!important;color:var(--color-danger)!important;font-size:12.5px!important;margin-top:10px!important;padding:10px 12px}.modal-actions{background:#f8f9fd;background:var(--color-surface-subtle);border-top:1px solid #e8eaf3!important;border-top:1px solid var(--color-border)!important;gap:10px!important;padding:14px 24px!important}.modal-actions .btn-cancel,.modal-actions .btn-confirm-delete,.modal-actions .btn-danger,.modal-actions .btn-primary,.modal-actions .btn-secondary{border-radius:10px!important;cursor:pointer;font-family:inherit!important;font-size:13px!important;font-weight:600!important;padding:9px 18px!important;transition:background-color .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease,color .18s ease}.modal-actions .btn-cancel,.modal-actions .btn-secondary{background:#fff;background:var(--color-surface);border:1px solid #d4d8e8;border:1px solid var(--color-border-strong);color:#191b2e;color:var(--color-text)}.modal-actions .btn-cancel:hover:not(:disabled),.modal-actions .btn-secondary:hover:not(:disabled){background:#f8f9fd;background:var(--color-surface-subtle);border-color:#b8bcc6;transform:translateY(-1px)}.modal-actions .btn-primary{background:#f59e0b;background:var(--color-primary);border:1px solid #f59e0b;border:1px solid var(--color-primary);box-shadow:0 2px 6px -2px #f59e0b66;color:#1a1305;color:var(--color-primary-contrast)}.modal-actions .btn-primary:hover:not(:disabled){background:#d97706;background:var(--color-primary-hover);box-shadow:0 6px 16px -4px #f59e0b80;transform:translateY(-1px)}.modal-actions .btn-confirm-delete,.modal-actions .btn-danger{background:#b42318;background:var(--color-danger);border:1px solid #b42318;border:1px solid var(--color-danger);box-shadow:0 2px 6px -2px #b4231866;color:#fff}.modal-actions .btn-confirm-delete:hover:not(:disabled),.modal-actions .btn-danger:hover:not(:disabled){background:#912018;border-color:#912018;box-shadow:0 6px 16px -4px #b4231880;transform:translateY(-1px)}@media (prefers-reduced-motion:reduce){.modal-actions button,.modal-content,.modal-overlay{animation:none!important;transition:none!important}}.ds-badge{align-items:center;border:1px solid #0000;border-radius:999px;display:inline-flex;font-size:11.5px;font-weight:600;letter-spacing:.1px;padding:3px 10px;text-transform:capitalize}.ds-badge-success{background:#ecfdf3;background:var(--color-success-soft);border-color:#abefc6;color:#067647;color:var(--color-success)}.ds-badge-warning{background:#fffaeb;background:var(--color-warning-soft);border-color:#fedf89;color:#b54708;color:var(--color-warning)}.ds-badge-danger{background:#fef3f2;background:var(--color-danger-soft);border-color:#fecdca;color:#b42318;color:var(--color-danger)}.ds-badge-info{background:#eef0ff;background:var(--color-info-soft);border-color:#b2ddff;color:#4f46e5;color:var(--color-info)}.ds-badge-neutral{background:#f8f9fd;background:var(--color-surface-subtle);border-color:#e8eaf3;border-color:var(--color-border);color:#5c6280;color:var(--color-text-muted)}table[class*=table]:not([data-no-polish]){border-collapse:initial;border-spacing:0;font-size:13px;width:100%}table[class*=table]:not([data-no-polish]) thead th{background:#f8f9fd;background:var(--color-surface-subtle);border-bottom:1px solid #e8eaf3;border-bottom:1px solid var(--color-border);color:#5c6280;color:var(--color-text-muted);font-size:11px;font-weight:600;letter-spacing:.6px;padding:12px 16px;position:sticky;text-align:left;text-transform:uppercase;top:0;white-space:nowrap;z-index:1}table[class*=table]:not([data-no-polish]) tbody td{border-bottom:1px solid #e8eaf3;border-bottom:1px solid var(--color-border);color:#191b2e;color:var(--color-text);padding:14px 16px;transition:background-color .12s ease;vertical-align:middle}table[class*=table]:not([data-no-polish]) tbody tr{transition:background-color .12s ease,transform .12s ease}table[class*=table]:not([data-no-polish]) tbody tr:hover{background-color:#f1f3fb;background-color:var(--color-surface-muted)}table[class*=table]:not([data-no-polish]) tbody tr:hover td{background-color:initial}table[class*=table]:not([data-no-polish]) tbody tr:last-child td{border-bottom:none}table[class*=table]:not([data-no-polish]) tbody tr{animation:ds-row-fade-in .32s cubic-bezier(.2,.8,.2,1) both}@keyframes ds-row-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}table[class*=table]:not([data-no-polish]) tbody tr:first-child{animation-delay:0ms}table[class*=table]:not([data-no-polish]) tbody tr:nth-child(2){animation-delay:30ms}table[class*=table]:not([data-no-polish]) tbody tr:nth-child(3){animation-delay:60ms}table[class*=table]:not([data-no-polish]) tbody tr:nth-child(4){animation-delay:90ms}table[class*=table]:not([data-no-polish]) tbody tr:nth-child(5){animation-delay:.12s}table[class*=table]:not([data-no-polish]) tbody tr:nth-child(6){animation-delay:.15s}table[class*=table]:not([data-no-polish]) tbody tr:nth-child(7){animation-delay:.18s}table[class*=table]:not([data-no-polish]) tbody tr:nth-child(8){animation-delay:.21s}table[class*=table]:not([data-no-polish]) tbody tr:nth-child(9){animation-delay:.24s}table[class*=table]:not([data-no-polish]) tbody tr:nth-child(10){animation-delay:.27s}table[class*=table]:not([data-no-polish]) tbody tr:nth-child(11){animation-delay:.3s}table[class*=table]:not([data-no-polish]) tbody tr:nth-child(12){animation-delay:.33s}.course-lessons,.course-modules,.cq-page,.dashboard,.order-lists-page,.page-transition,.students-page,.team-page,[class$=-page]>h1:first-child{animation:ds-page-in .36s cubic-bezier(.2,.8,.2,1) both}@keyframes ds-page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}[role=button]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{border-radius:8px;border-radius:var(--radius-sm);outline:2px solid #4f46e5;outline:2px solid var(--color-secondary);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.sidebar{background:var(--nav-bg);display:flex;flex-direction:column;gap:2px;height:100vh;overflow-y:auto;padding:20px 14px 16px;position:relative;scrollbar-color:#ffffff29 #0000;scrollbar-width:thin;width:256px}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-thumb{background:#ffffff29;border-radius:3px}.sidebar::-webkit-scrollbar-thumb:hover{background:#ffffff47}.sidebar-logo{align-items:center;border-bottom:1px solid var(--nav-border);display:flex;gap:10px;margin-bottom:14px;padding:4px 10px 20px}.sidebar-logo-img{display:block;height:42px;object-fit:contain;width:auto}.logo-text{font-family:Inter,Nunito Sans,sans-serif;gap:10px}.logo-mark,.logo-text{align-items:center;display:inline-flex}.logo-mark{background:linear-gradient(135deg,#fbbf24 0,var(--color-primary-hover) 100%);border-radius:8px;box-shadow:0 4px 8px -2px #f59e0b59;color:var(--color-primary-contrast);font-family:inherit;font-size:16px;font-weight:800;height:30px;justify-content:center;letter-spacing:-.5px;transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease;width:30px}.sidebar-logo:hover .logo-mark{box-shadow:0 6px 12px -2px #f59e0b73;transform:rotate(-4deg) scale(1.05)}.logo-name{color:#fff;font-size:16px;font-weight:700;letter-spacing:-.3px}.logo-sub{border:1px solid var(--nav-border);border-radius:5px;color:var(--nav-muted);font-size:10px;font-weight:700;letter-spacing:1px;padding:2px 6px;text-transform:uppercase}.sidebar-menu{display:flex;flex-direction:column;gap:2px;padding:0}.sidebar-item{align-items:center;border-radius:var(--radius-md);color:var(--nav-text);cursor:pointer;display:flex;font-size:13.5px;font-weight:500;letter-spacing:0;overflow:hidden;padding:10px 12px;position:relative;text-decoration:none;transition:background-color .18s ease,color .18s ease,transform .22s cubic-bezier(.2,.8,.2,1)}.sidebar-item:before{background:var(--color-primary);border-radius:0 3px 3px 0;content:"";height:58%;left:0;position:absolute;top:50%;transform:translateY(-50%) scaleY(0);transform-origin:center;transition:transform .24s cubic-bezier(.2,.8,.2,1);width:3px}.sidebar-item:hover{background-color:var(--nav-hover-bg);color:var(--nav-text-hover);transform:translateX(2px)}.sidebar-item:active{transform:translateX(2px) scale(.99)}.sidebar-item.active{background-color:var(--nav-active-bg);color:var(--nav-active-text);font-weight:600;transform:translateX(0)}.sidebar-item.active:before{transform:translateY(-50%) scaleY(1)}.sidebar-icon{align-items:center;display:flex;flex-shrink:0;height:18px;justify-content:center;margin-right:10px;opacity:.85;transition:opacity .18s ease,transform .24s cubic-bezier(.2,.8,.2,1);width:18px}.sidebar-icon svg{stroke:currentColor;height:18px;width:18px}.sidebar-item:hover .sidebar-icon{opacity:1;transform:scale(1.08)}.sidebar-item.active .sidebar-icon{opacity:1;transform:scale(1.05)}.sidebar-item.active .sidebar-icon svg{stroke:var(--color-primary)}.sidebar-item.active .sidebar-icon svg [fill=currentColor]{fill:var(--color-primary)}.sidebar-label{flex:1 1}.sidebar-ai-badge{align-items:center;background:var(--color-primary);border-radius:999px;color:var(--color-primary-contrast);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:10.5px;font-weight:700;height:18px;justify-content:center;line-height:1;min-width:18px;padding:0 5px;transition:transform .16s ease,box-shadow .16s ease}.sidebar-ai-badge:hover{box-shadow:0 2px 6px -2px #f59e0b80;transform:scale(1.1)}.sidebar-spacer{flex:1 1 auto;min-height:14px}.sidebar-divider{background-color:var(--nav-border);height:1px;margin:14px 8px}.sidebar-section-title{color:var(--nav-muted);font-size:10.5px;font-weight:700;letter-spacing:.8px;padding:14px 12px 6px;text-transform:uppercase}.sidebar-logout{align-items:center;background:none;border:none;border-radius:var(--radius-md);color:var(--nav-text);cursor:pointer;display:flex;font-family:inherit;font-size:13.5px;font-weight:500;padding:10px 12px;text-align:left;transition:background-color .18s ease,color .18s ease;width:100%}.sidebar-logout:hover{background-color:#ef444429;color:#fca5a5}.sidebar-logout:hover .sidebar-icon{transform:translateX(2px)}@media (prefers-reduced-motion:reduce){.logo-mark,.sidebar-icon,.sidebar-item,.sidebar-item:before{transition:none!important}}.logout-overlay{align-items:center;animation:logout-ov-in .15s ease both;background:#0f172a73;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:10000}@keyframes logout-ov-in{0%{opacity:0}to{opacity:1}}.logout-dialog{animation:logout-dl-in .2s cubic-bezier(.16,1,.3,1) both;background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-width:380px;padding:32px 32px 24px;text-align:center;width:100%}@keyframes logout-dl-in{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.logout-dialog-icon{align-items:center;background:var(--color-danger-soft);border-radius:50%;color:var(--color-danger);display:flex;height:52px;justify-content:center;margin:0 auto 16px;width:52px}.logout-dialog-title{color:var(--color-text);font-size:17px;font-weight:700;margin:0 0 6px}.logout-dialog-desc{color:var(--color-text-muted);font-size:14px;line-height:1.5;margin:0 0 24px}.logout-dialog-actions{display:flex;gap:10px;justify-content:center}.logout-dialog-cancel,.logout-dialog-confirm{border-radius:var(--radius-md);cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;min-width:110px;padding:9px 20px;transition:background .16s ease,border-color .16s ease}.logout-dialog-cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text)}.logout-dialog-cancel:hover{background:var(--color-surface-subtle);border-color:var(--color-border-strong)}.logout-dialog-confirm{background:var(--color-danger-soft);border:1px solid #fecdca;color:var(--color-danger)}.logout-dialog-confirm:hover{background:var(--color-danger-soft);border-color:var(--color-danger)}.topbar{align-items:center;backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);background-color:#ffffffd1;border-bottom:1px solid var(--color-border);display:flex;gap:16px;height:66px;justify-content:space-between;padding:0 28px;z-index:20}.topbar-breadcrumb{display:flex;flex-direction:column;gap:3px;min-width:0}.topbar-breadcrumb .crumb-eyebrow{color:var(--color-secondary);font-size:10.5px;font-weight:700;letter-spacing:.7px;text-transform:uppercase}.topbar-breadcrumb .crumb-title{color:var(--color-text);font-size:17px;font-weight:700;letter-spacing:-.3px;line-height:1.15}.topbar-right{align-items:center;display:flex;gap:8px}.tb-quick{align-items:center;background:var(--color-primary);border:none;border-radius:999px;box-shadow:var(--shadow-primary);color:#1a1305;color:var(--color-primary-contrast,#1a1305);cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;font-weight:700;gap:6px;height:38px;padding:0 14px 0 12px;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease}.tb-quick:hover{background:var(--color-primary-hover);transform:translateY(-1px)}.tb-quick:active{transform:translateY(0)}.tb-quick span{white-space:nowrap}.tb-divider{background:var(--color-border);flex-shrink:0;height:24px;width:1px}.tb-icon-btn{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;gap:5px;height:38px;justify-content:center;min-width:38px;padding:0 9px;transition:color .15s ease,border-color .15s ease,background-color .15s ease}.tb-icon-btn:hover{background:var(--color-secondary-soft);border-color:var(--color-secondary);color:var(--color-secondary)}.tb-lang{position:relative}.tb-lang-code{font-size:12px;font-weight:700;letter-spacing:.3px}.tb-menu{animation:tb-menu-in .14s ease;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;border-radius:var(--radius-md,10px);box-shadow:var(--shadow-lg);min-width:168px;padding:5px;position:absolute;right:0;top:calc(100% + 8px);z-index:40}@keyframes tb-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.tb-menu-item{align-items:center;background:#0000;border:none;border-radius:8px;border-radius:var(--radius-sm,8px);color:var(--color-text);cursor:pointer;display:flex;font-family:inherit;font-size:13.5px;justify-content:space-between;padding:9px 11px;transition:background-color .12s ease;width:100%}.tb-menu-item:hover{background:var(--color-surface-subtle)}.tb-menu-item.is-active{font-weight:600}.tb-menu-item.is-active,.tb-menu-item.is-active svg{color:var(--color-secondary)}.tb-bell{position:relative}.tb-bell-dot{background:#b42318;background:var(--color-danger,#b42318);border:1.5px solid var(--color-surface);border-radius:50%;height:7px;position:absolute;right:10px;top:8px;width:7px}.tb-notif,.tb-profile{position:relative}.profile-section{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;cursor:pointer;display:flex;font-family:inherit;gap:10px;padding:5px 10px 5px 5px;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.profile-section:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-xs)}.profile-section.is-open{background:var(--color-secondary-soft);border-color:var(--color-secondary)}.profile-chevron{color:var(--color-text-subtle);display:inline-flex;transition:transform .18s ease}.profile-section.is-open .profile-chevron{transform:rotate(180deg)}.profile-image{object-fit:cover}.profile-avatar-fallback,.profile-image{border-radius:50%;height:34px;width:34px}.profile-avatar-fallback{align-items:center;background:linear-gradient(135deg,#6366f1 0,var(--color-secondary-hover) 100%);box-shadow:0 2px 6px -2px #4f46e580;color:#fff;display:flex;font-size:12.5px;font-weight:700;justify-content:center}.profile-info{display:flex;flex-direction:column;line-height:1.1;text-align:left}.profile-name{color:var(--color-text);font-size:13px;font-weight:600}.profile-role{color:var(--color-text-muted);font-size:11px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.tb-panel{animation:tb-menu-in .15s ease;background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;border-radius:var(--radius-lg,14px);box-shadow:var(--shadow-lg);overflow:hidden;padding:6px;position:absolute;right:0;top:calc(100% + 8px);width:288px;z-index:40}.tb-panel-head{align-items:center;display:flex;justify-content:space-between;padding:8px 10px 6px}.tb-panel-title{color:var(--color-text);font-size:13px;font-weight:700;letter-spacing:-.1px}.tb-panel-sep{background:var(--color-border);height:1px;margin:6px 2px}.tb-notif-empty{align-items:center;display:flex;flex-direction:column;gap:4px;padding:22px 18px 20px;text-align:center}.tb-notif-empty-icon{background:var(--color-secondary-soft);border-radius:50%;color:var(--color-secondary);display:grid;height:44px;margin-bottom:6px;place-items:center;width:44px}.tb-notif-empty p{color:var(--color-text);font-size:13.5px;font-weight:600;margin:0}.tb-notif-empty span{color:var(--color-text-muted);font-size:12px}.tb-panel-foot{background:var(--color-secondary-soft);border:none;border-radius:10px;border-radius:var(--radius-md,10px);color:var(--color-secondary);cursor:pointer;display:block;font-family:inherit;font-size:13px;font-weight:700;margin-top:2px;padding:10px;transition:background-color .14s ease;width:100%}.tb-panel-foot:hover{background:#e0e7ff;background:var(--color-secondary-soft-hover,#e0e7ff)}.tb-profile-head{align-items:center;display:flex;gap:11px;padding:8px 10px 10px}.tb-profile-head-avatar{flex-shrink:0;font-size:14px;height:40px;width:40px}.tb-profile-head-meta{min-width:0}.tb-profile-head-name{color:var(--color-text);font-size:14px;font-weight:700}.tb-profile-head-email,.tb-profile-head-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tb-profile-head-email{color:var(--color-text-muted);font-size:12px}.tb-menu-item2{align-items:center;background:#0000;border:none;border-radius:8px;border-radius:var(--radius-sm,8px);color:var(--color-text);cursor:pointer;display:flex;font-family:inherit;font-size:13.5px;font-weight:500;gap:10px;padding:10px 11px;transition:background-color .12s ease,color .12s ease;width:100%}.tb-menu-item2 svg{color:var(--color-text-subtle);flex-shrink:0;height:17px;width:17px}.tb-menu-item2:hover{background:var(--color-surface-subtle)}.tb-menu-item2:hover svg{color:var(--color-secondary)}.tb-menu-item2--danger,.tb-menu-item2--danger svg{color:#b42318;color:var(--color-danger,#b42318)}.tb-menu-item2--danger:hover{background:#fef3f2;background:var(--color-danger-soft,#fef3f2)}.tb-menu-item2--danger:hover svg{color:#b42318;color:var(--color-danger,#b42318)}:root[data-theme=dark] .topbar{background-color:#171a22d1}.layout{background-color:var(--color-surface);display:flex;height:100vh;width:100%}.main-content{background-color:var(--color-bg);display:flex;flex:1 1;flex-direction:column;overflow:hidden}.content-area{flex:1 1;overflow-y:auto;padding:0}.teacher-sidebar .sidebar-logo{align-items:center;display:flex;gap:8px}.teacher-badge{background-color:var(--color-success-soft);border-radius:4px;color:var(--color-success);font-size:10px;letter-spacing:.5px;padding:2px 6px;text-transform:uppercase}.coming-soon-page{align-items:center;background:var(--color-surface-subtle);display:flex;justify-content:center;min-height:70vh;padding:32px}.coming-soon-card{background:var(--color-surface);border-radius:20px;box-shadow:var(--shadow-md);max-width:440px;padding:56px 48px;text-align:center;width:100%}.coming-soon-icon{display:flex;justify-content:center;margin-bottom:24px}.coming-soon-title{color:var(--color-text);font-size:26px;font-weight:700;margin-bottom:12px}.coming-soon-description{color:var(--color-text-muted);font-size:15px;line-height:1.6;margin-bottom:28px}.coming-soon-badge{background:var(--color-secondary-soft);border-radius:20px;color:var(--color-primary);display:inline-block;font-size:13px;font-weight:600;letter-spacing:.04em;padding:8px 22px}.metric-card{animation:mc-fade-in .36s cubic-bezier(.2,.8,.2,1) both;background:#fff;background:var(--color-surface,#fff);border:1px solid #ececef;border:1px solid var(--color-border,#ececef);border-radius:14px;border-radius:var(--radius-lg,14px);box-shadow:0 1px 2px #191b2e0d;box-shadow:var(--shadow-xs,0 1px 2px #191b2e0d);display:flex;flex-direction:column;gap:12px;overflow:hidden;padding:20px 20px 18px;position:relative;transition:transform .24s cubic-bezier(.2,.8,.2,1),box-shadow .24s ease,border-color .24s ease}.metric-card:before{background:radial-gradient(120% 90% at 100% 0,#4f46e50f,#0000 55%);background:radial-gradient(120% 90% at 100% 0,var(--mc-accent-wash,#4f46e50f),#0000 55%);content:"";inset:0;opacity:.9;pointer-events:none;position:absolute;transition:opacity .24s ease}.metric-card:hover{border-color:#d4d8e8;border-color:var(--color-border-strong,#d4d8e8);box-shadow:0 12px 24px -10px #191b2e29;box-shadow:var(--shadow-md,0 12px 24px -10px #191b2e29);transform:translateY(-3px)}.metric-card:hover:before{opacity:1}.metric-head{gap:10px;justify-content:space-between}.metric-head,.metric-icon{align-items:center;display:flex}.metric-icon{background:#eef0ff;background:var(--color-secondary-soft,#eef0ff);border-radius:12px;color:#4f46e5;color:var(--color-secondary,#4f46e5);flex-shrink:0;height:42px;justify-content:center;position:relative;transition:transform .24s cubic-bezier(.2,.8,.2,1);width:42px}.metric-card:hover .metric-icon{transform:scale(1.06) rotate(-3deg)}.metric-icon svg{stroke:currentColor;height:20px;width:20px}.metric-title{color:#6b7280;color:var(--color-text-muted,#6b7280);font-size:12px;font-weight:600;letter-spacing:.5px;line-height:1.3;text-transform:uppercase}.metric-value{font-feature-settings:"tnum";color:#111827;color:var(--color-text,#111827);font-size:30px;font-variant-numeric:tabular-nums;font-weight:750;letter-spacing:-.6px;line-height:1}.metric-foot{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.metric-trend{align-items:center;border-radius:999px;display:inline-flex;font-size:11.5px;font-weight:700;gap:4px;padding:3px 9px 3px 7px;width:fit-content}.metric-trend.is-up{background:#ecfdf3;background:var(--color-success-soft,#ecfdf3);color:#067647;color:var(--color-success,#067647)}.metric-trend.is-down{background:#fef3f2;background:var(--color-danger-soft,#fef3f2);color:#b42318;color:var(--color-danger,#b42318)}.metric-change{color:#6b7280;color:var(--color-text-muted,#6b7280);font-size:12.5px;font-weight:500;letter-spacing:.1px}.metric-sparkline{color:#4f46e5;color:var(--color-secondary,#4f46e5);height:28px;margin-top:4px;width:100%}.mc-variant-primary .metric-sparkline{color:#f59e0b;color:var(--color-primary,#f59e0b)}.mc-variant-success .metric-sparkline{color:#067647;color:var(--color-success,#067647)}.mc-variant-danger .metric-sparkline{color:#b42318;color:var(--color-danger,#b42318)}.mc-variant-info .metric-sparkline{color:#4f46e5;color:var(--color-secondary,#4f46e5)}.mc-variant-primary{--mc-accent-wash:#f59e0b12}.mc-variant-primary .metric-icon{background:#fff8ec;background:var(--color-primary-soft,#fff8ec);color:#f59e0b;color:var(--color-primary,#f59e0b)}.mc-variant-success{--mc-accent-wash:#0676470f}.mc-variant-success .metric-icon{background:#ecfdf3;background:var(--color-success-soft,#ecfdf3);color:#067647;color:var(--color-success,#067647)}.mc-variant-danger{--mc-accent-wash:#b423180f}.mc-variant-danger .metric-icon{background:#fef3f2;background:var(--color-danger-soft,#fef3f2);color:#b42318;color:var(--color-danger,#b42318)}.mc-variant-info{--mc-accent-wash:#4f46e512}.mc-variant-info .metric-icon{background:#eef0ff;background:var(--color-secondary-soft,#eef0ff);color:#4f46e5;color:var(--color-secondary,#4f46e5)}.mc-variant-default{--mc-accent-wash:#4f46e50d}.mc-skel{pointer-events:none}.mc-skel-block{background:var(--color-surface-muted);border-radius:8px;overflow:hidden;position:relative}.mc-skel-block:after{animation:mc-shimmer 1.4s ease-in-out infinite;background:linear-gradient(90deg,#0000,#fff9,#0000);content:"";inset:0;position:absolute;transform:translateX(-100%)}.mc-skel .metric-icon{background:var(--color-surface-muted);color:#0000}.mc-skel-line{height:12px}.mc-skel-line.short{width:50%}.mc-skel-line.big{height:22px;width:70%}@keyframes mc-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes mc-shimmer{to{transform:translateX(100%)}}@media (prefers-reduced-motion:reduce){.mc-skel-block:after,.metric-card,.metric-icon{animation:none!important;transition:none!important}}@supports (background-attachment:fixed){.metric-card{will-change:transform}}.page-empty-state{align-items:center;animation:pes-fade-in .32s cubic-bezier(.2,.8,.2,1) both;background:var(--color-surface-subtle);border:1px dashed var(--color-border);border-radius:14px;color:var(--color-text-muted);display:flex;flex-direction:column;gap:10px;padding:56px 24px;text-align:center}.pes-sm{border-radius:10px;gap:6px;padding:28px 16px}.pes-lg{background:#0000;border:none;padding:80px 24px}.pes-illu{animation:pes-bob 4.2s ease-in-out infinite;margin-bottom:6px;transform-origin:center bottom;will-change:transform}.pes-sm .pes-illu svg{height:68px;width:84px}.pes-lg .pes-illu svg{height:134px;width:168px}.pes-title{color:var(--color-text);font-size:16px;font-weight:600;letter-spacing:-.1px;margin:4px 0 0}.pes-lg .pes-title{font-size:20px}.pes-sm .pes-title{font-size:14px}.pes-desc{color:var(--color-text-muted);font-size:13px;line-height:1.5;margin:0;max-width:380px}.pes-lg .pes-desc{font-size:14px;max-width:460px}.pes-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:14px}.pes-btn{border-radius:8px;font-weight:600}.pes-btn,.pes-btn-ghost{font-size:13px;padding:9px 18px}.pes-btn-ghost{background:#0000;border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-muted);cursor:pointer;font-weight:500;transition:background .15s ease,border-color .15s ease,color .15s ease}.pes-btn-ghost:hover{background:var(--color-surface-subtle);border-color:var(--color-border-strong);color:var(--color-text)}.pes-variant-error{background:var(--color-danger-soft);border-color:#f4caca}.pes-variant-success{background:var(--color-success-soft);border-color:#c2e9d3}.pes-variant-search{background:#fdfaf3;border-color:#f0dfb6}@keyframes pes-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pes-bob{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-4px) rotate(-1deg)}}@media (prefers-reduced-motion:reduce){.page-empty-state,.pes-illu{animation:none}}.loading-state,.ls-skel-wrap{--ls-base:var(--color-surface-muted);--ls-shine:#ffffffa6;--ls-radius:8px;--ls-accent:var(--color-primary,#f59e0b);--ls-text:var(--color-text-muted)}.loading-state{align-items:center;animation:ls-fade-in .22s ease-out both;color:var(--ls-text);display:flex;flex-direction:column;font-size:14px;gap:14px;justify-content:center;padding:60px 20px}.loading-state.is-compact{font-size:13px;gap:10px;padding:20px 14px}.loading-state.is-fullscreen{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:#ffffffd9;inset:0;position:fixed;z-index:9999}.loading-message{letter-spacing:.01em;margin:0;opacity:.85}.visually-hidden{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.loading-spinner{height:36px;position:relative;width:36px}.loading-spinner-ring,.loading-spinner:before{border:3px solid #0000;border-radius:50%;content:"";inset:0;position:absolute}.loading-spinner:before{border-color:var(--ls-base);opacity:.55}.loading-spinner-ring{animation:ls-spin .72s cubic-bezier(.5,.1,.5,.9) infinite;border-right-color:var(--ls-accent);border-top-color:var(--ls-accent);box-shadow:0 0 24px -8px var(--ls-accent)}.loading-state.is-compact .loading-spinner{height:24px;width:24px}.loading-state.is-compact .loading-spinner-ring,.loading-state.is-compact .loading-spinner:before{border-width:2px}.loading-dots{display:inline-flex;gap:8px}.loading-dots span{animation:ls-dot-bounce .9s ease-in-out infinite;background:var(--ls-accent);border-radius:50%;height:9px;width:9px}.loading-dots span:nth-child(2){animation-delay:.12s}.loading-dots span:nth-child(3){animation-delay:.24s}.loading-bar{background:var(--ls-base);border-radius:999px;height:4px;max-width:80vw;overflow:hidden;position:relative;width:220px}.loading-bar-fill{animation:ls-bar 1.4s cubic-bezier(.4,0,.2,1) infinite;background:linear-gradient(90deg,#0000,var(--ls-accent),#0000);inset:0 auto 0 0;position:absolute;width:35%}.loading-pulse{animation:ls-pulse 1.1s ease-in-out infinite;background:var(--ls-accent);border-radius:50%;height:14px;width:14px}.ls-skel-wrap{animation:ls-fade-in .22s ease-out both;width:100%}.ls-skel-wrap.is-compact{padding:6px 0}.ls-skel-shimmer{background:var(--ls-base);border-radius:var(--ls-radius);overflow:hidden;position:relative}.ls-skel-shimmer:after{animation:ls-shimmer 1.4s ease-in-out infinite;background:linear-gradient(90deg,#0000 0,var(--ls-shine) 50%,#0000 100%);content:"";inset:0;position:absolute;transform:translateX(-100%)}.ls-skel-line{border-radius:6px;height:12px}.ls-skel-pill{border-radius:999px;height:22px;width:80px}.ls-skel-thumb{border-radius:var(--ls-radius);height:140px;width:100%}.ls-skel-avatar{border-radius:50%;flex-shrink:0;height:40px;width:40px}.ls-skel-input{border-radius:8px;height:38px;width:100%}.ls-skel-table{display:flex;flex-direction:column;gap:10px;padding:12px 0;width:100%}.ls-skel-row{grid-gap:16px;animation:ls-row-in .36s cubic-bezier(.2,.8,.2,1) both;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;display:grid;gap:16px;grid-template-columns:1.4fr 2fr 1fr 1fr 1fr;padding:14px 18px}.ls-skel-row-head{background:#0000;border:none;padding:8px 18px 0}.ls-skel-row-head .ls-skel-cell{height:10px;opacity:.6}.ls-skel-cell{border-radius:6px;height:14px}.ls-skel-cards{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));padding:6px 0}.ls-skel-card{animation:ls-card-in .38s cubic-bezier(.2,.8,.2,1) both;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-xs);display:flex;flex-direction:column;gap:12px;padding:16px}.ls-skel-card .ls-skel-line{height:12px}.ls-skel-footer{display:flex;gap:8px;margin-top:auto;padding-top:4px}.ls-skel-list{display:flex;flex-direction:column;gap:8px;padding:6px 0}.ls-skel-list-item{align-items:center;animation:ls-row-in .32s cubic-bezier(.2,.8,.2,1) both;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;display:flex;gap:14px;padding:12px 16px}.ls-skel-list-body{flex:1 1;gap:8px}.ls-skel-form,.ls-skel-list-body{display:flex;flex-direction:column}.ls-skel-form{gap:18px;max-width:560px;padding:8px 0}.ls-skel-form-row{animation:ls-row-in .32s cubic-bezier(.2,.8,.2,1) both;gap:8px}.ls-skel-form-row,.ls-skel-page{display:flex;flex-direction:column}.ls-skel-page{gap:18px;padding:8px 0}.ls-skel-page-head{align-items:center;display:flex;justify-content:space-between;padding:4px 2px}.ls-skel-stats{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,1fr)}.ls-skel-stat{animation:ls-card-in .36s cubic-bezier(.2,.8,.2,1) both;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;display:flex;flex-direction:column;gap:10px;padding:18px}@media (max-width:700px){.ls-skel-stats{grid-template-columns:1fr}.ls-skel-row{grid-template-columns:1.5fr 1fr 1fr}.ls-skel-row .ls-skel-cell:nth-child(n+4){display:none}}@keyframes ls-spin{to{transform:rotate(1turn)}}@keyframes ls-dot-bounce{0%,80%,to{opacity:.5;transform:translateY(0)}40%{opacity:1;transform:translateY(-7px)}}@keyframes ls-bar{0%{left:-35%;width:35%}50%{width:55%}to{left:100%;width:35%}}@keyframes ls-pulse{0%,to{box-shadow:0 0 0 0 currentColor;opacity:.55;transform:scale(1)}50%{box-shadow:0 0 0 8px #0000;opacity:1;transform:scale(1.25)}}@keyframes ls-shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes ls-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes ls-row-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes ls-card-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion:reduce){.loading-state,.ls-skel-card,.ls-skel-form-row,.ls-skel-list-item,.ls-skel-row,.ls-skel-stat,.ls-skel-wrap{animation:ls-fade-in .2s ease-out both!important}.ls-skel-shimmer:after{animation-duration:2.4s}.loading-spinner-ring{animation-duration:1.4s}.loading-bar-fill,.loading-dots span,.loading-pulse{animation-duration:2s}}:root[data-theme=dark] .loading-state.is-fullscreen{background:#0e1016d9}.mtw-widget{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:18px 20px 20px;transition:box-shadow .24s ease,border-color .24s ease}.mtw-widget:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.mtw-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.mtw-title{color:var(--color-text);font-size:14px;font-weight:700;letter-spacing:-.1px;margin:0}.mtw-count{align-items:center;background:var(--color-secondary-soft);border-radius:999px;color:var(--color-secondary);display:inline-flex;font-size:11.5px;font-weight:700;height:20px;justify-content:center;min-width:20px;padding:0 6px}.mtw-empty{color:var(--color-text-muted);font-size:13px;margin:0;padding:8px 0 4px}.mtw-sections{display:flex;flex-direction:column;gap:14px}.mtw-section-title{color:var(--color-text-subtle);display:block;font-size:11px;font-weight:700;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.mtw-section-title.mtw-overdue{color:var(--color-danger)}.mtw-section-title.mtw-today{color:var(--color-primary-accent)}.mtw-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.mtw-item{align-items:flex-start;display:flex;gap:10px}.mtw-check{align-items:center;background:var(--color-surface);border:1.5px solid var(--color-border-strong);border-radius:50%;color:#0000;cursor:pointer;display:inline-flex;flex-shrink:0;height:20px;justify-content:center;margin-top:1px;transition:background-color .14s ease,border-color .14s ease,color .14s ease;width:20px}.mtw-check:hover:not(:disabled){border-color:var(--color-success);color:var(--color-success)}.mtw-check:disabled{cursor:default;opacity:.5}.mtw-item-body{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.mtw-item-subject{color:var(--color-text);font-size:12.5px;font-weight:600;line-height:1.35;overflow-wrap:anywhere}.mtw-item-due{color:var(--color-text-subtle);font-size:11px}.crm-dropdown{display:inline-block;min-width:140px;position:relative}.crm-dropdown__trigger{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;font-family:inherit;font-size:var(--text-base);font-weight:500;gap:8px;justify-content:space-between;line-height:1.4;padding:8px 12px;transition:border-color .16s ease,box-shadow .16s ease;width:100%}.crm-dropdown__trigger:hover{border-color:var(--color-border-strong)}.crm-dropdown.crm-dropdown--open .crm-dropdown__trigger{border-color:var(--color-secondary);box-shadow:0 0 0 3px #4f46e524}.crm-dropdown__chevron{color:var(--color-text-subtle);flex-shrink:0;transition:transform .2s ease}.crm-dropdown--open .crm-dropdown__chevron{color:var(--color-secondary);transform:rotate(180deg)}.crm-dropdown__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crm-dropdown__menu{animation:crmDropIn .16s cubic-bezier(.16,1,.3,1) both;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);left:0;list-style:none;margin:0;max-height:260px;min-width:100%;overflow-y:auto;padding:4px;position:absolute;top:calc(100% + 4px);z-index:200}@keyframes crmDropIn{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.crm-dropdown__menu::-webkit-scrollbar{width:5px}.crm-dropdown__menu::-webkit-scrollbar-track{background:#0000}.crm-dropdown__menu::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:10px}.crm-dropdown__item{align-items:center;border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;display:flex;font-size:var(--text-base);gap:8px;line-height:1.35;padding:8px 12px;transition:background .12s ease;-webkit-user-select:none;user-select:none}.crm-dropdown__item:hover{background:var(--color-surface-subtle)}.crm-dropdown__item--active{background:var(--color-secondary-soft);color:var(--color-secondary);font-weight:600}.crm-dropdown__item--active:hover{background:var(--color-secondary-soft-hover)}.crm-dropdown__item--sep{color:var(--color-text-subtle);font-style:italic}.crm-dropdown__check{color:var(--color-secondary);flex-shrink:0}.dashboard{background-color:var(--color-bg);min-height:100%;padding:24px 28px 32px}.dash-hero{align-items:flex-end;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:22px}.dash-hero-eyebrow{color:var(--color-secondary);font-size:11.5px;font-weight:700;letter-spacing:.7px;text-transform:uppercase}.dash-hero-title{color:var(--color-text);font-size:26px;font-weight:750;letter-spacing:-.5px;line-height:1.15;margin:4px 0 0}.dash-hero-sub{color:var(--color-text-muted);font-size:13.5px;margin:5px 0 0}.dash-hero-actions{align-items:center;display:flex;flex-shrink:0;gap:10px}.dash-period{min-width:150px}.dashboard-error{background:var(--color-danger-soft);border:1px solid #fecdca;border-radius:var(--radius-md);color:var(--color-danger);padding:12px 14px}.dashboard-loading{align-items:center;color:var(--color-text-muted);display:flex;font-size:14px;gap:10px;justify-content:center;padding:48px 24px}.metrics-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:20px}@media (max-width:1200px){.metrics-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.metrics-grid{grid-template-columns:1fr}}.dash-grid{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:2fr 1fr;margin-bottom:20px}@media (max-width:1080px){.dash-grid{grid-template-columns:1fr}}.dash-grid.dash-grid-nomoney{grid-template-columns:1fr}.dash-side{display:flex;flex-direction:column;gap:16px}.dash-card,.payment-section,.sales-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow .24s ease,border-color .24s ease}.payment-section,.sales-section{padding:20px 24px 22px}.dash-card{padding:18px 20px 20px}.dash-card:hover,.payment-section:hover,.sales-section:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.section-header{margin-bottom:16px;padding-bottom:14px}.section-title{align-items:center;display:flex;font-size:15.5px;font-weight:700;gap:9px;letter-spacing:-.1px}.section-title:before{background:var(--color-secondary);border-radius:999px;content:"";height:16px;width:4px}.section-total{font-feature-settings:"tnum";color:var(--color-text);font-size:18px;font-variant-numeric:tabular-nums;font-weight:750;letter-spacing:-.4px}.section-link{color:var(--color-secondary);font-size:13px;font-weight:600;text-decoration:none;transition:color .16s ease}.section-link:hover{color:var(--color-secondary-hover)}.dash-card-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.dash-card-title{color:var(--color-text);font-size:14px;font-weight:700;letter-spacing:-.1px}.dash-card-empty{color:var(--color-text-muted);font-size:13px;padding:8px 0 4px}.quick-actions{display:flex;flex-direction:column;gap:6px}.quick-action{align-items:center;border-radius:var(--radius-md);display:flex;gap:12px;padding:10px;text-decoration:none;transition:background-color .14s ease,transform .14s ease}.quick-action:hover{background:var(--color-surface-muted);transform:translateX(2px)}.qa-icon{align-items:center;background:var(--color-secondary-soft);border-radius:10px;color:var(--color-secondary);display:inline-flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.qa-icon.qa-create{background:var(--color-primary-soft);color:var(--color-primary-accent)}.qa-icon.qa-sales{background:var(--color-success-soft);color:var(--color-success)}.qa-text{display:flex;flex:1 1;flex-direction:column;min-width:0}.qa-text strong{color:var(--color-text);font-size:13px;font-weight:600}.qa-text span{color:var(--color-text-muted);font-size:11.5px}.qa-arrow{color:var(--color-text-subtle);flex-shrink:0;transition:transform .14s ease,color .14s ease}.quick-action:hover .qa-arrow{color:var(--color-secondary);transform:translateX(2px)}.top-courses{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}.top-course{align-items:center;display:flex;gap:11px}.tc-rank{align-items:center;background:var(--color-surface-muted);border-radius:7px;color:var(--color-text-muted);display:inline-flex;flex-shrink:0;font-size:11.5px;font-weight:700;height:22px;justify-content:center;width:22px}.top-course:first-child .tc-rank{background:var(--color-primary-soft);color:var(--color-primary-accent)}.tc-body{display:flex;flex:1 1;flex-direction:column;gap:5px;min-width:0}.tc-title{color:var(--color-text);font-size:12.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tc-bar{background:var(--color-surface-muted);border-radius:999px;height:5px;overflow:hidden}.tc-bar-fill{background:linear-gradient(90deg,var(--color-secondary),#6366f1);border-radius:999px;display:block;height:100%}.tc-rev{font-feature-settings:"tnum";color:var(--color-text);flex-shrink:0;font-size:12.5px;font-variant-numeric:tabular-nums;font-weight:700}.payment-table{overflow-x:auto}.payment-table table{border-collapse:collapse;width:100%}.payment-table th{color:var(--color-text-muted);font-size:11px;font-weight:600;letter-spacing:.5px;padding:10px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.payment-table td,.payment-table th{border-bottom:1px solid var(--color-border)}.payment-table td{color:var(--color-text);font-size:13.5px;padding:13px 14px}.payment-table tbody tr:last-child td{border-bottom:0}.payment-table tbody tr{transition:background-color .12s ease}.payment-table tbody tr:hover{background:var(--color-surface-subtle)}.pt-course{font-weight:600}.pt-muted{color:var(--color-text-muted)}.pt-amount{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700}.status-badge{background:var(--color-surface-subtle);border:1px solid var(--color-border);color:var(--color-text-muted)}.status-badge.completed{background:var(--color-success-soft);border-color:#abefc6;color:var(--color-success)}.status-badge.pending,.status-badge.processing{background:var(--color-warning-soft);border-color:#fedf89;color:var(--color-warning)}.status-badge.cancelled,.status-badge.failed{background:var(--color-danger-soft);border-color:#fecdca;color:var(--color-danger)}.status-badge.refunded{background:var(--color-info-soft);border-color:#c7cbff;color:var(--color-info)}.dash-welcome{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);max-width:720px;padding:var(--space-10) var(--space-8)}.dash-welcome-head{margin-bottom:var(--space-8)}.dash-welcome-title{color:var(--color-text);font-size:var(--text-2xl);font-weight:700;margin-bottom:var(--space-3)}.dash-welcome-sub{color:var(--color-text-muted);font-size:var(--text-md);line-height:1.6;margin-bottom:var(--space-6);max-width:540px}.dash-welcome-steps{display:flex;flex-direction:column;gap:var(--space-3);list-style:none;margin:0;padding:0}.dash-welcome-step{align-items:flex-start;background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;gap:var(--space-4);padding:var(--space-4)}.dash-step-num{align-items:center;background:var(--color-secondary-soft);border-radius:999px;color:var(--color-secondary);display:inline-flex;flex-shrink:0;font-size:var(--text-sm);font-weight:700;height:28px;justify-content:center;width:28px}.dash-step-text{display:flex;flex-direction:column;gap:2px}.dash-step-text strong{color:var(--color-text);font-size:var(--text-base);font-weight:600}.dash-step-text span{color:var(--color-text-muted);font-size:var(--text-sm)}@media (prefers-reduced-motion:reduce){.dash-card,.payment-section,.qa-arrow,.quick-action,.sales-section{transition:none!important}}.course-card{animation:cc-in .38s cubic-bezier(.2,.8,.2,1) both;background:#fff;background:var(--color-surface,#fff);border:1px solid #ececef;border:1px solid var(--color-border,#ececef);border-radius:16px;box-shadow:var(--shadow-xs);cursor:default;display:flex;flex-direction:column;overflow:hidden;position:relative;transition:box-shadow .24s ease,border-color .24s ease,transform .28s cubic-bezier(.2,.8,.2,1)}.course-card[role=button]{cursor:pointer}.course-card:hover{border-color:#d4d8e8;border-color:var(--color-border-strong,#d4d8e8);box-shadow:var(--shadow-lg);transform:translateY(-4px)}@keyframes cc-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.cc-hero{aspect-ratio:16/9;background:linear-gradient(135deg,#eef0ff,#dfe3ff 55%,#f6ecff);overflow:hidden;position:relative}.cc-img{display:block;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1);width:100%;will-change:transform}.course-card:hover .cc-img{transform:scale(1.05)}.cc-hero-fallback{align-items:center;color:#4f46e538;display:flex;font-size:64px;font-weight:800;inset:0;justify-content:center;letter-spacing:-2px;position:absolute;transition:transform .7s cubic-bezier(.2,.8,.2,1);-webkit-user-select:none;user-select:none}.course-card:hover .cc-hero-fallback{transform:scale(1.08)}.cc-hero-shade{background:linear-gradient(180deg,#0f172a2e,#0f172a00 35%,#0f172a00 60%,#0f172a80);inset:0}.cc-hero-shade,.cc-top-row{pointer-events:none;position:absolute}.cc-top-row{display:flex;gap:8px;justify-content:space-between;left:12px;right:12px;top:12px}.cc-owner,.cc-status{align-items:center;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:#ffffffeb;border-radius:999px;box-shadow:var(--shadow-xs);display:inline-flex;font-size:11px;font-weight:600;gap:6px;letter-spacing:.2px;padding:4px 10px 4px 8px}.cc-status.is-live{color:var(--color-success)}.cc-status.is-draft{color:var(--color-primary-accent)}.cc-status-dot{animation:cc-pulse 2.2s ease-in-out infinite;background:currentColor;border-radius:50%;box-shadow:0 0 0 0 currentColor;height:7px;width:7px}@keyframes cc-pulse{0%,to{box-shadow:0 0 0 0 currentColor;opacity:.85}50%{box-shadow:0 0 0 4px #0000;opacity:1}}.cc-owner{color:var(--color-success)}.cc-play{align-items:center;display:flex;filter:drop-shadow(0 6px 18px rgba(15,23,42,.35));inset:0;justify-content:center;opacity:0;pointer-events:none;position:absolute;transform:scale(.9);transition:opacity .24s ease,transform .24s cubic-bezier(.2,.8,.2,1)}.course-card:hover .cc-play{opacity:1;transform:scale(1)}.cc-price{align-items:center;border-radius:999px;bottom:12px;box-shadow:var(--shadow-sm);display:inline-flex;font-size:11.5px;font-weight:700;left:12px;letter-spacing:.2px;padding:4px 10px;position:absolute}.cc-price.is-free{background:var(--color-success-soft);color:var(--color-success)}.cc-price.is-paid{background:var(--color-primary-soft);color:var(--color-primary-accent)}.cc-body{display:flex;flex:1 1;flex-direction:column;gap:8px;padding:16px 18px 8px}.cc-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#111827;color:var(--color-text,#111827);display:-webkit-box;font-size:15px;letter-spacing:-.15px;line-height:1.35;margin:0;min-height:2.7em;overflow:hidden}.cc-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:-2px}.cc-chip{align-items:center;background:#f1f2f9;background:var(--color-surface-subtle,#f1f2f9);border:1px solid #e8eaf3;border:1px solid var(--color-border,#e8eaf3);border-radius:999px;color:#6b7280;color:var(--color-text-muted,#6b7280);display:inline-flex;font-size:11px;font-weight:600;letter-spacing:.1px;max-width:170px;overflow:hidden;padding:3px 9px;text-overflow:ellipsis;white-space:nowrap}.cc-chip-level{background:#4f46e514;border-color:#4f46e52e;color:#4f46e5;color:var(--color-secondary,#4f46e5);text-transform:capitalize}.cc-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#6b7280;color:var(--color-text-muted,#6b7280);display:-webkit-box;font-size:12.5px;line-height:1.45;margin:0;overflow:hidden}.cc-created{align-items:center;display:flex;font-size:11.5px;gap:5px;margin-top:2px}.cc-created,.cc-created svg{color:#9ca3af;color:var(--color-text-subtle,#9ca3af)}.cc-created svg{flex-shrink:0}.cc-owner-line{align-items:center;color:#9ca3af;color:var(--color-text-subtle,#9ca3af);display:flex;font-size:11.5px;gap:5px;margin-top:-2px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cc-owner-line svg{color:#4f46e5;color:var(--color-secondary,#4f46e5);flex-shrink:0}.cc-stats{align-items:stretch;background:#f8f9fd;background:var(--color-surface-subtle,#f8f9fd);border:1px solid #e8eaf3;border:1px solid var(--color-border,#e8eaf3);border-radius:10px;border-radius:var(--radius-md,10px);display:flex;margin-top:auto;overflow:hidden}.cc-stat{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:2px;padding:10px 4px;position:relative}.cc-stat+.cc-stat:before{background:#e8eaf3;background:var(--color-border,#e8eaf3);bottom:20%;content:"";left:0;position:absolute;top:20%;width:1px}.cc-stat-icon{color:#4f46e5;color:var(--color-secondary,#4f46e5);display:inline-flex;margin-bottom:2px}.cc-stat-num{font-feature-settings:"tnum";color:#191b2e;color:var(--color-text,#191b2e);font-size:15px;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.2px;line-height:1}.cc-stat-lbl{color:#6b7280;color:var(--color-text-muted,#6b7280);font-size:10px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.cc-actions{border-top:1px solid var(--color-border);display:flex;gap:8px;margin-top:auto;padding:12px 18px 16px}.cc-btn{align-items:center;border:1px solid #0000;border-radius:10px;cursor:pointer;display:inline-flex;flex:1 1;font-family:inherit;font-size:12.5px;font-weight:600;gap:6px;justify-content:center;padding:9px 12px;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}.cc-btn:active{transform:translateY(1px)}.cc-btn-edit{background:#eef0ff;background:var(--color-secondary-soft,#eef0ff);border-color:#d3d7ff;color:#3730a3;color:var(--color-secondary-accent,#3730a3)}.cc-btn-edit:hover{background:#e0e3ff;background:var(--color-secondary-soft-hover,#e0e3ff);border-color:#4f46e5;border-color:var(--color-secondary,#4f46e5);box-shadow:0 2px 6px #4f46e52e;color:#4338ca;color:var(--color-secondary-hover,#4338ca);transform:translateY(-1px)}.cc-btn-edit:focus-visible{outline:2px solid #4f46e5;outline:2px solid var(--color-secondary,#4f46e5);outline-offset:2px}.cc-btn-delete{background:#fff;background:var(--color-surface,#fff);border-color:#fecdca;color:var(--color-danger)}.cc-btn-delete:hover{background:var(--color-danger-soft);border-color:#fda29b;box-shadow:0 2px 6px #b4231829;color:#912018;transform:translateY(-1px)}.cc-btn-delete:focus-visible{outline:2px solid var(--color-danger);outline-offset:2px}.course-card.is-horizontal{flex-direction:row}.course-card.is-horizontal .cc-hero{aspect-ratio:auto;flex-shrink:0;width:200px}.course-card.is-horizontal .cc-body{padding:16px}.course-card.is-horizontal .cc-actions{border-top:0;flex-direction:column;padding:16px}@media (prefers-reduced-motion:reduce){.cc-btn,.cc-img,.cc-play,.cc-status-dot,.course-card{animation:none!important;transition:none!important}.course-card:hover,.course-card:hover .cc-img{transform:none}}@media (max-width:540px){.cc-actions{flex-direction:column}.cc-btn{width:100%}}.courses-page{background:var(--color-bg);min-height:100vh;padding:24px 28px}.courses-header{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px}.courses-header-text{min-width:0}.courses-eyebrow{color:var(--color-secondary);font-size:11.5px;font-weight:700;letter-spacing:.7px;text-transform:uppercase}.courses-header h1{color:var(--color-text);font-size:22px;font-weight:700;letter-spacing:-.2px;margin:0}.courses-tabs{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);display:flex;gap:0;margin-bottom:30px;padding:8px;width:fit-content}.tab-button{background:#0000;border:none;border-radius:8px;color:var(--color-text-muted);cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .2s ease}.tab-button:hover{background:var(--color-surface-subtle);color:var(--color-text)}.tab-button.active{background:var(--color-primary-soft);color:var(--color-text)}.courses-schedule{max-width:1200px}.page-subtitle{color:var(--color-text);font-size:24px;font-weight:600;margin:0 0 30px}.courses-section{margin-bottom:40px}.section-header{background:var(--color-surface);border-radius:10px 10px 0 0;padding:14px 20px}.section-title{font-size:18px}.btn-create-video{border-radius:var(--radius-md);box-shadow:var(--shadow-xs);padding:9px 16px;transition:background-color .15s ease,box-shadow .15s ease}.btn-create-video:hover{box-shadow:var(--shadow-sm)}.courses-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));padding:4px 0}.courses-list>*{min-width:0}.courses-stats-strip{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin:4px 0 22px}.courses-stat{align-items:center;animation:cstat-in .32s cubic-bezier(.2,.8,.2,1) both;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);display:flex;font-family:inherit;gap:13px;overflow:hidden;padding:16px 18px;position:relative;text-align:left;transition:transform .24s cubic-bezier(.2,.8,.2,1),box-shadow .24s ease,border-color .24s ease;width:100%}button.courses-stat{cursor:pointer}.courses-stat.is-active{border-color:var(--color-secondary);box-shadow:0 0 0 3px #4f46e524}.courses-stat.is-active:after{background:var(--color-secondary);border-radius:50%;content:"";height:7px;position:absolute;right:12px;top:12px;width:7px}.courses-stat:before{background:radial-gradient(120% 90% at 100% 0,#4f46e50d,#0000 55%);background:radial-gradient(120% 90% at 100% 0,var(--cstat-wash,#4f46e50d),#0000 55%);content:"";inset:0;pointer-events:none;position:absolute}.courses-stat:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md);transform:translateY(-3px)}.courses-stat-icon{align-items:center;border-radius:11px;display:inline-flex;flex-shrink:0;height:40px;justify-content:center;position:relative;width:40px}.courses-stat.is-total{--cstat-wash:#f59e0b0f}.courses-stat.is-live{--cstat-wash:#0676470f}.courses-stat.is-draft{--cstat-wash:#92400e0f}.courses-stat.is-students{--cstat-wash:#4f46e50f}.courses-stat-icon.is-total{background:var(--color-primary-soft);color:var(--color-primary-accent)}.courses-stat-icon.is-live{background:var(--color-success-soft);color:var(--color-success)}.courses-stat-icon.is-draft{background:var(--color-primary-soft);color:var(--color-primary-accent)}.courses-stat-icon.is-students{background:var(--color-secondary-soft);color:var(--color-secondary)}.courses-stat-body{display:flex;flex-direction:column;min-width:0}.courses-stat-label{color:var(--color-text-muted);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.courses-stat-value{color:var(--color-text);font-size:22px;font-weight:700;letter-spacing:-.4px;line-height:1.1;margin-top:2px}@keyframes cstat-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.courses-page-title{color:var(--color-text);font-size:24px;font-weight:700;letter-spacing:-.4px;margin:0}.courses-page-sub{color:var(--color-text-muted);font-size:13px;margin:4px 0 0}.btn-create-video{align-items:center;background:var(--color-primary);border:1px solid var(--color-primary);border-radius:10px;box-shadow:0 2px 6px -2px #f59e0b4d;color:var(--color-primary-contrast);cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:10px 18px;transition:background-color .18s ease,box-shadow .18s ease,transform .18s ease}.btn-create-video:hover{background:var(--color-primary-hover);box-shadow:0 6px 16px -4px #f59e0b73;transform:translateY(-1px)}.btn-create-video:active{transform:translateY(0)}.courses-toolbar{--control-h:40px;border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-wrap:wrap;gap:10px;margin-bottom:18px;padding:10px 12px}.courses-search,.courses-toolbar{align-items:center;background:var(--color-surface);display:flex}.courses-search{border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;flex:1 1 260px;gap:8px;height:var(--control-h);max-width:360px;padding:0 12px;transition:border-color .18s ease,box-shadow .18s ease}.courses-toolbar .crm-dropdown__trigger{box-sizing:border-box;height:var(--control-h);padding-bottom:0;padding-top:0}.courses-search:focus-within{border-color:var(--color-secondary);box-shadow:0 0 0 3px #4f46e529}.courses-search input{background:#0000;border:0;flex:1 1;font-family:inherit;font-size:var(--text-base);height:100%;line-height:1.4;margin:0;min-width:0;outline:none;padding:0}.courses-search svg{color:var(--color-text-subtle);flex-shrink:0}.courses-results-meta{color:var(--color-text-muted);font-size:12px;margin-left:auto;padding:0 6px}.courses-pagination{align-items:center;display:flex;gap:12px;justify-content:center;margin-top:28px;padding:14px}.courses-pagination-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;padding:8px 14px;transition:background-color .16s ease,border-color .16s ease,transform .16s ease}.courses-pagination-btn:hover:not(:disabled){background:var(--color-surface-subtle);border-color:var(--color-border-strong);transform:translateY(-1px)}.courses-pagination-btn:disabled{cursor:not-allowed;opacity:.5}.courses-pagination-info{color:var(--color-text-muted);font-size:13px}.tab-content{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);padding:40px}.tab-content h2{color:var(--color-text);font-size:24px;font-weight:600;margin:0 0 16px}.tab-content p{color:var(--color-text-muted);font-size:16px;margin:0}.modal-overlay{animation:fadeIn .2s ease}.modal-content{animation:slideUp .3s ease;border-radius:16px}.upload-modal{max-width:600px}.modal-header{padding:24px 24px 16px}.modal-close{padding:4px;transition:color .2s ease}.modal-header h3{color:var(--color-text);font-size:20px}.modal-body p{color:var(--color-text);font-size:15px;line-height:1.5;margin:0 0 12px}.modal-warning{color:var(--color-danger);font-size:14px;margin:12px 0 0}.modal-actions{padding:16px 24px 24px}.btn-cancel,.btn-confirm-delete{font-weight:500;padding:10px 24px;transition:all .2s ease}.btn-confirm-delete{border:none}.btn-confirm-delete:hover{background:#912018;box-shadow:0 4px 12px #d32f2f4d}.btn-primary{border:none;border-radius:8px;color:var(--color-text);cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px;transition:all .2s ease}.btn-primary:hover{background:var(--color-primary-hover);box-shadow:0 4px 12px #ffc1074d}.upload-area{align-items:center;background:var(--color-surface-subtle);border:2px dashed var(--color-border-strong);border-radius:var(--radius-lg);cursor:pointer;display:flex;flex-direction:column;justify-content:center;margin-bottom:24px;padding:40px;transition:all .3s ease}.upload-area:hover{background:var(--color-primary-soft);border-color:var(--color-primary)}.upload-instruction{color:var(--color-text);font-size:16px;font-weight:500;margin:16px 0 8px}.upload-hint{color:var(--color-text-subtle);font-size:13px;margin:0}.form-group{margin-bottom:20px}.form-group input,.form-group textarea{border-radius:8px;padding:10px 14px;transition:border-color .2s ease}.form-group textarea{min-height:80px}@media (max-width:768px){.courses-page{padding:20px}.courses-header h1{font-size:24px}.courses-tabs{flex-direction:column;width:100%}.section-header{align-items:flex-start;flex-direction:column;gap:12px}.btn-create-video{width:100%}.modal-content{margin:20px}}.courses-select{min-width:140px}.learning-section{background:var(--color-surface);border-radius:12px;box-shadow:var(--shadow-xs);margin-bottom:16px;overflow:hidden}.section-header{align-items:center;background:var(--color-surface-subtle);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:10px 16px}.section-title{margin:0}.section-actions{align-items:center}.btn-delete,.btn-edit{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-muted);cursor:pointer;display:flex;font-size:12px;gap:6px;padding:6px 12px;transition:all .2s ease}.btn-edit:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.btn-delete:hover{background:var(--color-danger-soft);border-color:var(--color-danger);color:var(--color-danger)}.btn-delete svg,.btn-edit svg{color:currentColor}.section-content{padding:20px 16px}.form-field{margin-bottom:16px}.form-field,.select-wrapper{position:relative}.input-datetime,.select-input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-sizing:border-box;cursor:pointer;font-family:inherit;font-size:14px;padding:10px 40px 10px 14px;transition:border-color .2s ease;width:100%}.input-datetime:focus,.select-input:focus{border-color:var(--color-primary);outline:none}select.select-input{appearance:none;-webkit-appearance:none;-moz-appearance:none}select.select-input optgroup{background:var(--color-surface-subtle);color:var(--color-text-subtle);font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 0;text-transform:uppercase}select.select-input option{background:var(--color-surface);color:var(--color-text);font-size:14px;padding:8px 12px}.dropdown-icon{pointer-events:none;position:absolute;right:14px;top:50%;transform:translateY(-50%)}.input-with-icon{position:relative}.calendar-icon{left:14px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.input-datetime{padding-left:46px}.hint-text{color:var(--color-text-subtle);font-size:12px;margin:8px 0 0}.btn-save{border-radius:8px;font-size:14px;font-weight:500;padding:10px 24px;transition:all .2s ease}.btn-save:hover{box-shadow:0 4px 12px #ffc1074d}.month-selector{border-top:1px solid var(--color-border);margin-top:20px;padding-top:20px}.month-label{color:var(--color-text-muted);font-size:13px;margin:0 0 12px}.month-buttons{display:flex;flex-wrap:wrap;gap:8px}.btn-month{background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-muted);cursor:pointer;font-size:13px;font-weight:500;padding:4px 12px;transition:all .2s ease}.btn-month:hover{background:var(--color-primary-soft);border-color:var(--color-primary)}.btn-month.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-contrast)}.dropdown-menu{border-radius:8px;box-shadow:var(--shadow-md);max-height:200px;overflow-y:auto;z-index:100}.dropdown-section{padding:8px}.dropdown-section+.dropdown-section{border-top:1px solid var(--color-border)}.dropdown-label{color:var(--color-text-subtle);display:block;font-size:11px;letter-spacing:.5px;margin-bottom:4px;padding:0 8px;text-transform:uppercase}.dropdown-item{border-radius:6px;font-size:14px;gap:8px;transition:background .2s ease}.item-icon{color:var(--color-text-muted);flex-shrink:0;height:16px;width:16px}@media (max-width:768px){.form-row{grid-template-columns:1fr}.month-buttons{justify-content:flex-start}}.video-manager{background:var(--color-surface);border-radius:12px;box-shadow:var(--shadow-xs);padding:20px}.video-title-row{margin-bottom:16px}.video-label{color:var(--color-text);font-size:14px;font-weight:500;margin:0}.main-video-container{align-items:center;display:flex;gap:20px;justify-content:center;margin-bottom:24px;position:relative}.nav-button{background:none;border:none;color:var(--color-text);cursor:pointer;flex-shrink:0;padding:8px;transition:color .2s ease}.nav-button:hover{color:var(--color-primary)}.main-video{background:var(--color-surface-subtle);border-radius:12px;height:202px;max-width:475px;overflow:hidden;position:relative;width:100%}.main-video img{height:100%;object-fit:cover;width:100%}.video-overlay{align-items:center;background:#0000004d;display:flex;height:100%;justify-content:center;left:0;opacity:0;position:absolute;top:0;transition:opacity .3s ease;width:100%}.main-video:hover .video-overlay{opacity:1}.play-button-large{background:none;border:none;cursor:pointer;transition:transform .2s ease}.play-button-large:hover{transform:scale(1.1)}.checkbox-button{align-items:center;background:#0000004d;border:2px solid #fff;border-radius:50%;cursor:pointer;display:flex;height:32px;justify-content:center;position:absolute;right:12px;top:12px;transition:all .2s ease;width:32px}.checkbox-button:hover{background:#00000080}.checkbox-button.checked{background:var(--color-primary);border-color:var(--color-primary)}.video-carousel{align-items:center;display:flex;gap:12px;margin-bottom:24px;padding:12px 0}.carousel-nav{background:none;border:none;color:var(--color-text-muted);cursor:pointer;flex-shrink:0;padding:4px;transition:color .2s ease}.carousel-nav:hover{color:var(--color-primary)}.thumbnails-container{flex:1 1;overflow:hidden}.thumbnails-scroll{display:flex;gap:12px;overflow-x:auto;padding:4px 0;scroll-behavior:smooth}.thumbnails-scroll::-webkit-scrollbar{height:4px}.thumbnails-scroll::-webkit-scrollbar-track{background:var(--color-surface-muted);border-radius:2px}.thumbnails-scroll::-webkit-scrollbar-thumb{background:#ccc;border-radius:2px}.thumbnails-scroll::-webkit-scrollbar-thumb:hover{background:#999}.thumbnail-item{cursor:pointer;flex-shrink:0;position:relative;transition:transform .2s ease;width:125px}.thumbnail-item:hover{transform:translateY(-2px)}.thumbnail-item.active{border-radius:8px;box-shadow:0 4px 12px #ffc10766}.thumbnail-item img{border-radius:8px;display:block;height:53px;object-fit:cover;width:100%}.thumbnail-overlay{align-items:center;background:#0006;border-radius:8px;display:flex;height:53px;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .2s ease}.thumbnail-item:hover .thumbnail-overlay{opacity:1}.thumbnail-title{color:var(--color-text-muted);font-size:11px;margin:4px 0 0;text-align:center}.video-title-input{margin-top:20px}.title-input{border:1px solid var(--color-border);border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:14px;padding:10px 14px;transition:border-color .2s ease;width:100%}.title-input:focus{border-color:var(--color-primary);outline:none}.title-hint{color:var(--color-text-subtle);font-size:12px;margin:8px 0 0}@media (max-width:768px){.main-video-container{flex-direction:column;gap:12px}.main-video{height:250px;max-width:100%}.nav-button{display:none}.thumbnail-item{width:100px}.thumbnail-item img{height:45px}}.datetime-picker-overlay{align-items:center;animation:fadeIn .2s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.datetime-picker{animation:slideUp .3s ease;background:var(--color-surface);border-radius:16px;box-shadow:var(--shadow-lg);max-width:634px;padding:20px;position:relative;width:90%}.close-button{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:4px;position:absolute;right:10px;top:10px;transition:color .2s ease;z-index:10}.close-button:hover{color:var(--color-text)}.picker-content{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin:30px 0 20px}.calendar-section{padding:10px}.calendar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.month-nav{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:8px;transition:color .2s ease}.month-nav:hover{color:var(--color-primary)}.month-year{color:var(--color-text);font-size:16px;font-weight:600}.calendar-grid{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(7,1fr)}.day-name{color:var(--color-text-muted);font-size:12px;font-weight:500;padding:8px 4px;text-align:center}.day-name.weekend{color:#ff5252}.calendar-day{align-items:center;aspect-ratio:1;border-radius:8px;color:var(--color-text);cursor:pointer;display:flex;font-size:14px;justify-content:center;transition:all .2s ease}.calendar-day:not(.empty):hover{background:var(--color-surface-subtle)}.calendar-day.empty{cursor:default}.calendar-day.today{border:2px solid var(--color-primary)}.calendar-day.selected{background:var(--color-primary);color:#fff;font-weight:600}.time-section{background:var(--color-surface-subtle);border-radius:12px;display:flex;flex-direction:column;gap:20px;justify-content:center;padding:20px}.time-row{gap:12px}.time-inputs,.time-row{align-items:center;display:flex}.time-inputs{flex:1 1;gap:8px}.time-input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;font-size:20px;font-weight:500;padding:8px;text-align:center;transition:border-color .2s ease;width:50px}.time-input:focus{border-color:var(--color-primary);outline:none}.time-input::-webkit-inner-spin-button,.time-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.time-separator{color:var(--color-text);font-size:20px;font-weight:600}.period-selector{display:flex;flex-direction:column;gap:4px}.period-option{background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-muted);font-size:14px;font-weight:500;padding:8px 12px;text-align:center;transition:all .2s ease}.period-option.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-contrast)}.picker-actions{border-top:1px solid var(--color-border);display:flex;gap:12px;justify-content:flex-end;padding-top:20px}.btn-publish,.btn-save-update{border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px;transition:all .2s ease}.btn-save-update{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text)}.btn-save-update:hover{background:var(--color-surface-subtle)}.btn-publish{background:var(--color-primary);border:none;color:var(--color-primary-contrast)}.btn-publish:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-primary)}@media (max-width:768px){.picker-content{grid-template-columns:1fr}.time-section{padding:15px}.time-input{font-size:18px;width:40px}.picker-actions{flex-direction:column}.btn-publish,.btn-save-update{width:100%}}.delete-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.delete-modal-content{animation:slideUp .3s ease-out;background:var(--color-surface);border-radius:12px;box-shadow:var(--shadow-lg);max-width:400px;padding:32px;position:relative;text-align:center;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-close-btn{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:4px;position:absolute;right:16px;top:16px;transition:color .2s}.modal-close-btn:hover{color:var(--color-text)}.modal-icon{display:flex;justify-content:center;margin:0 auto 20px}.modal-title{font-size:20px;font-weight:600;margin:0 0 12px}.modal-message{color:var(--color-text-muted);font-size:14px;line-height:1.5;margin:0 0 28px}.modal-actions{justify-content:center}.btn-modal-cancel,.btn-modal-delete{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;min-width:100px;padding:10px 28px;transition:all .2s}.btn-modal-cancel{background:var(--color-surface-subtle);color:var(--color-text)}.btn-modal-cancel:hover{background:var(--color-surface-muted)}.btn-modal-delete{background:var(--color-danger);color:#fff}.btn-modal-delete:hover{background:#c53030}.file-upload-container{width:100%}.drag-drop-area{background:var(--color-surface);border:2px dashed var(--color-border);border-radius:12px;cursor:pointer;padding:60px 40px;text-align:center;transition:all .3s ease}.drag-drop-area.drag-active{background:var(--color-primary-soft);border-color:var(--color-primary)}.upload-icon{display:block;margin:0 auto 24px}.drag-drop-title{color:var(--color-text);font-size:18px;font-weight:500;margin:0 0 24px}.btn-select-files{background:var(--color-primary);border:none;border-radius:6px;color:var(--color-primary-contrast);cursor:pointer;font-size:14px;font-weight:500;padding:12px 32px;transition:all .2s}.btn-select-files:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-primary);transform:translateY(-1px)}.files-list{display:flex;flex-direction:column;gap:16px;margin-top:24px}.file-item{align-items:flex-start;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;display:flex;gap:16px;padding:16px}.file-preview{flex-shrink:0}.file-details{flex:1 1;min-width:0}.file-info-row{align-items:center;display:flex;gap:16px;margin-bottom:8px}.file-name{color:var(--color-text);flex:1 1;font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{color:var(--color-text-muted);flex-shrink:0;font-size:13px}.btn-remove-file{background:none;border:none;color:var(--color-text-subtle);cursor:pointer;flex-shrink:0;padding:4px;transition:color .2s}.btn-remove-file:hover{color:var(--color-danger)}.file-progress-text{color:var(--color-text-muted);flex-shrink:0;font-size:12px;font-weight:500;min-width:40px;text-align:right}.progress-bar{background:var(--color-surface-muted)}.progress-bar-fill{background:var(--color-primary);border-radius:4px;height:100%;transition:width .3s ease}@media (max-width:768px){.drag-drop-area{padding:40px 24px}.upload-icon{height:60px;width:60px}.drag-drop-title{font-size:16px}}.ccp{display:flex;flex-direction:column;gap:12px}.ccp-tabs{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);display:inline-flex;gap:3px;padding:3px;width:fit-content}.ccp-tab{background:#0000;border:none;border-radius:7px;color:var(--color-text-muted);cursor:pointer;font-family:inherit;font-size:12.5px;font-weight:600;padding:6px 14px;transition:background-color .14s ease,color .14s ease,box-shadow .14s ease}.ccp-tab:hover{color:var(--color-text)}.ccp-tab.is-active{background:var(--color-surface);box-shadow:var(--shadow-xs);color:var(--color-secondary)}.ccp-field{display:flex;flex-direction:column}.ccp-field label{color:var(--color-text-muted);font-size:11px;font-weight:700;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.ccp-field input{max-width:340px;width:100%}.ccp-palette-row{display:flex;flex-wrap:wrap;gap:8px}.ccp-palette{border:2px solid #0000;border-radius:8px;box-shadow:var(--shadow-xs);cursor:pointer;height:30px;padding:0;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease;width:42px}.ccp-palette:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}.ccp-palette:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.ccp-palette.is-selected{border-color:var(--color-surface);box-shadow:0 0 0 2px var(--color-secondary)}.ccp-icon-row{display:flex;flex-wrap:wrap;gap:8px}.ccp-icon-btn{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:9px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;height:38px;justify-content:center;transition:transform .14s ease,border-color .14s ease,color .14s ease,background-color .14s ease;width:38px}.ccp-icon-btn:hover{border-color:var(--color-border-strong);color:var(--color-text);transform:translateY(-2px)}.ccp-icon-btn:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.ccp-icon-btn.is-selected{background:var(--color-secondary-soft);border-color:var(--color-secondary);color:var(--color-secondary)}.ccp-icon-none{font-size:17px;line-height:1}.ccp-preview{aspect-ratio:16/9;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);max-width:340px;overflow:hidden;position:relative;width:100%}.ccp-preview-img{display:block;height:100%;object-fit:cover;width:100%}.ccp-preview-empty{align-items:center;color:var(--color-text-subtle);display:flex;flex-direction:column;font-size:12.5px;font-weight:500;gap:6px;height:100%;justify-content:center;width:100%}.ccp-preview-badge{background:#ffffffeb;border-radius:999px;box-shadow:var(--shadow-xs);color:var(--color-secondary);font-size:10.5px;font-weight:700;left:8px;letter-spacing:.3px;padding:3px 8px;position:absolute;top:8px}.ccp-section-label{color:var(--color-text-muted);font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.ccp-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(4,1fr);max-width:420px}.ccp-swatch{aspect-ratio:16/9;background:none;border:2px solid #0000;border-radius:var(--radius-md);box-shadow:var(--shadow-xs);cursor:pointer;overflow:hidden;padding:0;position:relative;transition:transform .16s cubic-bezier(.2,.8,.2,1),box-shadow .16s ease,border-color .16s ease}.ccp-swatch img{display:block;height:100%;object-fit:cover;width:100%}.ccp-swatch:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}.ccp-swatch:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.ccp-swatch.is-selected{border-color:var(--color-secondary);box-shadow:0 0 0 3px #4f46e52e}.ccp-check{background:var(--color-secondary);border-radius:50%;box-shadow:var(--shadow-sm);color:#fff;height:18px;justify-content:center;position:absolute;right:4px;top:4px;width:18px}.ccp-actions,.ccp-check{align-items:center;display:flex}.ccp-actions{gap:10px}.ccp-upload-btn{align-items:center;background:var(--color-secondary-soft);border:1px solid #d3d7ff;border-radius:var(--radius-md);color:var(--color-secondary-accent);cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;font-weight:600;gap:7px;padding:9px 16px;transition:background-color .16s ease,border-color .16s ease,transform .12s ease}.ccp-upload-btn:hover:not(:disabled){background:var(--color-secondary-soft-hover);border-color:var(--color-secondary);transform:translateY(-1px)}.ccp-upload-btn:disabled{cursor:progress;opacity:.7}.ccp-spinner{border-width:2px;height:14px;width:14px}.ccp-clear-btn{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;padding:9px 14px;transition:background-color .16s ease,color .16s ease,border-color .16s ease}.ccp-clear-btn:hover:not(:disabled){background:var(--color-danger-soft);border-color:#fecdca;color:var(--color-danger)}.ccp-hint{color:var(--color-text-subtle);font-size:11.5px;margin:0}.ccp-error{background:var(--color-danger-soft);border:1px solid #fecdca;border-radius:var(--radius-sm);color:var(--color-danger);font-size:12.5px;margin:0;padding:8px 10px}@media (max-width:520px){.ccp-grid{grid-template-columns:repeat(4,1fr)}}.form-error-boundary{align-items:center;background:linear-gradient(135deg,#fef2f2,#fde8e8);display:flex;justify-content:center;min-height:100vh;padding:20px}.error-container{background:var(--color-surface);border-radius:12px;box-shadow:0 4px 20px #dc26261a;max-width:500px;padding:40px;text-align:center}.error-icon{background:var(--color-danger-soft);border-radius:50%;color:var(--color-danger);font-size:32px;font-weight:700;height:60px;margin:0 auto 20px;width:60px}.error-container h2{color:var(--color-text);font-size:24px;font-weight:600;margin:0 0 12px}.error-message{color:var(--color-text-muted);line-height:1.6;margin:0 0 24px}.error-details{background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:8px;font-size:12px;margin:16px 0;padding:12px;text-align:left}.error-details summary{border-radius:4px;color:var(--color-text-muted);cursor:pointer;font-weight:500;margin:-8px -8px 8px;padding:8px}.error-details summary:hover{background:var(--color-surface-subtle)}.error-details pre{color:var(--color-danger);font-family:Monaco,Courier New,monospace;line-height:1.4;margin:8px 0 0;max-height:200px;overflow-x:auto}.error-actions{gap:12px;justify-content:center;margin-top:24px}.btn-close,.btn-retry{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px;transition:all .2s}.btn-retry{background:var(--color-danger);color:#fff}.btn-retry:hover{background:#b91c1c;box-shadow:0 4px 12px #dc26264d}.btn-close{background:var(--color-surface-muted);color:var(--color-text)}.btn-close:hover{background:var(--color-border-strong)}.retry-info{color:var(--color-text-subtle);font-size:12px;margin-top:16px}.form-error-display{align-items:flex-start;animation:slideDown .3s ease;border-radius:8px;display:flex;gap:12px;margin-bottom:16px;padding:16px}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.form-error-display.network-error{background:var(--color-primary-soft);border:1px solid #fcd34d;color:var(--color-primary-accent)}.form-error-display.server-error{background:var(--color-danger-soft);border:1px solid #fecaca;color:var(--color-danger)}.error-icon{align-items:center;display:flex;flex-shrink:0;height:24px;justify-content:center;min-width:24px;width:24px}.form-error-display.network-error .error-icon{color:var(--color-primary)}.form-error-display.server-error .error-icon{color:var(--color-danger)}.error-icon svg{height:100%;width:100%}.error-content{flex:1 1}.error-title{font-size:14px;font-weight:600;margin:0 0 4px}.error-text{font-size:13px;line-height:1.4;margin:0 0 4px}.error-subtext{font-size:12px;margin:4px 0 0;opacity:.8}.error-actions{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:8px}.auto-retry-info{background:#0000000d;border-radius:4px;font-size:12px;padding:4px 8px;white-space:nowrap}.btn-error-retry{border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;min-width:100px;padding:6px 16px;transition:all .2s;white-space:nowrap}.form-error-display.network-error .btn-error-retry{background:var(--color-primary);color:#fff}.form-error-display.network-error .btn-error-retry:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-primary)}.form-error-display.server-error .btn-error-retry{background:var(--color-danger);color:#fff}.form-error-display.server-error .btn-error-retry:hover:not(:disabled){background:#dc2626;box-shadow:0 2px 8px #ef44444d}.btn-error-retry:disabled{cursor:not-allowed;opacity:.6}.max-retries-message{background:#0000000d;border-radius:4px;font-size:12px;font-weight:500;padding:4px 8px;white-space:nowrap}@media (max-width:640px){.form-error-display{align-items:flex-start;flex-direction:column}.error-actions{align-items:stretch;width:100%}.btn-error-retry{width:100%}.auto-retry-info,.max-retries-message{text-align:center;width:100%}}.validation-feedback{align-items:center;animation:fadeIn .2s ease;display:flex;font-size:12px;gap:6px;margin-top:4px}@keyframes fadeIn{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.validation-feedback.error{color:var(--color-danger)}.validation-feedback.success{color:var(--color-success)}.feedback-icon{align-items:center;display:flex;flex-shrink:0;height:16px;justify-content:center;width:16px}.feedback-icon svg{height:100%;width:100%}.feedback-message{line-height:1.2}.course-creation-page{background:var(--color-surface-subtle);min-height:100vh;padding:30px}.course-form{background:var(--color-surface);border-radius:12px;box-shadow:var(--shadow-sm);max-width:560px;padding:24px}.course-form .form-group{margin-bottom:16px}.course-form .form-group label{color:var(--color-text);display:block;font-size:14px;font-weight:600;margin-bottom:6px}.course-form .form-group input,.course-form .form-group select,.course-form .form-group textarea{border:1px solid var(--color-border-strong);border-radius:8px;box-sizing:border-box;font-size:14px;padding:10px 12px;transition:border-color .2s,box-shadow .2s;width:100%}.course-form .form-group input:focus,.course-form .form-group select:focus,.course-form .form-group textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #ffc1071a;outline:none}.course-form .form-group .input-error,.course-form .form-group .input-error:focus{border-color:var(--color-danger);box-shadow:0 0 0 3px #dc26261a}.course-form .form-row{display:flex;gap:16px}.course-form .form-row .form-group{flex:1 1}.course-form .form-error{background:var(--color-danger-soft);border-radius:8px;color:var(--color-danger);font-size:14px;margin-bottom:16px;padding:10px 12px}.page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.page-header h1{color:var(--color-text);font-size:24px;font-weight:600;margin:0}.header-actions{align-items:center}.btn-feature,.btn-publish-header{border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 20px;transition:all .2s ease}.btn-feature{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text)}.btn-feature:hover{background:var(--color-surface-subtle)}.btn-publish-header{background:var(--color-primary);border:none;color:var(--color-primary-contrast)}.btn-publish-header:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-primary)}.btn-publish-header:disabled{cursor:not-allowed;opacity:.6}.edit-delete-group{display:flex;gap:8px}.btn-delete-header,.btn-edit-header{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:8px 14px;transition:all .2s ease}.btn-edit-header:hover{background:var(--color-surface-subtle);border-color:var(--color-border-strong)}.btn-delete-header:hover{background:var(--color-danger-soft);border-color:#ffcdd2;color:var(--color-danger)}.creation-content{max-width:1200px}.learning-grid{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.grid-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.section-actions{display:flex;gap:8px;justify-content:flex-end;margin-bottom:20px}.btn-delete-section,.btn-edit-section{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:6px 12px;transition:all .2s ease}.btn-edit-section:hover{background:var(--color-surface-subtle);border-color:var(--color-border-strong)}.btn-delete-section:hover{background:var(--color-danger-soft);border-color:#ffcdd2;color:var(--color-danger)}.video-section{background:var(--color-surface);border-radius:12px;box-shadow:var(--shadow-sm);padding:20px;position:relative}.video-section-actions{display:flex;gap:8px;position:absolute;right:20px;top:20px}.section-heading{color:var(--color-text);font-size:18px;font-weight:600;margin:0 0 20px}.btn-upload-videos{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);cursor:pointer;font-size:14px;font-weight:500;margin-top:16px;padding:10px 24px;transition:all .2s ease}.btn-upload-videos:hover{background:var(--color-surface-subtle);border-color:var(--color-border-strong)}.btn-save-continue{background:var(--color-primary);border:none;border-radius:8px;color:var(--color-primary-contrast);cursor:pointer;font-size:14px;font-weight:500;margin-top:20px;padding:10px 24px;transition:all .2s ease}.btn-save-continue:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-primary)}@media (max-width:968px){.course-creation-page{padding:20px}.page-header{align-items:flex-start;flex-direction:column;gap:16px}.header-actions{flex-wrap:wrap;width:100%}.grid-row{grid-template-columns:1fr}.btn-feature,.btn-publish-header{flex:1 1}.edit-delete-group{justify-content:stretch;width:100%}.btn-delete-header,.btn-edit-header{flex:1 1;justify-content:center}}.ccx-page{background:var(--color-bg);min-height:100%;padding:24px 28px 120px}.ccx-head{margin-bottom:20px}.ccx-back{align-items:center;color:var(--color-text-muted);display:inline-flex;font-size:13px;font-weight:600;gap:5px;margin-bottom:12px;text-decoration:none;transition:color .14s ease}.ccx-back:hover{color:var(--color-secondary)}.ccx-head .courses-eyebrow,.ccx-head .page-sub,.ccx-head .page-title{display:block}.ccx-grid{grid-gap:18px;align-items:start;display:grid;gap:18px;grid-template-columns:1.4fr 1fr}@media (max-width:960px){.ccx-grid{grid-template-columns:1fr}}.ccx-main,.ccx-side{display:flex;flex-direction:column;gap:18px}.ccx-card{padding:22px 24px}.ccx-card-title{border-bottom:1px solid var(--color-border);color:var(--color-text);font-size:14px;font-weight:700;letter-spacing:-.1px;margin:0 0 16px;padding-bottom:12px}.ccx-field{display:flex;flex-direction:column;margin-bottom:16px}.ccx-field:last-child{margin-bottom:0}.ccx-field>label{color:var(--color-text);font-size:12.5px;font-weight:600;margin-bottom:7px}.ccx-req{color:var(--color-danger)}.ccx-input{width:100%}.ccx-help{color:var(--color-text-subtle);font-size:11.5px;margin-top:6px}.ccx-form-error{margin-top:8px}.ccx-field-row{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}.ccx-field-row .ccx-field{margin-bottom:0}@media (max-width:520px){.ccx-field-row{grid-template-columns:1fr}}.ccx-preview{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);max-width:300px;overflow:hidden}.ccx-preview-hero{align-items:center;aspect-ratio:16/9;background:linear-gradient(135deg,#eef0ff,#dfe3ff 55%,#f6ecff);display:flex;justify-content:center;overflow:hidden;position:relative}.ccx-preview-img{height:100%;object-fit:cover;width:100%}.ccx-preview-fallback{color:#4f46e538;font-size:52px;font-weight:800;letter-spacing:-2px}.ccx-preview-badge{background:#ffffffeb;border-radius:999px;box-shadow:var(--shadow-xs);color:var(--color-warning);font-size:10.5px;font-weight:700;left:10px;padding:3px 9px 3px 8px;position:absolute;top:10px}.ccx-preview-body{display:flex;flex-direction:column;gap:8px;padding:12px 14px 14px}.ccx-preview-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--color-text);display:-webkit-box;font-size:14px;font-weight:700;line-height:1.35;overflow:hidden}.ccx-preview-price{align-self:flex-start;border-radius:999px;font-size:11.5px;font-weight:700;padding:3px 10px}.ccx-preview-price.is-paid{background:var(--color-primary-soft);color:var(--color-primary-accent)}.ccx-preview-price.is-free{background:var(--color-success-soft);color:var(--color-success)}.ccx-actions{backdrop-filter:saturate(180%) blur(10px);-webkit-backdrop-filter:saturate(180%) blur(10px);background:#ffffffdb;border-top:1px solid var(--color-border);bottom:0;display:flex;gap:10px;justify-content:flex-end;margin:20px -28px -120px;padding:16px 28px;position:sticky;z-index:5}.ccx-actions .btn-cancel,.ccx-actions .btn-publish-header{flex:0 0 auto;justify-content:center;min-width:0;width:auto}.ccx-actions .btn-publish-header{min-width:148px;padding:10px 24px}.ccx-actions .btn-cancel{background:#0000;border-color:#0000;color:var(--color-text-muted);padding:10px 16px}.ccx-actions .btn-cancel:hover:not(:disabled){background:var(--color-surface-muted);border-color:#0000;color:var(--color-text)}:root[data-theme=dark] .ccx-preview-badge{background:#171a22d9}:root[data-theme=dark] .ccx-actions{background:#0e1016db}.course-modules{margin:0 auto;max-width:1000px;padding:20px}.modules-header{align-items:center;display:flex;gap:14px;margin-bottom:22px}.modules-header-icon{background:var(--color-secondary-soft);border-radius:12px;color:var(--color-secondary);display:grid;flex-shrink:0;height:44px;place-items:center;width:44px}.modules-header-text{flex:1 1;min-width:0}.modules-header h1{color:var(--color-text);font-size:18px;font-weight:700;letter-spacing:-.2px;margin:0 0 2px}.modules-subtitle{color:var(--color-text-muted);font-size:13px;margin:0}.modules-header-side{align-items:center;display:flex;flex-shrink:0;flex-wrap:wrap;gap:10px}.modules-chip{align-items:center;background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-muted);display:inline-flex;font-size:12.5px;gap:4px;padding:6px 12px;white-space:nowrap}.modules-chip strong{color:var(--color-text);font-weight:700}.modules-add-btn{align-items:center;display:inline-flex;gap:6px}.module-form-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;border-radius:var(--radius-lg,14px);box-shadow:var(--shadow-sm);margin-bottom:20px;padding:22px 24px}.module-form-card h3{font-size:16px;font-weight:600;margin:0 0 20px}.form-group label{font-size:12.5px}.form-group input,.form-group textarea{border:1px solid var(--color-border);border-radius:10px;border-radius:var(--radius-md,10px);box-sizing:border-box;color:var(--color-text);font-family:inherit;font-size:14px;padding:10px 12px;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #f59e0b1a;outline:none}.modules-table{background:var(--color-surface);border:1px solid var(--color-border);border-collapse:collapse;border-radius:14px;border-radius:var(--radius-lg,14px);box-shadow:var(--shadow-sm);overflow:hidden;width:100%}.modules-table thead th{background:var(--color-surface-subtle);color:var(--color-text-subtle);font-size:11px;font-weight:700;letter-spacing:.4px;padding:12px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.modules-table td,.modules-table thead th{border-bottom:1px solid var(--color-border)}.modules-table td{color:var(--color-text);font-size:13.5px;padding:13px 16px;vertical-align:middle}.modules-table tbody tr:last-child td{border-bottom:0}.modules-table tbody tr:hover{background:var(--color-surface-subtle)}.mod-col-num{width:52px}.mod-col-lessons{width:96px}.mod-col-actions{white-space:nowrap;width:1%}.mod-num{background:var(--color-secondary-soft);border-radius:8px;color:var(--color-secondary);display:grid;font-size:12px;font-weight:700;height:26px;place-items:center;width:26px}.mod-title{color:var(--color-text);display:block;font-weight:600}.mod-desc{color:var(--color-text-muted);display:block;font-size:12px;margin-top:2px;max-width:460px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-modules .actions{align-items:center;display:flex;flex-wrap:nowrap;gap:6px;justify-content:flex-end}.course-modules .btn-action{align-items:center;background:var(--color-surface);border:1px solid #d0d5dd;border:1px solid var(--color-border-strong,#d0d5dd);border-radius:8px;color:var(--color-text);cursor:pointer;display:inline-flex;font-family:inherit;font-size:12.5px;font-weight:600;gap:5px;justify-content:center;min-height:32px;padding:6px 12px;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease}.course-modules .btn-action[title="Move down"],.course-modules .btn-action[title="Move up"]{color:var(--color-text-muted);font-size:14px;min-width:32px;padding:0;width:32px}.course-modules .btn-action[title="Move down"]:hover:not(:disabled),.course-modules .btn-action[title="Move up"]:hover:not(:disabled){background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-1px)}.course-modules .btn-action:not(.btn-danger):not([title]){background:var(--color-primary-soft);border-color:#fde6c1;color:var(--color-primary-accent)}.course-modules .btn-action:not(.btn-danger):not([title]):hover{background:var(--color-primary-soft-hover);border-color:#fbcc83;box-shadow:var(--shadow-primary);color:var(--color-primary-accent);transform:translateY(-1px)}.course-modules .btn-action.btn-danger{background:var(--color-surface);border-color:#fecdca;color:var(--color-danger)}.course-modules .btn-action.btn-danger:hover{background:var(--color-danger-soft);border-color:#fda29b;box-shadow:0 2px 6px -2px #b423182e;color:var(--color-danger);transform:translateY(-1px)}.course-modules .btn-action:disabled{box-shadow:none;cursor:not-allowed;opacity:.4;transform:none}.course-modules .btn-action:active:not(:disabled){transform:translateY(0)}.lesson-count-badge{background:#eef2ff;background:var(--color-secondary-soft,#eef2ff);border-radius:999px;color:#3730a3;color:var(--color-secondary-accent,#3730a3);display:inline-block;font-size:12px;font-weight:700;min-width:24px;padding:3px 10px;text-align:center}.status-badge{align-items:center;display:inline-flex;font-size:var(--text-sm);line-height:1.4;padding:3px 10px;text-transform:capitalize}.status-badge.tone-success{background:var(--color-success-soft);border:1px solid #abefc6;color:var(--color-success)}.status-badge.tone-warning{background:var(--color-warning-soft);border:1px solid #fedf89;color:var(--color-warning)}.status-badge.tone-info{background:var(--color-info-soft);border:1px solid #b2ddff;color:var(--color-info)}.status-badge.tone-danger{background:var(--color-danger-soft);border:1px solid #fecdca;color:var(--color-danger)}.status-badge.tone-neutral{background:var(--color-surface-subtle);border:1px solid var(--color-border);color:var(--color-text-muted)}.course-lessons{background:var(--color-surface);padding:20px 22px}.lessons-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:18px}.lessons-header h1{color:var(--color-text);font-size:18px;font-weight:600;margin:0}.lesson-form-card{background:var(--color-surface);border-radius:8px;box-shadow:var(--shadow-md);margin-bottom:24px;padding:24px}.lesson-form-card h3{font-size:16px;font-weight:600;margin:0 0 20px}.form-row{grid-gap:16px;gap:16px}.form-group .input-error,.form-group .input-error:focus{border-color:var(--color-danger);box-shadow:0 0 0 3px #dc26261a}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-sm);color:var(--color-primary-contrast)}.btn-cancel:hover{background-color:var(--color-surface-subtle)}.lessons-table{background:var(--color-surface);border:1px solid var(--color-border);border-collapse:collapse;border-radius:var(--radius-lg);overflow:hidden;width:100%}.lessons-table thead{background-color:var(--color-surface-subtle);border-bottom:1px solid var(--color-border)}.lessons-table th{color:var(--color-text-muted);font-size:11.5px;font-weight:600;letter-spacing:.5px;padding:10px 14px;text-align:left;text-transform:uppercase}.lessons-table td{border-bottom:1px solid var(--color-border);color:var(--color-text);font-size:13.5px;padding:12px 14px}.lessons-table tbody tr:last-child td{border-bottom:0}.lessons-table tbody tr:hover{background-color:var(--color-surface-subtle)}.status-badge{border:1px solid #0000;border-radius:999px;font-size:11.5px;font-weight:600;padding:2px 10px}.status-badge.uploaded{background-color:var(--color-success-soft);border-color:#abefc6;color:var(--color-success)}.status-badge.pending{border-color:#fedf89}.actions{align-items:center}.course-lessons .btn-action,.course-lessons-page .btn-action{align-items:center;background:var(--color-surface);border:1px solid #d0d5dd;border:1px solid var(--color-border-strong,#d0d5dd);border-radius:8px;color:var(--color-text);cursor:pointer;display:inline-flex;font-family:inherit;font-size:12.5px;font-weight:600;gap:5px;justify-content:center;min-height:32px;padding:6px 12px;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease}.course-lessons .btn-action:hover:not(:disabled):not(.btn-action-upload):not(.btn-danger),.course-lessons-page .btn-action:hover:not(:disabled):not(.btn-action-upload):not(.btn-danger){background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-1px)}.course-lessons .btn-action:disabled,.course-lessons-page .btn-action:disabled{cursor:not-allowed;opacity:.4;transform:none}.course-lessons .btn-action:active:not(:disabled),.course-lessons-page .btn-action:active:not(:disabled){transform:translateY(0)}.course-lessons .btn-action[title="Move down"],.course-lessons .btn-action[title="Move up"],.course-lessons-page .btn-action[title="Move down"],.course-lessons-page .btn-action[title="Move up"]{color:var(--color-text-muted);font-size:14px;min-width:32px;padding:0;width:32px}.course-lessons .btn-action.btn-action-upload,.course-lessons-page .btn-action.btn-action-upload{background:var(--color-primary-soft);border-color:#fde6c1;color:var(--color-primary-accent)}.course-lessons .btn-action.btn-action-upload:hover,.course-lessons-page .btn-action.btn-action-upload:hover{background:var(--color-primary-soft-hover);border-color:#fbcc83;box-shadow:var(--shadow-primary);color:var(--color-primary-accent);transform:translateY(-1px)}.course-lessons .btn-action.btn-danger,.course-lessons-page .btn-action.btn-danger{border-color:#fecdca;color:var(--color-danger)}.course-lessons .btn-action.btn-danger:hover,.course-lessons-page .btn-action.btn-danger:hover{background:var(--color-danger-soft);border-color:#fda29b;box-shadow:0 2px 6px -2px #b423182e;color:var(--color-danger);transform:translateY(-1px)}.upload-progress-container{align-items:center;display:flex;gap:8px}.upload-progress{color:var(--color-primary);font-size:12px;font-weight:500;min-width:40px}.btn-cancel-upload{background:var(--color-surface);border:1px solid var(--color-danger);border-radius:4px;color:var(--color-danger);cursor:pointer;font-size:12px;padding:4px 10px;transition:all .2s}.btn-cancel-upload:hover{background-color:var(--color-danger-soft);border-color:var(--color-danger);color:var(--color-danger)}@media (max-width:768px){.form-row{grid-template-columns:1fr}.lessons-table{font-size:12px}.lessons-table td,.lessons-table th{padding:12px 8px}}.lessons-module-filter{background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;font-size:13px;min-width:180px;padding:8px 10px}.lesson-preview-overlay{align-items:center;background:#0f121cb3;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:1000}.lesson-preview-content{background:var(--color-surface);border-radius:12px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;width:min(900px,100%)}.lesson-preview-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:14px 18px}.lesson-preview-header h3{color:var(--color-text);font-size:16px;font-weight:600;margin:0}.lesson-preview-close{background:#0000;border:none;color:var(--color-text-muted);cursor:pointer;font-size:28px;line-height:1;padding:0 6px}.lesson-preview-close:hover{color:var(--color-text)}.lesson-preview-body{background:#000;padding:0}.lesson-preview-body p{color:#fff;margin:0;padding:40px;text-align:center}.video-error{align-items:center;background:var(--color-danger-soft);color:var(--color-danger);display:flex;font-size:14px;font-weight:500;gap:8px;padding:20px 24px}.lesson-number-badge{align-items:center;background:var(--color-primary-soft);border:1px solid #ffd591;border-radius:999px;color:var(--color-primary-accent);display:inline-flex;font-size:12px;font-weight:600;height:24px;justify-content:center;min-width:28px;padding:0 8px}.module-pill{background:var(--color-secondary-soft);border-radius:999px;color:var(--color-secondary-hover);display:inline-block;font-size:12px;font-weight:500;padding:2px 10px}.module-empty{color:var(--color-text-subtle);font-size:12px;font-style:italic}.les-hd{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:18px}.les-hd-text{align-items:baseline;display:flex;gap:10px}.course-lessons .les-title{color:var(--color-text);font-size:var(--text-xl);font-weight:700;letter-spacing:-.3px;margin:0}.les-count{background:var(--color-surface-muted);border-radius:999px;color:var(--color-text-muted);font-size:12px;font-weight:600;padding:3px 10px}.les-hd-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.les-stats{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin-bottom:20px}.les-stat{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);display:flex;flex-direction:column;gap:4px;overflow:hidden;padding:16px 18px;position:relative;transition:transform .24s cubic-bezier(.2,.8,.2,1),box-shadow .24s ease,border-color .24s ease}.les-stat:before{background:radial-gradient(120% 90% at 100% 0,#4f46e50d,#0000 55%);background:radial-gradient(120% 90% at 100% 0,var(--les-wash,#4f46e50d),#0000 55%);content:"";inset:0;pointer-events:none;position:absolute}.les-stat:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md);transform:translateY(-3px)}.les-stat-icon{align-items:center;background:var(--color-secondary-soft);border-radius:10px;color:var(--color-secondary);display:inline-flex;height:36px;justify-content:center;margin-bottom:6px;width:36px}.les-stat-value{font-feature-settings:"tnum";color:var(--color-text);font-size:24px;font-variant-numeric:tabular-nums;font-weight:750;letter-spacing:-.5px;line-height:1}.les-stat-label{color:var(--color-text-muted);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.les-stat.is-total{--les-wash:#4f46e50f}.les-stat.is-total .les-stat-icon{background:var(--color-secondary-soft);color:var(--color-secondary)}.les-stat.is-good{--les-wash:#0676470f}.les-stat.is-good .les-stat-icon{background:var(--color-success-soft);color:var(--color-success)}.les-stat.is-warn{--les-wash:#f59e0b12}.les-stat.is-warn .les-stat-icon{background:var(--color-primary-soft);color:var(--color-primary-accent)}.les-stat.is-info{--les-wash:#4f46e50f}.les-stat.is-info .les-stat-icon{background:var(--color-secondary-soft);color:var(--color-secondary)}.les-table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);overflow-x:auto}.course-lessons .les-table{border-collapse:collapse;margin:0;width:100%}.course-lessons .les-table thead th{background:var(--color-surface-subtle);border-bottom:1px solid var(--color-border);color:var(--color-text-muted);font-size:11px;font-weight:700;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.course-lessons .les-table tbody td{border-bottom:1px solid var(--color-border);color:var(--color-text);font-size:13px;padding:12px 16px;vertical-align:middle}.course-lessons .les-table tbody tr:last-child td{border-bottom:0}.course-lessons .les-table tbody tr:hover{background:var(--color-surface-subtle)}.les-th-num{width:48px}.les-th-order{width:84px}.les-th-actions{white-space:nowrap;width:1%}.les-lesson-cell{display:flex;flex-direction:column;gap:2px;max-width:320px}.les-lesson-title{color:var(--color-text);font-weight:600;line-height:1.3}.les-lesson-desc{color:var(--color-text-muted);font-size:12px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.les-reorder{display:inline-flex;gap:4px}.les-move-btn{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:7px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;font-size:13px;height:26px;justify-content:center;line-height:1;transition:background-color .14s ease,border-color .14s ease,color .14s ease;width:26px}.les-move-btn:hover:not(:disabled){background:var(--color-secondary-soft);border-color:var(--color-secondary);color:var(--color-secondary)}.les-move-btn:disabled{cursor:not-allowed;opacity:.4}.course-lessons .les-table td.actions{flex-wrap:nowrap;gap:6px}.cq-page{background:var(--color-surface);box-sizing:border-box;height:100%;min-height:100%;padding:22px 24px}.cq-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:20px}.cq-title{color:var(--color-text);font-size:18px;font-weight:700;margin:0 0 4px}.cq-subtitle{align-items:center;color:var(--color-text-muted);display:flex;font-size:13px;gap:8px;margin:0}.cq-pill{align-items:center;border-radius:20px;display:inline-flex;font-size:11px;font-weight:600;letter-spacing:.02em;padding:2px 8px}.cq-pill-warn{background:var(--color-primary-soft);border:1px solid #fde68a;color:var(--color-primary-accent)}.cq-pill-ok{background:var(--color-success-soft);border:1px solid #bbf7d0;color:var(--color-success)}.cq-pill-sm{font-size:10.5px;padding:1px 7px}.cq-btn-primary{background:var(--color-primary);border:none;border-radius:7px;color:var(--color-primary-contrast);cursor:pointer;font-family:inherit;font-size:13.5px;font-weight:600;padding:9px 18px;transition:background .15s,box-shadow .15s;white-space:nowrap}.cq-btn-primary:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-sm)}.cq-btn-primary:disabled{cursor:not-allowed;opacity:.55}.cq-error{background:var(--color-danger-soft);border:1px solid #fecaca;border-radius:7px;color:var(--color-danger);font-size:13.5px;margin-bottom:16px;padding:12px 16px}.cq-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.cq-search-wrap{align-items:center;display:flex;flex:1 1;min-width:200px;position:relative}.cq-search-wrap>svg{color:var(--color-text-muted);left:11px;pointer-events:none;position:absolute}.cq-search{background:var(--color-surface);border:1px solid var(--color-border);border-radius:7px;color:var(--color-text);font-family:inherit;font-size:13.5px;padding:9px 34px;transition:border-color .15s,box-shadow .15s;width:100%}.cq-search:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #f59e0b1f;outline:none}.cq-search-clear{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:17px;line-height:1;padding:0 2px;position:absolute;right:10px}.cq-search-clear:hover,.cq-select{color:var(--color-text)}.cq-select{background:var(--color-surface);border:1px solid var(--color-border);border-radius:7px;cursor:pointer;font-family:inherit;font-size:13.5px;padding:9px 12px;transition:border-color .15s}.cq-select:focus{border-color:var(--color-primary);outline:none}.cq-empty{background:#fafafa;background:var(--color-surface-subtle,#fafafa);border:1px dashed var(--color-border);border-radius:10px;color:var(--color-text-muted);font-size:14px;padding:52px 20px;text-align:center}.cq-groups{display:flex;flex-direction:column;gap:12px}.cq-module{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;overflow:hidden}.cq-module-hd{align-items:center;background:#f9f9f9;background:var(--color-surface-subtle,#f9f9f9);border:none;border-bottom:1px solid var(--color-border);cursor:pointer;display:flex;font-family:inherit;gap:10px;padding:13px 16px;text-align:left;transition:background .12s;width:100%}.cq-module-hd:hover{background:var(--color-surface-subtle)}.cq-module-name{color:var(--color-text);flex:1 1;font-size:14px;font-weight:700}.cq-module-stats{color:var(--color-text-muted);font-size:12px}.cq-table{border-collapse:collapse;width:100%}.cq-table th{background:#fafafa;background:var(--color-surface-subtle,#fafafa);border-bottom:1px solid var(--color-border);color:var(--color-text-muted);font-size:11px;font-weight:700;letter-spacing:.05em;padding:9px 14px;text-align:left;text-transform:uppercase}.cq-td-num,.cq-th-num{text-align:center;width:44px}.cq-td-center,.cq-th-center{text-align:center;width:110px}.cq-th-actions{width:230px}.cq-table td{border-bottom:1px solid var(--color-border);color:var(--color-text);font-size:13.5px;padding:11px 14px;vertical-align:middle}.cq-table tr:last-child td{border-bottom:none}.cq-table tbody tr:hover{background:var(--color-surface-subtle)}.cq-row-missing td{background:var(--color-primary-soft)}.cq-row-missing:hover td{background:var(--color-primary-soft-hover)}.cq-td-num{color:var(--color-text-muted);font-size:12px;font-weight:600;text-align:center}.cq-lesson-title{font-weight:500}.cq-badge-qs{align-items:center;background:#eff6ff;border-radius:20px;color:#2563eb;display:inline-flex;font-size:11.5px;font-weight:600;padding:3px 9px}.cq-badge-none{color:var(--color-text-muted);font-size:13px}.cq-pass-score{color:var(--color-text);font-size:13px;font-weight:600}.cq-row-actions{align-items:center;display:flex;gap:6px}.cq-btn-ghost{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);cursor:pointer;display:inline-flex;font-family:inherit;font-size:12.5px;font-weight:500;padding:5px 11px;text-decoration:none;transition:border-color .12s,color .12s,background .12s;white-space:nowrap}.cq-btn-ghost:hover{background:#fffbf0;background:var(--color-primary-soft,#fffbf0);border-color:var(--color-primary);color:var(--color-primary)}.cq-btn-results{border-color:#bfdbfe;color:#2563eb}.cq-btn-results:hover{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.cq-btn-del{border-color:#fecaca;color:#dc2626;color:var(--color-danger,#dc2626)}.cq-btn-del:hover{background:var(--color-danger-soft);border-color:#fca5a5;color:var(--color-danger)}.cq-btn-add-quiz{background:#fffbf0;background:var(--color-primary-soft,#fffbf0);border:1.5px dashed var(--color-primary);border-radius:6px;color:var(--color-primary);cursor:pointer;font-family:inherit;font-size:12.5px;font-weight:600;padding:5px 13px;transition:background .12s}.cq-btn-add-quiz:hover{background:var(--color-primary-soft)}.cq-field{margin-bottom:14px}.cq-field:last-child{margin-bottom:0}.cq-label{color:var(--color-text);display:block;font-size:12.5px;font-weight:600;margin-bottom:6px}.cq-required{color:#dc2626;color:var(--color-danger,#dc2626);margin-left:1px}.cq-hint{color:var(--color-text-muted);font-weight:400;margin-left:3px}.cq-input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:7px;box-sizing:border-box;color:var(--color-text);font-family:inherit;font-size:13.5px;padding:9px 12px;transition:border-color .15s,box-shadow .15s;width:100%}.cq-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #f59e0b1f;outline:none}.cq-textarea{resize:vertical}.cq-time-calc{background:var(--color-success-soft);border:1px solid #bbf7d0;border-radius:8px;color:var(--color-success);display:flex;font-size:12px;gap:6px;margin-top:8px;padding:8px 10px}.cq-badge-timer,.cq-time-calc{align-items:center;font-weight:600}.cq-badge-timer{background:var(--color-primary-soft);border-radius:20px;color:var(--color-primary-accent);display:inline-flex;font-size:11.5px;padding:3px 9px}.cq-form-error{background:var(--color-danger-soft);border:1px solid #fecaca;border-radius:6px;color:var(--color-danger);font-size:13px;margin:8px 0;padding:10px 14px}.cq-editor{animation:cq-editor-in .3s cubic-bezier(.16,1,.3,1);background:var(--color-surface-subtle);border-radius:12px;display:flex;flex-direction:column;height:calc(100vh - 60px);overflow:hidden}@keyframes cq-editor-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.cq-editor-header{align-items:center;background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;flex-shrink:0;gap:16px;justify-content:space-between;padding:14px 24px;z-index:10}.cq-editor-header-left{align-items:center;display:flex;gap:16px;min-width:0}.cq-editor-back{align-items:center;background:none;border:1.5px solid var(--color-border);border-radius:8px;color:var(--color-text);cursor:pointer;display:flex;flex-shrink:0;font-family:inherit;font-size:13px;font-weight:500;gap:4px;padding:7px 14px 7px 10px;transition:all .15s;white-space:nowrap}.cq-editor-back:hover{background:#fffbf0;background:var(--color-primary-soft,#fffbf0);border-color:var(--color-primary);color:var(--color-primary)}.cq-editor-title-group{display:flex;flex-direction:column;gap:2px;min-width:0}.cq-editor-title-row{align-items:center;display:flex;gap:10px}.cq-editor-title{color:var(--color-text);font-size:16px;font-weight:700;margin:0;white-space:nowrap}.cq-editor-lesson-num{background:#fffbf0;background:var(--color-primary-soft,#fffbf0);border-radius:5px;color:var(--color-primary);font-size:11px;font-weight:700;letter-spacing:.02em;padding:2px 8px;white-space:nowrap}.cq-editor-lesson-row{align-items:center;display:flex;gap:8px;min-width:0}.cq-editor-lesson-name{color:var(--color-text-muted);font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cq-editor-module-tag{background:#eef2ff;background:var(--color-secondary-soft,#eef2ff);border-radius:5px;color:#3730a3;color:var(--color-secondary-accent,#3730a3);flex-shrink:0;font-size:10.5px;font-weight:600;padding:2px 8px;white-space:nowrap}.cq-editor-header-right{align-items:center;display:flex;flex-shrink:0;gap:16px}.cq-editor-meta{align-items:center;display:flex;gap:10px}.cq-editor-qcount{background:var(--color-surface-muted);color:var(--color-text-muted)}.cq-editor-qcount,.cq-editor-timer-badge{border-radius:20px;font-size:12.5px;font-weight:600;padding:4px 12px}.cq-editor-timer-badge{background:var(--color-primary-soft);color:var(--color-primary-accent)}.cq-editor-save{align-items:center;display:inline-flex;gap:8px}.cq-save-spinner{animation:cq-spin .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:14px;width:14px}@keyframes cq-spin{to{transform:rotate(1turn)}}.cq-editor-body{display:flex;flex:1 1;min-height:0;overflow:hidden}.cq-editor-sidebar{background:var(--color-surface);border-right:1px solid var(--color-border);flex-shrink:0;gap:20px;overflow-y:auto;padding:20px;width:260px}.cq-editor-field,.cq-editor-sidebar{display:flex;flex-direction:column}.cq-score-input{align-items:center;display:flex;position:relative}.cq-score-input .cq-input{max-width:120px;padding-right:32px}.cq-score-pct{color:var(--color-text-muted);font-size:13px;font-weight:600;pointer-events:none;position:absolute;right:12px}.cq-quicknav{display:flex;flex-wrap:wrap;gap:6px}.cq-quicknav-item{align-items:center;background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:8px;color:var(--color-text-muted);cursor:pointer;display:flex;font-family:inherit;font-size:12px;font-weight:700;height:32px;justify-content:center;transition:all .15s;width:32px}.cq-quicknav-item:hover{border-color:var(--color-primary);color:var(--color-primary)}.cq-quicknav-item--filled{background:var(--color-primary-soft);border-color:#fde68a;color:var(--color-primary-accent)}.cq-quicknav-add{align-items:center;background:#fffbf0;background:var(--color-primary-soft,#fffbf0);border:1.5px dashed var(--color-primary);border-radius:8px;color:var(--color-primary);cursor:pointer;display:flex;font-family:inherit;font-size:16px;font-weight:600;height:32px;justify-content:center;transition:all .15s;width:32px}.cq-quicknav-add:hover{background:var(--color-primary-soft)}.cq-editor-cards{flex:1 1;gap:16px;overflow-y:auto;padding:24px}.cq-editor-cards,.cq-editor-empty{display:flex;flex-direction:column}.cq-editor-empty{align-items:center;background:var(--color-surface);border:2px dashed var(--color-border);border-radius:16px;cursor:pointer;flex-shrink:0;justify-content:center;padding:80px 40px;text-align:center;transition:all .2s}.cq-editor-empty:hover{background:var(--color-primary-soft);border-color:var(--color-primary)}.cq-editor-empty-icon{color:var(--color-text-muted);margin-bottom:16px;transition:color .2s}.cq-editor-empty:hover .cq-editor-empty-icon{color:var(--color-primary)}.cq-editor-empty h3{color:var(--color-text);font-size:16px;font-weight:700;margin:0 0 6px}.cq-editor-empty p{color:var(--color-text-muted);font-size:13.5px;margin:0}.cq-qcard{animation:cq-card-in .35s cubic-bezier(.16,1,.3,1) both;background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:14px;flex-shrink:0;overflow:visible;transition:border-color .2s,box-shadow .2s,opacity .2s,transform .2s}@keyframes cq-card-in{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.cq-qcard:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.cq-qcard:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #f59e0b1a}.cq-qcard--dragging{opacity:.5;transform:scale(.98)}.cq-qcard--dragover{border-color:var(--color-primary);border-style:dashed}.cq-qcard-header{align-items:center;background:#fafafa;background:var(--color-surface-subtle,#fafafa);border-bottom:1px solid var(--color-border);display:flex;gap:8px;padding:10px 14px}.cq-qcard-drag{border-radius:4px;color:var(--color-text-muted);cursor:grab;display:flex;flex-shrink:0;padding:2px;transition:color .12s,background .12s}.cq-qcard-drag:hover{background:var(--color-surface-subtle);color:var(--color-text)}.cq-qcard-drag:active{cursor:grabbing}.cq-qcard-num{color:var(--color-text-muted);flex:1 1;font-size:12px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.cq-qcard-actions{display:flex;gap:4px}.cq-qcard-action{align-items:center;background:none;border:1px solid #0000;border-radius:7px;color:var(--color-text-muted);cursor:pointer;display:flex;height:30px;justify-content:center;transition:all .12s;width:30px}.cq-qcard-action:hover{background:var(--color-surface-muted);border-color:var(--color-border);color:var(--color-text)}.cq-qcard-action--del:hover{background:var(--color-danger-soft);border-color:#fecaca;color:var(--color-danger)}.cq-qcard-body{display:flex;flex-direction:column;gap:16px;padding:16px 18px 18px}.cq-qcard-text{border:1.5px solid var(--color-border);border-radius:10px;box-sizing:border-box;color:var(--color-text);font-family:inherit;font-size:14px;font-weight:500;line-height:1.5;padding:10px 14px;resize:vertical;transition:border-color .15s,box-shadow .15s;width:100%}.cq-qcard-text:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #f59e0b1a;outline:none}.cq-qcard-text::placeholder{color:var(--color-text-subtle);font-weight:400}.cq-qcard-options{display:flex;flex-direction:column;gap:8px}.cq-qcard-options-header{align-items:center;display:flex;justify-content:space-between}.cq-qcard-options-header .cq-label{margin:0}.cq-qcard-add-opt{background:none;border:1px solid var(--color-border);border-radius:6px;color:var(--color-primary);cursor:pointer;font-family:inherit;font-size:11.5px;font-weight:600;padding:3px 10px;transition:all .12s}.cq-qcard-add-opt:hover{background:#fffbf0;background:var(--color-primary-soft,#fffbf0);border-color:var(--color-primary)}.cq-qcard-opt{align-items:center;background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:10px;display:flex;gap:10px;padding:8px 12px;transition:all .15s}.cq-qcard-opt--correct{background:var(--color-success-soft);border-color:#86efac}.cq-qcard-opt-radio{background:none;border:none;cursor:pointer;display:flex;flex-shrink:0;padding:0}.cq-qcard-opt-letter{align-items:center;background:var(--color-surface-subtle);border-radius:50%;color:var(--color-text-muted);display:flex;font-size:12px;font-weight:700;height:28px;justify-content:center;transition:all .15s;width:28px}.cq-qcard-opt--correct .cq-qcard-opt-letter{background:var(--color-success);color:#fff}.cq-qcard-opt-radio:hover .cq-qcard-opt-letter{background:var(--color-primary);color:#fff}.cq-qcard-opt-input{background:#0000;border:none;color:var(--color-text);flex:1 1;font-family:inherit;font-size:13.5px;line-height:1.4;padding:2px 0}.cq-qcard-opt-input:focus{outline:none}.cq-qcard-opt-input::placeholder{color:var(--color-text-subtle)}.cq-qcard-opt-del{align-items:center;background:none;border:none;border-radius:6px;color:var(--color-text-muted);cursor:pointer;display:flex;flex-shrink:0;height:26px;justify-content:center;transition:all .12s;width:26px}.cq-qcard-opt-del:hover{background:var(--color-danger-soft);color:var(--color-danger)}.cq-qcard-expl-input{background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:8px;box-sizing:border-box;color:var(--color-text);font-family:inherit;font-size:13px;line-height:1.5;padding:9px 12px;resize:vertical;transition:border-color .15s,box-shadow .15s,background .15s;width:100%}.cq-qcard-expl-input:focus{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px #f59e0b14;outline:none}.cq-qcard-expl-input::placeholder{color:var(--color-text-subtle)}.cq-editor-add-card{align-items:center;background:var(--color-surface);border:2px dashed var(--color-border);border-radius:14px;color:var(--color-text-muted);cursor:pointer;display:flex;flex-shrink:0;font-family:inherit;font-size:14px;font-weight:600;gap:10px;justify-content:center;padding:18px;transition:all .2s}.cq-editor-add-card:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}@media (max-width:768px){.cq-page{padding:16px}.cq-toolbar{flex-direction:column}.cq-search-wrap{min-width:0;min-width:auto}.cq-table td:nth-child(4),.cq-table th:nth-child(4){display:none}.cq-th-actions{width:auto}.cq-editor-sidebar{display:none}.cq-editor-header{flex-wrap:wrap;padding:12px 16px}.cq-editor-cards{padding:16px}.cq-editor-title-group{display:none}}.cq-lead{color:var(--color-text-muted);font-size:13px;margin:4px 0 0}.cq-stats{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin-bottom:22px}.cq-stat{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);display:flex;flex-direction:column;gap:4px;overflow:hidden;padding:16px 18px;position:relative;transition:transform .24s cubic-bezier(.2,.8,.2,1),box-shadow .24s ease,border-color .24s ease}.cq-stat:before{background:radial-gradient(120% 90% at 100% 0,#4f46e50d,#0000 55%);background:radial-gradient(120% 90% at 100% 0,var(--cq-wash,#4f46e50d),#0000 55%);content:"";inset:0;pointer-events:none;position:absolute}.cq-stat:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md);transform:translateY(-3px)}.cq-stat-icon{align-items:center;background:var(--color-secondary-soft);border-radius:10px;color:var(--color-secondary);display:inline-flex;height:36px;justify-content:center;margin-bottom:6px;width:36px}.cq-stat-value{font-feature-settings:"tnum";color:var(--color-text);font-size:24px;font-variant-numeric:tabular-nums;font-weight:750;letter-spacing:-.5px;line-height:1}.cq-stat-label{color:var(--color-text-muted);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.cq-stat.is-total{--cq-wash:#4f46e50f}.cq-stat.is-total .cq-stat-icon{background:var(--color-secondary-soft);color:var(--color-secondary)}.cq-stat.is-good{--cq-wash:#0676470f}.cq-stat.is-good .cq-stat-icon{background:var(--color-success-soft);color:var(--color-success)}.cq-stat.is-warn{--cq-wash:#f59e0b12}.cq-stat.is-warn .cq-stat-icon{background:var(--color-primary-soft);color:var(--color-primary-accent)}.cq-stat.is-info{--cq-wash:#4f46e50f}.cq-stat.is-info .cq-stat-icon{background:var(--color-secondary-soft);color:var(--color-secondary)}:root[data-theme=dark] .cq-badge-qs{background:#3b82f629;color:#93c5fd}.ds-pagination{align-items:center;border-top:1px solid var(--color-border);display:flex;gap:14px;justify-content:center;padding-top:20px}.ds-pagination-btn{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;font-family:inherit;font-size:13.5px;font-weight:600;padding:8px 16px;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}.ds-pagination-btn:hover:not(:disabled){background:var(--color-secondary-soft);border-color:var(--color-secondary);box-shadow:0 2px 6px -2px #4f46e540;color:var(--color-secondary);transform:translateY(-1px)}.ds-pagination-btn:active:not(:disabled){transform:translateY(0)}.ds-pagination-btn:disabled{cursor:not-allowed;opacity:.5}.ds-pagination-info{color:var(--color-text-muted);font-size:13.5px;font-weight:500}.course-enrollments{margin:0 auto;max-width:1000px;padding:20px}.enrollments-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:30px}.enrollments-header h1{font-size:28px;font-weight:600;margin:0 0 8px}.enrollments-header p{color:var(--color-text-muted);font-size:14px;margin:0}.add-student-form{background:var(--color-surface);border-radius:8px;box-shadow:var(--shadow-md);margin-bottom:24px;padding:24px}.add-student-form h3{font-size:16px;font-weight:600;margin:0 0 20px}.form-group input,.form-group select{border:1px solid var(--color-border);border-radius:6px;font-family:inherit;font-size:14px;padding:10px 12px;width:100%}.form-group input:focus,.form-group select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #f59e0b1a;outline:none}.enrollments-filters{display:flex;gap:12px;margin-bottom:24px}.search-input,.status-select{border:1px solid var(--color-border);border-radius:6px;font-size:14px;padding:10px 12px}.search-input:focus,.status-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #f59e0b1a;outline:none}.enrollments-table{background:var(--color-surface);border-collapse:collapse;border-radius:8px;box-shadow:var(--shadow-md);overflow:hidden;width:100%}.enrollments-table thead{background-color:var(--color-surface-subtle);border-bottom:1px solid var(--color-border)}.enrollments-table th{color:var(--color-text);font-size:14px;font-weight:600;padding:16px;text-align:left}.enrollments-table td{border-bottom:1px solid var(--color-border);font-size:14px;padding:16px}.enrollments-table tbody tr:hover{background-color:var(--color-surface-subtle)}.course-enrollments .status-badge{border-radius:4px;font-size:12px;font-weight:500;padding:4px 12px}.course-enrollments .status-badge.active{background-color:var(--color-success-soft);color:var(--color-success)}.course-enrollments .status-badge.completed{background-color:var(--color-info-soft);color:var(--color-info)}.course-enrollments .status-badge.cancelled{background-color:var(--color-danger-soft);color:var(--color-danger)}.pagination{margin-top:20px}.course-enrollments .enr-head{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:18px}.enr-head-text{align-items:baseline;display:flex;gap:10px}.course-enrollments .enr-title{color:var(--color-text);font-size:var(--text-xl);font-weight:700;letter-spacing:-.3px;margin:0}.enr-count{background:var(--color-surface-muted);border-radius:999px;color:var(--color-text-muted);font-size:12px;font-weight:600;padding:3px 10px}.course-enrollments .enr-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.enr-search{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);display:flex;flex:1 1 280px;gap:8px;max-width:420px;padding:9px 13px;transition:border-color .16s ease,box-shadow .16s ease}.enr-search:focus-within{border-color:var(--color-secondary);box-shadow:0 0 0 3px #4f46e529}.enr-search svg{color:var(--color-text-subtle);flex-shrink:0}.enr-search input{background:#0000;border:0;color:var(--color-text);flex:1 1;font-family:inherit;font-size:13.5px;min-width:0;outline:0}.enr-search input::placeholder{color:var(--color-text-subtle)}.enr-table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);overflow:hidden}.course-enrollments .enr-table{border-collapse:collapse;margin:0;width:100%}.course-enrollments .enr-table thead th{background:var(--color-surface-subtle);border-bottom:1px solid var(--color-border);color:var(--color-text-muted);font-size:11px;font-weight:700;letter-spacing:.5px;padding:12px 18px;text-align:left;text-transform:uppercase;white-space:nowrap}.course-enrollments .enr-table tbody td{border-bottom:1px solid var(--color-border);color:var(--color-text);font-size:13.5px;padding:12px 18px;vertical-align:middle}.course-enrollments .enr-table tbody tr:last-child td{border-bottom:0}.course-enrollments .enr-table tbody tr{transition:background-color .12s ease}.course-enrollments .enr-table tbody tr:hover{background:var(--color-surface-subtle)}.enr-student{align-items:center;display:flex;gap:11px}.enr-avatar{align-items:center;border-radius:50%;display:inline-flex;flex-shrink:0;font-size:12.5px;font-weight:700;height:38px;justify-content:center;letter-spacing:.2px;width:38px}.enr-student-info{display:flex;flex-direction:column;min-width:0}.enr-name{color:var(--color-text);font-size:13.5px;font-weight:600;line-height:1.3}.enr-email{font-size:12px;line-height:1.3;max-width:260px;overflow:hidden;text-overflow:ellipsis}.enr-date,.enr-email{color:var(--color-text-muted);white-space:nowrap}.enr-date{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.enr-th-progress{width:200px}.enr-progress{align-items:center;display:flex;gap:10px}.enr-bar{background:var(--color-surface-muted);border-radius:999px;flex:1 1;height:7px;min-width:90px;overflow:hidden}.enr-bar-fill{border-radius:999px;height:100%;transition:width .4s cubic-bezier(.2,.8,.2,1)}.enr-bar-fill.is-low{background:linear-gradient(90deg,#f59e0b,#f0a92a)}.enr-bar-fill.is-mid{background:linear-gradient(90deg,var(--color-secondary),#6366f1)}.enr-bar-fill.is-high{background:linear-gradient(90deg,#059669,#10b981)}.enr-pct{font-feature-settings:"tnum";color:var(--color-text);font-size:12.5px;font-variant-numeric:tabular-nums;font-weight:700;min-width:34px;text-align:right}.course-enrollments .enr-badges{align-items:center;display:flex;flex-wrap:wrap;gap:5px}.course-enrollments .enr-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:11px;font-weight:700;max-width:140px;overflow:hidden;padding:2px 8px;text-overflow:ellipsis;white-space:nowrap}.course-enrollments .enr-badge-b2b{background:var(--color-secondary-soft);color:var(--color-secondary)}.course-enrollments .enr-badge-paid{background:var(--color-success-soft);color:var(--color-success)}.course-enrollments .enr-badge-org{background:var(--color-surface-muted);color:var(--color-text-muted);font-weight:600}.course-enrollments .enr-badge-expiry{background:var(--color-warning-soft);color:var(--color-warning)}.course-enrollments .enr-badge-expired{background:var(--color-danger-soft);color:var(--color-danger)}.course-enrollments .enr-cohort{color:var(--color-text-muted);white-space:nowrap}.course-exams{animation:exams-fade-in .36s cubic-bezier(.2,.8,.2,1) both;margin:0 auto;max-width:1200px;padding:28px 32px 80px}@keyframes exams-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.exams-header{align-items:flex-end;display:flex;gap:16px;justify-content:space-between;margin-bottom:16px}.exams-title{color:var(--color-text);font-size:22px;font-weight:700;letter-spacing:-.3px;margin:0}.exams-sub{color:var(--color-text-muted);font-size:13px;line-height:1.5;margin:4px 0 0;max-width:640px}.exams-stats{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin-bottom:22px}.exams-stat{animation:exams-fade-in .32s cubic-bezier(.2,.8,.2,1) both;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);display:flex;flex-direction:column;gap:4px;overflow:hidden;padding:16px 18px;position:relative;transition:transform .24s cubic-bezier(.2,.8,.2,1),box-shadow .24s ease,border-color .24s ease}.exams-stat:before{background:radial-gradient(120% 90% at 100% 0,#4f46e50d,#0000 55%);background:radial-gradient(120% 90% at 100% 0,var(--es-wash,#4f46e50d),#0000 55%);content:"";inset:0;pointer-events:none;position:absolute}.exams-stat:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md);transform:translateY(-3px)}.exams-stat-icon{align-items:center;background:var(--color-secondary-soft);border-radius:10px;color:var(--color-secondary);display:inline-flex;height:36px;justify-content:center;margin-bottom:6px;width:36px}.exams-stat-icon svg{height:18px;width:18px}.exams-stat-value{font-feature-settings:"tnum";color:var(--color-text);font-size:24px;font-variant-numeric:tabular-nums;font-weight:750;letter-spacing:-.5px;line-height:1}.exams-stat-label{color:var(--color-text-muted);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.exams-stat.is-total{--es-wash:#4f46e50f}.exams-stat.is-total .exams-stat-icon{background:var(--color-secondary-soft);color:var(--color-secondary)}.exams-stat.is-good{--es-wash:#0676470f}.exams-stat.is-good .exams-stat-icon{background:var(--color-success-soft);color:var(--color-success)}.exams-stat.is-warn{--es-wash:#f59e0b12}.exams-stat.is-warn .exams-stat-icon{background:var(--color-primary-soft);color:var(--color-primary-accent)}.exams-stat.is-info{--es-wash:#4f46e50f}.exams-stat.is-info .exams-stat-icon{background:var(--color-secondary-soft);color:var(--color-secondary)}.exams-section{animation:exams-fade-in .38s cubic-bezier(.2,.8,.2,1) both;margin-bottom:22px}.exams-section-head{align-items:flex-end;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.exams-section-head h3{align-items:center;color:var(--color-text);display:inline-flex;font-size:15px;font-weight:700;gap:8px;letter-spacing:-.1px;margin:0}.exams-section-head h3 svg{color:var(--color-primary)}.exams-section-head p{color:var(--color-text-muted);font-size:12.5px;line-height:1.5;margin:4px 0 0}.exams-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.exam-card{animation:exams-fade-in .36s cubic-bezier(.2,.8,.2,1) both;background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;display:flex;flex-direction:column;gap:14px;padding:18px 20px 14px;transition:transform .24s cubic-bezier(.2,.8,.2,1),box-shadow .24s ease,border-color .24s ease}.exam-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.exam-card.is-final{background:linear-gradient(180deg,#fff7ec 0,var(--color-surface) 60%);border-color:#fde6c1;box-shadow:0 1px 2px #f59e0b14}.exam-card.is-final:hover{box-shadow:0 12px 28px -10px #f59e0b52}.exam-card-head{align-items:flex-start;display:flex;gap:12px}.exam-card-icon{align-items:center;background:var(--color-primary-soft);border-radius:10px;color:var(--color-primary);display:inline-flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.exam-card.is-final .exam-card-icon{background:var(--color-primary-soft);color:var(--color-primary-accent)}.exam-card-title-block{flex:1 1;min-width:0}.exam-card-meta-row{align-items:center;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.exam-card-title{color:var(--color-text);font-size:15px;font-weight:700;letter-spacing:-.1px;line-height:1.3;margin:2px 0 4px;word-break:break-word}.exam-card-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--color-text-muted);display:-webkit-box;font-size:12.5px;line-height:1.5;margin:0;overflow:hidden}.exam-status{align-items:center;border-radius:999px;display:inline-flex;font-size:11px;font-weight:600;gap:5px;letter-spacing:.2px;padding:3px 10px 3px 8px}.exam-status-dot{animation:exams-pulse 2.2s ease-in-out infinite;background:currentColor;border-radius:50%;height:6px;width:6px}@keyframes exams-pulse{0%,to{opacity:.85}50%{opacity:1}}.exam-status.is-published{background:var(--color-success-soft);border:1px solid #abefc6;color:var(--color-success)}.exam-status.is-draft{background:var(--color-primary-soft);border:1px solid #fde6c1;color:var(--color-primary-accent)}.exam-status.is-archived{background:var(--color-surface-muted);border:1px solid var(--color-border);color:var(--color-text-muted)}.exam-final-pill{align-items:center;background:linear-gradient(135deg,#fde6c1,#fff0d4);border:1px solid #fbcc83;border-radius:999px;color:var(--color-primary-accent);display:inline-flex;font-size:11px;font-weight:700;gap:4px;padding:3px 10px 3px 8px}.exam-final-pill svg{color:var(--color-primary)}.exam-module-pill{align-items:center;border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-muted);display:inline-flex;font-size:11px;font-weight:600;max-width:220px;overflow:hidden;padding:3px 10px;text-overflow:ellipsis;white-space:nowrap}.exam-card-stats,.exam-module-pill{background:var(--color-surface-subtle)}.exam-card-stats{border-radius:10px;display:flex;gap:18px;padding:12px 14px}.exam-card-stat{align-items:center;color:var(--color-text-muted);display:flex;font-size:12.5px;gap:6px}.exam-card-stat-icon{color:var(--color-text-subtle);display:inline-flex}.exam-card-stat-value{font-feature-settings:"tnum";color:var(--color-text);font-size:14px;font-variant-numeric:tabular-nums;font-weight:700}.exam-card-stat-label{font-size:11.5px}.exam-card-actions{display:flex;gap:8px;margin-top:auto}.exam-btn{align-items:center;border:1px solid #0000;border-radius:9px;cursor:pointer;display:inline-flex;font-family:inherit;font-size:12.5px;font-weight:600;gap:5px;justify-content:center;padding:8px 14px;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease;white-space:nowrap}.exam-btn:active:not(:disabled){transform:translateY(1px)}.exam-btn:disabled{cursor:not-allowed;opacity:.55}.exam-btn.is-publish{background:var(--color-primary);border-color:var(--color-primary);box-shadow:var(--shadow-primary);color:var(--color-primary-contrast)}.exam-btn.is-publish:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-primary);transform:translateY(-1px)}.exam-btn.is-archive{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-text-muted)}.exam-btn.is-archive:hover{background:var(--color-surface-subtle);border-color:var(--color-border-strong);color:var(--color-text)}.exam-btn.is-edit{background:var(--color-secondary-soft);border-color:#d3d7ff;color:var(--color-secondary-accent)}.exam-btn.is-edit:hover{background:var(--color-secondary-soft-hover);border-color:var(--color-secondary);transform:translateY(-1px)}.exam-btn.is-delete{background:var(--color-surface);border-color:#fecdca;color:var(--color-danger)}.exam-btn.is-delete:hover{background:var(--color-danger-soft);border-color:#fda29b;transform:translateY(-1px)}.exam-btn.is-cancel{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-text);padding:9px 18px}.exam-btn.is-cancel:hover{background:var(--color-surface-subtle)}.exam-btn.is-primary{background:var(--color-primary);border-color:var(--color-primary);box-shadow:var(--shadow-primary);color:var(--color-primary-contrast);padding:9px 18px}.exam-btn.is-primary:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-primary);transform:translateY(-1px)}.exam-card-empty{align-items:center;background:#0000;border:1.5px dashed var(--color-border-strong);border-radius:14px;color:var(--color-text-muted);cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:8px;justify-content:center;min-height:220px;padding:28px 18px;text-align:center;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.exam-card-empty:hover{border-color:var(--color-primary);transform:translateY(-2px)}.exam-card-empty-icon,.exam-card-empty:hover{background:var(--color-primary-soft);color:var(--color-primary)}.exam-card-empty-icon{align-items:center;border-radius:10px;display:inline-flex;height:36px;justify-content:center;width:36px}.exam-card-empty:hover .exam-card-empty-icon{background:var(--color-primary);color:var(--color-primary-contrast)}.exam-card-empty-title{color:var(--color-text);font-size:13.5px;font-weight:600;margin-top:4px}.exam-card-empty-sub{color:var(--color-text-muted);font-size:12px}.exam-form-overlay{align-items:center;animation:exam-form-fade-in .2s ease both;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#0f172a6b;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:60}@keyframes exam-form-fade-in{0%{opacity:0}to{opacity:1}}.exam-form{animation:exam-form-pop-in .28s cubic-bezier(.2,.8,.2,1) both;background:var(--color-surface);border-radius:16px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:calc(100vh - 48px);max-width:720px;overflow:hidden;width:100%}@keyframes exam-form-pop-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.exam-form-head{align-items:flex-start;border-bottom:1px solid var(--color-border);display:flex;gap:16px;justify-content:space-between;padding:20px 24px}.exam-form-head h3{color:var(--color-text);font-size:17px;font-weight:700;letter-spacing:-.2px;margin:0 0 4px}.exam-form-head p{color:var(--color-text-muted);font-size:12.5px;margin:0}.exam-form-close{align-items:center;background:#0000;border:0;border-radius:8px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;justify-content:center;padding:6px;transition:background-color .16s ease,color .16s ease}.exam-form-close:hover{background:var(--color-surface-subtle);color:var(--color-text)}.exam-form-body{gap:18px;overflow-y:auto;padding:20px 24px}.exam-form-body,.exam-form-row{display:flex;flex-direction:column}.exam-form-row{gap:6px}.exam-form select{width:100%}.exam-form-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.exam-form-label{color:var(--color-text);font-size:12.5px;font-weight:600;letter-spacing:.1px}.exam-form-label em{color:var(--color-danger);font-style:normal;margin-left:2px}.exam-scope-pills{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.exam-scope-pill{align-items:flex-start;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:2px;padding:12px 14px;text-align:left;transition:border-color .18s ease,background-color .18s ease,transform .18s ease,box-shadow .18s ease}.exam-scope-pill:hover{border-color:var(--color-border-strong);transform:translateY(-1px)}.exam-scope-pill.is-active{background:var(--color-primary-soft);border-color:var(--color-primary);box-shadow:0 0 0 3px #f59e0b29}.exam-scope-icon{align-items:center;background:var(--color-primary-soft);border-radius:8px;color:var(--color-primary);display:inline-flex;height:30px;justify-content:center;margin-bottom:4px;width:30px}.exam-scope-label{color:var(--color-text);font-size:13px;font-weight:700}.exam-scope-pill.is-active .exam-scope-label{color:var(--color-primary-accent)}.exam-scope-sub{color:var(--color-text-muted);font-size:11.5px}.exam-toggles{border-radius:12px;gap:10px;padding:12px 14px}.exam-builder-block,.exam-toggles{background:var(--color-surface-subtle);display:flex;flex-direction:column}.exam-builder-block{border:1px solid var(--color-border);border-radius:12px;gap:12px;padding:14px}.exam-builder-head{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.exam-builder-head p{color:var(--color-text-muted);font-size:11.5px;margin:3px 0 0}.exam-builder-empty{background:var(--color-surface);border:1px dashed var(--color-border-strong);border-radius:10px;color:var(--color-text-muted);font-size:12.5px;padding:16px}.exam-builder-list,.exam-question-editor,.exam-section-editor{display:flex;flex-direction:column;gap:10px}.exam-question-editor,.exam-section-editor{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:12px}.exam-section-editor{align-items:center;display:grid;grid-template-columns:1fr .8fr 1.4fr auto}.exam-question-editor-head{align-items:center;display:flex;gap:12px;justify-content:space-between}.exam-question-editor-head strong{color:var(--color-text);font-size:12.5px}.exam-review-modal{max-width:860px}.exam-review-list{display:flex;flex-direction:column;gap:14px;max-height:62vh;overflow:auto}.exam-review-attempt{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;display:flex;flex-direction:column;gap:12px;padding:14px}.exam-review-attempt-head{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.exam-review-attempt-head span,.exam-review-attempt-head strong{display:block}.exam-review-attempt-head span{color:var(--color-text-muted);font-size:11.5px;margin-top:3px}.exam-review-question{border-top:1px dashed var(--color-border);display:flex;flex-direction:column;gap:8px;padding-top:10px}.exam-review-question blockquote,.exam-review-question p{margin:0}.exam-review-question blockquote{background:var(--color-surface-subtle);border-radius:10px;color:var(--color-text-muted);font-size:12.5px;padding:10px 12px;white-space:pre-wrap}.exam-review-question small{color:var(--color-text-muted);font-size:11.5px}.exam-review-question label{grid-gap:10px;align-items:center;color:var(--color-text);display:grid;font-size:12.5px;font-weight:600;gap:10px;grid-template-columns:120px 120px}.exam-toggle-row{align-items:center;border-bottom:1px dashed var(--color-border);display:flex;gap:12px;justify-content:space-between;padding:8px 4px}.exam-toggle-row:last-child{border-bottom:none}.exam-toggle-row strong{color:var(--color-text);display:block;font-size:13px;font-weight:600}.exam-toggle-row span{color:var(--color-text-muted);display:block;font-size:11.5px;margin-top:2px}.exam-form-foot{background:var(--color-surface-subtle);border-top:1px solid var(--color-border);display:flex;gap:10px;justify-content:flex-end;padding:14px 24px}@media (max-width:720px){.exam-form-grid,.exam-scope-pills,.exam-section-editor{grid-template-columns:1fr}.exam-builder-head{flex-direction:column}.exam-card-stats{flex-wrap:wrap;gap:12px}.exam-card-actions{flex-wrap:wrap}.exam-card-actions .exam-btn{flex-basis:calc(50% - 4px);flex-grow:1;flex-shrink:1}}@media (prefers-reduced-motion:reduce){.course-exams,.exam-card,.exam-form,.exam-form-overlay,.exam-status-dot,.exams-section,.exams-stat{animation:none!important;transition:none!important}.exam-card:hover{transform:none}}.course-revenue{margin:0 auto;max-width:1200px;padding:24px 24px 40px;padding:var(--space-6,24px) var(--space-6,24px) var(--space-10,40px)}.rev-head{margin-bottom:24px;margin-bottom:var(--space-6,24px)}.rev-title{color:#191b2e;color:var(--color-text,#191b2e);font-size:22px;font-weight:700;letter-spacing:-.3px;margin:0}.rev-sub{color:#5c6280;color:var(--color-text-muted,#5c6280);font-size:13.5px;margin:4px 0 0}.rev-error{background:#fef3f2;background:var(--color-danger-soft,#fef3f2);border:1px solid #b423182e;border-radius:10px;border-radius:var(--radius-md,10px);color:#b42318;color:var(--color-danger,#b42318);font-size:13.5px;margin-bottom:20px;margin-bottom:var(--space-5,20px);padding:12px 16px}.rev-kpis{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:24px;margin-bottom:var(--space-6,24px)}.rev-kpi{align-items:flex-start;background:#fff;background:var(--color-surface,#fff);border:1px solid #e8eaf3;border:1px solid var(--color-border,#e8eaf3);border-radius:14px;border-radius:var(--radius-lg,14px);box-shadow:var(--shadow-sm);display:flex;gap:14px;overflow:hidden;padding:18px;position:relative}.rev-kpi:before{background:var(--color-secondary);background:var(--kpi-accent,var(--color-secondary));bottom:0;content:"";left:0;position:absolute;top:0;width:3px}.rev-kpi-icon{background:var(--color-secondary-soft);background:var(--kpi-soft,var(--color-secondary-soft));border-radius:10px;border-radius:var(--radius-md,10px);color:var(--color-secondary);color:var(--kpi-accent,var(--color-secondary));display:grid;flex-shrink:0;height:40px;place-items:center;width:40px}.rev-kpi-body{display:flex;flex-direction:column;gap:3px;min-width:0}.rev-kpi-label{color:#9297b4;color:var(--color-text-subtle,#9297b4);font-size:11px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.rev-kpi-value{color:#191b2e;color:var(--color-text,#191b2e);font-size:22px;font-weight:700;letter-spacing:-.4px;line-height:1.15}.rev-kpi-meta{color:#5c6280;color:var(--color-text-muted,#5c6280);font-size:12px}.rev-kpi-meta--warning{color:#b54708;color:var(--color-warning,#b54708);font-weight:600}.rev-kpi-meta--success{color:#067647;color:var(--color-success,#067647);font-weight:600}.rev-kpi-meta--danger{color:#b42318;color:var(--color-danger,#b42318);font-weight:600}.rev-kpi--primary{--kpi-accent:var(--color-primary,#f59e0b);--kpi-soft:var(--color-primary-soft,#fff8ec)}.rev-kpi--secondary{--kpi-accent:var(--color-secondary,#4f46e5);--kpi-soft:var(--color-secondary-soft,#eef0ff)}.rev-kpi--warning{--kpi-accent:var(--color-warning,#b54708);--kpi-soft:var(--color-warning-soft,#fffaeb)}.rev-kpi--success{--kpi-accent:var(--color-success,#067647);--kpi-soft:var(--color-success-soft,#ecfdf3)}.rev-kpi--danger{--kpi-accent:var(--color-danger,#b42318);--kpi-soft:var(--color-danger-soft,#fef3f2)}.rev-panel{background:#fff;background:var(--color-surface,#fff);border:1px solid #e8eaf3;border:1px solid var(--color-border,#e8eaf3);border-radius:14px;border-radius:var(--radius-lg,14px);box-shadow:var(--shadow-sm);padding:20px}.rev-panel-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.rev-panel-head h3{color:#191b2e;color:var(--color-text,#191b2e);font-size:15px;font-weight:700;letter-spacing:-.1px;margin:0}.rev-panel-tag{background:#eef0ff;background:var(--color-secondary-soft,#eef0ff);border-radius:999px;color:#4f46e5;color:var(--color-secondary,#4f46e5);font-size:11px;font-weight:600;letter-spacing:.4px;padding:3px 9px;text-transform:uppercase}.rev-charts{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1.6fr 1fr;margin-bottom:24px;margin-bottom:var(--space-6,24px)}.rev-chart-empty{background:#f8f9fd;background:var(--color-surface-subtle,#f8f9fd);border:1px dashed #e8eaf3;border:1px dashed var(--color-border,#e8eaf3);border-radius:10px;border-radius:var(--radius-md,10px);color:#9297b4;color:var(--color-text-subtle,#9297b4);display:grid;font-size:13.5px;height:240px;place-items:center}.rev-pie-wrap{gap:10px}.rev-legend,.rev-pie-wrap{display:flex;flex-direction:column}.rev-legend{gap:8px;list-style:none;margin:0;padding:0}.rev-legend-item{align-items:center;display:flex;font-size:13px;gap:8px}.rev-legend-dot{border-radius:3px;flex-shrink:0;height:10px;width:10px}.rev-legend-name{color:#5c6280;color:var(--color-text-muted,#5c6280);text-transform:capitalize}.rev-legend-val{color:#191b2e;color:var(--color-text,#191b2e);font-weight:700;margin-left:auto}.rev-tooltip{background:#fff;background:var(--color-surface,#fff);border:1px solid #e8eaf3;border:1px solid var(--color-border,#e8eaf3);border-radius:10px;border-radius:var(--radius-md,10px);box-shadow:var(--shadow-md);font-size:12.5px;padding:10px 12px}.rev-tooltip-label{color:#191b2e;color:var(--color-text,#191b2e);font-weight:700;margin-bottom:6px}.rev-tooltip-row{align-items:center;color:#5c6280;color:var(--color-text-muted,#5c6280);display:flex;gap:6px}.rev-tooltip-dot{border-radius:3px;flex-shrink:0;height:9px;width:9px}.rev-tooltip-name{text-transform:capitalize}.rev-tooltip-val{color:#191b2e;color:var(--color-text,#191b2e);margin-left:6px}.rev-history{--control-h:40px}.rev-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.rev-date{background:#fff;background:var(--color-surface,#fff);border:1px solid #e8eaf3;border:1px solid var(--color-border,#e8eaf3);border-radius:10px;border-radius:var(--radius-md,10px);box-sizing:border-box;color:#191b2e;color:var(--color-text,#191b2e);font-family:inherit;font-size:14px;font-size:var(--text-base,14px);height:var(--control-h);padding:0 12px}.rev-date:focus{border-color:#4f46e5;border-color:var(--color-secondary,#4f46e5);box-shadow:0 0 0 3px #4f46e529;outline:none}.rev-history .crm-dropdown__trigger{box-sizing:border-box;height:var(--control-h);padding-bottom:0;padding-top:0}.rev-clear{background:#fff;background:var(--color-surface,#fff);border:1px solid #e8eaf3;border:1px solid var(--color-border,#e8eaf3);border-radius:10px;border-radius:var(--radius-md,10px);color:#5c6280;color:var(--color-text-muted,#5c6280);cursor:pointer;font-size:13.5px;font-weight:600;height:var(--control-h);padding:0 16px;transition:all .15s ease}.rev-clear:hover{border-color:#b42318;border-color:var(--color-danger,#b42318);color:#b42318;color:var(--color-danger,#b42318)}.rev-table-wrap{margin-bottom:16px;overflow-x:auto}.rev-table{border-collapse:collapse;width:100%}.rev-table thead th{background:#f8f9fd;background:var(--color-surface-subtle,#f8f9fd);color:#9297b4;color:var(--color-text-subtle,#9297b4);font-size:11px;font-weight:700;letter-spacing:.4px;padding:10px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.rev-table tbody td,.rev-table thead th{border-bottom:1px solid #e8eaf3;border-bottom:1px solid var(--color-border,#e8eaf3)}.rev-table tbody td{color:#191b2e;color:var(--color-text,#191b2e);font-size:13.5px;padding:13px 14px;vertical-align:middle}.rev-table tbody tr:last-child td{border-bottom:0}.rev-table tbody tr:hover{background:#f8f9fd;background:var(--color-surface-subtle,#f8f9fd)}.rev-num{text-align:right}.rev-amount{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700}.rev-student{display:block;font-weight:600}.rev-student-sub{color:#9297b4;color:var(--color-text-subtle,#9297b4);display:block;font-size:11.5px;margin-top:1px}.rev-method{text-transform:capitalize}.rev-method,.rev-muted{color:#5c6280;color:var(--color-text-muted,#5c6280)}@media (max-width:900px){.rev-charts{grid-template-columns:1fr}}@media (max-width:640px){.course-revenue{padding:16px 14px 32px}.rev-filters>*{flex:1 1 140px}}.course-analytics{margin:0 auto;max-width:1000px;padding:20px}.analytics-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.analytics-header h1{font-size:28px;font-weight:600;margin:0}.header-actions{display:flex;gap:12px}.cache-info{background:var(--color-surface-subtle);border-radius:4px;color:var(--color-text-subtle);font-size:12px;margin-bottom:20px;padding:8px 12px}.analytics-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:30px}.analytics-card{background:var(--color-surface);border-radius:8px;box-shadow:var(--shadow-md);padding:20px;text-align:center}.card-label{font-weight:500;margin-bottom:8px}.card-value{color:var(--color-primary)}.analytics-nav{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.nav-link{background:var(--color-surface);border-radius:8px;box-shadow:var(--shadow-md);color:var(--color-primary);display:block;font-weight:500;padding:20px;text-decoration:none;transition:all .2s}.nav-link:hover{box-shadow:var(--shadow-primary);transform:translateY(-2px)}.lesson-metrics{background:var(--color-surface);border-radius:8px;box-shadow:var(--shadow-md);margin-bottom:30px;padding:24px}.lesson-metrics h2{color:var(--color-text);font-size:18px;font-weight:600;margin:0 0 20px}.metrics-table{border-collapse:collapse;width:100%}.metrics-table thead{background-color:var(--color-surface-subtle);border-bottom:1px solid var(--color-border)}.metrics-table th{color:var(--color-text);font-size:14px;font-weight:600;padding:16px;text-align:left}.metrics-table td{border-bottom:1px solid var(--color-border);font-size:14px;padding:16px}.metrics-table tbody tr:hover{background-color:var(--color-surface-subtle)}.progress-bar{align-items:center;display:flex;gap:8px}.progress-bar>div{background-color:var(--color-border);border-radius:3px;height:6px;overflow:hidden;width:100px}.progress-bar span{color:var(--color-text-muted);font-size:12px;font-weight:500;min-width:40px}.export-section{background:var(--color-surface);border-radius:8px;box-shadow:var(--shadow-md);padding:24px}.export-section h2{color:var(--color-text);font-size:18px;font-weight:600;margin:0 0 20px}.export-options{margin-bottom:20px}.checkbox-group{align-items:center;cursor:pointer;display:flex;font-size:14px;gap:8px;margin-bottom:12px}.checkbox-group input[type=checkbox]{cursor:pointer}.btn-secondary{background-color:var(--color-surface-muted)}.btn-secondary:hover{background-color:var(--color-border)}@media print{.analytics-header .header-actions,.export-section{display:none}.analytics-cards,.analytics-nav,.lesson-metrics{page-break-inside:avoid}}.analytics-date-range{align-items:flex-end;background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:8px;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px;padding:12px 16px}.analytics-date-range label{color:var(--color-text-muted);display:flex;flex-direction:column;font-size:12px;gap:4px}.analytics-date-range input[type=date]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;font-size:13px;padding:6px 10px}.an-page{display:flex;flex-direction:column;gap:16px}.an-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between}.an-toolbar-left{align-items:baseline;display:flex;gap:12px}.an-title{color:var(--color-text);font-size:var(--text-xl);font-weight:700;letter-spacing:-.3px;margin:0}.an-updated{align-items:center;color:var(--color-text-muted);display:inline-flex;font-size:11.5px;font-weight:600;gap:6px}.an-updated-dot{background:var(--color-success);border-radius:50%;height:6px;width:6px}.an-toolbar-right{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.an-daterange{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);display:inline-flex;gap:8px;padding:5px 10px}.an-daterange input[type=date]{background:#0000;border:0;color:var(--color-text);font-size:12.5px;min-height:0;padding:4px 2px}.an-daterange input[type=date]:focus{border:0;box-shadow:none}.an-dash{color:var(--color-text-subtle)}.an-clear{background:#0000;border:0;color:var(--color-secondary);cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;padding:2px 4px}.an-clear:hover{color:var(--color-secondary-hover)}.an-icon-btn{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;display:inline-flex;flex-shrink:0;height:38px;justify-content:center;transition:background-color .15s ease,color .15s ease,border-color .15s ease;width:38px}.an-icon-btn:hover{background:var(--color-secondary-soft);border-color:var(--color-secondary);color:var(--color-secondary)}.an-kpis{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(5,1fr)}@media (max-width:1100px){.an-kpis{grid-template-columns:repeat(3,1fr)}}@media (max-width:640px){.an-kpis{grid-template-columns:repeat(2,1fr)}}.an-kpi{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);display:flex;flex-direction:column;gap:4px;overflow:hidden;padding:16px 18px;position:relative;transition:transform .24s cubic-bezier(.2,.8,.2,1),box-shadow .24s ease,border-color .24s ease}.an-kpi:before{background:radial-gradient(120% 90% at 100% 0,#4f46e50d,#0000 55%);background:radial-gradient(120% 90% at 100% 0,var(--an-wash,#4f46e50d),#0000 55%);content:"";inset:0;pointer-events:none;position:absolute}.an-kpi:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md);transform:translateY(-3px)}.an-kpi-icon{align-items:center;border-radius:10px;display:inline-flex;height:36px;justify-content:center;margin-bottom:6px;width:36px}.an-kpi-value{font-feature-settings:"tnum";color:var(--color-text);font-size:24px;font-variant-numeric:tabular-nums;font-weight:750;letter-spacing:-.5px;line-height:1}.an-kpi-label{color:var(--color-text-muted);font-size:11px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.an-kpi--indigo{--an-wash:#4f46e50f}.an-kpi--indigo .an-kpi-icon{background:var(--color-secondary-soft);color:var(--color-secondary)}.an-kpi--green{--an-wash:#0676470f}.an-kpi--green .an-kpi-icon{background:var(--color-success-soft);color:var(--color-success)}.an-kpi--amber{--an-wash:#f59e0b12}.an-kpi--amber .an-kpi-icon{background:var(--color-primary-soft);color:var(--color-primary-accent)}.an-navcards{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}@media (max-width:640px){.an-navcards{grid-template-columns:1fr}}.an-navcard{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);color:var(--color-text);display:flex;gap:12px;justify-content:space-between;padding:16px 18px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.an-navcard:hover{border-color:var(--color-secondary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.an-navcard-text{display:flex;flex-direction:column;gap:2px}.an-navcard-text strong{color:var(--color-text);font-size:13.5px;font-weight:700}.an-navcard-text span{color:var(--color-text-muted);font-size:12px}.an-navcard>svg{color:var(--color-text-subtle);flex-shrink:0;transition:transform .18s ease,color .18s ease}.an-navcard:hover>svg{color:var(--color-secondary);transform:translateX(3px)}.course-analytics .an-card{margin-bottom:0}.an-card-head{border-bottom:1px solid var(--color-border);margin-bottom:14px;padding-bottom:12px}.an-card-title{color:var(--color-text);font-size:14px;font-weight:700;letter-spacing:-.1px}.an-card-sub{color:var(--color-text-muted);font-size:12.5px;margin:4px 0 0}.an-table-wrap{overflow-x:auto}.course-analytics .an-table{border-collapse:collapse;width:100%}.course-analytics .an-table th{border-bottom:1px solid var(--color-border);color:var(--color-text-muted);font-size:11px;font-weight:700;letter-spacing:.5px;padding:10px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.course-analytics .an-table td{border-bottom:1px solid var(--color-border);color:var(--color-text);font-size:13px;padding:12px 14px;vertical-align:middle}.course-analytics .an-table tbody tr:last-child td{border-bottom:0}.course-analytics .an-table tbody tr:hover{background:var(--color-surface-subtle)}.an-lesson{font-weight:600}.an-num{font-feature-settings:"tnum";color:var(--color-text-muted);font-variant-numeric:tabular-nums;text-align:right}.an-col-progress{width:220px}.an-progress{align-items:center;display:flex;gap:10px}.an-bar{background:var(--color-surface-muted);border-radius:999px;flex:1 1;height:7px;min-width:100px;overflow:hidden}.an-bar-fill{border-radius:999px;height:100%;transition:width .4s cubic-bezier(.2,.8,.2,1)}.an-bar-fill.is-low{background:linear-gradient(90deg,#f59e0b,#f0a92a)}.an-bar-fill.is-mid{background:linear-gradient(90deg,var(--color-secondary),#6366f1)}.an-bar-fill.is-high{background:linear-gradient(90deg,#059669,#10b981)}.an-pct{font-feature-settings:"tnum";color:var(--color-text);font-size:12.5px;font-variant-numeric:tabular-nums;font-weight:700;min-width:34px;text-align:right}.an-export{align-items:center;justify-content:space-between}.an-export,.an-export-opts{display:flex;flex-wrap:wrap;gap:18px}.an-export-opts{margin-top:12px}.an-check{align-items:center;color:var(--color-text);cursor:pointer;display:inline-flex;font-size:13px;gap:8px}.an-export-btn{flex-shrink:0}.react-flow{direction:ltr}.react-flow__container{height:100%;left:0;position:absolute;top:0;width:100%}.react-flow__pane{cursor:grab;z-index:1}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:grabbing}.react-flow__viewport{pointer-events:none;transform-origin:0 0;z-index:2}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{overflow:visible;pointer-events:none}.react-flow__connection-path,.react-flow__edge-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{cursor:pointer;pointer-events:visibleStroke}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{box-sizing:border-box;cursor:grab;pointer-events:all;position:absolute;transform-origin:0 0;-webkit-user-select:none;user-select:none}.react-flow__node.dragging{cursor:grabbing}.react-flow__nodesselection{pointer-events:none;transform-origin:left top;z-index:3}.react-flow__nodesselection-rect{cursor:grab;pointer-events:all;position:absolute}.react-flow__handle{background:#1a192b;border:1px solid #fff;border-radius:100%;height:6px;min-height:5px;min-width:5px;pointer-events:none;position:absolute;width:6px}.react-flow__handle.connectionindicator{cursor:crosshair;pointer-events:all}.react-flow__handle-bottom{bottom:-4px;left:50%;top:auto;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{left:-4px;top:50%;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{margin:15px;position:absolute;z-index:5}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translateX(-50%)}.react-flow__attribution{background:#ffffff80;font-size:10px;margin:0;padding:2px 3px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{height:100%;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;width:100%}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-group,.react-flow__node-input,.react-flow__node-output{background-color:#fff;border:1px solid #1a192b;border-radius:3px;color:#222;font-size:12px;padding:10px;text-align:center;width:150px}.react-flow__node-default.selectable:hover,.react-flow__node-group.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted #0059dccc}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{align-items:center;background:#fefefe;border:none;border-bottom:1px solid #eee;box-sizing:initial;cursor:pointer;display:flex;height:16px;justify-content:center;padding:5px;-webkit-user-select:none;user-select:none;width:16px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{max-height:12px;max-width:12px;width:100%}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.bottom,.react-flow__resize-control.top{cursor:ns-resize}.react-flow__resize-control.bottom.right,.react-flow__resize-control.top.left{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:#3367d9;border:1px solid #fff;border-radius:1px;height:4px;transform:translate(-50%,-50%);width:4px}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.bottom.left,.react-flow__resize-control.handle.top.left{left:0}.react-flow__resize-control.handle.bottom.right,.react-flow__resize-control.handle.top.right{left:100%}.react-flow__resize-control.line{border:0 solid #3367d9}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{height:100%;top:0;transform:translate(-50%);width:1px}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.bottom,.react-flow__resize-control.line.top{height:1px;left:0;transform:translateY(-50%);width:100%}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.sp-tab{padding:24px 28px 48px}.sp-banner{align-items:center;border:1px solid #0000;border-radius:10px;display:flex;font-size:13px;font-weight:500;gap:10px;margin-bottom:20px;padding:12px 16px}.sp-banner-ai{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.sp-banner-warn{background:var(--color-primary-soft);border-color:#fde68a;color:var(--color-primary-accent)}.sp-banner-error{background:var(--color-danger-soft);border-color:#fecdca;color:var(--color-danger)}.sp-banner-spinner{animation:sp-spin .7s linear infinite;border:2px solid #93c5fd;border-radius:50%;border-top-color:#1d4ed8;display:inline-block;flex-shrink:0;height:14px;width:14px}@keyframes sp-spin{to{transform:rotate(1turn)}}.sp-empty,.sp-loading{color:var(--color-text-muted);font-size:14px;padding:32px 0;text-align:center}.sp-error{background:var(--color-danger-soft);border:1px solid #fecdca;border-radius:10px;color:var(--color-danger);font-size:13px;margin-bottom:12px;padding:12px 16px}.sp-btn-retry{border-radius:8px;color:var(--color-text);cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;padding:8px 16px}.sp-btn-retry,.sp-section{background:var(--color-surface);border:1px solid var(--color-border)}.sp-section{border-radius:14px;margin-bottom:20px;padding:22px 24px}.sp-section-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:20px}.sp-section-title{color:var(--color-text);font-size:15px;font-weight:700;letter-spacing:-.1px;margin:0}.sp-section-sub{color:var(--color-text-muted);font-size:12.5px;line-height:1.5;margin:4px 0 0}.sp-btn-accept-all{background:var(--color-primary);border:1px solid var(--color-primary);border-radius:8px;color:var(--color-primary-contrast);cursor:pointer;flex-shrink:0;font-family:inherit;font-size:13px;font-weight:600;padding:8px 16px;transition:background-color .18s ease,opacity .18s ease,transform .18s ease}.sp-btn-accept-all:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover);transform:translateY(-1px)}.sp-btn-accept-all:disabled{cursor:not-allowed;opacity:.45}.sp-btn-secondary{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);cursor:pointer;flex-shrink:0;font-family:inherit;font-size:13px;font-weight:600;padding:8px 16px;transition:background-color .18s ease,border-color .18s ease,transform .18s ease}.sp-btn-secondary:hover{background:var(--color-surface-subtle);border-color:var(--color-border-strong);transform:translateY(-1px)}.sp-module-list{display:flex;flex-direction:column;gap:14px}.sp-module-row{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:14px 16px;transition:box-shadow .18s ease}.sp-module-row:hover{box-shadow:var(--shadow-sm)}.sp-module-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:10px}.sp-module-title-block{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.sp-module-order{align-items:center;background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-muted);display:inline-flex;flex-shrink:0;font-size:11px;font-weight:700;height:22px;justify-content:center;width:22px}.sp-module-title{color:var(--color-text);font-size:14px;font-weight:600}.sp-module-actions{display:flex;flex-shrink:0;gap:8px}.sp-ai-pill{align-items:center;background:var(--color-surface-muted);border:1px solid var(--color-border-strong);border-radius:999px;color:var(--color-text-muted);display:inline-flex;font-size:11px;font-weight:600;letter-spacing:.2px;padding:2px 8px}.sp-ai-pill-sm{font-size:10px;padding:1px 6px}.sp-reviewed-pill{align-items:center;background:var(--color-success-soft);border:1px solid #a7f3d0;border-radius:999px;color:var(--color-success);display:inline-flex;font-size:11px;font-weight:600;padding:2px 8px}.sp-reviewed-pill-sm{font-size:10px;padding:1px 6px}.sp-btn-review{background:var(--color-surface);border:1px solid var(--color-border);border-radius:7px;color:var(--color-text);cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;padding:6px 12px;transition:background-color .16s ease,border-color .16s ease}.sp-btn-review:hover:not(:disabled){background:var(--color-surface-subtle);border-color:var(--color-border-strong)}.sp-btn-review:disabled{cursor:not-allowed;opacity:.5}.sp-btn-review-sm{font-size:11px;padding:4px 10px}.sp-chip-row{align-items:center;display:flex;flex-wrap:wrap;gap:6px;padding-top:4px}.sp-skill-chip{align-items:center;background:#f0f9ff;border:1px solid #bae6fd;border-radius:999px;color:#0369a1;display:inline-flex;font-size:12.5px;font-weight:500;gap:4px;padding:4px 8px 4px 10px}.sp-chip-label{line-height:1}.sp-chip-remove{align-items:center;background:#0000;border:none;border-radius:50%;color:#0369a1;cursor:pointer;display:inline-flex;flex-shrink:0;height:16px;justify-content:center;opacity:.7;padding:0;transition:opacity .16s ease,background-color .16s ease;width:16px}.sp-chip-remove:hover:not(:disabled){background:#0369a11a;opacity:1}.sp-chip-remove:disabled{cursor:not-allowed;opacity:.3}.sp-chip-empty{color:var(--color-text-subtle);font-size:12.5px;font-style:italic}.sp-chip-add-btn{background:#0000;border:1px dashed var(--color-border-strong);border-radius:999px;color:var(--color-text-muted);cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;padding:4px 10px;transition:border-color .16s ease,color .16s ease,background-color .16s ease}.sp-chip-add-btn:hover{background:#f59e0b0d;border-color:var(--color-primary);color:var(--color-primary)}.sp-inline-error{color:#912018;font-size:12px;margin:4px 0 0}.sp-inline-error-sm{font-size:11px}.sp-add-skill-dropdown{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:10px;box-shadow:var(--shadow-md);margin-top:10px;max-width:360px;overflow:hidden}.sp-add-skill-input{background:var(--color-surface);border:none;border-bottom:1px solid var(--color-border);box-sizing:border-box;color:var(--color-text);font-family:inherit;font-size:13.5px;outline:none;padding:10px 12px;width:100%}.sp-add-skill-input:focus{background:var(--color-primary-soft)}.sp-add-skill-error{background:var(--color-danger-soft);color:var(--color-danger);font-size:12px;padding:6px 12px}.sp-add-skill-list{list-style:none;margin:0;max-height:200px;overflow-y:auto;padding:4px 0}.sp-add-skill-option{align-items:center;background:#0000;border:none;color:var(--color-text);cursor:pointer;display:flex;font-family:inherit;font-size:13.5px;gap:8px;justify-content:space-between;padding:8px 12px;text-align:left;transition:background-color .14s ease;width:100%}.sp-add-skill-option:hover:not(:disabled){background:var(--color-surface-subtle)}.sp-add-skill-option:disabled{cursor:not-allowed;opacity:.5}.sp-add-skill-slug{color:var(--color-text-subtle);font-family:monospace;font-size:11px}.sp-add-skill-create{color:var(--color-primary);font-style:italic}.sp-add-skill-empty{color:var(--color-text-subtle);font-size:13px;padding:10px 12px}.sp-add-skill-close{background:var(--color-surface-subtle);border:none;border-top:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;font-family:inherit;font-size:12.5px;font-weight:500;padding:8px 12px;transition:background-color .14s ease;width:100%}.sp-add-skill-close:hover{background:var(--color-surface)}.sp-prereq-table-wrap{border:1px solid var(--color-border);border-radius:10px;overflow-x:auto}.sp-prereq-table{border-collapse:collapse;font-size:13.5px;width:100%}.sp-prereq-table th{background:var(--color-surface-subtle);color:var(--color-text-muted);font-size:11.5px;font-weight:700;letter-spacing:.5px;padding:10px 14px;text-align:left;text-transform:uppercase}.sp-prereq-table td,.sp-prereq-table th{border-bottom:1px solid var(--color-border)}.sp-prereq-table td{color:var(--color-text);padding:12px 14px;vertical-align:middle}.sp-prereq-row:last-child td{border-bottom:none}.sp-prereq-module-cell{align-items:center;display:flex;gap:8px;min-width:140px;white-space:nowrap}.sp-prereq-none{color:var(--color-text-subtle);font-size:13px;font-style:italic}.sp-prereq-tags{display:flex;flex-wrap:wrap;gap:6px}.sp-prereq-tag{background:#f5f3ff;border:1px solid #ddd6fe;border-radius:6px;font-size:12.5px;font-weight:500;gap:4px;padding:3px 8px 3px 10px}.sp-prereq-tag,.sp-prereq-tag-remove{align-items:center;color:#6d28d9;display:inline-flex}.sp-prereq-tag-remove{background:#0000;border:none;border-radius:50%;cursor:pointer;height:14px;justify-content:center;opacity:.7;padding:0;transition:opacity .14s ease,background-color .14s ease;width:14px}.sp-prereq-tag-remove:hover{background:#6d28d91a;opacity:1}.sp-prereq-add-row{align-items:center;display:flex;gap:6px}.sp-prereq-select{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:7px;color:var(--color-text);flex:1 1;font-family:inherit;font-size:12.5px;max-width:200px;outline:none;padding:6px 10px;transition:border-color .16s ease}.sp-prereq-select:focus{border-color:var(--color-primary)}.sp-prereq-add-btn{background:var(--color-primary);border:1px solid var(--color-primary);border-radius:7px;color:var(--color-primary-contrast);cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;padding:6px 12px;transition:background-color .16s ease,opacity .16s ease}.sp-prereq-add-btn:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.sp-prereq-add-btn:disabled{cursor:not-allowed;opacity:.45}.sp-prereq-review-cell{white-space:nowrap}.sp-dag-container{background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:10px;height:320px;margin-bottom:20px;overflow:hidden}.sp-dag-empty{align-items:center;color:var(--color-text-muted);display:flex;font-size:13.5px;height:100%;justify-content:center}@media (max-width:720px){.sp-tab{padding:16px 14px 48px}.sp-section{padding:16px 14px}.sp-section-header{align-items:stretch;flex-direction:column}.sp-prereq-table td,.sp-prereq-table th{font-size:12.5px;padding:10px}}@media (prefers-reduced-motion:reduce){.sp-banner-spinner{animation:none}}.sp-reanalyze-row{display:flex;justify-content:flex-end;margin-bottom:16px}.sp-btn-reanalyze{align-items:center;background:var(--color-primary);border:1px solid var(--color-primary);border-radius:9px;color:var(--color-primary-contrast);cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;font-weight:600;gap:7px;max-width:100%;padding:9px 18px;transition:background-color .18s ease,opacity .18s ease,transform .18s ease;white-space:nowrap}.sp-btn-reanalyze:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover);transform:translateY(-1px)}.sp-btn-reanalyze--disabled,.sp-btn-reanalyze:disabled{cursor:not-allowed;opacity:.5;transform:none}.sp-btn-reanalyze-spinner{animation:sp-spin .7s linear infinite;border:2px solid #fff6;border-radius:50%;border-top-color:#fff;display:inline-block;flex-shrink:0;height:13px;width:13px}.sp-modal-backdrop{align-items:center;background:#0f172a73;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1000}.sp-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;box-shadow:var(--shadow-lg);max-width:460px;padding:28px 32px 24px;width:100%}.sp-modal-title{color:var(--color-text);font-size:16px;font-weight:700;letter-spacing:-.1px;margin:0 0 16px}.sp-modal-body{color:var(--color-text);font-size:13.5px;line-height:1.6;margin:0 0 12px}.sp-modal-body-note{color:var(--color-text-muted);font-size:12.5px}.sp-modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}@media (max-width:500px){.sp-modal{padding:20px 18px 18px}.sp-modal-actions{flex-direction:column-reverse}.sp-modal-actions .sp-btn-accept-all,.sp-modal-actions .sp-btn-secondary{justify-content:center;width:100%}}@media (prefers-reduced-motion:reduce){.sp-btn-reanalyze-spinner{animation:none}}:root[data-theme=dark] .sp-banner-ai,:root[data-theme=dark] .sp-skill-chip{background:#3b82f629;border-color:#3b82f64d;color:#93c5fd}:root[data-theme=dark] .sp-prereq-tag{background:#8b5cf629;border-color:#8b5cf64d;color:#c4b5fd}.cc-page{background:var(--color-surface);box-sizing:border-box;min-height:100%;padding:22px 24px}.cc-loading{align-items:center;color:var(--color-text-muted);display:flex;font-size:14px;gap:12px;justify-content:center;padding:60px 0}.cc-loading-spinner{animation:cc-spin .7s linear infinite;border:2.5px solid var(--color-border);border-radius:50%;border-top-color:var(--color-primary);height:22px;width:22px}@keyframes cc-spin{to{transform:rotate(1turn)}}.cc-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:24px}.cc-title{color:var(--color-text);font-size:18px;font-weight:700;margin:0 0 4px}.cc-subtitle{color:var(--color-text-muted);font-size:13px;margin:0}.cc-save-btn{align-items:center;background:var(--color-primary);border:none;border-radius:7px;color:var(--color-primary-contrast);cursor:pointer;display:inline-flex;font-family:inherit;font-size:13.5px;font-weight:600;gap:6px;padding:9px 20px;transition:background .15s,box-shadow .15s,opacity .15s;white-space:nowrap}.cc-save-btn:hover:not(:disabled){box-shadow:var(--shadow-sm)}.cc-save-btn:disabled{cursor:default;opacity:.45}.cc-save-spinner{animation:cc-spin .7s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:14px;width:14px}.cc-content{display:flex;flex-direction:column;gap:20px}.cc-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:10px;overflow:hidden;transition:box-shadow .2s}.cc-card:hover{box-shadow:var(--shadow-sm)}.cc-card-header{gap:14px;padding:18px 20px 0}.cc-card-header,.cc-card-icon{align-items:center;display:flex}.cc-card-icon{border-radius:9px;flex-shrink:0;height:38px;justify-content:center;width:38px}.cc-card-icon--cat{background:#eff6ff;color:#3b82f6}.cc-card-icon--tag{background:#faf5ff;color:#8b5cf6}.cc-card-title{color:var(--color-text);font-size:15px;font-weight:650;margin:0 0 2px}.cc-card-desc{color:var(--color-text-muted);font-size:12.5px;margin:0}.cc-card-body{padding:16px 20px 20px}.cc-selected-cat{margin-top:10px}.cc-cat-badge{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:20px;color:#2563eb;display:inline-flex;font-size:12.5px;font-weight:600;padding:4px 12px}.cc-tags-input-wrap{align-items:center;background:var(--color-bg);border:1.5px solid var(--color-border);border-radius:8px;cursor:text;display:flex;flex-wrap:wrap;gap:6px;min-height:40px;padding:8px 10px;transition:border-color .2s,box-shadow .2s}.cc-tags-input-wrap:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #6366f114}.cc-tag{align-items:center;animation:cc-tag-in .2s ease-out;background:#faf5ff;border:1px solid #e9d5ff;border-radius:6px;color:#7c3aed;display:inline-flex;font-size:12.5px;font-weight:550;gap:4px;padding:3px 8px 3px 10px}@keyframes cc-tag-in{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.cc-tag-remove{align-items:center;background:#0000;border:none;border-radius:4px;color:#a78bfa;cursor:pointer;display:inline-flex;height:18px;justify-content:center;padding:0;transition:background .15s,color .15s;width:18px}.cc-tag-remove:hover{background:#ede9fe;color:#6d28d9}.cc-tag-input{background:#0000;border:none;color:var(--color-text);flex:1 1;font-family:inherit;font-size:13.5px;min-width:120px;outline:none;padding:4px 0}.cc-tag-input::placeholder,.cc-tags-hint{color:var(--color-text-muted);opacity:.7}.cc-tags-hint{font-size:11.5px;margin:8px 0 0}.cc-preview{background:var(--color-bg);border:1px solid var(--color-border);border-radius:10px;padding:18px 20px}.cc-preview-title{color:var(--color-text-muted);font-size:13px;font-weight:650;letter-spacing:.04em;margin:0 0 12px;text-transform:uppercase}.cc-preview-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:14px 16px}.cc-preview-name{color:var(--color-text);font-size:15px;font-weight:650;margin-bottom:10px}.cc-preview-meta{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.cc-preview-cat{background:#eff6ff;border:1px solid #bfdbfe;border-radius:20px;color:#2563eb;font-weight:600}.cc-preview-cat,.cc-preview-tag{align-items:center;display:inline-flex;font-size:12px;padding:3px 10px}.cc-preview-tag{background:#faf5ff;border:1px solid #e9d5ff;border-radius:20px;color:#7c3aed;font-weight:550}.cc-preview-empty{color:var(--color-text-muted);font-size:12.5px;font-style:italic}:root[data-theme=dark] .cc-card-icon--cat{background:#3b82f629;color:#93c5fd}:root[data-theme=dark] .cc-card-icon--tag{background:#8b5cf629;color:#c4b5fd}:root[data-theme=dark] .cc-cat-badge{background:#3b82f629;border-color:#3b82f64d;color:#93c5fd}:root[data-theme=dark] .cc-tag{background:#8b5cf629;border-color:#8b5cf64d;color:#c4b5fd}:root[data-theme=dark] .cc-preview-cat{background:#3b82f629;border-color:#3b82f64d;color:#93c5fd}:root[data-theme=dark] .cc-preview-tag{background:#8b5cf629;border-color:#8b5cf64d;color:#c4b5fd}.cg-page{background:var(--color-surface);box-sizing:border-box;min-height:100%;padding:22px 24px}.cg-loading{align-items:center;color:var(--color-text-muted);display:flex;font-size:14px;gap:12px;justify-content:center;padding:60px 0}.cg-loading-spinner{animation:cg-spin .7s linear infinite;border:2.5px solid var(--color-border);border-radius:50%;border-top-color:var(--color-primary);height:22px;width:22px}@keyframes cg-spin{to{transform:rotate(1turn)}}.cg-header{align-items:center;display:flex;gap:14px;margin-bottom:20px}.cg-header-icon{background:var(--color-secondary-soft);border-radius:12px;color:var(--color-secondary);display:grid;flex-shrink:0;height:44px;place-items:center;width:44px}.cg-header-text{flex:1 1;min-width:0}.cg-title{color:var(--color-text);font-size:18px;font-weight:700;letter-spacing:-.2px;margin:0 0 2px}.cg-subtitle{color:var(--color-text-muted);font-size:13px;margin:0}.cg-header-stats{display:flex;flex-shrink:0;flex-wrap:wrap;gap:8px}.cg-chip{align-items:center;background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-muted);display:inline-flex;font-size:12.5px;gap:4px;padding:6px 12px;white-space:nowrap}.cg-chip strong{color:var(--color-text);font-weight:700}.cg-lessons-list{display:flex;flex-direction:column;gap:8px}.cg-lesson-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:10px;overflow:hidden;transition:box-shadow .2s,border-color .2s}.cg-lesson-card:hover{box-shadow:var(--shadow-sm)}.cg-lesson-expanded{border-color:var(--color-primary);box-shadow:var(--shadow-secondary)}.cg-lesson-header{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;font-family:inherit;justify-content:space-between;padding:14px 18px;text-align:left;transition:background .15s;width:100%}.cg-lesson-header:hover{background:#4f46e508}.cg-lesson-info{align-items:center;display:flex;gap:12px;min-width:0}.cg-lesson-num{align-items:center;background:var(--color-surface-muted);border-radius:7px;color:var(--color-text-muted);display:inline-flex;flex-shrink:0;font-size:12px;font-weight:700;height:28px;justify-content:center;width:28px}.cg-lesson-expanded .cg-lesson-num{background:var(--color-primary);color:#fff}.cg-lesson-meta{display:flex;flex-direction:column;min-width:0}.cg-lesson-name{color:var(--color-text);font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cg-lesson-module{color:var(--color-text-muted);font-size:11.5px;margin-top:1px}.cg-lesson-right{align-items:center;display:flex;flex-shrink:0;gap:10px}.cg-games-count{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:20px;color:#3b82f6;display:inline-flex;font-size:11.5px;font-weight:600;padding:2px 9px}.cg-chevron{color:var(--color-text-muted);display:flex;transition:transform .2s}.cg-chevron-up{transform:rotate(180deg)}.cg-lesson-body{animation:cg-slide-in .2s ease-out;border-top:1px solid var(--color-border);padding:0 18px 18px}@keyframes cg-slide-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.cg-lesson-toolbar{align-items:center;display:flex;justify-content:space-between;padding:14px 0 10px}.cg-toolbar-label{color:var(--color-text-muted);font-size:12.5px;font-weight:500}.cg-games-list{display:flex;flex-direction:column;gap:8px}.cg-game-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;overflow:hidden;transition:border-color .2s}.cg-game-expanded{border-color:#a78bfa}.cg-game-header{align-items:center;display:flex;justify-content:space-between;padding:10px 14px}.cg-game-toggle{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;font-family:inherit;gap:8px;padding:0}.cg-game-name{color:var(--color-text);font-size:13.5px;font-weight:600}.cg-game-desc{color:var(--color-text-muted);font-size:12.5px;margin:0;padding:0 14px 8px}.cg-game-editor{animation:cg-slide-in .2s ease-out;border-top:1px solid var(--color-border);padding:14px}.cg-type-badge{align-items:center;border-radius:6px;display:inline-flex;font-size:11px;font-weight:650;gap:4px;letter-spacing:.02em;padding:3px 9px}.cg-type-badge svg{flex-shrink:0}.cg-type-story{background:#fff8ec;background:var(--color-primary-soft,#fff8ec);border:1px solid #fde68a;color:#92400e;color:var(--color-primary-accent,#92400e)}.cg-type-puzzle{background:#eef0ff;background:var(--color-secondary-soft,#eef0ff);border:1px solid #ddd6fe;color:#3730a3;color:var(--color-secondary-accent,#3730a3)}.cg-editor-inner{display:flex;flex-direction:column;gap:10px}.cg-editor-toolbar{align-items:center;display:flex;justify-content:space-between}.cg-editor-count{color:var(--color-text-muted);font-size:12.5px;font-weight:600}.cg-node-list{display:flex;flex-direction:column;gap:8px}.cg-node-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;padding:12px 14px}.cg-node-terminal{border-left:3px solid var(--color-danger)}.cg-node-header{align-items:center;display:flex;gap:8px;margin-bottom:6px}.cg-node-type{color:#3b82f6;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.cg-node-type-term{color:var(--color-danger)}.cg-start-badge{background:var(--color-success-soft);border:1px solid #bbf7d0;border-radius:4px;color:var(--color-success);display:inline-flex;font-size:10px;font-weight:700;padding:1px 6px}.cg-node-score{color:var(--color-text-muted);font-size:11px;margin-left:auto}.cg-node-text{color:var(--color-text);font-size:13px;line-height:1.45;margin:0 0 6px}.cg-choice-list{border-left:2px solid var(--color-border);display:flex;flex-direction:column;gap:4px;margin:6px 0;padding-left:12px}.cg-choice-item{align-items:center;display:flex;font-size:12px;gap:6px}.cg-choice-arrow{color:var(--color-primary);font-weight:700}.cg-choice-label{color:var(--color-text);font-weight:600}.cg-choice-target{color:var(--color-text-muted);font-size:11.5px}.cg-choice-form{align-items:center;display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.cg-puzzle-list{display:flex;flex-direction:column;gap:8px}.cg-puzzle-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;padding:12px 14px}.cg-puzzle-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.cg-puzzle-num{color:var(--color-primary);font-size:12px;font-weight:700}.cg-puzzle-prompt{color:var(--color-text);font-size:13px;line-height:1.45;margin:0 0 4px}.cg-puzzle-answer{color:var(--color-success);font-size:12.5px;margin:0 0 2px}.cg-puzzle-hints{color:var(--color-text-muted);font-size:11.5px;font-style:italic;margin:0}.cg-create-form,.cg-node-form,.cg-puzzle-form{animation:cg-slide-in .2s ease-out;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;display:flex;flex-direction:column;gap:10px;margin-bottom:10px;padding:14px}.cg-create-row,.cg-node-form-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.cg-node-form-actions{display:flex;gap:8px;justify-content:flex-end}.cg-form-field{display:flex;flex-direction:column;gap:4px}.cg-label{color:var(--color-text-muted);font-size:12px;font-weight:600}.cg-input{background:var(--color-bg);border:1.5px solid var(--color-border);border-radius:7px;color:var(--color-text);font-family:inherit;font-size:13px;padding:7px 10px;transition:border-color .15s}.cg-input:focus{border-color:var(--color-primary);outline:none}.cg-input-grow{flex:1 1;min-width:140px}.cg-input-score{width:70px}.cg-textarea{background:var(--color-bg);border:1.5px solid var(--color-border);border-radius:7px;color:var(--color-text);font-family:inherit;font-size:13px;padding:7px 10px;resize:vertical;transition:border-color .15s}.cg-textarea:focus{border-color:var(--color-primary);outline:none}.cg-check-label{align-items:center;color:var(--color-text-muted);display:flex;font-size:12px;gap:4px}.cg-btn-sm,.cg-check-label{cursor:pointer;font-weight:600;white-space:nowrap}.cg-btn-sm{border:none;border-radius:6px;font-family:inherit;font-size:12.5px;padding:5px 12px;transition:background .15s,opacity .15s}.cg-btn-sm:disabled{cursor:default;opacity:.45}.cg-btn-add{background:var(--color-primary);color:var(--color-primary-contrast)}.cg-btn-add:hover:not(:disabled){filter:brightness(1.08)}.cg-btn-cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-muted)}.cg-btn-cancel:hover:not(:disabled){background:var(--color-surface-subtle)}.cg-btn-danger{border:1px solid #fecaca;color:var(--color-danger)}.cg-btn-danger,.cg-btn-danger:hover:not(:disabled){background:var(--color-danger-soft)}.cg-btn-ghost{background:#0000;color:var(--color-primary);padding:4px 8px}.cg-btn-ghost:hover{background:#4f46e50f}.cg-empty-hint{color:var(--color-text-muted);font-size:13px;font-style:italic;margin:0;padding:20px 0;text-align:center}:root[data-theme=dark] .cg-games-count{background:#3b82f629;border-color:#3b82f64d;color:#93c5fd}.course-overview{background:var(--color-bg);min-height:100vh;padding:24px 28px}.btn-link{align-items:center;background:none;border:0;border-radius:6px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;gap:4px;margin-bottom:14px;padding:4px 8px 4px 0;transition:color .16s ease,transform .16s ease}.btn-link:hover{color:var(--color-primary);transform:translateX(-2px)}.overview-hero{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;gap:20px;margin-bottom:18px;padding:18px}.overview-cover{align-items:center;align-self:flex-start;aspect-ratio:16/9;background:linear-gradient(135deg,#eef0ff,#dfe3ff 55%,#f6ecff);border-radius:var(--radius-md);display:flex;flex-shrink:0;justify-content:center;overflow:hidden;position:relative;width:236px}.overview-cover-img{display:block;height:100%;object-fit:cover;width:100%}.overview-cover-fallback{color:#4f46e538;font-size:56px;font-weight:800;letter-spacing:-2px}.overview-hero-body{display:flex;flex:1 1;flex-direction:column;min-width:0}.overview-hero-head{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:8px}.overview-title{color:var(--color-text);font-size:var(--text-2xl);font-weight:750;letter-spacing:-.4px;line-height:1.15;margin:0 0 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overview-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.meta-pill{background:var(--color-surface-muted);border-radius:999px;color:var(--color-text-muted);font-size:11.5px;font-weight:600;padding:3px 11px;text-transform:capitalize}.meta-pill-price{background:var(--color-primary-soft);color:var(--color-primary-accent)}.overview-statrow{display:flex;gap:26px;margin-top:auto;padding-top:4px}.ov-stat{display:flex;flex-direction:column;gap:2px}.ov-stat-num{font-feature-settings:"tnum";color:var(--color-text);font-size:20px;font-variant-numeric:tabular-nums;font-weight:750;letter-spacing:-.4px;line-height:1}.ov-stat-status{font-size:16px}.ov-stat-lbl{color:var(--color-text-muted);font-size:11px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}@media (max-width:720px){.overview-hero{flex-direction:column}.overview-cover{width:100%}}.overview-subline{align-items:center;color:var(--color-text-muted);display:flex;flex-wrap:wrap;font-size:13px;gap:10px}.chip-sep{opacity:.4}.status-chip{align-items:center;border:1px solid #0000;border-radius:999px;display:inline-flex;font-size:11.5px;font-weight:600;gap:6px;letter-spacing:.2px;padding:4px 12px 4px 10px}.status-chip:before{animation:ov-pulse 2.2s ease-in-out infinite;background:currentColor;border-radius:50%;content:"";height:7px;width:7px}@keyframes ov-pulse{0%,to{opacity:.85}50%{opacity:1}}.status-chip.live{background:var(--color-success-soft);border-color:#abefc6;color:var(--color-success)}.status-chip.draft{background:var(--color-warning-soft);border-color:#fedf89;color:var(--color-warning)}.owner-chip{align-items:center;background:var(--color-success-soft);border:1px solid #abefc6;border-radius:999px;color:var(--color-success);display:inline-flex;font-weight:600;gap:4px;padding:2px 10px}.overview-actions{display:flex;gap:10px;position:relative;z-index:1}.btn-cancel,.btn-danger,.btn-primary,.btn-secondary{border:1px solid #0000;border-radius:var(--radius-md);cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;padding:8px 16px;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}.btn-primary{border-color:var(--color-primary);box-shadow:var(--shadow-primary);color:var(--color-primary-contrast)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-primary:disabled{opacity:.55}.btn-secondary{background:var(--color-surface);border-color:var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-surface-subtle);border-color:var(--color-border-strong)}.btn-danger{background:var(--color-surface);border-color:#fecdca;color:var(--color-danger)}.btn-danger:hover{background:var(--color-danger-soft);border-color:#fda29b;color:var(--color-danger)}.btn-cancel{border-color:var(--color-border)}.overview-stats{display:flex;gap:12px;margin-bottom:16px}.stat-card{align-items:baseline;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;gap:8px;padding:10px 16px}.stat-label{color:var(--color-text-muted);font-weight:500}.stat-value{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.overview-tabs{align-items:stretch;background:var(--color-surface);border:1px solid var(--color-border);border-bottom:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0;display:flex;overflow-x:auto;padding:0;scrollbar-width:none}.overview-tabs::-webkit-scrollbar{display:none}.tab{background:#0000;border:none;border-bottom:2px solid #0000;color:var(--color-text-muted);cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;gap:6px;padding:11px 20px;transition:color .16s ease,border-color .16s ease,background .16s ease;white-space:nowrap}.tab,.tab-icon{align-items:center;display:inline-flex}.tab-icon{color:var(--color-text-subtle);transition:color .16s ease}.tab-icon svg{height:15px;width:15px}.tab:hover{background:var(--color-surface-subtle);color:var(--color-text)}.tab:hover .tab-icon{color:var(--color-text-muted)}.tab-active{border-bottom-color:var(--color-secondary);font-weight:600}.tab-active,.tab-active .tab-icon{color:var(--color-secondary)}.overview-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:0 0 var(--radius-lg) var(--radius-lg);border-top:0;box-shadow:var(--shadow-xs);padding:0}.overview-panel .course-enrollments,.overview-panel .course-lessons,.overview-panel .course-modules,.overview-panel .course-quizzes{margin:0;max-width:none}.overview-panel .course-lessons-page,.overview-panel .course-quizzes-page,.overview-panel .student-progress-page{background:var(--color-surface)!important;min-height:auto!important;padding:20px!important}.students-tab{padding:20px 24px}.students-tab-toolbar{margin-bottom:16px}.students-tab-toolbar input{border:1px solid var(--color-border-strong);border-radius:8px;font-size:14px;max-width:320px;outline:none;padding:10px 12px;width:100%}.students-tab-toolbar input:focus{border-color:var(--color-primary)}.students-tab-empty{color:var(--color-text-muted);padding:24px 0;text-align:center}.students-tab-table{border-collapse:collapse;width:100%}.students-tab-table td,.students-tab-table th{border-bottom:1px solid var(--color-border);font-size:14px;padding:12px 8px;text-align:left}.students-tab-table th{background:var(--color-surface-subtle);color:var(--color-text-muted);font-weight:600}.settings-panel{margin:0 auto;max-width:920px;padding:28px 32px 120px;position:relative}.settings-section{animation:settings-in .36s cubic-bezier(.2,.8,.2,1) both;background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;margin-bottom:16px;padding:22px 24px}.settings-section:first-child{animation-delay:0ms}.settings-section:nth-child(2){animation-delay:60ms}.settings-section:nth-child(3){animation-delay:.12s}.settings-section:nth-child(4){animation-delay:.18s}@keyframes settings-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.settings-section-head{align-items:flex-start;display:flex;gap:13px;margin-bottom:18px}.settings-section-icon{background:var(--color-secondary-soft);background:var(--sec-soft,var(--color-secondary-soft));border-radius:10px;color:var(--color-secondary);color:var(--sec-accent,var(--color-secondary));display:grid;flex-shrink:0;height:36px;place-items:center;width:36px}.settings-section-icon--info{--sec-accent:var(--color-secondary,#4f46e5);--sec-soft:var(--color-secondary-soft,#eef0ff)}.settings-section-icon--image{--sec-accent:var(--color-info,#4f46e5);--sec-soft:var(--color-info-soft,#eef0ff)}.settings-section-icon--signal{--sec-accent:var(--color-primary,#f59e0b);--sec-soft:var(--color-primary-soft,#fff8ec)}.settings-section-icon--tag{--sec-accent:var(--color-success,#067647);--sec-soft:var(--color-success-soft,#ecfdf3)}.settings-section-icon--alert{--sec-accent:var(--color-danger,#b42318);--sec-soft:var(--color-danger-soft,#fef3f2)}.settings-section-title{color:var(--color-text);font-size:15px;font-weight:700;letter-spacing:-.1px;margin:0}.settings-section-sub{color:var(--color-text-muted);font-size:12.5px;line-height:1.5;margin:4px 0 0}.settings-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.settings-field>span:first-child,.settings-label,.settings-label-row>span:first-child{color:var(--color-text);font-size:12.5px;font-weight:600;letter-spacing:.1px}.settings-label-row{align-items:baseline;display:flex;gap:8px;justify-content:space-between}.settings-label-row em{color:var(--color-danger);font-style:normal;margin-left:2px}.settings-counter{font-feature-settings:"tnum";font-size:11px;font-variant-numeric:tabular-nums}.settings-counter.is-over{color:var(--color-danger);font-weight:600}.settings-help{color:var(--color-text-muted);font-size:11.5px;line-height:1.5}.settings-help.is-error{color:var(--color-danger)}.settings-field input,.settings-field select,.settings-field textarea{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:10px;color:var(--color-text);font-family:inherit;font-size:14px;outline:none;padding:10px 12px;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.settings-field input:hover:not(:disabled),.settings-field select:hover:not(:disabled),.settings-field textarea:hover:not(:disabled){border-color:var(--color-border-strong)}.settings-field input:focus,.settings-field select:focus,.settings-field textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #f59e0b2e}.settings-field input[aria-invalid=true]{background:var(--color-danger-soft);border-color:var(--color-danger)}.settings-field textarea{line-height:1.5;min-height:100px;resize:vertical}.settings-pills{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.settings-pill{align-items:flex-start;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:4px;padding:12px 14px;text-align:left;transition:border-color .18s ease,background-color .18s ease,transform .18s ease,box-shadow .18s ease}.settings-pill:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.settings-pill.is-active{background:var(--color-primary-soft);border-color:var(--color-primary);box-shadow:0 0 0 3px #f59e0b29}.settings-pill-label{color:var(--color-text);font-size:13.5px;font-weight:600}.settings-pill.is-active .settings-pill-label{color:var(--color-primary-accent)}.settings-pill-sub{color:var(--color-text-muted);font-size:11.5px;line-height:1.4}.settings-price-input{align-items:stretch;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:10px;display:flex;overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease}.settings-price-input:hover:not(.is-disabled){border-color:var(--color-border-strong)}.settings-price-input:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #f59e0b2e}.settings-price-input.is-disabled{background:var(--color-surface-subtle);opacity:.7}.settings-price-input input{font-feature-settings:"tnum";background:#0000;border:0!important;box-shadow:none!important;flex:1 1;font-size:14px;font-variant-numeric:tabular-nums;outline:none!important;padding:10px 12px}.settings-price-suffix{background:var(--color-surface-subtle);border-left:1px solid var(--color-border);font-size:12px;font-weight:700;letter-spacing:.5px;padding:0 14px}.settings-price-suffix,.settings-switch{align-items:center;color:var(--color-text-muted);display:inline-flex}.settings-switch{background:#0000;border:0;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;gap:10px;padding:0;width:fit-content}.settings-switch-track{background:var(--color-border-strong);border-radius:999px;flex-shrink:0;height:22px;position:relative;transition:background .22s ease;width:40px}.settings-switch-thumb{background:var(--color-surface);border-radius:50%;box-shadow:var(--shadow-sm);height:18px;left:2px;position:absolute;top:2px;transition:transform .24s cubic-bezier(.2,.8,.2,1);width:18px}.settings-switch.is-on .settings-switch-track{background:var(--color-primary)}.settings-switch.is-on .settings-switch-thumb{transform:translateX(18px)}.settings-switch.is-on{color:var(--color-primary)}.settings-banner{align-items:center;animation:settings-banner-in .24s ease both;border:1px solid #0000;border-radius:10px;display:flex;font-size:13px;font-weight:500;gap:8px;margin:0 0 16px;padding:12px 14px}.settings-banner.is-error{border-color:#fecdca}.settings-banner.is-ok{background:var(--color-success-soft);border-color:#abefc6;color:var(--color-success)}@keyframes settings-banner-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.overview-error,.settings-error,.settings-ok{background:var(--color-danger-soft);border-radius:8px;color:var(--color-danger);font-size:14px;margin-top:12px;padding:10px 12px}.settings-ok{background:var(--color-success-soft);color:var(--color-success)}.settings-actions{gap:12px;margin-top:20px}.settings-actions,.settings-savebar{display:flex;justify-content:space-between}.settings-savebar{align-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#fffffff5;border:1px solid var(--color-border);border-radius:14px;bottom:16px;box-shadow:var(--shadow-lg);gap:16px;margin:8px 0 16px;opacity:0;padding:12px 18px;pointer-events:none;position:sticky;transform:translateY(8px);transition:opacity .22s ease,transform .22s cubic-bezier(.2,.8,.2,1);z-index:5}.settings-savebar.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.settings-savebar-text{align-items:center;color:var(--color-text);display:flex;font-size:13px;font-weight:600;gap:8px}.settings-savebar-text:before{animation:settings-savebar-pulse 1.8s ease-in-out infinite;background:var(--color-primary);border-radius:50%;box-shadow:0 0 0 0 #f59e0b80;content:"";height:8px;width:8px}@keyframes settings-savebar-pulse{0%,to{box-shadow:0 0 0 0 #f59e0b80}50%{box-shadow:0 0 0 6px #0000}}.settings-savebar-actions{display:flex;gap:8px}.settings-savebar-actions .btn-cancel,.settings-savebar-actions .btn-primary{font-size:12.5px;padding:8px 16px}.settings-danger{background:linear-gradient(180deg,snow 0,var(--color-surface) 60%);border-color:#fecdca}.settings-danger .settings-section-title{color:var(--color-danger)}.settings-danger-row{background:var(--color-surface);border:1px solid #fecdca;border-radius:12px;gap:16px;padding:14px 16px}.settings-danger-info{display:flex;flex-direction:column;gap:2px}.settings-danger-info strong{color:var(--color-text);font-size:13.5px;font-weight:600}.settings-danger-info span{color:var(--color-text-muted);font-size:12.5px;line-height:1.5}@media (max-width:720px){.settings-panel{padding:18px 16px 120px}.settings-grid,.settings-pills{grid-template-columns:1fr}.settings-danger-row,.settings-savebar{align-items:stretch;flex-direction:column}.settings-savebar{gap:8px}.settings-savebar-actions{flex-direction:row}.settings-savebar-actions .btn-cancel,.settings-savebar-actions .btn-primary{flex:1 1}}@media (prefers-reduced-motion:reduce){.settings-banner,.settings-savebar,.settings-savebar-text:before,.settings-section{animation:none!important;transition:none!important}}.modal-overlay{background:#00000073;z-index:50}.modal-content{max-width:calc(100% - 32px);overflow:hidden;width:420px}.modal-body,.modal-header{padding:16px 20px}.modal-body{color:var(--color-text)}.modal-actions{gap:8px;padding:12px 20px}.overview-breadcrumb{align-items:center;display:flex;font-size:13px;gap:8px;margin-bottom:14px}.overview-breadcrumb .crumb-link{color:var(--color-text-muted);font-weight:500;text-decoration:none;transition:color .16s ease}.overview-breadcrumb .crumb-link:hover{color:var(--color-secondary)}.overview-breadcrumb .crumb-divider{color:var(--color-text-subtle)}.overview-breadcrumb .crumb-current{color:var(--color-text);font-weight:600;max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.curriculum-tab{display:flex;flex-direction:column}.curriculum-pills{align-items:center;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);display:inline-flex;gap:3px;margin:14px 16px 8px;max-width:calc(100% - 32px);overflow-x:auto;padding:4px;scrollbar-width:none;width:fit-content}.curriculum-pills::-webkit-scrollbar{display:none}.curriculum-pill{background:#0000;border:none;border-radius:8px;color:var(--color-text-muted);cursor:pointer;font-family:inherit;font-size:12.5px;font-weight:600;padding:7px 16px;transition:background-color .16s ease,color .16s ease,box-shadow .16s ease;white-space:nowrap}.curriculum-pill:hover:not(.active){color:var(--color-text)}.curriculum-pill.active{background:var(--color-surface);box-shadow:var(--shadow-xs);color:var(--color-secondary)}.curriculum-pill:focus-visible{outline:2px solid var(--color-secondary);outline-offset:1px}.curriculum-body{padding:0}.settings-stack{display:flex;flex-direction:column}.settings-advanced{border-top:1px solid var(--color-border);padding:20px 24px}.settings-advanced-title{color:var(--color-text);font-size:15px;font-weight:700;margin-bottom:12px}.auth-page{max-height:100vh}.auth-left,.auth-page{display:flex;height:100vh;overflow:hidden}.auth-left{background:linear-gradient(160deg,#1b1a3a,#221f47 48%,#33235a);flex-direction:column;flex-shrink:0;gap:28px;justify-content:center;padding:36px 48px;position:relative;width:44%}.auth-left:before{background:radial-gradient(circle,#f59e0b38 0,#0000 68%);height:380px;right:-100px;top:-80px;width:380px}.auth-left:after,.auth-left:before{border-radius:50%;content:"";pointer-events:none;position:absolute}.auth-left:after{background:radial-gradient(circle,#6366f138 0,#0000 68%);bottom:-60px;height:280px;left:-60px;width:280px}.auth-left-pattern{background-image:radial-gradient(#ffffff0a 1px,#0000 0);background-size:28px 28px;inset:0;pointer-events:none;position:absolute}.auth-brand{animation:authBrandIn .7s cubic-bezier(.16,1,.3,1) .1s both;position:relative;z-index:1}@keyframes authBrandIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-logo{align-items:center;display:flex;gap:12px;margin-bottom:28px}.auth-logo-img{display:block;height:52px;object-fit:contain;width:auto}.auth-logo-sub{border:1px solid #ffffff38;border-radius:6px;color:#ffffffb8;font-size:11px;font-weight:700;letter-spacing:1.5px;padding:3px 8px;text-transform:uppercase}.auth-tagline{color:#fff;font-size:25px;font-weight:700;letter-spacing:-.5px;line-height:1.3;margin:0 0 10px}.auth-tagline em{color:#f59e0b;font-style:normal}.auth-desc{color:#ffffff85;font-size:13.5px;line-height:1.6;margin:0 0 20px;max-width:340px}.auth-features{display:flex;flex-direction:column;gap:8px}.auth-feature{align-items:center;animation:authFeatureIn .5s cubic-bezier(.16,1,.3,1) both;background:#ffffff0a;border:1px solid #ffffff12;border-radius:10px;display:flex;gap:12px;padding:10px 12px;transition:background .25s,border-color .25s,transform .2s}.auth-feature:first-child{animation-delay:.25s}.auth-feature:nth-child(2){animation-delay:.35s}.auth-feature:nth-child(3){animation-delay:.45s}.auth-feature:nth-child(4){animation-delay:.55s}@keyframes authFeatureIn{0%{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}.auth-feature:hover{background:#f59e0b14;border-color:#f59e0b2e}.auth-feature-icon{align-items:center;background:#f59e0b24;border-radius:8px;color:#f59e0b;display:flex;flex-shrink:0;height:34px;justify-content:center;width:34px}.auth-feature-text strong{color:#ffffffe0;display:block;font-size:13px;font-weight:600;margin-bottom:1px}.auth-feature-text span{color:#ffffff6b;font-size:12px;line-height:1.4}.auth-stats{background:#ffffff0d;border:1px solid #ffffff17;border-radius:14px;display:flex;gap:0;overflow:hidden;position:relative;z-index:1}.auth-stat{border-right:1px solid #ffffff17;flex:1 1;padding:16px 20px;text-align:center}.auth-stat:last-child{border-right:none}.auth-stat strong{color:#f59e0b;display:block;font-size:20px;font-weight:700;letter-spacing:-.5px}.auth-stat span{color:#ffffff6b;display:block;font-size:11px;margin-top:2px;white-space:nowrap}.auth-right{align-items:center;background:#f6f5f2;display:flex;flex:1 1;height:100vh;justify-content:center;overflow:hidden;padding:32px;position:relative}:root[data-theme=dark] .auth-right{background:var(--color-bg)}.auth-right:before{background:radial-gradient(circle,#f59e0b0f 0,#0000 65%);height:360px;right:-120px;top:-120px;width:360px}.auth-right:after,.auth-right:before{border-radius:50%;content:"";pointer-events:none;position:absolute}.auth-right:after{background:radial-gradient(circle,#f59e0b0d 0,#0000 65%);bottom:-80px;height:280px;left:-80px;width:280px}.auth-form-wrap{max-width:400px;position:relative;width:100%;z-index:1}.auth-card{animation:authCardIn .5s cubic-bezier(.16,1,.3,1) both;background:var(--color-surface);border:1px solid var(--color-border);border-radius:20px;box-shadow:var(--shadow-md);padding:36px 36px 32px}@keyframes authCardIn{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-card--shake{animation:authShake .45s cubic-bezier(.36,.07,.19,.97) both}@keyframes authShake{10%,90%{transform:translateX(-1px)}20%,80%{transform:translateX(2px)}30%,50%,70%{transform:translateX(-4px)}40%,60%{transform:translateX(4px)}}.auth-form-header{margin-bottom:28px}.auth-form-header h1{color:var(--color-text);font-size:22px;font-weight:700;letter-spacing:-.4px;margin:0 0 5px}.auth-form-header p{color:var(--color-text-subtle);font-size:13.5px;margin:0}.auth-field{margin-bottom:16px}.auth-field label{color:var(--color-text-muted);display:block;font-size:12.5px;font-weight:600;letter-spacing:.4px;margin-bottom:6px;text-transform:uppercase}.auth-field input{background:var(--color-surface-subtle);border:1.5px solid var(--color-border);border-radius:10px;box-sizing:border-box;color:var(--color-text);font-family:inherit;font-size:14px;outline:none;padding:11px 14px;transition:border-color .15s,box-shadow .15s,background .15s;width:100%}.auth-field input:focus{background:var(--color-surface);border-color:var(--color-secondary);box-shadow:0 0 0 3px #4f46e524}.auth-field-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.auth-field-row label{color:var(--color-text-muted);font-size:12.5px;font-weight:600;letter-spacing:.4px;margin:0;text-transform:uppercase}.auth-forgot-link{color:var(--color-primary);font-size:12px;font-weight:500;text-decoration:none}.auth-forgot-link:hover{text-decoration:underline}.auth-error{align-items:center;background:var(--color-danger-soft);border:1px solid #fecaca;border-radius:8px;color:var(--color-danger);display:flex;font-size:13px;gap:8px;line-height:1.4;margin-bottom:14px;padding:10px 12px}.auth-error--animate{animation:authErrorIn .3s cubic-bezier(.16,1,.3,1) both}@keyframes authErrorIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.auth-error svg{flex-shrink:0}.auth-input--error{background:var(--color-danger-soft)!important;border-color:#fca5a5!important}.auth-success{background:var(--color-success-soft);border:1px solid #bbf7d0;border-radius:8px;color:var(--color-success);font-size:13px;margin-bottom:14px;padding:10px 12px}.auth-submit{background:var(--color-primary);border:none;border-radius:10px;box-shadow:0 2px 10px #f59e0b40;color:var(--color-primary-contrast);cursor:pointer;font-size:14.5px;font-weight:700;letter-spacing:-.1px;margin-top:6px;padding:12px 16px;transition:background-color .15s,box-shadow .15s,transform .1s;width:100%}.auth-submit:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:0 4px 18px #f59e0b61}.auth-submit:active:not(:disabled){box-shadow:0 1px 6px #f59e0b33;transform:scale(.99)}.auth-submit:disabled{cursor:not-allowed;opacity:.7;pointer-events:none}.auth-submit-loading{align-items:center;display:flex;gap:8px;justify-content:center}.auth-spinner{animation:authSpin .6s linear infinite;border:2.5px solid #1a1a1a33;border-radius:50%;border-top:2.5px solid var(--color-primary-contrast);height:16px;width:16px}@keyframes authSpin{to{transform:rotate(1turn)}}.auth-switch{color:var(--color-text-subtle);font-size:13px;margin-top:18px;text-align:center}.auth-switch a{color:var(--color-primary);font-weight:600;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.auth-back-link{align-items:center;color:var(--color-text-subtle);display:inline-flex;font-size:13px;gap:6px;margin-bottom:20px;text-decoration:none;transition:color .12s}.auth-back-link:hover{color:var(--color-text-muted)}.auth-info-box{background:var(--color-primary-soft);border:1px solid #fde68a;border-radius:10px;color:var(--color-primary-accent);font-size:12.5px;line-height:1.55;margin-bottom:20px;padding:12px 14px}@media (max-width:800px){.auth-page{flex-direction:column}.auth-left{min-height:auto;padding:32px 28px;width:100%}.auth-tagline{font-size:22px}.auth-features{display:none}.auth-right{padding:32px 20px}.auth-card{padding:28px 22px}}.subtabs{align-items:center;border-bottom:1px solid var(--color-border);display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}.subtabs::-webkit-scrollbar{display:none}.subtab{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:var(--color-text-muted);cursor:pointer;display:inline-flex;font-family:inherit;font-size:13.5px;font-weight:500;gap:7px;margin-bottom:-1px;padding:11px 14px;position:relative;transition:color .16s ease,border-color .16s ease;white-space:nowrap}.subtab:hover{color:var(--color-text)}.subtab.active{border-bottom-color:var(--color-secondary);color:var(--color-secondary);font-weight:600}.subtab-count{align-items:center;background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-muted);display:inline-flex;font-size:11px;font-weight:700;height:18px;justify-content:center;line-height:1;min-width:18px;padding:0 5px}.subtab.active .subtab-count{background:var(--color-secondary-soft);border-color:var(--color-secondary-soft-hover);color:var(--color-secondary)}.subtab-badge{align-items:center;background:var(--color-secondary);border-radius:999px;display:inline-flex;height:8px;justify-content:center;min-width:8px}.searchable-course-select{position:relative;width:100%}.select-button{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;font-family:inherit;font-size:var(--text-base);justify-content:space-between;padding:8px 12px;text-align:left;transition:border-color .16s ease,box-shadow .16s ease;width:100%}.select-button:hover:not(:disabled){border-color:var(--color-border-strong)}.select-button:disabled{cursor:not-allowed;opacity:.5}.select-button svg{color:var(--color-text-subtle);flex-shrink:0;margin-left:auto}.select-dropdown{animation:crmDropIn .16s cubic-bezier(.16,1,.3,1) both;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;left:0;max-height:360px;position:absolute;right:0;top:calc(100% + 4px);z-index:1000}.select-search{border-bottom:1px solid var(--color-border);padding:8px}.search-input{background:var(--color-surface-subtle);border-radius:var(--radius-sm);color:var(--color-text);font-family:inherit;font-size:var(--text-base);padding:8px 10px;width:100%}.search-input:focus{background:var(--color-surface);box-shadow:0 0 0 3px #f59e0b1f}.select-list{flex:1 1;list-style:none;margin:0;overflow-y:auto;padding:4px}.select-item{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;display:flex;font-family:inherit;font-size:var(--text-base);justify-content:space-between;padding:8px 12px;text-align:left;transition:background .12s ease;width:100%}.select-item:hover{background:var(--color-surface-subtle)}.select-item.selected{background:var(--color-primary-soft);color:var(--color-primary-accent);font-weight:600}.course-title{flex:1 1}.course-level{background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--text-xs);margin-left:8px;padding:2px 6px}.select-empty{color:var(--color-text-subtle);font-size:var(--text-base);padding:20px 16px;text-align:center}.select-error{background:var(--color-danger-soft);border-bottom:1px solid var(--color-border);color:var(--color-danger);font-size:var(--text-sm);padding:10px 12px}.select-loading{color:var(--color-text-subtle);font-size:var(--text-sm);padding:12px;text-align:center}.select-load-more{background:none;border:none;border-top:1px solid var(--color-border);color:var(--color-primary-accent);cursor:pointer;font-family:inherit;font-size:var(--text-sm);font-weight:600;padding:10px;transition:background .16s ease}.select-load-more:hover{background:var(--color-surface-subtle)}.students-redesign{background:var(--color-bg);display:flex;flex-direction:column;gap:var(--space-5);min-height:100%;padding:var(--space-6) var(--space-8)}.students-redesign.is-embedded{background:#0000;min-height:0;padding:0}.sr-toolbar{align-items:flex-end;display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between}.sr-titles h1{color:var(--color-text);font-size:var(--text-2xl);font-weight:700;letter-spacing:-.01em;margin:0}.sr-titles p{color:var(--color-text-muted);font-size:var(--text-sm);margin:4px 0 0}.sr-controls{flex-wrap:wrap;gap:var(--space-3);margin-left:auto}.sr-controls,.sr-roster-head{align-items:center;display:flex}.sr-roster-head{gap:12px;min-width:0}.sr-roster-icon{background:var(--color-secondary-soft);border-radius:12px;color:var(--color-secondary);display:grid;flex-shrink:0;height:42px;place-items:center;width:42px}.sr-roster-headmeta{display:flex;flex-direction:column;min-width:0}.sr-roster-eyebrow{color:var(--color-text);font-size:var(--text-md);font-weight:700;letter-spacing:-.01em}.sr-roster-sub{color:var(--color-text-muted);font-size:var(--text-sm)}.sr-search{align-items:center;display:flex;position:relative}.sr-search-ico{color:var(--color-text-subtle);left:12px;pointer-events:none;position:absolute}.sr-search input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--text-base);height:40px;max-width:100%;outline:none;padding:0 34px 0 36px;transition:border-color .15s,box-shadow .15s;width:260px}.sr-search input::placeholder{color:var(--color-text-subtle)}.sr-search input:focus{border-color:var(--color-secondary);box-shadow:0 0 0 3px var(--color-secondary-soft)}.sr-search input:disabled{cursor:not-allowed;opacity:.55}.sr-search-clear{background:var(--color-surface-muted);border:none;border-radius:50%;color:var(--color-text-muted);cursor:pointer;display:grid;height:22px;place-items:center;position:absolute;right:8px;transition:background .15s,color .15s;width:22px}.sr-search-clear:hover{background:var(--color-border);color:var(--color-text)}.sr-error{background:var(--color-danger-soft);border:1px solid color-mix(in srgb,var(--color-danger) 30%,#0000);border-radius:var(--radius-md);color:var(--color-danger);font-size:var(--text-sm);padding:var(--space-3) var(--space-4)}.sr-kpis{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(4,1fr)}@media (max-width:1080px){.sr-kpis{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.sr-kpis{grid-template-columns:1fr}}.sr-filters{gap:var(--space-3);justify-content:space-between}.sr-filter-chips,.sr-filters{align-items:center;display:flex;flex-wrap:wrap}.sr-filter-chips,.sr-filter-group{gap:var(--space-2)}.sr-filter-group{align-items:center;display:flex}.sr-filter-label{color:var(--color-text-subtle);font-size:var(--text-sm);font-weight:600;white-space:nowrap}.sr-group-filter{min-width:172px}.sr-chip{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;font-size:var(--text-sm);font-weight:600;gap:7px;height:34px;padding:0 12px;transition:all .15s ease}.sr-chip:hover{border-color:var(--color-border-strong);color:var(--color-text)}.sr-chip.active{background:var(--color-secondary);border-color:var(--color-secondary);box-shadow:var(--shadow-secondary);color:var(--color-secondary-contrast)}.sr-chip-count{background:var(--color-surface-muted);border-radius:999px;color:var(--color-text-muted);display:inline-grid;font-size:var(--text-xs);font-weight:700;height:20px;min-width:20px;padding:0 6px;place-items:center}.sr-chip.active .sr-chip-count{background:#ffffff38;color:#fff}.sr-table-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.sr-inline-empty{color:var(--color-text-muted);font-size:var(--text-base);padding:var(--space-10);text-align:center}.sr-table{border-collapse:collapse;font-size:var(--text-base);width:100%}.sr-th{background:var(--color-surface-subtle);border-bottom:1px solid var(--color-border);color:var(--color-text-subtle);font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;padding:13px var(--space-5);text-align:left;text-transform:uppercase;-webkit-user-select:none;user-select:none;white-space:nowrap}.sr-th.sortable{cursor:pointer;transition:color .15s}.sr-th.sortable:hover{color:var(--color-text-muted)}.sr-th.sortable span{margin-right:5px}.sr-sort-ico{opacity:0;transition:opacity .15s;vertical-align:-2px}.sr-th.sortable:hover .sr-sort-ico{opacity:.6}.sr-th.active,.sr-th.active .sr-sort-ico{color:var(--color-secondary)}.sr-th.active .sr-sort-ico{opacity:1}.sr-table tbody tr{transition:background .12s}.sr-table tbody tr:hover{background:var(--color-surface-subtle)}.sr-table td{border-bottom:1px solid var(--color-border);color:var(--color-text);padding:12px var(--space-5);vertical-align:middle}.sr-table tbody tr:last-child td{border-bottom:none}.col-progress{width:220px}.col-status{width:140px}.col-date{width:130px}.col-groups{width:220px}.sr-groups{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.sr-group-chip{background:color-mix(in srgb,#64748b 13%,#0000);background:color-mix(in srgb,var(--acc,#64748b) 13%,#0000);border:1px solid color-mix(in srgb,#64748b 32%,#0000);border:1px solid color-mix(in srgb,var(--acc,#64748b) 32%,#0000);border-radius:999px;color:var(--color-text-muted);color:var(--acc,var(--color-text-muted));line-height:1.4;max-width:140px;overflow:hidden;padding:2px 9px;text-overflow:ellipsis;white-space:nowrap}.sr-group-add,.sr-group-chip{align-items:center;display:inline-flex;font-size:11.5px;font-weight:600}.sr-group-add{background:#0000;border:1px dashed var(--color-border-strong);border-radius:999px;color:var(--color-text-muted);cursor:pointer;font-family:inherit;gap:3px;padding:3px 9px 3px 7px;transition:all .15s}.sr-group-add:hover:not(:disabled){background:var(--color-secondary-soft);border-color:var(--color-secondary);color:var(--color-secondary)}.sr-group-add:disabled{cursor:default;opacity:.5}.sr-group-menu{animation:sr-menu-in .13s ease;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-lg);max-height:300px;min-width:190px;overflow-y:auto;padding:5px;position:fixed;z-index:3000}@keyframes sr-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.sr-group-menu-head{color:var(--color-text-subtle);font-size:10.5px;font-weight:700;letter-spacing:.05em;padding:6px 10px 5px;text-transform:uppercase}.sr-group-menu-item{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--color-text);cursor:pointer;display:flex;font-family:inherit;font-size:13px;gap:9px;padding:8px 10px;text-align:left;width:100%}.sr-group-menu-item:hover{background:var(--color-surface-subtle)}.sr-group-dot{border-radius:50%;flex-shrink:0;height:9px;width:9px}.sr-group-menu-empty{color:var(--color-text-subtle);font-size:12.5px;padding:10px;text-align:center}.sr-student-btn{align-items:center;background:none;border:none;border-radius:8px;cursor:pointer;display:flex;font-family:inherit;gap:12px;padding:0;text-align:left;transition:opacity .15s;width:100%}.sr-student-btn:hover .sr-student-name{color:var(--color-secondary);text-decoration:underline}.sr-avatar-lg{border-radius:16px;font-size:22px;height:60px;width:60px}.col-view{text-align:right;width:96px}.sr-view-btn{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;color:var(--color-secondary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:12.5px;font-weight:650;gap:6px;padding:6px 12px;transition:all .15s}.sr-view-btn:hover{background:var(--color-secondary-soft);border-color:var(--color-secondary)}.sr-view-btn svg{flex-shrink:0}.sr-drawer-overlay{animation:sr-fade .16s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a73;display:flex;inset:0;justify-content:flex-end;position:fixed;z-index:2500}@keyframes sr-fade{0%{opacity:0}to{opacity:1}}.sr-drawer{animation:sr-slide .22s cubic-bezier(.22,.61,.36,1);background:var(--color-surface);border-left:1px solid var(--color-border);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;height:100%;max-width:560px;width:100%}@keyframes sr-slide{0%{opacity:.6;transform:translateX(28px)}to{opacity:1;transform:none}}.sr-drawer-head{align-items:flex-start;border-bottom:1px solid var(--color-border);display:flex;gap:12px;justify-content:space-between;padding:22px 24px 18px}.sr-drawer-id{align-items:center;display:flex;gap:14px;min-width:0}.sr-drawer-idmeta{min-width:0}.sr-drawer-idmeta h3{color:var(--color-text);font-size:18px;font-weight:750;margin:0 0 2px}.sr-drawer-email{color:var(--color-text-muted);display:block;font-size:13px;margin-bottom:8px}.sr-drawer-badges{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.sr-drawer-close{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:9px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;flex-shrink:0;height:34px;justify-content:center;transition:all .15s;width:34px}.sr-drawer-close:hover{background:var(--color-surface-muted);color:var(--color-text)}.sr-drawer-body{flex:1 1;overflow-y:auto;padding:20px 24px 32px}.sr-drawer-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr);margin-bottom:24px}.sr-dstat{background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:12px;display:flex;flex-direction:column;gap:4px;padding:14px 16px}.sr-dstat-label{color:var(--color-text-subtle);font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.sr-dstat-value{color:var(--color-text);font-size:22px;font-weight:800;line-height:1.1}.sr-dstat-value small{color:var(--color-text-subtle);font-size:14px;font-weight:600}.sr-dstat-value.sr-dstat-date{font-size:15px;font-weight:700}.sr-dstat-bar{margin-top:6px}.sr-drawer-section{margin-bottom:24px}.sr-drawer-section h4{color:var(--color-text-subtle);font-size:12px;font-weight:700;letter-spacing:.05em;margin:0 0 12px;text-transform:uppercase}.sr-drawer-empty{color:var(--color-text-subtle);font-size:13px;margin:0}.sr-activity,.sr-lesson-list,.sr-quiz-list{display:flex;flex-direction:column;gap:4px;list-style:none;margin:0;padding:0}.sr-lesson-row{align-items:center;border-radius:8px;display:flex;gap:10px;padding:8px 6px}.sr-lesson-row:hover{background:var(--color-surface-subtle)}.sr-lesson-title{color:var(--color-text);flex:1 1;font-size:13.5px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sr-lesson-bar{background:var(--color-surface-muted);border-radius:999px;flex-shrink:0;height:6px;overflow:hidden;width:96px}.sr-lesson-pct{color:var(--color-text-muted);flex-shrink:0;font-size:12px;font-weight:600;text-align:right;width:38px}.sr-lesson-done{color:var(--color-success);flex-shrink:0;font-weight:800}.sr-quiz-row{align-items:center;border:1px solid var(--color-border);border-radius:10px;display:flex;gap:12px;justify-content:space-between;padding:10px 12px}.sr-quiz-title{color:var(--color-text);font-size:13.5px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sr-quiz-meta{align-items:center;display:flex;flex-shrink:0;gap:10px}.sr-quiz-score{border-radius:999px;font-size:12.5px;font-weight:700;padding:2px 9px;white-space:nowrap}.sr-quiz-score.is-pass{background:var(--color-success-soft);color:var(--color-success)}.sr-quiz-score.is-low{background:var(--color-danger-soft);color:var(--color-danger)}.sr-quiz-correct{color:var(--color-text-subtle);font-size:12px;white-space:nowrap}.sr-activity-row{display:flex;gap:12px;padding:6px 0;position:relative}.sr-activity-dot{background:var(--color-secondary);border-radius:50%;flex-shrink:0;height:9px;margin-top:5px;width:9px}.sr-activity-body{display:flex;flex-direction:column;min-width:0}.sr-activity-desc{color:var(--color-text);font-size:13.5px}.sr-activity-date{color:var(--color-text-subtle);font-size:12px;margin-top:1px}@media (max-width:560px){.sr-drawer-stats{grid-template-columns:1fr}}.sr-student{align-items:center;display:flex;gap:var(--space-3);min-width:0}.sr-avatar{border-radius:50%;color:#fff;display:grid;flex:none;font-size:var(--text-sm);font-weight:700;height:38px;letter-spacing:.02em;place-items:center;width:38px}.sr-student-meta{display:flex;flex-direction:column;min-width:0}.sr-student-name{color:var(--color-text);font-weight:600}.sr-student-email,.sr-student-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sr-student-email{color:var(--color-text-subtle);font-size:var(--text-sm)}.sr-progress{align-items:center;display:flex;gap:var(--space-3)}.sr-progress-track{background:var(--color-surface-muted);border-radius:999px;flex:1 1;height:7px;overflow:hidden}.sr-progress-fill{border-radius:999px;height:100%;transition:width .4s ease}.sr-progress-fill.is-done{background:var(--color-success)}.sr-progress-fill.is-high{background:var(--color-secondary)}.sr-progress-fill.is-mid{background:var(--color-primary)}.sr-progress-fill.is-low{background:var(--color-warning)}.sr-progress-fill.is-zero{background:var(--color-border-strong)}.sr-progress-val{font-feature-settings:"tnum";flex:none;font-size:var(--text-sm);font-variant-numeric:tabular-nums;font-weight:600;text-align:right;width:40px}.sr-footer,.sr-progress-val{color:var(--color-text-muted)}.sr-footer{font-size:var(--text-sm);margin:0}.sr-footer strong{color:var(--color-text);font-weight:700}@media (max-width:720px){.sr-table .col-date:last-child{display:none}.col-progress{width:150px}}.ssd-page{background-color:var(--color-bg);min-height:100%;padding:32px}.ssd-header{margin-bottom:24px}.ssd-title{color:var(--color-text);font-size:var(--text-xl);font-weight:700;letter-spacing:-.5px;margin:0}.ssd-subtitle{color:var(--color-text-muted);font-size:14px;margin:6px 0 0}.ssd-filters{align-items:flex-end;background:var(--color-surface);border-radius:12px;box-shadow:var(--shadow-sm);display:flex;flex-wrap:wrap;gap:16px;margin-bottom:20px;padding:16px 20px}.ssd-filter-group{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.ssd-filter-label{color:var(--color-text-muted);font-size:13px;font-weight:600;white-space:nowrap}.ssd-filter-select{min-width:140px}.ssd-chip-row{display:flex;gap:6px}.ssd-chip{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:20px;color:var(--color-text-muted);cursor:pointer;font-size:12px;font-weight:500;padding:4px 12px;transition:all .15s ease}.ssd-chip:hover{background:var(--color-surface-muted)}.ssd-chip--active{background:var(--color-secondary);border-color:var(--color-secondary);color:#fff}.ssd-chip--red{border-color:#fca5a5;color:var(--color-danger)}.ssd-chip--red.ssd-chip--active{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.ssd-chip--amber{border-color:#fcd34d;color:var(--color-primary-accent)}.ssd-chip--amber.ssd-chip--active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.ssd-chip--green{border-color:#86efac;color:var(--color-success)}.ssd-chip--green.ssd-chip--active{background:var(--color-success);border-color:var(--color-success);color:#fff}.ssd-clear-btn{background:none;border:none;color:var(--color-secondary);cursor:pointer;font-size:13px;padding:0;text-decoration:underline}.ssd-error{align-items:center;background:var(--color-danger-soft);border-left:4px solid var(--color-danger);border-radius:8px;color:var(--color-danger);display:flex;gap:16px;margin-bottom:20px;padding:16px 20px}.ssd-retry-btn{border:1px solid var(--color-danger);border-radius:6px;color:var(--color-danger);cursor:pointer;font-size:13px;padding:4px 12px}.ssd-retry-btn,.ssd-table-wrap{background:var(--color-surface)}.ssd-table-wrap{border-radius:12px;box-shadow:var(--shadow-sm);overflow:hidden}.ssd-table{border-collapse:collapse;font-size:14px;width:100%}.ssd-table thead tr{background:var(--color-surface-subtle);border-bottom:1px solid var(--color-border)}.ssd-table th{padding:12px 16px;text-align:left}.ssd-table th,.ssd-th-btn{color:var(--color-text-muted);font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap}.ssd-th-btn{background:none;border:none;cursor:pointer;padding:0}.ssd-sort-arrow,.ssd-th-btn:hover{color:var(--color-secondary)}.ssd-table tbody tr{border-bottom:1px solid var(--color-border)}.ssd-student-row{cursor:pointer;transition:background .1s ease}.ssd-student-row:hover{background:var(--color-secondary-soft)}.ssd-student-row:focus{outline:2px solid var(--color-secondary);outline-offset:-2px}.ssd-table td{color:var(--color-text-muted);padding:14px 16px;vertical-align:middle}.ssd-name-cell{display:flex;flex-direction:column;gap:2px}.ssd-student-name{color:var(--color-text);font-weight:500}.ssd-student-email{color:var(--color-text-subtle);font-size:12px}.ssd-risk-badge{border-radius:20px;display:inline-block;font-size:12px;font-weight:600;padding:2px 8px;white-space:nowrap}.ssd-risk-badge--red{background:var(--color-danger-soft);border:1px solid #fca5a5;color:var(--color-danger)}.ssd-risk-badge--amber{background:var(--color-warning-soft);border:1px solid #fcd34d;color:var(--color-primary-hover)}.ssd-risk-badge--green{background:var(--color-success-soft);border:1px solid #86efac;color:var(--color-success)}.ssd-risk-badge--grey{background:var(--color-surface-muted);border:1px solid var(--color-border-strong);color:var(--color-text-muted)}.ssd-trend{font-size:18px;line-height:1}.ssd-trend--rising{color:var(--color-danger)}.ssd-trend--falling{color:var(--color-success)}.ssd-trend--stable{color:var(--color-text-subtle)}.ssd-trend--none{color:#d1d5db}.ssd-concern{color:var(--color-text-muted);font-size:13px}.ssd-concern--none,.ssd-na{color:#d1d5db}.ssd-empty-cell{color:var(--color-text-muted);font-size:14px;padding:48px 16px;text-align:center}.ssd-skeleton-row td{padding:14px 16px}.ssd-skeleton{animation:ssd-shimmer 1.4s ease-in-out infinite;background:linear-gradient(90deg,var(--color-surface-muted) 25%,var(--color-border) 50%,var(--color-surface-muted) 75%);background-size:200% 100%;border-radius:4px;height:14px}.ssd-skeleton--name{width:140px}.ssd-skeleton--badge{border-radius:10px;height:20px;width:56px}.ssd-skeleton--text{width:80px}.ssd-skeleton--btn{border-radius:6px;height:24px;width:60px}@keyframes ssd-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ssd-pagination{align-items:center;display:flex;gap:16px;justify-content:center;margin-top:20px}.ssd-page-btn{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:6px;color:var(--color-text-muted);cursor:pointer;font-size:13px;padding:6px 16px;transition:all .15s ease}.ssd-page-btn:hover:not(:disabled){border-color:var(--color-secondary);color:var(--color-secondary)}.ssd-page-btn:disabled{cursor:default;opacity:.4}.ssd-page-info{color:var(--color-text-muted);font-size:13px}.sales-page{background:var(--color-bg);display:flex;flex-direction:column;gap:var(--space-5);min-height:100%;padding:var(--space-6) var(--space-8)}.sales-head{align-items:flex-end;display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between}.sales-head-titles h1{color:var(--color-text);font-size:var(--text-2xl);font-weight:700;letter-spacing:-.01em;margin:0}.sales-head-titles p{color:var(--color-text-muted);font-size:var(--text-sm);margin:4px 0 0}.sales-head-actions{align-items:center;display:flex;gap:var(--space-3)}.sales-period{min-width:168px}.sales-export{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:inline-flex;font-size:var(--text-sm);font-weight:600;gap:8px;height:40px;padding:0 16px;transition:all .15s ease;white-space:nowrap}.sales-export:hover:not(:disabled){background:var(--color-surface-subtle);border-color:var(--color-border-strong)}.sales-export:disabled{cursor:not-allowed;opacity:.5}.ol-error{background:var(--color-danger-soft);border:1px solid #fecdca;border-radius:var(--radius-md);color:var(--color-danger);font-size:var(--text-sm);padding:var(--space-3) var(--space-4)}.sales-kpis{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(4,1fr)}@media (max-width:1080px){.sales-kpis{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.sales-kpis{grid-template-columns:1fr}}.sales-grid{grid-gap:var(--space-4);align-items:start;display:grid;gap:var(--space-4);grid-template-columns:minmax(0,1.9fr) minmax(0,1fr)}@media (max-width:1020px){.sales-grid{grid-template-columns:1fr}}.sales-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5)}.sales-card-head{align-items:flex-start;display:flex;gap:var(--space-3);justify-content:space-between;margin-bottom:var(--space-4)}.sales-card-head h2{color:var(--color-text);font-size:var(--text-base);font-weight:700;margin:0}.sales-card-head p{color:var(--color-text-subtle);font-size:var(--text-xs);margin:3px 0 0}.sales-card-ico{background:var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-primary-hover);display:grid;flex:none;height:34px;place-items:center;width:34px}.sales-chart{width:100%}.sales-chart-empty,.sales-mini-empty{color:var(--color-text-subtle);display:grid;font-size:var(--text-sm);min-height:120px;place-items:center;text-align:center}.sales-chart-empty{min-height:260px}.sales-side,.sales-top{display:flex;flex-direction:column;gap:var(--space-4)}.sales-top{list-style:none;margin:0;padding:0}.sales-top-line{align-items:baseline;display:flex;gap:var(--space-3);justify-content:space-between;margin-bottom:7px}.sales-top-name{font-weight:600;overflow:hidden;text-overflow:ellipsis}.sales-top-name,.sales-top-rev{color:var(--color-text);font-size:var(--text-sm);white-space:nowrap}.sales-top-rev{font-feature-settings:"tnum";flex:none;font-variant-numeric:tabular-nums;font-weight:700}.sales-top-bar{background:var(--color-surface-muted);border-radius:999px;height:8px;overflow:hidden}.sales-top-fill{background:linear-gradient(90deg,var(--color-primary),var(--color-primary-hover));border-radius:999px;display:block;height:100%;transition:width .5s ease}.sales-breakdown{display:flex;flex-direction:column;gap:var(--space-3);list-style:none;margin:0;padding:0}.sales-bd-line{align-items:center;display:flex;gap:8px;margin-bottom:6px}.sales-bd-dot{border-radius:50%;flex:none;height:8px;width:8px}.sales-bd-name{font-weight:600}.sales-bd-count,.sales-bd-name{color:var(--color-text);font-size:var(--text-sm)}.sales-bd-count{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;margin-left:auto}.sales-bd-pct{color:var(--color-text-subtle);font-size:var(--text-xs);min-width:34px;text-align:right}.sales-bd-bar{background:var(--color-surface-muted);border-radius:999px;height:6px;overflow:hidden}.sales-bd-fill{border-radius:999px;display:block;height:100%;transition:width .5s ease}.sales-orders-card{overflow:hidden;padding:0}.sales-orders-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between;padding:var(--space-5) var(--space-5) var(--space-4)}.sales-orders-title{align-items:center;display:flex;gap:10px}.sales-orders-title h2{color:var(--color-text);font-size:var(--text-lg);font-weight:700;margin:0}.sales-orders-count{background:var(--color-surface-muted);border-radius:999px;color:var(--color-text-muted);display:inline-grid;font-size:var(--text-xs);font-weight:700;height:24px;min-width:24px;padding:0 8px;place-items:center}.ol-search{align-items:center;display:flex;margin-left:auto;position:relative}.ol-search-ico{color:var(--color-text-subtle);left:12px;pointer-events:none;position:absolute}.ol-search input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--text-base);height:40px;max-width:100%;outline:none;padding:0 34px 0 36px;transition:border-color .15s,box-shadow .15s;width:280px}.ol-search input::placeholder{color:var(--color-text-subtle)}.ol-search input:focus{border-color:var(--color-secondary);box-shadow:0 0 0 3px var(--color-secondary-soft)}.ol-search-clear{background:var(--color-surface-muted);border:none;border-radius:50%;color:var(--color-text-muted);cursor:pointer;display:grid;height:22px;place-items:center;position:absolute;right:8px;transition:background .15s,color .15s;width:22px}.ol-search-clear:hover{background:var(--color-border);color:var(--color-text)}.ol-filters{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2);padding:0 var(--space-5) var(--space-4)}.ol-chip{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;font-size:var(--text-sm);font-weight:600;gap:7px;height:34px;padding:0 12px;transition:all .15s ease}.ol-chip:hover{border-color:var(--color-border-strong);color:var(--color-text)}.ol-chip.active{background:var(--color-secondary);border-color:var(--color-secondary);box-shadow:var(--shadow-secondary);color:var(--color-secondary-contrast)}.ol-chip-count{background:var(--color-surface-muted);border-radius:999px;color:var(--color-text-muted);display:inline-grid;font-size:var(--text-xs);font-weight:700;height:20px;min-width:20px;padding:0 6px;place-items:center}.ol-chip.active .ol-chip-count{background:#ffffff38;color:#fff}.ol-table-wrap{border-top:1px solid var(--color-border);overflow-x:auto}.ol-inline-empty{color:var(--color-text-muted);font-size:var(--text-base);padding:var(--space-10);text-align:center}.ol-table{border-collapse:collapse;font-size:var(--text-base);width:100%}.ol-th{background:var(--color-surface-subtle);border-bottom:1px solid var(--color-border);color:var(--color-text-subtle);font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;padding:13px var(--space-5);text-align:left;text-transform:uppercase;-webkit-user-select:none;user-select:none;white-space:nowrap}.ol-th.sortable{cursor:pointer;transition:color .15s}.ol-th.sortable:hover{color:var(--color-text-muted)}.ol-th.sortable span{margin-right:5px}.ol-sort-ico{opacity:0;transition:opacity .15s;vertical-align:-2px}.ol-th.sortable:hover .ol-sort-ico{opacity:.6}.ol-th.active,.ol-th.active .ol-sort-ico{color:var(--color-secondary)}.ol-th.active .ol-sort-ico{opacity:1}.ol-table tbody tr{transition:background .12s}.ol-table tbody tr:hover{background:var(--color-surface-subtle)}.ol-table td{border-bottom:1px solid var(--color-border);color:var(--color-text);padding:12px var(--space-5);vertical-align:middle}.ol-table tbody tr:last-child td{border-bottom:none}.col-amount{width:150px}.col-status{width:130px}.col-date{color:var(--color-text-muted);white-space:nowrap;width:170px}.ol-customer{align-items:center;display:flex;gap:var(--space-3);min-width:0}.ol-avatar{border-radius:50%;color:#fff;display:grid;flex:none;font-size:var(--text-sm);font-weight:700;height:38px;place-items:center;width:38px}.ol-customer-meta{display:flex;flex-direction:column;min-width:0}.ol-customer-name{color:var(--color-text);font-weight:600}.ol-customer-email,.ol-customer-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ol-customer-email{color:var(--color-text-subtle);font-size:var(--text-sm)}.ol-course{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ol-amount,.ol-course{color:var(--color-text)}.ol-amount{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}.ol-amount.is-paid{color:var(--color-success)}.ol-footer{border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--text-sm);margin:0;padding:var(--space-4) var(--space-5)}.ol-footer strong{color:var(--color-text);font-weight:700}@media (max-width:720px){.sales-page{padding:var(--space-5) var(--space-4)}.sales-orders-toolbar .ol-search{margin-left:0;width:100%}.sales-orders-toolbar .ol-search input{width:100%}.col-course{display:none}.col-date{width:auto}}.mcl-list{display:flex;flex-direction:column;gap:2px}.mcl-item{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:flex;gap:var(--space-3);padding:10px 12px;position:relative;transition:background .12s}.mcl-item:hover{background:var(--color-surface-subtle)}.mcl-item--active{background:var(--color-secondary-soft)}.mcl-item--active:before{background:var(--color-secondary);border-radius:999px;bottom:8px;content:"";left:0;position:absolute;top:8px;width:3px}.mcl-avatar{background:linear-gradient(135deg,var(--color-secondary),var(--color-secondary-accent));border-radius:50%;color:#fff;display:grid;flex:none;font-size:var(--text-md);font-weight:700;height:46px;place-items:center;position:relative;width:46px}.mcl-online-dot{background:var(--color-success);border:2.5px solid var(--color-surface);border-radius:50%;bottom:0;height:12px;position:absolute;right:0;width:12px}.mcl-body{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.mcl-row{align-items:center;display:flex;gap:8px;justify-content:space-between}.mcl-name{color:var(--color-text);font-size:var(--text-base);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mcl-item--unread .mcl-name{font-weight:700}.mcl-time{color:var(--color-text-subtle);flex:none;font-size:var(--text-xs)}.mcl-item--unread .mcl-time{color:var(--color-secondary);font-weight:600}.mcl-preview{color:var(--color-text-muted);font-size:var(--text-sm);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mcl-item--unread .mcl-preview{color:var(--color-text);font-weight:500}.mcl-badge{background:var(--color-primary);border-radius:999px;color:var(--color-primary-contrast);display:inline-grid;flex:none;font-size:var(--text-xs);font-weight:700;height:20px;min-width:20px;padding:0 6px;place-items:center}.mdv-root{display:flex;flex-direction:column;height:100%;min-height:0}.mdv-header{align-items:center;background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-5)}.mdv-back-btn{align-items:center;background:#0000;border:none;color:var(--color-text-muted);cursor:pointer;display:none;font-size:var(--text-sm);font-weight:600;gap:4px}.mdv-header-identity{align-items:center;display:flex;gap:var(--space-3);min-width:0}.mdv-header-avatar{background:linear-gradient(135deg,var(--color-secondary),var(--color-secondary-accent));border-radius:50%;color:#fff;display:grid;flex:none;font-size:var(--text-base);font-weight:700;height:42px;place-items:center;position:relative;width:42px}.mdv-online-dot{background:var(--color-success);border:2.5px solid var(--color-surface);border-radius:50%;bottom:0;height:11px;position:absolute;right:0;width:11px}.mdv-header-meta{display:flex;flex-direction:column;min-width:0}.mdv-header-name{color:var(--color-text);font-size:var(--text-md);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mdv-header-status{color:var(--color-text-subtle);font-size:var(--text-sm)}.mdv-header-status--online{color:var(--color-success);font-weight:600}.mdv-header-actions{display:flex;gap:4px;margin-left:auto}.mdv-icon-btn{background:#0000;border:none;border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;display:grid;height:36px;place-items:center;transition:background .15s,color .15s;width:36px}.mdv-icon-btn:hover{background:var(--color-surface-muted);color:var(--color-text)}.mdv-messages{flex:1 1;gap:3px;min-height:0;overflow-y:auto;padding:var(--space-5)}.mdv-empty,.mdv-messages{display:flex;flex-direction:column}.mdv-empty{align-items:center;gap:4px;margin:auto;text-align:center}.mdv-empty-avatar{background:linear-gradient(135deg,var(--color-secondary),var(--color-secondary-accent));border-radius:50%;color:#fff;display:grid;font-size:var(--text-2xl);font-weight:700;height:72px;margin-bottom:var(--space-2);place-items:center;width:72px}.mdv-empty-name{color:var(--color-text);font-size:var(--text-lg);font-weight:700;margin:0}.mdv-empty-hint{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.mdv-date-sep{align-items:center;display:flex;justify-content:center;margin:var(--space-4) 0 var(--space-2)}.mdv-date-sep span{background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-muted);font-size:var(--text-xs);font-weight:600;padding:4px 12px}.mdv-msg{align-items:flex-end;display:flex;gap:8px;max-width:74%}.mdv-msg--in{align-self:flex-start}.mdv-msg--out{align-self:flex-end;flex-direction:row-reverse}.mdv-msg--grouped{margin-top:1px}.mdv-avatar{background:var(--color-surface-muted);border-radius:50%;color:var(--color-text-muted);display:grid;flex:none;font-size:var(--text-xs);font-weight:700;height:30px;place-items:center;width:30px}.mdv-avatar--ghost{background:#0000}.mdv-msg-body{display:flex;flex-direction:column;gap:2px;min-width:0}.mdv-msg--out .mdv-msg-body{align-items:flex-end}.mdv-bubble{border-radius:16px;font-size:var(--text-base);line-height:1.45;padding:9px 13px;word-break:break-word}.mdv-bubble p{margin:0;white-space:pre-wrap}.mdv-msg--in .mdv-bubble{background:var(--color-surface);border:1px solid var(--color-border);border-bottom-left-radius:5px;color:var(--color-text)}.mdv-msg--out .mdv-bubble{background:var(--color-secondary);border-bottom-right-radius:5px;box-shadow:var(--shadow-secondary);color:#fff}.mdv-time{color:var(--color-text-subtle);font-size:10.5px;padding:0 4px}.mdv-bubble--typing{padding:12px 14px}.mdv-dots{align-items:center;display:inline-flex;gap:4px}.mdv-dots span{animation:mdv-bounce 1.2s ease-in-out infinite;background:var(--color-text-subtle);border-radius:50%;height:6px;width:6px}.mdv-dots span:nth-child(2){animation-delay:.15s}.mdv-dots span:nth-child(3){animation-delay:.3s}@keyframes mdv-bounce{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.mdv-composer{background:var(--color-surface);border-top:1px solid var(--color-border);padding:var(--space-3) var(--space-5) var(--space-4)}.mdv-input-error{background:var(--color-danger-soft);border-radius:var(--radius-md);color:var(--color-danger);font-size:var(--text-sm);margin-bottom:8px;padding:6px 12px}.mdv-form{display:flex;flex-direction:column;gap:5px}.mdv-input-shell{align-items:flex-end;background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:24px;display:flex;gap:8px;padding:5px 5px 5px 14px;transition:border-color .15s,box-shadow .15s,background .15s}.mdv-input-shell:focus-within{background:var(--color-surface);border-color:var(--color-secondary);box-shadow:0 0 0 3px var(--color-secondary-soft)}.mdv-textarea{background:#0000;border:none;box-sizing:border-box;color:var(--color-text);display:block;flex:1 1;font-size:var(--text-base);height:40px;line-height:1.4;max-height:120px;min-height:40px;outline:none;overflow-y:auto;padding:10px 2px;resize:none}.mdv-textarea::placeholder{color:var(--color-text-subtle)}.mdv-send-btn{background:var(--color-primary);border:none;border-radius:50%;box-shadow:var(--shadow-primary);color:var(--color-primary-contrast);cursor:pointer;display:grid;flex:none;height:38px;place-items:center;transition:background .15s,transform .1s;width:38px}.mdv-send-btn:hover:not(:disabled){background:var(--color-primary-hover)}.mdv-send-btn:active:not(:disabled){transform:scale(.94)}.mdv-send-btn:disabled{background:var(--color-border-strong);box-shadow:none;color:var(--color-surface);cursor:not-allowed}.mdv-spinner{animation:dm-spin .7s linear infinite;border:2px solid #ffffff80;border-radius:50%;border-top-color:#fff;height:16px;width:16px}.mdv-hint{color:var(--color-text-subtle);font-size:var(--text-xs);margin:0;padding-left:14px}@media (max-width:760px){.mdv-back-btn{display:inline-flex}.mdv-msg{max-width:86%}}.dm-shell{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);height:100%;overflow:hidden}.dm-shell,.dm-sidebar{background:var(--color-surface);display:flex;min-height:0}.dm-sidebar{border-right:1px solid var(--color-border);flex:none;flex-direction:column;width:340px}.dm-sidebar-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:var(--space-4) var(--space-5)}.dm-sidebar-title{align-items:center;color:var(--color-text);display:flex;font-size:var(--text-lg);font-weight:700;gap:8px}.dm-sidebar-title svg{color:var(--color-secondary)}.dm-sidebar-meta{align-items:center;display:flex;gap:6px}.dm-ws-dot{background:var(--color-text-subtle);border-radius:50%;box-shadow:0 0 0 3px var(--color-surface-muted);height:9px;width:9px}.dm-ws-dot--live{background:var(--color-success);box-shadow:0 0 0 3px var(--color-success-soft)}.dm-search-wrap{align-items:center;display:flex;padding:var(--space-3) var(--space-4);position:relative}.dm-search-icon{color:var(--color-text-subtle);left:28px;pointer-events:none;position:absolute}.dm-search-input{background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--text-base);height:38px;outline:none;padding:0 34px 0 36px;transition:border-color .15s,box-shadow .15s,background .15s;width:100%}.dm-search-input::placeholder{color:var(--color-text-subtle)}.dm-search-input:focus{background:var(--color-surface);border-color:var(--color-secondary);box-shadow:0 0 0 3px var(--color-secondary-soft)}.dm-search-clear{background:var(--color-surface-muted);border:none;border-radius:50%;color:var(--color-text-muted);cursor:pointer;display:grid;font-size:15px;height:22px;line-height:1;place-items:center;position:absolute;right:26px;width:22px}.dm-search-clear:hover{background:var(--color-border);color:var(--color-text)}.dm-list-area{flex:1 1;min-height:0;overflow-y:auto;padding:var(--space-2)}.dm-list-empty,.dm-list-loading{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;font-size:var(--text-sm);gap:var(--space-3);justify-content:center;padding:var(--space-10) var(--space-4)}.dm-list-empty p,.dm-list-loading p{margin:0}.dm-list-spinner{animation:dm-spin .8s linear infinite;border:3px solid var(--color-surface-muted);border-radius:50%;border-top-color:var(--color-secondary);height:26px;width:26px}@keyframes dm-spin{to{transform:rotate(1turn)}}.dm-error{background:var(--color-danger-soft);border-radius:var(--radius-md);color:var(--color-danger);font-size:var(--text-sm);margin:var(--space-2) var(--space-4);padding:var(--space-3);text-align:center}.dm-main{background:var(--color-surface-subtle);display:flex;flex:1 1;flex-direction:column;min-width:0}.dm-main--empty{align-items:center;justify-content:center}.dm-no-selection{align-items:center;display:flex;flex-direction:column;gap:6px;padding:var(--space-6);text-align:center}.dm-no-selection-icon{background:var(--color-surface);border:1px solid var(--color-border);border-radius:50%;color:var(--color-text-subtle);display:grid;height:92px;margin-bottom:var(--space-2);place-items:center;width:92px}.dm-no-selection-icon svg{stroke:var(--color-secondary);opacity:.55}.dm-no-selection-title{color:var(--color-text);font-size:var(--text-lg);font-weight:700;margin:0}.dm-no-selection-hint{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}@media (max-width:760px){.dm-sidebar{width:100%}.dm-sidebar--hidden-mobile{display:none}.dm-main{inset:0;position:absolute}}.feedback-redesign{background:var(--color-bg);display:flex;flex-direction:column;gap:var(--space-5);min-height:100%;padding:var(--space-6) var(--space-8)}.feedback-redesign.is-embedded{background:#0000;min-height:0;padding:0}.fb-toolbar{align-items:flex-end;display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between}.fb-titles h1{color:var(--color-text);font-size:var(--text-2xl);font-weight:700;letter-spacing:-.01em;margin:0}.fb-titles p{color:var(--color-text-muted);font-size:var(--text-sm);margin:4px 0 0}.fb-search{align-items:center;display:flex;margin-left:auto;position:relative}.fb-search-ico{color:var(--color-text-subtle);left:12px;pointer-events:none;position:absolute}.fb-search input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--text-base);height:40px;max-width:100%;outline:none;padding:0 34px 0 36px;transition:border-color .15s,box-shadow .15s;width:280px}.fb-search input::placeholder{color:var(--color-text-subtle)}.fb-search input:focus{border-color:var(--color-secondary);box-shadow:0 0 0 3px var(--color-secondary-soft)}.fb-search-clear{background:var(--color-surface-muted);border:none;border-radius:50%;color:var(--color-text-muted);cursor:pointer;display:grid;height:22px;place-items:center;position:absolute;right:8px;transition:background .15s,color .15s;width:22px}.fb-search-clear:hover{background:var(--color-border);color:var(--color-text)}.fb-toolbar-right{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3);margin-left:auto}.fb-toolbar-right .fb-search{margin-left:0}.fb-sort{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);display:inline-flex;padding:3px}.fb-sort-btn{background:#0000;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;font-size:var(--text-sm);font-weight:600;padding:6px 13px;transition:all .15s}.fb-sort-btn:hover{color:var(--color-text)}.fb-sort-btn.active{background:var(--color-surface);box-shadow:var(--shadow-xs);color:var(--color-secondary)}.fb-error{background:var(--color-danger-soft);border:1px solid #fecdca;border-radius:var(--radius-md);color:var(--color-danger);font-size:var(--text-sm);padding:var(--space-3) var(--space-4)}.fb-stars{align-items:center;display:inline-flex;flex:none;gap:2px}.fb-stars,.fb-stars .is-on{color:var(--color-primary)}.fb-stars .is-off{color:var(--color-border-strong)}.fb-summary{grid-gap:var(--space-8);align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:grid;gap:var(--space-8);grid-template-columns:200px 1fr;padding:var(--space-5) var(--space-6)}.fb-summary-score{align-items:center;border-right:1px solid var(--color-border);display:flex;flex-direction:column;gap:6px;padding-right:var(--space-6)}.fb-avg{color:var(--color-text);font-size:44px;font-weight:800;letter-spacing:-.02em;line-height:1}.fb-avg-sub{color:var(--color-text-muted);font-size:var(--text-sm)}.fb-summary-dist{display:flex;flex-direction:column;gap:6px}.fb-dist-row{grid-gap:var(--space-3);align-items:center;background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;display:grid;gap:var(--space-3);grid-template-columns:34px 1fr 28px;padding:3px 6px;transition:background .15s}.fb-dist-row:hover{background:var(--color-surface-subtle)}.fb-dist-row.active{background:var(--color-primary-soft)}.fb-dist-star{align-items:center;color:var(--color-text-muted);display:inline-flex;font-size:var(--text-sm);font-weight:600;gap:3px;justify-content:flex-end}.fb-dist-star svg{color:var(--color-primary)}.fb-dist-track{background:var(--color-surface-muted);border-radius:999px;height:8px;overflow:hidden}.fb-dist-fill{background:var(--color-primary);border-radius:999px;display:block;height:100%;transition:width .4s ease}.fb-dist-count{font-feature-settings:"tnum";color:var(--color-text-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums;text-align:right}.fb-filters{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2)}.fb-chip{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;font-size:var(--text-sm);font-weight:600;gap:6px;height:34px;padding:0 12px;transition:all .15s ease}.fb-chip:hover{border-color:var(--color-border-strong);color:var(--color-text)}.fb-chip-star{color:var(--color-primary)}.fb-chip.active{background:var(--color-secondary);border-color:var(--color-secondary);box-shadow:var(--shadow-secondary);color:var(--color-secondary-contrast)}.fb-chip.active .fb-chip-star{color:#fff}.fb-chip-count{background:var(--color-surface-muted);border-radius:999px;color:var(--color-text-muted);display:inline-grid;font-size:var(--text-xs);font-weight:700;height:20px;min-width:20px;padding:0 6px;place-items:center}.fb-chip.active .fb-chip-count{background:#ffffff38;color:#fff}.fb-inline-empty{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-muted);font-size:var(--text-base);padding:var(--space-10);text-align:center}.fb-list{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(2,1fr)}@media (max-width:900px){.fb-list{grid-template-columns:1fr}}.fb-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-5);transition:box-shadow .15s,border-color .15s,transform .15s}.fb-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}.fb-card-head{align-items:center;display:flex;gap:var(--space-3)}.fb-avatar{border-radius:50%;color:#fff;display:grid;flex:none;font-size:var(--text-sm);font-weight:700;height:40px;place-items:center;width:40px}.fb-card-meta{display:flex;flex-direction:column;margin-right:auto;min-width:0}.fb-card-name{color:var(--color-text);font-weight:600}.fb-card-email,.fb-card-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fb-card-email{color:var(--color-text-subtle);font-size:var(--text-sm)}.fb-card-text{-webkit-line-clamp:4;-webkit-box-orient:vertical;color:var(--color-text);display:-webkit-box;font-size:var(--text-base);line-height:1.55;margin:0;overflow:hidden}.fb-card-foot{align-items:center;display:flex;gap:var(--space-3);justify-content:space-between;margin-top:auto}.fb-course-tag{background:var(--color-secondary-soft);border-radius:999px;color:var(--color-secondary-accent);font-size:var(--text-xs);font-weight:600;max-width:60%;overflow:hidden;padding:3px 9px;text-overflow:ellipsis;white-space:nowrap}.fb-card-date{color:var(--color-text-subtle);font-size:var(--text-sm);white-space:nowrap}.fb-footer{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.fb-footer strong{color:var(--color-text);font-weight:700}@media (max-width:560px){.fb-summary{gap:var(--space-4);grid-template-columns:1fr}.fb-summary-score{border-bottom:1px solid var(--color-border);border-right:none;padding-bottom:var(--space-4);padding-right:0}}.inbox-hub{display:flex;flex-direction:column;height:100%;min-height:0}.inbox-hub-head{flex-shrink:0;padding:var(--space-5) var(--space-6) 0}.inbox-hub-body{flex:1 1;min-height:0;overflow-y:auto;padding:0 var(--space-6) var(--space-6)}.inbox-hub-body--flush{overflow:hidden;padding:var(--space-4) var(--space-6) var(--space-6)}.settings-page{background:var(--color-bg);min-height:100%;padding:var(--space-6) var(--space-8)}.settings-page-header{margin-bottom:var(--space-6)}.settings-page-title{color:var(--color-text);font-size:var(--text-2xl);font-weight:700;letter-spacing:-.01em;margin:0}.settings-page-sub{color:var(--color-text-muted);font-size:var(--text-sm);margin:4px 0 0}.settings-layout{grid-gap:var(--space-8);align-items:start;display:grid;gap:var(--space-8);grid-template-columns:208px minmax(0,760px)}.settings-nav{display:flex;flex-direction:column;gap:2px;position:sticky;top:var(--space-4)}.settings-nav-item{align-items:center;background:#0000;border:none;border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;display:flex;font-size:var(--text-base);font-weight:600;gap:10px;padding:10px 12px;text-align:left;transition:all .15s}.settings-nav-item:hover{background:var(--color-surface-subtle);color:var(--color-text)}.settings-nav-item.active{background:var(--color-secondary-soft);color:var(--color-secondary-accent)}.settings-nav-ico{color:currentColor;display:inline-flex;opacity:.85}.settings-main{display:flex;flex-direction:column;gap:var(--space-5);min-width:0}.settings-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-6);scroll-margin-top:var(--space-4)}.settings-card-head{margin-bottom:var(--space-5)}.settings-card-title{color:var(--color-text);font-size:var(--text-lg);font-weight:700;margin:0}.settings-card-desc{color:var(--color-text-muted);font-size:var(--text-sm);margin:5px 0 0}.settings-avatar-row{align-items:center;border-bottom:1px solid var(--color-border);display:flex;gap:var(--space-5);margin-bottom:var(--space-5);padding-bottom:var(--space-5)}.settings-avatar{background:var(--color-secondary-soft);border-radius:50%;box-shadow:var(--shadow-sm);cursor:pointer;display:grid;flex:none;height:84px;overflow:hidden;place-items:center;position:relative;width:84px}.settings-avatar img{height:100%;object-fit:cover;width:100%}.settings-avatar-initials{color:var(--color-secondary);font-size:var(--text-2xl);font-weight:800}.settings-avatar-overlay{background:#191b2e80;color:#fff;display:grid;inset:0;opacity:0;place-items:center;position:absolute;transition:opacity .15s}.settings-avatar:hover .settings-avatar-overlay{opacity:1}.settings-avatar-info{display:flex;flex-direction:column;gap:2px}.settings-avatar-name{color:var(--color-text);font-size:var(--text-lg);font-weight:700}.settings-avatar-role{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:600;margin-bottom:8px;text-transform:capitalize}.settings-avatar-btn{align-items:center;align-self:flex-start;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:inline-flex;font-size:var(--text-sm);font-weight:600;gap:6px;padding:7px 14px;transition:all .15s}.settings-avatar-btn:hover{background:var(--color-surface-muted);border-color:var(--color-border-strong)}.settings-form-grid{grid-gap:var(--space-4) var(--space-5);display:grid;gap:var(--space-4) var(--space-5);grid-template-columns:1fr 1fr}.settings-field{display:flex;flex-direction:column;gap:6px;min-width:0}.settings-field-full{grid-column:1/-1}.settings-label{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--text-sm);font-weight:600;justify-content:space-between}.settings-label em{color:var(--color-danger);font-style:normal;margin-left:2px}.settings-counter{color:var(--color-text-subtle);font-size:var(--text-xs);font-weight:500}.settings-input,.settings-textarea{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);font-size:var(--text-base);outline:none;padding:10px 12px;transition:border-color .15s,box-shadow .15s;width:100%}.settings-input::placeholder,.settings-textarea::placeholder{color:var(--color-text-subtle)}.settings-input:focus,.settings-textarea:focus{border-color:var(--color-secondary);box-shadow:0 0 0 3px var(--color-secondary-soft)}.settings-textarea{line-height:1.5;min-height:92px;resize:vertical}.settings-banner{border-radius:var(--radius-md);font-size:var(--text-sm);margin-top:var(--space-4);padding:var(--space-3) var(--space-4)}.settings-banner.is-error{background:var(--color-danger-soft);border:1px solid #fecdca;color:var(--color-danger)}.settings-card-actions{display:flex;justify-content:flex-end;margin-top:var(--space-5)}.settings-info-grid{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:1fr 1fr}@media (max-width:560px){.settings-info-grid{grid-template-columns:1fr}}.settings-info-item{align-items:center;background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;gap:var(--space-3);padding:var(--space-4)}.settings-info-item>div{display:flex;flex-direction:column;min-width:0}.settings-info-ico{background:var(--color-secondary-soft);border-radius:var(--radius-md);color:var(--color-secondary);display:grid;flex:none;height:36px;place-items:center;width:36px}.settings-info-label{color:var(--color-text-subtle);font-size:var(--text-xs);font-weight:600;letter-spacing:.03em;text-transform:uppercase}.settings-info-value{color:var(--color-text);font-size:var(--text-base);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-role-badge{align-self:flex-start;background:var(--color-primary-soft);border-radius:999px;color:var(--color-primary-accent);font-size:var(--text-sm);font-weight:700;padding:2px 10px;text-transform:capitalize}.settings-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-sm)}.settings-card-danger{background:linear-gradient(0deg,var(--color-danger-soft),var(--color-surface) 60%);border-color:#fbd9d5}.settings-card-danger .settings-card-title{color:var(--color-danger)}.settings-danger-row{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between}.settings-danger-row>div{display:flex;flex-direction:column;gap:2px}.settings-danger-row strong{color:var(--color-text);font-size:var(--text-base);font-weight:700}.settings-danger-row span{color:var(--color-text-muted);font-size:var(--text-sm)}.ds-btn{align-items:center;border:1px solid #0000;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:var(--text-sm);font-weight:700;gap:7px;height:40px;justify-content:center;padding:0 18px;transition:all .15s}.ds-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.55}.ds-btn-primary{background:var(--color-primary);box-shadow:var(--shadow-primary);color:var(--color-primary-contrast)}.ds-btn-primary:not(:disabled):hover{background:var(--color-primary-hover)}.ds-btn-secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.ds-btn-secondary:not(:disabled):hover{background:var(--color-surface-muted);border-color:var(--color-border-strong)}.ds-btn-danger{background:var(--color-danger);color:#fff}.ds-btn-danger:not(:disabled):hover{background:#a11c13}.logout-modal-overlay{align-items:center;animation:st-fade .15s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#191b2e6b;display:flex;inset:0;justify-content:center;padding:var(--space-4);position:fixed;z-index:1000}@keyframes st-fade{0%{opacity:0}to{opacity:1}}.logout-modal{animation:st-pop .16s cubic-bezier(.16,1,.3,1);background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-width:380px;padding:var(--space-6);text-align:center;width:100%}@keyframes st-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.logout-modal-icon{background:var(--color-danger-soft);border-radius:50%;color:var(--color-danger);display:grid;height:60px;margin:0 auto var(--space-4);place-items:center;width:60px}.logout-modal-title{color:var(--color-text);font-size:var(--text-lg);font-weight:700;margin:0 0 6px}.logout-modal-desc{color:var(--color-text-muted);font-size:var(--text-base);line-height:1.5;margin:0 0 var(--space-5)}.logout-modal-actions{display:flex;gap:var(--space-2)}.logout-modal-actions .ds-btn{flex:1 1}.settings-toast{animation:st-toast-in .25s cubic-bezier(.16,1,.3,1);background:var(--nav-bg-solid);border-radius:var(--radius-md);bottom:24px;box-shadow:var(--shadow-lg);color:#fff;font-size:var(--text-sm);font-weight:600;left:50%;padding:12px 20px;position:fixed;transform:translateX(-50%);z-index:1100}@keyframes st-toast-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}@media (max-width:820px){.settings-layout{gap:var(--space-4);grid-template-columns:1fr}.settings-nav{flex-direction:row;gap:var(--space-2);overflow-x:auto;padding-bottom:2px;position:static}.settings-nav-item{white-space:nowrap}.settings-form-grid{grid-template-columns:1fr}}.mentor-directory{margin:0 auto;max-width:1200px;padding:20px}.directory-header{margin-bottom:30px}.directory-header h1{font-size:28px;font-weight:600;margin-bottom:8px}.directory-header p{color:var(--color-text-muted);font-size:14px}.directory-filters{display:flex;gap:12px;margin-bottom:24px}.search-input{border-radius:6px}.search-input:focus{box-shadow:0 0 0 3px #f59e0b1a}.subject-filter{margin-bottom:30px}.filter-label{color:var(--color-text);font-weight:500;margin-bottom:12px}.filter-buttons{display:flex;flex-wrap:wrap;gap:8px}.filter-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s}.filter-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.filter-btn.active{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.mentors-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-bottom:30px}.mentor-card{background:var(--color-surface);border-radius:8px;box-shadow:var(--shadow-sm);cursor:pointer;overflow:hidden;transition:all .2s}.mentor-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.mentor-image{background:var(--color-surface-subtle);height:200px;overflow:hidden;width:100%}.mentor-image img{height:100%;object-fit:cover;width:100%}.mentor-info{padding:16px}.mentor-name{color:var(--color-text);font-size:16px;font-weight:600;margin:0 0 8px}.mentor-subject{color:var(--color-primary);font-size:12px;font-weight:500;margin:0 0 8px}.mentor-bio{color:var(--color-text-muted);font-size:13px;line-height:1.4;margin:0}.quiz-results{margin:0 auto;max-width:1000px;padding:20px}.results-header{margin-bottom:30px}.results-header h1{font-size:28px;font-weight:600;margin:0}.stats-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.quiz-results-page .stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);padding:18px;text-align:center}.quiz-results-page .stat-label{color:var(--color-text-muted);font-size:12px;font-weight:600;letter-spacing:.4px;margin-bottom:6px;text-transform:uppercase}.quiz-results-page .stat-value{color:var(--color-primary);font-size:26px;font-weight:700}.chart-container{background:var(--color-surface);border-radius:8px;box-shadow:var(--shadow-md);margin-bottom:24px;padding:24px}.chart-container h3{color:var(--color-text);font-size:16px;font-weight:600;margin:0 0 20px}.insights-section{background:var(--color-surface);border-radius:8px;box-shadow:var(--shadow-md);margin-bottom:24px;padding:24px}.insights-section h3{color:var(--color-text);font-size:16px;font-weight:600;margin:0 0 20px}.insight-box{background-color:var(--color-secondary-soft);border-left:4px solid var(--color-primary);border-radius:6px;margin-bottom:16px;padding:16px}.insight-box.warning{background-color:var(--color-warning-soft);border-left-color:#ff9800}.insight-box.info{background-color:#e0f7fa;border-left-color:#00bcd4}.insight-box h4{color:var(--color-text);font-size:14px;font-weight:600;margin:0 0 12px}.insight-box ul{list-style:none;margin:0;padding:0}.insight-box li{color:var(--color-text-muted);font-size:13px;line-height:1.5;padding:8px 0}.insight-box li:not(:last-child){border-bottom:1px solid var(--color-border)}.attempts-section{background:var(--color-surface);border-radius:8px;box-shadow:var(--shadow-md);padding:24px}.attempts-section h2{color:var(--color-text);font-size:18px;font-weight:600;margin:0 0 20px}.attempts-table{border-collapse:collapse;margin-bottom:20px;width:100%}.attempts-table thead{background-color:var(--color-surface-subtle);border-bottom:1px solid var(--color-border)}.attempts-table th{color:var(--color-text);font-size:14px;font-weight:600;padding:16px;text-align:left}.attempts-table td{border-bottom:1px solid var(--color-border);font-size:14px;padding:16px}.attempts-table tbody tr:hover{background-color:var(--color-surface-subtle)}.status-badge.passed{background-color:var(--color-success-soft);color:var(--color-success)}.status-badge.failed{background-color:var(--color-danger-soft);color:var(--color-danger)}.btn-action{border:1px solid var(--color-primary)}.modal-content{border-radius:8px;max-height:90vh;max-width:600px;overflow-y:auto}.modal-header{background:var(--color-surface);padding:20px;position:sticky;top:0}.modal-header h3{font-size:16px;font-weight:600;margin:0}.modal-close{font-size:24px}.attempt-summary{grid-gap:16px;background:var(--color-surface-subtle);border-radius:6px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-bottom:24px;padding:16px}.summary-item{display:flex;flex-direction:column;gap:4px}.summary-item span{color:var(--color-text-muted);font-size:12px}.summary-item strong{color:var(--color-text);font-size:14px}.attempt-answers h4{font-size:14px;font-weight:600;margin:0 0 16px}.answer-item{border:1px solid var(--color-border);border-radius:6px;margin-bottom:12px;padding:16px}.answer-item h5{color:var(--color-text);font-size:13px;font-weight:600;margin:0 0 12px}.correct-answer,.student-answer{border-radius:4px;margin-bottom:8px;padding:8px}.correct-answer,.student-answer{background-color:var(--color-surface-subtle)}.correct-answer.correct{background-color:var(--color-success-soft)}.correct-answer.incorrect{background-color:var(--color-danger-soft)}.correct-answer strong,.student-answer strong{display:block;font-size:12px;margin-bottom:4px}.correct-answer p,.student-answer p{color:var(--color-text);font-size:13px;margin:0}:root[data-theme=dark] .insight-box.info{background-color:#06b6d429;border-left-color:#06b6d44d}.virtualized-table-container{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.virtualized-table-header{align-items:center;background:var(--color-surface-subtle);border-bottom:1px solid var(--color-border);display:grid;grid-auto-flow:column;min-height:44px;position:sticky;top:0;z-index:10}.virtualized-table-header-cell{border-right:1px solid var(--color-border);color:var(--color-text-muted);font-size:12px;font-weight:600;letter-spacing:.4px;overflow:hidden;padding:10px 14px;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.virtualized-table-header-cell:last-child{border-right:none}.virtualized-table-row{align-items:center;border-bottom:1px solid var(--color-border);cursor:pointer;display:grid;grid-auto-flow:column;transition:background-color .15s ease}.virtualized-table-row:hover{background-color:var(--color-surface-subtle)}.virtualized-table-row:active{background-color:var(--color-primary-soft)}.virtualized-table-cell{border-right:1px solid var(--color-border);color:var(--color-text);font-size:13.5px;overflow:hidden;padding:12px 14px;text-overflow:ellipsis;white-space:nowrap}.virtualized-table-cell:last-child{border-right:none}.virtualized-table-empty{align-items:center;color:var(--color-text-subtle);display:flex;font-size:13.5px;height:200px;justify-content:center}.student-progress{margin:0 auto;max-width:1200px;padding:20px}.progress-header{margin-bottom:30px}.progress-header h1{font-size:28px;font-weight:600;margin:0}.progress-filters{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px}.filter-select,.search-input{border-radius:6px;padding:10px 12px}.progress-content{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 350px}.students-table-section{background:var(--color-surface);border-radius:8px;box-shadow:var(--shadow-md);overflow:hidden}.students-table th{font-size:14px}.students-table tbody tr{cursor:pointer;transition:background-color .2s}.student-progress .status-badge{border-radius:4px;font-size:12px;font-weight:500;padding:4px 12px}.student-progress .status-badge.active{background-color:var(--color-success-soft);color:var(--color-success)}.student-progress .status-badge.completed{background-color:var(--color-info-soft);color:var(--color-info)}.student-progress .status-badge.cancelled{background-color:var(--color-danger-soft);color:var(--color-danger)}.progress-bar{background-color:var(--color-border);margin-bottom:4px;width:100%}.progress-fill{background-color:var(--color-primary)}.pagination{padding:20px}.student-detail-panel{background:var(--color-surface);border-radius:8px;box-shadow:var(--shadow-md);max-height:calc(100vh - 40px);overflow-y:auto;padding:20px;position:sticky;top:20px}.detail-header{border-bottom:1px solid var(--color-border);margin-bottom:20px;padding-bottom:20px}.detail-header h3{color:var(--color-text);font-size:16px;margin:0}.detail-info{border-bottom:1px solid var(--color-border);margin-bottom:24px;padding-bottom:24px}.info-item{align-items:center;display:flex;font-size:13px;justify-content:space-between;padding:8px 0}.info-item span{color:var(--color-text-subtle)}.info-item strong{color:var(--color-text)}.detail-metrics{grid-gap:12px;border-bottom:1px solid var(--color-border);display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:24px;padding-bottom:24px}.metric{background:var(--color-surface-subtle);border-radius:6px;gap:4px;padding:12px;text-align:center}.metric span{color:var(--color-text-subtle);font-size:12px}.metric strong{color:var(--color-primary);font-size:18px}.activity-timeline{font-size:13px}.activity-timeline h4{color:var(--color-text);font-size:13px;font-weight:600;margin:0 0 12px}.activity-item{border-bottom:1px solid var(--color-border);padding:8px 0}.activity-item:last-child{border-bottom:none}.activity-time{font-size:11px;margin-bottom:2px}.activity-description{color:var(--color-text-muted);line-height:1.4}@media (max-width:1024px){.progress-content{grid-template-columns:1fr}.student-detail-panel{max-height:none;position:relative;top:auto}}.dropoff-analysis{margin:0 auto;max-width:1000px;padding:20px}.dropoff-header{margin-bottom:30px}.dropoff-header h1{font-size:28px;font-weight:600;margin:0 0 8px}.dropoff-header p{color:var(--color-text-muted);font-size:14px;margin:0}.dropoff-table{background:var(--color-surface);border-collapse:collapse;border-radius:8px;box-shadow:var(--shadow-md);margin-bottom:24px;overflow:hidden;width:100%}.dropoff-table thead{background-color:var(--color-surface-subtle);border-bottom:1px solid var(--color-border)}.dropoff-table th{color:var(--color-text);font-size:14px;font-weight:600;padding:16px;text-align:left}.dropoff-table td{border-bottom:1px solid var(--color-border);font-size:14px;padding:16px}.dropoff-table tbody tr{transition:background-color .2s}.dropoff-table tbody tr:hover{background-color:var(--color-surface-subtle)}.dropoff-table tbody tr.high-dropoff{background-color:var(--color-danger-soft)}.dropoff-meter{align-items:center;display:flex;gap:8px;margin-bottom:4px}.dropoff-bar{background-color:var(--color-border);border-radius:4px;flex:1 1;height:8px;max-width:150px;overflow:hidden}.btn-view{background:var(--color-surface);border:1px solid var(--color-primary);border-radius:4px;color:var(--color-primary);font-size:12px;padding:6px 12px}.btn-view:hover{background-color:var(--color-secondary-soft)}.dropped-students-panel{background:var(--color-surface);border-radius:8px;box-shadow:var(--shadow-md);padding:24px}.panel-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:20px}.panel-header h3{color:var(--color-text);font-size:16px;margin:0}.close-btn{background:none;border:none;color:var(--color-text-subtle);cursor:pointer;font-size:24px}.students-list{display:flex;flex-direction:column;gap:8px}.student-item{align-items:center;background:var(--color-surface-subtle);border-radius:6px;display:flex;font-size:14px;justify-content:space-between;padding:12px}.student-name{color:var(--color-text);font-weight:500}.student-progress{font-size:12px}.empty,.student-progress{color:var(--color-text-subtle)}.empty{padding:20px;text-align:center}.course-certificates{margin:0 auto;max-width:1000px;padding:20px}.certificates-header{margin-bottom:30px}.certificates-header h1{font-size:28px;font-weight:600;margin:0 0 8px}.certificates-header p{color:var(--color-text-muted);font-size:14px;margin:0}.certificates-table{background:var(--color-surface);border-collapse:collapse;border-radius:8px;box-shadow:var(--shadow-md);margin-bottom:20px;overflow:hidden;width:100%}.certificates-table thead{background-color:var(--color-surface-subtle);border-bottom:1px solid var(--color-border)}.certificates-table th{color:var(--color-text);font-size:14px;font-weight:600;padding:16px;text-align:left}.certificates-table td{border-bottom:1px solid var(--color-border);font-size:14px;padding:16px}.certificates-table tbody tr:hover{background-color:var(--color-surface-subtle)}.status-badge.generated{background-color:var(--color-success-soft);color:var(--color-success)}.status-badge.pending{background-color:var(--color-warning-soft);color:var(--color-warning)}.status-badge.in-progress{background-color:var(--color-secondary-soft);color:var(--color-secondary-hover)}.bulk-toolbar{align-items:center;background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:8px;display:flex;gap:12px;justify-content:space-between;margin-bottom:16px;padding:12px 16px}.bulk-toolbar label{align-items:center;color:var(--color-text);display:flex;font-size:14px;gap:8px}.info-message{background-color:var(--color-success-soft);border-radius:6px;color:var(--color-success);font-size:14px;margin-bottom:12px;padding:10px 14px}.actions{display:flex;flex-wrap:wrap;gap:8px}.btn-action{background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;color:var(--color-primary);cursor:pointer;display:inline-block;font-size:12px;padding:6px 12px;text-decoration:none;transition:all .2s}.btn-action:hover{background-color:var(--color-secondary-soft);border-color:var(--color-primary)}.btn-action.btn-primary{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.btn-action.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.btn-action:disabled{cursor:not-allowed;opacity:.6}.pagination{padding-top:20px}.pagination-btn{background:var(--color-surface)}.pagination-btn:hover:not(:disabled){color:var(--color-primary)}.thread-item{border-radius:8px;transition:all .2s}.thread-item:hover{background:var(--color-surface-subtle);border-color:var(--color-primary);box-shadow:0 2px 8px #f59e0b1a}.thread-item.answered{border-left:4px solid var(--color-success)}.thread-item.unanswered{border-left:4px solid var(--color-primary)}.thread-header{align-items:flex-start;display:flex;gap:12px;margin-bottom:8px}.thread-title{flex:1 1;font-size:16px}.notification-indicator{background-color:var(--color-danger);border-radius:12px;color:#fff;flex-shrink:0;font-size:12px;font-weight:600;min-width:24px;padding:2px 8px;text-align:center}.thread-preview{font-size:14px;line-height:1.4;margin:0 0 12px}.thread-meta{gap:8px}.author{color:var(--color-text-muted);font-weight:500}.separator{color:var(--color-border)}.time{color:var(--color-text-subtle)}.lesson{background-color:var(--color-surface-muted);border-radius:3px;color:var(--color-text-muted);font-size:11px;padding:2px 8px}.thread-stats{align-items:center;gap:20px;margin-left:20px}.stat{gap:4px}.stat-value{font-weight:600}.status-column{align-items:center;display:flex;margin-left:12px;min-width:100px}.status-badge{border-radius:4px;font-size:12px;font-weight:500;padding:4px 12px;white-space:nowrap}.status-badge.answered{background-color:var(--color-success-soft);color:var(--color-success)}.status-badge.unanswered{background-color:var(--color-warning-soft);color:var(--color-warning)}@media (max-width:768px){.thread-item{flex-direction:column}.thread-stats{border-top:1px solid var(--color-border);margin-left:0;margin-top:12px;padding-top:12px;width:100%}.thread-header{flex-direction:column}.notification-indicator{align-self:flex-end}}.thread-detail{margin:0 auto;max-width:900px;padding:20px}.detail-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:24px}.btn-back:hover{color:var(--color-primary-hover)}.btn-status{background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.btn-status:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn-status.answered{background-color:var(--color-success-soft);border-color:var(--color-success);color:var(--color-success)}.btn-status.unanswered{background-color:var(--color-warning-soft);border-color:var(--color-primary);color:var(--color-warning)}.question-section,.replies-section,.reply-form-section{margin-bottom:32px}.section-title{border-bottom:2px solid var(--color-border);color:var(--color-text);font-size:16px;font-weight:600;margin-bottom:16px;padding-bottom:12px}.question-card{border-radius:8px;box-shadow:var(--shadow-xs);padding:24px}.question-header{align-items:flex-start;gap:12px;margin-bottom:16px}.question-header h2{color:var(--color-text);flex:1 1;font-size:24px;font-weight:600;margin:0}.answered-badge{background-color:var(--color-success-soft);border-radius:4px;color:var(--color-success);font-size:12px;font-weight:600;padding:4px 12px;white-space:nowrap}.question-content{color:var(--color-text-muted);font-size:15px;line-height:1.6;margin:0 0 20px}.question-meta{border-top:1px solid var(--color-border);flex-wrap:wrap;font-size:14px;padding-top:16px}.meta-item{align-items:center;display:flex;gap:8px}.meta-item strong{color:var(--color-text)}.replies-list{display:flex;flex-direction:column;gap:12px}.reply-card{background:var(--color-surface);border-left:1px solid var(--color-border);border-left-width:4px;border-radius:8px;padding:16px;transition:all .2s}.reply-card:hover{box-shadow:var(--shadow-sm)}.reply-card.teacher-reply{background-color:var(--color-surface-subtle);border-left-color:var(--color-primary)}.reply-header{justify-content:space-between;margin-bottom:12px}.reply-author{align-items:center;display:flex;gap:8px}.reply-author strong{color:var(--color-text);font-size:14px}.teacher-badge{background-color:var(--color-primary);border-radius:3px;color:#fff;font-size:11px;font-weight:600;padding:2px 8px}.reply-content{color:var(--color-text-muted);font-size:14px;line-height:1.5;margin:0;white-space:pre-wrap;word-break:break-word}.btn-delete-reply{background:var(--color-surface);border:1px solid var(--color-danger);border-radius:4px;color:var(--color-danger);cursor:pointer;font-size:12px;margin-top:12px;padding:6px 12px;transition:all .2s}.btn-delete-reply:hover{background-color:var(--color-danger-soft)}.no-replies{background:var(--color-surface-subtle);border-radius:8px;color:var(--color-text-subtle);padding:40px;text-align:center}.reply-form-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:24px}.reply-form{margin-top:16px}.form-group{position:relative}.form-group textarea{border:1px solid var(--color-border);border-radius:6px;font-family:inherit;font-size:14px;padding:12px;width:100%}.form-group textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #f59e0b1a;outline:none}.char-count{bottom:-20px;position:absolute;right:0}.form-actions{padding-top:16px}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #f59e0b4d}.btn-cancel:hover{background-color:#e0e0e0}.realtime-indicator{background:var(--color-surface-subtle);border-radius:6px;font-size:12px;justify-content:center;margin-top:24px;padding:12px}.pulse{animation:pulse 2s infinite;background-color:var(--color-success)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (max-width:768px){.thread-detail{padding:12px}.detail-header{align-items:stretch;flex-direction:column}.btn-back{text-align:left}.question-header{flex-direction:column}.question-header h2{font-size:18px}.question-meta{gap:12px}.form-actions,.question-meta{flex-direction:column}.btn{width:100%}}.course-qa{margin:0 auto;max-width:1200px;padding:20px}.qa-header{align-items:center;margin-bottom:30px}.qa-header h1{font-size:28px;font-weight:600}.new-thread-card{background:var(--color-surface);border-radius:8px;box-shadow:var(--shadow-md);margin-bottom:24px;padding:24px}.new-thread-card h3{font-size:16px;font-weight:600;margin:0 0 20px}.form-group{margin-bottom:16px}.form-group label{display:block;font-weight:500;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--color-border);border-radius:6px;font-family:inherit;font-size:14px;padding:10px 12px;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #f59e0b1a;outline:none}.form-group textarea{resize:vertical}.form-actions{border-top:1px solid var(--color-border);margin-top:20px;padding-top:20px}.btn{border-radius:6px;font-weight:500;padding:10px 20px;transition:all .2s}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover);box-shadow:var(--shadow-primary)}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.btn-cancel{background-color:var(--color-surface-muted)}.btn-cancel:hover{background-color:var(--color-border)}.btn-pagination{background-color:var(--color-surface-muted);color:var(--color-text);font-size:13px;padding:8px 16px}.btn-pagination:hover:not(:disabled){background-color:var(--color-border)}.btn-pagination:disabled{cursor:not-allowed;opacity:.5}.qa-controls{gap:16px;margin-bottom:24px}.search-box{flex:1 1}.search-box input{border:1px solid var(--color-border);border-radius:6px;font-size:14px;padding:10px 12px;width:100%}.search-box input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #f59e0b1a;outline:none}.filters{display:flex;gap:12px}.filter-select{border-radius:6px;padding:10px 12px}.empty-state{background:var(--color-surface-subtle);border-radius:8px}.error-message{font-size:14px;padding:12px 16px}.loading{color:var(--color-text-subtle)}.pagination{gap:12px}.pagination-info{min-width:120px}@media (max-width:768px){.qa-header{align-items:flex-start}.qa-controls,.qa-header{flex-direction:column;gap:12px}.filters{flex-direction:column}.filter-select,.filters{width:100%}}.teachers-page{margin:0 auto;max-width:1400px;padding:20px}.teachers-header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:30px}.teachers-header h1{color:var(--color-text);font-size:28px;font-weight:600;margin:0}.teachers-header-actions{display:flex;gap:10px}.teachers-content{display:flex;flex-direction:column;gap:20px}.teachers-primary-btn{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-hover) 100%);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s ease}.teachers-primary-btn:hover:not(:disabled){box-shadow:0 8px 16px #4f46e566;transform:translateY(-2px)}.teachers-primary-btn:disabled{cursor:not-allowed;opacity:.6}.teachers-submit-btn{background:var(--color-primary);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .3s ease;width:100%}.teachers-submit-btn:hover:not(:disabled){background:var(--color-secondary-hover);box-shadow:0 4px 12px #4f46e566}.teachers-submit-btn:disabled{cursor:not-allowed;opacity:.6}.teachers-back-btn{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);cursor:pointer;font-size:14px;padding:10px 16px;transition:all .3s ease}.teachers-back-btn:hover{background:var(--color-surface-subtle)}.teachers-page .btn-action{background:var(--color-primary);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;padding:8px 16px;transition:all .3s ease}.teachers-page .btn-action:hover{background:var(--color-primary-hover)}.teachers-page .btn-remove{background:var(--color-danger);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;padding:8px 16px;transition:all .3s ease}.teachers-page .btn-remove:hover{background:#ee5a52}.btn-action-sm,.btn-remove-sm{border:none;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;margin-bottom:8px;padding:8px 12px;transition:all .3s ease;width:100%}.btn-action-sm{background:var(--color-primary);color:#fff}.btn-action-sm:hover{background:var(--color-secondary-hover)}.btn-remove-sm{background:var(--color-danger);color:#fff}.btn-remove-sm:hover{background:#ee5a52}.teacher-accept-form,.teacher-form,.teacher-invite-card,.teacher-login-form{background:var(--color-surface);border-radius:12px;box-shadow:var(--shadow-sm);padding:24px}.teacher-form-group{margin-bottom:20px}.teacher-form-group label{color:var(--color-text);display:block;font-size:14px;font-weight:600;margin-bottom:8px}.teacher-form-group input,.teacher-form-group textarea{border:1px solid var(--color-border);border-radius:8px;font-family:inherit;font-size:14px;padding:12px;transition:border-color .3s ease;width:100%}.teacher-form-group input:focus,.teacher-form-group textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #4f46e51a;outline:none}.teacher-form-group input:disabled{background:var(--color-surface-subtle);cursor:not-allowed}.teacher-form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.teacher-form-error,.teachers-error{background:var(--color-danger-soft);border-left:4px solid var(--color-danger);color:var(--color-danger)}.teacher-form-error,.teachers-error,.teachers-success{border-radius:8px;font-size:14px;margin-bottom:16px;padding:12px}.teachers-success{background:var(--color-success-soft);border-left:4px solid var(--color-success);color:var(--color-success)}.teacher-login-page{align-items:center;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-hover) 100%);display:flex;justify-content:center;min-height:100vh;padding:20px}.teacher-accept-card,.teacher-login-card{background:var(--color-surface);border-radius:12px;box-shadow:var(--shadow-lg);max-width:400px;padding:40px;width:100%}.teacher-accept-card h1,.teacher-login-title{color:var(--color-text);font-size:28px;font-weight:700;margin:0 0 8px;text-align:center}.teacher-accept-subtitle,.teacher-login-subtitle{color:var(--color-text-muted);font-size:14px;margin-bottom:30px;text-align:center}.teacher-login-footer{color:var(--color-text-muted);font-size:13px;margin-top:20px;text-align:center}.teacher-accept-page{align-items:center;background:var(--color-bg);display:flex;justify-content:center;min-height:100vh;padding:20px}.teacher-accept-card{max-width:500px}.teacher-accept-card.error-state{text-align:center}.teacher-accept-card.error-state h1{color:var(--color-danger)}.teacher-accept-card.success-state{text-align:center}.teacher-accept-card.success-state h1{color:var(--color-success)}.teacher-accept-info,.teacher-invite-info{background:var(--color-surface-subtle);border-radius:8px;color:var(--color-text-muted);font-size:13px;line-height:1.6;margin-top:20px;padding:16px}.assign-students-table-wrap,.teachers-table-wrap{overflow-x:auto}.teachers-table{background:var(--color-surface);border-collapse:collapse;border-radius:12px;box-shadow:var(--shadow-sm);overflow:hidden;width:100%}.teachers-table thead{background:var(--color-surface-subtle);border-bottom:2px solid var(--color-border)}.teachers-table th{color:var(--color-text-muted);font-size:13px;font-weight:600;padding:16px;text-align:left;text-transform:uppercase}.teachers-table tbody tr{border-bottom:1px solid var(--color-border);transition:background .2s ease}.teachers-table tbody tr:hover{background:var(--color-surface-subtle)}.teachers-table td{color:var(--color-text);font-size:14px;padding:16px}.teachers-table td.numeric{font-weight:600;text-align:right}.teachers-table td.empty-state{color:var(--color-text-subtle);padding:40px 16px;text-align:center}.teacher-info{align-items:center;display:flex;gap:12px}.teacher-avatar{border-radius:50%;height:40px;object-fit:cover;width:40px}.contact-info{color:var(--color-text-muted);font-size:13px}.contact-info div{margin-bottom:4px}.action-buttons{flex-wrap:wrap;gap:8px}.teachers-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.teacher-card{background:var(--color-surface);border-radius:12px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;padding:20px;transition:all .3s ease}.teacher-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.teacher-card-avatar{border-radius:50%;height:80px;margin:0 auto 16px;object-fit:cover;width:80px}.teacher-card h3{color:var(--color-text);font-size:18px;margin:0 0 12px;text-align:center}.teacher-card-contact{margin-bottom:16px;text-align:center}.teacher-card-contact p{color:var(--color-text-muted);font-size:13px;margin:4px 0}.teacher-card-stats{grid-gap:12px;border-bottom:1px solid var(--color-border);border-top:1px solid var(--color-border);display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:16px;padding:12px 0}.teacher-card-stats .stat{align-items:center;display:flex;flex-direction:column}.stat-value{color:var(--color-primary);font-size:18px}.stat-label{font-size:12px;margin-top:4px}.teacher-card-meta{color:var(--color-text-subtle);font-size:12px;margin-bottom:16px}.teacher-card-actions{margin-top:auto}.teachers-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px}.teachers-page .stat-card{background:linear-gradient(135deg,var(--color-primary) 0,#8b5cf6 100%);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:#fff;padding:20px;text-align:center}.teachers-page .stat-card h3{font-size:26px;font-weight:700;margin:0 0 6px}.teachers-page .stat-card p{font-size:13px;margin:0;opacity:.9}.assign-controls,.teachers-controls{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.search-input{border:1px solid var(--color-border);border-radius:8px;flex:1 1;font-size:14px;min-width:200px;padding:10px 16px;transition:border-color .3s ease}.search-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #4f46e51a;outline:none}.result-count{color:var(--color-text-muted);font-size:13px;white-space:nowrap}.teacher-toggle-pending{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px;transition:all .3s ease}.teacher-toggle-pending:hover{background:var(--color-surface-subtle)}.assign-students-card,.teacher-invitations-card{background:var(--color-surface);border-radius:12px;box-shadow:var(--shadow-sm);padding:24px}.teacher-invitations-list{margin-top:20px}.modal-overlay{background:#00000080}.modal-content{max-width:400px;padding:24px}.modal-content h3{color:var(--color-text);font-size:20px;margin:0 0 16px}.modal-content p{color:var(--color-text-muted);font-size:14px;line-height:1.6;margin:0 0 20px}.modal-actions{justify-content:flex-end}.btn-cancel,.btn-confirm-delete{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s ease}.btn-cancel:hover{background:var(--color-surface-subtle)}.btn-confirm-delete{background:var(--color-danger);color:#fff}.btn-confirm-delete:hover{background:#ee5a52}.btn-cancel:disabled,.btn-confirm-delete:disabled{cursor:not-allowed;opacity:.6}.empty-state-card{background:var(--color-surface);border-radius:12px;box-shadow:var(--shadow-sm);padding:60px 24px;text-align:center}.empty-state-card h3{color:var(--color-text);font-size:18px;margin:0 0 8px}.empty-state-card p{color:var(--color-text-muted);font-size:14px;margin:0 0 20px}input[type=checkbox]{accent-color:var(--color-primary);cursor:pointer;height:18px;width:18px}input[type=checkbox]:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.teachers-page{padding:16px}.teachers-header{align-items:flex-start;flex-direction:column}.teachers-header h1{font-size:22px}.teacher-form-row{grid-template-columns:1fr}.teachers-table td,.teachers-table th{font-size:12px;padding:12px}.action-buttons{flex-direction:column}.btn-action,.btn-remove{margin-bottom:8px;width:100%}.teachers-grid,.teachers-stats{grid-template-columns:1fr}.modal-content{padding:20px}.assign-controls{align-items:stretch;flex-direction:column}.search-input{min-width:auto}}@media (max-width:480px){.teacher-accept-card,.teacher-login-card{padding:24px 16px}.teacher-login-title{font-size:22px}.teachers-table{font-size:12px}.action-buttons{gap:4px}}.searchable-dropdown{display:inline-block;max-width:400px;position:relative;width:100%}.searchable-dropdown[disabled]{opacity:.55;pointer-events:none}.dropdown-button{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;display:flex;font-family:inherit;font-size:var(--text-base);justify-content:space-between;padding:8px 12px;transition:border-color .16s ease,box-shadow .16s ease;width:100%}.dropdown-button:hover:not(:disabled){border-color:var(--color-border-strong)}.dropdown-button:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #f59e0b1f;outline:none}.dropdown-label{color:var(--color-text);flex:1 1;text-align:left}.dropdown-arrow{color:var(--color-text-subtle);margin-left:8px;transition:transform .2s ease}.dropdown-arrow.open{transform:rotate(180deg)}.dropdown-menu{animation:crmDropIn .16s cubic-bezier(.16,1,.3,1) both;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;left:0;max-height:300px;position:absolute;right:0;top:calc(100% + 4px);z-index:1000}.dropdown-search{background:var(--color-surface-subtle);border:none;border-bottom:1px solid var(--color-border);border-radius:0;color:var(--color-text);font-family:inherit;font-size:var(--text-base);padding:8px 12px}.dropdown-search:focus{background:var(--color-surface);outline:none}.dropdown-items{flex:1 1;overflow-x:hidden;overflow-y:auto;padding:4px}.dropdown-item{align-items:center;border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;display:flex;font-size:var(--text-base);justify-content:space-between;padding:8px 12px;transition:background .12s ease}.dropdown-item:hover{background:var(--color-surface-subtle)}.dropdown-item.selected{background:var(--color-primary-soft);color:var(--color-primary-accent);font-weight:600}.dropdown-item span:first-child{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.checkmark{color:var(--color-primary);font-weight:700;margin-left:8px}.dropdown-empty{padding:20px 12px}.dropdown-empty,.dropdown-loading{color:var(--color-text-subtle);font-size:var(--text-sm);text-align:center}.dropdown-loading,.load-more-btn{padding:10px 12px}.load-more-btn{background:none;border:none;border-top:1px solid var(--color-border);color:var(--color-primary-accent);cursor:pointer;font-family:inherit;font-size:var(--text-sm);font-weight:600;transition:background .16s ease;width:100%}.load-more-btn:hover{background:var(--color-surface-subtle)}.dropdown-items::-webkit-scrollbar{width:5px}.dropdown-items::-webkit-scrollbar-track{background:#0000}.dropdown-items::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:10px}.teacher-dashboard{background-color:var(--color-bg);min-height:100%;padding:32px}.course-selector-section{align-items:center;background:var(--color-surface);border-radius:12px;box-shadow:var(--shadow-sm);display:flex;gap:16px;margin-bottom:24px;padding:20px}.course-label{color:var(--color-text);font-weight:600;min-width:120px}.course-selector{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;cursor:pointer;flex:1 1;font-family:Nunito Sans,sans-serif;padding:10px 16px}.course-selector:focus,.course-selector:hover{border-color:var(--color-primary)}.course-selector:focus{box-shadow:0 0 0 3px #f59e0b1a;outline:none}.filters-section{grid-gap:16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.filter-select,.search-input{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;cursor:pointer;font-family:Nunito Sans,sans-serif;font-size:14px;padding:10px 16px}.search-input::placeholder{color:var(--color-text-subtle)}.filter-select:focus,.search-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #f59e0b1a;outline:none}.students-table-container{background:var(--color-surface);border-radius:12px;box-shadow:var(--shadow-sm);overflow:hidden}.empty-state{color:var(--color-text-subtle)}.empty-state p{font-size:16px}.students-table{border-collapse:collapse;width:100%}.students-table thead{background-color:var(--color-surface-subtle);border-bottom:1px solid var(--color-border)}.students-table th{color:var(--color-text);font-size:13px;font-weight:600;letter-spacing:.5px;padding:16px;text-align:left;text-transform:uppercase}.students-table td{border-bottom:1px solid var(--color-border);color:var(--color-text);font-size:14px;padding:16px}.name-cell{font-weight:600}.teacher-dashboard .status-badge{border-radius:4px;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px;text-transform:capitalize}.teacher-dashboard .status-badge.active{background-color:var(--color-success-soft);color:var(--color-success)}.teacher-dashboard .status-badge.completed{background-color:var(--color-info-soft);color:var(--color-info)}.teacher-dashboard .status-badge.at-risk{background-color:var(--color-warning-soft);color:var(--color-warning)}.progress-bar-cell{align-items:center;display:flex;gap:8px}.progress-bar{flex:1 1;min-width:100px}.progress-text{color:var(--color-text-muted);font-size:12px;font-weight:600;min-width:40px;text-align:right}.centered{text-align:center}.btn-view{border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;padding:6px 16px;transition:background-color .2s}.students-table tbody tr:hover{background-color:var(--color-surface-subtle)}.pagination{border-top:1px solid var(--color-border)}.pagination-info{min-width:150px}@media (max-width:1024px){.filters-section{grid-template-columns:1fr}.students-table{font-size:13px}.students-table td,.students-table th{padding:12px}}@media (max-width:768px){.teacher-dashboard{padding:16px}.dashboard-header h1{font-size:24px}.course-selector-section{align-items:flex-start;flex-direction:column}.students-table{font-size:12px}.students-table td,.students-table th{padding:8px}.students-table tbody td:not(:first-child),.students-table thead th:not(:first-child){display:none}.students-table tbody tr{border-top:2px solid var(--color-border);display:block}.students-table td{display:block;padding-left:50%;position:relative;text-align:right}.students-table td:before{content:attr(data-label);font-weight:700;left:6px;position:absolute;text-align:left}.btn-view{display:block;text-align:center;width:100%}}.at-risk-badge{background-color:var(--color-warning-soft);border:1px solid var(--color-primary);border-radius:4px;color:var(--color-warning);display:inline-block;font-size:11px;font-weight:600;margin-left:8px;padding:2px 8px;vertical-align:middle}.rstc-container{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;min-height:80px;padding:16px}.rstc-empty,.rstc-loading{color:var(--color-text-muted)}.rstc-empty,.rstc-error,.rstc-loading{align-items:center;display:flex;font-size:14px;justify-content:center;min-height:80px}.rstc-error{background:var(--color-danger-soft);border-color:var(--color-danger);color:var(--color-danger)}.rstc-tooltip{background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;box-shadow:var(--shadow-sm);color:var(--color-text-muted);font-size:12px;line-height:1.6;padding:8px 12px}.rstc-tooltip-date{color:var(--color-text-muted);font-weight:600;margin-bottom:2px}.rstc-tooltip-score{color:var(--color-text)}.rstc-tooltip-trigger{color:var(--color-text-muted)}.msd-page{background-color:var(--color-bg);min-height:100%;padding:32px}.msd-back-btn{background:none;border:none;color:var(--color-secondary);cursor:pointer;display:block;font-size:14px;font-weight:600;margin-bottom:20px;padding:0}.msd-back-btn:hover{color:var(--color-secondary-hover);text-decoration:underline}.msd-page-header{margin-bottom:24px}.msd-page-title{color:var(--color-text);font-size:28px;font-weight:700;margin:0}.msd-page-subtitle{color:var(--color-text-subtle);font-size:13px;margin:4px 0 0}.msd-tab-bar{border-bottom:2px solid var(--color-border);display:flex;gap:0;margin-bottom:24px}.msd-tab{background:none;border:none;border-bottom:2px solid #0000;color:var(--color-text-muted);cursor:pointer;font-size:14px;font-weight:500;margin-bottom:-2px;padding:10px 20px;transition:all .15s ease}.msd-tab:hover{color:var(--color-text)}.msd-tab--active{border-bottom-color:var(--color-secondary);color:var(--color-secondary);font-weight:600}.msd-tab-placeholder{background:var(--color-surface);border-radius:12px;color:var(--color-text-muted);font-size:14px;line-height:1.6;padding:32px}.msd-placeholder-note{color:var(--color-text-subtle);font-size:12px;margin-top:8px}.msd-tab-loading{display:flex;flex-direction:column;gap:16px;padding:8px 0}.msd-skeleton-block{animation:msd-shimmer 1.4s ease-in-out infinite;background:linear-gradient(90deg,var(--color-surface-muted) 25%,var(--color-border) 50%,var(--color-surface-muted) 75%);background-size:200% 100%;border-radius:8px;height:80px}.msd-skeleton-block--sm{height:40px}@keyframes msd-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.msd-error{align-items:center;background:var(--color-danger-soft);border-left:4px solid var(--color-danger);border-radius:8px;color:var(--color-danger);display:flex;gap:16px;padding:16px 20px}.msd-retry-btn{background:var(--color-surface);border:1px solid var(--color-danger);border-radius:6px;color:var(--color-danger);cursor:pointer;font-size:13px;padding:4px 12px}.msd-assessment-content{display:flex;flex-direction:column;gap:20px}.msd-section{background:var(--color-surface);border-radius:12px;box-shadow:var(--shadow-xs);padding:24px}.msd-section-header-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.msd-section-title{color:var(--color-text);font-size:16px;font-weight:600;margin:0 0 16px}.msd-section-header-row .msd-section-title{margin:0}.msd-risk-badge{align-items:center;border-radius:20px;display:inline-flex;font-weight:700;gap:6px;padding:4px 12px;white-space:nowrap}.msd-risk-badge--sm{font-size:12px;padding:2px 8px}.msd-risk-badge--md{font-size:14px}.msd-risk-badge--lg{font-size:18px;padding:6px 16px}.msd-risk-badge--red{background:var(--color-danger-soft);border:1px solid #fca5a5;color:var(--color-danger)}.msd-risk-badge--amber{background:var(--color-warning-soft);border:1px solid #fcd34d;color:var(--color-warning)}.msd-risk-badge--green{background:var(--color-success-soft);border:1px solid #86efac;color:var(--color-success)}.msd-risk-badge--grey{background:var(--color-surface-muted);border:1px solid var(--color-border-strong);color:var(--color-text-muted)}.msd-risk-badge-label{font-size:.8em;font-weight:400;opacity:.8}.msd-score-row{margin-bottom:20px}.msd-trend-chart-wrap{margin-bottom:16px}.msd-assessment-meta{align-items:center;color:var(--color-text-muted);display:flex;flex-wrap:wrap;font-size:13px;gap:8px;margin-bottom:16px}.msd-meta-sep{color:var(--color-border-strong)}.msd-locale-badge{background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;color:#3b82f6;font-size:11px;font-weight:500;letter-spacing:.5px;padding:1px 8px;text-transform:uppercase}.msd-risk-factors{color:var(--color-text);font-size:14px;margin-bottom:16px}.msd-risk-factors-label{font-weight:600;margin-right:8px}.msd-risk-factors-list{display:inline;list-style:none;margin:4px 0 0;padding:0}.msd-risk-factors-list li{background:var(--color-primary-soft);border:1px solid #fcd34d;border-radius:4px;color:var(--color-primary-accent);display:inline-block;font-size:12px;font-weight:500;margin-right:8px;padding:2px 8px}.msd-narrative{background:var(--color-surface-subtle);border-left:3px solid var(--color-secondary);border-radius:8px;margin-bottom:16px;padding:16px}.msd-narrative-title{color:var(--color-secondary);font-size:13px;font-weight:600;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.msd-narrative-text{color:var(--color-text);font-size:14px;line-height:1.7;margin:0;white-space:pre-wrap}.msd-intervention{background:var(--color-primary-soft);border-left:3px solid var(--color-primary);border-radius:8px;padding:16px}.msd-intervention-title{color:var(--color-primary-hover);font-size:13px;font-weight:600;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.msd-intervention-text{color:var(--color-text);font-size:14px;line-height:1.7;margin:0}.msd-empty-state{background:var(--color-surface-subtle);border:1px dashed var(--color-border);border-radius:8px;color:var(--color-text-muted);font-size:14px;line-height:1.6;padding:24px}.msd-empty-state--sm{padding:16px}.msd-btn-add-rec{background:var(--color-surface);border:1px solid var(--color-secondary);border-radius:6px;color:var(--color-secondary);cursor:pointer;font-size:13px;font-weight:500;padding:6px 14px;transition:all .15s ease}.msd-btn-add-rec:hover{background:var(--color-secondary);color:#fff}.msd-rec-list{display:flex;flex-direction:column;gap:12px}.msd-rec-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:16px;transition:box-shadow .15s ease}.msd-rec-card:hover{box-shadow:var(--shadow-sm)}.msd-rec-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:8px}.msd-rec-type-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.msd-rec-target-type{background:var(--color-secondary-soft);border:1px solid #c7d2fe;border-radius:4px;color:var(--color-secondary);font-weight:600;letter-spacing:.5px}.msd-rec-state,.msd-rec-target-type{font-size:11px;padding:2px 6px;text-transform:uppercase}.msd-rec-state{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text-muted);letter-spacing:.3px}.msd-rec-source-badge{background:var(--color-success-soft);border:1px solid #6ee7b7;border-radius:4px;color:var(--color-success);font-size:11px;padding:2px 6px}.msd-rec-target-name{color:var(--color-text);font-size:14px;font-weight:600;margin-bottom:6px}.msd-rec-reasoning{color:var(--color-text-muted);font-size:13px;line-height:1.6;margin:0 0 10px}.msd-rec-skill-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.msd-rec-skill-chip{background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;color:#2563eb;font-size:11px;padding:2px 8px}.msd-rec-mentor-row{align-items:center;border-top:1px solid var(--color-border);display:flex;gap:8px;margin-top:8px;padding-top:8px}.msd-mentor-avatar{align-items:center;background:var(--color-secondary);border-radius:50%;color:#fff;display:inline-flex;font-size:10px;font-weight:700;height:24px;justify-content:center;width:24px}.msd-mentor-label{color:var(--color-text-muted);font-size:12px;font-weight:500}.msd-kebab-wrap{position:relative}.msd-kebab-btn{background:none;border:none;border-radius:4px;color:var(--color-text-subtle);cursor:pointer;font-size:18px;font-weight:700;letter-spacing:1px;line-height:1;padding:2px 4px;transition:color .1s,background .1s}.msd-kebab-btn:hover{background:var(--color-surface-muted);color:var(--color-text)}.msd-kebab-dots{display:block;transform:rotate(90deg)}.msd-kebab-menu{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-md);margin-top:4px;min-width:200px;position:absolute;right:0;top:100%;z-index:100}.msd-kebab-item{background:none;border:none;border-radius:8px;color:var(--color-text);cursor:pointer;display:block;font-size:13px;padding:10px 16px;text-align:left;width:100%}.msd-kebab-item:hover{background:var(--color-surface-muted)}.msd-kebab-item--danger{color:var(--color-danger)}.msd-kebab-item--danger:hover{background:var(--color-danger-soft)}.msd-suppressed-section{border-top:1px solid var(--color-border);margin-top:20px;padding-top:16px}.msd-suppressed-toggle{background:none;border:none;color:var(--color-text-muted);cursor:pointer;display:block;font-size:13px;margin-bottom:12px;padding:0;text-decoration:underline}.msd-suppressed-toggle:hover{color:var(--color-text)}.msd-suppressed-list{display:flex;flex-direction:column;gap:8px}.msd-suppressed-row{align-items:center;background:var(--color-surface-subtle);border-radius:6px;color:var(--color-text-muted);display:flex;flex-wrap:wrap;font-size:13px;gap:12px;padding:8px 12px}.msd-suppressed-name{color:var(--color-text);flex:1 1;font-weight:500;min-width:120px}.msd-suppressed-state{background:var(--color-surface-muted);border-radius:4px;color:var(--color-text-subtle);font-size:11px;letter-spacing:.3px;padding:2px 6px;text-transform:uppercase}.msd-suppressed-date{color:var(--color-text-subtle);font-size:12px}.msd-suppressed-reason{color:var(--color-text-muted);font-size:12px;font-style:italic;width:100%}.msd-modal-overlay{align-items:center;background:#0006;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1000}.msd-modal{background:var(--color-surface);border-radius:16px;box-shadow:var(--shadow-lg);max-height:90vh;max-width:480px;overflow-y:auto;padding:32px;width:100%}.msd-modal--wide{max-width:600px}.msd-modal-title{color:var(--color-text);font-size:18px;font-weight:700;margin:0 0 16px}.msd-modal-body{color:var(--color-text-muted);font-size:14px;line-height:1.6;margin:0 0 20px}.msd-modal-error{background:var(--color-danger-soft);border-left:3px solid var(--color-danger);border-radius:6px;color:var(--color-danger);font-size:13px;margin-bottom:16px;padding:10px 14px}.msd-modal-actions{border-top:1px solid var(--color-border);display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:16px}.msd-suppress-presets{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.msd-suppress-preset{align-items:center;color:var(--color-text);cursor:pointer;display:flex;font-size:14px;gap:10px}.msd-suppress-preset input[type=radio]{accent-color:var(--color-secondary)}.msd-suppress-other{margin-top:8px}.msd-suppress-textarea{border:1px solid var(--color-border-strong);border-radius:8px;box-sizing:border-box;color:var(--color-text);font-family:inherit;font-size:13px;padding:8px 12px;resize:vertical;width:100%}.msd-suppress-textarea:focus{border-color:var(--color-secondary);box-shadow:0 0 0 2px #4c6fff26;outline:none}.msd-form-field{margin-bottom:20px}.msd-form-label{color:var(--color-text);display:block;font-size:13px;font-weight:600;margin-bottom:6px}.msd-required{color:var(--color-danger)}.msd-form-select{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:8px;box-sizing:border-box;color:var(--color-text);cursor:pointer;font-size:13px;padding:8px 12px;width:100%}.msd-form-select--sm{min-width:80px;width:auto}.msd-form-input:focus,.msd-form-select:focus,.msd-form-textarea:focus{border-color:var(--color-secondary);box-shadow:0 0 0 2px #4c6fff26;outline:none}.msd-form-input{background:var(--color-surface)}.msd-form-input,.msd-form-textarea{border:1px solid var(--color-border-strong);border-radius:8px;box-sizing:border-box;color:var(--color-text);font-size:13px;padding:8px 12px;width:100%}.msd-form-textarea{font-family:inherit;resize:vertical}.msd-char-counter{color:var(--color-text-subtle);font-size:11px;margin-top:4px;text-align:right}.msd-char-counter--warn{color:var(--color-danger)}.msd-field-note{background:var(--color-primary-soft);border:1px solid #fcd34d;border-radius:6px;color:var(--color-primary-hover);font-size:12px;margin-bottom:8px;padding:6px 10px}.msd-loading-inline{color:var(--color-text-muted);font-size:13px}.msd-type-row{display:flex;gap:8px}.msd-type-btn{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:6px;color:var(--color-text);cursor:pointer;font-size:13px;padding:6px 14px;transition:all .15s ease}.msd-type-btn:hover{border-color:var(--color-secondary);color:var(--color-secondary)}.msd-type-btn--active{background:var(--color-secondary);border-color:var(--color-secondary);color:#fff}.msd-skill-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.msd-skill-chip{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;color:#2563eb;display:inline-flex;font-size:12px;gap:4px;padding:3px 10px}.msd-skill-chip-remove{align-items:center;background:none;border:none;color:#93c5fd;cursor:pointer;display:flex;padding:0}.msd-skill-chip-remove:hover{color:#2563eb}.msd-skill-dropdown{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-md);list-style:none;margin:4px 0 0;max-height:160px;overflow-y:auto;padding:0}.msd-skill-option{align-items:center;background:none;border:none;color:var(--color-text);cursor:pointer;display:flex;font-size:13px;justify-content:space-between;padding:8px 12px;text-align:left;width:100%}.msd-skill-option:hover{background:var(--color-surface-muted)}.msd-skill-slug{color:var(--color-text-subtle);font-size:11px}.msd-skill-empty{color:var(--color-text-subtle);font-size:13px;padding:8px 12px}.msd-btn-primary{background:var(--color-secondary);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 20px;transition:background .15s ease}.msd-btn-primary:hover:not(:disabled){background:var(--color-secondary-hover)}.msd-btn-primary:disabled{cursor:default;opacity:.5}.msd-btn-secondary{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:8px;color:var(--color-text);cursor:pointer;font-size:14px;font-weight:500;padding:8px 20px;transition:background .15s ease}.msd-btn-secondary:hover:not(:disabled){background:var(--color-surface-muted)}.msd-btn-secondary:disabled{cursor:default;opacity:.5}.msd-btn-danger{background:var(--color-danger);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 20px;transition:background .15s ease}.msd-btn-danger:hover:not(:disabled){background:#dc2626}.msd-btn-danger:disabled{cursor:default;opacity:.5}:root[data-theme=dark] .msd-locale-badge,:root[data-theme=dark] .msd-rec-skill-chip,:root[data-theme=dark] .msd-skill-chip{background:#3b82f629;border-color:#3b82f64d;color:#93c5fd}.student-detail{background-color:var(--color-bg);min-height:100%;padding:32px}.detail-header{margin-bottom:32px}.student-info-header h1{color:var(--color-text);font-size:32px;font-weight:700;margin:0}.student-email{font-size:16px;margin:8px 0 0}.overview-cards{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:32px}.card{background:var(--color-surface);border-radius:12px;box-shadow:var(--shadow-sm);padding:24px}.card-label{color:var(--color-text-muted);font-size:13px;font-weight:600;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.card-value{color:var(--color-text);font-size:28px;font-weight:700;margin-bottom:12px}.card-date{color:var(--color-text-subtle);font-size:12px;margin-bottom:12px}.progress-bar-card{background-color:var(--color-surface-muted);border-radius:4px;height:8px;margin-top:16px;overflow:hidden}.chart-section{background:var(--color-surface);border-radius:12px;box-shadow:var(--shadow-sm);margin-bottom:32px;padding:24px}.chart-section h2{color:var(--color-text);font-size:20px;font-weight:700;margin:0 0 24px}.lessons-section{background:var(--color-surface);border-radius:12px;box-shadow:var(--shadow-sm);margin-bottom:32px;padding:24px}.lessons-section h2{color:var(--color-text);font-size:20px;font-weight:700;margin:0 0 24px}.empty-message{color:var(--color-text-subtle);margin:0;padding:40px 0;text-align:center}.lessons-list{display:flex;flex-direction:column;gap:16px}.lesson-item{border:1px solid var(--color-border);border-radius:8px;padding:16px;transition:all .2s}.lesson-item:hover{background-color:var(--color-surface-subtle);border-color:var(--color-primary)}.lesson-title{color:var(--color-text);font-size:15px;font-weight:600;margin-bottom:12px}.lesson-progress{align-items:center;display:flex;gap:12px;margin-bottom:12px}.lesson-progress .progress-bar{background-color:var(--color-surface-muted);border-radius:3px;flex:1 1;height:6px;overflow:hidden}.lesson-progress span{color:var(--color-text-muted);font-size:13px;font-weight:600;min-width:40px;text-align:right}.lesson-meta{align-items:center;display:flex;gap:12px}.badge-completed{background-color:var(--color-success-soft);border-radius:4px;color:var(--color-success);font-size:12px;font-weight:600;padding:4px 8px}.lesson-date{color:var(--color-text-subtle);font-size:12px}.activity-section{background:var(--color-surface);border-radius:12px;box-shadow:var(--shadow-sm);margin-bottom:32px;padding:24px}.activity-section h2{color:var(--color-text);font-size:20px;font-weight:700;margin:0 0 24px}.activity-list{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto}.activity-item{background-color:var(--color-surface-subtle);border-left:3px solid var(--color-primary);border-radius:4px;padding:12px}.activity-time{color:var(--color-text-subtle);font-size:12px;font-weight:600;margin-bottom:4px}.activity-description{color:var(--color-text);font-size:14px}.action-buttons{gap:16px;margin-top:32px}.btn-primary,.btn-secondary{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.btn-primary{background-color:var(--color-primary)}.btn-primary:hover{background-color:var(--color-secondary-hover)}.btn-secondary{background-color:var(--color-surface-subtle);border:1px solid var(--color-border);color:var(--color-text)}.btn-secondary:hover{background-color:#e8e8e8}.btn-message{background-color:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.btn-message:hover{background-color:#059669}.message-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;margin-top:24px;overflow:hidden}.message-panel-header{align-items:center;background:var(--color-surface-subtle);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:16px 20px}.message-panel-header h3{color:var(--color-text);font-size:16px;font-weight:600;margin:0}.btn-close-panel{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:18px;line-height:1;padding:0 4px}.btn-close-panel:hover{color:var(--color-text)}.message-history{background:var(--color-surface-subtle);display:flex;flex-direction:column;gap:10px;max-height:300px;overflow-y:auto;padding:16px 20px}.msg-empty,.msg-loading{color:var(--color-text-muted);font-size:14px;padding:20px 0;text-align:center}.msg-bubble{border-radius:12px;font-size:14px;line-height:1.5;max-width:75%;padding:10px 14px}.msg-bubble p{color:inherit;margin:0 0 4px}.msg-sent{align-self:flex-end;background:var(--color-primary);border-bottom-right-radius:4px;color:#fff}.msg-received{align-self:flex-start;background:var(--color-surface);border:1px solid var(--color-border);border-bottom-left-radius:4px;color:var(--color-text)}.msg-time{font-size:11px;opacity:.7}.message-compose{align-items:flex-end;border-top:1px solid var(--color-border);display:flex;gap:10px;padding:14px 20px}.message-compose textarea{border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);flex:1 1;font-family:inherit;font-size:14px;padding:10px 12px;resize:none}.message-compose textarea:focus{border-color:var(--color-primary);outline:none}.btn-send{background:var(--color-primary);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:opacity .15s;white-space:nowrap}.btn-send:disabled{cursor:not-allowed;opacity:.5}.btn-send:hover:not(:disabled){background:var(--color-secondary)}.error-message{border-radius:6px;margin:0 20px 12px;padding:8px 12px}@media (max-width:768px){.student-detail{padding:16px}.student-info-header h1{font-size:24px}.overview-cards{grid-template-columns:1fr}.action-buttons{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}.sd-page{margin:0 auto;max-width:1100px;padding:8px 4px 48px}.sd-back{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;font-weight:600;gap:6px;margin-bottom:18px;padding:7px 13px 7px 11px;transition:all .15s}.sd-back:hover{background:var(--color-secondary-soft);border-color:var(--color-secondary);color:var(--color-secondary)}.sd-hero{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;box-shadow:var(--shadow-sm);display:flex;gap:18px;margin-bottom:22px;padding:22px 24px}.sd-hero-meta{min-width:0}.sd-hero-meta h1{color:var(--color-text);font-size:22px;font-weight:800;letter-spacing:-.3px;margin:0 0 3px}.sd-hero-email{color:var(--color-text-muted);display:block;font-size:14px;margin-bottom:10px}.sd-hero-badges{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.sd-hero-done{background:var(--color-success-soft);border-radius:999px;color:var(--color-success);font-size:12px;font-weight:600;padding:3px 10px}.sd-stats{grid-template-columns:repeat(4,1fr);margin-bottom:24px}.sd-cols{grid-gap:18px;align-items:start;display:grid;gap:18px;grid-template-columns:1.4fr 1fr}.sd-col-side{display:flex;flex-direction:column;gap:18px}.sd-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;box-shadow:var(--shadow-sm);padding:20px 22px}.sd-card h4{color:var(--color-text-subtle);font-size:12px;font-weight:700;letter-spacing:.05em;margin:0 0 14px;text-transform:uppercase}@media (max-width:900px){.sd-stats{grid-template-columns:repeat(2,1fr)}.sd-cols{grid-template-columns:1fr}}.quiz-feedback{background-color:var(--color-bg);min-height:100%;padding:32px}.feedback-header{margin-bottom:32px}.btn-back{font-size:16px;margin-bottom:16px;transition:color .2s}.btn-back:hover{color:var(--color-secondary-hover)}.header-content h1{color:var(--color-text);font-size:32px;font-weight:700;margin:0}.header-subtitle{color:var(--color-text-muted);font-size:16px;margin:8px 0 0}.success-message{align-items:center;background-color:var(--color-success-soft);border-left:4px solid var(--color-success);border-radius:8px;color:var(--color-success);display:flex;font-weight:600;gap:12px;margin-bottom:24px;padding:16px}.success-message svg{flex-shrink:0}.feedback-container{grid-gap:32px;display:grid;gap:32px;grid-template-columns:1fr 1fr}.feedback-form-card,.quiz-details-card{background:var(--color-surface);border-radius:12px;box-shadow:var(--shadow-md);padding:24px}.feedback-form-card h2,.quiz-details-card h2{color:var(--color-text);font-size:20px;font-weight:700;margin:0 0 20px}.detail-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:24px}.detail-item{display:flex;flex-direction:column;gap:6px}.detail-item .label{color:var(--color-text-muted);font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.detail-item .value{color:var(--color-text);font-size:16px;font-weight:600}.detail-item .value.score{color:var(--color-primary);font-size:18px}.questions-section{border-top:1px solid var(--color-border);margin-top:24px;padding-top:24px}.questions-section h3{color:var(--color-text);font-size:16px;font-weight:700;margin:0 0 16px}.questions-list{display:flex;flex-direction:column;gap:12px}.question-item{background-color:var(--color-surface-subtle);border-left:1px solid var(--color-border);border:1px solid var(--color-border);border-left-width:4px;border-radius:8px;padding:16px}.question-item.correct{background-color:var(--color-success-soft);border-left-color:var(--color-success)}.question-item.incorrect{background-color:var(--color-danger-soft);border-left-color:var(--color-danger)}.question-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.question-number{color:var(--color-text);font-size:13px;font-weight:600}.question-status{border-radius:4px;font-size:12px;font-weight:600;padding:4px 8px}.question-status.correct{background-color:var(--color-success-soft);color:var(--color-success)}.question-status.incorrect{background-color:var(--color-danger-soft);color:var(--color-danger)}.question-text{color:var(--color-text);font-size:14px;font-weight:500;margin-bottom:8px}.correct-answer,.student-answer{color:var(--color-text-muted);font-size:13px;margin-bottom:4px}.correct-answer strong,.student-answer strong{color:var(--color-text);font-weight:600}.correct-answer{color:var(--color-success)}.form-group{gap:8px;margin-bottom:24px}.form-group label{color:var(--color-text);font-size:14px;font-weight:600}.form-group small{color:var(--color-text-subtle);font-size:12px}.score-input-group{align-items:center;display:flex;gap:8px}.score-input{border:1px solid var(--color-border);border-radius:8px;flex:1 1;font-family:Nunito Sans,sans-serif;font-size:14px;padding:10px 12px}.score-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #f59e0b1a;outline:none}.score-helper{color:var(--color-text-muted);font-size:14px;font-weight:600;min-width:40px}.feedback-textarea,.suggestions-textarea{border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);font-family:Nunito Sans,sans-serif;font-size:14px;padding:12px;resize:vertical}.feedback-textarea::placeholder,.suggestions-textarea::placeholder{color:var(--color-text-subtle)}.feedback-textarea:focus,.suggestions-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #f59e0b1a;outline:none}.form-actions{gap:12px;margin-top:24px}.btn-cancel:hover:not(:disabled){background-color:var(--color-surface-muted)}@media (max-width:1024px){.feedback-container{grid-template-columns:1fr}}@media (max-width:768px){.quiz-feedback{padding:16px}.header-content h1{font-size:24px}.detail-grid{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn-cancel,.btn-submit{width:100%}}.at-risk-dashboard{background-color:var(--color-bg);min-height:100%;padding:32px}.dashboard-header{margin-bottom:32px}.dashboard-header h1{color:var(--color-text);font-size:32px;font-weight:700;letter-spacing:-.11px;margin:0}.filters-section{background:var(--color-surface);border-radius:12px;box-shadow:var(--shadow-md);flex-wrap:wrap;gap:16px;margin-bottom:24px;padding:20px}.filter-group,.filters-section{align-items:center;display:flex}.filter-group{gap:8px}.filter-group label{color:var(--color-text);font-size:14px;font-weight:600;min-width:120px}.filter-select{background-color:var(--color-surface);font-family:Nunito Sans,sans-serif;min-width:150px;padding:10px 16px}.filter-select:hover{border-color:var(--color-primary)}.filter-select:focus{box-shadow:0 0 0 3px #f59e0b1a}.students-container{width:100%}.empty-state{background:var(--color-surface);border-radius:12px;box-shadow:var(--shadow-md);padding:60px 20px}.empty-state svg{color:var(--color-text-subtle);margin-bottom:16px}.empty-state p{color:var(--color-text);font-size:18px;font-weight:600;margin:0}.empty-subtitle{color:var(--color-text-subtle);font-size:14px;margin-top:8px!important}.students-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));margin-bottom:32px}.student-card{background:var(--color-surface);border-left:4px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-md);overflow:hidden;padding:24px;position:relative;transition:all .2s}.student-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.student-card.risk-high{background:linear-gradient(135deg,var(--color-danger-soft) 0,var(--color-surface) 100%);border-left-color:var(--color-danger)}.student-card.risk-medium{background:linear-gradient(135deg,var(--color-warning-soft) 0,var(--color-surface) 100%);border-left-color:var(--color-warning)}.student-card.risk-low{background:linear-gradient(135deg,#f5f8ff 0,var(--color-surface) 100%);border-left-color:var(--color-primary)}.risk-badge{border-radius:6px;display:inline-block;font-size:12px;font-weight:600;margin-bottom:12px;padding:6px 12px}.risk-badge.risk-high{background-color:var(--color-danger-soft);color:var(--color-danger)}.risk-badge.risk-medium{background-color:var(--color-warning-soft);color:var(--color-warning)}.risk-badge.risk-low{background-color:var(--color-info-soft);color:var(--color-info)}.student-header{margin-bottom:16px}.student-header h3{color:var(--color-text);font-size:18px;font-weight:700;margin:0 0 4px}.student-email{color:var(--color-text-muted);font-size:13px;margin:0}.metrics{grid-gap:16px;border-bottom:1px solid var(--color-border);display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:20px;padding-bottom:20px}.metric{display:flex;flex-direction:column;gap:6px}.metric-label{color:var(--color-text-muted);font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.metric-value{color:var(--color-text);font-size:20px;font-weight:700}.metric-value.score-high{color:var(--color-danger)}.metric-value.score-medium{color:var(--color-warning)}.metric-value.score-low{color:var(--color-success)}.risk-reasons{background-color:var(--color-surface-subtle);border-radius:8px;margin-bottom:20px;padding:12px}.risk-reasons h4{color:var(--color-text-muted);font-size:12px;font-weight:600;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.risk-reasons ul{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.risk-reasons li{color:var(--color-text);font-size:13px;margin:0;padding-left:16px;position:relative}.risk-reasons li:before{color:var(--color-danger);content:"•";font-weight:700;left:0;position:absolute}.progress-indicator{margin-bottom:20px}.progress-bar{background-color:var(--color-surface-muted);border-radius:4px;height:8px;margin-bottom:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,var(--color-primary) 0,#29cc97 100%);height:100%;transition:width .3s ease}.progress-label{color:var(--color-text-muted);font-size:12px;font-weight:600}.action-buttons{display:flex;gap:12px}.btn-message,.btn-view{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:13px;font-weight:600;padding:10px 12px;text-align:center;transition:all .2s}.btn-message{background-color:var(--color-info-soft);color:var(--color-info)}.btn-message:hover{background-color:#bbdefb}.btn-view{background-color:var(--color-primary);color:#fff}.btn-view:hover{background-color:var(--color-secondary-hover)}.pagination{align-items:center;background:var(--color-surface);border-radius:12px;box-shadow:var(--shadow-md);display:flex;gap:16px;justify-content:center;margin-top:24px;padding:24px}.pagination-btn{background-color:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s}.pagination-btn:hover:not(:disabled){background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.pagination-btn:disabled{cursor:not-allowed;opacity:.5}.pagination-info{color:var(--color-text-muted);font-size:14px;min-width:200px;text-align:center}.modal-overlay{background-color:#00000080;bottom:0;left:0;right:0;top:0}.modal-content{animation:slideIn .3s ease-out;background:var(--color-surface);border-radius:12px;box-shadow:var(--shadow-lg);max-width:500px;width:90%}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid var(--color-border);padding:24px}.modal-header h2{color:var(--color-text);font-size:20px;font-weight:700;margin:0}.modal-close{align-items:center;background:none;color:var(--color-text-subtle);display:flex;font-size:28px;height:32px;justify-content:center;padding:0;transition:color .2s;width:32px}.modal-body{padding:24px}.message-textarea{border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);font-family:Nunito Sans,sans-serif;font-size:14px;padding:12px;resize:vertical;width:100%}.message-textarea::placeholder{color:var(--color-text-subtle)}.message-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #f59e0b1a;outline:none}.modal-actions{border-top:1px solid var(--color-border);display:flex;gap:12px;padding:24px}.btn-cancel,.btn-submit{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.btn-submit{background-color:var(--color-primary);color:#fff}.btn-submit:hover:not(:disabled){background-color:var(--color-secondary-hover)}.btn-submit:disabled{cursor:not-allowed;opacity:.6}.btn-cancel{background-color:var(--color-surface-subtle)}.btn-cancel:hover:not(:disabled){background-color:#e8e8e8}.btn-cancel:disabled{cursor:not-allowed;opacity:.6}@media (max-width:1200px){.students-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (max-width:768px){.at-risk-dashboard{padding:16px}.dashboard-header h1{font-size:24px}.filter-group,.filters-section{align-items:flex-start;flex-direction:column}.filter-group,.filter-select{width:100%}.metrics,.students-grid{grid-template-columns:1fr}.action-buttons{flex-direction:column}.btn-message,.btn-view{width:100%}.modal-content{width:95%}}.risk-group{margin-bottom:32px}.risk-group-title{border-bottom:2px solid;font-size:18px;font-weight:600;margin-bottom:16px;padding-bottom:8px}.risk-amber,.risk-group-title.risk-amber{border-color:var(--color-primary);color:var(--color-warning)}.risk-group-title.risk-red,.risk-red{border-color:var(--color-danger);color:var(--color-danger)}.student-card.risk-card-amber{background-color:var(--color-warning-soft);border-left:4px solid var(--color-primary)}.student-card.risk-card-red{background-color:var(--color-danger-soft);border-left:4px solid var(--color-danger)}.risk-badge.risk-amber{background-color:var(--color-warning-soft);border:1px solid var(--color-primary);color:var(--color-warning)}.risk-badge.risk-red{background-color:var(--color-danger-soft);border:1px solid var(--color-danger);color:var(--color-danger)}.student-course{margin:2px 0 4px}.notification-body,.student-course{color:var(--color-text-muted);font-size:13px}.notification-body{font-style:italic;margin:4px 0 8px}.btn-dismiss{background-color:initial;border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-muted);cursor:pointer;font-size:13px;padding:8px 16px;transition:background-color .2s}.btn-dismiss:hover:not(:disabled){background-color:var(--color-surface-subtle);color:var(--color-text-muted)}.btn-dismiss:disabled{cursor:not-allowed;opacity:.6}.teacher-metrics{background-color:var(--color-bg);min-height:100%;padding:32px}.header{margin-bottom:32px}.header h1{color:var(--color-text);font-size:32px;font-weight:700;letter-spacing:-.11px;margin:0}.subtitle{color:var(--color-text-muted);font-size:14px;margin:8px 0 0}.error-message{background-color:var(--color-danger-soft);border-left:4px solid var(--color-danger);margin-bottom:24px;padding:16px}.loading{font-size:16px}.course-selector{background:var(--color-surface);border-radius:12px;box-shadow:var(--shadow-sm);gap:16px;margin-bottom:24px;padding:20px}.course-selector label{color:var(--color-text);font-weight:600;min-width:120px}.course-select{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;cursor:pointer;flex:1 1;font-family:Nunito Sans,sans-serif;font-size:14px;padding:10px 16px}.course-select:focus,.course-select:hover{border-color:var(--color-primary)}.course-select:focus{box-shadow:0 0 0 3px #f59e0b1a;outline:none}.teacher-metrics .metrics-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:32px}.teacher-metrics .metric-card{background:var(--color-surface);border-radius:12px;box-shadow:var(--shadow-sm);display:flex;gap:16px;padding:24px;transition:all .2s}.teacher-metrics .metric-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.teacher-metrics .metric-icon{align-items:center;border-radius:12px;display:flex;flex-shrink:0;font-size:28px;height:60px;justify-content:center;width:60px}.teacher-metrics .metric-icon.enrollment{background-color:var(--color-info-soft)}.teacher-metrics .metric-icon.completion{background-color:var(--color-success-soft)}.teacher-metrics .metric-icon.engagement{background-color:var(--color-warning-soft)}.teacher-metrics .metric-icon.average{background-color:#f3e5f5}.teacher-metrics .metric-icon.at-risk{background-color:var(--color-danger-soft)}.teacher-metrics .metric-icon.retention{background-color:#e0f2f1}.teacher-metrics .metric-details{display:flex;flex:1 1;flex-direction:column;justify-content:center}.teacher-metrics .metric-details h3{color:var(--color-text-muted);font-size:13px;font-weight:600;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.teacher-metrics .metric-value{color:var(--color-text);font-size:28px;font-weight:700;margin-bottom:4px}.teacher-metrics .metric-change{color:var(--color-text-muted);font-size:13px;font-weight:600}.teacher-metrics .metric-change.positive{color:var(--color-success)}.charts-section{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin-bottom:32px}.chart-card{background:var(--color-surface);border-radius:12px;box-shadow:var(--shadow-sm);padding:24px}.chart-card.full-width{grid-column:1/-1}.chart-card h2{color:var(--color-text);font-size:18px;font-weight:700;margin:0 0 24px}.insights-section{margin-bottom:32px}.insights-section h2{color:var(--color-text);font-size:20px;font-weight:700;margin:0 0 24px}.insights-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.insight-card{background:var(--color-surface);border-left:4px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-sm);padding:24px;transition:all .2s}.insight-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.insight-card.insight-positive{background:linear-gradient(135deg,#f1f8f5,#fff);border-left-color:var(--color-success)}.insight-card.insight-warning{background:linear-gradient(135deg,#fff5f5,#fff);border-left-color:var(--color-danger)}.insight-card.insight-info{background:linear-gradient(135deg,#f5f8ff,#fff);border-left-color:var(--color-primary)}.insight-icon{font-size:24px;margin-bottom:12px}.insight-content h3{color:var(--color-text);font-size:16px;font-weight:700;margin:0 0 8px}.insight-content p{color:var(--color-text-muted);font-size:14px;line-height:1.5;margin:0 0 12px}.insight-action{background-color:var(--color-primary);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:8px 16px;transition:background-color .2s}.insight-action:hover{background-color:var(--color-secondary-hover)}.empty-insights{background:var(--color-surface);border-radius:12px;box-shadow:var(--shadow-sm);padding:40px;text-align:center}.empty-insights p{color:var(--color-text-subtle);margin:0}.recommendations-section{background:var(--color-surface);border-radius:12px;box-shadow:var(--shadow-sm);padding:24px}.recommendations-section h2{color:var(--color-text);font-size:20px;font-weight:700;margin:0 0 24px}.recommendations-list{display:flex;flex-direction:column;gap:16px}.recommendation-item{background-color:var(--color-surface-subtle);border-left:4px solid var(--color-primary);border-radius:8px;display:flex;gap:16px;padding:16px}.rec-number{align-items:center;background-color:var(--color-primary);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-weight:700;height:40px;justify-content:center;width:40px}.rec-content h4{color:var(--color-text);font-size:15px;font-weight:700;margin:0 0 8px}.rec-content p{color:var(--color-text-muted);font-size:14px;line-height:1.5;margin:0 0 8px}.rec-impact{background-color:var(--color-success-soft);border-radius:4px;color:var(--color-success);display:inline-block;font-size:12px;font-weight:600;padding:8px}@media (max-width:1200px){.charts-section{grid-template-columns:1fr}.teacher-metrics .metrics-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}@media (max-width:768px){.teacher-metrics{padding:16px}.header h1{font-size:24px}.course-selector{align-items:flex-start;flex-direction:column}.course-select{width:100%}.charts-section,.insights-grid,.teacher-metrics .metrics-grid{grid-template-columns:1fr}.metric-card{flex-direction:column}.metric-icon{height:50px;width:50px}.recommendations-list{gap:12px}.recommendation-item{flex-direction:column}.rec-number{font-size:14px;height:32px;width:32px}}:root[data-theme=dark] .teacher-metrics .metric-icon.average{background-color:#8b5cf629}:root[data-theme=dark] .teacher-metrics .metric-icon.retention{background-color:#14b8a629}.teacher-qa{max-width:900px;padding:24px}.qa-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:20px}.qa-header h1{color:var(--color-text);font-size:24px;font-weight:700;margin:0}.qa-header-subtitle{align-items:center;display:flex;gap:8px}.urgency-legend{align-items:center;color:var(--color-text-muted);display:flex;font-size:12px;gap:6px}.dot{border-radius:50%;display:inline-block;height:10px;width:10px}.dot-amber{background:var(--color-warning)}.dot-red{background:var(--color-danger)}.course-selector{color:var(--color-text);font-size:14px;gap:10px;margin-bottom:16px}.course-selector,.qa-controls{align-items:center;display:flex}.qa-controls{gap:12px;margin-bottom:20px}.filter-select{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);cursor:pointer;font-size:14px;padding:8px 12px}.filter-select:focus{border-color:var(--color-primary);outline:none}.thread-count{color:var(--color-text-muted);font-size:13px}.thread-list{display:flex;flex-direction:column;gap:12px}.thread-item{align-items:flex-start;background:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid var(--color-text-subtle);border-radius:12px;cursor:pointer;display:flex;justify-content:space-between;padding:16px;transition:box-shadow .15s,border-color .15s}.thread-item:hover{box-shadow:var(--shadow-md)}.thread-item.answered{border-left-color:var(--color-success);opacity:.85}.thread-item.unanswered{border-left-color:var(--color-primary)}.thread-item.urgency-amber{background:var(--color-warning-soft);border-left-color:var(--color-warning)}.thread-item.urgency-red{background:var(--color-danger-soft);border-left-color:var(--color-danger)}.thread-content{flex:1 1;min-width:0}.thread-item-header{align-items:center;display:flex;gap:8px;margin-bottom:6px}.thread-title{color:var(--color-text);font-size:15px;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.urgency-badge{border-radius:999px;font-size:11px;font-weight:700;padding:2px 8px;white-space:nowrap}.urgency-badge-amber{background:var(--color-warning-soft);color:var(--color-warning)}.urgency-badge-red{background:var(--color-danger-soft);color:var(--color-danger)}.thread-preview{color:var(--color-text-muted);font-size:13px;line-height:1.5;margin:0 0 8px}.thread-meta{align-items:center;color:var(--color-text-subtle);display:flex;font-size:12px;gap:4px}.separator{color:var(--color-border-strong)}.thread-stats{align-items:flex-end;flex-shrink:0;gap:8px;margin-left:16px}.stat,.thread-stats{display:flex;flex-direction:column}.stat{align-items:center}.stat-value{color:var(--color-text);font-size:16px;font-weight:700}.stat-label{color:var(--color-text-subtle);font-size:11px}.badge,.status-badge{border-radius:999px;font-size:12px;font-weight:600;padding:3px 10px}.badge-answered,.thread-item.answered .status-badge{background:var(--color-success-soft);color:var(--color-success)}.badge-open{background:#ede9fe;color:#4c1d95}.badge-teacher{background:#dbeafe;color:#1e40af;font-size:11px;padding:2px 8px}.qa-detail-header{align-items:center;display:flex;gap:12px;margin-bottom:20px}.btn-back{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:14px;font-weight:600;padding:0}.btn-back:hover{text-decoration:underline}.question-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;margin-bottom:24px;padding:20px}.question-card h2{font-size:18px;font-weight:700}.question-body,.question-card h2{color:var(--color-text);margin:0 0 12px}.question-body{font-size:14px;line-height:1.6}.question-meta{color:var(--color-text-muted);display:flex;font-size:13px;gap:20px}.replies-section{margin-bottom:24px}.replies-section h3{color:var(--color-text);font-size:16px;font-weight:600;margin:0 0 12px}.empty-replies{color:var(--color-text-muted);font-size:14px}.reply-card{background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:10px;margin-bottom:10px;padding:14px}.reply-card.teacher-reply{background:#eff6ff;border-color:#bfdbfe}.reply-header{align-items:center;color:var(--color-text);display:flex;font-size:14px;gap:8px;margin-bottom:8px}.reply-time{color:var(--color-text-subtle);font-size:12px;margin-left:auto}.reply-card p{color:var(--color-text);font-size:14px;line-height:1.5;margin:0}.reply-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;margin-bottom:16px;padding:20px}.reply-form h3{color:var(--color-text);font-size:16px;font-weight:600;margin:0 0 12px}.reply-form textarea{border:1px solid var(--color-border);border-radius:8px;box-sizing:border-box;color:var(--color-text);font-family:inherit;font-size:14px;padding:10px 12px;resize:vertical;width:100%}.reply-form textarea:focus{border-color:var(--color-primary);outline:none}.char-count{color:var(--color-text-subtle);font-size:12px;margin-bottom:12px;margin-top:4px;text-align:right}.form-actions{display:flex;gap:10px;justify-content:flex-end}.btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:9px 20px;transition:opacity .15s}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-secondary)}.btn-cancel{background:var(--color-surface-muted)}.empty-state,.loading{color:var(--color-text-muted);padding:40px;text-align:center}.error-message{background:var(--color-danger-soft);border:1px solid #fecaca;border-radius:8px;color:var(--color-danger);font-size:13px;margin-bottom:16px;padding:10px 14px}.realtime-indicator{align-items:center;color:var(--color-text-subtle);display:flex;gap:8px;margin-top:20px}.pulse{animation:pulse-anim 2s infinite;background:var(--color-success);border-radius:50%;display:inline-block;height:8px;width:8px}@keyframes pulse-anim{0%,to{opacity:1}50%{opacity:.4}}:root[data-theme=dark] .badge-open{background:#8b5cf629;color:#c4b5fd}:root[data-theme=dark] .badge-teacher{background:#3b82f629;color:#93c5fd}:root[data-theme=dark] .reply-card.teacher-reply{background:#3b82f629;border-color:#3b82f64d}.statistics-page{background-color:var(--color-bg);min-height:100%;padding:24px 28px}.statistics-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.statistics-title{color:var(--color-text);font-size:22px;font-weight:700;letter-spacing:-.2px;margin:0}.statistics-subtitle{color:var(--color-text-muted);font-size:13.5px;margin-top:4px}.stats-period-tabs{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;flex-shrink:0;gap:2px;padding:4px}.stats-period-tab{background:none;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;font-family:inherit;font-size:12.5px;font-weight:500;padding:6px 14px;transition:background-color .12s ease,color .12s ease;white-space:nowrap}.stats-period-tab.active{background:var(--color-primary);box-shadow:var(--shadow-xs);color:var(--color-primary-contrast)}.stats-period-tab:not(.active):hover{background:var(--color-surface-subtle);color:var(--color-text)}.stats-error,.stats-loading{color:var(--color-text-muted);font-size:14px;padding:60px 24px;text-align:center}.stats-error{color:var(--color-danger)}.stats-skeleton{animation:shimmer 1.4s infinite;background:linear-gradient(90deg,var(--color-surface-subtle) 25%,var(--color-border) 50%,var(--color-surface-subtle) 75%);background-size:200% 100%;border-radius:var(--radius-md)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.stats-kpi-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:24px}@media (max-width:1200px){.stats-kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.stats-kpi-grid{grid-template-columns:1fr}}.stats-kpi-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);border-top:3px solid #0000;box-shadow:var(--shadow-xs);display:flex;flex-direction:column;gap:6px;padding:18px 20px;transition:box-shadow .2s ease,border-color .2s ease}.stats-kpi-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.stats-kpi-label{color:var(--color-text-subtle);font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.stats-kpi-value{color:var(--color-text);font-size:26px;font-weight:700;letter-spacing:-.3px;line-height:1.1}.stats-kpi-sub{color:var(--color-text-muted);font-size:12px;margin-top:2px}.stats-kpi-badge{align-items:center;border:1px solid #0000;border-radius:999px;display:inline-flex;font-size:11.5px;font-weight:600;gap:3px;padding:2px 8px;width:fit-content}.stats-kpi-badge.positive{background:var(--color-success-soft);border-color:#abefc6;color:var(--color-success)}.stats-kpi-badge.neutral{background:var(--color-surface-subtle);border-color:var(--color-border);color:var(--color-text-muted)}.stats-kpi-badge.warning{background:var(--color-warning-soft);border-color:#fedf89;color:var(--color-warning)}.stats-section-header{align-items:center;display:flex;gap:10px;margin-bottom:14px;margin-top:8px}.stats-section-title{color:var(--color-text);font-size:16px;font-weight:700;letter-spacing:-.1px}.stats-section-divider{background:var(--color-border);flex:1 1;height:1px}.stats-row-2{grid-gap:20px;grid-template-columns:2fr 1fr}.stats-row-2,.stats-row-equal{display:grid;gap:20px;margin-bottom:24px}.stats-row-equal{grid-gap:20px;grid-template-columns:repeat(2,1fr)}.stats-row-3{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr);margin-bottom:24px}@media (max-width:1100px){.stats-row-2,.stats-row-3,.stats-row-equal{grid-template-columns:1fr}}.stats-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);padding:20px 22px;transition:box-shadow .2s ease}.stats-card:hover{box-shadow:var(--shadow-md)}.stats-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.stats-card-title{color:var(--color-text);font-size:15px;font-weight:600}.stats-card-badge{background:var(--color-primary-soft);border:1px solid #fde68a;border-radius:999px;color:var(--color-primary-accent);font-size:11.5px;font-weight:600;padding:3px 10px}.stats-chart-empty{align-items:center;color:var(--color-text-subtle);display:flex;font-size:13px;height:200px;justify-content:center}.stats-summary-list{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.stats-summary-item{align-items:center;background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;justify-content:space-between;padding:10px 14px}.stats-summary-label{color:var(--color-text-muted);font-size:13px}.stats-summary-value{color:var(--color-text);font-size:13.5px;font-weight:700}.stats-highlight{color:var(--color-primary-accent)}.stats-engage-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin-bottom:24px}@media (max-width:900px){.stats-engage-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:550px){.stats-engage-grid{grid-template-columns:1fr}}.stats-engage-card{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);display:flex;gap:14px;padding:16px 18px}.stats-engage-icon{align-items:center;border-radius:var(--radius-md);display:flex;flex-shrink:0;font-size:18px;height:42px;justify-content:center;width:42px}.stats-engage-label{color:var(--color-text-subtle);font-size:11.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.stats-engage-value{color:var(--color-text);font-size:20px;font-weight:700;letter-spacing:-.2px;line-height:1.2}.stats-engage-sub{color:var(--color-text-subtle);font-size:11px}.stats-progress-item{margin-bottom:14px}.stats-progress-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.stats-progress-label{color:var(--color-text-muted);font-size:13px;font-weight:500}.stats-progress-pct{color:var(--color-text);font-size:13px;font-weight:700}.stats-progress-track{background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:999px;height:7px;overflow:hidden}.stats-progress-fill{border-radius:999px;height:100%;transition:width .8s cubic-bezier(.25,1,.5,1)}.stats-table{border-collapse:collapse;width:100%}.stats-table th{background:var(--color-surface-subtle);color:var(--color-text-muted);font-size:11.5px;font-weight:600;letter-spacing:.06em;padding:10px 12px;text-align:left;text-transform:uppercase}.stats-table td,.stats-table th{border-bottom:1px solid var(--color-border)}.stats-table td{color:var(--color-text);font-size:13.5px;padding:12px}.stats-table tr:last-child td{border-bottom:none}.stats-table tr:hover td{background:var(--color-surface-subtle)}.stats-table td:last-child,.stats-table th:last-child{text-align:right}.stats-rank{align-items:center;background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:50%;color:var(--color-text-muted);display:inline-flex;font-size:11px;font-weight:700;height:22px;justify-content:center;margin-right:8px;width:22px}.stats-rank.gold{background:var(--color-warning-soft);border-color:#fedf89;color:var(--color-warning)}.stats-rank.silver{background:var(--color-surface-subtle);border-color:var(--color-border-strong);color:var(--color-text-muted)}.stats-rank.bronze{background:var(--color-primary-soft);border-color:#fde68a;color:var(--color-primary-accent)}.stats-revenue-chip{background:var(--color-success-soft);border:1px solid #abefc6;border-radius:999px;color:var(--color-success);display:inline-block;font-size:12px;font-weight:600;padding:2px 10px}.stats-role-list{display:flex;flex-direction:column;gap:10px}.stats-role-item{align-items:center;display:flex;gap:10px}.stats-role-dot{border-radius:50%;flex-shrink:0;height:10px;width:10px}.stats-role-label{color:var(--color-text-muted);flex:1 1;font-size:13px;text-transform:capitalize}.stats-role-count{color:var(--color-text);font-size:13px;font-weight:700}.stats-role-bar{background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:999px;height:6px;overflow:hidden;width:80px}.stats-role-fill{border-radius:999px;height:100%}.stats-provider-list{display:flex;flex-direction:column;gap:8px}.stats-provider-item{align-items:center;background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;justify-content:space-between;padding:10px 14px}.stats-provider-name{color:var(--color-text);font-size:13px;font-weight:600;text-transform:capitalize}.stats-provider-amount{color:var(--color-primary-accent);font-size:13px;font-weight:700}.stats-period-select{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;font-family:inherit;font-size:13px;padding:7px 12px}.stats-period-select:hover{border-color:var(--color-border-strong)}.stats-metrics-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:24px}@media (max-width:1100px){.stats-metrics-grid{grid-template-columns:repeat(2,1fr)}}.stats-charts-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:2fr 1fr}@media (max-width:900px){.stats-charts-row{grid-template-columns:1fr}}.stats-chart-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);padding:20px 22px}.stats-chart-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.stats-chart-title{color:var(--color-text);font-size:15px;font-weight:600}.calendar-page{background:var(--color-bg);box-sizing:border-box;display:flex;gap:var(--space-5);height:calc(100vh - 68px);overflow:hidden;padding:var(--space-6)}.cal-sidebar{display:flex;flex-direction:column;flex-shrink:0;gap:var(--space-4);overflow-y:auto;width:272px}.cal-sidebar-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-4)}.cal-sidebar-section-title{color:var(--color-text-subtle);font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;margin-bottom:var(--space-3);text-transform:uppercase}.mini-cal{-webkit-user-select:none;user-select:none}.mini-cal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-2)}.mini-cal-month{color:var(--color-text);font-size:var(--text-base);font-weight:700}.mini-cal-nav{background:#0000;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:grid;font-size:16px;height:26px;place-items:center;transition:background .15s,color .15s;width:26px}.mini-cal-nav:hover{background:var(--color-surface-muted);color:var(--color-text)}.mini-cal-grid{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(7,1fr)}.mini-cal-dow{color:var(--color-text-subtle);font-size:10px;font-weight:700;padding:2px 0;text-align:center}.mini-cal-day{aspect-ratio:1;border-radius:50%;color:var(--color-text);cursor:pointer;display:grid;font-size:var(--text-sm);place-items:center;transition:background .12s,color .12s}.mini-cal-day:hover{background:var(--color-surface-muted)}.mini-cal-day.other-month{color:var(--color-text-subtle);opacity:.55}.mini-cal-day.selected{background:var(--color-secondary-soft);color:var(--color-secondary-accent);font-weight:700}.mini-cal-day.today{background:var(--color-primary);color:#fff;font-weight:700}.category-list{display:flex;flex-direction:column;gap:2px}.category-item{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:flex;gap:var(--space-2);padding:8px 10px;position:relative;transition:background .12s}.category-item:hover{background:var(--color-surface-subtle)}.category-item.active{background:var(--color-secondary-soft)}.category-dot{border-radius:50%;flex:none;height:10px;width:10px}.category-name{color:var(--color-text);flex:1 1;font-size:var(--text-base);font-weight:600;overflow:hidden;text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap}.category-item.active .category-name{color:var(--color-secondary-accent)}.category-actions{display:none;gap:2px}.category-item:hover .category-actions{display:flex}.cat-action-btn{background:#0000;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:grid;height:24px;place-items:center;transition:background .12s,color .12s;width:24px}.cat-action-btn:hover{background:var(--color-surface-muted);color:var(--color-text)}.cat-action-btn.delete:hover{background:var(--color-danger-soft);color:var(--color-danger)}.btn-add-category{align-items:center;background:#0000;border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;display:flex;font-size:var(--text-sm);font-weight:600;gap:6px;justify-content:center;margin-top:var(--space-3);padding:9px;transition:all .15s;width:100%}.btn-add-category:hover{background:var(--color-secondary-soft);border-color:var(--color-secondary);color:var(--color-secondary)}.btn-add-category span{font-size:16px;line-height:1}.cal-main{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex:1 1;flex-direction:column;min-width:0;overflow:hidden}.cal-toolbar{border-bottom:1px solid var(--color-border);gap:var(--space-4);justify-content:space-between;padding:var(--space-4) var(--space-5)}.cal-toolbar,.cal-toolbar-left{align-items:center;display:flex}.cal-toolbar-left{gap:var(--space-2)}.cal-toolbar-right{align-items:center;display:flex;gap:var(--space-3)}.cal-toolbar-title{color:var(--color-text);font-size:var(--text-xl);font-weight:700;letter-spacing:-.01em;margin-left:var(--space-2)}.btn-nav{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;display:grid;font-size:18px;height:34px;line-height:1;place-items:center;transition:all .15s;width:34px}.btn-nav:hover{background:var(--color-surface-muted);border-color:var(--color-border-strong);color:var(--color-text)}.btn-today{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;font-size:var(--text-sm);font-weight:600;height:34px;padding:0 14px;transition:all .15s}.btn-today:hover{border-color:var(--color-border-strong)}.btn-today:hover,.view-toggle{background:var(--color-surface-muted)}.view-toggle{border-radius:var(--radius-md);display:inline-flex;padding:3px}.view-btn{background:#0000;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;font-size:var(--text-sm);font-weight:600;padding:6px 14px;transition:all .15s}.view-btn.active{background:var(--color-surface);box-shadow:var(--shadow-xs);color:var(--color-text)}.btn-new-event{align-items:center;background:var(--color-primary);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-primary);color:var(--color-primary-contrast);cursor:pointer;display:inline-flex;font-size:var(--text-sm);font-weight:700;gap:6px;height:34px;padding:0 16px;transition:background .15s,transform .1s}.btn-new-event:hover{background:var(--color-primary-hover)}.btn-new-event:active{transform:scale(.97)}.cal-pinned-band{align-items:center;background:var(--color-primary-soft);border-bottom:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:var(--space-2);padding:10px var(--space-5)}.cal-pinned-label{align-items:center;color:var(--color-primary-accent);display:inline-flex;font-size:var(--text-xs);font-weight:700;gap:5px;letter-spacing:.04em;text-transform:uppercase}.cal-pinned-pill{border-radius:999px;color:#fff;cursor:pointer;font-size:var(--text-sm);font-weight:600;max-width:220px;overflow:hidden;padding:4px 12px;text-overflow:ellipsis;transition:filter .15s,transform .1s;white-space:nowrap}.cal-pinned-pill:hover{filter:brightness(.94)}.cal-pinned-pill:active{transform:scale(.97)}.cal-error,.cal-loading{align-items:center;color:var(--color-text-muted);display:flex;flex:1 1;flex-direction:column;font-size:var(--text-base);gap:var(--space-3);justify-content:center}.cal-error span{align-items:center;color:var(--color-danger);display:inline-flex;gap:6px}.cal-spinner{animation:cal-spin .8s linear infinite;border:3px solid var(--color-surface-muted);border-radius:50%;border-top-color:var(--color-primary);height:32px;width:32px}@keyframes cal-spin{to{transform:rotate(1turn)}}.btn-retry{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;font-weight:600;padding:8px 16px}.btn-retry:hover{background:var(--color-surface-muted)}.cal-month{display:flex;flex:1 1;flex-direction:column;min-height:0}.cal-month-header{border-bottom:1px solid var(--color-border);display:grid;grid-template-columns:repeat(7,1fr)}.cal-dow{color:var(--color-text-subtle);font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;padding:10px 0;text-align:center;text-transform:uppercase}.cal-grid{display:grid;flex:1 1;grid-auto-rows:1fr;grid-template-columns:repeat(7,1fr);min-height:0}.cal-cell{border-bottom:1px solid var(--color-border);border-right:1px solid var(--color-border);cursor:pointer;display:flex;flex-direction:column;gap:3px;min-height:0;overflow:hidden;padding:6px;transition:background .12s}.cal-cell:nth-child(7n){border-right:none}.cal-cell.other-month,.cal-cell:hover{background:var(--color-surface-subtle)}.cal-cell.other-month .cal-day-num{color:var(--color-text-subtle);opacity:.6}.cal-day-num{align-items:center;align-self:flex-start;border-radius:999px;color:var(--color-text-muted);display:inline-flex;font-size:var(--text-sm);font-weight:600;height:24px;justify-content:center;min-width:24px;padding:0 6px}.cal-cell.today .cal-day-num{background:var(--color-primary);color:#fff;font-weight:700}.cal-events{flex-direction:column;gap:3px}.cal-event-pill,.cal-events{display:flex;overflow:hidden}.cal-event-pill{align-items:center;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:var(--text-sm);font-weight:600;gap:4px;padding:3px 8px;transition:filter .12s}.cal-event-pill:hover{filter:brightness(.93)}.cal-event-pin{display:inline-flex;flex:none;opacity:.9}.cal-event-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-more{color:var(--color-text-muted);cursor:pointer;font-size:var(--text-xs);font-weight:700;padding:1px 8px}.cal-more:hover{color:var(--color-secondary)}.cal-week{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.cal-week-header{border-bottom:1px solid var(--color-border);display:grid;grid-template-columns:64px repeat(7,1fr)}.week-day-header,.week-time-gutter{border-right:1px solid var(--color-border)}.week-day-header{cursor:pointer;padding:8px 0;text-align:center;transition:background .12s}.week-day-header:last-child{border-right:none}.week-day-header:hover{background:var(--color-surface-subtle)}.week-day-label{color:var(--color-text-subtle);font-size:var(--text-xs);font-weight:700;letter-spacing:.03em;text-transform:uppercase}.week-day-num{border-radius:50%;color:var(--color-text);display:grid;font-size:var(--text-md);font-weight:700;height:30px;margin:3px auto 0;place-items:center;width:30px}.week-day-header.today .week-day-num{background:var(--color-primary);color:#fff}.cal-week-body{display:grid;flex:1 1;grid-template-columns:64px repeat(7,1fr);min-height:0;overflow-y:auto}.week-time-col{border-right:1px solid var(--color-border)}.week-time-slot{height:52px;position:relative}.week-time-label{color:var(--color-text-subtle);font-size:10px;font-weight:600;position:absolute;right:8px;top:-7px}.week-day-col{border-right:1px solid var(--color-border);cursor:pointer;position:relative}.week-day-col:last-child{border-right:none}.week-day-col.today{background:var(--color-primary-soft)}.week-hour-slot{border-bottom:1px solid var(--color-border);height:52px}.week-events-overlay{inset:0;pointer-events:none;position:absolute}.week-event-block{border-radius:var(--radius-sm);box-shadow:var(--shadow-xs);color:#fff;cursor:pointer;font-size:var(--text-sm);font-weight:600;left:4px;overflow:hidden;padding:4px 8px;pointer-events:auto;position:absolute;right:4px;transition:filter .12s}.week-event-block:hover{filter:brightness(.93)}.modal-overlay{align-items:center;animation:cal-fade .15s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#191b2e6b;display:flex;inset:0;justify-content:center;padding:var(--space-4);position:fixed;z-index:1000}@keyframes cal-fade{0%{opacity:0}to{opacity:1}}.modal-card{animation:cal-pop .16s cubic-bezier(.16,1,.3,1);background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-width:480px;overflow:hidden;width:100%}.modal-card.small{max-width:400px}@keyframes cal-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.modal-header{align-items:center;display:flex;justify-content:space-between;padding:var(--space-5) var(--space-6) var(--space-3)}.modal-title{color:var(--color-text);font-size:var(--text-lg);font-weight:700;margin:0}.modal-close{background:#0000;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:grid;font-size:22px;height:30px;line-height:1;place-items:center;transition:background .12s,color .12s;width:30px}.modal-close:hover{background:var(--color-surface-muted);color:var(--color-text)}.modal-body{display:flex;flex-direction:column;gap:var(--space-4);padding:0 var(--space-6) var(--space-5)}.modal-footer{align-items:center;background:var(--color-surface-subtle);border-top:1px solid var(--color-border);display:flex;justify-content:space-between;padding:var(--space-4) var(--space-6)}.modal-footer-right{display:flex;gap:var(--space-2)}.form-group{display:flex;flex-direction:column;gap:6px}.form-row{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:1fr 1fr}.form-label{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:600}.form-input,.form-textarea{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);font-size:var(--text-base);outline:none;padding:10px 12px;transition:border-color .15s,box-shadow .15s;width:100%}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-subtle)}.form-input:focus,.form-textarea:focus{border-color:var(--color-secondary);box-shadow:0 0 0 3px var(--color-secondary-soft)}.form-textarea{line-height:1.5;min-height:76px;resize:vertical}.form-select{width:100%}.form-checkbox-row{align-items:center;cursor:pointer;display:flex;gap:8px;-webkit-user-select:none;user-select:none}.form-checkbox{accent-color:var(--color-primary);cursor:pointer;height:16px;width:16px}.form-checkbox-label{align-items:center;color:var(--color-text-muted);display:inline-flex;font-size:var(--text-base);gap:5px}.color-picker{display:flex;flex-wrap:wrap;gap:8px}.color-swatch{border-radius:50%;box-shadow:inset 0 0 0 1px #00000014;cursor:pointer;height:26px;transition:transform .12s,box-shadow .12s;width:26px}.color-swatch:hover{transform:scale(1.1)}.color-swatch.selected{box-shadow:0 0 0 2px var(--color-surface),0 0 0 4px currentColor;transform:scale(1.1)}.btn-cancel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;font-size:var(--text-sm);font-weight:600;padding:9px 16px;transition:all .15s}.btn-cancel:hover{background:var(--color-surface-muted);border-color:var(--color-border-strong)}.btn-save{background:var(--color-primary);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-primary);color:var(--color-primary-contrast);cursor:pointer;font-size:var(--text-sm);font-weight:700;padding:9px 18px;transition:background .15s}.btn-save:hover{background:var(--color-primary-hover)}.btn-save:disabled{box-shadow:none;cursor:not-allowed;opacity:.6}.btn-delete-event{align-items:center;background:var(--color-danger-soft);border:1px solid var(--color-danger-soft);border-radius:var(--radius-md);color:var(--color-danger);cursor:pointer;display:inline-flex;font-size:var(--text-sm);font-weight:600;gap:6px;justify-content:center;padding:9px 16px;transition:all .15s}.btn-delete-event:hover{background:#fee4e2}.btn-edit-event{align-items:center;background:var(--color-secondary);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:inline-flex;flex:1 1;font-size:var(--text-sm);font-weight:600;gap:6px;justify-content:center;padding:9px 16px;transition:background .15s}.btn-edit-event:hover{background:var(--color-secondary-hover)}.event-detail-panel{animation:cal-pop .16s cubic-bezier(.16,1,.3,1);background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);left:50%;max-width:400px;overflow:hidden;position:fixed;top:50%;transform:translate(-50%,-50%);width:100%;z-index:1001}.event-detail-color-bar{height:6px;width:100%}.event-detail-body{padding:var(--space-5) var(--space-6) var(--space-6)}.event-detail-title{align-items:center;color:var(--color-text);display:flex;font-size:var(--text-xl);font-weight:700}.event-detail-row{align-items:flex-start;color:var(--color-text);display:flex;font-size:var(--text-base);gap:var(--space-3);padding:7px 0}.event-detail-icon{color:var(--color-text-subtle);flex:none;margin-top:1px}.event-detail-actions{border-top:1px solid var(--color-border);display:flex;gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-4)}@media (max-width:920px){.cal-sidebar{display:none}}@media (max-width:640px){.calendar-page{padding:var(--space-3)}.cal-toolbar{flex-wrap:wrap}.cal-toolbar-title{font-size:var(--text-lg)}}.pc-page{min-height:100%;padding:24px 28px 40px}.pc-head{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px}.pc-eyebrow{color:var(--color-secondary);font-size:11.5px;font-weight:700;letter-spacing:.7px;text-transform:uppercase}.pc-stats{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,1fr);margin-bottom:18px}@media (max-width:720px){.pc-stats{grid-template-columns:1fr}}.pc-stat{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);display:flex;flex-direction:column;gap:4px;overflow:hidden;padding:16px 18px;position:relative;transition:transform .24s cubic-bezier(.2,.8,.2,1),box-shadow .24s ease,border-color .24s ease}.pc-stat:before{background:radial-gradient(120% 90% at 100% 0,#4f46e50d,#0000 55%);background:radial-gradient(120% 90% at 100% 0,var(--pc-wash,#4f46e50d),#0000 55%);content:"";inset:0;pointer-events:none;position:absolute}.pc-stat:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md);transform:translateY(-3px)}.pc-stat-icon{align-items:center;background:var(--color-secondary-soft);border-radius:10px;color:var(--color-secondary);display:inline-flex;height:36px;justify-content:center;margin-bottom:6px;width:36px}.pc-stat-value{font-feature-settings:"tnum";color:var(--color-text);font-size:24px;font-variant-numeric:tabular-nums;font-weight:750;letter-spacing:-.5px;line-height:1}.pc-stat-label{color:var(--color-text-muted);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.pc-stat.is-total{--pc-wash:#f59e0b12}.pc-stat.is-total .pc-stat-icon{background:var(--color-primary-soft);color:var(--color-primary-accent)}.pc-stat.is-good{--pc-wash:#0676470f}.pc-stat.is-good .pc-stat-icon{background:var(--color-success-soft);color:var(--color-success)}.pc-stat.is-info{--pc-wash:#4f46e50f}.pc-stat.is-info .pc-stat-icon{background:var(--color-secondary-soft);color:var(--color-secondary)}.pc-toolbar{flex-wrap:wrap;gap:10px;margin-bottom:16px}.pc-search,.pc-toolbar{align-items:center;display:flex}.pc-search{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);flex:1 1 280px;gap:8px;max-width:420px;padding:9px 13px;transition:border-color .16s ease,box-shadow .16s ease}.pc-search:focus-within{border-color:var(--color-secondary);box-shadow:0 0 0 3px #4f46e529}.pc-search svg{color:var(--color-text-subtle);flex-shrink:0}.pc-search input{background:#0000;border:0;color:var(--color-text);flex:1 1;font-family:inherit;font-size:13.5px;min-width:0;outline:0}.pc-table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);overflow-x:auto}.pc-table{border-collapse:collapse;width:100%}.pc-table th{background:var(--color-surface-subtle);color:var(--color-text-muted);font-size:11px;font-weight:700;letter-spacing:.5px;text-align:left;text-transform:uppercase;white-space:nowrap}.pc-table td,.pc-table th{border-bottom:1px solid var(--color-border);padding:12px 18px}.pc-table td{color:var(--color-text);font-size:13.5px;vertical-align:middle}.pc-table tbody tr:last-child td{border-bottom:0}.pc-table tbody tr:hover{background:var(--color-surface-subtle)}.pc-th-actions{width:1%}.pc-th-uses{width:160px}.pc-code-cell{display:flex;flex-direction:column;gap:3px}.pc-code{align-items:center;background:var(--color-secondary-soft);border:1px dashed #c7cbff;border-radius:8px;color:var(--color-secondary-accent);cursor:pointer;display:inline-flex;font-family:inherit;font-family:source-code-pro,Menlo,monospace;font-size:13px;font-weight:700;gap:7px;letter-spacing:.6px;padding:5px 10px;transition:background-color .14s ease,border-color .14s ease;width:fit-content}.pc-code:hover{background:var(--color-secondary-soft-hover);border-color:var(--color-secondary)}.pc-code svg{height:13px;opacity:.7;width:13px}.pc-code-name{color:var(--color-text-muted);font-size:11.5px}.pc-discount{color:var(--color-text);font-weight:700}.pc-uses{display:flex;flex-direction:column;gap:5px}.pc-uses-text{font-feature-settings:"tnum";color:var(--color-text);font-size:12.5px;font-variant-numeric:tabular-nums;font-weight:600}.pc-uses-inf{color:var(--color-text-subtle);font-size:11.5px}.pc-uses-bar{background:var(--color-surface-muted);border-radius:999px;height:6px;max-width:130px;overflow:hidden}.pc-uses-fill{background:linear-gradient(90deg,var(--color-secondary),#6366f1);border-radius:999px;height:100%;transition:width .4s cubic-bezier(.2,.8,.2,1)}.pc-validity{display:flex;flex-direction:column;gap:4px}.pc-validity-dates{font-feature-settings:"tnum";color:var(--color-text-muted);font-size:12px;font-variant-numeric:tabular-nums}.pc-switch{background:var(--color-border-strong);border:0;border-radius:999px;cursor:pointer;height:23px;padding:0;position:relative;transition:background-color .18s ease;width:40px}.pc-switch.is-on{background:var(--color-success)}.pc-switch-knob{background:var(--color-surface);border-radius:50%;box-shadow:var(--shadow-sm);height:19px;left:2px;position:absolute;top:2px;transition:transform .18s cubic-bezier(.2,.8,.2,1);width:19px}.pc-switch.is-on .pc-switch-knob{transform:translateX(17px)}.pc-actions{white-space:nowrap}.pc-icon-btn{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;height:32px;justify-content:center;margin-left:6px;transition:background-color .14s ease,color .14s ease,border-color .14s ease;width:32px}.pc-icon-btn:first-child{margin-left:0}.pc-icon-btn svg{height:15px;width:15px}.pc-icon-btn:hover{background:var(--color-secondary-soft);border-color:var(--color-secondary);color:var(--color-secondary)}.pc-icon-btn.is-danger:hover{background:var(--color-danger-soft);border-color:#fecdca;color:var(--color-danger)}.pc-modal-overlay{align-items:center;animation:pc-fade .16s ease both;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#0f172a6b;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}@keyframes pc-fade{0%{opacity:0}to{opacity:1}}.pc-modal{animation:pc-pop .22s cubic-bezier(.2,.8,.2,1) both;background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-height:92vh;max-width:520px;overflow-y:auto;width:100%}.pc-modal-sm{max-width:400px}@keyframes pc-pop{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}.pc-modal-head{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:20px 24px}.pc-modal-head h3{color:var(--color-text);font-size:16px;font-weight:700;letter-spacing:-.1px}.pc-modal-close{align-items:center;background:var(--color-surface-muted);border:0;border-radius:8px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;font-size:18px;height:30px;justify-content:center;line-height:1;transition:background-color .14s ease,color .14s ease;width:30px}.pc-modal-close:hover{background:var(--color-danger-soft);color:var(--color-danger)}.pc-modal-body{gap:16px;padding:20px 24px}.pc-field,.pc-modal-body{display:flex;flex-direction:column}.pc-field>label{color:var(--color-text);font-size:12.5px;font-weight:600;margin-bottom:7px}.pc-optional{color:var(--color-text-subtle);font-size:11.5px;font-weight:400}.pc-field input{width:100%}.pc-field-row{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}@media (max-width:460px){.pc-field-row{grid-template-columns:1fr}}.pc-code-input{display:flex;gap:8px}.pc-code-input input{flex:1 1}.pc-gen-btn{align-items:center;background:var(--color-secondary-soft);border:1px solid #d3d7ff;border-radius:var(--radius-md);color:var(--color-secondary-accent);cursor:pointer;display:inline-flex;flex-shrink:0;font-family:inherit;font-size:12.5px;font-weight:600;gap:6px;padding:0 14px;transition:background-color .14s ease,border-color .14s ease}.pc-gen-btn:hover{background:var(--color-secondary-soft-hover);border-color:var(--color-secondary)}.pc-gen-btn svg{height:15px;width:15px}.pc-active-row{align-items:center;color:var(--color-text);cursor:pointer;display:flex;font-size:13px;gap:9px}.pc-form-err{background:var(--color-danger-soft);border:1px solid #fecdca;border-radius:var(--radius-sm);color:var(--color-danger);font-size:12.5px;margin:0;padding:8px 10px}.pc-modal-actions{background:var(--color-surface-subtle);border-top:1px solid var(--color-border);display:flex;gap:10px;justify-content:flex-end;padding:14px 24px}.pc-scope-pill{background:var(--color-secondary-soft);border-radius:999px;color:var(--color-secondary);display:inline-block;font-size:11.5px;font-weight:600;max-width:180px;overflow:hidden;padding:3px 10px;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.pc-scope-pill.is-all{background:var(--color-surface-muted);color:var(--color-text-muted)}.pc-scope-toggle{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.pc-scope-opt{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:1px;padding:10px 12px;text-align:left;transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease}.pc-scope-opt strong{color:var(--color-text);font-size:12.5px;font-weight:700}.pc-scope-opt span{color:var(--color-text-muted);font-size:11px}.pc-scope-opt.is-active,.pc-scope-opt:hover{border-color:var(--color-secondary)}.pc-scope-opt.is-active{background:var(--color-secondary-soft);box-shadow:0 0 0 3px #4f46e524}.pc-scope-opt.is-active strong{color:var(--color-secondary-accent)}.pc-courses{border:1px solid var(--color-border);border-radius:var(--radius-md);margin-top:10px;overflow:hidden}.pc-courses-bar{align-items:center;background:var(--color-surface-subtle);border-bottom:1px solid var(--color-border);color:var(--color-text-muted);display:flex;font-size:11.5px;font-weight:600;justify-content:space-between;padding:8px 12px}.pc-courses-clear{background:#0000;border:0;color:var(--color-secondary);cursor:pointer;font-family:inherit;font-size:11.5px;font-weight:600}.pc-courses-clear:hover{color:var(--color-secondary-hover)}.pc-courses-list{max-height:168px;overflow-y:auto}.pc-courses-empty{color:var(--color-text-muted);font-size:12.5px;margin:0;padding:14px}.pc-course-row{align-items:center;border-bottom:1px solid var(--color-border);cursor:pointer;display:flex;gap:10px;padding:9px 12px;transition:background-color .12s ease}.pc-course-row:last-child{border-bottom:0}.pc-course-row:hover{background:var(--color-surface-subtle)}.pc-course-row.is-checked{background:var(--color-secondary-soft)}.pc-course-title{color:var(--color-text);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-page{background:var(--color-bg);display:flex;flex-direction:column;gap:var(--space-5);min-height:100%;padding:var(--space-6) var(--space-8)}.team-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between}.team-title{color:var(--color-text);font-size:var(--text-2xl);font-weight:700;letter-spacing:-.01em;margin:0}.team-subtitle{color:var(--color-text-muted);font-size:var(--text-sm);margin:4px 0 0}.team-header-actions{align-items:center;display:flex;gap:var(--space-3)}.team-view-toggle{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);display:inline-flex;padding:3px}.team-view-btn{background:#0000;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:grid;height:30px;place-items:center;transition:all .15s;width:34px}.team-view-btn.active{background:var(--color-surface);box-shadow:var(--shadow-xs);color:var(--color-secondary)}.team-add-btn{align-items:center;background:var(--color-primary);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-primary);color:var(--color-primary-contrast);cursor:pointer;display:inline-flex;font-size:var(--text-sm);font-weight:700;gap:6px;height:38px;padding:0 18px;transition:background .15s,transform .1s}.team-add-btn:hover{background:var(--color-primary-hover)}.team-add-btn:active{transform:scale(.97)}.team-stats-strip{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(4,1fr)}@media (max-width:900px){.team-stats-strip{grid-template-columns:repeat(2,1fr)}}@media (max-width:520px){.team-stats-strip{grid-template-columns:1fr}}.team-stat-card{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid var(--color-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;gap:var(--space-3);padding:var(--space-4) var(--space-5);transition:box-shadow .15s,transform .15s}.team-stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.team-stat-icon{border-radius:var(--radius-md);display:grid;flex:none;height:42px;place-items:center;width:42px}.team-stat-label{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:600}.team-stat-value{color:var(--color-text);font-size:var(--text-2xl);font-weight:800;letter-spacing:-.01em;line-height:1.1}.team-filters-bar{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3)}.team-search-wrap{align-items:center;display:flex;flex:1 1;min-width:220px;position:relative}.team-search-icon{color:var(--color-text-subtle);display:inline-flex;left:12px;pointer-events:none;position:absolute}.team-search{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--text-base);height:40px;outline:none;padding:0 12px 0 36px;transition:border-color .15s,box-shadow .15s;width:100%}.team-search::placeholder{color:var(--color-text-subtle)}.team-search:focus{border-color:var(--color-secondary);box-shadow:0 0 0 3px var(--color-secondary-soft)}.team-role-tabs{display:inline-flex;flex-wrap:wrap;gap:var(--space-2)}.team-role-tab{background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-muted);cursor:pointer;font-size:var(--text-sm);font-weight:600;height:34px;padding:0 14px;transition:all .15s}.team-role-tab:hover{border-color:var(--color-border-strong);color:var(--color-text)}.team-role-tab.active{background:var(--color-secondary);border-color:var(--color-secondary);box-shadow:var(--shadow-secondary);color:var(--color-secondary-contrast)}.team-sort-select{min-width:150px}.team-error{background:var(--color-danger-soft);border:1px solid #fecdca;border-radius:var(--radius-md);color:var(--color-danger);font-size:var(--text-sm);padding:var(--space-3) var(--space-4)}.team-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(228px,1fr))}.team-card{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;overflow:hidden;padding:var(--space-5) var(--space-4) var(--space-4);position:relative;transition:box-shadow .15s,transform .15s,border-color .15s}.team-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.team-card-top-bar{height:4px;left:0;position:absolute;right:0;top:0}.team-card-avatar{border-radius:50%;box-shadow:var(--shadow-sm);color:#fff;display:grid;font-size:var(--text-xl);font-weight:700;height:66px;margin-bottom:var(--space-3);place-items:center;position:relative;width:66px}.team-card-avatar img{border-radius:50%;height:100%;object-fit:cover;width:100%}.team-card-status-dot{border:2.5px solid var(--color-surface);border-radius:50%;bottom:2px;height:14px;position:absolute;right:2px;width:14px}.team-card-name{color:var(--color-text);font-size:var(--text-md);font-weight:700}.team-card-email,.team-card-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-card-email{color:var(--color-text-subtle);font-size:var(--text-sm);margin-top:2px}.team-card-badges{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:var(--space-3) 0}.team-card-role-badge{text-transform:capitalize}.team-card-role-badge,.team-card-status-badge,.team-status-badge{border-radius:999px;font-size:var(--text-xs);font-weight:700;padding:3px 10px}.team-card-status-badge.active,.team-status-badge.active{background:var(--color-success-soft);color:var(--color-success)}.team-card-status-badge.inactive,.team-status-badge.inactive{background:var(--color-surface-muted);color:var(--color-text-muted)}.team-card-status-badge.banned,.team-status-badge.banned{background:var(--color-danger-soft);color:var(--color-danger)}.team-card-meta{align-items:center;color:var(--color-text-subtle);display:flex;font-size:var(--text-xs);gap:4px;margin-bottom:var(--space-3)}.team-card-meta span{align-items:center;display:inline-flex;gap:4px}.team-card-actions{border-top:1px solid var(--color-border);display:flex;gap:6px;padding-top:var(--space-3);width:100%}.team-card-action-btn{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;display:inline-flex;flex:1 1;font-size:var(--text-sm);font-weight:600;gap:4px;height:32px;justify-content:center;padding:0 8px;transition:all .15s}.team-card-action-btn:hover{background:var(--color-surface-muted);border-color:var(--color-border-strong);color:var(--color-text)}.team-card-action-btn.success:hover{background:var(--color-success-soft);border-color:#0000;color:var(--color-success)}.team-card-action-btn.warn:hover{background:var(--color-warning-soft);border-color:#0000;color:var(--color-warning)}.team-card-action-btn.danger{flex:0 0 36px}.team-card-action-btn.danger:hover{background:var(--color-danger-soft);border-color:#0000;color:var(--color-danger)}.team-skeleton-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-4)}.team-skeleton{animation:team-shimmer 1.4s ease infinite;background:linear-gradient(90deg,var(--color-surface-muted) 25%,var(--color-surface-subtle) 37%,var(--color-surface-muted) 63%);background-size:400% 100%;border-radius:var(--radius-sm)}@keyframes team-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.team-empty{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:var(--space-3);justify-content:center;padding:var(--space-12) var(--space-6)}.team-empty-icon{background:var(--color-surface-muted);border-radius:50%;color:var(--color-text-subtle);display:grid;height:84px;place-items:center;width:84px}.team-empty-title{color:var(--color-text);font-size:var(--text-lg);font-weight:700}.team-empty-sub{color:var(--color-text-muted);font-size:var(--text-sm)}.team-table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.team-table{border-collapse:collapse;font-size:var(--text-base);width:100%}.team-table th{background:var(--color-surface-subtle);color:var(--color-text-subtle);font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;padding:13px var(--space-5);text-align:left;text-transform:uppercase;white-space:nowrap}.team-table td,.team-table th{border-bottom:1px solid var(--color-border)}.team-table td{color:var(--color-text);padding:12px var(--space-5);vertical-align:middle}.team-table tbody tr{transition:background .12s}.team-table tbody tr:hover{background:var(--color-surface-subtle)}.team-table tbody tr:last-child td{border-bottom:none}.team-member-cell{align-items:center;display:flex;gap:var(--space-3)}.team-avatar{border-radius:50%;color:#fff;display:grid;flex:none;font-size:var(--text-sm);font-weight:700;height:40px;place-items:center;position:relative;width:40px}.team-avatar img{border-radius:50%;height:100%;object-fit:cover;width:100%}.team-avatar-status{border:2px solid var(--color-surface);border-radius:50%;bottom:-1px;height:11px;position:absolute;right:-1px;width:11px}.team-member-name{color:var(--color-text);font-weight:600}.team-member-id{font-feature-settings:"tnum";color:var(--color-text-subtle);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.team-role-select{min-width:120px}.team-actions{display:flex;gap:4px}.team-action-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;display:grid;height:32px;place-items:center;transition:all .15s;width:32px}.team-action-btn:hover{background:var(--color-surface-muted);color:var(--color-text)}.team-action-btn.success:hover{background:var(--color-success-soft);border-color:#0000;color:var(--color-success)}.team-action-btn.warn:hover{background:var(--color-warning-soft);border-color:#0000;color:var(--color-warning)}.team-action-btn.danger:hover{background:var(--color-danger-soft);border-color:#0000;color:var(--color-danger)}.team-pagination{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:space-between}.team-pagination-info{color:var(--color-text-muted);font-size:var(--text-sm)}.team-pagination-controls{align-items:center;display:flex;gap:4px}.team-page-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;font-size:var(--text-sm);font-weight:600;height:34px;min-width:34px;padding:0 8px;transition:all .15s}.team-page-btn:hover:not(:disabled){background:var(--color-surface-muted);border-color:var(--color-border-strong)}.team-page-btn:disabled{cursor:not-allowed;opacity:.45}.team-page-btn.current{background:var(--color-secondary);border-color:var(--color-secondary);color:#fff}.team-modal-overlay{align-items:center;animation:team-fade .15s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#191b2e6b;display:flex;inset:0;justify-content:center;padding:var(--space-4);position:fixed;z-index:1000}@keyframes team-fade{0%{opacity:0}to{opacity:1}}.team-modal{animation:team-pop .16s cubic-bezier(.16,1,.3,1);background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-width:520px;overflow:hidden;width:100%}@keyframes team-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.team-modal-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:var(--space-5) var(--space-6)}.team-modal-title{color:var(--color-text);font-size:var(--text-lg);font-weight:700}.team-modal-close{background:#0000;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:grid;height:30px;place-items:center;transition:background .12s,color .12s;width:30px}.team-modal-close:hover{background:var(--color-surface-muted);color:var(--color-text)}.team-modal-body{padding:var(--space-6)}.team-form-error{background:var(--color-danger-soft);border-radius:var(--radius-md);color:var(--color-danger);font-size:var(--text-sm);font-weight:500;margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4)}.team-avatar-preview{border-radius:50%;box-shadow:var(--shadow-md);color:#fff;display:grid;font-size:var(--text-2xl);font-weight:700;height:72px;place-items:center;width:72px}.team-form-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:1fr 1fr}.team-form-full{grid-column:1/-1}.team-field{display:flex;flex-direction:column;gap:6px}.team-label{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:600}.team-input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);font-size:var(--text-base);height:40px;outline:none;padding:0 12px;transition:border-color .15s,box-shadow .15s}.team-input::placeholder{color:var(--color-text-subtle)}.team-input:focus{border-color:var(--color-secondary);box-shadow:0 0 0 3px var(--color-secondary-soft)}.team-select{width:100%}.team-field-hint{color:var(--color-text-subtle);font-size:var(--text-xs)}.team-modal-footer{background:var(--color-surface-subtle);border-top:1px solid var(--color-border);display:flex;gap:var(--space-2);justify-content:flex-end;padding:var(--space-4) var(--space-6)}.team-btn-cancel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;font-size:var(--text-sm);font-weight:600;padding:9px 16px;transition:all .15s}.team-btn-cancel:hover{background:var(--color-surface-muted);border-color:var(--color-border-strong)}.team-btn-save{background:var(--color-primary);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-primary);color:var(--color-primary-contrast);cursor:pointer;font-size:var(--text-sm);font-weight:700;padding:9px 18px;transition:background .15s}.team-btn-save:hover{background:var(--color-primary-hover)}.team-btn-save:disabled{box-shadow:none;cursor:not-allowed;opacity:.6}.team-confirm-modal{animation:team-pop .16s cubic-bezier(.16,1,.3,1);background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-width:380px;padding:var(--space-6);text-align:center;width:100%}.team-confirm-icon{background:var(--color-danger-soft);border-radius:50%;color:var(--color-danger);display:grid;height:60px;margin:0 auto var(--space-4);place-items:center;width:60px}.team-confirm-title{color:var(--color-text);font-size:var(--text-lg);font-weight:700;margin-bottom:6px}.team-confirm-msg{color:var(--color-text-muted);font-size:var(--text-base);line-height:1.5;margin-bottom:var(--space-5)}.team-confirm-btns{display:flex;gap:var(--space-2)}.team-confirm-btns>button{border:none;border-radius:var(--radius-md);cursor:pointer;flex:1 1;font-size:var(--text-sm);font-weight:600;padding:10px}.team-confirm-cancel{background:var(--color-surface-muted);border:1px solid var(--color-border)!important;color:var(--color-text)}.team-confirm-cancel:hover{background:var(--color-border)}.team-confirm-delete{background:var(--color-danger);color:#fff}.team-confirm-delete:hover{background:#a11c13}.team-confirm-warn{background:var(--color-warning);color:#fff}.team-confirm-warn:hover{filter:brightness(.94)}.team-toast{animation:team-toast-in .25s cubic-bezier(.16,1,.3,1);background:var(--nav-bg-solid);border-radius:var(--radius-md);bottom:24px;box-shadow:var(--shadow-lg);color:#fff;font-size:var(--text-sm);font-weight:600;left:50%;padding:12px 20px;position:fixed;transform:translateX(-50%);z-index:1100}@keyframes team-toast-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.tm-page{padding:4px 2px 48px}.tm-head{align-items:flex-end;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:22px}.tm-eyebrow{color:var(--color-secondary);display:inline-block;font-size:12px;font-weight:700;letter-spacing:.08em;margin-bottom:6px;text-transform:uppercase}.tm-head .page-title{margin:0}.tm-head .page-sub{color:var(--color-text-muted);font-size:14px;margin:6px 0 0}.tm-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:28px}.tm-stat{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:2px;overflow:hidden;padding:18px 18px 16px;position:relative}.tm-stat:before{bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.tm-stat.is-indigo:before{background:#4f46e5}.tm-stat.is-green:before{background:#059669}.tm-stat.is-amber:before{background:#f59e0b}.tm-stat.is-slate:before{background:#64748b}.tm-stat-icon{align-items:center;border-radius:10px;display:inline-flex;height:34px;justify-content:center;margin-bottom:8px;width:34px}.tm-stat.is-indigo .tm-stat-icon{background:#eef0ff;color:#4f46e5}.tm-stat.is-green .tm-stat-icon{background:#ecfdf3;color:#059669}.tm-stat.is-amber .tm-stat-icon{background:#fff8ec;color:#b45309}.tm-stat.is-slate .tm-stat-icon{background:#f1f5f9;color:#475569}.tm-stat-value{color:var(--color-text);font-size:26px;font-weight:800;line-height:1.1}.tm-stat-label{color:var(--color-text-muted);font-size:12.5px;font-weight:600}.tm-section{margin-bottom:30px}.tm-section-head{align-items:center;display:flex;gap:10px;margin-bottom:14px}.tm-section-icon{align-items:center;border-radius:9px;display:inline-flex;height:30px;justify-content:center;width:30px}.acc-indigo{background:#eef0ff;color:#4f46e5}.acc-green{background:#ecfdf3;color:#059669}.acc-amber{background:#fff8ec;color:#b45309}.acc-slate{background:#f1f5f9;color:#475569}.tm-section-title{color:var(--color-text);font-size:16px;font-weight:750;margin:0}.tm-section-sub{color:var(--color-text-subtle);font-size:13px}.tm-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.tm-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;padding:18px;transition:box-shadow .18s,transform .18s,border-color .18s}.tm-card:hover{border-color:var(--color-secondary-soft);box-shadow:var(--shadow-md);transform:translateY(-2px)}.tm-card.is-inactive{opacity:.72}.tm-card-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.tm-card-icon{align-items:center;border-radius:11px;display:inline-flex;height:40px;justify-content:center;width:40px}.tm-card-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s}.tm-card:hover .tm-card-actions{opacity:1}.tm-icon-btn{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;height:30px;justify-content:center;transition:all .15s;width:30px}.tm-icon-btn:hover{background:var(--color-surface-muted);color:var(--color-text)}.tm-icon-btn.is-danger:hover{background:#fef2f2;border-color:#fecaca;color:#dc2626}.tm-card-name{align-items:center;color:var(--color-text);display:flex;font-size:16.5px;font-weight:750;gap:8px;margin:0 0 4px}.tm-inactive-pill{background:#f1f5f9;border-radius:999px;color:#64748b;font-size:10.5px;font-weight:700;letter-spacing:.04em;padding:2px 7px;text-transform:uppercase}.tm-card-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--color-text-muted);display:-webkit-box;font-size:13px;line-height:1.5;margin:0 0 14px;overflow:hidden}.tm-card-members{gap:10px;justify-content:space-between;margin-top:auto;padding-top:12px}.tm-avatars,.tm-card-members{align-items:center;display:flex}.tm-avatar{align-items:center;border:2px solid var(--color-surface);border-radius:50%;display:inline-flex;font-size:11px;font-weight:700;height:30px;justify-content:center;margin-left:-8px;width:30px}.tm-avatar:first-child{margin-left:0}.tm-avatar-more{background:#eef2f7;color:#475569}.tm-avatar.is-invited{border-color:#cbd5e1;border-style:dashed;opacity:.8}.tm-invited-badge{background:#f1f5f9;border-radius:999px;color:#64748b;font-size:10px;font-weight:700;letter-spacing:.04em;padding:2px 6px;text-transform:uppercase}.tm-no-members{color:var(--color-text-subtle);font-size:12.5px;font-style:italic}.tm-member-count{font-weight:600;white-space:nowrap}.tm-lead,.tm-member-count{color:var(--color-text-muted);font-size:12.5px}.tm-lead{align-items:center;display:flex;gap:6px;margin-top:10px}.tm-lead svg{fill:#f59e0b;color:#f59e0b;height:14px;width:14px}.tm-manage-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;color:var(--color-secondary);cursor:pointer;font-size:13px;font-weight:650;margin-top:14px;padding:9px 12px;transition:all .15s;width:100%}.tm-manage-btn:hover{background:#eef0ff;border-color:#c7d2fe}.tm-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a7a;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.tm-modal{animation:tm-pop .16s ease;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:460px;overflow:hidden;width:100%}.tm-modal-sm{max-width:400px}@keyframes tm-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.tm-modal-head{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;padding:20px 22px 12px}.tm-modal-head h3{color:var(--color-text);font-size:17px;font-weight:750;margin:0}.tm-modal-close{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;height:30px;justify-content:center;width:30px}.tm-modal-close:hover{background:var(--color-surface-muted)}.tm-modal-body{padding:4px 22px 8px}.tm-modal-body p{color:var(--color-text-muted);font-size:14px;line-height:1.55;margin:0}.tm-field{margin-bottom:16px}.tm-field>label{color:var(--color-text);display:block;font-size:13px;font-weight:650;margin-bottom:7px}.tm-field input[type=text],.tm-field textarea{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;color:var(--color-text);font-family:inherit;font-size:14px;padding:10px 12px;transition:border-color .15s,box-shadow .15s;width:100%}.tm-field input:focus,.tm-field textarea:focus{border-color:var(--color-secondary);box-shadow:0 0 0 3px #4f46e524;outline:none}.tm-field textarea{resize:vertical}.tm-optional{font-weight:500}.tm-help,.tm-optional{color:var(--color-text-subtle)}.tm-help{display:block;font-size:12px;margin-top:6px}.tm-active-row{align-items:center;color:var(--color-text);cursor:pointer;display:flex;font-size:13.5px;font-weight:600;gap:9px;margin-top:2px}.tm-active-row input{accent-color:var(--color-secondary);height:16px;width:16px}.tm-form-err{color:#dc2626;font-size:13px;margin:12px 0 0}.tm-modal-actions{display:flex;gap:10px;justify-content:flex-end;padding:16px 22px 20px}.tm-drawer{animation:tm-pop .16s ease;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:86vh;max-width:500px;overflow:hidden;width:100%}.tm-drawer-sub{color:var(--color-text-muted);font-size:12.5px}.tm-drawer-add{border-bottom:1px solid var(--color-border);display:flex;gap:10px;padding:4px 22px 16px}.tm-drawer-add:not(:last-of-type){border-bottom:none;padding-bottom:6px}.tm-add-select{flex:1 1}.tm-drawer-or{align-items:center;display:flex;gap:10px;padding:2px 22px 10px}.tm-drawer-or span{color:var(--color-text-subtle);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.tm-drawer-or:after,.tm-drawer-or:before{background:var(--color-border);content:"";flex:1 1;height:1px}.tm-invite-input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-sizing:border-box;color:var(--color-text);flex:1 1;font-family:inherit;font-size:13.5px;height:40px;padding:0 12px}.tm-invite-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #f59e0b1f;outline:none}.tm-invite-input::placeholder{color:var(--color-text-subtle)}.tm-member-list{overflow-y:auto;padding:8px 14px 16px}.tm-no-members-msg{color:var(--color-text-subtle);font-size:13.5px;padding:26px 8px;text-align:center}.tm-member-row{align-items:center;border-radius:10px;display:flex;gap:12px;padding:10px 8px;transition:background .15s}.tm-member-row:hover{background:var(--color-surface-muted)}.tm-member-row .tm-avatar{height:34px;margin-left:0;width:34px}.tm-member-info{flex:1 1;min-width:0}.tm-member-name{align-items:center;color:var(--color-text);display:flex;font-size:14px;font-weight:650;gap:8px}.tm-member-sub{color:var(--color-text-muted);display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-lead-badge{background:#fff8ec;border-radius:999px;color:#b45309;font-size:10px;font-weight:700;letter-spacing:.04em;padding:2px 6px;text-transform:uppercase}.tm-lead-btn{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;color:#cbd5e1;cursor:pointer;display:inline-flex;height:30px;justify-content:center;transition:all .15s;width:30px}.tm-lead-btn.is-on,.tm-lead-btn:hover{border-color:#fde68a;color:#f59e0b}.tm-lead-btn.is-on{background:#fff8ec}.tm-lead-btn.is-on svg{fill:#f59e0b}@media (max-width:900px){.tm-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.tm-grid,.tm-stats{grid-template-columns:1fr}}.tm-create-toggle{align-items:center;background:#0000;border:1px dashed var(--color-border);border-radius:10px;color:var(--color-secondary);cursor:pointer;display:flex;font-size:13px;font-weight:650;gap:8px;margin:0 22px 14px;padding:10px 12px;transition:all .15s;width:calc(100% - 44px)}.tm-create-toggle:hover{background:var(--color-surface-muted);border-color:var(--color-secondary-soft)}.tm-create-panel{background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:12px;margin:0 22px 14px;padding:16px}.tm-perm-preview{margin-bottom:14px}.tm-perm-role{border-radius:999px;display:inline-block;font-size:11.5px;font-weight:700;margin-bottom:10px;padding:3px 10px}.tm-perm-cols{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}.tm-perm-cols ul{margin:4px 0 0;padding-left:16px}.tm-perm-cols li{color:var(--color-text-muted);font-size:12px;line-height:1.5}.tm-perm-h{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.tm-perm-can{color:#059669}.tm-perm-cannot{color:#b42318}.tm-create-field{margin-bottom:12px}.tm-create-field>label{color:var(--color-text);display:block;font-size:12.5px;font-weight:650;margin-bottom:6px}.tm-create-field input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:9px;color:var(--color-text);font-family:inherit;font-size:13.5px;padding:9px 11px;width:100%}.tm-create-field input:focus{border-color:var(--color-secondary);box-shadow:0 0 0 3px #4f46e524;outline:none}.tm-pw-row{display:flex;gap:6px}.tm-pw-row input{flex:1 1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.02em}.tm-pw-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:9px;color:var(--color-text-muted);cursor:pointer;flex:0 0 auto;font-size:15px;transition:all .15s;width:38px}.tm-pw-btn:hover{background:var(--color-surface-muted);color:var(--color-text)}.tm-create-hint{color:var(--color-text-subtle);display:block;font-size:11.5px;margin-top:6px}.tm-create-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}.tm-creds-note{color:var(--color-text-muted);font-size:13.5px;margin:0 0 12px}.tm-creds-box{border:1px solid var(--color-border);border-radius:10px;margin-bottom:12px;overflow:hidden}.tm-creds-row{align-items:center;display:flex;gap:12px;justify-content:space-between;padding:10px 14px}.tm-creds-row+.tm-creds-row{border-top:1px solid var(--color-border)}.tm-creds-row span{color:var(--color-text-subtle);font-size:12px;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.tm-creds-row code{color:var(--color-text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;font-weight:650}.tm-creds-copy{justify-content:center;width:100%}@media (max-width:520px){.tm-perm-cols{grid-template-columns:1fr}}:root[data-theme=dark] .tm-avatar-more{background:#24304a;color:#cbd5e1}:root[data-theme=dark] .tm-inactive-pill,:root[data-theme=dark] .tm-invited-badge{background:#94a3b829;color:#cbd5e1}:root[data-theme=dark] .tm-manage-btn:hover{background:#4f46e52e;border-color:var(--color-secondary-soft)}:root[data-theme=dark] .tm-icon-btn.is-danger:hover{background:#dc26262e;border-color:#dc262666;color:#fca5a5}.th-page{margin:0 auto;max-width:1600px;padding:4px 2px 8px}.th-head{margin-bottom:18px}.th-eyebrow{color:var(--color-secondary);display:inline-block;font-size:12px;font-weight:700;letter-spacing:.08em;margin-bottom:6px;text-transform:uppercase}.th-title{color:var(--color-text);font-size:26px;font-weight:800;margin:0}.th-sub{color:var(--color-text-muted);font-size:14px;margin:6px 0 0}.th-tabs{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:12px;display:inline-flex;gap:4px;margin-bottom:22px;padding:4px}.th-tab{appearance:none;background:#0000;border:none;border-radius:9px;color:var(--color-text-muted);cursor:pointer;font-size:14px;font-weight:650;padding:8px 20px;transition:all .15s}.th-tab.is-active,.th-tab:hover{color:var(--color-text)}.th-tab.is-active{background:var(--color-surface);box-shadow:var(--shadow-sm)}.th-panel{animation:th-fade .18s ease}@keyframes th-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.th-panel .team-page,.th-panel .tm-page{padding:0}.th-panel .team-header{margin-top:0}.App{background-color:var(--color-surface);display:flex;height:100vh;width:100%}.page-content{color:var(--color-text);font-size:24px;font-weight:600;padding:32px}
/*# sourceMappingURL=main.4bc821c5.css.map*/