:root{--booking-primary:#2563eb;--booking-accent:#047857;--booking-bg:#050914;--booking-surface:#0b1220;--booking-surface-muted:#111a2b;--booking-line:#94a3b83d;--booking-text:#e5edf8;--booking-muted:#94a3b8;--booking-ink:#f8fafc;--booking-warning:#fbbf24;color:var(--booking-text);background:var(--booking-bg);font-synthesis:none;letter-spacing:0;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}html{background:var(--booking-bg);overflow-x:hidden}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,input{font:inherit}button{border:0}.material-symbols-outlined{font-variation-settings:"FILL" 0, "wght" 550, "GRAD" 0, "opsz" 24;font-family:Material Symbols Outlined,sans-serif;line-height:1}.booking-page{background:linear-gradient(180deg, #2563eb14 0, transparent 320px), linear-gradient(135deg, #04785712 0, transparent 42%), var(--booking-bg);min-height:100dvh;padding:24px}.booking-page-centred{place-items:center;display:grid}.booking-shell{width:min(1180px,100%);margin:0 auto}.booking-topbar{justify-content:space-between;align-items:center;gap:18px;min-height:84px;padding:8px 0 22px;display:flex}.booking-brand-lockup,.booking-visual-header{align-items:center;gap:14px;min-width:0;display:flex}.booking-brand-avatar{color:#fff;background:linear-gradient(135deg, color-mix(in srgb, var(--booking-primary) 86%, #07101d), var(--booking-accent));border:1px solid #ffffffb8;border-radius:8px;flex:none;place-items:center;width:58px;height:58px;font-weight:900;display:grid;overflow:hidden}.booking-brand-avatar.has-image{background:#020617c7;border-color:#94a3b847;box-shadow:inset 0 0 0 1px #ffffff0f}.booking-brand-avatar img{object-fit:contain;background:0 0;width:100%;height:100%}.booking-kicker{color:var(--booking-primary);letter-spacing:0;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:900}.booking-topbar h1,.booking-form-heading h2,.booking-empty-state h1{color:var(--booking-ink);margin:2px 0 0;line-height:1.08}.booking-topbar h1{font-size:2rem}.booking-secure-badge,.booking-status-pill{color:#1d4ed8;white-space:nowrap;background:#ffffffdb;border:1px solid #2563eb2e;border-radius:999px;align-items:center;gap:7px;min-height:34px;padding:7px 11px;font-size:.82rem;font-weight:900;display:inline-flex}.booking-secure-badge .material-symbols-outlined{font-size:18px}.booking-workspace{grid-template-columns:minmax(0,1.02fr) minmax(320px,.74fr);align-items:stretch;gap:18px;display:grid}.booking-workspace.is-single{grid-template-columns:minmax(0,760px);justify-content:start}.booking-form-card,.booking-journey-visual,.booking-empty-state,.booking-state{border:1px solid var(--booking-line);border-radius:8px;box-shadow:0 20px 48px #171b2214}.booking-form-card{background:#fffffff5;gap:18px;min-width:0;padding:24px;display:grid}.booking-form-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.booking-form-heading h2{font-size:1.85rem}.booking-progress{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.booking-progress li{min-width:0;min-height:38px;color:var(--booking-muted);white-space:nowrap;background:#f8fafc;border:1px solid #d7e0ea;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:7px;font-size:.82rem;font-weight:900;display:inline-flex}.booking-progress li span{color:#fff;background:#98a2b3;border-radius:999px;place-items:center;width:22px;height:22px;font-size:.76rem;display:grid}.booking-progress li.is-active{color:var(--booking-ink);border-color:color-mix(in srgb, var(--booking-primary) 28%, #d7e0ea);background:color-mix(in srgb, var(--booking-primary) 7%, #fff)}.booking-progress li.is-active span{background:var(--booking-primary)}.booking-disabled-note{color:#7c2d12;background:#fff7ed;border:1px solid #b453093d;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:12px;display:grid}.booking-disabled-note p{margin:0;font-weight:700}.booking-disabled-note .material-symbols-outlined{margin-top:1px;font-size:20px}.booking-disabled-card{align-content:start}.booking-disabled-actions{flex-wrap:wrap;gap:10px;display:flex}.booking-disabled-actions .booking-status-link,.booking-disabled-actions .booking-refresh-button{flex:180px}.booking-public-note,.booking-policy-note{border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:12px;display:grid}.booking-public-note{border:1px solid color-mix(in srgb, var(--booking-primary) 22%, #d7e0ea);color:var(--booking-text);background:color-mix(in srgb, var(--booking-primary) 7%, #fff)}.booking-policy-note{color:#475467;background:#f8fafc;border:1px solid #d7e0ea}.booking-public-note p,.booking-policy-note p{overflow-wrap:anywhere;margin:0;font-weight:750}.booking-public-note .material-symbols-outlined,.booking-policy-note .material-symbols-outlined{color:var(--booking-primary);margin-top:1px;font-size:20px}.booking-fieldset{border:0;gap:14px;min-width:0;margin:0;padding:0;display:grid}.booking-fieldset:disabled{opacity:.66}.booking-field{gap:7px;min-width:0;display:grid}.booking-field>span,.booking-field-label{color:#344054;align-items:center;gap:7px;font-size:.92rem;font-weight:800;display:flex}.booking-field .material-symbols-outlined{color:var(--booking-primary);font-size:19px}.booking-field input{width:100%;min-height:48px;color:var(--booking-text);background:#fff;border:1px solid #cfd8e3;border-radius:6px;padding:11px 12px}.booking-field input:focus{outline:3px solid color-mix(in srgb, var(--booking-primary) 18%, transparent);border-color:var(--booking-primary)}.booking-address-combobox{min-width:0;position:relative}.booking-address-combobox input{padding-right:44px}.booking-address-selected{color:var(--booking-accent);display:inline-flex;position:absolute;top:13px;right:12px}.booking-address-selected .material-symbols-outlined{font-size:21px}.booking-address-suggestions{z-index:20;background:#fff;border:1px solid #d7e0ea;border-radius:8px;max-height:260px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 18px 36px #171b2229}.booking-address-option{width:100%;color:var(--booking-text);text-align:left;cursor:pointer;background:0 0;border-radius:6px;gap:3px;padding:10px;display:grid}.booking-address-option:hover,.booking-address-option:focus{background:var(--booking-surface-muted);outline:0}.booking-address-option strong,.booking-address-option span{overflow-wrap:anywhere;min-width:0}.booking-address-option span{color:var(--booking-muted);font-size:.82rem;font-weight:800}.booking-address-option.is-muted{color:var(--booking-muted);cursor:default}.booking-field-error{color:#b42318;font-size:.84rem;font-weight:800}.booking-field input[aria-invalid=true]{border-color:#f04438}.booking-two-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.booking-segmented-control{background:var(--booking-surface-muted);border:1px solid #d7e0ea;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:4px;display:grid}.booking-segmented-control button{color:#475467;cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:42px;font-weight:900;display:inline-flex}.booking-segmented-control button.is-active{color:#fff;background:var(--booking-primary);box-shadow:0 8px 18px color-mix(in srgb, var(--booking-primary) 24%, transparent)}.booking-primary-button{color:#fff;background:var(--booking-primary);cursor:pointer;min-height:50px;box-shadow:0 12px 24px color-mix(in srgb, var(--booking-primary) 24%, transparent);border-radius:6px;justify-content:center;align-items:center;gap:9px;font-weight:900;display:inline-flex}.booking-primary-button:hover{filter:brightness(.96)}.booking-primary-button:focus{outline:3px solid color-mix(in srgb, var(--booking-primary) 26%, transparent);outline-offset:2px}.booking-primary-button:disabled{cursor:wait;opacity:.72}.booking-confirm-button{color:#fff;background:var(--booking-accent);cursor:pointer;min-height:48px;box-shadow:0 12px 24px color-mix(in srgb, var(--booking-accent) 22%, transparent);border-radius:6px;justify-content:center;align-items:center;gap:9px;font-weight:900;display:inline-flex}.booking-confirm-button:hover{filter:brightness(.96)}.booking-confirm-button:focus{outline:3px solid color-mix(in srgb, var(--booking-accent) 26%, transparent);outline-offset:2px}.booking-confirm-button:disabled{cursor:wait;opacity:.72}.booking-icon-spin{animation:.9s linear infinite booking-spin}.booking-submit-state{color:var(--booking-muted);margin:-4px 0 0;font-weight:700}.booking-quote-panel{border:1px solid color-mix(in srgb, var(--booking-primary) 22%, #d7e0ea);background:linear-gradient(135deg, color-mix(in srgb, var(--booking-primary) 8%, transparent), transparent 54%), #fff;border-radius:8px;gap:15px;padding:16px;display:grid}.booking-quote-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.booking-quote-heading h3{color:var(--booking-ink);margin:1px 0 0;font-size:1.18rem}.booking-quote-heading strong{color:var(--booking-ink);white-space:nowrap;font-size:1.55rem;line-height:1.1}.booking-review-note{color:var(--booking-muted);margin:-4px 0 0;font-weight:760}.booking-quote-route{gap:10px;display:grid}.booking-quote-stop{background:#f8fafc;border:1px solid #e4eaf1;border-radius:8px;grid-template-columns:30px minmax(0,1fr);align-items:flex-start;gap:10px;padding:11px;display:grid}.booking-quote-stop>.material-symbols-outlined{color:#fff;background:var(--booking-primary);border-radius:999px;place-items:center;width:30px;height:30px;font-size:18px;display:grid}.booking-quote-stop span:not(.material-symbols-outlined){color:var(--booking-muted);text-transform:uppercase;font-size:.78rem;font-weight:900;display:block}.booking-quote-stop strong{min-width:0;color:var(--booking-text);overflow-wrap:anywhere;margin-top:2px;display:block}.booking-quote-meta{flex-wrap:wrap;gap:8px;display:flex}.booking-quote-meta span{color:#344054;background:var(--booking-surface-muted);border-radius:999px;align-items:center;min-height:30px;padding:6px 9px;font-size:.84rem;font-weight:900;display:inline-flex}.booking-quote-warnings{color:#7c2d12;background:#fff7ed;border:1px solid #b453093d;border-radius:8px;gap:6px;padding:11px;display:grid}.booking-quote-warnings p{margin:0;font-weight:800}.booking-payment-choice{background:#f8fafc;border:1px solid #d7e0ea;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:4px;display:grid}.booking-payment-choice button{color:#475467;cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:9px;font-weight:900;display:inline-flex}.booking-payment-choice button.is-active{color:#fff;background:var(--booking-accent);box-shadow:0 8px 18px color-mix(in srgb, var(--booking-accent) 22%, transparent)}.booking-confirmation-panel{text-align:center;justify-items:center;gap:14px;display:grid}.booking-confirmation-icon{color:#fff;background:var(--booking-accent);width:66px;height:66px;box-shadow:0 16px 32px color-mix(in srgb, var(--booking-accent) 22%, transparent);border-radius:999px;place-items:center;display:grid}.booking-confirmation-icon .material-symbols-outlined{font-variation-settings:"FILL" 1, "wght" 650, "GRAD" 0, "opsz" 24;font-size:36px}.booking-confirmation-panel h2{color:var(--booking-ink);margin:0;font-size:1.7rem;line-height:1.12}.booking-confirmation-message{max-width:520px;color:var(--booking-muted);margin:0;font-weight:750}.booking-confirmation-reference{border:1px solid color-mix(in srgb, var(--booking-accent) 28%, #d7e0ea);background:#f0fdf4;border-radius:8px;gap:4px;width:min(340px,100%);padding:13px;display:grid}.booking-confirmation-reference span,.booking-confirmation-details span{color:var(--booking-muted);text-transform:uppercase;font-size:.78rem;font-weight:900}.booking-confirmation-reference strong{color:var(--booking-ink);overflow-wrap:anywhere;font-size:1.35rem}.booking-confirmation-details{text-align:left;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;display:grid}.booking-confirmation-details div{background:#f8fafc;border:1px solid #e4eaf1;border-radius:8px;gap:3px;min-width:0;padding:12px;display:grid}.booking-confirmation-details strong{color:var(--booking-text);overflow-wrap:anywhere}.booking-payment-status,.booking-card-payment-panel{background:#fff;border:1px solid #d7e0ea;border-radius:8px;width:100%}.booking-payment-status{text-align:left;grid-template-columns:42px minmax(0,1fr);align-items:start;gap:12px;padding:13px;display:grid}.booking-payment-status>.material-symbols-outlined{color:#fff;background:var(--booking-primary);border-radius:999px;place-items:center;width:42px;height:42px;display:grid}.booking-payment-status.tone-success>.material-symbols-outlined{background:var(--booking-accent)}.booking-payment-status.tone-problem>.material-symbols-outlined,.booking-payment-status.tone-cancelled>.material-symbols-outlined{background:#b42318}.booking-payment-status span:not(.material-symbols-outlined),.booking-payment-status small{color:var(--booking-muted);text-transform:uppercase;font-size:.78rem;font-weight:900}.booking-payment-status strong{color:var(--booking-ink);margin-top:2px;font-size:1.03rem;display:block}.booking-payment-status p{color:var(--booking-muted);margin:4px 0 0;font-weight:750}.booking-card-payment-panel{text-align:left;gap:13px;padding:14px;display:grid}.booking-payment-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.booking-payment-heading h3{color:var(--booking-ink);margin:1px 0 0;font-size:1.18rem}.booking-payment-heading>.material-symbols-outlined{color:var(--booking-primary);font-size:28px}.booking-card-payment-form{gap:12px;display:grid}.booking-stripe-element{background:#fff;border:1px solid #cfd8e3;border-radius:6px;min-height:48px;padding:13px 12px}.booking-payment-section{gap:12px;display:grid}.booking-status-link{color:#fff;background:var(--booking-primary);min-height:46px;box-shadow:0 12px 24px color-mix(in srgb, var(--booking-primary) 22%, transparent);border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-weight:900;text-decoration:none;display:inline-flex}.booking-status-link:focus{outline:3px solid color-mix(in srgb, var(--booking-primary) 26%, transparent);outline-offset:2px}.booking-status-shell{max-width:960px}.booking-status-workspace{display:grid}.booking-status-card{border:1px solid var(--booking-line);background:#fffffff5;border-radius:8px;gap:16px;min-width:0;padding:24px;display:grid;box-shadow:0 20px 48px #171b2214}.booking-status-card-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.booking-status-card-heading h2{color:var(--booking-ink);overflow-wrap:anywhere;margin:2px 0 0;font-size:1.8rem;line-height:1.1}.booking-refresh-button{min-height:42px;color:var(--booking-text);cursor:pointer;background:#fff;border:1px solid #d7e0ea;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:9px 12px;font-weight:900;display:inline-flex}.booking-refresh-button:focus{outline:3px solid color-mix(in srgb, var(--booking-primary) 20%, transparent);outline-offset:2px}.booking-refresh-button:disabled{cursor:wait;opacity:.72}.booking-status-badge,.booking-status-hero{border:1px solid color-mix(in srgb, var(--booking-primary) 24%, #d7e0ea);background:linear-gradient(135deg, color-mix(in srgb, var(--booking-primary) 8%, transparent), transparent 58%), #fff;border-radius:8px;grid-template-columns:54px minmax(0,1fr);align-items:start;gap:14px;padding:16px;display:grid}.booking-status-badge>.material-symbols-outlined,.booking-status-hero>.material-symbols-outlined{color:#fff;background:var(--booking-primary);border-radius:999px;place-items:center;width:54px;height:54px;font-size:30px;display:grid}.booking-status-badge.tone-active>.material-symbols-outlined,.booking-status-badge.tone-complete>.material-symbols-outlined,.booking-status-hero.tone-active>.material-symbols-outlined,.booking-status-hero.tone-complete>.material-symbols-outlined{background:var(--booking-accent)}.booking-status-badge.tone-problem>.material-symbols-outlined,.booking-status-badge.tone-cancelled>.material-symbols-outlined,.booking-status-hero.tone-problem>.material-symbols-outlined,.booking-status-hero.tone-cancelled>.material-symbols-outlined{background:#b42318}.booking-status-badge span:not(.material-symbols-outlined),.booking-status-hero span:not(.material-symbols-outlined),.booking-status-detail span{color:var(--booking-muted);text-transform:uppercase;font-size:.78rem;font-weight:900}.booking-status-badge strong,.booking-status-hero strong{color:var(--booking-ink);overflow-wrap:anywhere;margin-top:2px;font-size:1.48rem;line-height:1.1;display:block}.booking-status-hero p,.booking-status-message{color:var(--booking-muted);margin:6px 0 0;font-size:1.02rem;font-weight:760;line-height:1.45}.booking-cancel-panel{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.booking-cancel-panel strong{color:#7c2d12;margin-top:2px;font-size:.96rem;line-height:1.35;display:block}.booking-cancel-button{color:#9a3412;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #fb923c;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:42px;padding:9px 12px;font-weight:900;display:inline-flex}.booking-cancel-button:focus{outline-offset:2px;outline:3px solid #fb923c47}.booking-cancel-button:disabled{cursor:wait;opacity:.72}.booking-action-message{border-radius:8px;margin:0;padding:11px 12px;font-weight:850}.booking-action-message.is-success{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0}.booking-action-message.is-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.booking-status-route,.booking-status-grid,.booking-driver-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.booking-status-section{background:#fff;border:1px solid #e4eaf1;border-radius:8px;gap:12px;padding:16px;display:grid}.booking-status-section-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.booking-status-section-heading h3{color:var(--booking-ink);margin:1px 0 0;font-size:1.16rem}.booking-status-section-heading>span{border:1px solid color-mix(in srgb, var(--booking-primary) 20%, #d7e0ea);max-width:46%;color:var(--booking-primary);background:color-mix(in srgb, var(--booking-primary) 7%, #fff);text-align:right;overflow-wrap:anywhere;border-radius:999px;flex:none;padding:7px 9px;font-size:.78rem;font-weight:900}.booking-status-detail{background:#f8fafc;border:1px solid #e4eaf1;border-radius:8px;gap:3px;min-width:0;padding:12px;display:grid}.booking-status-detail strong{color:var(--booking-text);overflow-wrap:anywhere}.booking-vehicle-fallback{background:#fff7ed;border-color:#fed7aa}.booking-vehicle-fallback strong{color:#9a3412}.booking-driver-panel{border:1px solid color-mix(in srgb, var(--booking-accent) 22%, #d7e0ea);background:linear-gradient(135deg, color-mix(in srgb, var(--booking-accent) 8%, transparent), transparent 58%), #fff;border-radius:8px;gap:12px;padding:16px;display:grid}.booking-driver-panel h3{color:var(--booking-ink);margin:1px 0 0;font-size:1.2rem}.booking-driver-panel p{color:var(--booking-muted);margin:0;font-weight:760}.booking-status-progress{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.booking-status-progress li{min-width:0;color:var(--booking-muted);text-align:center;background:#f8fafc;border:1px solid #e4eaf1;border-radius:8px;justify-items:center;gap:5px;padding:9px 4px;display:grid}.booking-status-progress .material-symbols-outlined{color:#64748b;background:#e8eef5;border-radius:999px;place-items:center;width:28px;height:28px;font-size:18px;display:grid}.booking-status-progress strong{min-width:0;color:inherit;overflow-wrap:anywhere;font-size:.74rem;line-height:1.16}.booking-status-progress li.is-complete,.booking-status-progress li.is-active{border-color:color-mix(in srgb, var(--booking-primary) 26%, #d7e0ea);color:var(--booking-ink);background:#fff}.booking-status-progress li.is-complete .material-symbols-outlined{color:#fff;background:var(--booking-accent)}.booking-status-progress li.is-active .material-symbols-outlined{color:#fff;background:var(--booking-primary);box-shadow:0 0 0 6px color-mix(in srgb, var(--booking-primary) 12%, transparent)}.booking-status-progress.is-problem li.is-active .material-symbols-outlined{background:#b42318;box-shadow:0 0 0 6px #b423181f}.booking-passenger-tracking{border:1px solid color-mix(in srgb, var(--booking-primary) 22%, #d7e0ea);background:linear-gradient(135deg, color-mix(in srgb, var(--booking-primary) 7%, transparent), transparent 62%), #fff;border-radius:8px;gap:14px;min-width:0;padding:16px;display:grid}.booking-passenger-tracking.is-waiting,.booking-passenger-tracking.is-terminal{grid-template-columns:50px minmax(0,1fr);align-items:center}.booking-passenger-tracking.is-terminal{border-color:color-mix(in srgb, var(--booking-accent) 18%, #d7e0ea);background:#fff}.booking-passenger-tracking.is-approaching{border-color:color-mix(in srgb, var(--booking-accent) 34%, #d7e0ea);background:linear-gradient(135deg, color-mix(in srgb, var(--booking-accent) 9%, transparent), transparent 60%), #fff;box-shadow:0 18px 42px color-mix(in srgb, var(--booking-accent) 14%, transparent)}.booking-tracking-icon{color:#fff;background:var(--booking-primary);width:50px;height:50px;box-shadow:0 14px 28px color-mix(in srgb, var(--booking-primary) 18%, transparent);border-radius:999px;place-items:center;display:grid}.booking-tracking-icon .material-symbols-outlined{font-size:29px}.booking-passenger-tracking h3,.booking-live-map-placeholder strong{color:var(--booking-ink);margin:1px 0 0;font-size:1.22rem}.booking-passenger-tracking p{color:var(--booking-muted);margin:5px 0 0;font-weight:760}.booking-live-tracking-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.booking-live-eta{border:1px solid color-mix(in srgb, var(--booking-accent) 26%, #d7e0ea);text-align:right;background:#f0fdf4;border-radius:8px;gap:3px;min-width:128px;padding:11px;display:grid}.booking-live-eta span{color:#047857;text-transform:uppercase;font-size:.72rem;font-weight:900}.booking-live-eta strong{color:#064e3b;line-height:1.18}.booking-live-map,.booking-live-map-placeholder{background:#dce6ef;border:1px solid #d7e0ea;border-radius:8px;min-height:340px;position:relative;overflow:hidden}.booking-live-map{cursor:grab;overscroll-behavior:contain;touch-action:none}.booking-live-map.is-dragging{cursor:grabbing}.booking-preview-map{background:#dce6ef;border-color:#94a3b842;min-height:344px}.booking-quote-map{min-height:260px}.booking-journey-visual .booking-preview-map{border-color:#94a3b84d}.booking-journey-visual .booking-live-map-placeholder{color:#e5edf8;background:linear-gradient(135deg,#60a5fa1f,#0000 56%),#0f172a9e}.booking-journey-visual .booking-live-map-placeholder strong{color:#fff}.booking-journey-visual .booking-live-map-placeholder p{color:#cbd5e1}.booking-live-map-tiles,.booking-live-map-overlay{position:absolute;inset:0}.booking-live-map-tiles img{-webkit-user-select:none;user-select:none;pointer-events:none;width:256px;height:256px;position:absolute}.booking-live-map:after{content:"";pointer-events:none;background:linear-gradient(#fff3,#0000 28%),linear-gradient(#0000 66%,#0f172a2e);position:absolute;inset:0}.booking-live-map-marker{z-index:2;filter:drop-shadow(0 8px 16px #0f172a3d);justify-items:center;gap:4px;display:grid;position:absolute;transform:translate(-50%,-100%)}.booking-live-map-marker>.material-symbols-outlined{color:#fff;background:var(--booking-primary);border:3px solid #fff;border-radius:999px;place-items:center;width:42px;height:42px;font-size:24px;display:grid}.booking-live-map-marker.is-driver>.material-symbols-outlined{background:#f59e0b}.booking-live-map-marker.is-pickup>.material-symbols-outlined{background:var(--booking-primary)}.booking-live-map-marker.is-destination>.material-symbols-outlined{background:var(--booking-accent)}.booking-live-map-marker small{color:#0f172a;white-space:nowrap;background:#fffffff0;border-radius:999px;padding:3px 7px;font-size:.72rem;font-weight:900}.booking-live-map-attribution{z-index:3;color:#475467;background:#ffffffe6;border-radius:5px;padding:3px 6px;font-size:.68rem;font-weight:800;position:absolute;bottom:6px;right:8px}.booking-live-map-placeholder{background:#f8fafc;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px;min-height:132px;padding:14px;display:grid}.booking-live-map-placeholder>.material-symbols-outlined{color:#fff;background:var(--booking-primary);border-radius:999px;place-items:center;width:44px;height:44px;font-size:26px;display:grid}.booking-preview-caption{color:#dbeafe;background:#0f172a7a;border:1px solid #94a3b838;border-radius:8px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;padding:10px;display:grid}.booking-preview-caption .material-symbols-outlined{color:#07101d;background:#fbbf24;border-radius:999px;place-items:center;width:34px;height:34px;display:grid}.booking-preview-caption p{color:#e5edf8;margin:0;font-size:.84rem;font-weight:800;line-height:1.35}.booking-preview-caption small{color:#93c5fd;grid-column:2;margin-top:-4px;font-size:.72rem;font-weight:850}.booking-live-tracking-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.booking-status-footer{color:var(--booking-muted);flex-wrap:wrap;gap:8px;font-size:.86rem;font-weight:800;display:flex}.booking-journey-visual{color:#f8fafc;background:linear-gradient(145deg, #07101dfa, #0e1d30f5), var(--booking-ink);grid-template-rows:auto minmax(280px,1fr) auto;gap:16px;min-width:0;min-height:520px;padding:22px;display:grid;overflow:hidden}.booking-journey-visual .booking-kicker{color:#93c5fd}.booking-visual-header strong{color:#fff;overflow-wrap:anywhere;font-size:1.2rem;display:block}.booking-contact-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.booking-contact-strip.has-single{grid-template-columns:1fr}.booking-contact-item{color:#e5edf8;overflow-wrap:anywhere;background:#0f172a8a;border:1px solid #94a3b838;border-radius:6px;align-items:center;gap:8px;min-width:0;min-height:42px;padding:9px 10px;font-size:.88rem;font-weight:800;text-decoration:none;display:inline-flex}.booking-contact-item .material-symbols-outlined{color:#93c5fd;flex:none;font-size:18px}.booking-contact-item.is-muted{color:#dbeafe}.booking-disabled-contact-fallback{min-height:42px;color:var(--booking-muted);background:#fff;border:1px solid #d7e0ea;border-radius:6px;align-items:center;padding:9px 12px;font-weight:850;display:inline-flex}.booking-state,.booking-empty-state{text-align:center;background:#fffffff5;justify-items:center;gap:12px;width:min(620px,100%);padding:34px;display:grid}.booking-empty-mark{width:74px;height:74px}.booking-empty-state h1{font-size:2rem}.booking-empty-state p{max-width:460px;color:var(--booking-muted);margin:0}.booking-spinner{border:3px solid #d7e0ea;border-top-color:var(--booking-primary);border-radius:999px;width:34px;height:34px;animation:.8s linear infinite booking-spin}html,body{background:var(--booking-bg)}.booking-page{color:var(--booking-text);background:radial-gradient(circle at 18% 10%, color-mix(in srgb, var(--booking-primary) 16%, transparent), transparent 30%), radial-gradient(circle at 78% 8%, #14b8a61f, transparent 28%), linear-gradient(180deg, #07101d 0, #050914 58%, #030712 100%)}.booking-form-card,.booking-status-card,.booking-state,.booking-empty-state,.booking-quote-panel,.booking-payment-status,.booking-card-payment-panel,.booking-status-section,.booking-status-detail,.booking-passenger-tracking,.booking-driver-panel,.booking-confirmation-reference,.booking-confirmation-details div,.booking-quote-stop{border-color:var(--booking-line);background:linear-gradient(145deg, #0f172af0, #080d18fa), var(--booking-surface);box-shadow:0 20px 48px #0000003d}.booking-form-card,.booking-status-card{background:linear-gradient(180deg, #0f172af5, #080d18fa), var(--booking-surface)}.booking-topbar h1,.booking-form-heading h2,.booking-empty-state h1,.booking-quote-heading h3,.booking-quote-heading strong,.booking-confirmation-panel h2,.booking-confirmation-reference strong,.booking-payment-heading h3,.booking-payment-status strong,.booking-status-card-heading h2,.booking-status-section-heading h3,.booking-status-badge strong,.booking-status-hero strong,.booking-passenger-tracking h3,.booking-live-map-placeholder strong,.booking-status-detail strong,.booking-quote-stop strong,.booking-confirmation-details strong{color:var(--booking-ink)}.booking-review-note,.booking-confirmation-message,.booking-payment-status p,.booking-driver-panel p,.booking-status-hero p,.booking-status-message,.booking-passenger-tracking p,.booking-empty-state p,.booking-submit-state,.booking-status-footer,.booking-quote-meta span,.booking-status-section-heading>span{color:var(--booking-muted)}.booking-secure-badge,.booking-status-pill,.booking-refresh-button,.booking-disabled-contact-fallback{color:#dbeafe;background:#0f172ad1;border-color:#94a3b842}.booking-status-pill{color:#bbf7d0;background:#064e3b70}.booking-status-pill.is-unavailable{color:#fed7aa;background:#7c2d1275}.booking-progress li,.booking-status-progress li,.booking-payment-choice,.booking-segmented-control,.booking-quote-meta span,.booking-status-section-heading>span{background:#0f172aa8;border-color:#94a3b838}.booking-progress li.is-active,.booking-status-progress li.is-complete,.booking-status-progress li.is-active{color:var(--booking-ink);border-color:color-mix(in srgb, var(--booking-primary) 42%, #94a3b83d);background:color-mix(in srgb, var(--booking-primary) 12%, #0f172ad6)}.booking-field>span,.booking-field-label,.booking-payment-choice button,.booking-segmented-control button{color:#cbd5e1}.booking-field input,.booking-stripe-element{color:#f8fafc;background:#020617b8;border-color:#94a3b847}.booking-field input::placeholder{color:#64748b}.booking-field input:-webkit-autofill{-webkit-text-fill-color:#f8fafc;caret-color:#f8fafc;border-color:#fbbf2494;transition:background-color 9999s ease-out;box-shadow:inset 0 0 0 1000px #020617f5}.booking-field input:-webkit-autofill:hover{-webkit-text-fill-color:#f8fafc;caret-color:#f8fafc;border-color:#fbbf2494;transition:background-color 9999s ease-out;box-shadow:inset 0 0 0 1000px #020617f5}.booking-field input:-webkit-autofill:focus{-webkit-text-fill-color:#f8fafc;caret-color:#f8fafc;border-color:#fbbf2494;transition:background-color 9999s ease-out;box-shadow:inset 0 0 0 1000px #020617f5}.booking-field input:autofill{color:#f8fafc;background:#020617f5}.booking-address-suggestions{background:#08111f;border-color:#94a3b847;box-shadow:0 18px 36px #00000057}.booking-address-option{color:var(--booking-text)}.booking-address-option:hover,.booking-address-option:focus{background:#1e293beb}.booking-picker-field{min-width:0}.booking-picker-control{background:#020617b8;border:1px solid #94a3b847;border-radius:6px;grid-template-columns:minmax(0,1fr) 42px;align-items:stretch;min-height:48px;transition:border-color .16s,box-shadow .16s,background .16s;display:grid;position:relative}.booking-picker-control:focus-within{border-color:var(--booking-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--booking-primary) 18%, transparent)}.booking-picker-control input{color:#f8fafc;background:0 0;border:0;min-height:46px;padding:11px 0 11px 12px}.booking-picker-control input:focus{outline:0}.booking-picker-control input::placeholder{color:#64748b}.booking-picker-control>button{color:var(--booking-primary);cursor:pointer;background:0 0;place-items:center;display:grid}.booking-picker-control>button:disabled{cursor:not-allowed;opacity:.5}.booking-picker-control .material-symbols-outlined{font-size:21px}.booking-picker-layer{z-index:1200;pointer-events:none;position:fixed;inset:0}.booking-picker-backdrop{pointer-events:auto;background:0 0;position:fixed;inset:0}.booking-date-popover,.booking-time-popover{z-index:1201;color:#e5edf8;pointer-events:auto;background:linear-gradient(145deg,#0f172afa,#050914fa),#0b1220;border:1px solid #94a3b847;border-radius:10px;gap:13px;padding:14px;display:grid;position:fixed;overflow:hidden;box-shadow:0 24px 58px #0000007a}.booking-picker-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.booking-picker-head span,.booking-time-column>span{color:#94a3b8;text-transform:uppercase;font-size:.72rem;font-weight:900;display:block}.booking-picker-head strong{color:#f8fafc;margin-top:2px;font-size:1.04rem;line-height:1.2;display:block}.booking-picker-nav{gap:6px;display:inline-flex}.booking-picker-nav button{color:#dbeafe;cursor:pointer;background:#0f172ad1;border:1px solid #94a3b83d;border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.booking-picker-nav button:hover,.booking-picker-nav button:focus{border-color:color-mix(in srgb, var(--booking-primary) 46%, #94a3b83d);background:color-mix(in srgb, var(--booking-primary) 14%, #0f172ae6);outline:0}.booking-calendar-weekdays,.booking-calendar-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.booking-calendar-weekdays span{color:#94a3b8;place-items:center;min-height:24px;font-size:.72rem;font-weight:900;display:grid}.booking-calendar-day{color:#e5edf8;cursor:pointer;background:#0f172a9e;border:1px solid #94a3b829;border-radius:8px;place-items:center;min-width:0;min-height:34px;font-size:.85rem;font-weight:850;display:grid}.booking-calendar-day:not(.is-empty):hover,.booking-calendar-day:not(.is-empty):focus{border-color:color-mix(in srgb, var(--booking-primary) 48%, #94a3b833);background:color-mix(in srgb, var(--booking-primary) 16%, #0f172ad1);outline:0}.booking-calendar-day.is-empty{cursor:default;background:0 0;border-color:#0000}.booking-calendar-day.is-active{border-color:var(--booking-primary);color:#07101d;background:var(--booking-primary);box-shadow:0 10px 22px color-mix(in srgb, var(--booking-primary) 26%, transparent)}.booking-calendar-day.is-today:not(.is-active){color:#fde68a;background:#fbbf241a;border-color:#fbbf2470}.booking-calendar-day:disabled{color:#475569;cursor:not-allowed;opacity:.72;background:#0f172a42}.booking-picker-actions{justify-content:space-between;gap:8px;display:flex}.booking-picker-actions button{color:#dbeafe;cursor:pointer;background:#0f172ad1;border:1px solid #94a3b83d;border-radius:8px;min-height:34px;padding:7px 11px;font-size:.82rem;font-weight:900}.booking-picker-actions button:hover,.booking-picker-actions button:focus{border-color:color-mix(in srgb, var(--booking-primary) 42%, #94a3b83d);outline:0}.booking-time-columns{grid-template-columns:1fr 1fr .9fr;gap:10px;display:grid}.booking-time-column{gap:7px;min-width:0;display:grid}.booking-time-list{scrollbar-color:#94a3b866 #02061757;gap:5px;max-height:228px;padding-right:2px;display:grid;overflow-y:auto}.booking-time-list button{color:#e5edf8;cursor:pointer;background:#0f172a9e;border:1px solid #94a3b829;border-radius:8px;min-height:32px;font-weight:850}.booking-time-list button:hover,.booking-time-list button:focus{border-color:color-mix(in srgb, var(--booking-primary) 48%, #94a3b833);background:color-mix(in srgb, var(--booking-primary) 16%, #0f172ad1);outline:0}.booking-time-list button.is-active{border-color:var(--booking-primary);color:#07101d;background:var(--booking-primary)}.booking-time-column.is-period .booking-time-list{align-content:start;max-height:none;padding-top:34px;padding-right:0;overflow:visible}.booking-time-column.is-period .booking-time-list button{min-height:38px;padding:7px 10px}.booking-public-note,.booking-policy-note,.booking-disabled-note,.booking-quote-warnings,.booking-cancel-panel,.booking-action-message,.booking-live-eta,.booking-vehicle-fallback{color:#fde68a;background:linear-gradient(135deg,#fbbf241a,#0f172ab8),#0f172adb;border-color:#fbbf2452}.booking-public-note p,.booking-policy-note p,.booking-disabled-note p,.booking-quote-warnings p,.booking-cancel-panel strong,.booking-vehicle-fallback strong,.booking-live-eta strong{color:#fef3c7}.booking-action-message.is-success{color:#bbf7d0;background:#064e3b61;border-color:#10b9815c}.booking-action-message.is-error{color:#fecaca;background:#7f1d1d61;border-color:#f871716b}.booking-cancel-button{color:#fed7aa;background:#0f172ac7;border-color:#fb923c80}.booking-passenger-tracking.is-terminal,.booking-passenger-tracking.is-approaching,.booking-status-badge,.booking-status-hero{border-color:color-mix(in srgb, var(--booking-primary) 34%, #94a3b83d);background:linear-gradient(135deg, color-mix(in srgb, var(--booking-primary) 12%, transparent), transparent 58%), #080d18fa}.booking-live-map,.booking-live-map-placeholder,.booking-preview-map{background:radial-gradient(circle at 50% 42%,#94a3b81f,#0000 34%),#07101d;border-color:#94a3b83d}.booking-live-map-tiles img{filter:saturate(1.08)contrast(1.04)}.booking-live-map:after{background:radial-gradient(circle at 50% 45%,#0000 0 42%,#02061747 100%),linear-gradient(#02061729,#0000 32%,#02061742)}.booking-live-map-routes{z-index:1;width:100%;height:100%;transform:translate(var(--map-pan-x,0px), var(--map-pan-y,0px));pointer-events:none;position:absolute;inset:0;overflow:visible}.booking-map-route-halo,.booking-map-route-line{fill:none;stroke-linecap:round;stroke-linejoin:round}.booking-map-route-halo{stroke:#020617db;stroke-width:11px}.booking-map-route-line{stroke:var(--booking-primary);stroke-width:5px;filter:drop-shadow(0 0 8px color-mix(in srgb, var(--booking-primary) 34%, transparent))}.booking-map-route.is-driver .booking-map-route-line{stroke:#38bdf8}.booking-live-map-overlay{z-index:3}.booking-live-map-marker{z-index:4;filter:drop-shadow(0 10px 18px #00000061)}.booking-live-map-marker>.material-symbols-outlined{border-color:#f8fafceb;box-shadow:0 0 0 5px #02061747}.booking-live-map-marker[class*=is-nearby-driver]{transform:translate(-50%,-50%)}.booking-live-map-marker[class*=is-nearby-driver]>.material-symbols-outlined{color:#050914;background:#fbbf24;border-width:2px;width:30px;height:30px;font-size:18px}.booking-live-map-marker small{color:#f8fafc;background:#020617c7;box-shadow:0 0 0 1px #f8fafc1a}.booking-live-map-eta{z-index:5;color:#e0f2fe;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#020617c7;border:1px solid #f8fafc24;border-radius:8px;gap:1px;padding:7px 9px;display:grid;position:absolute;top:10px;left:10px;box-shadow:0 12px 24px #0000003d}.booking-live-map-eta span{color:#93c5fd;text-transform:uppercase;font-size:.58rem;font-weight:900}.booking-live-map-eta strong{color:#f8fafc;font-size:.86rem;line-height:1.1}.booking-live-map-controls{z-index:6;gap:6px;display:grid;position:absolute;top:10px;right:10px}.booking-live-map-controls button{color:#e0f2fe;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#020617c7;border:1px solid #f8fafc24;border-radius:8px;place-items:center;width:34px;height:34px;display:grid;box-shadow:0 12px 24px #0003}.booking-live-map-controls button:focus{outline:3px solid color-mix(in srgb, var(--booking-primary) 28%, transparent);outline-offset:2px}.booking-live-map-controls button:disabled{cursor:default;opacity:.42}.booking-live-map-controls .material-symbols-outlined{font-size:19px}.booking-live-map-controls,.booking-live-map-attribution{cursor:auto}.booking-live-map-attribution{z-index:5;color:#e2e8f08f;background:#0206176b;border-radius:3px;padding:1px 3px;font-size:.44rem;font-weight:650;line-height:1;bottom:4px;right:4px}.booking-spinner{border-color:#94a3b857;border-top-color:var(--booking-primary)}@keyframes booking-spin{to{transform:rotate(360deg)}}@media (width<=920px){.booking-page{padding:18px}.booking-workspace{grid-template-columns:1fr}.booking-journey-visual{grid-template-rows:auto 260px auto;min-height:380px}}@media (width<=640px){.booking-page{padding:max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left))}.booking-topbar,.booking-form-heading,.booking-status-card-heading{display:grid}.booking-topbar h1,.booking-empty-state h1{overflow-wrap:anywhere;font-size:1.65rem}.booking-secure-badge,.booking-status-pill{white-space:normal;width:fit-content;max-width:100%}.booking-form-card,.booking-journey-visual,.booking-status-card,.booking-state,.booking-empty-state{padding:16px}.booking-status-hero{grid-template-columns:46px minmax(0,1fr);padding:14px}.booking-status-hero>.material-symbols-outlined{width:46px;height:46px;font-size:26px}.booking-status-hero strong{font-size:1.28rem}.booking-status-section-heading{display:grid}.booking-status-section-heading>span{text-align:left;width:fit-content;max-width:100%}.booking-form-heading h2{font-size:1.45rem}.booking-two-column,.booking-confirmation-details,.booking-status-route,.booking-status-grid,.booking-driver-details,.booking-live-tracking-grid,.booking-contact-strip{grid-template-columns:1fr}.booking-cancel-panel{display:grid}.booking-cancel-button{width:100%}.booking-segmented-control{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-payment-choice{grid-template-columns:1fr}.booking-status-progress{grid-template-columns:repeat(4,minmax(0,1fr))}.booking-status-progress li{padding:8px 3px}.booking-status-progress strong{font-size:.7rem}.booking-passenger-tracking.is-waiting,.booking-live-tracking-header,.booking-live-map-placeholder{display:grid}.booking-live-eta{text-align:left;width:100%}.booking-live-map{min-height:290px}.booking-progress{gap:6px}.booking-progress li{gap:5px;min-height:34px;padding:6px 4px;font-size:.76rem}.booking-progress li span{width:20px;height:20px}.booking-primary-button,.booking-confirm-button,.booking-status-link,.booking-refresh-button{width:100%}.booking-quote-heading,.booking-payment-heading{display:grid}.booking-quote-heading strong{white-space:normal;font-size:1.42rem}.booking-date-popover.is-mobile-sheet,.booking-time-popover.is-mobile-sheet{border-radius:14px}.booking-time-columns{grid-template-columns:1fr 1fr .78fr}.booking-time-list{max-height:196px}.booking-journey-visual{grid-template-rows:auto 150px auto;gap:12px;min-height:260px}.booking-preview-map{min-height:150px}}@media (width<=380px){.booking-progress li{font-size:.7rem}.booking-progress li span{display:none}}
