:root{--radius:10px;--radius-card:14px;--font:"DM Sans", system-ui, sans-serif;--space-1:4px;--space-2:8px;--space-3:16px;--space-4:24px;--space-5:32px;--accent:#f0a500;--accent-dim:#c48400;--green:#2da86c;--red:#dc5058}[data-theme=light]{--bg:#f8f9fc;--surface:#fff;--surface-hover:#f0f2f6;--border:#d8dce4;--text:#1a1d26;--muted:#5c6370;--input-focus-ring:#f0a50047;--flash-error-bg:#dc50581a;--flash-success-bg:#2da86c1f}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}body{min-height:100vh;font-family:var(--font);background:var(--bg);color:var(--text);margin:0;line-height:1.5}#root{min-height:100vh}a{color:var(--accent-dim);text-decoration:none}a:hover{text-decoration:underline}.client-shell{max-width:480px;padding:var(--space-4) var(--space-3) var(--space-5);margin:0 auto}.client-header{margin-bottom:var(--space-4)}.client-header h1{margin:0;font-size:1.5rem;font-weight:600}.client-header p{color:var(--muted);margin:.35rem 0 0;font-size:.95rem}.client-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-4)}.client-progress{margin-bottom:var(--space-4);gap:6px;display:flex}.client-progress-dot{background:var(--border);border-radius:999px;flex:1;height:4px}.client-progress-dot.is-active,.client-progress-dot.is-done{background:var(--accent)}.client-field{gap:var(--space-1);margin-bottom:var(--space-3);flex-direction:column;display:flex}.client-field label{font-size:.875rem;font-weight:500}.client-field input,.client-field select,.client-field textarea{border:1px solid var(--border);border-radius:var(--radius);width:100%;font:inherit;background:var(--surface);color:var(--text);padding:.65rem .75rem}.client-field input:focus,.client-field select:focus,.client-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--input-focus-ring);outline:none}.client-field textarea{resize:vertical;min-height:120px}.client-field-error{color:var(--red);margin:0;font-size:.8125rem}.client-consent{gap:var(--space-2);color:var(--muted);align-items:flex-start;font-size:.9rem;display:flex}.client-consent input{margin-top:4px}.client-manager-call{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border);text-align:center}.client-manager-call p{margin:0 0 var(--space-2);color:var(--muted);font-size:.875rem}.client-manager-call-btn{justify-content:center;text-decoration:none;display:inline-flex}.client-arrival-notice{margin:var(--space-3) 0 0;padding:var(--space-3);border-radius:var(--radius);text-align:left;background:#f0a5001a;border:1px solid #f0a50059}.client-arrival-notice-title{margin:0 0 var(--space-1);text-transform:uppercase;letter-spacing:.04em;color:var(--accent-dim);font-size:.8125rem;font-weight:700}.client-arrival-notice-text{color:var(--text);margin:0;font-size:.875rem;line-height:1.5}.client-actions{gap:var(--space-2);margin-top:var(--space-4);display:flex}.client-btn{border-radius:var(--radius);font:inherit;cursor:pointer;border:1px solid #0000;flex:1;padding:.75rem 1rem;font-weight:600}.client-btn:disabled{opacity:.5;cursor:not-allowed}.client-btn-primary{background:var(--accent);color:#1a1d26}.client-btn-primary:hover:not(:disabled){background:var(--accent-dim)}.client-btn-secondary{background:var(--surface);border-color:var(--border);color:var(--text)}.client-slot-grid{gap:var(--space-2);grid-template-columns:repeat(2,1fr);display:grid}.client-slot-btn{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font:inherit;cursor:pointer;padding:.65rem}.client-slot-btn.is-selected{border-color:var(--accent);background:#f0a5001f}.client-date-list,.client-date-picker{gap:var(--space-2);flex-direction:column;display:flex}.client-datetime-picker{gap:var(--space-3);flex-direction:column;display:flex}.client-date-carousel{grid-template-columns:auto 1fr auto;align-items:center;gap:4px;display:grid}.client-date-carousel-arrow{border:1px solid var(--border);background:var(--surface);width:1.75rem;height:1.75rem;color:var(--muted);cursor:pointer;border-radius:999px;padding:0;font-size:1.1rem;line-height:1}.client-date-carousel-arrow:disabled{opacity:.25;cursor:default}.client-date-carousel-arrow:not(:disabled):hover{border-color:var(--accent);color:var(--text)}.client-date-carousel-viewport{position:relative;overflow:hidden}.client-date-carousel-track{scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:8px;padding:2px 0;display:flex;overflow-x:auto}.client-date-carousel-track::-webkit-scrollbar{display:none}.client-date-carousel-fade{pointer-events:none;width:1.5rem;position:absolute;top:0;bottom:0}.client-date-carousel-fade--right{background:linear-gradient(to left, var(--surface), transparent);right:0}.client-date-chip{scroll-snap-align:start;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-width:3.25rem;font:inherit;cursor:pointer;flex-direction:column;flex:none;align-items:center;padding:.5rem .65rem;display:flex}.client-date-chip.is-selected{border-color:var(--accent);background:#f0a50029;font-weight:600}.client-date-chip.is-today:not(.is-selected){box-shadow:inset 0 0 0 2px #f0a50073}.client-date-chip-weekday{color:var(--muted);text-transform:lowercase;font-size:.7rem}.client-date-chip-day{font-size:1.1rem;line-height:1.2}.client-date-chip-tag{text-transform:uppercase;letter-spacing:.02em;color:var(--accent-dim);margin-top:2px;font-size:.5rem}.client-time-section-title{margin:0 0 var(--space-2);font-size:.95rem;font-weight:600}.client-time-group-label{margin:0 0 var(--space-1);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.client-time-group{margin-bottom:var(--space-2)}.client-time-loading,.client-time-empty{color:var(--muted);margin:0;font-size:.875rem}.client-datetime-hint{color:var(--muted);margin:0;font-size:.8125rem;line-height:1.4}.client-manager-call--inline{padding-top:var(--space-2);border-top:1px solid var(--border);margin-top:0}.client-date-picker-month{text-transform:capitalize;margin:0;font-size:1rem;font-weight:600}.client-date-picker-weekdays{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.client-date-picker-weekday{text-align:center;color:var(--muted);font-size:.75rem;font-weight:600}.client-date-picker-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.client-date-cell{border-radius:var(--radius);min-height:3rem;font:inherit;cursor:default;background:0 0;border:1px solid #0000;flex-direction:column;justify-content:center;align-items:center;padding:.25rem;display:flex}.client-date-cell.is-enabled{cursor:pointer;background:var(--surface);border-color:var(--border)}.client-date-cell.is-enabled:hover{border-color:var(--accent)}.client-date-cell.is-selected{border-color:var(--accent);background:#f0a50029;font-weight:600}.client-date-cell.is-today:not(.is-selected){box-shadow:inset 0 0 0 2px var(--accent)}.client-date-cell.is-weekend.is-enabled{color:var(--muted)}.client-date-cell.is-disabled{opacity:.28}.client-date-cell-day{font-size:.95rem;line-height:1.2}.client-date-cell-tag{text-transform:uppercase;letter-spacing:.02em;color:var(--accent-dim);margin-top:2px;font-size:.55rem}.client-date-picker-hint{margin:var(--space-2) 0 0;color:var(--muted);font-size:.8125rem;line-height:1.4}.client-saved-vehicle-title{margin:0 0 var(--space-2);color:var(--muted);font-size:.9rem}.client-saved-vehicle-card{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-hover);margin-bottom:var(--space-3)}.client-saved-vehicle-plate{letter-spacing:.04em;margin:0;font-size:1.1rem;font-weight:700}.client-saved-vehicle-model{margin:.25rem 0 0;font-weight:600}.client-saved-vehicle-meta{color:var(--muted);margin:.25rem 0 0;font-size:.875rem}.client-date-btn{text-align:left;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font:inherit;cursor:pointer;padding:.75rem}.client-date-btn.is-selected{border-color:var(--accent);background:#f0a5001f}.client-error{margin-top:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius);background:var(--flash-error-bg);color:var(--red);font-size:.9rem}.client-error a{color:inherit;font-weight:600;text-decoration:underline}.client-success-icon{margin-bottom:var(--space-2);font-size:2.5rem}.client-summary-row{justify-content:space-between;gap:var(--space-2);padding:.35rem 0;font-size:.95rem;display:flex}.client-summary-row span:first-child{color:var(--muted)}.client-muted-note{margin:var(--space-3) 0 0;color:var(--muted);font-size:.9rem}.client-status-badge{margin-bottom:var(--space-3);background:var(--flash-success-bg);border-radius:999px;padding:.35rem .75rem;font-size:.95rem;font-weight:600;display:inline-block}.client-cta-hero{text-align:center;padding:var(--space-5) 0}.client-cta-hero h2{margin:0 0 var(--space-2);font-size:1.75rem}.client-cta-hero p{margin:0 0 var(--space-4);color:var(--muted)}.client-booking-list{gap:var(--space-3);flex-direction:column;display:flex}.client-booking-list-item{color:inherit;text-decoration:none;transition:border-color .15s;display:block}.client-booking-list-item:hover{border-color:var(--accent)}.client-booking-list-problem{margin:var(--space-2) 0 0;color:var(--muted);white-space:pre-wrap;font-size:.9rem}.client-chat{margin-top:var(--space-3)}.client-chat-title{margin:0 0 var(--space-3);font-size:1.1rem;font-weight:600}.client-chat-list{gap:var(--space-2);max-height:16rem;margin-bottom:var(--space-3);flex-direction:column;display:flex;overflow-y:auto}.client-chat-bubble{max-width:85%;padding:var(--space-2) var(--space-3);border-radius:var(--radius);font-size:.9rem}.client-chat-bubble--out{background:color-mix(in srgb, var(--accent) 18%, var(--surface));align-self:flex-end}.client-chat-bubble--in{background:var(--surface-hover);align-self:flex-start}.client-chat-body{white-space:pre-wrap;word-break:break-word;margin:0}.client-chat-time{margin-top:var(--space-1);color:var(--muted);font-size:.75rem;display:block}.client-chat-compose{gap:var(--space-2);flex-direction:column;display:flex}.client-chat-input{width:100%;min-height:3.5rem;padding:var(--space-2);border-radius:var(--radius);border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit;resize:vertical}
