/* ArrivoExpress liquid glass layer for the rider and driver apps. Loads last and restyles surfaces only; no layout or behaviour changes.
   Idea: every surface is a pane of frosted glass over a living background. Each pane has four parts:
   a blur of what is behind it, a tint, a bright top edge (the light catching the glass), and a soft long shadow.
   PArAsYtE */
:root{
  --g-blur:26px;--g-sat:185%;
  --g-light:rgba(255,255,255,.62);--g-light-2:rgba(255,255,255,.38);--g-edge:rgba(255,255,255,.78);--g-edge-lo:rgba(255,255,255,.18);
  --g-dark:rgba(12,24,41,.52);--g-dark-2:rgba(12,24,41,.36);--g-dark-edge:rgba(255,255,255,.22);
  --g-shadow:0 18px 50px rgba(8,22,42,.18),0 2px 8px rgba(8,22,42,.08);
  --g-amber:linear-gradient(180deg,#ffd27d 0%,#f7a823 55%,#ee9611 100%);
  --g-spring:cubic-bezier(.22,1.2,.36,1);
}
@property --g-angle{syntax:"<angle>";initial-value:0deg;inherits:false}

/* ---------- Shared primitives ---------- */
.mini-topbar .pill,.pill{
  background:linear-gradient(135deg,rgba(255,255,255,.22),rgba(255,255,255,.06)) ,var(--g-dark)!important;
  backdrop-filter:blur(var(--g-blur)) saturate(var(--g-sat));-webkit-backdrop-filter:blur(var(--g-blur)) saturate(var(--g-sat));
  border:1px solid var(--g-dark-edge)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35),inset 0 -1px 0 rgba(255,255,255,.06),0 10px 30px rgba(6,16,30,.28)!important;
}
.mini-topbar{background:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.pill-btn{transition:transform .25s var(--g-spring),background .2s}
.pill-btn:active{transform:scale(.9)}
.pill-avatar{background:var(--g-amber)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 4px 12px rgba(238,150,17,.45)!important}

/* Primary and secondary buttons */
.primary-cta,.os-accept,.rh-primary,.rc-send,.ib-go{
  background:var(--g-amber)!important;color:#1a1204!important;border:0!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75),inset 0 -2px 0 rgba(176,104,0,.25),0 10px 26px rgba(238,150,17,.38)!important;
  transition:transform .22s var(--g-spring),box-shadow .22s,filter .2s;
}
.primary-cta:hover{filter:brightness(1.04)}
.primary-cta:active,.os-accept:active,.rh-primary:active{transform:scale(.97);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 4px 12px rgba(238,150,17,.3)!important}
.primary-cta:disabled{filter:grayscale(.4) opacity(.6);box-shadow:none!important}
.secondary-cta,.os-decline,.rc-btn{
  background:var(--g-light-2)!important;border:1px solid var(--g-edge-lo)!important;
  backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);
  box-shadow:inset 0 1px 0 var(--g-edge),0 6px 18px rgba(8,22,42,.08)!important;transition:transform .22s var(--g-spring);
}
.secondary-cta:active,.rc-btn:active{transform:scale(.97)}

