.page-intro{margin-bottom:1.25rem}.page-intro h2{letter-spacing:-.02em;color:var(--text);margin:0 0 .35rem;font-size:1.375rem;font-weight:700}.page-intro p{color:var(--text-muted);margin:0;font-size:.9375rem;line-height:1.5}.empty-state{text-align:center;background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:2.5rem 1rem}.empty-state p{color:var(--text-muted);margin:0}.empty-hint{font-size:.8125rem;margin-top:.35rem!important}.btn{border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;padding:.65rem 1.125rem;font-family:inherit;font-size:.875rem;font-weight:600;transition:opacity .15s,transform .1s,background .15s;display:inline-flex}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 4px 14px var(--accent-muted)}.btn-primary:hover:not(:disabled){background:var(--accent-strong)}.btn-secondary{background:var(--surface);color:var(--accent-strong);border:1px solid var(--border)}.btn-ghost{color:var(--text-muted);border:1px solid var(--border);background:0 0;margin-top:.5rem}.btn-danger{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.btn-sm{padding:.4rem .65rem;font-size:.75rem}.btn-block{width:100%}.field{flex-direction:column;gap:.35rem;margin-bottom:.875rem;display:flex}.field span{color:var(--text-muted);font-size:.8125rem;font-weight:500}.field small.field-hint{color:var(--text-muted);margin:-.2rem 0 0;font-size:.78rem;line-height:1.35}.field input,.field textarea,.field select{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font:inherit;padding:.65rem .875rem}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent);outline:none}.field-checkbox{flex-direction:row;align-items:flex-start;gap:.6rem}.field-checkbox input{flex-shrink:0;width:1.05rem;height:1.05rem;margin-top:.2rem}.field-checkbox span{color:var(--text);font-size:.875rem;font-weight:400}.form-error{border-radius:var(--radius-sm);color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;margin:0 0 .875rem;padding:.65rem .875rem;font-size:.85rem}:root{--bg:#f0f7f8;--bg-soft:#e5f0f1;--surface:#fff;--border:#c8dce0;--text:#1a3d45;--text-muted:#5f8a92;--accent:#6cb4b7;--accent-strong:#58a0a3;--accent-muted:#6cb4b759;--accent-dim:#6cb4b724;--shadow-sm:0 2px 12px #6cb4b714;--shadow-md:0 8px 28px #1a3d4514;--radius:14px;--radius-sm:10px;color:var(--text);background-color:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}html,body{min-height:100dvh;margin:0}body{background:linear-gradient(165deg, #fff 0%, var(--bg) 45%, var(--bg-soft) 100%);background-attachment:fixed;min-width:320px}#root{min-height:100dvh}button,input,textarea,select{font-family:inherit}.install-prompt{z-index:20;background:linear-gradient(180deg, #fff 0%, var(--bg) 100%);border-bottom:1px solid var(--border);width:100%;box-shadow:var(--shadow-sm);opacity:0;pointer-events:none;-webkit-print-color-adjust:exact;print-color-adjust:exact;transition:transform .32s,opacity .28s;position:sticky;top:0;transform:translateY(-100%)}.install-prompt.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.install-prompt-inner{text-align:center;max-width:720px;margin:0 auto;padding:.85rem 1rem .95rem}.install-prompt-title{color:var(--text);letter-spacing:-.01em;margin:0 0 .35rem;font-size:.98rem;font-weight:700}.install-prompt-text{color:var(--text-muted);margin:0 0 .7rem;font-size:.84rem;line-height:1.4}.install-prompt-text strong{color:var(--text);font-weight:600}.install-prompt-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.install-prompt-actions .btn{min-width:8.5rem}@media (prefers-reduced-motion:reduce){.install-prompt{transition:none}}.app-splash{box-sizing:border-box;flex-direction:column;justify-content:space-between;align-items:center;min-width:0;max-width:720px;min-height:100dvh;margin:0 auto;padding:2rem 1.25rem 1.5rem;display:flex}.app-splash-main{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;min-width:0;display:flex}.app-splash-logo{object-fit:contain;border-radius:1.15rem;width:8.5rem;height:8.5rem;margin:0 auto 1.15rem;display:block}.app-splash-kicker{color:var(--text-muted);margin:0 0 .2rem;font-size:.9375rem}.app-splash-title{color:var(--text);letter-spacing:-.02em;margin:0;font-size:1.35rem;font-weight:700;line-height:1.3}.app-splash-hint{color:var(--text-muted);margin:.55rem 0 0;font-size:.875rem}.app-splash-wave{text-align:center;letter-spacing:.06em;color:var(--accent-strong);margin:0;padding:.5rem 0 .25rem;font-size:.9375rem;font-weight:600}.app-splash-letter{animation:1.15s ease-in-out infinite app-splash-wave;display:inline-block}.app-splash-inline{text-align:center;padding:2.5rem 1rem 1rem}@keyframes app-splash-wave{0%,55%,to{transform:translateY(0)}25%{transform:translateY(-.32em)}}@media (prefers-reduced-motion:reduce){.app-splash-letter{animation:none}}html,body,#root{box-sizing:border-box;min-width:0}.app-shell{box-sizing:border-box;flex-direction:column;width:100%;min-width:0;max-width:720px;min-height:100dvh;margin:0 auto;display:flex}.app-loading{text-align:center;color:var(--text-muted);margin:2rem auto;font-size:.9375rem}.app-header{z-index:10;box-sizing:border-box;background:var(--surface);border-bottom:1px solid var(--border);min-width:0;padding:.65rem 1rem .5rem;position:sticky;top:0;box-shadow:0 1px #1a3d450f}.app-header-bar{justify-content:space-between;align-items:center;gap:.5rem;min-width:0;min-height:2.5rem;display:flex}.app-header-title{text-align:center;flex:1;justify-content:center;align-items:center;gap:.45rem;min-width:0;display:flex}.app-header-logo{object-fit:contain;flex-shrink:0;width:2.125rem;height:2.125rem}.app-header-title-text{letter-spacing:-.02em;min-width:0;color:var(--accent-strong);white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;font-weight:700;display:block;overflow:hidden}.app-icon-btn{border:1px solid var(--border);background:var(--surface);width:2.5rem;height:2.5rem;color:var(--accent-strong);box-shadow:var(--shadow-sm);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;text-decoration:none;transition:background .15s,border-color .15s,transform .1s;display:inline-flex;position:relative}.app-account-badge{color:#fff;text-align:center;min-width:1.05rem;height:1.05rem;box-shadow:0 0 0 2px var(--surface);pointer-events:none;background:#b42318;border-radius:999px;padding:0 .22rem;font-size:.5625rem;font-weight:700;line-height:1.05rem;position:absolute;top:-.15rem;right:-.15rem}.app-icon-btn.active .app-account-badge{box-shadow:0 0 0 2px var(--accent-strong)}.app-icon-btn:hover{border-color:var(--accent-muted);background:var(--accent-dim)}.app-icon-btn:active{transform:scale(.96)}.app-icon-btn svg{width:1.15rem;height:1.15rem}.app-icon-btn.active{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.app-account-bookings{border-top:1px solid var(--border);margin:.5rem 0 .65rem;padding:.55rem 0 0}.app-account-bookings-toggle{width:100%;color:var(--accent-strong);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:.35rem 0;font-family:inherit;font-size:.8125rem;font-weight:600;display:flex}.app-account-bookings-toggle:hover{color:var(--text)}.app-account-bookings-chevron{color:var(--text-muted);font-size:1rem;line-height:1}.app-account-bookings-panel{border-bottom:1px solid var(--border);padding:.5rem 0 .65rem}.app-account-bookings-hint{color:var(--text-muted);margin:0 0 .5rem;font-size:.6875rem;line-height:1.4}.app-account-bookings-hint a{color:var(--accent-strong);font-weight:600;text-decoration:none}.app-account-bookings-hint a:hover{text-decoration:underline}.my-bookings-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.my-bookings-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:flex-start;gap:.75rem;padding:1rem 1.125rem;display:flex}.my-bookings-info{flex:1;min-width:0}.my-bookings-name{color:var(--text);margin:0 0 .25rem;font-size:1rem;font-weight:650}.my-bookings-meta{color:var(--text-muted);margin:0;font-size:.875rem;line-height:1.45}.my-bookings-cancel{flex-shrink:0;align-self:center}.my-bookings-empty{text-align:center;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin:0;padding:1.5rem 1.25rem}.my-bookings-error{color:#dc2626;margin:0 0 .75rem;font-size:.875rem}.my-bookings-footer{text-align:center;margin:1.25rem 0 0}.my-bookings-link{color:var(--accent-strong);font-weight:600;text-decoration:none}.my-bookings-link:hover{text-decoration:underline}.app-account-bookings-panel .my-bookings-list{gap:.5rem}.app-account-bookings-panel .my-bookings-item{background:var(--bg-soft);box-shadow:none;border-radius:var(--radius-sm);flex-direction:column;gap:.5rem;padding:.45rem .5rem}.app-account-bookings-panel .my-bookings-name{font-size:.8125rem;font-weight:600}.app-account-bookings-panel .my-bookings-meta{font-size:.6875rem;line-height:1.35}.app-account-bookings-panel .my-bookings-cancel{align-self:stretch}.app-account-bookings-panel .my-bookings-empty{text-align:left;box-shadow:none;background:0 0;border:none;padding:0;font-size:.75rem}.app-account-bookings-panel .my-bookings-error{margin-bottom:.5rem;font-size:.75rem}.app-account-bookings-panel .my-bookings-footer{text-align:left;margin-top:.45rem;font-size:.75rem}.app-main{box-sizing:border-box;min-width:0;max-width:100%;padding:0 1.25rem 1rem;padding-bottom:calc(5.5rem + env(safe-area-inset-bottom));flex:1}.app-main-no-nav{padding-bottom:calc(1rem + env(safe-area-inset-bottom))}.bottom-nav{inset-inline:0;box-sizing:border-box;width:auto;min-width:0;max-width:720px;padding:.5rem .35rem calc(.5rem + env(safe-area-inset-bottom));border-top:1px solid var(--border);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:20;background:#fffffff2;justify-content:space-around;align-items:stretch;margin-inline:auto;display:flex;position:fixed;bottom:0;overflow:hidden}.bottom-nav-item{min-width:0;color:var(--text-muted);border-radius:var(--radius-sm);flex-direction:column;flex:1 1 0;align-items:center;gap:.25rem;padding:.35rem .15rem;font-size:.6875rem;font-weight:500;text-decoration:none;transition:color .15s,background .15s;display:flex}.bottom-nav-item svg{flex-shrink:0;width:1.35rem;height:1.35rem}.bottom-nav-item span{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.bottom-nav-item.active{color:var(--accent-strong);background:var(--accent-dim)}@media (width<=420px){.app-main{padding-inline:.75rem}.bottom-nav{overflow:hidden}.bottom-nav-item{padding:.3rem .05rem;font-size:.625rem}.bottom-nav-item span{white-space:normal;text-align:center;overflow-wrap:anywhere;width:100%;line-height:1.15;overflow:hidden}}@media (width>=768px){.app-shell{max-width:960px}.bottom-nav{border-radius:var(--radius) var(--radius) 0 0;max-width:960px;margin:0 auto}.bottom-nav-item{font-size:.75rem}.bottom-nav-item svg{width:1.5rem;height:1.5rem}}.social-links-wrap{margin-top:1rem}.social-links-heading{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 .5rem;font-size:.6875rem;font-weight:600}.social-links{flex-wrap:wrap;gap:.65rem;margin:0;display:flex}.social-links-item{width:2.75rem;height:2.75rem;color:var(--text);background:var(--accent-dim);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;transition:background .15s,transform .1s,color .15s;display:inline-flex}.social-links-item:hover{background:var(--accent-muted);color:var(--accent-strong)}.social-links-item:active{transform:scale(.96)}.social-links-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.social-links-icon{flex-shrink:0;width:1.35rem;height:1.35rem;display:block;overflow:visible}.social-links-card{grid-template-columns:repeat(auto-fill,minmax(5.75rem,1fr));gap:.75rem;margin:0;display:grid}.social-links-card-item{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);color:var(--text);flex-direction:column;align-items:center;gap:.45rem;padding:1rem .5rem;text-decoration:none;transition:border-color .15s,background .15s,transform .1s;display:flex}.social-links-card-item:hover{border-color:var(--accent-muted);background:var(--bg-soft)}.social-links-card-item:active{transform:scale(.98)}.social-links-card-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.social-links-card-icon{background:var(--accent-dim);width:3.15rem;height:3.15rem;color:var(--accent-strong);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.social-links-card-icon .social-links-icon{width:1.55rem;height:1.55rem}.social-links-card-label{text-align:center;color:var(--accent-strong);letter-spacing:.02em;font-size:.75rem;font-weight:700;line-height:1.25}.welcome-page{--welcome-hero-gap:clamp(1rem, 3.5dvh, 1.75rem);overflow-wrap:break-word;min-width:0;max-width:100%;padding-bottom:1.5rem}.welcome-hero{text-align:center;width:100%;min-width:0;padding:var(--welcome-hero-gap) 0;flex-direction:column;justify-content:center;align-items:stretch;display:flex}.welcome-hero+.welcome-section{margin-top:0}.welcome-hero-logo{object-fit:contain;align-self:center;width:clamp(9rem,30vw,12rem);height:clamp(9rem,30vw,12rem);margin:0 auto clamp(.85rem,2.5dvh,1.25rem);display:block}.welcome-hero h1{letter-spacing:-.03em;width:100%;min-width:0;max-width:100%;color:var(--accent-strong);white-space:normal;overflow-wrap:anywhere;margin:0;font-size:1.5rem;font-weight:800;line-height:1.2}.welcome-tagline{width:100%;min-width:0;max-width:100%;color:var(--text-muted);overflow-wrap:anywhere;margin:.5rem 0 0;font-size:.9375rem;line-height:1.45}.welcome-socials-card .welcome-socials-intro{max-width:30rem;color:var(--text-muted);text-align:center;margin:0 auto 1rem;font-size:.9375rem;line-height:1.5}.welcome-section{box-sizing:border-box;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:0;max-width:100%;box-shadow:var(--shadow-sm);text-align:center;margin-top:1.5rem;padding:1.125rem}.welcome-section h2{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 .75rem;font-size:.9375rem;font-weight:700}.welcome-bio{box-sizing:border-box;width:100%;min-width:0;max-width:38rem;color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;text-align:center;margin:0 auto;font-size:.9375rem;line-height:1.55}.welcome-contact-list{flex-direction:column;align-items:center;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.welcome-contact-list li{text-align:center;flex-direction:column;align-items:center;gap:.15rem;max-width:min(100%,22rem);font-size:.9375rem;display:flex}.welcome-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.6875rem;font-weight:600}.welcome-contact-list a{color:var(--accent-strong);word-break:break-word;text-decoration:none}.welcome-contact-list a:hover{text-decoration:underline}.welcome-contact-empty{color:var(--text-muted);font-size:.875rem}.welcome-location-intro{max-width:38rem;color:var(--text);text-align:center;margin:0 auto .5rem;font-size:.9375rem;line-height:1.5}.welcome-address-line{max-width:38rem;color:var(--text);text-align:center;margin:0 auto .65rem;font-size:.9375rem;font-weight:600}.welcome-map-shell{aspect-ratio:16/10;border-radius:var(--radius-sm);border:1px solid var(--border);cursor:pointer;width:100%;max-height:220px;box-shadow:var(--shadow-sm);margin-bottom:.65rem;position:relative;overflow:hidden}.welcome-map-shell:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.welcome-map-frame{pointer-events:none;border:0;width:100%;height:100%;display:block}.welcome-map-link{color:var(--accent-strong);font-size:.875rem;font-weight:600;text-decoration:none;display:inline-block}.welcome-map-link:hover{text-decoration:underline}.embed-consent{text-align:center;background:var(--bg-soft);cursor:default;flex-direction:column;justify-content:center;align-items:center;gap:.65rem;min-height:10rem;padding:1rem;display:flex}.welcome-socials-card .social-links-card{flex-wrap:wrap;justify-content:center;gap:.75rem;max-width:min(100%,26rem);margin:0 auto;display:flex}.welcome-socials-card .social-links-card-item{flex:none;width:5.75rem}@media (width<=420px){.welcome-hero h1{white-space:normal;font-size:1.25rem}.welcome-tagline{font-size:.8125rem}}.video-player-wrap{aspect-ratio:16/9;border-radius:var(--radius);border:1px solid var(--border);background:#000;width:100%;position:relative;overflow:hidden}.video-player-wrap iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.video-player-status{background:var(--surface);justify-content:center;align-items:center;min-height:12rem;display:flex}.video-player-status p{text-align:center;color:var(--text-muted);margin:0;padding:0 1rem;font-size:.9375rem;line-height:1.45}.video-player-wrap.embed-consent{background:var(--surface);gap:.65rem}.video-player-wrap.embed-consent .btn{margin-top:.25rem}.workouts-page{overflow-wrap:break-word;min-width:0;max-width:100%;overflow-x:clip}.workouts-page .page-intro{text-align:center;min-width:0;margin-top:.5rem}.workouts-page .workouts-layout-row{justify-content:center}.workouts-page .video-player-wrap{aspect-ratio:16/9;border-radius:var(--radius);border:1px solid var(--border);width:100%;box-shadow:var(--shadow-sm);background:#000;margin-bottom:1.25rem;position:relative;overflow:hidden}.workouts-page .video-player-wrap iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.workouts-layout-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem .75rem;min-width:0;max-width:100%;margin-bottom:.75rem;display:flex}.workouts-layout-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.workouts-layout-toggle{box-sizing:border-box;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);gap:.35rem;min-width:0;max-width:100%;padding:.25rem;display:flex}.workouts-layout-btn{border-radius:var(--radius-sm);min-width:0;color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:.45rem .75rem;font-family:inherit;font-size:.8125rem;font-weight:600;transition:background .15s,color .15s}.workouts-layout-btn.active{background:var(--accent-dim);color:var(--accent-strong)}.video-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.video-picker-tiles .video-list{grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.75rem;display:grid}.video-picker-tiles .video-list>li{min-height:0;display:flex}@media (width>=480px){.video-picker-tiles .video-list{grid-template-columns:repeat(auto-fill,minmax(11.5rem,1fr))}}.video-card{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;box-shadow:var(--shadow-sm);cursor:pointer;flex-direction:column;gap:.25rem;padding:.875rem 1rem;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.video-card:hover{border-color:var(--accent-muted)}.video-card.active{border-color:var(--accent);background:var(--accent-dim)}.video-card-tile{flex:1;height:100%;padding:0;overflow:hidden}.video-card-thumb{aspect-ratio:16/9;background:var(--surface);flex-shrink:0;width:100%;display:block;overflow:hidden}.video-card-thumb img{object-fit:cover;width:100%;height:100%}.video-card-thumb-placeholder{background:linear-gradient(140deg, var(--accent-dim), var(--surface));border-bottom:1px solid var(--border)}.video-card-body{flex-direction:column;flex:1;gap:.25rem;min-width:0;padding:.625rem .75rem .75rem;display:flex}.video-card-tile .video-card-body{flex:1}.video-card:not(.video-card-tile) .video-card-body{gap:inherit;padding:0}.video-card-meta{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;display:flex}.video-card-category{text-transform:uppercase;letter-spacing:.06em;color:var(--accent-strong);font-size:.6875rem;font-weight:600}.video-card-title{color:var(--text);font-size:.9375rem;font-weight:600}.video-card-desc{color:var(--text-muted);font-size:.8125rem;line-height:1.4}.video-card-desc-clamp{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.blog-page .page-intro{text-align:center}.blog-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.blog-card{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;box-shadow:var(--shadow-sm);cursor:pointer;padding:1rem 1.125rem;transition:border-color .15s,box-shadow .15s}.blog-card:hover{border-color:var(--accent-muted)}.blog-card time{color:var(--text-muted);font-size:.75rem}.blog-card h3{color:var(--text);margin:.35rem 0 .5rem;font-size:1rem;font-weight:600}.blog-card p{color:var(--text-muted);margin:0;font-size:.875rem;line-height:1.5}.read-more{color:var(--accent-strong);margin-top:.75rem;font-size:.8125rem;font-weight:600;display:inline-block}.blog-page .back-btn{width:100%;color:var(--accent-strong);text-align:center;cursor:pointer;background:0 0;border:none;margin-bottom:1rem;padding:0;font-size:.875rem;font-weight:500;display:block}.blog-page .blog-article{text-align:center}.blog-article time{color:var(--text-muted);font-size:.8125rem}.blog-article h2{margin:.5rem 0 1rem;font-size:1.5rem;line-height:1.25}.blog-body{color:var(--text-muted);white-space:pre-wrap;font-size:.9375rem;line-height:1.65}.booking-calendar{flex-direction:column;gap:1rem;display:flex}.cal-toolbar-stack{flex-direction:column;align-items:stretch;gap:.5rem;display:flex}.cal-toolbar{box-sizing:border-box;background:var(--bg-soft);border:1px solid var(--border);border-radius:999px;align-self:stretch;gap:.25rem;width:100%;min-width:0;max-width:100%;padding:.25rem;display:flex}.cal-view-btn{min-width:0;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;flex:1 1 0;padding:.45rem .75rem;font-size:.85rem;font-weight:600;transition:background .15s,color .15s}.cal-view-btn.active{background:var(--surface);color:var(--accent-strong);box-shadow:var(--shadow-sm)}.cal-blocks-btn{border:1px solid var(--border);background:var(--bg-soft);width:100%;color:var(--text-muted);cursor:pointer;border-radius:999px;padding:.55rem 1rem;font-family:inherit;font-size:.85rem;font-weight:600;transition:background .15s,color .15s,border-color .15s}.cal-blocks-btn.active{background:var(--accent-dim);color:var(--accent-strong);border-color:var(--accent-muted)}.cal-nav{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.cal-nav-btn{border:1px solid var(--border);background:var(--surface);width:2.5rem;height:2.5rem;color:var(--accent-strong);cursor:pointer;border-radius:50%;flex-shrink:0;font-size:1.1rem;transition:background .15s}.cal-nav-btn:hover{background:var(--bg-soft)}.cal-nav-center{text-align:center;flex:1}.cal-nav-label{color:var(--text);margin:0;font-size:1rem;font-weight:700}.cal-nav-today{color:var(--accent-strong);cursor:pointer;background:0 0;border:none;margin-top:.15rem;font-size:.8rem;font-weight:600;text-decoration:underline}.cal-day-heading{color:var(--text);align-items:center;gap:.5rem;margin:0 0 .65rem;font-size:1rem;font-weight:700;display:flex}.cal-today-pill{text-transform:uppercase;letter-spacing:.05em;color:#fff;background:var(--accent);border-radius:999px;padding:.15rem .5rem;font-size:.7rem;font-weight:700}.cal-schedule{flex-direction:column;gap:1.5rem;display:flex}.cal-session-list{flex-direction:column;gap:.75rem;display:flex}.cal-session{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);padding:.85rem 1rem}.cal-session-head{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.45rem;display:flex}.cal-session-titles{text-align:center;width:100%;min-width:0}.cal-session-name{color:var(--text);overflow-wrap:anywhere;text-align:center;margin:0;font-size:.975rem;font-weight:700}.cal-session-meta{color:var(--text-muted);overflow-wrap:anywhere;text-align:center;margin:.2rem 0 0;font-size:.8125rem}.cal-session-spaces{color:var(--accent-strong);background:var(--accent-dim);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:.25rem .55rem;font-size:.75rem;font-weight:700}.cal-session-spaces.full{color:#b91c1c;background:#fef2f2}.cal-session-spaces.yours{color:var(--accent-strong);background:var(--accent-dim)}.cal-session-yours{background:var(--accent-dim)}.cal-session-actions{text-align:center;flex-direction:column;align-items:center;margin-top:.75rem;display:flex}.cal-week{flex-direction:column;gap:.85rem;display:flex}.cal-day-column.is-today{position:relative}.cal-week-heading{border-bottom:1px solid var(--border);align-items:baseline;gap:.4rem;margin-bottom:.5rem;padding-bottom:.35rem}.cal-week-weekday{text-transform:uppercase;letter-spacing:.04em;color:var(--accent-strong);font-size:.8rem}.cal-week-date{color:var(--text-muted);font-size:.95rem}.cal-day-column.is-today .cal-week-heading{border-bottom-color:var(--accent)}.cal-week-empty{color:var(--text-muted);margin:0 0 .25rem;font-size:.85rem}.cal-empty{padding:1.75rem 1rem}@media (width<=420px){.cal-view-btn{white-space:normal;flex:1 1 0;min-width:0;padding:.4rem .35rem;font-size:.75rem;line-height:1.15}}@media (width>=820px){.cal-week{grid-template-columns:repeat(7,1fr);align-items:start;gap:.6rem;display:grid}.cal-week .cal-session{padding:.6rem .65rem}.cal-week .cal-session-head{flex-direction:column;gap:.4rem}.cal-week .cal-session-name{font-size:.85rem}}.signature-pad{text-align:left;flex-direction:column;gap:.45rem;margin:.75rem 0 .25rem;display:flex}.signature-pad-head{color:var(--text);justify-content:space-between;align-items:center;gap:.75rem;font-size:.875rem;font-weight:600;display:flex}.signature-pad-canvas{touch-action:none;cursor:crosshair;border:1px dashed var(--accent-muted);border-radius:var(--radius-sm);background:#fff;width:100%;height:10rem;box-shadow:inset 0 1px #1a6b630f}.signature-pad-hint{color:var(--text-muted);margin:0;font-size:.75rem}.signature-preview{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;margin-top:.35rem;padding:.5rem}.signature-preview img{object-fit:contain;width:100%;max-height:8rem;display:block}.admin-booking{flex-direction:column;gap:1rem;display:flex}.admin-own-only{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:.5rem;margin:0;font-size:.875rem;font-weight:600;display:flex}.admin-own-only input{width:1rem;height:1rem;accent-color:var(--accent)}.admin-add-mode{grid-template-columns:1fr 1fr;gap:.35rem;display:grid}.admin-add-mode-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font:inherit;color:var(--text-muted);cursor:pointer;padding:.55rem .5rem;font-size:.8125rem;font-weight:600}.admin-add-mode-btn.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent-strong)}.admin-add-check{align-items:flex-start;gap:.5rem;flex-direction:row!important;display:flex!important}.admin-add-check input{flex-shrink:0;width:1rem;height:1rem;margin-top:.15rem}.admin-created-note{background:var(--accent-dim);border:1px solid var(--accent-muted);border-radius:var(--radius-sm);text-align:center;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem .9rem;display:flex}.admin-created-note p{color:var(--accent-strong);word-break:break-word;margin:0;font-size:.8125rem;line-height:1.45}.admin-source-banner{border-radius:var(--radius-sm);border:1px solid var(--border);padding:.65rem .9rem;font-size:.85rem;line-height:1.4}.admin-source-banner.mock{color:#92400e;background:#fffbeb;border-color:#fde68a}.admin-source-banner.acuity{background:var(--accent-dim);border-color:var(--accent-muted);color:var(--accent-strong)}.admin-attendees-dropdown{border-top:1px dashed var(--border);margin-top:.75rem;padding-top:.65rem}.admin-attendees-summary{cursor:pointer;color:var(--accent-strong);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:.4rem;font-size:.8125rem;font-weight:600;list-style:none;display:flex}.admin-attendees-summary::-webkit-details-marker{display:none}.admin-attendees-summary:after{content:"";border-right:2px solid var(--accent-strong);border-bottom:2px solid var(--accent-strong);width:.4rem;height:.4rem;margin-top:-.15rem;transition:transform .15s;transform:rotate(45deg)}.admin-attendees-dropdown[open]>.admin-attendees-summary:after{margin-top:.15rem;transform:rotate(-135deg)}.admin-attendees{flex-direction:column;gap:.5rem;margin-top:.65rem;display:flex}.admin-attendees-empty{color:var(--text-muted);text-align:center;margin:.5rem 0 0;font-size:.8125rem;font-style:italic}.admin-attendee{flex-direction:column;align-items:stretch;gap:.5rem;display:flex}@media (width>=480px){.admin-attendee{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:.65rem}}.admin-attendee-actions{flex-wrap:wrap;flex-shrink:0;gap:.35rem;display:flex}.admin-attendee-info{flex-direction:column;gap:.15rem;min-width:0;display:flex}.admin-attendee-name{color:var(--text);overflow-wrap:anywhere;font-size:.875rem;font-weight:600}.admin-attendee-name-btn{font:inherit;color:var(--accent-strong);text-underline-offset:.15em;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.admin-attendee-name-btn:hover{color:var(--accent)}.admin-attendee-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--accent-strong);background:var(--accent-dim);vertical-align:middle;cursor:default;border:none;border-radius:999px;margin-left:.4rem;padding:.1rem .4rem;font-family:inherit;font-size:.65rem;font-weight:700}button.admin-attendee-badge{cursor:pointer}.admin-attendee-badge.filled{color:#166534;background:#dcfce7}.admin-attendee-badge.arrival{color:#92400e;background:#fef3c7}.admin-attendee-badge.missing{color:#991b1b;background:#fee2e2}.admin-form-viewer-backdrop{z-index:40;background:#0f172a73;justify-content:center;align-items:flex-end;padding:1rem;display:flex;position:fixed;inset:0}@media (width>=640px){.admin-form-viewer-backdrop{align-items:center}}.admin-form-viewer{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:min(100%,28rem);max-height:min(85vh,40rem);box-shadow:var(--shadow-sm);text-align:left;padding:1.1rem 1.15rem 1.25rem;overflow:auto}.admin-form-viewer-head{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem;display:flex}.admin-form-viewer-head h3{color:var(--text);margin:0;font-size:1.05rem}.admin-form-viewer-meta{color:var(--text-muted);margin:.2rem 0 0;font-size:.8125rem}.admin-form-viewer-status{border-radius:var(--radius-sm);margin:0 0 .75rem;padding:.45rem .65rem;font-size:.8125rem;font-weight:600}.admin-form-viewer-status.filled{color:#166534;background:#dcfce7}.admin-form-viewer-status.arrival{color:#92400e;background:#fef3c7}.admin-form-viewer-status.missing{color:#991b1b;background:#fee2e2}.admin-form-viewer-answers{flex-direction:column;gap:.75rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.admin-form-viewer-answers li{border-top:1px dashed var(--border);flex-direction:column;gap:.2rem;padding-top:.65rem;display:flex}.admin-form-viewer-answers li:first-child{border-top:none;padding-top:0}.admin-form-viewer-answers strong{color:var(--text);font-size:.8125rem}.admin-form-viewer-answers span{color:var(--text-muted);white-space:pre-wrap;font-size:.875rem;line-height:1.45}.admin-form-viewer .signature-preview{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;margin-top:.35rem;padding:.5rem}.admin-form-viewer .signature-preview img{object-fit:contain;width:100%;max-height:8rem;display:block}.admin-attendee-contact{color:var(--text-muted);overflow-wrap:anywhere;font-size:.78rem}.admin-attendee-notes{color:var(--text-muted);font-size:.78rem;font-style:italic}.admin-booking .cal-session-actions{min-width:0;max-width:100%}.admin-attendee.cancelled{opacity:.7;align-items:center}.admin-attendee.cancelled .admin-attendee-name{font-weight:400;text-decoration:line-through}.cancelled-badge{color:#b91c1c;background:#fef2f2}.admin-move-select{border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;background:var(--surface);padding:.35rem .5rem;font-size:.8rem}.admin-add-trigger{width:100%}.admin-add-booking{flex-direction:column;gap:.5rem;min-width:0;max-width:100%;margin-top:.25rem;display:flex}.admin-add-booking input{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;max-width:100%;font:inherit;background:var(--surface);padding:.5rem .65rem;font-size:.85rem}.admin-add-row{flex-direction:column;gap:.5rem;min-width:0;display:flex}@media (width>=480px){.admin-add-row{grid-template-columns:1fr 1fr;display:grid}}.admin-add-actions{gap:.5rem;display:flex}.admin-add-actions .btn{flex:1}.booking-back{color:var(--accent-strong);cursor:pointer;background:0 0;border:none;align-self:flex-start;margin-bottom:1rem;padding:0;font-size:.875rem;font-weight:600}.booking-selected{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:1.25rem;padding:1rem 1.125rem}.booking-selected h2{color:var(--text);margin:0 0 .35rem;font-size:1.125rem}.booking-selected-meta{color:var(--text-muted);margin:0;font-size:.875rem;line-height:1.5}.booking-signin-prompt{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);text-align:center;padding:1.5rem 1.25rem}.booking-signin-prompt h3{color:var(--text);margin:0 0 .5rem}.booking-signin-prompt p{color:var(--text-muted);margin:0 0 1.25rem;font-size:.9375rem;line-height:1.5}.booking-health-ok{color:var(--accent-strong);margin:0 0 1rem;font-size:.85rem;font-weight:600}.booking-name-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.course-book-actions{gap:.5rem;margin-top:.5rem;display:flex}.course-book-actions .btn{flex:1}.course-book-full{color:#b91c1c;text-align:center;margin:0;font-size:.8125rem;font-weight:600}.course-book-yours{color:var(--accent-strong);text-align:center;margin:0;font-size:.8125rem;font-weight:600;line-height:1.4}.course-book-yours a{color:var(--accent-strong);text-decoration:underline}.booking-page .page-intro{text-align:center;min-width:0;max-width:100%}.booking-page .page-intro h2,.booking-page .page-intro p{white-space:normal;overflow-wrap:anywhere}.booking-page{overflow-wrap:anywhere;min-width:0;max-width:100%}.booking-membership-card{box-sizing:border-box;background:var(--accent-dim);border:1px solid var(--accent-muted);border-left:4px solid var(--accent);border-radius:var(--radius);min-width:0;max-width:100%;box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:.85rem 1rem;margin:0 0 1.15rem;padding:.85rem 1rem;display:flex}.booking-membership-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-strong);margin:0;font-size:.72rem;font-weight:700}.booking-membership-copy{color:var(--text);margin:.2rem 0 0;font-size:.875rem;line-height:1.4}.booking-membership-btn{white-space:nowrap;flex-shrink:0}.booking-membership-inline{color:var(--text-muted);margin:-.35rem 0 1rem;font-size:.8125rem;line-height:1.45}.booking-membership-inline a{color:var(--accent-strong);font-weight:700}.booking-token-option-membership:not(.booking-token-option-disabled){border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--accent-muted);margin-left:-.35rem;margin-right:-.35rem;padding:.45rem .5rem .45rem .35rem}@media (width<=560px){.booking-membership-card{flex-direction:column;align-items:stretch}.booking-membership-btn{text-align:center}}.booking-success{text-align:center;padding:2rem 1rem}.success-icon{background:var(--accent-dim);width:3.5rem;height:3.5rem;color:var(--accent-strong);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 1rem;font-size:1.5rem;font-weight:700;display:flex}.booking-success h2{margin:0 0 .5rem}.booking-success p{color:var(--text-muted);margin-bottom:1.5rem;font-size:.9375rem;line-height:1.5}.block-booking{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin:0 0 1.5rem;padding:1rem 1.125rem}.block-booking-tab{margin:0}.block-booking h3{color:var(--text);margin:0 0 .35rem;font-size:1.05rem}.block-booking-lead{color:var(--text-muted);margin:0 0 .85rem;font-size:.875rem;line-height:1.45}.block-booking-list{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.block-booking-card{box-sizing:border-box;background:var(--bg-soft,#f7f8f8);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:.75rem;min-width:0;max-width:100%;padding:.75rem .85rem;display:flex}.block-booking-name{color:var(--text);margin:0;font-size:.95rem;font-weight:650}.block-booking-meta{color:var(--text-muted);margin:.2rem 0 0;font-size:.8125rem}.block-booking-balance{color:var(--accent-strong);margin:.35rem 0 0;font-size:.75rem;font-weight:600}.block-booking-balance a{color:inherit}.block-booking-success{color:var(--accent-strong);margin:.75rem 0 0;font-size:.8125rem;font-weight:600;line-height:1.4}.course-book-token-hint{color:var(--accent-strong);text-align:center;margin:0 0 .45rem;font-size:.75rem;font-weight:600}.booking-token-choice{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--accent-dim);margin:0 0 1rem;padding:.85rem 1rem}.booking-token-choice legend{color:var(--accent-strong);padding:0 .25rem;font-size:.8125rem;font-weight:700}.booking-token-option{color:var(--text);cursor:pointer;align-items:flex-start;gap:.5rem;margin:.45rem 0 0;font-size:.875rem;line-height:1.4;display:flex}.booking-token-option:first-of-type{margin-top:.25rem}.booking-token-option input{margin-top:.15rem}.booking-token-option span{flex-direction:column;gap:.15rem;display:flex}.booking-token-option strong{font-weight:650}.booking-pay-detail{color:var(--text-muted);font-size:.8125rem;font-weight:500}.booking-token-option-disabled{opacity:.55;cursor:not-allowed}.membership-plan-card{flex-direction:column;align-items:stretch;gap:.75rem}.membership-agree{text-align:left;justify-content:flex-start;font-size:.875rem}.membership-terms-page .membership-terms{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:1.25rem;padding:1.25rem 1.125rem}.membership-terms h3{margin:1.25rem 0 .4rem;font-size:1rem}.membership-terms h3:first-child{margin-top:0}.membership-terms p{color:var(--text);margin:0 0 .65rem;font-size:.9375rem;line-height:1.55}.auth-page{text-align:center;padding-top:2rem;padding-top:calc(2rem + env(safe-area-inset-top,0px));overflow-wrap:anywhere;flex-direction:column;align-items:stretch;min-width:0;max-width:100%;display:flex}.auth-page .page-intro h2,.auth-page .page-intro p,.auth-page .auth-welcome,.auth-page .auth-welcome-tagline,.auth-page .auth-lead{text-align:center;white-space:normal;overflow-wrap:anywhere;width:100%;min-width:0}.auth-welcome{min-width:0;max-width:100%;color:var(--text);overflow-wrap:anywhere;margin:0 0 .35rem;font-size:1.125rem;font-weight:600;line-height:1.4}.auth-welcome strong{color:var(--accent-strong);font-weight:700}.auth-welcome-tagline{width:100%;min-width:0;max-width:100%;color:var(--text-muted);overflow-wrap:anywhere;margin:0 0 .75rem;font-size:.875rem;line-height:1.45}.auth-page .field{flex-direction:column;gap:.35rem;min-width:0;max-width:100%;margin-bottom:.875rem;display:flex}.auth-page .field span{color:var(--text-muted);text-align:center;font-size:.8125rem;font-weight:500}.auth-page .field input{box-sizing:border-box;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;min-width:0;max-width:100%;color:var(--text);font:inherit;text-align:center;padding:.65rem .875rem}.auth-page .field input::placeholder{text-align:center}.auth-signed-email{word-break:break-word;color:var(--text)!important;margin:.25rem 0 0!important;font-size:.9375rem!important}.auth-role-pill{text-transform:uppercase;letter-spacing:.04em;color:var(--accent-strong);background:var(--accent-dim);border-radius:999px;margin:.75rem 0 0;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.auth-actions{flex-direction:column;gap:.5rem;display:flex}.auth-link-btn{text-align:center;text-decoration:none}.auth-lead{overflow-wrap:anywhere;width:100%;min-width:0;max-width:100%;margin-top:.25rem!important}.auth-mode-toggle{box-sizing:border-box;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);gap:.35rem;min-width:0;max-width:100%;margin-bottom:1rem;padding:.25rem;display:flex}.auth-mode-btn{border-radius:var(--radius-sm);min-width:0;color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex:1;padding:.5rem .75rem;font-family:inherit;font-size:.8125rem;font-weight:600}.auth-mode-btn.active{background:var(--accent-dim);color:var(--accent-strong)}.auth-success{color:var(--text);border-radius:var(--radius-sm);background:#6cb4b71f;margin:0 0 1rem;padding:.65rem .875rem;font-size:.8125rem;line-height:1.45}.auth-error{color:#b91c1c;margin:0 0 1rem;font-size:.8125rem}.auth-form{min-width:0;max-width:100%;margin-bottom:1rem}.auth-forgot-wrap{text-align:center;margin:-.35rem 0 .85rem}.auth-forgot-btn{font:inherit;color:var(--accent-strong);cursor:pointer;text-underline-offset:.15em;background:0 0;border:none;padding:0;font-size:.8125rem;font-weight:600;text-decoration:underline}.auth-forgot-btn:hover{color:var(--text)}.auth-checkbox{color:var(--text-muted);cursor:pointer;align-items:flex-start;gap:.5rem;margin:-.25rem 0 1rem;font-size:.8125rem;line-height:1.4;display:flex}.auth-checkbox input{flex-shrink:0;margin-top:.2rem}.auth-hint-testing{color:var(--text-muted);margin:0;font-size:.75rem;line-height:1.45}.auth-hint-testing code{font-size:inherit;background:var(--bg-soft);border-radius:4px;padding:.1rem .3rem}.btn-google{box-sizing:border-box;width:100%;min-width:0;max-width:100%;color:var(--text);background:var(--surface);border:1px solid var(--border);justify-content:center;align-items:center;gap:.5rem;margin-bottom:0;font-weight:600;display:flex}.btn-google:hover:not(:disabled){background:var(--bg-soft)}.btn-google:disabled{opacity:.6;cursor:not-allowed}.auth-divider{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);align-items:center;gap:.75rem;margin:1rem 0;font-size:.75rem;font-weight:600;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-divider span{flex-shrink:0}.auth-page .btn-block{box-sizing:border-box;min-width:0;max-width:100%}@media (width<=420px){.auth-mode-btn{padding:.45rem .4rem}.btn-google,.auth-page .btn-block,.auth-page .field input{min-height:44px;padding-left:.65rem;padding-right:.65rem}}.payments-tokens{margin-bottom:1.5rem}.payments-tokens h3{color:var(--text);margin:0 0 .65rem;font-size:1rem}.payments-tokens h4{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:1.25rem 0 .5rem;font-size:.8125rem;font-weight:650}.payments-tokens-empty{color:var(--text-muted);margin:0;font-size:.875rem}.payments-tokens-empty a{color:var(--accent-strong);font-weight:600}.payments-tokens-empty-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;align-items:flex-start;gap:.75rem;padding:1rem 1.125rem;display:flex}.payments-tokens-empty-card p{color:var(--text-muted);margin:0;font-size:.875rem}.payments-token-list{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.payments-token-add{margin:.85rem 0 0;font-size:.875rem}.payments-token-add a{color:var(--accent-strong);font-weight:600}.payments-token-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:.75rem;padding:.9rem 1rem;display:flex}.payments-token-card.muted{box-shadow:none;opacity:.85}.payments-token-name{color:var(--text);margin:0;font-size:.95rem;font-weight:650}.payments-token-meta{color:var(--text-muted);margin:.2rem 0 0;font-size:.8125rem;line-height:1.4}.payments-token-count{background:var(--accent-dim);min-width:2.25rem;height:2.25rem;color:var(--accent-strong);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;font-weight:700;display:inline-flex}.payments-placeholder{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;align-items:center;gap:.85rem;padding:2rem 1.25rem;display:flex}.payments-placeholder-mark{background:var(--accent-dim);width:3.25rem;height:3.25rem;color:var(--accent-strong);border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;font-weight:700;line-height:1;display:flex}.payments-placeholder p{max-width:22rem;color:var(--text-muted);margin:0;font-size:.9375rem;line-height:1.5}.payments-account{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1.25rem}.payments-account h3{color:var(--text);margin:0 0 .35rem;font-size:.9375rem}.payments-account-email{color:var(--text-muted);word-break:break-all;margin:0 0 .85rem;font-size:.875rem}.payments-account-actions{flex-wrap:wrap;gap:.5rem;display:flex}.account-page{text-align:center;max-width:26rem;margin-left:auto;margin-right:auto;padding-top:1.5rem}.account-tabs .account-tab-alerts{justify-content:center;align-items:center;gap:.35rem;display:inline-flex}.account-tab-bell-wrap{flex-shrink:0;width:1.1rem;height:1.1rem;display:inline-flex;position:relative}.account-tab-bell{width:1.1rem;height:1.1rem}.account-tab-badge{color:#fff;text-align:center;background:#b42318;border-radius:999px;min-width:1rem;height:1rem;padding:0 .22rem;font-size:.5625rem;font-weight:700;line-height:1rem;position:absolute;top:-.35rem;right:-.55rem}.account-push-actions{flex-direction:column;gap:.5rem;width:100%;display:flex}.account-alert-prefs{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:left;flex-direction:column;gap:.55rem;width:100%;padding:.85rem .95rem;display:flex}.account-alert-prefs-heading{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:.75rem;font-weight:700}.account-alert-toggle{cursor:pointer;justify-content:space-between;align-items:center;gap:.75rem;margin:0;display:flex}.account-alert-toggle span{flex-direction:column;gap:.15rem;min-width:0;display:flex}.account-alert-toggle strong{color:var(--text);font-size:.875rem}.account-alert-toggle-detail{color:var(--text-muted);font-size:.75rem;line-height:1.35}.account-alert-toggle input[type=checkbox]{appearance:none;border:1px solid var(--border);background:var(--bg,#e8e8e8);cursor:pointer;border-radius:999px;flex-shrink:0;width:2.5rem;height:1.4rem;transition:background .15s,border-color .15s;position:relative}.account-alert-toggle input[type=checkbox]:after{content:"";background:#fff;border-radius:50%;width:1.05rem;height:1.05rem;transition:transform .15s;position:absolute;top:.12rem;left:.12rem;box-shadow:0 1px 2px #00000026}.account-alert-toggle input[type=checkbox]:checked{background:var(--accent-strong);border-color:var(--accent-strong)}.account-alert-toggle input[type=checkbox]:checked:after{transform:translate(1.05rem)}.account-alert-toggle input[type=checkbox]:disabled{opacity:.55;cursor:wait}.account-page .page-intro h2,.account-page .page-intro p{text-align:center}.account-info{flex-direction:column;align-items:stretch;gap:1rem;width:100%;max-width:28rem;margin-inline:auto;display:flex}.account-info-lead{color:var(--text-muted);text-align:center;margin:0;font-size:.875rem;line-height:1.5}.account-info .auth-role-pill{align-self:center}.account-details-form{text-align:left;flex-direction:column;gap:.75rem;width:100%;display:flex}.account-details-form .field{flex-direction:column;gap:.35rem;margin:0;display:flex}.account-details-form .field span{color:var(--text-muted);font-size:.8125rem;font-weight:600}.account-details-form input{border:1px solid var(--border,#0000001f);background:var(--surface,#fff);width:100%;min-height:2.75rem;color:var(--text);font:inherit;border-radius:.65rem;padding:.65rem .85rem}.account-details-form input:disabled{opacity:.7;cursor:not-allowed}.account-info-saved{color:var(--text-muted);text-align:center;margin:0;font-size:.8125rem}.account-forms{text-align:left;flex-direction:column;gap:.75rem;width:100%;display:flex}.account-forms-heading{text-align:center;margin:0;font-size:1rem;font-weight:700}.account-forms-lead{color:var(--text-muted);text-align:center;margin:0;font-size:.8125rem;line-height:1.45}.account-forms-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.account-forms-item{border-top:1px solid var(--border,#0000001a);flex-direction:column;gap:.65rem;padding:.85rem 0 0;display:flex}.account-forms-item-main{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.35rem .75rem;display:flex}.account-forms-item-main strong{font-size:.9375rem}.account-forms-status{letter-spacing:.02em;font-size:.75rem;font-weight:650}.account-forms-status.is-ok{color:var(--text-muted)}.account-forms-status.is-due{color:#b45309}.account-forms-editor{width:100%}.account-forms-editor .admin-form{margin:0}.account-info-actions{flex-direction:column;gap:.5rem;width:100%;margin-top:.25rem;display:flex}.account-money{text-align:left}.account-money-lead{color:var(--text-muted);text-align:center;margin:0 0 1.25rem;font-size:.875rem;line-height:1.5}.account-money .payments-tokens-empty-card{text-align:center;align-items:center}.account-money .payments-tokens h3,.account-money .payments-token-add{text-align:center}.account-money .payments-placeholder{margin-top:.25rem}.account-sub-table-wrap{-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow-x:auto}.account-sub-table{border-collapse:collapse;text-align:left;width:100%;font-size:.8125rem}.account-sub-table th,.account-sub-table td{vertical-align:top;border-bottom:1px solid var(--border);padding:.7rem .85rem}.account-sub-table th{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);background:var(--bg);white-space:nowrap;font-size:.6875rem;font-weight:650}.account-sub-table tbody tr:last-child td{border-bottom:none}.account-sub-who{color:var(--text);font-weight:650;display:block}.account-sub-email{color:var(--text-muted);word-break:break-word;margin-top:.15rem;font-size:.75rem;display:block}.account-membership-card{flex-wrap:wrap;align-items:flex-start}.account-membership-body{flex:12rem;min-width:0}.account-membership-price{color:var(--text);margin:.15rem 0 0;font-size:.875rem;font-weight:600}.account-membership-dl{flex-direction:column;gap:.45rem;margin:.75rem 0 0;display:flex}.account-membership-dl div{grid-template-columns:8.5rem minmax(0,1fr);align-items:start;gap:.35rem .75rem;display:grid}.account-membership-dl dt{color:var(--text-muted);margin:0;font-size:.75rem;font-weight:650}.account-membership-dl dd{color:var(--text);margin:0;font-size:.8125rem;line-height:1.4}.account-membership-actions{flex-direction:column;flex-shrink:0;gap:.35rem;display:flex}@media (width<=520px){.account-membership-card{flex-direction:column}.account-membership-actions,.account-membership-actions .btn{width:100%}.account-membership-dl div{grid-template-columns:1fr;gap:.1rem}}.account-alerts{text-align:left;flex-direction:column;gap:.85rem;display:flex}.account-alerts-lead{color:var(--text-muted);text-align:center;margin:0;font-size:.875rem;line-height:1.5}.account-alerts-hint{color:var(--text-muted);text-align:center;margin:0;font-size:.8125rem;line-height:1.45}.account-alerts-enabled{color:var(--accent-strong);text-align:center;margin:0;font-size:.875rem;font-weight:600;line-height:1.45}.account-alert-list{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.account-alert-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:.85rem 1rem}.account-alert-item.unread{border-color:var(--accent-muted)}.account-alert-title{color:var(--text);margin:0;font-size:.9375rem;font-weight:650}.account-alert-body{color:var(--text-muted);margin:.35rem 0 0;font-size:.875rem;line-height:1.45}.account-alert-meta{color:var(--text-muted);margin:.45rem 0 0;font-size:.75rem}.account-alert-mark{color:var(--accent-strong);font:inherit;cursor:pointer;background:0 0;border:none;margin-top:.5rem;padding:0;font-size:.8125rem;font-weight:600}.account-alert-actions{flex-wrap:wrap;gap:.75rem;margin-top:.35rem;display:flex}.account-alert-actions .account-alert-mark{margin-top:0}.account-alert-delete{color:var(--text-muted)}.account-alert-delete:hover{color:#b42318}.push-prompt{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);text-align:center;margin:0 0 1.25rem;padding:.9rem 1rem}.push-prompt-text{color:var(--text);margin:0 0 .65rem;font-size:.9375rem;font-weight:600}.push-prompt-error{color:var(--danger,#b42318);margin:0 0 .5rem;font-size:.8125rem}.push-prompt-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.hello-page{text-align:center;min-height:min(70vh,32rem);padding-top:2rem;padding-top:calc(2rem + env(safe-area-inset-top,0px));flex-direction:column;justify-content:center;align-items:center;max-width:22rem;margin-left:auto;margin-right:auto;display:flex}.hello-loading{color:var(--text-muted);margin:2rem 0;font-size:.9375rem}.hello-greeting{letter-spacing:-.03em;color:var(--text);margin:0 0 .5rem;font-size:1.75rem;font-weight:700;line-height:1.25}.hello-lead{color:var(--text-muted);margin:0 0 1.75rem;font-size:.9375rem;line-height:1.45}.hello-actions{flex-direction:column;gap:.65rem;width:100%;display:flex}.hello-btn{text-decoration:none}.assisted-clients{text-align:center}.assisted-add-btn{margin:.75rem 0 1rem}.assisted-created{background:var(--accent-dim);border-radius:var(--radius-sm);text-align:left;padding:.65rem .75rem}.assisted-add-form{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:.55rem;margin:.75rem 0 1rem;padding:.85rem .9rem;display:flex}.assisted-add-form input{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;font:inherit;background:var(--bg);padding:.5rem .65rem;font-size:.9rem}.assisted-add-actions{justify-content:flex-end;gap:.5rem;margin-top:.25rem;display:flex}.assisted-back{margin-bottom:.75rem}.assisted-list{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.assisted-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);overflow:hidden}.assisted-card-main{cursor:pointer;width:100%;font:inherit;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:.75rem;padding:.9rem 1rem;display:flex}.assisted-card-main.open{background:var(--accent-dim)}.assisted-card-info{flex-direction:column;gap:.2rem;min-width:0;display:flex}.assisted-card-info strong{color:var(--accent-strong);font-size:1rem}.assisted-card-meta{color:var(--text-muted);font-size:.8125rem;line-height:1.35}.assisted-card-chevron{border-right:2px solid var(--accent-strong);border-bottom:2px solid var(--accent-strong);flex-shrink:0;width:.45rem;height:.45rem;margin-top:-.2rem;transition:transform .15s;transform:rotate(45deg)}.assisted-card-main.open .assisted-card-chevron{margin-top:.15rem;transform:rotate(-135deg)}.assisted-card-body{border-top:1px solid var(--border);background:var(--bg-soft);text-align:left;padding:.75rem 1rem 1rem}.assisted-form-list{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.assisted-form-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem;padding:.75rem;display:flex}.assisted-form-row>div{flex-direction:column;gap:.2rem;min-width:0;display:flex}.assisted-form-row strong{color:var(--text);font-size:.9rem}.assisted-form-status{text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);font-size:.75rem;font-weight:700}.assisted-form-status.filled{color:#166534}.assisted-form-status.missing{color:#991b1b}.admin-page{text-align:center}.admin-page .tag-list,.admin-page .day-picker,.admin-page .recurring-day-row,.admin-page .inline-add,.admin-page .slot-add-row{justify-content:center}.admin-page .admin-list-item,.admin-page .admin-course-item,.admin-page .admin-booking-item{text-align:center;flex-direction:column;align-items:center}.admin-page .admin-booking-detail{align-items:center}.admin-page .admin-item-actions,.admin-page .edit-panel-actions{justify-content:center;width:100%}.admin-page .rota-item{text-align:center;flex-direction:column;align-items:center}.admin-page .rota-item-attendees,.admin-page .rota-item-attendees ul{text-align:left}.admin-page .checkbox-field,.admin-page .admin-disclosure-summary{justify-content:center}.admin-page .field input:not([type=file]),.admin-page .field textarea,.admin-page .field select,.admin-page .inline-add input,.admin-page .slot-add-row select,.admin-page .slot-add-row input,.admin-page .spaces-edit input,.admin-page .field input:not([type=file])::placeholder,.admin-page .field textarea::placeholder{text-align:center}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.admin-section-picker{text-align:center;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:22rem;margin:0 auto 1.25rem;display:flex}.admin-section-group{flex-direction:column;align-items:stretch;gap:.45rem;width:100%;display:flex}.admin-section-group-label{color:var(--text);text-align:center;margin:0;font-size:.9375rem;font-weight:700}.admin-section-links{grid-template-columns:1fr 1fr;gap:.5rem;width:100%;display:grid}.admin-section-link{width:100%;min-height:2.75rem;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);cursor:pointer;text-align:center;padding:.7rem .65rem;font-family:inherit;font-size:.875rem;font-weight:600;transition:background .15s,color .15s,border-color .15s}.admin-section-link:hover{background:var(--accent-dim);color:var(--accent-strong);border-color:var(--accent-muted)}.admin-section-link.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.admin-subheading{margin:1.75rem 0 .75rem;font-size:1.05rem;font-weight:600}.admin-staff-invites-block{border-top:1px solid color-mix(in srgb, currentColor 12%, transparent);margin-top:.5rem;padding-top:.5rem}.admin-form h3{margin:0 0 1rem;font-size:.9375rem}.admin-add-trigger{width:100%;color:var(--accent-strong);background:var(--surface);border:1px dashed var(--accent-muted);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;gap:.35rem;margin-top:1rem;margin-bottom:0;padding:.75rem 1rem;font-family:inherit;font-size:.875rem;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:flex}.admin-add-trigger:hover{background:var(--accent-dim);border-color:var(--accent);border-style:solid}.admin-add-trigger[aria-expanded=true]{background:var(--accent-dim);border-style:solid;border-color:var(--accent)}.admin-add-panel{background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);margin-bottom:1.5rem;padding:1rem}.admin-add-form-panel{border-bottom:none;margin-bottom:0;padding-bottom:0}.admin-add-form{border-bottom:1px solid var(--border);margin-bottom:1.5rem;padding-bottom:1.5rem}.admin-list{margin:0;padding:0;list-style:none}.admin-list.compact .admin-list-item{padding:.5rem 0}.admin-list-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 0;display:flex}.admin-list-item strong{font-size:.9375rem;display:block}.admin-meta{color:var(--text-muted);font-size:.75rem}.admin-subsection{margin-bottom:1.25rem}.admin-subsection h3{margin:0 0 .75rem;font-size:.875rem}.tag-list{flex-wrap:wrap;gap:.5rem;margin:0 0 .75rem;padding:0;list-style:none;display:flex}.tag-list li{background:var(--surface);border:1px solid var(--border);border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.8125rem;display:inline-flex}.tag-list button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:1rem;line-height:1}.inline-add,.slot-add-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.inline-add input,.slot-add-row select,.slot-add-row input{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:6rem;color:var(--text);font:inherit;flex:1;padding:.5rem .65rem}.video-source-toggle{gap:.5rem;margin-bottom:1rem;display:flex}.video-source-btn{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;flex:1;padding:.6rem .75rem;font-size:.8125rem;font-weight:500;transition:all .15s}.video-source-btn.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent-strong);font-weight:600}.form-hint{color:var(--text-muted);margin:-.5rem 0 1rem;font-size:.8125rem;line-height:1.45}.edit-panel .field small.field-hint{color:var(--text-muted);margin:.1rem 0 0;font-size:.78rem;line-height:1.35;display:block}.form-success{color:var(--accent-strong);margin:0 0 .75rem;font-size:.8125rem}.form-success-banner{background:var(--accent-dim);border:1px solid var(--accent-muted);color:var(--accent-strong);border-radius:10px;margin:0 0 .85rem;padding:.7rem .85rem;font-size:.875rem;font-weight:600;line-height:1.4}.timetable-success-backdrop{z-index:50;background:#0f172a73;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;inset:0}.timetable-success-dialog{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);width:min(100%,22rem);box-shadow:var(--shadow-sm);text-align:center;padding:1.25rem 1.2rem 1.15rem}.timetable-success-kicker{letter-spacing:.04em;text-transform:uppercase;color:var(--accent-strong);margin:0 0 .35rem;font-size:.75rem;font-weight:700}.timetable-success-dialog h3{color:var(--text);margin:0 0 .55rem;font-size:1.15rem}.timetable-success-body{color:var(--text-muted);margin:0 0 1rem;font-size:.9rem;line-height:1.45}.form-error{color:#dc2626;margin:0 0 .75rem;font-size:.8125rem}.form-error-banner{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;margin:0 0 .85rem;padding:.7rem .85rem;font-size:.875rem;font-weight:600;line-height:1.4}.admin-workouts-visibility{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:left;margin:0 0 1rem;padding:.85rem .95rem}.admin-workouts-visibility .account-alert-toggle{cursor:pointer;justify-content:space-between;align-items:center;gap:.75rem;margin:0;display:flex}.admin-workouts-visibility .account-alert-toggle span{flex-direction:column;gap:.15rem;min-width:0;display:flex}.admin-workouts-visibility .account-alert-toggle strong{color:var(--text);font-size:.875rem}.admin-workouts-visibility .account-alert-toggle-detail{color:var(--text-muted);font-size:.75rem;line-height:1.35}.admin-workouts-visibility input[type=checkbox]{appearance:none;border:1px solid var(--border);cursor:pointer;background:#e8e8e8;border-radius:999px;flex-shrink:0;width:2.5rem;height:1.4rem;transition:background .15s,border-color .15s;position:relative}.admin-workouts-visibility input[type=checkbox]:after{content:"";background:#fff;border-radius:50%;width:1.05rem;height:1.05rem;transition:transform .15s;position:absolute;top:.12rem;left:.12rem;box-shadow:0 1px 2px #00000026}.admin-workouts-visibility input[type=checkbox]:checked{background:var(--accent-strong);border-color:var(--accent-strong)}.admin-workouts-visibility input[type=checkbox]:checked:after{transform:translate(1.05rem)}.admin-settings{flex-direction:column;gap:.5rem;display:flex}.admin-settings-lead{margin:0 0 .75rem!important}.admin-disclosure{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-sm);overflow:hidden}.admin-disclosure+.admin-disclosure{margin-top:.15rem}.admin-disclosure-summary{cursor:pointer;color:var(--text);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:.5rem;margin:0;padding:.8rem 2.25rem .8rem 1rem;font-size:.875rem;font-weight:600;list-style:none;transition:background .15s;display:flex;position:relative}.admin-disclosure-summary::-webkit-details-marker{display:none}.admin-disclosure-summary:after{content:"";border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);width:.45rem;height:.45rem;margin-top:-.2rem;transition:transform .2s;position:absolute;top:50%;right:1rem;transform:rotate(-45deg)}.admin-disclosure[open]>.admin-disclosure-summary{background:var(--accent-dim);border-bottom:1px solid var(--border);color:var(--accent-strong)}.admin-disclosure[open]>.admin-disclosure-summary:after{margin-top:-.05rem;transform:rotate(45deg)}.admin-disclosure-body{padding:.65rem 1rem 1rem}.admin-disclosure-body .admin-form{margin:0}.admin-disclosure-body .form-hint:first-child{margin-top:0}.admin-disclosure-body .admin-add-form{margin-bottom:1rem;padding-bottom:1rem}.admin-disclosure-body .admin-list .admin-list-item:last-child{border-bottom:none}.file-selected{color:var(--accent-strong);font-size:.8125rem}.field input[type=file]{background:0 0;border:none;padding:.5rem 0}.day-picker{flex-wrap:wrap;gap:.35rem;margin-bottom:1rem;display:flex}.day-picker-btn{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:2.75rem;color:var(--text-muted);cursor:pointer;flex:1;padding:.5rem .25rem;font-size:.75rem;font-weight:600;position:relative}.day-picker-btn.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent-strong)}.day-picker-count{text-align:center;background:var(--accent);color:#fff;border-radius:999px;min-width:1rem;height:1rem;padding:0 .2rem;font-size:.625rem;line-height:1rem;position:absolute;top:-4px;right:-4px}.admin-day-heading{color:var(--text);margin:0 0 .75rem;font-size:1rem}.admin-next-calendar-date{color:var(--text-muted);margin:-.35rem 0 1rem;font-size:.875rem}.admin-next-calendar-date strong{color:var(--text);font-weight:600}.recurring-block{background:var(--accent-dim);border:1px solid var(--border);border-radius:var(--radius-sm);margin:1rem 0;padding:.85rem .75rem}.recurring-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.75rem;font-weight:700;display:block}.recurring-hint{margin:.35rem 0 .65rem}.recurring-once-hint{margin:.35rem 0 .75rem}.recurring-day-row{flex-wrap:wrap;gap:.35rem;display:flex}.recurring-day-btn{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:2.5rem;color:var(--text-muted);cursor:pointer;flex:1;padding:.45rem .25rem;font-size:.6875rem;font-weight:600;transition:background .15s,border-color .15s,color .15s}.recurring-day-btn.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent-strong)}.admin-course-list{margin:0 0 1rem;padding:0;list-style:none}.admin-course-item{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.75rem;padding:.75rem 0;display:flex}.admin-course-info{flex:1;min-width:8rem}.spaces-edit{flex-direction:column;gap:.2rem;display:flex}.spaces-edit span{color:var(--text-muted);font-size:.6875rem}.spaces-edit input{border:1px solid var(--border);border-radius:var(--radius-sm);width:4rem;font:inherit;padding:.35rem .5rem}.spaces-edit.inline{flex-direction:row;align-items:center;gap:.35rem}.course-add-block{border-top:1px dashed var(--border);padding-top:.5rem}.template-library{margin-bottom:1.25rem}.template-library .admin-add-trigger{margin-top:0;margin-bottom:1rem}.template-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.template-item{border:none;padding:0;display:block}.template-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);text-align:center;overflow:hidden}.template-card-main{align-items:flex-start;gap:.75rem;padding:1rem 1rem 1rem 1.125rem;display:flex}.template-card-info{flex-direction:column;flex:1;align-items:center;gap:.35rem;min-width:0;display:flex}.template-card-name{color:var(--accent-strong);margin:0;font-size:1.0625rem;font-weight:700;line-height:1.3}.template-card-menu-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--accent-dim);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;margin-top:.15rem;padding:0;transition:background .15s,border-color .15s;display:flex}.template-card-menu-btn:after{content:"";border-right:2px solid var(--accent-strong);border-bottom:2px solid var(--accent-strong);width:.45rem;height:.45rem;margin:0 auto;transition:transform .2s;display:block;transform:rotate(45deg)}.template-card-menu-btn.open:after{margin-top:.2rem;transform:rotate(-135deg)}.template-card-menu-btn:hover{background:var(--accent-muted);border-color:var(--accent)}.template-card-details{border-top:1px solid var(--border);background:var(--bg-soft);text-align:center;padding:.75rem 1rem 1rem}.template-card-desc{color:var(--text-muted);margin:0 0 .5rem;font-size:.875rem;line-height:1.5}.template-card-meta{color:var(--text-muted);margin:0 0 .75rem;font-size:.8125rem;font-weight:600}.template-card-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.template-slot-list{flex-direction:column;gap:.5rem;margin:0 0 .75rem;padding:0;list-style:none;display:flex}.template-slot-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;align-items:center;gap:.5rem;padding:.75rem;display:flex}.template-slot-info{flex-direction:column;align-items:center;gap:.2rem;width:100%;display:flex}.template-slot-day{color:var(--accent-strong);font-size:.9375rem;font-weight:700}.template-slot-meta{color:var(--text-muted);font-size:.8125rem;line-height:1.4}.template-timeslot-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:center;margin-top:.25rem;padding:.85rem}.template-timeslot-lead{color:var(--text);margin:0 0 .75rem;font-size:.875rem;font-weight:600}.template-timeslot-form .slot-add-row{justify-content:center;margin-bottom:.5rem}.template-timeslot-form .slot-time-field{flex:1;min-width:6.5rem;margin-bottom:0}.template-timeslot-form .spaces-edit{flex-direction:column;align-items:center}.checkbox-field{color:var(--text-muted);cursor:pointer;align-items:center;gap:.5rem;margin:.75rem 0;font-size:.875rem;display:flex}.checkbox-field input{width:1rem;height:1rem;accent-color:var(--accent)}.admin-plan-includes{text-align:left;margin:0;padding:0;list-style:none}.admin-plan-includes .checkbox-field{justify-content:flex-start}.field select{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);font:inherit;padding:.65rem .875rem}.staff-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.staff-list-item{border:none;padding:0;display:block}.staff-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);text-align:center;overflow:hidden}.staff-card-editing{padding:.75rem}.staff-card-main{align-items:flex-start;gap:.75rem;padding:1rem 1rem 1rem 1.125rem;display:flex}.staff-card-info{flex-direction:column;flex:1;align-items:center;gap:.35rem;min-width:0;display:flex}.staff-card-name{color:var(--accent-strong);margin:0;font-size:1.0625rem;font-weight:700;line-height:1.3}.staff-card-role{color:var(--text);margin:0;font-size:.875rem;font-weight:600;line-height:1.35}.staff-card-details{color:var(--text-muted);flex-direction:column;align-items:center;gap:.2rem;font-size:.8125rem;line-height:1.4;display:flex}.staff-card-menu-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--accent-dim);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;margin-top:.15rem;padding:0;transition:background .15s,border-color .15s,transform .1s;display:flex}.staff-card-menu-btn:after{content:"";border-right:2px solid var(--accent-strong);border-bottom:2px solid var(--accent-strong);width:.45rem;height:.45rem;margin:0 auto;transition:transform .2s;display:block;transform:rotate(45deg)}.staff-card-menu-btn.open:after{margin-top:.2rem;transform:rotate(-135deg)}.staff-card-menu-btn:hover{background:var(--accent-muted);border-color:var(--accent)}.staff-card-actions{border-top:1px solid var(--border);background:var(--bg-soft);flex-wrap:wrap;justify-content:center;gap:.5rem;padding:.75rem 1rem 1rem;display:flex}.staff-card-rota{border-top:1px solid var(--border);background:var(--bg-soft);padding:.75rem 1rem 1rem}.staff-card-rota-heading{text-transform:uppercase;letter-spacing:.05em;color:var(--accent-strong);margin:0 0 .65rem;font-size:.75rem;font-weight:700}.staff-card-rota .rota-list{margin-top:0}.staff-card-rota .empty-hint{margin:0}.rota-list{margin:0;padding:0;list-style:none}.rota-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:center;flex-direction:column;align-items:center;gap:.35rem;margin-bottom:.5rem;padding:.85rem 1rem;display:flex}.rota-item-date{color:var(--accent-strong);margin:0;font-size:.9375rem;font-weight:700;line-height:1.35}.rota-item-time{color:var(--text);margin:0;font-size:.875rem;font-weight:600}.rota-item-course{color:var(--text);margin:0;font-size:.875rem;line-height:1.4}.rota-item-booked{color:var(--text-muted);margin:.15rem 0 0;font-size:.8125rem;font-weight:600}.rota-item-attendees{background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:left;width:100%;margin-top:.35rem;padding:.5rem .65rem}.rota-item-attendees summary{cursor:pointer;color:var(--accent-strong);font-size:.8125rem;font-weight:600;list-style:none}.rota-item-attendees summary::-webkit-details-marker{display:none}.rota-item-attendees summary:after{content:" +";font-weight:700}.rota-item-attendees[open] summary:after{content:" −"}.rota-item-attendees ul{flex-direction:column;gap:.5rem;margin:.65rem 0 0;padding:0;list-style:none;display:flex}.rota-item-attendees li{border-top:1px dashed var(--border);color:var(--text-muted);flex-direction:column;gap:.1rem;padding-top:.5rem;font-size:.8125rem;display:flex}.rota-item-attendees li:first-child{border-top:none;padding-top:0}.rota-item-attendees li strong{color:var(--text);font-size:.875rem}.admin-course-item-stack{flex-direction:column;align-items:stretch}.admin-item-actions{flex-shrink:0;gap:.5rem;display:flex}.edit-panel{background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;padding:.75rem}.edit-panel-label{color:var(--text-muted);margin:0 0 .75rem;font-size:.8125rem;line-height:1.45}.edit-panel-actions{gap:.5rem;margin-top:.5rem;display:flex}.edit-panel-actions .btn{flex:1}.admin-booking-list{margin:0;padding:0;list-style:none}.admin-booking-item{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:flex-start;gap:.75rem;padding:1rem 0;display:flex}.admin-booking-item .admin-course-info{flex:1;min-width:10rem}.admin-booking-detail{flex-direction:column;align-items:flex-start;gap:.4rem;min-width:0;display:flex}.admin-booking-client{word-break:break-word;margin:0;font-size:.9375rem;line-height:1.35}.admin-booking-line{word-break:break-word;max-width:100%;line-height:1.45;display:block}.admin-booking-line.admin-booking-notes{border-top:1px dashed var(--border);margin-top:.15rem;padding-top:.35rem}.admin-orders{text-align:left;width:100%;max-width:52rem;margin:0 auto}.admin-orders .form-hint{text-align:center}.admin-orders-tabs{grid-template-columns:1fr 1fr;gap:.5rem;margin:0 0 1rem;display:grid}.admin-orders-tabs button{min-height:2.5rem;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;padding:.55rem .65rem;font-family:inherit;font-size:.875rem;font-weight:600}.admin-orders-tabs button.active{background:var(--accent);border-color:var(--accent);color:#fff}.admin-orders-filters{grid-template-columns:1fr 1fr;gap:.65rem .75rem;margin-bottom:.85rem;display:grid}.admin-orders-toolbar{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.admin-orders .account-sub-table-wrap{-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow-x:auto}.admin-orders .account-sub-table{border-collapse:collapse;text-align:left;width:100%;font-size:.8125rem}.admin-orders .account-sub-table th,.admin-orders .account-sub-table td{vertical-align:top;border-bottom:1px solid var(--border);padding:.7rem .85rem}.admin-orders .account-sub-table th{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);background:var(--bg);white-space:nowrap;font-size:.6875rem;font-weight:650}.admin-orders .account-sub-table tbody tr:last-child td{border-bottom:none}.admin-orders .account-sub-who{color:var(--text);font-weight:650;display:block}.admin-orders .account-sub-email{color:var(--text-muted);word-break:break-word;margin-top:.15rem;font-size:.75rem;display:block}.legal-page{min-width:0;max-width:100%}.legal-updated{color:var(--text-muted);margin:1.25rem 0 0;font-size:.8125rem}.legal-article{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:1.25rem;padding:1.25rem 1.125rem}.legal-article h3{margin:1.25rem 0 .4rem;font-size:1rem}.legal-article h3:first-child{margin-top:0}.legal-article p,.legal-article li{color:var(--text);margin:0 0 .65rem;font-size:.9375rem;line-height:1.55}.legal-article ul{margin:0 0 .85rem;padding-left:1.2rem}.legal-links{text-align:center;margin:.75rem 0 0;font-size:.8125rem;line-height:1.5}.legal-links a{color:var(--accent-strong);font-weight:600;text-decoration:none}.legal-links a:hover{text-decoration:underline}.legal-links-end{margin-bottom:1rem}.app-footer{text-align:center;margin-top:1.25rem;padding:.35rem 0 .25rem}.auth-google-note{color:var(--text-muted);text-align:center;margin:.45rem 0 0;font-size:.75rem;line-height:1.4}.auth-google-note a{color:var(--accent-strong);font-weight:600}.embed-consent{text-align:center;background:var(--bg-soft);flex-direction:column;justify-content:center;align-items:center;gap:.65rem;min-height:10rem;padding:1rem;display:flex}.embed-consent p{color:var(--text-muted);margin:0;font-size:.875rem;line-height:1.45}
