:root{--font-sans:Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;--font-hero:28px;--font-display:24px;--font-subheading:20px;--font-heading:18px;--font-title:16px;--font-body:14px;--font-caption:12px;--space-10:40px;--space-6:32px;--space-5:24px;--space-4:16px;--space-3:12px;--space-2:8px;--space-1:4px;--nav-height:64px;--header-height:52px;--radius:var(--radius-lg);--app-width:480px;--color-booking-success:#00b900;--color-booking-cancel:#e32938;--color-booking-selection:#94cbe1;--color-primary:#237348;--color-primary-strong:#185334;--color-primary-soft:#e1f0e6;--color-surface:#fff;--color-surface-muted:#f0f5f2;--color-canvas:#f4f8f5;--color-text:#20382a;--color-text-muted:#617367;--color-border:#e3ebe5;--color-danger:#ad302b;--color-danger-soft:#fff0ee;--color-warning:#805300;--color-rating:#e4a11b;--color-warning-soft:#fff6df;--color-info:#185b99;--color-info-soft:#e6f0fc;--color-desktop:#dde6e0;--color-map-canvas:#eaf2ec;--color-handle:#d2ded6;--color-destination:#dc8a3a;--color-selection-danger:#dc3440;--color-map-drop-soft:#f3c5c7;--color-map-pin:#d34b29;--color-panel:#f0f6f2;--color-selected:#dfeee5;--color-secondary:#dfede4;--color-border-control:#cbd8ce;--color-border-card:#c8d5cc;--color-border-identity:#c6d4cb;--color-zalo:#0068d9;--color-inactive-tabs:#e7eee9;--color-illustration-accent:#f2b134;--color-illustration-pin:#e07a3f;--color-illustration-dark:#1b5a38;--color-illustration-mid:#2f8a58;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-round:50%;--control-height:48px;--touch-target:44px;--icon-size:20px;--menu-row-height:56px;--symbol-size:40px;--loading-mark-size:40px;--loading-inline-size:20px;--loading-content-height:200px;--empty-state-min-height:280px;--empty-illustration-size:164px;--line-body:1.45;--line-heading:1.35;--line-reading:1.6;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--border-width:1px;--page-gutter:var(--space-4);--card-padding:var(--space-4);--field-gap:var(--space-1);--field-spacing:var(--space-3);--content-gap:var(--space-3);--shadow-card:0 2px 4px #20382a29;--shadow-floating:0 3px 12px #20382a29;--shadow-panel:0 -6px 24px #20382a12;--shadow-desktop:0 0 50px #20382a1f;--shadow-marker:0 2px 4px #00000040;--color-backdrop:#1023176b;--color-on-primary:#fff;--color-on-primary-muted:#fffc;--color-on-primary-subtle:#ffffffbf;--color-on-primary-border:#ffffff26;--shadow-route-title:0 1px 10px white;--shadow-pin:drop-shadow(0 2px 2px white);--map-top-fade:linear-gradient(white, #ffffffb3, transparent);--layer-actions:10;--layer-tabs:10;--layer-toolbar:12;--layer-navigation:20;--layer-connectivity:90;--layer-skip:100;--shadow-selection:inset 0 0 0 var(--border-width) var(--color-primary);--shadow-action-halo:0 0 0 var(--space-3) var(--color-surface);--shadow-canvas-halo:0 0 0 var(--space-3) var(--color-canvas);--color-route:#1688df;--color-history-rebook:#2085ca;--color-history-return:#d1ddd2;--color-status-success:#2bb16b;--focus-width:3px;--focus-offset:3px}@media (max-width:360px){:root{--page-gutter:var(--space-3);--card-padding:var(--space-3)}}
:root{font-family:var(--font-sans);color:var(--color-text);background:var(--color-desktop);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-text-size-adjust:100%;font-size:var(--font-body);line-height:var(--line-body)}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-padding-block:80px 100px}body{max-width:var(--app-width);background:var(--color-canvas);min-width:0;min-height:100dvh;margin:0 auto}body:has(dialog[open]){overflow:hidden}a{color:var(--color-primary);text-underline-offset:3px}:where(button,input,select,textarea){font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[role=option]:focus-visible{outline:var(--focus-width) solid var(--color-primary);outline-offset:var(--focus-offset)}input:not([type=checkbox]):not([type=radio]):focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:calc(-1 * var(--focus-width))}svg{flex-shrink:0}h1,h2,p{overflow-wrap:anywhere}h1{margin:0 0 var(--space-3);font-size:var(--font-display);line-height:var(--line-heading);letter-spacing:normal}h2{font-size:var(--font-title);line-height:var(--line-heading);margin:0 0 var(--space-3)}p{line-height:var(--line-body);margin:0 0 var(--space-2)}small{color:var(--color-text-muted);font-size:var(--font-body)}strong{overflow-wrap:anywhere}fieldset{min-width:0}summary{cursor:pointer;min-height:var(--control-height);padding-block:var(--space-2);font-weight:var(--weight-semibold);line-height:var(--line-body)}hr{border:0;border-top:1px solid var(--color-border)}@media (min-width:700px){body{box-shadow:var(--shadow-desktop)}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}h3,h4{margin:0 0 var(--space-2);line-height:var(--line-heading);font-weight:var(--weight-semibold)}h3{font-size:var(--font-title)}h4{font-size:var(--font-body)}fieldset{border:0;margin:0;padding:0}:where(label:not([class])){gap:var(--field-gap);margin-bottom:var(--field-spacing);font-size:var(--font-body);font-weight:var(--weight-semibold);display:grid}:where(label:not([class])) :where(input,select,textarea){font-weight:var(--weight-regular)}:where(input[type=checkbox],input[type=radio]){accent-color:var(--color-primary)}:where(section:not([class])){margin-block:var(--content-gap)}:where(input,select,textarea):disabled{opacity:.6;cursor:not-allowed}:where(input,select,textarea)[aria-invalid=true]{border-color:var(--color-danger)}
.page{width:100%;padding:0 var(--page-gutter) calc(var(--space-4) + env(safe-area-inset-bottom));background:var(--color-canvas);min-height:100dvh;margin:0}.page--tabbed{padding-bottom:calc(var(--nav-height) + env(safe-area-inset-bottom) + var(--space-4) + var(--bottom-actions-height,0px))}.page-heading{z-index:var(--layer-toolbar);margin:0 calc(-1 * var(--page-gutter)) var(--space-3);padding-top:env(safe-area-inset-top);background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0}.screen-toolbar,.sheet-toolbar{min-height:var(--header-height);justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);display:flex}.screen-toolbar h1,.sheet-toolbar h2{min-width:0;font-size:var(--font-title);font-weight:var(--weight-bold);text-align:center;line-height:var(--line-heading);letter-spacing:normal;margin:0}.toolbar-spacer{flex:0 0 var(--touch-target);width:var(--touch-target)}.icon-button{flex:0 0 var(--touch-target);width:var(--touch-target);height:var(--touch-target);color:var(--color-text);border-radius:var(--radius-md);background:0 0;border:0;justify-content:center;align-items:center;padding:0;text-decoration:none;display:inline-flex}.icon-button:active{background:var(--color-surface-muted)}.section{background:var(--color-surface);padding:var(--card-padding);border-radius:var(--radius);margin-bottom:var(--space-3);min-width:0}.section>:last-child{margin-bottom:0}.field{gap:var(--field-gap);margin-bottom:var(--field-spacing);min-width:0;display:grid}.field>span{font-size:var(--font-body);font-weight:var(--weight-semibold)}:where(input:not([class]):not(.gm-style *):not(nextjs-portal *):not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=file])),.field input,:where(select:not([class]):not(.gm-style *):not(nextjs-portal *)),.field select,:where(textarea:not([class]):not(.gm-style *):not(nextjs-portal *)),.field textarea{width:100%;min-width:0;min-height:var(--control-height);padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);color:var(--color-text);font-size:var(--font-title);scroll-margin-block:90px}.field input::placeholder,.field textarea::placeholder{color:var(--color-text-muted);opacity:.9}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:var(--color-danger)}:where(textarea:not([class]):not(.gm-style *):not(nextjs-portal *)),.field textarea{resize:vertical;min-height:96px}.field-error{color:var(--color-danger)}:where(button:not([class]):not(.gm-style *):not(nextjs-portal *)),.button{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-height);padding:var(--space-2) var(--space-3);border:var(--border-width) solid transparent;border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-surface);font-weight:var(--weight-semibold);font-size:var(--font-body);line-height:var(--line-heading);text-align:center;text-decoration:none;display:inline-flex}.button:active:not(:disabled){filter:brightness(.94)}.button.secondary{color:var(--color-primary-strong);background:var(--color-surface-muted);border-color:var(--color-border)}.button.danger{background:var(--color-danger)}.button.full{width:100%}.button.text-button{color:var(--color-primary);padding:var(--space-2) 2px;min-height:var(--control-height);font-size:var(--font-body);background:0 0}.actions{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.actions>*{flex:1;min-width:110px}.notice{background:var(--color-surface-muted);border-left:3px solid var(--color-primary);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--font-body);line-height:var(--line-body);overflow-wrap:anywhere;margin:var(--space-2) 0}.notice-error{background:var(--color-danger-soft);border-color:var(--color-danger);color:var(--color-danger)}.page:has(.empty-state){flex-direction:column;display:flex}:where(.activity-screen,.wallet-history,.support-history,.invoice-manager):has(.empty-state){flex-direction:column;display:flex}.activity-screen>[aria-busy]:has(>.empty-state){flex-direction:column;display:flex}:where(.activity-screen,.wallet-history,.support-history,.invoice-manager):has(.empty-state){flex:1}.activity-screen>[aria-busy]:has(>.empty-state){flex:1}:is(.page:has(.empty-state)>.page-heading,.activity-screen:has(.empty-state)>.tabs){flex-shrink:0}.page:not(.page--tabbed):has(.empty-state){padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom) + var(--bottom-actions-height,0px))}.empty-state{min-height:var(--empty-state-min-height);padding:var(--space-5) var(--space-3);text-align:center;flex:1;place-items:center;display:grid}.empty-state-compact{padding:var(--space-4) var(--space-3);text-align:center;place-items:center;display:grid}.empty-state-compact .empty-state-illustration{width:calc(var(--empty-illustration-size) * .68);margin-bottom:var(--space-3)}.empty-state-compact .empty-state-title{color:var(--color-text-muted);font-size:var(--font-body);font-weight:var(--weight-medium);line-height:var(--line-reading);margin:0}.empty-state-compact .empty-state-description{margin-top:var(--space-2)}.empty-state-content{flex-direction:column;align-items:center;width:100%;max-width:320px;display:flex}.empty-state-illustration{width:var(--empty-illustration-size);height:auto;margin-bottom:var(--space-4);display:block}.ea-soft{fill:var(--color-primary-soft)}.ea-primary{fill:var(--color-primary)}.ea-surface{fill:var(--color-surface)}.ea-border{fill:var(--color-border-control)}.ea-text{fill:var(--color-text)}.ea-accent{fill:var(--color-illustration-accent)}.ea-pin{fill:var(--color-illustration-pin)}.ea-dark{fill:var(--color-illustration-dark)}.ea-mid{fill:var(--color-illustration-mid)}.ea-stroke-primary{stroke:var(--color-primary)}.ea-stroke-surface{stroke:var(--color-surface)}.ea-stroke-border{stroke:var(--color-border-control)}.ea-stroke-muted{stroke:var(--color-text-muted)}.ea-stroke-dark{stroke:var(--color-illustration-dark)}.empty-state h2{font-size:var(--font-heading);font-weight:var(--weight-semibold);line-height:var(--line-heading);margin:0 0 var(--space-2)}.empty-state-description{max-width:30ch;color:var(--color-text-muted);font-size:var(--font-body);line-height:var(--line-reading)}.empty-state-actions{justify-content:center;gap:var(--space-2);width:100%;margin-top:var(--space-5);flex-wrap:wrap;display:flex}.empty-state-actions>.button{min-width:160px;max-width:100%}.bottom-nav{z-index:var(--layer-navigation);width:min(100%, var(--app-width));background:var(--color-surface);border-top:1px solid var(--color-border);padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav a{min-width:0;min-height:calc(var(--nav-height) - 1px);font-size:var(--font-caption);font-weight:var(--weight-semibold);color:var(--color-text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;text-decoration:none;display:flex}.tab-icon{border-radius:var(--radius-lg);place-items:center;width:56px;height:30px;display:grid}.bottom-nav a[aria-current=page]{color:var(--color-primary-strong)}.sheet-handle{width:36px;height:4px;margin:0 auto var(--space-3);background:var(--color-handle);border-radius:var(--radius-xs)}.native-sheet,.dialog{width:min(100%, var(--app-width));max-width:var(--app-width);max-height:calc(100dvh - env(safe-area-inset-top) - 12px);border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:var(--color-surface);color:var(--color-text);overscroll-behavior:contain;border:0;margin:auto auto 0;padding:0;position:fixed;inset:auto 0 0}.native-sheet::backdrop,.dialog::backdrop{background:var(--color-backdrop)}.native-sheet[open]{flex-direction:column;display:flex}.native-sheet--full{height:100dvh;max-height:100dvh;padding-top:env(safe-area-inset-top);border-radius:0}.sheet-toolbar{border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0}.sheet-body{min-height:0;padding:var(--page-gutter) var(--page-gutter) calc(var(--page-gutter) + env(safe-area-inset-bottom) + var(--bottom-actions-height,0px));flex:1;overflow-y:auto}.sheet-body>.section,.sheet-body .section{border-radius:0;padding:0}.sheet-body>.section>h2{display:none}.sheet-footer{bottom:calc(-1 * var(--space-4));padding:var(--space-3) 0 max(var(--space-4), env(safe-area-inset-bottom));margin-top:var(--space-4);background:var(--color-surface);position:sticky}.dialog{padding:var(--space-2) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom));overflow-y:auto}.dialog h2{font-size:var(--font-subheading);margin-top:var(--space-4)}.dialog-content{font-size:var(--font-body)}.dialog-actions{bottom:calc(-1 * var(--space-4) - env(safe-area-inset-bottom));padding-block:var(--space-3) var(--space-1);background:var(--color-surface);position:sticky}.row{justify-content:space-between;align-items:center;gap:var(--space-2);min-width:0;display:flex}.row>*{min-width:0}.badge{align-items:center;gap:var(--space-1);max-width:100%;padding:var(--space-1) var(--space-2);background:var(--color-primary-soft);color:var(--color-primary-strong);font-size:var(--font-caption);line-height:var(--line-heading);border-radius:var(--radius-sm);font-weight:var(--weight-semibold);display:inline-flex}.badge-muted{color:var(--color-text-muted);background:var(--color-surface-muted)}.badge-waiting{color:var(--color-warning);background:var(--color-warning-soft)}.badge-active{color:var(--color-info);background:var(--color-info-soft)}.status-dot{border-radius:var(--radius-round);background:currentColor;flex-shrink:0;width:5px;height:5px}.tabs{top:calc(var(--header-height) + env(safe-area-inset-top));z-index:var(--layer-tabs);padding:var(--space-1);margin:calc(-1 * var(--space-3)) calc(-1 * var(--page-gutter)) var(--space-3);border-radius:var(--radius-md);background:var(--color-inactive-tabs);gap:3px;display:flex;position:sticky}.tabs button{min-width:0;min-height:var(--touch-target);padding:var(--space-2) var(--space-1);border-radius:var(--radius-md);font-size:var(--font-caption);font-weight:var(--weight-semibold);color:var(--color-text-muted);background:0 0;border:0;flex:1}.tabs button[aria-pressed=true]{background:var(--color-surface);color:var(--color-primary-strong)}.details{gap:var(--space-3);font-size:var(--font-body);line-height:var(--line-body);grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);margin:0;display:grid}.details dt{color:var(--color-text-muted)}.details dd{text-align:right;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin:0}.timeline{padding:0;list-style:none}.timeline li{border-left:2px solid var(--color-border);padding:var(--space-2) 0 var(--space-2) var(--space-3)}.timeline li p{margin:0}.timeline li[aria-current=step]{border-left-color:var(--color-primary)}.timeline li.timeline-cancelled{border-left-color:var(--color-danger)}.timeline li.timeline-cancelled strong{color:var(--color-danger)}.timeline-scheduled{margin:0 0 var(--space-2);color:var(--color-text-muted)}.menu{margin:0;padding:0;list-style:none}.menu li+li{border-top:1px solid var(--color-border)}.menu a,.menu-action{align-items:center;gap:var(--space-2);width:100%;min-height:52px;padding:var(--space-2) 0;color:var(--color-text);text-align:left;font-size:var(--font-body);background:0 0;border:0;text-decoration:none;display:flex}.menu a>span:not(.menu-symbol),.menu-action>span:not(.menu-symbol){flex:1;min-width:0}.menu a>span:last-child:not(:nth-child(2)){font-size:var(--font-display);color:var(--color-text-muted);flex:0}.menu small,.menu-action small{font-size:var(--font-caption);margin-top:var(--space-1);display:block}.menu-symbol,.row-symbol{background:var(--color-surface-muted);width:40px;height:40px;color:var(--color-primary);border-radius:var(--radius-md);flex:0 0 40px;place-items:center;display:grid}.screen-intro{margin-bottom:var(--space-4)}.screen-intro>p{font-size:var(--font-body);color:var(--color-text-muted);margin:0 0 var(--space-3)}.screen-intro>.button{width:100%}.record-list{background:var(--color-surface);border-radius:var(--radius-lg);padding-inline:var(--space-3)}.record-row{align-items:flex-start;gap:var(--space-2);padding-block:var(--space-3);display:flex}.record-row+.record-row{border-top:1px solid var(--color-border)}.record-content{overflow-wrap:anywhere;flex:1;min-width:0;padding-top:3px}.record-content strong{font-size:var(--font-body)}.record-content small{font-size:var(--font-caption);margin-top:var(--space-1);display:block}.record-content p{font-size:var(--font-body);color:var(--color-text-muted);margin-block:var(--space-2)}.record-tools{flex-direction:column;display:flex}.record-tools .icon-button{flex-basis:40px;width:36px;height:40px}.list-heading{color:var(--color-text-muted);font-size:var(--font-body);margin-block:var(--space-4) var(--space-3)}.connection-status{z-index:var(--layer-connectivity);width:min(100%, var(--app-width));background:var(--color-warning-soft);color:var(--color-warning);text-align:center;padding:var(--space-2);font-size:var(--font-caption);position:fixed;top:0;left:50%;transform:translate(-50%)}.skip-link{z-index:var(--layer-skip);padding:var(--space-2);background:var(--color-surface);position:fixed;top:-100px;left:12px}.skip-link:focus{top:10px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-loading{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--loading-content-height);padding:var(--space-5) var(--space-3);color:var(--color-text-muted);font-size:var(--font-body);text-align:center;flex-direction:column;display:flex}.app-loading-mark{width:var(--loading-mark-size);height:var(--loading-mark-size);border-radius:var(--radius-round);background:var(--color-surface);flex-shrink:0;display:inline-block;position:relative}.app-loading-ring{width:100%;height:100%;display:block}.app-loading-logo{border-radius:var(--radius-round);object-fit:contain;width:60%;height:60%;position:absolute;inset:20%}.app-loading--inline{gap:var(--space-2);min-height:0;color:inherit;font-size:inherit;text-align:inherit;vertical-align:middle;flex-direction:row;padding:0;display:inline-flex}.app-loading--inline .app-loading-mark{width:var(--loading-inline-size);height:var(--loading-inline-size)}@media (prefers-reduced-motion:reduce){.app-loading-ring{visibility:hidden}.app-loading-mark:before{content:"";border:var(--border-width) solid var(--color-primary);border-radius:var(--radius-round);position:absolute;inset:0}}@media (max-width:360px){.page{padding-inline:var(--page-gutter)}.page-heading{margin-inline:calc(-1 * var(--page-gutter))}.section{padding:var(--card-padding)}.row{flex-wrap:wrap}.record-list{padding-inline:var(--space-2)}.record-row{gap:var(--space-2)}.row-symbol{flex-basis:34px;width:34px;height:34px}}@media (min-width:700px){.native-sheet:not(.native-sheet--full),.dialog{border-radius:var(--radius-xl);max-height:calc(100dvh - 40px);width:calc(var(--app-width) - 24px);bottom:20px}}.detail-menu-link{align-items:center;gap:var(--space-2);padding:var(--space-3);min-height:var(--control-height);background:var(--color-surface);color:var(--color-text);font-size:var(--font-body);margin-block:var(--space-2);border-radius:var(--radius-md);text-decoration:none;display:flex}.detail-menu-link svg:last-child{margin-left:auto}.document-symbol{background:var(--color-primary-soft);width:72px;height:72px;color:var(--color-primary);border-radius:var(--radius-xl);margin:var(--space-3) auto var(--space-4);place-items:center;display:grid}.native-sheet--full .sheet-body{flex-direction:column;display:flex}.native-sheet--full .sheet-footer{margin-top:auto}.page-heading,.sheet-toolbar{background:var(--color-primary);color:var(--color-surface);border-bottom-color:var(--color-on-primary-border)}.screen-toolbar .icon-button,.sheet-toolbar .icon-button{color:var(--color-surface)}.page-heading .screen-description{color:var(--color-on-primary-muted)}.tabs{margin:calc(-1 * var(--space-3)) calc(-1 * var(--page-gutter)) var(--space-3);padding:0 var(--space-2);background:var(--color-primary);border-radius:0}.tabs button{min-height:var(--touch-target);color:var(--color-on-primary-subtle);border-bottom:2px solid #0000;border-radius:0}.tabs button[aria-pressed=true]{color:var(--color-surface);border-bottom-color:var(--color-surface);background:0 0}.bottom-nav .tab-icon{width:40px;height:30px}.bottom-nav a[aria-current=page] .tab-icon{background:0 0}.settings-list{margin:0 calc(-1 * var(--space-1)) var(--space-3);gap:var(--space-2);padding:0;list-style:none;display:grid}.settings-list a,.settings-logout{width:100%;min-height:var(--menu-row-height);align-items:center;gap:var(--space-3);padding:var(--space-2);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-card);color:var(--color-text);font-size:var(--font-body);text-align:left;border:0;text-decoration:none;display:flex}.settings-list .menu-symbol,.settings-logout .menu-symbol{border-radius:var(--radius-md);background:var(--color-primary-soft);width:40px;height:40px;color:var(--color-text);flex-basis:40px}.settings-list a>span:nth-child(2),.settings-logout>span:nth-child(2){flex:1}.settings-list a>svg,.settings-logout>svg{color:var(--color-primary);margin-right:var(--space-2)}.sheet-toggle{width:100%;min-height:var(--touch-target);padding:var(--space-1) 0;color:var(--color-text-muted);background:0 0;border:0;justify-content:center;align-items:center;display:flex;position:relative}.sheet-toggle>.sheet-handle{margin:0}.sheet-toggle>svg{position:absolute;right:0;transform:rotate(-90deg)}.sheet-toggle[aria-expanded=true]>svg{transform:rotate(90deg)}@media (max-width:360px){.tabs{margin-inline:calc(-1 * var(--page-gutter))}}.native-sheet--full .sheet-body{background:var(--color-canvas)}:where(input:not([class]):not(.gm-style *):not(nextjs-portal *):not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=file])),.field input,:where(select:not([class]):not(.gm-style *):not(nextjs-portal *)),.field select,:where(textarea:not([class]):not(.gm-style *):not(nextjs-portal *)),.field textarea{background:var(--color-surface);border-color:var(--color-border-control)}.button.file-picker{border:var(--border-width) solid var(--color-primary);background:var(--color-surface);width:64px;min-height:64px;color:var(--color-primary);border-radius:var(--radius-md);place-items:center;padding:0;display:grid}.selected-images{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.selected-image{align-items:center;gap:var(--space-2);padding:var(--space-2);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);min-width:0;display:flex}.selected-image-preview{align-items:center;gap:var(--space-2);min-width:0;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0;flex:1;padding:0;display:flex}.selected-image-preview img{object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0;width:56px;height:56px}.selected-image-preview span{overflow-wrap:anywhere;font-size:var(--font-caption)}.selected-image>.icon-button{color:var(--color-primary);flex-shrink:0}.image-viewer{gap:var(--space-3);flex-direction:column;flex:1;min-height:0;display:flex}.image-viewer img{object-fit:contain;flex:1;width:100%;min-height:0}.image-viewer p{text-align:center;overflow-wrap:anywhere;font-size:var(--font-caption);flex-shrink:0;margin:0}.search-field{align-items:center;gap:var(--space-2);border:var(--border-width) solid var(--color-border-control);border-radius:var(--radius-md);background:var(--color-surface);padding:0 var(--space-2);min-height:var(--control-height);margin-bottom:var(--space-4);color:var(--color-text-muted);display:flex}.search-field input{width:100%;min-width:0;min-height:46px;padding:var(--space-2) 0;font-size:var(--font-body);color:var(--color-text);background:0 0;border:0}.search-scope{color:var(--color-text-muted);font-size:var(--font-caption);margin-bottom:var(--space-3)}.page:has(.wallet-balance) .page-heading{margin-bottom:0}.stack{gap:var(--content-gap);flex-direction:column;min-width:0;display:flex}.field--sr-label>span{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.icon,.icon-button>svg{width:var(--icon-size);height:var(--icon-size)}.bottom-actions{z-index:var(--layer-tabs);width:min(100%, var(--app-width));gap:var(--space-2);padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom));background:var(--color-surface);border-top:1px solid var(--color-border);display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-actions>.button{flex:1;min-width:0}.page--tabbed .bottom-actions{bottom:calc(var(--nav-height) + env(safe-area-inset-bottom));padding-bottom:var(--space-3)}.native-sheet .bottom-actions{width:100%;padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom));position:absolute;bottom:0;left:0;transform:none}[data-sonner-toaster]{--font-family:var(--font-sans)}[data-sonner-toast].app-toast[data-styled=true]{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);font-family:var(--font-sans);font-size:var(--font-body);min-height:calc(var(--touch-target) + var(--space-4));padding-right:calc(var(--touch-target) + var(--space-4))}[data-sonner-toast].app-toast[data-styled=true][data-type=success]{background:var(--color-primary-soft);color:var(--color-primary-strong);border-color:var(--color-primary)}[data-sonner-toast].app-toast[data-styled=true][data-type=error]{background:var(--color-danger-soft);color:var(--color-danger);border-color:var(--color-danger)}[data-sonner-toast].app-toast[data-styled=true][data-type=warning]{background:var(--color-warning-soft);color:var(--color-warning);border-color:var(--color-warning)}[data-sonner-toast].app-toast[data-styled=true][data-type=info]{background:var(--color-info-soft);color:var(--color-info);border-color:var(--color-info)}[data-sonner-toast].app-toast[data-styled=true] [data-close-button]{top:var(--space-2);right:var(--space-2);min-width:var(--touch-target);min-height:var(--touch-target);width:var(--touch-target);height:var(--touch-target);border-radius:var(--radius-round);color:inherit;background:0 0;border-color:#0000;padding:0;left:auto;transform:none}[data-sonner-toast].app-toast[data-styled=true] [data-icon]{width:var(--font-subheading);height:var(--font-subheading)}[data-sonner-toast].app-toast[data-styled=true] [data-description]{color:inherit}.page-refresh{top:calc(env(safe-area-inset-top) + var(--space-3));z-index:var(--layer-connectivity);padding:var(--space-2) var(--space-3);background:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);position:fixed;left:50%;transform:translate(-50%)}.refresh-accessible:not(:focus-visible){clip-path:inset(50%);width:1px;height:1px;position:fixed;overflow:hidden}.refresh-accessible:focus-visible{top:var(--space-3);left:var(--space-3);z-index:var(--layer-connectivity);position:fixed}
:is(body:has(.page--map),body:has(.page--chat)){overflow:hidden}.muted{color:var(--color-text-muted);font-size:var(--font-body)}.screen-description{margin:-3px var(--space-4) var(--space-2);text-align:center;font-size:var(--font-caption);color:var(--color-text-muted)}input.control,select.control,textarea.control{width:100%;min-width:0;min-height:var(--control-height);padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);color:var(--color-text);font-size:var(--font-title);scroll-margin-block:90px}.required-mark{color:var(--color-danger)}.map-toolbar{z-index:15;top:max(12px, env(safe-area-inset-top));width:min(calc(100% - 32px), calc(var(--app-width) - 32px));justify-content:space-between;align-items:center;gap:var(--space-2);pointer-events:none;display:flex;position:fixed;left:50%;transform:translate(-50%)}.map-brand,.map-help{pointer-events:auto;background:var(--color-surface);box-shadow:var(--shadow-floating)}.map-brand{align-items:center;gap:var(--space-2);height:48px;padding:7px var(--space-3) 7px 7px;border-radius:var(--radius-lg);color:var(--color-text);font-size:var(--font-body);text-decoration:none;display:inline-flex}.map-brand img{object-fit:contain;border-radius:var(--radius-sm)}.map-help{border-radius:var(--radius-round);width:48px;color:var(--color-primary);flex-basis:48px}.page--map{height:100dvh;min-height:0;padding:0}.booking-screen{height:calc(100dvh - var(--nav-height) - env(safe-area-inset-bottom));position:relative;overflow:hidden}.booking-screen>.journey-map{border-radius:0;position:absolute;inset:0}.journey-map{background:var(--color-map-canvas);border-radius:var(--radius-lg);overflow:hidden}.journey-map .map{border:0;width:100%;height:250px;display:block}.booking-screen>.journey-map .map{height:100%}.map-unavailable{min-height:220px;padding:var(--space-10) var(--space-4);color:var(--color-text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.map-unavailable p{max-width:30ch;font-size:var(--font-body);margin-bottom:0}.booking-panel{z-index:3;background:var(--color-surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:var(--space-2) var(--space-4) var(--space-3);overscroll-behavior:contain;max-height:calc(100% - 80px);box-shadow:var(--shadow-panel);position:absolute;bottom:0;left:0;right:0;overflow-y:auto}.booking-heading{gap:var(--space-2);margin-bottom:var(--space-3);align-items:center;display:flex}.booking-heading>.icon-button{margin-left:calc(-1 * var(--space-2))}.booking-heading h1{font-size:var(--font-subheading);margin:0 0 var(--space-1)}.booking-heading p{font-size:var(--font-body);color:var(--color-text-muted);margin:0}.route-selector{background:var(--color-surface-muted);border-radius:var(--radius-lg);padding:0 var(--space-3)}.route-selector-row{align-items:center;gap:var(--space-2);width:100%;min-height:66px;padding:var(--space-2) 0;text-align:left;color:var(--color-text);background:0 0;border:0;display:flex}.route-selector-row+.route-selector-row{border-top:1px solid var(--color-border)}.route-selector-row>span:nth-child(2){flex:1;min-width:0}.route-selector-row small{font-size:var(--font-caption);margin-bottom:var(--space-1);display:block}.route-selector-row strong{font-size:var(--font-body);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.route-dot{border-radius:var(--radius-round);background:var(--color-primary);flex-shrink:0;width:10px;height:10px}.route-dot--drop{border-radius:var(--radius-xs);background:var(--color-destination)}.booking-actions{padding-top:var(--space-3)}.booking-panel .section{padding:var(--space-3) 0 var(--space-2);border-radius:0;margin:0}.booking-panel .section h2{font-size:var(--font-body)}.vehicle-list{gap:var(--space-2);padding:3px 3px var(--space-2);scroll-snap-type:x proximity;display:flex;overflow-x:auto}.vehicle-option{min-height:94px;padding:var(--space-3) var(--space-2);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;scroll-snap-align:start;flex:0 0 124px;display:flex;position:relative}.vehicle-option:has(input:checked){border-color:var(--color-primary);background:var(--color-surface-muted);box-shadow:var(--shadow-selection)}.vehicle-option input{accent-color:var(--color-primary);width:16px;height:16px;margin:0;position:absolute;top:8px;right:8px}.vehicle-option span{justify-content:end;gap:var(--space-2);width:100%;min-width:0;font-size:var(--font-body);flex-direction:column;display:flex}.vehicle-image{object-fit:contain;max-width:100%}.booking-preferences{align-items:center;gap:var(--space-2);width:100%;min-height:52px;padding:var(--space-2) 0;border:0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);text-align:left;color:var(--color-text);background:0 0;display:flex}.booking-preferences>span{font-size:var(--font-body);font-weight:var(--weight-semibold);flex:1}.booking-preferences small{font-size:var(--font-caption);font-weight:var(--weight-regular);margin-top:var(--space-1);display:block}.booking-switches{gap:var(--space-4);flex-wrap:wrap;display:flex}.check{gap:var(--space-2);min-height:var(--control-height);font-size:var(--font-body);align-items:center;display:flex}.check input{accent-color:var(--color-primary);width:20px;height:20px}.booking-extras{margin-block:var(--space-2);border-top:1px solid var(--color-border)}.booking-extras summary{font-size:var(--font-body);color:var(--color-primary)}.booking-extras-body{padding-top:var(--space-2)}.fare-summary{margin-top:var(--space-3);border-top:1px solid var(--color-border);padding-top:var(--space-3)}.fare-total{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.fare-total h2{font-size:var(--font-body);margin:0}.fare-total strong{font-size:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:normal}.fare-summary p,.fare-summary summary{font-size:var(--font-caption);color:var(--color-text-muted)}.address-picker{min-width:0}.address-picker .field{margin-bottom:var(--space-2)}.address-picker .field input{background:var(--color-surface-muted);border-color:#0000}.address-picker .field>label{font-size:var(--font-body);font-weight:var(--weight-semibold)}.address-input-row{align-items:center;gap:var(--space-1);min-width:0;display:flex}.address-input-row input{flex:1;min-width:0}.address-input-row>.icon-button{flex-shrink:0}.address-help{font-size:var(--font-caption);line-height:var(--line-body);margin-block:var(--space-2);display:block}.address-tools{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.address-tools details{width:100%}.address-tools summary{font-size:var(--font-body);color:var(--color-primary)}.suggestions{margin:var(--space-2) 0;background:var(--color-surface);padding:0;list-style:none}.suggestions li+li{border-top:1px solid var(--color-border)}.suggestions [role=option],.suggestions button{width:100%;padding:var(--space-3) var(--space-1);min-height:var(--menu-row-height);font-size:var(--font-body);line-height:var(--line-body);color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0;display:block}.suggestions [aria-selected=true]{background:var(--color-primary-soft)}.trip-card{background:var(--color-surface);color:var(--color-text);padding:var(--space-3);border-radius:var(--radius-lg);margin-bottom:var(--space-3);text-decoration:none;display:block}.trip-meta{font-size:var(--font-caption);color:var(--color-text-muted)}.trip-card-footer{border-top:1px solid var(--color-border);padding-top:var(--space-2)}.trip-fare{font-size:var(--font-title);font-variant-numeric:tabular-nums}.route{gap:var(--space-3);margin:var(--space-4) 0;display:grid}.route>div{align-items:start;gap:var(--space-2);font-size:var(--font-body);line-height:var(--line-body);overflow-wrap:anywhere;grid-template-columns:10px minmax(0,1fr);display:grid}.route>div:before{content:"";width:8px;height:8px;margin-top:var(--space-1);border-radius:var(--radius-round);background:var(--color-primary)}.route>div:last-child:before{border-radius:var(--radius-xs);background:var(--color-destination)}.trip-status{text-align:center;margin-bottom:var(--space-3)}.trip-status .badge{font-size:var(--font-body);padding:var(--space-2) var(--space-3)}.page:has(>.profile-screen){background:var(--color-primary);padding:0}.profile-screen{flex-direction:column;min-height:100dvh;display:flex}.profile-screen>.page-heading{margin:0}.profile-card{min-width:0;margin-top:var(--space-10);padding:0 var(--space-4) calc(var(--space-6) + env(safe-area-inset-bottom));border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:var(--color-surface);flex:1}.profile-card .profile-summary{margin-top:calc(-1 * var(--space-6));padding-bottom:var(--space-5);position:relative}.profile-card .profile-avatar{width:88px;height:88px}.profile-card .profile-summary h2{color:var(--color-primary);text-transform:uppercase}.profile-card .profile-summary>.button{min-height:var(--touch-target);padding-block:var(--space-1);background:var(--color-surface);color:var(--color-primary)}.profile-card .profile-summary>p{font-size:var(--font-caption)}.profile-contact-field{position:relative}.profile-contact-field>.icon{color:var(--color-text-muted);position:absolute;top:0;left:0}.profile-contact-field>.field>span:first-child{padding-left:calc(var(--icon-size) + var(--space-1))}.profile-form .field input{border-radius:var(--radius-md);background:var(--color-surface)}.profile-form .field input[readonly]{background:var(--color-surface-muted)}.profile-form .profile-field-hint{margin-top:calc(-1 * var(--space-2));margin-bottom:var(--space-4);font-size:var(--font-caption);color:var(--color-text-muted)}.profile-referral>.button{right:0;top:calc(-1 * var(--space-3));min-width:var(--touch-target);position:absolute}.profile-referral input{text-align:center;font-weight:var(--weight-semibold);border-style:dashed}.profile-pin-entry>span{align-items:center;gap:var(--space-2);margin-bottom:var(--field-gap);font-weight:var(--weight-semibold);color:var(--color-text-muted);display:flex}.profile-pin-link{width:100%;min-height:var(--control-height);padding:var(--space-3);background:var(--color-surface);border:var(--border-width) solid var(--color-border-control);border-radius:var(--radius-md);color:var(--color-text-muted);text-align:left;justify-content:space-between;align-items:center;display:flex}.profile-update{margin-top:var(--space-5)}.profile-fields{border:0;min-width:0;margin:0;padding:0}.profile-feedback{margin:0 0 var(--space-4);padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-danger-soft);color:var(--color-danger);font-size:var(--font-body)}.profile-feedback--success{background:var(--color-primary-soft);color:var(--color-primary-strong)}.change-pin-form>.muted{margin-bottom:var(--space-5)}.profile-card .native-sheet{height:88dvh}.profile-card .native-sheet .sheet-toolbar{background:var(--color-surface);color:var(--color-text-muted);border-bottom-color:var(--color-border-control);flex-direction:row-reverse}.profile-card .native-sheet .sheet-toolbar h2{text-align:left;padding-left:var(--space-3);font-size:var(--font-subheading);flex:1}.profile-card .native-sheet .sheet-toolbar>.icon-button{color:var(--color-text-muted)}.profile-card .native-sheet .toolbar-spacer{display:none}.pin-field{margin-bottom:var(--space-5);position:relative}.pin-field input{padding-right:calc(var(--touch-target) + var(--space-2))}.pin-field>.icon-button{top:calc(var(--font-body) * var(--line-body) + var(--field-gap));right:var(--space-1);height:var(--control-height);position:absolute}.pin-actions{gap:var(--space-3);margin-top:var(--space-6);padding-bottom:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.profile-summary{align-items:center;gap:var(--space-3);text-align:center;padding:var(--space-2) 0 var(--space-4);flex-direction:column;display:flex}.profile-avatar{border:4px solid var(--color-surface);border-radius:var(--radius-round);background:var(--color-primary-soft);width:82px;height:82px;color:var(--color-primary-strong);font-size:var(--font-display);font-weight:var(--weight-bold);place-items:center;display:grid}.profile-summary h2{font-size:var(--font-subheading);margin:0 0 var(--space-1)}.profile-avatar{overflow:hidden}.profile-avatar img{object-fit:cover;width:100%;height:100%}.profile-summary .profile-avatar-error{color:var(--color-danger)}.profile-summary p{font-size:var(--font-body);color:var(--color-text-muted);margin:0}.quick-actions{gap:var(--space-2);margin-bottom:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.quick-action{gap:var(--space-2);padding:var(--space-3);background:var(--color-surface);border-radius:var(--radius-lg);color:var(--color-text);flex-direction:column;min-width:0;text-decoration:none;display:flex}.quick-action>svg{color:var(--color-primary)}.quick-action small{font-size:var(--font-caption)}.quick-action strong{font-size:var(--font-body)}.wallet-balance{padding:var(--page-gutter) var(--page-gutter);border-radius:var(--radius-lg);background:var(--color-primary);color:var(--color-surface);margin-bottom:var(--page-gutter)}.wallet-balance p{margin:0 0 var(--space-3);font-size:var(--font-body)}.wallet-balance strong{font-size:var(--font-hero);letter-spacing:normal;font-variant-numeric:tabular-nums}.ledger-row{padding-block:var(--space-3)}.ledger-row+.ledger-row{border-top:1px solid var(--color-border)}.ledger-row strong,.ledger-row span{font-size:var(--font-body)}.ledger-row p{font-size:var(--font-caption);margin:7px 0 0}.ledger-credit{color:var(--color-primary)}.payment-card .section{border:var(--border-width) solid var(--color-border);background:var(--color-surface)}.notification-row{gap:var(--space-3);margin:0 calc(-1 * var(--space-1)) var(--space-2);padding:var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex}.notification-row>div{flex:1;min-width:0}.notification-row h2{font-size:var(--font-body);margin:0 0 7px}.notification-row p{font-size:var(--font-body);margin:0 0 var(--space-2);color:var(--color-text-muted)}.notification-row small{font-size:var(--font-caption)}.page--chat{flex-direction:column;height:100dvh;min-height:0;padding-bottom:0;display:flex}.page--chat .page-heading{margin-bottom:0}.chat-screen{min-height:0;margin-inline:calc(-1 * var(--page-gutter));flex-direction:column;flex:1;display:flex}.chat-history{min-height:0;padding:var(--space-4) var(--space-4);flex:1;overflow-y:auto}.chat-messages{gap:var(--space-3);flex-direction:column;display:flex}.chat-messages>p{text-align:center;font-size:var(--font-body);color:var(--color-text-muted)}.chat-bubble{max-width:86%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-lg) var(--radius-xs);background:var(--color-surface);overflow-wrap:anywhere;align-self:flex-start}.chat-bubble-own{background:var(--color-primary-soft);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-xs) var(--radius-lg);align-self:flex-end}.chat-bubble p{margin:var(--space-1) 0;white-space:pre-wrap;font-size:var(--font-body)}.chat-bubble small{font-size:var(--font-caption)}.chat-compose{padding:var(--space-2) var(--space-3) max(var(--space-3), env(safe-area-inset-bottom));background:var(--color-surface);border-top:1px solid var(--color-border)}.chat-compose form{gap:var(--space-2);flex-wrap:wrap;align-items:flex-end;display:flex}.chat-compose .field{flex:1;margin:0}.chat-compose textarea{min-height:var(--control-height);resize:none;max-height:120px;padding:var(--space-2)}.chat-compose .notice{order:-1;width:100%;margin:0}.chat-send{padding-inline:var(--space-2);font-size:var(--font-caption);flex:none}.login{background:var(--color-primary-soft);flex-direction:column;padding:0;display:flex}.login-content{flex-direction:column;flex:1;width:100%;display:flex}.login-hero{isolation:isolate;min-height:clamp(300px,52svh,560px);padding:calc(var(--space-5) + env(safe-area-inset-top)) var(--space-5) var(--space-10);color:var(--color-primary-strong);flex:1 0 auto;position:relative}.login-scene{z-index:-1;object-fit:cover;object-position:center 58%}.login-brand{align-items:center;gap:var(--space-3);display:flex}.login-logo{object-fit:contain;border-radius:var(--radius-md);flex-shrink:0}.login h1{font-size:var(--font-display);margin-bottom:var(--space-1)}.login-tagline{font-size:var(--font-caption);color:var(--color-primary-strong);margin:0}.login-features{gap:var(--space-2);margin:0 0 var(--space-4);padding:0 0 var(--space-4);border-bottom:var(--border-width) solid var(--color-border);grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;display:grid}.login-features li{justify-content:flex-start;align-items:center;gap:var(--space-2);font-size:var(--font-caption);text-align:center;flex-direction:column;display:flex}.login-features li+li{border-left:var(--border-width) solid var(--color-border)}.login-features svg{color:var(--color-primary)}.login-actions{margin-top:calc(-1 * var(--space-5));text-align:left;background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:var(--space-5) var(--space-5) calc(var(--space-5) + env(safe-area-inset-bottom));flex:none;position:relative}.login-actions h2{color:var(--color-primary-strong);font-size:var(--font-display);margin-bottom:var(--space-2)}.login-intro p{font-size:var(--font-body);color:var(--color-text-muted);margin-bottom:var(--space-5)}.zalo-button{background:var(--color-zalo);width:100%;min-height:var(--header-height);gap:var(--space-3)}.login-privacy{justify-content:center;align-items:center;gap:var(--space-1);margin:var(--space-3) 0 var(--space-5);color:var(--color-text-muted);font-size:var(--font-caption);display:flex}.login-privacy svg{color:var(--color-primary)}.login-terms{color:var(--color-text-muted);font-size:var(--font-caption);line-height:var(--line-reading);text-align:center;margin:0}.login-dev{align-items:center;gap:var(--space-3);margin-top:var(--space-4);display:flex}.login-dev-badge{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--color-surface-muted);color:var(--color-text-muted);font-size:var(--font-caption);font-weight:var(--weight-semibold)}.login-dev form{flex:1;min-width:0}.login-dev .button{background:var(--color-surface);color:var(--color-primary-strong);border:var(--border-width) solid var(--color-primary)}@media (max-width:360px){.login-hero,.login-actions{padding-inline:var(--space-4)}.login h1{font-size:var(--font-subheading)}}.policy{background:var(--color-surface)}.policy section{margin-block:var(--space-4)}.policy h1{font-size:var(--font-subheading)}.policy p,.policy li{font-size:var(--font-body);line-height:var(--line-reading);overflow-wrap:anywhere}.policy h3,.policy h4{line-height:var(--line-body)}.policy ul,.policy ol{padding-left:var(--space-4)}.policy .page-heading h1{font-size:var(--font-title)}@media (max-width:360px){.page--map{padding:0}.notification-row{margin-inline:calc(-1 * var(--space-3))}.chat-screen{margin-inline:calc(-1 * var(--page-gutter))}.booking-panel{padding-inline:var(--space-3)}.trip-card,.quick-action{padding:var(--space-3)}.fare-total{flex-wrap:wrap}}.trip-map{margin:0 calc(-1 * var(--page-gutter)) var(--space-4)}.trip-map .journey-map{border-radius:0}.driver-summary{align-items:center;gap:var(--space-3);display:flex}.driver-summary .profile-avatar{border:0;width:54px;height:54px}.driver-summary p{margin:var(--space-1) 0 0;font-size:var(--font-body);color:var(--color-text-muted)}.trip-total{gap:var(--space-2);flex-direction:column;display:flex}.trip-total span{color:var(--color-text-muted);font-size:var(--font-caption)}.trip-total strong{font-size:var(--font-hero);letter-spacing:normal}.trip-fare-detail{margin-top:var(--space-3);border-top:1px solid var(--color-border)}.trip-fare-detail summary{color:var(--color-primary);font-size:var(--font-body)}@media (max-width:360px){.trip-map{margin-inline:calc(-1 * var(--page-gutter))}}.account-group{margin-bottom:var(--space-4)}.account-group>h2{color:var(--color-text-muted);font-size:var(--font-caption);font-weight:var(--weight-semibold);margin:0 var(--space-1) var(--space-2)}.account-group-body{padding-inline:var(--space-3);background:var(--color-surface);border-radius:var(--radius-lg)}.account-group-body>.menu-action{border-bottom:1px solid var(--color-border)}.profile-summary{padding-bottom:var(--space-4);gap:var(--space-2)}.profile-avatar{width:68px;height:68px;font-size:var(--font-display)}.quick-action{gap:var(--space-2)}.vehicle-option .vehicle-picture{min-height:var(--control-height);width:76px;color:var(--color-primary);margin-top:var(--space-1);place-items:center;display:grid;position:relative}.vehicle-picture .vehicle-image{opacity:0;position:absolute;inset:0}.vehicle-picture .vehicle-image--ready{opacity:1}.booking-actions{bottom:calc(-1 * var(--space-3));z-index:4;background:var(--color-surface);padding-block:var(--space-2) var(--space-3);margin-bottom:calc(-1 * var(--space-3));position:sticky}.booking-panel--quoted .route-selector-row{min-height:52px;padding-block:var(--space-2)}.booking-panel--quoted .route-selector-row strong{-webkit-line-clamp:1}.booking-top-route{z-index:5;inset:max(20px, env(safe-area-inset-top)) 16px auto;position:absolute}.booking-top-route h1{text-align:center;font-size:var(--font-heading);padding-block:var(--space-1);margin-bottom:var(--space-2);text-shadow:var(--shadow-route-title)}.booking-top-route .route-selector{background:var(--color-surface);box-shadow:var(--shadow-floating);border-radius:var(--radius-md)}.booking-top-route .route-selector-row{min-height:var(--control-height);padding-block:var(--space-2)}.booking-top-route .route-selector-row strong{font-size:var(--font-body);font-weight:var(--weight-medium);-webkit-line-clamp:1}.booking-top-route .route-selector-row small{display:none}.route-dot--drop{background:var(--color-selection-danger)}.booking-panel{border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--color-panel);padding-top:0}.booking-heading{margin-bottom:var(--space-2)}.booking-heading h2{font-size:var(--font-heading);margin:0}.booking-heading p{display:none}.booking-panel .section{padding-block:var(--space-2);background:0 0}.booking-panel .vehicle-list{gap:var(--space-2);grid-template-columns:minmax(0,1fr);padding:3px;display:grid;overflow-x:visible}.booking-panel .vehicle-option{min-height:64px;padding:var(--space-2) var(--space-2);box-shadow:var(--shadow-card);border-radius:var(--radius-md)}.booking-panel .vehicle-option>span{justify-content:flex-start;align-items:center;gap:var(--space-2);flex-direction:row;display:flex}.booking-panel .vehicle-option:has(input:checked){background:var(--color-selected)}.booking-panel .vehicle-option .vehicle-picture{flex:0 0 76px;margin:0}.booking-panel .vehicle-option input{top:24px;right:12px}.booking-panel .booking-actions{gap:var(--space-2);padding-block:var(--space-2);background:var(--color-panel);margin:0;display:flex;bottom:0}.booking-panel .booking-actions .button{min-width:0;font-size:var(--font-body);padding-inline:var(--space-2);flex:1}.booking-panel .booking-actions .secondary{background:var(--color-secondary)}.booking-preferences{margin-top:var(--space-2);min-height:52px}.about-content{margin:calc(-1 * var(--space-3)) calc(-1 * var(--page-gutter)) 0;padding:var(--page-gutter) var(--page-gutter);background:var(--color-surface);min-height:calc(100dvh - var(--header-height))}.about-logo{object-fit:contain;margin:0 auto var(--space-4);border-radius:var(--radius-xl);display:block}.about-content>p{font-size:var(--font-body);margin-bottom:var(--space-4)}.about-contact{gap:var(--space-4);margin-block:var(--space-4);min-height:var(--menu-row-height);color:var(--color-text);font-size:var(--font-body);align-items:center;text-decoration:none;display:flex}.about-contact strong{color:var(--color-primary-strong);margin-top:var(--space-1);display:block}@media (max-width:360px){.about-content{margin-inline:calc(-1 * var(--page-gutter))}.booking-top-route{inset-inline:12px}}.complaint-categories>h2{font-size:var(--font-subheading);margin-bottom:var(--space-2)}.complaint-categories>p{font-size:var(--font-body);color:var(--color-text-muted);margin:0 0 var(--space-4)}.complaint-categories>button{align-items:center;gap:var(--space-3);width:100%;min-height:72px;padding:var(--space-3);border:var(--border-width) solid var(--color-border-card);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);text-align:left;margin-bottom:var(--space-3);display:flex}.complaint-categories>button>span{flex:1;min-width:0}.complaint-categories strong{font-size:var(--font-body)}.complaint-categories small{margin-top:var(--space-1);line-height:var(--line-body);font-size:var(--font-body);display:block}.complaint-details .section{background:0 0;margin-bottom:0}.complaint-category-heading h3{font-size:var(--font-title);line-height:var(--line-body);margin-top:0}.complaint-category-heading .text-button{font-size:var(--font-caption);min-height:40px;margin-bottom:var(--space-2)}.evidence-picker-row{align-items:center;gap:var(--space-3);display:flex}.evidence-picker-row .file-picker{flex-shrink:0}.evidence-picker-row small{min-width:0}.notification-row{margin:0 calc(-1 * var(--space-1)) var(--space-2);padding:var(--space-2);border-radius:var(--radius-md);box-shadow:var(--shadow-card);border:0}.notification-row .row-symbol{background:var(--color-primary-soft);flex-basis:40px;width:40px;height:40px}.notification-row h2{font-weight:var(--weight-regular);font-size:var(--font-caption);margin-bottom:var(--space-1)}.notification-row p{font-weight:var(--weight-semibold);font-size:var(--font-body);color:var(--color-text)}.invoice-manager .screen-intro{margin:0}.invoice-identity-group{margin-bottom:var(--space-4)}.invoice-identity-group .list-heading{color:var(--color-primary);margin-top:var(--space-2)}.invoice-identity{padding:0 var(--space-3) var(--space-3);margin-bottom:var(--space-2);border:var(--border-width) solid var(--color-border-identity);border-radius:var(--radius-md);background:var(--color-surface)}.invoice-identity .record-row{align-items:center;gap:var(--space-2);padding-block:var(--space-3)}.invoice-identity .record-row .icon-button{width:34px;height:40px;color:var(--color-text-muted);flex-basis:34px}.invoice-identity .record-content{padding:0}.invoice-identity-details{padding-top:var(--space-3);border-top:1px solid var(--color-border);font-size:var(--font-body);margin:0}.invoice-identity-details dt{margin-top:var(--space-2);color:var(--color-text-muted)}.invoice-identity-details dt:first-child{margin-top:0}.invoice-identity-details dd{margin:var(--space-1) 0 0;font-weight:var(--weight-semibold);overflow-wrap:anywhere}.booking-panel:not(.booking-panel--quoted) .booking-heading{display:none}.booking-address-search{background:var(--color-surface);padding:var(--space-2);border-radius:var(--radius-md);box-shadow:var(--shadow-floating)}.booking-address-search .address-picker+.address-picker{margin-top:var(--space-2)}.booking-address-search .address-picker:not([data-active=true]) .address-tools,.booking-address-search .address-picker:not([data-active=true]) .address-help,.booking-address-search .address-picker:not([data-active=true]) .suggestions{display:none}.booking-address-search .field>span{font-size:var(--font-caption)}.booking-address-search .address-tools{margin-top:var(--space-2)}.booking-screen>.native-map{position:absolute;inset:0}.native-map{background:var(--color-map-canvas);height:260px;position:relative;overflow:hidden}.native-map-canvas{width:100%;height:100%}.native-map-loading{text-align:center;color:var(--color-text-muted);font-size:var(--font-body);position:absolute;top:45%;left:0;right:0}.native-map-marker{border-radius:var(--radius-round);border:3px solid var(--color-surface);width:26px;height:26px;color:var(--color-surface);background:var(--color-primary);box-shadow:var(--shadow-marker);font:var(--weight-bold) var(--font-caption)/1 var(--font-sans);place-items:center;display:grid;position:absolute;transform:translate(-50%,-50%)}.native-map-marker--drop{background:var(--color-map-pin)}.native-map-marker--driver{background:var(--color-primary-strong);width:30px;height:30px}.native-map-center-pin{color:var(--color-map-pin);filter:var(--shadow-pin);pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-100%)}.native-map-center-pin svg{fill:var(--color-surface)}.native-map-location{border-radius:var(--radius-round);background:var(--color-surface);width:48px;color:var(--color-primary);box-shadow:var(--shadow-floating);position:absolute;top:45%;right:14px}.booking-panel--vehicle{max-height:54%}.map-selection-actions{z-index:5;gap:var(--space-2);padding:var(--space-2);background:var(--color-surface);display:flex;position:absolute;bottom:0;left:0;right:0}.map-selection-actions>.button{flex:1}.map-candidate-address{background:var(--color-surface);padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--font-body);box-shadow:var(--shadow-floating)}.map-pick-action{margin-top:var(--space-3)}.native-map-notice{z-index:2;padding:var(--space-2);background:var(--color-surface);color:var(--color-danger);border-radius:var(--radius-md);font-size:var(--font-body);box-shadow:var(--shadow-floating);position:absolute;top:25%;left:20px;right:20px}.booking-screen>.native-map{height:100%}.native-map-canvas{height:calc(100% - var(--map-bottom-cover,0px))}.native-map-center-pin{top:calc((100% - var(--map-bottom-cover,0px)) / 2)}.booking-top-route:before{content:"";z-index:-1;background:var(--map-top-fade);pointer-events:none;height:78px;position:absolute;top:-24px;left:-16px;right:-16px}.wallet-history>h2{font-size:var(--font-heading);margin-top:var(--space-4)}.wallet-filters{margin-bottom:var(--space-4);border-bottom:1px solid var(--color-border);gap:0;display:flex}.wallet-filters button{min-width:0;min-height:var(--control-height);padding:var(--space-2) var(--space-1);color:var(--color-text-muted);font-size:var(--font-body);font-weight:var(--weight-semibold);background:0 0;border:0;border-bottom:2px solid #0000;flex:1}.wallet-filters button[aria-pressed=true]{border-bottom-color:var(--color-primary);color:var(--color-primary)}.wallet-balance{margin-inline:calc(-1 * var(--page-gutter));border-radius:0 0 var(--radius-lg) var(--radius-lg);text-align:center}.wallet-balance strong{font-size:var(--font-hero)}@media (max-width:360px){.wallet-balance{margin-inline:calc(-1 * var(--page-gutter))}}.trip-details-screen{padding-bottom:80px}.trip-rebook-actions{z-index:var(--layer-tabs);width:min(100%, var(--app-width));gap:var(--space-2);padding:var(--space-2) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom));border-top:1px solid var(--color-border);background:var(--color-surface);display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.trip-rebook-actions>.button{min-width:0;padding-inline:var(--space-2);flex:1}.policy-list{margin-top:0}.notification-trip{border-top:1px solid var(--color-border);padding-top:var(--space-2);margin-top:var(--space-2)}.notification-trip>.row{gap:var(--space-2);font-size:var(--font-caption);flex-wrap:wrap}.notification-trip .route{font-size:var(--font-body);margin-block:var(--space-3)}.notification-open{min-width:0;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0;flex:1;padding:0}.notification-title{font-size:var(--font-caption);margin-bottom:var(--space-1);display:block}.notification-body{font-size:var(--font-body);line-height:var(--line-reading);margin-bottom:var(--space-2);display:block}.notification-trip-ref{margin-bottom:var(--space-1);color:var(--color-primary);font-size:var(--font-caption);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.notification-open small{font-size:var(--font-caption);display:block}.notification-detail-body{white-space:pre-wrap;overflow-wrap:anywhere}.policy ul,.policy ol{margin-block:var(--space-2)}.policy li+li{margin-top:var(--space-1)}.activity-screen .tabs{margin-bottom:0}.activity-screen>[aria-busy]{background:var(--color-surface-muted);margin-inline:calc(-1 * var(--page-gutter));padding:var(--space-4) var(--page-gutter) 0;border-radius:var(--radius-md) var(--radius-md) 0 0}.trip-card{padding:var(--space-4);border-radius:var(--radius-sm);margin-bottom:var(--space-4)}.trip-card-main{color:var(--color-text);text-decoration:none;display:block}.trip-card-heading,.trip-overview-heading{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.trip-card-heading{align-items:flex-start}.trip-card-heading>div{gap:var(--space-2);min-width:0;display:grid}.trip-card-heading .badge{justify-self:start}.trip-card-heading small,.trip-overview-heading small{color:var(--color-text-muted);font-size:var(--font-caption)}.trip-card-heading .trip-fare{white-space:nowrap;font-size:var(--font-subheading);font-weight:var(--weight-bold)}.activity-screen .badge,.trip-receipt .badge{border-radius:var(--radius-xl);color:var(--color-on-primary);font-size:var(--font-caption);font-weight:var(--weight-bold);text-transform:uppercase;padding:var(--space-1) var(--space-2);background:var(--color-primary)}.activity-screen .status-dot,.trip-receipt .status-dot{display:none}.activity-screen .badge-success,.trip-receipt .badge-success{background:var(--color-status-success)}.activity-screen .badge-muted,.trip-receipt .badge-muted{background:var(--color-danger)}.activity-screen .badge-waiting,.trip-receipt .badge-waiting{background:var(--color-warning)}.activity-screen .route{margin-block:var(--space-4);gap:var(--space-2)}.activity-screen .route>div:before,.trip-detail-route>div:before{border-radius:var(--radius-round)}.trip-card .route>div>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.trip-summary-metrics{gap:var(--space-2);margin-block:var(--space-3);flex-wrap:wrap;display:flex}.trip-summary-metrics>span{align-items:center;gap:var(--space-1);background:var(--color-surface-muted);color:var(--color-primary-strong);padding:var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-body);white-space:nowrap;display:inline-flex}.trip-participants{gap:var(--space-2);padding-block:var(--space-3);border-block:var(--border-width) solid var(--color-border);display:flex}.trip-vehicle,.trip-list-driver{align-items:center;gap:var(--space-2);flex:1;min-width:0;display:flex}.trip-list-driver{border-left:var(--border-width) solid var(--color-border);padding-left:var(--space-2)}.trip-vehicle-copy{min-width:0}.trip-vehicle-copy strong,.trip-vehicle-copy>span,.trip-list-driver>strong{white-space:nowrap;text-overflow:ellipsis;font-size:var(--font-body);display:block;overflow:hidden}.trip-vehicle-copy>span{color:var(--color-text-muted)}.trip-driver-picture,.trip-vehicle-picture{flex:0 0 var(--symbol-size);width:var(--symbol-size);height:var(--symbol-size);color:var(--color-primary);background:var(--color-primary-soft);border-radius:var(--radius-sm);justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.trip-driver-picture{border-radius:var(--radius-round)}.trip-driver-picture img,.trip-vehicle-picture img{object-fit:cover;width:100%;height:100%}.trip-vehicle-picture img{object-fit:contain}.trip-card-actions,.trip-contact-actions{align-items:center;gap:var(--space-2);display:flex}.trip-card-actions{padding-top:var(--space-3)}.trip-card-actions>.button{min-width:0;padding:var(--space-2) var(--space-1);min-height:var(--touch-target);font-size:var(--font-caption);background:var(--color-history-rebook);flex:1}.trip-card-actions>.button.secondary{background:var(--color-history-return);color:var(--color-text);border-color:#0000}.trip-contact-actions{flex-shrink:0}.trip-contact-actions .icon-button{background:var(--color-primary-soft);color:var(--color-primary)}.trip-receipt.section{padding:var(--space-4);border-radius:var(--radius-sm);margin-inline:calc(-1 * var(--space-2))}.trip-detail-route{padding-bottom:var(--space-4);border-bottom:var(--border-width) solid var(--color-border);gap:var(--space-3);margin-top:0}.trip-detail-route>div{grid-template-columns:12px minmax(0,1fr);position:relative}.trip-detail-route>div:not(:last-child):after{content:"";top:var(--space-4);bottom:calc(-1 * var(--space-3));border-left:var(--border-width) solid var(--color-border-control);position:absolute;left:3px}.trip-detail-route>.trip-stop:before{display:none}.trip-stop-number{z-index:1;width:20px;height:20px;color:var(--color-on-primary);background:var(--color-text-muted);border-radius:var(--radius-round);font-size:var(--font-caption);justify-content:center;align-items:center;margin-left:-6px;display:inline-flex}.trip-receipt .trip-summary-metrics{gap:var(--space-2);margin-block:var(--space-3) var(--space-4);flex-wrap:nowrap}.trip-receipt .trip-summary-metrics>span{min-width:0;padding-block:var(--space-3);font-weight:var(--weight-bold);flex:1;justify-content:center}.trip-driver-row{align-items:center;gap:var(--space-2);padding-block:var(--space-3);border-bottom:var(--border-width) solid var(--color-border);display:flex}.trip-driver-row>strong{overflow-wrap:anywhere;min-width:0;font-size:var(--font-title);flex:1}.trip-driver-row .trip-contact-actions .icon-button{border-radius:var(--radius-round);background:var(--color-primary);color:var(--color-on-primary)}.trip-detail-vehicle{padding-block:var(--space-3)}.trip-receipt .trip-document-link{border:var(--border-width) solid var(--color-border-control);padding:var(--space-3);gap:var(--space-3);margin-block:var(--space-3);font-size:var(--font-title);font-weight:var(--weight-semibold);min-height:calc(var(--control-height) + var(--space-3))}.trip-menu-icon{width:var(--symbol-size);height:var(--symbol-size);border-radius:var(--radius-sm);background:var(--color-primary-soft);color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.trip-payment{margin-top:var(--space-5);padding-top:var(--space-4);border-top:var(--border-width) solid var(--color-border)}.trip-payment-heading,.trip-payment-method{align-items:center;gap:var(--space-2);display:flex}.trip-payment-heading{justify-content:space-between}.trip-payment-heading h2{font-size:var(--font-title);margin:0}.trip-payment-method .badge{text-transform:none;border-radius:var(--radius-xs)}.trip-payment-rows{margin:var(--space-3) 0 0}.trip-payment-rows>div{justify-content:space-between;gap:var(--space-3);padding-block:var(--space-4);border-bottom:var(--border-width) solid var(--color-border-control);display:flex}.trip-payment-rows dt{min-width:0}.trip-payment-rows small{font-size:var(--font-caption)}.trip-payment-rows dd{font-weight:var(--weight-semibold);flex-shrink:0;margin:0}.trip-discount{color:var(--color-danger)}.trip-payment-total{font-weight:var(--weight-bold)}.trip-reference{color:var(--color-text-muted);font-size:var(--font-caption)}.trip-rebook-actions>.button.secondary{background:var(--color-surface);border-color:var(--color-border-control);color:var(--color-text)}@media (max-width:360px){.trip-card{padding:var(--space-3)}.trip-participants .trip-driver-picture,.trip-participants .trip-vehicle-picture{width:var(--space-6);height:var(--space-6);flex-basis:var(--space-6)}.trip-receipt .trip-summary-metrics{flex-wrap:wrap}.trip-receipt .trip-summary-metrics>span{flex:auto}.trip-card-actions>.button{white-space:nowrap;padding-inline:0}.trip-card-actions,.trip-contact-actions{gap:var(--space-1)}}.trip-contract-fields{margin-block:var(--space-3) var(--space-4)}.trip-contract-fields>div{padding-block:var(--space-2);border-bottom:var(--border-width) solid var(--color-border)}.trip-contract-fields dt{color:var(--color-text-muted);font-size:var(--font-caption)}.trip-contract-fields dd{margin:var(--space-1) 0 0;overflow-wrap:anywhere}.trip-rating{padding-block:var(--space-3);border-top:var(--border-width) solid var(--color-border)}.trip-rating h2{font-size:var(--font-title);margin-bottom:var(--space-2)}.trip-rating-stars{gap:var(--space-1);color:var(--color-rating);display:flex}.trip-rating-star{display:inline-flex;position:relative}.trip-rating-star>span{position:absolute;inset:0 auto 0 0;overflow:hidden}.booking-top-route .route-selector{max-height:40dvh;overflow-y:auto}.recent-address-row{align-items:center;display:flex}.recent-address-row>button:first-child{flex:1;min-width:0}.recent-address-row>.icon-button{flex:0 0 var(--control-height);width:var(--control-height)}.vehicle-preview-details{gap:var(--space-1);min-width:0;padding-inline-end:var(--space-4);display:grid}.vehicle-preview-details small{color:var(--color-text-muted);font-size:var(--font-caption)}.managed-customers .record-row{text-align:start}.onboarding-page{padding-top:var(--space-4);padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom) + var(--bottom-actions-height,0px))}.onboarding-notice{border:var(--border-width) solid var(--color-border-control);border-radius:var(--radius-md);background:var(--color-surface);width:100%;height:55dvh;min-height:240px;display:block}.onboarding-consent{margin-block:var(--space-3);align-items:start}.vehicle-availability{align-items:center;gap:var(--space-1);flex-wrap:wrap;display:flex}.booking-panel .vehicle-preview-details{min-width:0;padding-right:var(--space-4)}.booking-panel .vehicle-option{min-height:76px}.booking-search-sheet .booking-address-search{padding:var(--space-2) var(--space-3);box-shadow:none}.booking-search-sheet .address-picker--compact>.field>label{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.booking-search-sheet .address-picker--compact>.address-tools,.booking-search-sheet .address-picker--compact>.address-help:not(.field-error){display:none}.booking-search-sheet .address-picker--compact>.field{margin:0}.booking-search-sheet .address-picker--compact .address-input-row{padding-left:var(--space-4);position:relative}.booking-search-sheet .address-picker--compact .address-input-row:before{content:"";left:0;top:calc(50% - var(--space-1));width:var(--space-2);height:var(--space-2);border-radius:var(--radius-round);background:var(--color-primary);position:absolute}.booking-search-sheet .address-picker--compact:not(:first-child) .address-input-row:before{background:var(--color-selection-danger);border-radius:0}.address-search-actions{gap:var(--space-2);margin-top:var(--space-3);display:grid}.address-search-actions .address-search-action{background:var(--color-surface);border-radius:var(--radius-sm);padding-inline:var(--space-3);text-align:left;border:0;justify-content:space-between;display:flex}.address-search-actions h3{align-items:center;gap:var(--space-2);font-size:var(--font-body);margin:var(--space-3) 0 var(--space-1);display:flex}.address-search-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.saved-address-add{margin-bottom:var(--space-3)}.address-search-list li{padding:var(--space-1);background:var(--color-surface);border-radius:var(--radius-sm);align-items:center;min-width:0;display:flex}.address-search-list li>button:first-child{gap:var(--space-2);min-width:0;color:var(--color-text);text-align:left;min-height:var(--touch-target);padding:var(--space-2);background:0 0;border:0;flex:1;align-items:center;display:flex}.address-search-list li>button:first-child span{overflow-wrap:anywhere}.address-search-list svg{flex-shrink:0}.address-search-list .address-saved svg{color:var(--color-selection-danger);fill:var(--color-selection-danger)}.booking-search-sheet .booking-address-search{position:relative}.booking-address-controls{flex-direction:column;flex:none;gap:0;display:flex}.booking-search-sheet .address-input-row .icon-button{flex-basis:var(--space-6);width:var(--space-6);height:var(--space-6)}.booking-search-sheet .address-input-row .icon-button>svg{width:var(--space-4);height:var(--space-4)}.booking-search-sheet .address-input-row .booking-address-controls .icon-button{width:var(--space-5);height:calc(var(--space-5) - var(--space-1));flex-basis:auto}.booking-search-sheet .address-input-row .booking-address-controls .icon-button>svg{width:var(--space-3);height:var(--space-3)}.booking-search-sheet .address-picker:not([data-active=true]) .address-clear:not(.address-remove){display:none}.booking-search-sheet .booking-address-search:has(>.booking-address-swap)>.address-picker{padding-right:calc(var(--space-6) + var(--space-1))}.booking-search-sheet .booking-address-search>.booking-address-swap{top:50%;right:var(--space-2);width:var(--space-6);height:var(--space-6);position:absolute;transform:translateY(-50%)}.booking-search-sheet .booking-address-search>.booking-address-swap>svg{width:var(--space-4);height:var(--space-4)}.booking-add-destination{width:100%;margin-top:var(--space-3)}.booking-panel--expanded{max-height:calc(100% - 180px)}.booking-panel--collapsed{max-height:min(42%,300px)}.booking-panel>.sheet-toggle{z-index:5;background:var(--color-panel);touch-action:none;-webkit-user-select:none;user-select:none;cursor:ns-resize;position:sticky;top:0}.booking-panel--collapsed .vehicle-option{min-height:64px}.booking-panel--collapsed .vehicle-preview-details>small:not(:last-child){display:none}.booking-quick-actions{gap:var(--space-2);padding-block:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.booking-quick-actions .button{justify-content:center;align-items:center;gap:var(--space-1);min-width:0;padding-inline:var(--space-2);flex-wrap:wrap;display:flex}.booking-quick-actions .button[aria-pressed=true]{box-shadow:var(--shadow-selection);background:var(--color-selected)}.booking-quick-actions small{overflow-wrap:anywhere;font-size:var(--font-caption);flex-basis:100%}.address-picker .field{position:relative}.address-picker:has([role=listbox]){z-index:var(--layer-actions);position:relative}.address-picker .field>.suggestions[role=listbox]{z-index:var(--layer-actions);top:100%;margin:var(--space-1) 0 0;overscroll-behavior:contain;border:1px solid var(--color-border);border-radius:var(--radius-sm);max-height:min(40dvh,300px);box-shadow:var(--shadow-floating);position:absolute;inset-inline:0;overflow-y:auto}.booking-search-sheet .address-picker--compact .address-input-row{background:var(--color-surface-muted);border-radius:var(--radius-md);margin-left:var(--space-4);padding-left:0}.booking-search-sheet .address-picker--compact .address-input-row:before{left:calc(-1 * var(--space-4))}.booking-search-sheet .address-picker--compact input{background:0 0}.booking-search-sheet .address-input-row:focus-within{outline:var(--focus-width) solid var(--color-primary);outline-offset:calc(-1 * var(--focus-width))}.booking-search-sheet .address-input-row input:focus-visible{box-shadow:none;outline:none}
.booking-screen .booking-top-route{inset:max(var(--space-4), env(safe-area-inset-top)) var(--page-gutter) auto}.booking-top-route h1{font-size:var(--font-heading);margin:0 0 var(--space-3)}.booking-top-route .route-selector{padding:0 var(--space-3);border-radius:var(--radius-sm);background:var(--color-surface)}.booking-top-route .route-selector-row{gap:var(--space-3);min-height:44px;position:relative}.booking-top-route .route-selector-row+.route-selector-row{border-top:0}.booking-top-route .route-selector-row+.route-selector-row:after{content:"";height:var(--border-width);background:var(--color-text);position:absolute;top:0;left:22px;right:0}.booking-top-route .route-selector-row:has(+.route-selector-row):before{content:"";height:100%;width:var(--border-width);background:var(--color-text-muted);position:absolute;top:50%;left:4px}.booking-top-route .route-dot{z-index:1;width:10px;height:10px}.booking-top-route .route-dot--drop{border-radius:0}.booking-top-route .route-selector-row strong{font-weight:var(--weight-regular)}.booking-top-route--quoted h1,.booking-top-route--quoted .route-selector-row>svg{display:none}.booking-screen .booking-panel{padding:0 var(--page-gutter) var(--space-2);padding-bottom:calc(var(--space-2) + var(--bottom-actions-height,calc(var(--control-height) + 2 * var(--space-3) + var(--border-width))));background:var(--color-panel);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.booking-screen .booking-panel--expanded{max-height:calc(100% - var(--booking-map-clearance,228px))}.booking-screen .booking-panel--collapsed{max-height:min(43%, 320px, calc(100% - var(--booking-map-clearance,228px)))}.booking-panel>.sheet-toggle{background:inherit;margin-bottom:var(--space-1)}.booking-panel .sheet-handle{width:44px}.booking-panel .section{padding:var(--space-2) 0}.booking-panel .section>h2{margin:0 0 var(--space-2);font-size:var(--font-title);font-weight:var(--weight-medium)}.booking-panel .vehicle-list{gap:var(--space-2);padding:2px}.booking-panel .vehicle-option{min-height:78px;padding:var(--space-2);border-color:var(--color-border);border-radius:var(--radius-sm)}.booking-panel .vehicle-option:has(input:checked){border-color:var(--color-booking-selection);background:var(--color-selected);box-shadow:var(--shadow-card)}.booking-panel .vehicle-option>input{opacity:0;width:1px;height:1px}.booking-panel .vehicle-option:has(input:focus-visible){outline:var(--focus-width) solid var(--color-primary);outline-offset:0}.booking-panel .vehicle-option>span{gap:var(--space-3)}.booking-panel .vehicle-option .vehicle-picture{flex:0 0 68px;height:50px}.booking-panel .vehicle-picture .vehicle-image{width:100%;height:100%}.booking-panel .vehicle-preview-details{justify-content:stretch;gap:var(--space-1);flex:1;padding-inline-end:0;display:grid}.vehicle-preview-details strong{font-weight:var(--weight-bold)}.booking-panel .vehicle-preview-details small{color:var(--color-text);line-height:var(--line-heading)}.booking-panel .vehicle-availability{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.booking-panel .vehicle-availability>span{justify-content:flex-start;align-items:center;gap:var(--space-1);width:auto;font-size:var(--font-caption);flex-direction:row;display:inline-flex}.booking-panel .vehicle-price{color:var(--color-text-muted);font-size:var(--font-caption)}.vehicle-price:empty,.booking-panel--collapsed .vehicle-preview-details>small{display:none}.booking-panel .booking-quick-actions{padding-block:var(--space-1) var(--space-2)}.booking-quick-actions .button{border-radius:var(--radius-xl);background:var(--color-surface);border-color:var(--color-border)}.booking-screen>.bottom-actions>.booking-actions{gap:var(--space-2);background:0 0;flex:1;margin:0;padding:0;display:flex;position:static}.booking-screen>.bottom-actions .booking-actions>.button{min-width:0;padding-inline:var(--space-2);flex:1}.booking-screen>.bottom-actions .booking-schedule-action{background:var(--color-secondary)}.booking-actions .button{min-height:var(--control-height)}.booking-screen .booking-panel--quoted{background:var(--color-surface);max-height:calc(100% - var(--booking-map-clearance,228px))}.booking-screen .booking-panel--quoted.booking-panel--collapsed{max-height:min(43%, 320px, calc(100% - var(--booking-map-clearance,228px)))}.booking-panel--quoted .booking-heading{margin:var(--space-2) 0 var(--space-3)}.booking-panel--quoted .booking-heading>.icon-button{display:none}.booking-panel--quoted .booking-heading h2{font-size:var(--font-heading);font-weight:var(--weight-bold)}.booking-panel--quoted .fare-summary{gap:var(--space-2);margin:0;padding:0;display:grid}.booking-quote-vehicle{gap:var(--space-3);align-items:center;min-height:48px;display:flex}.booking-quote-vehicle .vehicle-picture{background:var(--color-surface-muted);border-radius:var(--radius-xs);width:50px;height:48px;position:relative}.booking-quote-vehicle .vehicle-image{width:100%;height:100%}.booking-quote-vehicle>div{gap:var(--space-1);display:grid}.booking-quote-vehicle strong{font-size:var(--font-title)}.booking-quote-vehicle small{align-items:center;gap:var(--space-1);color:var(--color-text-muted);display:flex}.booking-quote-estimate{background:var(--color-surface-muted);justify-items:center;gap:var(--space-1);padding:var(--space-3);border-radius:var(--radius-xs);display:grid}.booking-quote-estimate>span{color:var(--color-text-muted)}.booking-quote-estimate>strong{font-size:var(--font-display);font-weight:var(--weight-bold)}.booking-quote-metrics{justify-content:center;gap:var(--space-4);margin-top:var(--space-2);color:var(--color-text-muted);flex-wrap:wrap;display:flex}.booking-quote-metrics>span{align-items:center;gap:var(--space-1);display:flex}.booking-quote-payment{gap:var(--space-1);color:var(--color-text-muted);display:grid}.booking-quote-row{align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-border-control);border-radius:var(--radius-xs);color:var(--color-text);display:flex}.booking-quote-payment .booking-quote-row{justify-content:space-between}.booking-quote-promotion{color:var(--color-text-muted)}.booking-quote-promotion small{white-space:nowrap;margin-left:auto}.booking-panel .booking-quote-services{border-radius:var(--radius-xs);border:var(--border-width) solid var(--color-border-control);background:var(--color-surface);min-height:44px;color:var(--color-primary);font-size:var(--font-caption);font-weight:var(--weight-bold);margin:0}.booking-screen>.bottom-actions>.booking-quote-confirm{box-shadow:none;border-radius:var(--radius-sm);min-height:48px;font-size:var(--font-title);position:static}.booking-panel--quoted .fare-summary>.check{margin:var(--space-1) 0;color:var(--color-danger);font-size:var(--font-caption);align-items:center}.booking-panel--quoted .fare-summary>.check input{flex-shrink:0;margin:0}.booking-panel--quoted .fare-summary>.check a{color:var(--color-text);font-weight:var(--weight-bold)}.booking-quote-breakdown{font-size:var(--font-caption);color:var(--color-text-muted)}.booking-quote-breakdown>summary{cursor:pointer;align-items:center;min-height:44px;display:flex}.booking-quote-schedule{color:var(--color-text-muted);margin:0}.booking-map-controls{left:var(--page-gutter);right:var(--page-gutter);pointer-events:none;z-index:6;justify-content:space-between;display:flex;position:absolute}.booking-map-controls>*{pointer-events:auto;background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-card);border-radius:var(--radius-round)}.booking-map-controls>.button{min-height:44px;padding:var(--space-2) var(--space-3)}.booking-screen>.booking-quick-actions{left:var(--page-gutter);right:var(--page-gutter);z-index:6;pointer-events:none;justify-content:flex-end;margin:0;padding:0;display:flex;position:absolute}.booking-screen>.booking-quick-actions .button{pointer-events:auto;width:auto;min-width:112px;box-shadow:var(--shadow-card);justify-self:start}.booking-screen>.booking-quick-actions .button:last-child{justify-self:end}.booking-screen .native-map-location{top:auto;bottom:calc(var(--map-bottom-cover,0px) + 76px)}.booking-map-controls>.button{border-radius:var(--radius-xl)}.booking-actions .booking-schedule-action{justify-content:center;align-items:center;gap:var(--space-1);flex-wrap:wrap;display:flex}.booking-schedule-action small{font-size:var(--font-caption);flex-basis:100%}.booking-top-route .route-selector{position:relative}.native-map-marker--pickup,.native-map-marker--drop{width:var(--space-10);height:var(--space-10);box-shadow:none;pointer-events:none;background:0 0;border:0;border-radius:0;transform:translate(-50%,-100%)}.native-map-marker-pin{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.native-map-marker-number{width:100%;height:70%;color:var(--color-on-primary);text-shadow:var(--shadow-marker);font-size:var(--font-title);place-items:center;display:grid;position:absolute;top:0;left:0}.native-map-marker--vehicle{width:52px;height:36px;box-shadow:none;pointer-events:none;background:0 0;border:0;border-radius:0}.native-map-marker--vehicle img{object-fit:contain;width:100%;height:100%;filter:var(--shadow-pin);display:block}.native-map-marker--vehicle-fallback{border:2px solid var(--color-surface);border-radius:var(--radius-round);background:var(--color-primary);width:12px;height:12px;box-shadow:var(--shadow-marker)}.native-map-marker--pickup,.native-map-marker--drop{z-index:2}.native-map-marker--vehicle{z-index:1}.native-map-tools{right:14px;bottom:calc(var(--map-bottom-cover,0px) + var(--space-4));z-index:4;gap:var(--space-2);display:grid;position:absolute}.native-map-tools>.icon-button{width:var(--control-height);height:var(--control-height);border-radius:var(--radius-round);background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-floating);position:static}.booking-screen .native-map-tools{bottom:calc(var(--map-bottom-cover,0px) + 76px)}
body:has(.active-trip-screen){overflow:hidden}.page:has(>.active-trip-screen){height:100dvh;min-height:0;padding:0}.active-trip-screen{isolation:isolate;height:100dvh;padding:0;position:relative;overflow:hidden}.active-trip-screen>.trip-map{z-index:-1;margin:0;position:absolute;inset:0}.active-trip-screen>.trip-map .journey-map,.active-trip-screen>.trip-map .native-map{height:100%;min-height:0}.active-trip-toolbar{inset:calc(var(--space-3) + env(safe-area-inset-top)) var(--space-4) auto;justify-content:space-between;align-items:center;gap:var(--space-2);z-index:1;display:flex;position:absolute}.active-trip-back,.active-trip-status{background:var(--color-surface);box-shadow:var(--shadow-floating)}.active-trip-back{border-radius:var(--radius-round);color:var(--color-text);flex-shrink:0}.active-trip-status{justify-content:center;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border-radius:var(--radius-xl);font-size:var(--font-caption);flex-wrap:wrap;display:flex}.active-trip-status .badge{background:0 0;padding:0}.active-trip-sheet{max-height:min(60dvh, calc(100dvh - 88px - env(safe-area-inset-top)));border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:0 var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom));background:var(--color-surface);box-shadow:var(--shadow-panel);flex-direction:column;display:flex;position:absolute;inset:auto 0 0}.active-trip-toggle{min-height:var(--touch-target);color:var(--color-text);cursor:pointer;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.active-trip-toggle .sheet-handle{margin:0}.active-trip-toggle .icon{position:absolute;right:0;transform:rotate(-90deg)}.active-trip-sheet--expanded .active-trip-toggle .icon{transform:rotate(90deg)}.active-trip-summary{justify-content:space-between;align-items:center;gap:var(--space-2);padding-bottom:var(--space-3);flex-shrink:0;display:flex}.active-trip-fare{align-items:center;gap:var(--space-2);padding:var(--space-3);margin-bottom:var(--space-2);border-radius:var(--radius-md);background:var(--color-primary-soft);flex-shrink:0;grid-template-columns:1fr auto;display:grid}.active-trip-fare>span{font-size:var(--font-caption);color:var(--color-text-muted)}.active-trip-fare>strong{font-size:var(--font-heading);color:var(--color-primary)}.active-trip-fare .trip-summary-metrics{grid-column:1/-1;justify-content:space-between;margin:0}.active-trip-fare .trip-summary-metrics>span{background:0 0;padding:0}.active-trip-summary .trip-vehicle{min-width:0}.active-trip-content{overscroll-behavior:contain;min-height:0;overflow-y:auto}.active-trip-content[hidden]{display:none}.active-trip-searching{justify-content:center;align-items:center;gap:var(--space-2);margin-block:var(--space-2) var(--space-4);color:var(--color-text-muted);display:flex}.active-trip-sheet>.button{margin-top:var(--space-3);background:var(--color-booking-cancel);border-color:var(--color-booking-cancel);flex-shrink:0}.active-trip-content .trip-receipt.section{box-shadow:none;border:0;margin:0;padding:0}.trip-route-details>summary{min-height:var(--touch-target);font-weight:var(--weight-semibold);cursor:pointer;justify-content:space-between;align-items:center;list-style:none;display:flex}.trip-route-details>summary::-webkit-details-marker{display:none}.trip-route-details[open]>summary .icon{transform:rotate(90deg)}.active-trip-content .trip-detail-route>div:first-child:before{background:var(--color-primary)}.active-trip-content .trip-detail-route>div:last-child:before{background:var(--color-booking-cancel);border-radius:0}.active-trip-content .trip-overview-heading,.active-trip-content .trip-detail-vehicle{display:none}.trip-dialog.dialog{width:min(100% - 56px,420px);height:auto;max-height:calc(100dvh - 48px);padding:var(--space-4);border-radius:var(--radius-lg);margin:0;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.trip-dialog h2{margin:0 0 var(--space-4);text-align:center;font-size:var(--font-heading)}.trip-dialog-content{overflow-wrap:anywhere}.trip-cancel-reasons{border:0;margin:0;padding:0}.trip-cancel-reasons label{align-items:center;gap:var(--space-2);min-height:var(--touch-target);cursor:pointer;margin:0;display:flex}.trip-cancel-reasons input{width:20px;height:20px;accent-color:var(--color-booking-success);flex-shrink:0;margin:0}.trip-dialog-actions{gap:var(--space-3);margin-top:var(--space-4);display:flex}.trip-dialog-actions .button{background:var(--color-booking-success);border-color:var(--color-booking-success);flex:1}.trip-dialog-actions .button.danger{background:var(--color-booking-cancel);border-color:var(--color-booking-cancel)}.trip-dialog--success.dialog{text-align:center;width:min(100% - 64px,420px);padding:var(--space-4)}.trip-success-symbol{width:96px;height:96px;margin:0 auto var(--space-5);color:var(--color-on-primary);background:var(--color-booking-success);border-radius:var(--radius-round);justify-content:center;align-items:center;display:flex}.trip-success-symbol .icon{stroke-width:4px}.trip-dialog--success .trip-dialog-content p{color:var(--color-text-muted);margin:0}.trip-dialog--success .trip-success-symbol,.trip-dialog--success h2{margin-bottom:var(--space-2)}.trip-dialog--success .trip-dialog-actions{margin-top:var(--space-6)}.active-trip-screen>.trip-map .journey-map .map{height:100%}

