/* Shared visual language for the local portal and its embedded sections.
   Keep layout-specific rules in each feature; colors and controls live here. */
html[data-ui-surface] {
  --dv-bg:#f4f6f8; --dv-surface:#ffffff; --dv-soft:#eef2f5;
  --dv-text:#1b2d3b; --dv-muted:#607180; --dv-border:#dce4ea;
  --dv-primary:#087f70; --dv-primary-hover:#08695d; --dv-on-primary:#ffffff;
  --dv-tint:#e5f3ee; --dv-danger:#bd3e4b; --dv-header:#162631;
  --dv-nav:#213743; --dv-radius:16px; --dv-control-radius:10px;
  --dv-shadow:0 4px 20px #172d3c06;
  color-scheme:light;
}
html[data-ui-surface][data-theme=dark] {
  --dv-bg:#101b23; --dv-surface:#192a35; --dv-soft:#223643;
  --dv-text:#edf3f6; --dv-muted:#acbdc7; --dv-border:#344a58;
  --dv-primary:#80d9bc; --dv-primary-hover:#a4e8d1; --dv-on-primary:#102e26;
  --dv-tint:#23463d; --dv-danger:#ff9da5; --dv-header:#101d26;
  --dv-nav:#192d39; --dv-shadow:0 4px 20px #00000012;
  color-scheme:dark;
}
@media(prefers-color-scheme:dark) {
  html[data-ui-surface]:not([data-theme=light]):not([data-theme=dark]) {
    --dv-bg:#101b23; --dv-surface:#192a35; --dv-soft:#223643;
    --dv-text:#edf3f6; --dv-muted:#acbdc7; --dv-border:#344a58;
    --dv-primary:#80d9bc; --dv-primary-hover:#a4e8d1; --dv-on-primary:#102e26;
    --dv-tint:#23463d; --dv-danger:#ff9da5; --dv-header:#101d26;
    --dv-nav:#192d39; --dv-shadow:0 4px 20px #00000012;
    color-scheme:dark;
  }
}
html[data-ui-surface],html[data-ui-surface] body {
  --bg:var(--dv-bg); --panel:var(--dv-surface); --paper:var(--dv-surface);
  --surface:var(--dv-surface); --field:var(--dv-surface);
  --text:var(--dv-text); --deep:var(--dv-text); --muted:var(--dv-muted);
  --line:var(--dv-border); --accent:var(--dv-primary); --green:var(--dv-primary);
  --red:var(--dv-danger); --sent:var(--dv-tint); --on-accent:var(--dv-on-primary);
  font-family:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
  color:var(--dv-text); background:var(--dv-bg);
}
html[data-ui-surface] :is(button,input,select,textarea){font-family:inherit}
html[data-ui-surface] :is(h1,h2,h3,h4){font-family:inherit;font-weight:700;letter-spacing:-.025em}
html[data-ui-surface] :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--dv-primary);outline-offset:3px}
html[data-ui-surface] :is(input,select,textarea){accent-color:var(--dv-primary)}
html[data-ui-surface] :is(input:not([type=range]):not([type=checkbox]):not([type=radio]),select,textarea){border-radius:var(--dv-control-radius);border-color:var(--dv-border);background:var(--dv-surface);color:var(--dv-text)}
html[data-ui-surface] :is(input,textarea)::placeholder{color:var(--dv-muted);opacity:1}
html[data-ui-surface] :is(dialog,.modal,.notification-panel){background:var(--dv-surface);color:var(--dv-text);border-color:var(--dv-border);border-radius:var(--dv-radius)}
html[data-ui-surface] dialog::backdrop{background:#10222eb3}
html[data-ui-surface] :is(button.primary,.submit,.add-to-cart,.seller-option button){background:var(--dv-primary);color:var(--dv-on-primary);border:1px solid var(--dv-primary);border-radius:var(--dv-control-radius);font-weight:650}
html[data-ui-surface] :is(button.primary,.submit,.add-to-cart,.seller-option button):hover:not(:disabled){background:var(--dv-primary-hover)}

/* A consistent greeting, administrator shortcut and navigation. */
html[data-ui-surface=portal]{scrollbar-gutter:stable;--dv-page-gutter:16px}
html[data-ui-surface=portal] body.account-open>header {
  height:72px;min-height:72px;padding:12px var(--dv-page-gutter);gap:14px;max-width:none;
  border:0;background:var(--dv-header);color:#f7fafc;box-shadow:none;
}
html[data-ui-surface=portal] body.account-open>header .brand {font:650 20px/1.3 "Segoe UI",system-ui,sans-serif;color:#f7fafc;letter-spacing:-.45px}
html[data-ui-surface=portal] body.account-open>header :is(.home-admin-link,#notificationsPanelButton),
html[data-ui-surface=store] .market-header .market-admin {
  background:transparent;color:#e6eff3;border:1px solid #4c616e;border-radius:8px;
  font-size:12px;font-weight:500;padding:9px 12px;min-height:36px;
}
html[data-ui-surface=portal] body.account-open>header #notificationsPanelButton{margin-left:auto;width:40px;padding:8px}
html[data-ui-surface=portal] body.account-open main{max-width:none;width:100%;box-sizing:border-box;padding:0 var(--dv-page-gutter) 24px;margin:auto}
html[data-ui-surface=portal] body.account-open #profile{padding:0;background:transparent;border:0;box-shadow:none;border-radius:0;display:block}
html[data-ui-surface=portal] body.account-open #profile>.home-navigation {
  margin:0 calc(-1 * var(--dv-page-gutter)) 16px;width:calc(100% + 2 * var(--dv-page-gutter));max-width:none;padding:4px var(--dv-page-gutter);
  min-height:48px;gap:8px;border:0;border-radius:0;background:var(--dv-nav);
  box-shadow:0 0 0 100vmax var(--dv-nav);clip-path:inset(0 -100vmax);
}
html[data-ui-surface=portal] body.account-open #profile .home-navigation button {
  min-height:40px;padding:9px 14px;font-size:14px;font-weight:550;gap:8px;
  border:0;border-radius:8px;background:transparent;color:#dce7ed;box-shadow:none;
}
html[data-ui-surface=portal] body.account-open #profile .home-navigation button .home-tab-label{display:block}
html[data-ui-surface=portal] body.account-open #profile .home-navigation button[aria-current=page]{background:#ffffff16;color:#ffffff;box-shadow:inset 0 -2px 0 #85d8bd}
html[data-ui-surface=portal] body.account-open #profile .home-navigation button:hover{background:#ffffff10}
html[data-ui-surface=portal] body.account-open :is(.bank-section,.ride-worker-pane,.profile-photo-editor,.profile-preferences,.profile-session-card,.personal-overview article,#smsPhone,#identitySection>details){background:var(--dv-surface);border:1px solid var(--dv-border);border-radius:var(--dv-radius);box-shadow:var(--dv-shadow)}
html[data-ui-surface=portal] body.account-open :is(.secondary,.wallet-heading button,.wallet-heading a,.home-market-heading button){background:var(--dv-surface);color:var(--dv-text);border:1px solid var(--dv-border);border-radius:var(--dv-control-radius)}
html[data-ui-surface=portal] body.account-open .wallet{margin:0;padding:24px;background:var(--dv-surface);border:1px solid var(--dv-border);border-radius:var(--dv-radius);box-shadow:var(--dv-shadow)}
html[data-ui-surface=portal] body.account-open #profile>.wallet{padding-top:24px;border-top:1px solid var(--dv-border)}
html[data-ui-surface=portal] body.account-open .wallet-balances{gap:18px;margin-bottom:20px}
html[data-ui-surface=portal] body.account-open .wallet h4{color:var(--dv-text)}
html[data-ui-surface=portal] body.account-open .wallet-movements li{background:var(--dv-surface);color:var(--dv-text);border-color:var(--dv-border)}
html[data-ui-surface=portal] body.account-open .wallet-movements li:nth-child(even){background:var(--dv-bg)}
html[data-ui-surface=portal] body.account-open .wallet-number{color:var(--dv-muted)}
html[data-ui-surface=portal] body.account-open .bank-preview{background:var(--dv-bg)}
html[data-ui-surface=portal] #profile #homePersonal{max-width:none;padding:0}
html[data-ui-surface=portal] .profile-hero{background:var(--dv-surface);border-color:var(--dv-border);border-radius:var(--dv-radius);padding:28px;box-shadow:var(--dv-shadow)}
html[data-ui-surface=portal] .profile-initials{background:var(--dv-tint);color:var(--dv-primary)}
html[data-ui-surface=portal] #homePersonal .personal-overview article{background:var(--dv-surface);border-radius:var(--dv-radius)}
html[data-ui-surface=portal] #homePersonal .profile-logout{background:transparent;color:var(--dv-danger);border:1px solid var(--dv-danger);border-radius:var(--dv-control-radius)}
html[data-ui-surface=portal] body.account-open>footer{background:transparent;border:0;margin-top:0;padding:16px;color:var(--dv-muted)}
html[data-ui-surface=portal] body.account-open>footer .install-panel{display:none}
html[data-ui-surface=portal] #homeChat iframe{border:0;border-radius:0;background:var(--dv-surface)}
html[data-ui-surface=portal] body.account-open[data-home-view=chat] #homeChat{border-color:var(--dv-border);border-radius:var(--dv-radius)}
html[data-ui-surface=portal] body.account-open[data-home-view=chat]>footer{display:none}
html[data-ui-surface=portal] body.account-open[data-home-view=chat] main{padding-bottom:16px}
html[data-ui-surface=portal] .negocios-local-banner{background:var(--dv-bg);color:var(--dv-muted);border-color:var(--dv-border)}
html[data-ui-surface=portal] body.account-open[data-home-view=store]>footer{display:none}
html[data-ui-surface=portal] body.account-open[data-home-view=store] main{padding-bottom:24px}
html[data-ui-surface=portal] #homeStore iframe{border:0;border-radius:var(--dv-radius);background:var(--dv-bg)}

/* Store: preserve the product composition, with the same type and surfaces. */
.store-toolbar{display:none}
html[data-ui-surface=store] :is(.store-layout,.store-layout>.main,.content){background:var(--dv-bg)}
html[data-ui-surface=store] :is(.panel,.order-card,.stat,.storefront-card,.storefront-card .product-info,.collection-panel,.quick-card){background:var(--dv-surface)!important;color:var(--dv-text);border-color:var(--dv-border);border-radius:var(--dv-radius)}
html[data-ui-surface=store] :is(.store-price,.product-title,.store-results,.collection-panel h2 button){color:var(--dv-text)}
html[data-ui-surface=store] :is(.seller-name,.stock-note,.showcase-demo){color:var(--dv-muted)}
html[data-ui-surface=store] :is(.offer-link,.photo-original-link){color:var(--dv-primary)}
html[data-ui-surface=store] .storefront-card .product-art{background:#f7f8f8}
html[data-ui-surface=store] .storefront-card .best-price{background:var(--dv-tint);color:var(--dv-primary);border-radius:6px}
html[data-ui-surface=store] .storefront-card .add-to-cart{background:var(--dv-primary);color:var(--dv-on-primary);border-color:var(--dv-primary);border-radius:var(--dv-control-radius)}
html[data-ui-surface=store] .storefront-card .add-to-cart:hover{background:var(--dv-primary-hover)}
html[data-ui-surface=store] .collection-item{background:var(--dv-soft)!important;color:var(--dv-text);border-radius:12px}
html[data-ui-surface=store] .mini-photo{background:#f7f8f8;border-radius:9px}
html[data-ui-surface=store] .quick-card img{background:#fff;border-radius:9px}
html[data-ui-surface=store] .store-results{border-color:var(--dv-border)}
html[data-ui-surface=store] .categories button{border-radius:20px}
html[data-ui-surface=store] .categories button.active{background:var(--dv-tint);border-color:var(--dv-primary);color:var(--dv-primary)}
@media(min-width:761px){
  html[data-ui-surface=store] .market-header{background:var(--dv-header);height:72px;min-height:72px;padding:10px 24px;gap:18px;box-sizing:border-box}
  html[data-ui-surface=store] .market-header .market-brand{font-size:20px;font-weight:650;letter-spacing:-.45px}
  html[data-ui-surface=store] .market-header button{border-radius:8px}
  html[data-ui-surface=store] .market-header .market-search{height:46px;border-radius:var(--dv-control-radius)}
  html[data-ui-surface=store] .market-search :is(input,select,button){border-radius:0;background:#fff;color:#1b2d3b;font-family:inherit}
  html[data-ui-surface=store] .market-search select{background:#eef2f5}
  html[data-ui-surface=store] #marketSearchForm{background:var(--dv-surface)}
  html[data-ui-surface=store] #marketSearchForm :is(#marketSearch,#marketCategory){border-radius:0;border:0;box-shadow:none}
  html[data-ui-surface=store] #marketSearch{background:var(--dv-surface);color:var(--dv-text)}
  html[data-ui-surface=store] #marketCategory{background:var(--dv-soft);color:var(--dv-text)}
  html[data-ui-surface=store] .market-search button{background:#edbb78;color:#172c35}
  html[data-ui-surface=store] .market-search:focus-within{outline:3px solid #85d8bd}
  html[data-ui-surface=store] .market-nav{background:var(--dv-nav);height:48px;min-height:48px;padding:4px 24px;gap:8px;box-sizing:border-box}
  html[data-ui-surface=store] .market-nav button{border-radius:8px;padding:9px 14px;font-size:14px;font-weight:550;min-height:40px}
  html[data-ui-surface=store] .market-nav [data-action=reset-store]{background:#ffffff16;box-shadow:inset 0 -2px 0 #85d8bd}
  html[data-ui-surface=store] .market-nav>span{font-weight:500;color:#c7d7e0}
  html[data-ui-surface=store] .content{padding:24px 24px 40px}
  html[data-ui-surface=store] :is(.feature-tall,.promo-card,.promo-wrap,.discovery-card){border-radius:var(--dv-radius);box-shadow:none}
  html[data-ui-surface=store] .feature-tall{background:#eed0af;color:#263630}
  html[data-ui-surface=store] .feature-tall:hover{background:#eac6a1}
  html[data-ui-surface=store] .feature-tall h1{font-size:clamp(32px,3.2vw,58px);font-weight:700;letter-spacing:-1.8px;line-height:1.1}
  html[data-ui-surface=store] .feature-tall p{font-size:clamp(17px,1.5vw,26px);color:#344338}
  html[data-ui-surface=store] .mint{background:#c9e6da;color:#173e32}
  html[data-ui-surface=store] .cherry{background:#30544e;color:#fff}
  html[data-ui-surface=store] .lime{background:#dce7ca;color:#293e2e}
  html[data-ui-surface=store] .orange{background:#efc79e;color:#49351e}
  html[data-ui-surface=store] .lavender{background:#e0deec;color:#3e3a53}
  html[data-ui-surface=store] .peach{background:#eed0af;color:#49351e}
  html[data-ui-surface=store] .promo-main h2{font-size:clamp(23px,1.9vw,35px);line-height:1.12;font-weight:700;letter-spacing:-.8px}
  html[data-ui-surface=store] .quick-card strong{font-size:clamp(16px,1.18vw,22px);line-height:1.25;font-weight:650;letter-spacing:-.3px}
  html[data-ui-surface=store] .collection-panel h2{font-size:clamp(18px,1.35vw,25px);font-weight:700;letter-spacing:-.5px;line-height:1.25}
  html[data-ui-surface=store] .discovery-card h3{font-size:26px;line-height:1.15;font-weight:700}
  html[data-ui-surface=store] .discovery-row h2{font-size:26px;font-weight:700;letter-spacing:-.5px}
}
@media(min-width:761px) and (max-width:1300px){
  html[data-ui-surface=store] .market-location{display:none}
  html[data-ui-surface=store] .market-nav{gap:2px}
  html[data-ui-surface=store] .market-nav button{padding-inline:10px}
  html[data-ui-surface=store] .market-nav>span{display:none}
}

/* Embedded storefront: the portal provides the account header and main tabs. */
@media(min-width:761px){
  html.embedded[data-ui-surface=store] .store-toolbar{display:flex;align-items:center;gap:16px;padding:16px;background:var(--dv-surface);border:1px solid var(--dv-border);border-radius:var(--dv-radius);margin:0 0 12px}
  html.embedded[data-ui-surface=store] .store-toolbar .market-search{display:flex;flex:1;height:46px;min-width:0;border:1px solid var(--dv-border);border-radius:var(--dv-control-radius);background:var(--dv-bg)}
  html.embedded[data-ui-surface=store] #marketSearch{font-size:16px;background:var(--dv-bg);color:var(--dv-text)}
  html.embedded[data-ui-surface=store] #marketCategory{background:var(--dv-soft);color:var(--dv-text);width:95px}
  html.embedded[data-ui-surface=store] .store-toolbar .market-search button{width:48px;background:var(--dv-primary);color:var(--dv-on-primary);border-radius:0;display:grid;place-items:center}
  html.embedded[data-ui-surface=store] .store-cart{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:10px 16px;background:var(--dv-surface);color:var(--dv-text);border:1px solid var(--dv-border);border-radius:var(--dv-control-radius);font-size:14px;font-weight:600}
  html.embedded[data-ui-surface=store] .store-cart svg{width:23px;height:23px}
  html.embedded[data-ui-surface=store] .store-cart b{min-width:21px;padding:2px 5px;border-radius:12px;background:var(--dv-tint);color:var(--dv-primary);font-size:12px}
  html.embedded[data-ui-surface=store] .store-layout .store-tabs{display:flex;gap:6px;margin:0 0 16px;padding:0 0 12px;border-bottom:1px solid var(--dv-border)}
  html.embedded[data-ui-surface=store] .store-tabs button{min-height:38px;padding:8px 12px;border-radius:var(--dv-control-radius)}
  html.embedded[data-ui-surface=store] .store-tabs button[aria-current=page]{background:var(--dv-tint);color:var(--dv-primary);border-color:var(--dv-border)}
  html.embedded[data-ui-surface=store] .store-tabs svg{width:18px;height:18px}
  html.embedded[data-ui-surface=store] .store-tabs [data-view=carrito]{display:none}
  html.embedded[data-ui-surface=store] .store-cart[aria-current=page]{background:var(--dv-tint);border-color:var(--dv-primary)}
  html.embedded[data-ui-surface=store] .content{padding:0 0 24px}
  html.embedded[data-ui-surface=store] .manage-tabs{padding:0 0 12px;margin:0 0 16px}
  html.embedded[data-ui-surface=store] #catalogStart{scroll-margin-top:16px}
}

/* Messages share the portal surfaces instead of a separate messenger theme. */
html[data-ui-surface=chat] :is(body,#sidebar,#empty,.thread-heading,#compose){background:var(--dv-surface)}
html[data-ui-surface=chat] body>header{background:var(--dv-header);color:#fff}
html[data-ui-surface=chat] main{box-shadow:none;border-color:var(--dv-border)}
html[data-ui-surface=chat] #empty{background:var(--dv-bg);border-bottom:0}
html[data-ui-surface=chat][data-embedded=true] #empty{background:var(--dv-bg)}
html[data-ui-surface=chat] #chatListState{padding:14px 18px;font-size:13px;line-height:1.6}
html[data-ui-surface=chat] #conversationList:not(:has(button)){padding:14px 18px;font-size:13px;line-height:1.6;color:var(--dv-muted)}
html[data-ui-surface=chat] #empty h2{font-weight:650;font-size:24px;letter-spacing:-.6px}
html[data-ui-surface=chat] #empty:before{content:'✉';display:grid;place-items:center;width:64px;height:64px;background:var(--dv-tint);color:var(--dv-primary);border-radius:20px;font-size:28px;margin-bottom:4px}
html[data-ui-surface=chat] #messages{background:var(--dv-bg);background-image:none}
html[data-ui-surface=chat] .thread-heading{border-bottom:1px solid var(--dv-border)}
html[data-ui-surface=chat] .conversation-filters button[aria-pressed=true]{background:var(--dv-tint);color:var(--dv-primary);border-color:var(--dv-tint)}
html[data-ui-surface=chat] #conversationList button.selected{background:var(--dv-tint);box-shadow:inset 3px 0 var(--dv-primary)}
html[data-ui-surface=chat] .avatar{background:var(--dv-tint);color:var(--dv-primary)}
html[data-ui-surface=chat] #compose{border-top:1px solid var(--dv-border)}
html[data-ui-surface=chat] #draft{border:1px solid var(--dv-border);border-radius:var(--dv-control-radius)}
html[data-ui-surface=chat] #send{background:var(--dv-primary);color:var(--dv-on-primary);border:1px solid var(--dv-primary);border-radius:var(--dv-control-radius);font-weight:650}
html[data-ui-surface=chat] .bubble{border-radius:12px;border:1px solid var(--dv-border);box-shadow:none;background:var(--dv-surface)}
html[data-ui-surface=chat] .bubble.mine{border-radius:12px;background:var(--dv-tint);border-color:var(--dv-tint)}
html[data-ui-surface=chat] .bubble:before{display:none}

/* Ride controls follow the selected theme without changing map behavior. */
html[data-ui-surface=portal] #homeRides .ride-work-tabs{gap:6px;margin-bottom:12px}
html[data-ui-surface=portal] #homeRides .ride-work-tabs button{background:var(--dv-surface);color:var(--dv-muted);border:1px solid var(--dv-border);border-radius:var(--dv-control-radius);font-size:13px;padding:8px 12px;min-height:38px}
html[data-ui-surface=portal] #homeRides .ride-mode-tab span{display:inline}
html[data-ui-surface=portal] #homeRides .ride-work-tabs button[aria-pressed=true]{background:var(--dv-tint);color:var(--dv-primary);border-color:var(--dv-primary)}
html[data-ui-surface=portal] .chivi-scene{border-radius:var(--dv-radius);border:1px solid var(--dv-border)}
html[data-ui-surface=portal] #rideForm.chivi-sheet{background:var(--dv-surface);color:var(--dv-text);border-color:var(--dv-border);box-shadow:0 -5px 22px #152e4212;backdrop-filter:none}
html[data-ui-surface=portal] :is(.chivi-active-sheet,.chivi-sheet-handle){background:var(--dv-surface);color:var(--dv-text);border-color:var(--dv-border)}
html[data-ui-surface=portal] .chivi-sheet-handle::after{color:var(--dv-muted)}
html[data-ui-surface=portal] .chivi-sheet-handle span{background:var(--dv-muted)}
html[data-ui-surface=portal] .chivi-sheet :is(.chivi-search-start,.ride-waypoint,.chivi-quick-recent,.ride-icon,.chivi-shortcuts button){background:var(--dv-soft);color:var(--dv-text);border-radius:var(--dv-control-radius)}
html[data-ui-surface=portal] #rideForm.chivi-sheet .ride-waypoint input{color:var(--dv-text);background:transparent}
html[data-ui-surface=portal] #rideForm.chivi-sheet .ride-waypoint label{color:var(--dv-muted)}
html[data-ui-surface=portal] #rideForm.chivi-sheet :is(select,textarea){background:var(--dv-soft);color:var(--dv-text);border-color:var(--dv-border)}
html[data-ui-surface=portal] #rideForm.chivi-sheet :is(input,textarea)::placeholder{color:var(--dv-muted)}
html[data-ui-surface=portal] .chivi-sheet :is(.chivi-search-start>span:last-child,.ride-waypoint>button,.chivi-recent,.chivi-place-row button,.chivi-route-summary,.chivi-service,.chivi-booking-meta>button,.chivi-booking-meta>div){color:var(--dv-text)}
html[data-ui-surface=portal] .chivi-sheet :is(#rideRouteState,#rideStatus,.chivi-service small,.chivi-capacity-note,.chivi-route-summary small,.chivi-service-hint){color:var(--dv-muted)}
html[data-ui-surface=portal] .chivi-sheet :is(.chivi-route-summary,.chivi-place-row){border-color:var(--dv-border)}
html[data-ui-surface=portal] .chivi-info :is(.ride-route-metrics strong,.chivi-estimate strong){color:var(--dv-text)}
html[data-ui-surface=portal] :is(.chivi-estimate span,.chivi-info .ride-route-metrics span){color:var(--dv-muted)}
html[data-ui-surface=portal] .chivi-info #rideMapLink{color:var(--dv-primary)}
html[data-ui-surface=portal] .chivi-service.selected{background:var(--dv-tint);border-color:var(--dv-primary);color:var(--dv-primary)}
html[data-ui-surface=portal] .chivi-sheet .primary{background:var(--dv-primary);color:var(--dv-on-primary);border-color:var(--dv-primary);border-radius:var(--dv-control-radius);font-weight:650}
html[data-ui-surface=portal] :is(.budget-presets button,.budget-vehicles button,.shared-chips button){background:var(--dv-soft);color:var(--dv-text);border-color:var(--dv-border);border-radius:var(--dv-control-radius)}
html[data-ui-surface=portal] :is(.budget-presets,.budget-vehicles,.shared-chips) [aria-pressed=true]{background:var(--dv-tint);color:var(--dv-primary);border-color:var(--dv-primary);box-shadow:inset 0 0 0 1px var(--dv-primary)}
html[data-ui-surface=portal] :is(.shared-how,.shared-suggestion,.driver-wallet-cards article,.ride-earnings-preview){background:var(--dv-tint);color:var(--dv-text);border-color:var(--dv-border)}
html[data-ui-surface=portal] :is(.ride-operation-card,.shared-trip-card){background:var(--dv-surface);color:var(--dv-text);border-color:var(--dv-border);border-radius:var(--dv-radius)}

/* Currency exchange inherits the wallet palette. */
html[data-ui-surface=market] :is(.panel,.ticker,.balance-card,.input){background:var(--dv-surface);color:var(--dv-text);border-color:var(--dv-border);border-radius:var(--dv-radius);box-shadow:var(--dv-shadow)}
html[data-ui-surface=market] .mode{background:var(--dv-bg);border-radius:var(--dv-control-radius)}
html[data-ui-surface=market] .mode button.active{background:var(--dv-tint);color:var(--dv-primary)}
html[data-ui-surface=market] .mode button.sell.active{background:color-mix(in srgb,var(--dv-danger) 12%,var(--dv-surface));color:var(--dv-danger)}
html[data-ui-surface=market] .estimates strong{color:var(--dv-text)}
html[data-ui-surface=market] .submit{background:var(--dv-primary);color:var(--dv-on-primary);border-radius:var(--dv-control-radius)}
html[data-ui-surface=market] .submit.sell{background:var(--dv-danger);color:var(--dv-surface)}

@media(max-width:760px){
  html[data-ui-surface=portal]{--dv-page-gutter:8px}
  html[data-ui-surface=portal] body.account-open>header{height:auto;min-height:56px;padding:10px var(--dv-page-gutter);gap:8px}
  html[data-ui-surface=portal] body.account-open>header .brand{font-size:17px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  html[data-ui-surface=portal] body.account-open>header :is(.home-admin-link,#notificationsPanelButton){padding:7px 8px;font-size:10px;min-height:34px}
  html[data-ui-surface=portal] body.account-open main{padding:10px var(--dv-page-gutter) 24px}
  html[data-ui-surface=portal] body.account-open #profile>.home-navigation{position:fixed;inset:auto 0 0;width:100%;height:var(--mobile-nav-height);min-height:0;margin:0;padding:5px 4px calc(5px + env(safe-area-inset-bottom,0px));gap:2px;background:var(--dv-surface);border-top:1px solid var(--dv-border);box-shadow:0 -3px 16px #142e420a;clip-path:none}
  html[data-ui-surface=portal] body.account-open #profile .home-navigation button{height:52px;min-height:52px;padding:5px 1px;gap:4px;font-size:10px;color:var(--dv-muted);border-radius:10px}
  html[data-ui-surface=portal] body.account-open #profile .home-navigation button .home-tab-label{display:none}
  html[data-ui-surface=portal] body.account-open #profile .home-navigation button[aria-current=page]{background:var(--dv-tint);color:var(--dv-primary);box-shadow:none}
  html[data-ui-surface=portal] body.account-open #profile .home-navigation button:hover{background:var(--dv-soft)}
  html[data-ui-surface=portal] body.account-open .wallet{padding:14px}
  html[data-ui-surface=portal] body.account-open #profile>.wallet{padding-top:14px}
  html[data-ui-surface=portal] .profile-hero{padding:18px 15px}
  html[data-ui-surface=portal] #homeRides .ride-work-tabs button{padding:8px;font-size:12px}
  html[data-ui-surface=portal] #homeRides .ride-work-tabs{width:calc(100% - 100px);overflow-x:auto}
  html[data-ui-surface=store] .content{padding:0 4px 20px}
  html[data-ui-surface=store] :is(input,select,textarea){font-size:16px}
  html[data-ui-surface=store] .store-filter-row select{font-size:12px}
}

/* Persistent cart beside notifications on every account page. */
html[data-ui-surface=portal] body.account-open>header{display:flex;position:sticky;top:0;z-index:70;flex-wrap:nowrap}
html[data-ui-surface=portal] body.account-open>header .brand{flex:1;min-width:0}
html[data-ui-surface=portal] body.account-open>header #portalCartButton{color:#e6eff3;border-color:#4c616e}
@media(max-width:430px){html[data-ui-surface=portal] body.account-open>header{gap:8px;padding-inline:12px}html[data-ui-surface=portal] body.account-open>header .brand{font-size:18px}html[data-ui-surface=portal] body.account-open>header .home-admin-link{padding:8px;font-size:11px}}
