:root{--background:#f7f8f5;--foreground:#1b2926;--card:#ffffff;--muted:#697773;--muted-surface:#eff3ef;--border:#d9e0da;--primary:#176d58;--primary-hover:#105744;--primary-foreground:#fff;--accent:#e4a832;--map:#dcebe1;--water:#bcdce1;--blue:#285e9a}*{box-sizing:border-box}html{background:#e9eeea;scroll-behavior:smooth}body{margin:0;background:var(--background);color:var(--foreground);font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}.site-shell{max-width:1440px;min-height:100vh;margin:0 auto;padding:0 clamp(20px,5.5vw,80px) 44px}.site-header{height:76px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:32px}.brand{color:var(--foreground);font-size:25px;font-weight:800;letter-spacing:0;text-decoration:none;white-space:nowrap}.brand span{color:var(--primary)}.site-nav{display:flex;align-items:center;gap:28px;margin-left:auto}.site-nav a{color:var(--muted);font-size:13px;font-weight:700;text-decoration:none}.site-nav a:hover{color:var(--foreground)}.header-controls{display:flex;align-items:center;gap:8px}.ui-button{align-items:center;border:1px solid transparent;border-radius:6px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:700;gap:8px;justify-content:center;line-height:1;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;white-space:nowrap}.ride-option:focus-visible,.ui-button:focus-visible,.ui-input:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.ui-button:disabled{cursor:not-allowed;opacity:.5}.ui-button--default{background:var(--primary);color:var(--primary-foreground)}.ui-button--default:hover{background:var(--primary-hover)}.ui-button--secondary{background:var(--muted-surface);color:var(--foreground)}.ui-button--secondary:hover{background:#e4ebe5}.ui-button--outline{background:var(--card);border-color:var(--border);color:var(--foreground)}.ui-button--outline:hover{background:var(--muted-surface)}.ui-button--ghost{background:transparent;color:var(--foreground)}.ui-button--ghost:hover{background:var(--muted-surface)}.ui-button--link{background:transparent;color:var(--primary);padding:0;text-decoration:underline;text-underline-offset:3px}.ui-button--default-size{height:42px;padding:0 16px}.ui-button--sm{height:32px;font-size:12px;padding:0 8px}.ui-button--icon{height:36px;padding:0;width:36px}.ui-card{background:var(--card);border:1px solid var(--border);border-radius:8px}.ui-card-header{align-items:flex-start;border-bottom:1px solid var(--border);display:flex;gap:16px;justify-content:space-between;padding:24px 24px 18px}.ui-card-title{font-size:19px;line-height:1.2;margin:0}.ui-card-description{color:var(--muted);font-size:13px;line-height:1.4;margin:6px 0 0}.ui-card-content{padding:20px 24px}.ui-card-footer{border-top:1px solid var(--border);padding:16px 24px}.ui-input{background:transparent;border:0;border-radius:0;color:var(--foreground);font-size:14px;height:23px;outline:0;padding:0;width:100%}.ui-badge{align-items:center;border:1px solid transparent;border-radius:999px;display:inline-flex;font-size:11px;font-weight:800;gap:5px;line-height:1;padding:6px 8px;white-space:nowrap}.ui-badge--default{background:var(--primary);color:white}.ui-badge--secondary{background:#e5f0ea;color:var(--primary)}.ui-badge--outline{background:transparent;border-color:var(--border);color:var(--muted)}.ui-avatar{align-items:center;background:#e4a832;border-radius:50%;display:inline-flex;height:36px;justify-content:center;overflow:hidden;width:36px}.ui-avatar-fallback{color:var(--foreground);font-size:11px;font-weight:800}.profile-avatar{background:#d5e7dc}.ui-separator{background:var(--border);height:1px;width:100%}.booking-heading{align-items:flex-end;display:flex;justify-content:space-between;padding:54px 0 34px}.booking-heading h1{font-size:48px;letter-spacing:0;line-height:1.02;margin:12px 0 0}.booking-heading p{color:var(--muted);font-size:16px;margin:12px 0 0}.heading-meta{align-items:flex-end;color:var(--muted);display:grid;grid-gap:2px;gap:2px;text-align:right}.heading-meta span{font-size:11px;font-weight:700;text-transform:uppercase}.heading-meta strong{color:var(--foreground);font-size:33px;line-height:1}.heading-meta small{font-size:12px}.booking-layout{display:grid;grid-template-columns:minmax(370px,470px) 1fr;min-height:548px}.booking-card{border-radius:8px 0 0 8px;box-shadow:0 16px 32px rgba(24,48,42,.07);z-index:1}.route-fields{border:1px solid var(--border);position:relative}.route-line{border-left:1px dashed #91a19b;height:35px;left:19px;position:absolute;top:33px}.location-field{align-items:center;display:flex;gap:12px;min-height:59px;padding:9px 13px}.location-field+.location-field{border-top:1px solid var(--border)}.location-field label{display:grid;flex:1 1;grid-gap:3px;gap:3px}.location-field label>span{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:1px;text-transform:uppercase}.location-field>svg{color:var(--muted);flex:none}.location-marker{border:2px solid var(--primary);border-radius:50%;height:10px;width:10px}.location-marker--destination{background:var(--accent);border-color:var(--accent);border-radius:2px}.schedule-button{justify-content:flex-start;margin:12px 0 20px;width:100%}.schedule-button span{flex:1 1;text-align:left}.ride-section-heading{align-items:center;display:flex;justify-content:space-between;margin:20px 0 10px}.ride-section-heading h2{font-size:16px;margin:0}.ride-section-heading p{color:var(--muted);font-size:12px;margin:4px 0 0}.ride-list{display:grid;grid-gap:6px;gap:6px}.ride-option{align-items:center;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--foreground);cursor:pointer;display:flex;gap:11px;min-height:60px;padding:9px;text-align:left;width:100%}.ride-option:hover{background:#f5f8f5}.ride-option[data-state=active]{background:#eef6f1;border-color:var(--primary)}.vehicle-mark{align-items:center;color:white;display:flex;height:36px;justify-content:center;width:45px}.vehicle-mark--amber{background:var(--accent)}.vehicle-mark--green{background:var(--primary)}.vehicle-mark--blue{background:var(--blue)}.ride-copy{display:grid;flex:1 1;grid-gap:4px;gap:4px}.ride-copy strong,.ride-cost strong{font-size:14px}.ride-copy small,.ride-cost small{align-items:center;color:var(--muted);display:flex;font-size:11px;gap:3px}.ride-cost{display:grid;grid-gap:4px;gap:4px;text-align:right}.ride-cost small{justify-content:flex-end}.wide-button{width:100%}.button-divider{background:rgba(255,255,255,.5);height:17px;margin:0 2px;width:1px}.map-surface{background:var(--map);border-radius:0 8px 8px 0;min-height:548px;overflow:hidden;position:relative}.map-grid{background-image:linear-gradient(25deg,transparent 48%,#f8faf7 49%,#f8faf7 51%,transparent 52%),linear-gradient(-43deg,transparent 48%,#edf3ed 49%,#edf3ed 51%,transparent 52%);background-size:180px 125px,160px 145px;inset:0;opacity:.85;position:absolute}.map-water{background:var(--water);border-radius:45% 55% 40% 60%;position:absolute;transform:rotate(-16deg)}.map-water--one{height:650px;right:-210px;top:-80px;width:320px}.map-water--two{bottom:-100px;height:160px;left:-250px;width:450px}.map-road{background:#f8faf7;height:17px;left:-20%;opacity:.97;position:absolute;top:var(--road-top);transform:rotate(var(--road-angle));width:150%}.map-road--one{--road-angle:15deg;--road-top:24%}.map-road--two{--road-angle:-24deg;--road-top:70%}.map-road--three{--road-angle:78deg;--road-top:62%;width:120%}.map-route{height:100%;inset:0;position:absolute;width:100%;filter:drop-shadow(0 2px 1px rgba(118,87,19,.4))}.map-pin{align-items:center;border:4px solid white;border-radius:50%;box-shadow:0 2px 7px rgba(24,51,43,.25);color:white;display:flex;height:27px;justify-content:center;position:absolute;width:27px}.map-pin--start{background:var(--primary);left:18%;top:64%}.map-pin--start span{background:white;border-radius:50%;height:7px;width:7px}.map-pin--end{background:#d55443;right:18%;top:18%}.map-label{background:white;box-shadow:0 2px 7px rgba(24,51,43,.16);font-size:11px;font-weight:700;padding:6px 8px;position:absolute}.map-label--start{left:12%;top:72%}.map-label--end{right:13%;top:9%}.map-controls{align-items:center;display:flex;gap:8px;position:absolute;right:18px;top:18px}.map-trip-detail{background:white;bottom:20px;box-shadow:0 4px 15px rgba(24,51,43,.15);display:grid;grid-gap:4px;gap:4px;padding:12px 14px;position:absolute;right:20px}.map-trip-detail strong{font-size:13px}.map-trip-detail span{color:var(--muted);font-size:11px}.safety-strip{align-items:center;display:flex;gap:14px;margin:34px auto 0;max-width:840px}.safety-icon{color:var(--primary);display:grid;place-items:center}.safety-strip>div{flex:1 1}.safety-strip strong{font-size:13px}.safety-strip p{color:var(--muted);font-size:13px;line-height:1.45;margin:3px 0 0}.confirmation-shell{display:flex;flex-direction:column}.confirmation-wrap{align-items:center;display:flex;flex:1 1;justify-content:center;padding:12vh 0}.confirmation-card{max-width:470px;width:100%}.confirmation-content{align-items:center;display:flex;flex-direction:column;padding:34px 30px 25px;text-align:center}.confirmation-icon{align-items:center;background:#e5f0ea;border-radius:50%;color:var(--primary);display:flex;height:68px;justify-content:center;margin-bottom:18px;width:68px}.confirmation-content h1{font-size:35px;letter-spacing:0;line-height:1.05;margin:16px 0 0}.confirmation-content>p{color:var(--muted);font-size:15px;line-height:1.5;margin:12px 0 24px}.driver-summary{align-items:center;display:flex;gap:12px;padding-top:20px;text-align:left;width:100%}.driver-summary>div{display:grid;flex:1 1;grid-gap:4px;gap:4px}.driver-summary strong{font-size:14px}.driver-summary span:not(.driver-rating){color:var(--muted);font-size:12px}.driver-rating{align-items:center;color:#b77c0d;display:flex;font-size:13px;gap:3px}@media(max-width:760px){.site-shell{padding:0 20px 28px}.site-header{height:66px}.site-nav{display:none}.header-controls{margin-left:auto}.booking-heading{padding:38px 0 26px}.booking-heading h1{font-size:37px}.booking-heading p{font-size:14px;line-height:1.45;max-width:270px}.heading-meta{display:none}.booking-layout{grid-template-columns:1fr}.map-surface{border-radius:8px 8px 0 0;min-height:275px;order:-1}.booking-card{border-radius:0 0 8px 8px}.ui-card-header{padding:20px 18px 16px}.ui-card-content{padding:17px 18px}.ui-card-footer{padding:14px 18px}.safety-strip{align-items:flex-start;margin-top:24px}.safety-strip .ui-button{display:none}.confirmation-wrap{padding:14vh 0 0}.confirmation-content h1{font-size:31px}.confirmation-card .ui-card-content{padding:30px 22px 24px}}@media(max-width:420px){.booking-heading h1{font-size:33px}.ride-copy small{font-size:10px}.ui-card-title{font-size:18px}}