:root{--sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text:#334155;--text-muted:#64748b;--text-strong:#0f172a;--bg:#f8fafc;--surface:#fff;--surface-muted:#f1f5f9;--border:#cbd5e1;--accent:#0f766e;--accent-strong:#115e59;--focus:#14b8a63d;--pending:#92400e;--pending-bg:#fef3c7;--success:#166534;--success-bg:#dcfce7;--success-border:#86efac;--danger:#b91c1c;--danger-bg:#fee2e2;--danger-border:#fecaca;color:var(--text);background:var(--bg);font:16px/1.5 var(--sans);font-synthesis:none;letter-spacing:0;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-width:320px;min-height:100svh;margin:0}#root{min-height:100svh}h1,h2,p{margin:0}h1,h2{color:var(--text-strong);letter-spacing:0;font-weight:800}h1{font-size:40px;line-height:1.1}h2{font-size:28px;line-height:1.15}@media (width<=640px){h1{font-size:32px}h2{font-size:24px}}.app-shell{box-sizing:border-box;width:min(1120px,100%);margin:0 auto;padding:40px 24px 56px}.booking-form-section,.booking-list-section{padding:28px 0}.booking-form-section{border-bottom:1px solid var(--border)}.section-heading{margin-bottom:22px}.section-heading.row{justify-content:space-between;align-items:center;gap:16px;display:flex}.eyebrow{color:var(--accent);letter-spacing:0;text-transform:uppercase;margin-bottom:6px;font-size:14px;font-weight:700}.booking-form{grid-template-columns:minmax(180px,1.1fr) minmax(220px,1.5fr) minmax(150px,.8fr) auto;align-items:end;gap:14px;display:grid}.booking-form-actions{gap:10px;display:grid}label{color:var(--text-strong);gap:8px;font-size:14px;font-weight:700;display:grid}input{border:1px solid var(--border);box-sizing:border-box;width:100%;min-height:44px;color:var(--text-strong);background:var(--surface);font:16px/1.3 var(--sans);border-radius:8px;padding:10px 12px}input:focus{border-color:var(--accent);outline:3px solid var(--focus)}button{border:1px solid var(--accent);color:#fff;background:var(--accent);cursor:pointer;min-height:44px;font:700 15px/1.2 var(--sans);border-radius:8px;padding:10px 16px}button:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}button:disabled{cursor:not-allowed;opacity:.65}button.danger{color:var(--danger);background:var(--surface);border-color:var(--danger-border)}button.secondary{color:var(--accent);background:var(--surface)}button.secondary:hover:not(:disabled){color:#fff}button.danger:hover:not(:disabled){color:#fff;background:var(--danger);border-color:var(--danger)}.feedback,.empty-state{border:1px solid var(--border);border-radius:8px;margin-top:18px;padding:12px 14px}.feedback.success{color:var(--success);border-color:var(--success-border);background:var(--success-bg)}.feedback.error{color:var(--danger);border-color:var(--danger-border);background:var(--danger-bg)}.empty-state{color:var(--text-muted);background:var(--surface-muted)}.booking-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.booking-item{border:1px solid var(--border);background:var(--surface);border-radius:8px;justify-content:space-between;gap:18px;padding:18px;display:flex}.booking-main{min-width:0}.status{border-radius:8px;align-items:center;min-height:26px;padding:3px 9px;font-size:13px;font-weight:700;display:inline-flex}.status.pending{color:var(--pending);background:var(--pending-bg)}.status.booked{color:var(--success);background:var(--success-bg)}.status.failed{color:var(--danger);background:var(--danger-bg)}h3{color:var(--text-strong);overflow-wrap:anywhere;margin:10px 0 12px;font-size:22px;line-height:1.2}dl{flex-wrap:wrap;gap:12px 24px;margin:0;display:flex}dt{color:var(--text-muted);font-size:13px;font-weight:700}dd{color:var(--text);overflow-wrap:anywhere;margin:2px 0 0}.booking-message{margin-top:12px}.signed-in{color:var(--text-muted);margin-top:8px}.header-actions{flex-shrink:0;gap:10px;display:flex}.credentials-form{grid-template-columns:minmax(200px,1fr) minmax(200px,1fr) auto;align-items:end;gap:14px;display:grid}.credentials-hint{color:var(--text-muted);margin-bottom:18px;font-size:14px}.credentials-banner{align-items:center;gap:8px;margin-bottom:18px;display:flex}.link-button{all:unset;color:var(--danger);cursor:pointer;min-height:unset;background:0 0;border:none;padding:0;font-weight:700;text-decoration:underline}.link-button:hover{opacity:.8}@media (width<=860px){.credentials-form{grid-template-columns:1fr}.header-actions{flex-direction:column}.app-shell{padding:24px 16px 40px}.booking-form{grid-template-columns:1fr}.section-heading.row,.booking-item{flex-direction:column;align-items:stretch}.section-heading.row button,.booking-item button{width:100%}}
