:root{--tenant-accent:#2563eb;--tenant-accent-contrast:#fff;--accent-2:#0f766e;--accent-3:#b45309;--accent-gradient:linear-gradient(135deg, var(--tenant-accent), #1e3a8a);--bg:#f7f8fa;--surface:#fff;--surface-hover:#f0f2f5;--border:#e1e4ea;--text:#52586b;--text-h:#151a2e;--text-muted:#8a8fa3;--danger:#dc2626;--danger-bg:#dc26261a;--success:#0d9668;--success-bg:#0d96681f;--warning:#b45309;--warning-bg:#b453091f;--radius-sm:7px;--radius-md:11px;--radius-lg:16px;--shadow-sm:0 1px 2px #151a2e0f;--shadow-md:0 10px 28px #151a2e1a;--shadow-glow:0 6px 18px -6px color-mix(in srgb, var(--tenant-accent) 40%, transparent);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--text-xs:12px;--text-sm:13px;--text-base:15px;--text-md:16px;--text-lg:20px;--text-xl:28px;--sans:"Inter", system-ui, "Segoe UI", Roboto, sans-serif;--heading:"Plus Jakarta Sans", "Inter", system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:15px/1.5 var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0f1220;--surface:#161a2c;--surface-hover:#1e2338;--border:#2b3049;--text:#a7acc4;--text-h:#f1f2f8;--text-muted:#6d7288;--danger:#f0645f;--danger-bg:#f0645f24;--success:#3ecf8e;--success-bg:#3ecf8e24;--warning:#e0a940;--warning-bg:#e0a94024;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 8px 24px #00000073}}*{box-sizing:border-box}html,body{height:100%;margin:0}#root{min-height:100vh}h1,h2,h3,h4{font-family:var(--heading);color:var(--text-h);margin:0;font-weight:700;line-height:1.2}h1{letter-spacing:-.5px;font-size:30px}h2{letter-spacing:-.3px;font-size:21px}h3{font-size:16px;font-weight:600}h4{font-size:14px;font-weight:600}p{margin:0}a{color:var(--tenant-accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font-family:inherit}code{font-family:var(--mono);background:var(--surface-hover);color:var(--text-h);border-radius:4px;padding:2px 6px;font-size:.9em}button{font:inherit;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-h);cursor:pointer;padding:.6rem 1.1rem;font-weight:600;transition:background-color .15s,border-color .15s,color .15s,opacity .15s,transform .15s,box-shadow .15s}button:hover:not(:disabled){background:var(--surface-hover);border-color:var(--text-muted)}button:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--tenant-accent);border-color:var(--tenant-accent);color:var(--tenant-accent-contrast);box-shadow:var(--shadow-glow)}.btn-primary:hover:not(:disabled){background:color-mix(in srgb, var(--tenant-accent) 88%, black);border-color:color-mix(in srgb, var(--tenant-accent) 88%, black);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-danger,.danger{border-color:var(--danger);color:var(--danger);background:0 0}.btn-danger:hover:not(:disabled),.danger:hover:not(:disabled){background:var(--danger-bg)}.btn-ghost{color:var(--text);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text-h)}.auth-form,.form{flex-direction:column;gap:1rem;margin-top:1rem;display:flex}.auth-form label,.form label{color:var(--text-h);flex-direction:column;gap:.35rem;font-size:13px;font-weight:500;display:flex}.auth-form input,.auth-form textarea,.auth-form select,.form input,.form textarea,.form select,.inline-form input{font:inherit;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text-h);padding:.6rem .75rem;transition:border-color .15s}.auth-form input:focus,.auth-form textarea:focus,.auth-form select:focus,.form input:focus,.form textarea:focus,.form select:focus,.inline-form input:focus{border-color:var(--tenant-accent);outline:none}.auth-form .checkbox-label,.form .checkbox-label{flex-direction:row;align-items:center;gap:.5rem}.auth-form .checkbox-label input,.form .checkbox-label input{width:auto}.auth-form button,.form>button{align-self:flex-start}.auth-hint{color:var(--text-muted);font-size:12.5px;line-height:1.5}.auth-error{color:var(--danger);background:var(--danger-bg);border-radius:var(--radius-sm);padding:.5rem .7rem;font-size:13.5px}.auth-actions{gap:.5rem;margin-top:1rem;display:flex}.inline-form{gap:.5rem;margin-top:.5rem;display:flex}.inline-form input{flex:1}body:has(.auth-page){background:var(--bg)}.auth-page{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);max-width:400px;box-shadow:var(--shadow-md);margin:8vh auto;padding:2rem;position:relative;overflow:hidden}.auth-page:before{content:"";background:var(--tenant-accent);height:3px;position:absolute;top:0;left:0;right:0}.auth-logo{max-height:40px;margin-bottom:1rem}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:240px;padding:1.25rem 1rem;display:flex}.sidebar-brand{font-family:var(--heading);color:var(--text-h);padding:.4rem .6rem 1.25rem;font-size:16px;font-weight:700;line-height:1.3}.sidebar-brand span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-top:.15rem;font-size:11px;font-weight:500;display:block}.sidebar-nav{flex-direction:column;gap:.15rem;display:flex}.sidebar-nav a{border-radius:var(--radius-sm);color:var(--text);padding:.55rem .7rem;font-size:14px;font-weight:600;text-decoration:none;transition:background-color .15s,color .15s,transform .15s;display:block}.sidebar-nav a:hover{background:var(--surface-hover);color:var(--text-h);text-decoration:none;transform:translate(2px)}.sidebar-nav a.active{background:var(--tenant-accent);color:var(--tenant-accent-contrast)}.sidebar-nav a.active:hover{transform:none}.sidebar-footer{border-top:1px solid var(--border);margin-top:auto;padding-top:1rem}.sidebar-footer button{width:100%}.main-content{flex:1;min-width:0;padding:2rem 2.5rem}.page-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.dashboard-header{text-align:left;justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.dashboard-nav{gap:1rem;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:1.25rem}.card-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.item-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:inherit;padding:1rem 1.1rem;text-decoration:none;transition:box-shadow .18s,border-color .18s,transform .18s;display:block;position:relative}.item-card:hover{box-shadow:var(--shadow-md);border-color:color-mix(in srgb, var(--tenant-accent) 35%, var(--border));text-decoration:none;transform:translateY(-2px)}.item-card h3{margin-bottom:.4rem}.item-card-meta{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.6rem;display:flex}.empty-state{color:var(--text-muted);padding:1.5rem 0;font-size:14px}.list{text-align:left;margin:0 0 1rem;padding:0;list-style:none}.list li{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.6rem .1rem;display:flex}.list li:last-child{border-bottom:none}.list a{color:var(--text-h);font-weight:500}.list a:hover{color:var(--tenant-accent)}.badge{background:var(--surface-hover);color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em;border-radius:999px;align-items:center;padding:.15rem .55rem;font-size:11.5px;font-weight:600;display:inline-flex}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-live{background:var(--danger-bg);color:var(--danger)}.badge-live:before{content:"";background:var(--danger);border-radius:50%;width:6px;height:6px;margin-right:.35rem;animation:1.6s ease-in-out infinite badge-live-pulse}@keyframes badge-live-pulse{0%,to{opacity:1}50%{opacity:.35}}.badge-accent{background:color-mix(in srgb, var(--tenant-accent) 15%, transparent);color:var(--tenant-accent);font-weight:700}.upload-section{border-top:1px solid var(--border);text-align:left;margin-top:1.5rem;padding-top:1.25rem}.module-block{text-align:left;margin-bottom:1.5rem}.lesson-text{text-align:left;white-space:pre-wrap;line-height:1.7}.session-actions{text-align:left;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.slow-mode-control{color:var(--text);align-items:center;gap:.5rem;margin-left:auto;font-size:13px;font-weight:500;display:flex}.slow-mode-control select{font:inherit;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text-h);padding:.35rem .5rem}.attendee-name{flex:1}.student-row{flex-direction:column;align-items:flex-start;gap:.4rem}.student-row-courses{flex-wrap:wrap;gap:.4rem;display:flex}.students-toolbar{gap:.6rem;margin-bottom:1.25rem;display:flex}.students-search{max-width:320px;font:inherit;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-h);flex:1;padding:.55rem .75rem}.students-toolbar select{font:inherit;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-h);padding:.55rem .75rem}.student-card{flex-direction:column;gap:.85rem;display:flex}.student-card-header{flex-direction:column;gap:.15rem;display:flex}.student-email{font-size:12.5px}.student-card-courses{flex-direction:column;gap:.6rem;display:flex}.student-course-row{color:inherit;border-radius:var(--radius-sm);margin:0 -.5rem;padding:.4rem .5rem;text-decoration:none;transition:background-color .15s;display:block}.student-course-row:hover{background:var(--surface-hover);text-decoration:none}.student-course-row-top{color:var(--text-h);justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.3rem;font-size:13.5px;font-weight:500;display:flex}.item-card-progress{margin-bottom:.4rem}.progress-bar{background:var(--surface-hover);border-radius:999px;height:5px;overflow:hidden}.progress-bar-fill{background:var(--tenant-accent);border-radius:inherit;height:100%}.color-field{align-items:center;gap:.5rem;display:flex}.color-field input[type=color]{flex-shrink:0;width:44px;height:38px;padding:.2rem}.color-field input[type=text],.color-field input:not([type]){flex:1}.domain-verify-card{max-width:420px}.domain-verify-card code{word-break:break-all}.domain-verify-card button{margin-top:.75rem}.data-request-row{justify-content:space-between;align-items:flex-start;gap:1rem}.data-request-info{flex:1;min-width:0}.data-request-info p{margin-top:.25rem}.checkout-card{max-width:360px;margin-bottom:1.5rem}.checkout-card .form,.checkout-card label{margin-top:0}.checkout-card button{width:100%;margin-top:.75rem}.analytics-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.analytics-stat{flex-direction:column;gap:.35rem;display:flex}.analytics-stat-value{font-family:var(--heading);color:var(--text-h);font-size:28px;font-weight:700}.analytics-stat-label{color:var(--text-muted);font-size:12.5px;line-height:1.4}.session-layout{grid-template-columns:1fr 340px;align-items:start;gap:1.5rem;display:grid}@media (width<=900px){.session-layout{grid-template-columns:1fr}}.session-main{min-width:0}.session-recording-note{margin-bottom:.6rem}.stream-setup-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);text-align:left;padding:1.25rem}.stream-steps{color:var(--text);margin:.75rem 0 1rem;padding-left:1.25rem;font-size:14px;line-height:1.7}.stream-thumb{border-radius:var(--radius-sm);border:1px solid var(--border);width:100%;max-width:320px;margin-top:.85rem;display:block}.stream-setup-linked{align-items:center;gap:1rem;display:flex}.stream-setup-linked .stream-thumb{flex-shrink:0;width:120px;max-width:120px;margin-top:0}.session-rail{flex-direction:column;gap:1rem;display:flex;position:sticky;top:1.5rem}.video-embed{aspect-ratio:16/9;border-radius:var(--radius-md);width:100%;position:relative;overflow:hidden}.video-embed iframe{border:none;width:100%;height:100%;position:absolute;inset:0}.video-container{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.video-container:fullscreen{background:#000;border-radius:0;justify-content:center;align-items:center;display:flex}.video-container:fullscreen .video-embed{aspect-ratio:auto;width:100%;height:100%}.video-controls{z-index:3;justify-content:flex-end;gap:.4rem;display:flex;position:absolute;bottom:.6rem;left:.6rem;right:.6rem}.video-controls button{color:#fff;background:#0000008c;border-color:#ffffff4d;padding:.3rem .65rem;font-size:12px}.video-controls button:hover:not(:disabled){background:#000000bf;border-color:#ffffff4d}.video-click-blocker{z-index:1;cursor:default;background:0 0;position:absolute;inset:0}.watermark-overlay{pointer-events:none;-webkit-user-select:none;user-select:none;color:#ffffff8c;font-size:12px;font-family:var(--mono);z-index:2;background:#00000040;border-radius:4px;padding:.2rem .5rem;transition:top 1s,left 1s,right 1s,bottom 1s;position:absolute}.panel,.chat-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);text-align:left;box-shadow:var(--shadow-sm);padding:1rem}.panel h3,.chat-panel h3{margin-bottom:.75rem}.chat-messages{flex-direction:column;gap:.5rem;max-height:280px;margin-bottom:.75rem;display:flex;overflow-y:auto}.chat-message{font-size:13.5px;line-height:1.4}.chat-message strong{color:var(--text-h)}.poll-current{margin-bottom:1rem}.quiz-question{text-align:left;border-bottom:1px solid var(--border);margin-bottom:1.25rem;padding-bottom:1.25rem}.quiz-question:last-of-type{border-bottom:none}.pdf-viewer{margin-top:1rem}.pdf-viewer canvas{border:1px solid var(--border);border-radius:var(--radius-md);max-width:100%;box-shadow:var(--shadow-sm)}.pdf-nav{color:var(--text-muted);justify-content:center;align-items:center;gap:1rem;margin-top:.75rem;font-size:13.5px;display:flex}.modal-overlay{z-index:100;background:#0a0a0e80;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);text-align:left;width:100%;max-width:420px;padding:1.5rem}.modal-title{margin-bottom:.75rem}.modal-message{color:var(--text);font-size:14px;line-height:1.5}.modal-actions{justify-content:flex-end;gap:.5rem;margin-top:1.25rem;display:flex}.toast-stack{z-index:200;flex-direction:column;gap:.5rem;max-width:320px;display:flex;position:fixed;bottom:1.25rem;right:1.25rem}.toast{border-radius:var(--radius-sm);box-shadow:var(--shadow-md);color:#fff;padding:.7rem 1rem;font-size:13.5px;animation:.15s toast-in}.toast-success{background:var(--success)}.toast-error{background:var(--danger)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.mobile-topbar,.sidebar-backdrop{display:none}@media (width<=768px){.mobile-topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:60;align-items:center;gap:.75rem;height:3.25rem;padding:0 1rem;display:flex;position:fixed;top:0;left:0;right:0}.mobile-nav-toggle{padding:.4rem .65rem;font-size:16px;line-height:1}.mobile-topbar-brand{color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;overflow:hidden}.mobile-topbar-brand span{display:none}.sidebar{z-index:70;width:260px;max-width:80vw;transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar-open{transform:translate(0)}.sidebar-backdrop{z-index:65;background:#0a0a0e66;display:block;position:fixed;inset:0}.main-content{padding:4.5rem 1.25rem 1.5rem}}.landing-page{max-width:1080px;margin:0 auto;padding:1.5rem 1.5rem 4rem}.landing-header{justify-content:space-between;align-items:center;padding:.5rem 0 2.5rem;display:flex}.landing-brand{font-family:var(--heading);color:var(--text-h);font-size:18px;font-weight:700}.landing-hero{text-align:center;border-bottom:1px solid var(--border);max-width:640px;margin:0 auto;padding:2.5rem 1rem 3.5rem}.landing-eyebrow{border:1px solid var(--border);color:var(--text-muted);border-radius:999px;align-items:center;margin-bottom:1.5rem;padding:.35rem .85rem;font-size:12.5px;font-weight:600;display:inline-flex}.landing-hero h1{letter-spacing:-.6px;margin-bottom:1.1rem;font-size:42px}.landing-gradient-text{color:var(--tenant-accent)}.landing-subhead{color:var(--text);margin-bottom:1.75rem;font-size:16.5px;line-height:1.6}.landing-hero-actions{justify-content:center;gap:.75rem;display:flex}.landing-hero-actions .btn-primary{padding:.8rem 1.6rem;font-size:15px}.landing-existing-note{margin-top:1.5rem}.landing-features{padding:3rem 0 1rem}.landing-feature{text-align:left}.landing-feature-icon{border-radius:var(--radius-md);background:color-mix(in srgb, var(--tenant-accent) 10%, transparent);justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:.85rem;font-size:19px;display:inline-flex}.landing-feature p{margin-top:.5rem}.landing-footer{text-align:center;padding-top:3rem}@media (width<=640px){.landing-hero h1{font-size:30px}.landing-header{text-align:center;flex-direction:column;gap:1rem}}.storefront-brand{align-items:center;gap:.6rem;display:flex}.storefront-logo{max-height:28px}.storefront-header-actions{align-items:center;gap:.6rem;display:flex}.storefront-hero h1{font-size:34px}.storefront-hero-banner{background-position:50%;background-size:cover;border-bottom:none;border-radius:0;max-width:none;margin:0 -1.5rem 2rem;padding:4rem 1.5rem;position:relative}.storefront-hero-banner:before{content:"";background:#0a0a148c;position:absolute;inset:0}.storefront-hero-content{z-index:1;position:relative}.storefront-hero-banner h1,.storefront-hero-banner .landing-subhead{color:#fff}.storefront-about,.storefront-contact{text-align:center;border-top:1px solid var(--border);max-width:640px;margin:0 auto;padding:2rem 0}.storefront-about p,.storefront-contact p{color:var(--text);margin-top:.5rem;line-height:1.6}.storefront-course-card{flex-direction:column;display:flex}.storefront-course-cover{aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius-sm);width:100%;margin-bottom:.75rem}.storefront-course-price{align-self:flex-start;margin-top:.75rem}
