:root{color-scheme:light;--background: #F8F7F2;--background-secondary: #F1EFEA;--surface: #FFFFFF;--surface-elevated: #FCFAF7;--surface-hover: #F2EFE8;--surface-card: #FFFFFF;--text-primary: #184332;--text-secondary: #4A554F;--text-muted: #5E6761;--border: #E5E0D5;--border-subtle: #EEEAE2;--action: #2D6A4F;--action-hover: #1B4332;--text-on-action: #FFFFFF;--danger-fill: #A83131;--info-fill: #366E8D;--accent-teal: #2D6A4F;--accent-forest: #1B4332;--accent-emerald: #2D6A4F;--accent-sage: #52B788;--accent-sage-subtle: #DFEBE1;--accent-sage-tint: #EAF2EC;--accent-olive: #748C74;--accent-cyan: #2D7266;--accent-blue: #366E8D;--accent-violet: #6D597A;--accent-amber: #93560A;--accent-success: #2D6A4F;--accent-danger: #A83131;--platform-zoom-text: #1A64C2;--platform-meet-text: #1B7337;--sidebar-bg: #FAF8F3;--sidebar-surface: #FAF8F3;--sidebar-text: #184332;--sidebar-text-muted: #58655E;--sidebar-border: #E5E0D5;--sidebar-hover: #EFEBE2;--sidebar-active-bg: #DFEBE1;--sidebar-active-border: transparent;--sidebar-active-text: #1B4332;--sidebar-active-shadow: 0 1px 3px rgba(27, 67, 50, .08);--sidebar-badge-bg: #DFEBE1;--sidebar-badge-text: #1B4332;--bg: var(--background);--surface-2: var(--background-secondary);--ink: var(--text-primary);--ink-2: var(--text-secondary);--fg: var(--text-primary);--fg-secondary: var(--text-secondary);--fg-muted: var(--text-muted);--muted: var(--text-muted);--muted-2: var(--text-muted);--line: var(--border);--line-2: var(--border-subtle);--teal: var(--accent-teal);--focus-ring-color: var(--accent-teal);--focus-ring-width: 2px;--focus-ring-offset: 2px;--primary: var(--accent-teal);--teal-2: #2D6A4F;--teal-light: #DFEBE1;--teal-hover: #1B4332;--indigo: var(--accent-blue);--indigo-2: #366E8D;--violet: var(--accent-violet);--amber: var(--accent-amber);--green: var(--accent-success);--danger: var(--accent-danger);--coral: var(--accent-danger);--grad-primary: linear-gradient(135deg, #1B4332 0%, #2D6A4F 100%);--grad-teal: linear-gradient(135deg, #1B4332 0%, #2D6A4F 100%);--grad-cyan: linear-gradient(135deg, #2D6A4F 0%, #366E8D 100%);--grad-amber: linear-gradient(135deg, #C97A1E 0%, #BC3939 100%);--grad-violet: linear-gradient(135deg, #6D597A 0%, #2D6A4F 100%);--grad-accent: linear-gradient(135deg, #1B4332 0%, #C97A1E 100%);--grad-sidebar: #FAF8F3;--grad-hero-light: linear-gradient(135deg, #F8F4EC 0%, #F1EFEA 50%, #E9E1D2 100%);--shadow-sm: 0 1px 3px rgba(35, 45, 38, .04), 0 1px 2px rgba(35, 45, 38, .02);--shadow-md: 0 4px 16px rgba(35, 45, 38, .06), 0 2px 4px rgba(35, 45, 38, .03);--shadow-lg: 0 12px 32px rgba(35, 45, 38, .08), 0 4px 10px rgba(35, 45, 38, .03);--shadow-xl: 0 20px 48px rgba(35, 45, 38, .1), 0 8px 16px rgba(35, 45, 38, .04);--shadow-card: 0 2px 10px rgba(35, 45, 38, .04), 0 1px 3px rgba(35, 45, 38, .02);--glow-teal: 0 0 16px rgba(45, 106, 79, .2);--glow-cyan: 0 0 16px rgba(45, 114, 102, .2);--glow-violet: 0 0 16px rgba(109, 89, 122, .2);--glow-amber: 0 0 16px rgba(201, 122, 30, .2);--glass: rgba(255, 255, 255, .88);--glass-elevated: rgba(255, 255, 255, .94);--glass-line: rgba(45, 55, 48, .08);--control-h-sm: 32px;--control-h: 40px;--control-h-lg: 44px;--control-touch: 44px;--control-radius: 10px;--control-font: var(--text-sm);--control-font-sm: .75rem;--control-select-chevron: url("data:image/svg+xml,%3Csvg 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%235E6761%27 stroke-width=%272.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpolyline points=%276 9 12 15 18 9%27/%3E%3C/svg%3E");--viz-teal: #3E9C78;--viz-blue: #3F7FA6;--viz-violet: #7B67B4;--viz-violet-deep: #63519C;--viz-pink: #B65A84;--page-title-size: clamp(1.25rem, 1.05rem + .9vw, 1.5rem);--section-title-size: 1.0625rem;--card-radius: 18px;--tile-radius: 16px;--tile-padding: 16px 18px;--tile-value-size: 1.4rem;--tile-label-size: .78rem;--dialog-backdrop: rgba(10, 16, 23, .72);--dialog-radius: var(--radius-xl);--dialog-shadow: 0 24px 50px -12px rgba(0, 0, 0, .35), 0 0 0 1px var(--border-subtle);--z-dialog: 1100;--z-dialog-top: 1150;--radius-xs: 6px;--radius-sm: 8px;--radius: 14px;--radius-lg: 18px;--radius-xl: 22px;--radius-pill: 999px;--text-xs: .725rem;--text-sm: .8125rem;--text-base: .9375rem;--text-lg: 1.0625rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: clamp(1.625rem, 4vw, 2.25rem);--text-4xl: clamp(1.875rem, 5vw, 2.75rem);--text-hero: clamp(2.25rem, 7vw, 3.75rem);--space-1: 6px;--space-2: 10px;--space-3: 14px;--space-4: 20px;--space-5: 28px;--space-6: 36px;--space-8: 48px;--space-10: 64px;--space-12: 80px;--ease: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--ease-spring: cubic-bezier(.18, .89, .32, 1.28);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s}[data-theme=dark]{--viz-teal: #52B788;--viz-blue: #5FA8D3;--viz-violet: #A08BD8;--viz-violet-deep: #8A74C9;--viz-pink: #D07BA2;--control-select-chevron: url("data:image/svg+xml,%3Csvg 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%23B0B8B3%27 stroke-width=%272.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpolyline points=%276 9 12 15 18 9%27/%3E%3C/svg%3E");color-scheme:dark;--background: #0F1115;--background-secondary: #171A21;--surface: #1A1D23;--surface-elevated: #21252D;--surface-hover: #262B34;--surface-card: #1A1D23;--text-primary: #EEF2EF;--text-secondary: #B0B8B3;--text-muted: #959E98;--border: #2E3340;--border-subtle: #242833;--action: #2F7A57;--action-hover: #286A4B;--text-on-action: #FFFFFF;--danger-fill: #C2453B;--info-fill: #2F6585;--accent-teal: #52B788;--accent-forest: #2D6A4F;--accent-emerald: #52B788;--accent-sage: #52B788;--accent-sage-subtle: rgba(82, 183, 136, .14);--accent-sage-tint: rgba(82, 183, 136, .08);--accent-olive: #74C69D;--accent-cyan: #4FB3A6;--accent-blue: #7FA8C9;--accent-violet: #B49BC8;--accent-amber: #E0A43A;--accent-success: #5CC28F;--accent-danger: #F08A80;--platform-zoom-text: #6EA8FF;--platform-meet-text: #5CC28F;--sidebar-bg: #14171D;--sidebar-surface: #1A1D23;--sidebar-text: #EEF2EF;--sidebar-text-muted: #B0B8B3;--sidebar-border: #2E3340;--sidebar-hover: #1E232B;--sidebar-active-bg: rgba(82, 183, 136, .16);--sidebar-active-border: transparent;--sidebar-active-text: #52B788;--sidebar-active-shadow: 0 2px 8px rgba(0, 0, 0, .35);--sidebar-badge-bg: rgba(82, 183, 136, .2);--sidebar-badge-text: #52B788;--bg: var(--background);--surface-2: var(--background-secondary);--ink: var(--text-primary);--ink-2: var(--text-secondary);--fg: var(--text-primary);--fg-secondary: var(--text-secondary);--fg-muted: var(--text-muted);--muted: var(--text-muted);--muted-2: var(--text-muted);--line: var(--border);--line-2: var(--border-subtle);--teal: var(--accent-teal);--focus-ring-color: var(--accent-teal);--focus-ring-width: 2px;--focus-ring-offset: 2px;--primary: var(--accent-teal);--teal-2: #52B788;--teal-light: rgba(82, 183, 136, .16);--teal-hover: #2D6A4F;--indigo: var(--accent-blue);--indigo-2: #7FA8C9;--violet: var(--accent-violet);--amber: var(--accent-amber);--green: var(--accent-success);--danger: var(--accent-danger);--coral: var(--accent-danger);--grad-primary: linear-gradient(135deg, #24573F 0%, #2F7A57 100%);--grad-teal: linear-gradient(135deg, #24573F 0%, #2F7A57 100%);--grad-cyan: linear-gradient(135deg, #2F7A57 0%, #2D7266 100%);--grad-amber: linear-gradient(135deg, #A86A12 0%, #B0473B 100%);--grad-violet: linear-gradient(135deg, #5E4C6B 0%, #2F7A57 100%);--grad-accent: linear-gradient(135deg, #2F7A57 0%, #A86A12 100%);--grad-sidebar: #14171D;--grad-hero-dark: linear-gradient(135deg, #1A1D23 0%, #15181E 60%, #0F1115 100%);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .35);--shadow-md: 0 4px 16px rgba(0, 0, 0, .45);--shadow-lg: 0 12px 36px rgba(0, 0, 0, .55);--shadow-xl: 0 24px 64px rgba(0, 0, 0, .65);--shadow-card: 0 4px 20px rgba(0, 0, 0, .35);--dialog-shadow: 0 24px 60px -12px rgba(0, 0, 0, .65), 0 0 0 1px var(--border-subtle);--glow-teal: 0 0 16px rgba(82, 183, 136, .25);--glow-cyan: 0 0 16px rgba(79, 179, 166, .22);--glow-violet: 0 0 16px rgba(180, 155, 200, .22);--glow-amber: 0 0 16px rgba(224, 164, 58, .22);--glass: rgba(26, 29, 35, .88);--glass-elevated: rgba(33, 37, 45, .92);--glass-line: rgba(255, 255, 255, .08)}*,*:before,*:after{box-sizing:border-box}html{width:100%;min-height:100%;scroll-behavior:smooth;-webkit-text-size-adjust:100%}html[dir=rtl] body{text-align:right}html[dir=ltr] body{text-align:left}body{margin:0;width:100%;min-width:0;min-height:100vh;overflow-x:hidden;font-family:Inter,Tajawal,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:var(--text-base);line-height:1.65;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}#app{width:100%;min-width:0;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer;touch-action:manipulation}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}h1,h2,h3,h4,h5,h6{line-height:1.25;font-weight:700;margin:0 0 var(--space-3);letter-spacing:-.015em}p{margin:0 0 var(--space-3)}p:last-child{margin-bottom:0}:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);transition:outline-offset var(--duration-fast) var(--ease)}::selection{background:var(--action);color:var(--text-on-action)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100%;inset-inline-start:8px;z-index:9999;background:var(--action);color:var(--text-on-action);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-weight:600;transition:top var(--duration-fast) var(--ease)}.skip-link:focus{top:8px}hr{border:none;border-top:1px solid var(--line);margin:var(--space-4) 0}ul,ol{padding-inline-start:1.25em}code{font-family:JetBrains Mono,Fira Code,monospace;font-size:.875em;background:var(--surface-2);padding:.15em .4em;border-radius:4px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--muted-2)}.app-shell{display:grid;grid-template-columns:260px minmax(0,1fr);width:100%;min-width:0;height:100vh;height:100dvh;min-height:100vh;min-height:100dvh;overflow:hidden}.app-shell.app-shell--sidebar-closed{grid-template-columns:0px minmax(0,1fr)}.app-shell.app-shell--without-sidebar{grid-template-columns:minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;height:100dvh;padding:var(--space-4) var(--space-2);color:var(--sidebar-text);background:var(--sidebar-bg);display:flex;flex-direction:column;border-inline-end:1px solid var(--sidebar-border);z-index:40;contain:layout style;transition:opacity var(--duration-fast) var(--ease),visibility var(--duration-fast) var(--ease);opacity:1;visibility:visible}.app-shell.app-shell--sidebar-closed .sidebar{opacity:0;visibility:hidden;pointer-events:none}.main{min-width:0;height:100vh;height:100dvh;padding:var(--space-5);display:flex;flex-direction:column;flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.app-main{min-width:0;width:100%;display:flex;flex-direction:column;min-height:0;height:100vh;height:100dvh;overflow:hidden}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) 0 var(--space-4);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);margin-bottom:var(--space-3);background:color-mix(in srgb,var(--bg) 70%,transparent)}.topbar-left{display:flex;align-items:center;flex-shrink:0}.topbar-center{flex:1;display:flex;align-items:center;justify-content:center;min-width:0}.topbar-right{display:flex;align-items:center;gap:var(--space-1);flex-shrink:0}.actions-group{display:flex;align-items:center;gap:4px}.actions-divider{width:1px;height:24px;background:var(--line);margin:0 var(--space-1);flex-shrink:0}@media (max-width: 1180px){.app-shell:not(.app-shell--sidebar-closed){grid-template-columns:260px minmax(0,1fr)}.app-shell.app-shell--sidebar-closed{grid-template-columns:0px minmax(0,1fr)}.main{padding:var(--space-4)}.topbar .search{width:min(280px,100%)}}@media (max-width: 900px){.app-shell{display:block;overflow:visible}.app-shell.app-shell--sidebar-closed{display:block}.sidebar{position:fixed;top:0;left:0;right:auto;z-index:60;width:280px;height:100vh;flex-direction:column;align-items:stretch;padding:var(--space-4) var(--space-2);border-right:1px solid var(--sidebar-border);border-left:none;border-bottom:none;transform:translate(-100%);transition:transform var(--duration-normal) var(--ease),opacity var(--duration-normal) var(--ease),visibility var(--duration-normal) var(--ease);opacity:0;visibility:hidden;pointer-events:none}.sidebar.sidebar--open{transform:translate(0);opacity:1;visibility:visible;pointer-events:auto}[dir=rtl] .sidebar{left:auto;right:0;border-left:1px solid var(--sidebar-border);border-right:none;transform:translate(100%)}[dir=rtl] .sidebar.sidebar--open{transform:translate(0)}.topbar{z-index:30}.sidebar-overlay.open{display:block}.app-main{padding-top:0}.brand{padding:0 0 var(--space-2);flex-shrink:0;justify-content:flex-start;gap:var(--space-1)}.sidebar .sidebar-close-btn{display:flex;width:44px;height:44px;flex-shrink:0;padding:0}.brand>div:not(.logo){display:block}.nav{display:grid;min-width:0;gap:1px}.nav span{display:inline}.nav button{justify-content:start;padding:8px 10px}.sidebar-nav{overflow-y:auto;flex:1;max-height:calc(100vh - 100px);max-height:calc(100dvh - 100px)}.main{padding:var(--space-3);padding-bottom:calc(88px + env(safe-area-inset-bottom,16px))}.topbar{flex-wrap:wrap;gap:var(--space-1)}.topbar-left{order:0}.topbar-center{order:2;flex:1 1 100%;justify-content:stretch}.topbar-center .search{width:100%}.topbar-right{order:1;margin-inline-start:auto}.actions-divider{display:none}}.sidebar-nav{display:flex;flex-direction:column;gap:var(--space-1);overflow-y:auto;flex:1;padding-bottom:var(--space-4);scrollbar-width:thin;scrollbar-color:var(--line) transparent}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}.nav-section{display:flex;flex-direction:column;gap:1px;margin-top:var(--space-2)}.nav-section:first-child{margin-top:0}@media (min-width: 901px) and (max-height: 940px){.sidebar .sidebar-nav{gap:2px;padding-bottom:var(--space-2)}.sidebar .nav-section{margin-top:4px}.sidebar .nav-section:first-child{margin-top:0}.sidebar .nav-group-title{margin-top:0;padding-block:2px}.sidebar .nav-item-btn{padding-block:5px}}.sidebar-overlay{display:none}@media (max-width: 900px){.sidebar-overlay{display:none;position:fixed;inset:0;z-index:55;background:#0006;animation:fadeIn .2s var(--ease)}.sidebar-overlay.open{display:block}}.app-shell.app-shell--full,.app-shell.app-shell--without-sidebar{grid-template-columns:minmax(0,1fr)}@media (max-width: 900px){body:has(.sidebar-overlay.open) .ai-fab{z-index:54}.sidebar{height:100dvh}}.brand{display:flex;align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-1) 2px var(--space-2)}.logo{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;flex:0 0 auto;color:#fff;font-weight:900;background:var(--grad-primary);box-shadow:0 8px 24px #14b8a647;position:relative;overflow:hidden}.logo:after{content:"";position:absolute;inset:3px;border-radius:9px;border:1px solid rgba(255,255,255,.2);pointer-events:none}.brand .brand-title{display:block;margin:0;font-size:19px;line-height:1.05;letter-spacing:-.02em}.brand p{margin:4px 0 0;color:var(--muted);font-size:11px;font-weight:500}.nav-group-title{color:var(--sidebar-text-muted);font-size:10.5px;font-weight:700;padding:0 var(--space-2);margin-top:var(--space-2);text-transform:uppercase;letter-spacing:.8px}.nav{display:grid;gap:2px}.nav button{border:0;border-radius:var(--radius-sm);padding:9px 10px;display:flex;align-items:center;gap:10px;background:transparent;color:var(--ink-2);text-align:start;font-size:var(--text-sm);font-weight:500;transition:all var(--duration-fast) var(--ease);position:relative}.nav button:hover{background:var(--surface-2);color:var(--ink)}.nav button.active{background:var(--teal-light);color:var(--ink);font-weight:600}.nav button.active:before{content:"";position:absolute;inset-inline-start:0;top:50%;transform:translateY(-50%);width:3px;height:18px;border-radius:0 3px 3px 0;background:linear-gradient(180deg,var(--teal-2),var(--teal))}.code-editor-view{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.ce-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap;padding:var(--space-2);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm)}.ce-toolbar-left,.ce-toolbar-center,.ce-toolbar-right,.ce-language-selector{display:flex;align-items:center;gap:var(--space-1)}.ce-language-selector{color:var(--muted)}.ce-language-selector select{min-height:36px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 var(--space-2);background:var(--surface);color:var(--ink)}.ce-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 var(--space-2);background:var(--surface);color:var(--ink-2);font-size:var(--text-sm);font-weight:600;white-space:nowrap;transition:background var(--duration-fast) var(--ease),border-color var(--duration-fast) var(--ease)}.ce-btn:hover:not(:disabled){border-color:var(--teal);background:var(--surface-2)}.ce-btn:disabled{cursor:wait;opacity:.65}.ce-btn-primary{border-color:var(--teal);background:var(--action);color:var(--text-on-action)}.ce-divider{width:1px;height:24px;background:var(--line);margin-inline:var(--space-1)}.ce-workspace{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.85fr);min-width:0;min-height:min(680px,calc(100vh - 230px));overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm)}.ce-editor-pane,.ce-output-pane{min-width:0;min-height:0}.ce-editor-pane{min-height:420px;border-inline-end:1px solid var(--line);background:var(--surface)}.ce-monaco-container{width:100%;height:100%;min-height:420px;direction:ltr;text-align:left}.ce-fallback-container{display:flex;flex-direction:column;width:100%;height:100%;min-height:420px;background:var(--surface, #ffffff)}[data-theme=dark] .ce-fallback-container{background:var(--surface, #16241E)}.ce-fallback-toolbar{display:flex;align-items:center;justify-content:space-between;padding:6px 14px;background:var(--surface-2, #ece9e2);border-bottom:1px solid var(--border, rgba(25, 48, 58, .12));font-size:11px}[data-theme=dark] .ce-fallback-toolbar{background:var(--surface-2, #1B2C23);border-bottom-color:var(--border, #22352B)}.ce-fallback-lang-badge{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-weight:700;padding:2px 8px;border-radius:6px;background:var(--teal-light, rgba(8, 127, 106, .1));color:var(--teal, #087F6A)}.ce-fallback-hint{color:var(--text-muted, #7A8790);font-size:11px}.ce-fallback-editor{position:relative;display:flex;flex:1;width:100%;min-height:380px;overflow:auto;background:transparent}.ce-fallback-gutter{display:flex;flex-direction:column;padding:12px 8px;user-select:none;background:var(--surface-2, #ece9e2);border-inline-end:1px solid var(--border, rgba(25, 48, 58, .12));color:var(--text-muted, #7A8790);font-family:JetBrains Mono,Fira Code,ui-monospace,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.6;text-align:right;min-width:44px;box-sizing:border-box}[data-theme=dark] .ce-fallback-gutter{background:var(--surface-2, #1B2C23);border-inline-end-color:var(--border, #22352B);color:var(--text-muted, #9EB1A5)}.ce-fallback-content{position:relative;flex:1;min-width:0;height:100%}.ce-fallback-highlight{margin:0;padding:12px 14px;font-family:JetBrains Mono,Fira Code,ui-monospace,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.6;white-space:pre;word-break:normal;word-wrap:normal;pointer-events:none;background:transparent;color:var(--text-primary, #101820);box-sizing:border-box}[data-theme=dark] .ce-fallback-highlight{color:#f4f7fc}.ce-fallback-input{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:12px 14px;border:none;outline:none;resize:none;background:transparent;color:transparent;caret-color:var(--teal, #087F6A);font-family:JetBrains Mono,Fira Code,ui-monospace,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.6;white-space:pre;word-break:normal;word-wrap:normal;box-sizing:border-box;overflow:auto}[data-theme=dark] .ce-fallback-input{caret-color:var(--viz-teal)}.ce-output-pane{display:flex;flex-direction:column;min-height:420px;background:var(--surface)}.ce-output-tabs{display:flex;align-items:center;gap:2px;min-height:44px;padding:0 var(--space-2);overflow-x:auto;border-bottom:1px solid var(--line)}.ce-output-tab{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 var(--space-2);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted);font-size:var(--text-sm);white-space:nowrap}.ce-output-tab:hover,.ce-output-tab.active{background:var(--teal-light);color:var(--ink)}.ce-output-content,.ce-output-text{flex:1;min-width:0;min-height:0}.ce-output-content{overflow:auto;padding:var(--space-3)}.ce-output-text{color:var(--ink-2);font-size:var(--text-sm)}.ce-output-text pre{margin:0;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;color:inherit;font:inherit}.ce-output-text .ce-error{color:var(--danger)}.ce-output-placeholder{color:var(--muted)}.ce-output-running{display:flex;align-items:center;gap:var(--space-2);color:var(--muted)}.ce-exec-time{display:block;margin-top:var(--space-3);color:var(--muted);font-size:var(--text-xs)}.ce-ai-result{overflow-wrap:anywhere;white-space:pre-wrap}.ce-error-box{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-2)}.ce-btn-ai-error{align-self:flex-start;display:inline-flex;align-items:center;gap:var(--space-2);padding:6px 12px;font-size:var(--text-xs);font-weight:500;border-radius:var(--radius-sm);background:#ef44441a;color:var(--danger, #ef4444);border:1px solid rgba(239,68,68,.3);cursor:pointer;transition:all .2s ease}.ce-btn-ai-error:hover:not(:disabled){background:#ef444433}.ce-btn-ai-error:disabled{opacity:.6;cursor:not-allowed}.ce-apply-fix-bar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3);border-radius:var(--radius-sm);background:#14b8a61a;border:1px solid rgba(20,184,166,.3);font-size:var(--text-xs);font-weight:500;color:var(--teal, #0d9488)}.ce-apply-fix-btn{display:inline-flex;align-items:center;gap:var(--space-1);padding:4px 10px;font-size:var(--text-xs);font-weight:600;border-radius:var(--radius-sm);background:var(--teal, #0d9488);color:#fff;border:none;cursor:pointer;transition:background .15s ease}.ce-apply-fix-btn:hover{background:var(--teal-hover, #0f766e)}.chat-code-block{position:relative;margin:var(--space-2) 0;border-radius:var(--radius-sm, 10px);background:var(--surface-card, #ffffff);border:1px solid var(--border, rgba(25, 48, 58, .16));overflow:hidden;max-width:100%;box-sizing:border-box;box-shadow:var(--shadow-sm)}[data-theme=dark] .chat-code-block{background:var(--surface, #16241E);border-color:var(--border, #22352B);box-shadow:0 4px 16px #00000040}.chat-code-header{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:var(--surface-2, #ece9e2);border-bottom:1px solid var(--border, rgba(25, 48, 58, .12));font-size:11px;font-weight:700;color:var(--text-secondary, #334155);user-select:none}[data-theme=dark] .chat-code-header{background:var(--surface-2, #1B2C23);border-bottom-color:var(--border, #22352B);color:var(--text-secondary, #9EB1A5)}.chat-code-lang{letter-spacing:.06em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px}.chat-code-copy{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:600;border-radius:6px;background:#fff;color:#1e293b;border:1px solid rgba(25,48,58,.2);cursor:pointer;transition:all .18s ease}[data-theme=dark] .chat-code-copy{background:#ffffff14;color:#cbd5e1;border-color:#ffffff26}.chat-code-copy:hover{background:var(--surface-hover, #f1f4f2);border-color:var(--teal, #087F6A);color:var(--teal, #087F6A)}[data-theme=dark] .chat-code-copy:hover{background:#ffffff24;border-color:var(--teal, var(--viz-teal));color:var(--teal, var(--viz-teal))}.chat-code-copy.copied{color:var(--accent-success, #168C68)!important;border-color:var(--accent-success, #168C68)!important;font-weight:700}[data-theme=dark] .chat-code-copy.copied{color:var(--accent-success, #36D399)!important;border-color:var(--accent-success, #36D399)!important}.chat-code-block pre{margin:0;padding:12px 14px;overflow-x:auto;-webkit-overflow-scrolling:touch;font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12.5px;line-height:1.6;color:#101820;background:transparent;white-space:pre;word-break:normal;word-wrap:normal}[data-theme=dark] .chat-code-block pre{color:#f8fafc}.ce-tok{display:inline}.ce-tok-keyword{color:#0284c7;font-weight:700}.ce-tok-string{color:#047857;font-weight:500}.ce-tok-comment{color:#64748b;font-style:italic}.ce-tok-number{color:#b45309;font-weight:600}.ce-tok-function{color:#7e22ce;font-weight:600}.ce-tok-type{color:#be185d;font-weight:700}.ce-tok-operator{color:#0f172a;font-weight:600}.ce-tok-punctuation{color:#475569}.ce-tok-tag{color:#0284c7;font-weight:700}.ce-tok-plain{color:#101820}[data-theme=dark] .ce-tok-keyword{color:var(--viz-blue);font-weight:700}[data-theme=dark] .ce-tok-string{color:#34d399;font-weight:500}[data-theme=dark] .ce-tok-comment{color:#94a3b8;font-style:italic}[data-theme=dark] .ce-tok-number{color:#fbbf24;font-weight:600}[data-theme=dark] .ce-tok-function{color:var(--viz-violet);font-weight:600}[data-theme=dark] .ce-tok-type{color:#f472b6;font-weight:700}[data-theme=dark] .ce-tok-operator{color:#cbd5e1;font-weight:600}[data-theme=dark] .ce-tok-punctuation{color:#94a3b8}[data-theme=dark] .ce-tok-tag{color:var(--viz-blue);font-weight:700}[data-theme=dark] .ce-tok-plain{color:#f8fafc}.inline-code{font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.88em;padding:2px 6px;border-radius:6px;background:var(--surface-2, #ece9e2);color:var(--teal, #087F6A);border:1px solid var(--line, rgba(25, 48, 58, .15));font-weight:600;display:inline-block;vertical-align:baseline}[data-theme=dark] .inline-code{background:var(--surface-2, #1B2C23);color:var(--teal, #79D2A6);border-color:var(--line, #22352B)}.dash-input,.dash-select{width:100%;height:42px;border-radius:12px;padding:0 14px;background:var(--surface, #ffffff);border:1px solid var(--border, rgba(25, 48, 58, .18));color:var(--text-primary, #101820);font-family:inherit;font-size:14px;outline:none;box-sizing:border-box;transition:border-color .18s ease,box-shadow .18s ease}[data-theme=dark] .dash-input,[data-theme=dark] .dash-select{background:var(--surface, #16241E);border-color:var(--border, #22352B);color:var(--text-primary, #F0F5F2)}.dash-input:focus,.dash-select:focus{border-color:var(--teal, #1B4332);box-shadow:0 0 0 3px var(--teal-light, rgba(27, 67, 50, .14))}[data-theme=dark] .dash-input:focus,[data-theme=dark] .dash-select:focus{border-color:var(--teal, #79D2A6);box-shadow:0 0 0 3px var(--teal-light, rgba(121, 210, 166, .16))}.dash-input:disabled,.dash-select:disabled{opacity:.6;cursor:not-allowed;background:var(--surface-2, #ece9e2)}[data-theme=dark] .dash-input:disabled,[data-theme=dark] .dash-select:disabled{background:var(--surface-2, #1B2C23)}.dash-input::placeholder{color:var(--text-muted, #7A8790);opacity:.9}.chat-content table,.ce-ai-result table{width:100%;border-collapse:collapse;margin:var(--space-2) 0;font-size:var(--text-xs)}.chat-table-wrapper{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:var(--space-2) 0;border-radius:var(--radius-sm, 8px);border:1px solid var(--line);background:var(--surface-2);display:block}.chat-table-wrapper table{width:100%;min-width:260px;border-collapse:collapse;font-size:var(--text-xs, 12px)}.chat-table-wrapper th,.chat-table-wrapper td{border:1px solid var(--line);padding:8px 12px;text-align:start;word-break:normal}.chat-table-wrapper th{background:var(--surface-3);font-weight:700;color:var(--fg, var(--ink));white-space:nowrap}.chat-table-wrapper tr:hover td{background:#ffffff08}.ce-ai-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:12px;font-size:11.5px;font-weight:700;letter-spacing:.02em}.ce-ai-badge-explain{background:#0d948826;color:var(--teal, #0d9488);border:1px solid rgba(13,148,136,.3)}.ce-ai-badge-debug{background:#f59e0b26;color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.ce-ai-badge-error{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.chat-content th,.chat-content td,.ce-ai-result th,.ce-ai-result td{border:1px solid var(--line);padding:var(--space-2);text-align:start}.chat-content th,.ce-ai-result th{background:var(--surface-3);font-weight:600}.ce-loading{display:grid;min-height:420px;place-content:center;gap:var(--space-2);color:var(--muted);text-align:center}.ce-editor-fallback{display:flex;height:100%;min-height:420px;flex-direction:column;gap:var(--space-2);padding:var(--space-3);color:var(--muted);font-size:var(--text-xs)}.ce-editor-fallback-input{flex:1;width:100%;min-height:360px;resize:vertical;border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-3);background:var(--surface);color:var(--ink);direction:ltr;font-family:JetBrains Mono,Fira Code,monospace;font-size:var(--text-sm);line-height:1.6;tab-size:2}.ce-workspace.fullscreen{position:fixed;inset:0;z-index:100;width:100vw;height:100vh;min-height:0;border:0;border-radius:0}.code-editor-unavailable{display:grid;min-height:min(560px,calc(100vh - 180px));place-items:center;padding:var(--space-5)}.code-editor-unavailable-content{display:grid;justify-items:center;gap:var(--space-3);width:min(100%,620px);padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink-2);text-align:center;box-shadow:var(--shadow-sm)}.code-editor-unavailable-content h1{margin:0;color:var(--ink);font-size:var(--text-xl)}.code-editor-unavailable-content p{max-width:52ch;color:var(--muted)}.code-editor-unavailable-icon{display:grid;width:56px;height:56px;place-items:center;border:1px solid var(--line);border-radius:var(--radius);background:var(--teal-light);color:var(--teal);font-family:JetBrains Mono,monospace;font-size:var(--text-lg);font-weight:700;direction:ltr}@media (max-width: 900px){.ce-workspace{grid-template-columns:minmax(0,1fr);min-height:0}.ce-editor-pane{min-height:52vh;border-inline-end:0;border-bottom:1px solid var(--line)}.ce-monaco-container{min-height:52vh}.ce-output-pane{min-height:260px}}@media (max-width: 560px){.ce-toolbar{justify-content:flex-start}.ce-toolbar-left,.ce-toolbar-center,.ce-toolbar-right{flex-wrap:wrap}.ce-toolbar-center,.ce-toolbar-right{flex:1 1 100%}.ce-btn{flex:1 1 auto}}.ai-layout{position:relative;display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);width:100%;height:min(760px,calc(100vh - 190px));min-height:520px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm)}.ai-sidebar{display:flex;flex-direction:column;gap:var(--space-3);min-width:0;min-height:0;overflow-y:auto;padding:var(--space-3);border-inline-end:1px solid var(--line);background:var(--surface-2)}.ai-sidebar:not(.open){display:none}.ai-sidebar-header,.ai-logo,.ai-context-card,.ai-main-header,.ai-main-header-left,.ai-main-header-right{display:flex;align-items:center}.ai-sidebar-header,.ai-main-header{justify-content:space-between;gap:var(--space-2)}.ai-logo{gap:var(--space-2);color:var(--ink)}.ai-logo svg,.ai-panel-logo{color:var(--teal)}.ai-sidebar-section{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.ai-sidebar-label{color:var(--muted);font-size:var(--text-xs);font-weight:700}.ai-cap-list{display:grid;gap:var(--space-1)}.ai-cap-item{display:flex;align-items:flex-start;gap:var(--space-2);width:100%;min-width:0;padding:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink-2);text-align:start;transition:border-color var(--duration-fast) var(--ease),background var(--duration-fast) var(--ease)}.ai-cap-item:hover:not(:disabled),.ai-cap-item.active{border-color:var(--teal);background:var(--teal-light)}.ai-cap-item:disabled{cursor:wait;opacity:.65}.ai-cap-icon{flex:0 0 auto}.ai-cap-info,.ai-context-info{display:grid;gap:2px;min-width:0}.ai-cap-info strong,.ai-context-info strong{color:var(--ink);font-size:var(--text-sm)}.ai-cap-info span,.ai-context-info span{color:var(--muted);font-size:var(--text-xs);overflow-wrap:anywhere}.ai-context-card{gap:var(--space-2);min-width:0;padding:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.ai-context-info{flex:1}.ai-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-1)}.ai-quick-card{display:flex;align-items:center;gap:var(--space-1);min-width:0;min-height:36px;padding:0 var(--space-2);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink-2);font-size:var(--text-xs);text-align:start}.ai-quick-card:hover:not(:disabled){border-color:var(--teal);color:var(--ink)}.ai-main{display:flex;min-width:0;min-height:0;flex-direction:column;background:var(--surface)}.ai-main-header{min-height:54px;padding:0 var(--space-3);border-bottom:1px solid var(--line)}.ai-main-header-left,.ai-main-cap-badge{display:flex;align-items:center;gap:var(--space-2);min-width:0}.ai-main-cap-badge{color:var(--ink);font-weight:700}.ai-main-lesson{overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.chat-panel{position:relative;display:flex;flex:1;min-width:0;min-height:0;flex-direction:column}.chat-panel-header{flex:0 0 auto}.chat-messages{display:flex;flex:1;min-width:0;min-height:0;flex-direction:column;gap:var(--space-3);overflow-y:auto;padding:var(--space-3);overscroll-behavior:contain}.chat-empty{display:grid;flex:1;place-content:center;justify-items:center;gap:var(--space-2);min-height:140px;color:var(--muted);text-align:center}.chat-empty-icon{color:var(--muted-2)}.chat-bubble{display:flex;align-items:flex-start;gap:var(--space-2);width:fit-content;max-width:min(88%,760px);min-width:0}.chat-bubble--user{align-self:flex-end}.chat-bubble--ai{align-self:flex-start;max-width:min(94%,760px)}.chat-bubble-avatar{flex:0 0 auto}.chat-avatar-user,.chat-avatar-ai{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:var(--surface-2);color:var(--muted)}.chat-avatar-ai{background:var(--teal-light);color:var(--teal)}.chat-bubble-body{min-width:0;max-width:100%;flex:1 1 auto}.chat-content{min-width:0;max-width:100%;word-break:break-word;padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);color:var(--ink);overflow-wrap:anywhere}.chat-content--user{border-color:var(--teal-light);background:var(--teal-light)}.chat-content p{margin:0;white-space:pre-wrap}.chat-bubble-meta{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-1);min-height:22px;color:var(--muted);font-size:var(--text-xs)}.chat-copy-btn,.chat-retry-btn,.chat-new-btn,.chat-scroll-btn{display:inline-grid;place-items:center;width:30px;height:30px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--muted)}.chat-retry-btn{width:auto;min-width:72px;padding-inline:var(--space-2);color:var(--teal);font-size:var(--text-xs)}.chat-retry-btn:hover:not(:disabled){border-color:var(--teal);background:var(--teal-light)}.chat-typing{display:flex;gap:4px;padding:var(--space-3)}.chat-typing-dot{width:6px;height:6px;border-radius:50%;background:var(--muted-2);animation:chatTyping 1s ease-in-out infinite alternate}.chat-typing-dot:nth-child(2){animation-delay:.15s}.chat-typing-dot:nth-child(3){animation-delay:.3s}@keyframes chatTyping{to{opacity:.35;transform:translateY(-3px)}}.chat-scroll-btn{position:absolute;inset-block-end:88px;inset-inline-end:var(--space-3);z-index:1;box-shadow:var(--shadow-md)}.chat-composer{display:flex;flex:0 0 auto;align-items:flex-end;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-top:1px solid var(--line);background:var(--surface)}.chat-composer-inner{display:flex;flex:1;align-items:flex-end;gap:var(--space-2);min-width:0;padding:var(--space-1);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2)}.chat-input{flex:1;min-width:0;min-height:40px;max-height:160px;resize:vertical;border:0;outline:0;padding:var(--space-2);background:transparent;color:var(--ink)}.chat-send-btn{display:grid;flex:0 0 auto;width:38px;height:38px;place-items:center;border:0;border-radius:var(--radius-sm);background:var(--action);color:var(--text-on-action)}.chat-send-btn:disabled{cursor:not-allowed;opacity:.5}.chat-new-btn{flex:0 0 auto}.chat-panel-footer{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:var(--space-1);padding:0 var(--space-3) var(--space-2)}.ai-quick-prompts{display:flex;flex-wrap:wrap;gap:var(--space-1);width:100%}.ico{width:19px;height:19px;display:inline-block;flex:0 0 auto}.sidebar-card{margin-top:auto;border:1px solid var(--line);background:var(--surface-2);border-radius:var(--radius);padding:var(--space-3)}.sidebar-card strong{display:block;font-size:13px}.sidebar-card span{display:block;color:var(--muted);font-size:11px;margin-top:6px;line-height:1.6}.search{position:relative;width:min(480px,100%)}.search input{width:100%;border:1px solid var(--line);border-radius:var(--radius-pill);padding:10px 40px 10px 14px;background:var(--glass);color:var(--ink);outline:none;box-shadow:var(--shadow-sm);font-size:var(--text-sm);transition:border var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease)}.search input:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-light),var(--shadow-sm)}.search svg{position:absolute;inset-inline-end:13px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.btn,.icon-btn{border:1px solid var(--line);border-radius:var(--radius-sm);min-height:38px;background:var(--surface);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;font-size:var(--text-sm);font-weight:600;transition:all var(--duration-fast) var(--ease);box-shadow:var(--shadow-sm);cursor:pointer;line-height:1;white-space:nowrap;user-select:none}.btn:hover,.icon-btn:hover{border-color:var(--line-2);box-shadow:var(--shadow-md)}.btn:active{transform:scale(.98)}.icon-btn{width:38px;padding:0;border-radius:var(--radius-sm)}.btn.primary{border-color:transparent;background:var(--grad-primary);color:var(--text-on-action);font-weight:700;border-radius:12px;box-shadow:0 4px 16px #087f6a59;transition:transform .15s ease,box-shadow .15s ease}[data-theme=dark] .btn.primary{box-shadow:0 4px 16px #00000073}.btn.primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #087f6a73}[data-theme=dark] .btn.primary:hover:not(:disabled){box-shadow:0 6px 20px #2f7a5773}.btn.completed{background:#14b8a61f;color:var(--accent-teal);border:1px solid rgba(20,184,166,.35);box-shadow:none;font-weight:700;border-radius:12px;transition:all .15s ease}.btn.completed:hover:not(:disabled){background:#14b8a633;border-color:var(--accent-teal);transform:translateY(-1px)}.btn.dark{background:var(--ink);color:var(--bg);border-color:var(--ink)}.btn.subtle{background:transparent;border-color:transparent;box-shadow:none}.btn.subtle:hover{background:var(--surface-2)}.btn.danger{background:#dc262612;color:var(--danger);border-color:#dc262626}.btn.danger:hover{background:#dc26261f}.btn.ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--muted)}.btn.ghost:hover{color:var(--ink);background:var(--surface-2)}.btn.secondary{border:1px solid var(--border);background:var(--surface);color:var(--text-primary);font-weight:600;border-radius:12px;box-shadow:var(--shadow-sm);transition:all var(--duration-fast) var(--ease)}.btn.secondary:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-subtle);transform:translateY(-1px)}.btn.outline{background:transparent;border:1px solid var(--border);color:var(--text-primary);border-radius:12px;font-weight:600}.btn.outline:hover:not(:disabled){border-color:var(--accent-teal);color:var(--accent-teal);background:#087f6a0f}.btn:disabled,.btn[disabled]{opacity:.55;cursor:not-allowed;pointer-events:none;transform:none!important}.btn.sm{min-height:30px;padding:0 10px;font-size:var(--text-xs)}.grid{display:grid;gap:var(--space-3)}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.aside{grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr)}.panel,.card,.course-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.panel{padding:var(--space-4)}.card,.course-card{padding:var(--space-4);transition:all var(--duration-normal) var(--ease)}.card:hover,.course-card:hover{box-shadow:var(--shadow-md);border-color:var(--line-2)}.card h4,.course-card h4{margin:0 0 6px;font-size:var(--text-base)}.card p,.course-card p{margin:0;color:var(--muted);line-height:1.6;font-size:var(--text-sm)}.course-top{min-height:120px;border-radius:var(--radius-sm);padding:var(--space-3);color:#fff;margin-bottom:12px;display:flex;flex-direction:column;justify-content:space-between;background:var(--grad-primary);position:relative;overflow:hidden}.course-top:after{content:"";position:absolute;width:140px;height:140px;inset-inline-start:-40px;bottom:-60px;background:#ffffff1f;border-radius:50%}.course-top.c2{background:linear-gradient(135deg,#1b4332,#2d6a4f)}.course-top.c3{background:linear-gradient(135deg,#c97a1e,#52b788)}.course-top.c4{background:linear-gradient(135deg,#1b4332,#40916c)}.pill{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:0 9px;border-radius:var(--radius-pill);background:var(--surface-2);color:var(--muted);font-size:11px;font-weight:600;white-space:nowrap;line-height:1}.pill.good{color:var(--green);background:#16a34a1a}.pill.ai{color:var(--indigo);background:#4654c61a}.pill.live{color:var(--amber);background:#f59e0b1a}.pill.bad{color:var(--danger);background:#dc262612}.meta-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:var(--space-2)}.progress{height:6px;background:var(--surface-2);border-radius:var(--radius-pill);overflow:hidden;margin-top:var(--space-2)}.progress i{display:block;height:100%;width:var(--value);border-radius:inherit;background:linear-gradient(90deg,var(--teal-2),var(--green));transition:width var(--duration-slow) var(--ease)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.section{padding:var(--space-6) 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:var(--space-3);margin:0 0 var(--space-4)}.section-head h1,.section-head h3,.panel-head h2,.panel-head h3{margin:0;font-size:var(--text-2xl);letter-spacing:-.01em}.section-head p{color:var(--muted);margin:var(--space-1) 0 0;line-height:1.6;font-size:var(--text-sm)}.metric{min-height:100px;padding:var(--space-4);display:flex;flex-direction:column;justify-content:center;gap:var(--space-1);border-top:3px solid var(--teal-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.metric span{color:var(--muted);font-size:var(--text-sm)}.metric strong{font-size:26px;font-weight:800;letter-spacing:-.02em}.chart{height:200px;display:flex;align-items:end;gap:8px;padding:var(--space-4) var(--space-1) 0;border-bottom:1px solid var(--line)}.bar{flex:1;min-width:16px;height:var(--h);border-radius:6px 6px 0 0;background:linear-gradient(180deg,var(--teal-2),var(--indigo));position:relative;transition:height var(--duration-slow) var(--ease)}.bar span{position:absolute;bottom:-22px;inset-inline-start:50%;transform:translate(-50%);font-size:10px;color:var(--muted);font-weight:500}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}label.field{display:grid;gap:5px;color:var(--muted);font-size:var(--text-sm);font-weight:500}.field input,.field select,.field textarea{min-width:0;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--radius-sm);padding:10px 12px;outline:none;font-size:var(--text-base);transition:border var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-light)}.field textarea{min-height:100px;resize:vertical}.field input.error{border-color:var(--danger)}.wide{grid-column:1 / -1}.upload-zone{border:1.5px dashed var(--teal-2);border-radius:var(--radius);min-height:130px;display:grid;place-items:center;text-align:center;padding:var(--space-4);background:var(--teal-light);transition:all var(--duration-fast) var(--ease);cursor:pointer}.upload-zone:hover{border-color:var(--teal);background:color-mix(in srgb,var(--teal-light),transparent 15%)}.upload-zone input{display:none}.upload-zone p{margin:5px 0 0;color:var(--muted);font-size:var(--text-sm)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}table{width:100%;border-collapse:collapse;min-width:700px;background:var(--surface)}th,td{padding:10px 12px;text-align:start;border-bottom:1px solid var(--line);font-size:var(--text-sm)}th{color:var(--muted);background:var(--surface-2);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.4px}tr:last-child td{border-bottom:0}tr:hover td{background:var(--surface-2)}.chat{min-height:500px;display:flex;flex-direction:column}.messages{flex:1;display:grid;gap:10px;align-content:start;max-height:400px;overflow:auto;padding:2px}.msg{padding:11px 13px;border-radius:var(--radius);border:1px solid var(--line);max-width:82%;line-height:1.7;font-size:var(--text-sm);background:var(--surface)}.msg.user{margin-inline-start:auto;color:#fff;background:var(--grad-primary);border:0}.composer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2);padding-top:var(--space-3);margin-top:var(--space-3);border-top:1px solid var(--line)}.composer input{min-width:0;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--radius-pill);padding:10px 14px;outline:none;font-size:var(--text-sm);transition:border var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease)}.composer input:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-light)}.state-card{min-height:140px;display:grid;place-items:center;text-align:center;padding:var(--space-4);border:1px dashed var(--line);background:var(--surface);border-radius:var(--radius);transition:all var(--duration-fast) var(--ease)}.state-card:hover{border-color:var(--teal-2);box-shadow:var(--shadow-md)}.skeleton{display:grid;gap:12px;width:100%}.sk-line,.sk-card{border-radius:var(--radius);background:linear-gradient(90deg,var(--surface-2),color-mix(in srgb,var(--surface-2),white 25%),var(--surface-2));background-size:220% 100%;animation:shimmer 1.4s linear infinite}.sk-card{height:72px}.sk-line{height:12px}.sk-line.wide{width:75%}.sk-line.medium{width:55%}.sk-line.narrow{width:35%}@keyframes shimmer{to{background-position:-220% 0}}.spinner{width:24px;height:24px;border:2.5px solid var(--line);border-top-color:var(--teal-2);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-dots{display:flex;gap:4px;align-items:center;justify-content:center;padding:var(--space-4)}.loading-dots i{width:8px;height:8px;border-radius:50%;background:var(--muted-2);animation:dotPulse 1.2s ease-in-out infinite}.loading-dots i:nth-child(2){animation-delay:.2s}.loading-dots i:nth-child(3){animation-delay:.4s}@keyframes dotPulse{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.footer{margin-top:var(--space-5);border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);padding:var(--space-5);display:grid;grid-template-columns:1.2fr repeat(3,.6fr);gap:var(--space-4);color:var(--muted);box-shadow:var(--shadow-sm)}.footer strong{color:var(--ink);display:block;margin-bottom:var(--space-2);font-size:var(--text-sm)}.footer a{display:block;margin:6px 0;color:var(--muted);font-size:var(--text-sm);transition:color var(--duration-fast) var(--ease)}.footer a:hover{color:var(--teal)}.auth-modal{position:fixed;inset:0;z-index:var(--z-dialog-top);display:none;place-items:center;padding:var(--space-4);background:#070e1280;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);overflow-y:auto;box-sizing:border-box}.auth-modal.open{display:flex;justify-content:center;align-items:center;animation:fadeIn .2s var(--ease)}.auth-card{width:min(460px,100%);max-height:min(92vh,720px);display:flex;flex-direction:column;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-xl);padding:var(--space-5);margin:auto;box-sizing:border-box;animation:slideUp .25s var(--ease-bounce);overflow:hidden}.auth-head{display:flex;justify-content:space-between;align-items:start;gap:var(--space-2);margin-bottom:var(--space-3);flex-shrink:0}.auth-head strong{font-size:var(--text-xl);margin:0;color:var(--text)}.auth-head p{margin:var(--space-1) 0 0;color:var(--muted);font-size:var(--text-sm)}.auth-card-body{overflow-y:auto;overscroll-behavior:contain;padding:2px 2px 4px;flex:1 1 auto}.auth-form{display:grid;gap:var(--space-3)}.auth-form .field input,.auth-form .field select{width:100%;box-sizing:border-box}.auth-role-select{display:grid;gap:var(--space-2)}.auth-field-hint{font-size:var(--text-xs);color:var(--muted);margin-top:calc(-1 * var(--space-1));line-height:1.4}.auth-dev-badge{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:var(--radius-sm, 6px);font-size:var(--text-xs);color:#b45309;margin-bottom:var(--space-2);line-height:1.4;text-align:start}[data-theme=dark] .auth-dev-badge{background:#f59e0b26;border-color:#f59e0b59;color:#fbbf24}.auth-dev-badge .badge-tag{display:inline-block;background:#f59e0b;color:#000;font-size:10px;font-weight:800;padding:2px 6px;border-radius:4px;letter-spacing:.05em;flex-shrink:0}@media (max-width: 480px){.auth-modal{padding:var(--space-2)}.auth-card{padding:var(--space-4);max-height:94vh}}.google-signin-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--space-3);min-height:44px;background:var(--surface);border:1px solid var(--line);color:var(--text);font-weight:600;font-size:var(--text-sm);border-radius:var(--radius-sm, 8px);cursor:pointer;transition:all var(--duration-fast, .15s) var(--ease);box-shadow:0 1px 2px #0000000a}.google-signin-btn:hover:not(:disabled){background:var(--surface-subtle, rgba(0,0,0,.03));border-color:var(--primary);transform:translateY(-1px)}.google-signin-btn:disabled{opacity:.6;cursor:not-allowed}.google-signin-btn .google-icon{flex-shrink:0}.auth-divider{display:flex;align-items:center;text-align:center;margin:var(--space-2) 0;color:var(--muted);font-size:var(--text-xs)}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-bottom:1px solid var(--line)}.auth-divider span{padding:0 var(--space-3);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.auth-email-badge{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:#14b8a614;border:1px solid rgba(20,184,166,.25);border-radius:var(--radius-sm, 6px);font-weight:600;color:var(--primary);font-size:var(--text-sm);word-break:break-all;direction:ltr}.otp-digit-input{width:100%;height:52px;text-align:center;font-size:var(--text-2xl);font-weight:800;letter-spacing:12px;font-family:monospace,ui-monospace,sans-serif;direction:ltr;border-radius:var(--radius-sm, 8px);border:1.5px solid var(--line);background:var(--surface);color:var(--text);padding-left:12px}.otp-digit-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #14b8a633;outline:none}.auth-links{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);font-size:var(--text-xs);margin-top:calc(-1 * var(--space-1))}.auth-link-btn{background:none;border:none;color:var(--primary);font-size:var(--text-xs);cursor:pointer;padding:0;font-weight:600;transition:opacity var(--duration-fast, .15s) var(--ease)}.auth-link-btn:hover{text-decoration:underline}.auth-cooldown-text{color:var(--muted);font-size:var(--text-xs);font-weight:500}.command-menu{position:fixed;inset:0;z-index:var(--z-dialog-top);background:#00000052;display:none;place-items:start center;padding-top:8vh;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.command-menu.open{display:grid}.command-menu.open{animation:fadeIn .15s var(--ease)}.command-box{width:min(640px,calc(100vw - 24px));border-radius:var(--radius);border:1px solid var(--line);background:var(--glass);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:var(--shadow-xl);padding:var(--space-3);animation:slideDown .2s var(--ease-bounce)}.command-box input{width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);padding:11px 13px;background:var(--surface);color:var(--ink);font-size:var(--text-base);outline:none}.command-box input:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-light)}.command-results{display:grid;gap:3px;margin-top:var(--space-3)}.command-results button{justify-content:start;width:100%;text-align:start;font-weight:500;padding:8px 10px;border-radius:var(--radius-sm)}.command-results button:hover{background:var(--teal-light)}.toast-container{position:fixed;inset-inline-start:20px;bottom:20px;z-index:9999;display:grid;gap:var(--space-2);pointer-events:none;max-width:min(440px,calc(100vw - 32px))}.toast{max-width:100%;border-radius:var(--radius-sm);padding:11px 14px;color:var(--text-primary);background:var(--surface-card);border:1px solid var(--border);box-shadow:var(--shadow-lg);opacity:0;transform:translateY(12px) scale(.96);pointer-events:none;transition:all var(--duration-normal) var(--ease-bounce);font-size:var(--text-sm);line-height:1.5;font-weight:500;display:flex;align-items:center;gap:var(--space-2);overflow-wrap:anywhere;word-break:break-word}.toast span{flex:1;min-width:0;overflow-wrap:anywhere;word-break:break-word}.toast.show{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.toast.success{background:var(--action)}.toast.error{background:var(--danger-fill)}.toast.info{background:var(--info-fill)}.toast.success,.toast.error,.toast.info{color:var(--text-on-action);border-color:transparent}.toast-close{background:none;border:none;color:currentColor;opacity:.85;padding:2px;cursor:pointer;line-height:1;flex-shrink:0;margin-inline-start:auto;border-radius:4px;transition:color var(--duration-fast) var(--ease)}.toast-close:hover{opacity:1}.ai-fab{position:fixed;inset-inline-end:24px;bottom:24px;z-index:70;width:50px;height:50px;min-width:48px;min-height:48px;border-radius:50%;padding:0;border:1px solid var(--line);color:var(--text);background:var(--surface);box-shadow:0 4px 16px #00000038;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;outline:none;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s ease,border-color .2s ease,background .2s ease}.ai-fab:hover{transform:translateY(-2px) scale(1.04);border-color:var(--accent-teal, #2dd4bf);box-shadow:0 8px 24px #14b8a640,0 4px 12px #0000004d}.ai-fab:focus-visible{outline:2px solid var(--accent-teal, #2dd4bf);outline-offset:3px}.ai-fab-icon-wrap{position:relative;display:flex;align-items:center;justify-content:center}.ai-fab-status-dot{position:absolute;bottom:-2px;inset-inline-end:-2px;width:8px;height:8px;border-radius:50%;border:1.5px solid var(--surface)}.ai-panel-backdrop{position:fixed;inset:0;background:#0a101799;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:72}.ai-panel{position:fixed;inset-inline-end:24px;bottom:84px;width:min(390px,calc(100vw - 32px));max-height:min(600px,calc(100vh - 110px));border-radius:var(--radius-lg, 18px);border:1px solid var(--line);background:var(--surface);box-shadow:0 16px 48px #00000059;display:none;flex-direction:column;overflow:hidden;z-index:75}@media (max-width: 768px){.ai-fab{inset-inline-end:16px;bottom:74px;bottom:calc(74px + env(safe-area-inset-bottom,0px));width:48px;height:48px;min-width:44px;min-height:44px}.ai-panel{inset-inline:12px!important;bottom:74px!important;bottom:calc(130px + env(safe-area-inset-bottom,0px))!important;width:auto!important;max-width:calc(100vw - 24px)!important;max-height:calc(100vh - 140px)!important;z-index:75}}@media (max-width: 480px){.toast-container{inset-inline-start:12px;inset-inline-end:12px;bottom:12px;max-width:calc(100vw - 24px)}}.ai-panel.open{display:flex;animation:slideUp .25s var(--ease-bounce)}.ai-panel-header{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line);font-weight:600;background:var(--surface);flex-shrink:0}.ai-panel-header-left{display:flex;align-items:center;gap:10px;min-width:0}.ai-status-pill{transition:all .2s ease}.ai-quick-actions-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px;background:var(--surface-2);border-bottom:1px solid var(--line);max-height:84px;overflow-y:auto;overflow-x:hidden;flex-shrink:0;max-width:100%;box-sizing:border-box;scrollbar-width:thin}.ai-quick-actions-bar::-webkit-scrollbar{width:4px;height:4px}.ai-quick-actions-bar::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}.ai-panel .chat-bubble,.ai-panel .chat-content{max-width:100%}.ai-quick-action-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:14px;background:var(--surface);border:1px solid var(--line);color:var(--fg, var(--ink));font-size:11.5px;font-weight:600;cursor:pointer;white-space:normal;max-width:100%;box-sizing:border-box;transition:all .15s ease;flex-shrink:0}.ai-quick-action-chip:hover:not(:disabled){background:var(--teal-light, rgba(20, 184, 166, .12));border-color:var(--teal, var(--viz-teal));color:var(--teal, var(--viz-teal));transform:translateY(-1px)}.ai-quick-action-chip:disabled{opacity:.5;cursor:not-allowed}.ai-messages{flex:1;overflow:auto;padding:var(--space-3);display:grid;gap:var(--space-2)}.ai-bubble{padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink);line-height:1.7;font-size:var(--text-sm)}.ai-bubble.user{background:var(--grad-primary);color:#fff}.ai-input-row{display:grid;grid-template-columns:1fr auto;gap:var(--space-2);padding:10px;border-top:1px solid var(--line)}.ai-input-row input{border:1px solid var(--line);border-radius:var(--radius-pill);padding:10px 12px;background:var(--surface);color:var(--ink);outline:none;font-size:var(--text-sm)}.ai-input-row input:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-light)}.profile-card{border-radius:var(--radius);border:1px solid var(--line);background:var(--surface-2);padding:var(--space-4)}.profile-header{display:flex;gap:var(--space-3);margin-bottom:var(--space-4)}.avatar-large{width:60px;height:60px;border-radius:50%;background:var(--grad-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:22px;flex-shrink:0;box-shadow:0 4px 14px #14b8a64d}.profile-header h3{margin:0;font-size:var(--text-xl)}.settings-list{display:grid;gap:var(--space-3)}.setting-item{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface)}.setting-item p{margin:3px 0 0;font-size:12px;color:var(--muted)}.setting-item input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:var(--teal)}.setting-item button{white-space:nowrap}.lesson-list,.timeline,.faq,.notification-list{display:grid;gap:8px}.lesson-item,.timeline-item,.faq-item,.notification-item{border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-3);background:var(--surface);display:grid;gap:4px;transition:all var(--duration-fast) var(--ease)}.lesson-item:hover,.timeline-item:hover,.notification-item:hover{border-color:var(--line-2);box-shadow:var(--shadow-sm)}.lesson-item.active{border-color:var(--teal-2);background:var(--teal-light)}.lesson-item strong,.timeline-item strong,.notification-item strong{font-size:var(--text-base)}.lesson-item span,.timeline-item span,.notification-item span{color:var(--muted);font-size:12px;line-height:1.6}.learning-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--space-3)}.video-shell{overflow:hidden;background:var(--surface-2, #1B2C23);color:#fff;padding:0;border-radius:var(--radius)}.video-frame{aspect-ratio:16 / 9;display:grid;place-items:center;position:relative;background:linear-gradient(135deg,#1b433280,#2d6a4f4d),var(--bg, #0E1713)}.play{width:68px;height:68px;border-radius:50%;border:1px solid rgba(255,255,255,.24);background:#ffffff1f;color:#fff;display:grid;place-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:transform var(--duration-fast) var(--ease),background var(--duration-fast) var(--ease)}.play:hover{transform:scale(1.06);background:#ffffff2e}.video-title{position:absolute;inset-inline-end:16px;top:16px;inset-inline-start:16px;display:flex;justify-content:space-between;gap:10px;align-items:center;color:#ffffffdb}.video-controls{display:grid;gap:var(--space-3);padding:12px 14px;background:#091015}.control-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap}.range{height:6px;border-radius:var(--radius-pill);background:#ffffff1f;overflow:hidden}.range i{display:block;width:64%;height:100%;background:linear-gradient(90deg,#2dd4bf,#f5b642);border-radius:inherit}.feature-icon{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;color:#fff;background:var(--grad-primary);margin-bottom:var(--space-2);flex-shrink:0}.chip-row{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.chip{display:inline-flex;align-items:center;gap:6px;border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--surface-2);color:var(--muted);padding:6px 10px;font-size:11px;font-weight:600}.path-card{position:relative;overflow:hidden;min-height:200px;background:var(--surface);padding:var(--space-4);border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:all var(--duration-normal) var(--ease)}.path-card:hover{box-shadow:var(--shadow-lg);border-color:var(--line-2)}.path-card:before{content:"";position:absolute;inset:auto -30px -40px auto;width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,#16a3941a,#4654c61f);pointer-events:none}.path-card .big{font-size:22px;font-weight:900;display:block;margin-bottom:var(--space-2)}.path-card ul{margin:var(--space-3) 0 0;padding-inline-start:16px;color:var(--muted);display:grid;gap:5px;font-size:var(--text-sm);line-height:1.6}.path-card .meta{margin-top:var(--space-3);display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);color:var(--muted);font-size:12px}.testimonial{display:grid;gap:var(--space-3)}.avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:900;background:linear-gradient(135deg,var(--coral),var(--violet));flex-shrink:0}.faq-item button{all:unset;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);font-weight:700;font-size:var(--text-base);width:100%}.faq-item p{display:none;margin:var(--space-2) 0 0;color:var(--muted);line-height:1.7;font-size:var(--text-sm)}.faq-item.open p{display:block;animation:fadeIn .2s var(--ease)}.home-hero{position:relative;min-height:min(680px,calc(100vh - 32px));border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-xl);display:flex;align-items:center;padding:clamp(24px,5vw,56px);background:#0b171c;isolation:isolate;margin-bottom:var(--space-5)}.home-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#070e12e6,#070e128c 50%,#070e1226),url(/assets/course-banner.png) center / cover no-repeat;z-index:-2}.home-hero:after{content:"";position:absolute;inset:auto 24px 24px;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);z-index:-1}.home-hero .hero-orbs{position:absolute;inset:0;overflow:hidden;z-index:-1;pointer-events:none}.home-hero .hero-orbs:before,.home-hero .hero-orbs:after{content:"";position:absolute;border-radius:50%;filter:blur(80px)}.home-hero .hero-orbs:before{width:360px;height:360px;background:#14b8a61f;top:-80px;inset-inline-end:-80px}.home-hero .hero-orbs:after{width:280px;height:280px;background:#6366f11a;bottom:-60px;inset-inline-start:-60px}.hero-content{width:min(720px,100%);color:#fff}.eyebrow{display:inline-flex;align-items:center;gap:8px;min-height:28px;padding:0 12px;border-radius:var(--radius-pill);background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:#d8fffa;font-size:12px;font-weight:700;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);margin-bottom:var(--space-4)}.hero-content h2{margin:0;font-size:var(--text-hero);line-height:1.05;letter-spacing:-.02em;font-weight:900}.hero-content .lead{color:#ffffffbf;line-height:1.8;margin:var(--space-4) 0 var(--space-5);font-size:var(--text-lg);max-width:640px}.hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.hero-actions .btn.primary{padding:0 26px;min-height:46px;font-size:var(--text-base);border-radius:var(--radius-pill)}.hero-actions .btn.subtle{color:#ffffffd9;border-color:#ffffff2e;min-height:46px;padding:0 22px;border-radius:var(--radius-pill)}.hero-actions .btn.subtle:hover{background:#ffffff14}.hero-strip{position:absolute;inset-inline-end:24px;inset-inline-start:24px;bottom:36px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.glass-stat{border-radius:var(--radius);border:1px solid rgba(255,255,255,.14);background:#ffffff14;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:var(--space-3);color:#fff;min-height:76px}.glass-stat strong{display:block;font-size:22px;font-weight:800;letter-spacing:-.01em}.glass-stat span{display:block;color:#ffffffb3;font-size:12px;margin-top:3px}.view{display:none}.view.active{display:block;animation:rise .35s var(--ease) both}.view.active .view{display:block}.view.active:has(.learn-modal-overlay),.view.active:has(.checkout-backdrop),.view.active:has(.checkout-modal-backdrop),.view.active:has(.teacher-modal-backdrop),.view.active:has(.sched-modal-backdrop),.view.active:has(.learn-drawer-backdrop){animation:none!important;transform:none!important}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.bottom-bar{display:none;position:fixed;bottom:0;inset-inline-start:0;inset-inline-end:0;z-index:50;background:var(--glass-elevated);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--line);padding:4px var(--space-2);justify-content:space-around;padding-bottom:max(4px,env(safe-area-inset-bottom))}.bottom-bar button{border:none;background:none;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:1px;padding:4px 8px;font-size:10px;transition:color var(--duration-fast) var(--ease)}.bottom-bar button.active{color:var(--teal)}.bottom-bar button svg{width:22px;height:22px}@media (max-width: 1180px){.grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3,.grid.aside,.learning-layout{grid-template-columns:1fr}.hero-strip{position:static;margin-top:var(--space-5)}.home-hero{display:block;min-height:auto}.footer{grid-template-columns:1fr 1fr}}@media (max-width: 720px){.grid.cols-4,.grid.cols-3,.grid.cols-2,.hero-strip,.form-grid,.footer{grid-template-columns:1fr}.section-head,.panel-head{align-items:start;flex-direction:column}.composer{grid-template-columns:1fr}.msg{max-width:100%}.home-hero{padding:var(--space-4)}.learning-layout{grid-template-columns:1fr}.bottom-bar{display:flex}.main{padding-bottom:72px}.search{width:100%}}@media (max-width: 480px){.home-hero{min-height:auto;padding:var(--space-3)}.hero-content .lead{font-size:var(--text-base)}.metric strong{font-size:22px}}#admin{padding-bottom:24px}.admin-tabs{display:flex;gap:3px;margin-bottom:20px;overflow-x:auto;padding:3px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);-webkit-overflow-scrolling:touch}.admin-tab{display:flex;align-items:center;gap:6px;padding:9px 13px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--muted);font-size:12px;font-weight:600;white-space:nowrap;cursor:pointer;transition:all var(--duration-fast) var(--ease)}.admin-tab:hover{background:var(--surface-2);color:var(--ink)}.admin-tab.active{background:var(--teal-light);color:var(--teal)}.admin-tab.hidden{display:none}.admin-page{display:block}.page-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.page-header h3{font-size:20px;margin:0;letter-spacing:-.01em}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:20px}.stat-card{display:flex;align-items:center;gap:14px;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:all var(--duration-fast) var(--ease);border-top:3px solid var(--teal-2)}.stat-card:hover{box-shadow:var(--shadow-md)}.stat-card:nth-child(2){border-top-color:var(--indigo)}.stat-card:nth-child(3){border-top-color:var(--amber)}.stat-card:nth-child(4){border-top-color:var(--violet)}.stat-card:nth-child(5){border-top-color:var(--green)}.stat-card:nth-child(6){border-top-color:var(--coral)}.stat-icon{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;background:var(--teal-light);color:var(--teal);flex-shrink:0}.stat-card:nth-child(2) .stat-icon{background:#6366f11a;color:var(--indigo)}.stat-card:nth-child(3) .stat-icon{background:#f59e0b1a;color:var(--amber)}.stat-card:nth-child(4) .stat-icon{background:#7c3aed1a;color:var(--violet)}.stat-card:nth-child(5) .stat-icon{background:#16a34a1a;color:var(--green)}.stat-card:nth-child(6) .stat-icon{background:#fb705d1a;color:var(--coral)}.stat-info{min-width:0}.stat-label{font-size:12px;color:var(--muted);font-weight:500;display:block}.stat-value{font-size:22px;font-weight:800;display:block;line-height:1.2}.stat-change{font-size:12px;font-weight:600}.stat-change.up{color:var(--green)}.stat-change.down{color:var(--danger)}.dashboard-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:14px;margin-bottom:20px}.dashboard-grid.two-col{grid-template-columns:1fr 1fr}.chart-panel .chart{height:220px}.activity-list{display:grid;gap:6px}.activity-item{display:flex;gap:10px;padding:10px;border-radius:var(--radius-sm);transition:background var(--duration-fast) var(--ease)}.activity-item:hover{background:var(--surface-2)}.activity-dot{width:8px;height:8px;border-radius:50%;margin-top:5px;flex-shrink:0;background:var(--teal-2)}.activity-dot.course{background:var(--indigo)}.activity-dot.user{background:var(--amber)}.activity-dot.enrollment{background:var(--green)}.activity-dot.payment{background:var(--coral)}.activity-dot.system{background:var(--muted)}.activity-content{min-width:0}.activity-content strong{font-size:13px;display:block}.activity-content span{font-size:12px;color:var(--muted);display:block}.activity-content small{font-size:11px;color:var(--muted-2)}.mini-progress{height:4px;background:var(--surface-2);border-radius:4px;overflow:hidden;margin-bottom:3px;max-width:72px}.mini-progress-fill{height:100%;background:linear-gradient(90deg,var(--teal-2),var(--green));border-radius:inherit;transition:width var(--duration-slow) var(--ease)}.star-rating{color:var(--amber);font-size:12px}.user-name-cell{font-weight:600}.action-btns{display:flex;gap:4px;flex-wrap:nowrap}.btn-icon{width:30px;height:30px;border:none;border-radius:6px;background:transparent;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:13px;transition:background var(--duration-fast) var(--ease)}.btn-icon:hover{background:var(--surface-2);color:var(--ink)}.order-controls{display:flex;align-items:center;gap:4px}.order-controls button{width:22px;height:22px;border:none;border-radius:4px;background:transparent;color:var(--muted);cursor:pointer;font-size:10px;display:grid;place-items:center;transition:background var(--duration-fast) var(--ease)}.order-controls button:hover{background:var(--surface-2);color:var(--ink)}.order-controls span{font-weight:700;font-size:13px;min-width:18px;text-align:center}.form-panel{margin-bottom:16px}.form-actions{display:flex;gap:8px;align-items:center}.course-link{display:flex;align-items:center;gap:8px;color:var(--teal);font-weight:600;text-decoration:none}.course-link:hover{text-decoration:underline}.sections-list{display:grid;gap:12px}.section-card{padding:var(--space-4)}.section-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.section-title{display:flex;align-items:center;gap:10px}.section-title h4{margin:0;font-size:15px}.section-order{width:30px;height:30px;border-radius:8px;background:var(--teal-light);color:var(--teal);display:grid;place-items:center;font-weight:800;font-size:13px}.section-actions{display:flex;gap:4px;flex-wrap:wrap}.lessons-table{min-width:560px}.lessons-table th,.lessons-table td{padding:8px 10px;font-size:12px}.add-lesson-btn{width:100%;justify-content:center;padding:10px;border:1.5px dashed var(--line);border-radius:var(--radius-sm);margin-top:8px;color:var(--muted);font-weight:500;font-size:var(--text-sm)}.add-lesson-btn:hover{border-color:var(--teal-2);color:var(--teal);background:var(--teal-light)}.subsection{margin-top:10px;padding:10px;background:var(--surface-2);border-radius:var(--radius-sm)}.subsection-title{font-size:13px;display:block;margin-bottom:6px;color:var(--muted)}.sub-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;font-size:13px}.sub-item:hover{background:var(--surface)}.sub-item span:first-child{flex:1;font-weight:500}.file-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;margin:2px;border-radius:6px;background:var(--surface-2);font-size:11px}.role-select{border:1px solid var(--line);border-radius:6px;padding:4px 8px;background:var(--surface);color:var(--ink);font-size:12px;cursor:pointer}@media (max-width: 1180px){.dashboard-grid,.dashboard-grid.two-col{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 720px){.stats-grid{grid-template-columns:1fr}.admin-tabs{gap:0}.admin-tab span{display:none}.section-header{flex-direction:column;align-items:start}.section-actions{width:100%}}.admin-shell{display:grid;grid-template-columns:var(--admin-sidebar-width, 240px) minmax(0,1fr);min-height:100vh;background:var(--bg);transition:grid-template-columns .16s cubic-bezier(.4,0,.2,1)}.admin-shell.admin-shell--collapsed{--admin-sidebar-width: 72px}.admin-sidebar{position:sticky;top:0;height:100vh;background:var(--sidebar-bg);color:var(--sidebar-text);display:flex;flex-direction:column;padding:0;overflow-y:auto;overflow-x:hidden;z-index:100;border-inline-end:1px solid var(--sidebar-border);width:var(--admin-sidebar-width, 240px);transition:width .16s cubic-bezier(.4,0,.2,1),background-color var(--duration-normal) var(--ease),border-color var(--duration-normal) var(--ease)}.admin-sidebar.collapsed .admin-brand h2,.admin-sidebar.collapsed .admin-nav-group,.admin-sidebar.collapsed .admin-nav-item span,.admin-sidebar.collapsed .admin-collapse-btn span{display:none!important}.admin-sidebar.collapsed .admin-brand{justify-content:center;padding:16px 0}.admin-sidebar.collapsed .admin-nav-item{justify-content:center;padding:10px 0;margin:4px 8px;border-radius:8px}.admin-sidebar.collapsed .admin-collapse-btn{justify-content:center;padding:10px 0}.admin-collapse-btn{display:flex;align-items:center;gap:10px;width:100%;padding:10px 16px;background:var(--sidebar-hover);border:none;border-top:1px solid var(--sidebar-border);color:var(--sidebar-text-muted);cursor:pointer;font-size:.82rem;font-weight:500;transition:all .16s ease;font-family:inherit}.admin-collapse-btn:hover{background:var(--sidebar-active-bg);color:var(--sidebar-active-text)}.admin-brand{display:flex;align-items:center;gap:12px;padding:18px 20px 14px;border-bottom:1px solid var(--sidebar-border)}.admin-brand h2{margin:0;font-size:17px;font-weight:700;color:var(--sidebar-text)}.admin-sidebar-close{display:none;margin-inline-start:auto;background:none;border:none;color:var(--sidebar-text-muted);font-size:22px;cursor:pointer}.admin-sidebar-close:hover{color:var(--sidebar-text)}.admin-nav-group{padding:18px 20px 6px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--sidebar-text-muted)}.admin-nav{display:flex;flex-direction:column;gap:3px;padding:0 10px}.admin-nav-item{display:flex;align-items:center;gap:12px;padding:9px 12px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--sidebar-text-muted);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease;text-align:start;width:100%;text-decoration:none}.admin-nav-item:hover{background:var(--sidebar-hover);color:var(--sidebar-text)}.admin-nav-item.active{background:var(--sidebar-active-bg);border-color:var(--sidebar-active-border);color:var(--sidebar-active-text);font-weight:700;box-shadow:var(--sidebar-active-shadow)}.admin-nav-item svg{flex-shrink:0;opacity:.85}.admin-nav-item.active svg{opacity:1}.admin-sidebar-footer{margin-top:auto;padding:10px;border-top:1px solid var(--sidebar-border)}.admin-main{min-width:0;display:flex;flex-direction:column;height:100vh;overflow-y:auto;flex:1;background:var(--bg);color:var(--ink)}.admin-header{display:flex;align-items:center;gap:16px;padding:14px 20px;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}.admin-hamburger{display:flex;align-items:center;justify-content:center;background:var(--surface-2, rgba(255, 255, 255, .04));border:1px solid var(--line, var(--border));border-radius:var(--radius-sm, 8px);color:var(--text-muted, var(--muted));cursor:pointer;padding:6px 8px;transition:all var(--duration-fast, .15s) ease}.admin-hamburger:hover{color:var(--text);background:var(--surface-hover, rgba(255, 255, 255, .08));border-color:var(--teal, var(--viz-teal))}.admin-header-title h1{margin:0;font-size:19px;font-weight:700}.admin-header-actions{display:flex;align-items:center;gap:14px;margin-inline-start:auto}.admin-notif-badge{position:relative;cursor:pointer;color:var(--muted);transition:color .15s ease}.admin-notif-badge:hover{color:var(--ink)}.admin-badge-count{position:absolute;top:-4px;inset-inline-end:-6px;min-width:17px;height:17px;border-radius:9px;background:var(--danger-fill);color:var(--text-on-action);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px}.admin-user-avatar{width:34px;height:34px;border-radius:50%;background:var(--grad-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;cursor:pointer;box-shadow:0 2px 8px #14b8a64d}.admin-content{padding:20px;flex:1}.admin-page{max-width:1400px}.admin-page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.admin-page-header h2{margin:0;font-size:20px;font-weight:700;letter-spacing:-.01em}.admin-stats-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-bottom:24px}@media (max-width: 1240px){.admin-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 860px){.admin-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 520px){.admin-stats-grid{grid-template-columns:1fr}}.admin-stat-card{position:relative;overflow:hidden;display:flex;align-items:center;gap:14px;padding:18px 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius, 14px);box-shadow:var(--shadow-sm);transition:all .2s ease}.admin-stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.admin-stat-icon{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .2s ease}.admin-stat-card:hover .admin-stat-icon{transform:scale(1.05)}.admin-stat-glow{position:absolute;inset:auto -25px -25px auto;width:70px;height:70px;border-radius:50%;background:radial-gradient(circle,rgba(20,184,166,.06),transparent 70%);pointer-events:none}.stat-1 .admin-stat-icon{background:#087f6a1f;color:var(--accent-teal)}.stat-2 .admin-stat-icon{background:#3578e51f;color:var(--accent-blue)}.stat-3 .admin-stat-icon{background:#f2a33a1f;color:var(--accent-amber)}.stat-4 .admin-stat-icon{background:#8053d61f;color:var(--accent-violet)}.stat-5 .admin-stat-icon{background:#168c681f;color:var(--accent-success)}.stat-6 .admin-stat-icon{background:#d94f661f;color:var(--accent-danger)}[data-theme=dark] .stat-1 .admin-stat-icon{background:#20d6b026;color:var(--accent-teal)}[data-theme=dark] .stat-2 .admin-stat-icon{background:#438bff26;color:var(--accent-blue)}[data-theme=dark] .stat-3 .admin-stat-icon{background:#ffb54726;color:var(--accent-amber)}[data-theme=dark] .stat-4 .admin-stat-icon{background:#a66bff26;color:var(--accent-violet)}[data-theme=dark] .stat-5 .admin-stat-icon{background:#36d39926;color:var(--accent-success)}[data-theme=dark] .stat-6 .admin-stat-icon{background:#ff647c26;color:var(--accent-danger)}.admin-stat-info{min-width:0;position:relative;z-index:1}.admin-stat-label{font-size:11.5px;color:var(--muted);font-weight:600;display:block;margin-bottom:3px;text-transform:uppercase;letter-spacing:.4px}.admin-stat-value{font-size:22px;font-weight:800;color:var(--ink);display:block;line-height:1.15;letter-spacing:-.02em;font-feature-settings:"tnum"}.admin-stat-change{font-size:11px;font-weight:600;margin-top:4px;display:inline-flex;align-items:center;gap:4px;color:var(--muted)}.admin-stat-change.up{color:var(--accent-success)}.admin-stat-change.down{color:var(--accent-danger)}.admin-grid-row{display:grid;grid-template-columns:1.4fr .6fr;gap:14px;margin-bottom:14px;min-width:0}.admin-grid-row>*{min-width:0}.admin-grid-dual{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid-triple{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:var(--shadow-sm);min-width:0;overflow:hidden}.admin-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.admin-panel-head h2,.admin-panel-head h3{margin:0;font-size:15px;font-weight:700}.admin-chart{height:200px;display:flex;align-items:end;gap:8px;padding:16px 4px 32px;border-bottom:1px solid var(--line)}.admin-bar{flex:1;min-width:22px;height:var(--h);border-radius:6px 6px 0 0;background:linear-gradient(180deg,var(--teal-2),var(--indigo-2));position:relative;transition:height .4s ease}.admin-bar:hover{opacity:.8}.admin-bar-value{position:absolute;top:-20px;inset-inline-start:50%;transform:translate(-50%);font-size:10px;font-weight:700;color:var(--muted);white-space:nowrap}.admin-bar-label{position:absolute;bottom:-20px;inset-inline-start:50%;transform:translate(-50%);font-size:10px;color:var(--muted);white-space:nowrap}.admin-zero-revenue-card{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 24px;background:var(--surface-2);border:1px dashed var(--line);border-radius:var(--radius, 14px);min-height:200px;gap:12px}.admin-zero-revenue-icon{width:52px;height:52px;border-radius:14px;background:#087f6a1a;color:var(--accent-teal);display:flex;align-items:center;justify-content:center;margin-bottom:2px}[data-theme=dark] .admin-zero-revenue-icon{background:#20d6b024}.admin-zero-revenue-title{font-size:15px;font-weight:700;color:var(--ink);margin:0}.admin-zero-revenue-desc{font-size:12.5px;color:var(--muted);max-width:440px;margin:0;line-height:1.5}.admin-zero-revenue-meta{display:inline-flex;align-items:center;gap:8px;margin-top:4px;flex-wrap:wrap;justify-content:center}.admin-zero-revenue-period{font-size:11px;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--ink-2)}.admin-activity-list{display:flex;flex-direction:column;gap:8px}.admin-activity-item{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;border-radius:10px;background:var(--surface-2);border:1px solid var(--border-subtle, transparent);transition:all .15s ease}.admin-activity-item:hover{background:var(--surface-hover);border-color:var(--line)}.admin-activity-dot{width:8px;height:8px;border-radius:50%;margin-top:6px;flex-shrink:0;background:var(--accent-teal)}.admin-activity-dot.course{background:var(--accent-blue)}.admin-activity-dot.user{background:var(--accent-amber)}.admin-activity-dot.enrollment{background:var(--accent-success)}.admin-activity-dot.payment{background:var(--accent-teal)}.admin-activity-dot.system{background:var(--accent-violet)}.admin-activity-content{min-width:0;flex:1}.admin-activity-content strong{font-size:12.5px;display:block;font-weight:600;color:var(--ink)}.admin-activity-content span{font-size:11.5px;color:var(--muted);display:block;margin-top:1px}.admin-activity-content small{font-size:10.5px;color:var(--muted-2);margin-top:3px;display:inline-block}.admin-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-sm)}.admin-table-wrap table{width:100%;border-collapse:collapse;min-width:820px;background:var(--surface);font-size:12px}.admin-dashboard .admin-table-wrap table{min-width:100%}.admin-table-wrap th,.admin-table-wrap td{padding:12px 16px;text-align:start;border-bottom:1px solid var(--border)}.admin-table-wrap th{color:var(--text-muted);background:var(--background-secondary);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.admin-table-wrap tr:last-child td{border-bottom:0}.admin-table-wrap tr:hover td{background:var(--surface-hover)}.admin-user-name{font-weight:600}.admin-star-rating{color:var(--amber);font-size:11px}.admin-mini-progress{height:3px;background:var(--surface-2);border-radius:3px;overflow:hidden;margin-bottom:3px;max-width:72px}.admin-mini-progress-fill{height:100%;background:linear-gradient(90deg,var(--teal-2),var(--green));border-radius:inherit;transition:width .4s ease}.admin-notif-list{display:grid;gap:8px}.admin-notif-item{display:flex;gap:10px;padding:10px;border-radius:8px;background:var(--surface-2);transition:background .15s ease}.admin-notif-item.unread{background:var(--teal-light);border-inline-start:3px solid var(--teal-2)}.admin-notif-dot{width:8px;height:8px;border-radius:50%;margin-top:5px;flex-shrink:0;background:var(--teal-2)}.admin-notif-content strong{font-size:12px;display:block}.admin-notif-content p{margin:3px 0 0;font-size:11px;color:var(--muted);line-height:1.5}.admin-action-btns{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;white-space:nowrap}.admin-order-controls{display:flex;align-items:center;gap:4px}.admin-order-controls button{width:22px;height:22px;border:none;border-radius:4px;background:transparent;color:var(--muted);cursor:pointer;font-size:10px;display:grid;place-items:center;transition:background .15s ease}.admin-order-controls button:hover{background:var(--surface-2);color:var(--ink)}.admin-order-controls span{font-weight:700;font-size:13px;min-width:18px;text-align:center}.admin-course-link{display:flex;align-items:center;gap:8px;color:var(--teal);font-weight:600;text-decoration:none}.admin-course-link:hover{text-decoration:underline}.admin-health-list{display:flex;flex-direction:column;gap:8px}.admin-health-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;transition:border-color .15s ease}.admin-health-row:hover{border-color:var(--teal)}.admin-health-left{display:flex;align-items:center;gap:10px;min-width:0}.admin-health-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.admin-health-dot.good{background:#10b981;box-shadow:0 0 6px #10b98166}.admin-health-dot.warn{background:#f59e0b;box-shadow:0 0 6px #f59e0b66}.admin-health-dot.bad{background:#ef4444;box-shadow:0 0 6px #ef444466}.admin-health-name{font-size:13px;font-weight:600;color:var(--ink)}.admin-health-right{display:flex;align-items:center;gap:8px}.admin-health-pill{padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600}.admin-health-pill.good{background:#10b9811f;color:var(--accent-success);border:1px solid rgba(16,185,129,.3)}.admin-health-pill.warn{background:#f59e0b1f;color:var(--accent-amber);border:1px solid rgba(245,158,11,.3)}.admin-health-pill.bad{background:#ef44441f;color:var(--accent-danger);border:1px solid rgba(239,68,68,.3)}.admin-health-metric{font-size:11px;color:var(--muted);font-family:monospace}.admin-reports-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}.admin-subnav-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px;border-bottom:1px solid var(--line);padding-bottom:8px}.admin-subnav-btn{padding:7px 13px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--muted);cursor:pointer;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:6px;transition:all .2s ease}.admin-subnav-btn:hover{background:var(--surface-2);color:var(--ink)}.admin-subnav-btn.active{background:#14b8a61f;color:var(--teal);border-color:#14b8a64d}.admin-filter-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.admin-filter-bar .input{flex:1;min-width:200px}.admin-summary-strip{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.admin-summary-chip{padding:5px 11px;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;font-size:12px;display:inline-flex;align-items:center;gap:6px}.admin-summary-chip strong{color:var(--teal);font-size:13px}.admin-warning-banner{background:#f59e0b1a;border:1px solid rgba(245,158,11,.35);color:#f59e0b;border-radius:8px;padding:9px 13px;font-size:12px;display:flex;align-items:center;gap:8px;margin:8px 0}.admin-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:10px;border-top:1px solid var(--line)}.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-form-panel{margin-bottom:14px}.admin-form-actions{display:flex;gap:8px;align-items:center}.admin-sections-list{display:grid;gap:12px}.admin-section-card{padding:14px}.admin-section-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.admin-section-title{display:flex;align-items:center;gap:10px}.admin-section-title h4{margin:0;font-size:15px}.admin-section-order{width:30px;height:30px;border-radius:8px;background:var(--teal-light);color:var(--teal-2);display:grid;place-items:center;font-weight:800;font-size:13px}.admin-section-actions{display:flex;gap:4px;flex-wrap:wrap}.admin-lessons-table{min-width:560px}.admin-lessons-table th,.admin-lessons-table td{padding:8px 10px;font-size:12px}.admin-add-lesson-btn{width:100%;justify-content:center;padding:10px;border:1.5px dashed var(--line);border-radius:8px;margin-top:8px;background:transparent;color:var(--muted);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;gap:6px}.admin-add-lesson-btn:hover{border-color:var(--teal-2);color:var(--teal-2);background:var(--teal-light)}.admin-subsection{margin-top:10px;padding:10px;background:var(--surface-2);border-radius:8px}.admin-subsection-title{font-size:12px;display:block;margin-bottom:6px;color:var(--muted)}.admin-sub-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;font-size:12px}.admin-sub-item:hover{background:var(--surface)}.admin-sub-item span:first-child{flex:1;font-weight:500}.admin-role-select{border:1px solid var(--line);border-radius:6px;padding:4px 8px;background:var(--surface);color:var(--ink);font-size:12px;cursor:pointer}.admin-overlay{display:none}.admin-course-selector-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface);border:1px solid var(--border, var(--line));border-radius:var(--radius-lg, 12px);padding:14px 18px;margin-bottom:20px;flex-wrap:wrap}.admin-course-selector-select-wrap{display:flex;align-items:center;gap:10px;flex:1;min-width:280px}.admin-course-selector{height:42px;padding:0 14px;border-radius:8px;border:1.5px solid var(--border, var(--line));background:var(--bg);color:var(--text);font-weight:600;font-size:14px;width:100%;max-width:480px;cursor:pointer;transition:border-color var(--duration-fast, .2s) ease,box-shadow var(--duration-fast, .2s) ease}.admin-course-selector:focus{outline:none;border-color:var(--primary, var(--viz-teal));box-shadow:0 0 0 3px #14b8a62e}.admin-course-selector-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-course-context-card{background:linear-gradient(135deg,#14b8a614,#6366f10d);border:1px solid rgba(20,184,166,.25);border-radius:var(--radius-lg, 12px);padding:18px 20px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.admin-course-context-main{display:flex;align-items:center;gap:14px}.admin-course-context-icon{width:48px;height:48px;border-radius:12px;background:var(--action);color:var(--text-on-action);display:grid;place-items:center;font-size:22px;flex-shrink:0;box-shadow:0 4px 12px #14b8a640}.admin-course-context-title{margin:0 0 4px;font-size:18px;font-weight:700;color:var(--text)}.admin-course-context-meta{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary);flex-wrap:wrap}.admin-course-context-stats{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.admin-course-picker-hub{background:var(--surface);border:1px solid var(--border, var(--line));border-radius:var(--radius-lg, 12px);padding:24px;margin-bottom:24px}.admin-course-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px;margin-top:16px}.admin-course-picker-card{background:var(--bg);border:1px solid var(--border, var(--line));border-radius:10px;padding:16px;display:flex;flex-direction:column;justify-content:space-between;gap:12px;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;cursor:pointer}.admin-course-picker-card:hover{transform:translateY(-2px);border-color:var(--primary, var(--viz-teal));box-shadow:var(--shadow-md, 0 4px 12px rgba(0, 0, 0, .08))}.admin-course-picker-head{display:flex;align-items:center;gap:12px}.admin-course-picker-thumb{width:44px;height:44px;border-radius:8px;object-fit:cover;flex-shrink:0;background:var(--surface-2)}.admin-course-picker-title{margin:0;font-size:15px;font-weight:700;line-height:1.35;color:var(--text)}.admin-course-picker-meta{font-size:12.5px;color:var(--text-secondary);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-course-picker-pills{display:flex;gap:6px;flex-wrap:wrap}.admin-manage-chapters-btn{display:inline-flex;align-items:center;gap:6px;font-weight:600;white-space:nowrap;padding:4px 10px;border-radius:6px;font-size:12px;transition:background-color .15s ease,color .15s ease}.admin-manage-chapters-btn:hover{background:#14b8a626;color:var(--primary, var(--viz-teal))}@media (max-width: 1200px){.admin-grid-triple{grid-template-columns:1fr 1fr}}@media (max-width: 900px){.admin-grid-row,.admin-grid-dual,.admin-grid-triple{grid-template-columns:1fr}}@media (max-width: 900px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:fixed;inset:0 auto 0 0;width:280px;height:100vh;transform:translate(-100%);transition:transform .16s cubic-bezier(.4,0,.2,1);box-shadow:0 0 30px #0003;z-index:100}[dir=rtl] .admin-sidebar{left:auto;right:0;transform:translate(100%)}.admin-sidebar.open,[dir=rtl] .admin-sidebar.open{transform:translate(0)}.admin-sidebar-close{display:block}.admin-collapse-btn{display:none!important}.admin-hamburger{display:block}.admin-overlay{display:block;position:fixed;inset:0;z-index:99;background:#0006}.admin-content{padding:14px}.admin-stats-grid{grid-template-columns:repeat(2,1fr)}.admin-header{padding:10px 14px}}@media (max-width: 480px){.admin-stats-grid,.admin-form-grid{grid-template-columns:1fr}.admin-page-header{flex-direction:column;align-items:start}.admin-content{padding:10px}}.admin-empty{text-align:center;padding:48px 24px;color:var(--text-muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-sm)}.admin-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}.admin-search-bar{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 10px;background:var(--surface);flex:1;min-width:180px;max-width:320px;transition:border var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease)}.admin-search-bar:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-light)}.admin-search-bar svg{color:var(--muted-2);flex-shrink:0}.admin-search-bar input{border:none;background:transparent;color:var(--ink);padding:8px 0;font-size:var(--text-sm);outline:none;width:100%}.admin-filter-select{border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px 10px;background:var(--surface);color:var(--ink);font-size:12px;cursor:pointer;min-width:120px;transition:border var(--duration-fast) var(--ease)}.admin-filter-select:focus{border-color:var(--teal);outline:none}.admin-bulk-actions{display:flex;align-items:center;gap:6px;padding:4px 8px;background:var(--teal-light);border-radius:var(--radius-sm);animation:fadeIn .2s var(--ease)}.admin-category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.admin-category-card{display:flex;gap:14px;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-sm);transition:all var(--duration-fast) var(--ease);position:relative;overflow:hidden}.admin-category-card:hover{box-shadow:var(--shadow-md);border-color:var(--line-2)}.admin-category-card:before{content:"";position:absolute;inset:0;width:4px;background:var(--cat-color);border-radius:12px 0 0 12px}.admin-category-icon{width:44px;height:44px;border-radius:10px;display:grid;place-items:center;flex-shrink:0}.admin-category-info{flex:1;min-width:0}.admin-category-info strong{display:block;font-size:14px;font-weight:700}.admin-category-info>span{display:block;font-size:11px;color:var(--muted);margin-top:2px;line-height:1.5}.admin-category-meta{display:flex;gap:6px;margin-top:8px}.admin-category-actions{display:flex;gap:4px;flex-shrink:0;align-self:start}.admin-students-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;align-items:stretch}.admin-student-card{display:flex;align-items:center;gap:12px;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-sm);transition:all var(--duration-fast) var(--ease);min-height:88px;box-sizing:border-box}.admin-student-card:hover{box-shadow:var(--shadow-md);border-color:var(--line-2)}.admin-student-check{flex-shrink:0}.admin-student-check input{width:16px;height:16px;cursor:pointer;accent-color:var(--teal)}.admin-student-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;font-size:15px;flex-shrink:0}.admin-student-info{flex:1;min-width:0;overflow:hidden}.admin-student-info strong{display:block;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-student-info>span{display:block;font-size:11px;color:var(--muted);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:break-all}.admin-student-meta{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap;align-items:center}.admin-student-progress{text-align:center;min-width:64px;flex-shrink:0}.admin-mini-progress{width:100%;height:6px;background:var(--surface-2);border-radius:3px;overflow:hidden;margin-bottom:4px}.admin-mini-progress-fill{height:100%;background:var(--teal);border-radius:3px;transition:width .4s ease}.admin-student-progress span{display:block;font-size:11px;font-weight:700;color:var(--muted);margin-top:3px}.admin-pie-wrapper{display:flex;align-items:center;justify-content:flex-start;gap:20px;padding:12px 0;width:100%;flex-wrap:wrap}.chart-pie-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.chart-pie-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;text-align:center;line-height:1.1}.chart-pie-center strong{font-size:1.1rem;font-weight:700;color:var(--text)}.chart-pie-center span{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:2px}.admin-pie-legend{display:flex;flex-direction:column;gap:8px;flex:1;min-width:160px}.admin-pie-chart{display:grid;gap:8px}.admin-pie-item{display:flex;align-items:center;gap:10px;padding:4px 0;font-size:13px;white-space:nowrap}.admin-pie-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.admin-pie-item span{flex:1;color:var(--muted);overflow:hidden;text-overflow:ellipsis}.admin-pie-item strong{font-weight:700;margin-inline-start:8px;color:var(--text)}.chart-bars{display:flex;align-items:flex-end;gap:10px;width:100%;padding-top:16px;box-sizing:border-box}.chart-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end;min-width:0}.chart-bar-value{font-size:.75rem;font-weight:600;color:var(--muted)}.chart-bar-track{width:100%;max-width:32px;flex:1;background:var(--surface-2);border-radius:4px;display:flex;align-items:flex-end;overflow:hidden}.chart-bar-fill{width:100%;border-radius:4px 4px 0 0;transition:height .6s cubic-bezier(.4,0,.2,1)}.chart-bar-label{font-size:.75rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;width:100%}.admin-metric-box{text-align:center;padding:16px;background:var(--surface-2);border-radius:var(--radius-sm)}.admin-metric-box strong{display:block;font-size:24px;font-weight:800;letter-spacing:-.02em}.admin-metric-box span{display:block;font-size:11px;color:var(--muted);margin-top:4px}.admin-notif-type-icon{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;flex-shrink:0;background:var(--surface-2);color:var(--muted);font-weight:700;font-size:14px}.admin-notif-type-success{background:#16a34a1a;color:var(--green)}.admin-notif-type-warn{background:#f59e0b1a;color:var(--amber)}.admin-notif-type-error{background:#dc26261a;color:var(--danger)}.admin-notif-unread-dot{width:8px;height:8px;border-radius:50%;background:var(--teal-2);flex-shrink:0;align-self:center}@media (max-width: 768px){.admin-toolbar{flex-direction:column;align-items:stretch}.admin-search-bar{max-width:100%}.admin-filter-select{width:100%}.admin-bulk-actions{flex-wrap:wrap}.admin-category-grid,.admin-students-grid{grid-template-columns:1fr}.admin-student-card{flex-wrap:nowrap;gap:10px;padding:10px 12px}}.dash-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap}.dash-header h3{margin:0;font-size:var(--text-2xl);letter-spacing:-.02em}.dash-header p{margin:var(--space-1) 0 0;color:var(--muted);font-size:var(--text-sm)}.dash-header-actions{display:flex;align-items:center;gap:var(--space-2)}.dash-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--space-4);align-items:stretch}.dash-widget{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:var(--space-4);min-width:0;display:flex;flex-direction:column;gap:var(--space-3)}.dash-widget-xp{grid-column:span 4}.dash-widget-streak,.dash-widget-hours,.dash-widget-completed,.dash-widget-certificates,.dash-widget-score{grid-column:span 2}.dash-widget-current{grid-column:span 6}.dash-widget-progress{grid-column:span 4}.dash-widget-continue{grid-column:span 6}.dash-widget-meeting,.dash-widget-assignment{grid-column:span 3}.dash-widget-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:28px}.dash-widget-label{font-size:var(--text-sm);font-weight:700;color:var(--ink)}.dash-widget-icon{width:28px;height:28px;border-radius:10px;display:inline-grid;place-items:center;font-size:14px;flex-shrink:0}.dash-xp-content,.dash-streak-content,.dash-stat-content,.dash-current-content,.dash-meeting-content,.dash-assignment-content{display:grid;gap:var(--space-2);min-width:0}.dash-xp-level{display:flex;align-items:center;gap:var(--space-3)}.dash-level-badge{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--amber),var(--coral));color:#fff;display:grid;place-items:center;font-weight:800;box-shadow:var(--shadow-sm);flex-shrink:0}.dash-xp-value,.dash-stat-value,.dash-streak-value{display:block;font-size:clamp(1.25rem,2vw,2rem);line-height:1.1;letter-spacing:-.03em}.dash-xp-next,.dash-stat-content span,.dash-streak-content span,.dash-current-info span,.dash-meeting-content span,.dash-assignment-content span{color:var(--muted);font-size:var(--text-sm)}.dash-streak-content{align-items:start}.dash-streak-dots{display:flex;gap:6px;margin-top:2px}.dash-streak-dot{width:8px;height:8px;border-radius:50%;background:#94a3b847}.dash-streak-dot.active{background:linear-gradient(180deg,var(--coral),var(--amber));box-shadow:0 0 0 3px #fb71851f}.dash-current-content{display:flex;align-items:center;gap:var(--space-3)}.dash-current-info{display:grid;gap:var(--space-2);min-width:0;flex:1}.dash-current-info strong,.dash-meeting-content strong,.dash-assignment-content strong,.dash-continue-info strong{font-size:var(--text-sm);line-height:1.4}.dash-weekly-chart{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:var(--space-2);min-height:170px;margin-top:var(--space-1)}.dash-weekly-bar-wrap{display:flex;flex-direction:column;align-items:center;justify-content:end;gap:8px;height:100%;min-width:0}.dash-weekly-bar{position:relative;width:100%;max-width:28px;height:var(--h);min-height:18px;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:linear-gradient(180deg,var(--teal-2),var(--indigo-2));box-shadow:inset 0 -1px #ffffff26;display:flex;align-items:flex-start;justify-content:center}.dash-weekly-bar-val{position:absolute;top:-18px;left:50%;transform:translate(-50%);font-size:10px;font-weight:700;color:var(--muted);white-space:nowrap}.dash-weekly-bar-label{font-size:10px;color:var(--muted);font-weight:600}.dash-weekly-bar-label.today{color:var(--teal-2)}.dash-continue-list{display:grid;gap:var(--space-2)}.dash-continue-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-2);cursor:pointer;transition:all var(--duration-fast) var(--ease)}.dash-continue-item:hover{border-color:var(--line-2);box-shadow:var(--shadow-sm)}.dash-continue-icon{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,var(--teal-2),var(--indigo-2));color:#fff;display:grid;place-items:center;font-weight:800;flex-shrink:0}.dash-continue-info{display:grid;gap:4px;min-width:0;flex:1}.dash-continue-info span{color:var(--muted);font-size:11px}.dash-continue-pct{font-size:12px;font-weight:700;color:var(--muted)}.premium-progress-bar{width:100%;height:8px;background:var(--surface-2);border-radius:999px;overflow:hidden}.premium-progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--teal-2),var(--indigo-2))}.dash-meeting-icon,.dash-assignment-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--teal-light);color:var(--teal-2);flex-shrink:0}.dash-assignment-icon{background:#7c3aed1a;color:var(--violet)}@media (max-width: 1100px){.dash-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-widget-xp,.dash-widget-streak,.dash-widget-hours,.dash-widget-completed,.dash-widget-certificates,.dash-widget-score,.dash-widget-current,.dash-widget-progress,.dash-widget-continue,.dash-widget-meeting,.dash-widget-assignment{grid-column:span 1}}@media (max-width: 720px){.dash-grid{grid-template-columns:1fr}.dash-header{flex-direction:column;align-items:stretch}.dash-current-content{flex-direction:column;align-items:flex-start}}.sd-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap}.sd-greeting h2{margin:0;font-size:var(--text-2xl);letter-spacing:-.02em}.sd-greeting p{margin:var(--space-1) 0 0;color:var(--muted);font-size:var(--text-sm)}.sd-header-actions{display:flex;align-items:center;gap:var(--space-3)}.sd-search{position:relative;width:min(280px,100%)}.sd-search svg{position:absolute;inset-inline-start:12px;top:50%;transform:translateY(-50%);color:var(--muted-2);pointer-events:none}.sd-search input{width:100%;border:1px solid var(--line);border-radius:var(--radius-pill);padding:9px 12px 9px 36px;background:var(--surface);color:var(--ink);font-size:var(--text-sm);outline:none;transition:all var(--duration-fast) var(--ease)}.sd-search input:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-light)}.sd-search input::placeholder{color:var(--muted-2)}.sd-avatar{width:38px;height:38px;border-radius:50%;border:none;background:var(--grad-primary);color:#fff;font-weight:700;font-size:14px;cursor:pointer;display:grid;place-items:center;flex-shrink:0;box-shadow:0 2px 8px #14b8a647;transition:transform var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease)}.sd-avatar:hover{transform:scale(1.05);box-shadow:0 4px 14px #14b8a659}.sd-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3);margin-bottom:var(--space-5)}.sd-stat{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:all var(--duration-fast) var(--ease)}.sd-stat:hover{box-shadow:var(--shadow-md)}.sd-stat-icon{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;flex-shrink:0}.sd-stat-label{display:block;font-size:11px;color:var(--muted);font-weight:500;margin-bottom:1px}.sd-stat-value{display:block;font-size:22px;font-weight:800;line-height:1.1;letter-spacing:-.02em}.sd-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:var(--space-4);align-items:start}.sd-col{display:grid;gap:var(--space-4)}.sd-section{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:var(--space-4)}.sd-section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-3)}.sd-section-head h3{margin:0;font-size:var(--text-base);font-weight:700}.sd-empty{text-align:center;padding:var(--space-4);color:var(--muted);font-size:var(--text-sm);display:grid;gap:var(--space-3);justify-items:center}.sd-horizontal-scroll{display:flex;gap:var(--space-3);overflow-x:auto;padding:2px 2px var(--space-2);-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory}.sd-horizontal-scroll::-webkit-scrollbar{height:4px}.sd-horizontal-scroll::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}.sd-continue-card{min-width:220px;max-width:240px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);overflow:hidden;cursor:pointer;transition:all var(--duration-fast) var(--ease);scroll-snap-align:start;flex-shrink:0}.sd-continue-card:hover{box-shadow:var(--shadow-md);border-color:var(--line-2)}.sd-continue-top{min-height:80px;background:var(--grad-primary);padding:var(--space-2) var(--space-3);display:flex;align-items:start;justify-content:flex-end;flex-direction:column}.sd-continue-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:var(--radius-pill);background:#ffffff24;color:#fff;font-size:10px;font-weight:600;backdrop-filter:blur(6px)}.sd-continue-body{padding:var(--space-3);display:grid;gap:var(--space-2)}.sd-continue-body strong{font-size:var(--text-sm);display:block;line-height:1.4}.sd-continue-progress{display:flex;align-items:center;gap:var(--space-2)}.sd-continue-bar{flex:1;height:5px;background:var(--surface-2);border-radius:var(--radius-pill);overflow:hidden}.sd-continue-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--teal-2),var(--green));transition:width var(--duration-slow) var(--ease)}.sd-continue-progress span{font-size:11px;font-weight:700;color:var(--muted);min-width:32px;text-align:end}.sd-courses-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.sd-course-card{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);overflow:hidden;transition:all var(--duration-fast) var(--ease)}.sd-course-card:hover{box-shadow:var(--shadow-md);border-color:var(--line-2)}.sd-course-card-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);background:linear-gradient(135deg,var(--teal-2),var(--indigo));min-height:48px}.sd-course-card-icon{width:30px;height:30px;border-radius:8px;background:#fff3;color:#fff;display:grid;place-items:center;font-weight:800;font-size:13px}.sd-fav-btn{background:none;border:none;cursor:pointer;padding:4px;display:grid;place-items:center;border-radius:6px;transition:all var(--duration-fast) var(--ease)}.sd-fav-btn:hover{transform:scale(1.2)}.sd-course-card-body{padding:var(--space-2) var(--space-3)}.sd-course-card-body strong{display:block;font-size:var(--text-sm);line-height:1.3;margin-bottom:2px}.sd-course-card-path{display:block;font-size:11px;color:var(--muted);margin-bottom:var(--space-2)}.sd-course-card-meta{display:flex;align-items:center;gap:var(--space-2)}.sd-mini-bar{flex:1;height:4px;background:var(--surface-2);border-radius:4px;overflow:hidden}.sd-mini-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--teal-2),var(--green));transition:width var(--duration-slow) var(--ease)}.sd-course-card-meta span{font-size:10px;font-weight:700;color:var(--muted)}.sd-progress-overview{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-2) 0}.progress-ring{position:relative;display:grid;place-items:center;flex-shrink:0}.progress-ring svg{display:block}.progress-ring-text{position:absolute;text-align:center;pointer-events:none}.progress-ring-text strong{display:block;font-size:18px;font-weight:800;line-height:1;letter-spacing:-.02em}.progress-ring-text span{display:block;font-size:9px;color:var(--muted);margin-top:2px;font-weight:500}.sd-progress-stats{display:grid;gap:var(--space-2);flex:1}.sd-progress-stat{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm)}.sd-progress-stat span:not(.sd-progress-dot){flex:1;color:var(--muted)}.sd-progress-stat strong{font-weight:700;min-width:24px;text-align:end}.sd-progress-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.sd-quick-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2)}.sd-quick-stat{padding:var(--space-2) var(--space-3);background:var(--surface-2);border-radius:var(--radius-sm)}.sd-quick-stat span{display:block;font-size:11px;color:var(--muted);font-weight:500}.sd-quick-stat strong{display:block;font-size:20px;font-weight:800;line-height:1.2;letter-spacing:-.02em;margin:2px 0}.sd-quick-stat small{font-size:10px;color:var(--muted-2)}.sd-upcoming-list{display:grid;gap:var(--space-2)}.sd-upcoming-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2);border-radius:var(--radius-sm);transition:background var(--duration-fast) var(--ease)}.sd-upcoming-item:hover{background:var(--surface-2)}.sd-upcoming-time{text-align:center;min-width:56px;flex-shrink:0}.sd-upcoming-time strong{display:block;font-size:11px;font-weight:700;color:var(--teal)}.sd-upcoming-time span{display:block;font-size:10px;color:var(--muted);margin-top:1px}.sd-upcoming-info strong{display:block;font-size:var(--text-sm);line-height:1.3}.sd-upcoming-info span{display:block;font-size:11px;color:var(--muted);margin-top:1px}.sd-notif-list{display:grid;gap:var(--space-2)}.sd-notif-item{display:flex;align-items:start;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-sm);transition:background var(--duration-fast) var(--ease)}.sd-notif-item:hover{background:var(--surface-2)}.sd-notif-dot{width:7px;height:7px;border-radius:50%;background:var(--teal-2);margin-top:6px;flex-shrink:0}.sd-notif-item strong{display:block;font-size:var(--text-sm);font-weight:600}.sd-notif-item p{margin:2px 0 0;font-size:11px;color:var(--muted);line-height:1.5}.sd-certs-grid{display:grid;gap:var(--space-2)}.sd-cert-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-sm);transition:all var(--duration-fast) var(--ease)}.sd-cert-card:hover{border-color:var(--line-2);box-shadow:var(--shadow-sm)}.sd-cert-icon{width:38px;height:38px;border-radius:8px;background:var(--teal-light);color:var(--teal-2);display:grid;place-items:center;flex-shrink:0}.sd-cert-body{flex:1;min-width:0}.sd-cert-body strong{display:block;font-size:var(--text-sm)}.sd-cert-body span{display:block;font-size:11px;color:var(--muted);margin-top:1px}.sd-settings{display:grid;gap:var(--space-2)}.sd-setting{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-fast) var(--ease)}.sd-setting:hover{background:var(--surface-2)}.sd-setting strong{display:block;font-size:var(--text-sm);font-weight:600}.sd-setting span{display:block;font-size:11px;color:var(--muted);margin-top:1px}.sd-setting input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--teal);flex-shrink:0}.sd-header-skeleton{margin-bottom:var(--space-5)}@media (max-width: 1100px){.sd-grid{grid-template-columns:1fr}.sd-col-narrow{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}}@media (max-width: 860px){.sd-stats{grid-template-columns:repeat(2,1fr)}.sd-courses-grid{grid-template-columns:1fr}.sd-search{width:100%}}@media (max-width: 720px){.sd-header{flex-direction:column;align-items:stretch}.sd-header-actions{width:100%}.sd-col-narrow{grid-template-columns:1fr}}@media (max-width: 480px){.sd-stats{grid-template-columns:1fr}.sd-progress-overview{flex-direction:column;text-align:center}.sd-quick-stats{grid-template-columns:1fr}.sd-continue-card{min-width:180px}}#learn{padding:0;height:calc(100vh - var(--topbar-h));overflow:hidden}@supports selector(:has(*)){.main:has(.learn-shell){overflow:hidden;padding-bottom:var(--space-5)}.main:has(.learn-shell)>.view.active,.main:has(.learn-shell) #learn{flex:1;min-height:0;height:auto;display:flex;flex-direction:column}.main:has(.learn-shell) .learn-shell{flex:1;min-height:0;height:auto}.main:has(.learn-shell)>.view.active{animation-fill-mode:backwards}@media (min-width: 1024px){.main:has(.learn-shell) .learn-main{padding-bottom:calc(24px + 50px + 20px - var(--space-5))}}@media (max-width: 1180px){.main:has(.learn-shell){padding-bottom:var(--space-4)}}@media (min-width: 1024px) and (max-width: 1180px){.main:has(.learn-shell) .learn-main{padding-bottom:calc(24px + 50px + 20px - var(--space-4))}}@media (max-width: 900px){.main:has(.learn-shell){padding-bottom:calc(88px + env(safe-area-inset-bottom,16px))}}@media (max-width: 480px){.main:has(.learn-shell) .learn-main{padding-bottom:50px!important}}}.learn-loading{height:100%}.learn-loading-layout{display:grid;grid-template-columns:280px 1fr;gap:0;height:100%}.learn-loading-sidebar{background:var(--surface);padding:var(--space-3);border-inline-end:1px solid var(--line)}.learn-loading-main{padding:0}.learn-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);height:100%;color:var(--muted);text-align:center;padding:var(--space-4)}.learn-error h3{color:var(--fg);margin:0}.learn-shell{display:flex;flex-direction:row;height:calc(100vh - var(--topbar-h, 64px));overflow:hidden;background:var(--bg)}.learn-sidebar{width:360px;min-width:360px;max-width:400px;background:var(--surface);border-inline-end:1px solid var(--border);display:flex;flex-direction:column;height:100%;overflow:hidden;contain:paint;box-shadow:var(--shadow-sm);z-index:10;transition:width .25s var(--ease),min-width .25s var(--ease),transform .25s var(--ease)}.learn-sidebar.collapsed{width:0!important;min-width:0!important;max-width:0!important;border-inline-end:none!important;overflow:hidden!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important}.learn-drawer-backdrop{position:fixed;inset:0;z-index:1000;background:#0a1017a6;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fadeIn .2s ease-out}@media (min-width: 1024px){.learn-drawer-backdrop{display:none!important}}.learn-top-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md, 12px);box-shadow:var(--shadow-sm);flex-shrink:0}.learn-top-bar-start{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.learn-top-bar-breadcrumbs{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.learn-top-bar-breadcrumbs strong{color:var(--text-primary);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.learn-top-bar-breadcrumbs span.sep{color:var(--text-muted);font-size:11px}.learn-top-bar-end{display:flex;align-items:center;gap:8px;flex-shrink:0}.learn-sidebar-toggle-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;min-width:40px;height:40px;min-height:40px;padding:0;border-radius:8px;background:var(--background-secondary, rgba(255, 255, 255, .05));border:1px solid var(--border);color:var(--text-primary);cursor:pointer;transition:all .18s ease;flex-shrink:0}.learn-sidebar-toggle-btn:hover{background:var(--surface-hover);border-color:var(--accent-teal);color:var(--accent-teal)}.learn-sidebar-toggle-btn:focus-visible{outline:2px solid var(--accent-teal);outline-offset:2px}.learn-sidebar-toggle-btn.is-active{border-color:#20d6b059;background:#20d6b01a;color:var(--accent-teal)}.learn-toggle-icon{display:grid;place-items:center;width:20px;height:20px;flex-shrink:0}.learn-video-loading-overlay,.learn-video-error-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0a1017e0;backdrop-filter:blur(4px);z-index:11;padding:24px;color:#fff;text-align:center}.learn-lesson-doc-card{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:44px 28px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg, 16px);box-shadow:var(--shadow-sm);min-height:280px;gap:16px}.learn-lesson-doc-icon{width:64px;height:64px;border-radius:50%;background:#20d6b01f;color:var(--accent-teal);display:grid;place-items:center;margin-bottom:2px}.learn-lesson-doc-title{font-size:19px;font-weight:700;color:var(--text-primary);margin:0;line-height:1.35}.learn-lesson-doc-desc{font-size:14px;color:var(--text-secondary);max-width:520px;line-height:1.6;margin:0}.learn-restricted-lesson-card{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg, 16px);box-shadow:var(--shadow-sm);gap:16px;min-height:320px}.learn-restricted-icon{width:60px;height:60px;border-radius:50%;background:#ef44441f;color:var(--accent-red, #ef4444);display:grid;place-items:center}.learn-restricted-title{font-size:20px;font-weight:700;color:var(--text-primary);margin:0;line-height:1.35}.learn-restricted-desc{font-size:14.5px;color:var(--text-secondary);max-width:520px;line-height:1.6;margin:0}.learn-benefits-box{width:100%;max-width:540px;background:var(--surface-hover);border:1px solid var(--border);border-radius:var(--radius-md, 12px);padding:16px 20px;text-align:start;margin:8px 0}.learn-benefits-header{font-size:13.5px;font-weight:700;color:var(--text-primary);margin-bottom:10px}.learn-benefits-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px 16px}.learn-benefit-item{font-size:13px;color:var(--text-secondary);display:flex;align-items:center;gap:8px}.learn-reading-lesson-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg, 16px);padding:32px 36px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:20px}.learn-reading-header{display:flex;flex-direction:column;gap:8px;border-bottom:1px solid var(--border);padding-bottom:16px}.learn-reading-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.learn-reading-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;background:#14b8a61f;color:var(--accent-teal);font-size:12px;font-weight:700}.learn-reading-time{font-size:12.5px;color:var(--text-muted)}.learn-reading-title{margin:4px 0 0;font-size:22px;font-weight:800;color:var(--text-primary);line-height:1.35}.learn-reading-body{line-height:1.85;font-size:15px;color:var(--text-primary)}.learn-reading-prose{color:var(--text-primary);word-break:break-word}.learn-reading-prose p{margin-bottom:14px}.learn-reading-resources{margin-top:12px;padding-top:16px;border-top:1px solid var(--border)}.learn-reading-resources h4{margin:0 0 12px;font-size:14px;font-weight:700;color:var(--text-primary)}.learn-reading-resources-grid{display:flex;flex-wrap:wrap;gap:10px}.learn-resource-download-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:8px;background:var(--surface-hover);border:1px solid var(--border);color:var(--text-primary);font-size:13px;text-decoration:none;transition:all .15s ease}.learn-resource-download-pill:hover{background:var(--surface);border-color:var(--accent-teal);color:var(--accent-teal)}.learn-awaiting-content-card{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 24px;background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius-lg, 16px);gap:14px;min-height:280px}.learn-awaiting-icon{font-size:44px;margin-bottom:2px}.learn-awaiting-title{font-size:18px;font-weight:700;color:var(--text-primary);margin:0}.learn-awaiting-desc{font-size:14px;color:var(--text-secondary);max-width:480px;line-height:1.6;margin:0}.learn-awaiting-actions{margin-top:8px}@media (max-width: 768px){.learn-reading-lesson-card{padding:20px 16px}.learn-restricted-lesson-card{padding:28px 16px}.learn-benefits-list{grid-template-columns:1fr}}.learn-lesson-doc-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:6px}.learn-sidebar-header{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}.learn-sidebar-course{flex:1;min-width:0}.learn-sidebar-course strong{display:block;font-size:14.5px;font-weight:700;color:var(--text-primary);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.learn-sidebar-course span{display:block;font-size:11.5px;color:var(--text-muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.learn-sidebar-progress{display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--border);background:var(--background-secondary, var(--surface));flex-shrink:0}.learn-sidebar-progress-bar{flex:1;height:6px;background:var(--border);border-radius:999px;overflow:hidden}.learn-sidebar-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent-teal),var(--accent-cyan));border-radius:999px;transition:width .4s var(--ease)}.learn-sidebar-progress span{font-size:12px;font-weight:600;color:var(--text-secondary);white-space:nowrap}.learn-sidebar-nav{flex:1;overflow-y:auto;padding:12px 10px;display:flex;flex-direction:column;gap:10px}.learn-chapter{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm, 10px);overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}.learn-chapter:hover{border-color:var(--border-subtle)}.learn-chapter-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;font-size:13.5px;font-weight:600;color:var(--text-primary);cursor:pointer;user-select:none;background:var(--surface);transition:background .15s ease}.learn-chapter-head:hover{background:var(--surface-hover)}.learn-chapter-title-wrap{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.learn-chapter-title-wrap span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.learn-chapter-count{font-size:11px;font-weight:500;color:var(--text-muted);background:var(--background-secondary, var(--surface));padding:2px 7px;border-radius:999px;flex-shrink:0}.learn-chapter-chevron{transition:transform .2s var(--ease);color:var(--text-muted);flex-shrink:0}.learn-chapter-chevron.rotated{transform:rotate(180deg)}.learn-lesson-list{padding:4px 6px 8px;display:flex;flex-direction:column;gap:3px}.learn-lesson-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;background:transparent;border:1px solid transparent;border-radius:8px;color:var(--text-primary);font-size:13px;text-align:start;cursor:pointer;transition:all .15s ease;font-family:inherit}.learn-lesson-item:hover:not(.locked){background:var(--surface-hover);color:var(--text-primary)}.learn-lesson-item.active{background:var(--accent-sage-tint);color:var(--accent-teal);font-weight:600;border-color:#52b7884d;border-inline-start:3px solid var(--accent-teal)}.learn-lesson-item.completed{color:var(--text-secondary)}.learn-lesson-item.locked{color:var(--text-secondary);cursor:not-allowed}.learn-lesson-item.locked .learn-lesson-lock-icon{color:var(--accent-amber)}.learn-lesson-item.locked:hover{background:transparent}.learn-lesson-status-icon{flex-shrink:0;display:grid;place-items:center;width:18px;height:18px}.learn-lesson-title{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.35}.learn-lesson-duration{font-size:11px;color:var(--text-muted);flex-shrink:0}.learn-chapter-assessments{margin:4px 6px 8px;padding-top:6px;border-top:1px dashed var(--border);display:flex;flex-direction:column;gap:4px}.learn-assessment-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:8px 10px;border-radius:8px;font-size:12.5px;font-weight:500;cursor:pointer;transition:all .15s ease;font-family:inherit;border:1px solid transparent}.learn-assessment-btn.quiz{background:#f2a33a14;border-color:#f2a33a33;color:var(--accent-amber)}.learn-assessment-btn.quiz:hover{background:#f2a33a26}.learn-assessment-btn.assignment{background:#8053d614;border-color:#8053d633;color:var(--accent-violet)}.learn-assessment-btn.assignment:hover{background:#8053d626}.learn-assessment-label{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.learn-assessment-label span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.learn-assessment-badge{font-size:10.5px;font-weight:700;padding:1px 6px;border-radius:4px;flex-shrink:0}.learn-assessment-btn.quiz .learn-assessment-badge{background:#f2a33a24;color:var(--accent-amber)}.learn-assessment-btn.assignment .learn-assessment-badge{background:#8053d61f;color:var(--accent-violet)}.learn-main{flex:1;min-width:0;overflow-y:auto;display:flex;flex-direction:column;padding:22px 28px;gap:20px;background:var(--bg)}.learn-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);min-height:400px;color:var(--text-muted);text-align:center}.learn-empty h3{color:var(--text-primary);margin:0}.learn-video-area{position:relative;width:100%}.learn-video-placeholder{position:relative;width:100%;aspect-ratio:16 / 9;max-height:540px;min-height:280px;background:#000;border-radius:var(--radius-lg, 16px);border:1px solid var(--border);box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:center;overflow:hidden}.learn-video-media{position:absolute;inset:0;width:100%;height:100%;background:#000;object-fit:contain}.learn-video-unavailable-card{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 24px;text-align:center;background:var(--surface);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-lg, 16px);z-index:2;gap:12px}.learn-video-unavailable-icon{width:56px;height:56px;border-radius:50%;background:#14b8a61a;color:var(--accent-teal);display:grid;place-items:center}.learn-video-unavailable-card h4{margin:0;font-size:16px;font-weight:700;color:var(--text-primary)}.learn-video-unavailable-card p{margin:0;font-size:13.5px;color:var(--text-secondary);max-width:460px;line-height:1.55}.learn-video-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--space-3);pointer-events:none}.learn-play-btn{width:68px;height:68px;border-radius:50%;background:#14b8a6d9;backdrop-filter:blur(8px);border:2px solid rgba(255,255,255,.4);display:grid;place-items:center;cursor:pointer;color:#fff;transition:transform .2s var(--ease),background .2s var(--ease);pointer-events:auto}.learn-play-btn:hover{transform:scale(1.08);background:var(--accent-teal)}.learn-video-watermark{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:42px;font-weight:900;color:#ffffff0a;letter-spacing:8px;pointer-events:none;user-select:none}.learn-video-badge{position:absolute;top:14px;inline-end:14px;display:flex;align-items:center;gap:5px;background:#000000a6;backdrop-filter:blur(6px);color:#ffffffe6;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;pointer-events:none;border:1px solid rgba(255,255,255,.1)}.learn-resume-badge{position:absolute;bottom:64px;inline-start:16px;display:flex;align-items:center;gap:6px;background:#000000bf;backdrop-filter:blur(8px);color:#fff;padding:6px 14px;border-radius:8px;font-size:13px;font-weight:600;pointer-events:none;border:1px solid rgba(255,255,255,.15);animation:learn-fade-in .3s ease-out}@keyframes learn-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.learn-controls{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000000d9 60%);padding:24px 0 0;transition:opacity .25s ease;z-index:10}.learn-controls.hidden{opacity:0;pointer-events:none}.learn-progress-bar{padding:0 16px;position:relative}.learn-progress-track{height:5px;background:#ffffff40;cursor:pointer;position:relative;border-radius:999px;transition:height .15s ease}.learn-progress-track:hover{height:8px}.learn-progress-fill{height:100%;background:var(--accent-teal);border-radius:999px;position:absolute;top:0;left:0;pointer-events:none}.learn-progress-range{position:absolute;inset:-6px 0;width:100%;height:calc(100% + 12px);opacity:0;cursor:pointer;margin:0}.learn-controls-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:6px 14px 10px;gap:2px 8px}.learn-controls-left,.learn-controls-center,.learn-controls-right{display:flex;align-items:center;gap:4px;min-width:0}@media (max-width: 640px){.learn-controls-row{padding:4px 8px 8px;gap:2px 4px}.learn-controls .learn-btn{min-width:34px;min-height:34px;justify-content:center;padding:6px}.learn-time{margin:0 4px;font-size:12px}.learn-controls .learn-complete-btn{display:none}}.learn-time{font-size:12.5px;color:#ffffffe6;font-variant-numeric:tabular-nums;margin:0 8px;white-space:nowrap}.learn-btn{display:flex;align-items:center;gap:4px;padding:6px 8px;background:none;border:none;color:#ffffffd9;cursor:pointer;border-radius:6px;font-size:13px;font-family:inherit;transition:background .15s,color .15s}.learn-btn:hover{background:#ffffff26;color:#fff}.learn-btn.active{color:var(--accent-teal)}.learn-btn.disabled{opacity:.35;cursor:not-allowed}.learn-volume-wrap{position:relative;display:flex;align-items:center}.learn-volume-slider{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#101820f2;backdrop-filter:blur(10px);padding:8px 6px;border-radius:8px;margin-bottom:6px;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 16px #00000080}.learn-volume-slider input[type=range]{width:80px;height:4px;accent-color:var(--accent-teal)}.learn-dropdown-wrap{position:relative}.learn-dropdown{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#101820f2;backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:4px;margin-bottom:6px;min-width:90px;box-shadow:0 8px 32px #0009;z-index:20}.learn-dropdown-item{display:block;width:100%;padding:6px 12px;background:none;border:none;color:#fffc;font-size:12.5px;text-align:center;cursor:pointer;border-radius:4px;font-family:inherit;transition:all .15s}.learn-dropdown-item:hover{background:#ffffff26;color:#fff}.learn-dropdown-item.active{color:var(--accent-teal);font-weight:700}.learn-lesson-meta-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg, 16px);box-shadow:var(--shadow-sm)}.learn-lesson-meta-info{flex:1;min-width:240px}.learn-lesson-meta-info h1,.learn-lesson-meta-info h3{margin:0 0 4px;font-size:18px;font-weight:700;color:var(--text-primary);line-height:1.35}.learn-lesson-meta-info span{font-size:13px;color:var(--text-muted)}.learn-lesson-meta-actions{display:flex;align-items:center;gap:10px}.learn-tabs-rail{display:flex;gap:8px;overflow-x:auto;padding:4px 0 8px;scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap}.learn-tabs-rail::-webkit-scrollbar{display:none}.learn-tab-pill{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:999px;font-size:13px;font-weight:600;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);cursor:pointer;white-space:nowrap;transition:all .15s ease;font-family:inherit;box-shadow:var(--shadow-sm)}.learn-tab-pill:hover{background:var(--surface-hover);color:var(--text-primary);border-color:var(--border-subtle)}.learn-tab-pill.active{background:var(--action);color:var(--text-on-action);border-color:var(--accent-teal);box-shadow:0 2px 10px #087f6a47}.learn-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--background-secondary, var(--surface));font-size:11px;font-weight:700;color:var(--text-secondary)}.learn-tab-pill.active .learn-tab-count{background:#ffffff40;color:#fff}.learn-tab-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg, 16px);padding:24px;box-shadow:var(--shadow-card);min-height:220px}.learn-tab-content-text{line-height:1.8;font-size:14.5px;color:var(--text-primary)}.learn-tab-content-text pre{background:var(--background-secondary, #ECE9E2);padding:14px 18px;border-radius:10px;overflow-x:auto;border:1px solid var(--border);font-size:13px}.learn-tab-content-text code{background:var(--background-secondary, #ECE9E2);padding:2px 6px;border-radius:4px;font-size:.9em}.learn-tab-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 16px;color:var(--text-muted);text-align:center;gap:8px}.learn-resources-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.learn-resource-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:var(--background-secondary, var(--surface));border:1px solid var(--border);border-radius:12px;text-decoration:none;color:var(--text-primary);transition:all .15s ease}.learn-resource-card:hover{border-color:var(--accent-teal);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.learn-resource-info{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.learn-resource-icon{width:36px;height:36px;border-radius:8px;background:#14b8a61a;color:var(--accent-teal);display:grid;place-items:center;flex-shrink:0}.learn-resource-meta{flex:1;min-width:0}.learn-resource-meta strong{display:block;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.learn-resource-meta span{font-size:11.5px;color:var(--text-muted)}.learn-note-form textarea,.learn-discuss-form textarea,.learn-discuss-form input{width:100%;background:var(--background-secondary, var(--surface));border:1px solid var(--border);border-radius:10px;padding:12px;color:var(--text-primary);font-family:inherit;font-size:13.5px;transition:border-color .15s}.learn-note-form textarea:focus,.learn-discuss-form textarea:focus,.learn-discuss-form input:focus{outline:none;border-color:var(--accent-teal)}.learn-note-item,.learn-discuss-item{background:var(--background-secondary, var(--surface));border:1px solid var(--border);border-radius:12px;padding:14px 16px}@media (max-width: 1023px){.learn-shell{position:relative;height:calc(100vh - var(--topbar-h, 64px));height:calc(100dvh - var(--topbar-h, 64px));overflow:hidden}.learn-sidebar{position:fixed!important;top:0!important;bottom:0!important;height:100vh!important;height:100dvh!important;width:min(340px,86vw)!important;min-width:0!important;max-width:86vw!important;z-index:1001!important;background:var(--surface)!important;box-shadow:0 10px 40px #00000080!important;transition:transform .28s var(--ease),visibility .28s var(--ease)!important;will-change:transform;display:flex!important}[dir=rtl] .learn-sidebar,html[dir=rtl] .learn-sidebar{right:0!important;left:auto!important;border-left:1px solid var(--border)!important;border-right:none!important;transform:translate(0)!important}[dir=rtl] .learn-sidebar.collapsed,html[dir=rtl] .learn-sidebar.collapsed{transform:translate(100%)!important;visibility:hidden!important;pointer-events:none!important}[dir=ltr] .learn-sidebar,html:not([dir=rtl]) .learn-sidebar{left:0!important;right:auto!important;border-right:1px solid var(--border)!important;border-left:none!important;transform:translate(0)!important}[dir=ltr] .learn-sidebar.collapsed,html:not([dir=rtl]) .learn-sidebar.collapsed{transform:translate(-100%)!important;visibility:hidden!important;pointer-events:none!important}.learn-main{width:100%!important;flex:1!important;padding:16px 14px!important;padding-bottom:calc(84px + env(safe-area-inset-bottom,16px))!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior-y:contain!important}.learn-video-placeholder{max-height:360px;min-height:220px}}@media (max-width: 480px){.learn-main{padding:12px 10px!important;gap:14px!important}.learn-top-bar{padding:8px 10px!important;gap:8px!important}.learn-top-bar-breadcrumbs{display:none!important}.learn-sidebar-toggle-btn{width:40px!important;min-width:40px!important;height:40px!important;min-height:40px!important;padding:0!important}.learn-video-placeholder{max-height:230px;min-height:170px}.learn-lesson-meta-bar{padding:12px 14px;gap:12px}.learn-lesson-meta-actions{width:100%;justify-content:space-between}.learn-tab-card{padding:14px 12px}.learn-lesson-doc-card{padding:28px 16px}}.sched-modal-backdrop{position:fixed;inset:0;z-index:var(--z-dialog);display:flex;align-items:center;justify-content:center;background:var(--dialog-backdrop);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:clamp(12px,3vh,24px);box-sizing:border-box;animation:schedModalFadeIn .2s ease-out}@keyframes schedModalFadeIn{0%{opacity:0}to{opacity:1}}.sched-modal-card{position:relative;width:100%;max-width:640px;max-height:min(88vh,calc(100dvh - 32px));display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--dialog-radius);box-shadow:var(--dialog-shadow);overflow:hidden;box-sizing:border-box;animation:schedModalSlideUp .25s cubic-bezier(.16,1,.3,1)}@keyframes schedModalSlideUp{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.sched-modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--line);background:var(--surface);flex-shrink:0}.sched-modal-close{background:var(--background-secondary, rgba(255, 255, 255, .06));border:none;color:var(--muted);width:32px;height:32px;border-radius:50%;cursor:pointer;display:grid;place-items:center;font-size:18px;line-height:1;transition:all var(--duration-fast, .15s) ease}.sched-modal-close:hover{background:#ef444426;color:var(--accent-red, #ef4444)}.sched-modal-body{flex:1;overflow-y:auto;padding:20px 24px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.teacher-modal-backdrop{position:fixed!important;inset:0!important;z-index:1100!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#0a1017cc!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important;padding:clamp(10px,3vh,24px)!important;box-sizing:border-box!important;overflow:hidden!important}.teacher-modal-card{position:relative!important;width:100%!important;max-width:860px!important;max-height:calc(100dvh - 2rem)!important;margin:auto!important;padding:0!important;gap:0!important;display:flex!important;flex-direction:column!important;background:var(--surface)!important;border:1px solid var(--border)!important;border-radius:20px!important;box-shadow:0 24px 50px -12px #00000080!important;overflow:hidden!important;box-sizing:border-box!important}.teacher-modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;border-bottom:1px solid var(--line);background:var(--surface);flex-shrink:0}.teacher-modal-body{flex:1 1 auto;overflow-y:auto;min-height:0;padding:20px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.learn-modal-overlay{position:fixed;inset:0;z-index:var(--z-dialog);display:flex;align-items:center;justify-content:center;background:var(--dialog-backdrop);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:16px;animation:learnModalFadeIn .2s ease-out;overflow-y:auto}@keyframes learnModalFadeIn{0%{opacity:0}to{opacity:1}}.learn-modal{position:relative;width:min(640px,100%);max-height:min(90vh,calc(100dvh - 32px));background:var(--surface);border:1px solid var(--border);border-radius:var(--dialog-radius);box-shadow:var(--dialog-shadow);display:flex;flex-direction:column;overflow:hidden;animation:learnModalSlideUp .25s cubic-bezier(.16,1,.3,1)}.learn-modal.learn-modal-wide{width:min(760px,100%)}.learn-modal>form{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}@keyframes learnModalSlideUp{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.learn-modal-header{display:flex;flex-direction:column;gap:10px;padding:20px 24px 16px;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}.learn-modal-header-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.learn-modal-badge{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:999px;letter-spacing:.3px;text-transform:uppercase}.learn-modal-badge.quiz{background:#f2a33a1f;color:var(--accent-amber, #f59e0b);border:1px solid rgba(242,163,58,.25)}.learn-modal-badge.assignment{background:#8053d61f;color:var(--accent-violet, #8b5cf6);border:1px solid rgba(128,83,214,.25)}.learn-modal-title{margin:0;font-size:19px;font-weight:700;color:var(--text-primary);line-height:1.4;word-break:break-word;unicode-bidi:plaintext;text-align:start}.learn-modal-close{background:var(--background-secondary, var(--surface));border:1px solid var(--border);width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;flex-shrink:0;padding:0}.learn-modal-close:hover{background:var(--surface-hover);color:var(--text-primary);border-color:var(--accent-teal);transform:scale(1.05)}.learn-modal-body{padding:24px;display:flex;flex-direction:column;gap:20px;overflow-y:auto;flex:1;min-height:0;overscroll-behavior:contain}.learn-modal-chips-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.learn-modal-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--background-secondary, var(--surface));border:1px solid var(--border);border-radius:8px;font-size:12.5px;font-weight:500;color:var(--text-secondary)}.learn-status-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;font-size:12.5px;font-weight:600;border:1px solid transparent}.learn-status-chip.completed{background:#14b8a61f;color:var(--accent-teal, var(--viz-teal));border-color:#14b8a640}.learn-status-chip.pending{background:#f2a33a1f;color:var(--accent-amber, #f59e0b);border-color:#f2a33a40}.learn-modal-desc{padding:14px 16px;background:var(--background-secondary, var(--surface));border:1px solid var(--border);border-radius:12px;font-size:13.5px;line-height:1.65;color:var(--text-primary);unicode-bidi:plaintext;text-align:start;word-break:break-word}.learn-assignment-form{display:flex;flex-direction:column;gap:16px;width:100%}.learn-form-group{display:flex;flex-direction:column;gap:8px;width:100%}.learn-field-label{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:600;color:var(--text-primary)}.learn-field-required{color:var(--accent-red, #ef4444);font-size:12px;margin-inline-start:4px}.learn-field-optional{color:var(--text-muted);font-size:11.5px;font-weight:400}.learn-modal-textarea{width:100%;min-height:120px;padding:12px 14px;background:var(--background-secondary, var(--surface));border:1px solid var(--border);border-radius:10px;color:var(--text-primary);font-family:inherit;font-size:13.5px;line-height:1.6;resize:vertical;transition:border-color .15s,box-shadow .15s;unicode-bidi:plaintext;text-align:start;box-sizing:border-box}.learn-modal-textarea:focus{outline:none;border-color:var(--accent-teal);box-shadow:0 0 0 3px #20d6b026}.learn-modal-input{width:100%;height:42px;padding:0 14px;background:var(--background-secondary, var(--surface));border:1px solid var(--border);border-radius:10px;color:var(--text-primary);font-family:inherit;font-size:13.5px;transition:border-color .15s,box-shadow .15s;unicode-bidi:plaintext;text-align:start;box-sizing:border-box}.learn-modal-input:focus{outline:none;border-color:var(--accent-teal);box-shadow:0 0 0 3px #20d6b026}.learn-form-hint{font-size:11.5px;color:var(--text-muted);margin-top:-2px}.learn-assignment-submitted-card{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px 20px;background:#14b8a614;border:1px solid rgba(20,184,166,.3);border-radius:14px;gap:12px}.learn-submitted-icon-wrap{width:52px;height:52px;border-radius:50%;background:#14b8a626;color:var(--accent-teal);display:grid;place-items:center}.learn-submitted-preview{width:100%;margin-top:12px;padding:14px;background:var(--surface);border:1px solid var(--border);border-radius:10px;text-align:start;font-size:13px;line-height:1.6;color:var(--text-primary);unicode-bidi:plaintext}.learn-quiz-list{display:flex;flex-direction:column;gap:20px;width:100%}.learn-quiz-card{background:var(--background-secondary, var(--surface));border:1px solid var(--border);border-radius:14px;padding:18px 20px;display:flex;flex-direction:column;gap:14px;transition:border-color .15s}.learn-quiz-card:hover{border-color:var(--border-subtle)}.learn-quiz-q-header{display:flex;align-items:flex-start;gap:10px}.learn-quiz-q-num{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 6px;border-radius:8px;background:#20d6b01f;color:var(--accent-teal);font-size:12px;font-weight:700;flex-shrink:0}.learn-quiz-q-text{margin:0;font-size:15px;font-weight:600;color:var(--text-primary);line-height:1.6;unicode-bidi:plaintext;text-align:start;word-break:break-word;flex:1}.learn-quiz-options-list{display:flex;flex-direction:column;gap:8px;width:100%}.learn-quiz-option-card{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background:var(--surface);border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:all .15s ease;user-select:none;box-sizing:border-box;text-align:start}.learn-quiz-option-card:hover{background:var(--surface-hover);border-color:var(--accent-teal);transform:translate(2px)}[dir=rtl] .learn-quiz-option-card:hover{transform:translate(-2px)}.learn-quiz-option-card.selected{background:#20d6b01a;border-color:var(--accent-teal);box-shadow:0 0 0 1px var(--accent-teal);font-weight:600}.learn-quiz-radio{accent-color:var(--accent-teal);width:18px;height:18px;margin:0;cursor:pointer;flex-shrink:0}.learn-quiz-opt-letter{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:6px;background:var(--background-secondary, var(--surface));color:var(--text-muted);font-size:11px;font-weight:700;flex-shrink:0}.learn-quiz-option-card.selected .learn-quiz-opt-letter{background:var(--action);color:var(--text-on-action)}.learn-quiz-opt-text{font-size:13.5px;color:var(--text-primary);line-height:1.5;unicode-bidi:plaintext;text-align:start;flex:1;word-break:break-word}.learn-quiz-result-banner{padding:24px 20px;border-radius:16px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;margin-bottom:8px}.learn-quiz-result-banner.pass{background:#14b8a61a;border:1px solid rgba(20,184,166,.3);color:var(--accent-teal)}.learn-quiz-result-banner.fail{background:#ef444414;border:1px solid rgba(239,68,68,.25);color:var(--accent-red)}.learn-quiz-score-circle{font-size:40px;font-weight:800;line-height:1;letter-spacing:-.5px}.learn-quiz-review-card{padding:16px 18px;border-radius:12px;background:var(--surface);border:1px solid var(--border);display:flex;flex-direction:column;gap:12px}.learn-quiz-review-card.is-correct{border-inline-start:4px solid var(--accent-teal)}.learn-quiz-review-card.is-wrong{border-inline-start:4px solid var(--accent-red)}.learn-review-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:700;align-self:flex-start}.learn-review-badge.correct{background:#14b8a626;color:var(--accent-teal)}.learn-review-badge.wrong{background:#ef44441f;color:var(--accent-red)}.learn-review-row{display:flex;gap:8px;font-size:13.5px;line-height:1.5;padding:10px 14px;border-radius:8px;unicode-bidi:plaintext;text-align:start}.learn-review-row.user-ans{background:var(--background-secondary, var(--surface))}.learn-review-row.correct-ans{background:#14b8a614;color:var(--accent-teal);border:1px dashed rgba(20,184,166,.35)}.learn-modal-footer{padding:16px 24px;border-top:1px solid var(--border);background:var(--surface);display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-shrink:0}.learn-modal-footer .btn{height:42px;padding:0 20px;border-radius:12px;font-size:13.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:all .15s ease}.learn-modal-footer .btn.subtle{background:var(--surface);border:1px solid var(--border);color:var(--text-primary)}.learn-modal-footer .btn.subtle:hover:not(:disabled){background:var(--surface-hover);border-color:var(--line-2)}.learn-complete-btn{font-size:13px;font-weight:700;border-radius:10px;transition:all .15s ease}@media (max-width: 640px){.learn-modal{width:100%;max-height:94vh;border-radius:16px}.learn-modal-header{padding:16px 18px}.learn-modal-body{padding:18px 16px;gap:16px}.learn-modal-footer{padding:14px 16px}}.td-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:24px;padding-bottom:4px}.td-header h1,.td-header h2{font-size:1.6rem;font-weight:800;color:var(--text-primary);margin:0 0 6px;letter-spacing:-.01em}.td-header p{font-size:.92rem;color:var(--text-muted);margin:0}.td-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.td-tabs-wrapper{margin-bottom:24px;position:relative;width:100%}.td-tabs-rail{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-bottom:0;margin-bottom:0;width:100%}.td-tab-pill{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:9999px;font-size:13.5px;font-weight:600;background:var(--surface);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:all .2s ease}.td-tab-pill:hover{background:var(--surface-hover);color:var(--text-primary);border-color:var(--line-2)}.td-tab-pill.active{background:var(--action);color:var(--text-on-action);border-color:var(--action);box-shadow:0 2px 10px #14b8a640}@media (max-width: 900px){.td-tabs-rail{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}.td-tabs-rail::-webkit-scrollbar{display:none}.td-tab-pill{scroll-snap-align:start;flex-shrink:0}}.td-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:24px;width:100%}.td-stat-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:18px 20px;display:flex;align-items:center;gap:16px;min-height:105px;box-sizing:border-box;box-shadow:0 2px 8px #0000000a;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.td-stat-card:hover{transform:translateY(-2px);border-color:var(--teal-2);box-shadow:0 6px 18px #00000014}.td-stat-icon{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;flex-shrink:0;background:#14b8a61a;color:var(--teal-2)}.td-stat-info{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.td-stat-label{font-size:.8rem;font-weight:600;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.td-stat-value{font-size:1.45rem;font-weight:800;color:var(--text-primary);line-height:1.2}.td-stat-change{font-size:.78rem;font-weight:600;display:inline-flex;align-items:center;gap:4px}.td-stat-change.up{color:var(--green, #10b981)}.td-stat-change.warn{color:var(--accent-warning, #f59e0b)}.td-main-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:20px;margin-bottom:28px;width:100%}.td-chart-col,.td-side-col{min-width:0;width:100%}.td-panel{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px;box-shadow:0 2px 8px #0000000a;height:100%;box-sizing:border-box;display:flex;flex-direction:column}.td-panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:12px}.td-panel-head h2,.td-panel-head h3{font-size:1.08rem;font-weight:700;color:var(--text-primary);margin:0}.td-chart-toggle{display:flex;gap:6px;background:var(--bg-surface-hover, rgba(0, 0, 0, .04));padding:3px;border-radius:8px}.td-chart-wrap{width:100%;height:240px;min-height:240px;position:relative;display:flex;align-items:center;justify-content:center}.td-empty{text-align:center;padding:36px 16px;color:var(--text-muted);font-size:.92rem;width:100%}.td-enroll-list{display:flex;flex-direction:column;gap:12px;width:100%}.td-enroll-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;background:var(--surface-hover, rgba(255, 255, 255, .02));border:1px solid var(--border-light, transparent);transition:border-color .15s ease}.td-enroll-item:hover{border-color:var(--border)}.td-enroll-avatar{width:36px;height:36px;border-radius:50%;background:var(--action);color:var(--text-on-action);font-weight:700;font-size:14px;display:grid;place-items:center;flex-shrink:0}.td-enroll-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.td-enroll-info strong{font-size:.88rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.td-enroll-info span{font-size:.8rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.td-enroll-info small{font-size:.75rem;color:var(--text-muted)}.td-mgmt-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:20px}.td-mgmt-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex:1}.td-mgmt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;width:100%}.td-mgmt-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:18px 20px;display:flex;flex-direction:column;gap:12px;box-shadow:0 2px 8px #0000000a;transition:transform .2s ease,border-color .2s ease}.td-mgmt-card:hover{transform:translateY(-2px);border-color:var(--teal-2)}.td-mgmt-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.td-mgmt-card-head h4{font-size:1.05rem;font-weight:700;color:var(--text-primary);margin:0;line-height:1.35}.td-mgmt-meta-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:6px;font-size:.78rem;font-weight:600;background:#14b8a61a;color:var(--teal-2)}.td-mgmt-stats-row{display:flex;align-items:center;gap:16px;padding:10px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-size:.85rem;color:var(--text-muted)}.td-mgmt-stats-row strong{color:var(--text-primary)}.td-mgmt-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:auto}.td-submission-item{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.td-submission-student{display:flex;align-items:center;gap:10px}.td-submission-content-box{background:var(--bg-surface-hover, rgba(0, 0, 0, .04));border-radius:8px;padding:12px;font-size:.88rem;line-height:1.5;color:var(--text-primary)}.admin-selection-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;background:#14b8a614;border:1px solid var(--teal-2);border-radius:12px;margin-bottom:18px;animation:fadeIn .2s ease}.admin-selection-info{display:flex;align-items:center;gap:10px;font-size:.9rem;font-weight:600;color:var(--text-primary)}.admin-selection-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}@media (max-width: 960px){.td-main-grid{grid-template-columns:1fr}}@media (max-width: 768px){.td-header{flex-direction:column;align-items:stretch;gap:14px}.td-header-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.td-stats-grid{grid-template-columns:repeat(2,1fr);gap:12px}.td-stat-card{padding:14px 16px;min-height:95px}.td-stat-icon{width:40px;height:40px}.td-stat-value{font-size:1.25rem}.td-mgmt-grid{grid-template-columns:1fr}}@media (max-width: 480px){.td-header-actions,.td-stats-grid{grid-template-columns:1fr}.td-stat-card{min-height:85px}}.cb-container{width:100%;max-width:1400px;margin:0 auto;padding:0}.cb-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border)}.cb-breadcrumbs{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text-muted);margin-bottom:6px}.cb-breadcrumbs a{color:var(--text-muted);text-decoration:none;transition:color .15s ease}.cb-breadcrumbs a:hover{color:var(--accent-teal, var(--viz-teal))}.cb-title-area h1,.cb-title-area h2{font-size:1.5rem;font-weight:800;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:10px}.cb-header-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.cb-course-select{padding:8px 14px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text-primary);font-size:.9rem;font-weight:600;min-width:220px;max-width:320px;outline:none}.cb-workspace{display:grid;grid-template-columns:320px minmax(0,1fr);gap:20px;align-items:start}.cb-curriculum-pane{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000a}.cb-pane-head{padding:14px 16px;background:var(--bg);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.cb-pane-head h2,.cb-pane-head h3{font-size:.98rem;font-weight:700;margin:0;color:var(--text-primary)}.cb-chapter-list{padding:12px;display:flex;flex-direction:column;gap:10px;max-height:calc(100vh - 280px);overflow-y:auto}.cb-chapter-card{border:1px solid var(--border);border-radius:10px;background:var(--bg);overflow:hidden;transition:border-color .15s ease}.cb-chapter-card.active{border-color:var(--accent-teal, var(--viz-teal))}.cb-chapter-head{padding:10px 12px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;background:var(--surface);font-weight:600;font-size:.9rem}.cb-chapter-actions{display:flex;align-items:center;gap:4px}.cb-lesson-list{padding:6px 8px;display:flex;flex-direction:column;gap:4px}.cb-lesson-row{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:6px;background:var(--surface);border:1px solid transparent;cursor:pointer;font-size:.85rem;transition:all .15s ease}.cb-lesson-row:hover{border-color:var(--border);background:#14b8a60d}.cb-lesson-row.active{background:#14b8a61f;border-color:var(--accent-teal, var(--viz-teal));font-weight:600}.cb-editor-pane{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000a}.cb-editor-tabs{display:flex;align-items:center;gap:4px;padding:10px 16px;background:var(--bg);border-bottom:1px solid var(--border);overflow-x:auto}.cb-editor-tab{padding:8px 14px;border-radius:8px;border:none;background:transparent;color:var(--text-muted);font-size:.88rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s ease}.cb-editor-tab:hover{color:var(--text-primary);background:#0000000a}.cb-editor-tab.active{color:var(--accent-teal, var(--viz-teal));background:var(--surface);box-shadow:0 1px 2px #0000000d}.cb-tab-body{padding:20px}.cb-upload-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}@media (max-width: 1024px){.cb-workspace{grid-template-columns:1fr}.cb-chapter-list{max-height:350px}}@media (max-width: 640px){.cb-header{flex-direction:column;align-items:stretch}.cb-header-controls{flex-direction:column;width:100%}.cb-course-select{width:100%;max-width:100%}.cb-upload-grid{grid-template-columns:repeat(2,1fr)}}.ce-ai-empty-card{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:20px;border-radius:var(--radius-md, 12px);background:var(--surface-2, rgba(255, 255, 255, .04));border:1px dashed var(--line, rgba(255, 255, 255, .12))}.ce-ai-empty-icon{width:36px;height:36px;border-radius:var(--radius-sm, 8px);background:#14b8a626;color:var(--teal, var(--viz-teal));display:grid;place-items:center}.ce-ai-empty-title{display:block;font-size:.94rem;color:var(--text-primary);font-weight:600}.ce-ai-empty-desc{margin:0;font-size:.85rem;color:var(--text-muted, #94a3b8);line-height:1.6}.ce-ai-empty-hint{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--surface, rgba(15, 23, 42, .6));border-radius:var(--radius-sm, 8px);border:1px solid var(--line, rgba(255, 255, 255, .1));font-size:.82rem;color:var(--text-muted, #94a3b8)}.onboarding-modal-backdrop{position:fixed;inset:0;z-index:var(--z-dialog);display:flex;align-items:center;justify-content:center;background:var(--dialog-backdrop);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:16px;box-sizing:border-box;overflow-y:auto}.onboarding-modal-card{position:relative;width:100%;max-width:520px;max-height:calc(100dvh - 32px);overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--dialog-radius);box-shadow:var(--dialog-shadow);padding:28px 24px;box-sizing:border-box;color:var(--text-primary)}[role=dialog][tabindex="-1"]:focus,[role=alertdialog][tabindex="-1"]:focus{outline:none}@media (max-width: 480px){.admin-course-selector-bar{padding:12px}.admin-course-selector-select-wrap{min-width:0;flex-wrap:wrap;flex-basis:100%}.admin-course-selector-select-wrap>label{flex-basis:100%}.admin-course-selector{max-width:none;min-width:0}.admin-filter-bar>.admin-search-input,.admin-filter-bar>.admin-filter-select{flex:1 1 100%;max-width:none!important;min-width:0}}.meeting-ended-note{margin:0;padding:10px 12px;border-radius:10px;background:var(--surface-2, var(--bg));color:var(--text-secondary, var(--muted));font-size:13px;font-weight:600;text-align:center}.toast-close{min-inline-size:24px;min-block-size:24px;display:inline-grid;place-items:center}@media (pointer: coarse){.toast-close{min-inline-size:32px;min-block-size:32px}}.auth-link-btn{min-block-size:24px}@media (pointer: coarse){.auth-link-btn{min-block-size:32px}}.qimg{margin:0 0 12px;display:flex;flex-direction:column;align-items:center;gap:6px;max-inline-size:100%}.qimg-link{display:inline-block;max-inline-size:100%;border-radius:10px;line-height:0}.qimg-link:focus-visible{outline:2px solid var(--action);outline-offset:3px}.qimg img{display:block;max-inline-size:100%;max-block-size:min(60vh,480px);inline-size:auto;block-size:auto;object-fit:contain;border-radius:10px;border:1px solid var(--border);background:var(--surface-2)}.qimg--loading img{opacity:0;block-size:1px}.qimg-status{font-size:12px;color:var(--text-muted)}.qimg-error{margin:0;padding:10px 12px;border-radius:8px;font-size:13px;color:var(--accent-red, #ef4444);background:#ef444414;border:1px solid rgba(239,68,68,.25)}.qimg-field{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border:1px dashed var(--border);border-radius:10px;background:var(--surface-2)}.qimg-field-label{font-size:12px;font-weight:700;color:var(--text-secondary)}.qimg-field-preview .qimg{align-items:flex-start;margin:0}.qimg-field-preview .qimg img{max-block-size:220px}.qimg-field-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.qimg-file-input{display:none}.qimg-alt{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-secondary)}.qimg-hint{font-size:11.5px;color:var(--text-muted)}.sidebar{background:var(--sidebar-bg);border-inline-end:1px solid var(--sidebar-border);color:var(--sidebar-text);padding:16px 12px 14px}.brand{display:flex;align-items:center;justify-content:space-between;padding:0 4px 14px;border-bottom:1px solid var(--sidebar-border);margin-bottom:12px}.brand-left{display:flex;align-items:center;gap:10px}.brand-logo-wrap{width:40px;height:40px;display:grid;place-items:center;flex-shrink:0}.brand-title{font-size:19px;font-weight:800;color:var(--sidebar-text);margin:0;line-height:1.1;letter-spacing:-.02em}.brand-tagline{font-size:10px;font-weight:600;color:var(--sidebar-text-muted);margin:3px 0 0;letter-spacing:.6px}.sidebar-close-btn{background:transparent;border:none;color:var(--sidebar-text-muted);cursor:pointer;padding:6px;border-radius:8px;display:none;align-items:center;justify-content:center}@media (max-width: 720px){.sidebar-close-btn{display:flex}}.nav--student{display:flex;flex-direction:column;gap:3px}.nav-item-btn{width:100%;display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:12px;border:1px solid transparent;background:transparent;color:var(--sidebar-text-muted);font-size:13.5px;font-weight:500;cursor:pointer;transition:all var(--duration-fast) var(--ease);text-align:start;text-decoration:none}.nav-item-btn:hover{background:var(--sidebar-hover);color:var(--sidebar-text)}.nav-item-btn.active{background:var(--sidebar-active-bg);border-color:var(--sidebar-active-border);color:var(--sidebar-active-text);font-weight:700;box-shadow:var(--sidebar-active-shadow)}.nav-item-icon{width:20px;height:20px;display:grid;place-items:center;flex-shrink:0}.nav-item-icon .ico{width:19px;height:19px}.nav-item-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-item-badge{font-size:10px;font-weight:700;padding:2px 6px;border-radius:6px;background:var(--sidebar-badge-bg);color:var(--sidebar-badge-text)}.sidebar-user-footer{margin-top:auto;position:sticky;bottom:0;z-index:1;box-shadow:0 -8px 12px -4px var(--sidebar-bg);display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:var(--surface-hover);border:1px solid var(--border-subtle);cursor:pointer;transition:all var(--duration-fast) var(--ease)}.sidebar-user-footer:hover{background:var(--background-secondary);border-color:var(--border)}a.sidebar-user-footer{color:inherit;text-decoration:none}.sidebar-user-footer.active{background:var(--sidebar-active-bg);border-color:var(--sidebar-active-border)}.sidebar-user-avatar{flex-shrink:0;display:grid;place-items:center}.sidebar-avatar-initials{width:38px;height:38px;border-radius:50%;background:var(--grad-primary);color:#fff;display:grid;place-items:center;font-weight:700;font-size:14px}.sidebar-user-meta{display:flex;flex-direction:column;min-width:0;flex:1}.sidebar-user-name{font-size:13px;font-weight:700;color:var(--sidebar-text);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{font-size:11px;font-weight:500;color:var(--sidebar-text-muted);margin-top:2px}.sidebar-user-more{background:transparent;border:none;color:var(--sidebar-text-muted);cursor:pointer;padding:4px;border-radius:6px;display:grid;place-items:center}.sidebar-user-more:hover{color:var(--sidebar-text)}.bottom-bar-label{font-size:10px;font-weight:600;line-height:1.2;color:inherit;margin-top:1px}.dash-shortcuts-row{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin:4px 0}@media (max-width: 1024px){.dash-shortcuts-row{grid-template-columns:repeat(3,1fr)}}@media (max-width: 640px){.dash-shortcuts-row{grid-template-columns:repeat(2,1fr)}}.dash-shortcut-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:14px 10px;border-radius:16px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);cursor:pointer;transition:all var(--duration-fast) var(--ease)}.dash-shortcut-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--accent-teal)}.dash-shortcut-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:20px;transition:transform var(--duration-fast) var(--ease)}.dash-shortcut-card:hover .dash-shortcut-icon{transform:scale(1.08)}.dash-shortcut-icon.sage{background:#eaf2ec;color:#1b4332}.dash-shortcut-icon.rose{background:#f8eef5;color:#8c5383}.dash-shortcut-icon.cream{background:#f5efe6;color:#58655e}.dash-shortcut-icon.amber{background:#fdf3e7;color:#c97a1e}[data-theme=dark] .dash-shortcut-icon.sage{background:#1c3327;color:#79d2a6}[data-theme=dark] .dash-shortcut-icon.rose{background:#2e1f2c;color:#e296cd}[data-theme=dark] .dash-shortcut-icon.cream{background:#1e2d25;color:#9eb1a5}[data-theme=dark] .dash-shortcut-icon.amber{background:#332717;color:#e5a33d}.dash-shortcut-title{font-size:13px;font-weight:700;color:var(--text-primary);line-height:1.2}.dash-shortcut-desc{font-size:10.5px;color:var(--text-secondary);line-height:1.3}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:4px 0 16px;margin-bottom:8px}.topbar-left{display:flex;align-items:center;gap:12px;flex:1;max-width:540px}.topbar-search-wrap{position:relative;flex:1}.topbar-search-wrap input{width:100%;height:42px;border-radius:999px;padding-inline-start:42px;padding-inline-end:72px;background:var(--surface);border:1px solid var(--border);color:var(--text-primary);font-size:13px;box-shadow:var(--shadow-sm);outline:none;transition:border-color var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease)}.topbar-search-wrap input:focus{border-color:var(--accent-teal);box-shadow:0 0 0 3px #20d6b026,var(--shadow-sm)}.search-lead-icon{position:absolute;inset-inline-start:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--text-muted);pointer-events:none}.search-shortcut-pill{position:absolute;inset-inline-end:10px;top:50%;transform:translateY(-50%);padding:3px 8px;border-radius:6px;font-size:11px;font-weight:700;background:var(--background-secondary);border:1px solid var(--border);color:var(--text-muted);cursor:pointer}@media (max-width: 768px),(pointer: coarse),(hover: none){.search-shortcut-pill{display:none!important}}.search-clear-btn{position:absolute;inset-inline-end:12px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--text-muted);cursor:pointer;display:grid;place-items:center}.topbar-right{display:flex;align-items:center;gap:10px}.theme-switch-toggle{display:flex;align-items:center;height:34px;border-radius:999px;background:var(--background-secondary);border:1px solid var(--border);padding:3px;cursor:pointer}.theme-toggle-option{width:28px;height:28px;border-radius:999px;display:grid;place-items:center;color:var(--text-muted);transition:all var(--duration-fast) var(--ease)}.theme-toggle-option.active{background:var(--surface);color:var(--accent-teal);box-shadow:0 1px 4px #00000026}.topbar-lang-pill{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:999px;background:var(--surface);border:1px solid var(--border);color:var(--text-primary);font-size:12px;font-weight:700;cursor:pointer}.topbar-lang-code{letter-spacing:.5px}.lang-chevron{color:var(--text-muted)}.topbar-icon-action{position:relative;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--surface);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;transition:all var(--duration-fast) var(--ease)}.topbar-icon-action:hover{background:var(--surface-hover);border-color:var(--accent-teal)}.topbar-action-badge{position:absolute;top:-2px;inset-inline-end:-2px;width:17px;height:17px;border-radius:50%;background:#ef4444;color:#fff;font-size:10px;font-weight:800;display:grid;place-items:center;box-shadow:0 2px 6px #ef444466}.topbar-profile-pill{display:flex;align-items:center;gap:10px;padding:4px 10px 4px 6px;border-radius:999px;background:var(--surface);border:1px solid var(--border);cursor:pointer;transition:background var(--duration-fast) var(--ease);min-width:0;max-width:220px;flex-shrink:1}.topbar-profile-pill:hover{background:var(--surface-hover)}.topbar-profile-info{display:flex;flex-direction:column;min-width:0;overflow:hidden;flex:1 1 auto}.topbar-profile-name{font-size:13px;font-weight:700;color:var(--text-primary);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.topbar-profile-role{font-size:10px;font-weight:500;color:var(--text-muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 768px){.topbar{gap:10px;padding:4px 0 10px}.topbar-left{gap:10px}.topbar-right{gap:8px}}@media (max-width: 640px){.topbar-bookmark-action{display:none!important}}@media (max-width: 480px){.topbar{gap:8px;padding:2px 0 8px}.topbar-left{gap:6px;max-width:none}.topbar-right{gap:6px}.topbar-profile-pill{padding:3px 6px 3px 4px;gap:6px;max-width:140px}.topbar-profile-name{font-size:12px;max-width:85px}.topbar-profile-role{font-size:9.5px}.topbar-lang-pill{padding:4px 6px;gap:3px}.topbar-lang-pill .lang-chevron{display:none!important}.topbar-icon-action{width:34px;height:34px}}@media (max-width: 360px){.topbar,.topbar-right{gap:4px}.topbar-profile-pill{max-width:105px;padding:2px 4px;gap:4px}.topbar-profile-name{max-width:60px;font-size:11px}.topbar-profile-role{display:none!important}}@supports selector(:has(*)){@media (max-width: 359px){.topbar-right:has(>.topbar-guest-actions){flex-wrap:wrap;flex-shrink:1;min-width:0;row-gap:6px}.topbar-right>.topbar-guest-actions{flex:1 1 100%}.topbar-right>.topbar-guest-actions>.btn{flex:1 1 0;justify-content:center}}}.nexora-dashboard{padding:0}.dash-layout-container{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:22px;align-items:start}@media (max-width: 1240px){.dash-layout-container{grid-template-columns:1fr}}.dash-main-column,.dash-side-column{display:flex;flex-direction:column;gap:20px;min-width:0}.dash-hero-card{position:relative;border-radius:22px;overflow:hidden;min-height:280px;border:1px solid var(--border);box-shadow:var(--shadow-card);background:var(--background-secondary, #F0ECE1)}[data-theme=dark] .dash-hero-card{background:var(--surface);border-color:var(--border)}.dash-hero-bg{position:absolute;inset:0;width:100%;height:100%}.hero-art-svg{width:100%;height:100%;object-fit:cover;display:block}.dash-hero-backdrop{position:absolute;inset:0;background:linear-gradient(to right,#f8f7f2f2,#f8f7f2d9,#f8f7f226)}html[dir=rtl] .dash-hero-backdrop{background:linear-gradient(to left,#f8f7f2f2,#f8f7f2d9,#f8f7f226)}[data-theme=dark] .dash-hero-backdrop{background:linear-gradient(to right,#0e1713f5,#0e1713d9,#0e171333)}html[data-theme=dark][dir=rtl] .dash-hero-backdrop,[data-theme=dark] [dir=rtl] .dash-hero-backdrop{background:linear-gradient(to left,#0e1713f5,#0e1713d9,#0e171333)}.dash-hero-content{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:28px 30px;gap:20px}@media (max-width: 900px){.dash-hero-content{flex-direction:column;align-items:stretch}.dash-hero-backdrop,html[dir=rtl] .dash-hero-backdrop{background:#f8f7f2e6}[data-theme=dark] .dash-hero-backdrop,html[data-theme=dark][dir=rtl] .dash-hero-backdrop,[data-theme=dark] [dir=rtl] .dash-hero-backdrop{background:#0e1713e6}}.dash-hero-left{max-width:460px}.dash-hero-greeting{display:inline-flex;align-items:center;gap:6px;font-size:14.5px;font-weight:700;color:var(--accent-teal)}.wave-emoji{display:inline-block;animation:waveAnim 2s infinite ease-in-out}@keyframes waveAnim{0%,to{transform:rotate(0)}50%{transform:rotate(18deg)}}.dash-hero-name{font-size:clamp(1.8rem,3.5vw,2.3rem);font-weight:800;color:var(--text-primary);margin:6px 0 8px;line-height:1.15;letter-spacing:-.02em}.dash-hero-quote{font-size:13.5px;color:var(--text-secondary);line-height:1.5;margin:0 0 20px}.dash-hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.dash-btn-primary{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 20px;border-radius:999px;background:var(--action);border:none;color:var(--text-on-action);font-weight:700;font-size:13.5px;cursor:pointer;box-shadow:0 3px 12px #1b433240;transition:transform .15s ease,box-shadow .15s ease}.dash-btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #1b433259}[data-theme=dark] .dash-btn-primary{box-shadow:0 3px 12px #0006}.dash-btn-secondary{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 16px;border-radius:999px;background:var(--surface);border:1px solid var(--border);color:var(--text-primary);font-weight:600;font-size:13px;cursor:pointer;box-shadow:var(--shadow-sm);transition:all .15s ease}.dash-btn-secondary:hover{background:var(--surface-hover);border-color:var(--border-subtle)}.dash-play-pill{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--accent-sage-subtle, #DFEBE1);color:var(--accent-teal, #1B4332);font-size:9px}.dash-level-float-card{width:250px;padding:18px;border-radius:18px;background:#fffffff0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);box-shadow:var(--shadow-md);color:var(--text-primary);flex-shrink:0}[data-theme=dark] .dash-level-float-card{background:#16241eeb;border-color:#6ea58229;box-shadow:0 16px 40px #00000073;color:#f0f5f2}.level-float-top{display:flex;align-items:center;gap:12px;margin-bottom:12px}.level-gem-wrap{width:48px;height:48px;display:grid;place-items:center;flex-shrink:0}.level-title-label{display:block;font-size:11px;color:var(--text-secondary);font-weight:500}.level-title-val{display:block;font-size:18px;font-weight:800;color:var(--text-primary)}.level-progress-track{height:6px;background:var(--accent-sage-subtle, #DFEBE1);border-radius:999px;overflow:hidden}[data-theme=dark] .level-progress-track{background:#1c3327}.level-progress-bar{height:100%;background:var(--accent-teal);border-radius:999px}[data-theme=dark] .level-progress-bar{background:linear-gradient(90deg,#387b5d,#74c69d)}.level-xp-label{display:flex;justify-content:flex-end;font-size:11px;color:var(--text-secondary);font-weight:600;margin-top:5px}.level-xp-text{direction:ltr!important;unicode-bidi:isolate;display:inline-flex;align-items:center;gap:2px}.level-stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:12px 0 10px;padding-top:10px;border-top:1px solid var(--border-subtle);text-align:center}.level-stat-icon{font-size:12px;margin-bottom:2px}.level-stat-col strong{display:block;font-size:14px;font-weight:800;color:var(--text-primary);line-height:1.1}.level-stat-col span{display:block;font-size:9.5px;color:var(--text-secondary);margin-top:2px}.level-quote-footer{text-align:center;font-size:10.5px;color:var(--text-muted);font-style:italic;padding-top:8px;border-top:1px solid var(--border-subtle)}[data-theme=dark] .level-stats-row{border-top-color:#6ea58224}[data-theme=dark] .level-stat-col strong{color:#f0f5f2}[data-theme=dark] .level-stat-col span{color:#9eb1a5}[data-theme=dark] .level-quote-footer{color:#8ba093;border-top-color:#6ea5821f}.dash-metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}@media (max-width: 900px){.dash-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 500px){.dash-metrics-grid{grid-template-columns:minmax(0,1fr)}}.dash-main-column{container-type:inline-size;container-name:dash-main}@media (min-width: 901px){@container dash-main (max-width: 700px){.dash-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}}.dash-metric-card{display:flex;align-items:center;gap:14px;padding:16px;border-radius:16px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease)}.dash-metric-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--accent-teal)}.metric-icon-wrap{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;flex-shrink:0}.metric-icon-wrap.teal{background:#dfebe1;color:#1b4332}.metric-icon-wrap.orange{background:#fdf3e7;color:#c97a1e}.metric-icon-wrap.purple{background:#f4eef7;color:#6d597a}.metric-icon-wrap.blue{background:#eaf2f6;color:#366e8d}[data-theme=dark] .metric-icon-wrap.teal{background:#2d6a4f40;color:#74c69d}[data-theme=dark] .metric-icon-wrap.orange{background:#c97a1e40;color:#e5a33d}[data-theme=dark] .metric-icon-wrap.purple{background:#6d597a40;color:#b59ec4}[data-theme=dark] .metric-icon-wrap.blue{background:#366e8d40;color:#7db9d9}.metric-val-row{display:flex;align-items:center}.metric-number{font-size:22px;font-weight:800;color:var(--text-primary);line-height:1.1}.metric-trend-up{font-size:13px;font-weight:800;color:var(--accent-success);margin-inline-start:6px}.metric-arrow{font-size:13px;color:var(--text-muted);margin-inline-start:6px}.metric-label{display:block;font-size:12px;font-weight:500;color:var(--text-secondary);margin-top:2px}.dash-courses-section{display:flex;flex-direction:column}.dash-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.dash-section-title{font-size:18px;font-weight:800;color:var(--text-primary);margin:0}.dash-section-link{background:transparent;border:none;font-size:13px;font-weight:700;color:var(--accent-teal);display:inline-flex;align-items:center;gap:4px;cursor:pointer}.dash-courses-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}@media (max-width: 960px){.dash-courses-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 540px){.dash-courses-grid{grid-template-columns:1fr}}.dash-course-card{position:relative;border-radius:18px;padding:14px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);cursor:pointer;display:flex;flex-direction:column;overflow:hidden;transition:transform var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease)}.dash-course-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.course-amber{border-color:#c97a1e40}.course-purple{border-color:#8c538340}.course-blue{border-color:#457b9d40}.course-cyan{border-color:#52b78840}.course-emerald{border-color:#2d6a4f40}.course-rose{border-color:#dc624840}.course-card-top{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:24px}.course-badge-pill{padding:2px 8px;border-radius:6px;font-size:10px;font-weight:700;white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis}.course-badge-pill.amber{background:#f59e0b29;color:var(--accent-amber)}.course-badge-pill.purple{background:#a855f724;color:var(--accent-violet)}.course-badge-pill.blue{background:#38bdf824;color:var(--accent-blue)}.course-badge-pill.cyan{background:#20d6b024;color:var(--accent-cyan)}.course-badge-pill.emerald{background:#10b98124;color:var(--accent-success)}.course-badge-pill.rose{background:#f43f5e24;color:var(--accent-danger)}.course-diff-pill{font-size:10px;font-weight:600;padding:2px 6px;border-radius:6px;background:var(--background-secondary);color:var(--text-muted)}.course-rating-pill{font-size:11px;font-weight:700;color:var(--accent-amber);margin-inline-start:auto;display:inline-flex;align-items:center;gap:2px}.course-instructor-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:var(--text-muted);margin-bottom:8px}.course-instructor-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px}.course-lessons-badge{font-weight:600;background:var(--background-secondary);padding:2px 6px;border-radius:6px;white-space:nowrap}.course-action-btn{flex:1;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:700;cursor:pointer;border:none;background:var(--action);color:var(--text-on-action);transition:all var(--duration-fast) var(--ease);display:inline-flex;align-items:center;justify-content:center}.course-action-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.course-menu-dots{color:var(--text-muted);font-size:13px;letter-spacing:2px;margin-inline-start:auto}.course-art-box{height:84px;width:100%;display:flex;align-items:center;justify-content:center;margin:4px 0 10px;position:relative;overflow:hidden;flex-shrink:0}.course-art-box svg{height:76px;width:auto;max-width:120px;max-height:80px;object-fit:contain;display:block;pointer-events:none}.course-card-name{font-size:14px;font-weight:700;color:var(--text-primary);margin:0 0 8px;line-height:1.35;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:38px}.course-card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto}.course-progress-info{flex:1}.course-pct-label{display:block;font-size:11px;font-weight:600;color:var(--text-muted);margin-bottom:4px}.course-bar-track{height:4px;background:var(--background-secondary);border-radius:999px;overflow:hidden}.course-bar-fill{height:100%;border-radius:999px}.course-bar-fill.amber{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.course-bar-fill.purple{background:linear-gradient(90deg,#9333EA,var(--viz-violet))}.course-bar-fill.blue{background:linear-gradient(90deg,#0284C7,var(--viz-blue))}.course-bar-fill.cyan{background:linear-gradient(90deg,#087F6A,var(--viz-teal))}.course-bar-fill.emerald{background:linear-gradient(90deg,#059669,#10b981)}.course-bar-fill.rose{background:linear-gradient(90deg,#e11d48,#fb7185)}.course-circle-btn{width:26px;height:26px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text-primary);display:grid;place-items:center;cursor:pointer;flex-shrink:0;transition:all var(--duration-fast) var(--ease)}.course-circle-btn:hover{background:var(--action);color:var(--text-on-action);border-color:var(--accent-teal)}.dash-bottom-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:20px}@media (max-width: 900px){.dash-bottom-grid{grid-template-columns:1fr}}.dash-goals-card,.dash-analytics-card{padding:20px;border-radius:18px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.goals-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.goals-head-title{display:flex;align-items:center;gap:10px}.goals-icon-badge{width:32px;height:32px;border-radius:10px;background:#a855f726;color:var(--viz-violet-deep);display:grid;place-items:center}.goals-head-title h2,.goals-head-title h4{font-size:15px;font-weight:800;color:var(--text-primary);margin:0}.goals-ratio-label{font-size:12px;font-weight:700;color:var(--accent-teal)}.goals-track{height:5px;background:var(--background-secondary);border-radius:999px;overflow:hidden;margin-bottom:14px}.goals-bar-fill{height:100%;background:linear-gradient(90deg,#087F6A,var(--viz-teal));border-radius:999px;transition:width .3s ease}.goals-list{display:flex;flex-direction:column;gap:4px}.goal-item{display:flex;align-items:center;gap:10px;padding:7px 4px;cursor:pointer;border-radius:8px;transition:background var(--duration-fast) var(--ease)}.goal-item:hover{background:var(--surface-hover)}.goal-checkbox{width:19px;height:19px;border-radius:6px;border:1.5px solid var(--border);display:grid;place-items:center;flex-shrink:0;transition:all var(--duration-fast) var(--ease)}.goal-item.checked .goal-checkbox{background:var(--action);border-color:var(--accent-teal);color:var(--text-on-action)}.goal-text{font-size:13px;font-weight:500;color:var(--text-primary)}.goal-item.checked .goal-text{color:var(--text-muted)}.analytics-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:10px;flex-wrap:wrap}.analytics-header h2,.analytics-header h4{font-size:15px;font-weight:800;color:var(--text-primary);margin:0}.analytics-tabs{display:flex;align-items:center;gap:3px;background:var(--background-secondary);padding:3px;border-radius:10px;border:1px solid var(--border)}.tab-pill{padding:4px 10px;border-radius:8px;border:none;background:transparent;color:var(--text-muted);font-size:11.5px;font-weight:700;cursor:pointer;transition:all var(--duration-fast) var(--ease)}.tab-pill.active{background:var(--action);color:var(--text-on-action);box-shadow:0 2px 6px #087f6a4d}.analytics-chart-container{display:flex;align-items:flex-end;gap:10px;height:140px;margin-bottom:16px}.chart-y-axis{display:flex;flex-direction:column;justify-content:space-between;height:110px;font-size:10px;font-weight:600;color:var(--text-muted);padding-bottom:22px}.chart-bars-wrap{display:flex;align-items:flex-end;justify-content:space-between;flex:1;height:100%}.chart-col{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1;position:relative;height:100%;justify-content:flex-end}.chart-bar-track{height:100px;width:13px;display:flex;align-items:flex-end}.chart-bar-fill{width:100%;border-radius:999px;transition:height .3s ease}.chart-bar-fill.bar-neutral{background:#94a3b84d}.chart-bar-fill.bar-amber{background:#f59e0b}.chart-bar-fill.bar-teal{background:var(--viz-teal)}.chart-bar-fill.bar-teal-soft{background:#20d6b073}.chart-bar-fill.glowing{box-shadow:0 0 14px #20d6b099}.chart-bar-tooltip{position:absolute;top:0;left:50%;transform:translate(-50%);padding:3px 6px;border-radius:6px;background:#0f172a;color:var(--viz-teal);font-size:10px;font-weight:800;white-space:nowrap;box-shadow:0 2px 8px #0000004d}.chart-day-label{font-size:10.5px;color:var(--text-muted);font-weight:600}.chart-bars-wrap.yearly .chart-col{gap:4px}.chart-bars-wrap.yearly .chart-bar-track{width:9px}.chart-bars-wrap.yearly .chart-day-label{font-size:9px;letter-spacing:-.2px;white-space:nowrap}.chart-bars-wrap.monthly .chart-bar-track{width:18px}@supports (container-type: inline-size){.chart-bars-wrap.yearly{min-width:0;container-type:inline-size}.chart-bars-wrap.yearly .chart-col{min-width:0}@container (max-width: 520px){.chart-bars-wrap.yearly .chart-col:nth-child(2n) .chart-day-label{opacity:0}}@container (max-width: 220px){.chart-bars-wrap.yearly .chart-col .chart-day-label{opacity:0}.chart-bars-wrap.yearly .chart-col:nth-child(3n+1) .chart-day-label{opacity:1}}}.analytics-summary-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding-top:12px;border-top:1px solid var(--border-subtle);text-align:center}.analytics-badge strong{display:block;font-size:13.5px;font-weight:800;color:var(--text-primary);line-height:1.1;margin-top:2px}.badge-sub{display:block;font-size:9.5px;color:var(--text-muted);margin-top:2px}.dash-schedule-card{padding:20px;border-radius:18px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.schedule-head{display:flex;align-items:center;justify-content:space-between}.schedule-head h2,.schedule-head h4{font-size:16px;font-weight:800;color:var(--text-primary);margin:0}.schedule-view-all{background:transparent;border:none;font-size:12px;font-weight:700;color:var(--text-muted);cursor:pointer}.schedule-date-sub{display:block;font-size:12px;font-weight:600;color:var(--text-muted);margin-top:2px}.calendar-carousel-strip{display:flex;justify-content:space-between;gap:4px;margin:14px 0 16px}.calendar-day-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;border-radius:12px;cursor:pointer;flex:1;text-align:center;transition:all var(--duration-fast) var(--ease)}.cal-day-name{font-size:9.5px;color:var(--text-muted);font-weight:600}.cal-day-num{font-size:13.5px;font-weight:800;color:var(--text-primary)}.calendar-day-item.active{background:var(--action);box-shadow:0 4px 12px #087f6a59}.calendar-day-item.active .cal-day-name,.calendar-day-item.active .cal-day-num{color:var(--text-on-action)}@supports (container-type: inline-size){.dash-schedule-card{container-type:inline-size}@container (max-width: 283.5px){[dir=rtl] .calendar-carousel-strip{gap:2px;margin-inline:-12px}[dir=rtl] .calendar-day-item{min-width:0;padding:8px 0}[dir=rtl] .cal-day-name{font-size:8.5px}}}.schedule-events-list{display:flex;flex-direction:column;gap:12px}.schedule-event-item{display:flex;align-items:center;gap:12px;padding:10px;border-radius:12px;background:var(--background-secondary);border:1px solid var(--border-subtle)}.event-time-col{display:flex;flex-direction:column;align-items:center;min-width:44px}.event-time-col strong{font-size:12.5px;font-weight:800;color:var(--text-primary);line-height:1.1}.event-time-col span{font-size:9.5px;color:var(--text-muted)}.event-bar-border{width:3px;height:32px;border-radius:3px}.event-bar-border.orange{background:#f59e0b}.event-bar-border.purple{background:var(--viz-violet-deep)}.event-bar-border.cyan{background:var(--viz-teal)}.event-info-col{flex:1;min-width:0}.event-info-col strong{display:block;font-size:12.5px;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-info-col span{display:block;font-size:10.5px;color:var(--text-muted);margin-top:2px}.event-action-btn{width:28px;height:28px;border-radius:50%;border:none;display:grid;place-items:center;cursor:pointer;flex-shrink:0}.event-action-btn.orange{background:#f59e0b24;color:var(--accent-amber)}.event-action-btn.purple{background:#a855f71f;color:var(--accent-violet)}.event-action-btn.cyan{background:#20d6b024;color:var(--accent-cyan)}.schedule-nav-row{display:flex;align-items:center;justify-content:space-between;margin-top:10px;gap:8px}.schedule-nav-btns{display:flex;align-items:center;gap:4px}.schedule-nav-btn{width:28px;height:28px;border-radius:8px;background:var(--background-secondary);border:1px solid var(--border);color:var(--text-primary);display:grid;place-items:center;cursor:pointer;font-size:13px;transition:all var(--duration-fast) var(--ease)}.schedule-nav-btn:hover{border-color:var(--accent-teal);color:var(--accent-teal)}.schedule-today-btn{padding:4px 10px;border-radius:8px;background:var(--background-secondary);border:1px solid var(--border);color:var(--text-muted);font-size:11px;font-weight:700;cursor:pointer;transition:all var(--duration-fast) var(--ease)}.schedule-today-btn:hover{color:var(--text-primary);border-color:var(--accent-teal)}.schedule-add-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:var(--action);color:var(--text-on-action);font-size:11.5px;font-weight:700;border:none;cursor:pointer;transition:transform var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease)}.schedule-add-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #20d6b04d}.schedule-event-item.completed{opacity:.65}.schedule-event-item.completed .event-info-col strong{text-decoration:line-through}.event-type-pill{display:inline-block;font-size:9px;font-weight:700;padding:1px 6px;border-radius:4px;margin-inline-start:6px}.event-type-pill.system{background:#087f6a26;color:var(--accent-teal)}.event-type-pill.personal{background:#9333ea26;color:var(--viz-violet-deep)}.event-type-pill.study{background:#3b82f626;color:#3b82f6}.event-type-pill.revision{background:#10b98126;color:#10b981}.event-type-pill.task{background:#a855f726;color:var(--viz-violet-deep)}.event-type-pill.exam_prep{background:#f59e0b26;color:#f59e0b}.event-type-pill.meeting{background:#06b6d426;color:#06b6d4}.event-type-pill.assignment{background:#ef444426;color:#ef4444}.event-check-btn{width:22px;height:22px;border-radius:6px;border:1.5px solid var(--border);background:transparent;display:grid;place-items:center;cursor:pointer;color:var(--accent-teal);flex-shrink:0;transition:all var(--duration-fast) var(--ease)}.event-check-btn.checked{background:var(--action);border-color:var(--accent-teal);color:var(--text-on-action)}.event-actions-group{display:flex;align-items:center;gap:4px;flex-shrink:0}.event-icon-btn{width:26px;height:26px;border-radius:6px;background:transparent;border:none;color:var(--text-muted);display:grid;place-items:center;cursor:pointer;transition:color var(--duration-fast) var(--ease),background var(--duration-fast) var(--ease)}.event-icon-btn:hover{background:var(--background);color:var(--text-primary)}.event-icon-btn.delete:hover{color:#ef4444}.schedule-empty-state{text-align:center;padding:24px 12px;display:flex;flex-direction:column;align-items:center;gap:10px}.schedule-empty-icon{font-size:32px;line-height:1;opacity:.6}.schedule-empty-state p{margin:0;font-size:12.5px;color:var(--text-muted)}.sched-modal-backdrop{position:fixed;inset:0;background:#0a1017b8;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:1050;display:flex;align-items:center;justify-content:center;padding:clamp(12px,2.5vw,24px);overflow:hidden;overscroll-behavior:contain}.sched-modal-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--dialog-radius);box-shadow:var(--dialog-shadow);width:100%;max-width:520px;max-height:min(90vh,calc(100dvh - 32px));padding:0;display:flex;flex-direction:column;overflow:hidden}.sched-modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}.sched-modal-head h4{font-size:18px;font-weight:800;color:var(--text-primary);margin:0}.sched-modal-close{background:transparent;border:none;color:var(--text-muted);font-size:18px;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .15s ease}.sched-modal-close:hover{background:var(--border);color:var(--text-primary)}.sched-modal-form{display:flex;flex-direction:column;gap:14px;padding:20px 22px;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.sched-form-field{display:flex;flex-direction:column;gap:6px}.sched-form-field label{font-size:12px;font-weight:700;color:var(--text-primary)}.sched-form-field input,.sched-form-field select,.sched-form-field textarea{padding:9px 12px;border-radius:10px;border:1px solid var(--border);background:var(--background);color:var(--text-primary);font-size:13px;outline:none;transition:border-color var(--duration-fast) var(--ease)}.sched-form-field input:focus,.sched-form-field select:focus,.sched-form-field textarea:focus{border-color:var(--accent-teal)}.sched-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sched-modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 22px;border-top:1px solid var(--border);background:var(--surface);flex-shrink:0;margin-top:auto}.dash-ai-companion-card{position:relative;border-radius:18px;padding:20px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);color:var(--text-primary);overflow:hidden}[data-theme=dark] .dash-ai-companion-card{background:var(--surface);border-color:var(--border);color:#f0f5f2}.ai-card-glow{position:absolute;top:-30px;inset-inline-end:-30px;width:140px;height:140px;background:radial-gradient(circle,rgba(82,183,136,.15) 0%,transparent 70%);pointer-events:none}.ai-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ai-sparkle-title{display:flex;align-items:center;gap:6px}.ai-star-sparkle{color:var(--accent-teal);font-size:14px}[data-theme=dark] .ai-star-sparkle{color:var(--accent-sage)}.ai-sparkle-title h2,.ai-sparkle-title h4{font-size:16px;font-weight:800;color:var(--text-primary);margin:0}.ai-head-sub{font-size:11px;color:var(--text-secondary);margin:4px 0 0;line-height:1.4}.ai-robot-floater{flex-shrink:0;transition:transform .2s ease}.ai-robot-floater:hover{transform:scale(1.05)}.ai-prompt-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.ai-prompt-btn{display:flex;align-items:center;gap:6px;padding:9px 8px;border-radius:10px;background:var(--background-secondary);border:1px solid var(--border);color:var(--text-primary);font-size:11.5px;font-weight:600;cursor:pointer;transition:all var(--duration-fast) var(--ease);text-align:start}.ai-prompt-btn:hover{background:var(--accent-sage-subtle, #DFEBE1);border-color:var(--accent-teal)}[data-theme=dark] .ai-prompt-btn{background:#ffffff0d;border-color:var(--border);color:#f0f5f2}[data-theme=dark] .ai-prompt-btn:hover{background:#74c69d26;border-color:var(--accent-sage)}.ai-prompt-icon{font-size:13px}.ai-input-pill-wrap{display:flex;align-items:center;gap:8px;padding:4px 6px 4px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--border)}[data-theme=dark] .ai-input-pill-wrap{background:var(--background-secondary);border-color:var(--border)}.ai-attach-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;display:grid;place-items:center;padding:2px}.ai-attach-btn:hover{color:var(--accent-teal)}.ai-text-input{flex:1;background:transparent;border:none;color:var(--text-primary);font-size:12px;outline:none}.ai-text-input::placeholder{color:var(--text-muted)}.ai-send-round-btn{width:30px;height:30px;border-radius:50%;border:none;background:var(--action);color:var(--text-on-action);display:grid;place-items:center;cursor:pointer;flex-shrink:0;transition:transform .15s ease}.ai-send-round-btn:hover{transform:scale(1.08)}.dash-quote-card{position:relative;border-radius:18px;padding:20px;min-height:190px;overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow-sm);background:var(--surface)}[data-theme=dark] .dash-quote-card{background:var(--surface);border-color:var(--border)}.quote-bg-wrap{position:absolute;inset:0;width:100%;height:100%}.quote-art-svg{width:100%;height:100%;object-fit:cover;display:block}.quote-overlay-scrim{position:absolute;inset:0;background:#0f172ab8}.quote-card-content{position:relative;z-index:2;color:#fff}.quote-section-label{display:block;font-size:12px;font-weight:700;color:#fde047}.quote-big-glyph{display:block;font-size:26px;color:#fde047;font-weight:800;line-height:1;margin:2px 0 4px}.quote-body-text{font-size:13px;font-weight:500;line-height:1.5;margin:0 0 10px;color:#f1f5f9}.quote-author-name{display:block;font-size:11px;color:#94a3b8;font-weight:600}.catalog-hero{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:28px 24px;margin-bottom:24px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:16px;overflow:hidden}.catalog-hero-bg{position:absolute;top:-60px;inset-inline-end:-40px;width:280px;height:280px;background:radial-gradient(circle,rgba(32,214,176,.12) 0%,transparent 70%);pointer-events:none}.catalog-hero-head{max-width:680px}.catalog-hero-title{font-size:26px;font-weight:800;color:var(--text-primary);margin:0 0 6px;line-height:1.2;letter-spacing:-.02em}.catalog-hero-subtitle{font-size:14px;color:var(--text-muted);line-height:1.5;margin:0}.catalog-search-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.catalog-search-input-wrap{flex:1;min-width:240px;position:relative;display:flex;align-items:center}.catalog-search-icon{position:absolute;inset-inline-start:14px;color:var(--text-muted);pointer-events:none}.catalog-search-input{width:100%;height:44px;padding:0 42px;border-radius:12px;border:1px solid var(--border);background:var(--background);color:var(--text-primary);font-size:14px;transition:all var(--duration-fast) var(--ease)}.catalog-search-input:focus{outline:none;border-color:var(--accent-teal);box-shadow:0 0 0 3px #20d6b02e}.catalog-search-clear{position:absolute;inset-inline-end:12px;background:transparent;border:none;color:var(--text-muted);font-size:14px;cursor:pointer;padding:4px}.catalog-filter-btn{height:44px;padding:0 16px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text-primary);font-size:13.5px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all var(--duration-fast) var(--ease)}.catalog-filter-btn:hover,.catalog-filter-btn.active{background:var(--background-secondary);border-color:var(--accent-teal);color:var(--accent-teal)}.catalog-cat-rail{display:flex;align-items:center;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:20px;scrollbar-width:thin}.catalog-cat-pill{padding:8px 16px;border-radius:999px;font-size:13px;font-weight:600;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:all var(--duration-fast) var(--ease)}.catalog-cat-pill:hover{border-color:var(--accent-teal);color:var(--text-primary)}.catalog-cat-pill.active{background:var(--action);color:var(--text-on-action);border-color:var(--accent-teal);font-weight:700;box-shadow:0 2px 10px #20d6b047}.catalog-filters-box{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px 20px;margin-bottom:20px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:14px}.catalog-filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.catalog-filter-field{display:flex;flex-direction:column;gap:6px}.catalog-filter-label{font-size:12px;font-weight:700;color:var(--text-muted)}.catalog-filter-select,.catalog-filter-text-input{height:38px;padding:0 12px;border-radius:10px;border:1px solid var(--border);background:var(--background);color:var(--text-primary);font-size:13px;outline:none}.catalog-filter-select:focus,.catalog-filter-text-input:focus{border-color:var(--accent-teal)}.catalog-active-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:10px;border-top:1px solid var(--border)}.catalog-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--background-secondary);color:var(--text-primary);font-size:12px;font-weight:600}.catalog-chip button{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:0;font-size:13px;line-height:1}.catalog-chip button:hover{color:#ef4444}.courses-catalog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}@media (max-width: 1200px){.courses-catalog-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 860px){.courses-catalog-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 540px){.courses-catalog-grid{grid-template-columns:1fr}}.mycourses-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}@media (max-width: 640px){.mycourses-stats-grid{grid-template-columns:1fr}}.mycourses-stat-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:18px 20px;display:flex;align-items:center;gap:16px;box-shadow:var(--shadow-sm)}.mycourses-stat-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:20px;flex-shrink:0}.mycourses-stat-icon.teal{background:#20d6b026;color:var(--accent-cyan)}.mycourses-stat-icon.amber{background:#f59e0b26;color:var(--accent-amber)}.mycourses-stat-icon.purple{background:#a855f726;color:var(--accent-violet)}.mycourses-stat-info{display:flex;flex-direction:column}.mycourses-stat-val{font-size:24px;font-weight:800;color:var(--text-primary);line-height:1.1}.mycourses-stat-label{font-size:12.5px;color:var(--text-muted);font-weight:600}.mycourses-tabs-bar{display:flex;align-items:center;gap:8px;margin-bottom:20px;border-bottom:1px solid var(--border);padding-bottom:10px}.mycourses-tab-btn{padding:8px 16px;border-radius:10px;border:none;background:transparent;color:var(--text-muted);font-size:13.5px;font-weight:600;cursor:pointer;transition:all var(--duration-fast) var(--ease)}.mycourses-tab-btn:hover{color:var(--text-primary);background:var(--background-secondary)}.mycourses-tab-btn.active{background:var(--surface);color:var(--accent-teal);border:1px solid var(--border);font-weight:700;box-shadow:var(--shadow-sm)}.unified-page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}.unified-page-title{font-size:22px;font-weight:800;color:var(--text-primary);margin:0 0 4px}.unified-page-desc{font-size:13px;color:var(--text-muted);margin:0}.unified-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px;box-shadow:var(--shadow-sm);transition:transform var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease)}.unified-card:hover{box-shadow:var(--shadow-md)}.notes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.note-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px 18px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow-sm);transition:border-color var(--duration-fast) var(--ease)}.note-card:hover{border-color:var(--accent-teal)}.note-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.note-time-badge{font-size:11px;font-weight:700;color:var(--accent-teal);background:#20d6b01f;padding:2px 8px;border-radius:6px}.note-text-body{font-size:13.5px;color:var(--text-primary);line-height:1.5;white-space:pre-wrap;margin:0;flex:1}.note-actions-row{display:flex;align-items:center;justify-content:space-between;padding-top:8px;border-top:1px solid var(--border);font-size:11.5px;color:var(--text-muted)}.note-btn-action{background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:12px;padding:4px 6px;border-radius:6px;transition:all var(--duration-fast) var(--ease)}.note-btn-action:hover{color:var(--accent-teal);background:var(--background-secondary)}.note-btn-action.delete:hover{color:#ef4444}.gam-header{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:24px 28px;display:flex;align-items:center;gap:24px;box-shadow:var(--shadow-sm);margin-bottom:24px;overflow:hidden}@media (max-width: 768px){.gam-header{flex-direction:column;align-items:flex-start;padding:20px;gap:16px}}.gam-level-badge{width:64px;height:64px;border-radius:18px;background:linear-gradient(135deg,#9a5b0c,#7a470a);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-on-action);font-weight:800;box-shadow:0 4px 16px #f59e0b59;flex-shrink:0}.gam-level-icon{font-size:20px;line-height:1;margin-bottom:2px}.gam-level-num{font-size:16px;font-weight:800;line-height:1}.gam-header-info{flex:1;min-width:0;width:100%}.gam-header-info h1,.gam-header-info h3{font-size:22px;font-weight:800;color:var(--text-primary);margin:0 0 4px;line-height:1.2}.gam-header-info p{font-size:13px;color:var(--text-muted);margin:0 0 10px;font-weight:600}.gam-xp-bar{position:relative;height:10px;background:var(--background-secondary);border-radius:999px;overflow:hidden;margin-bottom:6px}.gam-xp-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#f59e0b,#10b981);transition:width .4s ease}.gam-xp-label{font-size:11.5px;font-weight:700;color:var(--text-muted)}.gam-streak-box{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px 20px;border-radius:16px;background:var(--background);border:1px solid var(--border);min-width:120px;text-align:center;gap:4px;flex-shrink:0}@media (max-width: 768px){.gam-streak-box{width:100%;flex-direction:row;justify-content:space-between}}.gam-streak-icon{font-size:26px;line-height:1;filter:grayscale(1);opacity:.5}.gam-streak-icon.active{filter:grayscale(0);opacity:1;animation:pulse-glow 2s infinite ease-in-out}@keyframes pulse-glow{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.gam-streak-box strong{font-size:18px;font-weight:800;color:var(--accent-amber)}.gam-streak-box span{font-size:11px;color:var(--text-muted);font-weight:600}.gam-tabs{display:flex;align-items:center;gap:8px;overflow-x:auto;padding-bottom:8px;margin-bottom:22px;scrollbar-width:thin}.gam-tab{padding:9px 18px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:13.5px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;transition:all var(--duration-fast) var(--ease)}.gam-tab:hover{border-color:var(--accent-teal);color:var(--text-primary)}.gam-tab.active{background:var(--action);color:var(--text-on-action);font-weight:700;border-color:var(--accent-teal);box-shadow:0 2px 10px #20d6b047}.gam-tab-icon{font-size:16px;line-height:1}.gam-content{display:flex;flex-direction:column}.gam-stats-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-bottom:26px}@media (max-width: 1200px){.gam-stats-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 600px){.gam-stats-grid{grid-template-columns:repeat(2,1fr)}}.gam-stat-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px 14px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;box-shadow:var(--shadow-sm);transition:transform var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease)}.gam-stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--accent-teal)}.gam-stat-icon{font-size:26px;line-height:1}.gam-stat-card strong{font-size:22px;font-weight:800;color:var(--text-primary);line-height:1.1}.gam-stat-card span{font-size:11.5px;color:var(--text-muted);font-weight:600}.gam-section-title{font-size:17px;font-weight:800;color:var(--text-primary);margin:0 0 14px}.gam-achievement-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}.gam-achievement-item{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px;display:flex;align-items:center;gap:14px;box-shadow:var(--shadow-sm)}.gam-achievement-item.earned{border-color:#f59e0b59;background:linear-gradient(135deg,var(--surface),rgba(245,158,11,.05))}.gam-ach-icon{width:44px;height:44px;border-radius:12px;background:var(--background-secondary);display:grid;place-items:center;font-size:22px;flex-shrink:0}.gam-achievement-item div{flex:1;min-width:0}.gam-achievement-item strong{display:block;font-size:14px;font-weight:700;color:var(--text-primary);margin-bottom:2px}.gam-achievement-item p{font-size:12px;color:var(--text-muted);margin:0;line-height:1.4}.gam-ach-xp{font-size:12px;font-weight:800;color:#f59e0b;background:#f59e0b1f;padding:4px 8px;border-radius:6px;white-space:nowrap}.gam-empty{color:var(--text-muted);font-size:13px;font-style:italic;padding:20px 0}.gam-achievements-head{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;box-shadow:var(--shadow-sm);flex-wrap:wrap}.gam-achievements-stats{display:flex;align-items:center;gap:12px}.gam-ach-head-info{display:flex;align-items:center;justify-content:space-between;width:100%;gap:16px;flex-wrap:wrap}.gam-ach-head-title h4{margin:0 0 4px;font-size:18px;font-weight:800;color:var(--text-primary)}.gam-ach-head-title p{margin:0;font-size:13px;color:var(--text-muted)}.gam-ach-count-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;background:var(--background-secondary);border:1px solid var(--border);font-size:13px;font-weight:700;color:var(--text-primary)}.gam-ach-count-pill strong{color:#f59e0b}.gam-ach-progress-bar{width:100%;height:8px;background:var(--background-secondary);border-radius:999px;overflow:hidden;margin-top:6px}.gam-ach-progress-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#10b981);border-radius:999px;transition:width .4s ease}.gam-achievements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}.gam-achievement-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow-sm);transition:transform var(--duration-fast) var(--ease),border-color var(--duration-fast) var(--ease);position:relative;overflow:hidden}.gam-achievement-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.gam-achievement-card.earned{border-color:#f59e0b73;background:linear-gradient(150deg,var(--surface),rgba(245,158,11,.05))}.gam-ach-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.gam-ach-card-icon{width:52px;height:52px;border-radius:14px;background:var(--background-secondary);display:grid;place-items:center;font-size:26px;box-shadow:var(--shadow-sm)}.gam-achievement-card.earned .gam-ach-card-icon{background:#f59e0b26;border:1px solid rgba(245,158,11,.35)}.gam-ach-xp-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:8px;font-size:12px;font-weight:800;color:#f59e0b;background:#f59e0b24}.gam-achievement-card strong{font-size:15px;font-weight:800;color:var(--text-primary);line-height:1.3}.gam-achievement-card p{font-size:12.5px;color:var(--text-muted);line-height:1.5;margin:0;flex:1}.gam-ach-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:10px;border-top:1px solid var(--border);gap:8px}.gam-ach-status{font-size:11px;font-weight:700;padding:3px 8px;border-radius:6px}.gam-ach-status.earned{background:#10b98124;color:#10b981}.gam-ach-status.locked{background:var(--background-secondary);color:var(--text-muted)}.gam-ach-date{font-size:11px;color:var(--text-muted)}.gam-badges-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}.gam-badge-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:20px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;box-shadow:var(--shadow-sm);transition:transform var(--duration-fast) var(--ease)}.gam-badge-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.gam-badge-card.earned{border-color:var(--accent-teal);background:linear-gradient(150deg,var(--surface),rgba(32,214,176,.05))}.gam-badge-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font-size:28px;box-shadow:var(--shadow-sm)}.gam-badge-card strong{font-size:15px;font-weight:800;color:var(--text-primary)}.gam-badge-card p{font-size:12px;color:var(--text-muted);line-height:1.4;margin:0;flex:1}.gam-badge-date{font-size:11px;font-weight:700;color:#10b981;background:#10b9811f;padding:3px 10px;border-radius:999px}.gam-badge-locked{font-size:11px;font-weight:600;color:var(--text-muted);background:var(--background-secondary);padding:3px 10px;border-radius:999px}.gam-leaderboard{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:16px 20px;box-shadow:var(--shadow-sm);overflow-x:auto}.gam-lb-header{display:grid;grid-template-columns:80px 1fr 100px 120px;gap:12px;padding:12px 16px;font-size:12px;font-weight:800;color:var(--text-muted);border-bottom:1px solid var(--border)}.gam-lb-row{display:grid;grid-template-columns:80px 1fr 100px 120px;gap:12px;padding:14px 16px;align-items:center;font-size:13.5px;border-bottom:1px solid var(--border);transition:background var(--duration-fast) var(--ease)}.gam-lb-row:last-child{border-bottom:none}.gam-lb-row:hover{background:var(--background-secondary)}.gam-lb-row.top-1{background:#f59e0b14;font-weight:700}.gam-lb-row.top-2{background:#94a3b814;font-weight:700}.gam-lb-row.top-3{background:#b4530914;font-weight:700}.gam-lb-rank{font-weight:800;font-size:14px}.gam-lb-name{font-weight:700;color:var(--text-primary)}.gam-lb-level{font-weight:600;color:var(--accent-teal)}.gam-lb-xp{font-weight:800;color:#f59e0b}.gam-challenges{display:flex;flex-direction:column;gap:14px}.gam-challenge-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:20px 24px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow-sm);transition:border-color var(--duration-fast) var(--ease)}.gam-challenge-card.done{border-color:#10b98166;background:linear-gradient(135deg,var(--surface),rgba(16,185,129,.04))}.gam-chall-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.gam-chall-head strong{font-size:15.5px;font-weight:800;color:var(--text-primary)}.gam-chall-xp{font-size:12px;font-weight:800;color:#f59e0b;background:#f59e0b24;padding:4px 10px;border-radius:8px}.gam-challenge-card p{font-size:13px;color:var(--text-muted);line-height:1.5;margin:0}.gam-chall-progress{display:flex;align-items:center;gap:12px}.gam-chall-bar{flex:1;height:8px;background:var(--background-secondary);border-radius:999px;overflow:hidden}.gam-chall-fill{height:100%;background:linear-gradient(90deg,#F59E0B,var(--viz-teal));border-radius:999px;transition:width .4s ease}.gam-chall-progress span{font-size:11.5px;font-weight:700;color:var(--text-muted);min-width:36px}.gam-chall-done-badge{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:700;color:#10b981;background:#10b98124;padding:4px 10px;border-radius:6px;width:fit-content}.gam-rewards{display:flex;flex-direction:column}.gam-shop-xp{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#f59e0b26,#10b9811a);border:1px solid rgba(245,158,11,.3);border-radius:18px;padding:18px 24px;margin-bottom:22px;box-shadow:var(--shadow-sm)}.gam-shop-xp span{font-size:14px;font-weight:700;color:var(--text-primary)}.gam-shop-xp strong{font-size:20px;font-weight:800;color:#f59e0b}.gam-rewards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;margin-bottom:24px}.gam-reward-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:20px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;box-shadow:var(--shadow-sm);transition:transform var(--duration-fast) var(--ease)}.gam-reward-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.gam-reward-card.redeemed{opacity:.8;border-color:#10b9814d}.gam-reward-icon{font-size:34px;line-height:1}.gam-reward-card strong{font-size:15px;font-weight:800;color:var(--text-primary)}.gam-reward-card p{font-size:12px;color:var(--text-muted);line-height:1.4;margin:0;flex:1}.gam-reward-cost{font-size:13px;font-weight:800;color:#f59e0b;background:#f59e0b1f;padding:4px 12px;border-radius:999px}.gam-reward-redeemed{font-size:12px;font-weight:700;color:#10b981;background:#10b9811f;padding:4px 12px;border-radius:999px}.gam-redeemed-list{display:flex;flex-direction:column;gap:8px}.gam-redeemed-item{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 16px;display:flex;align-items:center;gap:12px;font-size:13px}.gam-redeemed-item strong{flex:1;color:var(--text-primary)}.gam-redeemed-item span:last-child{color:var(--text-muted);font-size:12px}@media (prefers-reduced-motion: reduce){*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.ai-layout{position:relative;display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);width:100%;height:min(840px,calc(100vh - 150px));min-height:580px;overflow:hidden;border:1px solid var(--border);border-radius:22px;background:var(--surface);box-shadow:var(--shadow-card)}.ai-sidebar{display:flex;flex-direction:column;gap:16px;min-width:0;min-height:0;overflow-y:auto;padding:20px 16px;border-inline-end:1px solid var(--border);background:var(--background)}.ai-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid var(--border)}.ai-logo{display:flex;align-items:center;gap:10px;color:var(--text-primary)}.ai-sidebar-section{display:flex;flex-direction:column;gap:8px}.ai-sidebar-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted)}.ai-cap-list{display:flex;flex-direction:column;gap:8px}.ai-cap-item{display:flex;align-items:flex-start;gap:12px;width:100%;padding:11px 13px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text-secondary);text-align:start;cursor:pointer;transition:all var(--duration-fast) var(--ease)}.ai-cap-item:hover:not(:disabled){border-color:#087f6a66;background:var(--surface-hover);color:var(--text-primary);transform:translateY(-1px)}.ai-cap-item.active{border-color:var(--accent-teal);background:linear-gradient(135deg,#087f6a1f,#0ea5b714);color:var(--text-primary);box-shadow:0 4px 12px #087f6a1f}.ai-cap-icon{font-size:18px;flex-shrink:0;padding:4px;border-radius:8px;background:var(--background)}.ai-cap-info{display:flex;flex-direction:column;gap:2px;min-width:0}.ai-cap-info strong{font-size:13.5px;font-weight:700;color:var(--text-primary)}.ai-cap-info span{font-size:11.5px;color:var(--text-muted);line-height:1.35}.ai-context-card{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:12px}.ai-context-icon{color:var(--accent-teal);flex-shrink:0}.ai-context-info{flex:1;display:flex;flex-direction:column;min-width:0}.ai-context-info strong{font-size:12.5px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-context-info span{font-size:11px;color:var(--text-muted)}.ai-main{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;background:var(--surface)}.ai-main-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;border-bottom:1px solid var(--border);background:var(--surface)}.ai-main-cap-badge{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border-radius:999px;background:linear-gradient(135deg,#087f6a1f,#0ea5b714);border:1px solid rgba(8,127,106,.25);font-size:13px;font-weight:700;color:var(--accent-teal)}.ai-main-lesson{font-size:12px;color:var(--accent-teal);background:#087f6a14;padding:4px 10px;border-radius:8px;border:1px solid rgba(8,127,106,.16);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-panel{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;background:var(--surface)}.chat-messages{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:18px;overscroll-behavior:contain}.chat-bubble{display:flex;gap:12px;max-width:82%;min-width:0;animation:fadeIn .2s ease-out}.chat-bubble--user{align-self:flex-end;flex-direction:row-reverse}.chat-bubble--ai{align-self:flex-start}.chat-bubble-avatar{flex-shrink:0}.chat-avatar-user{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--accent-teal),var(--accent-cyan));color:#fff;display:grid;place-items:center;box-shadow:0 2px 8px #087f6a40}.chat-avatar-ai{width:32px;height:32px;border-radius:50%;background:var(--background);border:1px solid var(--border);display:grid;place-items:center;overflow:hidden}.chat-bubble-body{display:flex;flex-direction:column;gap:4px;min-width:0}.chat-content{padding:13px 17px;border-radius:18px;font-size:13.5px;line-height:1.6;word-break:break-word}.chat-bubble--user .chat-content{background:linear-gradient(135deg,#087f6a24,#0ea5b71f);border:1px solid rgba(8,127,106,.3);color:var(--text-primary);border-top-left-radius:4px}[dir=rtl] .chat-bubble--user .chat-content{border-top-left-radius:18px;border-top-right-radius:4px}.chat-bubble--ai .chat-content{background:var(--surface);border:1px solid var(--border);color:var(--text-primary);box-shadow:var(--shadow-sm);border-top-right-radius:4px}[dir=rtl] .chat-bubble--ai .chat-content{border-top-right-radius:18px;border-top-left-radius:4px}.chat-content pre:not(.chat-code-block pre){background:var(--background);border:1px solid var(--border);border-radius:10px;padding:12px;margin:10px 0;overflow-x:auto}.chat-content .chat-code-block pre{background:transparent!important;border:none!important;margin:0;padding:12px 14px}.chat-content code{font-family:JetBrains Mono,Fira Code,monospace;font-size:12.5px}.chat-bubble-meta{display:flex;align-items:center;justify-content:flex-end;gap:6px;color:var(--text-muted);font-size:11px}.chat-copy-btn,.chat-retry-btn,.chat-new-btn,.chat-scroll-btn{display:inline-grid;place-items:center;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-muted);cursor:pointer;transition:all var(--duration-fast) var(--ease)}.chat-copy-btn:hover,.chat-retry-btn:hover{color:var(--text-primary);border-color:var(--accent-teal)}.chat-retry-btn{padding:2px 10px;color:var(--accent-teal);font-weight:600}.chat-composer{padding:14px 20px;border-top:1px solid var(--border);background:var(--surface);display:flex;align-items:center;gap:10px}.chat-composer-inner{flex:1;display:flex;align-items:center;background:var(--background);border:1px solid var(--border);border-radius:999px;padding:4px 6px 4px 16px;transition:all var(--duration-fast) var(--ease)}.chat-composer-inner:focus-within{border-color:var(--accent-teal);box-shadow:0 0 0 3px #087f6a26}.chat-input{flex:1;border:none;background:transparent;color:var(--text-primary);font-size:14px;outline:none;resize:none;padding:6px 0;max-height:120px}.chat-send-btn{width:38px;height:38px;border-radius:50%;background:var(--action);color:var(--text-on-action);border:none;cursor:pointer;display:grid;place-items:center;transition:all var(--duration-fast) var(--ease);flex-shrink:0}.chat-send-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 0 12px #087f6a66}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.chat-new-btn{width:38px;height:38px;border-radius:50%;flex-shrink:0}.ai-quick-prompts{display:flex;flex-wrap:wrap;gap:8px;padding:0 20px 14px}.ai-quick-prompts .prompt{background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:6px 14px;font-size:12px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all var(--duration-fast) var(--ease)}.ai-quick-prompts .prompt:hover:not(:disabled){border-color:var(--accent-teal);color:var(--accent-teal);background:#087f6a0f}.ai-layout--side-closed{grid-template-columns:minmax(0,1fr)}.ai-sidebar-scrim{display:none}@media (max-width: 1023px){.ai-layout{grid-template-columns:minmax(0,1fr);height:calc(100dvh - 200px);min-height:440px;border-radius:18px}.ai-sidebar{position:absolute;z-index:4;inset-block:0;inset-inline-start:0;width:min(320px,86%);box-shadow:var(--shadow-lg)}.ai-sidebar-scrim{display:block;position:absolute;z-index:3;inset:0;padding:0;border:0;background:#0a10176b;cursor:pointer}.ai-main-header{flex-wrap:wrap;row-gap:8px;padding:10px 12px}.ai-main-cap-badge{white-space:nowrap}.ai-main-lesson{max-width:40vw}.ai-quick-prompts{padding:0 12px 12px}.chat-bubble{max-width:92%}}.meetings-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;margin-bottom:24px}.meeting-modern-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:20px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow-sm);transition:all var(--duration-fast) var(--ease);position:relative;overflow:hidden}.meeting-modern-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:#087f6a4d}.meeting-live-glow{border-color:#20d6b080;box-shadow:0 0 20px #20d6b026}.meeting-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.meeting-platform-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:11.5px;font-weight:700;border:1px solid transparent}.meeting-card-status-wrap{display:flex;align-items:center;gap:8px}.meeting-card-mgmt-btns{display:flex;align-items:center;gap:4px}.live-dot-pulse{display:inline-block;width:7px;height:7px;border-radius:50%;background:#10b981;margin-inline-end:5px;box-shadow:0 0 8px #10b981;animation:pulse-glow 1.5s infinite}.meeting-card-content{display:flex;flex-direction:column;gap:10px;flex:1}.meeting-card-title{font-size:15px;font-weight:800;color:var(--text-primary);margin:0;line-height:1.35}.meeting-card-desc{font-size:12px;color:var(--text-muted);margin:0;line-height:1.45}.meeting-meta-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.meeting-instructor-chip{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--text-secondary);font-weight:600}.instructor-avatar-mini{width:22px;height:22px;border-radius:50%;background:var(--grad-primary);color:var(--text-on-action);display:grid;place-items:center;font-size:11px;font-weight:700}.meeting-participants-chip{font-size:11.5px;color:var(--text-muted)}.meeting-timing-box{display:flex;flex-direction:column;gap:6px;background:var(--background);border:1px solid var(--border);border-radius:12px;padding:10px 12px}.meeting-time-item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-primary);font-weight:500}.timing-icon{font-size:13px}.meeting-countdown-banner{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#087f6a1a,#0ea5b714);border:1px solid rgba(8,127,106,.22);border-radius:10px;padding:8px 12px;font-size:12px;font-weight:700;color:var(--accent-teal)}.meeting-join-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:12px;border:none;font-size:13px;font-weight:700;cursor:pointer;transition:all var(--duration-fast) var(--ease)}.meeting-join-btn.standard{background:var(--action);color:var(--text-on-action)}.meeting-join-btn.standard:hover{background:var(--action-hover);transform:translateY(-1px);box-shadow:0 4px 14px #087f6a4d}.meeting-join-btn.live{background:var(--grad-primary);color:#fff;box-shadow:0 4px 16px #087f6a59}.meeting-join-btn.live:hover{transform:translateY(-1px);box-shadow:0 6px 20px #087f6a80}[data-theme=dark] .meeting-join-btn.standard{background:var(--action);color:var(--text-on-action);font-weight:800}[data-theme=dark] .meeting-join-btn.live{color:var(--text-on-action);font-weight:800;box-shadow:0 4px 16px #2f7a5773}[data-theme=dark] .meeting-join-btn.live:hover{box-shadow:0 6px 20px #2f7a5799}.assignments-list-grid{display:flex;flex-direction:column;gap:12px}.assignment-card-item{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:18px 22px;display:flex;align-items:center;gap:16px;transition:all var(--duration-fast) var(--ease);position:relative;border-inline-start:4px solid var(--border)}.assignment-card-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:#087f6a4d}[data-theme=dark] .assignment-card-item:hover{border-color:#20d6b059}.assignment-card-item.completed{border-inline-start-color:var(--accent-success)}.assignment-card-item.pending{border-inline-start-color:var(--accent-amber)}.assignment-card-item.overdue{border-inline-start-color:var(--accent-danger)}.assignment-card-icon-wrap{width:44px;height:44px;border-radius:12px;background:var(--background);border:1px solid var(--border);display:grid;place-items:center;flex-shrink:0;color:var(--accent-teal)}.assignment-card-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.assignment-card-top-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.assignment-course-pill{font-size:11px;font-weight:700;color:var(--accent-teal);background:#087f6a14;border:1px solid rgba(8,127,106,.16);padding:2px 8px;border-radius:6px}.assignment-due-chip{font-size:11.5px;color:var(--text-muted)}.assignment-card-title{font-size:14.5px;font-weight:800;color:var(--text-primary);margin:2px 0 0}.assignment-card-desc{font-size:12px;color:var(--text-muted);margin:0;line-height:1.4}.assignment-card-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.quizzes-list-grid{display:flex;flex-direction:column;gap:12px}.quiz-card-item{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:18px 22px;display:flex;align-items:center;gap:16px;transition:all var(--duration-fast) var(--ease);border-inline-start:4px solid var(--accent-violet)}.quiz-card-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:#8053d659}[data-theme=dark] .quiz-card-item:hover{border-color:#a66bff66}.quiz-card-icon-wrap{width:44px;height:44px;border-radius:12px;background:#8053d61a;border:1px solid rgba(128,83,214,.2);color:var(--accent-violet);display:grid;place-items:center;flex-shrink:0}.quiz-card-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.quiz-card-top-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.quiz-course-pill{font-size:11px;font-weight:700;color:var(--accent-violet);background:#8053d614;border:1px solid rgba(128,83,214,.16);padding:2px 8px;border-radius:6px}.quiz-meta-pill{font-size:11px;color:var(--text-muted)}.quiz-card-title{font-size:14.5px;font-weight:800;color:var(--text-primary);margin:2px 0 0}.quiz-card-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.learning-paths-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}.path-card-modern{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:22px;display:flex;flex-direction:column;gap:12px;cursor:pointer;transition:all var(--duration-fast) var(--ease);position:relative;overflow:hidden}.path-card-modern:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:#087f6a59}.path-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.path-icon-bubble{width:48px;height:48px;border-radius:14px;background:var(--accent-sage-tint);border:1px solid var(--border);color:var(--accent-teal);display:grid;place-items:center;font-size:24px;flex-shrink:0}.subject-icon-glyph{line-height:1}.path-count-badge{font-size:11.5px;font-weight:700;color:var(--accent-teal);background:#087f6a1a;border:1px solid rgba(8,127,106,.2);padding:4px 10px;border-radius:999px}.path-card-title{font-size:17px;font-weight:800;color:var(--text-primary);margin:0}.path-card-desc{font-size:13px;color:var(--text-muted);line-height:1.5;margin:0;flex:1}.path-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:10px;border-top:1px solid var(--border)}.path-status-pill{font-size:11.5px;font-weight:600;color:var(--text-secondary)}.path-arrow-btn{font-size:16px;font-weight:700;color:var(--accent-teal);transition:transform var(--duration-fast) var(--ease)}.path-card-modern:hover .path-arrow-btn{transform:translate(-4px)}[dir=ltr] .path-card-modern:hover .path-arrow-btn{transform:translate(4px)}.profile-redesign-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media (max-width: 900px){.profile-redesign-layout{grid-template-columns:1fr}}.profile-card-modern{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:20px;box-shadow:var(--shadow-sm);min-width:0;max-width:100%;overflow:hidden}.profile-card-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding-bottom:14px}.profile-card-head h2,.profile-card-head h3{font-size:17px;font-weight:800;color:var(--text-primary);margin:0}.profile-badge-role{padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;background:#087f6a1f;color:var(--accent-teal);border:1px solid rgba(8,127,106,.25)}.profile-header-banner{display:flex;align-items:center;gap:16px;padding:16px;background:var(--background);border:1px solid var(--border);border-radius:16px;min-width:0}.profile-avatar-glowing{width:58px;height:58px;border-radius:50%;background:var(--grad-primary);color:var(--text-on-action);display:grid;place-items:center;font-size:22px;font-weight:800;box-shadow:0 0 16px #087f6a4d;flex-shrink:0}.profile-header-info{min-width:0;overflow:hidden;flex:1}.profile-header-info h3{font-size:16px;font-weight:800;color:var(--text-primary);margin:0;overflow-wrap:anywhere;word-break:break-word}.profile-header-info p{font-size:12px;color:var(--text-muted);margin:3px 0 0;overflow-wrap:anywhere;word-break:break-all}.profile-edit-form{display:flex;flex-direction:column;gap:14px}.profile-form-field{display:flex;flex-direction:column;gap:6px}.profile-form-field label{font-size:12px;font-weight:700;color:var(--text-primary)}.profile-form-field input{padding:10px 14px;border-radius:12px;border:1px solid var(--border);background:var(--background);color:var(--text-primary);font-size:13.5px;outline:none;transition:border-color var(--duration-fast) var(--ease)}.profile-form-field input:focus{border-color:var(--accent-teal)}.profile-settings-list{display:flex;flex-direction:column;gap:12px}.profile-setting-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;background:var(--background);border:1px solid var(--border);border-radius:14px;transition:border-color var(--duration-fast) var(--ease)}.profile-setting-item:hover{border-color:#087f6a40}[data-theme=dark] .profile-setting-item:hover{border-color:#20d6b059}.profile-setting-item.danger-zone{border-color:#d94f6640;background:#d94f660d}.setting-text-col{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.setting-text-col strong{font-size:13.5px;font-weight:700;color:var(--text-primary);overflow-wrap:anywhere;word-break:break-word}.setting-text-col p{font-size:12px;color:var(--text-muted);margin:0;line-height:1.4;overflow-wrap:anywhere;word-break:break-word}@media (max-width: 580px){.profile-setting-item{flex-direction:column;align-items:stretch;gap:12px}.profile-setting-item .dash-btn-secondary,.profile-setting-item .dash-btn-danger,.profile-setting-item button{width:100%;justify-content:center}.profile-setting-item input[type=checkbox],.profile-setting-item .modern-checkbox-switch{align-self:flex-start}}.modern-checkbox-switch{appearance:none;-webkit-appearance:none;width:44px;height:24px;border-radius:999px;background:var(--border);position:relative;cursor:pointer;transition:background-color .25s var(--ease),border-color .25s var(--ease);outline:none;flex-shrink:0;border:1px solid var(--border);display:inline-block;vertical-align:middle}.modern-checkbox-switch:after{content:"";position:absolute;top:2px;inset-inline-start:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #00000040;transition:transform .25s var(--ease)}.modern-checkbox-switch:checked{background:var(--accent-teal);border-color:var(--accent-teal)}.modern-checkbox-switch:checked:after{transform:translate(20px)}[dir=rtl] .modern-checkbox-switch:checked:after{transform:translate(-20px)}.modern-checkbox-switch:focus-visible{box-shadow:0 0 0 3px #087f6a40}[data-theme=dark] .modern-checkbox-switch:focus-visible{box-shadow:0 0 0 3px #20d6b059}.dash-btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 18px;border-radius:12px;background:var(--danger-fill);border:none;color:var(--text-on-action);font-weight:700;font-size:13px;cursor:pointer;box-shadow:0 4px 14px #d94f6659;transition:transform .15s ease,box-shadow .15s ease}.dash-btn-danger:hover{transform:translateY(-1px);box-shadow:0 6px 18px #d94f6673}.dash-btn-danger-outline{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;padding:0 14px;border-radius:10px;background:#d94f6614;border:1px solid rgba(217,79,102,.3);color:var(--accent-danger);font-weight:700;font-size:12.5px;cursor:pointer;transition:all .15s ease}.dash-btn-danger-outline:hover{background:#d94f6629;border-color:var(--accent-danger)}.dash-page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}.dash-page-title{font-size:24px;font-weight:800;color:var(--text-primary);margin:0;line-height:1.2;letter-spacing:-.02em}.dash-page-subtitle{font-size:13px;color:var(--text-muted);margin:4px 0 0;line-height:1.5}.dash-filter-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:22px}.dash-search-box{position:relative;flex:1;min-width:220px;max-width:380px}.dash-search-box input{width:100%;height:38px;border-radius:999px;background:var(--surface);border:1px solid var(--border);color:var(--text-primary);padding-inline-start:38px;padding-inline-end:32px;font-size:13px;box-shadow:var(--shadow-sm);outline:none;transition:border-color var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease)}.dash-search-box input:focus{border-color:var(--accent-teal);box-shadow:0 0 0 3px #087f6a26,var(--shadow-sm)}[data-theme=dark] .dash-search-box input:focus{box-shadow:0 0 0 3px #20d6b033,var(--shadow-sm)}.dash-search-icon{position:absolute;inset-inline-start:14px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.dash-search-clear{position:absolute;inset-inline-end:12px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:11px;display:grid;place-items:center}.dash-search-clear:hover{color:var(--text-primary)}.dash-pill-group{display:inline-flex;align-items:center;gap:3px;padding:3px;background:var(--background-secondary);border:1px solid var(--border);border-radius:999px}.dash-group-pill{padding:6px 14px;border-radius:999px;border:none;background:transparent;color:var(--text-muted);font-size:12px;font-weight:600;cursor:pointer;transition:all var(--duration-fast) var(--ease);white-space:nowrap}.dash-group-pill:hover:not(.active){color:var(--text-primary)}.dash-group-pill.active{background:var(--surface);color:var(--accent-teal);font-weight:700;box-shadow:0 1px 4px #0000001f}.dash-select-filter{height:38px;padding:0 14px;border-radius:999px;background:var(--surface);border:1px solid var(--border);color:var(--text-primary);font-size:12.5px;font-weight:600;cursor:pointer;box-shadow:var(--shadow-sm);outline:none;transition:border-color var(--duration-fast) var(--ease)}.dash-select-filter:focus{border-color:var(--accent-teal)}.dash-view-toggle{display:inline-flex;align-items:center;gap:3px;padding:3px;background:var(--background-secondary);border:1px solid var(--border);border-radius:999px;margin-inline-start:auto}.dash-view-toggle-btn{width:32px;height:32px;border-radius:50%;border:none;background:transparent;color:var(--text-muted);cursor:pointer;display:grid;place-items:center;transition:all var(--duration-fast) var(--ease)}.dash-view-toggle-btn:hover:not(.active){color:var(--text-primary)}.dash-view-toggle-btn.active{background:var(--surface);color:var(--accent-teal);box-shadow:0 1px 4px #0000001f}.dash-pill-badge{display:inline-flex;align-items:center;gap:7px;padding:5px 14px;border-radius:999px;background:#087f6a1a;color:var(--accent-teal);border:1px solid rgba(8,127,106,.22);font-size:11.5px;font-weight:700}[data-theme=dark] .dash-pill-badge{background:#20d6b01f;border-color:#20d6b047;color:var(--accent-teal)}.pulse-indicator{width:7px;height:7px;border-radius:50%;background:var(--accent-teal);box-shadow:0 0 8px var(--accent-teal);animation:pulseGlow 1.8s infinite ease-in-out}@keyframes pulseGlow{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.6}}.dash-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-card)}.dash-table-wrap table{width:100%;border-collapse:collapse;min-width:720px;background:var(--surface)}.dash-table-wrap th{background:var(--background-secondary);color:var(--text-muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:12px 16px;border-bottom:1px solid var(--border);text-align:start}.dash-table-wrap td{padding:12px 16px;border-bottom:1px solid var(--border);font-size:13px;color:var(--text-primary);text-align:start}.dash-table-wrap tr:last-child td{border-bottom:none}.dash-table-wrap tr:hover td{background:var(--surface-hover)}.dash-empty-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:44px 24px;display:flex;justify-content:center;align-items:center;text-align:center;box-shadow:var(--shadow-sm);transition:all var(--duration-fast) var(--ease);width:100%}.dash-empty-content{display:flex;flex-direction:column;align-items:center;max-width:480px}.dash-empty-icon-wrap{width:58px;height:58px;border-radius:18px;background:var(--background);border:1px solid var(--border);color:var(--accent-teal);display:grid;place-items:center;margin-bottom:16px;box-shadow:var(--shadow-sm)}.dash-empty-title{font-size:18px;font-weight:800;color:var(--text-primary);margin:0 0 8px;line-height:1.3}.dash-empty-desc{font-size:13.5px;color:var(--text-muted);line-height:1.6;margin:0}.dash-empty-action{margin-top:20px;display:flex;justify-content:center}.state-card{min-height:140px;display:grid;place-items:center;text-align:center;padding:36px 24px;border:1px solid var(--border)!important;background:var(--surface)!important;border-radius:20px!important;box-shadow:var(--shadow-sm)}.state-card:hover{border-color:var(--border)!important;box-shadow:var(--shadow-sm)!important}.pill{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:0 10px;border-radius:999px;background:var(--background-secondary);color:var(--text-muted);font-size:11.5px;font-weight:700;border:1px solid var(--border)}.pill.good{color:var(--accent-success);background:#168c681a;border-color:#168c6838}.pill.live{color:var(--accent-amber);background:#f2a33a1a;border-color:#f2a33a38}.pill.bad{color:var(--accent-danger);background:#d94f661a;border-color:#d94f6638}[data-theme=dark] .pill.good{color:#36d399;background:#36d39924;border-color:#36d39947}[data-theme=dark] .pill.live{color:#ffb547;background:#ffb54724;border-color:#ffb54747}[data-theme=dark] .pill.bad{color:#ff647c;background:#ff647c24;border-color:#ff647c47}@media (max-width: 768px){.profile-redesign-layout{grid-template-columns:1fr}}@media (max-width: 680px){.dash-page-header{flex-direction:column;align-items:flex-start;gap:12px}.dash-page-header .dash-pill-group{width:100%;overflow-x:auto;padding-bottom:4px}.assignment-card-item,.quiz-card-item{flex-direction:column;align-items:stretch;gap:14px;padding:16px}.assignment-card-actions,.quiz-card-actions{width:100%;justify-content:flex-end;border-top:1px solid var(--border);padding-top:12px}}@media (max-width: 390px){.profile-card-modern{padding:16px;border-radius:16px}.dash-btn-primary,.dash-btn-secondary{height:38px;font-size:12px}}:is(.admin-filter-select,.td-mobile-select,.cb-course-select,.ai-text-input,.ce-fallback-input):focus-visible{outline:2px solid var(--teal);outline-offset:2px}[dir=rtl] .topbar-profile-name,[dir=rtl] .sidebar-user-name{text-align:right}.goals-card-header{flex-wrap:wrap;row-gap:6px;column-gap:8px}.goals-card-header .goals-head-title{flex:1 1 180px;min-width:0}.course-rating-pill{white-space:nowrap;flex-shrink:0}.schedule-head{flex-wrap:wrap;gap:8px}.schedule-add-btn,.schedule-view-all{white-space:nowrap}.dash-pill-group{max-inline-size:100%;overflow-x:auto;scrollbar-width:none}.dash-pill-group::-webkit-scrollbar{display:none}.dash-pill-group>.dash-group-pill{flex-shrink:0}.sched-form-row{grid-template-columns:repeat(2,minmax(0,1fr))}.sched-form-row input,.sched-form-row select{min-inline-size:0;max-inline-size:100%}@media (max-width: 480px){.sched-form-row{grid-template-columns:minmax(0,1fr)}}.checkout-backdrop,.checkout-modal-backdrop{position:fixed;inset:0;z-index:var(--z-dialog);display:flex;align-items:center;justify-content:center;background:var(--dialog-backdrop);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:clamp(12px,2.5vw,24px);animation:checkoutFadeIn .2s ease-out;overflow:hidden;overscroll-behavior:contain}@keyframes checkoutFadeIn{0%{opacity:0}to{opacity:1}}.checkout-modal,.checkout-modal-container{position:relative;width:min(640px,100%);max-height:min(90vh,calc(100dvh - 32px));background:var(--surface);border:1px solid var(--border);border-radius:var(--dialog-radius);box-shadow:var(--dialog-shadow);display:flex;flex-direction:column;overflow:hidden;animation:checkoutSlideUp .25s cubic-bezier(.16,1,.3,1)}@keyframes checkoutSlideUp{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.checkout-header,.checkout-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--border-subtle);background:var(--surface);flex-shrink:0}.checkout-modal>form,.checkout-modal-container>form{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.checkout-body,.checkout-modal-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:20px 24px;display:flex;flex-direction:column;gap:16px}.checkout-footer,.checkout-modal-footer,.checkout-modal>form>.checkout-footer,.checkout-modal>form>.checkout-modal-footer{padding:14px 24px;border-top:1px solid var(--border-subtle);background:var(--surface);display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-shrink:0;margin-top:auto}.checkout-badge{display:inline-block;background:#087f6a1f;color:var(--accent-teal);font-size:11px;font-weight:700;padding:3px 10px;border-radius:9999px;margin-bottom:6px;letter-spacing:.3px}.checkout-course-title{margin:0;font-size:18px;font-weight:700;color:var(--text-primary);line-height:1.4}.checkout-close-btn{background:var(--background-secondary, #ECE9E2);border:none;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .2s ease;flex-shrink:0}.checkout-close-btn:hover{background:var(--border);color:var(--text-primary)}.checkout-body{padding:24px;display:flex;flex-direction:column;gap:20px}.checkout-price-summary{display:flex;justify-content:space-between;align-items:center;background:#087f6a0f;border:1px solid rgba(8,127,106,.16);border-radius:14px;padding:16px 20px}.checkout-price-label{font-size:14px;color:var(--text-secondary);font-weight:600}.checkout-price-val{font-size:24px;font-weight:800;color:var(--accent-teal)}.checkout-price-val small{font-size:14px;font-weight:600;margin-inline-start:4px}.checkout-field-label{font-size:13px;font-weight:700;color:var(--text-primary);margin-bottom:-10px}.checkout-methods-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.checkout-method-card{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--surface);border:1.5px solid var(--border);border-radius:12px;cursor:pointer;text-align:start;transition:all .2s ease}.checkout-method-card:hover{border-color:var(--accent-teal);background:var(--surface-hover)}.checkout-method-card.active{border-color:var(--accent-teal);background:#087f6a14;box-shadow:0 0 0 1px var(--accent-teal)}.checkout-method-card .method-icon{font-size:22px;display:flex;align-items:center;justify-content:center}.checkout-method-card .method-info{display:flex;flex-direction:column}.checkout-method-card .method-info strong{font-size:14px;color:var(--text-primary)}.checkout-method-card .method-info small{font-size:12px;color:var(--text-muted)}.checkout-transfer-box{background:var(--background-secondary, #ECE9E2);border:1px solid var(--border);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:16px}.transfer-box-title{margin:0;font-size:14px;font-weight:700;color:var(--text-primary)}.transfer-accounts-list{display:flex;flex-direction:column;gap:10px;background:var(--surface);border-radius:12px;padding:14px;border:1px solid var(--border-subtle)}.transfer-item{display:flex;flex-direction:column;gap:4px}.transfer-label{font-size:12px;color:var(--text-muted);font-weight:600}.transfer-value-row{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--background);padding:6px 10px;border-radius:8px;border:1px dashed var(--border)}.transfer-val{font-family:ui-monospace,monospace;font-size:15px;font-weight:700;color:var(--accent-teal);letter-spacing:.5px}.copy-btn{background:#087f6a1f;color:var(--accent-teal);border:none;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.copy-btn:hover{background:var(--action);color:var(--text-on-action)}.transfer-text{font-size:14px;font-weight:600;color:var(--text-primary)}.transfer-instructions{background:#f2a33a1a;border-inline-start:3px solid var(--accent-amber);padding:10px 12px;border-radius:6px;font-size:13px;color:var(--text-secondary)}.instructions-title{display:block;font-weight:700;color:var(--accent-amber);margin-bottom:2px}.transfer-form{display:flex;flex-direction:column;gap:14px}.checkout-form-group{display:flex;flex-direction:column;gap:6px}.checkout-input-label{font-size:13px;font-weight:600;color:var(--text-primary)}.checkout-text-input,.checkout-textarea{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text-primary);font-size:14px;transition:border-color .2s ease}.checkout-text-input:focus,.checkout-textarea:focus{outline:none;border-color:var(--accent-teal)}.checkout-file-input{font-size:13px;color:var(--text-secondary)}.checkout-hint{font-size:11px;color:var(--text-muted)}.checkout-gateway-box{background:var(--background-secondary, #ECE9E2);border:1px solid var(--border);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:16px}.gateway-notice{margin:0;font-size:13px;color:var(--text-secondary);line-height:1.5}.checkout-btn-primary{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:13px 20px;background:var(--action);color:var(--text-on-action);border:none;border-radius:12px;font-size:15px;font-weight:700;cursor:pointer;transition:background .2s ease,transform .1s ease;text-decoration:none}.checkout-btn-primary:hover:not(:disabled){opacity:.92;transform:translateY(-1px)}.checkout-btn-primary:disabled{opacity:.5;cursor:not-allowed}.checkout-btn-secondary{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;background:transparent;color:var(--text-secondary);border:1px solid var(--border);border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.checkout-btn-secondary:hover{background:var(--surface-hover);color:var(--text-primary)}.checkout-loading{padding:48px 24px;display:flex;flex-direction:column;align-items:center;gap:14px;color:var(--text-muted)}.checkout-spinner{width:32px;height:32px;border:3px solid rgba(8,127,106,.2);border-top-color:var(--accent-teal);border-radius:50%;animation:checkoutSpin .7s linear infinite}@keyframes checkoutSpin{to{transform:rotate(360deg)}}.checkout-free-view{padding:24px;display:flex;flex-direction:column;gap:16px;align-items:center;text-align:center}.checkout-price-tag.free{display:inline-flex;align-items:center;gap:8px;background:#168c681f;color:var(--accent-success);padding:10px 20px;border-radius:9999px;font-size:16px}.checkout-price-tag.free strong{font-size:20px}.checkout-free-text{font-size:14px;color:var(--text-secondary);max-width:440px;margin:0;line-height:1.5}.checkout-success-view{padding:36px 24px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px}.checkout-success-icon{width:56px;height:56px;background:#168c6824;color:var(--accent-success);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:800}.checkout-success-view h4{margin:0;font-size:19px;font-weight:800;color:var(--text-primary)}.checkout-order-info{margin:0;font-size:14px;color:var(--text-secondary);background:var(--background-secondary, #ECE9E2);padding:6px 14px;border-radius:8px}.checkout-success-desc{margin:0;font-size:14px;color:var(--text-secondary);max-width:460px;line-height:1.5}.checkout-success-actions{display:flex;gap:10px;width:100%;max-width:360px;margin-top:10px}.course-price-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:9999px;font-size:12px;font-weight:700;letter-spacing:.3px}.course-price-badge.paid{background:#087f6a1f;color:var(--accent-teal);border:1px solid rgba(8,127,106,.25)}.course-price-badge.free{background:#168c681f;color:var(--accent-success);border:1px solid rgba(22,140,104,.25)}.checkout-fawry-box{background:var(--surface);border:1.5px solid var(--border);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:16px;animation:checkoutFadeIn .2s ease-out}.checkout-fawry-badge{display:inline-flex;align-items:center;gap:6px;background:#f59e0b1f;color:var(--accent-amber);font-size:12px;font-weight:700;padding:4px 12px;border-radius:9999px;width:fit-content}.fawry-code-display{display:flex;flex-direction:column;align-items:center;gap:10px;background:var(--background-secondary, #ECE9E2);border:2px dashed rgba(8,127,106,.3);border-radius:14px;padding:20px;text-align:center}.fawry-code-label{font-size:12px;font-weight:700;color:var(--text-muted);letter-spacing:.5px}.fawry-code-digits{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:32px;font-weight:900;letter-spacing:4px;color:var(--accent-teal);user-select:all}.fawry-expiry-tag{font-size:12px;color:var(--text-secondary);font-weight:600}.fawry-steps-list{display:flex;flex-direction:column;gap:10px;background:#087f6a0a;border:1px solid rgba(8,127,106,.12);border-radius:12px;padding:16px;font-size:13px;color:var(--text-secondary);line-height:1.5}.fawry-steps-list strong{color:var(--text-primary)}.fawry-step-item{display:flex;align-items:flex-start;gap:8px}.fawry-step-num{background:var(--action);color:var(--text-on-action);width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;flex-shrink:0;margin-top:1px}.checkout-platform-notice{display:flex;align-items:center;gap:8px;background:#087f6a14;border:1px solid rgba(8,127,106,.2);border-radius:8px;padding:8px 12px;font-size:12px;color:var(--accent-teal);font-weight:600;margin-bottom:4px}.ac-panel{display:flex;flex-direction:column;gap:18px}.ac-intro h4,.ac-list-head h4{margin:0 0 6px;font-size:1.05rem;font-weight:700;color:var(--ink)}.ac-intro p{margin:0;color:var(--muted);font-size:var(--text-sm);line-height:1.6}.ac-cap{display:inline-flex;align-items:center;gap:6px;margin-top:8px!important;color:var(--ink)!important;font-weight:600}.ac-cap-edit{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:12px}.ac-cap-edit .field{min-width:200px;margin:0}.ac-muted{color:var(--muted);font-size:var(--text-xs)}.ac-note{padding:12px 14px;border-radius:var(--radius);border:1px dashed var(--border);background:var(--surface-2);color:var(--muted);font-size:var(--text-sm)}.ac-form{display:flex;flex-direction:column;gap:14px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg)}.ac-form>.btn{align-self:flex-start}.ac-mode{display:flex;flex-wrap:wrap;gap:8px 20px}.ac-mode label{display:inline-flex;align-items:center;gap:8px;font-weight:600;cursor:pointer;min-height:var(--control-touch, 44px)}.ac-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.ac-grid .field.wide{grid-column:1 / -1}.ac-result{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:var(--radius-lg);border:1px solid var(--teal);background:#087f6a0f}.ac-once{display:flex;align-items:center;gap:8px;margin:0;font-weight:700;color:var(--ink)}.ac-result-actions{display:flex;flex-wrap:wrap;gap:8px}.ac-codes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px 14px;max-height:280px;overflow:auto}.ac-codes li{display:flex;flex-direction:column;gap:2px}.ac-codes code,.ac-table code,.redeem-card .field input.redeem-input{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.06em}.ac-codes code{font-size:.95rem;font-weight:700;color:var(--ink);user-select:all}.ac-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.ac-list-head h4{margin:0}.ac-list-head select{min-width:150px}.ac-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius)}.ac-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.ac-table th,.ac-table td{padding:10px 12px;text-align:start;border-bottom:1px solid var(--border);vertical-align:middle}.ac-table th{font-size:var(--text-xs);color:var(--muted);font-weight:700;background:var(--surface-2)}.ac-table tbody tr:last-child td{border-bottom:0}.ac-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.ac-redemptions td{background:var(--surface-2)}.ac-redemptions ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.ac-state-active{color:var(--green);background:#16a34a1a}.ac-state-disabled{color:var(--danger);background:#dc262612}.ac-state-expired,.ac-state-exhausted{color:var(--muted);background:var(--surface-2)}.redeem-card{max-width:520px;padding:24px;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface-card, var(--surface));box-shadow:var(--shadow-sm)}.redeem-card form{display:flex;flex-direction:column;gap:14px}.redeem-card form>.btn{align-self:flex-start}.redeem-card .field input.redeem-input{font-size:1.25rem;text-align:center;text-transform:uppercase}.redeem-error{margin:0;color:var(--danger);font-size:var(--text-sm);display:flex;flex-wrap:wrap;align-items:center;gap:8px}.redeem-success{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}.redeem-success>svg{width:40px;height:40px;color:var(--green)}.redeem-success h2{margin:0;font-size:1.25rem}.redeem-success p{margin:0;color:var(--muted)}.redeem-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:8px}.checkout-code-link{margin:0 0 12px;padding:10px 14px;border-radius:var(--radius);background:var(--surface-2);font-size:var(--text-sm);color:var(--muted)}.checkout-code-link a{color:var(--teal);font-weight:700}.course-code-pill{color:var(--teal);background:#087f6a1f}@media (max-width: 600px){.ac-form,.ac-result,.redeem-card{padding:14px}.ac-actions{justify-content:flex-start}}.ac-note-steps{display:flex;flex-direction:column;gap:6px;color:var(--text);line-height:1.6}.ac-note-steps p{margin:0}.ac-note-steps .ac-note-title{font-weight:700;color:var(--ink)}.ac-note-steps ol{margin:0;padding-inline-start:1.4em;display:flex;flex-direction:column;gap:4px}.ac-note-steps a{color:var(--action);font-weight:600;text-decoration:underline}.acm{display:flex;flex-direction:column;gap:22px}.acm section{display:flex;flex-direction:column;gap:12px}.acm-batch-table th[scope=row]{font-size:var(--text-sm);color:var(--ink);background:none;text-transform:none;letter-spacing:normal;text-align:start;min-width:150px}.acm-batch-name{display:block;font-weight:700}.acm-batch-table th[scope=row] .ac-muted{display:block;margin-top:2px;font-weight:400}.acm .ac-table code{white-space:nowrap}.acm .ac-actions{flex-wrap:nowrap}.acm-row-current td,.acm-row-current th{background:#087f6a0f}.acm-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px 12px;align-items:end}.acm-filters .field{margin:0;min-width:0}.acm-filters .field select,.acm-filters .field input{width:100%}.acm-reset{align-self:end;justify-self:start}.acm-counts{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.acm-counts li{padding:4px 10px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);font-size:var(--text-xs);color:var(--muted)}.acm-counts strong{color:var(--ink);margin-inline-end:4px;font-variant-numeric:tabular-nums}.acm-rule{display:flex;align-items:flex-start;gap:8px;margin:0;padding:10px 12px;border-radius:var(--radius);background:var(--surface-2);color:var(--text);font-size:var(--text-sm);line-height:1.6}.acm-rule svg{flex:none;margin-top:3px;color:var(--teal)}.acm-bulkbar{position:sticky;top:0;z-index:2;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--action);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm)}.acm-bulk-count{font-weight:700;color:var(--ink);margin-inline-end:auto}.acm-danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,var(--border))}.acm-select-all{margin:0;font-size:var(--text-sm);color:var(--text)}.acm-select-all .btn-link{background:none;border:0;padding:0;color:var(--action);font-weight:700;text-decoration:underline;cursor:pointer;font:inherit}.acm-check{width:44px;text-align:center!important}.acm-check input{width:18px;height:18px;cursor:pointer}.acm-row-selected td{background:#087f6a0d}.acm-kept{display:inline-flex;align-items:center;justify-content:center;min-width:32px;color:var(--muted)}.acm-pager{display:flex;align-items:center;justify-content:center;gap:12px;font-size:var(--text-sm)}.admin-access-codes .admin-page-intro{margin:0 0 16px;color:var(--muted);font-size:var(--text-sm);line-height:1.6;max-width:80ch}.ac-table-wrap{position:relative}.acm-actions-cell{vertical-align:middle}.redeem-pending-note{display:flex;align-items:flex-start;gap:8px;margin:4px 0 0;padding:10px 12px;border-radius:var(--radius);background:color-mix(in srgb,var(--warning, #b45309) 10%,var(--surface));color:var(--text);font-size:var(--text-sm);line-height:1.6;text-align:start}.redeem-pending-note svg{flex:none;margin-top:3px;color:var(--warning, #b45309)}.order-code-access{display:inline-flex;align-items:center;gap:4px;margin-top:4px;color:var(--warning, #b45309);background:color-mix(in srgb,var(--warning, #b45309) 10%,transparent);font-size:.75rem}.video-hosting-note,.video-hosting-status{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);color:var(--ink);font-size:var(--text-sm);line-height:1.5}.video-hosting-note{border-style:dashed;color:var(--muted)}.video-hosting-status.processing{border-color:var(--teal);background:#087f6a0f}.video-hosting-status.failed{border-color:var(--danger);color:var(--danger);background:#dc26260d}.learn-watched{display:inline-flex;align-items:center;padding:0 10px;min-height:28px;border-radius:var(--radius-pill);background:#087f6a1a;color:var(--teal);font-size:var(--text-xs);font-weight:700;white-space:nowrap}.att-panel{display:flex;flex-direction:column;gap:16px}.att-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px}.att-head h4{margin:0 0 4px;font-size:1.05rem;font-weight:700;color:var(--ink)}.att-head p{margin:0;max-width:60ch}.att-threshold{min-width:160px;margin:0}.att-muted{color:var(--muted);font-size:var(--text-xs);line-height:1.5}.att-note{padding:12px 14px;border-radius:var(--radius);border:1px dashed var(--border);background:var(--surface-2);color:var(--muted);font-size:var(--text-sm)}.att-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}.att-search{display:flex;gap:8px;flex:1;min-width:220px;max-width:420px}.att-search input{flex:1;min-width:0}.att-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius)}.att-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.att-table caption{caption-side:top;text-align:start;padding:10px 12px;font-weight:700;color:var(--ink)}.att-table th,.att-table td{padding:9px 12px;text-align:start;border-bottom:1px solid var(--border);vertical-align:middle;white-space:nowrap}.att-table thead th{font-size:var(--text-xs);color:var(--muted);font-weight:700;background:var(--surface-2)}.att-table tbody tr:last-child th,.att-table tbody tr:last-child td{border-bottom:0}.att-table tbody th{font-weight:600;color:var(--ink)}.att-matrix tbody th{position:sticky;inset-inline-start:0;background:var(--surface-card, var(--surface));z-index:1}.att-yes{color:var(--green);font-weight:600}.att-partial{color:var(--ink)}.att-none{color:var(--muted)}.att-bar{display:inline-block;width:60px;height:6px;margin-inline-end:8px;border-radius:3px;background:var(--surface-2);overflow:hidden;vertical-align:middle}.att-bar>span{display:block;height:100%;background:var(--teal)}.att-pager{display:flex;align-items:center;justify-content:center;gap:12px;font-size:var(--text-sm)}.att-override{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg)}.att-override h5{margin:0;font-size:.95rem;color:var(--ink)}.att-override p{margin:0}.att-override-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.att-override-grid .field{margin:0}.att-override>.btn{align-self:flex-start}.att-table-wrap:focus-visible,.ac-table-wrap:focus-visible{outline:var(--focus-ring-width, 2px) solid var(--focus-ring-color, var(--teal));outline-offset:2px}.ai-fab{transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s ease,border-color .2s ease,background .2s ease,opacity .2s ease,visibility .2s}:root[data-inline-ai=on-page] .ai-fab[aria-expanded=false]{opacity:0;visibility:hidden;pointer-events:none;transform:scale(.85)}@media (prefers-reduced-motion: reduce){.ai-fab{transition:none}}.main{padding-bottom:94px}@media (max-width: 900px){.main{padding-bottom:calc(88px + env(safe-area-inset-bottom,16px))}}@media (max-width: 768px){.main{padding-bottom:calc(142px + env(safe-area-inset-bottom,0px))}}.chart-ring{position:relative;display:grid;place-items:center;flex-shrink:0}.chart-ring svg{display:block;grid-area:1 / 1}.chart-ring-text{grid-area:1 / 1;display:grid;justify-items:center;gap:2px;max-width:calc(var(--ring-size, 100px) - 18px);text-align:center;pointer-events:none;line-height:1}.chart-ring-text strong{font-size:clamp(13px,calc(var(--ring-size, 100px) * .2),30px);font-weight:800;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate}.chart-ring-text span{font-size:clamp(9px,calc(var(--ring-size, 100px) * .075),12px);font-weight:600;color:var(--muted);line-height:1.2}.metric{justify-content:flex-start}.td-stat-card>.td-stat-info,.admin-stat-card>.admin-stat-info{align-self:stretch;display:flex;flex-direction:column;justify-content:flex-start}.admin-stat-label{display:flex;align-items:flex-end;min-height:2.6em;line-height:1.3}@media (max-width: 600px){.weekly-summary-totals>.metric>span:first-child,.grid.cols-4>.metric>span:first-child{display:flex;align-items:flex-end;min-height:2.7em;line-height:1.35}}.my-attendance{margin-top:var(--space-4)}.my-attendance-intro{margin:0 0 var(--space-3);color:var(--muted);font-size:var(--text-sm);line-height:1.6}.my-attendance-courses{display:grid;gap:var(--space-2)}.my-attendance-course{padding:var(--space-3)}.my-attendance-course header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.my-attendance-course h3{margin:0;font-size:var(--text-base, 15px);color:var(--ink)}.my-attendance-course ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.my-attendance-course li{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:var(--text-sm);color:var(--green)}.my-attendance-course li .link-btn{color:var(--ink);font-weight:600;background:none;border:0;padding:0;cursor:pointer;text-align:start;min-height:0}.my-attendance-course li .link-btn:hover{text-decoration:underline}.my-attendance-course li .att-muted{margin-inline-start:auto}.att-table tbody th{text-transform:none;letter-spacing:normal;font-size:var(--text-sm)}.admin-table-wrap{position:relative}@media (max-width: 1024px){:is(.admin-table-wrap,.ac-table-wrap)[data-scrollable][data-more-end]:before{content:"Swipe sideways to see more columns →";position:sticky;inset-inline-start:0;display:block;width:100%;box-sizing:border-box;padding:6px 12px;font-size:var(--text-xs);font-weight:600;line-height:1.4;color:var(--muted);background:var(--surface-2);border-bottom:1px solid var(--border);white-space:normal}[dir=rtl] :is(.admin-table-wrap,.ac-table-wrap)[data-scrollable][data-more-end]:before{content:"اسحب جانبيًا لعرض باقي الأعمدة ←"}}:is(.btn,.btn-primary,.btn-outline,.dash-btn-primary,.dash-btn-secondary,.dash-btn-ghost,.dash-btn-danger-outline,.checkout-btn-primary,.checkout-btn-secondary,.ce-btn):not(.ui-unstyled){display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--control-h);height:auto;padding-block:0;padding-inline:16px;border-radius:var(--control-radius);font-family:inherit;font-size:var(--control-font);font-weight:600;line-height:1.2;white-space:nowrap;cursor:pointer}:is(.btn.primary,.btn-primary,.dash-btn-primary,.checkout-btn-primary,.ce-btn-primary){background:var(--action);border:1px solid var(--action);color:var(--text-on-action)}:is(.btn.primary,.btn-primary,.dash-btn-primary,.checkout-btn-primary,.ce-btn-primary):hover:not(:disabled){background:var(--action-hover);border-color:var(--action-hover);color:var(--text-on-action)}:is(.btn.secondary,.btn.outline,.btn-outline,.dash-btn-secondary,.checkout-btn-secondary){background:var(--surface);border:1px solid var(--border);color:var(--text-primary)}:is(.btn.secondary,.btn.outline,.btn-outline,.dash-btn-secondary,.checkout-btn-secondary):hover:not(:disabled){background:var(--surface-hover);border-color:var(--border);color:var(--text-primary)}:is(.btn.subtle,.btn.ghost,.dash-btn-ghost){background:transparent;border:1px solid transparent;box-shadow:none;color:var(--text-primary)}:is(.btn.subtle,.btn.ghost,.dash-btn-ghost):hover:not(:disabled){background:var(--surface-hover)}:is(.btn.danger,.dash-btn-danger-outline){background:transparent;border:1px solid var(--accent-danger);color:var(--accent-danger)}:is(.btn.danger,.dash-btn-danger-outline):hover:not(:disabled){background:var(--danger-fill);border-color:var(--danger-fill);color:var(--text-on-action)}:is(.btn.sm,.btn-sm):not(.ui-unstyled){min-height:var(--control-h-sm);height:auto;padding-inline:12px;font-size:var(--control-font-sm);gap:6px}:is(.btn,.btn-primary,.btn-outline,.dash-btn-primary,.dash-btn-secondary,.dash-btn-ghost,.checkout-btn-primary,.checkout-btn-secondary,.ce-btn):disabled,:is(.btn,.btn-primary,.btn-outline,.dash-btn-primary,.dash-btn-secondary,.checkout-btn-primary,.checkout-btn-secondary,.ce-btn)[aria-disabled=true]{opacity:.55;cursor:not-allowed;transform:none}.btn[aria-busy=true]{cursor:progress}.btn-spinner{inline-size:14px;block-size:14px;border:2px solid currentColor;border-inline-end-color:transparent;border-radius:50%;animation:btnSpin .7s linear infinite;flex-shrink:0}@keyframes btnSpin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.btn-spinner{animation-duration:2s}}:is(.btn-icon,.icon-btn,.learn-modal-close,.checkout-close-btn,.sched-modal-close):not(.ui-unstyled){display:inline-grid;place-items:center;min-inline-size:36px;min-block-size:36px;padding:0;border-radius:var(--control-radius);line-height:1;cursor:pointer}:is(.field input,.field select,.field textarea,.checkout-text-input,.checkout-textarea,.learn-modal-input,.learn-modal-textarea,.dash-input,.dash-select,.dash-select-filter,.admin-filter-select,.admin-role-select,.admin-course-selector,.admin-search-input,.catalog-filter-select,.catalog-filter-text-input,.cb-course-select,.td-mobile-select,.input):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not(.ui-unstyled){box-sizing:border-box;min-height:var(--control-h-lg);padding-block:10px;padding-inline:12px;border:1px solid var(--border);border-radius:var(--control-radius);background-color:var(--surface);color:var(--text-primary);font-family:inherit;font-size:var(--text-base);line-height:1.4}:is(.field textarea,.checkout-textarea,.learn-modal-textarea){min-height:96px;resize:vertical}:is(.field input,.field select,.field textarea,.checkout-text-input,.checkout-textarea,.learn-modal-input,.learn-modal-textarea,.dash-input,.dash-select,.dash-select-filter,.admin-filter-select,.admin-role-select,.admin-course-selector,.admin-search-input,.catalog-filter-select,.catalog-filter-text-input,.cb-course-select,.td-mobile-select,.input)::placeholder{color:var(--text-muted);opacity:1}:is(.field input,.field select,.field textarea,.checkout-text-input,.checkout-textarea,.learn-modal-input,.learn-modal-textarea,.dash-input,.dash-select,.dash-select-filter,.admin-filter-select,.admin-role-select,.admin-course-selector,.admin-search-input,.catalog-filter-select,.catalog-filter-text-input,.cb-course-select,.td-mobile-select,.input):focus{border-color:var(--action);box-shadow:0 0 0 3px var(--teal-light);outline:none}:is(.field input,.field select,.field textarea,.checkout-text-input,.checkout-textarea,.learn-modal-input,.learn-modal-textarea,.dash-input,.dash-select,.dash-select-filter,.admin-filter-select,.admin-role-select,.admin-course-selector,.admin-search-input,.catalog-filter-select,.catalog-filter-text-input,.cb-course-select,.td-mobile-select,.input):focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}:is(input,select,textarea)[aria-invalid=true]{border-color:var(--accent-danger)}:is(input,select,textarea)[aria-invalid=true]:focus{border-color:var(--accent-danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-danger) 18%,transparent)}:is(.field input,.field select,.field textarea,.checkout-text-input,.checkout-textarea,.learn-modal-input,.learn-modal-textarea,.dash-input,.dash-select,.admin-filter-select,.catalog-filter-select):disabled{background-color:var(--surface-hover);color:var(--text-muted);cursor:not-allowed}:is(.field select,select.checkout-text-input,select.learn-modal-input,.dash-select,.dash-select-filter,.admin-filter-select,.admin-role-select,.admin-course-selector,.catalog-filter-select,.cb-course-select,.td-mobile-select,select.input){appearance:none;-webkit-appearance:none;background-image:var(--control-select-chevron);background-repeat:no-repeat;background-position:right 12px center;background-size:12px 12px;padding-inline-end:36px;cursor:pointer}[dir=rtl] :is(.field select,select.checkout-text-input,select.learn-modal-input,.dash-select,.dash-select-filter,.admin-filter-select,.admin-role-select,.admin-course-selector,.catalog-filter-select,.cb-course-select,.td-mobile-select,select.input){background-position:left 12px center}.ui-field{display:grid;gap:6px;min-width:0}.field-label-text{color:var(--text-secondary);font-size:var(--text-sm);font-weight:600}.field-required-mark{color:var(--accent-danger);margin-inline-start:3px}.field-hint{margin:0;color:var(--text-muted);font-size:.78rem;line-height:1.5}.field-error{margin:0;color:var(--accent-danger);font-size:.8rem;font-weight:600;line-height:1.5}.form-error-summary{margin:0 0 12px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--accent-danger) 35%,transparent);border-radius:var(--control-radius);background:color-mix(in srgb,var(--accent-danger) 8%,var(--surface));color:var(--text-primary);font-size:var(--text-sm);line-height:1.6}.form-error-summary ul{margin:4px 0 0;padding-inline-start:18px}.form-error-link{padding:0;border:0;background:none;color:var(--accent-danger);font:inherit;text-align:start;text-decoration:underline;cursor:pointer}@media (pointer: coarse){:is(.btn,.btn-primary,.btn-outline,.btn.sm,.btn-sm,.dash-btn-primary,.dash-btn-secondary,.dash-btn-ghost,.dash-btn-danger-outline,.checkout-btn-primary,.checkout-btn-secondary,.ce-btn,.course-action-btn,.auth-link-btn,.copy-btn,.catalog-cat-pill,.dash-group-pill,.tab-pill,.td-tab-pill,.learn-tab-pill,.mycourses-tab-btn,.dash-section-link,.topbar-search-wrap input):not(.ui-unstyled){min-height:var(--control-touch)}:is(.btn-icon,.icon-btn,.learn-modal-close,.checkout-close-btn,.sched-modal-close,.course-circle-btn,.password-toggle-btn,.event-icon-btn,.event-action-btn,.schedule-nav-btn,.topbar-icon-action,.topbar-lang-pill,.theme-switch-toggle):not(.ui-unstyled){min-inline-size:var(--control-touch);min-block-size:var(--control-touch)}}.ui-menu{position:relative;display:inline-flex;min-width:0}.ui-menu-list{position:fixed;z-index:1200;min-inline-size:200px;max-inline-size:calc(100vw - 16px);padding:6px;display:grid;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 16px 40px -12px #00000059,0 0 0 1px var(--border-subtle);animation:uiMenuIn .12s var(--ease)}@keyframes uiMenuIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.ui-menu-list{animation:none}}.ui-menu-item{display:flex;align-items:center;gap:10px;inline-size:100%;min-height:var(--control-h);padding-inline:10px;border:0;border-radius:8px;background:transparent;color:var(--text-primary);font:inherit;font-size:var(--text-sm);font-weight:600;text-align:start;cursor:pointer}.ui-menu-item:hover,.ui-menu-item:focus-visible{background:var(--surface-hover)}.ui-menu-item:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:-2px}.ui-menu-item-icon{display:inline-grid;place-items:center;color:var(--text-muted)}.ui-menu-item-label{flex:1}.ui-menu-item-check{color:var(--action)}.ui-menu-item--danger,.ui-menu-item--danger .ui-menu-item-icon{color:var(--accent-danger)}@media (pointer: coarse){.ui-menu-item{min-height:var(--control-touch)}}button.topbar-profile-pill{font:inherit;color:inherit;text-align:start}@media (pointer: coarse){.topbar-profile-pill:not(.ui-unstyled){min-height:var(--control-touch)}}.confirm-dialog-backdrop{z-index:var(--z-dialog-top)}.confirm-dialog{max-width:420px;padding:22px;display:grid;gap:10px}.confirm-dialog-title{margin:0;font-size:1.05rem;font-weight:800;color:var(--text-primary)}.confirm-dialog-message{margin:0;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.6}.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px;flex-wrap:wrap}.ui-tabrail{--tabrail-fade: 32px;scroll-padding-inline:var(--tabrail-fade)}.ui-tabrail[data-fade-right]:not([data-fade-left]){mask-image:linear-gradient(to right,#000 calc(100% - var(--tabrail-fade)),transparent);-webkit-mask-image:linear-gradient(to right,#000 calc(100% - var(--tabrail-fade)),transparent)}.ui-tabrail[data-fade-left]:not([data-fade-right]){mask-image:linear-gradient(to left,#000 calc(100% - var(--tabrail-fade)),transparent);-webkit-mask-image:linear-gradient(to left,#000 calc(100% - var(--tabrail-fade)),transparent)}.ui-tabrail[data-fade-left][data-fade-right]{mask-image:linear-gradient(to right,transparent,#000 var(--tabrail-fade),#000 calc(100% - var(--tabrail-fade)),transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 var(--tabrail-fade),#000 calc(100% - var(--tabrail-fade)),transparent)}[role=tabpanel]:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:4px;border-radius:var(--control-radius)}.ui-datatable .col-sticky{position:sticky;z-index:1;background:var(--surface)}.ui-datatable th.col-sticky{background:var(--background-secondary)}.ui-datatable .col-sticky-1{inset-inline-start:0;box-sizing:border-box;inline-size:52px;min-inline-size:52px;padding-inline:16px 8px}.ui-datatable .col-sticky-2{inset-inline-start:52px;border-inline-end:1px solid var(--border)}.ui-datatable .admin-action-btns{display:inline-flex;align-items:center;gap:4px}@media (max-width: 1199px){.ui-datatable .col-low{display:none}}@media (max-width: 639px){.ui-datatable{overflow:visible;border:0;background:transparent;box-shadow:none}.ui-datatable .ui-datatable-table,.ui-datatable .ui-datatable-table tbody,.ui-datatable .ui-datatable-table tr{display:block;inline-size:100%;min-width:0;background:transparent}.ui-datatable .ui-datatable-table thead{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.ui-datatable .ui-datatable-table tr{position:relative;margin-block-end:12px;padding:10px 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.ui-datatable .ui-datatable-table td,.ui-datatable .ui-datatable-table td.col-low{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0;border:0;background:transparent;text-align:start;min-width:0!important}.ui-datatable .ui-datatable-table td[data-label]:before{content:attr(data-label);color:var(--text-muted);font-size:11px;font-weight:700}.ui-datatable .col-sticky{position:static;inline-size:auto;min-inline-size:0;padding-inline:0;border-inline-end:0}.ui-datatable .ui-datatable-table td.col-sticky-1{position:absolute;inset-block-start:12px;inset-inline-end:14px;padding:0}.ui-datatable .ui-datatable-table td.col-primary{padding-inline-end:32px}}:is(.admin-stat-card,.td-stat-card,.dash-metric-card,.mycourses-stat-card,.gam-stat-card,.stat-card){border-radius:var(--tile-radius);padding:var(--tile-padding);border:1px solid var(--border);box-shadow:var(--shadow-sm)}:is(.admin-stat-value,.td-stat-value,.dash-metric-card .metric-number,.mycourses-stat-val,.gam-stat-card>strong){font-size:var(--tile-value-size);font-weight:800;line-height:1.15;font-variant-numeric:tabular-nums}:is(.admin-stat-label,.td-stat-label,.dash-metric-card .metric-label,.mycourses-stat-label,.gam-stat-card>strong+span){font-size:var(--tile-label-size);font-weight:600;color:var(--text-muted)}.dash-course-card{border-radius:var(--card-radius)}.ui-state{display:flex;align-items:center;justify-content:center;gap:12px;padding:32px 20px;border-radius:var(--tile-radius);text-align:center;color:var(--text-secondary);flex-wrap:wrap}.ui-state--error{flex-direction:column;border:1px solid color-mix(in srgb,var(--accent-danger) 30%,var(--border));background:color-mix(in srgb,var(--accent-danger) 6%,var(--surface))}.ui-state--error .ui-state-icon{color:var(--accent-danger)}.ui-state-body{display:grid;gap:4px}.ui-state-title{color:var(--text-primary);font-size:var(--text-base)}.ui-state-text{font-size:var(--text-sm)}.ui-state--partial{flex-direction:row;justify-content:flex-start;padding:10px 14px;margin-block-end:16px;text-align:start}.ui-state--partial .ui-state-body{flex:1}.ui-state--partial .ui-state-title{font-size:var(--text-sm);font-weight:600}@media (prefers-reduced-motion: reduce){.sk-line,.sk-card{animation:none}}.toast-container{display:flex;flex-direction:column;gap:0}.toast-region{display:grid;gap:var(--space-2)}.toast-region:not(:empty)+.toast-region:not(:empty){margin-block-start:var(--space-2)}.dir-arrow{display:inline-block}[dir=rtl] .dir-arrow{transform:scaleX(-1)}:is(.dash-page-title,.unified-page-title,.gam-header-info h1,.section-head h1,.td-header h1,.cb-title-area h1){font-size:var(--page-title-size);font-weight:800;line-height:1.25}:is(.dash-section-title,.goals-head-title h2,.analytics-header h2,.schedule-head h2,.ai-sparkle-title h2,.profile-card-head h2,.panel-head h2,.progress-section-title){font-size:var(--section-title-size);font-weight:800;line-height:1.35}.learn-lesson-meta-actions{flex-wrap:wrap;min-width:0}@media (max-width: 480px){.learn-lesson-meta-actions>*{flex:1 1 auto}}@media (max-width: 600px){.topbar{position:relative}}h2.ui-section-title{font-size:var(--section-title-size);font-weight:800;line-height:1.35}h2.ui-card-title{margin:0;font-size:1.05rem;font-weight:700;line-height:1.4}button.admin-notif-badge,button.ai-robot-floater,.cb-row-select{appearance:none;border:0;background:transparent;color:inherit;font:inherit;padding:0;margin:0;cursor:pointer}button.admin-notif-badge{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;color:var(--muted)}button.admin-notif-badge:hover{color:var(--ink)}.cb-row-select{display:flex;align-items:center;gap:6px;flex:1;min-width:0;overflow:hidden;text-align:start;font-weight:inherit}.cb-chapter-head>.cb-row-select{font-weight:700}.admin-notif-item[role=button]:focus-visible,.schedule-event-item[role=button]:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.quiz-option-row>.field-error{flex-basis:100%}@media (max-width: 600px){.ai-quick-prompts{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;padding-inline:16px;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 16px,#000 calc(100% - 16px),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 16px,#000 calc(100% - 16px),transparent 100%)}.ai-quick-prompts::-webkit-scrollbar{display:none}.ai-quick-prompts>.prompt{flex:0 0 auto;width:auto;white-space:nowrap;scroll-snap-align:start}}.search-dropdown{position:absolute;inset-inline:0;top:calc(100% + 6px);z-index:60;max-height:min(70vh,460px);overflow-y:auto;padding:6px;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg)}.search-dropdown-label{padding:8px 10px 4px;font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.search-dropdown-item{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:6px 10px;border:0;border-radius:10px;background:transparent;color:var(--text-primary);font:inherit;text-align:start;cursor:pointer}.search-dropdown-item:hover,.search-dropdown-item:focus-visible{background:var(--surface-hover)}.search-dropdown-thumb{flex:0 0 auto;width:36px;height:36px;border-radius:8px}.search-dropdown-thumb--person{display:grid;place-items:center;background:color-mix(in srgb,var(--teal) 14%,transparent);color:var(--teal)}.search-dropdown-info{display:flex;flex-direction:column;min-width:0;flex:1}.search-dropdown-info strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-dropdown-info span{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-dropdown-rating{flex:0 0 auto;color:var(--amber, #d97706);font-size:12px}.search-dropdown-all{justify-content:space-between;margin-top:4px;border-top:1px solid var(--border);border-radius:0 0 10px 10px;font-weight:700;color:var(--teal)}.ui-icon{display:inline-block;flex-shrink:0;vertical-align:-.125em}[dir=rtl] .ui-icon--mirror{transform:scaleX(-1)}.method-dot{display:inline-block;width:18px;height:18px;border-radius:50%;background:var(--method-dot, var(--muted));box-shadow:inset 0 0 0 2px color-mix(in srgb,#fff 35%,transparent)}:where(a[href],button,input,select,textarea,summary,[tabindex],[role=button],[role=tab],[role=menuitem],[role=option],[contenteditable=true]):focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color)!important;outline-offset:var(--focus-ring-offset)}:is(h1,h2,h3)[tabindex="-1"]:focus-visible{outline:none!important}:where(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea):focus-visible{outline-offset:0}@media (forced-colors: active){:focus-visible{outline-color:Highlight!important}}.sidebar>.sidebar-nav{min-height:0}.sidebar>.sidebar-user-footer,.sidebar>.sidebar-auth-box{position:static;flex-shrink:0;margin-top:var(--space-2)}@media (pointer: coarse){:is(.ui-datatable,.admin-table-wrap) input[type=checkbox]{width:24px;height:24px}}@media (max-width: 900px){.admin-sidebar:not(.open){visibility:hidden;transition:transform .16s cubic-bezier(.4,0,.2,1),visibility 0s linear .16s}.admin-sidebar.open{visibility:visible;transition:transform .16s cubic-bezier(.4,0,.2,1)}}:is(html,.main,.admin-main,.admin-content){scroll-padding-block-end:88px}@media (max-width: 768px){:is(html,.main,.admin-main,.admin-content){scroll-padding-block-end:140px}}@media (max-width: 639px){.ui-datatable .ui-datatable-table td.col-sticky-1{position:static;justify-content:flex-start;padding-block-end:2px}.ui-datatable .ui-datatable-table td.col-primary{padding-inline-end:0}}@media (max-width: 600px){.admin-header{flex-wrap:wrap;row-gap:8px}.admin-header-actions{flex-wrap:wrap;gap:8px}.admin-header .topbar-profile-info,.admin-header .topbar-profile-pill .lang-chevron{display:none}}:is(.main,.admin-main,.admin-content){scroll-padding-block-start:84px}.admin-content{padding-block-end:max(var(--space-5, 24px),96px)}@media (max-width: 720px){.main{padding-bottom:calc(136px + env(safe-area-inset-bottom,0px))}}@media (max-width: 639px){.ui-datatable .ui-datatable-table thead:focus-within{position:static;display:block;inline-size:auto;block-size:auto;overflow:visible;clip-path:none;margin-block-end:8px}.ui-datatable .ui-datatable-table thead:focus-within tr{display:flex;padding:8px 14px}.ui-datatable .ui-datatable-table thead:focus-within th:not(.col-sticky-1){display:none}}@media (max-width: 600px){:is(.admin-main,.admin-content){scroll-padding-block-start:140px}}.auth-notice{margin:0 0 12px;padding:10px 12px;border-radius:var(--control-radius, 10px);font-size:13px;line-height:1.55}.auth-notice--warning{border:1px solid color-mix(in srgb,var(--amber, #d97706) 40%,transparent);background:color-mix(in srgb,var(--amber, #d97706) 10%,var(--surface));color:var(--text-primary)}.dash-metrics-grid.dash-metrics-grid--three{grid-template-columns:repeat(3,1fr)}@media (max-width: 900px){.dash-metrics-grid.dash-metrics-grid--three{grid-template-columns:repeat(2,1fr)}.dash-metrics-grid.dash-metrics-grid--three>:last-child{grid-column:1 / -1}}@media (max-width: 500px){.dash-metrics-grid.dash-metrics-grid--three{grid-template-columns:1fr}}.weekly-summary{margin-bottom:var(--space-4)}.weekly-summary-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-2)}.weekly-summary-head h2:focus{outline:none}.weekly-summary-head h2:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.weekly-summary-range{margin:2px 0 0;color:var(--text-muted);font-size:var(--text-sm, 13px)}.weekly-summary-nav{display:flex;gap:8px;flex-wrap:wrap}.weekly-summary-body{padding:var(--space-3);display:grid;gap:var(--space-3)}.weekly-summary-subtitle{margin:0;font-size:var(--section-title-size, 17px)}.weekly-summary-days{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;align-items:end}.weekly-summary-day{display:grid;justify-items:center;gap:6px}.weekly-summary-count{min-height:1.2em;font-size:12px;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.weekly-summary-bar-track{position:relative;display:block;inline-size:100%;max-inline-size:36px;block-size:96px;border-radius:8px;background:color-mix(in srgb,var(--border) 60%,transparent);overflow:hidden}.weekly-summary-bar{position:absolute;inset-inline:0;inset-block-end:0;display:block;background:var(--viz-teal, var(--teal));border-radius:8px}.weekly-summary-day-name{font-size:12px;color:var(--text-muted)}.weekly-summary-courses{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.weekly-summary-course{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3)}.weekly-summary-course .sd-mini-bar{margin-top:6px}.weekly-summary-course-meta{display:block;margin-top:6px;font-size:var(--text-xs, 12px);color:var(--muted-2, var(--text-muted))}@media (max-width: 600px){.weekly-summary-days{gap:4px}.weekly-summary-bar-track{block-size:72px}.weekly-summary-course{flex-wrap:wrap}}.schedule-event-item.completed{opacity:1}.schedule-event-item.completed .event-info-col strong{color:var(--text-muted)}:is(.event-type-pill.study,.event-type-pill.revision,.event-type-pill.exam_prep,.event-type-pill.meeting,.event-type-pill.assignment,.event-type-pill.personal,.event-type-pill.task,.event-type-pill.system){color:color-mix(in srgb,currentColor 45%,var(--text-primary))}.weekly-summary{scroll-margin-block-start:96px}@media (max-width: 600px){.weekly-summary-totals.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.weekly-summary-totals .metric{padding:12px}}@media (max-width: 480px){.weekly-summary-days{gap:2px}.weekly-summary-day{min-inline-size:0}.weekly-summary-day-name{font-size:10px;white-space:nowrap;max-inline-size:100%;overflow:hidden;text-overflow:clip}}@media (pointer: coarse){.ai-attach-btn{min-inline-size:36px;min-block-size:36px}.ai-input-pill-wrap .ai-text-input{min-block-size:36px}.event-check-btn{min-inline-size:32px;min-block-size:32px}.schedule-view-all,.cb-breadcrumbs button{min-block-size:32px}}
