.phone-input{position:relative;display:flex;align-items:stretch;width:100%;border:1px solid var(--color-shading-base);border-radius:var(--radius-ml);background-color:var(--color-shading-soft);transition:border-color .2s ease}.phone-input:focus-within{border-color:var(--color-accent-border)}.phone-input--disabled{opacity:.5;pointer-events:none}.phone-input--readonly .phone-input__country .dropdown__trigger{cursor:pointer}.phone-input--readonly .phone-input__country .dropdown__trigger-icon{opacity:.3}.phone-input__country{flex-shrink:0;min-width:120px;max-width:165px;border-right:1px solid var(--color-shading-base)}.phone-input__country .dropdown{width:100%;height:100%}.phone-input__country .dropdown__trigger{height:100%;min-height:43px;background:transparent;border:none;border-radius:0;padding:var(--spacing-xs) var(--spacing-sm);gap:var(--spacing-xs)}.phone-input__country .dropdown__trigger:focus{outline:none;background-color:var(--color-shading-base)}.phone-input__country .dropdown__trigger-text{font-size:var(--font-size-ml);font-weight:500}.phone-input__country .dropdown__trigger-icon{width:.75rem;height:.75rem}.phone-input__country .dropdown{position:static}.phone-input__country .dropdown__menu{position:absolute;top:100%;left:-1px;right:auto;margin-top:var(--spacing-xs);min-width:320px;max-height:350px}.phone-input__country .dropdown__item{gap:var(--spacing-sm)}.phone-input__country .dropdown__item-text{flex:1;font-size:var(--font-size-ml)}.phone-input__country .dropdown__item-tag{font-size:var(--font-size-sm);font-weight:500;background-color:var(--color-shading-soft);border-color:var(--color-shading-base);color:var(--color-text);padding:var(--spacing-xxs) var(--spacing-sm)}.phone-input__country .dropdown__separator{margin:var(--spacing-xs) 0}.phone-input__number-wrapper{flex:1;display:flex;align-items:center;min-width:0;position:relative}.phone-input__number{width:100%;height:100%;min-height:43px;padding:var(--spacing-xs) var(--spacing-md);padding-right:var(--padding-xl);background:transparent;border:none;color:var(--color-text);font-size:var(--font-size-ml);font-family:inherit}.phone-input__number:focus{outline:none}.phone-input__number::placeholder{color:var(--color-text);opacity:.4}.phone-input--readonly .phone-input__number{cursor:pointer}.phone-input__actions{position:absolute;right:var(--spacing-xs);top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:var(--spacing-xs)}.phone-input__field-loading{display:none;align-items:center;justify-content:center}.phone-input__field-loading .icon{background-color:var(--color-accent);animation:phoneInputSpin 1.2s ease-in-out infinite}.phone-input__field-indicator{display:none;align-items:center;justify-content:center;opacity:0}.phone-input__field-indicator .icon{background-color:var(--color-accent)}.phone-input__field-indicator--visible{display:flex;opacity:1}.phone-input__field-indicator--fade-out{animation:phone-field-fade-out 1.5s ease forwards}@keyframes phone-field-fade-out{0%{opacity:1}70%{opacity:1}to{opacity:0}}.phone-input--saving{opacity:.6}.phone-input__mobile-save{display:none;width:100%;padding:var(--padding-xs);margin-top:var(--spacing-xs);background-color:var(--color-accent);color:var(--color-bg);border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:600;font-family:inherit;cursor:pointer;transition:opacity .2s ease}@media(min-width:541px){.phone-input__mobile-save{display:none!important}}@keyframes phoneInputSpin{0%{transform:rotate(0)}50%{transform:rotate(180deg)}to{transform:rotate(180deg)}}.phone-input--loading .phone-input__country .dropdown__trigger{pointer-events:none}.phone-input--loading .phone-input__country .dropdown__trigger-text{color:var(--color-text-60)}@media(max-width:480px){.phone-input__country{min-width:90px;max-width:110px}.phone-input__country .dropdown__trigger{padding:var(--spacing-xs)}.phone-input__country .dropdown__trigger-text{font-size:var(--font-size-sm)}.phone-input__country .dropdown__menu{min-width:0;right:-1px}.phone-input__number{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-md)}}@media(hover:hover)and (pointer:fine){.phone-input__country .dropdown__trigger:hover{background-color:var(--color-shading-base)}.phone-input:hover{border-color:color-mix(in srgb,var(--color-accent) 50%,transparent)}}.dropdown{position:relative;display:inline-block}.dropdown--full-width{width:100%}.dropdown__trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);width:100%;min-height:45px;padding:var(--padding-xs) var(--padding-sm);background-color:var(--color-shading-soft);border:1px solid var(--color-shading-base);border-radius:var(--radius-ml);color:var(--color-text);font-size:var(--font-size-ml);font-family:inherit;cursor:pointer;transition:all .2s ease}.dropdown__trigger:focus{outline:none;border-color:var(--color-accent-border)}.dropdown__trigger-left-icon{flex-shrink:0;margin-right:var(--spacing-sm)}.dropdown__trigger-text{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown__trigger-icon{flex-shrink:0;background-color:var(--color-accent);transition:transform .2s ease}.dropdown.is-open .dropdown__trigger-icon{transform:rotate(180deg)}.dropdown.is-open .dropdown__trigger{border-color:var(--color-accent-border)}.dropdown__trigger-spinner{flex-shrink:0;width:1rem;height:1rem;background-color:var(--color-accent);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}.dropdown__trigger-spinner.is-visible{opacity:1;visibility:visible;animation:dropdownSpinnerSpin 1.5s cubic-bezier(.68,-.55,.265,1.55) infinite}@keyframes dropdownSpinnerSpin{0%,to{transform:rotate(0)}50%{transform:rotate(180deg)}}.dropdown__trigger.is-saving .dropdown__trigger-icon{opacity:0;visibility:hidden}.dropdown__menu{position:absolute;top:calc(100% + var(--spacing-xs));left:0;right:0;min-width:200px;background-color:var(--color-dropdown-bg);border:none;border-radius:var(--radius-lg);border:1px solid var(--color-shading-strong);box-shadow:0 4px 12px #0000001a;padding:var(--spacing-sm);display:flex;flex-direction:column;z-index:1000;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s ease,visibility .2s ease,transform .2s ease}[data-theme=dark] .dropdown__menu{border:1px solid var(--color-shading-strong);box-shadow:none}.dropdown.is-open .dropdown__menu{opacity:1;visibility:visible;transform:translateY(0)}.dropdown--align-right .dropdown__menu{left:auto;right:0}.dropdown--above .dropdown__menu{top:auto;bottom:calc(100% + var(--spacing-xs));transform:translateY(8px)}.dropdown--above.is-open .dropdown__menu{transform:translateY(0)}.dropdown__search{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);margin-bottom:var(--spacing-xs);background-color:var(--color-shading-soft);border:1px solid var(--color-shading-base);border-radius:var(--radius-md);flex-shrink:0}.dropdown__search-icon{flex-shrink:0;width:1.125rem;height:1.125rem;background-color:var(--color-text);opacity:.5;transition:opacity .2s ease}.dropdown__search:focus-within .dropdown__search-icon{opacity:.8}.dropdown__search-input{flex:1;background:transparent;border:none;color:var(--color-text);font-size:var(--font-size-ml);font-family:inherit;outline:none;min-width:0}.dropdown__search-input::placeholder{color:var(--color-text);opacity:.4;font-size:var(--font-size-sm)}.dropdown__search-clear{flex-shrink:0;width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;padding:0;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease}.dropdown__search-clear.is-visible{opacity:1;visibility:visible}.dropdown__search-clear .icon{width:.875rem;height:.875rem;background-color:var(--color-text);opacity:.5}@media(hover:hover)and (pointer:fine){.dropdown__search-clear:hover .icon{opacity:1}}.dropdown__items{display:flex;flex-direction:column;gap:var(--spacing-xs);overflow-y:auto;max-height:280px}.dropdown__items::-webkit-scrollbar{width:6px}.dropdown__items::-webkit-scrollbar-track{background:transparent;margin:var(--spacing-xs) 0}.dropdown__items::-webkit-scrollbar-thumb{background:var(--color-shading-hard);border-radius:3px}.dropdown__no-results{padding:var(--spacing-lg) var(--spacing-md);text-align:center;font-size:var(--font-size-ml);color:var(--color-text-60)}.dropdown__item{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--padding-sm) var(--spacing-md);background-color:transparent;border:none;border-radius:var(--radius-lg);color:var(--color-text);font-size:var(--font-size-ml);font-family:inherit;text-align:left;cursor:pointer;transition:background-color .15s ease;flex-shrink:0}.dropdown__item--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.dropdown__item--selected{background-color:var(--color-shading-base)}.dropdown__item--danger{color:var(--color-error)}.dropdown__item--danger .dropdown__item-icon{background-color:var(--color-error)}.dropdown__item.is-focused{background-color:var(--color-shading-soft)}.dropdown__item-icon{flex-shrink:0;width:1.25rem;height:1.25rem;background-color:var(--color-text);opacity:.7;transition:opacity .15s ease}.dropdown__item:hover .dropdown__item-icon{opacity:1}.dropdown__item-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown__item-tag{flex-shrink:0;padding:var(--spacing-xs) var(--spacing-md);background-color:color-mix(in srgb,var(--color-accent) 15%,transparent);border:1px solid var(--color-accent);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:600;color:var(--color-accent);text-transform:uppercase;letter-spacing:var(--letter-spacing-base)}.dropdown__item-tag--success{background-color:color-mix(in srgb,var(--color-success) 15%,transparent);color:var(--color-success)}.dropdown__item-tag--warning{background-color:color-mix(in srgb,var(--color-warning) 15%,transparent);color:var(--color-warning)}.dropdown__item-tag--error{background-color:color-mix(in srgb,var(--color-error) 15%,transparent);color:var(--color-error)}.dropdown__item-tag--neutral{background-color:var(--color-shading-base);color:var(--color-text-60)}.dropdown__item-check{flex-shrink:0;width:1rem;height:1rem;opacity:0;visibility:hidden;background-color:var(--color-accent);transition:opacity .15s ease,visibility .15s ease;margin-left:auto}.dropdown__item--selected .dropdown__item-check{opacity:1;visibility:visible}.dropdown__separator{height:1px;margin:var(--spacing-xs) 0;background-color:var(--color-shading-base)}.dropdown__group-label{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-60);text-transform:uppercase;letter-spacing:var(--letter-spacing-base)}.dropdown__empty{padding:var(--spacing-lg) var(--spacing-md);text-align:center;font-size:var(--font-size-ml);color:var(--color-text-60)}.dropdown__loading{display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg)}.dropdown__loading .icon{background-color:var(--color-accent);animation:hourglassFlip 1.5s ease-in-out infinite}@media(hover:hover)and (pointer:fine){.dropdown__trigger:hover,.dropdown__item:hover{background-color:var(--color-shading-base)}.dropdown__item--danger:hover{background-color:color-mix(in srgb,var(--color-error) 10%,transparent)}}.dropdown--context .dropdown__trigger{display:none}.dropdown--context .dropdown__menu{position:fixed}.dropdown--inline .dropdown__trigger{min-height:auto;padding:0;background-color:transparent;border:none;gap:var(--spacing-xs)}.dropdown--inline .dropdown__trigger:focus{outline:none}.dropdown--inline .dropdown__trigger-text{color:var(--color-accent);font-weight:500}.dropdown--inline .dropdown__trigger-icon{width:.875rem;height:.875rem}@font-face{font-family:Figtree;src:url(/fonts/figtree-variable.ttf) format("truetype");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Figtree;src:url(/fonts/figtree-italic-variable.ttf) format("truetype");font-weight:100 900;font-style:italic;font-display:swap}:root{--font-family: "Figtree", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-ml: 1.075rem;--font-size-lg: 1.125rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--font-size-3xl: 2.5rem;--font-size-watermark: 15rem;--font-size-watermark-mobile: 7rem;--letter-spacing-none: 0em;--letter-spacing-base: .025em;--letter-spacing-wide: .05em;--spacing-xxs: .25rem;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--spacing-2xl: 4rem;--padding-xxs: .25rem;--padding-xs: .5rem;--padding-sm: 1rem;--padding-md: 1.5rem;--padding-lg: 2rem;--padding-xl: 3rem;--padding-2xl: 4rem;--radius-sm: 6px;--radius-md: 10px;--radius-ml: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--max-width: 1200px;--header-height: 72px;--progress-height: 80px}:root,:root[data-theme=dark]{--color-border: #2a2a2a;--color-border-light: #333333;--color-text-secondary: #a1a1a1;--color-text-muted: #666666;--color-success: #22c55e;--color-warning: #f59e0b;--color-tag-bg: #1a1a1a;--color-bg: #0f0f0f;--color-bg-offset: #1d1d1d;--color-text: #fafafa;--color-button-neutral: #f5f5f5;--color-button-neutral-text: #1a1a1a;--color-button-accent-text: #1a1a1a;--color-accent: #48b3af;--color-shading-base: color-mix(in srgb, var(--color-accent) 8%, transparent);--color-shading-soft: color-mix(in srgb, var(--color-accent) 4%, transparent);--color-shading-strong: color-mix(in srgb, var(--color-accent) 15%, transparent);--color-shading-foreground: color-mix(in srgb, var(--color-accent) 4%, transparent);--color-active-text: color-mix(in srgb, var(--color-accent) 25%, var(--color-text));--color-active-icon: color-mix(in srgb, var(--color-accent) 50%, var(--color-text));--color-text-75: color-mix(in srgb, var(--color-text) 75%, transparent);--color-text-60: color-mix(in srgb, var(--color-text) 60%, transparent);--color-text-35: color-mix(in srgb, var(--color-text) 35%, transparent);--color-text-25: color-mix(in srgb, var(--color-text) 25%, transparent);--color-accent-border: color-mix(in srgb, var(--color-accent) 35%, transparent);--color-soft-border: color-mix(in srgb, var(--color-accent) 4%, transparent);--color-dropdown-bg: #1a1a1a;--color-error: #ee6060}:root[data-theme=light]{--color-border: #e5e5e5;--color-border-light: #f0f0f0;--color-text-secondary: #525252;--color-text-muted: #a3a3a3;--color-success: #16a34a;--color-error: #dc2626;--color-warning: #d97706;--color-tag-bg: #fafafa;--color-bg: #fafafa;--color-bg-offset: #ffffff;--color-text: #1a1a1a;--color-button-neutral: #1a1a1a;--color-button-neutral-text: #fafafa;--color-button-accent-text: #1a1a1a;--color-accent: #26ccc2;--color-shading-base: color-mix(in srgb, var(--color-accent) 15%, transparent);--color-shading-soft: color-mix(in srgb, var(--color-accent) 6%, transparent);--color-shading-strong: color-mix(in srgb, var(--color-accent) 25%, transparent);--color-shading-foreground: color-mix(in srgb, white 80%, transparent);--color-active-text: color-mix(in srgb, var(--color-accent) 25%, var(--color-text));--color-active-icon: color-mix(in srgb, var(--color-accent) 50%, var(--color-text));--color-text-75: color-mix(in srgb, var(--color-text) 75%, transparent);--color-text-60: color-mix(in srgb, var(--color-text) 60%, transparent);--color-text-35: color-mix(in srgb, var(--color-text) 35%, transparent);--color-text-25: color-mix(in srgb, var(--color-text) 25%, transparent);--color-accent-border: color-mix(in srgb, var(--color-accent) 35%, transparent);--color-soft-border: color-mix(in srgb, var(--color-accent) 10%, transparent);--color-dropdown-bg: #ffffff;--color-error: #ef4444}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);background-color:var(--color-bg);color:var(--color-text);line-height:1.6;min-height:100vh;letter-spacing:var(--letter-spacing-wide)}button{font-family:inherit;cursor:pointer;border:none;background:none}input,textarea{font-family:inherit}.icon{display:inline-block;width:1.25rem;height:1.25rem;background-color:var(--color-text);mask-size:contain;mask-repeat:no-repeat;mask-position:center;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;vertical-align:middle;flex-shrink:0}.icon--xs{width:1rem;height:1rem}.icon--sm{width:1.25rem;height:1.25rem}.icon--md{width:1.5rem;height:1.5rem}.icon--lg{width:2rem;height:2rem}.icon--xl{width:2.5rem;height:2.5rem}.icon--2xl{width:3rem;height:3rem}.icon--inverted{background-color:var(--color-bg)}.icon--accent{background-color:var(--color-accent)}.icon--success{background-color:var(--color-success)}.icon--muted{background-color:var(--color-text-muted)}.icon--logo{mask-image:url(/img/icons/logo.svg);-webkit-mask-image:url(/img/icons/logo.svg)}.icon--moon{mask-image:url(/img/icons/moon.svg);-webkit-mask-image:url(/img/icons/moon.svg)}.icon--sun{mask-image:url(/img/icons/sun.svg);-webkit-mask-image:url(/img/icons/sun.svg)}.icon--arrow-right{mask-image:url(/img/icons/arrow-right.svg);-webkit-mask-image:url(/img/icons/arrow-right.svg)}.icon--hourglass{mask-image:url(/img/icons/hourglass.svg);-webkit-mask-image:url(/img/icons/hourglass.svg)}.icon--clock{mask-image:url(/img/icons/clock.svg);-webkit-mask-image:url(/img/icons/clock.svg)}.icon--double-check{mask-image:url(/img/icons/double-check.svg);-webkit-mask-image:url(/img/icons/double-check.svg)}.icon--info-circle{mask-image:url(/img/icons/info-circle.svg);-webkit-mask-image:url(/img/icons/info-circle.svg)}.icon--warning{mask-image:url(/img/icons/warning.svg);-webkit-mask-image:url(/img/icons/warning.svg)}.icon--close{mask-image:url(/img/icons/close.svg);-webkit-mask-image:url(/img/icons/close.svg)}.icon--staff{mask-image:url(/img/icons/staff-active.svg);-webkit-mask-image:url(/img/icons/staff-active.svg)}.icon--chevron-down{mask-image:url(/img/icons/chevron-down.svg);-webkit-mask-image:url(/img/icons/chevron-down.svg)}.icon--calendar{mask-image:url(/img/icons/appointments.svg);-webkit-mask-image:url(/img/icons/appointments.svg)}.icon--services{mask-image:url(/img/icons/services.svg);-webkit-mask-image:url(/img/icons/services.svg)}.icon--services-active{mask-image:url(/img/icons/services-active.svg);-webkit-mask-image:url(/img/icons/services-active.svg)}.icon--money{mask-image:url(/img/icons/money.svg);-webkit-mask-image:url(/img/icons/money.svg)}.icon--phone{mask-image:url(/img/icons/phone.svg);-webkit-mask-image:url(/img/icons/phone.svg)}.icon--email{mask-image:url(/img/icons/email.svg);-webkit-mask-image:url(/img/icons/email.svg)}.icon--search{mask-image:url(/img/icons/search.svg);-webkit-mask-image:url(/img/icons/search.svg)}.icon--maximise{mask-image:url(/img/icons/maximise.svg);-webkit-mask-image:url(/img/icons/maximise.svg)}.booking-app{display:flex;flex-direction:column;min-height:100vh}.booking-header{position:sticky;top:0;z-index:100;height:var(--header-height);background:var(--color-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.booking-header__container{max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing-md);height:100%;display:flex;align-items:center;justify-content:space-between}.booking-header__brand{display:flex;align-items:center;gap:var(--spacing-sm)}.booking-header__logo{width:30px;height:30px;border-radius:var(--radius-md);background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--font-size-lg);color:var(--color-bg)}.booking-header__name{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text)}.booking-header__theme-toggle{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-fast)}.booking-progress{background:var(--color-bg);padding:var(--spacing-xs) 0 var(--spacing-xs)}@media(min-width:768px){.booking-progress{padding:var(--spacing-lg) 0 var(--spacing-md)}}.booking-progress__container{max-width:700px;margin:0 auto;padding:0 var(--spacing-md);display:flex;align-items:flex-start;justify-content:center;gap:0}.booking-progress__step{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);opacity:.4;transition:opacity var(--transition-base);position:relative;min-width:70px}.booking-progress__step--active,.booking-progress__step--completed{opacity:1}.booking-progress__indicator{width:30px;height:30px;border-radius:var(--radius-md);background:var(--color-border);display:flex;align-items:center;justify-content:center;transition:all var(--transition-base);position:relative;z-index:2}.booking-progress__step--active .booking-progress__indicator,.booking-progress__step--completed .booking-progress__indicator{background:var(--color-accent)}.booking-progress__icon{width:20px;height:20px;display:none;mask-size:contain;mask-repeat:no-repeat;mask-position:center;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center}.booking-progress__icon--completed{mask-image:url(/img/icons/completed.svg);-webkit-mask-image:url(/img/icons/completed.svg);background-color:var(--color-bg)}.booking-progress__icon--pending{mask-image:url(/img/icons/pending.svg);-webkit-mask-image:url(/img/icons/pending.svg);background-color:var(--color-text)}.booking-progress__step .booking-progress__icon--pending{display:block}.booking-progress__step--active .booking-progress__icon--pending,.booking-progress__step--completed .booking-progress__icon--pending{display:none}.booking-progress__step--active .booking-progress__icon--completed,.booking-progress__step--completed .booking-progress__icon--completed{display:block}.booking-progress__label{font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-wide);font-weight:500;color:var(--color-text-secondary);text-align:center;white-space:nowrap;transition:color var(--transition-base)}.booking-progress__step--active .booking-progress__label{color:var(--color-text-75);font-weight:600}.booking-progress__step--completed .booking-progress__label{color:var(--color-accent)}.booking-progress__connector{flex:1;height:3px;background:var(--color-border);border-radius:0;margin-top:13px;margin-left:-20px;margin-right:-20px;min-width:10px}.booking-progress__step--completed+.booking-progress__connector{background:var(--color-accent)}@media(min-width:640px){.booking-progress__step{min-width:80px}.booking-progress__indicator{width:30px;height:30px}.booking-progress__icon{width:20px;height:20px}.booking-progress__label{font-size:var(--font-size-sm)}.booking-progress__connector{margin-top:13px;margin-left:-25px;margin-right:-25px}}@media(max-width:480px){.booking-progress__container{gap:var(--spacing-xs)}.booking-progress__step{flex-direction:row;min-width:0;gap:0}.booking-progress__indicator,.booking-progress__connector{display:none}.booking-progress__label{font-size:var(--font-size-xs);padding:var(--spacing-xxs) var(--spacing-sm);border-radius:999px;background:var(--color-border);color:var(--color-text-secondary);font-weight:500;transition:all var(--transition-base)}.booking-progress__step--active .booking-progress__label{background:var(--color-accent);color:var(--color-bg);font-weight:600}.booking-progress__step--completed .booking-progress__label{background:var(--color-accent);color:var(--color-bg);font-weight:500}}.booking-main{flex:1;padding:var(--spacing-xs) var(--spacing-xs);position:relative;overflow:hidden}@media(min-width:768px){.booking-main{padding:var(--spacing-lg) var(--spacing-md)}}.booking-content{max-width:var(--max-width);margin:0 auto}.booking-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);gap:var(--spacing-md)}.booking-loading--hidden{display:none}.booking-loading__icon{display:flex;align-items:center;justify-content:center;background-color:#8d8d8d1f;border-radius:12px;width:48px;height:48px}.booking-loading__icon .icon{background-color:var(--color-text);animation:hourglassSpin 1.5s ease-in-out infinite}@keyframes hourglassSpin{0%{transform:rotate(0)}60%{transform:rotate(200deg)}80%{transform:rotate(170deg)}to{transform:rotate(180deg)}}.booking-loading__text{font-size:var(--font-size-md);color:var(--color-text-secondary)}.booking-empty{margin-top:20px;margin-left:5%;font-size:var(--font-size-md);color:var(--color-text-75);border:2px dashed var(--color-shading-strong);border-radius:var(--radius-md);padding:var(--padding-md) var(--padding-md);text-align:center;width:90%}.booking-footer{padding:var(--spacing-md);text-align:center}.booking-footer__powered{font-size:var(--font-size-sm);color:var(--color-text-muted)}.booking-footer__powered strong{color:var(--color-text-secondary)}.booking-watermark{position:absolute;bottom:calc(-1 * var(--spacing-md));right:var(--spacing-sm);font-size:var(--font-size-watermark);font-weight:800;color:color-mix(in srgb,var(--color-text) 4%,transparent);text-transform:uppercase;letter-spacing:var(--letter-spacing-none);pointer-events:none;-webkit-user-select:none;user-select:none;z-index:-9999;line-height:1;opacity:0;filter:blur(50px);transform:translateY(100%);animation:watermarkReveal .8s ease-out .3s forwards;display:none}@keyframes watermarkReveal{to{opacity:1;filter:blur(0);transform:translateY(0)}}@media(min-width:768px){.booking-watermark{right:var(--spacing-xs);bottom:calc(-1 * var(--spacing-sm));display:block}}.booking-page{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.booking-page__header{margin-bottom:var(--spacing-lg);text-align:center}.booking-page__header--left{text-align:left;max-width:800px;margin-left:auto;margin-right:auto;display:none}@media(min-width:768px){.booking-page__header--left{display:block}}.booking-page__back{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);margin-bottom:0;font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary);border-radius:var(--radius-md);transition:all var(--transition-fast)}@media(min-width:768px){.booking-page__back{margin-bottom:var(--spacing-sm)}}.booking-page__back-icon{transform:rotate(180deg)}.booking-page__title{font-size:var(--font-size-lg);font-weight:500;margin-bottom:var(--spacing-xs);letter-spacing:var(--letter-spacing-wide)}.booking-page__subtitle{font-size:var(--font-size-md);color:var(--color-text-secondary)}.services-grid{display:grid;gap:var(--spacing-xs);max-width:800px;margin:0 auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.service-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-sm);background:transparent;border:none;border-radius:var(--radius-md);text-align:left;transition:all var(--transition-base);width:100%;margin-top:-10px}@media(min-width:768px){.service-card{padding:var(--spacing-sm) var(--spacing-md)}}.service-card--solo{border:1px solid var(--color-shading-strong);background-color:var(--color-shading-soft);margin-top:10px}.services-grid hr{border:none;border-top:1px solid var(--color-border);width:90%;margin:-5px auto 0}.services-category-header{font-size:var(--font-size-sm);font-weight:600;letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--color-text-muted);padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-xs)}.services-category-header--spaced{margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.service-card__image-wrapper{flex-shrink:0;width:48px;height:48px;border-radius:var(--radius-md);overflow:hidden;position:relative;margin-left:15px;display:none}@media(min-width:768px){.service-card__image-wrapper{display:block}}.service-card__image{position:absolute;inset:0;width:80%;height:80%;margin-left:10%;margin-top:10%;background-size:cover;background-position:center;z-index:1}.service-card__image-placeholder{position:absolute;inset:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;z-index:0}.service-card__image-placeholder .icon{background-color:var(--color-text-muted)}.service-card__content{flex:1;min-width:0}.service-card__name{font-size:var(--font-size-md);font-weight:550;letter-spacing:var(--letter-spacing-base);color:var(--color-text);margin-bottom:var(--spacing-xxs)}@media(min-width:768px){.service-card__name{font-size:var(--font-size-ml)}}.service-card__description{font-size:var(--font-size-sm);color:color-mix(in srgb,var(--color-text) 50%,transparent);margin-bottom:var(--spacing-xs);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;letter-spacing:var(--letter-spacing-wide);max-width:100%;transition:all .2s ease}.service-card__description--expanded{-webkit-line-clamp:unset;line-clamp:unset;overflow:visible}.service-card__description-toggle{display:none;font-size:var(--font-size-sm);font-weight:500;color:var(--color-accent);cursor:pointer;letter-spacing:var(--letter-spacing-wide);text-decoration:underline;z-index:2}@media(min-width:768px){.service-card__description{max-width:90%}}.service-card__meta{display:flex;align-items:center;gap:var(--spacing-xs);flex-wrap:wrap}.service-card__duration{display:inline-flex;align-items:center;gap:4px;font-size:var(--font-size-sm);font-weight:600;color:var(--color-accent);background:var(--color-tag-bg);padding:6px 12px;border-radius:999px;border:1px solid var(--color-border);height:26px;box-sizing:border-box}@media(min-width:768px){.service-card__duration{padding:6px 12px;height:32px}}.service-card__duration .icon{background-color:var(--color-accent)}.service-card__price{display:inline-flex;align-items:center;font-size:var(--font-size-sm);font-weight:600;color:var(--color-accent);background:var(--color-tag-bg);padding:3px 12px;border-radius:999px;border:1px solid var(--color-border);height:26px;box-sizing:border-box}@media(min-width:768px){.service-card__price{padding:6px 12px;height:32px}}.service-card__arrow{flex-shrink:0;width:80px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--color-border);border-radius:999px;transition:all var(--transition-base);margin-right:15px;display:none}@media(min-width:768px){.service-card__arrow{display:flex}}.service-card__arrow .icon{transition:all var(--transition-base)}.staff-grid{display:grid;gap:var(--spacing-xs);max-width:800px;margin:0 auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.staff-grid hr{border:none;border-top:1px solid var(--color-border);width:90%;margin:0 auto}.staff-grid hr:last-child{display:none}.staff-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-xs) 0;background:transparent;border:none;border-radius:var(--radius-md);text-align:left;transition:all var(--transition-base);width:100%}@media(min-width:768px){.staff-card{padding:var(--spacing-sm) var(--spacing-md)}}.staff-card--any{background:transparent;border:1px dashed var(--color-border);border-radius:var(--radius-lg);max-width:800px;margin:0 auto var(--spacing-sm);padding:var(--spacing-sm) 0;background-color:var(--color-shading-soft)}@media(min-width:768px){.staff-card--any{margin:0 auto var(--spacing-lg);padding:var(--spacing-md)}}.staff-card__avatar{flex-shrink:0;width:48px;height:48px;border-radius:var(--radius-full);background:var(--color-shading-base);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center;margin-left:10px}.staff-card__avatar--any{background:var(--color-shading-base);border:1px solid var(--color-border)}.staff-card__avatar--any .icon{background-color:var(--color-text-muted)}.staff-card__initials{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-secondary)}.staff-card__content{flex:1;min-width:0;display:flex;flex-direction:column}.staff-card__name-row{display:flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-xxs);flex-wrap:wrap}.staff-card__name{font-size:var(--font-size-md);font-weight:550;letter-spacing:var(--letter-spacing-base);color:var(--color-text)}@media(min-width:768px){.staff-card__name{font-size:var(--font-size-ml)}}.staff-card__role{display:none;align-items:center;padding:.125rem .5rem;font-size:var(--font-size-xs);font-weight:500;letter-spacing:var(--letter-spacing-base);line-height:1.4;border-radius:var(--radius-md);text-transform:lowercase;background:linear-gradient(to left,color-mix(in srgb,var(--color-accent) 10%,transparent),color-mix(in srgb,var(--color-accent) 25%,transparent));color:var(--color-accent);border:1px solid color-mix(in srgb,var(--color-accent) 40%,transparent)}.staff-card__role--visible{display:inline-flex}.staff-card__bio{font-size:var(--font-size-sm);color:color-mix(in srgb,var(--color-text) 50%,transparent);letter-spacing:var(--letter-spacing-wide);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:all .2s ease}.staff-card__bio--expanded{-webkit-line-clamp:unset;line-clamp:unset;overflow:visible}.staff-card__bio-toggle{display:none;align-self:flex-start;font-size:var(--font-size-sm);font-weight:500;color:var(--color-accent);cursor:pointer;letter-spacing:var(--letter-spacing-wide);text-decoration:underline;z-index:2;margin-top:2px}.staff-card__price{display:inline-flex;align-items:center;font-size:var(--font-size-sm);font-weight:600;color:var(--color-accent);background:var(--color-tag-bg);padding:6px 12px;border-radius:999px;border:1px solid var(--color-border);height:32px;box-sizing:border-box;margin-top:var(--spacing-xs)}.staff-card__arrow{flex-shrink:0;width:80px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--color-border);border-radius:999px;transition:all var(--transition-base);margin-right:15px;display:none}@media(min-width:768px){.staff-card__arrow{display:flex}}.staff-card__arrow .icon{transition:all var(--transition-base)}.staff-divider{max-width:600px;margin:0 auto var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-md)}.staff-divider:before,.staff-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.staff-divider__text{font-size:var(--font-size-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.datetime-layout{display:grid;gap:var(--spacing-lg);max-width:1000px;margin:0 auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@media(min-width:768px){.datetime-layout{grid-template-columns:1fr 1fr;gap:var(--spacing-xl)}}.calendar-section{border-radius:0;padding:var(--spacing-sm);width:100%;overflow:hidden;min-width:0;margin-top:-15px;border-bottom:1px solid var(--color-border)}@media(min-width:768px){.calendar-section{border:1px solid var(--color-border);margin-top:0;border-radius:var(--radius-lg)}}.calendar__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-xs)}.calendar__month{font-size:var(--font-size-md);font-weight:600}.calendar__nav{width:32px;height:32px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-fast)}.calendar__nav--prev .icon{transform:rotate(180deg)}.calendar__weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:var(--spacing-xxs);text-align:center;min-width:0}.calendar__weekdays span{font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;padding:var(--spacing-xxs);min-width:0}.calendar__days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;min-width:0}.calendar__day{aspect-ratio:1;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:500;transition:all var(--transition-fast);position:relative;min-width:0}@media(min-width:768px){.calendar-section{padding:var(--spacing-md)}.calendar__header{margin-bottom:var(--spacing-xs)}.calendar__month{font-size:var(--font-size-lg)}.calendar__nav{width:36px;height:36px}.calendar__weekdays{gap:var(--spacing-xxs);margin-bottom:var(--spacing-xs)}.calendar__weekdays span{padding:var(--spacing-xs)}.calendar__days{gap:var(--spacing-xxs)}}.calendar__day--empty{visibility:hidden}.calendar__day--disabled{color:var(--color-text-muted);cursor:not-allowed}.calendar__day--available{cursor:pointer;color:var(--color-text)}.calendar__day--available:after{content:"";position:absolute;bottom:8px;width:4px;height:4px;border-radius:50%;background:var(--color-accent)}.calendar__day--selected{background:var(--color-accent)!important;border-radius:var(--radius-lg)!important;color:var(--color-bg)!important;font-weight:700!important}.calendar__day--selected:after{display:none}.calendar__day--today{background:color-mix(in srgb,var(--color-text-muted) 25%,transparent);border-radius:var(--radius-lg)}.timeslots-section{border-radius:var(--radius-lg);padding:var(--spacing-md)}@media(min-width:768px){.timeslots-section{border:1px solid var(--color-border)}}.timeslots__title{font-size:var(--font-size-md);font-weight:600;margin-bottom:var(--spacing-md);color:var(--color-text);text-align:center}.timeslots-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-xs)}@media(min-width:480px){.timeslots-grid{grid-template-columns:repeat(4,1fr)}}.timeslot{padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;text-align:center;transition:all var(--transition-fast);color:var(--color-text)}.timeslot--selected{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-text)}.timeslots-empty{text-align:center;padding:var(--spacing-lg);color:var(--color-text-muted)}.checkout-layout{display:grid;gap:var(--spacing-lg);max-width:900px;margin:0 auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--spacing-xs)}@media(min-width:768px){.checkout-layout{grid-template-columns:1fr 1.2fr;gap:var(--spacing-xl)}}.checkout-summary{order:1}@media(min-width:768px){.checkout-summary{order:0;position:sticky;top:calc(var(--header-height) + var(--spacing-lg))}}.checkout-summary__title{font-size:var(--font-size-md);font-weight:600;margin-bottom:var(--spacing-sm)}.checkout-summary__card{background:var(--color-shading-soft);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-md)}.checkout-summary__row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xs) 0}.checkout-summary__label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.checkout-summary__value{font-size:var(--font-size-sm);font-weight:500;text-align:right}.checkout-summary__divider{height:1px;background:var(--color-border);margin:var(--spacing-sm) 0}.checkout-summary__row--total{padding-top:var(--spacing-sm)}.checkout-summary__row--total .checkout-summary__label{font-size:var(--font-size-md);font-weight:600;color:var(--color-text)}.checkout-summary__row--total .checkout-summary__value{font-size:var(--font-size-lg);font-weight:700;color:var(--color-accent)}.checkout-form__title{font-size:var(--font-size-md);font-weight:600;margin-bottom:var(--spacing-sm)}.checkout-form__form{display:flex;flex-direction:column;gap:var(--spacing-md)}.checkout-form__name-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm)}@media(max-width:480px){.checkout-form__name-row{grid-template-columns:1fr}.service-card--solo{width:95%;margin-left:2.5%}}.form-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-field__label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary)}.field-indicator{display:inline-flex;align-items:center;margin-left:4px;padding:.125rem .5rem;font-size:var(--font-size-xs);font-weight:500;letter-spacing:var(--letter-spacing-base);line-height:1.4;border-radius:var(--radius-md);text-transform:lowercase;vertical-align:middle}.field-indicator--required{color:var(--color-accent);border:1px solid color-mix(in srgb,var(--color-accent) 40%,transparent)}.form-field__input,.form-field__textarea{padding:var(--spacing-sm);background:var(--color-shading-soft);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-md);color:var(--color-text);transition:border-color var(--transition-fast)}.form-field__input:focus,.form-field__textarea:focus{outline:none;border-color:var(--color-accent)}.form-field__input::placeholder,.form-field__textarea::placeholder{color:var(--color-text-muted)}.form-field__textarea{resize:vertical;min-height:80px}.form-field--error .form-field__input,.form-field--error .form-field__textarea{border-color:var(--color-error)}.form-field--phone .phone-input{background-color:var(--color-shading-soft);border-radius:var(--radius-md);padding:var(--spacing-xxs) var(--spacing-xs)}.form-field--phone .phone-input__number{background:transparent}@media(max-width:480px){.form-field--phone .phone-input__country{min-width:90px;max-width:90px}.form-field--phone .phone-input__country .dropdown__trigger-text{font-size:var(--font-size-md);overflow:hidden;max-width:1.5em}}.checkout-form__policy{background:var(--color-bg);border-radius:var(--radius-md);padding:var(--spacing-sm)}.checkout-form__policy-title{font-size:var(--font-size-sm);font-weight:600;margin-bottom:var(--spacing-xxs)}.checkout-form__policy-text{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.5}.checkout-form__submit{width:100%;padding:var(--spacing-md);background:var(--color-accent);color:var(--color-bg);font-size:var(--font-size-md);font-weight:600;border-radius:var(--radius-md);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);margin-top:var(--spacing-sm)}.checkout-form__submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.checkout-form__submit-loading,.checkout-form__submit--loading .checkout-form__submit-text{display:none}.checkout-form__submit--loading .checkout-form__submit-loading{display:flex}.checkout-form__submit--loading .checkout-form__submit-loading .icon{background-color:var(--color-bg);animation:hourglassFlip 1.2s infinite}@keyframes hourglassFlip{0%,to{transform:rotate(0)}50%{transform:rotate(180deg)}}.booking-page--confirmed{display:flex;align-items:center;justify-content:center;min-height:60vh}.confirmed-card{text-align:center;max-width:480px;margin:0 auto;padding:var(--spacing-xs) var(--spacing-sm);background:var(--colo-bg);border-radius:var(--radius-xl)}@media(min-width:768px){.confirmed-card{border:1px solid var(--color-border);padding:var(--spacing-lg) var(--spacing-2xl)}}.confirmed-card__icon{width:60px;height:60px;margin:0 auto var(--spacing-md);background:var(--color-accent);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center}.confirmed-card__icon .icon{background-color:var(--color-bg)}.confirmed-card__title{font-size:var(--font-size-2xl);font-weight:700;margin-bottom:var(--spacing-xs)}.confirmed-card__subtitle{font-size:var(--font-size-md);color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.confirmed-card__details{background:var(--color-shading-soft);border-radius:var(--radius-lg);padding:var(--spacing-md);margin-bottom:var(--spacing-md);text-align:left}.confirmed-card__row{display:flex;justify-content:space-between;padding:var(--spacing-xs) 0}.confirmed-card__label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.confirmed-card__value{font-size:var(--font-size-sm);font-weight:500}.confirmed-card__value--highlight{color:var(--color-accent);font-family:monospace;font-size:var(--font-size-md)}.confirmed-card__notice{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--spacing-lg)}.confirmed-card__button{padding:var(--spacing-sm) var(--spacing-lg);background:transparent;color:var(--color-accent);font-size:var(--font-size-md);font-weight:500;border:1px solid var(--color-accent);border-radius:var(--radius-md);transition:all var(--transition-fast)}.booking-error{text-align:center;padding:var(--spacing-2xl) var(--spacing-md);max-width:400px;margin:0 auto}.booking-error__icon{width:80px;height:80px;margin:0 auto var(--spacing-md);background:var(--color-shading-base);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center}.booking-error__icon .icon{background-color:var(--color-error)}.booking-error__title{font-size:var(--font-size-2xl);font-weight:700;margin-bottom:var(--spacing-sm)}.booking-error__message{font-size:var(--font-size-md);color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);line-height:1.6}.booking-error__link{display:inline-block;padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-accent);color:var(--color-text);font-weight:500;text-decoration:none;border-radius:var(--radius-md);transition:all var(--transition-fast)}.booking-progress--hidden{display:none}.booking-page--manage{display:flex;justify-content:center;padding:var(--spacing-lg) 0}.manage-container{width:100%;max-width:560px;display:flex;flex-direction:column;gap:var(--spacing-lg)}.manage-card{background:var(--color-shading-soft);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden}.manage-card__header{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border);text-align:center}.manage-card__status{margin-bottom:var(--spacing-sm)}.manage-status-badge{display:inline-flex;align-items:center;gap:var(--spacing-xxs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:600;text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.manage-status-badge--confirmed{background:color-mix(in srgb,var(--color-success) 15%,transparent);color:var(--color-success)}.manage-status-badge--confirmed .icon{background-color:var(--color-success)}.manage-status-badge--cancelled{background:color-mix(in srgb,var(--color-error) 15%,transparent);color:var(--color-error)}.manage-status-badge--cancelled .icon{background-color:var(--color-error)}.manage-status-badge--completed{background:color-mix(in srgb,var(--color-text-muted) 15%,transparent);color:var(--color-text-secondary)}.manage-status-badge--completed .icon{background-color:var(--color-text-secondary)}.manage-card__title{font-size:var(--font-size-xl);font-weight:700;letter-spacing:var(--letter-spacing-none)}.manage-card__body{padding:var(--spacing-lg)}.manage-summary{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.manage-summary__row{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm);background:var(--color-bg);border-radius:var(--radius-md)}.manage-summary__row--primary{background:color-mix(in srgb,var(--color-accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--color-accent) 25%,transparent)}.manage-summary__row--primary .manage-summary__value{color:var(--color-accent);font-weight:600}.manage-summary__row--price{background:var(color-shading-base)}.manage-summary__row--price .manage-summary__value{font-size:var(--font-size-lg);font-weight:700;color:var(--color-accent)}.manage-summary__icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.manage-summary__icon .icon{background-color:var(--color-text-muted)}.manage-summary__row--primary .manage-summary__icon .icon{background-color:var(--color-accent)}.manage-summary__content{flex:1;display:flex;flex-direction:column;gap:2px}.manage-summary__label{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.manage-summary__value{font-size:var(--font-size-md);font-weight:500;color:var(--color-text)}.manage-notes{margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background:var(--color-bg);border-radius:var(--radius-md)}.manage-notes__title{font-size:var(--font-size-sm);font-weight:600;margin-bottom:var(--spacing-xs);color:var(--color-text-secondary)}.manage-notes__text{font-size:var(--font-size-sm);color:var(--color-text);font-style:italic}.manage-actions{display:flex;gap:var(--spacing-sm)}.manage-action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:600;transition:all var(--transition-fast)}.manage-action-btn--reschedule{background:var(--color-accent);color:var(--color-bg)}.manage-action-btn--reschedule .icon{background-color:var(--color-bg)}.manage-action-btn--cancel{background:transparent;border:1px solid var(--color-border);color:var(--color-text)}.manage-action-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.manage-disabled-msg{text-align:center;padding:var(--spacing-md);background:var(--color-bg);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.manage-business{background:var(--color-shading-soft);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-md)}.manage-business__title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.manage-business__name{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-xs)}.manage-business__contact{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-xxs)}.manage-business__contact a{color:var(--color-accent);text-decoration:none}.manage-business__contact .icon{background-color:var(--color-text-muted)}.manage-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);opacity:0;visibility:hidden;transition:all var(--transition-base)}.manage-modal--open{opacity:1;visibility:visible}.manage-modal__backdrop{position:absolute;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.manage-modal__container{position:relative;width:100%;max-width:600px;max-height:90vh;background:var(--color-bg);border-radius:var(--radius-xl);display:flex;flex-direction:column;transform:translateY(20px);transition:transform var(--transition-base);overflow:hidden}.manage-modal--open .manage-modal__container{transform:translateY(0)}.manage-modal__container--small{max-width:440px}.manage-modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border)}.manage-modal__title{font-size:var(--font-size-lg);font-weight:600}.manage-modal__close{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:background-color var(--transition-fast)}.manage-modal__body{flex:1;overflow-y:auto;padding:var(--spacing-lg)}.manage-modal__footer{display:flex;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--color-border)}.manage-modal__btn{flex:1;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:600;transition:all var(--transition-fast)}.manage-modal__btn--primary{background:var(--color-accent);color:var(--color-bg)}.manage-modal__btn--primary:disabled{opacity:.5;cursor:not-allowed}.manage-modal__btn--secondary{background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border)}.manage-modal__btn--danger{background:var(--color-error);color:var(--color-bg)}.reschedule-current{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg);border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}.reschedule-current__label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.reschedule-current__value{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.reschedule-calendar{margin-bottom:var(--spacing-md)}.reschedule-timeslots__title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.cancel-warning{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.cancel-warning .icon{background-color:var(--color-warning)}.cancel-warning p{font-size:var(--font-size-md);color:var(--color-text)}.cancel-details{text-align:center;padding:var(--spacing-md);background:var(--color-bg);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg)}.cancel-details__datetime{font-size:var(--font-size-md);font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-xxs)}.cancel-details__service{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.cancel-reason{display:flex;flex-direction:column;gap:var(--spacing-xs)}.cancel-reason__label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.cancel-reason__input{padding:var(--spacing-sm);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-family);font-size:var(--font-size-md);color:var(--color-text);resize:vertical;transition:border-color var(--transition-fast)}.cancel-reason__input:focus{outline:none;border-color:var(--color-accent)}.cancel-reason__input::placeholder{color:var(--color-text-muted)}.booking-page--manage-success{display:flex;align-items:center;justify-content:center;min-height:60vh}.manage-success-card{text-align:center;max-width:440px;margin:0 auto;padding:var(--spacing-xl);background:var(--color-shading-soft);border:1px solid var(--color-border);border-radius:var(--radius-xl)}.manage-success-card__icon{width:80px;height:80px;margin:0 auto var(--spacing-md);background:var(--color-success);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center}.manage-success-card__icon .icon{background-color:var(--color-bg)}.manage-success-card__icon--cancel{background:var(--color-text-muted)}.manage-success-card__title{font-size:var(--font-size-2xl);font-weight:700;margin-bottom:var(--spacing-xs)}.manage-success-card__message{font-size:var(--font-size-md);color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.manage-success-card__details{background:var(--color-bg);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-md);text-align:left}.manage-success-card__row{display:flex;justify-content:space-between;padding:var(--spacing-xs) 0}.manage-success-card__label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.manage-success-card__value{font-size:var(--font-size-sm);font-weight:500}.manage-success-card__notice{font-size:var(--font-size-sm);color:var(--color-text-muted)}.booking-page--manage-error{display:flex;align-items:center;justify-content:center;min-height:60vh}.manage-error-card{text-align:center;max-width:400px;margin:0 auto;padding:var(--spacing-xl)}.manage-error-card__icon{width:80px;height:80px;margin:0 auto var(--spacing-md);background:var(--color-shading-soft);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center}.manage-error-card__icon .icon{background-color:var(--color-error)}.manage-error-card__title{font-size:var(--font-size-2xl);font-weight:700;margin-bottom:var(--spacing-sm)}.manage-error-card__message{font-size:var(--font-size-md);color:var(--color-text-secondary);margin-bottom:var(--spacing-md);line-height:1.6}.manage-error-card__help{font-size:var(--font-size-sm);color:var(--color-text-muted)}@media(hover:hover)and (pointer:fine){.booking-header__theme-toggle:hover{background:var(--color-shading-base)}.booking-page__back:hover{color:var(--color-text);background:var(--color-shading-base)}.service-card:hover{background:var(--color-shading-base)}.service-card:hover .service-card__price,.service-card:hover .service-card__duration{background:var(--color-shading-soft);border-color:color-mix(in srgb,var(--color-accent) 50%,transparent)}.service-card:hover .service-card__arrow{background-color:var(--color-accent)}.service-card:hover .service-card__arrow .icon{transform:translate(4px);background-color:var(--color-bg)}.staff-card:hover{background:var(--color-shading-base)}.staff-card--any:hover{background:var(--color-shading-base);border-style:solid}.staff-card:hover .staff-card__price{background:var(--color-shading-soft)}.staff-card:hover .staff-card__arrow{background-color:var(--color-accent)}.staff-card:hover .staff-card__arrow .icon{transform:translate(4px);background-color:var(--color-bg)}.calendar__nav:hover,.calendar__day--available:hover{background:var(--color-shading-base)}.timeslot:hover{border-color:var(--color-accent);background:var(--color-shading-base)}.checkout-form__submit:hover{transition:transform .2s ease;transform:translateY(-2px)}.confirmed-card__button:hover{background:var(--color-accent);color:var(--color-bg)}.booking-error__link:hover{background:var(--color-shading-base)}.manage-action-btn--reschedule:hover{transform:translateY(-2px)}.manage-action-btn--cancel:hover{background:var(--color-bg);border-color:var(--color-error);color:var(--color-error)}.manage-action-btn--cancel:hover .icon{background-color:var(--color-error)}.manage-business__contact a:hover{text-decoration:underline}.manage-modal__close:hover{background:var(--color-bg)}.manage-modal__btn--primary:hover:not(:disabled){transition:transform .2s ease;transform:translateY(-2px)}.manage-modal__btn--secondary:hover{background:var(--color-shading-base)}.manage-modal__btn--danger:hover{filter:brightness(.9)}}.custom-alert{position:fixed;inset:0;z-index:9999;display:none;align-items:flex-end;justify-content:flex-end;padding:var(--spacing-lg) var(--spacing-sm) var(--spacing-sm) var(--spacing-lg);pointer-events:none}.custom-alert--visible{display:flex;pointer-events:auto}.custom-alert[data-position=bottom-center]{justify-content:center;padding-left:var(--spacing-sm)}.custom-alert[data-position=bottom-left]{justify-content:flex-start;padding-left:var(--spacing-sm);padding-right:var(--spacing-lg)}.custom-alert[data-position=top-right]{align-items:flex-start;padding-top:var(--spacing-sm);padding-bottom:var(--spacing-lg)}.custom-alert[data-position=top-center]{align-items:flex-start;justify-content:center;padding-top:var(--spacing-sm);padding-bottom:var(--spacing-lg);padding-left:var(--spacing-sm)}.custom-alert[data-position=top-left]{align-items:flex-start;justify-content:flex-start;padding-top:var(--spacing-sm);padding-bottom:var(--spacing-lg);padding-left:var(--spacing-sm);padding-right:var(--spacing-lg)}.custom-alert[data-position=center]{align-items:center;justify-content:center;padding:var(--spacing-sm)}.custom-alert__backdrop{position:absolute;inset:0;background-color:transparent;pointer-events:auto}.custom-alert__content{position:relative;width:100%;max-width:400px;background-color:var(--color-bg-offset);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-md) var(--spacing-md);box-shadow:0 20px 25px -5px #0000004d;animation:customAlertSlideIn .3s ease}@keyframes customAlertSlideIn{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.custom-alert__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xs)}.custom-alert__title-row{display:flex;align-items:center;gap:var(--spacing-sm);flex:1}.custom-alert__icon{flex-shrink:0}.custom-alert__icon .icon{width:1.25rem;height:1.25rem}.custom-alert__title-group{display:flex;flex-direction:row;align-items:baseline;gap:var(--spacing-xs)}.custom-alert__title{font-size:var(--font-size-ml);font-weight:500;color:var(--color-text);margin:0}.custom-alert__subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:400}.custom-alert__close{flex-shrink:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background-color:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;color:var(--color-text);transition:background-color var(--transition-fast)}.custom-alert__close .icon{background-color:var(--color-text-muted)}.custom-alert__body{font-size:var(--font-size-md);color:var(--color-text-secondary);line-height:1.5;margin:0}@media(hover:hover)and (pointer:fine){.custom-alert__close:hover{background-color:var(--color-shading-base)}.custom-alert__close:hover .icon{background-color:var(--color-text)}}@media(max-width:480px){.custom-alert{padding:var(--spacing-sm)}.custom-alert__content{max-width:100%}}
