:root{--ui-radius-card: 1rem;--ui-radius-panel: 1.25rem;--ui-shadow-soft: 0 18px 45px -34px rgb(15 23 42 / .42);--ui-shadow-popover: 0 18px 45px -24px rgb(15 23 42 / .35);--ui-shadow-dark: 0 18px 45px -30px rgb(0 0 0 / .75)}html{scroll-behavior:smooth}body{min-width:320px}main#main-content{scroll-margin-top:5rem}[data-app-shell]>.flex>header{position:sticky;top:0;z-index:20;background-color:color-mix(in srgb,var(--bg-surface-1) 94%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}:where(.card,.stat-card,.x-data-table){border:1px solid var(--border-subtle);border-radius:var(--ui-radius-card);background-color:var(--bg-surface-1);box-shadow:var(--ui-shadow-soft)}:where(.card,.stat-card){padding:1.25rem}:where(.card.surface-subtle,.card.border-dashed,.x-data-table,.table-wrap){box-shadow:none}:where(.table-wrap){border:1px solid var(--border-subtle);border-radius:var(--ui-radius-card);background-color:var(--bg-surface-1);overflow:auto}.page-title{font-size:clamp(1.5rem,1.26rem + .75vw,2rem);line-height:1.18;font-weight:700;letter-spacing:-.025em}.page-subtitle{margin-top:.4rem;max-width:62rem;font-size:.95rem;line-height:1.65}.form-label{line-height:1.35}.form-help{max-width:56rem;line-height:1.45}.form-error{display:block;margin-top:.35rem;color:color-mix(in srgb,var(--state-danger-bg) 88%,var(--text-primary));font-size:.8125rem;font-weight:600;line-height:1.45}.form-input[aria-invalid=true],.form-select[aria-invalid=true],.form-textarea[aria-invalid=true],.form-input.is-invalid,.form-select.is-invalid,.form-textarea.is-invalid{border-color:var(--state-danger-bg);box-shadow:0 0 0 1px color-mix(in srgb,var(--state-danger-bg) 55%,transparent)}.form-input:disabled,.form-select:disabled,.form-textarea:disabled,.form-input[readonly],.form-textarea[readonly]{background-color:var(--bg-surface-2);color:var(--text-muted);cursor:not-allowed}.btn{gap:.45rem;line-height:1.2}.btn:disabled,.btn[aria-disabled=true]{opacity:.62}.btn-outline:hover{background-color:color-mix(in srgb,var(--bg-surface-2) 82%,var(--bg-surface-1));color:var(--text-primary)}.password-inline-action{color:var(--text-muted)}.password-inline-action:hover{background-color:var(--bg-surface-2);color:var(--text-primary)}.badge{border:1px solid transparent;line-height:1.1;white-space:nowrap}.badge-neutral{border-color:var(--border-subtle);background-color:var(--bg-surface-2);color:var(--text-secondary)}.badge-warning{border-color:#fed7aa;background-color:#fff7ed;color:#9a3412}.badge-success{border-color:#bbf7d0;background-color:#f0fdf4;color:#166534}.badge-danger{border-color:#fecdd3;background-color:#fff1f2;color:#9f1239}.badge-info{border-color:#bfdbfe;background-color:#eff6ff;color:#1e40af}.nav-link{min-height:2.55rem;position:relative}.nav-link-active:before{position:absolute;inset-block:.55rem;left:.35rem;width:.2rem;border-radius:999px;background-color:currentColor;content:"";opacity:.6}.nav-link-active .nav-link-icon{color:inherit}.sidebar-shell{max-width:min(18rem,calc(100vw - 2rem));box-shadow:var(--ui-shadow-popover)}.sidebar-shell-compact{max-width:5.25rem}.sidebar-section-label{-webkit-user-select:none;user-select:none}.horizontal-nav-scroll{scrollbar-width:thin}.horizontal-nav-summary,.horizontal-nav-item{color:var(--text-secondary)}.horizontal-nav-summary:hover,.horizontal-nav-item:hover{background-color:var(--bg-surface-2);color:var(--text-primary)}.horizontal-nav-menu{background-color:var(--bg-surface-1);border-color:var(--border-subtle);box-shadow:var(--ui-shadow-popover)}.x-data-table .table tbody>tr+tr,.table tbody>tr+tr{border-top:1px solid color-mix(in srgb,var(--border-subtle) 82%,transparent)}.table tbody>tr:hover,.table tbody>tr:focus-within{background-color:color-mix(in srgb,var(--bg-surface-2) 82%,var(--bg-surface-1))}.table th{position:relative}[data-drawer-overlay]{background-color:#0f172a6b!important;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}[data-drawer-panel]{background-color:var(--bg-surface-1)!important;border-color:var(--border-subtle)!important;color:var(--text-primary);box-shadow:var(--ui-shadow-popover)}[data-drawer-panel]>div:first-child{position:sticky;top:0;z-index:5;background-color:color-mix(in srgb,var(--bg-surface-1) 96%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-color:var(--border-subtle)!important}[data-user-menu-panel]{background-color:var(--bg-surface-1)!important;border-color:var(--border-subtle)!important;box-shadow:var(--ui-shadow-popover)}[data-theme-toggle] button[aria-pressed=true],.theme-toggle-option[aria-pressed=true]{background-color:var(--nav-active-bg)!important;color:var(--nav-active-text)!important}input[type=file].sr-only:focus+*,input[type=file].sr-only:focus-visible+*{outline:2px solid var(--focus-outer);outline-offset:2px}[aria-busy=true]{cursor:progress}:root[data-theme=dark] .bg-slate-200,:root[data-theme=dark] .bg-slate-300{background-color:var(--bg-surface-2)!important}:root[data-theme=dark] .border-slate-100,:root[data-theme=dark] .border-slate-400,:root[data-theme=dark] .border-slate-700{border-color:var(--border-subtle)!important}:root[data-theme=dark] .text-slate-300,:root[data-theme=dark] .text-slate-200{color:var(--text-secondary)!important}:root[data-theme=dark] .bg-emerald-50,:root[data-theme=dark] .bg-green-50{background-color:color-mix(in srgb,#064e3b 38%,var(--bg-surface-1))!important}:root[data-theme=dark] .text-emerald-700,:root[data-theme=dark] .text-green-700,:root[data-theme=dark] .text-emerald-800,:root[data-theme=dark] .text-green-800{color:#86efac!important}:root[data-theme=dark] .bg-rose-50,:root[data-theme=dark] .bg-red-50{background-color:color-mix(in srgb,#7f1d1d 36%,var(--bg-surface-1))!important}:root[data-theme=dark] .text-rose-700,:root[data-theme=dark] .text-red-700,:root[data-theme=dark] .text-rose-800,:root[data-theme=dark] .text-red-800{color:#fca5a5!important}:root[data-theme=dark] .bg-amber-50,:root[data-theme=dark] .bg-orange-50{background-color:color-mix(in srgb,#78350f 38%,var(--bg-surface-1))!important}:root[data-theme=dark] .text-amber-700,:root[data-theme=dark] .text-orange-700,:root[data-theme=dark] .text-amber-800,:root[data-theme=dark] .text-orange-800{color:#fcd34d!important}:root[data-theme=dark] .bg-blue-50{background-color:color-mix(in srgb,#1e3a8a 34%,var(--bg-surface-1))!important}:root[data-theme=dark] .text-blue-700,:root[data-theme=dark] .text-blue-800,:root[data-theme=dark] .text-blue-900{color:#bfdbfe!important}:root[data-theme=dark] .badge-warning{border-color:color-mix(in srgb,#f59e0b 40%,var(--border-subtle));background-color:color-mix(in srgb,#78350f 34%,var(--bg-surface-1));color:#fcd34d}:root[data-theme=dark] .badge-success{border-color:color-mix(in srgb,#22c55e 38%,var(--border-subtle));background-color:color-mix(in srgb,#064e3b 34%,var(--bg-surface-1));color:#86efac}:root[data-theme=dark] .badge-danger{border-color:color-mix(in srgb,#ef4444 38%,var(--border-subtle));background-color:color-mix(in srgb,#7f1d1d 34%,var(--bg-surface-1));color:#fca5a5}:root[data-theme=dark] .badge-info{border-color:color-mix(in srgb,#3b82f6 38%,var(--border-subtle));background-color:color-mix(in srgb,#1e3a8a 34%,var(--bg-surface-1));color:#bfdbfe}:root[data-theme=dark] :where(.card,.stat-card,.x-data-table),:root[data-theme=dark] [data-drawer-panel],:root[data-theme=dark] [data-user-menu-panel]{box-shadow:var(--ui-shadow-dark)}@media(min-width:1024px){.sidebar-shell{position:sticky;top:0;height:100vh;box-shadow:none}}@media(max-width:640px){:where(.card,.stat-card){padding:1rem}[data-user-menu-panel]{position:fixed!important;left:1rem!important;right:1rem!important;top:4.5rem!important;width:auto!important}[data-drawer-panel]{max-width:100vw!important}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}:root,:root *{scrollbar-width:thin;scrollbar-color:#64748b transparent;scrollbar-color:color-mix(in srgb,var(--tenant-primary) 34%,var(--text-muted-theme, #64748b)) transparent}*::-webkit-scrollbar{width:.625rem;height:.625rem}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{min-height:2.5rem;border:.18rem solid transparent;border-radius:9999px;background:#64748b;background:color-mix(in srgb,var(--tenant-primary) 28%,var(--text-muted-theme, #64748b));background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:#475569;background:color-mix(in srgb,var(--tenant-primary) 44%,var(--text-primary-theme, #1e293b));background-clip:padding-box}*::-webkit-scrollbar-corner{background:transparent}:root[data-theme=dark],:root[data-theme=dark] *{scrollbar-color:#94a3b8 transparent;scrollbar-color:color-mix(in srgb,var(--tenant-primary) 48%,#94a3b8) transparent}:root[data-theme=dark] *::-webkit-scrollbar-thumb{background:#64748b;background:color-mix(in srgb,var(--tenant-primary) 38%,#64748b);background-clip:padding-box}:root[data-theme=dark] *::-webkit-scrollbar-thumb:hover{background:#94a3b8;background:color-mix(in srgb,var(--tenant-primary) 55%,#cbd5e1);background-clip:padding-box}.auth-card{background-color:var(--bg-surface-1);border-color:var(--border-subtle);box-shadow:var(--ui-shadow-popover)}main#main-content>[role=status],main#main-content>[role=alert],.auth-card [role=status],.auth-card [role=alert]{border-radius:var(--ui-radius-card);box-shadow:var(--ui-shadow-soft)}main#main-content>[role=status],.auth-card [role=status]{border-left:.3rem solid color-mix(in srgb,#10b981 72%,var(--tenant-primary))}main#main-content>[role=alert],.auth-card [role=alert]{border-left:.3rem solid var(--state-danger-bg)}.table-wrap .table thead th,.x-data-table .table thead th{position:sticky;top:0;z-index:2;background-color:var(--bg-surface-2)}.table td,.table th{overflow-wrap:anywhere}.progress-track{height:.5rem;overflow:hidden;border-radius:9999px;background-color:var(--bg-surface-2)}.progress-fill{height:100%;border-radius:inherit;background-color:var(--tenant-primary);transition:width .22s ease}.interactive-row,.lesson-row,.attachment-row{transition:background-color .16s ease,border-color .16s ease,transform .16s ease}.interactive-row:hover,.lesson-row:hover,.attachment-row:hover,.interactive-row:focus-within,.lesson-row:focus-within,.attachment-row:focus-within{border-color:color-mix(in srgb,var(--tenant-primary) 35%,var(--border-subtle));background-color:color-mix(in srgb,var(--bg-surface-2) 70%,var(--bg-surface-1))}.learner-hero{border:1px solid var(--border-subtle);border-radius:var(--ui-radius-panel);background:linear-gradient(135deg,color-mix(in srgb,var(--tenant-primary) 9%,var(--bg-surface-1)),var(--bg-surface-1));box-shadow:var(--ui-shadow-soft)}.learner-cover-frame{border-color:var(--border-subtle);background-color:var(--bg-surface-2)}.stat-card .tabular-nums,.tabular-nums{font-variant-numeric:tabular-nums}:root[data-theme=dark] main#main-content>[role=status],:root[data-theme=dark] main#main-content>[role=alert],:root[data-theme=dark] .auth-card [role=status],:root[data-theme=dark] .auth-card [role=alert]{box-shadow:none}:root[data-theme=dark] :where(.card.surface-subtle,.card.border-dashed,.x-data-table,.table-wrap){box-shadow:none}:root[data-theme=dark] :where(.card:not(.surface-subtle):not(.border-dashed),.stat-card),:root[data-theme=dark] .auth-card,:root[data-theme=dark] [data-drawer-panel],:root[data-theme=dark] [data-user-menu-panel]{box-shadow:var(--ui-shadow-dark)}:root[data-theme=dark] .learner-hero{background:linear-gradient(135deg,color-mix(in srgb,var(--tenant-primary) 15%,var(--bg-surface-1)),var(--bg-surface-1))}@media(hover:hover)and (pointer:fine){.interactive-row:hover,.lesson-row:hover,.attachment-row:hover{transform:translateY(-1px)}}@media(prefers-reduced-motion:reduce){.progress-fill,.interactive-row,.lesson-row,.attachment-row{transition:none}}
