
:root{--navy:#041a34;--navy2:#06294e;--blue:#0b6eb9;--aqua:#19c9d8;--yellow:#ffc21c;--green:#21b866;--red:#f24948;--paper:#f7f8fa;--ink:#071728;--muted:#7d8893;--line:#e3e8ed}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.hidden{display:none!important}
.v2-body{background:var(--navy);color:var(--ink)}button,input{font:inherit}
.v2-home{max-width:520px;margin:auto;min-height:100dvh;background:#061a33;overflow:hidden}.v2-home-hero{height:58dvh;min-height:520px;background:url('assets/bai_tropical_hero.jpg') center/cover no-repeat;position:relative}.v2-home-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,18,38,.25),rgba(3,18,38,.15) 40%,rgba(3,18,38,.72) 100%)}
.v2-home-top{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:20px}.v2-brand-lockup,.v2-mini-brand,.v2-auth-brand{display:flex;align-items:center;gap:9px}.v2-brand-lockup img,.v2-mini-brand img,.v2-auth-brand img{width:42px;height:42px;border-radius:13px;object-fit:cover}.v2-brand-lockup strong{display:block;color:#fff;font-size:26px;line-height:22px}.v2-brand-lockup small{font-size:8px;letter-spacing:1.5px;color:#d9ebf5;font-weight:900}.v2-market{font-size:8px;font-weight:900;color:white;background:rgba(2,17,34,.55);border:1px solid rgba(255,255,255,.18);padding:9px 10px;border-radius:999px}
.v2-home-copy{position:absolute;z-index:2;left:22px;right:22px;bottom:42px;color:#fff}.v2-home-copy>span{font-size:9px;color:var(--yellow);letter-spacing:2px;font-weight:950}.v2-home-copy h1{font-size:46px;line-height:.94;margin:8px 0 12px;letter-spacing:-2px}.v2-home-copy p{font-size:13px;max-width:330px;line-height:1.5;color:#e8f1f7}.v2-origin{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:9px}.v2-origin i{width:3px;height:3px;border-radius:50%;background:var(--yellow)}
.v2-terminal-sheet{position:relative;margin-top:-30px;border-radius:30px 30px 0 0;background:#f6f7f9;padding:12px 16px 24px}.v2-handle{width:42px;height:5px;background:#d3d9df;border-radius:99px;margin:0 auto 13px}.v2-sheet-heading{display:flex;justify-content:space-between;align-items:flex-start}.v2-sheet-heading small{font-size:8px;letter-spacing:1.5px;color:var(--muted);font-weight:900}.v2-sheet-heading h2{font-size:18px;margin:3px 0 15px}.v2-pilot-pill{font-size:8px;background:#fff0b7;color:#735500;padding:7px 9px;border-radius:99px;font-weight:950}
.v2-terminal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.v2-terminal{text-decoration:none;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:19px;padding:14px 8px;min-height:150px;display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:0 8px 24px rgba(4,26,52,.06)}.v2-terminal-icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;font-size:22px;margin-bottom:11px}.v2-terminal-icon.blue{background:#cdeeff;color:#0c6ab0}.v2-terminal-icon.yellow{background:#ffe48b}.v2-terminal-icon.green{background:#c8f1da;color:#148950}.v2-terminal strong{font-size:11px}.v2-terminal span{font-size:9px;color:var(--muted);line-height:1.35;margin-top:5px}.v2-terminal>b{margin-top:auto;font-size:18px}.v2-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:17px;padding-top:15px;border-top:1px solid #e0e4e8}.v2-benefits div{text-align:center}.v2-benefits span{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--navy);color:var(--yellow);margin:0 auto 5px;font-size:10px}.v2-benefits b,.v2-benefits small{display:block}.v2-benefits b{font-size:9px}.v2-benefits small{font-size:8px;color:var(--muted)}.v2-just{text-align:center;font-style:italic;font-size:22px;margin-top:16px;color:var(--navy)}.v2-just b{color:#e09f00}
.v2-auth{max-width:430px;margin:7vh auto;padding:25px 21px;border-radius:26px;background:#082342;color:#fff;border:1px solid rgba(255,255,255,.09);box-shadow:0 26px 70px rgba(0,0,0,.3)}.v2-auth-brand strong{font-size:25px}.v2-auth-brand small{display:block;font-size:8px;letter-spacing:2px;color:#9eb1c3}.v2-auth h1{font-size:30px;margin:24px 0 4px}.v2-auth>p{color:#9eb0c1;font-size:12px}.v2-auth input{width:100%;padding:14px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:#061a33;color:#fff;margin:5px 0;outline:none}.v2-auth-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.v2-btn{min-height:48px;border-radius:14px;border:0;font-weight:900;padding:0 14px}.v2-btn.yellow{background:var(--yellow);color:var(--navy)}.v2-btn.navy{background:var(--navy);color:#fff}.v2-btn.outline{background:#fff;color:var(--red);border:1px solid #efc8c5}.v2-btn.dark-outline{background:#0d233a;color:#fff;border:1px solid #29435c}.v2-btn.full{width:100%}.v2-text-btn{background:none;border:0;color:#a9bbc9;width:100%;padding:12px}
.v2-mobile-app{max-width:520px;margin:auto;min-height:100dvh;background:#eef3f6;padding-bottom:69px}.v2-app-header{height:68px;padding:10px 15px;background:var(--navy);color:#fff;display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1002}.v2-menu{color:#fff;text-decoration:none;font-size:22px}.v2-mini-brand img{width:31px;height:31px}.v2-mini-brand strong{font-size:16px}.v2-header-right{display:flex;align-items:center;gap:7px}.v2-header-right span{font-size:8px;color:#7ce0a7;font-weight:900}.v2-header-right button{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.1);background:#102f4f;color:#fff}.v2-map-stage{height:46dvh;min-height:315px;position:relative}.v2-map-stage>#destinationMap,.v2-map-stage>#driverMap{height:100%;width:100%}.v2-locate{position:absolute;right:17px;bottom:24px;z-index:800;width:49px;height:49px;border-radius:50%;border:0;background:#fff;color:var(--navy);font-size:25px;box-shadow:0 8px 28px rgba(0,0,0,.24)}
.map-style-control{position:absolute;z-index:810;left:15px;bottom:25px;padding:4px;border-radius:99px;background:rgba(4,26,52,.9);display:flex;gap:2px}.map-style-control button{border:0;background:transparent;color:#adc0d0;font-size:8px;font-weight:900;padding:7px 9px;border-radius:99px}.map-style-control button.active{background:var(--yellow);color:var(--navy)}
.v2-passenger-sheet,.v2-driver-sheet{position:relative;z-index:900;margin-top:-22px;border-radius:27px 27px 0 0;background:#f7f9fb;padding:10px 15px 20px;min-height:48dvh;box-shadow:0 -12px 32px rgba(0,0,0,.13)}.v2-route-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:0 13px;box-shadow:0 5px 20px rgba(4,26,52,.05)}.v2-route-row{min-height:60px;display:flex;align-items:center;gap:11px;width:100%;border:0;background:transparent;text-align:left;color:var(--ink)}.v2-route-row>div:not(.grow){display:flex;flex-direction:column}.v2-route-row small{font-size:8px;color:var(--muted);font-weight:900}.v2-route-row strong{font-size:13px}.v2-route-row em{font-size:9px;color:#9aa4ad;font-style:normal;margin-top:2px}.v2-route-side{margin-left:auto;font-size:8px;color:var(--green);font-weight:900}.v2-route-dot{width:10px;height:10px;border-radius:50%}.v2-route-dot.green{background:var(--green)}.v2-route-dot.red{background:var(--red)}.v2-route-divider{height:1px;background:#edf0f3;margin-left:21px}.grow{flex:1}.v2-search{display:flex;align-items:center}.v2-search input{border:0;outline:0;background:transparent;width:100%;font-weight:800;color:var(--ink);padding:0}.v2-search button{width:29px;height:29px;border-radius:50%;border:0;background:#eef2f5;font-size:18px}
.v2-ride-types{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:12px 0}.v2-ride-type{background:#fff;border:1px solid var(--line);border-radius:15px;padding:9px 7px;color:var(--ink);text-align:center}.v2-ride-type.selected{border:2px solid var(--navy);background:#fff9e5}.v2-ride-type span,.v2-ride-type b,.v2-ride-type small,.v2-ride-type em{display:block}.v2-ride-type span{font-size:24px}.v2-ride-type b{font-size:11px}.v2-ride-type small{font-size:8px;color:var(--muted)}.v2-ride-type em{font-size:7px;color:#9b7400;font-style:normal;margin-top:2px}.v2-trip-summary{display:grid;grid-template-columns:repeat(3,1fr);background:#edf2f5;border-radius:14px;padding:10px;margin-bottom:10px}.v2-trip-summary div{text-align:center;border-right:1px solid #dbe1e6}.v2-trip-summary div:last-child{border:0}.v2-trip-summary small{display:block;font-size:7px;color:var(--muted);font-weight:900}.v2-trip-summary strong{display:block;font-size:11px;margin-top:3px}.v2-request{width:100%;height:51px;border:0;border-radius:14px;background:var(--yellow);color:var(--navy);font-weight:950}.v2-status{text-align:center;font-size:9px;color:var(--muted);min-height:15px}.v2-live-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px;margin-top:10px}.v2-live-card>#passengerLiveMap{height:170px;border-radius:13px;overflow:hidden}.v2-live-title{display:flex;align-items:center;gap:8px;margin-top:10px}.v2-live-title>span{width:9px;height:9px;border-radius:50%;background:var(--green)}.v2-live-title small{display:block;font-size:7px;color:var(--muted)}.v2-live-title strong{font-size:13px}.v2-live-card p{font-size:10px;color:var(--muted)}.v2-driver-card{display:flex;gap:9px;background:#f2f5f7;border-radius:13px;padding:9px}.v2-driver-card>div:last-child{display:flex;flex-direction:column}.v2-driver-card span,.v2-driver-card small{font-size:9px;color:var(--muted)}.v2-avatar{width:43px;height:43px;border-radius:50%;background:var(--navy);color:var(--yellow);display:grid;place-items:center;font-weight:900}.v2-two{display:grid;grid-template-columns:1fr 1.5fr;gap:8px;margin-top:10px}
.v2-bottom-nav{height:69px;position:fixed;bottom:0;left:0;right:0;max-width:520px;margin:auto;background:#fff;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);z-index:1200}.v2-bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#9aa4ad;text-decoration:none;font-size:17px}.v2-bottom-nav a.active{color:var(--navy)}.v2-bottom-nav small{font-size:8px;font-weight:900}.dark-nav{background:#071a2e;border-color:#1d3248}.dark-nav a{color:#718398}.dark-nav a.active{color:var(--yellow)}
.driver-page{background:#031527}.driver-header{background:#041a34}.v2-online{border:0!important;border-radius:99px!important;width:auto!important;height:auto!important;padding:8px 10px!important;background:#20384f!important;font-size:8px!important}.v2-online.on{background:#dcf7e8!important;color:#18864b!important}.driver-map-stage{height:49dvh}.v2-stop{position:absolute;right:16px;bottom:82px;z-index:800;border:0;border-radius:99px;background:#09223a;color:#fff;font-size:7px;font-weight:900;padding:7px 9px}.v2-driver-overlay{position:absolute;left:15px;top:15px;z-index:800;background:rgba(4,26,52,.9);color:#fff;border-radius:12px;padding:9px 11px}.v2-driver-overlay small{display:block;font-size:7px;color:#95a9bb}.v2-driver-overlay strong{font-size:12px}.v2-driver-summary{display:flex;justify-content:space-between;gap:12px}.v2-driver-summary small{font-size:7px;color:var(--muted);font-weight:900}.v2-driver-summary h2{font-size:21px;margin:2px 0 4px}.v2-driver-summary p{font-size:9px;color:var(--muted);margin:0}.v2-driver-summary em{font-size:8px;color:#98a4ad;font-style:normal}.v2-driver-summary #approvalBadge{background:#dcf7e8;color:#18864b;border-radius:99px;padding:3px 6px;font-weight:900}.v2-notice{margin-top:10px;padding:9px;border-radius:11px;background:#fff1ce;font-size:9px}.v2-request-card{background:#071d34;color:#fff;border-radius:17px;padding:13px;margin-top:11px}.v2-request-head{display:flex;justify-content:space-between}.v2-request-head span{font-size:8px;color:var(--yellow);font-weight:900}.v2-request-head strong{font-size:17px}.v2-request-route>div{display:flex;align-items:center;gap:9px;margin:10px 0}.v2-request-route i{width:8px;height:8px;border-radius:50%}.v2-request-route i.green{background:var(--green)}.v2-request-route i.red{background:var(--red)}.v2-request-route p{margin:0}.v2-request-route small{display:block;font-size:7px;color:#9fb0c0}.v2-request-route strong{font-size:11px}.v2-request-meta{display:flex;gap:6px}.v2-request-meta span{font-size:8px;background:#102a44;padding:5px 8px;border-radius:99px}.v2-driver-idle{text-align:center;font-size:9px;color:var(--muted);padding:15px}
.v2-admin-body{background:#06172a;color:#fff}.v2-admin-app{min-height:100dvh;background:#06172a}.v2-admin-header{height:68px;background:#041a34;border-bottom:1px solid #16324e;display:flex;align-items:center;justify-content:space-between;padding:10px 18px;position:sticky;top:0;z-index:1200}.v2-admin-header nav{display:flex;gap:6px}.v2-admin-header nav a{font-size:9px;color:#93a6b8;padding:8px 10px;border-radius:9px}.v2-admin-header nav a.active{background:var(--yellow);color:var(--navy);font-weight:900}.v2-admin-main{max-width:1200px;margin:auto;padding:20px 16px 85px}.v2-admin-title{display:flex;justify-content:space-between;align-items:center}.v2-admin-title small{font-size:8px;color:var(--yellow);letter-spacing:1.6px;font-weight:900}.v2-admin-title h1{font-size:27px;margin:4px 0 15px}.v2-back{color:#99aabb;text-decoration:none;font-size:9px}.v2-admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.v2-admin-stats article,.v2-admin-panel{background:#0b243b;border:1px solid #173a58;border-radius:16px;padding:13px;box-shadow:0 8px 26px rgba(0,0,0,.14)}.v2-admin-stats small{display:block;font-size:7px;color:#89a0b4;font-weight:900}.v2-admin-stats strong{display:block;font-size:19px;margin-top:6px}.v2-admin-stats em{font-size:8px;color:#53d58d;font-style:normal}.v2-admin-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:11px;margin-bottom:11px}.v2-admin-grid.lower{grid-template-columns:1fr 1fr}.v2-panel-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.v2-panel-head small{font-size:7px;color:#829bb0;font-weight:900}.v2-panel-head h2{font-size:16px;margin:2px 0}.v2-panel-head>span{font-size:7px;background:#0d5235;color:#7ce0a7;border-radius:99px;padding:5px 7px}.v2-admin-map-wrap{position:relative}.v2-admin-map-wrap>#adminMap{height:320px;border-radius:13px;overflow:hidden}.admin-style-control{left:10px;bottom:10px}.v2-admin-panel>p{font-size:9px;color:#8da2b5}.v2-range-label{display:flex;justify-content:space-between;font-size:9px;color:#9db0bf}.v2-admin-panel input[type=range]{width:100%}.v2-price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}.v2-price-grid label{font-size:8px;color:#89a0b4}.v2-price-grid input{width:100%;background:#071a2e;border:1px solid #1a3a55;color:#fff;border-radius:9px;padding:8px;margin-top:3px}.v2-admin-driver{display:flex;gap:9px;align-items:center;background:#071a2e;border-radius:12px;padding:9px}.v2-admin-driver>div:last-child{display:flex;flex-direction:column}.v2-admin-driver strong{font-size:11px}.v2-admin-driver span,.v2-admin-driver small{font-size:8px;color:#8ca1b4}.v2-table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:9px}th,td{text-align:left;padding:9px;border-bottom:1px solid #17364f;white-space:nowrap}th{font-size:7px;color:#8299ad}
.bai-map-marker{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#071525;border:3px solid #fff;box-shadow:0 6px 16px rgba(0,0,0,.25)}.bai-map-marker.pickup{background:#ffc21c}.bai-map-marker.destination{background:#071525}.bai-map-marker.driver{background:#43bf7a}.bai-map-marker:after{content:"";width:7px;height:7px;background:#fff;border-radius:50%}
@media(max-width:780px){.v2-admin-header nav{display:none}.v2-admin-stats{grid-template-columns:1fr 1fr}.v2-admin-grid,.v2-admin-grid.lower{grid-template-columns:1fr}.v2-admin-map-wrap>#adminMap{height:260px}}
@media(min-width:700px){.v2-home,.v2-mobile-app{box-shadow:0 0 70px rgba(0,0,0,.35)}}


/* ===== BAI V2.3 — PUBLIC HOME + SEPARATE ADMIN ===== */
.v23-home-body{margin:0;background:#031426;color:#fff}
.v23-home{min-height:100dvh;max-width:520px;margin:auto;position:relative;overflow:hidden;background:#031426}
.v23-photo{position:absolute;inset:0;background:url('assets/curacao_waterfront_user.jpg') center center/cover no-repeat;z-index:0}
.v23-photo-overlay{position:absolute;inset:0;background:
linear-gradient(180deg,rgba(2,15,29,.34) 0%,rgba(2,15,29,.12) 31%,rgba(2,15,29,.20) 49%,rgba(2,15,29,.68) 73%,rgba(2,15,29,.92) 100%);z-index:1}

.v23-topbar{position:relative;z-index:5;display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:10px;padding:18px}
.v23-menu-btn,.v23-account-btn{width:40px;height:40px;border-radius:13px;border:1px solid rgba(255,255,255,.18);background:rgba(3,20,38,.62);color:#fff;backdrop-filter:blur(8px);font-size:20px}
.v23-account-btn{display:grid;place-items:center}.v23-avatar-dot{font-size:15px;color:#ffc21c}
.v23-brand{display:flex;align-items:center;justify-content:center;gap:9px}.v23-brand img{width:42px;height:42px;border-radius:13px;object-fit:cover}.v23-brand strong{display:block;font-size:25px;line-height:21px}.v23-brand small{display:block;font-size:7px;letter-spacing:1.5px;color:#d8e6ef;font-weight:900}

.v23-dropdown{position:absolute;z-index:30;right:16px;top:67px;width:250px;background:rgba(4,26,52,.97);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:10px;box-shadow:0 18px 45px rgba(0,0,0,.32);backdrop-filter:blur(14px)}
.v23-dropdown-head{padding:8px 9px 10px;border-bottom:1px solid rgba(255,255,255,.1)}.v23-dropdown-head strong{display:block;font-size:13px}.v23-dropdown-head small{font-size:8px;color:#9eb1c1;letter-spacing:1px}
.v23-dropdown a,.v23-dropdown button{width:100%;min-height:43px;padding:0 10px;display:flex;align-items:center;justify-content:space-between;color:#e9f2f7;text-decoration:none;background:transparent;border:0;border-radius:11px;font-size:11px;text-align:left}
.v23-dropdown a:hover,.v23-dropdown button:hover{background:rgba(255,255,255,.06)}
.v23-dropdown .admin-link{color:#ffc21c;font-weight:900}
.hidden{display:none!important}

.v23-hero-copy{position:relative;z-index:3;padding:64px 22px 250px;color:#fff}
.v23-hero-copy>span{font-size:9px;letter-spacing:2px;color:#ffc21c;font-weight:950}.v23-hero-copy h1{font-size:46px;line-height:.94;letter-spacing:-2px;margin:8px 0 11px}.v23-hero-copy p{max-width:350px;font-size:12px;line-height:1.5;color:#edf5f7;margin:0}
.v23-markets{display:flex;align-items:center;gap:8px;margin-top:15px;flex-wrap:wrap;font-size:8px}.v23-markets i{width:3px;height:3px;border-radius:50%;background:#ffc21c}

.v23-home-sheet{position:relative;z-index:4;margin-top:-205px;background:rgba(248,250,252,.965);color:#071728;border-radius:30px 30px 0 0;padding:11px 16px 25px;box-shadow:0 -15px 35px rgba(0,0,0,.14);backdrop-filter:blur(9px)}
.v23-handle{width:42px;height:5px;background:#d1d8df;border-radius:99px;margin:0 auto 13px}
.v23-sheet-head{display:flex;justify-content:space-between;align-items:flex-start}.v23-sheet-head small{font-size:8px;letter-spacing:1.5px;color:#7d8893;font-weight:900}.v23-sheet-head h2{font-size:19px;margin:3px 0 14px}.v23-sheet-head>span{font-size:8px;background:#fff0b8;color:#705300;border-radius:99px;padding:7px 9px;font-weight:950}

.v23-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.v23-mode-card{text-decoration:none;color:#071728;background:#fff;border:1px solid #e3e8ed;border-radius:20px;padding:16px 13px;min-height:180px;display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:0 8px 25px rgba(4,26,52,.06)}
.v23-mode-card.passenger{border:2px solid #071728}.v23-mode-icon{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;font-size:23px;margin-bottom:12px}.v23-mode-card.passenger .v23-mode-icon{background:#d1f1f8;color:#08a9be}.v23-mode-card.driver .v23-mode-icon{background:#ffe69a;color:#725400}
.v23-mode-card strong{font-size:13px}.v23-mode-card p{font-size:10px;line-height:1.4;color:#7d8893;margin:6px 0}.v23-mode-card>b{margin-top:auto;font-size:20px}

.v23-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding-top:16px;margin-top:17px;border-top:1px solid #dfe5e9}.v23-benefits div{text-align:center}.v23-benefits span{width:28px;height:28px;display:grid;place-items:center;margin:0 auto 6px;border-radius:50%;background:#041a34;color:#ffc21c;font-size:10px}.v23-benefits b,.v23-benefits small{display:block}.v23-benefits b{font-size:9px}.v23-benefits small{font-size:8px;color:#7d8893}
.v23-just{text-align:center;margin-top:17px;font-size:23px;font-style:italic;color:#041a34}.v23-just b{color:#d99e00}
@media(min-width:700px){body.v23-home-body{padding:25px}.v23-home{border-radius:31px;box-shadow:0 28px 80px rgba(0,0,0,.36)}}

/* ===== BAI V2.5 LIVE NAVIGATION ===== */
.v2-request-card #driverRoute{
  color:#cfe0ec;
  font-size:10px;
  line-height:1.45;
  margin:8px 0 12px;
}
.v2-live-card #passengerDetail{
  line-height:1.45;
  font-weight:700;
}
.bai-map-marker.driver{
  transition:transform .25s ease;
}

/* ===== BAI V2.6 RIDE EXPERIENCE ===== */
.v2-driver-info{flex:1;min-width:0}
.v2-driver-actions{margin-left:auto;display:flex;gap:6px}
.v2-icon-action{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#041a34;color:#ffc21c;text-decoration:none;font-size:14px}
.v2-icon-action.disabled{opacity:.35;pointer-events:none}
.v2-receipt,.v2-history-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:13px;margin-top:11px;box-shadow:0 7px 22px rgba(4,26,52,.05)}
.v2-receipt-head,.v2-history-head{display:flex;align-items:flex-start;justify-content:space-between}
.v2-receipt-head small,.v2-history-head small{font-size:7px;letter-spacing:1.2px;color:var(--muted);font-weight:900}
.v2-receipt-head h3,.v2-history-head h3{font-size:15px;margin:2px 0 10px}
.v2-receipt-head>span{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#dcf7e8;color:#15884a;font-weight:900}
.v2-receipt-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;background:#edf2f5;border-radius:13px;padding:10px}
.v2-receipt-grid div{text-align:center;border-right:1px solid #dbe1e6}.v2-receipt-grid div:last-child{border:0}
.v2-receipt-grid small{display:block;font-size:7px;color:var(--muted);font-weight:900}.v2-receipt-grid strong{display:block;font-size:10px;margin-top:3px}
.v2-receipt>p{font-size:9px;color:var(--muted);margin:10px 2px 0}
.v2-small-btn{border:0;border-radius:99px;background:#edf2f5;color:#041a34;font-size:7px;font-weight:900;padding:7px 9px}
.v2-history-list{display:grid;gap:7px}.v2-history-row{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid #eef1f3}
.v2-history-row:first-child{border-top:0}.v2-history-row>div{display:flex;flex-direction:column}.v2-history-row>div:last-child{text-align:right}
.v2-history-row strong,.v2-history-row b{font-size:10px}.v2-history-row span,.v2-history-row small{font-size:8px;color:var(--muted);margin-top:2px;text-transform:capitalize}
.v2-empty{text-align:center;font-size:9px;color:var(--muted);padding:10px}
.v2-driver-trip-meta{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:8px 0 5px}
.v2-driver-trip-meta div{background:#102a44;border-radius:11px;padding:8px}.v2-driver-trip-meta small{display:block;font-size:7px;color:#88a0b5}.v2-driver-trip-meta strong{font-size:11px}
.v2-driver-complete{background:#0b243b;color:#fff;border:1px solid #173a58;border-radius:16px;padding:13px;margin-top:11px}
.v2-driver-complete small{font-size:7px;color:#7ce0a7;font-weight:900}.v2-driver-complete h3{font-size:14px;margin:3px 0 6px}.v2-driver-complete p{font-size:9px;color:#a8b9c7;margin:0}

/* ===== BAI V2.6.3 FROM-SCRATCH HOME ===== */
:root{
  --bai-navy:#061a33;
  --bai-navy2:#0a2b4d;
  --bai-yellow:#ffb000;
  --bai-white:#ffffff;
  --bai-text:#071728;
}
.bai-home-body{
  margin:0;
  min-height:100%;
  background:var(--bai-navy);
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
}
.bai-home-real{
  width:min(100%,520px);
  min-height:100dvh;
  margin:auto;
  position:relative;
  overflow:hidden;
  background:#eaf3f8;
}
.bai-home-photo{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.02) 42%,rgba(6,26,51,.08) 60%,rgba(6,26,51,.88) 100%),
    url('assets/home_real_bg.jpg') center 46%/cover no-repeat;
  z-index:0;
  transform:scale(1.02);
  animation:sceneBreath 18s ease-in-out infinite alternate;
}
@keyframes sceneBreath{
  from{transform:scale(1.02) translateY(0)}
  to{transform:scale(1.045) translateY(-5px)}
}
.bai-home-light{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    radial-gradient(circle at 12% 27%,rgba(255,238,195,.38),transparent 27%),
    linear-gradient(180deg,rgba(229,243,255,.32),rgba(255,255,255,.04) 45%,rgba(6,26,51,.03) 62%,rgba(6,26,51,.44) 100%);
  pointer-events:none;
}

.bai-home-header{
  position:relative;
  z-index:20;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 18px 0;
}
.bai-round-control,.bai-language-control{
  border:1px solid rgba(255,255,255,.16);
  background:rgba(6,26,51,.94);
  color:#fff;
  box-shadow:0 8px 22px rgba(0,0,0,.16);
  backdrop-filter:blur(11px);
}
.bai-round-control{
  width:42px;height:42px;border-radius:14px;
  display:grid;place-items:center;
}
.hamburger{width:18px;display:grid;gap:3px}
.hamburger i{height:2px;background:#fff;border-radius:99px}
.bai-language-control{
  min-height:42px;
  border-radius:99px;
  padding:0 13px;
  display:flex;
  align-items:center;
  gap:8px;
  font-size:11px;
}
.bai-language-control.pulse{animation:langPulse .35s ease}
@keyframes langPulse{50%{transform:scale(.95)}}

.bai-home-menu{
  position:absolute;
  z-index:40;
  top:66px;left:17px;
  width:255px;
  background:rgba(6,26,51,.98);
  border:1px solid rgba(255,255,255,.1);
  border-radius:18px;
  padding:9px;
  box-shadow:0 20px 50px rgba(0,0,0,.30);
  backdrop-filter:blur(14px);
}
.bai-menu-user{
  display:grid;
  grid-template-columns:38px 1fr;
  gap:9px;
  padding:7px 8px 10px;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.bai-menu-avatar{
  width:38px;height:38px;
  border-radius:12px;
  display:grid;place-items:center;
  background:var(--bai-yellow);
  color:var(--bai-navy);
  font-weight:1000;
}
.bai-menu-user strong{display:block;color:#fff;font-size:12px}
.bai-menu-user small{font-size:8px;color:#9fb1c0}
.bai-home-menu a,.bai-home-menu button{
  width:100%;
  min-height:42px;
  padding:0 10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:transparent;
  border:0;
  border-radius:10px;
  color:#eaf3f8;
  text-decoration:none;
  font-size:10px;
}
.bai-home-menu .admin{color:var(--bai-yellow);font-weight:900}

.bai-brand-section{
  position:relative;
  z-index:5;
  text-align:center;
  padding-top:44px;
}
.bai-wordmark{
  display:flex;
  justify-content:center;
  align-items:flex-end;
  color:var(--bai-navy);
  font-size:82px;
  font-weight:1000;
  line-height:.74;
  letter-spacing:-9px;
}
.bai-wordmark .a{position:relative}
.pin-logo{
  position:absolute;
  width:23px;height:29px;
  border-radius:50% 50% 50% 0;
  background:var(--bai-yellow);
  transform:rotate(-45deg);
  left:28px;top:27px;
}
.pin-logo:after{
  content:"";
  position:absolute;
  width:8px;height:8px;
  border-radius:50%;
  background:#eaf3f8;
  left:7px;top:7px;
}
.bai-tagline{
  margin-top:14px;
  font-size:14px;
  font-weight:950;
  letter-spacing:.35px;
  color:var(--bai-navy);
}
.bai-tagline b{color:var(--bai-yellow)}

.bai-intro{
  position:relative;
  z-index:5;
  padding:48px 25px 0;
}
.bai-intro h1{
  margin:0;
  color:var(--bai-text);
  font-size:38px;
  line-height:1.05;
  letter-spacing:-1.5px;
}
.bai-intro h1 span{white-space:nowrap}
.bai-intro p{
  margin:15px 0 0;
  color:#46545f;
  font-size:15px;
  line-height:1.48;
}

.bai-benefits{
  position:relative;
  z-index:7;
  width:62%;
  margin:31px 0 0 22px;
  display:grid;
  gap:9px;
}
.benefit-card{
  display:grid;
  grid-template-columns:47px 1fr;
  align-items:center;
  gap:10px;
  padding:10px 10px;
  border-radius:17px;
  background:rgba(255,255,255,.77);
  border:1px solid rgba(255,255,255,.58);
  backdrop-filter:blur(8px);
  box-shadow:0 7px 24px rgba(6,26,51,.08);
  animation:benefitRise .5s both;
}
.benefit-card:nth-child(2){animation-delay:.08s}
.benefit-card:nth-child(3){animation-delay:.16s}
@keyframes benefitRise{
  from{opacity:0;transform:translateX(-16px)}
  to{opacity:1;transform:translateX(0)}
}
.benefit-icon{
  width:44px;height:44px;
  border-radius:50%;
  background:var(--bai-navy);
  color:var(--bai-yellow);
  display:grid;place-items:center;
  font-weight:950;
  font-size:23px;
}
.benefit-icon svg{
  width:26px;height:26px;
  fill:none;
  stroke:var(--bai-yellow);
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.benefit-card strong{display:block;font-size:11px}
.benefit-card span{display:block;font-size:9px;color:#5f6d77;line-height:1.35;margin-top:2px}

.bai-route-art{
  position:absolute;
  z-index:4;
  width:50%;
  height:390px;
  top:402px;
  right:-5px;
  pointer-events:none;
}
.bai-route-art svg{width:100%;height:100%}
.route-base{
  fill:none;
  stroke:rgba(6,26,51,.30);
  stroke-width:6;
  stroke-linecap:round;
}
.route-flow{
  fill:none;
  stroke:#fff;
  stroke-width:3;
  stroke-linecap:round;
  stroke-dasharray:9 10;
  animation:routeMove 1.6s linear infinite;
}
@keyframes routeMove{to{stroke-dashoffset:-38}}
.route-pin{
  position:absolute;
  width:31px;height:40px;
  border-radius:50% 50% 50% 0;
  background:var(--bai-yellow);
  transform:rotate(-45deg);
  box-shadow:0 8px 18px rgba(0,0,0,.18);
  animation:pinFloat 2s ease-in-out infinite;
}
.route-pin:after{
  content:"";
  position:absolute;
  width:10px;height:10px;
  border-radius:50%;
  background:#fff;
  left:10px;top:10px;
}
.rp1{right:20px;top:6px}
.rp2{left:68px;bottom:5px;animation-delay:.6s}
@keyframes pinFloat{
  0%,100%{transform:rotate(-45deg) translate(0,0)}
  50%{transform:rotate(-45deg) translate(4px,-4px)}
}

.bai-how-card{
  position:relative;
  z-index:10;
  margin:47px 18px 0;
  border-radius:21px;
  padding:14px 13px 15px;
  background:rgba(6,26,51,.91);
  border:1px solid rgba(255,255,255,.09);
  color:#fff;
  box-shadow:0 13px 35px rgba(0,0,0,.18);
  backdrop-filter:blur(11px);
}
.how-title{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  font-size:11px;
}
.how-title i{width:28px;height:2px;background:var(--bai-yellow)}
.how-grid{
  display:grid;
  grid-template-columns:1fr 18px 1fr 18px 1fr 18px 1fr;
  align-items:center;
  gap:1px;
  margin-top:11px;
}
.how-step{text-align:center}
.how-icon{
  width:42px;height:42px;
  display:grid;place-items:center;
  margin:0 auto 6px;
  border-radius:50%;
  background:#0a2c50;
  color:var(--bai-yellow);
}
.how-icon svg{
  width:22px;height:22px;
  fill:none;
  stroke:var(--bai-yellow);
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.how-icon.car-icon,.how-icon.flag-icon{font-size:19px}
.how-step b{
  display:block;
  font-size:8px;
  line-height:1.25;
  font-weight:800;
}
.how-grid em{
  color:var(--bai-yellow);
  font-size:17px;
  font-style:normal;
  text-align:center;
}

.bai-home-actions{
  position:relative;
  z-index:12;
  padding:14px 18px 28px;
}
.bai-cta{
  min-height:78px;
  border-radius:21px;
  display:grid;
  grid-template-columns:48px 1fr 24px;
  align-items:center;
  gap:12px;
  padding:0 17px;
  text-decoration:none;
  margin-top:10px;
  box-shadow:0 10px 30px rgba(0,0,0,.16);
  transition:transform .14s ease,box-shadow .14s ease;
}
.bai-cta:active{
  transform:scale(.985);
  box-shadow:0 5px 18px rgba(0,0,0,.15);
}
.bai-cta.passenger{background:var(--bai-yellow);color:var(--bai-navy)}
.bai-cta.driver{background:var(--bai-navy);color:#fff}
.cta-icon{
  width:45px;height:45px;
  display:grid;place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.16);
}
.cta-icon svg{
  width:25px;height:25px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.bai-cta small{
  display:block;
  font-size:8px;
  letter-spacing:1.1px;
  opacity:.65;
  font-weight:900;
}
.bai-cta strong{
  display:block;
  font-size:15px;
  margin-top:2px;
}
.cta-arrow{font-size:31px}
.bai-create-copy{
  text-align:center;
  color:#d4dce2;
  font-size:11px;
  margin:19px 0 0;
}
.bai-create-copy a{
  color:var(--bai-yellow);
  text-decoration:none;
  font-weight:900;
}
.hidden{display:none!important}

@media(max-width:420px){
  .bai-wordmark{font-size:70px}
  .bai-intro h1{font-size:34px}
  .bai-benefits{width:67%;margin-top:25px}
  .bai-route-art{top:398px;width:52%}
}
@media(min-width:700px){
  .bai-home-body{padding:24px}
  .bai-home-real{
    border-radius:32px;
    box-shadow:0 30px 85px rgba(0,0,0,.35);
  }
}

/* ===== BAI V2.6.4 COMPACT APP HOME ===== */
.compact-home-body{
  margin:0;
  background:#061a33;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  overflow:hidden;
}
.compact-home{
  width:min(100%,500px);
  height:100dvh;
  min-height:620px;
  max-height:960px;
  margin:auto;
  position:relative;
  overflow:hidden;
  background:#dfeaf0;
  color:#071728;
}
.compact-scene{
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(180deg,rgba(236,247,255,.20),rgba(255,255,255,.02) 46%,rgba(6,26,51,.06) 65%,rgba(6,26,51,.83) 100%),
    url('assets/home_compact_scene.jpg') center 45%/cover no-repeat;
  transform:scale(1.03);
  animation:compactScene 16s ease-in-out infinite alternate;
}
@keyframes compactScene{
  from{transform:scale(1.03)}
  to{transform:scale(1.055) translateY(-4px)}
}
.compact-shade{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(circle at 20% 17%,rgba(255,255,255,.42),transparent 24%),
    linear-gradient(180deg,rgba(255,255,255,.24),rgba(255,255,255,.02) 48%,rgba(6,26,51,.03) 65%,rgba(6,26,51,.44) 100%);
}
.compact-header{
  position:relative;
  z-index:20;
  height:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:10px 14px;
}
.compact-menu-btn,.compact-lang{
  border:1px solid rgba(255,255,255,.15);
  background:rgba(6,26,51,.92);
  color:#fff;
  box-shadow:0 8px 20px rgba(0,0,0,.13);
  backdrop-filter:blur(10px);
}
.compact-menu-btn{
  width:38px;height:38px;border-radius:12px;
  display:grid;place-content:center;gap:3px;
}
.compact-menu-btn span{display:block;width:17px;height:2px;background:#fff;border-radius:99px}
.compact-lang{
  min-height:38px;
  border-radius:99px;
  padding:0 11px;
  display:flex;
  align-items:center;
  gap:7px;
  font-size:10px;
}
.compact-lang.tap{transform:scale(.96)}
.compact-account-menu{
  position:absolute;
  top:53px;left:13px;
  z-index:50;
  width:245px;
  background:rgba(6,26,51,.98);
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  padding:8px;
  box-shadow:0 18px 45px rgba(0,0,0,.28);
}
.compact-user{
  display:grid;
  grid-template-columns:36px 1fr;
  gap:8px;
  padding:7px 8px 9px;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.compact-avatar{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#ffb000;color:#061a33;font-weight:1000}
.compact-user strong{display:block;color:#fff;font-size:11px}.compact-user small{font-size:7px;color:#9fb1c0}
.compact-account-menu a,.compact-account-menu button{
  width:100%;min-height:39px;border:0;border-radius:9px;background:transparent;color:#eaf3f8;text-decoration:none;padding:0 9px;display:flex;justify-content:space-between;align-items:center;font-size:9px;
}
.compact-account-menu .admin{color:#ffb000;font-weight:900}

.compact-hero{
  position:relative;
  z-index:5;
  padding:7px 20px 0;
}
.compact-wordmark{
  display:flex;
  align-items:flex-end;
  color:#061a33;
  font-size:clamp(54px,9vh,74px);
  font-weight:1000;
  line-height:.72;
  letter-spacing:-7px;
}
.compact-a{position:relative}
.compact-a i{
  position:absolute;
  width:17px;height:22px;border-radius:50% 50% 50% 0;background:#ffb000;transform:rotate(-45deg);left:20px;top:20px;
}
.compact-a i:after{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background:#eaf3f8;left:5px;top:5px}
.compact-tagline{font-size:clamp(10px,1.65vh,13px);font-weight:950;letter-spacing:.3px;color:#061a33;margin-top:10px}
.compact-tagline b{color:#f2a900}
.compact-hero h1{
  font-size:clamp(27px,4.6vh,38px);
  line-height:1.02;
  letter-spacing:-1.3px;
  margin:clamp(18px,2.7vh,26px) 0 7px;
}
.compact-hero h1 em{font-style:normal;color:#061a33}
.compact-hero p{font-size:clamp(10px,1.75vh,14px);line-height:1.35;color:#43515c;margin:0}

.compact-pills{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:6px;
  margin-top:clamp(13px,2vh,18px);
  max-width:380px;
}
.compact-pills div{
  min-height:56px;
  border-radius:13px;
  background:rgba(255,255,255,.75);
  border:1px solid rgba(255,255,255,.55);
  backdrop-filter:blur(8px);
  box-shadow:0 6px 18px rgba(6,26,51,.07);
  padding:7px 6px;
  text-align:center;
  animation:pillIn .45s both;
}
.compact-pills div:nth-child(2){animation-delay:.08s}.compact-pills div:nth-child(3){animation-delay:.16s}
@keyframes pillIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.compact-pills span{
  width:24px;height:24px;border-radius:50%;background:#061a33;color:#ffb000;display:grid;place-items:center;margin:0 auto 3px;font-size:11px;font-weight:900;
}
.compact-pills b{display:block;font-size:8px}.compact-pills small{display:block;font-size:7px;color:#6b7780;margin-top:1px}

.compact-route{
  position:absolute;
  z-index:4;
  top:210px;
  right:-2px;
  width:43%;
  height:235px;
  pointer-events:none;
}
.compact-route svg{width:100%;height:100%}
.compact-route path{
  fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-dasharray:8 9;filter:drop-shadow(0 1px 1px rgba(0,0,0,.18));animation:compactRoute 1.6s linear infinite;
}
@keyframes compactRoute{to{stroke-dashoffset:-34}}
.compact-route i{
  position:absolute;width:24px;height:31px;background:#ffb000;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 6px 14px rgba(0,0,0,.18);animation:compactPin 1.8s ease-in-out infinite;
}
.compact-route i:after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:#fff;left:8px;top:8px}
.pin-one{right:9px;top:4px}.pin-two{left:20px;bottom:4px;animation-delay:.5s}
@keyframes compactPin{50%{transform:rotate(-45deg) translate(3px,-3px)}}

.compact-sheet{
  position:absolute;
  z-index:12;
  left:12px;right:12px;bottom:max(8px,env(safe-area-inset-bottom));
  border-radius:22px;
  background:rgba(6,26,51,.92);
  color:#fff;
  padding:8px 10px 12px;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 16px 40px rgba(0,0,0,.22);
  backdrop-filter:blur(12px);
}
.compact-handle{width:34px;height:4px;border-radius:99px;background:rgba(255,255,255,.24);margin:0 auto 6px}
.compact-how-title{display:flex;align-items:center;justify-content:center;gap:7px;font-size:9px}
.compact-how-title i{width:22px;height:2px;background:#ffb000}
.compact-how{
  display:grid;
  grid-template-columns:1fr 14px 1fr 14px 1fr 14px 1fr;
  gap:1px;
  align-items:center;
  margin-top:6px;
}
.compact-how div{text-align:center}
.compact-how div span{
  width:29px;height:29px;border-radius:50%;display:grid;place-items:center;margin:0 auto 3px;background:#0b2e52;color:#ffb000;font-size:12px;
}
.compact-how div b{display:block;font-size:7px}.compact-how em{font-style:normal;color:#ffb000;font-size:13px;text-align:center}

.compact-cta{
  min-height:56px;
  border-radius:16px;
  display:grid;
  grid-template-columns:38px 1fr 20px;
  gap:9px;
  align-items:center;
  padding:0 13px;
  margin-top:7px;
  text-decoration:none;
  box-shadow:0 8px 22px rgba(0,0,0,.14);
  transition:transform .12s ease;
}
.compact-cta:active{transform:scale(.985)}
.compact-cta.passenger{background:#ffb000;color:#061a33}
.compact-cta.driver{background:#08233f;color:#fff;border:1px solid #173b5c}
.compact-cta-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.15);font-size:16px}
.compact-cta small{display:block;font-size:6.5px;letter-spacing:1px;opacity:.62;font-weight:900}
.compact-cta strong{display:block;font-size:13px;margin-top:1px}
.compact-cta>b{font-size:24px}
.compact-create{text-align:center;font-size:9px;color:#c8d1d8;margin:8px 0 0}
.compact-create a{color:#ffb000;text-decoration:none;font-weight:900}
.hidden{display:none!important}

@media(max-height:720px){
  .compact-header{height:50px;padding-top:7px}
  .compact-hero{padding-top:0}
  .compact-wordmark{font-size:52px}
  .compact-tagline{margin-top:7px;font-size:10px}
  .compact-hero h1{font-size:27px;margin-top:14px}
  .compact-hero p{font-size:10px}
  .compact-pills{margin-top:10px}
  .compact-pills div{min-height:49px;padding:5px}
  .compact-pills small{display:none}
  .compact-route{top:190px;height:210px}
  .compact-how{margin-top:4px}
  .compact-cta{min-height:51px;margin-top:6px}
  .compact-create{margin-top:6px}
}
@media(min-width:700px){
  .compact-home-body{padding:20px}
  .compact-home{border-radius:30px;box-shadow:0 30px 80px rgba(0,0,0,.35)}
}

/* ===== BAI V2.6.5 POLISHED HOME OVERRIDES ===== */

/* Cleaner app framing */
.compact-home{
  max-width:480px;
  border-radius:0;
  background:#dfeaf0;
}
.compact-header{
  height:54px;
  padding:8px 14px 0;
}
.compact-menu-btn{
  width:36px;height:36px;border-radius:11px;
}
.compact-lang{
  min-height:36px;
  padding:0 10px;
  font-size:9px;
}

/* Hero: tighter and more deliberate */
.compact-hero{
  padding:0 20px;
}
.compact-wordmark{
  font-size:clamp(50px,7.5vh,66px);
  letter-spacing:-6px;
  line-height:.76;
  margin-top:2px;
}
.compact-a i{
  width:15px;height:20px;
  left:18px;top:18px;
}
.compact-a i:after{
  width:5px;height:5px;
  left:5px;top:5px;
}
.compact-tagline{
  margin-top:8px;
  font-size:clamp(9px,1.3vh,11px);
  letter-spacing:.2px;
}
.compact-hero h1{
  font-size:clamp(25px,3.8vh,32px);
  line-height:1.0;
  margin:clamp(13px,1.8vh,18px) 0 5px;
  letter-spacing:-1.1px;
}
.compact-hero p{
  font-size:clamp(9px,1.35vh,11px);
  line-height:1.35;
  max-width:300px;
  opacity:.9;
}

/* Benefit row: much more app-like */
.compact-pills{
  margin-top:11px;
  gap:7px;
  max-width:none;
}
.compact-pills div{
  min-height:50px;
  border-radius:14px;
  padding:6px 5px;
  background:rgba(255,255,255,.82);
  box-shadow:0 6px 18px rgba(6,26,51,.08);
}
.compact-pills span{
  width:22px;height:22px;
  margin-bottom:2px;
  font-size:10px;
}
.compact-pills b{
  font-size:7.5px;
}
.compact-pills small{
  font-size:6.3px;
}

/* Scenic route should fill the dead center area */
.compact-route{
  top:190px;
  right:-10px;
  width:46%;
  height:285px;
}
.compact-route path{
  stroke-width:2.5;
  stroke-dasharray:7 8;
}
.compact-route i{
  width:22px;height:29px;
}
.compact-route i:after{
  width:6px;height:6px;
  left:7px;top:7px;
}

/* Bottom sheet: lift + compact */
.compact-sheet{
  left:10px;
  right:10px;
  bottom:max(6px,env(safe-area-inset-bottom));
  border-radius:20px;
  padding:7px 9px 10px;
  background:rgba(6,26,51,.94);
}
.compact-handle{
  width:30px;height:3px;
  margin-bottom:5px;
}
.compact-how-title{
  font-size:8px;
  gap:6px;
}
.compact-how-title i{
  width:18px;
}
.compact-how{
  margin-top:5px;
  grid-template-columns:1fr 12px 1fr 12px 1fr 12px 1fr;
}
.compact-how div span{
  width:27px;height:27px;
  font-size:11px;
}
.compact-how div b{
  font-size:6.5px;
}
.compact-how em{
  font-size:11px;
}

/* Buttons: premium, shorter, stronger hierarchy */
.compact-cta{
  min-height:52px;
  border-radius:15px;
  grid-template-columns:34px 1fr 18px;
  gap:8px;
  padding:0 12px;
  margin-top:6px;
}
.compact-cta-icon{
  width:31px;height:31px;
  font-size:14px;
}
.compact-cta small{
  font-size:5.8px;
  letter-spacing:.9px;
}
.compact-cta strong{
  font-size:12.5px;
}
.compact-cta>b{
  font-size:21px;
}
.compact-create{
  font-size:8px;
  margin-top:6px;
}

/* Slightly stronger fade at bottom to make sheet feel integrated */
.compact-shade{
  background:
    radial-gradient(circle at 20% 17%,rgba(255,255,255,.38),transparent 22%),
    linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.00) 40%,rgba(6,26,51,.04) 58%,rgba(6,26,51,.72) 100%);
}

/* Better scenic focal point */
.compact-scene{
  background:
    linear-gradient(180deg,rgba(236,247,255,.12),rgba(255,255,255,.00) 42%,rgba(6,26,51,.05) 62%,rgba(6,26,51,.84) 100%),
    url('assets/home_compact_scene.jpg') 62% 44%/cover no-repeat;
}

/* Short phone tuning */
@media(max-height:760px){
  .compact-header{height:48px}
  .compact-wordmark{font-size:48px}
  .compact-tagline{font-size:9px}
  .compact-hero h1{font-size:24px;margin-top:11px}
  .compact-hero p{font-size:9px}
  .compact-pills{margin-top:8px}
  .compact-pills div{min-height:44px;padding:4px}
  .compact-pills small{display:none}
  .compact-route{top:168px;height:245px}
  .compact-how div span{width:25px;height:25px}
  .compact-cta{min-height:48px}
  .compact-create{font-size:7.5px}
}

/* Very tall phones: keep everything centered, no giant dead area */
@media(min-height:900px){
  .compact-hero{padding-top:4px}
  .compact-route{top:210px;height:300px}
  .compact-sheet{bottom:max(10px,env(safe-area-inset-bottom))}
}

/* ===== BAI V2.6.6 PICTURE PERFECT REAL UI ===== */
.pp66-body{
  margin:0;
  background:#061a33;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  overflow:hidden;
}
.pp66-home{
  position:relative;
  width:min(100%,500px);
  height:100dvh;
  min-height:640px;
  max-height:980px;
  margin:auto;
  overflow:hidden;
  background:#dbe7ee;
  color:#071728;
}
.pp66-bg{
  position:absolute;
  inset:0;
  z-index:0;
  background-position:62% 48%;
  background-size:cover;
  background-repeat:no-repeat;
  transform:scale(1.025);
}
.pp66-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(circle at 17% 22%,rgba(255,250,230,.42),transparent 28%),
    linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.02) 46%,rgba(6,26,51,.04) 65%,rgba(6,26,51,.44) 100%);
}

/* header */
.pp66-header{
  position:relative;
  z-index:20;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 18px 0;
  height:48px;
}
.pp66-menu-btn{
  width:36px;height:36px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:11px;
  display:grid;place-content:center;gap:3px;
  background:rgba(6,26,51,.92);
  box-shadow:0 7px 18px rgba(0,0,0,.13);
}
.pp66-menu-btn span{width:17px;height:2px;background:#fff;border-radius:99px}
.pp66-lang{
  min-height:36px;
  padding:0 11px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:99px;
  display:flex;align-items:center;gap:7px;
  background:rgba(6,26,51,.94);
  color:#fff;
  box-shadow:0 7px 18px rgba(0,0,0,.12);
  font-size:10px;
}
.pp66-lang svg{width:17px;height:17px;fill:none;stroke:#fff;stroke-width:1.6}
.pp66-lang.tap{transform:scale(.96)}
.pp66-account{
  position:absolute;
  top:47px;left:16px;
  z-index:50;
  width:245px;
  padding:8px;
  background:rgba(6,26,51,.98);
  border:1px solid rgba(255,255,255,.1);
  border-radius:16px;
  box-shadow:0 18px 45px rgba(0,0,0,.28);
}
.pp66-account-head{
  display:grid;grid-template-columns:36px 1fr;gap:8px;
  padding:7px 8px 9px;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.pp66-avatar{width:36px;height:36px;border-radius:11px;background:#ffb000;color:#061a33;display:grid;place-items:center;font-weight:1000}
.pp66-account-head strong{display:block;color:#fff;font-size:11px}
.pp66-account-head small{font-size:7px;color:#9fb1c0}
.pp66-account a,.pp66-account button{
  width:100%;min-height:39px;border:0;border-radius:9px;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 9px;background:transparent;color:#eaf3f8;
  text-decoration:none;font-size:9px;
}
.pp66-account .admin{color:#ffb000;font-weight:900}

/* brand */
.pp66-brand{
  position:relative;
  z-index:5;
  padding:28px 0 0 49px;
}
.pp66-logo{
  display:flex;
  align-items:flex-end;
  font-size:clamp(60px,9.4vh,80px);
  line-height:.72;
  letter-spacing:-8px;
  font-weight:1000;
  color:#061a33;
}
.pp66-logo-a{position:relative}
.pp66-logo-a i{
  position:absolute;
  left:22px;top:24px;
  width:18px;height:24px;
  border-radius:50% 50% 50% 0;
  background:#ffb000;
  transform:rotate(-45deg);
}
.pp66-logo-a i:after{
  content:"";
  position:absolute;
  left:6px;top:6px;
  width:6px;height:6px;
  border-radius:50%;
  background:#eaf3f8;
}
.pp66-tagline{
  margin-top:11px;
  font-size:clamp(10px,1.45vh,12px);
  font-weight:950;
  color:#061a33;
  letter-spacing:.25px;
}
.pp66-tagline b{color:#efa900}

/* copy */
.pp66-copy{
  position:relative;
  z-index:5;
  padding:clamp(28px,4.0vh,40px) 0 0 49px;
}
.pp66-copy h1{
  margin:0;
  font-size:clamp(28px,4.2vh,37px);
  line-height:1.02;
  letter-spacing:-1.25px;
  color:#071728;
}
.pp66-copy h1 em{
  display:block;
  font-style:normal;
  color:#f4a900;
  white-space:nowrap;
}
.pp66-copy p{
  margin:13px 0 0;
  font-size:clamp(11px,1.65vh,14px);
  line-height:1.45;
  color:#3f4d59;
}

/* route */
.pp66-route{
  position:absolute;
  z-index:4;
  top:27%;
  right:-2%;
  width:58%;
  height:38%;
  pointer-events:none;
}
.pp66-route svg{width:100%;height:100%}
.pp66-route-shadow{
  fill:none;stroke:rgba(6,26,51,.20);stroke-width:6;stroke-linecap:round
}
.pp66-route-line{
  fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-dasharray:8 9;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.18));
  animation:ppRoute 1.7s linear infinite;
}
@keyframes ppRoute{to{stroke-dashoffset:-34}}
.pp66-pin{
  position:absolute;
  width:25px;height:33px;
  border-radius:50% 50% 50% 0;
  background:#ffb000;
  transform:rotate(-45deg);
  box-shadow:0 7px 16px rgba(0,0,0,.18);
  animation:ppPin 1.9s ease-in-out infinite;
}
.pp66-pin:after{
  content:"";
  position:absolute;
  width:7px;height:7px;border-radius:50%;
  background:#fff;left:9px;top:9px;
}
.top-pin{right:9%;top:0}
.lower-pin{left:2%;bottom:1%;animation-delay:.55s}
@keyframes ppPin{50%{transform:rotate(-45deg) translate(3px,-3px)}}

/* bottom group anchored like reference */
.pp66-lower{
  position:absolute;
  z-index:12;
  left:28px;
  right:28px;
  bottom:max(16px,env(safe-area-inset-bottom));
}
.pp66-benefits{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  background:rgba(6,26,51,.88);
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  backdrop-filter:blur(11px);
  box-shadow:0 12px 30px rgba(0,0,0,.16);
  overflow:hidden;
}
.pp66-benefits article{
  min-height:83px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;
  position:relative;
  padding:8px 5px;
}
.pp66-benefits article+article:before{
  content:"";position:absolute;left:0;top:15%;bottom:15%;width:1px;background:rgba(255,255,255,.30)
}
.pp66-benefit-icon{
  width:35px;height:35px;border-radius:50%;
  display:grid;place-items:center;
  color:#ffb000;
  margin-bottom:5px;
}
.pp66-benefit-icon svg{
  width:31px;height:31px;fill:none;stroke:#ffb000;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round
}
.pp66-dollar{font-size:28px;font-weight:900}
.pp66-benefits strong{font-size:9px;color:#fff}
.pp66-benefits small{font-size:7.5px;color:#d8e0e6;margin-top:2px}

.pp66-how{
  margin-top:8px;
  border-radius:18px;
  padding:10px 9px 11px;
  background:rgba(5,24,48,.93);
  border:1px solid rgba(255,255,255,.07);
  color:#fff;
  box-shadow:0 10px 28px rgba(0,0,0,.17);
}
.pp66-how-title{
  display:flex;align-items:center;justify-content:center;gap:8px;
  font-size:9.5px;
}
.pp66-how-title i{width:24px;height:2px;background:#ffb000}
.pp66-how-row{
  display:grid;
  grid-template-columns:1fr 15px 1fr 15px 1fr 15px 1fr;
  align-items:center;
  margin-top:8px;
}
.pp66-how-row>div{text-align:center}
.pp66-how-icon{
  width:31px;height:31px;
  margin:0 auto 5px;
  border-radius:50%;
  display:grid;place-items:center;
  background:#0b2e52;
  color:#ffb000;
}
.pp66-how-icon svg{
  width:19px;height:19px;fill:none;stroke:#ffb000;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round
}
.pp66-car,.pp66-mapdot,.pp66-flag{font-size:14px}
.pp66-how-row b{
  display:block;
  font-size:7.4px;
  line-height:1.22;
  font-weight:750;
}
.pp66-how-row em{
  font-size:14px;
  color:#ffb000;
  font-style:normal;
  text-align:center;
}

.pp66-cta{
  min-height:60px;
  margin-top:8px;
  border-radius:18px;
  display:grid;
  grid-template-columns:42px 1fr 20px;
  align-items:center;
  gap:10px;
  padding:0 15px;
  text-decoration:none;
  box-shadow:0 10px 25px rgba(0,0,0,.15);
  transition:transform .12s ease;
}
.pp66-cta:active{transform:scale(.985)}
.pp66-passenger{background:#ffb000;color:#061a33}
.pp66-driver{background:#071f3b;color:#fff;border:1px solid #173b5b}
.pp66-cta strong{
  font-size:clamp(13px,1.8vh,16px);
  text-align:left;
}
.pp66-cta>b{font-size:26px}
.pp66-person{
  width:36px;height:36px;position:relative;display:block
}
.pp66-person .head{
  position:absolute;width:12px;height:12px;border-radius:50%;background:#061a33;left:12px;top:3px
}
.pp66-person .body{
  position:absolute;width:25px;height:15px;border-radius:13px 13px 4px 4px;background:#061a33;left:5px;bottom:3px
}
.pp66-wheel{
  width:36px;height:36px;display:grid;place-items:center;color:#ffb000
}
.pp66-wheel svg{
  width:32px;height:32px;fill:none;stroke:#ffb000;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round
}
.pp66-create{
  margin:10px 0 0;
  text-align:center;
  color:#d7dfe5;
  font-size:9px;
}
.pp66-create a{color:#ffb000;text-decoration:none;font-weight:900}

.hidden{display:none!important}

/* Short phones: preserve same reference proportions without scroll */
@media(max-height:760px){
  .pp66-brand{padding-top:18px}
  .pp66-logo{font-size:54px}
  .pp66-logo-a i{width:15px;height:20px;left:19px;top:20px}
  .pp66-tagline{font-size:9px;margin-top:8px}
  .pp66-copy{padding-top:20px}
  .pp66-copy h1{font-size:25px}
  .pp66-copy p{font-size:10px;margin-top:9px}
  .pp66-route{top:24%;height:34%}
  .pp66-lower{left:22px;right:22px;bottom:max(8px,env(safe-area-inset-bottom))}
  .pp66-benefits article{min-height:68px}
  .pp66-benefit-icon{width:29px;height:29px;margin-bottom:3px}
  .pp66-benefit-icon svg{width:27px;height:27px}
  .pp66-benefits strong{font-size:8px}.pp66-benefits small{font-size:6.6px}
  .pp66-how{padding:8px}
  .pp66-how-icon{width:27px;height:27px}
  .pp66-how-row b{font-size:6.5px}
  .pp66-cta{min-height:51px;margin-top:6px}
  .pp66-create{margin-top:6px;font-size:8px}
}

/* Tall phones: keep design centered like the target */
@media(min-height:900px){
  .pp66-brand{padding-top:34px}
  .pp66-copy{padding-top:38px}
  .pp66-lower{bottom:max(18px,env(safe-area-inset-bottom))}
}

@media(min-width:700px){
  .pp66-body{padding:20px}
  .pp66-home{border-radius:32px;box-shadow:0 30px 80px rgba(0,0,0,.35)}
}

/* ===== BAI V2.6.8 ROUTE SCRIBBLE FIX ===== */
.pp66-route svg,
.pp66-route svg path,
.pp66-route .route-under,
.pp66-route .route-top,
.pp66-route .pp66-route-shadow,
.pp66-route .pp66-route-line{
  fill:none !important;
}

.pp66-route .route-under{
  stroke:rgba(6,26,51,.20) !important;
  stroke-width:6 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

.pp66-route .route-top{
  stroke:#ffffff !important;
  stroke-width:3 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
  stroke-dasharray:8 9 !important;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.18));
}

.pp66-route{
  overflow:visible;
  pointer-events:none;
}

/* ===== BAI V2.6.14 CLEAN AUTH REBUILD ===== */
[hidden]{display:none!important}
#authGate.hidden,#appRoot.hidden{display:none!important}
body.terminal-active #authGate{display:none!important}
body:not(.terminal-active) #appRoot{display:none!important}

.bai-auth-shell{
  width:min(calc(100% - 28px),420px)!important;
  min-height:0!important;
  margin:6vh auto!important;
  padding:22px 18px 20px!important;
  border-radius:26px!important;
  color:#fff!important;
  background:
    radial-gradient(circle at 88% 4%,rgba(255,176,0,.13),transparent 27%),
    linear-gradient(180deg,#0a2a4c 0%,#061c36 58%,#05172c 100%)!important;
  border:1px solid rgba(255,255,255,.09)!important;
  box-shadow:0 28px 70px rgba(0,0,0,.34)!important;
  overflow:hidden!important;
}
.bai-auth-logo{
  padding:0 0 13px;
  margin-bottom:14px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.bai-auth-wordmark{
  display:flex;
  align-items:flex-end;
  color:#fff;
  font-size:44px;
  line-height:.73;
  letter-spacing:-4px;
  font-weight:1000;
}
.bai-auth-a{position:relative}
.bai-auth-a i{
  position:absolute;
  width:11px;height:14px;
  border-radius:50% 50% 50% 0;
  background:#ffb000;
  transform:rotate(-45deg);
  left:13px;top:13px;
}
.bai-auth-a i:after{
  content:"";
  position:absolute;
  width:4px;height:4px;border-radius:50%;
  background:#eaf3f8;
  left:3px;top:3px;
}
.bai-auth-tag{
  margin-top:7px;
  font-size:7px;
  font-weight:950;
  letter-spacing:.8px;
  color:#e5edf3;
}
.bai-auth-tag b{color:#ffb000}
.bai-auth-role{
  display:inline-flex;
  padding:6px 9px;
  margin-bottom:8px;
  border-radius:999px;
  background:#ffb000;
  color:#061a33;
  font-size:7px;
  letter-spacing:1px;
  font-weight:950;
}
.bai-auth-shell h1{
  margin:0 0 5px!important;
  color:#fff!important;
  opacity:1!important;
  font-size:29px!important;
  line-height:1.04!important;
}
.bai-auth-shell>p{
  margin:0 0 14px!important;
  color:#a9bac7!important;
  opacity:1!important;
  font-size:11px!important;
}
.bai-auth-shell input{
  width:100%!important;
  min-height:49px!important;
  margin:5px 0!important;
  padding:0 14px!important;
  border-radius:14px!important;
  border:1px solid rgba(255,255,255,.11)!important;
  background:#0a213c!important;
  color:#fff!important;
  outline:none!important;
  box-shadow:none!important;
}
.bai-auth-shell input::placeholder{color:#8fa3b4!important;opacity:1!important}
.bai-auth-shell input:focus{
  border-color:#ffb000!important;
  box-shadow:0 0 0 3px rgba(255,176,0,.10)!important;
}
.bai-auth-shell .v2-auth-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  margin-top:10px!important;
}
.bai-auth-shell .v2-btn{
  min-height:49px!important;
  border-radius:14px!important;
  font-size:10.5px!important;
  font-weight:900!important;
}
.bai-auth-shell .v2-btn.yellow{
  background:#ffb000!important;
  color:#061a33!important;
}
.bai-auth-shell .v2-btn.navy{
  background:#103253!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.10)!important;
}
.bai-auth-shell .v2-text-btn{
  width:100%!important;
  padding:12px 0 5px!important;
  color:#9db0bf!important;
  font-size:9.5px!important;
}
.bai-auth-shell #authMsg{
  min-height:16px!important;
  margin:4px 0 0!important;
  color:#b7c5d0!important;
  text-align:center!important;
  font-size:8.5px!important;
}

/* Uniform terminal logo */
.bai-terminal-brand{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.bai-terminal-wordmark{
  display:flex;
  align-items:flex-end;
  color:#fff;
  font-size:29px;
  line-height:.72;
  letter-spacing:-3px;
  font-weight:1000;
}
.bai-term-a{position:relative}
.bai-term-a i{
  position:absolute;
  width:8px;height:10px;
  border-radius:50% 50% 50% 0;
  background:#ffb000;
  transform:rotate(-45deg);
  left:9px;top:9px;
}
.bai-term-a i:after{
  content:"";
  position:absolute;
  width:3px;height:3px;border-radius:50%;
  background:#eaf3f8;
  left:2px;top:2px;
}
.bai-terminal-brand small{
  padding-left:7px;
  border-left:1px solid rgba(255,255,255,.13);
  color:#9eb1c1;
  font-size:6.5px;
  letter-spacing:1px;
  font-weight:900;
}
.v2-app-header .bai-terminal-brand,
.v2-admin-header .bai-terminal-brand{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
}

@media(max-width:520px){
  .bai-auth-shell{
    margin:5vh auto!important;
    padding:20px 17px 18px!important;
  }
  .bai-auth-wordmark{font-size:40px}
}
@media(max-height:700px){
  .bai-auth-shell{
    margin:2vh auto!important;
    padding:16px!important;
  }
  .bai-auth-wordmark{font-size:36px}
  .bai-auth-shell h1{font-size:25px!important}
  .bai-auth-shell input{min-height:44px!important}
  .bai-auth-shell .v2-btn{min-height:44px!important}
}

/* ===== BAI V2.7 RIDE COMMUNICATION + CONTROLS ===== */
.v27-passenger-contact{display:flex;align-items:center;gap:9px;margin:9px 0 6px;padding:9px;border-radius:13px;background:#102a44}
.v27-passenger-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#ffb000;color:#061a33;font-weight:950}
.v27-passenger-info{display:flex;flex-direction:column;flex:1;min-width:0}.v27-passenger-info strong{font-size:10px}.v27-passenger-info span{font-size:8px;color:#94a8b9}
.v27-contact-actions{display:flex;gap:6px;margin-left:auto}.v27-contact-btn{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;text-decoration:none;background:#041a34;color:#ffb000;border:1px solid rgba(255,255,255,.08);font-size:14px}.v27-contact-btn.disabled{opacity:.35;pointer-events:none}
.v27-driver-actions{display:grid;grid-template-columns:.75fr 1.4fr;gap:8px;margin-top:8px}
.v27-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:end center;padding:16px;background:rgba(2,12,24,.58);backdrop-filter:blur(5px)}.v27-modal.hidden{display:none!important}
.v27-modal-card{width:min(100%,460px);border-radius:22px;padding:15px;background:#071d34;color:#fff;border:1px solid rgba(255,255,255,.08);box-shadow:0 24px 70px rgba(0,0,0,.38);animation:v27in .18s ease-out}
@keyframes v27in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.v27-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.v27-modal-head small{font-size:7px;color:#ffb000;letter-spacing:1px;font-weight:900}.v27-modal-head h3{margin:2px 0 9px;font-size:18px}.v27-modal-head>button{width:32px;height:32px;border-radius:50%;border:0;background:#102a44;color:#fff;font-size:19px}
.v27-reason-list{display:grid;gap:6px}.v27-reason-list button{width:100%;min-height:46px;border:1px solid #173a58;border-radius:12px;background:#0b243b;color:#fff;padding:0 12px;display:flex;align-items:center;justify-content:space-between;font-size:10px;text-align:left}.v27-reason-list button span{color:#ffb000;font-size:18px}
.v27-confirm-text{color:#9db0bf;font-size:9px;line-height:1.45;margin:4px 0 12px}.v27-modal-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:8px}

/* ===== BAI V2.7.1 OFFICIAL BRAND ICON ===== */
.bai-brand-icon{
  display:inline-block;
  width:1em;
  height:1em;
  background:url("assets/bai-pin.svg") center/contain no-repeat;
  flex:0 0 auto;
}

/* Canonical pin mark inside BAI wordmarks */
.bai-auth-a i,
.bai-term-a i{
  width:12px !important;
  height:16px !important;
  border-radius:0 !important;
  background:url("assets/bai-pin.svg") center/contain no-repeat !important;
  transform:none !important;
}
.bai-auth-a i:after,
.bai-term-a i:after{
  display:none !important;
}
.bai-term-a i{
  width:8px !important;
  height:11px !important;
}

/* ===== BAI V2.7.2 MOBILE AUTO SCALE ===== */
/* Mobile-only responsive normalization. Desktop/tablet layout remains unchanged. */

@media (max-width: 600px){

  html{
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
  }

  body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
  }

  /* Consistent phone app canvas */
  .v2-app,
  .v2-driver-app,
  .v2-admin-app,
  .pp66-home,
  .compact-home{
    width:100% !important;
    max-width:none !important;
    min-height:100dvh !important;
  }

  /* Safe areas */
  .v2-app-header,
  .v2-admin-header{
    padding-top:max(10px, env(safe-area-inset-top)) !important;
    padding-left:max(12px, env(safe-area-inset-left)) !important;
    padding-right:max(12px, env(safe-area-inset-right)) !important;
  }

  .v2-bottom-nav{
    padding-bottom:max(8px, env(safe-area-inset-bottom)) !important;
  }

  /* Main terminal spacing */
  .v2-main,
  .v2-driver-main,
  .v2-admin-main{
    width:100% !important;
    max-width:none !important;
    padding-left:clamp(10px,3.5vw,16px) !important;
    padding-right:clamp(10px,3.5vw,16px) !important;
  }

  /* Maps scale by screen height */
  #passengerMap,
  #passengerLiveMap,
  #driverMap,
  #adminMap{
    min-height:0 !important;
  }

  #passengerMap{
    height:clamp(220px,34dvh,350px) !important;
  }

  #passengerLiveMap{
    height:clamp(180px,28dvh,300px) !important;
  }

  #driverMap{
    height:clamp(260px,39dvh,420px) !important;
  }

  #adminMap{
    height:clamp(240px,35dvh,380px) !important;
  }

  /* Cards */
  .v2-card,
  .v2-live-card,
  .v2-request-card,
  .v2-receipt,
  .v2-history-card,
  .v2-admin-panel{
    width:100% !important;
    max-width:100% !important;
    border-radius:clamp(14px,4vw,20px) !important;
  }

  /* Responsive typography */
  h1{
    font-size:clamp(22px,7vw,32px) !important;
  }

  h2{
    font-size:clamp(16px,5vw,22px) !important;
  }

  h3{
    font-size:clamp(14px,4.5vw,19px) !important;
  }

  p,
  label,
  input,
  button,
  a{
    font-size:clamp(10px,3.1vw,14px);
  }

  /* Inputs and buttons */
  input,
  select,
  textarea{
    min-height:46px !important;
    border-radius:13px !important;
  }

  .v2-btn,
  .v2-request{
    min-height:48px !important;
    border-radius:14px !important;
  }

  /* Prevent horizontal overflow from grids */
  .v2-two,
  .v27-driver-actions,
  .v27-modal-actions{
    gap:8px !important;
  }

  .v2-price-grid,
  .v2-admin-stats{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .v2-receipt-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  /* Ride detail content */
  .v2-request-route strong,
  .v2-history-row strong,
  .v2-driver-info strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  /* Bottom nav */
  .v2-bottom-nav{
    height:auto !important;
    min-height:58px !important;
  }

  .v2-bottom-nav a{
    font-size:clamp(15px,4vw,19px) !important;
  }

  .v2-bottom-nav small{
    font-size:clamp(7px,2.3vw,9px) !important;
  }

  /* Modal sheets */
  .v27-modal{
    padding:
      12px
      max(12px,env(safe-area-inset-right))
      max(12px,env(safe-area-inset-bottom))
      max(12px,env(safe-area-inset-left)) !important;
  }

  .v27-modal-card{
    width:100% !important;
    max-width:none !important;
    max-height:82dvh !important;
    overflow-y:auto !important;
    border-radius:20px !important;
  }

  /* Auth */
  .bai-auth-shell{
    width:calc(100% - 24px) !important;
    max-width:420px !important;
    margin:clamp(14px,4dvh,38px) auto !important;
  }

  /* Home stays one phone screen */
  .pp66-home,
  .compact-home{
    height:100dvh !important;
    max-height:none !important;
    border-radius:0 !important;
  }
}

/* Small phones */
@media (max-width: 380px), (max-height: 680px){
  .v2-app-header,
  .v2-admin-header{
    min-height:48px !important;
  }

  #passengerMap{
    height:30dvh !important;
  }

  #driverMap{
    height:34dvh !important;
  }

  .v2-driver-sheet{
    padding-top:8px !important;
  }

  .v27-contact-btn{
    width:31px !important;
    height:31px !important;
  }

  .bai-auth-shell{
    margin:10px auto !important;
    padding:14px !important;
  }
}

/* Tall phones */
@media (max-width:600px) and (min-height:850px){
  #passengerMap{
    height:36dvh !important;
  }

  #driverMap{
    height:42dvh !important;
  }

  .v2-bottom-nav{
    min-height:62px !important;
  }
}

/* ===== BAI V2.7.3 ANDROID SHORTCUT VIEWPORT FIX ===== */

:root{
  --bai-vh:100dvh;
  --bai-vw:100vw;
}

/* Android Chrome shortcut / standalone viewport stabilization */
@media(max-width:600px){

  html,
  body{
    width:100% !important;
    min-height:var(--bai-vh) !important;
    overflow-x:hidden !important;
  }

  body{
    min-height:var(--bai-vh) !important;
    padding-bottom:0 !important;
  }

  /* Home must use the live visual viewport, not a cached dvh */
  .pp66-home,
  .compact-home{
    height:var(--bai-vh) !important;
    min-height:var(--bai-vh) !important;
    max-height:var(--bai-vh) !important;
  }

  /* Terminals can scroll, but their shell always fills the visible phone area */
  .v2-app,
  .v2-driver-app,
  .v2-admin-app,
  #appRoot{
    min-height:var(--bai-vh) !important;
    width:100% !important;
  }

  /* Ensure content never disappears behind Android gesture/navigation area */
  .v2-main,
  .v2-driver-main,
  .v2-admin-main,
  .v2-driver-sheet{
    padding-bottom:calc(78px + env(safe-area-inset-bottom)) !important;
  }

  /* Anchor nav to actual visible viewport */
  .v2-bottom-nav{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    z-index:500 !important;
    width:100% !important;
    min-height:60px !important;
    padding-bottom:max(8px, env(safe-area-inset-bottom)) !important;
    transform:translateZ(0);
    backface-visibility:hidden;
  }

  /* If an app wrapper imposes a max-width, keep the fixed nav aligned */
  @media(min-width:480px){
    .v2-bottom-nav{
      left:50% !important;
      right:auto !important;
      width:min(100%,500px) !important;
      transform:translateX(-50%) translateZ(0);
    }
  }

  /* Modal bottom sheets should also follow live viewport */
  .v27-modal{
    height:var(--bai-vh) !important;
    min-height:var(--bai-vh) !important;
  }

  .v27-modal-card{
    max-height:calc(var(--bai-vh) - 32px) !important;
  }

  /* Prevent restored scroll positions from hiding the fixed nav */
  body.bai-viewport-refresh .v2-bottom-nav{
    will-change:transform;
  }
}

/* ===== BAI V2.7.4 HIDE MAP LABEL ===== */
/* Hide visible map attribution / open-map label while leaving map controls and tiles intact. */
.maplibregl-ctrl-attrib,
.maplibregl-ctrl-attrib-button,
.maplibregl-ctrl-bottom-right .maplibregl-ctrl-attrib,
.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib{
  display:none !important;
}

/* ===== BAI V2.7.6 SEAMLESS BACKGROUND ===== */

/* Optimized background now loads fast enough that the old fallback gradient
   causes a visible flash. Remove it and use only a neutral base color. */
.pp66-home,
.compact-home{
  background:#6fbfdc !important;
}

/* No fade/opacity animation — render the preloaded image immediately. */
.pp66-bg,
.compact-scene{
  background-color:#6fbfdc !important;
  transition:none !important;
  animation:none !important;
  opacity:1 !important;
  will-change:auto !important;
}

/* ===== BAI V2.7.8 DRIVER FIT + MAP LABEL FIX ===== */

/* Keep OpenMap/attribution hidden (preserve V2.7.4 behavior) */
.maplibregl-ctrl-attrib,
.maplibregl-ctrl-attrib-button,
.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib,
.maplibregl-ctrl-bottom-right .maplibregl-ctrl-attrib{
  display:none !important;
}

/* Driver-only mobile fit. Do not alter Passenger/Home/Admin. */
@media(max-width:600px){

  .bai-driver-fit{
    min-height:var(--bai-vh,100dvh) !important;
    height:var(--bai-vh,100dvh) !important;
    display:grid !important;
    grid-template-rows:auto auto minmax(0,1fr) auto !important;
    overflow:hidden !important;
  }

  /* Header */
  .bai-driver-fit > .v2-app-header{
    grid-row:1 !important;
    position:relative !important;
    flex:none !important;
  }

  /* Map section */
  .bai-driver-fit > .v2-driver-map-wrap,
  .bai-driver-fit > .v2-driver-map,
  .bai-driver-fit > section:has(#driverMap){
    grid-row:2 !important;
    min-height:0 !important;
    height:auto !important;
    flex:none !important;
  }

  .bai-driver-fit #driverMap{
    height:clamp(245px,34vh,355px) !important;
    min-height:245px !important;
  }

  /* Lower Driver sheet should own the remaining viewport */
  .bai-driver-fit > .v2-driver-sheet{
    grid-row:3 !important;
    min-height:0 !important;
    height:100% !important;
    overflow-y:auto !important;
    display:flex !important;
    flex-direction:column !important;
    padding-bottom:14px !important;
    box-sizing:border-box !important;
  }

  /* Let content remain natural; use remaining space below it */
  .bai-driver-fit .v2-driver-sheet > *{
    flex:0 0 auto !important;
  }

  .bai-driver-fit #driverIdle{
    margin-top:auto !important;
    padding-top:14px !important;
    padding-bottom:4px !important;
  }

  /* Bottom nav occupies its own row, never overlaps the sheet */
  .bai-driver-fit > .v2-bottom-nav{
    grid-row:4 !important;
    position:relative !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    width:100% !important;
    transform:none !important;
    min-height:60px !important;
    padding-bottom:max(8px,env(safe-area-inset-bottom)) !important;
  }

  /* Prevent previous global fixed-nav rule from affecting Driver */
  .bai-driver-fit .dark-nav.v2-bottom-nav{
    position:relative !important;
    bottom:auto !important;
  }
}

/* Short phones: slightly smaller map so the sheet still has room */
@media(max-width:600px) and (max-height:720px){
  .bai-driver-fit #driverMap{
    height:clamp(215px,31vh,300px) !important;
    min-height:215px !important;
  }
}

/* Tall phones: allow a little more map without starving the sheet */
@media(max-width:600px) and (min-height:850px){
  .bai-driver-fit #driverMap{
    height:clamp(280px,36vh,380px) !important;
  }
}

/* ===== BAI V2.7.9 DRIVER MAP CROP + SHEET RAISE ===== */

/* Driver-only visual composition fix:
   crop map slightly and raise the lower sheet so it meets the map cleanly. */
@media(max-width:600px){

  .bai-driver-fit{
    display:block !important;
    height:var(--bai-vh,100dvh) !important;
    min-height:var(--bai-vh,100dvh) !important;
    overflow:hidden !important;
  }

  /* Header remains natural */
  .bai-driver-fit > .v2-app-header{
    position:relative !important;
    z-index:20 !important;
  }

  /* Crop the visible map area */
  .bai-driver-fit #driverMap{
    height:clamp(225px,31dvh,315px) !important;
    min-height:225px !important;
  }

  /* Pull the lower sheet upward so it overlaps the map edge slightly */
  .bai-driver-fit .v2-driver-sheet{
    position:relative !important;
    z-index:30 !important;
    margin-top:-18px !important;
    border-radius:28px 28px 0 0 !important;
    min-height:calc(
      var(--bai-vh,100dvh)
      - 54px
      - clamp(225px,31dvh,315px)
      - 60px
      + 18px
    ) !important;
    height:auto !important;
    overflow-y:auto !important;
    padding-bottom:18px !important;
    box-shadow:0 -10px 24px rgba(5,24,48,.08) !important;
  }

  /* Make the handle visually sit right at the map/sheet join */
  .bai-driver-fit .v2-driver-sheet .v2-handle{
    margin-top:2px !important;
  }

  /* Let Driver content distribute naturally in the raised sheet */
  .bai-driver-fit #driverIdle{
    margin-top:18px !important;
    padding-bottom:8px !important;
  }

  /* Bottom nav stays fixed and hidden-attribution behavior stays intact */
  .bai-driver-fit > .v2-bottom-nav{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    width:100% !important;
    z-index:500 !important;
    transform:none !important;
  }

  /* Add room so sheet content never hides behind nav */
  .bai-driver-fit .v2-driver-sheet{
    padding-bottom:calc(76px + env(safe-area-inset-bottom)) !important;
  }
}

/* Smaller phones: crop a little more */
@media(max-width:600px) and (max-height:720px){
  .bai-driver-fit #driverMap{
    height:clamp(205px,29dvh,275px) !important;
    min-height:205px !important;
  }

  .bai-driver-fit .v2-driver-sheet{
    margin-top:-16px !important;
  }
}

/* Tall phones: keep enough map without recreating the large gap */
@media(max-width:600px) and (min-height:850px){
  .bai-driver-fit #driverMap{
    height:clamp(245px,32dvh,335px) !important;
  }
}

/* ===== BAI V2.7.10 FULL DRIVER MAP ===== */
/* Root cause fix:
   the Driver map was shorter than .driver-map-stage, creating a gray band.
   Make the map fill the entire stage and keep controls as overlays. */

@media(max-width:600px){

  /* Define the actual visible map stage height */
  .driver-map-stage{
    position:relative !important;
    height:clamp(285px,40dvh,390px) !important;
    min-height:285px !important;
    overflow:hidden !important;
    background:transparent !important;
  }

  /* CRITICAL: map must fill its parent completely */
  .driver-map-stage > #driverMap,
  .v2-map-stage > #driverMap,
  #driverMap{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
    z-index:1 !important;
  }

  /* All map controls float on the actual map */
  .driver-map-stage .driver-style-control,
  .driver-map-stage .map-style-control{
    position:absolute !important;
    left:15px !important;
    bottom:24px !important;
    z-index:20 !important;
    margin:0 !important;
  }

  .driver-map-stage .v2-locate{
    position:absolute !important;
    right:17px !important;
    bottom:20px !important;
    z-index:20 !important;
    margin:0 !important;
  }

  .driver-map-stage .v2-stop{
    position:absolute !important;
    right:16px !important;
    bottom:78px !important;
    z-index:20 !important;
    margin:0 !important;
  }

  .driver-map-stage .v2-driver-overlay{
    position:absolute !important;
    top:15px !important;
    left:15px !important;
    z-index:20 !important;
  }

  /* White sheet begins directly over the map edge */
  .v2-driver-sheet{
    position:relative !important;
    z-index:30 !important;
    margin-top:-22px !important;
    border-radius:27px 27px 0 0 !important;
    background:#f7f9fb !important;
  }

  /* Undo earlier Driver-only map-height overrides */
  .bai-driver-fit #driverMap{
    height:100% !important;
    min-height:0 !important;
  }
}

/* Small phones */
@media(max-width:600px) and (max-height:720px){
  .driver-map-stage{
    height:clamp(250px,37dvh,320px) !important;
    min-height:250px !important;
  }
}

/* Tall phones */
@media(max-width:600px) and (min-height:850px){
  .driver-map-stage{
    height:clamp(315px,41dvh,410px) !important;
  }
}

/* ===== BAI V2.7.12 CLEAN ICON + INSTALL PROMPT ===== */
.bai-install-banner{
  position:fixed;
  z-index:10000;
  left:14px;
  right:14px;
  bottom:max(14px,env(safe-area-inset-bottom));
  max-width:480px;
  margin:auto;
  display:grid;
  grid-template-columns:46px 1fr auto 28px;
  gap:10px;
  align-items:center;
  padding:10px;
  border-radius:18px;
  background:rgba(6,26,51,.97);
  color:#fff;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 18px 50px rgba(0,0,0,.34);
  backdrop-filter:blur(14px);
}
.bai-install-banner.hidden{display:none!important}
.bai-install-mark{
  width:46px;height:46px;
  border-radius:13px;
  overflow:hidden;
  background:#061a33;
  display:grid;
  place-items:center;
}
.bai-install-mark img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.bai-install-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
}
.bai-install-copy strong{
  font-size:11px;
  line-height:1.2;
}
.bai-install-copy span{
  margin-top:2px;
  color:#a9bac7;
  font-size:8px;
  line-height:1.35;
}
.bai-install-action{
  min-height:36px;
  padding:0 11px;
  border:0;
  border-radius:11px;
  background:#ffb000;
  color:#061a33;
  font-size:8px;
  font-weight:950;
  white-space:nowrap;
}
.bai-install-close{
  width:28px;height:28px;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.07);
  color:#fff;
  font-size:17px;
}
@media(max-width:390px){
  .bai-install-banner{
    grid-template-columns:42px 1fr 26px;
  }
  .bai-install-action{
    grid-column:2/3;
    width:max-content;
    margin-top:2px;
  }
  .bai-install-close{
    grid-column:3;
    grid-row:1;
  }
}

/* BAI V2.9 ride-class pricing */
.v29-class-rates{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.v29-class-rates span{padding:9px 6px;border-radius:12px;background:#eef3f7;text-align:center;font-size:10px;color:#526579}
.v29-class-rates b{display:block;color:#071d37;font-size:11px;margin-bottom:2px}

/* ===== BAI V3.0 EARNINGS + RATINGS + ALERTS ===== */
.v30-bell{width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.1);background:#0d304f;color:#ffb000;font-size:15px;display:grid;place-items:center}
.v30-earnings{margin-top:10px;padding:12px;border-radius:18px;background:#071f3b;color:#fff;border:1px solid rgba(255,255,255,.08)}
.v30-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.v30-section-head small{font-size:7px;color:#ffb000;letter-spacing:1px}.v30-section-head h3{margin:2px 0 8px;font-size:16px}.v30-section-head>span{font-size:7px;color:#a7b9c8;background:#102f4e;padding:6px 8px;border-radius:999px}
.v30-earnings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.v30-earnings-grid>div{padding:10px;border-radius:13px;background:#0c2b49}.v30-earnings-grid small{display:block;color:#91a6b8;font-size:7px}.v30-earnings-grid strong{display:block;margin-top:3px;font-size:15px;color:#fff}
.v30-earnings-list{display:grid;gap:6px;margin-top:9px}.v30-earning-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:9px;border-radius:12px;background:#0a2946}.v30-earning-row strong,.v30-earning-row span,.v30-earning-row b,.v30-earning-row small{display:block}.v30-earning-row strong{font-size:8.5px}.v30-earning-row span,.v30-earning-row small{font-size:7px;color:#91a6b8}.v30-earning-row b{font-size:11px;color:#ffb000;text-align:right}
.v30-rating-box{margin-top:12px;padding:12px;border-radius:16px;background:#f0f5f8;color:#071d37;border:1px solid #dce6ec}.v30-rating-box>small{display:block;color:#657887;font-size:7px;letter-spacing:1px}.v30-rating-box>strong{display:block;margin-top:3px;font-size:12px}.v30-rating-box p{margin:5px 0 0;font-size:8px;color:#657887}
.v30-stars{display:flex;gap:5px;margin-top:8px}.v30-stars button{border:0;background:transparent;padding:0;color:#aeb9c2;font-size:27px;line-height:1;transition:transform .12s ease,color .12s ease}.v30-stars button.selected{color:#ffb000}.v30-stars button:active{transform:scale(.9)}
.v2-receipt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:600px){.v30-earnings{margin-bottom:8px}.v30-stars button{font-size:25px}.v2-admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* ===== BAI V3.3 PRODUCTION OPS BUNDLE ===== */
.v33-onboarding{margin:10px 0;padding:13px;border-radius:18px;background:#fff;border:1px solid #dce6ec;color:#071d37}
.v33-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.v33-form-grid label,.v33-doc-grid label{font-size:8px;color:#5d7080;font-weight:700}.v33-form-grid input,.v33-doc-grid input{width:100%;min-height:40px;margin-top:4px;padding:0 9px;border:1px solid #d7e1e8;border-radius:10px;background:#f7fafb;color:#071d37}
.v33-doc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}.v33-doc-grid input{padding:9px;font-size:8px}
.v33-dispatch-controls{margin-top:12px;padding-top:10px;border-top:1px solid #dce5eb}.v33-dispatch-controls>strong{display:block;margin-bottom:7px;font-size:10px}
.v33-app-list{display:grid;gap:8px}.v33-application{padding:10px;border-radius:14px;background:#f4f7f9;border:1px solid #dce6ec}.v33-application strong,.v33-application span,.v33-application small{display:block}.v33-application strong{font-size:11px}.v33-application span,.v33-application small{font-size:8px;color:#667989;margin-top:2px}
.v33-doc-links,.v33-review-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.v33-doc{border:0;border-radius:999px;padding:6px 8px;background:#0c2d4c;color:#fff;font-size:7px}.v33-review-actions .v2-btn{flex:1;min-height:38px}
.v33-op-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.v33-op-grid span,.v33-ledger-summary span,.v33-ledger-strip span{padding:10px;border-radius:12px;background:#eef3f6;font-size:8px;color:#607485}.v33-op-grid b,.v33-ledger-summary b,.v33-ledger-strip b{display:block;margin-top:3px;color:#071d37;font-size:14px}
.v33-ledger-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:10px}
.v33-settlement-list{display:grid;gap:7px}.v33-settlement-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:9px;border-radius:12px;background:#f4f7f9}.v33-settlement-row strong,.v33-settlement-row span,.v33-settlement-row small{display:block}.v33-settlement-row strong{font-size:9px}.v33-settlement-row span,.v33-settlement-row small{font-size:7px;color:#687b8a}.v33-settlement-row button{margin-top:4px;border:0;border-radius:8px;padding:6px 8px;background:#ffb000;color:#061a33;font-size:7px;font-weight:900}
.v33-ledger-strip{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin:8px 0}.v33-ledger-strip span{background:#0c2b49;color:#91a6b8}.v33-ledger-strip b{color:#fff;font-size:10px}
@media(max-width:600px){.v33-form-grid,.v33-doc-grid{grid-template-columns:1fr 1fr}.v33-settlement-row{grid-template-columns:1fr auto}}


/* ===== BAI V3.3.1 HOME HERO TEXT POP ===== */

/* Keep the scene visible, but increase readability of the top branding/copy. */
.pp66-home .pp66-brand,
.compact-home .brand-lockup,
.pp66-home .pp66-copy,
.compact-home .hero-copy{
  position:relative;
  z-index:6;
}

/* Soft localized contrast behind the hero text only — not a card. */
.pp66-home .pp66-copy::before,
.compact-home .hero-copy::before{
  content:"";
  position:absolute;
  z-index:-1;
  left:-18px;
  top:-18px;
  width:min(92vw,470px);
  height:calc(100% + 36px);
  border-radius:28px;
  background:
    radial-gradient(ellipse at 22% 45%,
      rgba(255,255,255,.58) 0%,
      rgba(255,255,255,.34) 38%,
      rgba(255,255,255,.12) 66%,
      rgba(255,255,255,0) 100%);
  filter:blur(.2px);
  pointer-events:none;
}

/* Main BAI wordmark / tagline */
.pp66-home .pp66-logo,
.compact-home .brand-wordmark{
  filter:drop-shadow(0 2px 1px rgba(255,255,255,.20))
         drop-shadow(0 4px 10px rgba(0,20,45,.18));
}

.pp66-home .pp66-tagline,
.compact-home .brand-tagline{
  font-weight:900 !important;
  letter-spacing:.045em !important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.60),
    0 2px 8px rgba(0,20,45,.16);
}

/* Hero headline */
.pp66-home .pp66-copy h1,
.compact-home .hero-copy h1{
  font-weight:950 !important;
  letter-spacing:-.035em !important;
  line-height:.98 !important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.45),
    0 3px 12px rgba(0,20,45,.20) !important;
}

/* Highlighted yellow line gets a little more depth */
.pp66-home .pp66-copy h1 .accent,
.pp66-home .pp66-copy h1 em,
.compact-home .hero-copy h1 .accent,
.compact-home .hero-copy h1 em{
  color:#ffb000 !important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.35),
    0 3px 10px rgba(115,69,0,.18) !important;
}

/* Supporting sentence */
.pp66-home .pp66-copy p,
.compact-home .hero-copy p{
  font-weight:650 !important;
  color:#26394b !important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.72),
    0 2px 8px rgba(255,255,255,.35) !important;
}

/* If the homepage uses the current classes from the live V3.3 markup */
.home-brand,
.home-hero,
.home-hero-copy{
  position:relative;
  z-index:6;
}
.home-hero-copy::before{
  content:"";
  position:absolute;
  z-index:-1;
  left:-18px;
  top:-16px;
  width:min(90vw,470px);
  height:calc(100% + 32px);
  border-radius:26px;
  background:radial-gradient(ellipse at 20% 48%,
    rgba(255,255,255,.56) 0%,
    rgba(255,255,255,.32) 40%,
    rgba(255,255,255,.10) 68%,
    transparent 100%);
  pointer-events:none;
}
.home-hero-copy h1{
  font-weight:950 !important;
  letter-spacing:-.035em !important;
  line-height:.98 !important;
  text-shadow:0 1px 0 rgba(255,255,255,.42),0 3px 12px rgba(0,20,45,.20) !important;
}
.home-hero-copy p{
  font-weight:650 !important;
  color:#26394b !important;
  text-shadow:0 1px 0 rgba(255,255,255,.70),0 2px 8px rgba(255,255,255,.30) !important;
}


/* ===== BAI V3.3.2 HERO TEXT CLEAN ===== */
/* Remove the localized contrast wash entirely — no faded square/panel. */

.pp66-home .pp66-copy::before,
.compact-home .hero-copy::before,
.home-hero-copy::before{
  content:none !important;
  display:none !important;
  background:none !important;
  filter:none !important;
}

/* Keep text-only contrast improvements. */
.pp66-home .pp66-copy h1,
.compact-home .hero-copy h1,
.home-hero-copy h1{
  font-weight:950 !important;
  letter-spacing:-.035em !important;
  line-height:.98 !important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.40),
    0 3px 11px rgba(0,20,45,.22) !important;
}

.pp66-home .pp66-copy p,
.compact-home .hero-copy p,
.home-hero-copy p{
  font-weight:650 !important;
  color:#26394b !important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.68),
    0 2px 7px rgba(255,255,255,.24) !important;
}

.pp66-home .pp66-tagline,
.compact-home .brand-tagline{
  font-weight:900 !important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.52),
    0 2px 7px rgba(0,20,45,.16) !important;
}

/* ===== BAI V3.3.3 UNIFORM HOME WORDMARK ===== */

.bai-home-wordmark{
  display:flex;
  align-items:flex-end;
  gap:0;
  width:max-content;
  color:#071d37;
  font-weight:950;
  font-size:clamp(66px,18vw,108px);
  line-height:.78;
  letter-spacing:-.095em;
  text-shadow:
    0 1px 0 rgba(255,255,255,.34),
    0 3px 10px rgba(0,20,45,.14);
}

.bai-home-wordmark > span{
  display:block;
}

.bai-home-a{
  position:relative;
}

.bai-home-a i{
  position:absolute;
  width:.22em;
  height:.30em;
  right:.00em;
  bottom:.01em;
  background:url("assets/bai-pin.svg") center/contain no-repeat;
  pointer-events:none;
}

/* Preserve Home tagline spacing directly beneath the new wordmark */
.bai-home-wordmark + .pp66-tagline,
.bai-home-wordmark + .brand-tagline,
.bai-home-wordmark + .home-tagline{
  margin-top:14px !important;
}

/* Mobile tuning */
@media(max-width:600px){
  .bai-home-wordmark{
    font-size:clamp(70px,18.5vw,102px);
  }
}

@media(max-width:380px){
  .bai-home-wordmark{
    font-size:clamp(62px,18vw,88px);
  }
}

/* ===== BAI V3.4 PAYMENT FOUNDATION ===== */
.v34-payment-summary{position:relative}
.v34-payment-change{display:block;margin-top:3px;border:0;background:transparent;padding:0;color:#0b6380;font-size:7px;font-weight:900;letter-spacing:.5px}
.v34-payment-picker{margin:10px 0;padding:12px;border-radius:18px;background:#fff;border:1px solid #dce6ec;box-shadow:0 9px 25px rgba(5,25,45,.08)}
.v34-payment-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.v34-payment-head small{display:block;font-size:7px;color:#6a7c89;letter-spacing:1px}.v34-payment-head strong{display:block;margin-top:2px;font-size:12px;color:#071d37}.v34-payment-head>button{width:28px;height:28px;border:0;border-radius:50%;background:#eef3f6;color:#071d37;font-size:17px}
.v34-payment-option{width:100%;min-height:58px;display:grid;grid-template-columns:38px 1fr auto;gap:9px;align-items:center;margin-top:7px;padding:9px;border:1px solid #dce6ec;border-radius:14px;background:#f8fafb;text-align:left;color:#071d37}.v34-payment-option.selected{border-color:#ffb000;box-shadow:0 0 0 2px rgba(255,176,0,.12)}.v34-payment-option.not-ready{opacity:.78}.v34-pay-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#071f3b;color:#ffb000;font-size:18px}.v34-payment-option b,.v34-payment-option small{display:block}.v34-payment-option b{font-size:10px}.v34-payment-option small{margin-top:2px;font-size:7.5px;color:#6e7f8c}.v34-payment-option em{font-style:normal;font-size:7px;font-weight:900;color:#0b7b65;background:#e8f8f4;padding:5px 7px;border-radius:999px}.v34-payment-option.not-ready em{color:#7a6430;background:#fff5d7}
#paymentPickerMsg{margin:9px 2px 0;color:#687a88;font-size:8px;line-height:1.45}
.v34-admin-payments{display:grid;gap:7px}.v34-admin-payments>div{display:grid;grid-template-columns:32px 1fr auto;gap:8px;align-items:center;padding:9px;border-radius:12px;background:#f2f6f8;border:1px solid #dfe8ed}.v34-admin-payments>div>span{font-size:18px}.v34-admin-payments strong,.v34-admin-payments small{display:block}.v34-admin-payments strong{font-size:10px}.v34-admin-payments small{font-size:7px;color:#6d7f8d}.v34-admin-payments>div>b{font-size:7px;color:#775f25;background:#fff0c5;padding:5px 7px;border-radius:999px}.v34-admin-payments>div.ready>b{color:#116c57;background:#dff6ef}
.v34-payment-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}.v34-payment-stats span{padding:9px;border-radius:11px;background:#eef3f6;color:#667987;font-size:8px}.v34-payment-stats b{display:block;margin-top:2px;color:#071d37;font-size:13px}

/* ===== BAI V3.4.1 PAYMENT CHANGE BUTTON ===== */
.v34-payment-summary{
  position:relative;
  padding-right:74px;
}

.v34-payment-change{
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  min-width:66px;
  height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  margin:0 !important;
  padding:0 9px !important;
  border:1px solid rgba(7,29,55,.10) !important;
  border-radius:999px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f1f5f7 100%) !important;
  color:#0b4f69 !important;
  font-size:7px !important;
  font-weight:950 !important;
  letter-spacing:.65px !important;
  box-shadow:0 4px 12px rgba(7,29,55,.08) !important;
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease !important;
}

.v34-payment-change span{
  display:inline-grid;
  place-items:center;
  width:16px;
  height:16px;
  border-radius:50%;
  background:#071f3b;
  color:#ffb000;
  font-size:10px;
  line-height:1;
}

.v34-payment-change:active{
  transform:translateY(-50%) scale(.96) !important;
  box-shadow:0 2px 7px rgba(7,29,55,.06) !important;
  background:#eaf0f3 !important;
}

@media(max-width:380px){
  .v34-payment-summary{
    padding-right:68px;
  }
  .v34-payment-change{
    min-width:60px;
    height:29px;
    padding:0 8px !important;
  }
}

/* ===== BAI V3.4.2 LOCATION SEARCH + LABELS ===== */
#pickupLabel,
#destinationLabel{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#destinationSearch{
  font-weight:650;
}
#pickupCoordsLabel,
#destinationCoordsLabel{
  opacity:.72;
}

/* ===== BAI V3.5 MINIMIZABLE RIDE CHAT ===== */
.v35-chat-fab{
  position:fixed;
  left:12px;
  right:12px;
  bottom:calc(72px + env(safe-area-inset-bottom));
  z-index:900;
  display:flex;
  justify-content:center;
  pointer-events:none;
}
.v35-chat-pill{
  width:min(100%,430px);
  min-height:54px;
  display:grid;
  grid-template-columns:38px 1fr auto;
  gap:9px;
  align-items:center;
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:17px;
  background:rgba(6,26,51,.97);
  color:#fff;
  box-shadow:0 15px 40px rgba(0,0,0,.26);
  backdrop-filter:blur(12px);
  pointer-events:auto;
  text-align:left;
}
.v35-chat-icon{
  width:38px;height:38px;border-radius:12px;
  display:grid;place-items:center;
  background:#ffb000;color:#061a33;font-size:17px;
}
.v35-chat-copy b,.v35-chat-copy small{display:block}.v35-chat-copy b{font-size:10px}.v35-chat-copy small{margin-top:2px;font-size:7.5px;color:#a9bac7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v35-unread{min-width:22px;height:22px;padding:0 6px;border-radius:999px;display:grid;place-items:center;background:#ffb000;color:#061a33;font-size:8px;font-weight:950}
.v35-chat-drawer{
  position:fixed;
  inset:0;
  z-index:980;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:12px 12px max(12px,env(safe-area-inset-bottom));
  background:rgba(2,12,24,.36);
  backdrop-filter:blur(4px);
}
.v35-chat-card{
  width:min(100%,460px);
  max-height:min(74dvh,620px);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-radius:24px;
  background:#f7f9fb;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 24px 70px rgba(0,0,0,.34);
}
.v35-chat-head{display:flex;justify-content:space-between;align-items:flex-start;padding:13px 14px;background:#071f3b;color:#fff}.v35-chat-head small,.v35-chat-head strong,.v35-chat-head span{display:block}.v35-chat-head small{font-size:6.8px;color:#ffb000;letter-spacing:1px}.v35-chat-head strong{margin-top:2px;font-size:14px}.v35-chat-head span{margin-top:2px;font-size:7px;color:#9eb1c1}.v35-chat-head>button{width:31px;height:31px;border:0;border-radius:50%;background:#103252;color:#fff;font-size:18px}
.v35-chat-messages{flex:1 1 auto;min-height:220px;max-height:390px;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:7px;background:#eef3f6}
.v35-chat-empty{margin:auto;color:#7a8c99;font-size:9px}
.v35-message{max-width:78%;display:flex;flex-direction:column;gap:2px}.v35-message>div{padding:9px 11px;border-radius:15px;font-size:9.5px;line-height:1.4;word-break:break-word}.v35-message small{font-size:6.5px;color:#7e909d;padding:0 4px}
.v35-message.mine{align-self:flex-end;align-items:flex-end}.v35-message.mine>div{background:#071f3b;color:#fff;border-bottom-right-radius:5px}.v35-message.theirs{align-self:flex-start;align-items:flex-start}.v35-message.theirs>div{background:#fff;color:#071d37;border:1px solid #dce5eb;border-bottom-left-radius:5px}
.v35-quick-replies{display:flex;gap:6px;overflow-x:auto;padding:8px 10px;background:#f7f9fb;border-top:1px solid #e0e8ed}.v35-quick-replies button{flex:0 0 auto;border:1px solid #d6e0e7;border-radius:999px;padding:7px 9px;background:#fff;color:#244156;font-size:7.5px;font-weight:800}
.v35-chat-composer{display:grid;grid-template-columns:1fr 42px;gap:7px;padding:9px 10px;background:#fff;border-top:1px solid #dfe7ec}.v35-chat-composer input{min-height:42px;border:1px solid #d5e0e6;border-radius:13px;padding:0 11px;background:#f7fafb;color:#071d37;font-size:9px}.v35-chat-composer button{border:0;border-radius:13px;background:#ffb000;color:#061a33;font-size:17px;font-weight:950}
.v35-chat-readonly{margin:0;padding:11px 12px;text-align:center;background:#eef3f6;color:#687a88;font-size:8px}
@media(max-width:380px){.v35-chat-fab{left:9px;right:9px}.v35-chat-pill{min-height:50px}.v35-chat-card{max-height:78dvh}.v35-chat-messages{min-height:190px}}

/* ===== BAI V3.5.1 CHAT REALTIME + DESKTOP MENU FIX ===== */

/* Bottom nav uses z-index 1200 in the core UI. Chat must sit above it. */
.v35-chat-fab{
  z-index:1800 !important;
}
.v35-chat-drawer{
  z-index:2000 !important;
}

/* On desktop/laptop, reserve space below the drawer so the app's fixed
   bottom menu never covers the composer/input row. */
@media(min-width:601px){
  .v35-chat-drawer{
    align-items:flex-end !important;
    padding:
      18px
      18px
      calc(88px + env(safe-area-inset-bottom))
      18px !important;
  }

  .v35-chat-card{
    max-height:calc(100dvh - 120px) !important;
  }

  .v35-chat-composer{
    position:relative !important;
    z-index:3 !important;
    flex:0 0 auto !important;
  }

  .v35-chat-fab{
    bottom:86px !important;
  }
}

/* Mobile also remains above the nav, while retaining the compact drawer. */
@media(max-width:600px){
  .v35-chat-drawer{
    padding-bottom:max(12px,env(safe-area-inset-bottom)) !important;
  }
}

/* ===== BAI V3.5.2 CHAT ALERTS ===== */
.v352-chat-toast{
  position:fixed;
  top:max(12px,env(safe-area-inset-top));
  left:12px;
  right:12px;
  z-index:2600;
  width:min(calc(100% - 24px),430px);
  margin:auto;
  min-height:58px;
  display:grid;
  grid-template-columns:38px 1fr auto;
  gap:9px;
  align-items:center;
  padding:9px 10px;
  border-radius:17px;
  background:rgba(6,26,51,.98);
  color:#fff;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 16px 42px rgba(0,0,0,.28);
  backdrop-filter:blur(13px);
  animation:v352toast .18s ease-out;
}
@keyframes v352toast{
  from{opacity:0;transform:translateY(-12px)}
  to{opacity:1;transform:translateY(0)}
}
.v352-toast-icon{
  width:38px;height:38px;border-radius:12px;
  display:grid;place-items:center;
  background:#ffb000;color:#061a33;font-size:17px
}
.v352-toast-copy{min-width:0}
.v352-toast-copy strong,.v352-toast-copy span{display:block}
.v352-toast-copy strong{font-size:10px}
.v352-toast-copy span{margin-top:2px;font-size:7.5px;color:#aabac7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v352-chat-toast>button{
  border:0;border-radius:10px;padding:7px 9px;
  background:#ffb000;color:#061a33;
  font-size:7px;font-weight:950
}

/* ===== BAI V3.5.3 RELIABLE CHAT ALERTS ===== */
.v352-chat-toast{
  z-index:99999 !important;
  pointer-events:auto !important;
  opacity:1 !important;
  visibility:visible !important;
}
.v352-chat-toast.hidden{
  display:none !important;
}
.v352-chat-toast:not(.hidden){
  display:grid !important;
}

/* ===== BAI V3.5.4 CHAT ALERT FALLBACK ===== */
@keyframes v354flash{
  0%{transform:scale(1);filter:none}
  25%{transform:scale(1.035);filter:drop-shadow(0 0 13px rgba(255,176,0,.75))}
  55%{transform:scale(.99)}
  100%{transform:scale(1);filter:none}
}
.v354-chat-flash .v35-chat-pill{
  animation:v354flash .72s ease-out 2;
  border-color:#ffb000 !important;
}
.v352-chat-toast:not(.hidden){
  display:grid !important;
  z-index:2147483000 !important;
  position:fixed !important;
}

/* ===== BAI V3.5.5 UNREAD CHAT PIN ===== */
.v35-chat-pill{
  position:relative !important;
}

.v355-chat-pin{
  position:absolute;
  top:-5px;
  right:-5px;
  width:16px;
  height:16px;
  border-radius:50%;
  background:#ffb000;
  border:3px solid #061a33;
  box-shadow:0 0 0 3px rgba(255,176,0,.22);
  z-index:5;
  animation:v355pinPulse 1.05s ease-in-out infinite;
}

.v355-chat-pin::after{
  content:"";
  position:absolute;
  inset:3px;
  border-radius:50%;
  background:#e94235;
}

@keyframes v355pinPulse{
  0%,100%{transform:scale(1);box-shadow:0 0 0 3px rgba(255,176,0,.22)}
  50%{transform:scale(1.18);box-shadow:0 0 0 7px rgba(255,176,0,.08)}
}

.v355-chat-pin.hidden{
  display:none !important;
}

/* ===== BAI V3.5.6 RENDERER UNREAD + CACHE FIX ===== */
.v356-unread-active .v35-chat-pill{
  border:2px solid #ffb000 !important;
  box-shadow:
    0 0 0 5px rgba(255,176,0,.16),
    0 15px 40px rgba(0,0,0,.28) !important;
}
.v356-unread-active .v35-chat-icon{
  animation:v356IconPulse .9s ease-in-out infinite !important;
}
@keyframes v356IconPulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.14)}
}
.v356-unread-active .v35-chat-copy b::after{
  content:" · NEW";
  color:#ffb000;
  font-size:7px;
  letter-spacing:.5px;
}

/* ===== BAI V3.5.7 GUARANTEED NEW BADGE ===== */
.v357-new-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:4px;
  width:max-content;
  min-width:32px;
  height:17px;
  padding:0 7px;
  border-radius:999px;
  background:#ef4237;
  color:#fff;
  font-size:6.5px;
  font-weight:950;
  letter-spacing:.8px;
  box-shadow:0 0 0 3px rgba(239,66,55,.12);
}
.v357-header-new{
  display:inline-flex;
  width:max-content;
  margin-top:5px;
  padding:4px 7px;
  border-radius:999px;
  background:#ffb000;
  color:#061a33;
  font-size:6.5px;
  letter-spacing:.7px;
  font-weight:950;
}
.v357-guaranteed-new .v35-chat-pill{
  border:2px solid #ef4237 !important;
  box-shadow:
    0 0 0 5px rgba(239,66,55,.16),
    0 16px 42px rgba(0,0,0,.30) !important;
}
.v357-guaranteed-new .v35-chat-icon{
  position:relative;
}
.v357-guaranteed-new .v35-chat-icon::after{
  content:"";
  position:absolute;
  top:-5px;
  right:-5px;
  width:12px;
  height:12px;
  border-radius:50%;
  background:#ef4237;
  border:2px solid #061a33;
}
.v357-new-badge.hidden,
.v357-header-new.hidden{
  display:none !important;
}


/* ===== BAI V3.6.1 REAL NEW BADGE FIX ===== */
.v361-real-new{
  align-self:center;
  min-width:38px;
  height:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 8px;
  border-radius:999px;
  background:#ef4237;
  color:#fff;
  font-size:7px;
  font-weight:950;
  letter-spacing:.8px;
  box-shadow:0 0 0 3px rgba(239,66,55,.15);
  z-index:4;
}
.v361-real-new.hidden{
  display:none !important;
}
.v361-has-new .v35-chat-pill{
  border:2px solid #ef4237 !important;
  box-shadow:0 0 0 5px rgba(239,66,55,.14),0 15px 40px rgba(0,0,0,.28) !important;
}
.v361-has-new .v35-chat-icon{
  animation:v361pulse .9s ease-in-out infinite;
}
@keyframes v361pulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.12)}
}

/* ===== BAI V3.7 IDENTITY + CHAT ROOT FIX ===== */
.v361-has-new .v35-chat-pill{
  border:2px solid #ef4237 !important;
  box-shadow:0 0 0 5px rgba(239,66,55,.14),0 15px 40px rgba(0,0,0,.28) !important;
}
.v361-has-new .v35-chat-icon{
  animation:v370UnreadPulse .9s ease-in-out infinite !important;
}
@keyframes v370UnreadPulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.12)}
}
.v361-real-new:not(.hidden){
  display:inline-flex !important;
}

/* ===== BAI V3.8 PRODUCTION RIDE OPERATIONS ===== */
.v38-trip-actions{display:grid;grid-template-columns:auto 1fr 1fr;gap:7px;margin-top:9px}
.v38-support-btn,.v38-noshow{min-height:42px;border-radius:12px;border:1px solid #d8e2e8;background:#fff;color:#0b4762;font-size:8px;font-weight:950;letter-spacing:.4px;padding:0 10px}
.v38-support-btn.dark{background:#0b2a47;color:#fff;border-color:#1b405e}
.v38-noshow{background:#fff2df;color:#8b4d00;border-color:#f5cea0}
.v38-noshow:disabled{opacity:.5}
.v38-availability{display:inline-flex;padding:3px 6px;border-radius:999px;font-size:7px;font-weight:950}.v38-availability.available{background:#dff7ea;color:#15794b}.v38-availability.busy{background:#fff0cc;color:#9a6500}.v38-availability.offline{background:#e7edf1;color:#687a88}
.v38-driver-actions{display:grid;grid-template-columns:auto auto 1fr 1fr;gap:6px;margin-top:9px}
.v38-support-trip{padding:10px;border-radius:12px;background:#eef4f7;margin-bottom:8px}.v38-support-trip small,.v38-support-trip strong{display:block}.v38-support-trip small{font-size:7px;color:#71828e}.v38-support-trip strong{margin-top:3px;font-size:9px;color:#071d37}
.v38-support-message{width:100%;min-height:90px;resize:vertical;margin:9px 0;padding:10px;border:1px solid #d7e1e7;border-radius:12px;background:#f8fafb;color:#071d37;font:inherit;font-size:9px}
.v38-support-categories button.selected{border-color:#ffb000;background:#fff7df}
.v38-cancel-summary{margin-top:9px;padding:9px;border-radius:11px;background:#fff0e9;color:#8b4c36;font-size:8px}
.v38-live-trips,.v38-support-list{display:grid;gap:8px}.v38-live-trip,.v38-support-item{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:center;padding:10px;border-radius:13px;background:#f3f7f9;border:1px solid #dfe8ed}.v38-live-trip strong,.v38-live-trip span,.v38-live-trip small,.v38-support-item strong,.v38-support-item span,.v38-support-item small{display:block}.v38-live-trip strong,.v38-support-item strong{font-size:9px}.v38-live-trip span,.v38-support-item span{margin-top:2px;font-size:8px;color:#536b7c}.v38-live-trip small,.v38-support-item small{margin-top:2px;font-size:7px;color:#7b8d99}.v38-live-trip>div:last-child{text-align:right}.v38-live-trip b{display:block;font-size:10px}.v38-live-trip em{display:inline-block;margin-top:4px;padding:3px 5px;border-radius:999px;background:#ffe2df;color:#a33d34;font-style:normal;font-size:6px;font-weight:950}
.v38-support-item>div:last-child{display:flex;gap:5px}.v38-support-item button{border:0;border-radius:8px;padding:7px 8px;background:#0b2a47;color:#fff;font-size:7px;font-weight:900}.v38-support-item button:last-child{background:#ffb000;color:#071d37}
@media(max-width:600px){.v38-driver-actions{grid-template-columns:1fr 1fr}.v38-trip-actions{grid-template-columns:1fr 1fr}.v38-support-btn{grid-column:1/-1}}

/* BAI V3.8.4 — custom install banner icon */
#baiInstallIcon img,.bai-install-icon img{
  width:100%;height:100%;display:block;object-fit:cover;border-radius:9px;
}

.bai-install-mark img{width:100%;height:100%;object-fit:cover;border-radius:8px;display:block}

/* ===== BAI V3.9 EXPLORE CURAÇAO ===== */
.v39-explore-bar{position:relative;z-index:25;margin:-7px 10px 8px;padding:10px;border-radius:18px;background:rgba(255,255,255,.97);border:1px solid rgba(7,29,55,.09);box-shadow:0 10px 28px rgba(7,29,55,.10)}
.v39-explore-head{display:flex;align-items:center;justify-content:space-between}.v39-explore-head small,.v39-explore-head strong{display:block}.v39-explore-head small{font-size:6.5px;letter-spacing:1px;color:#8a6a20}.v39-explore-head strong{font-size:13px;color:#071d37}.v39-explore-head button{width:29px;height:29px;border:0;border-radius:50%;background:#eef3f6;color:#071d37;font-size:15px}
.v39-explore-cats{display:flex;gap:6px;overflow-x:auto;padding:9px 0 5px}.v39-explore-cats button{flex:0 0 auto;border:1px solid #dbe4e9;border-radius:999px;background:#fff;padding:7px 9px;color:#526b7b;font-size:7.5px;font-weight:850}.v39-explore-cats button.active{background:#071f3b;color:#fff;border-color:#071f3b}
.v39-place-strip{display:flex;gap:7px;overflow-x:auto;padding:3px 0 1px}.v39-place-chip{flex:0 0 auto;min-width:145px;display:grid;grid-template-columns:32px 1fr;gap:7px;align-items:center;border:1px solid #dce5ea;border-radius:13px;background:#f8fafb;padding:8px;text-align:left}.v39-place-chip>span{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#071f3b;font-size:15px}.v39-place-chip b,.v39-place-chip small{display:block}.v39-place-chip b{font-size:8.5px;color:#071d37}.v39-place-chip small{margin-top:2px;font-size:6.2px;color:#8a6a20}.v39-loading{font-size:8px;color:#7d8e99;padding:8px}
.v39-map-place{width:34px;height:34px;border:3px solid #fff;border-radius:50% 50% 50% 8px;transform:rotate(-45deg);display:grid;place-items:center;background:#071f3b;box-shadow:0 6px 16px rgba(0,0,0,.24)}.v39-map-place span{transform:rotate(45deg);font-size:14px}.v39-map-place.featured{background:#d99b19}
.v39-place-drawer{position:fixed;inset:0;z-index:2100;display:flex;align-items:flex-end;justify-content:center;padding:12px;background:rgba(2,12,24,.36);backdrop-filter:blur(4px)}
.v39-place-card{position:relative;width:min(100%,520px);max-height:84dvh;overflow:auto;border-radius:24px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.34)}.v39-place-close{position:absolute;top:10px;right:10px;z-index:4;width:34px;height:34px;border:0;border-radius:50%;background:rgba(7,31,59,.88);color:#fff;font-size:19px}
.v39-gallery{display:flex;gap:5px;overflow-x:auto;scroll-snap-type:x mandatory;min-height:235px;background:#071f3b}.v39-gallery img{width:100%;min-width:100%;height:235px;object-fit:cover;scroll-snap-align:start}.v39-gallery-empty,.v39-gallery-fallback{min-width:100%;height:235px;display:grid;place-items:center;align-content:center;gap:5px;color:#c8d4dd;background:linear-gradient(145deg,#071f3b,#123654)}.v39-gallery-fallback span{font-size:32px}.v39-gallery-fallback strong{font-size:15px;color:#fff}.v39-gallery-fallback small{font-size:8px}
.v39-place-body{padding:14px}.v39-place-title-row{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.v39-place-title-row small{font-size:6.5px;letter-spacing:1px;color:#9a741c}.v39-place-title-row h3{margin:2px 0 0;font-size:19px;color:#071d37}.v39-featured{flex:0 0 auto;padding:5px 7px;border-radius:999px;background:#fff1bf;color:#7d5a00;font-size:6.5px;font-weight:950}.v39-place-body>p{font-size:9px;line-height:1.55;color:#526a79}.v39-tags{display:flex;gap:5px;flex-wrap:wrap;margin:9px 0}.v39-tags span{padding:5px 7px;border-radius:999px;background:#edf3f6;color:#385369;font-size:7px;font-weight:750}.v39-practical{padding:8px 9px;border-radius:10px;background:#fff8e7;color:#7a5c17!important}.v39-place-actions{display:grid;margin-top:11px}
.v39-admin-place-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}.v39-admin-place-form label{display:grid;gap:4px;font-size:7px;color:#71838f}.v39-admin-place-form input,.v39-admin-place-form select,.v39-admin-place-form textarea{width:100%;border:1px solid #d8e2e8;border-radius:9px;padding:8px;background:#f8fafb;color:#071d37;font:inherit;font-size:8px}.v39-admin-place-form textarea{min-height:72px;resize:vertical}.v39-admin-place-form .wide{grid-column:1/-1}.v39-admin-place-form .check{display:flex;align-items:center;gap:6px}.v39-admin-place-form .check input{width:auto}.v39-admin-place-actions{display:flex;gap:7px}
.v39-admin-place-list{display:grid;gap:7px}.v39-admin-place-item{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:9px;border-radius:12px;background:#f2f6f8;border:1px solid #dfe8ed}.v39-admin-place-item strong,.v39-admin-place-item span,.v39-admin-place-item small{display:block}.v39-admin-place-item strong{font-size:9px}.v39-admin-place-item span{font-size:6.5px;color:#8a6a20}.v39-admin-place-item small{font-size:7px;color:#748693;margin-top:2px}.v39-admin-place-item>div:last-child{display:flex;gap:5px}.v39-admin-place-item button{border:0;border-radius:8px;padding:7px;background:#0b2a47;color:#fff;font-size:6.5px;font-weight:900}
@media(max-width:600px){.v39-explore-bar{margin:-5px 8px 7px}.v39-gallery,.v39-gallery img,.v39-gallery-empty,.v39-gallery-fallback{height:220px;min-height:220px}.v39-admin-place-form{grid-template-columns:1fr}.v39-admin-place-form .wide{grid-column:auto}}

/* ===== BAI V3.9.6 SECURITY HARDENING ===== */
.v396-secure-badge{
  display:inline-flex;
  align-items:center;
  padding:5px 7px;
  border-radius:999px;
  background:#e4f6ec;
  color:#19734b;
  font-size:6.5px;
  font-weight:950;
  letter-spacing:.7px;
}

/* ===== BAI V4.0 RIDE UX POLISH ===== */
.v40-ride-state,.v40-driver-state{
  display:grid;
  grid-template-columns:48px 1fr;
  gap:10px;
  align-items:center;
  margin:10px 0 8px;
  padding:11px;
  border-radius:16px;
  background:linear-gradient(135deg,#071f3b,#103652);
  color:#fff;
  box-shadow:0 10px 28px rgba(7,31,59,.16);
}
.v40-ride-state.arrived,.v40-driver-state.arrived{
  background:linear-gradient(135deg,#d99b19,#f0ba43);
  color:#071f3b;
}
.v40-ride-state.in_progress,.v40-driver-state.in_progress{
  background:linear-gradient(135deg,#0d5f45,#168965);
}
.v40-ride-state.completed,.v40-driver-state.completed{
  background:linear-gradient(135deg,#0d5f45,#1d9b73);
}
.v40-ride-state.cancelled{
  background:linear-gradient(135deg,#66352f,#934b42);
}
.v40-state-icon{
  width:48px;height:48px;border-radius:15px;
  display:grid;place-items:center;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.18);
  font-size:22px;
}
.v40-state-copy small,.v40-state-copy strong,.v40-state-copy span{display:block}
.v40-state-copy small{font-size:6.3px;letter-spacing:1.1px;font-weight:950;opacity:.75}
.v40-state-copy strong{margin-top:2px;font-size:14px;line-height:1.1}
.v40-state-copy span{margin-top:4px;font-size:7.5px;line-height:1.4;opacity:.84}

.v40-progress{
  display:grid;
  grid-template-columns:auto 1fr auto 1fr auto 1fr auto 1fr auto;
  align-items:center;
  gap:4px;
  margin:4px 2px 10px;
}
.v40-progress.driver{grid-template-columns:auto 1fr auto 1fr auto 1fr auto}
.v40-progress>i{height:2px;background:#dce4e9;border-radius:99px}
.v40-progress-step{display:grid;justify-items:center;gap:3px;min-width:34px;color:#9aa8b2}
.v40-progress-step span{
  width:21px;height:21px;border-radius:50%;
  display:grid;place-items:center;
  background:#e9eef1;color:#81909a;
  font-size:7px;font-weight:950;
  border:2px solid #f7f9fb;
}
.v40-progress-step small{font-size:5.8px;font-weight:900}
.v40-progress-step.done span{background:#0f8060;color:#fff}
.v40-progress-step.active span{background:#ffc21c;color:#071f3b;box-shadow:0 0 0 4px rgba(255,194,28,.16)}
.v40-progress-step.done,.v40-progress-step.active{color:#536875}

.v40-driver-trust{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px}
.v40-driver-trust span,.v40-rider-trust{
  display:inline-flex;
  width:max-content;
  padding:3px 5px;
  border-radius:999px;
  background:#e8f7ef;
  color:#13704a;
  font-size:5.8px;
  font-weight:950;
  letter-spacing:.5px;
}
.v40-driver-trust span:last-child{background:#edf2f5;color:#4e6575}
.v40-rider-trust{margin-top:4px;background:rgba(255,194,28,.14);color:#9a6a00}

.v40-receipt-head{
  padding:14px;
  border-radius:17px;
  background:linear-gradient(135deg,#071f3b,#123d5e);
  color:#fff;
}
.v40-receipt-head h3{color:#fff!important}
.v40-receipt-head p{margin:4px 0 0;font-size:7.5px;color:#c7d5df}
.v40-receipt-head>span{
  width:42px;height:42px;border-radius:50%;
  display:grid;place-items:center;
  background:#ffc21c;color:#071f3b;font-size:20px;font-weight:950;
}
.v40-driver-complete-copy{font-size:8px;color:#738490;line-height:1.45;margin-top:-3px}

@media(max-width:600px){
  .v40-ride-state,.v40-driver-state{grid-template-columns:43px 1fr}
  .v40-state-icon{width:43px;height:43px;font-size:19px}
  .v40-progress{gap:2px}
  .v40-progress-step{min-width:29px}
  .v40-progress-step small{font-size:5.2px}
}

/* ===== BAI V4.0.1 EXPLORE GALLERIES ===== */
.v401-gallery-wrap{position:relative;background:#071f3b}
.v401-photo-counter{
  position:absolute;
  right:12px;
  bottom:12px;
  z-index:6;
  padding:5px 8px;
  border-radius:999px;
  background:rgba(4,20,38,.78);
  color:#fff;
  font-size:7px;
  font-weight:900;
  backdrop-filter:blur(8px);
  pointer-events:none;
}
.v401-photo-dots{
  position:absolute;
  left:50%;
  bottom:13px;
  z-index:6;
  transform:translateX(-50%);
  display:flex;
  gap:5px;
  align-items:center;
}
.v401-photo-dots button{
  width:6px;
  height:6px;
  min-width:6px;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.52);
  box-shadow:0 1px 4px rgba(0,0,0,.3);
}
.v401-photo-dots button.active{
  width:16px;
  border-radius:999px;
  background:#ffc21c;
}
.v39-gallery{
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.v39-gallery::-webkit-scrollbar{display:none}
.v39-gallery img{user-select:none;-webkit-user-drag:none}

/* ===== BAI V4.0.2 EXPLORE POLISH ===== */

/* Exact one-screen snapping: no gap math between slides. */
.v39-gallery{
  gap:0 !important;
  scroll-snap-type:x mandatory !important;
  scroll-behavior:smooth;
  overscroll-behavior-x:contain;
  touch-action:pan-x pinch-zoom;
}
.v39-gallery img{
  flex:0 0 100% !important;
  width:100% !important;
  min-width:100% !important;
  scroll-snap-align:start !important;
  scroll-snap-stop:always;
  contain:paint;
  background:#071f3b;
}

/* Indicators stay readable without sitting directly over the photo subject. */
.v401-photo-counter{
  bottom:10px !important;
  right:10px !important;
}
.v401-photo-dots{
  bottom:11px !important;
}
.v401-photo-dots button{
  transition:width .14s ease,background .14s ease;
}

/* Old marker CSS can no longer visually leak into the native WebGL POI system. */
.v391-map-blip,.v392-map-anchor,.v392-map-blip{display:none!important}

/* ===== BAI V4.0.9 ACTIVE BRAND + STARTUP SHELL ===== */

:root{
  --bai-system-bg:#071f3b;
}

/* One authoritative outer canvas. */
html,
body,
.pp66-body,
.v23-home-body,
.v34-home-body,
.v2-auth-body,
.v2-admin-body{
  background:#071f3b !important;
}

/* Home image is available on first paint; no JS assignment required. */
.pp66-bg-ready{
  background-image:
    linear-gradient(
      180deg,
      rgba(234,244,252,.10),
      rgba(255,255,255,.00) 43%,
      rgba(5,24,48,.08) 64%,
      rgba(5,24,48,.74) 100%
    ),
    url('assets/home_background_optimized.webp') !important;
}

/* Home shell itself remains BAI navy underneath the hero. */
.pp66-home{
  background:#071f3b !important;
}

/* Dark premium auth surface on the same navy system canvas. */
body:has(.v2-auth){
  background:#071f3b !important;
}
.v2-auth{
  background:rgba(8,35,66,.92) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow:0 26px 70px rgba(0,0,0,.30) !important;
  backdrop-filter:blur(14px);
}
.v2-auth input{
  background:rgba(7,29,56,.72) !important;
  border-color:rgba(255,255,255,.13) !important;
  color:#fff !important;
}
.v2-auth input::placeholder{
  color:#c2cfda !important;
}

/* Mobile home has no accidental shell border/cap. */
@media(max-width:699px){
  .pp66-home{
    border:0 !important;
    outline:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
  }
  .pp66-bg{
    top:-2px !important;
    bottom:-2px !important;
  }
}

/* Installed PWA and desktop margins use the same BAI navy. */
@media(display-mode:standalone){
  html,body{background:#071f3b !important}
}
@media(min-width:700px){
  html,body,.pp66-body,.v2-auth-body{background:#071f3b !important}
}

/* Current Explore POIs are WebGL symbols; all historical DOM blips stay retired. */
.v391-map-blip,
.v392-map-anchor,
.v392-map-blip,
.v39-map-place{
  display:none !important;
  pointer-events:none !important;
}


/* ===== BAI V4.0.9.1 UNIFORM PROVIDED LOGO ===== */
.bai-uniform-logo{
  display:block;
  object-fit:contain;
  object-position:left center;
}
.bai-home-logo-img{
  width:118px;
  height:auto;
  max-height:76px;
}
.bai-auth-logo-img{
  width:82px;
  height:auto;
  max-height:48px;
}
.bai-auth-logo{
  min-height:44px;
}
@media(max-height:760px){
  .bai-home-logo-img{width:104px}
}


/* ===== BAI V4.1.0 SEAMLESS SESSION RESTORE ===== */
body.auth-pending{
  background:#071f3b !important;
}
body.auth-pending #authGate,
body.auth-pending #appRoot{
  visibility:hidden !important;
  pointer-events:none !important;
}
body.auth-pending::before{
  content:"";
  position:fixed;
  z-index:99998;
  inset:0;
  background:#071f3b;
}
body.auth-pending::after{
  content:"";
  position:fixed;
  z-index:99999;
  left:50%;
  top:50%;
  width:92px;
  height:58px;
  transform:translate(-50%,-50%);
  background:url('assets/bai-logo-wordmark.png?v=4091') center/contain no-repeat;
  opacity:.96;
}


/* ===== BAI V4.1.1 iOS IN-APP BROWSER LOCATION FALLBACK ===== */
.bai-ios-browser-modal{
  position:fixed;
  inset:0;
  z-index:100000;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(2,11,42,.78);
  backdrop-filter:blur(10px);
}
.bai-ios-browser-modal.hidden{display:none!important}

.bai-ios-browser-card{
  position:relative;
  width:min(100%,390px);
  border-radius:28px;
  padding:28px 22px 20px;
  background:#071f3b;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 24px 80px rgba(0,0,0,.38);
  color:#fff;
  text-align:center;
}
.bai-ios-browser-logo img{
  width:84px;
  height:auto;
  object-fit:contain;
}
.bai-ios-browser-icon{
  margin:18px auto 8px;
  font-size:38px;
  line-height:1;
}
.bai-ios-browser-card h2{
  margin:8px 0 10px;
  font-size:24px;
  line-height:1.1;
}
.bai-ios-browser-card p{
  margin:0 auto 20px;
  max-width:320px;
  color:#c9d6e2;
  font-size:14px;
  line-height:1.5;
}
.bai-ios-primary,
.bai-ios-secondary{
  width:100%;
  min-height:52px;
  border:0;
  border-radius:16px;
  font-weight:800;
  letter-spacing:.03em;
}
.bai-ios-primary{
  background:#ffb700;
  color:#071f3b;
}
.bai-ios-secondary{
  margin-top:10px;
  background:rgba(255,255,255,.08);
  color:#fff;
  border:1px solid rgba(255,255,255,.12);
}
.bai-ios-close{
  position:absolute;
  top:12px;
  right:14px;
  width:36px;
  height:36px;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:22px;
}


/* ===== BAI V4.1.4 DRIVER NON-BLOCKING BOOT ===== */
/* Driver must never be trapped behind a CSS-generated session splash. */
body.driver-page.auth-pending::before,
body.driver-page.auth-pending::after{
  content:none !important;
  display:none !important;
}
body.driver-page.auth-pending #authGate,
body.driver-page.auth-pending #appRoot{
  visibility:visible !important;
  pointer-events:auto !important;
}


/* ===== BAI V4.1.5 PASSENGER GPS STATUS ===== */
#gpsState{
  font-weight:800;
  white-space:nowrap;
}
#gpsState.gps-on{
  color:#18b86b !important;
}
#gpsState.gps-error{
  color:#e44b4b !important;
}

/* ===== BAI V4.2.0 EXPLORE V2 ===== */
.v42-place-facts{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.v42-place-facts span{display:inline-flex;align-items:center;min-height:30px;padding:6px 10px;border-radius:999px;background:#f2f5f7;color:#071f3b;font-size:11px;font-weight:800}
.v42-ride-preview{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0;padding:13px 14px;border-radius:16px;background:#071f3b;color:#fff}
.v42-ride-preview.hidden{display:none!important}
.v42-ride-preview div{display:flex;flex-direction:column;gap:2px}
.v42-ride-preview small{font-size:9px;letter-spacing:.09em;color:#9fb2c5;font-weight:800}
.v42-ride-preview strong{font-size:20px;color:#ffb700}
.v42-ride-preview>span{font-size:11px;color:#d3dee8;font-weight:700;text-align:right}
.v39-explore-cats{scrollbar-width:none}
.v39-explore-cats::-webkit-scrollbar{display:none}

/* ===== BAI V4.2.1 CURAÇAO GUIDE LAYER ===== */
.v421-guide-layer{display:grid;gap:9px;margin:12px 0}
.v421-guide-block{padding:12px 13px;border-radius:15px;background:#f5f7f8;border:1px solid #e7ecef}
.v421-guide-block.hidden{display:none!important}
.v421-guide-block b{display:block;margin-bottom:5px;color:#071f3b;font-size:10px;letter-spacing:.055em}
.v421-guide-block p{margin:0;color:#35495a;font-size:12px;line-height:1.48}

/* ===== BAI V4.3.0 DISCOVERY ENGINE ===== */
.v43-explore-tools{display:flex;gap:8px;overflow-x:auto;padding:8px 0 2px;scrollbar-width:none}
.v43-explore-tools::-webkit-scrollbar{display:none}
.v43-tool{flex:0 0 auto;border:1px solid #dfe6eb;background:#fff;color:#071f3b;border-radius:999px;padding:8px 11px;font-size:11px;font-weight:800}
.v43-tool.primary{background:#071f3b;color:#fff;border-color:#071f3b}
.v43-place-social{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}
.v43-social-btn{min-height:42px;border-radius:13px;border:1px solid #dfe6eb;background:#fff;color:#071f3b;font-weight:900;font-size:11px}
.v43-social-btn.active{background:#071f3b;color:#ffb700;border-color:#071f3b}
.v43-nearby-wrap{margin:14px 0}
.v43-nearby-wrap.hidden{display:none!important}
.v43-section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:7px}
.v43-section-head div{display:flex;flex-direction:column}
.v43-section-head small{font-size:9px;color:#7a8a98;letter-spacing:.07em}
.v43-section-head strong{font-size:16px;color:#071f3b}
.v43-nearby-list{display:grid;gap:7px}
.v43-nearby-card,.v43-collection-card,.v43-collection-place,.v43-day-stop{width:100%;border:1px solid #e5eaee;background:#fff;border-radius:14px;display:flex;align-items:center;gap:10px;text-align:left;padding:10px 11px;color:#071f3b}
.v43-nearby-card>span,.v43-collection-card>span,.v43-collection-place>span{font-size:22px}
.v43-nearby-card div,.v43-collection-card div,.v43-collection-place div{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px}
.v43-nearby-card b,.v43-collection-card b,.v43-collection-place b{font-size:12px}
.v43-nearby-card small,.v43-collection-card small,.v43-collection-place small{font-size:10px;color:#7c8b98;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v43-nearby-card em,.v43-collection-card em{font-style:normal;font-size:20px}
.v43-modal-card{max-height:min(82vh,720px);overflow:auto}
.v43-collection-body{display:grid;gap:8px}
.v43-day-intro{font-size:12px;line-height:1.45;color:#657786}
.v43-day-vibes{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}
.v43-day-vibes button{min-height:46px;border:1px solid #dde5ea;border-radius:13px;background:#fff;color:#071f3b;font-weight:800}
.v43-day-results{display:grid;gap:8px}
.v43-day-stop>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#071f3b;color:#ffb700;font-weight:900}
.v43-day-stop>div{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px}
.v43-day-stop small{font-size:9px;color:#7c8b98;font-weight:800}
.v43-day-stop b{font-size:13px}
.v43-day-stop em{font-style:normal;font-size:10px;color:#6c7c89;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v43-day-stop>strong{font-size:20px}


/* V4.3.1 — Public Explore entry point */
.pp66-cta.pp66-explore{
  background:linear-gradient(135deg,#ffffff 0%,#f8fbfd 100%);
  color:#071f3b;
  border:1px solid rgba(255,255,255,.7);
  box-shadow:0 12px 28px rgba(0,0,0,.12);
}
.pp66-explore-icon{
  width:38px;height:38px;display:grid;place-items:center;border-radius:50%;
  background:#ffc21c;color:#071f3b;font-size:20px;font-weight:900;flex:0 0 auto;
}
.pp66-explore-copy{display:flex;flex-direction:column;align-items:flex-start;gap:2px;flex:1}
.pp66-explore-copy small{font-size:9px;letter-spacing:.13em;font-weight:900;opacity:.62}
.pp66-explore-copy strong{font-size:15px}


/* BAI V4.3.3 — Explore destination lock + icon-only minimized chat */
.v2-route-row.v433-explore-destination{
  position:relative;
  background:linear-gradient(90deg,rgba(255,194,28,.10),rgba(255,255,255,0));
}
.v2-route-row.v433-explore-destination::after{
  content:'EXPLORE PICK';
  position:absolute;
  right:10px;
  top:8px;
  padding:4px 7px;
  border-radius:999px;
  background:#ffc21c;
  color:#071f3b;
  font-size:7px;
  line-height:1;
  font-weight:950;
  letter-spacing:.08em;
}
.v35-chat-fab.v433-icon-only{
  left:auto!important;
  right:16px!important;
  width:58px!important;
  bottom:max(18px,env(safe-area-inset-bottom))!important;
}
.v35-chat-fab.v433-icon-only .v35-chat-pill{
  width:58px!important;
  min-width:58px!important;
  height:58px!important;
  min-height:58px!important;
  padding:0!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
}
.v35-chat-fab.v433-icon-only .v35-chat-copy,
.v35-chat-fab.v433-icon-only .v361-real-new{
  display:none!important;
}
.v35-chat-fab.v433-icon-only .v35-chat-icon{
  margin:0!important;
  width:40px!important;
  height:40px!important;
  display:grid!important;
  place-items:center!important;
  font-size:21px!important;
}
.v35-chat-fab.v433-icon-only .v35-unread{
  position:absolute!important;
  right:-3px!important;
  top:-3px!important;
}
.v35-chat-fab.v433-icon-only .v355-chat-pin{
  right:2px!important;
  top:2px!important;
}

/* BAI V4.4 — Ride verification PIN */
.v44-pin-card{margin-top:12px;padding:14px 16px;border-radius:16px;background:#071f3b;color:#fff;display:grid;gap:5px;border:1px solid rgba(255,194,28,.35)}.v44-pin-card small{font-size:10px;letter-spacing:.12em;font-weight:900;color:#ffc21c}.v44-pin-card strong{font-size:30px;letter-spacing:.22em;line-height:1.1}.v44-pin-card span{font-size:12px;line-height:1.4;color:rgba(255,255,255,.75)}.v44-pin-verify{margin:12px 0;padding:14px;border-radius:16px;background:#fff9e8;border:1px solid rgba(255,194,28,.55);display:grid;gap:7px;color:#071f3b}.v44-pin-verify small{font-size:10px;letter-spacing:.12em;font-weight:900}.v44-pin-verify strong{font-size:15px}.v44-pin-row{display:grid;grid-template-columns:1fr auto;gap:8px}.v44-pin-row input{min-width:0;border:1px solid rgba(7,31,59,.18);border-radius:12px;padding:12px 14px;font-size:22px;font-weight:900;letter-spacing:.25em;text-align:center;color:#071f3b;background:#fff}.v44-pin-row button{border:0;border-radius:12px;background:#071f3b;color:#fff;font-weight:950;padding:0 16px}.v44-pin-verify>span{font-size:11px;color:#6b7887}


/* ===== BAI V4.4.2 CHAT STARTS MINIMIZED + PRECISE ICON CENTER ===== */
.v35-chat-icon svg{
  width:20px;
  height:20px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.v35-chat-fab.v433-icon-only{
  left:auto!important;
  right:16px!important;
  width:58px!important;
  height:58px!important;
  bottom:max(18px,env(safe-area-inset-bottom))!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.v35-chat-fab.v433-icon-only.hidden{
  display:none!important;
}
.v35-chat-fab.v433-icon-only .v35-chat-pill{
  position:relative!important;
  width:58px!important;
  min-width:58px!important;
  height:58px!important;
  min-height:58px!important;
  padding:0!important;
  margin:0!important;
  border-radius:50%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  grid-template-columns:none!important;
  gap:0!important;
  background:#071f3b!important;
  border:1px solid rgba(255,255,255,.12)!important;
  box-shadow:0 12px 30px rgba(7,31,59,.28)!important;
  overflow:visible!important;
}
.v35-chat-fab.v433-icon-only .v35-chat-copy,
.v35-chat-fab.v433-icon-only .v361-real-new{
  display:none!important;
}
.v35-chat-fab.v433-icon-only .v35-chat-icon{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  width:26px!important;
  height:26px!important;
  margin:0!important;
  padding:0!important;
  border-radius:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:transparent!important;
  color:#ffc21c!important;
  line-height:1!important;
}
.v35-chat-fab.v433-icon-only .v35-chat-icon svg{
  width:24px!important;
  height:24px!important;
}
.v35-chat-fab.v433-icon-only .v35-unread{
  position:absolute!important;
  right:-4px!important;
  top:-4px!important;
  z-index:3!important;
}
.v35-chat-fab.v433-icon-only .v355-chat-pin{
  position:absolute!important;
  right:2px!important;
  top:2px!important;
  z-index:3!important;
}


/* ===== BAI V4.5 DESTINATION SEARCH ENGINE ===== */
.v45-search-wrap{position:relative;overflow:visible!important}
.v45-search-wrap>input{min-height:34px;padding-right:38px!important;font-size:13px!important}
.v45-search-wrap>#searchDestination{position:absolute;right:0;top:50%;transform:translateY(-50%);display:grid;place-items:center;font-size:17px;font-weight:900;color:#071f3b;z-index:2}
.v45-search-results{position:absolute;left:-8px;right:-8px;top:calc(100% + 8px);z-index:1500;max-height:min(52vh,390px);overflow-y:auto;background:#fff;border:1px solid rgba(7,31,59,.11);border-radius:17px;box-shadow:0 22px 55px rgba(7,31,59,.18);padding:7px;overscroll-behavior:contain}
.v45-search-caption{padding:7px 9px 5px;font-size:8px;font-weight:950;letter-spacing:.12em;color:#82909c;text-transform:uppercase}
.v45-search-result{width:100%;min-height:55px;border:0;background:transparent;border-radius:12px;display:grid;grid-template-columns:34px 1fr 14px;align-items:center;gap:9px;padding:7px 8px;text-align:left;color:#071f3b}
.v45-search-result:hover,.v45-search-result.active{background:#f2f6f8}
.v45-search-result-icon{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#eef3f6;font-size:16px}
.v45-search-result b,.v45-search-result small{display:block}.v45-search-result b{font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v45-search-result small{margin-top:3px;color:#7b8995;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v45-search-result em{font-size:17px;color:#a8b1b8;font-style:normal}.v45-search-empty{padding:18px 12px;text-align:center;color:#7b8995;font-size:9px}
.v2-route-card,.v2-route-row,.v2-route-row .grow{overflow:visible!important}
@media(max-width:430px){.v45-search-results{position:fixed;left:12px;right:12px;top:auto;bottom:calc(82px + env(safe-area-inset-bottom));max-height:46vh;border-radius:20px}}


/* ===== BAI V4.5.1 DESTINATION SEARCH RESILIENCE ===== */
.v45-search-loading{
  min-height:64px;
  padding:13px 14px;
  display:flex;
  align-items:center;
  gap:11px;
  color:#071f3b;
}
.v45-search-loading>span{
  width:19px;
  height:19px;
  flex:0 0 19px;
  border:2px solid rgba(7,31,59,.14);
  border-top-color:#ffc21c;
  border-radius:50%;
  animation:v451spin .75s linear infinite;
}
.v45-search-loading b,.v45-search-loading small,
.v45-search-empty b,.v45-search-empty small{display:block}
.v45-search-loading b{font-size:11px}
.v45-search-loading small,.v45-search-empty small{
  margin-top:3px;
  font-size:8px;
  line-height:1.4;
  color:#748391;
}
.v45-search-empty{line-height:1.35}
@keyframes v451spin{to{transform:rotate(360deg)}}


/* ===== BAI V4.5.2 FULL ADDRESS SEARCH ===== */
.v45-search-result>span:nth-child(2){min-width:0}
.v45-search-result b,
.v45-search-result small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.v45-search-result small{max-width:100%}


/* ===== BAI V4.4.2 PORT: SEARCH/EXPLORE TEXT HARDENING ===== */
.v45-search-result>span:nth-child(2){display:block!important;min-width:0!important;opacity:1!important;visibility:visible!important;color:#071f3b!important}
.v45-search-result>span:nth-child(2)>b{display:block!important;color:#071f3b!important;font-size:11.5px!important;line-height:1.25!important;opacity:1!important;visibility:visible!important;min-height:14px}
.v45-search-result>span:nth-child(2)>small{display:block!important;color:#6f7f8c!important;font-size:8px!important;line-height:1.35!important;opacity:1!important;visibility:visible!important;min-height:11px;margin-top:3px!important}
.v39-place-chip>div{display:block!important;min-width:0!important;opacity:1!important;visibility:visible!important}
.v39-place-chip>div>b{display:block!important;color:#071d37!important;opacity:1!important;visibility:visible!important;line-height:1.25!important}
.v39-place-chip>div>small{display:block!important;color:#8a6a20!important;opacity:1!important;visibility:visible!important;line-height:1.3!important}


/* BAI terminal header uniform v4512 */
.v2-app-header{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;column-gap:10px;padding:10px 14px;min-height:68px;height:auto}
.v2-app-header>.v2-menu{justify-self:start}
.bai-terminal-brand{min-width:0;justify-self:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;line-height:1}
.bai-terminal-logo{display:block;width:76px;max-width:100%;height:auto;filter:brightness(0) invert(1)}
.bai-terminal-brand>small{display:block;margin:0;color:#9eb1c3;font-size:8px;font-weight:900;letter-spacing:.16em;white-space:nowrap;text-align:center}
.v2-header-right{justify-self:end;min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:7px}
.v2-header-right>#conn{display:inline-flex;align-items:center;white-space:nowrap;font-size:8px;line-height:1;font-weight:900}
@media(max-width:390px){.v2-app-header{grid-template-columns:44px minmax(0,1fr) auto;column-gap:7px;padding-left:12px;padding-right:12px}.bai-terminal-logo{width:68px}.bai-terminal-brand>small{font-size:7px;letter-spacing:.12em}.v2-header-right{gap:5px}.v2-header-right button{width:34px;height:34px}.v2-header-right>#conn{font-size:7px}}
