.booking-public-page[data-theme]{background:var(--bg);height:auto;min-height:100svh;color:var(--text);font-family:var(--font-geist-sans), Geist, "Helvetica Neue", sans-serif;font-kerning:normal;overflow:hidden auto}.booking-public-page[data-theme]:before,.booking-public-page[data-theme] .booking-context-panel:before,.booking-public-page[data-theme] .booking-schedule-panel:before,.booking-public-page[data-theme] .booking-chip:before,.booking-public-page[data-theme] .booking-calendar-head button:before,.booking-public-page[data-theme] .booking-day-button:before,.booking-public-page[data-theme] .booking-slot-button:before{content:none;display:none}.booking-public-page[data-theme] button,.booking-public-page[data-theme] input,.booking-public-page[data-theme] textarea{font:inherit}.booking-public-page[data-theme] button:focus-visible,.booking-public-page[data-theme] input:focus-visible,.booking-public-page[data-theme] textarea:focus-visible,.booking-public-page[data-theme] .booking-select-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-color:var(--accent);box-shadow:none}.booking-public-page[data-theme] .booking-public-shell{grid-template-rows:auto 1fr;align-content:start;gap:clamp(28px,4vw,52px);width:min(1160px,100% - 48px);min-height:100svh;margin:0 auto;padding:clamp(24px,4svh,48px) 0 48px;display:grid}.booking-public-page[data-theme] .booking-brand-wordmark{align-items:center;width:176px;height:41px;display:flex}.booking-public-page[data-theme] .booking-brand-wordmark img{object-fit:contain;object-position:left center;width:100%;height:auto;display:block}.booking-public-page[data-theme=light] .booking-brand-wordmark img{filter:brightness(0)saturate();opacity:.88}.booking-public-page[data-theme=dark] .booking-brand-wordmark img{filter:none;opacity:.94}.booking-public-page[data-theme] .booking-public-grid{grid-template-columns:minmax(280px,.82fr) minmax(0,1.36fr);align-items:start;gap:clamp(40px,6vw,80px);display:grid}.booking-public-page[data-theme] .booking-context-panel,.booking-public-page[data-theme] .booking-schedule-panel{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:0;animation:none;position:relative;overflow:visible}.booking-public-page[data-theme] .booking-context-panel{background:0 0;border:0;flex-direction:column;gap:40px;min-height:0;padding:clamp(16px,3vw,40px) 0 0;display:flex;position:sticky;top:32px}.booking-public-page[data-theme] .booking-kicker,.booking-public-page[data-theme] .booking-section-label{color:var(--text-dim);letter-spacing:.14em;text-transform:uppercase;margin:0;font-family:inherit;font-size:.7rem;font-weight:650;line-height:1.2}.booking-public-page[data-theme] .booking-context-panel h2,.booking-public-page[data-theme] .booking-panel-head h2,.booking-public-page[data-theme] .booking-state-page h1{color:var(--text);letter-spacing:-.045em;margin:0;font-family:inherit;font-weight:720}.booking-public-page[data-theme] .booking-context-panel h2{max-width:12ch;margin-top:16px;font-size:clamp(2.1rem,4vw,3.25rem);line-height:1.02}.booking-public-page[data-theme] .booking-copy{max-width:36ch;color:var(--text-secondary);margin:24px 0 0;font-size:1rem;line-height:1.65}.booking-public-page[data-theme] .booking-meta-list{border-top:1px solid var(--border);gap:12px;margin-top:8px;padding-top:24px;display:grid}.booking-public-page[data-theme] .booking-meta-item{color:var(--text-secondary);align-items:center;gap:10px;font-size:.875rem;line-height:1.4;display:flex}.booking-public-page[data-theme] .booking-meta-item svg{color:var(--text);stroke-width:1.6px;flex:none}.booking-public-page[data-theme] .booking-duration-block{gap:12px;display:grid}.booking-public-page[data-theme] .booking-chip-row{flex-wrap:wrap;gap:8px;display:flex}.booking-public-page[data-theme] .booking-chip{border:1px solid var(--border-strong);min-height:44px;color:var(--text-secondary);cursor:pointer;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;transition:background-color var(--motion-fast) var(--ease-out-quart), border-color var(--motion-fast) var(--ease-out-quart), color var(--motion-fast) var(--ease-out-quart);background:0 0;border-radius:3px;padding:0 14px;font-size:.875rem;font-weight:620;animation:none;transform:none}.booking-public-page[data-theme] .booking-chip:hover{border-color:var(--text-secondary);background:var(--bg-hover);color:var(--text);box-shadow:none;transform:none}.booking-public-page[data-theme] .booking-chip[data-active=true]{border-color:var(--accent);background:var(--accent);color:var(--accent-fg);box-shadow:none}.booking-public-page[data-theme] .booking-schedule-panel{border:1px solid var(--border);background:var(--bg-surface);min-width:0;padding:clamp(24px,3.4vw,44px)}.booking-public-page[data-theme] .booking-stage-rail{border-bottom:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;width:100%;height:auto;margin:0 0 32px;padding:0 0 20px;list-style:none;display:grid}.booking-public-page[data-theme] .booking-stage-node{min-width:0;min-height:0;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;align-items:baseline;gap:8px;padding:0;font-family:inherit;font-size:.72rem;font-weight:620;line-height:1.2;animation:none;display:flex}.booking-public-page[data-theme] .booking-stage-node:before,.booking-public-page[data-theme] .booking-stage-node:after{content:none;display:none}.booking-public-page[data-theme] .booking-stage-node>span:first-child{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.64rem}.booking-public-page[data-theme] .booking-stage-node[data-complete=true]{color:var(--text-secondary);box-shadow:none;background:0 0;border:0}.booking-public-page[data-theme] .booking-stage-node[data-active=true]{color:var(--text);box-shadow:none;background:0 0;border:0}.booking-public-page[data-theme] .booking-stage-node[data-active=true]>span:first-child{color:var(--text)}.booking-public-page[data-theme] .booking-panel-head{border:0;padding:0;display:block}.booking-public-page[data-theme] .booking-panel-head h2{margin-top:10px;font-size:clamp(1.65rem,2.6vw,2.35rem);line-height:1.08}.booking-public-page[data-theme] .booking-flow-grid{grid-template-columns:minmax(300px,1fr) minmax(220px,.78fr);gap:clamp(24px,3vw,36px);padding-top:36px;display:grid}.booking-public-page[data-theme] .booking-calendar-section{min-width:0;animation:none;overflow:visible}.booking-public-page[data-theme] .booking-calendar-head{grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px;min-height:44px;margin-bottom:16px;display:grid}.booking-public-page[data-theme] .booking-calendar-head strong{color:var(--text);text-align:center;font-size:.92rem;font-weight:680}.booking-public-page[data-theme] .booking-calendar-head button{width:44px;height:44px;color:var(--text-secondary);cursor:pointer;transition:background-color var(--motion-fast) var(--ease-out-quart), color var(--motion-fast) var(--ease-out-quart);background:0 0;border:1px solid #0000;border-radius:50%;place-items:center;display:grid;position:relative;transform:none}.booking-public-page[data-theme] .booking-calendar-head button:hover{background:var(--bg-hover);color:var(--text);border-color:#0000;transform:none}.booking-public-page[data-theme] .booking-weekdays,.booking-public-page[data-theme] .booking-days-grid{grid-template-columns:repeat(7,minmax(40px,1fr));gap:4px;min-width:0;display:grid}.booking-public-page[data-theme] .booking-weekdays{margin-bottom:8px}.booking-public-page[data-theme] .booking-weekdays span{color:var(--text-dim);text-align:center;font-size:.68rem;font-weight:620;line-height:1}.booking-public-page[data-theme] .booking-day-button{aspect-ratio:1;width:100%;min-height:44px;color:var(--text-secondary);font-variant-numeric:tabular-nums;cursor:pointer;box-shadow:none;transition:background-color var(--motion-fast) var(--ease-out-quart), color var(--motion-fast) var(--ease-out-quart);background:0 0;border:1px solid #0000;border-radius:50%;padding:0;font-size:.875rem;font-weight:560;animation:none;position:relative;transform:none}.booking-public-page[data-theme] .booking-day-button:hover:not(:disabled){background:var(--bg-hover);color:var(--text);box-shadow:none;border-color:#0000;transform:none}.booking-public-page[data-theme] .booking-day-button:disabled{color:var(--text-muted);opacity:.42;cursor:not-allowed}.booking-public-page[data-theme] .booking-day-button[data-today=true]:not([data-selected=true]){border-color:var(--border-strong);color:var(--text)}.booking-public-page[data-theme] .booking-day-button[data-weekend=true]:not([data-selected=true]){color:var(--text-dim)}.booking-public-page[data-theme] .booking-day-button[data-selected=true]{border-color:var(--accent);background:var(--accent);color:var(--accent-fg);box-shadow:none}.booking-public-page[data-theme] .booking-times-section{border-left:1px solid var(--border);contain:none;min-width:0;padding-left:clamp(24px,3vw,36px);animation:none}.booking-public-page[data-theme] .booking-empty-state{height:100%;min-height:280px;color:var(--text-secondary);text-align:left;background:0 0;border:0;border-radius:0;flex-direction:column;justify-content:center;align-items:flex-start;gap:16px;padding:0;font-size:.875rem;line-height:1.55;display:flex}.booking-public-page[data-theme] .booking-slot-list,.booking-public-page[data-theme] .booking-field-stack,.booking-public-page[data-theme] .booking-form-panel{gap:16px;display:grid}.booking-public-page[data-theme] .booking-slot-list{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;max-height:440px;padding-right:8px;overflow-y:auto}.booking-public-page[data-theme] .booking-selected-date{color:var(--text);margin:0 0 4px;font-size:.92rem;font-weight:650;line-height:1.45}.booking-public-page[data-theme] .booking-slot-group{gap:10px;display:grid}.booking-public-page[data-theme] .booking-slot-group+.booking-slot-group{padding-top:4px}.booking-public-page[data-theme] .booking-slot-group h3{color:var(--text-dim);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.68rem;font-weight:650;line-height:1.2}.booking-public-page[data-theme] .booking-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.booking-public-page[data-theme] .booking-slot-button{border:1px solid var(--border-strong);width:100%;min-height:44px;color:var(--text);font-variant-numeric:tabular-nums;cursor:pointer;box-shadow:none;transition:background-color var(--motion-fast) var(--ease-out-quart), border-color var(--motion-fast) var(--ease-out-quart), color var(--motion-fast) var(--ease-out-quart);background:0 0;border-radius:3px;justify-content:center;align-items:center;padding:0 10px;font-size:.875rem;font-weight:630;animation:none;display:inline-flex;transform:none}.booking-public-page[data-theme] .booking-slot-button:hover{border-color:var(--accent);background:var(--accent);color:var(--accent-fg);box-shadow:none;transform:none}.booking-public-page[data-theme] .booking-mobile-date-back{display:none}.booking-public-page[data-theme] .booking-back-button,.booking-public-page[data-theme] .booking-mobile-date-back,.booking-public-page[data-theme] .booking-secondary-action{width:fit-content;min-height:44px;color:var(--text-secondary);text-underline-offset:4px;cursor:pointer;transition:color var(--motion-fast) var(--ease-out-quart), text-decoration-color var(--motion-fast) var(--ease-out-quart);background:0 0;border:0;border-radius:0;align-items:center;gap:7px;padding:0;font-size:.875rem;font-weight:620;-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.booking-public-page[data-theme] .booking-back-button,.booking-public-page[data-theme] .booking-secondary-action{display:inline-flex}.booking-public-page[data-theme] .booking-back-button:hover,.booking-public-page[data-theme] .booking-mobile-date-back:hover,.booking-public-page[data-theme] .booking-secondary-action:hover{color:var(--text);text-decoration-color:currentColor}.booking-public-page[data-theme] .booking-summary-strip,.booking-public-page[data-theme] .booking-confirmation-card{border:1px solid var(--border);color:var(--text-secondary);background:0 0;border-width:1px 0;border-radius:0;gap:6px;padding:16px 0;font-size:.875rem;line-height:1.45;display:grid}.booking-public-page[data-theme] .booking-summary-strip{contain:none;animation:none}.booking-public-page[data-theme] .booking-summary-strip strong,.booking-public-page[data-theme] .booking-confirmation-card strong{color:var(--text);font-size:.95rem}.booking-public-page[data-theme] .booking-field{gap:8px;display:grid}.booking-public-page[data-theme] .booking-field>span{color:var(--text-secondary);font-size:.78rem;font-weight:650}.booking-public-page[data-theme] .booking-field input,.booking-public-page[data-theme] .booking-field textarea,.booking-public-page[data-theme] .booking-select-trigger{border:1px solid var(--border-strong);background:var(--bg);width:100%;min-height:46px;color:var(--text);box-shadow:none;border-radius:3px;outline:none;padding:10px 12px;font-size:1rem;line-height:1.4}.booking-public-page[data-theme] .booking-field textarea{resize:vertical;min-height:96px}.booking-public-page[data-theme] .booking-field input::placeholder,.booking-public-page[data-theme] .booking-field textarea::placeholder,.booking-public-page[data-theme] .booking-select-trigger span[data-placeholder=true]{color:var(--text-dim)}.booking-public-page[data-theme] .booking-field input:focus,.booking-public-page[data-theme] .booking-field textarea:focus,.booking-public-page[data-theme] .booking-select-trigger:focus-within{border-color:var(--accent);box-shadow:none}.booking-public-page[data-theme] .booking-select-trigger{cursor:pointer;justify-content:space-between;align-items:center;display:flex}.booking-public-page[data-theme] .booking-error-row{color:var(--status-overdue);align-items:flex-start;gap:8px;font-size:.875rem;line-height:1.45;display:flex}.booking-public-page[data-theme] .booking-primary-button{border:1px solid var(--accent);background:var(--accent);width:100%;min-height:48px;color:var(--accent-fg);cursor:pointer;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;transition:background-color var(--motion-fast) var(--ease-out-quart), border-color var(--motion-fast) var(--ease-out-quart), opacity var(--motion-fast) var(--ease-out-quart);border-radius:3px;padding:0 18px;font-size:.9rem;font-weight:680}.booking-public-page[data-theme] .booking-primary-button:hover:not(:disabled){border-color:var(--accent-hover);background:var(--accent-hover);box-shadow:none;transform:none}.booking-public-page[data-theme] .booking-primary-button:active:not(:disabled){opacity:.82}.booking-public-page[data-theme] .booking-primary-button:disabled{border-color:var(--border-strong);color:var(--text-muted);opacity:1;cursor:not-allowed;background:0 0}.booking-public-page[data-theme] .booking-state-page{text-align:left;flex-direction:column;justify-content:center;align-items:flex-start;gap:18px;width:min(560px,100%);min-height:calc(100svh - 150px);margin:0;display:flex}.booking-public-page[data-theme] .booking-state-icon{width:auto;height:auto;color:var(--text);box-shadow:none;background:0 0;border:0;border-radius:0;display:block}.booking-public-page[data-theme] .booking-state-page h1{font-size:clamp(2.2rem,5vw,3.8rem);line-height:1.02}.booking-public-page[data-theme] .booking-state-page>p{max-width:46ch;color:var(--text-secondary);margin:0;font-size:1rem;line-height:1.65}.booking-public-page[data-theme] .booking-confirmation-card{text-align:left;width:min(420px,100%);margin-top:8px}.booking-public-page[data-theme] .booking-skeleton{background:var(--bg-elevated);border-radius:3px;animation:none}.booking-public-page[data-theme] .booking-skeleton:after{background:var(--bg-hover);animation:booking-editorial-skeleton 1.1s var(--ease-out-quart) infinite}.booking-public-page[data-theme] .booking-slot-skeleton{gap:8px;display:grid}@keyframes booking-editorial-skeleton{to{transform:translate(100%)}}@media (max-width:980px){.booking-public-page[data-theme] .booking-public-shell{width:min(760px,100% - 40px)}.booking-public-page[data-theme] .booking-public-grid{grid-template-columns:1fr;gap:32px}.booking-public-page[data-theme] .booking-context-panel{gap:28px;padding-top:0;position:static}.booking-public-page[data-theme] .booking-context-panel h2{max-width:16ch}.booking-public-page[data-theme] .booking-copy{max-width:58ch}.booking-public-page[data-theme] .booking-meta-list{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}}@media (max-width:720px){.booking-public-page[data-theme] .booking-public-shell{width:100%;padding:max(24px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(32px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));gap:32px}.booking-public-page[data-theme] .booking-brand-wordmark{width:154px;height:36px}.booking-public-page[data-theme] .booking-public-grid{gap:28px}.booking-public-page[data-theme] .booking-context-panel h2{max-width:14ch;font-size:clamp(2.15rem,11vw,3rem)}.booking-public-page[data-theme] .booking-copy{margin-top:18px;font-size:1rem}.booking-public-page[data-theme] .booking-meta-list{grid-template-columns:1fr;padding-top:20px}.booking-public-page[data-theme] .booking-schedule-panel{margin-inline:calc(-1 * max(20px, env(safe-area-inset-left)));padding:28px max(20px, env(safe-area-inset-right));border-left:0;border-right:0}.booking-public-page[data-theme] .booking-stage-rail{gap:8px;margin-bottom:28px;padding-bottom:18px}.booking-public-page[data-theme] .booking-stage-node{gap:5px;font-size:.66rem}.booking-public-page[data-theme] .booking-stage-node>span:first-child{font-size:.58rem}.booking-public-page[data-theme] .booking-panel-head h2{font-size:2rem}.booking-public-page[data-theme] .booking-flow-grid{grid-template-columns:1fr;gap:24px;padding-top:28px}.booking-public-page[data-theme] .booking-flow-grid[data-date-selected=false] .booking-times-section,.booking-public-page[data-theme] .booking-flow-grid[data-date-selected=true] .booking-calendar-section{display:none}.booking-public-page[data-theme] .booking-times-section{border-left:0;padding-left:0}.booking-public-page[data-theme] .booking-mobile-date-back{display:inline-flex}.booking-public-page[data-theme] .booking-slot-list{max-height:none;padding-right:0;overflow:visible}.booking-public-page[data-theme] .booking-slot-button,.booking-public-page[data-theme] .booking-chip,.booking-public-page[data-theme] .booking-primary-button,.booking-public-page[data-theme] .booking-calendar-head button,.booking-public-page[data-theme] .booking-day-button{min-height:48px}.booking-public-page[data-theme] .booking-weekdays,.booking-public-page[data-theme] .booking-days-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.booking-public-page[data-theme] .booking-day-button{aspect-ratio:auto}.booking-public-page[data-theme] .booking-empty-state{min-height:180px}.booking-public-page[data-theme] .booking-state-page{min-height:calc(100svh - 120px)}}@media (max-width:360px){.booking-public-page[data-theme] .booking-stage-node{gap:3px;display:grid}.booking-public-page[data-theme] .booking-slot-grid{grid-template-columns:1fr}}@media (hover:none){.booking-public-page[data-theme] .booking-chip:hover,.booking-public-page[data-theme] .booking-slot-button:hover,.booking-public-page[data-theme] .booking-calendar-head button:hover,.booking-public-page[data-theme] .booking-day-button:hover:not(:disabled){transform:none}}@media (prefers-reduced-motion:reduce){.booking-public-page[data-theme] *,.booking-public-page[data-theme] :before,.booking-public-page[data-theme] :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
