/* Vest mobile design system — bold, direct and made for everyday movement. */
:root{--ink:#10283f;--navy:#10283f;--orange:#f57722;--muted:#607184;--line:#e7ebef;--surface:#f4f6f8;--warm:#fff3e9;--green:#197452;--radius:20px}
html{font-size:16px;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font:500 15px/1.5 'DM Sans',sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #f5772290;outline-offset:3px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,sans-serif}svg.icon{width:22px;height:22px;stroke-width:2;flex-shrink:0}button .icon{pointer-events:none}.primary,.secondary{width:100%;min-height:56px;padding:15px 18px;border-radius:15px;border:0;display:flex;align-items:center;justify-content:center;gap:10px;font:700 16px/1.4 'DM Sans',sans-serif;letter-spacing:-.2px;margin-top:14px;box-shadow:none;transition:background .18s,transform .18s}.primary{background:var(--orange);color:#15283b}.primary:hover{background:#ff8b3e}.secondary{background:#eef2f5;color:var(--ink);border:1px solid transparent}.secondary:hover{background:#e4eaf0}.primary:active,.secondary:active{transform:scale(.985)}.primary:disabled,.secondary:disabled{opacity:.45;transform:none}.primary .icon,.secondary .icon{width:21px;height:21px}.live-loading{padding:90px 24px;text-align:center;font-size:16px;font-weight:700}.live-loading:before{content:'●';color:var(--orange);margin-right:10px}
/* Consistent brand: original emblem, an emphatic wordmark and a readable tagline. */
.vest-brand{display:flex;align-items:center;gap:8px;flex-shrink:0}.vest-brand img{width:61px;height:55px;object-fit:contain;flex-shrink:0}.vest-brand strong{display:block;font:800 32px/1.05 Manrope,sans-serif;letter-spacing:-1.55px;white-space:nowrap;color:var(--ink)}.vest-brand strong span{color:var(--orange)}.vest-brand small{display:block;font:800 9px/1.5 Manrope,sans-serif;letter-spacing:.65px;color:var(--ink);margin-top:7px;white-space:nowrap}.live-header{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 20px 14px;border-bottom:1px solid var(--line);background:white;position:relative;z-index:2}.avatar{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#edf2f6;color:var(--ink);font:800 14px Manrope;flex-shrink:0;border:1px solid #e1e8ee}.live-header .avatar{width:44px;height:44px}.live-status{height:43px;display:flex;align-items:center;justify-content:space-between;padding:10px 30px 0;font:800 12px Manrope;position:relative;background:white}.live-island{width:116px;height:27px;border-radius:20px;background:#10151b;position:absolute;left:50%;transform:translateX(-50%);top:8px}
.live-app{min-height:100dvh;padding-bottom:100px}.live-main{padding:26px 22px}.live-main h1,.live-sheet h1{font:800 30px/1.2 Manrope,sans-serif;letter-spacing:-1.25px;margin:12px 0 16px}.live-main h2,.live-sheet h2{font:800 22px/1.3 Manrope,sans-serif;letter-spacing:-.65px}.live-main h3,.live-sheet h3{font:800 16px/1.4 Manrope,sans-serif;letter-spacing:-.3px}.live-main p,.live-sheet p{font-size:14px;line-height:1.65;color:var(--muted);margin:8px 0 16px}.live-eyebrow{font:800 10px/1.4 Manrope,sans-serif!important;letter-spacing:1.45px;color:#a04c10!important;margin:0 0 10px!important}.live-sub{font-size:12px!important;line-height:1.6!important;color:#637385!important}.live-link{border:0;background:none;padding:12px 0;color:var(--ink);font-size:14px;font-weight:700;text-align:left;min-height:44px;cursor:pointer}.live-chip{display:inline-flex;align-items:center;gap:6px;background:#edf5f1;color:#21634b;font-size:11px;line-height:1.4;font-weight:800;padding:7px 10px;border-radius:8px;letter-spacing:.1px}.live-card{padding:20px;margin:18px 0;background:white;border:1px solid var(--line);border-radius:var(--radius)}.live-card.soft{background:var(--surface);border-color:var(--surface)}.live-card.warm{background:var(--warm);border-color:#ffe4cf}.live-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:16px 0;font-size:14px}.live-row:last-child{border:0}.live-row b{font-weight:800;text-align:right}.live-row small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.live-row button{font-size:13px;font-weight:700;min-height:40px;border:0;background:none}.live-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.live-grid .primary,.live-grid .secondary{margin-top:0}.live-label{display:block;font:700 14px/1.4 'DM Sans',sans-serif;color:var(--ink);margin:20px 0 9px}.live-input{width:100%;min-height:56px;padding:15px 16px;background:var(--surface);border:1px solid #dfe6ed;border-radius:13px;color:var(--ink);font:600 16px/1.45 'DM Sans',sans-serif;box-sizing:border-box;outline-offset:2px}.live-input:focus{background:white;border-color:var(--ink)}.live-input[type=file]{font-size:13px;padding:13px;background:white}.live-input::placeholder{color:#718396}.live-input option{font-size:16px}.live-sheet textarea{min-height:120px;resize:vertical}.live-check{display:flex;align-items:flex-start;gap:11px;font-size:13px;color:#465a6d;line-height:1.65;margin:22px 0}.live-check input{accent-color:var(--ink);width:19px;height:19px;margin-top:2px;flex-shrink:0}.live-error{color:#ad302d!important;font-size:13px!important;min-height:18px;margin:12px 0!important}.live-warning{border-left:3px solid var(--orange);padding:10px 14px;background:var(--warm);border-radius:0 9px 9px 0;font-size:13px!important}.live-person{display:flex;gap:13px;align-items:center}.live-person .avatar{width:52px;height:52px;font-size:16px}.live-person p{margin:4px 0;font-size:13px}.live-person h3{margin:0}.live-pin{text-align:center;font:800 34px/1.4 Manrope;letter-spacing:12px;padding:20px 10px 20px 22px;border-radius:16px;background:var(--surface);margin:18px 0}.live-actions{display:flex;gap:8px;margin:18px 0}.live-actions button{flex:1;min-height:48px;padding:10px 7px;background:white;border:1px solid #dce4eb;border-radius:12px;font-size:12px;font-weight:700}.live-empty,.family-empty{padding:28px 18px;text-align:center;background:var(--surface);border-radius:18px;margin:18px 0}.live-empty p,.family-empty p{font-size:13px;margin-bottom:0}.empty-icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:white;margin:0 auto 12px}.live-nav{position:fixed;z-index:10;bottom:0;left:0;right:0;display:flex;background:#fff;border-top:1px solid var(--line);padding:10px 8px max(18px,env(safe-area-inset-bottom));box-shadow:0 -4px 24px #10283f04}.live-nav button{flex:1;min-height:52px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;border:0;background:none;color:#687c8e;font:700 11px/1.4 'DM Sans',sans-serif}.live-nav button .icon{width:24px;height:24px;padding:1px}.live-nav button.active{color:var(--ink)}.live-nav button.active .icon{background:#fff0e3;border-radius:10px;box-shadow:0 0 0 6px #fff0e3;stroke-width:2.4}.live-nav button.active span{font-weight:800}
/* Bottom sheets are shared by login, booking, KYC, payouts and safety. */
.live-sheet-bg{position:fixed;inset:0;z-index:50;background:#071b2d80;backdrop-filter:blur(3px);display:flex;align-items:flex-end}.live-sheet{position:relative;width:100%;max-height:95dvh;overflow-y:auto;overscroll-behavior:contain;padding:25px 22px max(30px,env(safe-area-inset-bottom));background:white;border-radius:28px 28px 0 0;box-shadow:0 -12px 60px #061c3326;animation:sheet-in .22s ease-out}.live-sheet:before{content:'';position:absolute;top:10px;left:calc(50% - 20px);height:4px;width:40px;border-radius:10px;background:#d8e0e7}.live-sheet>.vest-brand{margin:7px 0 20px;gap:7px}.live-sheet>.vest-brand img{width:48px;height:43px}.live-sheet>.vest-brand strong{font-size:27px}.live-sheet>.vest-brand small{font-size:7px;margin-top:5px}.live-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.live-sheet-head h2{font-size:17px;letter-spacing:-.25px}.live-sheet-head button{position:absolute;top:36px;right:22px;display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:50%;font-size:28px;background:var(--surface);color:var(--ink);line-height:1}.live-sheet .primary{margin-top:20px}.live-sheet a{color:#1d628b;font-weight:700}.live-service{display:flex;align-items:center;gap:14px;text-align:left;width:100%;padding:18px;border:1px solid var(--line);border-radius:16px;background:white;color:var(--ink);margin:12px 0}.live-service.selected{border:2px solid var(--ink);background:#f3f6f8}.live-service span{flex:1}.live-service small{display:block;color:var(--muted);font-size:12px;margin-top:5px}.live-service b{font-weight:800}.live-receipt-ref{overflow-wrap:anywhere;font-size:12px!important}.live-amounts{display:flex;gap:8px;margin:16px 0}.live-amounts button{flex:1;min-height:44px;padding:10px 8px;border:1px solid #dce5ed;border-radius:12px;background:white;font-size:14px;font-weight:700}.live-wallet{position:relative;overflow:hidden;background:var(--ink);border-radius:23px;padding:25px;margin:20px 0 18px;color:white}.live-wallet:after{content:'';position:absolute;width:160px;height:160px;right:-65px;top:-75px;border:30px solid #ffffff08;border-radius:50%;pointer-events:none}.live-wallet p{color:#d1dce6;font-weight:600;font-size:13px;margin:0}.live-wallet h1{color:white;font-size:39px;font-weight:800;margin:13px 0 18px;letter-spacing:-1.5px}.live-wallet .live-row{border-color:#ffffff20;color:#d1dce6;font-size:12px;padding:13px 0 0}.family-members{margin-top:20px}.family-member-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.family-member-head h3{margin:0 0 4px}.family-member-head p{margin:0}.family-invite{overflow-wrap:anywhere;background:var(--surface);border:1px dashed #a2b4c4;border-radius:12px;padding:18px;font-size:14px;line-height:1.7}.family-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.family-meta span{font-size:12px;color:var(--muted)}.family-track-point{padding:14px 0;border-bottom:1px solid var(--line);font-size:14px}.family-track-point time{display:block;color:var(--muted);font-size:12px;margin-top:7px}.family-share-banner{padding:16px;background:#eef6f2;border:1px solid #d9e9e1;border-radius:15px;margin:18px 0}.family-share-banner p{margin:0}.family-status-indicator{font-size:12px;color:var(--green);margin:8px 0}.live-map-link{display:block;text-align:right;margin:12px 0;font-size:13px;font-weight:700;color:#285c7e}#toast{z-index:100;max-width:min(90%,420px);font-size:14px;font-weight:600;line-height:1.5;padding:15px 18px;border-radius:14px;white-space:normal;background:var(--ink);color:white;box-shadow:0 8px 30px #10283f30}
/* Map-first home and a purposeful booking dock. */
.live-map{height:280px;border-radius:20px;overflow:hidden;position:relative;margin:20px 0;background:#e9f0ec}.live-map .live-google-map,.live-google-map>svg,.live-map>svg{width:100%;height:100%}.live-map-caption{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);padding:6px 11px;max-width:95%;border-radius:9px;background:#ffffffef;color:#53697a;font:600 10px/1.4 'DM Sans',sans-serif;text-align:center;white-space:normal;box-shadow:0 2px 7px #10283f0a}.map-home .live-main{padding:0}.home-map-stage{height:265px;position:relative;background:#e9f0ec}.home-map-stage .live-map{height:100%;border-radius:0;margin:0}.home-map-stage .live-map-caption{bottom:29px;font-size:10px}.map-location-pill{position:absolute;top:18px;left:20px;display:flex;align-items:center;gap:8px;border:1px solid #ffffff80;border-radius:25px;padding:10px 14px;background:white;box-shadow:0 3px 12px #10283f10;font-size:13px;font-weight:800}.map-location-pill .icon{width:17px;height:17px}.map-location-pill .icon:last-child{width:13px}.map-safety-button{position:absolute;right:20px;top:18px;width:43px;height:43px;border-radius:50%;display:grid;place-items:center;background:white;box-shadow:0 3px 12px #10283f15;border:1px solid #ffffff80}.map-safety-button .icon{width:21px;height:21px}.home-dock{position:relative;margin-top:-18px;padding:12px 22px 20px;border-radius:26px 26px 0 0;background:white;z-index:1;box-shadow:0 -8px 20px #10283f06}.dock-handle{width:36px;height:4px;border-radius:10px;background:#dbe3e9;margin:0 auto 17px}.live-tabs{display:flex;gap:6px;padding:5px;background:var(--surface);border-radius:14px;margin-bottom:23px}.live-tabs button{flex:1;min-height:43px;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 8px;border:0;border-radius:10px;background:transparent;color:#667a8b;font:700 14px 'DM Sans',sans-serif}.live-tabs button.active{background:var(--ink);color:white;box-shadow:0 2px 7px #10283f16}.live-tabs .icon{width:20px;height:20px}.home-dock .home-greeting{font-size:12px;color:var(--muted);margin:0 0 5px}.home-dock h1{font-size:25px;letter-spacing:-.95px;margin:0 0 17px}.destination-search{display:flex;align-items:center;gap:12px;width:100%;min-height:61px;background:var(--surface);border:1px solid #e5ebf0;border-radius:15px;padding:11px 13px 11px 17px;font:800 16px Manrope;letter-spacing:-.4px;text-align:left}.destination-search>span:first-of-type{flex:1}.search-arrow{width:34px;height:34px;display:grid;place-items:center;background:var(--orange);border-radius:10px}.search-arrow .icon{width:19px;height:19px}.transport-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.transport-option{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:111px;padding:12px 14px;background:#f5f7f9;border:1px solid #ecf0f3;border-radius:16px;text-align:left;overflow:hidden}.transport-illustration{align-self:flex-end;position:absolute;right:1px;top:0;width:108px;height:69px}.transport-illustration svg{width:100%;height:100%}.transport-option strong{font:800 16px Manrope;margin-top:43px;z-index:1}.transport-option small{font-size:11px;color:var(--muted);margin-top:3px}.transport-option:hover{border-color:#b2c0cb;background:#eff3f6}.home-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:17px}.home-shortcuts button{display:flex;align-items:center;gap:9px;padding:0;background:none;text-align:left;min-height:48px}.shortcut-icon{width:36px;height:38px;border-radius:12px;background:#eef3f6;display:grid;place-items:center;flex-shrink:0}.shortcut-icon .icon{width:19px;height:19px}.home-shortcuts button>span:nth-child(2){font-size:12px;font-weight:800;flex:1}.home-shortcuts small{display:block;font-size:10px;font-weight:500;color:var(--muted);margin-top:4px;white-space:nowrap}.home-shortcuts button>.icon{width:13px;height:13px;color:#8395a3}.wallet-reward-banner{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--warm);border:1px solid #ffe3ce;border-radius:16px;padding:15px;margin-top:20px}.reward-icon{width:39px;height:39px;display:grid;place-items:center;background:#ffdfc5;border-radius:12px;flex-shrink:0;color:#a64d0d}.wallet-reward-banner>span:nth-child(2){flex:1}.wallet-reward-banner strong{font-size:13px;font-weight:800;display:block}.wallet-reward-banner small{font-size:11px;color:#795338;line-height:1.5;display:block;margin-top:3px}.wallet-reward-banner>.icon{width:18px;height:18px}
/* A work-focused partner home: availability, earnings, then real requests. */
.driver-map-stage{height:285px}.driver-map-status{position:absolute;top:18px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;border-radius:20px;padding:10px 13px;font-size:12px;font-weight:700;display:flex;align-items:center;gap:7px;white-space:nowrap}.driver-map-status span{height:7px;width:7px;border-radius:50%;background:#a9b8c5}.driver-map-status.online span{background:#7be5ad}.driver-map-stage .map-location-pill{left:16px;padding:10px;font-size:12px}.driver-map-stage .map-location-pill>.icon{display:none}.driver-dock-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.driver-dock-heading h1{font-size:25px;margin:0}.driver-mode-icon{display:grid;place-items:center;background:var(--warm);color:#bc5912;width:48px;height:48px;border-radius:15px;flex-shrink:0}.driver-service-control{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:14px 0 16px;margin-top:8px;border:0;border-bottom:1px solid var(--line);background:none;font-size:12px;font-weight:700}.driver-service-control span{display:flex;align-items:center;gap:8px}.driver-service-control .icon{width:17px;height:17px}.driver-today{display:grid;grid-template-columns:1fr 1fr;padding:20px 0 6px}.driver-today>div{display:flex;flex-direction:column;gap:5px;padding:0 12px 0 0}.driver-today>div+div{border-left:1px solid var(--line);padding:0 0 0 23px}.driver-today span{font-size:12px;color:var(--muted);font-weight:600}.driver-today strong{font:800 29px/1.2 Manrope;letter-spacing:-1px}.driver-today small{font-size:10px;color:var(--muted)}.driver-dock>.primary,.driver-dock>.secondary{min-height:57px;font-size:17px}.home-dock .online-helper{text-align:center;font-size:11px;margin:10px 0 24px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-top:20px}.section-heading h2{font-size:17px;letter-spacing:-.45px}.request-count{border-radius:9px;background:#edf2f6;padding:3px 9px;font-size:12px;font-weight:800}.driver-offline-note{display:flex;gap:14px;padding:18px 0}.driver-offline-note>.icon{width:24px;color:#7b8fa0;margin-top:2px}.driver-offline-note strong{font-size:13px}.driver-offline-note p{font-size:12px;line-height:1.6;margin:6px 0 0}.request-card{padding:18px}.request-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.request-card-top>strong{font:800 25px Manrope;letter-spacing:-1px}.request-route{display:flex;flex-direction:column;gap:15px;margin:20px 0;padding-left:20px;position:relative;font-size:14px;font-weight:600}.request-route:before{content:'';position:absolute;left:4px;top:10px;bottom:10px;border-left:1px dashed #aabcca}.request-route span{position:relative}.request-route span:before{content:'';position:absolute;left:-20px;top:6px;width:9px;height:9px;background:var(--ink);border-radius:50%;border:2px solid white;box-shadow:0 0 0 1px var(--ink)}.request-route span+span:before{border-radius:2px;background:var(--orange);box-shadow:0 0 0 1px var(--orange)}.request-meta{font-size:12px;color:var(--muted)}
/* The welcome screen carries the brand and a living illustrated city. */
.live-welcome{padding:20px 22px 28px;min-height:calc(100dvh - 43px);display:flex;flex-direction:column;background:white}.welcome-brand-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:3px 0 23px}.welcome-brand-row .vest-brand img{width:68px;height:61px}.welcome-brand-row .vest-brand strong{font-size:36px}.welcome-brand-row .vest-brand small{font-size:9px;letter-spacing:.7px}.welcome-app-label{font:800 9px Manrope;letter-spacing:.6px;color:#8b4a1e;padding:7px 8px;background:var(--warm);border-radius:7px;white-space:nowrap}.welcome-hero{position:relative;margin:0 -22px 26px;padding-bottom:18px}.live-welcome .welcome-scene{height:264px;border-radius:0;background:#eaf0ec;overflow:hidden;margin:0}.live-welcome .welcome-scene svg{width:100%;height:100%}.welcome-map-label{position:absolute;top:16px;left:22px;display:flex;align-items:center;gap:7px;background:white;border-radius:20px;box-shadow:0 3px 13px #10283f10;padding:9px 12px;font-size:11px;font-weight:700}.welcome-map-label .icon{width:16px;height:16px}.welcome-floating{position:absolute;right:22px;bottom:0;display:flex;align-items:center;gap:11px;background:white;border:1px solid var(--line);padding:12px 15px;border-radius:15px;box-shadow:0 6px 22px #10283f0d}.welcome-floating>.icon{width:32px;height:32px;padding:7px;box-sizing:content-box;border-radius:12px;background:var(--warm);color:#b4510b}.welcome-floating span{font-size:10px;color:var(--muted)}.welcome-floating b{display:block;font-size:12px;color:var(--ink);margin-top:3px;font-weight:800}.welcome-copy{flex:1;display:flex;flex-direction:column}.live-welcome h1{font:800 37px/1.14 Manrope;letter-spacing:-1.7px;margin:0 0 15px}.live-welcome p:not(.live-eyebrow){font-size:14px;color:var(--muted);line-height:1.6;margin:0 0 17px}.welcome-trust{font-size:11px;font-weight:700;color:#476273;display:flex;align-items:center;gap:7px;margin:0 0 10px}.welcome-trust .icon{width:16px;height:16px;color:#267b5b}.welcome-copy>.primary{margin-top:10px}.welcome-copy>.secondary{background:white;border:1px solid #d9e2e9;margin-top:10px}.live-welcome p.welcome-footer{font-size:10px;text-align:center;margin:14px 0 0;color:#718494}.live-shell-link{display:flex;align-items:center;justify-content:center;gap:6px;color:#45647a;text-decoration:none;font-size:11px;font-weight:700;margin:15px 0 0;min-height:32px}.live-shell-link .icon{width:14px;height:14px}@keyframes sheet-in{from{transform:translateY(20px);opacity:.6}to{transform:translateY(0);opacity:1}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}@media(max-width:369px){.live-header{padding:10px 16px}.vest-brand strong{font-size:28px}.vest-brand img{width:51px;height:47px}.vest-brand small{font-size:7px}.home-dock,.live-main{padding-left:17px;padding-right:17px}.welcome-app-label{display:none}.live-welcome h1{font-size:33px}.welcome-brand-row .vest-brand strong{font-size:33px}.home-shortcuts{grid-template-columns:1fr}.home-dock h1{font-size:23px}.live-grid{gap:9px}.live-grid .primary,.live-grid .secondary{font-size:14px}.driver-today strong{font-size:26px}}@media(min-width:700px){.live-app,.live-welcome,.live-status{max-width:480px;margin-left:auto;margin-right:auto}.live-nav{max-width:480px;left:50%;transform:translateX(-50%)}.live-sheet-bg{justify-content:center}.live-sheet{max-width:480px}}
/* Branded connection and request states, rendered before the first API response. */
[hidden]{display:none!important}.vest-loader{position:relative;display:inline-grid;place-items:center;width:142px;height:142px;flex-shrink:0;isolation:isolate}.vest-loader>img{width:85px;height:72px;object-fit:contain;z-index:1;border-radius:14px;background:transparent;filter:var(--vest-white-key,none)}.vest-orbit{position:absolute;inset:0;border:4px solid transparent;border-radius:50%;will-change:transform}.vest-orbit-blue{border-top-color:#2c7c9f;border-left-color:#2c7c9f;animation:vest-orbit 1.5s linear infinite}.vest-orbit-orange{inset:12px;border-width:3px;border-right-color:#f57722;border-bottom-color:#f57722;animation:vest-orbit 1.15s linear infinite reverse}.vest-loader:after{content:'';position:absolute;inset:0;border:1px solid #e6edf2;border-radius:50%;z-index:-1}.vest-loader-compact{width:34px;height:34px}.vest-loader-compact>img{width:20px;height:18px;border-radius:4px}.vest-loader-compact .vest-orbit{border-width:2px}.vest-loader-compact .vest-orbit-orange{inset:4px;border-width:1.5px}.vest-startup{width:100%;min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:max(32px,env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) max(32px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left));text-align:center;background:radial-gradient(ellipse at 50% 35%,#eef6f950,transparent 55%),white}.vest-startup .vest-loading-brand{font:800 clamp(34px,8vw,43px)/1.2 Manrope,sans-serif;letter-spacing:-1.7px;margin:25px 0 7px;color:var(--ink)}.vest-loading-brand span{color:var(--orange)}.vest-startup .vest-loading-tagline{font:800 clamp(8px,2.3vw,10px)/1.5 Manrope,sans-serif;letter-spacing:1px;color:var(--ink);margin:0 0 36px}.vest-startup .vest-loading-message{font:800 17px/1.5 Manrope,sans-serif;color:var(--ink);margin:0 0 8px}.vest-startup .vest-loading-detail{max-width:340px;font-size:14px;color:var(--muted);line-height:1.7;margin:0}.vest-startup-retry{max-width:260px;margin-top:26px}.vest-startup-error .vest-loading-message{color:#a64e12}#vest-busy{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:24px;background:#10283f72;backdrop-filter:blur(4px);overscroll-behavior:contain}.vest-busy-card{width:min(100%,330px);display:flex;flex-direction:column;align-items:center;text-align:center;gap:13px;padding:32px 24px 28px;background:white;border:1px solid #e4ecf2;border-radius:25px;box-shadow:0 18px 70px #10283f26}.vest-busy-card .vest-loader{width:116px;height:116px;margin-bottom:8px}.vest-busy-card .vest-loader>img{width:68px;height:61px}.vest-busy-card>strong{font:800 17px/1.5 Manrope,sans-serif;overflow-wrap:anywhere}.vest-busy-card>span:last-child{font-size:13px;color:var(--muted)}#vest-connection{position:fixed;z-index:85;top:max(10px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;max-width:calc(100% - 24px);width:max-content;padding:12px 16px;background:white;border:1px solid #dfe9ef;border-radius:17px;box-shadow:0 6px 24px #10283f20}#vest-connection strong{display:block;font-size:13px}#vest-connection small{display:block;font-size:11px;color:var(--muted);line-height:1.5;margin-top:3px}.live-map-caption:has(.vest-loader){display:flex;align-items:center;gap:7px;white-space:nowrap}.live-map-caption .vest-loader-compact{width:22px;height:22px}.live-map-caption .vest-loader-compact>img{width:13px;height:12px}@keyframes vest-orbit{to{transform:rotate(360deg)}}
/* Fluid screen sizes: no fixed phone width inside the actual apps. */
html,body,#app{width:100%;min-width:0}.live-app,.live-welcome,.live-status{width:100%;max-width:960px}.live-app{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.live-main,.live-sheet,.home-dock,.live-grid>*,.live-person>div,.family-member-head>div{min-width:0}.live-main h1,.live-main h2,.live-main h3,.live-sheet h1,.live-sheet h2,.live-sheet h3,.live-row b,.live-person p{overflow-wrap:anywhere}.live-input{min-width:0;max-width:100%}.live-nav{padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}.live-nav button{min-width:0;font-size:12px}.live-nav button span{overflow-wrap:anywhere}.live-row{flex-wrap:wrap}.live-row>*{min-width:0;max-width:100%}.live-grid .primary,.live-grid .secondary{height:auto;white-space:normal}.live-actions{flex-wrap:wrap}.live-actions button{min-width:90px}.live-welcome h1{font-size:clamp(29px,8.3vw,37px)}.live-welcome .welcome-scene{height:clamp(165px,28svh,264px)}.home-shortcuts small{white-space:normal}.live-wallet h1{font-size:clamp(29px,8.4vw,39px);overflow-wrap:anywhere}.live-sheet{max-height:95vh;max-height:95dvh}.live-main .home-map-stage{width:100%}.home-map-stage .live-map-caption{max-width:calc(100% - 28px)}
@media(max-width:359px){.live-header{padding-left:12px;padding-right:12px;gap:6px}.live-header .vest-brand{gap:5px}.live-header .vest-brand img{width:44px;height:43px}.live-header .vest-brand strong{font-size:27px}.live-header .vest-brand small{font-size:6.8px;letter-spacing:.3px}.live-header .avatar{width:39px;height:39px;font-size:12px}.live-welcome{padding-left:18px;padding-right:18px}.welcome-brand-row .vest-brand img{width:56px;height:52px}.welcome-brand-row .vest-brand strong{font-size:32px}.welcome-brand-row .vest-brand small{font-size:8px;letter-spacing:.3px}.welcome-hero{margin-left:-18px;margin-right:-18px}.welcome-map-label{left:14px;font-size:10px}.welcome-floating{right:14px;padding:10px 12px}.live-grid{grid-template-columns:1fr}.live-grid:has(#distance){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.live-tabs button{font-size:13px}.home-map-stage{height:225px}.driver-map-stage .map-safety-button{right:12px}.driver-map-status{font-size:11px;padding:10px}.live-nav button{font-size:11px}.vest-busy-card{padding:25px 18px}}
@media(min-width:700px){.live-app,.live-welcome,.live-status{max-width:960px}.live-nav{max-width:960px}.live-sheet{max-width:600px}.live-welcome{max-width:620px}.live-welcome .welcome-hero{border-radius:24px;overflow:hidden}.live-main:not(.is-home){max-width:760px;margin:0 auto}.map-home .live-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(325px,1fr);align-items:start}.map-home .home-map-stage{position:sticky;top:0;height:calc(100dvh - 190px);min-height:240px}.map-home .home-dock{margin-top:0;border-radius:0;padding-top:20px}.map-home .dock-handle{display:none}.map-home .home-dock h1{font-size:clamp(23px,3vw,29px)}.map-home .home-shortcuts{grid-template-columns:1fr}.map-home .home-shortcuts small{font-size:11px}}
@media(max-height:600px) and (orientation:landscape){.live-status{display:none}.live-app{padding-bottom:80px}.live-header{padding-top:8px;padding-bottom:8px}.live-header .vest-brand img{height:42px;width:46px}.live-header .vest-brand strong{font-size:26px}.live-header .vest-brand small{font-size:7px;margin-top:3px}.home-map-stage{height:180px}.live-nav{padding-top:7px;padding-bottom:max(8px,env(safe-area-inset-bottom))}.live-nav button{flex-direction:row;gap:8px;min-height:43px}.live-sheet{max-height:100dvh;padding-top:22px;border-radius:18px 18px 0 0}.live-welcome{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:28px;min-height:100dvh}.welcome-brand-row{grid-column:1/-1;margin-bottom:14px}.welcome-hero{margin:0;height:100%;max-height:310px}.live-welcome .welcome-scene{height:100%;min-height:210px;border-radius:18px}.welcome-copy{padding-top:5px}.live-welcome h1{font-size:29px}.welcome-trust{font-size:10px}.welcome-copy>.primary,.welcome-copy>.secondary{min-height:48px;padding:12px}.vest-startup{padding:20px}.vest-startup .vest-loader{width:102px;height:102px}.vest-startup .vest-loader>img{width:62px;height:55px}.vest-startup .vest-loading-brand{margin-top:13px;font-size:31px}.vest-startup .vest-loading-tagline{margin-bottom:15px}.vest-startup-retry{margin-top:12px;min-height:45px}}
@media(hover:none) and (pointer:coarse){.live-status{display:none}}
@media(prefers-reduced-motion:reduce){.vest-orbit{animation:none!important;will-change:auto}.vest-orbit-blue{transform:rotate(-25deg)}.vest-orbit-orange{transform:rotate(25deg)}}
.area-point{background:#f5f8fa;border:1px solid #e1e9ef;border-radius:16px;padding:15px;margin:12px 0 24px}.area-point .live-link{padding:5px;font-size:12px}.area-point .live-row strong{font-size:14px}.area-point .live-sub{font-size:11px;line-height:1.6}.area-pin-map{height:240px;border-radius:12px;overflow:hidden;background:#e5eef4;padding:0}.area-point .live-grid{gap:10px}

.registration-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.registration-grid>div{min-width:0}.registration-grid input{width:100%;min-width:0}#live-kyc h3{margin:28px 0 16px;font-size:19px;font-weight:800}#live-kyc input[type=file]{font-size:13px;padding:14px 10px}#live-kyc input[id=vehicle-vin],#live-kyc input[id=vehicle-plate],#live-kyc input[id=licence-number]{text-transform:uppercase}@media(max-width:360px){.registration-grid{grid-template-columns:1fr}}

.coverage-map-button{position:absolute;bottom:36px;left:18px;z-index:2;border:1px solid #e0e7ee;border-radius:24px;background:#fff;padding:11px 16px;font-size:14px;font-weight:700;color:#17354d;box-shadow:0 3px 12px #15334915;display:flex;align-items:center;gap:7px}.coverage-map-button svg{width:17px;height:17px}.coverage-google-map{height:330px;width:100%;margin-top:20px;border-radius:18px;overflow:hidden;background:#eef3f6}.coverage-legend{display:flex;gap:8px;align-items:center;font-size:12px;flex-wrap:wrap}.coverage-legend span{width:11px;height:11px;display:inline-block;background:#f47708;border-radius:3px}.coverage-legend span+span{background:#a5afbb}.area-pin-map{height:300px;min-width:0;border-radius:14px;overflow:hidden;margin:12px 0}@media(max-width:380px){.coverage-google-map{height:270px}.coverage-map-button{padding:9px 12px;font-size:13px}}

.address-suggestions{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 5px 16px #17354d10}.address-suggestions:empty{display:none}.address-suggestions button{display:flex;align-items:center;gap:10px;text-align:left;width:100%;padding:15px 12px;background:#fff;border:0;border-bottom:1px solid #edf1f5;color:#17354d;font-size:14px;line-height:1.5}.address-suggestions button:focus-visible{outline:2px solid #236fa0;outline-offset:-2px}.address-suggestions svg{width:19px;min-width:19px}.maps-attribution{font-family:Roboto,Arial,sans-serif;font-size:12px;font-weight:400;font-style:normal;color:#5e5e5e;white-space:nowrap;letter-spacing:normal;margin:6px 0 14px}.booking-route-map{height:250px;border-radius:14px;overflow:hidden;margin:18px 0}.area-point summary{font-size:13px;font-weight:650;color:#356d8d;cursor:pointer;padding:10px 0}#live-quote h2{font-size:30px;margin:5px 0}input[readonly]{background:#edf3f7;color:#17354d}
/* Vest Map controls are placed through the map SDK; attribution remains unobscured. */
.vest-map-badge{margin:12px;background:#fff;border:1px solid #dbe7ef;border-radius:13px;box-shadow:0 4px 16px #153e6014;padding:9px 12px;pointer-events:none;font-family:Arial,sans-serif}.vest-map-badge b{display:block;font-size:16px;letter-spacing:-.6px;color:#123c5b;font-weight:850}.vest-map-badge b span{color:#eb7b11}.vest-map-badge small{display:block;font-size:7px;letter-spacing:1.2px;margin-top:4px;color:#59758b;font-weight:800}.vest-map-controls{display:flex;flex-direction:column;margin:12px;gap:2px;border-radius:15px;box-shadow:0 5px 18px #163e5b20;overflow:hidden;background:#fff;border:1px solid #dbe7ef}.vest-map-controls button{width:40px;height:42px;background:#fff;border:0;color:#145c86;font-size:25px;font-weight:700;cursor:pointer}.vest-map-controls button:focus-visible{outline:3px solid #f58216;outline-offset:-4px}.vest-map-controls button+button{border-top:1px solid #e7edf3}

/* Supplied 2026 wordmarks: use the complete artwork, never a retyped brand name. */
.vest-brand,.live-sheet>.vest-brand{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;max-width:100%}
.vest-brand img,.live-header .vest-brand img,.welcome-brand-row .vest-brand img,.live-sheet>.vest-brand img{width:clamp(136px,42vw,184px);height:auto;aspect-ratio:1000/310;object-fit:contain;max-width:100%;flex-shrink:1}
.vest-brand small,.welcome-brand-row .vest-brand small,.live-sheet>.vest-brand small{font:800 clamp(6px,1.9vw,8px)/1.5 Manrope,sans-serif;letter-spacing:.7px;margin:0;color:var(--ink);white-space:normal}
.vest-loader>img{width:112px;height:auto;aspect-ratio:1000/310;object-fit:contain;border-radius:0;background:white}
.vest-busy-card .vest-loader>img{width:90px;height:auto}.vest-loader-compact>img{width:23px;height:auto}.live-map-caption .vest-loader-compact>img{width:15px;height:auto}
.vest-startup .vest-loader{width:210px;height:210px;max-width:78vw;max-height:78vw}.vest-startup .vest-loader>img{width:170px;max-width:82%;height:auto}.vest-startup .vest-loading-brand{margin:18px 0 0}.vest-startup .vest-loading-tagline{margin:0 0 30px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-height:600px) and (orientation:landscape){.vest-startup .vest-loader{width:132px;height:132px}.vest-startup .vest-loader>img{width:108px;height:auto}.vest-startup .vest-loading-tagline{margin-bottom:15px}}

/* A compact, self-contained receipt identity for each app. */
.live-receipt-sheet .live-sheet-head{margin-bottom:22px}.receipt-brand{padding:0 0 20px;margin-bottom:20px;border-bottom:1px solid var(--line)}
.receipt-brand .vest-brand img{width:164px;max-width:100%;height:auto;object-fit:contain}.receipt-brand .vest-brand small{font-size:7px;letter-spacing:.5px}
.receipt-brand>p{font-size:9px;font-weight:800;letter-spacing:1.2px;color:var(--muted);margin:16px 0 0}.journey-receipt{min-width:0}.journey-receipt .receipt-identifiers b{overflow-wrap:anywhere;text-align:right;min-width:0}.journey-receipt .receipt-identifiers .live-row{gap:12px}

/* Silent owner-supplied loading videos; fall back to a complete static logo. */
.vest-motion{position:relative;display:block;width:min(100%,420px);aspect-ratio:848/478;flex-shrink:0;overflow:hidden;border-radius:18px;background:transparent}.vest-motion video{display:block;width:100%;height:100%;object-fit:contain;position:absolute;inset:0;background:transparent;filter:var(--vest-white-key,none)}.vest-motion-fallback{position:absolute;width:78%;height:auto;left:11%;top:50%;transform:translateY(-50%);object-fit:contain}.vest-startup .vest-motion{margin-bottom:15px}.vest-busy-card .vest-motion{width:100%;border-radius:12px}.vest-busy-card{padding:20px 20px 25px}.vest-busy-card>strong{font-size:16px}.vest-startup .vest-loading-brand{margin:0}
@media(prefers-reduced-motion:reduce){.vest-motion video{display:none!important}}

/* Remove near-white media backgrounds while preserving the silent source files. */
.vest-motion-defs{position:absolute;overflow:hidden;pointer-events:none}.vest-motion-fallback{filter:var(--vest-white-key,none)}
