:root{--background:#fff9f6;--background-soft:#f8ece7;--surface:#fffdfb;--surface-elevated:#fff9f6;--surface-hover:#fff3ecd1;--surface-muted:#ffffff85;--surface-strong:#fffdfb;--text:#2b1e1c;--text-muted:#846f69;--text-subtle:#2b1e1c9e;--border:#41231f21;--border-strong:#b86f6542;--accent:#b86f65;--accent-hover:#9d5a52;--accent-soft:#e9b9ae3d;--accent-softer:#e9b9ae24;--danger:#7f332f;--danger-soft:#ffefeca8;--warning:#7a5a27;--warning-soft:#fff7e19e;--success:#526046;--success-soft:#e8eee085;--focus-ring:#5b2f2959;--shadow:0 24px 70px #4f252021;--shadow-strong:0 30px 86px #4d27232e;--shadow-hover:0 24px 68px #4d272326;--input-background:#fffdfb;--overlay:#2b1e1c47;--selected-background:#e9b9ae42;--disabled-background:#e4ddd6b3;--disabled-text:#2b1e1c6b;--page-background:radial-gradient(circle at 16% 0%, #e9b9ae52, transparent 29rem), radial-gradient(circle at 92% 16%, #f8ded6b8, transparent 34rem), linear-gradient(180deg, var(--background), #fffdfb 48%, #f7ebe7 100%);--page-background-mobile:radial-gradient(circle at 25% 0%, #e9b9ae47, transparent 20rem), linear-gradient(180deg, var(--background), #fffdfb 56%, #f7ebe7 100%);--surface-gradient:linear-gradient(135deg, #ffffffbd, #fff3ecb8), radial-gradient(circle at 10% 0%, #e9b9ae3b, transparent 18rem);--selected-gradient:linear-gradient(135deg, #ffffffdb, #fff3ecd1), radial-gradient(circle at 0% 0%, #e9b9ae52, transparent 18rem);--ink-gradient:linear-gradient(135deg, #2b1e1cf0, #56302bf0), radial-gradient(circle at top right, #e9b9ae4d, transparent 30rem);--calendar-line:#41231f0e;--calendar-now:#9b4c46;--calendar-event-appointment:#f2c9bf;--calendar-event-pending:#f6dc9f;--calendar-event-muted:#e4ddd6;--calendar-event-blocked:#d8b2aa;--calendar-event-open:#d7e1ca;--calendar-event-buffer:#8f9b8a47;--button-primary-background:var(--text);--button-primary-background-hover:#5a342f;--button-primary-text:#fff9f6;--button-danger-background:var(--danger);--header-background:#fff9f6;--mobile-bar-background:#fff9f6;--bg:var(--background);--bg-soft:var(--background-soft);--ink:var(--text);--muted:var(--text-muted);--blush:#e9b9ae;--blush-deep:var(--accent);--cream:#fff3ec;--rose:#d99d94;--sage:#8f9b8a;--gold:#c8a36d;--line:var(--border);--line-strong:var(--border-strong);--radius-xl:32px;--radius-lg:24px;--radius-md:18px;--header-height:78px;--mobile-page-padding:1rem;--mobile-section-gap:1.25rem;--mobile-card-padding:1rem;--mobile-control-height:44px;--mobile-header-height:64px;--mobile-action-height:72px;--font-body:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:Georgia, "Times New Roman", serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--background:#130d10;--background-soft:#21161a;--surface:#21161a;--surface-elevated:#261a1e;--surface-hover:#ffe8e013;--surface-muted:#ffe8e011;--surface-strong:#1a1115;--text:#fff7f1;--text-muted:#dcc9c1;--text-subtle:#fff7f194;--border:#ffe8e029;--border-strong:#ffb7ad3d;--accent:#f1b6ab;--accent-hover:#ffb7ad;--accent-soft:#ffb7ad26;--accent-softer:#ffb7ad17;--danger:#ffb0a8;--danger-soft:#ff776921;--warning:#f5d293;--warning-soft:#f5d2931f;--success:#bfd3ae;--success-soft:#bfd3ae1f;--focus-ring:#ffb7ad75;--shadow:0 24px 70px #0b07096b;--shadow-strong:0 30px 86px #0b07098a;--shadow-hover:0 24px 68px #0b07097a;--input-background:#21161a;--overlay:#130d10b8;--selected-background:#ffb7ad24;--disabled-background:#ffe8e00e;--disabled-text:#fff7f161;--page-background:radial-gradient(circle at 12% 0%, #f1b6ab24, transparent 28rem), radial-gradient(circle at 92% 14%, #ffd0c21a, transparent 34rem), linear-gradient(180deg, #130d10, #1a1115 54%, #21161a 100%);--page-background-mobile:radial-gradient(circle at 24% 0%, #f1b6ab21, transparent 20rem), linear-gradient(180deg, #130d10, #1a1115 56%, #21161a 100%);--surface-gradient:linear-gradient(135deg, #21161aeb, #181014e0), radial-gradient(circle at 10% 0%, #ffb7ad1a, transparent 18rem);--selected-gradient:linear-gradient(135deg, #ffb7ad21, #21161af0), radial-gradient(circle at 0% 0%, #ffb7ad1f, transparent 18rem);--ink-gradient:linear-gradient(135deg, #21161af5, #301f24f0), radial-gradient(circle at top right, #ffb7ad29, transparent 30rem);--calendar-line:#ffe8e014;--calendar-now:#ffb7ad;--calendar-event-appointment:#6f403f;--calendar-event-pending:#66502f;--calendar-event-muted:#43373a;--calendar-event-blocked:#5e3b40;--calendar-event-open:#3d4d39;--calendar-event-buffer:#bfd3ae1f;--button-primary-background:linear-gradient(135deg, #f1b6ab, #c97f75);--button-primary-background-hover:linear-gradient(135deg, #ffb7ad, #dd8f84);--button-primary-text:#21161a;--button-danger-background:linear-gradient(135deg, #ffb0a8, #b96963);--header-background:#21161a;--mobile-bar-background:#21161a;--blush:#f1b6ab;--cream:#21161a;--rose:#ffd0c2;--sage:#bfd3ae;--gold:#f5d293;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{scroll-behavior:smooth;overflow-x:clip}body{min-height:100vh;color:var(--text);background:var(--page-background);font-family:var(--font-body);margin:0;transition:background .42s,color .26s;overflow-x:clip}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{appearance:none;touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}p{color:var(--muted);margin:0;line-height:1.75}h1,h2,h3{color:var(--ink);font-family:var(--font-display);letter-spacing:0;margin:0;font-weight:700;line-height:1}h1{max-width:12ch;font-size:4.6rem}h2{font-size:2.8rem}h3{font-size:1.75rem}.site-header{z-index:50;width:min(100% - 2rem,1180px);min-height:var(--header-height);border:1px solid var(--line);background:var(--header-background);box-shadow:var(--shadow);border-radius:999px;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem .85rem .8rem 1rem;display:flex;position:fixed;top:1rem;left:50%;transform:translate(-50%)}.brand{white-space:nowrap;align-items:center;gap:.7rem;font-weight:750;display:inline-flex}.brand-mark{background:0 0;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex;position:relative;overflow:hidden}.brand-mark-image{object-fit:contain;width:100%;height:100%;display:block;position:absolute;inset:0}.brand-mark-image-dark-theme,:root[data-theme=dark] .brand-mark-image-light-theme{display:none}:root[data-theme=dark] .brand-mark-image-dark-theme{display:block}.brand-text{font-size:1.02rem}.main-nav{align-items:center;gap:.15rem;display:flex}.booking-header{min-height:62px}.booking-nav{margin-left:auto}.mobile-section-label,.mobile-header-actions,.mobile-menu-toggle{display:none}.desktop-header-theme-toggle{flex:none;margin-left:.45rem;margin-right:.1rem}.main-nav a:not(.button):not(.language-toggle){color:var(--text-subtle);border-radius:999px;padding:.75rem 1rem;font-size:.95rem;font-weight:650;transition:background .18s,color .18s,transform .18s}.main-nav a:not(.button):not(.language-toggle):hover{background:var(--accent-soft);color:var(--text)}.section-shell{width:min(100%,1180px);margin:0 auto;padding-left:1.25rem;padding-right:1.25rem}.home-page,.app-page,.login-page{padding-top:calc(var(--header-height) + 4.5rem);padding-bottom:4rem}.home-hero{min-height:calc(100svh - var(--header-height));grid-template-columns:minmax(0,1.02fr) minmax(320px,.78fr);align-items:center;gap:4rem;display:grid}.hero-copy{gap:1.35rem;display:grid}.eyebrow,.card-label{color:var(--blush-deep);letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:850}.hero-intro,.page-intro p{max-width:620px;font-size:1.15rem}.hero-actions,.flow-actions,.admin-row-actions,.summary-meta{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.button{cursor:pointer;text-align:center;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.55rem;min-height:52px;padding:.9rem 1.25rem;font-weight:820;line-height:1.1;transition:background .18s,border-color .18s,box-shadow .18s,color .18s,transform .18s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-2px)}.button:disabled{cursor:not-allowed;background:var(--disabled-background);color:var(--disabled-text);opacity:1}.button-primary,.button.danger,.button-danger{background:var(--button-primary-background);box-shadow:var(--shadow-hover);color:var(--button-primary-text)}.button-primary:hover:not(:disabled){background:var(--button-primary-background-hover);box-shadow:var(--shadow-strong)}.button-secondary{border-color:var(--line);background:var(--surface-muted);color:var(--text)}.button-ghost{color:var(--text-subtle);box-shadow:none;background:0 0;border-color:#0000}.button-danger{background:var(--button-danger-background)}.button-sm{min-height:42px;padding:.65rem .9rem}.button-full{width:100%}.card{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface-gradient);box-shadow:var(--shadow);padding:1.25rem;transition:border-color .22s,box-shadow .22s,background .22s}.card:hover,.card:focus-within{border-color:var(--line-strong);box-shadow:var(--shadow-hover)}.card-soft{background:var(--surface-muted);border-color:var(--border)}.card-ink{color:var(--button-primary-text);background:var(--ink-gradient)}.card-ink p,.card-ink h2,.card-ink h3{color:var(--button-primary-text)}.trust-row{border-top:1px solid var(--line);flex-wrap:wrap;gap:.65rem;max-width:610px;padding-top:1.2rem;display:flex}.trust-row span,.badge,.demo-pill{border:1px solid var(--line);background:var(--surface-muted);color:var(--text-subtle);border-radius:999px;align-items:center;padding:.52rem .78rem;font-size:.85rem;font-weight:760;line-height:1.2;display:inline-flex}.badge-success{border-color:color-mix(in srgb, var(--success) 34%, transparent);color:var(--success)}.badge-warning{border-color:color-mix(in srgb, var(--warning) 34%, transparent);color:var(--warning)}.badge-danger{border-color:color-mix(in srgb, var(--danger) 34%, transparent);color:var(--danger)}.badge-accent{border-color:color-mix(in srgb, var(--accent) 34%, transparent);color:var(--blush-deep)}.offer-badge{background:color-mix(in srgb, #e45f84 16%, var(--surface));color:var(--ink);border-color:#e45f847a;font-weight:900}.discount-price{align-items:baseline;gap:.45rem;display:inline-flex}.discount-price del{color:var(--text-subtle);font-weight:700;text-decoration-thickness:2px}.discount-price strong{color:var(--ink);font-weight:900}.appointment-preview{position:relative}.studio-card{background:linear-gradient(180deg, transparent, var(--surface-elevated)), radial-gradient(circle at 48% 18%, color-mix(in srgb, var(--surface-strong) 80%, transparent), transparent 10rem), linear-gradient(135deg, var(--accent-soft), var(--surface-hover)), repeating-linear-gradient(135deg, color-mix(in srgb, var(--text) 3%, transparent), color-mix(in srgb, var(--text) 3%, transparent) 1px, transparent 1px, transparent 16px);border-radius:46% 46% 18% 18%/34% 34% 14% 14%;align-content:end;min-height:560px;padding:2rem;display:grid;overflow:hidden}.studio-card h2{margin-top:.55rem}.studio-card p{max-width:25rem;margin-top:.85rem}.preview-list{gap:.65rem;margin-top:1.5rem;display:grid}.preview-list span{border:1px solid var(--border);background:var(--surface-muted);width:fit-content;color:var(--text);border-radius:999px;align-items:center;gap:.5rem;padding:.65rem .9rem;font-weight:750;display:inline-flex}.language-toggle{border-radius:999px;align-items:center;display:inline-flex}.lang-switch{border:1px solid var(--border);background:var(--surface-muted);width:94px;height:34px;color:var(--text-subtle);border-radius:999px;grid-template-columns:1fr 1fr;align-items:center;font-size:.75rem;font-weight:850;display:grid;position:relative}.lang-knob{background:var(--accent-soft);border-radius:999px;width:41px;height:26px;transition:transform .3s cubic-bezier(.22,1,.36,1);position:absolute;left:4px}.language-toggle.is-fr .lang-knob{transform:translate(45px)}.lang-text{z-index:1;text-align:center;position:relative}.language-toggle:not(.is-fr) .lang-text-en,.language-toggle.is-fr .lang-text-fr{color:var(--accent-hover)}.theme-toggle{width:44px;height:44px;color:var(--text);cursor:pointer;vertical-align:middle;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex}.theme-toggle-track{width:34px;height:34px;box-shadow:none;background:0 0;border:0;border-radius:999px;place-items:center;transition:color .18s,transform .26s cubic-bezier(.22,1,.36,1);display:grid;position:relative;overflow:visible}.theme-toggle:hover .theme-toggle-track{transform:scale(1.04)}.theme-toggle:active .theme-toggle-track{transform:scale(.9)}.theme-toggle-sun,.theme-toggle-moon{justify-content:center;align-items:center;transition:opacity .24s,transform .28s cubic-bezier(.22,1,.36,1);display:inline-flex;position:absolute}.theme-toggle-sun{color:#6a5f5c;opacity:1;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;transform:translateY(0)rotate(0)scale(1)}.theme-toggle-moon{color:#fff6f2;fill:none;opacity:0;stroke-width:1.45px;transform:translate(-2px,4px)rotate(-14deg)scale(.76)}:root[data-theme=dark] .theme-toggle-sun{opacity:0;transform:translate(2px,-4px)rotate(38deg)scale(.76)}:root[data-theme=dark] .theme-toggle-moon{opacity:1;transform:translateY(0)rotate(0)scale(1)}.theme-toggle:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.admin-theme-toggle{justify-self:start}.customer-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.65rem;display:inline-flex}.sr-only{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.page-intro{gap:1rem;max-width:760px;margin-bottom:2rem;display:grid}.page-intro h1{max-width:none}.booking-layout{grid-template-columns:minmax(0,1fr) minmax(300px,.36fr);align-items:start;gap:1.25rem;display:grid}.booking-main,.booking-aside{gap:1rem;display:grid}.booking-aside{top:calc(var(--header-height) + 2rem);position:sticky}.booking-step-card{gap:1.4rem;min-height:520px;display:grid;position:relative}.section-title{gap:.65rem;display:grid}.section-title.compact h2,.section-title.compact h1{max-width:none;font-size:2.15rem}.stepper{grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.stepper li{border:1px solid var(--line);background:var(--surface-muted);min-width:0;color:var(--text-subtle);text-align:center;border-radius:999px;display:grid}.stepper button{border-radius:inherit;width:100%;min-width:0;min-height:44px;color:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:.3rem;padding:.45rem .55rem;display:inline-flex;position:relative;overflow:hidden}.stepper button:disabled{cursor:default}.stepper .step-marker{background:var(--success-soft);width:26px;height:26px;color:var(--success);opacity:.3;pointer-events:none;border-radius:999px;place-items:center;display:grid;position:absolute;top:50%;right:.7rem;transform:translateY(-50%)}.stepper .step-marker svg{width:19px;height:19px}.stepper .step-marker:empty{display:none}.stepper strong{z-index:1;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:820;position:relative;overflow:hidden}.stepper li.is-active{border-color:var(--border-strong);background:var(--selected-background);color:var(--text)}.stepper li.is-complete{border-color:var(--border-strong);color:var(--text)}.stepper li.is-disabled{opacity:.56}.selection-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;display:grid}.selection-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-card{cursor:pointer;text-align:left;background:0 0;border:0;width:100%;padding:0;display:block}.choice-card:focus-visible{outline:3px solid var(--focus-ring);outline-offset:4px}.choice-card .card{gap:.85rem;min-height:100%;display:grid}.choice-card h3{font-size:1.45rem}.choice-card.is-selected .card{border-color:var(--border-strong);background:var(--selected-gradient);color:var(--text);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 36%, transparent), var(--shadow-hover)}.choice-heading{color:var(--blush-deep);justify-content:space-between;align-items:center;gap:.75rem;display:flex}.choice-selected-icon,.selected-check{color:var(--accent-hover);flex:none}.choice-badges{flex-wrap:wrap;justify-content:flex-end;gap:.45rem;display:flex}.choice-meta,.service-pricing-note{color:var(--muted);font-size:.92rem;font-weight:740}.service-pricing-note{border-top:1px solid var(--border);padding-top:.75rem}.slot-days,.slot-selector{gap:1rem;display:grid}.slot-navigation{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;font-size:.9rem;font-weight:760;display:flex}.date-carousel{gap:.65rem;display:grid}.date-carousel-heading{grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:.55rem;display:grid}.date-carousel-heading span{color:var(--ink);font-family:var(--font-display);text-align:center;text-transform:uppercase;font-size:1.55rem;font-weight:700}.date-carousel-arrow{border:1px solid var(--line);background:var(--surface-muted);width:44px;height:44px;color:var(--text);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.date-carousel-arrow:disabled{cursor:not-allowed;opacity:.42}.date-carousel-arrow:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.slot-navigation.compact{justify-content:flex-start}.date-chip-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem;display:grid}.date-chip{border:1px solid var(--line);background:var(--surface-muted);min-width:0;min-height:86px;color:var(--text);cursor:pointer;text-align:center;border-radius:18px;align-content:center;gap:.25rem;padding:.7rem .5rem;transition:background .18s,border-color .18s,transform .18s;display:grid;position:relative}.date-chip:hover,.date-chip.is-selected{border-color:var(--border-strong);background:var(--selected-background)}.date-chip.is-selected{color:var(--ink);box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--accent) 32%, transparent)}.date-chip:focus-visible,.slot-button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.date-chip span,.date-chip small{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:820}.date-chip strong{font-family:var(--font-display);font-size:2rem;line-height:1}.date-chip .selected-check{background:var(--button-primary-background);width:1.25rem;height:1.25rem;color:var(--button-primary-text);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:.45rem;right:.45rem}.selected-slot-context{border:1px solid var(--line);background:var(--surface-muted);border-radius:14px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem;padding:.75rem;display:grid}.selected-slot-context div{gap:.15rem;min-width:0;display:grid}.selected-slot-context span{color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:820}.selected-slot-context strong{overflow-wrap:anywhere}.slot-day{gap:.7rem;display:grid}.single-slot-day{gap:.8rem}.slot-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;display:grid}.compact-slot-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.time-group{gap:.65rem;display:grid}.time-group h3{font-size:1.2rem}.slot-button{border:1px solid var(--line);background:var(--surface-muted);min-height:48px;color:var(--text);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:.3rem;font-weight:820;transition:background .18s,border-color .18s,transform .18s;display:inline-flex}.slot-button:hover,.slot-button.is-selected{border-color:var(--border-strong);background:var(--selected-background)}.slot-button.is-selected{color:var(--ink);box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--accent) 32%, transparent)}.form-grid,.admin-form{gap:.85rem;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.span-two{grid-column:1/-1}.field{color:var(--text-subtle);gap:.45rem;font-size:.9rem;font-weight:780;display:grid}.required-mark{color:var(--danger);font-weight:900}.check-field:has(input[required])>span:after{content:" *";color:var(--danger);font-weight:900}.field input,.field select,.field textarea{border:1px solid var(--border);background:var(--input-background);width:100%;color:var(--text);border-radius:18px;min-height:50px;padding:.82rem .95rem;font-size:1rem}.field select{appearance:none;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background-image:linear-gradient(45deg, transparent 50%, var(--text-subtle) 50%), linear-gradient(135deg, var(--text-subtle) 50%, transparent 50%);background-position:calc(100% - 1.1rem) calc(50% - 2px),calc(100% - .8rem) calc(50% - 2px);background-repeat:no-repeat;background-size:6px 6px,6px 6px;padding-right:2.6rem}:root[data-theme=dark] .field select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.field select option,.field select optgroup{background:var(--surface-elevated);color:var(--text)}.field select option:checked{background:var(--accent-soft);color:var(--text)}.field select:disabled{background-color:var(--disabled-background);color:var(--disabled-text);cursor:not-allowed}.themed-date-field{position:relative}.themed-date-trigger{border:1px solid var(--border);background:var(--input-background);width:100%;min-height:50px;color:var(--text);cursor:pointer;text-align:left;border-radius:18px;justify-content:space-between;align-items:center;gap:.75rem;padding:.82rem .95rem;display:flex}.themed-date-trigger .placeholder{color:var(--muted)}.themed-date-popover{z-index:120;border:1px solid var(--line-strong);background:var(--surface-elevated);width:min(330px,100vw - 2rem);box-shadow:var(--shadow-strong);border-radius:20px;padding:.8rem;position:absolute;top:calc(100% + .45rem);left:0}.themed-date-heading,.themed-date-footer{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.themed-date-heading button,.themed-date-footer button{min-width:40px;min-height:40px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:999px}.themed-date-heading button:hover,.themed-date-footer button:hover{background:var(--accent-soft)}.themed-date-weekdays,.themed-date-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.18rem;display:grid}.themed-date-weekdays{color:var(--muted);text-align:center;margin-top:.55rem;font-size:.72rem}.themed-date-grid{margin:.35rem 0}.themed-date-grid button{aspect-ratio:1;min-width:0;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:12px;font-weight:760}.themed-date-grid button:hover:not(:disabled){background:var(--accent-soft)}.themed-date-grid button[aria-current=date]{box-shadow:inset 0 0 0 1px var(--accent)}.themed-date-grid button.selected{background:var(--button-primary-background);color:var(--button-primary-text)}.themed-date-grid button.outside-month{color:var(--muted);opacity:.55}.themed-date-grid button:disabled{cursor:not-allowed;opacity:.25}.themed-time-field{position:relative}.themed-time-popover{z-index:120;border:1px solid var(--line-strong);background:var(--surface-elevated);width:min(190px,100vw - 2rem);max-height:300px;box-shadow:var(--shadow-strong);border-radius:18px;grid-template-columns:1fr;gap:.25rem;padding:.55rem;display:grid;position:absolute;top:calc(100% + .45rem);left:0;overflow-y:auto}.themed-time-single-list>button{min-height:44px;color:var(--text);cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:12px;font-weight:760}.themed-time-single-list>button:hover{background:var(--accent-soft)}.themed-time-single-list>button.selected{background:var(--button-primary-background);color:var(--button-primary-text)}.themed-time-trigger>span:first-child{white-space:nowrap;font-variant-numeric:tabular-nums}.field textarea{resize:vertical;min-height:106px}.compact-field{min-width:min(100%,360px)}.check-field{color:var(--ink);align-items:center;gap:.55rem;font-weight:780;display:inline-flex}.check-field input{width:1.1rem;height:1.1rem;accent-color:var(--blush-deep)}.bilingual-toolbar,.preset-suggestions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.bilingual-toolbar{justify-content:space-between}.preset-suggestions{align-items:stretch}.preset-suggestions span{width:100%;color:var(--muted);text-transform:uppercase;font-size:.82rem;font-weight:820}.preset-suggestions p{border:1px solid var(--line);background:var(--surface-muted);border-radius:14px;flex:180px;margin:0;padding:.75rem}.summary-card,.policy-card{gap:1rem;display:grid}.summary-line{align-items:center;gap:.8rem;display:flex}.summary-line svg{color:var(--blush-deep)}.summary-line span{color:var(--muted);font-size:.82rem;font-weight:760;display:block}.summary-line strong{margin-top:.2rem;display:block}.notice,.form-error,.empty-copy{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--accent-softer);color:var(--text);padding:.9rem 1rem;font-weight:680}.email-failure-list{gap:.65rem;display:grid}.email-failure-row{border:1px solid color-mix(in srgb, var(--danger) 28%, transparent);border-radius:var(--radius-md);background:var(--danger-soft);color:var(--danger);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.75rem;display:grid}.email-failure-row span{gap:.15rem;min-width:0;display:grid}.email-failure-row strong{color:var(--ink)}.form-error{border-color:color-mix(in srgb, var(--danger) 28%, transparent);color:var(--danger)}.field-error{color:var(--danger);margin-top:-.25rem;font-size:.86rem;font-weight:720}.turnstile-widget{min-height:65px}.empty-state{border:1px dashed var(--border-strong);border-radius:var(--radius-lg);min-height:220px;color:var(--blush-deep);text-align:center;place-items:center;display:grid}.success-card,.login-card,.manage-card{gap:1rem;max-width:680px;margin:0 auto;padding:2rem;display:grid}.success-card h1,.login-card h1,.manage-card h1{max-width:none;font-size:3rem}.success-mark,.login-mark{background:var(--button-primary-background);width:58px;height:58px;color:var(--button-primary-text);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.confirmation-code-panel,.account-choice-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted);gap:.55rem;padding:1rem;display:grid}.confirmation-code-panel strong{color:var(--ink);font-family:var(--font-display);font-size:clamp(2rem,5vw,3rem);line-height:1}.confirmation-code-panel span,.confirmation-code-panel p,.account-choice-card p{margin:0}.account-choice-card{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.account-choice-card svg{color:var(--blush-deep)}.booking-details-heading{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.booking-details-heading>.button{flex:none}.inline-account-create{border-top:1px solid var(--line);gap:.7rem;padding-top:1rem;display:grid}.inline-account-password{opacity:0;gap:.4rem;max-width:520px;max-height:0;transition:max-height .22s,opacity .18s,transform .22s;display:grid;overflow:hidden;transform:translateY(-6px)}.inline-account-password.is-open{opacity:1;max-height:180px;transform:translateY(0)}.inline-account-password small{color:var(--muted);line-height:1.5}.segmented-control,.provider-buttons{flex-wrap:wrap;gap:.55rem;display:flex}.reports-toolbar,.reports-toolbar form{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.reports-toolbar{justify-content:space-between;margin-bottom:.65rem}.reports-toolbar select,.reports-toolbar input{border:1px solid var(--border);background:var(--surface);min-height:44px;color:inherit;border-radius:10px;padding:.55rem .7rem}.reports-period{color:var(--muted);font-size:.9rem}.reports-notice,.reports-denied{border:1px solid var(--border);background:var(--surface);border-radius:14px;margin:1rem 0;padding:1rem}.reports-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1rem 0;display:grid}.reports-summary article,.reports-grid article,.reports-empty{border:1px solid var(--border);background:var(--surface);border-radius:14px;min-width:0;padding:1rem}.reports-summary span{color:var(--muted);font-size:.82rem;display:block}.reports-summary strong{margin-top:.3rem;font-size:clamp(1.05rem,2vw,1.55rem);display:block}.reports-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.reports-grid h2,.reports-empty h2{margin:0 0 .75rem;font-size:1.05rem}.reports-grid table{border-collapse:collapse;width:100%}.reports-grid th,.reports-grid td{text-align:left;border-bottom:1px solid var(--border);padding:.65rem;font-size:.88rem}.reports-grid ul{margin:0;padding:0;list-style:none}.reports-grid li{border-bottom:1px solid var(--border);justify-content:space-between;padding:.7rem 0;display:flex}.reports-table-scroll{max-width:100%;overflow-x:auto}.reports-empty{text-align:center;margin-top:1rem;padding:2rem}.reports-empty svg{color:var(--muted)}.reports-tabs{gap:.45rem;max-width:100%;padding-bottom:.5rem;display:flex;overflow-x:auto}.reports-tabs .button{flex:none}.report-export-actions{flex-wrap:wrap;gap:.5rem;display:flex}.report-definition-list{gap:.55rem;display:grid}.report-definition-list div{border-bottom:1px solid var(--border);justify-content:space-between;gap:1rem;padding-bottom:.45rem;display:flex}.reports-summary.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.reports-grid>.span-two{grid-column:1/-1}@media (max-width:700px){.reports-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;display:grid}.reports-toolbar form{display:contents}.reports-toolbar select{grid-column:1/-1}.reports-toolbar input{width:100%;min-width:0}.reports-toolbar .button{width:100%;min-width:0;min-height:44px}.report-export-actions{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.reports-summary,.reports-summary.compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.reports-summary article{padding:.75rem}.reports-grid{grid-template-columns:minmax(0,1fr)}.reports-grid article,.reports-grid>.span-two{grid-column:1;padding:.8rem}.reports-grid th,.reports-grid td{white-space:nowrap;padding:.55rem}.reports-notice{font-size:.9rem}}.finance-grid,.finance-grid>article,.finance-grid .admin-form,.finance-grid label{min-width:0}.finance-grid input,.finance-grid select,.finance-grid textarea{box-sizing:border-box;width:100%;max-width:100%}.finance-grid label{gap:.4rem;display:grid}@media (max-width:1080px){.finance-grid{grid-template-columns:minmax(0,1fr)}.finance-grid>article,.finance-grid>.span-two{grid-column:1}}@media (max-width:380px){.reports-summary,.reports-summary.compact,.report-export-actions,.reports-toolbar{grid-template-columns:minmax(0,1fr)}.reports-toolbar input{grid-column:1}}@media print{.admin-sidebar,.admin-mobile-topbar,.reports-toolbar{display:none!important}.admin-layout,.admin-main{width:100%!important;max-width:none!important;display:block!important}.reports-grid article,.reports-summary article{break-inside:avoid;box-shadow:none}}.auth-help-actions,.customer-onboarding-actions,.customer-edit-actions{flex-wrap:wrap;gap:.65rem;display:flex}.customer-session{grid-template-columns:minmax(0,1.7fr) minmax(260px,.7fr);gap:1.25rem;width:min(100%,1120px);min-width:0;margin:0 auto;display:grid}.customer-dashboard-header,.customer-onboarding-card,.customer-contact-card{padding:clamp(1rem,3vw,1.75rem)}.customer-dashboard-header{grid-column:1/-1}.customer-dashboard-header h1{overflow-wrap:anywhere;margin:.2rem 0;font-size:clamp(1.8rem,5vw,3rem)}.customer-account-email{max-width:100%;color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:.95rem}.customer-header-actions,.customer-section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.customer-dashboard-main{display:contents}.customer-appointments,.customer-appointment-source,.customer-contact-summary{gap:1rem;min-width:0;display:grid}.customer-appointments{order:2;grid-column:1}.customer-appointment-source{order:3;grid-column:1;width:100%}.customer-contact-card{order:4;grid-area:2/2/span 2;align-self:start}.customer-contact-summary{margin:1rem 0 0}.customer-contact-summary div{min-width:0}.customer-contact-summary dt{color:var(--muted);font-size:.8rem}.customer-contact-summary dd{overflow-wrap:anywhere;margin:.2rem 0 0}.customer-empty-state{text-align:center;place-items:center;gap:.8rem;min-height:220px;display:grid}.customer-empty-state h3{margin:0}.customer-onboarding-card{gap:1rem;width:min(100%,760px);margin:0 auto;display:grid}.customer-appointment-card{position:relative}.customer-appointment-menu{z-index:5;position:absolute;top:.85rem;right:.85rem}.customer-appointment-card>.summary-line{padding-right:3.25rem}.customer-appointment-card>.summary-line span{color:var(--text);font-size:clamp(1rem,2vw,1.15rem);font-weight:820;line-height:1.3}.customer-appointment-card>.summary-line strong{font-size:clamp(1.05rem,2.2vw,1.25rem)}.customer-action-help{max-width:240px;color:var(--muted);padding:.45rem .65rem;line-height:1.35;display:block}.customer-appointment-action-buttons{flex-wrap:wrap;gap:.65rem;display:flex}.customer-reschedule-form select{border:1px solid var(--border);background:var(--surface);width:100%;min-height:44px;color:var(--text);border-radius:12px;padding:.65rem}.customer-reschedule-form label{gap:.45rem;display:grid}@media (max-width:760px){.customer-session{grid-template-columns:minmax(0,1fr)}.customer-dashboard-header,.customer-appointments,.customer-appointment-source,.customer-contact-card{grid-area:auto/1}.customer-appointment-source{width:100%}.customer-dashboard-header .row-heading{grid-template-columns:minmax(0,1fr);display:grid}.customer-header-actions{justify-content:flex-start}.customer-header-actions .button,.customer-edit-actions .button{min-height:44px}}.segmented-control{grid-template-columns:repeat(var(--segment-count,2), minmax(0, 1fr));border:1px solid var(--line);background:var(--surface-muted);border-radius:999px;padding:.35rem;display:grid}.segmented-control button{min-width:0;min-height:42px;color:var(--text-subtle);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.65rem .95rem;font-weight:820}.responsive-filter-panel>button{display:none}.segmented-control button.active{background:var(--button-primary-background);color:var(--button-primary-text);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 28%, transparent)}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.detail-grid span{overflow-wrap:anywhere;border:1px solid var(--border);background:var(--surface-muted);color:var(--muted);border-radius:18px;gap:.2rem;padding:.8rem;display:grid}.detail-grid.large span{min-height:88px}.detail-grid strong{color:var(--ink)}.admin-layout{grid-template-columns:clamp(240px,18vw,290px) minmax(0,1fr);width:100%;min-width:0;min-height:100vh;display:grid}.admin-mobile-topbar{display:none}.admin-sidebar{border-right:1px solid var(--line);background:var(--header-background);flex-direction:column;gap:1.25rem;height:100vh;padding:1.25rem;display:flex;position:sticky;top:0}.admin-brand{padding:.2rem}.admin-nav,.admin-sidebar-footer{gap:.55rem;display:grid}.admin-nav .button,.admin-sidebar-footer .button{justify-content:flex-start}.admin-sidebar-footer{margin-top:auto}.admin-main{align-content:start;gap:1.2rem;width:100%;min-width:0;max-width:1600px;margin-inline:auto;padding:clamp(1rem,2vw,2rem);display:grid}.admin-main>*,.admin-section,.booking-list,.admin-booking-row,.booking-detail,.manage-details,.admin-filter-bar{min-width:0;max-width:100%}.admin-header h1{max-width:none;font-size:3.3rem}.admin-hint{padding:1rem 1.1rem}.admin-stat-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;display:grid}.admin-stat-grid .card{gap:.6rem;display:grid}.admin-stat-grid svg{color:var(--blush-deep)}.admin-stat-grid span{color:var(--muted);font-weight:750}.admin-stat-grid strong{font-family:var(--font-display);font-size:2.4rem}.dashboard-operational-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding:0;display:grid;overflow:hidden}.dashboard-operational-summary>a{border-right:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.5rem;min-width:0;padding:.9rem;display:grid}.dashboard-operational-summary>a:last-child{border-right:0}.dashboard-operational-summary span{color:var(--text-subtle);font-size:.8rem}.dashboard-operational-summary strong{font-size:1.15rem}.dashboard-appointment-list{gap:.55rem;display:grid}.dashboard-appointment-row{border:1px solid var(--line);background:var(--surface-muted);border-radius:16px;grid-template-columns:minmax(150px,.8fr) minmax(0,1.4fr) auto;align-items:center;gap:.85rem;min-height:66px;padding:.7rem .85rem;transition:background .16s,border-color .16s,transform .16s;display:grid}.dashboard-appointment-row:hover,.dashboard-appointment-row:focus-visible{border-color:var(--line-strong);background:var(--surface);transform:translateY(-1px)}.dashboard-appointment-row:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.dashboard-appointment-time{color:var(--text-subtle);font-size:.84rem;font-weight:780}.dashboard-appointment-person{gap:.18rem;min-width:0;display:grid}.dashboard-appointment-person strong,.dashboard-appointment-person small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dashboard-appointment-person small{color:var(--muted)}.dashboard-next-meta{flex-wrap:wrap;gap:.5rem;display:flex}.dashboard-next-meta span{background:var(--surface-muted);min-width:0;color:var(--text-subtle);border-radius:999px;align-items:center;gap:.4rem;padding:.45rem .65rem;font-size:.82rem;font-weight:740;display:inline-flex}.dashboard-operational-summary>a,.dashboard-appointment-link,.activity-row{transition:background .16s,border-color .16s,transform .16s}.dashboard-operational-summary>a:hover,.dashboard-operational-summary>a:focus-visible,.dashboard-appointment-link:hover .dashboard-next-appointment,.dashboard-appointment-link:focus-visible .dashboard-next-appointment,.activity-row:hover,.activity-row:focus-visible{border-color:var(--line-strong);background:var(--surface)}.dashboard-operational-summary>a:focus-visible,.dashboard-appointment-link:focus-visible,.activity-row:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.compact-stat-grid{grid-template-columns:repeat(2,minmax(140px,180px))}.admin-section,.booking-list,.editor-grid,.availability-layout,.availability-editor,.weekly-schedule,.availability-rule-list,.availability-block-list,.option-editor-list,.blocked-list,.filter-pills,.admin-filter-bar,.admin-notes-form,.reschedule-form,.diagnostic-grid,.settings-grid,.customer-session{gap:1rem;display:grid}.diagnostic-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.diagnostic-item{gap:.45rem;display:grid}.diagnostic-item span{color:var(--muted);font-weight:760}.weekly-schedule{grid-template-columns:repeat(2,minmax(0,1fr))}.day-card{gap:1rem;display:grid}.availability-block,.reschedule-form{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end;gap:.75rem;display:grid}.availability-block .button,.reschedule-form .button{align-self:end}.copy-selected-form,.inline-actions,.slot-preview-list{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.slot-preview-list{align-items:flex-start}.address-mode-help{color:var(--muted);gap:.45rem;font-size:.9rem;display:grid}.address-mode-help p{margin:0}.exception-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;display:grid}.customer-appointment-card{gap:1rem;display:grid}.settings-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.7fr)}.admin-filter-bar{grid-template-columns:minmax(220px,360px) auto;align-items:end}.filter-pills{flex-wrap:wrap;display:flex}.admin-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.admin-pagination>span,.admin-pagination .inline-actions>span{color:var(--muted);font-size:.92rem;font-weight:760}.calendar-toolbar{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:1rem;display:grid}.calendar-toolbar h2{text-align:center;font-size:2rem}.calendar-toolbar .filter-pills{justify-content:flex-end}.calendar-filter-bar{grid-template-columns:minmax(180px,260px) minmax(180px,260px) auto}.calendar-message{margin:0}.calendar-time-grid{border:1px solid var(--line);background:var(--surface-muted);border-radius:8px;grid-template-columns:64px minmax(720px,1fr);display:grid;overflow-x:auto}.calendar-time-axis{border-right:1px solid var(--line);background:var(--surface-elevated);position:relative}.calendar-time-axis span{color:var(--muted);font-size:.76rem;font-weight:760;position:absolute;right:.5rem;transform:translateY(-50%)}.calendar-days{grid-template-columns:repeat(var(--calendar-days,1), minmax(140px, 1fr));display:grid}.calendar-time-grid-week .calendar-days{--calendar-days:7}.calendar-day-column{border-right:1px solid var(--line);background:repeating-linear-gradient(to bottom, var(--calendar-line) 0, var(--calendar-line) 1px, transparent 1px, transparent 60px), var(--surface-muted);min-width:0;position:relative}.calendar-day-column header{z-index:3;border-bottom:1px solid var(--line);background:var(--surface-elevated);min-height:42px;color:var(--text);padding:.65rem;font-size:.82rem;font-weight:820;position:sticky;top:0}.calendar-day-column.is-today header,.calendar-month-cell.is-today{box-shadow:inset 0 0 0 2px var(--border-strong)}.calendar-now-line{z-index:4;background:var(--calendar-now);height:2px;position:absolute;left:0;right:0}.calendar-now-line:before{background:var(--calendar-now);content:"";border-radius:50%;width:10px;height:10px;position:absolute;top:-4px;left:-4px}.calendar-event{z-index:2;border:1px solid color-mix(in srgb, var(--surface-strong) 64%, transparent);min-height:24px;color:var(--text);cursor:pointer;text-align:left;box-shadow:var(--shadow-hover);border-radius:7px;gap:.15rem;padding:.36rem .45rem;display:grid;position:absolute;left:.35rem;right:.35rem;overflow:hidden}.calendar-event span{text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:850;line-height:1.2;overflow:hidden}.calendar-event small{color:var(--text-subtle);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;font-weight:700;line-height:1.25;overflow:hidden}.calendar-event-appointment{background:var(--calendar-event-appointment)}.calendar-event-pending{background:var(--calendar-event-pending)}.calendar-event-muted{background:var(--calendar-event-muted)}.calendar-event-blocked{background:var(--calendar-event-blocked)}.calendar-event-open{background:var(--calendar-event-open)}.calendar-event-buffer{background:var(--calendar-event-buffer);box-shadow:none;border-style:dashed}.calendar-resize-handle{height:14px;color:var(--text-subtle);cursor:ns-resize;justify-content:center;align-items:center;display:flex;position:absolute;bottom:0;left:0;right:0}.calendar-month-grid{border:1px solid var(--line);background:var(--surface-muted);border-radius:8px;grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.calendar-month-cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:148px;padding:.55rem}.calendar-month-cell>strong{color:var(--ink);margin-bottom:.45rem;font-size:.8rem;display:block}.calendar-month-events{gap:.35rem;display:grid}.calendar-month-events .calendar-event{width:100%;box-shadow:none;position:static}.calendar-detail{gap:.75rem;display:grid}.calendar-mobile-agenda,.calendar-mobile-filters>summary{display:none}.admin-page-header,.admin-section-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.admin-page-header{align-items:end}.admin-page-header h1{max-width:none;font-size:3.3rem}.admin-page-header p:not(.eyebrow){max-width:720px}.admin-page-actions,.record-card-controls,.confirm-dialog-actions,.save-bar,.mobile-action-bar{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.admin-page-actions,.record-card-controls{justify-content:flex-end}.admin-section-heading h2,.editor-card h2{font-size:2rem}.admin-toolbar,.filter-bar{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.admin-toolbar-between{justify-content:space-between}.admin-toolbar-start{justify-content:flex-start}.admin-toolbar-end{justify-content:flex-end}.pagination-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;display:flex}.record-card{border-radius:18px;gap:1rem;display:grid}.record-card.is-archived{opacity:.78}.record-list,.location-manager,.catalog-manager{gap:1rem;display:grid}.catalog-category-list{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.record-card-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.85rem;display:grid}.record-card-title{gap:.4rem;min-width:0;display:grid}.record-card-title h2{overflow-wrap:anywhere;font-size:1.55rem;line-height:1.1}.record-card-title p:not(.eyebrow){font-size:.94rem}.record-card-body{gap:.8rem;display:grid}.record-summary{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.65rem;margin:0;display:grid}.record-summary div{min-width:0}.record-summary dt{color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:820}.record-summary dd{color:var(--ink);overflow-wrap:anywhere;margin:.16rem 0 0;font-weight:760}.inline-notice{border:1px solid var(--border);background:var(--surface-muted);color:var(--text);border-radius:14px;gap:.35rem;padding:.85rem 1rem;display:grid}.inline-notice p{line-height:1.55}.inline-notice strong{color:var(--ink)}.inline-notice-success{border-color:color-mix(in srgb, var(--success) 28%, transparent);background:var(--success-soft)}.inline-notice-warning{border-color:color-mix(in srgb, var(--warning) 34%, transparent);background:var(--warning-soft)}.inline-notice-danger{border-color:color-mix(in srgb, var(--danger) 28%, transparent);background:var(--danger-soft)}.admin-empty-state{gap:.9rem;min-height:180px;padding:1.25rem}.admin-empty-state h2{font-size:1.75rem}.action-menu{isolation:isolate;position:relative}.action-menu[open]{z-index:60}.action-menu summary{border:1px solid var(--line);background:var(--surface-muted);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:.45rem;width:44px;min-height:44px;padding:0;font-weight:820;list-style:none;display:inline-flex}.action-menu summary::-webkit-details-marker{display:none}.action-menu summary span{font-size:.88rem}.action-menu summary.action-menu-summary-labeled{width:auto;min-width:88px;padding:0 1rem}.action-menu-panel{z-index:70;border:1px solid var(--line);background:var(--surface-elevated);overscroll-behavior:contain;opacity:1;width:max-content;min-width:min(230px,100vw - 2rem);max-width:min(320px,100vw - 2rem);max-height:min(70vh,560px);box-shadow:var(--shadow-hover);border-radius:14px;gap:.35rem;margin-top:.45rem;padding:.45rem;display:grid;position:absolute;right:0;overflow-y:auto}.action-menu-panel>form{width:100%}.action-menu-panel .button,.action-menu-panel button{white-space:normal;overflow-wrap:normal;word-break:normal;text-align:left;justify-content:flex-start;width:100%}.action-menu-panel .button{min-height:42px}.form-section{border-top:1px solid var(--line);gap:.9rem;padding-top:1rem;display:grid}.form-section-heading{gap:.35rem;display:grid}.form-section-heading h2{font-size:1.45rem}.form-section-body{gap:.85rem;display:grid}.collapsible-section{border:1px solid var(--line);background:var(--surface-muted);border-radius:14px}.collapsible-section summary{cursor:pointer;padding:.9rem 1rem}.collapsible-section summary span{gap:.2rem;display:grid}.collapsible-section small{color:var(--muted);font-weight:650}.collapsible-section-body{border-top:1px solid var(--line);padding:1rem}.search-input{min-width:min(100%,280px);color:var(--text-subtle);gap:.45rem;font-size:.9rem;font-weight:780;display:grid;position:relative}.search-input svg{color:var(--muted);position:absolute;bottom:1rem;left:.85rem}.search-input input{border:1px solid var(--border);background:var(--input-background);min-height:50px;color:var(--text);border-radius:999px;padding:.82rem .95rem .82rem 2.35rem}.filter-bar{border:1px solid var(--line);background:var(--surface-muted);border-radius:18px;align-items:end;padding:.85rem}.drawer-form{padding-bottom:calc(4.5rem + env(safe-area-inset-bottom));gap:1.1rem}.location-public-preview{border:1px solid var(--border);background:var(--surface-muted);border-radius:14px;gap:.35rem;padding:.9rem;display:grid}.location-public-preview span{color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:820}.location-public-preview strong{color:var(--ink)}.affected-records{border:1px solid var(--line);background:var(--surface-muted);border-radius:14px}.affected-records summary{cursor:pointer;align-items:center;gap:.45rem;padding:.8rem .9rem;font-weight:820;display:flex}.affected-records ul{gap:.35rem;margin:0;padding:0 .9rem .9rem 2rem;display:grid}.reassign-form{border-top:1px solid var(--line);gap:.75rem;padding:.9rem;display:grid}.catalog-manager .filter-bar{grid-template-columns:minmax(220px,1fr) auto minmax(180px,260px);display:grid}.offering-list,.sortable-offering-list{gap:.75rem;display:grid}.offering-list-heading{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.offering-list-heading h3{font-size:1.35rem}.offering-row{border:1px solid var(--line);background:var(--surface-muted);touch-action:auto;border-radius:16px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.75rem;padding:.85rem;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid;position:relative}.offering-row.is-dragging{z-index:10;border-color:var(--border-strong);box-shadow:var(--shadow-hover);opacity:.96}.service-reorder-mode,.service-reorder-list{gap:.65rem;display:grid}.service-reorder-row{border:1px solid var(--line);background:var(--surface);border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.65rem .75rem;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid}.service-reorder-row.is-dragging{z-index:10;border-color:var(--border-strong);box-shadow:var(--shadow-hover);opacity:.96}.finance-header-actions,.finance-section-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.finance-workspace-header{justify-content:space-between;align-items:flex-end;gap:var(--space-4);display:flex}.finance-workspace-header .admin-page-description{margin:0}.finance-header-actions{margin:var(--space-4) 0;max-width:34rem}.finance-tabs{gap:var(--space-1);max-width:100%;margin:var(--space-5) 0;border-bottom:1px solid var(--border);scrollbar-width:thin;display:flex;overflow-x:auto}.finance-tabs a{color:var(--text-muted);white-space:nowrap;border-bottom:2px solid #0000;padding:.75rem 1rem;text-decoration:none}.finance-tabs a:hover,.finance-tabs a:focus-visible{color:var(--text)}.finance-tabs a.is-active{color:var(--text);border-bottom-color:var(--accent);font-weight:700}.finance-section{min-width:0}.finance-section-heading{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.finance-section-heading h2{margin:0;font-family:inherit;font-size:1.1rem;line-height:1.3}.finance-empty{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);text-align:center;padding:clamp(1.25rem,4vw,2rem)}.finance-empty h3{margin:0;font-family:inherit;font-size:1rem}.finance-empty p{max-width:34rem;color:var(--text-muted);margin:.45rem auto 0;line-height:1.55}.finance-mobile-cards{gap:var(--space-3);display:none}.finance-record-card{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.finance-record-card>*{min-width:0}.finance-record-card p{color:var(--text-muted);margin:.25rem 0 0}.finance-settings-list{gap:var(--space-3);margin-bottom:var(--space-4);display:grid}.finance-modal-backdrop{overflow:hidden}.finance-modal-panel{overscroll-behavior:contain;width:min(44rem,100vw - 2rem);max-width:calc(100vw - 2rem);max-height:calc(100svh - 2rem);overflow:hidden auto}.finance-modal-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;width:100%;min-width:0;display:grid}.finance-modal-form>*,.finance-modal-form .field,.finance-modal-form input,.finance-modal-form select,.finance-modal-form textarea{box-sizing:border-box;min-width:0;max-width:100%}.finance-modal-form input,.finance-modal-form select,.finance-modal-form textarea{width:100%}.finance-modal-form>input[type=hidden]{display:none}.finance-details-grid{margin-top:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.finance-more-details,.finance-more-details>*{min-width:0;max-width:100%}.finance-form-submit{width:100%}.finance-appointment-summary{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1rem;margin:0;padding:1rem;display:grid}.finance-appointment-summary div{min-width:0}.finance-appointment-summary dt{color:var(--text-muted);font-size:.78rem;font-weight:700}.finance-appointment-summary dd{overflow-wrap:anywhere;margin:.2rem 0 0;font-weight:650}.finance-no-appointments{border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-muted);padding:1rem;line-height:1.5}@media (max-width:700px){.finance-workspace-header{align-items:stretch;gap:var(--space-2);flex-direction:column}.finance-desktop-table{display:none}.finance-mobile-cards{display:grid}.finance-header-actions{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;display:grid}.finance-header-actions>*,.finance-section-actions>*{width:100%;min-width:0;min-height:44px}.finance-section-heading{flex-direction:column;align-items:flex-start}.finance-section-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.finance-record-card{min-width:0}.finance-modal-backdrop{align-items:end;padding:0}.finance-modal-panel{border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:100%;max-height:92svh;padding:1rem max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));border-bottom:0;align-self:end}.finance-modal-panel .modal-heading{z-index:2;background:var(--surface-elevated);margin:-1rem -1rem .75rem;padding:1rem;position:sticky;top:-1rem}.finance-modal-form,.finance-details-grid,.finance-appointment-summary{grid-template-columns:minmax(0,1fr)}.finance-modal-form .span-two,.finance-details-grid .span-two{grid-column:1}.finance-modal-form input,.finance-modal-form select,.finance-modal-form textarea{font-size:16px}.finance-form-submit{min-height:48px}}@media (max-width:380px){.finance-header-actions,.finance-section-actions{grid-template-columns:minmax(0,1fr)}}.service-reorder-row,.offering-row{backface-visibility:hidden;transform:translateZ(0)}.drag-handle{touch-action:none;-webkit-user-select:none;user-select:none}@media (max-width:760px){.service-reorder-row,.offering-row{contain:layout paint;box-shadow:none}.service-reorder-row.is-dragging,.offering-row.is-dragging{box-shadow:0 8px 22px color-mix(in srgb, var(--ink) 16%, transparent)}}.service-reorder-main{align-items:center;gap:.6rem;min-width:0;display:flex}.service-reorder-main strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.offering-row-content{gap:.75rem;min-width:0;display:grid}.offering-row-main{justify-content:space-between;align-items:center;gap:.65rem;min-width:0;display:flex}.offering-row-main div{flex:1;gap:.2rem;min-width:0;display:grid}.offering-row-main strong,.offering-row-main span{overflow-wrap:anywhere}.offering-row-main span{color:var(--muted);font-size:.9rem;font-weight:720}.offering-row-summary{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.offering-row-controls{justify-items:end;gap:.35rem;display:grid}.drag-handle{border:1px solid var(--line);background:var(--surface-muted);width:44px;min-height:44px;color:var(--text-subtle);cursor:grab;touch-action:none;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex}.drag-handle:active{cursor:grabbing}.drag-handle svg{pointer-events:none}.copy-settings-panel{border:1px solid var(--border);background:var(--surface-muted);border-radius:14px}.copy-settings-panel summary{cursor:pointer;align-items:center;gap:.45rem;padding:.75rem .85rem;font-weight:820;display:flex}.action-menu-panel .copy-settings-panel{background:0 0}.action-menu-panel .copy-settings-panel summary{border-radius:999px;min-height:42px;padding:.65rem .9rem}.combo-member-list{gap:.45rem;display:grid}.segmented-control-field{color:var(--text-subtle);gap:.45rem;font-size:.9rem;font-weight:780;display:grid}.save-bar{background:0 0;justify-content:flex-end;padding-top:.65rem}.confirm-dialog,.impact-dialog{gap:1rem;padding-top:1rem;display:grid}.confirm-dialog>svg{color:var(--danger)}.confirm-dialog-actions{justify-content:flex-end}.impact-dialog ul{margin:0;padding-left:1.2rem}.impact-dialog-alternatives{gap:.5rem;display:grid}.mutation-toast{z-index:120;border:1px solid var(--line);background:var(--surface-elevated);max-width:min(420px,100vw - 2rem);box-shadow:var(--shadow-hover);color:var(--text);border-radius:999px;align-items:center;gap:.55rem;padding:.75rem 1rem;font-weight:780;animation:.22s ease-out both toast-enter;display:inline-flex;position:fixed;bottom:1rem;right:1rem}.mutation-toast-saving svg{animation:.85s linear infinite spin}.mutation-toast-success svg{color:var(--success)}.mutation-toast-error svg{color:var(--danger)}.mobile-action-bar{display:none}@keyframes spin{to{transform:rotate(360deg)}}@keyframes toast-enter{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes modal-backdrop-enter{0%{opacity:0}to{opacity:1}}@keyframes drawer-enter{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:translate(0)}}.admin-booking-row{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface-muted);gap:.85rem;padding:3.8rem .9rem .9rem;display:grid;position:relative}.admin-booking-row>.action-menu{position:absolute;top:.75rem;right:.75rem}.row-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.admin-booking-row>.row-heading{justify-content:flex-end}.pending-booking-actions{flex-wrap:wrap;gap:.6rem;display:flex}.pending-booking-actions form,.pending-booking-actions .button{flex:140px}.booking-detail{box-shadow:none;gap:1rem;display:grid}.booking-detail h3{margin-top:.35rem}.manage-details{border:1px solid var(--line);background:var(--surface);border-radius:16px;overflow:hidden}.manage-details>summary{cursor:pointer;color:var(--text-subtle);padding:.8rem .9rem;font-weight:800;list-style-position:inside}.manage-details>summary:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.manage-details[open]>summary{border-bottom:1px solid var(--line);background:var(--surface-muted)}.manage-details>:not(summary){margin:.8rem}.editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-card{gap:1.2rem;display:grid}.editor-card-wide{grid-column:1/-1}.admin-form.nested{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-muted);padding:1rem}.admin-form.inline{grid-template-columns:repeat(6,minmax(120px,1fr));align-items:end}.availability-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.availability-layout .editor-card:last-child{grid-column:1/-1}.availability-product,.settings-product,.settings-form{gap:1rem;display:grid}.appointment-form-section{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-muted);gap:.85rem;padding:1rem;display:grid}.form-section-heading{align-items:center;gap:.7rem;display:flex}.form-section-heading>span{background:var(--accent-soft);width:28px;height:28px;color:var(--accent-hover);border-radius:50%;flex:0 0 28px;place-items:center;font-size:.8rem;font-weight:850;display:grid}.form-section-heading div{gap:.1rem;display:grid}.form-section-heading small{color:var(--text-subtle)}.appointment-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.appointment-sticky-actions{flex-wrap:wrap;gap:.65rem;display:flex}.compact-availability{gap:.85rem}.availability-scope-bar{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;align-items:end;gap:.75rem;display:grid}.weekly-hours-list,.availability-compact-section,.day-editor,.compact-record-list{gap:.7rem;display:grid}.weekly-day-row{border:1px solid var(--line);background:var(--surface-muted);min-height:58px;color:var(--text);cursor:pointer;text-align:left;border-radius:14px;grid-template-columns:minmax(92px,.9fr) auto minmax(120px,1.3fr) auto;align-items:center;gap:.75rem;padding:.75rem .85rem;display:grid}.weekly-day-row:hover,.weekly-day-row:focus-visible{border-color:var(--border-strong);background:var(--surface-hover)}.weekly-day-row:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.weekly-day-name,.weekly-day-action{font-weight:850}.weekly-day-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:.94rem;overflow:hidden}.weekly-day-action{color:var(--accent-hover);font-size:.88rem}.section-toolbar,.compact-record-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.section-toolbar h2{margin:0;font-size:1.45rem}.compact-record-row,.day-range-editor{border:1px solid var(--line);background:var(--surface-muted);border-radius:14px;padding:.8rem}.compact-record-row span,.compact-record-row small{gap:.15rem;display:grid}.day-range-editor{gap:.65rem;display:grid}.day-range-form{grid-template-columns:minmax(92px,auto) repeat(2,minmax(120px,1fr)) auto;align-items:end;gap:.65rem;display:grid}.availability-preview-placeholder{color:var(--text-subtle);gap:.7rem;display:grid}.simplified-slot-preview,.preview-day-list{gap:.85rem;display:grid}.preview-heading,.preview-result-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.preview-heading h2,.preview-heading p{margin:0}.preview-heading h2{font-family:var(--font-body);font-size:1.45rem}.preview-heading p:not(.eyebrow),.preview-timezone{color:var(--text-subtle)}.preview-context{border:1px solid var(--line);background:var(--surface-muted);border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.preview-context>span{gap:.15rem;min-width:0;padding:.7rem .8rem;display:grid}.preview-context>span+span{border-left:1px solid var(--line)}.preview-context small,.preview-result-heading span{color:var(--text-subtle);font-size:.72rem}.preview-context strong{text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.preview-controls{grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);align-items:end;gap:.75rem;display:grid}.preview-week-control{color:var(--text-subtle);gap:.45rem;font-size:.9rem;font-weight:780;display:grid}.preview-week-control>div{grid-template-columns:44px minmax(0,1fr) 44px;align-items:end;gap:.35rem;display:grid}.preview-week-control .field>span,.icon-only-button>span{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.preview-result-heading{border-bottom:1px solid var(--line);align-items:center;padding-bottom:.65rem}.preview-day-list section{grid-template-columns:minmax(112px,.45fr) minmax(0,1fr);align-items:start;gap:.65rem;display:grid}.preview-day-list header{color:var(--text);padding-top:.42rem;font-size:.82rem;font-weight:820}.preview-day-list section>div{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:.35rem;display:grid}.preview-day-list section span{border:1px solid var(--line);background:var(--surface-muted);color:var(--text);text-align:center;border-radius:10px;padding:.45rem .5rem;font-size:.78rem;font-weight:780}.preview-empty-state{border:1px dashed var(--line);background:var(--surface-muted);border-radius:14px;gap:.3rem;padding:1rem;display:grid}.preview-empty-state p{color:var(--text-subtle);margin:0}.schedule-board{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start}.availability-range-list,.schedule-sections,.settings-section-grid,.notification-list{gap:1rem;display:grid}.availability-range-row{border:1px solid var(--line);background:var(--surface-muted);border-radius:14px;gap:.75rem;padding:.8rem;display:grid}.availability-range-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:.75rem;display:grid}.availability-range-form .button,.availability-range-form .check-field{align-self:end}.copy-selected-form{flex-wrap:wrap;align-items:center;gap:.65rem;margin-top:.75rem;display:flex}.schedule-sections{grid-template-columns:minmax(280px,.85fr) minmax(320px,1.15fr)}.settings-section-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.settings-panel-wide{grid-column:1/-1}.notification-list{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.notification-toggle{border:1px solid var(--line);background:var(--surface-muted);border-radius:14px;align-items:flex-start;min-height:48px;padding:.8rem}.exception-row{gap:.65rem;display:grid}.exception-row form{justify-self:end}.dashboard-quick-actions,.activity-row,.calendar-legend{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.dashboard-quick-actions{justify-content:flex-start}.dashboard-grid,.booking-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.booking-detail-page,.activity-list,.client-record-list,.client-notes{gap:1rem;display:grid}.activity-row{border:1px solid var(--line);background:var(--surface-muted);border-radius:14px;justify-content:space-between;padding:.8rem}.activity-row span{gap:.15rem;min-width:0;display:grid}.activity-row small,.muted-copy{color:var(--muted);font-size:.86rem;font-weight:680}.bookings-filter-bar{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr))}.bookings-filter-bar>.button{align-self:end}.booking-create-action{justify-content:flex-end;display:flex}.bookings-summary-grid{grid-template-columns:repeat(2,minmax(140px,180px));align-items:stretch}.bookings-overview-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.bookings-overview-row .booking-create-action{align-items:center}.bookings-overview-row .booking-create-action .button{border-radius:999px;min-height:48px;padding-inline:1rem}.booking-create-action .modal-panel.edit-drawer{width:min(760px,100vw)}.clients-filter-bar{grid-template-columns:minmax(240px,420px) auto}.client-notes p{border:1px solid var(--line);background:var(--surface-muted);border-radius:14px;margin:0;padding:.8rem}.calendar-legend{justify-content:flex-start}.blocked-list p{border:1px solid var(--line);background:var(--surface-muted);border-radius:18px;flex-wrap:wrap;justify-content:space-between;gap:.5rem;padding:.8rem;display:flex}.blocked-time-scope,.blocked-time-fields{gap:.55rem;display:grid}.blocked-time-scope small,.field-help{color:var(--muted);margin:0;font-size:.86rem;line-height:1.45}.blocked-time-date-row{grid-template-columns:minmax(0,1.35fr) minmax(120px,.65fr);gap:.75rem;display:grid}.modal-backdrop{z-index:100;background:var(--overlay);padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));place-items:center;animation:.16s ease-out both modal-backdrop-enter;display:grid;position:fixed;inset:0}.modal-panel{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface-elevated);width:min(100%,640px);box-shadow:var(--shadow);isolation:isolate;padding:1.2rem}.modal-panel.edit-drawer{overscroll-behavior:contain;border-radius:24px 0 0 24px;justify-self:end;width:min(100%,760px);max-height:calc(100svh - 2rem);animation:.22s ease-out both drawer-enter;overflow:auto}.button:not(:disabled):active,.themed-date-trigger:active,.weekly-day-row:active,.dashboard-appointment-row:active{transform:scale(.98)}@media (prefers-reduced-motion:reduce){.mutation-toast,.modal-backdrop,.modal-panel.edit-drawer{animation:none}.button,.themed-date-trigger,.weekly-day-row,.dashboard-appointment-row{transition:none}}.modal-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.modal-heading h2{overflow-wrap:anywhere;max-width:calc(100% - 56px);font-size:clamp(1.65rem,5vw,2.35rem);line-height:1.05}.modal-heading .button span{display:none}@media (max-width:1080px){h1{font-size:3.7rem}.home-hero,.booking-layout,.availability-layout,.schedule-sections,.dashboard-grid,.booking-detail-grid,.settings-section-grid,.settings-grid,.weekly-schedule{grid-template-columns:1fr}.booking-aside{position:static}.selection-grid,.admin-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:920px){:root{--header-height:68px}.site-header{border-radius:28px;align-items:center}.main-nav{flex-wrap:wrap;justify-content:end;display:flex}.admin-layout{grid-template-columns:1fr}.admin-mobile-topbar{z-index:90;border-bottom:1px solid var(--line);background:var(--header-background);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.6rem;padding:.65rem .85rem;display:grid;position:sticky;top:0}.admin-mobile-brand{min-width:0}.admin-mobile-topbar>strong{max-width:34vw;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;overflow:hidden}.admin-mobile-topbar>.theme-toggle{justify-self:end}.admin-mobile-menu{position:static}.admin-mobile-menu-trigger{z-index:90;cursor:pointer;border:1px solid var(--line-strong);background:var(--surface);width:46px;height:46px;color:var(--ink);border-radius:999px;place-items:center;list-style:none;display:grid;position:relative}.admin-menu-icon{width:22px;height:18px;display:block;position:relative}.admin-menu-icon>span{transform-origin:50%;background:currentColor;border-radius:999px;width:22px;height:2px;transition:top .18s,transform .18s,opacity .12s;display:block;position:absolute;left:0}.admin-menu-icon>span:first-child{top:1px}.admin-menu-icon>span:nth-child(2){top:8px}.admin-menu-icon>span:nth-child(3){top:15px}.admin-mobile-menu-trigger.is-open .admin-menu-icon>span:first-child{top:8px;transform:rotate(45deg)}.admin-mobile-menu-trigger.is-open .admin-menu-icon>span:nth-child(2){opacity:0;transform:scaleX(.35)}.admin-mobile-menu-trigger.is-open .admin-menu-icon>span:nth-child(3){top:8px;transform:rotate(-45deg)}@media (prefers-reduced-motion:reduce){.admin-menu-icon>span{transition:none}}.admin-mobile-drawer{z-index:100;max-height:calc(100svh - var(--mobile-header-height) - 1.5rem);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-strong);padding:.8rem;padding-bottom:max(.8rem, env(safe-area-inset-bottom));border-radius:18px;gap:.7rem;display:grid;position:absolute;top:calc(100% + .45rem);left:.75rem;right:.75rem;overflow-y:auto}.admin-mobile-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;display:grid}.admin-mobile-nav .button,.admin-mobile-drawer form .button{justify-content:flex-start;min-height:44px}.admin-mobile-tools{justify-content:space-between;align-items:center;gap:.75rem;min-height:44px;display:flex}.admin-sidebar{display:none}.admin-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-sidebar-footer{grid-template-columns:repeat(3,auto);justify-content:start;align-items:center}.responsive-filter-panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-soft)}.responsive-filter-panel>button{cursor:pointer;width:100%;min-height:48px;color:var(--ink);background:0 0;border:0;justify-content:space-between;align-items:center;padding:.8rem 1rem;font-weight:820;display:flex}.responsive-filter-panel>button:after{content:"+";font-size:1.25rem;line-height:1}.responsive-filter-panel.is-open>button:after{content:"−"}.responsive-filter-content{display:none}.responsive-filter-panel.is-open .responsive-filter-content{display:block}.responsive-filter-content>form{margin:0 .75rem .75rem}}@media (max-width:700px){:root{--header-height:var(--mobile-header-height);--radius-xl:20px;--radius-lg:18px;--radius-md:14px}.admin-layout{min-height:100svh;display:block}.admin-mobile-topbar{z-index:90;height:calc(var(--mobile-header-height) + env(safe-area-inset-top));border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--header-background) 94%, transparent);padding:env(safe-area-inset-top) var(--mobile-page-padding) 0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);grid-template-columns:minmax(0,auto) minmax(0,1fr) 44px 44px;align-items:center;gap:.35rem;display:grid;position:sticky;top:0}.admin-mobile-topbar>strong{font-family:var(--font-body);text-overflow:ellipsis;white-space:nowrap;font-size:.94rem;overflow:hidden}.admin-mobile-brand{gap:.45rem;font-size:.9rem}.admin-mobile-brand .brand-mark{width:34px;height:34px}.admin-sidebar{display:none}.admin-main{gap:var(--mobile-section-gap);padding:1.1rem var(--mobile-page-padding) calc(1.5rem + env(safe-area-inset-bottom))}.admin-page-header{display:none}.dashboard-appointment-row{grid-template-columns:minmax(0,1fr) auto;gap:.35rem .7rem}.dashboard-appointment-time{grid-column:1/-1}.dashboard-next-appointment h2{font-size:1.45rem}.dashboard-grid{grid-template-columns:1fr}.themed-date-popover{top:auto;right:var(--mobile-page-padding);bottom:max(.75rem, env(safe-area-inset-bottom));left:var(--mobile-page-padding);width:auto;position:fixed}.themed-time-popover{top:auto;right:var(--mobile-page-padding);bottom:max(.75rem, env(safe-area-inset-bottom));left:var(--mobile-page-padding);grid-template-columns:1fr;width:auto;max-height:min(52svh,420px);position:fixed}.admin-section-heading h2,.editor-card h2,.calendar-toolbar h2{font-family:var(--font-body);font-size:clamp(1.2rem,5.5vw,1.45rem)}.card,.editor-card,.record-card{padding:var(--mobile-card-padding)}.button,.field input,.field select{min-height:var(--mobile-control-height)}.admin-stat-grid{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;overflow:hidden}.admin-stat-grid .card{background:var(--surface-elevated);min-height:96px;box-shadow:none;border:0;border-radius:0;gap:.3rem;padding:.85rem}.admin-stat-grid .card strong{font-family:var(--font-body);font-size:1.75rem;line-height:1}.admin-stat-grid .card span{font-size:.78rem;line-height:1.2}.dashboard-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.dashboard-operational-summary{grid-template-columns:1fr}.dashboard-operational-summary>a{border-right:0;border-bottom:1px solid var(--line);min-height:46px;padding:.55rem .75rem}.dashboard-operational-summary>a:last-child{border-bottom:0}.dashboard-quick-actions .button{justify-content:flex-start;width:100%}.calendar-toolbar{grid-template-columns:minmax(0,1fr) auto;gap:.65rem}.calendar-toolbar>.inline-actions{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.calendar-toolbar>.inline-actions .button{min-width:0;padding-inline:.55rem}.calendar-toolbar .filter-pills{flex-wrap:nowrap;gap:.3rem}.calendar-mobile-filters{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-muted)}.calendar-mobile-filters>summary{min-height:var(--mobile-control-height);cursor:pointer;justify-content:space-between;align-items:center;padding:.65rem .85rem;font-weight:800;display:flex}.calendar-filter-bar{border-top:1px solid var(--line);grid-template-columns:1fr;padding:.85rem}.calendar-range-notice,.calendar-time-grid,.calendar-month-grid{display:none}.calendar-mobile-agenda{gap:.85rem;display:grid}.calendar-mobile-agenda>section{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-muted);overflow:hidden}.calendar-mobile-agenda>section>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;min-height:46px;padding:.65rem .8rem;display:flex}.calendar-mobile-agenda>section.is-today>header{background:var(--accent-soft)}.calendar-mobile-agenda header span,.calendar-mobile-agenda section>p{color:var(--text-subtle);font-size:.78rem}.calendar-mobile-agenda section>p{margin:0;padding:.75rem .8rem}.calendar-agenda-items{display:grid}.calendar-agenda-row{border:0;border-bottom:1px solid var(--line);border-left:4px solid var(--calendar-event-muted);min-height:58px;color:var(--text);cursor:pointer;text-align:left;background:0 0;grid-template-columns:62px minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.6rem .7rem;display:grid}.calendar-agenda-row:last-child{border-bottom:0}.calendar-agenda-appointment{border-left-color:var(--calendar-event-appointment)}.calendar-agenda-pending{border-left-color:var(--calendar-event-pending)}.calendar-agenda-blocked{border-left-color:var(--calendar-event-blocked)}.calendar-agenda-open{border-left-color:var(--calendar-event-open)}.calendar-agenda-buffer{border-left-color:var(--sage)}.calendar-agenda-row time{color:var(--text-subtle);font-size:.78rem;font-weight:800}.calendar-agenda-row>span{gap:.12rem;min-width:0;display:grid}.calendar-agenda-row strong,.calendar-agenda-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calendar-agenda-row>small{color:var(--text-subtle);text-transform:capitalize;font-size:.68rem}.appointment-form-section{padding:.85rem}.appointment-sticky-actions{z-index:25;border-top:1px solid var(--line);background:color-mix(in srgb, var(--mobile-bar-background) 96%, transparent);padding:.75rem 1rem max(.75rem, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);margin:0 -1rem -1rem;position:sticky;bottom:0}.appointment-sticky-actions .button{flex:160px}.weekly-day-row{grid-template-columns:minmax(72px,.8fr) auto minmax(0,1.2fr) auto;gap:.45rem;min-height:52px;padding:.6rem .7rem}.settings-field-grid,.settings-section-grid{grid-template-columns:1fr}.availability-scope-bar{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.availability-scope-bar>.button{grid-column:1/-1;justify-self:start}.segmented-control-field{min-width:0}.segmented-control{grid-template-columns:repeat(var(--segment-count,2), minmax(0, 1fr));gap:.2rem;padding:.25rem;display:grid}.segmented-control button{text-overflow:ellipsis;min-width:0;min-height:40px;padding:.5rem .35rem;font-size:clamp(.68rem,2.9vw,.86rem);line-height:1.15;overflow:hidden}.compact-stat-grid .card{grid-template-columns:20px minmax(0,1fr) auto;align-items:center;column-gap:.45rem;min-height:82px}.compact-stat-grid .card svg{grid-row:1}.compact-stat-grid .card span{grid-column:2}.compact-stat-grid .card strong{grid-area:1/3}.weekly-hours-list{gap:.45rem}.weekly-day-name,.weekly-day-action,.weekly-day-row strong{font-size:clamp(.72rem,3.3vw,.86rem)}.weekly-day-row .badge{min-width:0;padding:.32rem .45rem;font-size:.68rem}.preview-controls{grid-template-columns:1fr}.preview-day-list section{grid-template-columns:1fr;gap:.35rem}.preview-day-list section>div{grid-template-columns:repeat(3,minmax(0,1fr))}body{background:var(--page-background-mobile)}h1{font-size:2.6rem}h2{font-size:2.1rem}.section-shell{padding-left:1rem;padding-right:1rem}.home-page,.app-page,.login-page{padding-top:calc(var(--header-height) + 5.2rem)}.site-header{border-radius:24px;gap:.45rem;width:min(100% - 1rem,1180px);min-height:58px;padding:.65rem;top:.75rem}.brand-text{display:none}.mobile-section-label{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:820;display:block;overflow:hidden}.mobile-header-actions{flex:none;align-items:center;gap:.35rem;margin-left:auto;display:inline-flex}.mobile-menu-toggle{border:1px solid var(--line);background:var(--surface-muted);width:44px;height:44px;color:var(--text);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.mobile-menu-toggle:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.desktop-header-theme-toggle{display:none}.main-nav{border:1px solid var(--line);background:var(--header-background);width:100%;box-shadow:var(--shadow);border-radius:18px;grid-template-columns:1fr;align-items:stretch;gap:.35rem;padding:.55rem;display:none;position:absolute;top:calc(100% + .45rem);left:0;right:0}.main-nav.is-open{display:grid}.main-nav a:not(.button):not(.language-toggle){min-height:44px;padding:.7rem .8rem;font-size:.92rem}.main-nav .language-toggle{min-height:44px}.home-hero{gap:2rem;min-height:auto}.studio-card{border-radius:28px;min-height:420px;padding:1.25rem}.selection-grid,.selection-grid.two,.form-grid,.detail-grid,.editor-grid,.day-range-form{grid-template-columns:1fr}.blocked-time-date-row{grid-template-columns:minmax(0,1.35fr) minmax(105px,.65fr);gap:.5rem}.weekly-day-row{grid-template-columns:minmax(58px,.75fr) auto minmax(76px,1fr) auto;gap:.35rem}.weekly-day-row strong{white-space:nowrap}.compact-record-row{align-items:stretch}.slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.date-chip-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:.3rem;display:grid;overflow:visible}.date-chip{border-radius:13px;min-height:68px;padding:.4rem .15rem}.date-chip strong{font-size:1.4rem}.date-chip span,.date-chip small{font-size:.65rem}.date-chip .selected-check{width:.9rem;height:.9rem;top:.2rem;right:.2rem}.compact-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stepper{grid-template-columns:repeat(5,minmax(0,1fr));gap:.2rem;display:grid;overflow:visible}.stepper li{border-radius:14px;min-width:0}.stepper button{min-height:40px;padding:.25rem .1rem}.stepper .step-marker{opacity:.9;background:var(--success);width:18px;height:18px;color:var(--button-primary-text);top:.18rem;right:.2rem;transform:none}.stepper .step-marker svg{width:13px;height:13px}.stepper strong{letter-spacing:-.02em;width:100%;font-size:.62rem;display:block}.booking-step-card,.success-card,.login-card,.manage-card{border-radius:24px;padding:1rem}.flow-actions,.hero-actions,.admin-row-actions{grid-template-columns:1fr;display:grid}.flow-actions .button,.hero-actions .button,.admin-row-actions .button,.admin-row-actions form{width:100%}.admin-page-header{align-items:start}.admin-page-header,.record-card-header{grid-template-columns:1fr}.admin-page-header h1{font-size:2.4rem}.admin-nav,.admin-sidebar-footer,.admin-form.inline,.availability-range-form,.admin-filter-bar,.bookings-filter-bar,.clients-filter-bar,.catalog-manager .filter-bar,.account-choice-card,.availability-block,.settings-field-grid,.reschedule-form,.exception-row{grid-template-columns:1fr}.calendar-toolbar h2{text-align:left}.service-reorder-row{grid-template-columns:minmax(0,1fr) auto;gap:.5rem;padding:.55rem}.service-reorder-row .action-menu-panel{left:auto;right:0}.calendar-toolbar .filter-pills{justify-content:flex-start}.bilingual-toolbar,.bilingual-toolbar .segmented-control-field,.bilingual-toolbar .button{width:100%}.calendar-time-grid{grid-template-columns:48px minmax(330px,1fr)}.calendar-time-grid-week{grid-template-columns:48px minmax(760px,1fr)}.calendar-time-grid-day .calendar-days{grid-template-columns:minmax(280px,1fr)}.calendar-day-column header{min-height:38px;padding:.55rem;font-size:.76rem}.calendar-event{padding:.32rem .38rem;left:.2rem;right:.2rem}.calendar-month-grid{grid-template-columns:1fr}.calendar-month-cell{min-height:120px}.action-menu-panel{left:0;right:auto}.admin-toolbar .action-menu-panel{width:min(260px,100vw - 2rem);max-width:calc(100vw - 2rem);left:auto;right:0}.admin-booking-row>.action-menu .action-menu-panel{left:auto;right:0}.admin-booking-row{border-radius:18px;min-width:0;padding-inline:.75rem}.admin-booking-row .booking-detail,.admin-booking-row .booking-detail>*{overflow-wrap:anywhere;min-width:0}.bookings-summary-grid{border:1px solid var(--line);border-radius:20px;flex:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;overflow:hidden}.bookings-summary-grid .card{border:0;border-right:1px solid var(--line);box-shadow:none;border-radius:0}.bookings-summary-grid .card:last-child{border-right:0}.bookings-overview-row{gap:.65rem}.bookings-overview-row .booking-create-action{flex:none}.bookings-overview-row .booking-create-action .button{white-space:nowrap;width:auto;min-width:72px;min-height:48px;padding-inline:.75rem;font-size:.9rem}.appointment-form-grid{grid-template-columns:1fr}.appointment-form-grid .span-two{grid-column:auto}.appointment-sticky-actions{z-index:10;border-top:1px solid var(--line);background:var(--surface-elevated);padding:.75rem 1rem max(.75rem, env(safe-area-inset-bottom));grid-template-columns:1fr;margin:0 -1rem -1rem;display:grid;position:sticky;bottom:-1rem}.appointment-sticky-actions .button,.appointment-sticky-actions form{width:100%}.record-card-controls .action-menu-panel,.offering-row-controls .action-menu-panel{left:auto;right:0}.offering-row{grid-template-columns:minmax(0,1fr)}.offering-row-controls{grid-template-columns:44px 44px;position:absolute;top:.65rem;right:.65rem}.offering-row-controls .drag-handle{order:1}.offering-row-controls .action-menu{order:2}.offering-row-main{padding-right:6rem}.offering-row-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-action-bar{z-index:30;border-top:1px solid var(--line);background:var(--mobile-bar-background);padding:.75rem;padding-bottom:max(.75rem, env(safe-area-inset-bottom));justify-content:stretch;display:flex;position:sticky;bottom:0}.mobile-action-bar .button,.mobile-action-bar form{flex:1}.modal-panel.edit-drawer{border-radius:24px 24px 0 0;align-self:end;width:min(100%,100vw);max-height:calc(100svh - 1rem)}}.booking-step-back{display:none}@media (max-width:420px){h1{font-size:2.25rem}.admin-mobile-brand>span:last-child{display:none}.lang-switch{width:84px;height:32px}.lang-knob{width:36px;height:24px}.language-toggle.is-fr .lang-knob{transform:translate(40px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.service-selector{gap:1rem;display:grid}.service-category-tabs{overscroll-behavior-inline:contain;scroll-behavior:smooth;scroll-snap-type:inline proximity;scrollbar-width:none;touch-action:pan-x;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:.55rem;min-width:0;margin:0;padding:.12rem .08rem .28rem;scroll-padding-inline:.5rem;display:flex;overflow-x:auto}.service-category-tabs::-webkit-scrollbar{display:none}.service-category-tab{box-sizing:border-box;border:1px solid var(--line);background:var(--surface-muted);height:42px;min-height:42px;color:var(--text-subtle);cursor:pointer;scroll-snap-align:start;white-space:nowrap;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0 .95rem;font-size:.9rem;font-weight:800;line-height:1;transition:background .16s,border-color .16s,color .16s;display:inline-flex}.service-category-tab:hover,.service-category-tab.is-active{border-color:var(--border-strong);background:var(--button-primary-background);color:var(--button-primary-text)}.service-category-tab:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.service-selection-grid{grid-auto-rows:1fr;align-items:stretch}.service-choice{height:100%}.choice-card .service-choice-card{background:var(--surface);height:100%;min-height:205px;box-shadow:none;border-radius:24px;grid-template-rows:minmax(0,1fr) auto;gap:1rem;padding:1rem;display:grid;position:relative}.choice-card .service-choice-card:hover{box-shadow:var(--shadow-hover)}.choice-card.is-selected .service-choice-card{border-color:var(--accent);background:var(--selected-background);box-shadow:inset 0 0 0 2px var(--accent)}.service-choice-copy{align-content:start;gap:.45rem;min-width:0;display:grid}.choice-card .service-choice-card h3{overflow-wrap:anywhere;color:var(--ink);font-family:var(--font-body);font-size:1.08rem;font-weight:820;line-height:1.25}.service-choice-duration{color:var(--muted);font-size:.9rem;font-weight:700}.service-choice-description,.service-choice-note{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.88rem;line-height:1.55;display:-webkit-box;overflow:hidden}.service-choice-note{-webkit-line-clamp:2}.service-choice-footer{grid-template-columns:minmax(0,1fr) 44px;align-items:end;gap:.75rem;min-width:0;display:grid}.service-choice-price{flex-wrap:wrap;align-items:center;gap:.4rem .6rem;min-width:0;min-height:44px;display:flex}.service-choice-price strong{color:var(--ink);white-space:nowrap;font-size:1.05rem;font-weight:900}.service-choice-price del{color:var(--text-subtle);white-space:nowrap;font-size:.88rem;font-weight:700;text-decoration-thickness:2px}.service-saving-label{color:var(--success);white-space:nowrap;font-size:.86rem;font-weight:900}.service-choice-control{border:1px solid var(--line);background:var(--surface-elevated);width:44px;height:44px;color:var(--text);box-shadow:0 8px 22px color-mix(in srgb, var(--text) 10%, transparent);border-radius:999px;justify-content:center;align-self:end;align-items:center;display:inline-flex}.choice-card.is-selected .service-choice-control{border-color:var(--accent);background:var(--button-primary-background);color:var(--button-primary-text)}.mobile-flow-actions{display:none}@media (max-width:700px){.booking-page{padding-top:calc(var(--header-height) + 1.35rem)}.booking-layout{padding-bottom:calc(6.5rem + env(safe-area-inset-bottom))}.booking-step-card{gap:1rem;min-height:0}.booking-step-card>.flow-actions,.booking-aside{display:none}.section-title.compact h2,.section-title.compact h1{font-size:2rem}.service-category-tabs{gap:.4rem}.service-category-tab{height:38px;min-height:38px;padding:0 .75rem;font-size:.82rem}.service-selection-grid{grid-template-columns:1fr;grid-auto-rows:auto;gap:.75rem}.choice-card .service-choice-card{border-radius:20px;min-height:152px;padding:1rem}.choice-card .service-choice-card h3{font-size:1.05rem}.service-choice-description{-webkit-line-clamp:2}.service-choice-note{display:none}.mobile-flow-actions{z-index:80;border-top:1px solid var(--line);background:var(--surface);box-shadow:0 -14px 38px color-mix(in srgb, var(--text) 12%, transparent);padding:.7rem max(.75rem, env(safe-area-inset-right)) calc(.7rem + env(safe-area-inset-bottom)) max(.75rem, env(safe-area-inset-left));grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.65rem;display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-flow-selection{gap:.12rem;min-width:0;display:grid}.mobile-flow-selection strong,.mobile-flow-selection span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mobile-flow-selection strong{color:var(--ink);font-size:.9rem}.mobile-flow-selection span{color:var(--muted);font-size:.78rem;font-weight:700}.mobile-flow-actions .button{white-space:nowrap;min-height:46px;padding:.72rem .95rem}.booking-step-back{border-radius:999px;justify-self:start;gap:.25rem;width:auto;min-width:0;height:32px;min-height:32px;margin-bottom:-.75rem;padding:.25rem .55rem;display:inline-flex;position:static}}.date-first-selector{gap:1.1rem}.date-picker-toolbar{justify-content:space-between;align-items:center;gap:.75rem;display:flex;position:relative}.date-picker-toolbar>strong{color:var(--ink);font-family:var(--font-display);text-transform:capitalize;font-size:clamp(1.35rem,3vw,1.85rem);line-height:1.1}.date-calendar-button{border:1px solid var(--line);background:var(--surface-muted);width:38px;height:38px;color:var(--text);cursor:pointer;border-radius:999px;flex:none;justify-content:center;align-items:center;display:inline-flex}.date-calendar-button:hover{border-color:var(--border-strong);background:var(--surface-hover)}.date-calendar-button:focus-visible,.date-strip-arrow:focus-visible,.date-next-available:focus-visible,.themed-calendar-header button:focus-visible,.themed-calendar-day:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.themed-calendar-popover{z-index:120;border:1px solid var(--line-strong);background:var(--surface-elevated);width:min(330px,100vw - 2rem);color:var(--text);box-shadow:var(--shadow-strong);border-radius:22px;padding:.9rem;position:absolute;top:calc(100% + .55rem);right:0}.themed-calendar-header{grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;gap:.5rem;margin-bottom:.75rem;display:grid}.themed-calendar-header>strong{color:var(--ink);text-align:center;text-transform:capitalize;font-size:1rem}.themed-calendar-header button{border:1px solid var(--line);background:var(--surface-muted);width:36px;height:36px;color:var(--text);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.themed-calendar-header button:disabled{cursor:default;opacity:.3}.themed-calendar-weekdays,.themed-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.28rem;display:grid}.themed-calendar-weekdays{margin-bottom:.3rem}.themed-calendar-weekdays span{color:var(--muted);text-align:center;text-transform:uppercase;font-size:.72rem;font-weight:800}.themed-calendar-day{aspect-ratio:1;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;place-items:center;font-size:.86rem;font-weight:760;display:grid;position:relative}.themed-calendar-day:hover:not(:disabled){border-color:var(--line);background:var(--surface-hover)}.themed-calendar-day.has-availability:after{background:var(--accent);content:"";border-radius:999px;width:4px;height:4px;position:absolute;bottom:.23rem;right:50%;transform:translate(50%)}.themed-calendar-day.is-selected{border-color:var(--accent);background:var(--button-primary-background);color:var(--button-primary-text)}.themed-calendar-day.is-selected:after{background:var(--button-primary-text)}.themed-calendar-day.is-outside-month{color:var(--text-subtle);opacity:.48}.themed-calendar-day:disabled{cursor:default;opacity:.2}.date-strip-shell{grid-template-columns:32px minmax(0,1fr) 32px;align-items:center;gap:.35rem;min-width:0;display:grid}.date-strip-arrow{border:1px solid var(--line);background:var(--surface-muted);width:32px;height:32px;color:var(--text);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0;transition:opacity .16s,background .16s,transform .16s;display:inline-flex}.date-strip-arrow:hover:not(:disabled){background:var(--surface-hover);transform:scale(1.04)}.date-strip-arrow:disabled{cursor:default;opacity:.25}.date-chip-row.date-scroll-strip{overscroll-behavior-x:contain;cursor:grab;scroll-behavior:smooth;scrollbar-width:none;touch-action:pan-x;-webkit-user-select:none;user-select:none;-webkit-overflow-scrolling:touch;gap:.55rem;min-width:0;padding:.15rem .1rem .3rem;scroll-padding-inline:.25rem;display:flex;overflow-x:auto}.date-chip-row.date-scroll-strip::-webkit-scrollbar{display:none}.date-scroll-strip .date-chip{flex:0 0 88px;min-width:88px;min-height:82px}.date-scroll-strip .date-chip.is-unavailable{color:var(--text-subtle);opacity:.5}.date-scroll-strip .date-chip.is-unavailable:hover,.date-scroll-strip .date-chip.is-unavailable.is-selected{opacity:.78}.date-scroll-strip .date-chip.is-selected{opacity:1}.date-no-availability{border:1px dashed var(--line);background:var(--surface-muted);min-height:150px;color:var(--muted);text-align:center;border-radius:20px;place-items:center;gap:.85rem;padding:1.25rem;display:grid}.date-no-availability p{margin:0}.date-next-available{border:1px solid var(--line);background:var(--surface-elevated);min-height:42px;color:var(--text);cursor:pointer;border-radius:999px;align-items:center;gap:.4rem;padding:.65rem .9rem;font-weight:800;display:inline-flex}.compact-date-empty{min-height:150px}@media (min-width:1180px){.date-scroll-strip .date-chip{flex-basis:96px;min-width:96px}}@media (max-width:700px){.date-first-selector{gap:.9rem}.date-picker-toolbar>strong{font-size:1.4rem}.date-calendar-button{width:36px;height:36px}.themed-calendar-popover{border-radius:18px;width:min(320px,100vw - 2rem);padding:.75rem;right:0}.date-strip-shell{grid-template-columns:28px minmax(0,1fr) 28px;gap:.25rem}.date-strip-arrow{width:28px;height:28px}.date-chip-row.date-scroll-strip{gap:.4rem;padding-bottom:.2rem}.date-scroll-strip .date-chip{border-radius:15px;flex-basis:68px;min-width:68px;min-height:72px;padding:.42rem .2rem}.date-scroll-strip .date-chip strong{font-size:1.45rem}.date-scroll-strip .date-chip span,.date-scroll-strip .date-chip small{font-size:.65rem}.date-no-availability{min-height:120px;padding:1rem}.time-group h3{font-size:1.15rem}}.selected-service-detail{border:1px solid var(--line);background:var(--surface-muted);border-radius:22px;gap:.7rem;padding:1.15rem;display:grid}.selected-service-detail h2{max-width:none;font-size:1.65rem}.selected-service-detail>p{max-width:72ch;color:var(--muted);white-space:pre-line;margin:0;line-height:1.7}.selected-service-pricing-note{border-top:1px solid var(--line);padding-top:.7rem}.selected-service-detail-meta{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.selected-service-detail-meta strong,.selected-service-detail-meta span{border:1px solid var(--line);background:var(--surface-elevated);border-radius:999px;align-items:center;min-height:36px;padding:.48rem .75rem;display:inline-flex}.selected-service-detail-meta strong{color:var(--ink)}.selected-service-detail-meta span{color:var(--muted);font-weight:760}.location-step-heading{margin-top:.15rem}@media (max-width:700px){.selected-service-detail{border-radius:18px;padding:1rem}.selected-service-detail h2{font-size:1.45rem}.selected-service-detail>p{font-size:.94rem;line-height:1.6}}.booking-step-card{grid-auto-rows:max-content;align-content:start}.account-choice-actions{flex-wrap:wrap;gap:.55rem;display:flex}@media (max-width:700px){.account-choice-actions{width:100%}.account-choice-actions .button{flex:150px}.booking-details-heading{align-items:center}.booking-details-heading .section-title.compact h2{font-size:clamp(1.75rem,9vw,2.35rem)}.booking-details-heading>.button{min-width:44px}.inline-account-create{padding-top:.85rem}}.booking-aside-action{display:block}.booking-aside-action .button{min-height:48px}@media (max-width:900px){.booking-aside-action{display:none}}.login-back-link{place-self:start}.password-recovery-link{width:fit-content;color:var(--accent-hover);margin-top:-.45rem;font-size:.9rem;font-weight:780}.public-content-page{gap:2rem;width:min(1120px,100% - 2rem);margin-inline:auto;padding-block:clamp(2rem,6vw,5rem);display:grid}.public-page-heading{gap:.65rem;max-width:760px;display:grid}.public-page-heading p,.legal-document p{line-height:1.75}.contact-layout{grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);align-items:start;gap:1.25rem;display:grid}.contact-details,.contact-form-card,.contact-form{gap:1rem;display:grid}.contact-details>.card{align-items:flex-start;gap:.8rem;display:flex}.contact-details>.card>div{gap:.25rem;min-width:0;display:grid}.contact-details a,.legal-document a,.legal-toc a,.booking-policy-acknowledgement a,.contact-form a,.public-footer a{color:var(--accent-hover);text-underline-offset:3px;text-decoration:underline}.contact-hours dl{gap:.35rem;margin:.35rem 0;display:grid}.contact-hours dl div{grid-template-columns:minmax(90px,1fr) minmax(0,1fr);gap:.75rem;display:grid}.contact-hours dd{margin:0}.contact-actions{flex-wrap:wrap;gap:.65rem;display:flex}.contact-actions .button{text-decoration:none}.contact-actions .button-primary{color:var(--button-primary-text)}.contact-actions .button-secondary{color:var(--text)}.contact-actions .contact-book-action{border-radius:999px;flex:1 0 100%;justify-content:flex-start;min-height:58px;padding-inline:1.35rem;font-size:1.05rem}.contact-form{grid-template-columns:repeat(2,minmax(0,1fr))}.honeypot-field{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.legal-toc{border-block:1px solid var(--line);flex-wrap:wrap;gap:.65rem 1.25rem;padding-block:1rem;display:flex}.legal-document{gap:3rem;max-width:820px;display:grid}.legal-document section{scroll-margin-top:6rem}.legal-document h3{margin-top:1.5rem}.contact-locations{gap:.65rem;width:100%;display:grid}.contact-location-item{border:1px solid var(--line);background:var(--surface-muted);border-radius:14px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.7rem;padding:.75rem;display:grid}.contact-location-item>span{background:var(--accent-soft);width:32px;height:32px;color:var(--text);border-radius:999px;place-items:center;font-size:.75rem;font-weight:900;display:grid}.contact-location-item>div{gap:.2rem;display:grid}.contact-location-item small{color:var(--text-subtle);line-height:1.45}.booking-policy-acknowledgement{border:1px solid var(--line);background:var(--surface-muted);border-radius:14px;align-items:flex-start;padding:.9rem}.public-footer{border-top:1px solid var(--line);width:min(1120px,100% - 2rem);padding:1.5rem 0 max(1.5rem, env(safe-area-inset-bottom));justify-content:space-between;align-items:center;gap:1rem;margin:2rem auto 0;display:flex}.public-footer>div,.public-footer nav{flex-wrap:wrap;gap:.45rem 1rem;display:flex}.public-footer>div{flex-direction:column}@media (max-width:700px){.public-content-page{gap:1.25rem;width:min(100% - 1rem,1120px);padding-block:1.25rem 2rem}.contact-layout,.contact-form{grid-template-columns:1fr}.contact-form .span-two{grid-column:auto}.contact-form-card,.contact-details>.card{min-width:0}.contact-actions .button{flex:120px}.legal-toc{display:grid}.public-footer{flex-direction:column;align-items:flex-start;width:min(100% - 1.5rem,1120px)}}
