:root{--brand: #23ae4d;--brand-hover: #1b8a3d;--brand-disabled: #9fe6b5;--brand-ring: rgba(35, 174, 77, .18)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6;color:#333;background:#f5f5f5}.container{max-width:1200px;margin:0 auto;padding:1rem}.header{text-align:center;padding:2rem 0;background:#fff;border-radius:8px;margin-bottom:2rem}.header h1{font-size:2rem;margin-bottom:.5rem;color:var(--brand)}.tagline{color:#666;font-size:1rem}.main h2{margin-bottom:1.5rem;text-align:center}.service-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-bottom:2rem}.service-card{background:#fff;padding:1.5rem;border-radius:8px;border:1px solid #e5e5e5;transition:transform .2s,box-shadow .2s;cursor:pointer;text-align:center}.service-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.service-card h3{margin-bottom:.5rem;color:var(--brand)}.service-duration{color:#666;font-size:.875rem;margin-bottom:1rem}.footer{text-align:center;padding:2rem 0;color:#666;font-size:.875rem}.btn{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;cursor:pointer;transition:background .2s;font-weight:500}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover:not(:disabled){background:var(--brand-hover)}.btn-primary:disabled{background:var(--brand-disabled);cursor:not-allowed}.btn-secondary{background:#e5e7eb;color:#333}.btn-secondary:hover:not(:disabled){background:#d1d5db}.stepper{background:#fff;border-radius:8px;padding:2rem;margin-top:2rem}.stepper-header{margin-bottom:2rem;text-align:center}.stepper-progress{display:flex;justify-content:center;gap:1rem;margin-bottom:1rem}.step-indicator{width:40px;height:40px;border-radius:50%;background:#e5e7eb;display:flex;align-items:center;justify-content:center;font-weight:700;color:#666}.step-indicator.active{background:var(--brand);color:#fff}.stepper-title{font-size:1.5rem;font-weight:600}.stepper-content{margin-bottom:2rem}.stepper-actions{display:flex;gap:1rem;justify-content:center}.section-subtitle{text-align:center;color:#666;margin-bottom:1.5rem}.service-picker .service-grid{margin-top:1rem}.date-section,.time-section{margin-bottom:2rem}.date-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.75rem}.date-card{background:#fff;padding:1rem;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s;text-align:center}.date-card:hover{border-color:var(--brand)}.date-card.selected{background:var(--brand);color:#fff;border-color:var(--brand)}.date-day{font-size:.75rem;text-transform:uppercase;margin-bottom:.25rem}.date-number{font-size:1.5rem;font-weight:700}.date-month{font-size:.875rem}.time-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.75rem}.time-card{background:#fff;padding:.75rem;border:2px solid #e5e7eb;border-radius:6px;cursor:pointer;transition:all .2s;text-align:center;font-size:.875rem}.time-card:hover{border-color:var(--brand)}.time-card.selected{background:var(--brand);color:#fff;border-color:var(--brand)}.datetime-picker .btn{display:block;width:100%;margin-top:2rem}.customer-form{max-width:500px;margin:0 auto}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:1rem;font-family:inherit}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-ring)}.customer-form .btn{width:100%;margin-top:1rem}.booking-summary{background:#f9fafb;padding:1.5rem;border-radius:8px;margin-bottom:2rem}.summary-row{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid #e5e7eb}.summary-row:last-child{border-bottom:none}.summary-row .label{font-weight:600;color:#666}.summary-row .value{text-align:right}.review-submit .btn{width:100%}.error-message{background:#fef2f2;color:#dc2626;padding:1rem;border-radius:6px;margin-bottom:1rem;text-align:center}.success-screen{text-align:center;padding:2rem 0}.success-icon{width:80px;height:80px;background:var(--brand);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem;margin:0 auto 1.5rem}.success-screen h2{margin-bottom:2rem;color:var(--brand)}.success-screen .btn{width:100%;margin-top:1rem}@media (max-width: 768px){.service-grid{grid-template-columns:1fr}.date-grid{grid-template-columns:repeat(auto-fill,minmax(70px,1fr))}.time-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr))}}