/* ---------- Rider ---------- */
.rider-app{background:#dfe9f5}
.ride-sheet{
  background:linear-gradient(180deg,rgba(255,255,255,.74),rgba(255,255,255,.58))!important;
  backdrop-filter:blur(34px) saturate(190%);-webkit-backdrop-filter:blur(34px) saturate(190%);
  border:1px solid var(--g-edge)!important;border-bottom:0!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 -18px 60px rgba(8,22,42,.2)!important;
  transition:transform .4s var(--g-spring),max-height .4s var(--g-spring);
}
.ride-sheet:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(120% 60% at 15% -10%,rgba(255,255,255,.55),transparent 55%);mix-blend-mode:soft-light}
.route-card{
  background:rgba(255,255,255,.55)!important;border:1px solid var(--g-edge)!important;border-radius:22px!important;
  box-shadow:inset 0 1px 0 #fff,0 8px 24px rgba(8,22,42,.07)!important;
}
.seg{background:transparent;transition:background .25s,box-shadow .25s,transform .25s var(--g-spring)}
.seg.active{background:rgba(255,255,255,.95)!important;box-shadow:inset 0 1px 0 #fff,0 6px 16px rgba(8,22,42,.16)!important}
.seg:active{transform:scale(.97)}
.vehicle-card{
  background:rgba(255,255,255,.58)!important;border:1px solid var(--g-edge)!important;border-radius:20px!important;
  box-shadow:inset 0 1px 0 #fff,0 6px 20px rgba(8,22,42,.07)!important;transition:transform .25s var(--g-spring),box-shadow .25s;
}
.vehicle-card:active{transform:scale(.985)}
.vehicle-card.selected,.vehicle-card[aria-pressed="true"],.vehicle-card.active{
  border-color:rgba(36,107,253,.55)!important;background:rgba(235,243,255,.75)!important;
  box-shadow:inset 0 1px 0 #fff,0 0 0 3px rgba(36,107,253,.16),0 12px 30px rgba(36,107,253,.16)!important;
}
.trip-card,.settlement-card,.suggest-card,.td-check,.surge-notice{
  background:rgba(255,255,255,.55)!important;border:1px solid var(--g-edge)!important;border-radius:22px!important;
  box-shadow:inset 0 1px 0 #fff,0 8px 24px rgba(8,22,42,.07)!important;
}
.route-metrics{
  background:var(--g-dark)!important;color:#fff!important;border:1px solid var(--g-dark-edge)!important;
  backdrop-filter:blur(var(--g-blur)) saturate(var(--g-sat));-webkit-backdrop-filter:blur(var(--g-blur)) saturate(var(--g-sat));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 10px 28px rgba(6,16,30,.3)!important;border-radius:999px!important;
}
.locate-fab,.map-zoom,.map-zoom button{
  background:var(--g-light)!important;border:1px solid var(--g-edge)!important;
  backdrop-filter:blur(18px) saturate(180%);-webkit-backdrop-filter:blur(18px) saturate(180%);
  box-shadow:inset 0 1px 0 #fff,0 10px 26px rgba(8,22,42,.16)!important;
}

/* Dialogs, chat, history, call, toasts */
.auth-dialog{
  background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,255,255,.7))!important;
  backdrop-filter:blur(36px) saturate(190%);-webkit-backdrop-filter:blur(36px) saturate(190%);
  border:1px solid var(--g-edge)!important;box-shadow:inset 0 1px 0 #fff,0 30px 80px rgba(8,22,42,.35)!important;border-radius:28px!important;
}
.auth-dialog::backdrop,.rider-dialog::backdrop{background:rgba(8,22,42,.35);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.rc-chat{background:linear-gradient(180deg,rgba(244,248,253,.92),rgba(232,240,250,.9))!important;backdrop-filter:blur(30px) saturate(180%);-webkit-backdrop-filter:blur(30px) saturate(180%)}
.rc-head,.rh-head{background:rgba(255,255,255,.6)!important;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border-bottom:1px solid var(--g-edge)!important}
.rc-msg.me{background:linear-gradient(180deg,#3a86ff,#1d5fe0)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 6px 16px rgba(36,107,253,.28)}
.rc-msg.them{background:rgba(255,255,255,.8)!important;border:1px solid var(--g-edge);box-shadow:0 4px 14px rgba(8,22,42,.07)}
.rc-form{background:rgba(255,255,255,.65)!important;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-top:1px solid var(--g-edge)!important}
.rc-call{background:radial-gradient(90% 60% at 50% 25%,rgba(36,107,253,.55),transparent 60%),linear-gradient(180deg,#07111f,#0b1b30)!important}
.rc-avatar{box-shadow:0 0 0 10px rgba(255,255,255,.06),0 0 0 22px rgba(255,255,255,.035),0 20px 50px rgba(36,107,253,.45)}
.rc-call:not(.hidden) .rc-avatar{animation:gPulse 2.4s ease-in-out infinite}
@keyframes gPulse{50%{box-shadow:0 0 0 14px rgba(255,255,255,.08),0 0 0 32px rgba(255,255,255,.04),0 20px 60px rgba(36,107,253,.55)}}
.rh{background:linear-gradient(180deg,rgba(236,243,252,.94),rgba(226,236,248,.94))!important;backdrop-filter:blur(30px) saturate(180%);-webkit-backdrop-filter:blur(30px) saturate(180%)}
.rh-card,.rh-box,.rh-sum>div{background:rgba(255,255,255,.62)!important;border:1px solid var(--g-edge)!important;border-radius:20px!important;box-shadow:inset 0 1px 0 #fff,0 8px 22px rgba(8,22,42,.07)!important}
.toast{background:var(--g-dark)!important;color:#fff!important;border:1px solid var(--g-dark-edge)!important;backdrop-filter:blur(var(--g-blur)) saturate(var(--g-sat));-webkit-backdrop-filter:blur(var(--g-blur)) saturate(var(--g-sat));box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 14px 36px rgba(6,16,30,.35)!important;border-radius:18px!important}
.install-banner{background:var(--g-dark)!important;backdrop-filter:blur(var(--g-blur)) saturate(var(--g-sat));-webkit-backdrop-filter:blur(var(--g-blur)) saturate(var(--g-sat));border:1px solid var(--g-dark-edge);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 14px 40px rgba(6,16,30,.35)!important}

/* ---------- Driver ---------- */
.driver-app{background:#050d18}
.driver-shell{
  background:
    radial-gradient(60% 40% at 85% -5%,rgba(245,166,35,.34),transparent 70%),
    radial-gradient(70% 45% at -10% 18%,rgba(36,107,253,.30),transparent 70%),
    radial-gradient(60% 40% at 60% 105%,rgba(122,76,255,.18),transparent 70%),
    #050d18!important;
}
.driver-app .glass-card,.driver-app .vx-panel,.driver-app .dv-hero{
  background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.05))!important;color:#eaf1fa;
  border:1px solid var(--g-dark-edge)!important;border-radius:26px!important;
  backdrop-filter:blur(30px) saturate(190%)!important;-webkit-backdrop-filter:blur(30px) saturate(190%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.34),inset 0 -1px 0 rgba(255,255,255,.04),0 20px 50px rgba(0,0,0,.35)!important;
}
/* Light cards nested inside the dark glass keep dark text so they stay readable */
.driver-app .verified-card,.driver-app .driver-toggle,.driver-app .job-card,.driver-app .driver-card{color:#10243a}
.driver-app .verified-card strong,.driver-app .driver-toggle strong,.driver-app .job-card strong,.driver-app .driver-card strong{color:#10243a}
.driver-app .verified-card,.driver-app .driver-toggle{border-radius:20px!important;box-shadow:inset 0 1px 0 #fff,0 8px 22px rgba(0,0,0,.18)!important}
.driver-app .driver-toggle{background:rgba(255,255,255,.9)!important}
.driver-app .glass-card>h1,.driver-app .glass-card>h2,.driver-app .glass-card>h3,.driver-app .dv-hero h1,.driver-app .dv-hero h2{color:#fff}
.driver-app .subcopy{color:#9fb1c7}.driver-app .eyebrow{color:#ffcf7a}
.driver-app .secondary-cta,.driver-app .text-btn{color:#eaf1fa;background:rgba(255,255,255,.1)!important;border-color:rgba(255,255,255,.2)!important}
.driver-app input,.driver-app select,.driver-app textarea{background:rgba(255,255,255,.1)!important;color:#fff!important;border:1px solid rgba(255,255,255,.2)!important;box-shadow:inset 0 2px 8px rgba(0,0,0,.25)}
.driver-app input::placeholder{color:#8396ad}
.status-chip{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}

/* Floating glass tab bar */
.dv-tabs{
  left:14px!important;right:14px!important;bottom:calc(12px + var(--safe-bottom))!important;border-radius:28px!important;padding:6px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.2),rgba(255,255,255,.07)),rgba(10,22,38,.78)!important;
  backdrop-filter:blur(34px) saturate(200%)!important;-webkit-backdrop-filter:blur(34px) saturate(200%)!important;
  border:1px solid var(--g-dark-edge)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 18px 44px rgba(0,0,0,.5)!important;
}
.trip-resume{bottom:calc(92px + var(--safe-bottom))!important;border-radius:22px!important;background:var(--g-amber)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 14px 34px rgba(238,150,17,.45)!important}
.dv-tabs button{border-radius:22px!important;transition:background .3s var(--g-spring),color .2s,transform .25s var(--g-spring)}
.dv-tabs button.on{background:linear-gradient(180deg,rgba(255,210,125,.28),rgba(247,168,35,.16))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 6px 18px rgba(247,168,35,.2)}
.dv-tabs button:active{transform:scale(.94)}

/* Offer sheet slides up like a native call-to-action */
.offer-sheet{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:rgba(2,8,16,.45)!important}
.os-card{
  background:linear-gradient(145deg,rgba(255,255,255,.22),rgba(255,255,255,.08)),rgba(10,22,38,.7)!important;color:#fff!important;
  border:1px solid var(--g-dark-edge)!important;border-radius:30px 30px 0 0!important;
  backdrop-filter:blur(36px) saturate(200%);-webkit-backdrop-filter:blur(36px) saturate(200%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 -24px 70px rgba(0,0,0,.55)!important;
  animation:gSheet .45s var(--g-spring);
}
@keyframes gSheet{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
.os-fare{background:linear-gradient(180deg,#fff,#ffd98f);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.os-decline{color:#e6eef8!important}

/* Driver trip screen sits on the map: glass bottom card */
.trip-panel{background:linear-gradient(180deg,rgba(255,255,255,.93),rgba(246,250,255,.88))!important;backdrop-filter:blur(34px) saturate(190%);-webkit-backdrop-filter:blur(34px) saturate(190%);border:1px solid var(--g-edge);box-shadow:inset 0 1px 0 #fff,0 -18px 60px rgba(8,22,42,.28)!important}

/* Shared (tracking only) view: clean read-only pill instead of rider controls */
body.tracking-only #tripButton,body.tracking-only #accountButton{display:none}
body.tracking-only .pill-right{padding:0;min-width:0}
body.tracking-only .pill-right:after{content:"Live";display:inline-flex;align-items:center;gap:6px;padding:10px 16px;color:#fff;font:800 13px/1 Inter,system-ui,sans-serif;letter-spacing:.04em}
body.tracking-only .pill-right:before{content:"";width:9px;height:9px;margin-left:14px;border-radius:50%;background:#2ee59d;box-shadow:0 0 0 0 rgba(46,229,157,.6);animation:gLive 1.8s infinite}
@keyframes gLive{70%{box-shadow:0 0 0 10px rgba(46,229,157,0)}100%{box-shadow:0 0 0 0 rgba(46,229,157,0)}}

@media(prefers-reduced-transparency:reduce){
  .ride-sheet,.auth-dialog,.rc-chat,.rh,.dv-tabs,.os-card,.driver-app .glass-card,.pill,.route-metrics,.toast,.install-banner{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .ride-sheet,.auth-dialog{background:#fff!important}.dv-tabs,.os-card{background:#0b1b30!important}
}
@media(prefers-reduced-motion:reduce){.rc-call:not(.hidden) .rc-avatar,.os-card,body.tracking-only .pill-right:before{animation:none}}

body.trip-open .dv-tabs,body.trip-open .trip-resume{display:none!important}
.trip-panel .rc-btn,.rc-bar .rc-btn{color:#10243a!important;background:rgba(255,255,255,.75)!important}
.trip-panel .rc-btn:active{background:rgba(255,255,255,.95)!important}
.trip-min{background:var(--g-dark)!important;backdrop-filter:blur(var(--g-blur)) saturate(var(--g-sat));-webkit-backdrop-filter:blur(var(--g-blur)) saturate(var(--g-sat));border:1px solid var(--g-dark-edge)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 10px 28px rgba(6,16,30,.3)!important}
.dv-tabs button{color:#d5e1ef!important}.dv-tabs button.on{color:#ffd27d!important}

/* Profile sheet (shared by rider and driver). PArAsYtE */
.pf{position:fixed;inset:0;z-index:2000;display:flex;align-items:flex-end;justify-content:center}
.pf-scrim{position:absolute;inset:0;background:rgba(4,12,22,.5);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.pf-sheet{position:relative;width:min(100%,520px);max-height:92dvh;overflow:auto;padding:10px 18px calc(18px + env(safe-area-inset-bottom));border-radius:28px 28px 0 0;color:#0b1a2b;background:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(28px) saturate(1.6);backdrop-filter:blur(28px) saturate(1.6);border:1px solid rgba(255,255,255,.7);box-shadow:0 -12px 40px rgba(0,0,0,.25);animation:pf-up .26s ease-out}
.pf.pf-out .pf-sheet{transform:translateY(30px);opacity:0;transition:.2s}
@keyframes pf-up{from{transform:translateY(40px);opacity:0}}
.pf-grab{width:40px;height:5px;border-radius:3px;background:rgba(11,26,43,.25);margin:0 auto 8px}
.pf-x{position:absolute;right:14px;top:12px;width:34px;height:34px;border-radius:50%;border:0;background:rgba(11,26,43,.08);font-size:22px;line-height:1;color:#0b1a2b}
.pf-head{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:10px 0 6px}
.pf-avatar{position:relative;width:96px;height:96px;border-radius:50%;border:3px solid #fff;background:linear-gradient(135deg,#0f6fff,#1ec8a5);color:#fff;font-size:34px;font-weight:700;display:grid;place-items:center;padding:0;overflow:visible;box-shadow:0 6px 18px rgba(0,0,0,.2)}
.pf-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:none}
.pf-cam{position:absolute;right:-2px;bottom:-2px;width:30px;height:30px;border-radius:50%;background:#0b1a2b;color:#fff;display:grid;place-items:center;border:2px solid #fff}
.pf-namerow{display:flex;align-items:center;gap:10px}.pf-name{margin:0;font-size:22px}
.pf-edit{border:0;background:none;color:#0f6fff;font-weight:600;font-size:14px}
.pf-sub{margin:0;color:#4a5b6e}.pf-hint{color:#4a5b6e;font-size:12px;display:block;margin-top:6px}
.pf-status{min-height:18px;margin:4px 0;text-align:center;font-size:13px;color:#0b6b52}
.pf-nameform,.pf-emailform{display:flex;gap:8px;width:100%}
.pf-nameform input,.pf-emailform input{flex:1;min-width:0;padding:11px 12px;border-radius:12px;border:1px solid rgba(11,26,43,.18);font-size:16px;background:#fff;color:#0b1a2b}
.pf-save,.pf-secondary{border:0;border-radius:12px;padding:11px 16px;background:#0b1a2b;color:#fff;font-weight:600}
.pf-secondary{width:100%;background:rgba(11,26,43,.08);color:#0b1a2b}
.pf-card{background:rgba(255,255,255,.7);border:1px solid rgba(11,26,43,.08);border-radius:18px;padding:12px 14px;margin:10px 0}
.pf-card h3{margin:0 0 6px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#4a5b6e}
.pf-row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid rgba(11,26,43,.06)}.pf-row:first-of-type{border-top:0}
.pf-k{color:#3d4d60}.pf-v{font-weight:600;text-align:right}
.pf-copy{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.pf-code{font-variant-numeric:tabular-nums;letter-spacing:.06em;user-select:all;-webkit-user-select:all;color:#0b1a2b}
.pf-copybtn{border:1px solid rgba(11,26,43,.22);background:#fff;color:#0b1a2b;border-radius:999px;padding:5px 12px;font-size:13px;font-weight:700;min-height:32px}.pf-copybtn.ok{background:#0b1a2b;color:#fff;border-color:#0b1a2b}
.pf-acts{display:grid;gap:10px;margin-top:12px}
button.pf-out{border:0;background:none;color:#c0392b;font-weight:600;padding:10px}
.pf-bar-img{position:absolute;inset:0;width:100%;height:100%;border-radius:inherit;object-fit:cover}
.has-img>span{visibility:hidden}
#driverAccount.has-img{color:transparent}
.pf-open .install-banner{display:none!important}
#accountButton,#driverAccount{position:relative;overflow:hidden}

/* Driver landing card: padding was missing so text touched the glass edge; sign-in button only when signed out. PArAsYtE */
.driver-app .dv-hero{padding:22px 20px!important;flex-direction:column;align-items:stretch!important}
.dv-hero-actions{display:grid;gap:10px;width:100%}
.dv-hero-actions .secondary-cta,.dv-hero-actions .primary-cta{width:100%!important;padding:0 18px}
body:not(.dv-out) .dv-signin{display:none}

/* The fixed top bar sits below the phone notch/status area, so the driver page must start below it too (it was sliding under the bar when browser chrome collapsed). */
.driver-shell{padding-top:calc(90px + var(--safe-top,env(safe-area-inset-top,0px)))!important}
.pf-status.pf-bad{color:#b42318}
.pf-save[hidden]{display:none}

/* Wallet and savings */
.save-card{margin:12px 0;padding:14px;border-radius:18px;background:rgba(255,255,255,.72);border:1px solid rgba(16,24,40,.08);display:grid;gap:10px}
.save-head{display:flex;justify-content:space-between;align-items:baseline}
.save-wallet{display:flex;gap:10px;align-items:center;font-weight:600}
.save-wallet input{width:20px;height:20px}
.save-promo{display:flex;gap:8px}
.save-promo input{flex:1;min-width:0;padding:12px;border-radius:12px;border:1px solid rgba(16,24,40,.14);font:inherit;text-transform:uppercase}
.save-msg{font-size:.9rem;color:#067647}.save-msg.bad{color:#b42318}
.save-rows{margin:0;display:grid;gap:6px}.save-rows div{display:flex;justify-content:space-between}.save-rows dt,.save-rows dd{margin:0}
.save-minus dd{color:#067647}.save-total{border-top:1px solid rgba(16,24,40,.1);padding-top:6px;font-weight:800}
.wl-top{display:grid;gap:4px}.wl-bal{font-size:2rem;font-weight:800;letter-spacing:-.02em}
.wl-parts{display:flex;gap:12px;font-size:.9rem;opacity:.8;margin:6px 0}
.wl-add,.wl-wd{display:grid;gap:8px;margin:10px 0}.wl-add input,.wl-wd input{padding:12px;border-radius:12px;border:1px solid rgba(16,24,40,.14);font:inherit}
.wl-chips{display:flex;gap:8px}.wl-chip{padding:8px 14px;border-radius:999px;border:1px solid rgba(16,24,40,.14);background:#fff;font:inherit}
.wl-acts{display:grid;gap:8px;margin:12px 0}
.wl-chip-note{font-size:.9rem;padding:8px 12px;border-radius:12px;background:rgba(16,24,40,.05)}.wl-chip-note.open{background:rgba(6,118,71,.12);color:#067647}
.wl-h{margin:18px 0 6px}.wl-list{display:grid;gap:2px}.wl-empty{opacity:.7}
.wl-row{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid rgba(16,24,40,.07)}
.wl-main{display:grid}.wl-main small{opacity:.65}
.wl-amt{font-weight:700;white-space:nowrap}.wl-plus{color:#067647}.wl-minus{color:#b42318}.wl-info{opacity:.6}
.dv-tabs button{min-width:0}

/* Light cards sitting inside the dark driver glass: dark text so nothing looks washed out */
.driver-app .plan,.driver-app .doc-row,.driver-app .kyc-gate,.driver-app .alerts-card,.driver-app .doc-expiry,.driver-app .doc-gate,.driver-app .job-card{color:#10243a}
.driver-app .plan strong,.driver-app .doc-row strong,.driver-app .kyc-gate strong,.driver-app .alerts-card strong,.driver-app .doc-expiry strong{color:#10243a;text-transform:capitalize}
.driver-app .alerts-card strong{text-transform:none}
.driver-app .doc-row small,.driver-app .plan small,.driver-app .alerts-card small{color:#475467!important}
.driver-app .doc-row,.driver-app .alerts-card,.driver-app .plan{background:rgba(255,255,255,.92)!important;border:1px solid rgba(255,255,255,.5)}
.driver-app .wl-add input,.driver-app .wl-wd input,.driver-app .save-promo input{background:#fff;color:#10243a}
.driver-app .wl-chip{color:#10243a}
.driver-app .wl-row{border-bottom-color:rgba(255,255,255,.12)}
.driver-app .wl-chip-note{background:rgba(255,255,255,.1);color:#eaf1fa}.driver-app .wl-chip-note.open{background:rgba(18,183,106,.2);color:#6ce9a6}
.driver-app .wl-plus{color:#6ce9a6}.driver-app .wl-minus{color:#fda29b}
.driver-app .verified-code{display:block}
.arrivo-id{display:block;color:#475467}.arrivo-id b{color:#101828;letter-spacing:.08em}

/* Trip receipt: centred above the tab bar, scrolls on short screens, never tucked under the bar */
.trip-summary{place-items:center!important;z-index:400!important;overflow-y:auto;padding:calc(16px + env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom))!important}
.trip-summary .ts-card{margin:auto;max-height:none}
body.trip-open .dv-tabs{display:none!important}

/* Contrast pass: every light panel inside the dark driver glass gets dark text, every field label on dark glass gets light text */
.driver-app .vx-form label,.driver-app .vx-seg label,.driver-app .driver-form label,.driver-app .vx-panel summary{color:#d5dfec}
.driver-app .vx-panel summary{font-weight:700}
.driver-app .ride-start-card,.driver-app .trip-next{color:#10243a}
.driver-app .ride-start-card strong,.driver-app .trip-next strong{color:#10243a}
.driver-app .ride-start-card small,.driver-app .trip-next small{color:#475467}
.driver-app .alerts-card .secondary-cta,.driver-app .plan button{background:#fff;color:#10243a;border:1px solid #d0d5dd;font-weight:700}
.driver-app .alerts-card .secondary-cta:disabled{color:#667085;background:#f2f4f7}
.route-metrics{background:rgba(255,255,255,.92)!important;color:#101828!important}.route-metrics span{color:#344054!important}
.mini-brand small{color:#e7edf5;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.driver-app .vx-panel summary span,.driver-app .vx-panel summary *{color:inherit!important}
.driver-app .vx-steps li{color:#b9c6d8}
.driver-app .vx-steps li.done{color:#6ce9a6}
.driver-app .vx-steps li.current{color:#fff}
.driver-app .vx-steps li.current i{background:#fff;color:#0b1a2b;box-shadow:0 0 0 4px rgba(255,255,255,.18)}
.driver-app .vx-steps li.paused{color:#fda29b}
.driver-app .vx-steps i{background:rgba(255,255,255,.14);color:#e7edf5}
.driver-app .vx-steps li.done i{background:#12b76a;color:#fff}
.driver-app .doc-expiry input,.driver-app .doc-expiry input::-webkit-datetime-edit{color:#10243a}
.driver-app .doc-expiry input{background:#fff}

/* Finish your account gate */
.ar-gate{max-width:420px}
.ar-gate .ar-id{display:grid;gap:2px;text-align:center;padding:12px;border-radius:16px;background:rgba(16,24,40,.06);margin:10px 0}
.ar-gate .ar-id strong{font-size:1.6rem;letter-spacing:.1em}
.ar-gate .ar-id small{opacity:.7}
.ar-gate .ar-gate-body{margin-top:6px}
.ar-peek{justify-self:end;margin-top:-4px}
.ar-gate::backdrop{background:rgba(5,13,24,.78)}
/* Sign-in dialogs are light glass in both apps: keep their text dark */
.driver-app .auth-dialog .eyebrow,.auth-dialog .eyebrow{color:#93370d}
.driver-app .auth-dialog .subcopy,.auth-dialog .subcopy{color:#475467}
.driver-app .auth-dialog .text-btn,.auth-dialog .text-btn,.auth-dialog .text-button{color:#175cd3;background:transparent}
.driver-app .auth-dialog .form-status,.auth-dialog .form-status{color:#344054}
.driver-app .auth-dialog label,.auth-dialog label{color:#101828}
