.booking-wizard{position:fixed;inset:0;z-index:1200;display:block}.booking-wizard[hidden]{display:none!important}.booking-wizard.is-open{display:block}.wizard-backdrop{position:absolute;inset:0;background:#0f172a8c}.wizard-panel{position:absolute;left:50%;bottom:0;transform:translate(-50%);width:min(720px,100%);max-height:92vh;background:#fff;border-radius:18px 18px 0 0;display:flex;flex-direction:column;overflow:hidden}.wizard-header,.wizard-footer{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #e2e8f0}.wizard-footer{border-bottom:0;border-top:1px solid #e2e8f0}.wizard-back,.wizard-close{border:0;background:transparent;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.wizard-back:focus-visible,.wizard-close:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--store-primary, #10b981) 22%,white);border-radius:999px}.wizard-progress{padding:10px 16px;border-bottom:1px solid #e2e8f0}.progress-track{height:4px;background:#e2e8f0;border-radius:999px}.progress-fill{height:100%;background:linear-gradient(90deg,var(--store-primary, #10b981),color-mix(in srgb,var(--store-primary, #10b981) 68%,white));border-radius:999px;transition:width .2s ease}.progress-steps{margin-top:8px;display:flex;justify-content:space-between}.progress-steps .step{width:26px;height:26px;border-radius:50%;background:#f1f5f9;color:#64748b;font-size:var(--fs-xs);font-weight:700;display:inline-flex;align-items:center;justify-content:center}.progress-steps .step.active{background:var(--store-primary, #10b981);color:#fff}.wizard-body{padding:14px 16px;flex:1 1 auto;min-height:0;overflow:auto}.wizard-step{display:none}.wizard-step.active{display:block}.services-list,.staff-grid,.time-slots,.date-scroll{display:grid;gap:10px}.service-item,.staff-item,.time-slot,.date-pill{padding:10px;cursor:pointer}.service-item.selected,.staff-item.selected,.time-slot.selected,.date-pill.selected{border-color:var(--store-primary, #10b981);background:color-mix(in srgb,var(--store-primary, #10b981) 8%,white);box-shadow:0 12px 24px color-mix(in srgb,var(--store-primary, #10b981) 14%,transparent)}.service-item{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:10px}.service-check input{width:18px;height:18px}.service-img,.service-img-placeholder{width:48px;height:48px;border-radius:10px;object-fit:cover;background:#f1f5f9;display:inline-flex;align-items:center;justify-content:center}.service-header{display:flex;align-items:center;gap:8px}.service-name{font-weight:700;cursor:pointer}.service-info-btn{border:0;background:transparent;cursor:pointer;color:#64748b}.service-info-btn:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--store-primary, #10b981) 16%,white);border-radius:999px}.service-description{margin-top:6px;font-size:var(--fs-sm);color:#475569}.service-description[hidden]{display:none!important}.staff-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.staff-item{text-align:center}.staff-avatar,.staff-avatar-placeholder{width:54px;height:54px;border-radius:50%;margin:0 auto 8px;object-fit:cover;display:inline-flex;align-items:center;justify-content:center;background:#e2e8f0;font-weight:700}.date-scroll{grid-template-columns:repeat(auto-fit,minmax(108px,1fr))}.section-label{font-weight:700;margin-bottom:8px}.time-slots{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.wizard-btn-next{border:0;border-radius:10px;padding:10px 16px;background:linear-gradient(135deg,var(--store-primary, #10b981) 0%,color-mix(in srgb,var(--store-primary, #10b981) 78%,black) 100%);color:#fff;font-weight:700;cursor:pointer}.wizard-btn-next:disabled{opacity:.5;cursor:not-allowed}.selected-info{font-size:var(--fs-md);color:#334155}@media(max-width:640px){.wizard-panel{width:100%;max-height:calc(100dvh - 20px);height:auto;border-radius:22px 22px 0 0}.wizard-header,.wizard-progress,.wizard-body,.wizard-footer{padding-left:14px;padding-right:14px}.wizard-header{padding-top:12px}.wizard-footer{gap:10px;flex-wrap:wrap;padding-bottom:calc(12px + env(safe-area-inset-bottom))}.wizard-footer>*{width:100%}.wizard-btn-next,.wizard-footer .btn,.wizard-footer button,.wizard-footer a{width:100%;justify-content:center}.service-item{grid-template-columns:auto 1fr;gap:12px}.service-check{grid-row:span 2;align-self:center}.service-header{flex-wrap:wrap}.progress-steps{gap:6px}.progress-steps .step{width:24px;height:24px}}.booking-client-form{display:grid;gap:10px}.booking-form-group{margin-bottom:10px}.booking-form-group:last-child{margin-bottom:0}.booking-form-label{display:block;margin-bottom:4px;font-weight:600}.booking-form-input,.booking-form-textarea{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:10px}.booking-form-input.error,.booking-form-textarea.error{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261f}.booking-form-error{margin:6px 0 0;color:#dc2626;font-size:12px;line-height:1.35}.booking-summary-card{margin-bottom:12px;padding:12px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.booking-summary-title{font-size:var(--fs-md);font-weight:700;color:var(--text-main)}.booking-summary-inline{margin:0 0 8px;color:var(--text-main);line-height:1.4;display:flex;align-items:baseline;gap:8px;flex-wrap:nowrap}.booking-summary-title{flex:0 0 auto}.booking-summary-value{color:#334155;flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.booking-summary-line{margin:0 0 4px;color:#334155}.booking-summary-line--total{margin-bottom:0}.success-screen{text-align:center;padding:14px 10px}.success-icon{width:56px;height:56px;border-radius:50%;background:#dcfce7;color:#16a34a;margin:0 auto 10px;display:flex;align-items:center;justify-content:center}.empty-message,.loading-message{color:#64748b;font-size:var(--fs-md)}
