.booking-page{background:var(--bg-secondary);min-height:100vh}.booking-header{background:var(--bg-card);border-bottom:1px solid var(--border-primary);padding:var(--space-4) var(--space-6);z-index:var(--z-sticky);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);position:sticky;top:0}.booking-header-inner{justify-content:space-between;align-items:center;max-width:800px;margin:0 auto;display:flex}.booking-brand{align-items:center;gap:var(--space-3);text-decoration:none;display:flex}.booking-brand-icon{border-radius:var(--radius-lg);background:var(--gradient-accent);color:#fff;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.1rem;font-weight:800;display:flex}.booking-brand-name{font-size:var(--text-lg);color:var(--text-primary);font-weight:700}.booking-container{max-width:800px;padding:var(--space-6);margin:0 auto}.booking-progress{justify-content:center;align-items:center;gap:var(--space-2);margin-bottom:var(--space-8);padding:var(--space-4) 0;display:flex}.progress-step{align-items:center;gap:var(--space-2);display:flex}.progress-circle{width:36px;height:36px;font-weight:700;font-size:var(--text-sm);transition:all var(--transition-base);border:2px solid var(--border-primary);color:var(--text-tertiary);background:var(--bg-card);border-radius:50%;justify-content:center;align-items:center;display:flex}.progress-circle.active{background:var(--gradient-accent);border-color:var(--color-primary-500);color:#fff;box-shadow:0 0 20px #6366f14d}.progress-circle.completed{background:var(--color-success-500);border-color:var(--color-success-500);color:#fff}.progress-label{font-size:var(--text-xs);color:var(--text-tertiary);transition:color var(--transition-fast);font-weight:500}.progress-label.active{color:var(--color-primary-500);font-weight:600}.progress-label.completed{color:var(--color-success-500)}.progress-line{background:var(--border-primary);width:40px;height:2px;transition:background var(--transition-base)}.progress-line.active{background:var(--color-primary-500)}.progress-line.completed{background:var(--color-success-500)}.step-card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-2xl);padding:var(--space-8);animation:.4s ease-out fadeInUp}.step-title{font-size:var(--text-xl);color:var(--text-primary);margin-bottom:var(--space-6);font-weight:700}.service-options{gap:var(--space-3);flex-direction:column;display:flex}.service-option{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border:2px solid var(--border-primary);border-radius:var(--radius-xl);cursor:pointer;transition:all var(--transition-base);background:var(--bg-elevated);display:flex}.service-option:hover{border-color:var(--color-primary-300);background:var(--gradient-card)}.service-option.selected{border-color:var(--color-primary-500);background:#6366f10d;box-shadow:0 0 0 3px #6366f11a}.service-option-icon{border-radius:var(--radius-lg);background:var(--gradient-card);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.3rem;display:flex}.service-option-info{flex:1}.service-option-name{font-size:var(--text-base);color:var(--text-primary);font-weight:600}.service-option-desc{font-size:var(--text-xs);color:var(--text-secondary);margin-top:2px}.service-option-meta{align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--text-secondary);white-space:nowrap;display:flex}.resource-options{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));display:grid}.resource-option{align-items:center;gap:var(--space-3);padding:var(--space-5);border:2px solid var(--border-primary);border-radius:var(--radius-xl);cursor:pointer;transition:all var(--transition-base);text-align:center;flex-direction:column;display:flex}.resource-option:hover{border-color:var(--color-primary-300);transform:translateY(-2px)}.resource-option.selected{border-color:var(--color-primary-500);background:#6366f10d;box-shadow:0 0 0 3px #6366f11a}.resource-avatar{border-radius:var(--radius-full);color:#fff;width:64px;height:64px;font-weight:800;font-size:var(--text-2xl);justify-content:center;align-items:center;display:flex}.resource-option-name{font-size:var(--text-sm);color:var(--text-primary);font-weight:600}.resource-option-desc{font-size:var(--text-xs);color:var(--text-secondary)}.date-grid{gap:var(--space-2);margin-bottom:var(--space-6);grid-template-columns:repeat(7,1fr);display:grid}.date-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.date-month{font-size:var(--text-lg);color:var(--text-primary);font-weight:700}.date-nav-btns{gap:var(--space-2);display:flex}.date-day-label{text-align:center;font-size:var(--text-xs);color:var(--text-tertiary);padding:var(--space-2) 0;font-weight:600}.date-cell{text-align:center;padding:var(--space-2);border-radius:var(--radius-lg);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);color:var(--text-primary);border:1px solid #0000;font-weight:500}.date-cell:hover:not(.disabled){background:var(--bg-tertiary);border-color:var(--border-primary)}.date-cell.selected{background:var(--gradient-accent);color:#fff;font-weight:700;box-shadow:0 2px 10px #6366f14d}.date-cell.today{border-color:var(--color-primary-400)}.date-cell.disabled{color:var(--text-tertiary);opacity:.4;cursor:not-allowed}.date-cell.empty{cursor:default}.time-slots-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(100px,1fr));display:grid}.time-slot{padding:var(--space-3) var(--space-2);border:1px solid var(--border-primary);border-radius:var(--radius-lg);text-align:center;font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);color:var(--text-primary);font-weight:500}.time-slot:hover:not(.unavailable){border-color:var(--color-primary-400);background:var(--gradient-card)}.time-slot.selected{background:var(--gradient-accent);border-color:var(--color-primary-500);color:#fff;font-weight:700}.time-slot.unavailable{color:var(--text-tertiary);opacity:.4;cursor:not-allowed;text-decoration:line-through}.customer-form{gap:var(--space-5);flex-direction:column;display:flex}.booking-success{text-align:center;padding:var(--space-10) var(--space-6);animation:.5s ease-out scaleIn}.success-icon{width:80px;height:80px;margin:0 auto var(--space-6);background:#10b9811a;border-radius:50%;justify-content:center;align-items:center;font-size:2.5rem;animation:2s ease-in-out infinite pulse-glow;display:flex}.success-title{font-size:var(--text-2xl);color:var(--text-primary);margin-bottom:var(--space-3);font-weight:700}.success-message{font-size:var(--text-base);color:var(--text-secondary);margin-bottom:var(--space-8)}.success-details{background:var(--bg-tertiary);border-radius:var(--radius-xl);padding:var(--space-6);text-align:start;gap:var(--space-3);flex-direction:column;display:flex}.success-detail-row{font-size:var(--text-sm);justify-content:space-between;display:flex}.success-detail-label{color:var(--text-secondary)}.success-detail-value{color:var(--text-primary);font-weight:600}.step-nav{gap:var(--space-3);margin-top:var(--space-8);display:flex}.step-nav .btn{flex:1}@media (max-width:640px){.booking-container{padding:var(--space-4)}.step-card{padding:var(--space-5)}.service-option{flex-wrap:wrap;align-items:flex-start}.service-option-info{width:calc(100% - 48px - var(--space-4));flex:unset}.service-option-meta{border-top:1px dashed var(--border-secondary);width:100%;padding-top:var(--space-3);margin-top:var(--space-1);justify-content:space-between}.resource-options{grid-template-columns:repeat(2,1fr)}.time-slots-grid{grid-template-columns:repeat(3,1fr)}.progress-label{display:none}.progress-line{width:24px}}
