* { letter-spacing: 0 !important; }
[hidden] { display:none !important; }
body { color:#202a35; }
.service-notice { background:#fff3cd; color:#664d03; padding:10px; border-radius:6px; font-size:13px; line-height:1.5; }
button,a,input { touch-action:manipulation; }
button:disabled { opacity:.5; cursor:not-allowed; }
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible { outline:3px solid #167b80; outline-offset:3px; }
.logo { gap:10px; text-decoration:none; }
.account-menu summary { cursor:pointer; padding:10px; list-style:none; }
.account-menu>div { position:absolute; right:16px; top:58px; background:white; color:#202a35; min-width:180px; padding:16px; box-shadow:0 4px 16px #0002; }
.account-menu a,.account-menu button { display:block; color:inherit; padding:10px 0; background:none; border:0; font-size:16px; text-decoration:none; cursor:pointer; }
body.account-page { background:#fff; overflow:auto; }
.account-content { max-width:640px; margin:90px auto 40px; padding:0 24px; }
h1 { font-size:26px; }
dd { margin:4px 0 20px; overflow-wrap:anywhere; }
dt { font-weight:700; }
.trip-row { padding:18px 0; border-bottom:1px solid #ddd; }
.wb-app { max-height:calc(100dvh - 145px); }
.wb-input { gap:10px; }
.wb-input input { min-width:0; }
.wb-toggle { display:flex; gap:10px; margin:16px 0; }
.icon-button { border:0; background:transparent; min-width:32px; height:32px; cursor:pointer; }
.text-button { padding:10px 0; border:0; background:none; color:#002147; font-weight:700; cursor:pointer; }
.pickup-icon { color:#28a745; }
.destination-icon { color:#dc3545; }
#schedule-field { display:block; margin-bottom:16px; }
#pickup-time { display:block; width:100%; padding:12px; border:1px solid #ddd; border-radius:8px; font-size:16px; }
#booking-message:empty,#availability:empty,#route-distance:empty { display:none; }
#booking-message { color:#8a330f; font-size:14px; }
.fare-display { text-align:center; margin:15px 0 20px; }
.fare-display span { display:block; font-size:13px; }
.fare-display strong { font-size:36px; }
.confirm-actions { display:flex; gap:20px; align-items:center; }
.confirm-actions .wb-primary { flex:1; }
.pac-container { z-index:300; }
#wb-map { background:#e8eceb; }
.wb-collapsed-trigger { border:0; background:transparent; width:100%; cursor:pointer; }
.wb-brand-header { display:flex; align-items:center; justify-content:space-between; }
@media(max-height:600px) { .wb-app { max-height:calc(100dvh - 75px); } }
