@import "https://fonts.googleapis.com/css2?family=Instrument+Sans:wdth,wght@75..100,400..700&family=Onest:wght@500;600;700;800&display=swap";:root{--font-display:"Onest", system-ui, sans-serif;--font-body:"Instrument Sans", system-ui, sans-serif;--color-bg:#f5f7fc;--color-surface:#fff;--color-surface-hover:#edf3fb;--color-border:#dfe7f2;--color-border-light:#edf1f7;--color-text-primary:#10172a;--color-text-secondary:#52627a;--color-text-muted:#8290a5;--color-text-inverse:oklch(100% 0 0);--color-brand:#315cda;--color-brand-light:#cddaff;--color-brand-lighter:#eef3ff;--color-brand-dark:#1c3caa;--color-brand-glow:#315cda33;--color-accent:#f06449;--color-accent-light:#fff0ec;--color-success:#119c6b;--color-success-light:#e5f8f0;--color-warning:#d88917;--color-warning-light:#fff3dd;--color-error:#d8465b;--color-error-light:#ffedf1;--radius-sm:8px;--radius-md:8px;--radius-lg:8px;--radius-xl:12px;--radius-full:9999px;--shadow-xs:0 1px 2px oklch(0% 0 0/.04);--shadow-sm:0 1px 3px oklch(0% 0 0/.06), 0 1px 2px oklch(0% 0 0/.04);--shadow-md:0 4px 14px oklch(0% 0 0/.07), 0 2px 4px oklch(0% 0 0/.04);--shadow-lg:0 12px 36px oklch(0% 0 0/.09), 0 4px 12px oklch(0% 0 0/.04);--shadow-xl:0 24px 52px oklch(0% 0 0/.1), 0 8px 16px oklch(0% 0 0/.05);--shadow-glow:0 0 36px oklch(52% .26 278/.18);--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-2xl:32px;--space-3xl:48px;--space-4xl:64px;--space-5xl:96px;--container-max:1320px;--container-narrow:880px;--duration-fast:.15s;--duration-base:.25s;--duration-slow:.4s;--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{font-family:var(--font-body);background:radial-gradient(circle at 86% -10%, #315cda1f, transparent 28%), radial-gradient(circle at 5% 38%, #f0644913, transparent 22%), var(--color-bg);color:var(--color-text-primary);min-height:100dvh;line-height:1.6}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,select,textarea{font-family:inherit;font-size:inherit}:focus-visible{outline-offset:2px;outline:3px solid #6438e838}button:disabled{cursor:not-allowed}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:0;font-weight:700;line-height:1.15}::selection{background:var(--color-brand-light);color:var(--color-brand-dark)}.container{width:100%;max-width:var(--container-max);padding-inline:var(--space-xl);margin-inline:auto}.section{padding-block:var(--space-4xl)}.btn{justify-content:center;align-items:center;gap:var(--space-sm);font-family:var(--font-display);border-radius:var(--radius-md);transition:all var(--duration-base) var(--ease-out-expo);white-space:nowrap;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn:after{content:"";border-radius:inherit;opacity:0;transition:opacity var(--duration-base) var(--ease-out-expo);position:absolute;inset:0}.btn-primary{color:var(--color-text-inverse);background:linear-gradient(135deg,#315cda,#1f45b5);box-shadow:0 2px 8px oklch(52% .26 278/.25)}.btn-primary:hover{background:linear-gradient(135deg,#5f32dc,#4720b4);transform:translateY(-2px)scale(1.02);box-shadow:0 4px 16px oklch(52% .26 278/.35)}.btn-primary:active{transform:translateY(0)scale(.98);box-shadow:0 1px 4px oklch(52% .26 278/.2)}.btn-secondary{background:var(--color-surface);color:var(--color-text-primary);border:1.5px solid var(--color-border)}.btn-secondary:hover{background:var(--color-surface-hover);box-shadow:var(--shadow-md);border-color:oklch(82% .015 275);transform:translateY(-2px)}.btn-secondary:active{transform:translateY(0)}.btn-ghost{color:var(--color-text-secondary);font-weight:500}.btn-ghost:hover{color:var(--color-text-primary);background:var(--color-surface-hover);transform:translateY(-1px)}.btn-lg{border-radius:var(--radius-lg);padding:1rem 2rem;font-size:1.0625rem}.card{background:var(--color-surface);border:1px solid var(--color-border);transition:all var(--duration-base) var(--ease-out-expo);border-radius:8px;transform:translateY(0)}.card:hover{box-shadow:var(--shadow-md);border-color:#d9d5e8;transform:translateY(-2px)}.card:active{transform:translateY(-1px)}.badge{border-radius:var(--radius-full);font-size:.8125rem;font-weight:600;font-family:var(--font-display);align-items:center;gap:4px;padding:.25rem .75rem;display:inline-flex}.badge-brand{background:var(--color-brand-lighter);color:var(--color-brand)}.badge-success{background:var(--color-success-light);color:var(--color-success)}.badge-warning{background:var(--color-warning-light);color:oklch(50% .18 78)}.tag{border-radius:var(--radius-full);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary);transition:all var(--duration-base) var(--ease-out-expo);cursor:pointer;align-items:center;gap:6px;padding:.375rem .875rem;font-size:.8125rem;font-weight:500;display:inline-flex}.tag:hover,.tag.active{background:var(--color-brand);color:var(--color-text-inverse);border-color:var(--color-brand);transform:translateY(-1px)}.tag.active:hover{background:var(--color-brand-dark)}.section-title{letter-spacing:0;margin-bottom:var(--space-sm);font-size:clamp(1.75rem,3vw,2.25rem);font-weight:700}.section-subtitle{color:var(--color-text-secondary);max-width:36rem;font-size:1.0625rem;line-height:1.7}.avatar{border-radius:var(--radius-full);background:var(--color-brand-light);width:40px;height:40px;color:var(--color-brand);font-size:.875rem;font-weight:600;font-family:var(--font-display);flex-shrink:0;justify-content:center;align-items:center;display:flex}.avatar-sm{width:32px;height:32px;font-size:.75rem}.avatar-lg{width:48px;height:48px;font-size:1rem}.animate-in{opacity:0;transition:opacity var(--duration-slow) var(--ease-out-expo), transform var(--duration-slow) var(--ease-out-expo);transform:translateY(24px)}.animate-in.visible{opacity:1;transform:translateY(0)}.animate-in-left{opacity:0;transition:opacity var(--duration-slow) var(--ease-out-expo), transform var(--duration-slow) var(--ease-out-expo);transform:translate(-24px)}.animate-in-left.visible{opacity:1;transform:translate(0)}.animate-in-right{opacity:0;transition:opacity var(--duration-slow) var(--ease-out-expo), transform var(--duration-slow) var(--ease-out-expo);transform:translate(24px)}.animate-in-right.visible{opacity:1;transform:translate(0)}.animate-in-scale{opacity:0;transition:opacity var(--duration-slow) var(--ease-out-expo), transform var(--duration-slow) var(--ease-out-expo);transform:scale(.92)}.animate-in-scale.visible{opacity:1;transform:scale(1)}.delay-1{transition-delay:50ms}.delay-2{transition-delay:.1s}.delay-3{transition-delay:.15s}.delay-4{transition-delay:.2s}.delay-5{transition-delay:.25s}.delay-6{transition-delay:.3s}.delay-7{transition-delay:.35s}.delay-8{transition-delay:.4s}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg, var(--color-surface-hover) 25%, oklch(94% .008 275) 37%, var(--color-surface-hover) 63%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s ease-in-out infinite shimmer}.skeleton-text{width:100%;height:1em}.skeleton-title{width:70%;height:1.5em;margin-bottom:var(--space-md)}.skeleton-card{border-radius:var(--radius-lg);height:380px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse-dot{0%,to{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.4)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes ripple{to{opacity:0;transform:scale(4)}}@media (width<=768px){.container{padding-inline:var(--space-lg)}.section{padding-block:var(--space-3xl)}.btn-lg{padding:.75rem 1.5rem;font-size:.9375rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-shell{background:linear-gradient(180deg, #ffffffb3, #fff0), var(--color-bg);min-height:calc(100dvh - 68px);transition:grid-template-columns var(--duration-base) var(--ease-out-expo);grid-template-columns:280px minmax(0,1fr);display:grid}.app-shell--collapsed{grid-template-columns:82px minmax(0,1fr)}.app-sidebar{gap:var(--space-xl);height:calc(100dvh - 68px);padding:var(--space-xl);color:#fff;background:linear-gradient(165deg,#111b38 0%,#182959 52%,#112248 100%);border-right:1px solid #ffffff14;flex-direction:column;display:flex;position:sticky;top:68px}.app-sidebar__collapse{width:32px;height:32px;margin-bottom:var(--space-md);color:#ffffffbf;border:1px solid #ffffff29;border-radius:9px;align-self:end;place-items:center;display:grid}.app-sidebar__collapse:hover{color:#fff;background:#ffffff1a}.app-shell--collapsed .app-sidebar{padding-inline:var(--space-md)}.app-shell--collapsed .app-sidebar__profile{padding-bottom:var(--space-md);grid-template-columns:1fr;justify-items:center}.app-shell--collapsed .app-sidebar__profile>div:last-child,.app-shell--collapsed .app-sidebar__nav span,.app-shell--collapsed .app-sidebar__logout span{display:none}.app-shell--collapsed .app-sidebar__nav button,.app-shell--collapsed .app-sidebar__logout{justify-content:center;padding-inline:0}.app-sidebar__profile{gap:var(--space-md);padding-bottom:var(--space-xl);border-bottom:1px solid #ffffff1f;grid-template-columns:46px minmax(0,1fr);align-items:center;display:grid}.app-sidebar__profile strong,.app-sidebar__profile span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.app-sidebar__profile strong{font-family:var(--font-display);font-size:.95rem}.app-sidebar__profile span{color:#ffffff9e;font-size:.78rem}.app-avatar{border-radius:var(--radius-md);color:#fff;width:46px;height:46px;font-family:var(--font-display);background:linear-gradient(135deg,#7653f4,#20a7bd);place-items:center;font-weight:800;display:grid}.app-sidebar__nav{gap:6px;display:grid}.app-sidebar__nav button,.app-sidebar__logout{align-items:center;gap:var(--space-md);border-radius:var(--radius-md);color:#ffffffad;text-align:left;min-height:42px;transition:background var(--duration-fast) var(--ease-out-expo), color var(--duration-fast) var(--ease-out-expo);padding:.66rem .75rem;display:flex}.app-sidebar__nav button:hover,.app-sidebar__nav button.is-active,.app-sidebar__logout:hover{color:#fff;background:#ffffff1a}.app-sidebar__nav button.is-active{box-shadow:inset 3px 0 #47d3c0}.app-sidebar__logout{margin-top:auto}.app-main{min-width:0;padding:var(--space-2xl)}.app-topbar{justify-content:space-between;align-items:center;gap:var(--space-lg);min-height:50px;margin-bottom:var(--space-xl);display:flex}.app-topbar>div:first-child{gap:2px;display:grid}.app-topbar span{color:var(--color-text-muted);text-transform:uppercase;font-size:.72rem;font-weight:700}.app-topbar strong{font-family:var(--font-display);font-size:1.05rem}.app-topbar__actions{align-items:center;gap:6px;display:flex}.app-topbar__catalog{border:1px solid var(--color-border);min-height:34px;color:var(--color-text-secondary);border-radius:9px;align-items:center;padding:0 11px;font-size:.76rem;font-weight:700;display:inline-flex}.app-topbar__catalog:hover{color:var(--color-brand);border-color:var(--color-brand-light);background:var(--color-brand-lighter)}.app-topbar__avatar{background:var(--color-brand-lighter);width:34px;height:34px;color:var(--color-brand);border-radius:50%;place-items:center;font-size:.75rem;font-weight:800;display:grid}.app-stack{gap:var(--space-xl);display:grid}.app-page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-lg);display:flex}.app-page-header h1,.dashboard-hero h1{max-width:760px;font-size:clamp(1.85rem,3vw,2.7rem)}.app-page-header p,.dashboard-hero p{max-width:680px;margin-top:var(--space-sm);color:var(--color-text-secondary)}.eyebrow{margin-bottom:var(--space-sm);color:var(--color-brand);font-family:var(--font-display);text-transform:uppercase;align-items:center;gap:6px;font-size:.75rem;font-weight:800;display:inline-flex}.dashboard-hero{justify-content:space-between;align-items:center;gap:var(--space-xl);min-height:176px;padding:var(--space-2xl);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:linear-gradient(135deg,#ffffffeb,#ffffffbd),url(/assets/academy/academy-hero.png) 50%/cover;display:flex;overflow:hidden}.student-hero{background-position:50%}.instructor-hero{background-image:linear-gradient(135deg,#ffffffeb,#ffffffc7),url(/assets/academy/course-product-design.png)}.admin-hero{background-image:linear-gradient(135deg,#fffffff0,#ffffffc7),url(/assets/academy/course-business-growth.png)}.hero-status{align-items:center;gap:var(--space-sm);border-radius:var(--radius-full);background:var(--color-success-light);color:var(--color-success);white-space:nowrap;padding:.75rem 1rem;font-weight:800;display:inline-flex}.stats-grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(190px,1fr));display:grid}.stat-card,.panel,.continue-card,.course-progress-card,.creator-course,.data-table,.empty-state,.record-row{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.stat-card{align-items:center;gap:var(--space-lg);min-height:112px;padding:var(--space-xl);display:flex}.stat-card>span,.record-icon,.lesson-list__icon{flex:none;place-items:center;display:grid}.stat-card>span,.record-icon{border-radius:var(--radius-md);width:46px;height:46px}.stat-card strong{font-family:var(--font-display);font-size:1.65rem;line-height:1.1;display:block}.stat-card small,.record-row small,.analytics-row small,.creator-course p,.profile-item span{color:var(--color-text-muted);font-size:.78rem}.tone-violet>span,.tone-violet.record-icon,.metric-pill.tone-violet{background:var(--color-brand-lighter);color:var(--color-brand)}.tone-cyan>span,.tone-cyan.record-icon,.metric-pill.tone-cyan{color:#168aad;background:#e6f7fb}.tone-green>span,.tone-green.record-icon,.metric-pill.tone-green{background:var(--color-success-light);color:var(--color-success)}.tone-amber>span,.tone-amber.record-icon,.metric-pill.tone-amber{background:var(--color-warning-light);color:var(--color-warning)}.tone-coral>span,.tone-coral.record-icon,.metric-pill.tone-coral{background:var(--color-error-light);color:var(--color-error)}.panel{overflow:hidden}.panel>header{justify-content:space-between;align-items:center;gap:var(--space-lg);padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--color-border);display:flex}.panel>header h2{font-size:1rem}.panel>:not(header){padding:var(--space-xl)}.record-list,.analytics-list,.creator-list{gap:var(--space-md);display:grid}.record-row,.analytics-row{align-items:center;gap:var(--space-lg);padding:var(--space-lg);grid-template-columns:auto minmax(0,1fr) auto auto auto;display:grid}.record-row strong,.analytics-row strong{display:block}.record-course-art{border-radius:var(--radius-md);background:#eef3ff;border:1px solid #dce4f4;width:54px;height:54px;position:relative;overflow:hidden;box-shadow:0 4px 12px #18306514}.record-course-art img{object-fit:cover;width:100%;height:100%}.record-course-art__state{background:#9da9c4;border:2px solid #fff;border-radius:50%;width:10px;height:10px;position:absolute;bottom:5px;right:5px;box-shadow:0 1px 4px #0c1b3b38}.record-course-art__state.is-active{background:#20a7bd}.record-course-art__state.is-completed{background:#16ae73}.record-progress,.table-progress{align-items:center;gap:var(--space-sm);grid-template-columns:minmax(90px,1fr) 42px;min-width:160px;display:grid}.progress-track{border-radius:var(--radius-full);background:#ececf5;height:8px;overflow:hidden}.progress-track span{border-radius:inherit;height:100%;transition:width var(--duration-slow) var(--ease-out-expo);background:linear-gradient(90deg,#6438e8,#20a7bd);display:block}.continue-card{align-items:center;gap:var(--space-xl);padding:var(--space-xl);grid-template-columns:188px minmax(0,1fr) auto;display:grid}.continue-card__art,.creator-course>header img{border-radius:var(--radius-lg);background:var(--color-brand-lighter);overflow:hidden}.continue-card__art{aspect-ratio:16/10}.continue-card__art img,.creator-course>header img{object-fit:cover;width:100%;height:100%}.continue-card h2,.creator-course h2{font-size:1.25rem}.continue-card p,.course-progress-card p{color:var(--color-text-secondary);margin:4px 0 var(--space-md)}.localized-price{color:var(--color-text-primary);white-space:nowrap;font-weight:800}.record-row .localized-price{display:inline}.course-progress-grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.course-progress-card{border-color:#dce2f2;transition:border-color .18s,box-shadow .18s,transform .18s;overflow:hidden;box-shadow:0 10px 24px #12234d0f}.course-progress-card:hover{border-color:#b9c8f3;transform:translateY(-3px);box-shadow:0 18px 34px #12234d21}.course-progress-card__media{background:#e9efff;height:166px;position:relative;overflow:hidden}.course-progress-card__media>img{object-fit:cover;width:100%;height:100%;transition:transform .4s var(--ease-out-expo);display:block}.course-progress-card:hover .course-progress-card__media>img{transform:scale(1.045)}.course-progress-card__media-overlay{justify-content:space-between;align-items:flex-start;gap:var(--space-sm);padding:var(--space-md);background:linear-gradient(#0715388f,#0000 56%);display:flex;position:absolute;inset:0}.course-progress-card__category,.course-progress-card__state{border-radius:var(--radius-full);color:#fff;text-overflow:ellipsis;white-space:nowrap;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#081637a8;border:1px solid #ffffff3d;max-width:58%;padding:5px 9px;font-size:.7rem;font-weight:800;line-height:1.15;overflow:hidden}.course-progress-card__state{color:#193269;background:#ffffffe6;border-color:#ffffffb3;max-width:42%;margin-left:auto}.course-progress-card__state.is-complete{color:#087253;background:#e1fbf1f0}.course-progress-card__content{gap:var(--space-md);min-width:0;padding:18px;display:grid}.course-progress-card__heading{justify-content:space-between;align-items:flex-start;gap:var(--space-md);display:flex}.course-progress-card__label{color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:5px;font-size:.69rem;font-weight:800;display:block}.course-progress-card h2{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:1.08rem;line-height:1.32;display:-webkit-box;overflow:hidden}.course-progress-card__price{color:var(--color-text-muted);align-items:baseline;gap:6px;margin-top:7px;font-size:.7rem;display:inline-flex}.course-progress-card__price strong{color:var(--color-text-primary);font-size:.78rem}.course-progress-card__heading>strong{width:42px;height:42px;color:var(--color-brand);font-family:var(--font-display);background:#f2f6ff;border:1px solid #d8e3ff;border-radius:50%;flex:none;place-items:center;font-size:.76rem;display:grid}.course-progress-card__lesson-count{justify-content:space-between;gap:var(--space-sm);color:var(--color-text-secondary);font-size:.78rem;display:flex}.course-progress-card__lesson-count span:last-child{color:var(--color-brand);flex:none;font-weight:800}.course-progress-card .progress-track{background:#e8edf8;height:7px}.course-progress-card__actions{gap:var(--space-sm);grid-template-columns:minmax(0,1fr) auto;padding-top:2px;display:grid}.course-progress-card__actions .btn{justify-content:center;min-height:42px}.course-progress-card__refund{padding-inline:13px}.card-actions,.table-actions,.form-actions{justify-content:flex-end;align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.analytics-row{border-bottom:1px solid var(--color-border-light);grid-template-columns:minmax(0,1fr) minmax(180px,320px) 48px;padding-inline:0}.analytics-row:last-child{border-bottom:0}.profile-grid,.ops-grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(230px,1fr));display:grid}.profile-item{padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);gap:4px;display:grid}.profile-item svg{color:var(--color-brand)}.metric-pill{padding:var(--space-lg);border-radius:var(--radius-md);gap:2px;display:grid}.metric-pill strong{font-size:1.7rem;line-height:1}.metric-pill span{font-size:.8rem}.mini-chart{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.dashboard-chart-grid{gap:var(--space-lg);grid-template-columns:minmax(0,1.5fr) minmax(280px,.75fr);display:grid}.chart-card{min-width:0;min-height:300px;padding:var(--space-xl);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:linear-gradient(#fffffffa,#faf9feeb);box-shadow:0 10px 26px #201b4009}.chart-card__header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);display:flex}.chart-card__header .eyebrow{margin-bottom:3px;font-size:.64rem}.chart-card__header h2{font-size:1.05rem}.chart-card__header small{color:var(--color-text-muted);font-size:.75rem}.chart-frame{width:100%;height:220px;margin-top:var(--space-md)}.chart-frame--donut{height:232px}.chart-empty{height:220px;padding:var(--space-lg);color:var(--color-text-muted);text-align:center;place-items:center;font-size:.85rem;display:grid}.data-table{overflow-x:auto}.data-table table{border-collapse:collapse;width:100%;min-width:760px}.data-table th,.data-table td{padding:.9rem var(--space-lg);border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle}.data-table th{color:var(--color-text-muted);text-transform:uppercase;font-size:.76rem;font-weight:700}.data-table tr:last-child td{border-bottom:0}.danger{color:var(--color-error)!important}.success-text{color:var(--color-success)!important}.creator-course{overflow:hidden}.creator-course>header{align-items:center;gap:var(--space-lg);padding:var(--space-lg);grid-template-columns:auto 76px minmax(0,1fr) auto auto;display:grid}.creator-course>header img{aspect-ratio:4/3;width:76px}.icon-button{border-radius:var(--radius-md);width:36px;height:36px;color:var(--color-text-muted);place-items:center;display:grid}.icon-button:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.lesson-editor-list{gap:var(--space-sm);padding:var(--space-md) var(--space-lg) var(--space-lg) 126px;border-top:1px solid var(--color-border);background:#fbfbfd;display:grid}.lesson-editor-row{align-items:center;gap:var(--space-md);min-height:48px;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);grid-template-columns:28px 20px minmax(0,1fr) auto auto;display:grid}.lesson-add{justify-self:start;align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);background:var(--color-brand-lighter);min-height:40px;color:var(--color-brand);padding:.55rem .85rem;font-weight:700;display:inline-flex}.empty-state{place-items:center;gap:var(--space-sm);padding:var(--space-3xl);text-align:center;color:var(--color-text-secondary);display:grid}.empty-state svg{color:var(--color-brand)}.empty-state h2{font-size:1.15rem}.lesson-shell{background:#f5f6fb;min-height:calc(100dvh - 68px)}.lesson-shell--loading{gap:var(--space-lg);padding:var(--space-2xl);display:grid}.lesson-shell--loading .skeleton:first-child{height:58px}.lesson-shell--loading .skeleton:last-child{height:540px}.lesson-topbar{z-index:20;justify-content:space-between;align-items:center;gap:var(--space-lg);padding:var(--space-md) var(--space-2xl);border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffeb;display:flex;position:sticky;top:68px}.lesson-back,.lesson-topbar__title{align-items:center;gap:var(--space-sm);display:inline-flex}.lesson-back{color:var(--color-text-secondary);font-weight:700}.lesson-topbar__title{min-width:0;color:var(--color-text-muted);font-size:.85rem}.lesson-topbar__title span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lesson-topbar__title strong{color:var(--color-text-primary);white-space:nowrap}.lesson-grid{grid-template-columns:minmax(0,1fr) 360px;min-height:calc(100dvh - 126px);display:grid}.lesson-main{min-width:0;padding:var(--space-2xl)}.lesson-main h1{max-width:920px;margin-bottom:var(--space-xl);font-size:clamp(1.8rem,3vw,2.7rem)}.lesson-kicker{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);color:var(--color-brand);font-weight:800;display:inline-flex}.lesson-stage{aspect-ratio:16/9;border-radius:var(--radius-xl);max-height:70dvh;box-shadow:var(--shadow-lg);background:#11131b;overflow:hidden}.lesson-stage iframe,.lesson-stage__placeholder{border:0;width:100%;height:100%}.lesson-stage__placeholder{align-content:center;place-items:center;gap:var(--space-sm);color:#ffffffd1;background:linear-gradient(135deg,#6438e840,#168aad2e),#17162b;display:grid}.lesson-copy{max-width:880px;margin-top:var(--space-2xl);padding:var(--space-xl);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text-primary);white-space:pre-wrap;font-size:1rem;line-height:1.8}.lesson-complete-panel{align-items:center;gap:var(--space-lg);max-width:880px;margin-top:var(--space-xl);padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);grid-template-columns:minmax(0,1fr) auto;display:grid}.lesson-complete-panel strong{margin-bottom:var(--space-sm);display:block}.btn-complete{background:var(--color-success-light);color:var(--color-success);box-shadow:none}.lesson-nav{justify-content:space-between;gap:var(--space-md);max-width:880px;margin-top:var(--space-xl);display:flex}.lesson-rail{border-left:1px solid var(--color-border);background:var(--color-surface);height:calc(100dvh - 126px);position:sticky;top:126px;overflow-y:auto}.lesson-rail__header{padding:var(--space-xl);justify-content:space-between;align-items:center;display:flex}.lesson-rail__header h2{font-size:1.05rem}.lesson-rail__meter{background:var(--color-border);height:4px}.lesson-rail__meter span{background:linear-gradient(90deg, var(--color-brand), #20a7bd);height:100%;display:block}.lesson-list{display:grid}.lesson-list__item{gap:var(--space-md);padding:var(--space-md) var(--space-xl);border-bottom:1px solid var(--color-border-light);grid-template-columns:34px minmax(0,1fr);display:grid}.lesson-list__item:hover{background:var(--color-surface-hover)}.lesson-list__item.is-active{background:var(--color-brand-lighter);box-shadow:inset 3px 0 0 var(--color-brand)}.lesson-list__item.is-complete{background:#f2fbf6}.lesson-list__item.is-complete.is-active{background:linear-gradient(90deg, #edf9f2, var(--color-brand-lighter))}.lesson-list__icon{border-radius:var(--radius-full);width:34px;height:34px;color:var(--color-text-muted);background:#eef0f8}.lesson-list__item.is-active .lesson-list__icon{background:var(--color-brand);color:#fff}.lesson-list__item.is-complete .lesson-list__icon{background:var(--color-success);color:#fff}.lesson-list__text{min-width:0}.lesson-list__text small,.lesson-list__text strong{display:block}.lesson-list__text small{color:var(--color-text-muted);font-size:.72rem;font-weight:700}.lesson-list__text strong{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.modal-backdrop{z-index:1000;padding:var(--space-xl);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#14122694;place-items:center;display:grid;position:fixed;inset:0}.celebration-modal,.form-modal{width:min(100%,480px);padding:var(--space-2xl);border-radius:var(--radius-xl);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-xl);position:relative}.celebration-modal{gap:var(--space-md);text-align:center;display:grid}.celebration-modal__icon{border-radius:var(--radius-full);background:var(--color-success-light);width:64px;height:64px;color:var(--color-success);justify-self:center;place-items:center;display:grid}.celebration-modal>div:last-child{justify-content:center;gap:var(--space-md);margin-top:var(--space-md);display:flex}.form-modal,.form-modal label{gap:var(--space-sm);display:grid}.form-modal.wide{width:min(100%,620px)}.form-modal label{color:var(--color-text-secondary);font-size:.84rem;font-weight:700}.form-modal input,.form-modal select,.form-modal textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-text-primary);background:#fbfbfd;outline:none;padding:.75rem .85rem}.form-modal textarea{resize:vertical}.form-grid{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.modal-close{top:var(--space-lg);right:var(--space-lg);border-radius:var(--radius-md);width:34px;height:34px;color:var(--color-text-muted);place-items:center;display:grid;position:absolute}.modal-close:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.file-field>div{align-items:center;gap:var(--space-md);min-height:72px;padding:var(--space-sm);border:1px dashed var(--color-border);border-radius:var(--radius-md);background:#fbfbfd;display:flex}.file-field img{border-radius:var(--radius-md);object-fit:cover;width:96px;height:56px}.file-field input{display:none}.file-field strong{align-items:center;gap:var(--space-sm);color:var(--color-brand);display:inline-flex}.toggle-row{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex!important}.toggle-row input{width:20px;height:20px}@media (width<=980px){.app-shell{grid-template-columns:1fr;min-width:0}.app-sidebar{width:100%;min-width:0;height:auto;padding:var(--space-md);position:static}.app-sidebar__profile,.app-sidebar__logout,.app-sidebar__collapse{display:none}.app-shell--collapsed{grid-template-columns:1fr}.app-sidebar__nav{min-width:0;max-width:100%;display:flex;overflow-x:auto}.app-sidebar__nav button{flex:none}.app-main{width:100%;padding:var(--space-lg)}.dashboard-hero,.continue-card{grid-template-columns:1fr}.continue-card{display:grid}.lesson-grid{grid-template-columns:1fr}.lesson-rail{border-left:0;border-top:1px solid var(--color-border);height:auto;position:static}.dashboard-chart-grid{grid-template-columns:1fr}}@media (width<=700px){.app-page-header,.dashboard-hero,.lesson-topbar,.lesson-complete-panel,.creator-course>header,.record-row,.analytics-row{grid-template-columns:1fr;align-items:stretch}.app-page-header{gap:var(--space-md);flex-direction:column}.dashboard-hero{align-items:flex-start;gap:var(--space-lg);flex-direction:column}.app-page-header>div{min-width:0}.app-page-header>.btn{align-self:flex-start}.app-topbar{margin-bottom:var(--space-lg)}.dashboard-hero,.lesson-main,.lesson-topbar{padding:var(--space-lg)}.record-progress,.table-progress,.analytics-row{min-width:0}.creator-course>header{display:grid}.lesson-editor-list{padding:var(--space-md)}.lesson-editor-row{grid-template-columns:24px 20px minmax(0,1fr)}.lesson-editor-row .btn{grid-column:1/-1}.form-grid,.mini-chart{grid-template-columns:1fr}.lesson-nav,.card-actions,.form-actions{flex-direction:column;align-items:stretch}}.error-state{align-content:center;place-items:center;gap:var(--space-sm);min-height:300px;padding:var(--space-2xl);border-radius:var(--radius-lg);text-align:center;background:#fffafb;border:1px dashed #efc4cd;display:grid}.error-state>svg{color:var(--color-error)}.error-state h2{font-size:1.1rem}.error-state p{max-width:420px;color:var(--color-text-secondary)}.toast-stack{z-index:2000;gap:10px;width:min(360px,100vw - 32px);display:grid;position:fixed;bottom:20px;right:20px}.toast{border:1px solid var(--color-border);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--color-text-primary);animation:slideUpFade .28s var(--ease-out-expo) both;background:#fffffff2;border-radius:12px;align-items:flex-start;gap:10px;padding:14px 16px;font-size:.86rem;display:flex}.toast--success svg{color:var(--color-success)}.toast--error svg{color:var(--color-error)}.toast--info svg{color:var(--color-brand)}.verify-page,.not-found-page{min-height:calc(100dvh - 72px);padding:var(--space-2xl);background:radial-gradient(circle at 75% 15%, #6d28d91f, transparent 26%), var(--color-bg);place-items:center;display:grid}.verify-card{border:1px solid var(--color-border);border-radius:var(--radius-xl);width:min(100%,660px);box-shadow:var(--shadow-xl);text-align:center;background:#ffffffe0;padding:clamp(2rem,5vw,4rem)}.verify-card--invalid svg{color:var(--color-error);margin-bottom:var(--space-lg)}.verify-card h1{margin:4px 0 var(--space-sm);font-size:clamp(2rem,4vw,3rem)}.verify-card>p,.not-found-page p{max-width:520px;color:var(--color-text-secondary);margin:0 auto;line-height:1.7}.verify-card__seal{width:74px;height:74px;margin:0 auto var(--space-lg);color:var(--color-success);background:var(--color-success-light);border-radius:50%;place-items:center;display:grid}.verify-card__details{margin:var(--space-2xl) 0;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-border);text-align:left;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.verify-card__details>div{min-width:0;padding:var(--space-lg);background:var(--color-surface)}.verify-card__details span,.verify-card__details strong{display:block}.verify-card__details span{color:var(--color-text-muted);text-transform:uppercase;margin-bottom:4px;font-size:.72rem;font-weight:700}.verify-card__details strong{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.verify-card__actions,.not-found-page section>div{justify-content:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.not-found-page section{text-align:center;max-width:700px}.not-found-page section>span{margin-bottom:var(--space-sm);color:var(--color-brand);font:800 clamp(4rem, 12vw, 9rem)/.85 var(--font-display);display:block}.not-found-page h1{margin-bottom:var(--space-md);font-size:clamp(2rem,5vw,3.7rem)}.not-found-page section>div{margin-top:var(--space-xl)}@media (width<=540px){.verify-card__details{grid-template-columns:1fr}}
