/* Match the public pages, including the driver-hosted public map. */
html:has(body[data-page="map"]),body[data-page="map"],body[data-page="map"]>main.page{background:#fffaf1!important}
body[data-page="map"] .map-page-heading{display:flex;align-items:center;gap:24px}
.map-charge-scene{display:none}
.map-refresh-actions{display:flex;flex-direction:column;align-items:flex-end;gap:7px;flex-shrink:0}
.map-refresh-status{font-size:12px;color:#526267;line-height:1.35;max-width:220px;text-align:right}
@media(min-width:1024px){
 body[data-page="map"] .map-charge-scene{display:flex;flex:1;max-width:390px;min-width:180px;align-items:center;flex-direction:column;margin-left:auto;margin-right:auto}
 .map-charge-scene svg{width:100%;max-width:330px;height:96px;overflow:visible}
 .map-charge-scene>span{font-size:12px;font-weight:700;letter-spacing:.03em;color:#526267;margin-top:-2px}
 .map-scene-car{animation:map-arrive 9s ease-in-out 2}
 .map-scene-cable{animation:map-plug 9s ease-in-out 2}
 .map-scene-energy,.map-scene-spark{animation:map-energy 3s ease-in-out 6;transform-origin:center}
}
@keyframes map-arrive{0%,100%{transform:translateX(0)}5%{transform:translateX(-25px);opacity:.4}25%,90%{transform:translateX(0);opacity:1}}
@keyframes map-plug{0%,8%,100%{opacity:1}9%,22%{opacity:0}35%,95%{opacity:1}}
@keyframes map-energy{0%,100%{opacity:.45}50%{opacity:1}}
@media(max-width:600px){body[data-page="map"] .map-page-heading{gap:12px}.map-refresh-status{max-width:132px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.map-charge-scene *{animation:none!important}}

/* Shared page canvas; override the driver host's mobile theme as well. */
html:has(body[data-page="driver"]),html body[data-site][data-page="driver"],html body[data-site][data-page="driver"] main.driver-page,html body[data-site][data-page="driver"] #driverDashboard,html body[data-site][data-page="driver"] .driver-workspace,html body[data-site][data-page="driver"] #driverSectionContent{background:#fffaf1!important}
