@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1a099d89ee94ee96-s.p.35a5cae5tspm2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1a099d89ee94ee96-s.p.35a5cae5tspm2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a099d89ee94ee96-s.p.35a5cae5tspm2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1a099d89ee94ee96-s.p.35a5cae5tspm2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/1a099d89ee94ee96-s.p.35a5cae5tspm2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans Fallback;src:local(Arial);ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.0%;size-adjust:104.98%}.plus_jakarta_sans_d91df3fd-module__Zi3a1G__className{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.plus_jakarta_sans_d91df3fd-module__Zi3a1G__variable{--font-sans:"Plus Jakarta Sans", "Plus Jakarta Sans Fallback"}
:root{--bg:#f8fafc;--fg:#1e1b24;--muted:#4c4452;--accent:#6b21a8;--accent-fg:#fff;--danger:#ba1a1a;--danger-fg:#fff;--border:#cfc2d4;--canvas:var(--bg);--card:#fff;--card-border:#6b21a814;--surface-low:#f8f1fe;--surface:#f3ebf8;--surface-high:#ede5f2;--primary:var(--accent);--on-primary:var(--accent-fg);--purple-subtle:#f3e8ff;--secondary:#006a61;--teal-accent:#0d9488;--teal-surface:#ccfbf1;--tertiary:#f59e0b;--status-registered-bg:#ecfdf5;--status-registered-text:#047857;--status-full-bg:#f3f4f6;--status-full-text:#4b5563;--status-cancelled-bg:#fef2f2;--status-cancelled-text:#b91c1c;--radius-sm:.5rem;--radius-input:.875rem;--radius-btn:1rem;--radius-card:1.5rem;--radius-pill:9999px;--shadow-card:0 4px 16px -2px #1e1b240f;--shadow-dialog:0 16px 36px -4px #160a2440;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#131315;--fg:#e5e1e4;--muted:#cfc2d6;--accent:#ddb7ff;--accent-fg:#490080;--danger:#ffb4ab;--danger-fg:#690005;--border:#4d4354;--canvas:var(--bg);--card:#1a1a20;--card-border:#ffffff14;--surface-lowest:#0e0e10;--surface-low:#201f21;--surface:#22222a;--surface-high:#2a2a2c;--surface-highest:#353437;--surface-highlight:#2d2d38;--outline:#988d9f;--border-prominent:#ffffff29;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--primary:var(--accent);--on-primary:var(--accent-fg);--primary-container:#b76dff;--on-primary-container:#400071;--on-primary-fixed:#2c0051;--purple-subtle:#261838;--secondary:#4fdbc8;--on-secondary:#003731;--secondary-container:#04b4a2;--teal-accent:#14b8a6;--teal-surface:#0b2926;--tertiary:#ffb95f;--on-tertiary:#472a00;--error-container:#93000a;--on-error-container:#ffdad6;--status-registered-bg:#14b8a629;--status-registered-border:#14b8a6;--status-registered-text:#2dd4bf;--status-full-bg:#22222a;--status-full-text:#94a3b8;--status-cancelled-bg:#2c1618;--status-cancelled-border:#ef444466;--status-cancelled-text:#fca5a5;--shadow-card:none;--shadow-dialog:0 16px 40px -8px #000c}}*,:before,:after{box-sizing:border-box}html,body{min-height:100dvh;margin:0;padding:0;overflow-x:clip}body{background:var(--canvas);color:var(--fg);font:16px/1.5 var(--font-sans), system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;-webkit-font-smoothing:antialiased;flex-direction:column;display:flex}h1{letter-spacing:-.02em;color:var(--fg);margin:0 0 .5rem;font-size:1.625rem;font-weight:800;line-height:2rem}h2{letter-spacing:-.01em;color:var(--fg);margin:1.5rem 0 .75rem;font-size:1.25rem;font-weight:700;line-height:1.75rem}h3{color:var(--fg);margin:0 0 .25rem;font-size:1.125rem;font-weight:700;line-height:1.5rem}@media (min-width:640px){h1{font-size:2rem;line-height:2.5rem}h2{font-size:1.5rem;line-height:2rem}}.title-day{letter-spacing:.05em;text-transform:uppercase;color:var(--fg);margin:0;font-size:.9375rem;font-weight:800;line-height:1.25rem}p{margin:.5rem 0}a{color:var(--primary);text-underline-offset:.2em;transition:color .15s}.icon{flex-shrink:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-header{z-index:40;background:color-mix(in srgb, var(--card) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--card-border);position:sticky;top:0;box-shadow:0 1px 8px #0000000a}.site-header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.375rem 1rem;width:100%;max-width:64rem;margin:0 auto;padding:.5rem 1rem;display:flex}.brand{align-items:center;gap:.625rem;display:inline-flex}.brand-mark{border-radius:var(--radius-pill);background:var(--purple-subtle);width:2.25rem;height:2.25rem;color:var(--primary);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.brand-text{flex-direction:column;display:flex}.brand-title{letter-spacing:-.01em;color:var(--primary);font-size:1rem;font-weight:800;line-height:1.2}.brand-subtitle{color:var(--muted);font-size:.75rem;font-weight:500;line-height:1.1}nav{flex-wrap:wrap;flex:auto;align-items:center;gap:.25rem;display:flex}nav a{border-radius:var(--radius-pill);min-height:3rem;color:var(--muted);overflow-wrap:anywhere;align-items:center;padding:0 .75rem;font-size:.9375rem;font-weight:600;text-decoration:none;transition:background-color .15s,color .15s;display:inline-flex}nav a:hover{background:var(--surface-low);color:var(--fg)}nav a[aria-current=page]{background:var(--purple-subtle);color:var(--primary);font-weight:700}nav a:last-child{background:var(--surface);color:var(--primary);margin-left:auto;font-weight:700}nav a:last-child[aria-current=page]{background:var(--primary);color:var(--on-primary)}@media (max-width:639px){nav{scrollbar-width:none;flex-wrap:nowrap;flex:100%;margin:0 -1rem;padding:0 1rem .25rem;overflow-x:auto}nav a{white-space:nowrap;overflow-wrap:normal}}main{flex:1;width:100%;max-width:42.5rem;margin:0 auto;padding:1.25rem 1rem 2rem}main.admin-wide{max-width:64rem}main:has(table){max-width:64rem}main:has(.admin-page){max-width:64rem}@media (min-width:640px){main{padding:1.75rem 1.5rem 2.5rem}}footer{text-align:center;border-top:1px solid var(--card-border);width:100%;max-width:42.5rem;margin:auto auto 0;padding:1rem 1rem 1.5rem}footer a{min-height:3rem;color:var(--muted);text-decoration:underline;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);align-items:center;padding:0 .75rem;font-size:.875rem;font-weight:600;display:inline-flex}footer a:hover{color:var(--primary)}.page-header{margin-bottom:1.25rem}.page-subtitle{color:var(--muted);margin:.25rem 0 0;font-size:.9375rem}.day-section{margin-top:1.5rem}.day-header{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.day-dot{border-radius:var(--radius-pill);background:var(--teal-accent);flex-shrink:0;width:.625rem;height:.625rem}.day-chip{border-radius:var(--radius-pill);background:var(--purple-subtle);color:var(--primary);letter-spacing:.02em;align-items:center;padding:.125rem .625rem;font-size:.75rem;font-weight:700;display:inline-flex}.lessons{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.lesson{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.lesson h2,.lesson h3{margin:0;font-size:1.25rem;font-weight:800;line-height:1.625rem}.lesson p{margin:0}.lesson-booked{border:2px solid var(--teal-accent);box-shadow:0 4px 18px -2px #0d948824}.lesson-full{background:var(--card)}.lesson-cancelled{opacity:.85;border-color:var(--status-cancelled-bg)}.lesson-cancelled h3,.lesson-cancelled .lesson-meta-row{color:var(--muted)}.lesson-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.lesson-title-wrap{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.badge{border-radius:var(--radius-pill);align-items:center;gap:.25rem;padding:.25rem .625rem;font-size:.75rem;font-weight:700;line-height:1rem;display:inline-flex}.badge-registered{background:var(--status-registered-bg);color:var(--status-registered-text)}.time-chip{border-radius:var(--radius-pill);background:var(--purple-subtle);color:var(--primary);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:.375rem;padding:.3125rem .75rem;font-size:.875rem;font-weight:700;line-height:1.25rem;display:inline-flex}.lesson-meta-row{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.5rem 1rem;font-size:.875rem;line-height:1.25rem;display:flex}.meta-item{align-items:center;gap:.375rem;display:inline-flex}.capacity-box{background:var(--surface-low);border-radius:.875rem;flex-direction:column;gap:.375rem;padding:.625rem .75rem;display:flex}.capacity-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.capacity-label{color:var(--muted);align-items:center;gap:.375rem;font-size:.75rem;font-weight:600;display:inline-flex}.capacity-text{color:var(--secondary);font-variant-numeric:tabular-nums;font-size:.875rem;font-weight:700}.lesson-full .capacity-text{color:var(--status-full-text)}.capacity-track{border-radius:var(--radius-pill);background:var(--surface-high);width:100%;height:6px;overflow:hidden}.capacity-bar{border-radius:var(--radius-pill);background:linear-gradient(90deg, var(--teal-accent), var(--secondary));height:100%;transition:width .25s}.capacity-bar-warn{background:var(--tertiary)}.capacity-bar-full{background:var(--status-full-text)}.cancelled{border-radius:var(--radius-btn);background:var(--status-cancelled-bg);color:var(--status-cancelled-text);align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.9375rem;font-weight:700;display:flex}button{border-radius:var(--radius-btn);background:var(--primary);min-height:3.25rem;color:var(--on-primary);font:inherit;cursor:pointer;border:0;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:1rem;font-weight:700;line-height:1.25;transition:transform .12s,opacity .15s,background-color .15s;display:inline-flex}button:hover:not(:disabled){opacity:.94}button:active:not(:disabled){transform:scale(.98)}button.primary{background:var(--primary);color:var(--on-primary)}button.secondary{background:var(--surface-low);color:var(--primary);border:1.5px solid var(--border)}.lesson-booked button.secondary{background:var(--status-registered-bg);color:var(--status-registered-text);border-color:var(--teal-accent)}button.danger{background:var(--danger);color:var(--danger-fg)}button:disabled{opacity:.55;cursor:not-allowed;transform:none}.lesson-cta{width:100%;min-height:3.25rem}.lesson-cta-full:disabled{background:var(--status-full-bg);color:var(--status-full-text);opacity:1}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.field{flex-direction:column;gap:.375rem;margin-bottom:1rem;display:flex}.field label,label{color:var(--fg);font-size:.875rem;font-weight:600;line-height:1.25}input:not([type=checkbox]):not([type=radio]),select,textarea{border:1.5px solid var(--border);border-radius:var(--radius-input);background:var(--card);width:100%;min-height:3.125rem;color:var(--fg);font:inherit;padding:.625rem .875rem;transition:border-color .15s,background-color .15s}textarea{resize:vertical;min-height:5.5rem}[aria-invalid=true]{border-color:var(--danger);background:var(--status-cancelled-bg)}.field-error{color:var(--danger);margin:.125rem 0 0;font-size:.875rem;font-weight:600}.checkbox{cursor:pointer;align-items:center;gap:.625rem;min-height:3rem;margin-bottom:1rem;display:flex}.checkbox input[type=checkbox]{width:1.25rem;height:1.25rem;accent-color:var(--primary);flex-shrink:0;margin:0}.admin-actions{flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-top:.75rem;display:flex}[role=alert]{border-radius:var(--radius-btn);background:var(--status-cancelled-bg);color:var(--status-cancelled-text);border:1px solid var(--danger);margin:.5rem 0;padding:.875rem 1rem;font-weight:600}[role=alert] p{margin:0 0 .25rem}[role=alert] p:last-child{margin-bottom:0}[role=alert] a{min-height:2.75rem;color:var(--status-cancelled-text);align-items:center;font-weight:700;text-decoration:underline;display:inline-flex}[role=status]{border-radius:var(--radius-btn);background:var(--status-registered-bg);color:var(--status-registered-text);margin:.5rem 0;padding:.75rem 1rem;font-weight:600}.state-panel{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius-card);text-align:center;box-shadow:var(--shadow-card);flex-direction:column;align-items:center;gap:.75rem;margin:1rem 0;padding:2rem 1.25rem;display:flex}.state-panel-error{background:var(--status-cancelled-bg);border-color:var(--danger)}.state-panel-icon{border-radius:var(--radius-pill);background:var(--purple-subtle);width:3rem;height:3rem;color:var(--primary);justify-content:center;align-items:center;display:inline-flex}.state-panel-error .state-panel-icon{background:var(--card);color:var(--status-cancelled-text)}.schedule-skeleton{color:var(--muted);background:0 0;padding:0}.schedule-loading-caption{color:var(--muted);margin:0 0 .75rem;font-size:.875rem;font-weight:600}.skeleton-group{flex-direction:column;gap:1rem;display:flex}.skeleton-day{border-radius:var(--radius-pill);background:var(--surface-high);width:8.5rem;height:1.25rem}.skeleton-card{border-radius:var(--radius-card);background:var(--card);border:1px solid var(--card-border);height:11.5rem;box-shadow:var(--shadow-card);position:relative;overflow:hidden}.skeleton-card:after{content:"";background:linear-gradient(90deg, transparent, var(--surface-low), transparent);animation:1.6s infinite skeleton-shimmer;position:absolute;inset:0}@keyframes skeleton-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.dialog{z-index:100;background:var(--card);width:100%;max-width:100%;max-height:90dvh;color:var(--fg);border:1px solid var(--card-border);border-radius:var(--radius-card) var(--radius-card) 0 0;box-shadow:var(--shadow-dialog), 0 0 0 100vmax #12121299;margin:0 auto;padding:1.5rem;position:fixed;inset:auto 0 0;overflow-y:auto}@media (min-width:640px){.dialog{border-radius:var(--radius-card);max-width:32rem;inset:12% 1rem auto}}.dialog h2{margin-top:0}table{border-collapse:collapse;background:var(--card);border-radius:var(--radius-card);width:100%;box-shadow:var(--shadow-card);overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--card-border);padding:.75rem 1rem}th{background:var(--surface-low);color:var(--muted);font-size:.875rem;font-weight:700}.surface-card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:1.5rem}@media (min-width:640px){.surface-card{padding:2rem}}.btn-block{width:100%}.btn-link{border-radius:var(--radius-btn);justify-content:center;align-items:center;gap:.5rem;min-height:3.25rem;padding:.75rem 1.25rem;font-size:1rem;font-weight:700;line-height:1.25;text-decoration:none;transition:transform .12s,opacity .15s,background-color .15s;display:inline-flex}.btn-link.primary,[role=alert] a.btn-link.primary{background:var(--primary);color:var(--on-primary);text-decoration:none}.btn-link:hover{opacity:.94}.status-dot{border-radius:var(--radius-pill);background:var(--teal-accent);flex-shrink:0;width:.4375rem;height:.4375rem}.input-wrap{align-items:center;display:flex;position:relative}.input-icon{color:var(--muted);pointer-events:none;align-items:center;display:inline-flex;position:absolute;left:.875rem}.input-wrap input:not([type=checkbox]):not([type=radio]){background:var(--surface-low);padding-left:2.625rem}.input-wrap input:not([type=checkbox]):not([type=radio]):focus{background:var(--card)}.input-wrap input[aria-invalid=true]{background:var(--status-cancelled-bg)}.field-hint{color:var(--muted);align-items:center;gap:.375rem;margin:-.375rem 0 1.25rem;font-size:.75rem;font-weight:500;line-height:1.25rem;display:flex}.auth-page{flex-direction:column;gap:1.25rem;max-width:33.75rem;margin:0 auto;display:flex}.auth-hero{text-align:center;flex-direction:column;align-items:center;gap:.625rem;padding-top:.25rem;display:flex}.auth-emblem{border-radius:var(--radius-pill);background:var(--purple-subtle);width:5rem;height:5rem;color:var(--primary);box-shadow:var(--shadow-card);justify-content:center;align-items:center;margin-bottom:.25rem;display:inline-flex}.auth-pill{border-radius:var(--radius-pill);background:var(--surface);color:var(--primary);letter-spacing:.02em;align-items:center;gap:.375rem;padding:.25rem .75rem;font-size:.75rem;font-weight:700;line-height:1rem;display:inline-flex}.auth-hero h1{margin:0}.auth-lead{max-width:26rem;color:var(--muted);margin:0;font-size:.9375rem;line-height:1.4}.auth-card{flex-direction:column;gap:1.25rem;display:flex}.hint-box{border-radius:var(--radius-btn);background:var(--teal-surface);color:var(--secondary);align-items:flex-start;gap:.75rem;padding:.875rem 1rem;font-size:.875rem;line-height:1.4;display:flex}.hint-box p{margin:0}.auth-form{flex-direction:column;display:flex}.status-panel{border-radius:var(--radius-btn);background:var(--status-registered-bg);color:var(--status-registered-text);border:1px solid var(--teal-accent);align-items:flex-start;gap:.75rem;margin-top:1rem;padding:1.125rem;display:flex}.status-panel-icon{border-radius:var(--radius-pill);background:var(--teal-surface);width:2.25rem;height:2.25rem;color:var(--secondary);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.status-panel-text{align-self:center;margin:0;font-size:.9375rem;font-weight:700;line-height:1.45}.community-note{background:var(--surface-low);border-radius:var(--radius-card);align-items:center;gap:.875rem;padding:1rem 1.25rem;display:flex}.community-note-icon{border-radius:var(--radius-pill);background:var(--teal-surface);width:2.5rem;height:2.5rem;color:var(--secondary);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.community-note-title{color:var(--fg);margin:0;font-size:.875rem;font-weight:700}.community-note-text{color:var(--muted);margin:.125rem 0 0;font-size:.8125rem}.auth-footer{text-align:center;margin:.25rem 0 0;font-size:.875rem;font-weight:600}.verify-card{text-align:center;flex-direction:column;gap:1.5rem;display:flex}.verify-header{flex-direction:column;align-items:center;gap:.625rem;display:flex}.verify-header h1{margin:0}.verify-badge{border-radius:var(--radius-pill);background:var(--teal-surface);width:4rem;height:4rem;color:var(--secondary);justify-content:center;align-items:center;display:inline-flex}.verify-badge-error{background:var(--status-cancelled-bg);color:var(--status-cancelled-text)}.verify-form{flex-direction:column;gap:1.25rem;display:flex}.verify-lead{color:var(--muted);margin:0;font-size:.9375rem}.verify-error{flex-direction:column;align-items:center;gap:.875rem;padding:1.25rem;display:flex}.profile-page{flex-direction:column;gap:1.25rem;display:flex}.profile-page .page-header{margin-bottom:0}.profile-banner{background:linear-gradient(135deg, var(--purple-subtle), var(--surface-high));border:1px solid var(--card-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);align-items:center;gap:1rem;padding:1.125rem 1.25rem;display:flex}.profile-avatar-wrap{flex-shrink:0;position:relative}.profile-avatar{border-radius:var(--radius-pill);background:var(--primary);width:3.75rem;height:3.75rem;color:var(--on-primary);justify-content:center;align-items:center;font-size:1.25rem;font-weight:800;display:inline-flex}.profile-avatar-badge{border-radius:var(--radius-pill);background:var(--teal-accent);color:#fff;border:2px solid var(--card);justify-content:center;align-items:center;width:1.375rem;height:1.375rem;display:inline-flex;position:absolute;bottom:-.125rem;right:-.125rem}.profile-identity{flex:1;min-width:0}.profile-identity-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.profile-display-name{color:var(--fg);overflow-wrap:anywhere;font-size:1.125rem;font-weight:800}.profile-email{color:var(--muted);overflow-wrap:anywhere;margin:.125rem 0 0;font-size:.875rem}.onboarding-notice{background:var(--teal-surface);color:var(--secondary);border-radius:var(--radius-card);align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;display:flex}.onboarding-notice-icon{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--teal-accent) 20%, transparent);width:2.25rem;height:2.25rem;color:var(--secondary);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.onboarding-notice-body p{margin:0;font-size:.875rem;line-height:1.45}.onboarding-notice-title{font-weight:700;margin-bottom:.125rem!important}.card-section-header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.card-section-title{color:var(--fg);align-items:center;gap:.5rem;font-size:1rem;font-weight:700;display:inline-flex}.card-section-title .icon{color:var(--primary)}.card-section-tag{color:var(--muted);font-size:.75rem;font-weight:600}.status-toast{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:1rem;display:flex}.status-toast-label{align-items:center;gap:.375rem;display:inline-flex}.status-toast-action{border-radius:var(--radius-sm);background:var(--secondary);color:#fff;align-items:center;padding:.375rem .75rem;font-size:.8125rem;font-weight:700;text-decoration:none;display:inline-flex}@media (prefers-color-scheme:dark){.status-toast-action{color:#00201d}}.account-section h2{margin:.25rem 0 .75rem}.account-cards{flex-direction:column;gap:1rem;display:flex}.account-card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.125rem 1.25rem;display:flex}.account-card-info{flex:14rem}.account-card-title{color:var(--fg);margin:0;font-size:.9375rem;font-weight:700}.account-card-desc{color:var(--muted);margin:.25rem 0 0;font-size:.875rem;line-height:1.4}.account-card-danger{background:var(--status-cancelled-bg);border-color:color-mix(in srgb, var(--danger) 30%, transparent);flex-direction:column;align-items:stretch}.account-card-danger-header{align-items:flex-start;gap:.75rem;display:flex}.danger-icon-badge{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--danger) 16%, transparent);width:2.25rem;height:2.25rem;color:var(--status-cancelled-text);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.account-card-danger-title{color:var(--status-cancelled-text);margin:0;font-size:.9375rem;font-weight:700}.account-card-danger-actions{justify-content:flex-end;display:flex}.dialog-handle{border-radius:var(--radius-pill);background:var(--border);width:3rem;height:.375rem;margin:0 auto 1rem}@media (min-width:640px){.dialog-handle{display:none}}.dialog-header{align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.dialog-header h2{margin:0}.dialog-body{color:var(--muted);margin:.75rem 0 1.25rem;line-height:1.5}.dialog-actions{flex-direction:column;gap:.625rem;margin-top:1rem;display:flex}@media (min-width:640px){.dialog-actions{flex-direction:row-reverse}.dialog-actions button{flex:1}}.privacy-page{flex-direction:column;gap:1rem;display:flex}.privacy-top-nav{margin-bottom:.25rem}.back-pill{border-radius:var(--radius-pill);background:var(--surface);min-height:2.75rem;color:var(--primary);align-items:center;gap:.375rem;padding:.375rem .875rem;font-size:.875rem;font-weight:700;text-decoration:none;display:inline-flex}.back-pill:hover{background:var(--surface-high)}.icon-back{transform:rotate(90deg)}.privacy-hero{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.privacy-hero-main{align-items:flex-start;gap:1rem;display:flex}.privacy-hero-icon{background:var(--purple-subtle);width:3rem;height:3rem;color:var(--primary);border-radius:1rem;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.privacy-hero-copy{flex:1;min-width:0}.privacy-pill{border-radius:var(--radius-pill);background:var(--teal-surface);color:var(--secondary);align-items:center;gap:.375rem;margin-bottom:.375rem;padding:.1875rem .625rem;font-size:.75rem;font-weight:700;display:inline-flex}.privacy-hero h1{margin:0;font-size:1.375rem;line-height:1.75rem}.privacy-hero-lead{color:var(--muted);margin:.25rem 0 0;font-size:.875rem}.privacy-hero-bar{background:var(--surface-low);border-radius:var(--radius-input);color:var(--muted);padding:.625rem .875rem;font-size:.8125rem;font-weight:600}.privacy-hero-bar-item{align-items:center;gap:.375rem;display:inline-flex}.privacy-hero-bar-item .icon{color:var(--teal-accent)}.privacy-sections{flex-direction:column;gap:1rem;display:flex}.privacy-card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);grid-template-columns:2rem 1fr;align-items:center;gap:.5rem .75rem;padding:1.25rem;display:grid}.privacy-step{border-radius:var(--radius-pill);background:var(--surface);width:2rem;height:2rem;color:var(--primary);justify-content:center;align-items:center;font-size:.875rem;font-weight:700;display:inline-flex}.privacy-card h2{margin:0;font-size:1.125rem;line-height:1.5rem}.privacy-card>:not(.privacy-step):not(h2){color:var(--muted);grid-column:1/-1;margin:0;font-size:.9375rem;line-height:1.55}@media (min-width:640px){.privacy-card>:not(.privacy-step):not(h2){grid-column:2}}.privacy-list{flex-direction:column;gap:.375rem;padding-left:1.25rem;display:flex}.error-state-page{margin:2rem auto;padding:2.5rem 1.5rem}.error-state-page h1{margin:0}.error-state-desc{max-width:24rem;color:var(--muted);margin:0 0 .5rem}.admin-page{flex-direction:column;gap:1.5rem;display:flex}.admin-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;display:flex}.admin-header-main{align-items:center;gap:.875rem;min-width:0;display:flex}.admin-header-main h1{margin:0}.admin-header-icon{border-radius:var(--radius-pill);background:var(--primary);width:2.75rem;height:2.75rem;color:var(--on-primary);box-shadow:var(--shadow-card);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.admin-kicker{letter-spacing:.04em;text-transform:uppercase;color:var(--secondary);align-items:center;gap:.375rem;margin-bottom:.125rem;font-size:.75rem;font-weight:700;display:inline-flex}.admin-role-pill{border-radius:var(--radius-pill);background:var(--purple-subtle);color:var(--primary);align-items:center;gap:.375rem;padding:.3125rem .75rem;font-size:.75rem;font-weight:700;display:inline-flex}.admin-section{flex-direction:column;gap:.875rem;display:flex}.admin-section-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.admin-section-bar .day-header{margin-bottom:0}.admin-section-bar h2{margin:0}.admin-count-chip{color:var(--muted);font-size:.75rem;font-weight:600}.admin-card-header{align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.admin-card-header h2{margin:0}.admin-card-icon{background:var(--purple-subtle);width:2.5rem;height:2.5rem;color:var(--primary);border-radius:.875rem;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.admin-card-icon-teal{background:var(--teal-surface);color:var(--secondary)}.section-subtitle{color:var(--muted);margin:.125rem 0 0;font-size:.8125rem}.badge-cancelled{background:var(--status-cancelled-bg);color:var(--status-cancelled-text)}.badge-past{background:var(--surface);color:var(--primary);margin:0}.badge-inactive{background:var(--status-full-bg);color:var(--status-full-text)}.status-dot-muted{background:var(--status-full-text)}.admin-lesson-card{gap:1rem}.admin-lesson-heading{flex-direction:column;gap:.25rem;min-width:0;display:flex}.instructor-badge{background:var(--purple-subtle);color:var(--primary);text-align:center;border-radius:.875rem;flex-direction:column;align-items:center;padding:.375rem .75rem;display:inline-flex}.instructor-badge-label{color:var(--muted);font-size:.6875rem;font-weight:500;line-height:1.1}.instructor-badge-name{font-size:.8125rem;font-weight:700;line-height:1.25}.attendees-box{background:var(--surface-low);border-radius:1rem;flex-direction:column;gap:.625rem;padding:.875rem 1rem;display:flex}.attendees-box-header{color:var(--fg);align-items:center;gap:.5rem;font-size:.875rem;font-weight:700;display:flex}.attendees-box-header .icon{color:var(--primary)}.attendees-empty{color:var(--muted);margin:0;font-size:.875rem}.attendees-list{grid-template-columns:1fr;gap:.5rem;margin:0;padding:0;list-style:none;display:grid}@media (min-width:640px){.attendees-list{grid-template-columns:repeat(auto-fill,minmax(13.5rem,1fr))}}.attendees-list-compact{padding-top:.25rem}.attendee-item{background:var(--card);border:1px solid var(--card-border);border-radius:.75rem;align-items:center;gap:.625rem;min-width:0;padding:.4375rem .625rem;display:flex}.attendee-avatar{border-radius:var(--radius-pill);background:var(--purple-subtle);width:2rem;height:2rem;color:var(--primary);flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:800;display:inline-flex}.attendee-item:nth-child(2n) .attendee-avatar{background:var(--teal-surface);color:var(--secondary)}.attendee-name{color:var(--fg);overflow-wrap:anywhere;font-size:.875rem;font-weight:600}.admin-lesson-card .admin-actions{flex-direction:column;align-items:stretch;gap:.75rem;margin-top:.25rem;display:flex}.capacity-editor{background:var(--surface);border-radius:1rem;flex-direction:column;gap:.5rem;padding:.75rem 1rem;display:flex}.capacity-editor-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem;display:flex}.capacity-editor-row .field{flex:8rem;margin-bottom:0}@media (min-width:480px){.capacity-editor-row .field{max-width:11rem}}.capacity-editor-row input{text-align:center;font-weight:700}.admin-details{background:var(--surface-low);border:1px solid var(--card-border);border-radius:1rem;overflow:hidden}.admin-details-summary{background:var(--surface-high);min-height:3rem;color:var(--fg);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.9375rem;font-weight:700;list-style:none;display:flex}.admin-details-summary::-webkit-details-marker{display:none}.admin-details-title{align-items:center;gap:.5rem;display:inline-flex}.admin-details-title .icon{color:var(--primary)}.details-chevron{color:var(--muted);transition:transform .2s}.admin-details[open] .details-chevron{transform:rotate(180deg)}.admin-details-body{padding:1rem}.reschedule-form{flex-direction:column;gap:.875rem;display:flex}.reschedule-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.form-note{color:var(--muted);align-items:center;gap:.375rem;margin:0;font-size:.8125rem;display:inline-flex}.form-note .icon{color:var(--primary)}.admin-cancel-row{display:flex}.btn-danger-soft{background:var(--status-cancelled-bg);width:100%;color:var(--status-cancelled-text);border:1px solid color-mix(in srgb, var(--danger) 25%, transparent)}.dialog-callout{border-radius:var(--radius-input);background:var(--teal-surface);color:var(--secondary);align-items:flex-start;gap:.625rem;margin:.75rem 0 1rem;padding:.75rem 1rem;font-size:.875rem;line-height:1.4;display:flex}.dialog-callout p{margin:0}.admin-form{flex-direction:column;gap:1rem;display:flex}.admin-form>.field{margin-bottom:0}.form-grid-2,.form-grid-3,.form-grid-4{grid-template-columns:1fr;gap:1rem;display:grid}.form-grid-2 .field,.form-grid-3 .field,.form-grid-4 .field{margin-bottom:0}@media (min-width:640px){.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:900px){.form-grid-4{grid-template-columns:1.1fr .8fr .8fr 1.3fr}}.capacity-field-row{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;display:flex}.capacity-field-row .field{flex:0 9rem;margin-bottom:0}.capacity-field-hint{color:var(--muted);padding-top:1.25rem;font-size:.8125rem}.info-banner{background:var(--surface-low);border:1px solid var(--card-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);align-items:flex-start;gap:.875rem;padding:1rem 1.25rem;display:flex}.info-banner-icon{background:var(--purple-subtle);width:2.25rem;height:2.25rem;color:var(--primary);border-radius:.625rem;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.info-banner-body{flex:1;min-width:0}.info-banner-body p{color:var(--muted);margin:0;font-size:.875rem;line-height:1.45}.info-banner-title{font-weight:700;color:var(--fg)!important;margin-bottom:.125rem!important}@media (min-width:768px){.template-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}}.template-card{justify-content:space-between;padding-left:1.5rem;position:relative;overflow:hidden}.template-card:before{content:"";background:var(--primary);width:.375rem;position:absolute;inset:0 auto 0 0}.template-card:nth-child(2n):before{background:var(--teal-accent)}.template-card-inactive{opacity:.88}.template-card-inactive:before{background:var(--border)!important}.template-card-top{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.template-pills{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.template-time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.8125rem;font-weight:600}.template-summary{color:var(--muted);font-size:.875rem}.template-meta-grid{background:var(--surface-low);border-radius:.875rem;grid-template-columns:1fr;gap:.5rem;padding:.75rem;display:grid}@media (min-width:480px){.template-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.template-meta-chip{color:var(--fg);align-items:center;gap:.375rem;min-width:0;font-size:.8125rem;font-weight:600;display:inline-flex}.template-meta-chip .icon{color:var(--secondary)}.template-card-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding-top:.25rem;display:flex}.template-gen-status{color:var(--status-registered-text);align-items:center;gap:.375rem;font-size:.8125rem;font-weight:700;display:inline-flex}.template-gen-paused{color:var(--status-full-text)}.template-toggle-wrap{flex-direction:column;align-items:flex-end;gap:.375rem;display:flex}.template-toggle{min-height:3rem;padding:.5rem .875rem;font-size:.875rem}.template-switch-track{border-radius:var(--radius-pill);background:#ffffff4d;align-items:center;width:2.25rem;height:1.25rem;padding:2px;transition:background-color .15s;display:inline-flex}.template-toggle-active .template-switch-track{background:var(--teal-accent);justify-content:flex-end}.template-switch-thumb{border-radius:var(--radius-pill);background:#fff;width:1rem;height:1rem}.checkbox-card{border-radius:var(--radius-input);background:var(--teal-surface);border:1px solid color-mix(in srgb, var(--teal-accent) 30%, transparent);margin-bottom:0;padding:.875rem 1rem}.checkbox-card-text{flex-direction:column;display:flex}.checkbox-card-label{color:var(--fg);font-size:.9375rem;font-weight:700}.checkbox-card-hint{color:var(--secondary);font-size:.75rem;font-weight:600}.users-table,.users-table tbody{box-shadow:none;background:0 0;border-radius:0;flex-direction:column;gap:.875rem;display:flex;overflow:visible}.users-table thead{display:none}.users-table tr{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);flex-direction:column;gap:.625rem;padding:1.125rem;display:flex}.users-table td{border:0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:0;display:flex}.users-table td:before{content:attr(data-label);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;font-size:.75rem;font-weight:700}.users-table td.user-cell-role{background:var(--surface-low);border-radius:var(--radius-input);margin-top:.125rem;padding:.75rem}@media (min-width:768px){.users-table{border-collapse:separate;border-spacing:0;background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius-card);width:100%;box-shadow:var(--shadow-card);display:table;overflow:hidden}.users-table thead{z-index:1;display:table-header-group;position:sticky;inset-block-start:0}.users-table tbody{display:table-row-group}.users-table tr{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;display:table-row}.users-table th,.users-table td{vertical-align:middle;border-bottom:1px solid var(--card-border);padding:.875rem 1.25rem;display:table-cell}.users-table td.user-cell-role{background:0 0;border-radius:0;margin-top:0;padding:.875rem 1.25rem}.users-table td:before{content:none}.users-table tbody tr:last-child td{border-bottom:0}.users-table tbody tr:hover td{background:var(--surface-low)}}.user-identity{align-items:center;gap:.75rem;min-width:0;display:inline-flex}.user-avatar{border-radius:var(--radius-pill);flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:.875rem;font-weight:800;display:inline-flex}.user-avatar-participant{background:var(--purple-subtle);color:var(--primary)}.user-avatar-instructor{background:var(--teal-surface);color:var(--secondary)}.user-avatar-admin{background:var(--primary);color:var(--on-primary)}.user-name-text{color:var(--fg);overflow-wrap:anywhere;font-weight:700}.user-email-text{color:var(--muted);overflow-wrap:anywhere;font-size:.875rem}.role-control{flex-wrap:wrap;flex:12rem;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}@media (min-width:768px){.role-control{justify-content:flex-start}}.role-select{flex:9.5rem;width:auto;min-width:9.5rem;max-width:14rem;font-weight:600}.role-badge{border-radius:var(--radius-pill);letter-spacing:.02em;flex-shrink:0;align-items:center;padding:.25rem .625rem;font-size:.75rem;font-weight:700;display:inline-flex}.role-badge-participant{background:var(--surface);color:var(--muted)}.role-badge-instructor{background:var(--teal-surface);color:var(--secondary)}.role-badge-admin{background:var(--purple-subtle);color:var(--primary)}.roles-guide{background:var(--surface-low);border:1px solid var(--card-border);border-radius:var(--radius-card);flex-direction:column;gap:.875rem;padding:1.25rem;display:flex}.roles-guide-header{color:var(--primary);align-items:center;gap:.5rem;font-size:.875rem;font-weight:700;display:inline-flex}.roles-guide-grid{grid-template-columns:1fr;gap:.75rem;display:grid}@media (min-width:768px){.roles-guide-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.roles-guide-item{background:var(--card);border:1px solid var(--card-border);border-radius:1rem;flex-direction:column;align-items:flex-start;gap:.375rem;padding:.875rem 1rem;display:flex}.roles-guide-item p{color:var(--muted);margin:0;font-size:.8125rem;line-height:1.45}footer{flex-wrap:wrap;justify-content:center;align-items:center;gap:.25rem .75rem;display:flex}.footer-link-btn{border-radius:var(--radius-pill);min-height:3rem;color:var(--muted);text-decoration:underline;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);text-underline-offset:.2em;background:0 0;border:0;padding:0 .75rem;font-size:.875rem;font-weight:600}.footer-link-btn:hover:not(:disabled){color:var(--primary);background:var(--surface-low);opacity:1}.route-skeleton{color:var(--muted);background:0 0;border-radius:0;margin:0;padding:0}.skeleton-header-row{align-items:center;gap:.875rem;display:flex}.skeleton-circle{border-radius:var(--radius-pill);background:var(--surface-high);flex-shrink:0;width:2.75rem;height:2.75rem}.skeleton-heading{border-radius:var(--radius-sm);background:var(--surface-high);width:13rem;max-width:70%;height:2rem}.skeleton-subtitle{border-radius:var(--radius-pill);background:var(--surface);width:19rem;max-width:90%;height:1rem;margin-top:-.5rem}.skeleton-card-sm{height:6rem}.nav-progress{background:linear-gradient(90deg, var(--primary), var(--teal-accent), var(--primary));transform-origin:0;opacity:0;pointer-events:none;z-index:95;background-size:200% 100%;height:3px;position:fixed;top:0;left:0;right:0;transform:scaleX(0)}.site-header:after{content:"";background:linear-gradient(90deg, var(--primary), var(--teal-accent), var(--primary));transform-origin:0;opacity:0;pointer-events:none;background-size:200% 100%;height:3px;position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.nav-progress.is-pending{opacity:1;animation:.9s ease-in-out infinite nav-progress-bar}.site-header:has(.nav-progress.is-pending):after{opacity:1;animation:.9s ease-in-out infinite nav-progress-bar}@keyframes nav-progress-bar{0%{background-position:0%;transform:scaleX(.08)}60%{background-position:100%;transform:scaleX(.78)}to{background-position:0%;transform:scaleX(.95)}}.splash-overlay{z-index:120;background:var(--canvas);pointer-events:none;justify-content:center;align-items:center;animation:.55s cubic-bezier(.4,0,.2,1) forwards splash-fade;display:flex;position:fixed;inset:0}html[data-splash-seen] .splash-overlay{display:none}.splash-badge{flex-direction:column;align-items:center;gap:.75rem;display:inline-flex}.splash-mark{width:3.5rem;height:3.5rem;box-shadow:var(--shadow-card)}.splash-title{letter-spacing:-.02em;color:var(--primary);font-size:1.25rem;font-weight:800}@keyframes splash-fade{0%{clip-path:circle(150%);opacity:1;visibility:visible}95%{clip-path:circle(0%);opacity:1;visibility:visible}to{clip-path:circle(0%);opacity:0;visibility:hidden}}.btn-spinner{border-radius:var(--radius-pill);border:2.25px solid;border-right-color:#0000;flex-shrink:0;width:1.125rem;height:1.125rem;animation:.65s linear infinite btn-spin;display:inline-block}@keyframes btn-spin{to{transform:rotate(360deg)}}@keyframes lesson-enter{0%{opacity:.96;transform:translateY(.375rem)}to{opacity:1;transform:translateY(0)}}.lessons>.lesson{animation:.18s cubic-bezier(.22,1,.36,1) both lesson-enter}.lessons>.lesson:nth-child(2){animation-delay:35ms}.lessons>.lesson:nth-child(3){animation-delay:70ms}.lessons>.lesson:nth-child(n+4){animation-delay:.105s}.tour-backdrop{z-index:99;background:#1212129e;position:fixed;inset:0}.tour-backdrop-spotlight{box-shadow:0 0 0 2px var(--teal-accent), 0 0 0 100vmax #1212129e;pointer-events:none;background:0 0;border-radius:1.25rem;transition:top .2s,left .2s,width .2s,height .2s;inset:auto}.dialog.tour-dialog{z-index:101;box-shadow:var(--shadow-dialog);flex-direction:column;gap:.75rem;display:flex}@media (min-width:640px){.dialog.tour-dialog{max-width:24rem;inset:auto 1.5rem 1.5rem auto}}.tour-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.tour-step-counter{border-radius:var(--radius-pill);background:var(--purple-subtle);color:var(--primary);font-variant-numeric:tabular-nums;align-items:center;padding:.25rem .625rem;font-size:.75rem;font-weight:800;display:inline-flex}.tour-skip-btn{min-height:3rem;color:var(--muted);background:0 0;padding:.375rem .75rem;font-size:.875rem;font-weight:600}.tour-skip-btn:hover:not(:disabled){background:var(--surface-low);color:var(--fg)}.tour-title{margin:0;font-size:1.25rem;line-height:1.625rem}.tour-body{color:var(--muted);margin:0;font-size:.9375rem;line-height:1.5}.tour-dots{align-items:center;gap:.375rem;padding-top:.125rem;display:flex}.tour-dot{border-radius:var(--radius-pill);background:var(--border);width:.4375rem;height:.4375rem;transition:width .2s,background-color .2s}.tour-dot-active{background:var(--primary);width:1.25rem}.tour-actions{align-items:center;gap:.625rem;padding-top:.25rem;display:flex}.tour-btn-back,.tour-btn-next{flex:1}@media (prefers-reduced-motion:reduce){.splash-overlay{display:none!important}.lessons>.lesson{animation:none!important}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}[data-tour]{scroll-margin-top:8rem}@media (prefers-color-scheme:dark){h1,h2,h3,.title-day,.profile-display-name,.user-name-text{color:var(--text-primary)}.site-header{background:color-mix(in srgb, var(--bg) 88%, transparent);border-bottom-color:var(--card-border);box-shadow:0 1px 8px #00000080}.brand-mark{border:1px solid #ddb7ff38}nav a[aria-current=page]{border:1px solid #ddb7ff47}nav a:last-child{border:1px solid var(--card-border)}nav a:last-child[aria-current=page]{border-color:#0000;box-shadow:0 0 14px #ddb7ff40}.day-dot{background:var(--status-registered-text);box-shadow:0 0 8px #2dd4bf8c}.day-chip{border:1px solid #ddb7ff40}.lesson{transition:background-color .15s,border-color .15s}.lesson:hover:not(.admin-lesson-card){background:var(--surface)}.lesson-booked{border:1px solid var(--status-registered-border);box-shadow:0 0 20px -4px #14b8a640}.lesson-cancelled{opacity:1;border-color:var(--status-cancelled-border)}.badge-registered{border:1px solid #14b8a659}.badge-cancelled{border:1px solid var(--status-cancelled-border)}.badge-past{border:1px solid #ddb7ff40}.badge-inactive{border:1px solid var(--card-border)}.time-chip{color:var(--status-registered-text);background:#14b8a61f;border:1px solid #14b8a647}.lesson-meta-row .icon{color:var(--outline)}.capacity-box{background:var(--bg);border:1px solid var(--card-border)}.capacity-track{background:var(--surface-highlight)}.capacity-bar{box-shadow:0 0 10px #2dd4bf66}.capacity-bar-warn,.capacity-bar-full{box-shadow:none}.cancelled{border:1px solid var(--status-cancelled-border)}button,button.primary,.btn-link.primary{color:#fff;background:#9333ea;box-shadow:0 0 16px #a855f759}button.secondary{background:var(--surface);border:1px solid var(--border);box-shadow:none}.lesson-booked button.secondary{background:var(--status-registered-bg);color:var(--status-registered-text);border-color:var(--status-registered-border);box-shadow:none}button.danger{box-shadow:none}.btn-danger-soft{border-color:var(--status-cancelled-border);box-shadow:none}button:disabled,.lesson-cta-full:disabled,.footer-link-btn,.tour-skip-btn{box-shadow:none}.field label,label{color:var(--text-secondary)}.checkbox label,label.checkbox{color:var(--fg)}input:not([type=checkbox]):not([type=radio]),select,textarea,.input-wrap input:not([type=checkbox]):not([type=radio]){background:var(--bg);border:1px solid var(--border)}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus,.input-wrap input:not([type=checkbox]):not([type=radio]):focus{background:var(--surface-low);border-color:var(--primary);box-shadow:0 0 0 3px #ddb7ff33}input::placeholder,textarea::placeholder{color:var(--outline);opacity:1}[aria-invalid=true],.input-wrap input[aria-invalid=true]{border-color:var(--danger);background:var(--status-cancelled-bg)}[role=alert]{border-color:var(--status-cancelled-border)}.skeleton-card:after{background:linear-gradient(90deg, transparent, var(--surface-high), transparent)}.dialog{background:var(--surface);border-color:var(--border-prominent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-dialog), 0 0 0 100vmax #000000bf}.auth-emblem{border:2px solid #ddb7ff38;box-shadow:0 0 24px #9333ea38}.auth-pill,.admin-role-pill,.tour-step-counter{border:1px solid #ddb7ff40}.hint-box,.onboarding-notice,.dialog-callout{border:1px solid #14b8a64d}.community-note{background:var(--card);border:1px solid var(--card-border)}.community-note-icon,.verify-badge{border:1px solid #14b8a64d}.profile-banner{border-color:var(--border);background:linear-gradient(135deg,#241a38,#1e1b29,#18181b)}.profile-avatar{border:1px solid #ddb7ff59}.profile-avatar-badge{background:var(--status-registered-text);color:var(--surface-lowest)}.status-toast{border:1px solid #14b8a659}.account-card-danger,.danger-icon-badge{border-color:var(--status-cancelled-border)}.back-pill{background:var(--card);border:1px solid var(--border)}.privacy-hero-icon,.info-banner-icon,.admin-card-icon{border:1px solid #ddb7ff40}.admin-card-icon-teal,.privacy-pill{border:1px solid #14b8a64d}.privacy-hero-bar,.attendees-box,.capacity-editor,.admin-details,.template-meta-grid,.roles-guide-item{background:var(--bg);border:1px solid var(--card-border)}.privacy-step{border:1px solid var(--border)}.instructor-badge{background:var(--surface);border:1px solid var(--card-border)}.attendee-avatar,.user-avatar-participant,.role-badge-admin{border:1px solid #ddb7ff40}.attendee-item:nth-child(2n) .attendee-avatar,.user-avatar-instructor,.role-badge-instructor{border:1px solid #14b8a64d}.role-badge-participant{border:1px solid var(--card-border)}.admin-details-summary{background:var(--surface)}.info-banner,.roles-guide{background:var(--card)}.template-switch-track{background:#49008047}.users-table td.user-cell-role{background:var(--bg);border:1px solid var(--card-border)}@media (min-width:768px){.users-table td.user-cell-role{background:0 0;border:0}}.tour-backdrop{background:#050508c7}.tour-backdrop-spotlight{box-shadow:0 0 0 2px var(--secondary), 0 0 24px 2px #4fdbc859, 0 0 0 100vmax #050508c7}.dialog.tour-dialog{box-shadow:var(--shadow-dialog);border-color:#ddb7ff47}}
