.stepper{display:flex;align-items:flex-start;justify-content:space-between;gap:0;width:100%;max-width:880px;margin:0 auto;position:relative}.stepper-item{display:flex;flex-direction:column;align-items:center;position:relative;flex:1;min-width:0}.stepper-line{position:absolute;top:16px;right:50%;width:100%;height:2px;background:var(--card-border-strong);z-index:0;overflow:hidden;transition:background .3s ease}.stepper-line.complete{background:var(--accent);box-shadow:0 0 8px color-mix(in srgb,var(--accent) 25%,transparent)}.stepper-line.complete:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--accent) 40%,transparent) 50%,transparent 100%);animation:stepper-line-shine 2.5s ease-in-out infinite}@keyframes stepper-line-shine{0%,to{transform:translate(-100%)}50%{transform:translate(100%)}}.stepper-dot{position:relative;width:32px;height:32px;border-radius:50%;border:1.5px solid var(--card-border-strong);background:var(--bg-elevated);color:var(--text-muted);font-size:.8125rem;font-weight:700;font-family:inherit;display:flex;align-items:center;justify-content:center;cursor:default;z-index:1;transition:border-color .3s ease,background .3s ease,color .3s ease,transform .2s ease}.stepper-dot:not(:disabled){cursor:pointer}.stepper-dot:not(:disabled):hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.stepper-dot.active{border-color:var(--accent);background:var(--accent);color:var(--accent-text);box-shadow:0 0 0 4px var(--bg-elevated),0 0 0 6px color-mix(in srgb,var(--accent) 25%,transparent),0 4px 14px color-mix(in srgb,var(--accent) 30%,transparent);animation:stepper-dot-breathe 2.6s ease-in-out infinite}@keyframes stepper-dot-breathe{0%,to{box-shadow:0 0 0 4px var(--bg-elevated),0 0 0 6px color-mix(in srgb,var(--accent) 22%,transparent),0 4px 14px color-mix(in srgb,var(--accent) 28%,transparent)}50%{box-shadow:0 0 0 4px var(--bg-elevated),0 0 0 8px color-mix(in srgb,var(--accent) 14%,transparent),0 6px 20px color-mix(in srgb,var(--accent) 34%,transparent)}}.stepper-dot.complete{border-color:var(--accent);background:var(--accent);color:var(--accent-text);box-shadow:0 2px 6px color-mix(in srgb,var(--accent) 20%,transparent)}.stepper-label{font-size:.75rem;font-weight:500;color:var(--text-muted);margin-top:10px;text-align:center;transition:color .3s ease;white-space:nowrap;letter-spacing:-.005em}.stepper-label.active{color:var(--text);font-weight:700}.stepper-sub{display:block;font-size:.625rem;font-weight:700;color:var(--accent);margin-top:2px;line-height:1;letter-spacing:.04em}@media(max-width:600px){.stepper-dot{width:28px;height:28px;font-size:.6875rem}.stepper-line{top:14px}.stepper-label{font-size:.6875rem;margin-top:6px}}.theme-toggle{position:relative;width:40px;height:40px;border-radius:10px;border:1px solid var(--card-border);background:var(--input-bg);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s ease;overflow:hidden;-webkit-tap-highlight-color:transparent}.theme-toggle:hover{border-color:var(--accent);background:var(--card-bg-hover)}.theme-toggle:active{transform:scale(.9)}.theme-icon{position:absolute;font-size:1.125rem;opacity:0;transform:scale(.5) rotate(-45deg);transition:all .3s cubic-bezier(.4,0,.2,1)}.theme-icon.visible{opacity:1;transform:scale(1) rotate(0)}.step-datetime{display:flex;flex-direction:column;gap:20px}.dt-summary{padding:14px 16px;border-radius:14px;border:1.5px solid var(--card-border);background:color-mix(in srgb,var(--card-bg) 70%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;flex-direction:column;gap:10px}.dt-summary-header{display:flex;align-items:center;gap:8px}.dt-summary-icon{font-size:1rem;line-height:1}.dt-summary-title{font-size:.88rem;font-weight:700;color:var(--text);letter-spacing:.01em}.dt-summary-guest{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--card-border) 20%,transparent);border:1px solid color-mix(in srgb,var(--card-border) 40%,transparent)}.dt-summary-guest-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}.dt-summary-services{display:flex;flex-direction:column;gap:3px}.dt-summary-svc{display:flex;align-items:center;justify-content:space-between;gap:8px}.dt-summary-svc-name{font-size:.84rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.dt-summary-svc-dur{font-size:.72rem;font-weight:500;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.dt-summary-staff{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--text-secondary, var(--text-muted))}.dt-summary-staff-icon{font-size:.85rem;line-height:1}.dt-summary-dur{font-size:.72rem;color:var(--text-muted);text-align:right}.dt-summary-footer{display:flex;align-items:center;justify-content:flex-end;padding-top:6px;border-top:1px solid color-mix(in srgb,var(--card-border) 50%,transparent);font-size:.78rem;color:var(--text-muted)}.dt-summary-footer strong{color:var(--text)}.dt-schedule{padding:14px 16px;border-radius:14px;border:1.5px solid color-mix(in srgb,var(--accent) 45%,var(--card-border));background:color-mix(in srgb,var(--accent) 8%,var(--card-bg));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;flex-direction:column;gap:10px;animation:dt-schedule-in .25s ease-out}@keyframes dt-schedule-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dt-schedule-header{display:flex;align-items:center;gap:8px}.dt-schedule-icon{font-size:1rem;line-height:1}.dt-schedule-title{font-size:.88rem;font-weight:700;color:var(--text);letter-spacing:.01em}.dt-schedule-range{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:8px;background:color-mix(in srgb,var(--accent) 14%,transparent);font-size:.95rem;font-weight:700;color:var(--text)}.dt-schedule-mode{font-size:.72rem;font-weight:500;color:var(--text-muted);text-transform:none;letter-spacing:0}.dt-schedule-rows{display:flex;flex-direction:column;gap:6px}.dt-schedule-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;background:color-mix(in srgb,var(--card-border) 20%,transparent);border:1px solid color-mix(in srgb,var(--card-border) 40%,transparent)}.dt-schedule-guest{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}.dt-schedule-times{font-size:.82rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dt-schedule-dur{font-size:.72rem;font-weight:500;color:var(--text-muted);white-space:nowrap}.dt-layout{display:flex;flex-direction:column;gap:20px}.dt-sidebar{display:flex;flex-direction:column;gap:14px;order:-1}.dt-main{display:flex;flex-direction:column;gap:20px;min-width:0}@media(min-width:768px){.dt-layout{display:grid;grid-template-columns:240px 1fr;gap:24px;align-items:start}.dt-sidebar{position:sticky;top:16px;order:0}}@media(min-width:1024px){.dt-layout{grid-template-columns:280px 1fr}}.dt-staff-panel{padding:14px 16px;border-radius:14px;border:1.5px solid var(--card-border);background:color-mix(in srgb,var(--card-bg) 70%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;flex-direction:column;gap:10px}.dt-staff-group{display:flex;flex-direction:column;gap:6px}.dt-staff-group-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding-bottom:2px}.dt-staff-group--on{color:#4ade80}.dt-staff-group--off{color:var(--text-muted);opacity:.7}.dt-staff-row{display:flex;align-items:center;gap:8px;padding:5px 0}.dt-staff-row--off{opacity:.45}.dt-staff-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:700;flex-shrink:0;overflow:hidden}.dt-staff-avatar--on{background:color-mix(in srgb,#4ade80 20%,var(--card-bg));color:#4ade80;border:1.5px solid color-mix(in srgb,#4ade80 40%,transparent)}.dt-staff-avatar--off{background:color-mix(in srgb,var(--card-border) 40%,transparent);color:var(--text-muted);border:1.5px solid var(--card-border)}.dt-staff-photo{width:100%;height:100%;object-fit:cover}.dt-staff-name{font-size:.78rem;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}.dt-staff-row--off .dt-staff-name{color:var(--text-muted)}.dt-staff-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.dt-staff-dot--on{background:#4ade80;box-shadow:0 0 6px #4ade8080}.dt-staff-dot--off{background:var(--text-muted);opacity:.4}.dt-staff-count{font-size:.68rem;font-weight:600;color:var(--text-muted);background:color-mix(in srgb,var(--card-border) 60%,transparent);padding:2px 7px;border-radius:999px;margin-left:auto}.cal{display:flex;flex-direction:column;gap:12px}.cal-selected-display{font-size:1.05rem;font-weight:600;color:var(--text);padding:10px 16px;background:var(--card-bg);border:1.5px solid var(--card-border);border-radius:12px}.cal-header{display:flex;align-items:center;justify-content:space-between;padding:0 2px}.cal-month-label{font-size:1.1rem;font-weight:700;color:var(--text)}.cal-nav{display:flex;gap:6px}.cal-nav-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1.5px solid var(--card-border);background:var(--card-bg);color:var(--text-muted);font-size:.7rem;font-family:inherit;cursor:pointer;transition:all .15s ease;-webkit-tap-highlight-color:transparent}.cal-nav-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.cal-nav-btn:disabled{opacity:.3;cursor:not-allowed}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-weekday{display:flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:600;color:var(--text-muted);padding:6px 0;-webkit-user-select:none;user-select:none}.cal-cell{display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:50%;border:none;background:none;color:var(--text);font-family:inherit;font-size:1rem;font-weight:500;cursor:pointer;transition:all .15s ease;-webkit-tap-highlight-color:transparent;position:relative}.cal-cell:hover:not(.cal-cell--disabled):not(.cal-cell--selected){background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.cal-cell--empty{cursor:default}.cal-cell--today{font-weight:700;color:var(--accent)}.cal-cell--today:after{content:"";position:absolute;bottom:4px;width:4px;height:4px;border-radius:50%;background:var(--accent)}.cal-cell--selected{background:var(--accent);color:var(--accent-text);font-weight:700;box-shadow:0 2px 12px color-mix(in srgb,var(--accent) 35%,transparent)}.cal-cell--selected:after{display:none}.cal-cell--disabled{opacity:.25;cursor:not-allowed}.cal-cell--closed{opacity:.3;cursor:not-allowed;text-decoration:line-through;text-decoration-color:var(--text-muted)}.slots-container{min-height:120px}.time-groups{display:flex;flex-direction:column;gap:20px}.time-group{display:flex;flex-direction:column;gap:10px}.time-group-header{display:flex;align-items:center;gap:8px;padding:0 2px}.time-group-icon{font-size:1.1rem;line-height:1}.time-group-label{font-size:.88rem;font-weight:700;color:var(--text);letter-spacing:.01em}.time-group-count{font-size:.68rem;font-weight:600;color:var(--text-muted);background:color-mix(in srgb,var(--card-border) 60%,transparent);padding:2px 7px;border-radius:999px}.slots-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.slot-btn{padding:11px 6px;border-radius:10px;border:1.5px solid var(--card-border);background:var(--card-bg);color:var(--text);font-family:inherit;font-size:.85rem;font-weight:500;cursor:pointer;transition:transform .12s cubic-bezier(.4,0,.2,1),border-color .18s ease,background .18s ease,box-shadow .18s ease;-webkit-tap-highlight-color:transparent;text-align:center;will-change:transform}.slot-btn:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--card-bg));transform:translateY(-1px);box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 12%,transparent)}.slot-btn:active:not(:disabled){transform:scale(.96);transition-duration:.08s}.slot-btn.selected{background:var(--accent);color:var(--accent-text);border-color:var(--accent);font-weight:600;box-shadow:0 4px 16px color-mix(in srgb,var(--accent) 35%,transparent),0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent);animation:slot-pick .32s cubic-bezier(.16,1,.3,1)}@keyframes slot-pick{0%{transform:scale(.96)}60%{transform:scale(1.04)}to{transform:scale(1)}}.slots-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px;text-align:center;color:var(--text-secondary);font-size:.875rem}.slots-empty span{font-size:2rem}.slots-error{border-color:#fb923c59}.slots-error span{font-size:1.75rem}.slots-error-hint{font-size:.8rem;opacity:.65;margin-top:4px}.slots-hours-hint{font-size:.78rem;font-weight:600;color:var(--accent);opacity:.8;margin-top:2px}.staff-blocker-list{width:100%;display:grid;gap:8px;margin-top:10px}.staff-blocker-item{width:100%;padding:10px 12px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--card-border));border-radius:12px;background:color-mix(in srgb,var(--card-bg) 92%,var(--accent) 8%);text-align:left}.staff-blocker-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:4px}.staff-blocker-heading strong{color:var(--text-primary);font-size:.88rem}.staff-blocker-heading span{color:var(--text-secondary);font-size:.76rem;font-weight:600;text-align:right}.staff-blocker-item p{margin:0;color:var(--text-secondary);font-size:.78rem;line-height:1.35}.staff-blocker-alternatives{margin-top:4px!important;color:var(--accent)!important;font-weight:700}.slots-loading{display:flex;flex-direction:column;align-items:center;gap:14px}.slots-spinner{width:28px;height:28px;border:3px solid var(--card-border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}.slots-loading-text{font-size:.8125rem;color:var(--text-secondary);opacity:.8}.slots-shimmer-groups{width:100%;display:flex;flex-direction:column;gap:16px}.time-group-shimmer{display:flex;flex-direction:column;gap:10px}.skeleton{background:var(--card-bg);border-radius:10px;animation:shimmer 1.4s ease-in-out infinite}.btn-retry{margin-top:4px;padding:8px 20px;border-radius:8px;border:1.5px solid var(--accent);background:transparent;color:var(--accent);font-family:inherit;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s ease;-webkit-tap-highlight-color:transparent}.btn-retry:hover{background:var(--accent);color:var(--accent-text)}@media(min-width:480px){.slots-grid{grid-template-columns:repeat(4,1fr)}}@media(min-width:768px){.slots-grid{grid-template-columns:repeat(5,1fr)}}@media(prefers-reduced-motion:reduce){.slots-spinner,.skeleton{animation:none!important}}.blocker-panel{padding:16px;text-align:left}.blocker-panel-header{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px}.blocker-panel-icon{font-size:1.15rem;line-height:1;flex-shrink:0;margin-top:1px}.blocker-panel-title{font-size:.82rem;font-weight:700;color:var(--text);margin:0;letter-spacing:.01em}.blocker-panel-subtitle{font-size:.72rem;color:var(--text-muted);margin:3px 0 0;line-height:1.4}.blocker-list{display:flex;flex-direction:column;gap:8px;width:100%}.blocker-card{padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--card-bg) 60%,transparent);border:1px solid color-mix(in srgb,var(--card-border) 60%,transparent)}.blocker-row{display:flex;align-items:center;gap:10px}.blocker-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;flex-shrink:0;letter-spacing:.02em}.blocker-avatar.unavailable{background:color-mix(in srgb,#ef4444 15%,transparent);color:#f87171;border:1.5px solid color-mix(in srgb,#ef4444 30%,transparent)}.blocker-details{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.blocker-staff-name{font-size:.78rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.blocker-service{font-size:.65rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.blocker-tag{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:3px 8px;border-radius:4px;background:color-mix(in srgb,#ef4444 12%,transparent);color:#f87171;white-space:nowrap;flex-shrink:0}.blocker-swap-section{margin-top:8px;padding-top:8px;border-top:1px solid color-mix(in srgb,var(--card-border) 30%,transparent)}.swap-label{font-size:.62rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;display:block;margin-bottom:6px}.swap-chips{display:flex;flex-wrap:wrap;gap:5px}.swap-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px 4px 4px;border-radius:18px;border:1px solid color-mix(in srgb,var(--accent) 25%,var(--card-border));background:color-mix(in srgb,var(--accent) 6%,transparent);cursor:pointer;transition:all .15s ease;font-family:inherit;font-size:.68rem;font-weight:500;color:var(--text);line-height:1;white-space:nowrap}.swap-chip:hover{background:color-mix(in srgb,var(--accent) 18%,transparent);border-color:var(--accent);transform:translateY(-1px);box-shadow:0 3px 10px color-mix(in srgb,var(--accent) 15%,transparent)}.swap-chip:active{transform:translateY(0);box-shadow:none}.swap-avatar{width:22px;height:22px;border-radius:50%;background:color-mix(in srgb,var(--accent) 20%,transparent);display:flex;align-items:center;justify-content:center;font-size:.55rem;font-weight:700;color:var(--accent);flex-shrink:0}.blocker-no-alt{font-size:.68rem;color:var(--text-muted);opacity:.7;margin:6px 0 0}.blocker-footer-hint{font-size:.7rem;color:var(--text-muted);opacity:.6;text-align:center;margin-top:12px}.dt-staff-swap-hint{font-size:.65rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.05em;opacity:.8;margin:0;padding:0 2px}.dt-staff-row--swappable{cursor:pointer;border-radius:8px;padding:5px 6px;transition:background .15s ease,transform .12s ease}.dt-staff-row--swappable:hover{background:color-mix(in srgb,var(--accent) 8%,transparent);transform:translate(2px)}.dt-staff-row--swappable:active{transform:translate(0)}.dt-staff-row--suggested{background:color-mix(in srgb,var(--accent) 6%,transparent);border:1px solid color-mix(in srgb,var(--accent) 20%,var(--card-border))}.dt-staff-row--suggested:hover{background:color-mix(in srgb,var(--accent) 14%,transparent)}.dt-staff-swap-badge{font-size:.58rem;font-weight:700;color:#4ade80;background:color-mix(in srgb,#4ade80 12%,transparent);border:1px solid color-mix(in srgb,#4ade80 25%,transparent);padding:2px 6px;border-radius:999px;white-space:nowrap;flex-shrink:0}.sidebar{display:flex;flex-direction:column;gap:12px;animation:fadeInUp .5s .1s cubic-bezier(.16,1,.3,1) both}.sidebar-salon{position:relative;background:linear-gradient(160deg,#131e30,#0b131f);color:#faf5ea;border-radius:18px;padding:20px 22px;overflow:hidden;box-shadow:0 10px 28px #0f192926}[data-theme=dark] .sidebar-salon{background:linear-gradient(160deg,#1e2740,#141b2b);box-shadow:0 10px 28px #0006}.sidebar-salon:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.04) 45%,rgba(255,255,255,.08) 50%,rgba(255,255,255,.04) 55%,transparent 100%);transform:translate(-100%);animation:salon-sheen 6s ease-in-out infinite;pointer-events:none}@keyframes salon-sheen{0%,to{transform:translate(-100%)}60%{transform:translate(100%)}}.sidebar-chips{display:flex;gap:7px;margin-bottom:16px;position:relative;z-index:1}.chip{width:18px;height:18px;border-radius:5px;display:block;animation:chip-float 3.6s ease-in-out infinite;box-shadow:0 1px 3px #00000026}.chip-1{background:var(--chip-coral);animation-delay:0s}.chip-2{background:var(--chip-gold);animation-delay:.4s}.chip-3{background:var(--chip-sage);animation-delay:.8s}@keyframes chip-float{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-2px) scale(1.04)}}.sidebar-salon-label{font-size:.6875rem;font-weight:600;color:#faf5ea8c;letter-spacing:.08em;text-transform:uppercase;position:relative;z-index:1;margin-bottom:4px}.sidebar-salon-name{font-size:1.25rem;font-weight:700;letter-spacing:-.01em;position:relative;z-index:1;line-height:1.2}.sidebar-card{background:var(--bg-elevated);border:1px solid var(--card-border);border-radius:18px;padding:20px 22px;box-shadow:var(--shadow-xs)}.sidebar-card-title{font-size:.6875rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em;margin-bottom:14px}.sidebar-checklist{list-style:none;display:flex;flex-direction:column;gap:4px}.sl-row{display:flex;align-items:flex-start;gap:12px;border-bottom:1px dashed var(--card-border);transition:background .2s ease,transform .2s ease;border-radius:8px;margin:0 -8px;padding:10px 8px}.sl-row:last-child{border-bottom:none}.sl-row.complete{cursor:pointer}.sl-row.complete:hover{background:var(--accent-soft);transform:translate(2px)}.sl-num{flex-shrink:0;width:26px;height:26px;border-radius:50%;border:1.5px dashed var(--card-border-strong);background:transparent;color:var(--text-muted);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;transition:all .25s ease;margin-top:1px}.sl-row.active .sl-num{border:2px solid var(--accent);background:var(--accent);color:var(--accent-text);border-style:solid;box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 14%,transparent);animation:sl-num-pop .4s cubic-bezier(.34,1.56,.64,1),sl-num-pulse 2.4s .5s cubic-bezier(.4,0,.6,1) infinite}@keyframes sl-num-pulse{0%,to{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 14%,transparent)}50%{box-shadow:0 0 0 7px color-mix(in srgb,var(--accent) 6%,transparent)}}.sl-row.complete .sl-num{border:2px solid var(--accent);background:var(--bg-elevated);color:var(--accent);border-style:solid}.sl-row.complete .sl-num svg{animation:sl-check-draw .45s cubic-bezier(.16,1,.3,1) both}@keyframes sl-num-pop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@keyframes sl-check-draw{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}.sl-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.sl-label{font-size:.9375rem;font-weight:500;color:var(--text-secondary);line-height:1.3}.sl-row.active .sl-label,.sl-row.complete .sl-label{color:var(--text);font-weight:600}.sl-value{font-size:.75rem;color:var(--text-muted);line-height:1.35;animation:fadeIn .3s ease both}.sidebar-hold{display:flex;align-items:flex-start;gap:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent, #f59e0b) 12%,var(--bg-elevated)) 0%,var(--bg-elevated) 100%);border-color:color-mix(in srgb,var(--accent, #f59e0b) 30%,var(--card-border));padding:14px 16px}.sidebar-hold .sh-icon{flex-shrink:0;width:30px;height:30px;border-radius:10px;background:color-mix(in srgb,var(--accent, #f59e0b) 18%,transparent);color:var(--accent, #d97706);display:flex;align-items:center;justify-content:center;font-size:16px}.sidebar-hold .sh-title{font-size:.875rem;font-weight:700;color:var(--text);line-height:1.2;margin-bottom:2px}.sidebar-hold .sh-sub{font-size:.75rem;color:var(--text-secondary);line-height:1.35}.sidebar-hold .sh-sub strong{color:var(--text);font-variant-numeric:tabular-nums}.sidebar-cancel{display:flex;align-items:flex-start;gap:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--success) 8%,var(--bg-elevated)) 0%,var(--bg-elevated) 100%);border-color:color-mix(in srgb,var(--success) 20%,var(--card-border));padding:18px 20px}.sc-icon{flex-shrink:0;width:34px;height:34px;border-radius:10px;background:color-mix(in srgb,var(--success) 14%,transparent);color:var(--success);display:flex;align-items:center;justify-content:center}.sc-title{font-size:.9375rem;font-weight:700;color:var(--text);line-height:1.2;margin-bottom:3px}.sc-sub{font-size:.75rem;color:var(--text-secondary);line-height:1.35}.step-guest{display:flex;flex-direction:column;gap:20px}.gc-section{padding-bottom:24px}.gc-section+.gc-section{padding-top:24px;border-top:1px solid var(--card-border)}.gc-section:last-child{padding-bottom:0}.gc-title{font-size:1.5rem;font-weight:700;color:var(--text);letter-spacing:-.02em;text-align:center;margin-bottom:6px;line-height:1.15}.gc-subtitle{font-size:.875rem;color:var(--text-secondary);text-align:center;margin-bottom:22px}.gc-tiles{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;max-width:560px;margin:0 auto}.gc-tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;aspect-ratio:1 / 1;max-width:104px;margin:0 auto;width:100%;background:var(--bg-elevated);border:1.5px solid var(--card-border-strong);border-radius:14px;cursor:pointer;font-family:inherit;color:var(--text);transition:transform .2s cubic-bezier(.34,1.56,.64,1),background .2s ease,border-color .2s ease,box-shadow .25s ease;-webkit-tap-highlight-color:transparent;overflow:hidden}.gc-tile:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(145deg,var(--accent-soft),transparent 70%);opacity:0;transition:opacity .25s ease;pointer-events:none}.gc-tile:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 20px #0f192914}.gc-tile:hover:before{opacity:1}.gc-tile:active{transform:scale(.96)}.gc-tile.selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent),0 8px 24px color-mix(in srgb,var(--accent) 14%,transparent)}.gc-tile.selected:before{opacity:1}.gc-tile-num{font-size:1.5rem;font-weight:700;line-height:1;letter-spacing:-.02em;position:relative;z-index:1}.gc-tile-label{font-size:.6875rem;color:var(--text-secondary);font-weight:500;position:relative;z-index:1;letter-spacing:.01em}.gc-tile.selected .gc-tile-label{color:var(--accent);font-weight:600}.gc-custom{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:18px}.gc-custom-label{font-size:.8125rem;color:var(--text-secondary);font-weight:500}.gc-custom-wrap{display:flex;align-items:center;gap:0;border-radius:14px;border:1.5px solid var(--accent);background:var(--bg-elevated);overflow:hidden;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.gc-custom-step{display:flex;align-items:center;justify-content:center;width:48px;height:52px;border:none;background:transparent;color:var(--accent);font-size:1.375rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s ease}.gc-custom-step:hover{background:var(--accent-soft)}.gc-custom-step:active{background:color-mix(in srgb,var(--accent) 15%,transparent)}.gc-custom-step:disabled{opacity:.35;cursor:not-allowed}.gc-custom-step:disabled:hover{background:transparent}.gc-custom-input{width:64px;height:52px;border:none;border-left:1px solid var(--card-border);border-right:1px solid var(--card-border);background:transparent;color:var(--text);font-size:1.5rem;font-weight:700;font-family:inherit;text-align:center;outline:none;-moz-appearance:textfield}.gc-custom-input::-webkit-inner-spin-button,.gc-custom-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.gc-custom-input::placeholder{color:var(--text-muted);opacity:.5}.gc-mode-section{animation-delay:.06s}.gc-mode-label{font-size:.6875rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.14em;text-align:center;margin-bottom:16px}.gc-modes{display:grid;grid-template-columns:1fr 1fr;gap:12px}.gc-mode{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;padding:22px 18px;background:var(--bg-elevated);border:1.5px solid var(--card-border-strong);border-radius:14px;cursor:pointer;font-family:inherit;color:var(--text);text-align:center;transition:transform .2s cubic-bezier(.4,0,.2,1),background .2s ease,border-color .2s ease,box-shadow .25s ease;-webkit-tap-highlight-color:transparent}.gc-mode:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 12px 28px #0f19291a}.gc-mode:active{transform:scale(.98)}.gc-mode.selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent),0 10px 30px color-mix(in srgb,var(--accent) 16%,transparent)}.gc-mode-icon{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;flex-shrink:0;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.gc-mode-icon svg{width:22px;height:22px}.icon-coral{background:color-mix(in srgb,var(--chip-coral) 15%,transparent);color:var(--chip-coral)}.icon-blue{background:color-mix(in srgb,#6B9AE8 15%,transparent);color:#6b9ae8}.gc-mode.selected .gc-mode-icon{transform:scale(1.04);transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.gc-mode-name{font-size:1rem;font-weight:700;color:var(--text);letter-spacing:-.01em;line-height:1.2}.gc-mode.selected .gc-mode-name{color:var(--accent)}.gc-mode-desc{font-size:.75rem;color:var(--text-secondary);line-height:1.4;max-width:28ch}.gc-mode-check{position:absolute;top:14px;right:14px;width:24px;height:24px;border-radius:50%;background:var(--accent);color:var(--accent-text);display:flex;align-items:center;justify-content:center;animation:check-pop .35s cubic-bezier(.34,1.56,.64,1)}@keyframes check-pop{0%{transform:scale(0);opacity:0}70%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}.gc-warning{display:flex;align-items:flex-start;gap:12px;padding:14px 18px;font-size:.875rem;color:var(--text-secondary);line-height:1.5;border:1px solid color-mix(in srgb,var(--warning) 40%,transparent);background:color-mix(in srgb,var(--warning) 6%,var(--bg-elevated));border-radius:14px;margin-top:18px}.gc-warning strong{color:var(--accent)}.gc-warning-icon{font-size:1.125rem;flex-shrink:0;line-height:1.4}@media(max-width:640px){.gc-title{font-size:1.25rem}.gc-subtitle{font-size:.8125rem;margin-bottom:14px}.gc-section{padding-bottom:16px}.gc-section+.gc-section{padding-top:16px}.gc-tiles{grid-template-columns:repeat(5,1fr);gap:7px}.gc-tile{border-radius:12px}.gc-tile-num{font-size:1.25rem}.gc-tile-label{font-size:.5625rem;letter-spacing:.03em;text-transform:uppercase}.gc-modes{grid-template-columns:1fr 1fr;gap:8px}.gc-mode{min-height:unset;padding:14px 10px;gap:6px}.gc-mode-icon{width:36px;height:36px;border-radius:10px}.gc-mode-icon svg{width:18px;height:18px}.gc-mode-name{font-size:.8125rem}.gc-mode-desc{font-size:.6875rem;max-width:16ch}.gc-mode-label{margin-bottom:10px}}.step-services{display:flex;flex-direction:column;gap:14px}.step-header{display:flex;flex-direction:column;gap:4px}.step-title{font-size:1.65rem;font-weight:800;color:var(--text);margin:0;letter-spacing:-.02em}.step-subtitle{font-size:.95rem;color:var(--text-muted);margin:0}.cat-tabs-outer{display:flex;align-items:center;gap:4px}.cat-tabs-arrow{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1.5px solid var(--card-border);border-radius:50%;background:var(--card-bg);color:var(--text-muted);font-size:1.1rem;cursor:pointer;flex-shrink:0;transition:all .15s ease;-webkit-tap-highlight-color:transparent;padding:0;line-height:1}.cat-tabs-arrow:hover{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--card-bg))}.cat-tabs-arrow:active{transform:scale(.9)}.cat-tabs-wrap{flex:1;min-width:0;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none}.cat-tabs-wrap::-webkit-scrollbar{display:none}.cat-tabs{display:flex;gap:6px;padding:4px 2px 8px;width:max-content}.cat-tab{display:flex;align-items:center;justify-content:center;gap:5px;padding:8px 16px;border:1.5px solid var(--card-border);border-radius:999px;background:var(--card-bg);cursor:pointer;font-family:inherit;font-size:.88rem;font-weight:600;color:var(--text-muted);white-space:nowrap;flex-shrink:0;min-width:110px;min-height:38px;transition:all .2s ease;-webkit-tap-highlight-color:transparent}.cat-tab:hover{border-color:color-mix(in srgb,var(--accent) 50%,transparent);color:var(--text);background:color-mix(in srgb,var(--accent) 6%,var(--card-bg))}.cat-tab--active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 4px 14px color-mix(in srgb,var(--accent) 35%,transparent),0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent);animation:cat-tab-pop .32s cubic-bezier(.34,1.56,.64,1)}@keyframes cat-tab-pop{0%{transform:scale(.96)}60%{transform:scale(1.04)}to{transform:scale(1)}}.cat-tab--active:hover{background:color-mix(in srgb,var(--accent) 85%,#000);border-color:color-mix(in srgb,var(--accent) 85%,#000);color:#fff}.cat-tab--extras{border-style:dashed}.cat-tab--extras.cat-tab--active{border-style:solid}.cat-tab-label{line-height:1.2}.cat-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:#fff;color:var(--accent);font-size:.7rem;font-weight:800;border-radius:999px;flex-shrink:0}.cat-tab--active .cat-tab-badge{background:#ffffff40;color:#fff}.svc-tab-content{display:flex;flex-direction:column;gap:0;background:var(--card-bg);border:1.5px solid var(--card-border);border-radius:14px;overflow:hidden;min-height:100px}.svc-search-results{max-height:380px;overflow-y:auto;scrollbar-width:thin}.svc-empty{font-size:.85rem;color:var(--text-muted);text-align:center;padding:28px 16px;margin:0}.svc-row-wrap+.svc-row-wrap{border-top:1px solid color-mix(in srgb,var(--card-border) 50%,transparent)}.svc-row{display:flex;align-items:center;gap:12px;min-height:56px;padding:14px 18px;cursor:pointer;transition:background .15s ease;outline:none}.svc-row:hover{background:color-mix(in srgb,var(--accent) 5%,transparent)}.svc-row:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}.svc-row--selected{background:color-mix(in srgb,var(--accent) 8%,transparent)}.svc-row--addon .svc-row-name{color:var(--text-secondary, var(--text-muted));font-size:.95rem}.svc-row-body{flex:1;display:flex;flex-direction:column;gap:5px;min-width:0}.svc-row-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.svc-row-name{font-size:.95rem;font-weight:600;color:var(--text);white-space:normal;word-break:break-word;line-height:1.35}.svc-row-price{font-size:.9rem;font-weight:700;color:var(--accent);white-space:nowrap;flex-shrink:0}.svc-row-meta{display:flex;align-items:center;gap:10px}.svc-row-duration{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;font-weight:500;color:var(--text-muted);letter-spacing:.01em}.svc-clock-icon{width:13px;height:13px;color:var(--text-muted);flex-shrink:0}.svc-row-cat{font-size:.7rem;color:var(--text-muted);line-height:1.2}.svc-add-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--card-border);background:none;cursor:pointer;font-size:.95rem;font-weight:700;color:var(--text-muted);flex-shrink:0;touch-action:manipulation;transition:all .18s ease;-webkit-tap-highlight-color:transparent;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;will-change:background,color,border-color}.svc-add-btn:hover{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.svc-add-btn--selected{background:var(--accent);border-color:var(--accent);color:#fff;animation:svc-add-pop .36s cubic-bezier(.34,1.56,.64,1);box-shadow:0 4px 14px color-mix(in srgb,var(--accent) 30%,transparent)}.svc-add-btn--selected:hover{background:color-mix(in srgb,var(--accent) 80%,#000);border-color:color-mix(in srgb,var(--accent) 80%,#000);color:#fff}@keyframes svc-add-pop{0%{transform:scale(1) rotate(0)}35%{transform:scale(.7) rotate(-12deg)}60%{transform:scale(1.18) rotate(8deg)}to{transform:scale(1) rotate(0)}}.svc-row-wrap--unavailable{opacity:.55;filter:saturate(.3);transition:opacity .2s ease,filter .2s ease}.svc-row-wrap--unavailable:hover{opacity:.7;filter:saturate(.5)}.svc-row--unavailable{cursor:not-allowed}.svc-row--unavailable:hover{background:transparent}.svc-row-unavailable-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px 2px 5px;border-radius:20px;background:color-mix(in srgb,#f59e0b 12%,transparent);border:1px solid color-mix(in srgb,#f59e0b 25%,transparent);color:#f59e0b;font-size:.68rem;font-weight:600;letter-spacing:.02em;white-space:nowrap;line-height:1}.svc-unavail-icon{width:11px;height:11px;flex-shrink:0}.svc-add-btn--disabled{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--card-border) 60%,transparent);background:none;color:var(--text-muted);flex-shrink:0;cursor:not-allowed;opacity:.5}.addon-inline{padding:0 14px 12px;position:relative}.addon-inline:before{content:"";position:absolute;top:0;left:14px;right:14px;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 22%,transparent) 18%,color-mix(in srgb,var(--accent) 22%,transparent) 82%,transparent)}.addon-toggle{display:inline-flex;align-items:center;gap:8px;padding:7px 14px 7px 11px;margin-top:10px;border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:999px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 8%,var(--bg-elevated)),color-mix(in srgb,var(--accent) 4%,var(--bg-elevated)));cursor:pointer;font-family:inherit;font-size:.75rem;font-weight:600;letter-spacing:.01em;color:var(--accent);transition:transform .15s cubic-bezier(.34,1.56,.64,1),border-color .18s ease,background .18s ease,box-shadow .18s ease;-webkit-tap-highlight-color:transparent;box-shadow:0 1px 2px color-mix(in srgb,var(--accent) 12%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--accent) 6%,transparent)}.addon-toggle:hover{border-color:var(--accent);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 14%,var(--bg-elevated)),color-mix(in srgb,var(--accent) 8%,var(--bg-elevated)));box-shadow:0 3px 10px color-mix(in srgb,var(--accent) 18%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--accent) 10%,transparent);transform:translateY(-1px)}.addon-toggle:active{transform:scale(.97)}.addon-toggle:before{content:"+";display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:999px;background:var(--accent);color:var(--accent-text, #fff);font-size:.6875rem;font-weight:800;line-height:1;flex-shrink:0}.addon-toggle-label{display:inline-flex;align-items:center;gap:6px}.addon-toggle-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 5px;border-radius:999px;background:var(--accent);color:var(--accent-text, #fff);font-size:.5625rem;font-weight:800;letter-spacing:.02em}.addon-toggle-chevron{font-size:.875rem;line-height:1;transition:transform .25s cubic-bezier(.4,0,.2,1);display:inline-block;opacity:.7}.addon-toggle-chevron.open{transform:rotate(90deg);opacity:1}.addon-list{display:flex;flex-direction:column;margin-top:10px;border:1px solid color-mix(in srgb,var(--accent) 12%,var(--card-border));border-radius:14px;overflow:hidden;background:var(--bg-elevated);box-shadow:0 4px 14px color-mix(in srgb,var(--accent) 8%,transparent),0 1px 2px #0f19290a}.addon-item{display:flex;align-items:center;gap:12px;padding:11px 14px;cursor:pointer;transition:background .15s ease;-webkit-tap-highlight-color:transparent;-webkit-transform:translateZ(0);transform:translateZ(0)}.addon-item+.addon-item{border-top:1px solid color-mix(in srgb,var(--card-border) 60%,transparent)}.addon-item:hover{background:color-mix(in srgb,var(--accent) 5%,transparent)}.addon-item--selected{background:color-mix(in srgb,var(--accent) 9%,transparent)}.addon-item--selected+.addon-item--selected,.addon-item--selected+.addon-item{border-top-color:color-mix(in srgb,var(--accent) 18%,transparent)}.addon-check{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;border:1.5px solid color-mix(in srgb,var(--card-border-strong) 80%,transparent);font-size:.6875rem;font-weight:800;color:transparent;flex-shrink:0;transition:all .18s cubic-bezier(.34,1.56,.64,1);-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;will-change:background,color,border-color,transform}.addon-item:hover .addon-check{border-color:var(--accent)}.addon-check--on{background:var(--accent);border-color:var(--accent);color:var(--accent-text, #fff);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent);transform:scale(1.05)}.addon-item-name{flex:1;font-size:.8125rem;font-weight:500;color:var(--text);letter-spacing:.005em}.addon-item--selected .addon-item-name{font-weight:600;color:var(--text)}.addon-item-price{font-size:.78125rem;font-weight:700;color:var(--text-secondary);white-space:nowrap;font-variant-numeric:tabular-nums}.addon-item--selected .addon-item-price{color:var(--accent)}@media(max-width:540px){.addon-inline{padding:0 12px 10px}.addon-inline:before{left:12px;right:12px}.addon-toggle{font-size:.7188rem;padding:6px 12px 6px 10px}.addon-toggle:before{width:15px;height:15px;font-size:.625rem}.addon-item{padding:10px 12px}.addon-item-name{font-size:.78125rem}}.cart-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;background:#0000;pointer-events:none;transition:background .35s ease;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}.cart-backdrop--open{background:#00000073;pointer-events:auto;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.cart-sheet{position:relative;width:100%;max-height:60vh;display:flex;flex-direction:column;background:var(--card-bg);border-radius:20px 20px 0 0;box-shadow:0 -8px 40px #0003;transform:translateY(100%);transition:transform .35s cubic-bezier(.32,.72,0,1);pointer-events:auto;will-change:transform}.cart-sheet--open{transform:translateY(0)}.cart-handle{display:flex;align-items:center;justify-content:center;padding:12px 0 4px;cursor:pointer;-webkit-tap-highlight-color:transparent}.cart-handle-bar{width:36px;height:4px;border-radius:999px;background:color-mix(in srgb,var(--text-muted) 30%,transparent);transition:background .15s ease}.cart-handle:hover .cart-handle-bar{background:color-mix(in srgb,var(--text-muted) 50%,transparent)}.cart-header{display:flex;align-items:center;justify-content:space-between;padding:8px 20px 12px;border-bottom:1px solid var(--card-border)}.cart-title{font-size:.9rem;font-weight:700;color:var(--text)}.cart-header-count{font-size:.75rem;font-weight:600;color:var(--text-muted)}.cart-list{flex:1;overflow-y:auto;scrollbar-width:thin;overscroll-behavior:contain}.cart-empty{font-size:.85rem;color:var(--text-muted);text-align:center;padding:28px 16px;margin:0}.cart-item{display:flex;align-items:center;gap:12px;padding:12px 20px;transition:background .12s ease}.cart-item+.cart-item{border-top:1px solid color-mix(in srgb,var(--card-border) 50%,transparent)}.cart-item:hover{background:color-mix(in srgb,var(--accent) 4%,transparent)}.cart-item-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.cart-item-name{font-size:.95rem;font-weight:500;color:var(--text);line-height:1.3}.cart-item-meta{font-size:.82rem;font-weight:600;color:var(--accent)}.cart-item-remove{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1.5px solid color-mix(in srgb,var(--text-muted) 20%,transparent);border-radius:9px;background:none;color:var(--text-muted);cursor:pointer;flex-shrink:0;transition:all .15s ease;-webkit-tap-highlight-color:transparent}.cart-item-remove:hover{background:color-mix(in srgb,var(--error, #e55) 10%,transparent);border-color:var(--error, #e55);color:var(--error, #e55)}.cart-item-remove:active{transform:scale(.9)}.cart-total{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-top:1.5px solid var(--card-border);font-size:.95rem;font-weight:700;color:var(--text)}.cart-total-price{color:var(--accent);font-size:1rem;font-weight:800}.selection-summary{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;background:var(--accent);border-radius:12px;position:sticky;bottom:calc(72px + env(safe-area-inset-bottom,0px));box-shadow:0 4px 20px color-mix(in srgb,var(--accent) 40%,transparent);animation:summary-in .2s ease;cursor:pointer;z-index:10;-webkit-tap-highlight-color:transparent;transition:opacity .15s ease,transform .15s ease}.selection-summary:hover{opacity:.92}.selection-summary:active{transform:scale(.98)}@keyframes summary-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.sel-count{display:flex;align-items:center;gap:6px;font-size:.875rem;font-weight:700;color:#fff}.sel-cart-icon{display:flex;align-items:center}.sel-chevron{font-size:.6rem;opacity:.7;transition:transform .2s ease}.sel-price{font-size:1rem;font-weight:800;color:#fff}.cat-tabs-shimmer{display:flex;gap:6px;padding:4px 0;overflow:hidden}.tab-skeleton{width:90px;height:34px;border-radius:999px;flex-shrink:0}.skeleton{background:var(--card-bg);border-radius:12px;animation:shimmer 1.4s ease-in-out infinite}@keyframes shimmer{0%,to{opacity:.4}50%{opacity:.9}}.animate-in{animation:fade-up .2s ease}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.svc-tab-content,.selection-summary,.cart-sheet,.cart-backdrop,.animate-in{animation:none!important;transition:none!important}}@media(min-width:640px){.cat-tab{padding:8px 16px;font-size:.82rem}.svc-row{padding:16px 22px}.svc-search-input{height:46px;font-size:.9rem}.cart-sheet{max-width:420px}.cart-item{padding:14px 24px}}[data-theme=light] .svc-row--addon .svc-row-name{color:var(--text-secondary)}[data-theme=light] .cat-tab-badge{background:var(--accent);color:#fff}[data-theme=light] .cat-tab--active .cat-tab-badge{background:#ffffff4d;color:#fff}[data-theme=light] .svc-search-input{background:var(--surface, #f5f5f5)}[data-theme=light] .cart-sheet{box-shadow:0 -8px 40px #0000001a}[data-theme=light] .cart-backdrop--open{background:#0000004d}.step-staff{display:flex;flex-direction:column;gap:16px;min-height:0;padding-bottom:8px;touch-action:pan-x pan-y pinch-zoom}.staff-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.staff-date-control{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;align-self:center;margin-top:14px;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--card-bg) 88%,var(--accent) 12%);box-shadow:0 10px 26px #0000002e;width:min(100%,460px);max-width:100%}.staff-date-copy{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;white-space:nowrap}.staff-date-label{font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.staff-date-value{font-size:1rem;font-weight:700;color:var(--accent);line-height:1.25}.staff-date-picker{display:flex;flex-direction:column;gap:4px;flex-shrink:0}.staff-date-picker-label{font-size:.6875rem;font-weight:600;color:var(--text-secondary);text-align:left}.staff-date-input{color-scheme:light;width:156px;height:40px;padding:0 10px;border:1px solid var(--border);border-radius:10px;background:var(--input-bg);color:var(--text);font:inherit;font-size:.875rem;font-weight:700}[data-theme=dark] .staff-date-input{color-scheme:dark}.staff-date-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.75}[data-theme=dark] .staff-date-input::-webkit-calendar-picker-indicator{filter:invert(1);opacity:.85}.staff-date-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}@media(max-width:480px){.staff-date-control{width:100%;align-items:stretch;flex-direction:column;gap:12px}.staff-date-input,.staff-date-picker{width:100%}}.staff-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:18px 12px;text-align:center;font-family:inherit;min-height:130px;box-sizing:border-box}.staff-picker.grid .staff-card.no-pref{flex-direction:row;text-align:left;padding:14px 18px;grid-column:1 / -1;min-height:auto;justify-content:flex-start}.no-pref-avatar{background:var(--input-bg);font-size:1.25rem}.staff-avatar-wrap{position:relative}.staff-info{display:flex;flex-direction:column;gap:3px}.staff-name{font-size:.875rem;font-weight:600;color:var(--text)}.staff-tag{font-size:.6875rem;color:var(--text-secondary);padding:2px 8px;border-radius:6px;background:var(--input-bg);display:inline-block}.staff-card.selected .staff-tag{background:var(--accent-glow);color:var(--accent)}.staff-card.taken{opacity:.45;cursor:not-allowed;filter:grayscale(.6);border-style:dashed}.staff-card.taken:hover{transform:none;border-color:var(--card-border);background:var(--card-bg);box-shadow:none}.staff-card .staff-tag.taken-tag{background:color-mix(in srgb,var(--warning) 18%,transparent);color:var(--warning);font-weight:600;letter-spacing:.01em}@media(min-width:768px){.staff-grid{grid-template-columns:repeat(3,1fr)}}.staff-picker.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}@media(min-width:480px){.staff-picker.grid{grid-template-columns:repeat(3,1fr)}}.avatar-photo{object-fit:cover;border-radius:50%;width:100%;height:100%}.staff-mode-list{display:flex;flex-direction:column;gap:12px;touch-action:pan-x pan-y pinch-zoom}.staff-mode-card{display:flex;align-items:center;gap:16px;padding:18px 20px;background:var(--card-bg);border:1.5px solid var(--border);border-radius:16px;cursor:pointer;text-align:left;width:100%;font-family:inherit;transition:border-color .2s,background .2s,box-shadow .2s}.staff-mode-card:hover{border-color:var(--accent);background:var(--input-bg)}.staff-mode-card.selected{border-color:var(--accent);background:var(--accent-glow);box-shadow:0 0 0 3px var(--accent-glow)}.staff-mode-card.disabled,.staff-mode-card[disabled]{opacity:.55;cursor:not-allowed;background:var(--card-bg)}.staff-mode-card.disabled:hover,.staff-mode-card[disabled]:hover{border-color:var(--border);background:var(--card-bg)}.staff-mode-card.disabled .mode-desc,.staff-mode-card[disabled] .mode-desc{color:var(--text);font-weight:500}.mode-icon{font-size:1.75rem;flex-shrink:0;width:44px;text-align:center}.mode-body{flex:1;display:flex;flex-direction:column;gap:4px}.mode-label{font-size:.9375rem;font-weight:600;color:var(--text)}.mode-desc{font-size:.8125rem;color:var(--text-secondary);line-height:1.4}.mode-radio{flex-shrink:0;width:22px;height:22px;border:2px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:border-color .2s}.staff-mode-card.selected .mode-radio{border-color:var(--accent)}.radio-dot{width:10px;height:10px;border-radius:50%;background:transparent;transition:background .2s}.radio-dot.active{background:var(--accent)}.per-service-list{display:flex;flex-direction:column;gap:20px;touch-action:pan-x pan-y pinch-zoom}.per-service-row{display:flex;flex-direction:column;gap:10px}.per-service-header{display:flex;align-items:center;justify-content:space-between;padding:0 4px}.per-service-name{font-size:.875rem;font-weight:600;color:var(--text)}.per-service-selected{font-size:.75rem;color:var(--accent);font-weight:500}.staff-picker-scroll-wrap{position:relative;touch-action:pan-x pan-y pinch-zoom}.staff-picker-scroll-wrap:before,.staff-picker-scroll-wrap:after{content:"";position:absolute;top:0;bottom:6px;width:32px;z-index:2;pointer-events:none;opacity:0;transition:opacity .25s ease}.staff-picker-scroll-wrap:before{left:0;background:linear-gradient(to right,var(--bg),transparent)}.staff-picker-scroll-wrap:after{right:0;background:linear-gradient(to left,var(--bg),transparent)}.staff-picker-scroll-wrap[data-scroll-left=true]:before{opacity:1}.staff-picker-scroll-wrap[data-scroll-right=true]:after{opacity:1}.scroll-arrow{position:absolute;top:50%;transform:translateY(calc(-50% - 3px));z-index:3;width:28px;height:28px;border-radius:50%;border:1px solid var(--border);background:var(--card-bg);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.75rem;transition:opacity .2s,background .2s;opacity:0;pointer-events:none}.scroll-arrow:hover{background:var(--input-bg);color:var(--text)}.scroll-arrow.left{left:4px}.scroll-arrow.right{right:4px}.staff-picker-scroll-wrap[data-scroll-left=true] .scroll-arrow.left,.staff-picker-scroll-wrap[data-scroll-right=true] .scroll-arrow.right{opacity:1;pointer-events:auto}.staff-picker.compact{display:flex;flex-direction:row;overflow-x:auto;overflow-y:hidden;gap:10px;padding-bottom:6px;scrollbar-width:thin;scrollbar-color:var(--border) transparent;scroll-behavior:smooth;cursor:grab;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x pan-y pinch-zoom}.staff-picker.compact.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.staff-picker.compact.is-dragging .staff-card{pointer-events:none}.staff-picker.compact::-webkit-scrollbar{height:4px}.staff-picker.compact::-webkit-scrollbar-track{background:transparent}.staff-picker.compact::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.staff-picker.compact .staff-card{min-width:100px;width:100px;flex-shrink:0;padding:14px 10px;font-size:.75rem;min-height:110px;box-sizing:border-box;touch-action:manipulation}.staff-picker.compact .staff-card.no-pref{min-width:110px;width:110px;flex-direction:column;text-align:center;min-height:110px}.staff-picker.compact .staff-name{font-size:.75rem}@media(hover:none)and (pointer:coarse){.step-staff{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}.staff-mode-card{min-height:88px}.scroll-arrow{display:none}.staff-picker.compact{cursor:auto;padding:2px 2px 10px}}.step-contact{display:flex;flex-direction:column;gap:20px}.contact-form{display:flex;flex-direction:column;gap:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-group{display:flex;flex-direction:column;gap:4px}.notes-field{resize:vertical;min-height:80px;line-height:1.5}.input-error{border-color:#ef4444!important;box-shadow:0 0 0 2px #ef444433!important}.input-valid{border-color:#22c55e!important;box-shadow:0 0 0 2px #22c55e1f!important}.field-error{font-size:.75rem;font-weight:500;color:#f87171;margin:0;line-height:1.4;animation:errorSlide .18s ease-out}.field-success{font-size:.75rem;font-weight:500;color:#4ade80;margin:0;line-height:1.4}.field-hint{font-size:.7rem;font-weight:400;color:var(--text-muted, #9ca3af);margin:0;line-height:1.4;opacity:.7}@keyframes errorSlide{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.guest-extra-card{border-top:2px solid var(--accent, #7c3aed)}.guest-card-label{font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--accent, #7c3aed);margin:0 0 2px}.guest-card-hint{font-size:.72rem;color:var(--text-muted, #9ca3af);margin:0 0 10px;opacity:.8}.step-confirm{display:flex;flex-direction:column;gap:20px}.confirm-card{display:flex;flex-direction:column;gap:0}.confirm-section{padding:16px 0;border-bottom:1px solid var(--card-border)}.confirm-section:first-child{padding-top:0}.confirm-section:last-child{border-bottom:none;padding-bottom:0}.confirm-label{font-size:.6875rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}.confirm-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:.875rem;color:var(--text)}.confirm-total{border-top:1px solid var(--card-border);margin-top:8px;padding-top:10px;font-weight:700}.confirm-addon-row{padding-left:16px;font-size:.8125rem;color:var(--text-secondary)}.confirm-price{color:var(--accent);font-weight:600}.confirm-value{font-size:.875rem;color:var(--text);line-height:1.5}.confirm-footer{display:flex;align-items:center;gap:10px;position:sticky;bottom:0;padding:12px 0;background:var(--bg);z-index:5}.confirm-submit{margin:0}.confirm-error{display:flex;align-items:center;gap:8px;padding:14px 18px;color:var(--danger);font-size:.875rem;border:1px solid var(--danger)}.confirm-countdown{padding:12px 14px;border-radius:14px;animation:confirm-countdown-in .25s ease-out}@keyframes confirm-countdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.confirm-countdown.warning{border:1.5px solid color-mix(in srgb,#f59e0b 70%,var(--card-border));background:color-mix(in srgb,#f59e0b 10%,var(--card-bg))}.confirm-countdown.expired{border:1.5px solid var(--danger);background:color-mix(in srgb,var(--danger) 12%,var(--card-bg));animation:confirm-countdown-in .25s ease-out,confirm-countdown-pulse 1.4s ease-in-out infinite}@keyframes confirm-countdown-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--danger) 45%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--danger) 0%,transparent)}}.confirm-countdown-row{display:flex;align-items:center;gap:12px}.confirm-countdown-icon{font-size:1.4rem;line-height:1;flex-shrink:0}.confirm-countdown-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.confirm-countdown-title{font-size:.92rem;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.confirm-countdown-sub{font-size:.78rem;color:var(--text-muted);line-height:1.35}.confirm-countdown-btn{flex-shrink:0;padding:8px 14px;font-size:.82rem;white-space:nowrap}@media(max-width:480px){.confirm-countdown-row{flex-wrap:wrap}.confirm-countdown-btn{width:100%;margin-top:4px}}.confirm-guest-tag{font-size:.6875rem;font-weight:600;color:var(--accent);margin-top:6px;margin-bottom:2px}.confirm-guest-tag:first-of-type{margin-top:0}.confirm-success{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0;padding:20px 0 0}.success-check{position:relative;width:84px;height:84px;border-radius:50%;background:linear-gradient(135deg,#4ecdc4,#38b2ac);display:flex;align-items:center;justify-content:center;box-shadow:0 12px 36px #4ecdc452,0 0 #4ecdc480;animation:successPop .6s cubic-bezier(.175,.885,.32,1.275) both,successRipple 1.4s .5s ease-out both;margin-bottom:24px}.success-check:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid #4ECDC4;opacity:0;animation:successRing 1.2s .4s ease-out both}.success-check svg{width:42px;height:42px;stroke:#fff;stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:22;stroke-dashoffset:22;animation:drawCheck .45s .35s cubic-bezier(.65,0,.35,1) forwards}@keyframes successPop{0%{transform:scale(0) rotate(-12deg);opacity:0}60%{transform:scale(1.15) rotate(4deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}@keyframes successRipple{0%,to{box-shadow:0 12px 36px #4ecdc452,0 0 #4ecdc400}30%{box-shadow:0 12px 36px #4ecdc452,0 0 0 18px #4ecdc42e}to{box-shadow:0 12px 36px #4ecdc452,0 0 0 36px #4ecdc400}}@keyframes successRing{0%{opacity:0;transform:scale(.85)}40%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.4)}}@keyframes drawCheck{to{stroke-dashoffset:0}}.success-title{font-size:1.5rem;font-weight:700;color:var(--text);letter-spacing:-.01em;margin-bottom:6px;animation:successTextIn .5s .55s cubic-bezier(.16,1,.3,1) both}.success-subtitle{font-size:.8125rem;color:var(--text-secondary);margin-bottom:24px;line-height:1.4;animation:successTextIn .5s .7s cubic-bezier(.16,1,.3,1) both}@keyframes successTextIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.success-thankyou{font-size:.75rem;color:var(--text-muted);line-height:1.5;max-width:360px;margin-bottom:28px;padding:0 8px}.success-guests{width:100%;display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:16px;animation:fadeInUp .5s .2s ease both}.success-guests.multi{grid-template-columns:repeat(2,1fr)}@media(max-width:440px){.success-guests.multi{grid-template-columns:1fr}}.guest-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:16px;text-align:left;transition:border-color .2s ease}.guest-card:hover{border-color:#c8a97e33}.guest-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.guest-tag{font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--accent)}.guest-tag-you{font-size:.5625rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.guest-service{font-size:.875rem;font-weight:600;color:var(--text);margin-bottom:12px;line-height:1.3}.guest-meta{display:flex;flex-direction:column;gap:6px}.guest-meta-row{display:flex;align-items:center;gap:8px;font-size:.75rem;color:var(--text-secondary)}.guest-meta-row svg,.guest-meta-row .meta-icon{width:14px;height:14px;flex-shrink:0;opacity:.55}.guest-meta-row .meta-icon{font-size:14px;line-height:1}.success-datetime-bar{width:100%;display:flex;align-items:center;justify-content:space-between;background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:14px 18px;margin-bottom:12px;animation:fadeInUp .5s .35s ease both}.datetime-chip{display:flex;align-items:center;gap:7px;font-size:.75rem;color:var(--text-secondary)}.datetime-chip svg{width:14px;height:14px;opacity:.45}.datetime-chip strong{color:var(--text);font-weight:600}.success-ref{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;color:var(--text-muted);background:var(--card-bg);border:1px solid var(--card-border);border-radius:20px;padding:8px 16px;margin-bottom:24px;animation:fadeInUp .5s .45s ease both}.success-ref strong{color:var(--accent);font-weight:700;letter-spacing:.05em}.success-actions{width:100%;animation:fadeInUp .5s .55s ease both}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}body{min-height:100dvh;background:var(--bg);color:var(--text);transition:background-color .4s ease,color .3s ease;overflow-x:hidden;overscroll-behavior-y:auto;-webkit-overflow-scrolling:touch;background-image:var(--bg-noise, none)}:root,[data-theme=light]{--bg: #F7F9FA;--bg-subtle: #EEF1F3;--bg-elevated: #FFFFFF;--bg-noise: radial-gradient(circle at 20% 10%, rgba(232, 117, 94, .02), transparent 45%), radial-gradient(circle at 85% 80%, rgba(212, 168, 83, .02), transparent 45%);--card-bg: #FFFFFF;--card-bg-hover: #FFFFFF;--card-border: rgba(15, 25, 41, .09);--card-border-strong: rgba(15, 25, 41, .16);--glass-blur: blur(16px);--text: #0F1929;--text-secondary: rgba(15, 25, 41, .62);--text-muted: rgba(15, 25, 41, .42);--accent: #0F1929;--accent-hover: #1A2332;--accent-soft: #F7FAFA;--accent-glow: rgba(15, 25, 41, .08);--accent-text: #FFFFFF;--chip-coral: #E8755E;--chip-gold: #D4A853;--chip-sage: #8B7D6B;--danger: #E55C5C;--warning: #F59E0B;--success: #2A9D8F;--input-bg: #FFFFFF;--input-border: rgba(15, 25, 41, .15);--input-focus: rgba(15, 25, 41, .25);--shadow-xs: 0 1px 2px rgba(15, 25, 41, .04);--shadow-sm: 0 2px 8px rgba(15, 25, 41, .05);--shadow: 0 8px 28px rgba(15, 25, 41, .08);--shadow-lg: 0 20px 50px -12px rgba(15, 25, 41, .18);--overlay: rgba(15, 25, 41, .35);color-scheme:light}[data-theme=dark]{--bg: #0A0D12;--bg-subtle: #10141B;--bg-elevated: #161B23;--bg-noise: radial-gradient(circle at 15% 0%, rgba(212, 184, 143, .055), transparent 50%), radial-gradient(circle at 85% 100%, rgba(232, 117, 94, .04), transparent 50%);--card-bg: #161B23;--card-bg-hover: #1C222C;--card-border: rgba(255, 255, 255, .08);--card-border-strong: rgba(255, 255, 255, .18);--glass-blur: blur(20px);--text: #F5F2EC;--text-secondary: rgba(245, 242, 236, .62);--text-muted: rgba(245, 242, 236, .38);--accent: #D4B88F;--accent-hover: #E0C6A1;--accent-soft: rgba(212, 184, 143, .12);--accent-glow: rgba(212, 184, 143, .22);--accent-text: #0A0D12;--chip-coral: #F08B76;--chip-gold: #E8C77A;--chip-sage: #A89C8B;--danger: #FF6B6B;--warning: #FBBF24;--success: #4ECDC4;--input-bg: #10141B;--input-border: rgba(255, 255, 255, .14);--input-focus: rgba(212, 184, 143, .35);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .35);--shadow-sm: 0 2px 10px rgba(0, 0, 0, .45);--shadow: 0 10px 32px rgba(0, 0, 0, .5);--shadow-lg: 0 24px 60px -12px rgba(0, 0, 0, .6);--overlay: rgba(0, 0, 0, .65);color-scheme:dark}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.8125rem;line-height:1.25rem}.text-base{font-size:.9375rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.375rem;line-height:1.875rem}.text-2xl{font-size:1.75rem;line-height:2.25rem}.panel-card{background:var(--bg-elevated);border:1px solid var(--card-border);border-radius:18px;padding:28px 32px;box-shadow:var(--shadow-sm)}@media(max-width:640px){.panel-card{padding:18px 16px;border-radius:16px}}.glass-card{background:var(--card-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--card-border);border-radius:16px;padding:20px;transition:background .3s ease,border-color .3s ease}.glass-card:hover{background:var(--card-bg-hover)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;border:none;border-radius:12px;font-family:inherit;font-size:.9375rem;font-weight:600;cursor:pointer;transition:transform .2s cubic-bezier(.4,0,.2,1),background .2s ease,box-shadow .25s ease,border-color .2s ease;min-height:48px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-primary{background:var(--accent);color:var(--accent-text);box-shadow:0 4px 14px var(--accent-glow),0 1px 2px #0f192914}.btn-primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 8px 24px var(--accent-glow),0 2px 4px #0f19291f;transform:translateY(-1px)}.btn-secondary{background:var(--bg-elevated);color:var(--text);border:1px solid var(--card-border-strong)}.btn-secondary:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.btn-ghost{background:transparent;color:var(--text-secondary);padding:10px 16px}.btn-ghost:hover:not(:disabled){color:var(--text);background:var(--accent-soft)}.btn-full{width:100%}.input-field{width:100%;padding:14px 16px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:12px;color:var(--text);font-family:inherit;font-size:.9375rem;transition:border-color .25s ease,box-shadow .25s ease;outline:none}.input-field::placeholder{color:var(--text-muted)}.input-field:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--input-focus)}.input-label{display:block;font-size:.8125rem;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.select-card{position:relative;background:var(--card-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1.5px solid var(--card-border);border-radius:14px;padding:16px;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);-webkit-tap-highlight-color:transparent}.select-card:hover{border-color:color-mix(in srgb,var(--accent) 30%,transparent);background:var(--card-bg-hover)}.select-card.selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent),0 4px 16px var(--accent-glow)}.select-card .check-icon{position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:50%;background:var(--accent);color:var(--accent-text);display:flex;align-items:center;justify-content:center;font-size:12px;opacity:0;transform:scale(.5);transition:all .2s ease}.select-card.selected .check-icon{opacity:1;transform:scale(1)}.avatar{display:flex;align-items:center;justify-content:center;border-radius:50%;font-weight:600;background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:var(--accent-text);flex-shrink:0}.avatar-sm{width:36px;height:36px;font-size:.75rem}.avatar-md{width:48px;height:48px;font-size:.875rem}.avatar-lg{width:64px;height:64px;font-size:1.125rem}.booking-shell{min-height:100dvh;display:flex;flex-direction:column}.brand-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;background:var(--bg-elevated);border-bottom:1px solid var(--card-border);position:sticky;top:0;z-index:100;box-shadow:var(--shadow-xs)}.brand-bar-left{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.brand-logo{display:block;height:36px;width:auto;max-width:140px;max-height:36px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 1px 2px rgba(0,0,0,.15))}[data-theme=dark] .brand-logo{filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.brand-crest{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:var(--accent-text);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.9375rem;letter-spacing:.02em;flex-shrink:0;box-shadow:0 2px 8px var(--accent-glow);transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease;cursor:default}.brand-crest:hover{transform:rotate(-3deg) scale(1.06);box-shadow:0 4px 14px var(--accent-glow),0 0 0 4px color-mix(in srgb,var(--accent) 10%,transparent)}.brand-divider{width:1px;height:26px;background:var(--card-border-strong);flex-shrink:0}.brand-identity{display:flex;flex-direction:column;justify-content:center;gap:1px;min-width:0;line-height:1.2}.brand-salon-name{display:block;font-size:.9375rem;font-weight:700;color:var(--text);letter-spacing:-.01em;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-meta{display:block;font-size:.75rem;color:var(--text-secondary);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-bar-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand-phone{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;font-weight:600;color:var(--text);padding:6px 10px;border-radius:999px;background:var(--accent-soft);border:1px solid var(--card-border);white-space:nowrap;text-decoration:none;transition:border-color .2s ease,background .2s ease,color .2s ease}.brand-phone:hover{border-color:var(--card-border-strong);background:color-mix(in srgb,var(--accent-soft) 75%,var(--bg-elevated))}.brand-phone-label{color:var(--text-secondary);font-weight:500}@media(max-width:540px){.brand-meta,.brand-phone-label{display:none}}@media(max-width:380px){.brand-divider,.brand-phone{display:none}}.stepper-row{background:var(--bg-elevated);border-bottom:1px solid var(--card-border);padding:16px 24px 20px}.slot-stale-banner{background:#fef3c7;color:#78350f;border-bottom:1px solid #f59e0b;padding:12px 24px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:14px;line-height:1.4;animation:slot-stale-slide-in .3s ease-out}.slot-stale-icon{font-size:18px;flex-shrink:0}.slot-stale-text{flex:1;min-width:200px}.slot-stale-action{flex-shrink:0;padding:6px 14px;font-size:13px}.slot-stale-dismiss{background:transparent;border:none;color:inherit;font-size:22px;line-height:1;cursor:pointer;padding:0 4px;opacity:.6;transition:opacity .15s}.slot-stale-dismiss:hover{opacity:1}@keyframes slot-stale-slide-in{0%{transform:translateY(-12px);opacity:0}to{transform:translateY(0);opacity:1}}.booking-grid{flex:1;width:100%;max-width:1180px;margin:0 auto;padding:16px 16px 28px;display:grid;grid-template-columns:1fr;gap:20px;align-items:start}@media(max-width:859px){.booking-grid{max-width:640px}}.booking-main{min-width:0;animation:fadeInUp .4s cubic-bezier(.16,1,.3,1) both}.booking-main--forward{animation:stepSlideForward .4s cubic-bezier(.16,1,.3,1) both}.booking-main--back{animation:stepSlideBack .4s cubic-bezier(.16,1,.3,1) both}@keyframes stepSlideForward{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes stepSlideBack{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}.booking-aside{display:none}.booking-action-bar{padding:14px 20px;background:var(--bg-elevated);border-top:1px solid var(--card-border-strong);position:sticky;bottom:0;z-index:100;padding-bottom:max(14px,env(safe-area-inset-bottom));box-shadow:0 -8px 32px #0f192914,0 -1px #0f192905}.action-bar-inner{display:flex;align-items:center;justify-content:center;gap:24px;width:100%;max-width:1180px;margin:0 auto}[data-theme=dark] .booking-action-bar{box-shadow:0 -8px 32px #00000080,0 -1px #ffffff0a}.action-bar-step{font-size:.75rem;color:var(--text-secondary);font-weight:600;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;padding:6px 12px;border-radius:999px;background:var(--accent-soft);border:1px solid var(--card-border)}.action-bar-spacer{display:none}.action-bar-buttons{display:flex;align-items:center;gap:8px}.action-bar-buttons .btn-primary{min-width:180px}@media(max-width:540px){.booking-grid{padding-bottom:calc(112px + env(safe-area-inset-bottom,0px))}.booking-action-bar{padding:10px 14px;padding-bottom:max(10px,env(safe-area-inset-bottom))}.action-bar-inner{gap:8px}.action-bar-step,.action-bar-spacer{display:none}.action-bar-buttons{flex:1;gap:8px;width:100%}.action-bar-buttons .btn{min-height:44px;padding:10px 16px;font-size:.8125rem;border-radius:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action-bar-buttons .btn-ghost{flex:0 0 auto;padding:10px 14px}.action-bar-buttons .btn-primary{flex:1;min-width:0;letter-spacing:.005em}}.booking-footer{display:none}.booking-content{min-width:0}@media(min-width:860px){.booking-grid{grid-template-columns:minmax(0,1fr) 320px;gap:24px;padding:32px 28px 48px}.booking-aside{display:block;position:sticky;top:84px}.brand-bar{padding:16px 28px}.stepper-row{padding:20px 28px 24px}.booking-action-bar{padding:18px 28px;padding-bottom:max(18px,env(safe-area-inset-bottom))}.action-bar-inner{padding-right:344px}}@media(min-width:1180px){.booking-grid{grid-template-columns:minmax(0,1fr) 360px;gap:32px;padding:36px 32px 56px}.brand-bar{padding:16px 32px}.stepper-row{padding:22px 32px 26px}.booking-action-bar{padding:18px 32px;padding-bottom:max(18px,env(safe-area-inset-bottom))}.action-bar-inner{padding-right:392px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes softFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.animate-in{animation:fadeInUp .4s cubic-bezier(.16,1,.3,1) both}.animate-fade{animation:fadeIn .3s ease both}.skeleton{background:linear-gradient(90deg,var(--input-bg) 25%,var(--card-bg-hover) 50%,var(--input-bg) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:8px}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text-muted) 40%,transparent);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.guest-phase-banner{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 16px;padding:8px 18px;border-radius:50px;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);color:var(--accent);font-size:.8125rem;font-weight:700;letter-spacing:.02em;text-align:center;animation:bannerIn .25s ease forwards}.guest-phase-banner:before{content:"👤";font-size:.875rem}@keyframes bannerIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.confirm-guest-tag{font-size:.75rem;font-weight:600;color:var(--accent);margin-right:4px}.loading-spinner{width:40px;height:40px;border:3px solid var(--card-border);border-top-color:var(--accent);border-radius:50%;margin:0 auto;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}:root{--tenant-primary: initial}:root:has([style*=--tenant-primary]){--accent: var(--tenant-primary, #0F1929)}
