:root{color:#172033;background:#eef3f9;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{border:0;border-radius:6px;cursor:pointer;font-weight:700}button:disabled{cursor:not-allowed;opacity:.55}.booking-shell{margin:0 auto;max-width:960px;padding:40px 24px}.booking-header{margin-bottom:24px}.eyebrow{color:#2455db;font-size:.8rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2rem,4vw,3.2rem);line-height:1.05;margin-bottom:10px}.booking-card{background:#fff;border:1px solid #c7d4e6;border-radius:8px;padding:24px}.step-list{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));list-style:none;margin:0 0 24px;padding:0}.step-list li{border-bottom:3px solid #d8e1ef;color:#61708a;font-size:.9rem;padding-bottom:8px}.step-list li[aria-current=step]{border-color:#2455db;color:#172033;font-weight:800}.option-grid,.time-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.option-button,.time-button{background:#f7f9fc;border:1px solid #b9c7da;color:#172033;min-height:72px;padding:14px;text-align:left}.option-button[aria-pressed=true],.time-button[aria-pressed=true]{background:#e8efff;border-color:#2455db;box-shadow:inset 0 0 0 2px #2455db}.time-button.unavailable{background:#f1f3f6;color:#6b7280;text-decoration:line-through}.form-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}label{display:grid;font-weight:700;gap:6px}input,textarea{border:1px solid #9fb0c8;border-radius:6px;padding:10px 12px}textarea{min-height:96px;resize:vertical}.field-error,.alert{color:#a01818;font-weight:700}.alert,.success{background:#fff1f1;border:1px solid #f0b8b8;border-radius:6px;margin:16px 0;padding:12px}.success{background:#eefbf3;border-color:#a9dfbc;color:#176b34;font-weight:700}.actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;margin-top:24px}.primary{background:#2455db;color:#fff;padding:11px 18px}.secondary{background:#e7edf6;color:#172033;padding:11px 18px}.summary{border-collapse:collapse;width:100%}.summary th{color:#52627a;text-align:left;width:36%}.summary th,.summary td{border-bottom:1px solid #e1e8f2;padding:10px 0}.muted{color:#52627a}
