/* The dashboard grid supplies spacing; stacked-card margins offset its columns. */
.legacyQuick[data-wake-budget] strong{min-width:0;white-space:normal;line-height:1.4;overflow-wrap:normal}
.heroRefreshBtn[data-wake-budget] .heroRefreshLabel{display:inline}
body.myveMemberPage #connectedHome>:is(.connectedPilotCard,.connectedMonthCard){margin-block:0;align-self:stretch;min-width:0}
body.myveMemberPage #adminDirectory .staffAuditCard{padding:24px;border-radius:16px;min-width:0;background:linear-gradient(145deg,#101e29,#0b1822);border-color:#2b414f;box-shadow:none}
#adminDirectory .staffAuditCard>.headrow{align-items:center;gap:16px;margin-bottom:20px}
#adminDirectory .staffAuditCard h2{margin:5px 0 0;font-size:23px;line-height:1.25;letter-spacing:-.02em}
#adminDirectory .staffAuditCard .small{font-size:12px;letter-spacing:.1em;line-height:1.5}
#adminDirectory .staffAuditCard .tag{flex-shrink:0;margin:0;padding:7px 11px;font-size:12px;line-height:1.4;color:#bed2df;background:#142a36;border-color:#304b5b}
#staffAuditList{display:grid;gap:10px;min-width:0}
#staffAuditList .staffAuditRow{padding:15px 16px;border-radius:11px;background:#0b1924;border-color:#243d4d;min-width:0;line-height:1.5}
#staffAuditList .staffAuditRow>div{min-width:0;gap:5px}
#staffAuditList .staffAuditRow strong{font-size:14px;color:#edf6fc;overflow-wrap:anywhere}
#staffAuditList .staffAuditRow span,#staffAuditList .staffAuditRow small{font-size:12px;color:#a4bacb}
.staffAuditEmpty{display:flex;align-items:center;gap:14px;padding:20px;border:1px dashed #304b5b;border-radius:12px;background:#0b1924;line-height:1.5}
.staffAuditEmpty>.myveMaterialIcon{flex:0 0 40px;display:block;width:40px;height:40px;padding:8px;border-radius:11px;background:#14313d;color:#57dce8}
.staffAuditEmpty>div{min-width:0}.staffAuditEmpty strong{display:block;font-size:14px;font-weight:600;color:#dcebf5}.staffAuditEmpty p{margin:4px 0 0;font-size:13px;color:#9fb6c7;overflow-wrap:anywhere}
.staffAuditEmpty.isUnavailable{border-style:solid;border-color:#55482f;background:#221f18}.staffAuditEmpty.isUnavailable>.myveMaterialIcon{background:#3a3020;color:#eccb83}
@media(max-width:600px){body.myveMemberPage #adminDirectory .staffAuditCard{padding:18px}.staffAuditCard>.headrow{flex-wrap:wrap}#adminDirectory .staffAuditCard h2{font-size:21px}#adminDirectory .staffAuditCard>.headrow{margin-bottom:16px;gap:12px}.staffAuditEmpty{align-items:flex-start;padding:16px;gap:12px}#staffAuditList .staffAuditRow{flex-direction:column;gap:8px}#staffAuditList .staffAuditRow small{max-width:100%;text-align:left}}
body.myveMemberPage .myveCockpitStage .myveCockpitHeaderStatus .connectedStatusInCard{width:100%;min-width:0;box-sizing:border-box}
body.myveMemberPage .myveCockpitStage .myveCockpitHeaderStatus .connectedStatusInCard>div{min-width:0;flex:1}
body.myveMemberPage .myveCockpitStage .myveCockpitHeaderStatus .connectedStatusInCard :is(strong,small){white-space:normal;overflow-wrap:anywhere}
@media(max-width:760px){
 body.myveMemberPage .myveCockpitStage .myveCockpitHeader{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
 body.myveMemberPage .myveCockpitStage .myveCockpitHeaderStatus{display:grid;width:100%;max-width:none;min-width:0;justify-items:stretch;gap:8px}
 body.myveMemberPage .myveCockpitStage .myveCockpitHeaderStatus .connectedStatusInCard{display:flex;width:100%;max-width:100%;min-width:0;box-sizing:border-box;align-items:flex-start;padding:12px}
 body.myveMemberPage .myveCockpitStage .myveCockpitHeaderStatus .connectedStatusInCard>i{margin-top:5px}
 body.myveMemberPage .myveCockpitStage .myveCockpitHeaderStatus .connectedStatusInCard>div{display:grid;min-width:0;flex:1;gap:5px}
 body.myveMemberPage .myveCockpitStage .myveCockpitHeaderStatus .connectedStatusInCard :is(strong,small){white-space:normal;overflow-wrap:anywhere;line-height:1.45;max-width:100%;text-overflow:clip}
 body.myveMemberPage .myveCockpitStage .myveCockpitHeaderStatus .connectedStatusInCard strong{font-size:13px}
 body.myveMemberPage .myveCockpitStage .myveCockpitHeaderStatus .connectedStatusInCard small{font-size:12px}
 body.myveMemberPage .myveCockpitStage .myveStageFreshness{justify-content:flex-start;text-align:left}
}
.memberNotices{display:grid;gap:12px;margin-bottom:18px;min-width:0}
.memberNotice{display:flex;align-items:center;gap:14px;padding:17px 20px;border-radius:14px;border:1px solid #92713b;background:#352d1d;color:#f9dfaa;line-height:1.5}
.memberNotice>div{flex:1;min-width:0}.memberNotice strong,.memberNotice small{display:block}.memberNotice small{margin-top:4px;color:inherit}.memberNotice.recovered{background:#10362c;border-color:#387b65;color:#b8f6df}
.memberNotice button{border:1px solid currentColor;background:transparent;color:inherit;border-radius:8px;padding:10px;font:inherit;cursor:pointer}
.carWeather{grid-column:1/-1;padding:24px;border-radius:18px;border:1px solid #294959;background:#0c202de8;min-width:0}
.carWeather h2{margin:0 0 18px;font-size:22px}.carWeatherGrid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.carWeatherNow>strong{font-size:36px;display:block;margin:8px 0}.carWeather p{line-height:1.5;color:#c0d4e0}.carWeatherSource{font-size:12px;color:#a8c0ce}.carWeatherSource a{color:inherit}.carWeatherAdvice{border-top:1px solid #294959;padding-top:14px}
.carWeatherHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}
.carWeather .carWeatherHeader h2{margin:0;min-width:0}
.carWeatherCredits{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid #355666;border-radius:50%;font-size:18px;line-height:1;text-decoration:none;color:#a8c0ce}
.carWeatherCredits:hover,.carWeatherCredits:focus-visible{color:#eafaff;border-color:#57dce8;outline:2px solid #57dce8;outline-offset:2px}
.plugReminderForm{display:grid;gap:15px;padding:20px;border:1px solid #294959;border-radius:16px;background:#102430;margin-top:22px}.plugReminderFields{display:flex;gap:16px;flex-wrap:wrap}.plugReminderFields label{display:grid;gap:6px;flex:1;min-width:130px}.plugReminderForm select{font:inherit;padding:10px;background:#091c29;color:#e7f3fa;border:1px solid #294959;border-radius:9px}.plugReminderForm h2{margin:0;font-size:20px}.plugReminderForm .btn{justify-self:start}
.serviceHealth{margin:22px 0;padding:22px;border:1px solid #294959;border-radius:16px;background:#102430}.serviceHealth h2{margin-top:0}.serviceHealth p{line-height:1.5}.serviceHealth input{padding:12px;border:1px solid #294959;background:#091c29;color:white;border-radius:8px;font:inherit;max-width:100%}.serviceHealthTools{display:flex;gap:12px;flex-wrap:wrap}.serviceHealth details{margin-top:16px}.serviceHealth li{margin:10px 0;color:#b9ceda}
.tripDayTitle{font-size:16px;color:#b0c6d3;margin:24px 0 8px}.tripAccordion{background:#102430;border:1px solid #294959;border-radius:14px;overflow:hidden}.tripAccordion>summary{list-style:none;display:grid;grid-template-columns:80px minmax(0,1fr) auto 100px;gap:16px;align-items:center;padding:17px;cursor:pointer}.tripAccordion>summary::-webkit-details-marker{display:none}.tripAccordion>summary:focus-visible{outline:2px solid #63e1ee;outline-offset:-4px}.tripAccordion>summary small{display:block;color:#adc1ce;margin-top:4px;line-height:1.5}.tripAccordion>.tripGeoCard{margin:0;border:0;border-top:1px solid #294959;border-radius:0}.tripMini{display:block;width:100px;height:55px;border-radius:8px;background:#091722;overflow:hidden}.tripMini svg{width:100%;height:100%}.tripMini path{fill:none;stroke:#63e1ee;stroke-width:2}.tripMini circle{fill:#63e1ee;stroke:#091722;stroke-width:2}.tripMini text{fill:#edf7fb;font:8px Roboto,sans-serif}
.tripCompact{display:block!important;color:#aebfce}.tripCompact strong{font-size:14px}.tripCompact .tripTimingDetails{display:none}
.myveMapDark .leaflet-tile{filter:invert(.92) hue-rotate(175deg) brightness(.85) contrast(.9)}
.myveMapDark .leaflet-container{background:#0b1b26}.myveMapDark .leaflet-control-attribution{background:#102430e8;color:#d9e9f2;font-size:12px}.myveMapDark .leaflet-control-attribution a{color:#8cdce8}.positionOld .leaflet-marker-icon,.positionOld .leaflet-interactive{filter:grayscale(1);opacity:.65}
.locationMapHint{font-size:12px;color:#b1c8d5;margin:6px 0}.vehicleSingleMap{width:100%;height:320px;position:relative;overflow:hidden;border-radius:14px;background:#0b1b26}.vehicleSingleMap .tripGeoFrame{height:100%;margin:0}.vehicleSingleMap .tripGeoCanvas{height:100%}
.vehicleSingleMap .leaflet-container{touch-action:pan-y}
@media(max-width:600px){.carWeather{padding:18px}.carWeatherGrid{grid-template-columns:1fr;gap:12px}.memberNotice{align-items:flex-start;flex-wrap:wrap;padding:15px}.tripAccordion>summary{grid-template-columns:64px minmax(0,1fr) 80px;gap:10px;padding:14px}.tripAccordion>summary>.tripAmounts{grid-column:2}.tripAccordion>summary>.tripMini{grid-column:3;grid-row:1/3;width:80px;height:60px}.plugReminderFields{flex-direction:column}.vehicleSingleMap{height:290px}}

/* Qualified interpolation is presentation only; actual measurements stay visible. */
.chargeDisplayEstimateNote{margin:.6rem 0;color:var(--text,#edf5fa);font-size:1rem;line-height:1.5}
.chargeDisplayEstimateNote small{display:block;color:var(--muted,#a9bfcd);font-size:.82rem}
.cockpitEstimateNote{margin:.35rem auto 0;max-width:23rem;text-align:center;color:var(--muted,#a9bfcd);font-size:.85rem;line-height:1.45;overflow-wrap:normal}
.myveCockpitBattery.isEstimated .myveCockpitReadout strong{font-size:clamp(2.4rem,6.5vw,4.7rem)}
.chargeDisplayEstimateNote[hidden],.cockpitEstimateNote[hidden]{display:none}

.adminRemoteConnection{margin-top:.6rem;font-size:.84rem;line-height:1.5;overflow-wrap:anywhere}.adminRemoteConnection summary{cursor:pointer;color:var(--accent,#50dbe7)}.adminRemoteConnection>span,.adminRemoteConnection>strong,.adminRemoteConnection div span{display:block;margin:.3rem 0}.remoteConnectionEvents,.remoteConnectionErrors{margin-top:.7rem;padding-top:.5rem;border-top:1px solid var(--border,#27414e)}

/* Keep one compact navigation bar tied to the viewport, across member pages.
   Explicit resets override desktop/sidebar heights and avoid a blurred layer
   being repainted separately while Firefox expands its mobile browser bars. */
:root{--myve-nav-safe-bottom:env(safe-area-inset-bottom,0px)}
/* Mozilla 2057232: a regular Firefox Android tab may count an address bar
   already outside the page as a bottom inset. Installed apps keep the OS inset. */
@media(display-mode:browser){html.firefoxAndroid{--myve-nav-safe-bottom:0px}}
@media(max-width:959px){
 body.myveMemberPage .myveAutomotiveShell,
 body.myveMemberPage .publicDemo{min-height:100vh;min-height:100svh}
 body.myveMemberPage .myveAutomotiveShell .appPrimaryNav,
 body.myveMemberPage .publicDemo .appPrimaryNav{
  position:fixed!important;top:auto!important;left:0!important;right:0!important;bottom:0!important;
  width:100%!important;min-width:0!important;max-width:none!important;
  height:auto!important;min-height:0!important;max-height:none!important;
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-template-rows:auto!important;grid-auto-rows:auto!important;align-items:stretch;align-content:start;
  margin:0!important;padding:7px 8px!important;
  padding:7px max(8px,env(safe-area-inset-right,0px)) max(7px,var(--myve-nav-safe-bottom,0px)) max(8px,env(safe-area-inset-left,0px))!important;
  gap:4px!important;background:#070e15!important;z-index:2500;
  border:0;border-top:1px solid #294553;box-shadow:none!important;
  transform:none!important;transition:none!important;animation:none!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
 }
 body.myveMemberPage .myveAutomotiveShell .appPrimaryNav>.appNavItem,
 body.myveMemberPage .publicDemo .appPrimaryNav>.appNavItem{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-height:64px;height:auto;align-self:stretch;margin:0;padding:7px 3px;
  gap:5px;border-radius:9px;font-size:12px;
 }
 body.myveMemberPage .myveAutomotiveShell .appPrimaryNav>.appNavItem.active,
 body.myveMemberPage .publicDemo .appPrimaryNav>.appNavItem.active{background:#15303a;box-shadow:inset 0 -2px #58e1ed}
 body.myveMemberPage .myveAutomotiveShell .premiumMain,
 body.myveMemberPage .publicDemo .premiumMain{
  padding-bottom:100px!important;padding-bottom:calc(100px + var(--myve-nav-safe-bottom,0px))!important;
 }
 body.myveMemberPage .myveAutomotiveShell .backToTopBtn{bottom:calc(90px + var(--myve-nav-safe-bottom,0px))}
}

/* One compact mobile header; account tools remain available in Mon compte. */
.memberBackLink{display:inline-flex;align-items:center;min-height:44px;min-width:44px;margin:0 0 12px;color:#63e1ee;font-size:16px;text-decoration:none}
.memberBackLink:focus-visible{outline:2px solid #63e1ee;outline-offset:3px;border-radius:6px}
@media(max-width:959px){
 body.myveMemberPage .premiumShell .appTopbar{box-sizing:border-box!important;display:flex!important;align-items:center!important;gap:8px!important;width:100%!important;min-height:56px!important;margin:0!important;padding:6px 16px!important;flex-wrap:nowrap!important}
 body.myveMemberPage .premiumShell .appIdentity{display:flex!important;align-items:center!important;flex:1!important;gap:10px!important;min-width:0!important;flex-wrap:nowrap!important}
 body.myveMemberPage .premiumShell .appIdentity .brandLogo{display:inline-flex!important;flex:0 0 44px!important;width:44px!important;margin:0!important}
 body.myveMemberPage .premiumShell .appIdentity .brandLogo img{width:44px!important;height:44px!important;max-width:44px!important;filter:none}
 body.myveMemberPage .premiumShell .appIdentityBadges,
 body.myveMemberPage .premiumShell .appUserEmail,
 body.myveMemberPage .premiumShell .vehicleSwitcher>label,
 body.myveMemberPage .premiumShell #topAddVehicle,
 body.myveMemberPage .premiumShell #logout{display:none!important}
 body.myveMemberPage .premiumShell .vehicleSwitcher{display:flex!important;flex:1!important;min-width:0!important;width:auto!important;margin:0!important;padding:0!important}
 body.myveMemberPage .premiumShell #activeVehicleSelect{box-sizing:border-box!important;min-width:0!important;width:100%!important;height:44px!important;min-height:44px!important;padding:8px!important;font-size:16px!important;text-overflow:ellipsis}
 body.myveMemberPage .premiumShell .appUserTools{display:flex!important;flex:0 0 44px!important;width:44px!important;margin:0!important;padding:0!important}
 body.myveMemberPage .premiumShell #navAccount{display:grid!important;place-items:center!important;box-sizing:border-box!important;width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;padding:9px!important;border-radius:12px}
 body.myveMemberPage .myveAutomotiveShell.premiumShell .premiumMain{box-sizing:border-box!important;width:100%!important;max-width:100%!important;margin:0!important;padding-left:env(safe-area-inset-left,0px)!important;padding-right:env(safe-area-inset-right,0px)!important}
 body.myveMemberPage .premiumShell #view{min-width:0;width:100%}
 body.myveMemberPage .premiumShell .backToTopBtn{box-sizing:border-box;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;padding:0!important;display:flex;align-items:center;justify-content:center;border-radius:50%!important;font-size:0!important;right:16px}
 body.myveMemberPage .premiumShell .backToTopBtn>span{font-size:25px;line-height:1}
 body.myveMemberPage .premiumShell .small,
 body.myveMemberPage .premiumShell small{font-size:max(12px,.78rem)}
 body.myveMemberPage .premiumShell .freshnessPill,
 body.myveMemberPage .premiumShell .myveStageUpdated{font-size:13px}
 body.myveMemberPage .premiumShell .checkRow{min-height:44px;align-items:center}
 body.myveMemberPage .premiumShell .carWeatherCredits{width:44px;height:44px;box-sizing:border-box}
 body.myveMemberPage .premiumShell .leaflet-control-zoom a{width:44px;height:44px;line-height:44px}
}
@media(max-width:959px){
 input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important}
}
@media(hover:none){
 .premiumShell .btn:hover,.premiumShell .appNavItem:hover,.premiumShell .connectedQuick:hover,.premiumShell .myveActionCard:hover{transform:none!important}
}
@media(max-width:399px),(prefers-reduced-motion:reduce){
 .premiumShell .card,.premiumShell .appTopbar,.premiumShell .myveStage,
 .premiumShell .myveStagePanel,.premiumShell .backToTopBtn{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
}

@media(max-width:959px){
 body.myveMemberPage .premiumShell .backToTopBtn:not(.visible){opacity:0!important;visibility:hidden;pointer-events:none!important}
 body.myveMemberPage .premiumShell .backToTopBtn.visible{opacity:1!important;visibility:visible;pointer-events:auto!important}
}

/* Details complement the dashboard; plain values replace repeated gauges. */
.vehicleDetailFacts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}
.vehicleDetailFacts>div{min-width:0;padding:16px;border:1px solid #294959;border-radius:14px;background:#0b1e2a}
.vehicleDetailFacts dt{font-size:13px;color:#b0c6d3;margin-bottom:8px}
.vehicleDetailFacts dd{font-size:22px;font-weight:700;margin:0;overflow-wrap:anywhere}
.moreAdministrationTitle{margin:28px 0 14px;padding-top:20px;border-top:1px solid #294959}
.vehiclePageRefreshing{margin:8px 0 14px;color:#b0c6d3;line-height:1.5}
.longTripActiveSummary{display:grid;gap:7px;line-height:1.5}
.myveBatterySohStatus>span>svg{width:28px;height:34px}
.connectedHome .iCockpitQuickActions{grid-template-columns:repeat(3,minmax(0,1fr))}
.homeQuickControls{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:600px){
 .vehicleDetailFacts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .vehicleDetailFacts>div:last-child{grid-column:1/-1}
 .vehicleDetailFacts dd{font-size:20px}
 .connectedHome .iCockpitQuickAction{min-width:0}
 .connectedHome .iCockpitQuickAction strong{font-size:13px;overflow-wrap:normal}
 .myveVehicleStage .myveCockpitHeaderStatus{width:100%}
}

.vehicleDetailIcon,.legacyStatus>span>svg{width:28px;height:28px;display:block;color:#65dce9}
.legacyQuick>span>svg,.legacyReadyIcon>svg{width:28px;height:28px;display:block}
.vehicleOdometer>span>svg{width:22px;height:22px;display:block}
#chargeLimitDraftStatus { font-weight: 700; }

/* Keep dark map tiles despite the older inline image reset. */
.myveMapDark .tripGeoCanvas img.leaflet-tile{filter:invert(.92) hue-rotate(175deg) brightness(.85) contrast(.9)!important}
.myveMapDark .tripGeoCanvas.leaflet-container{background:#0b1b26}
.myveMapDark .tripGeoCanvas .leaflet-control-attribution{background:#102430ed;color:#d9e9f2;font-size:12px}
.myveMapDark .tripGeoCanvas .leaflet-control-attribution a{color:#8cdce8}
.myveMapDark .tripGeoCanvas .leaflet-control-zoom a{background:#102430;color:#e7f3fa;border-color:#355566}
.locationLinks .btn{font-size:14px!important;min-height:44px;padding:12px 16px;line-height:1.4;display:inline-flex;align-items:center;justify-content:center;text-align:center}
.rechargeSessionNumbers>div{display:grid;gap:4px;margin-bottom:8px}
.rechargeSessionNumbers .rechargeSessionCost strong{color:#edf5fa}
.legacyStatus strong{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.45}
/* A small visible checkmark can still have a full 44 px touch target. */
.premiumShell label:has(input[type=checkbox]),.premiumShell label:has(input[type=radio]),
.modal label:has(input[type=checkbox]),.modal label:has(input[type=radio]){display:flex;align-items:center;gap:10px;min-height:44px;min-width:44px;cursor:pointer}
.premiumShell input[type=checkbox]:not(.chargeSwitch input),.premiumShell input[type=radio]:not(.chargeSwitch input),
.modal input[type=checkbox],.modal input[type=radio]{box-sizing:border-box;min-width:44px!important;min-height:44px!important;width:44px!important;height:44px!important;flex:0 0 44px!important;accent-color:#50dbe5}
.premiumShell label input[type=checkbox]:not(.chargeSwitch input),.premiumShell label input[type=radio]:not(.chargeSwitch input),
.modal label input[type=checkbox],.modal label input[type=radio]{min-width:20px!important;min-height:20px!important;width:20px!important;height:20px!important;flex:0 0 20px!important}
.chargeSwitch{min-width:44px;min-height:44px}
.premiumShell #view .rechargePeriodKpisV2 strong em,.premiumShell .connectedMonthStats strong em{font-size:max(12px,.7em)!important}
body.myveMemberPage .premiumShell #view :is(small,.small,.myveStageEyebrow,.myveCockpitGaugeNote,.energyTimelineLabels,.energyLegend,.tripGeoLinks){font-size:max(12px,.8rem)!important;line-height:1.45}
.premiumShell #view .myveCockpitReadout em{font-size:14px!important}
@media(max-width:959px){
 .premiumShell .chargeSimpleHeader,.premiumShell .chargeSimpleSave,.premiumShell .statisticsFootnote{padding-inline:16px}
 body.myveMemberPage .myveAutomotiveShell.premiumShell #view.memberSubpage{box-sizing:border-box;padding-inline:16px}
 body.myveMemberPage .myveAutomotiveShell.premiumShell #view.memberSubpage>.headrow,
 body.myveMemberPage .myveAutomotiveShell.premiumShell #view.memberSubpage .statisticsFootnote{padding-inline:0}
}

/* Keep dated states readable without stretching mobile status cards. */
.vehicleStatusAge{font-size:12px;line-height:1.4;color:#a7b9c7}
.vehicleStatusSeparator{display:none}
@media(max-width:600px){
 body.myveMemberPage .myveCockpitVehicleDetails{padding-inline:0!important}
 body.myveMemberPage .myveCockpitVehicleDetails>.premiumHeroShowcase,
 body.myveMemberPage .myveCockpitVehicleDetails>.legacyHeroStatus{padding-inline:16px}
 body.myveMemberPage .myveCockpitVehicleDetails .legacyStatusGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:stretch}
 body.myveMemberPage .myveCockpitVehicleDetails .legacyStatusGrid>.legacyStatus{box-sizing:border-box;min-height:0;padding:12px;gap:8px;align-items:center}
 body.myveMemberPage .myveCockpitVehicleDetails .legacyStatusGrid>.legacyStatus>span{flex:0 0 24px;width:24px}
 body.myveMemberPage .myveCockpitVehicleDetails .legacyStatusGrid>.legacyStatus>span>svg{width:24px;height:24px}
 body.myveMemberPage .myveCockpitVehicleDetails .legacyStatusGrid .legacyStatus small{font-size:12px!important;line-height:1.35;letter-spacing:0;text-transform:none}
 body.myveMemberPage .myveCockpitVehicleDetails .legacyStatusGrid .legacyStatus strong{font-size:15px;line-height:1.35;white-space:normal;overflow:visible;text-overflow:clip}
 body.myveMemberPage .myveCockpitVehicleDetails .vehicleStatusAge{font-size:12px;white-space:normal;overflow-wrap:normal}
 body.myveMemberPage .myveCockpitVehicleDetails .vehicleDepartureStatus,
 body.myveMemberPage .myveCockpitVehicleDetails .myveBatterySohStatus{grid-column:1/-1}
 body.myveMemberPage .myveCockpitVehicleDetails .vehicleDepartureStatus>div{width:100%;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px}
 body.myveMemberPage .myveCockpitVehicleDetails .legacyStatus.myveBatterySohStatus{grid-template-columns:24px minmax(0,1fr);align-content:start;column-gap:8px;row-gap:0}
 body.myveMemberPage .myveCockpitVehicleDetails .myveBatterySohReading{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}
 body.myveMemberPage .myveCockpitVehicleDetails .myveBatterySohReading small{flex:1}
 body.myveMemberPage .myveCockpitVehicleDetails .myveBatterySohValue{flex-shrink:0}
 body.myveMemberPage .myveCockpitVehicleDetails .legacyStatus.myveBatterySohStatus .myveBatterySohInfo{grid-column:2;grid-row:2;justify-self:stretch;max-width:none;font-size:12px}
 body.myveMemberPage .myveCockpitVehicleDetails .legacyStatus.myveBatterySohStatus .myveBatterySohInfo summary{min-height:44px;padding:12px 0 0;text-align:left;font-size:12px;overflow-wrap:normal}
 body.myveMemberPage .myveCockpitVehicleDetails .legacyStatus.myveBatterySohStatus .myveBatterySohInfo[open]{grid-column:1/-1}
}

/* The enlarged position map fills its dialog instead of keeping preview height. */
.vehiclePositionModal{box-sizing:border-box;grid-template-columns:minmax(0,1fr)}
.vehiclePositionModal .vehicleMapDialog{box-sizing:border-box;display:flex;flex-direction:column;width:100%;max-width:1040px;min-width:0;max-height:100%;height:min(760px,90dvh)}
.vehiclePositionModal .vehicleMapHeader,.vehiclePositionModal .vehicleMapFooter{flex:0 0 auto;min-width:0;box-sizing:border-box}
.vehiclePositionModal .vehicleMapHeader h2{flex:1;min-width:0;font-size:clamp(18px,5vw,24px);line-height:1.25;overflow-wrap:anywhere}
.vehiclePositionModal .vehicleMapClose{flex:0 0 44px;width:44px;height:44px}
.vehiclePositionModal .vehicleSingleMap{flex:1 1 0;min-width:0;min-height:0;height:auto;border-radius:0}
.vehiclePositionModal .vehicleSingleMap .tripGeoFrame{height:100%;min-height:0}
.vehiclePositionModal .tripGeoFrame[data-map-state=partial]{display:block}
.vehiclePositionModal .tripGeoFrame[data-map-state=partial] .tripGeoCanvas{position:absolute;inset:0;height:100%}
.vehiclePositionModal .tripGeoFrame[data-map-state=partial] .tripGeoStatus{position:absolute;inset:auto 8px 32px;max-height:45%;overflow:auto;box-sizing:border-box;border:1px solid #456879;border-radius:10px;background:#0a202fea}
.vehiclePositionModal .leaflet-control-attribution{box-sizing:border-box;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.vehiclePositionModal .vehicleMapFooter{flex-wrap:wrap}
.vehiclePositionModal .vehicleMapFooter .btn{box-sizing:border-box;max-width:100%;min-height:44px;white-space:normal}
@media(max-width:700px){
 .vehiclePositionModal{padding:max(8px,env(safe-area-inset-top,0px)) max(8px,env(safe-area-inset-right,0px)) max(8px,env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px));align-items:center}
 .vehiclePositionModal .vehicleMapDialog{height:calc(100vh - 16px);height:calc(100dvh - 16px);border-radius:16px}
 .vehiclePositionModal .vehicleMapHeader{padding:12px;gap:10px}
 .vehiclePositionModal .vehicleMapFooter{padding:12px;gap:10px}
 .vehiclePositionModal .vehicleMapFooter p{margin:0;font-size:12px;line-height:1.4}
 .vehiclePositionModal .vehicleMapFooter .btn{padding:10px 12px;font-size:14px}
}

/* Local VIN hints stay separate from the member's stored preference. */
.batteryDetection{box-sizing:border-box;min-width:0;margin:12px 0;padding:14px 16px;border:1px solid #315562;border-radius:12px;background:#0b2530;color:#d9ecf3}
.batteryDetection p{margin:0;line-height:1.55;overflow-wrap:anywhere}.batteryDetection p+p{margin-top:6px}.batteryDetection.isDetected{border-color:#317668}.batteryDetection.needsConfirmation{border-color:#826e3c}
.batteryDetection .textButton{min-height:44px;text-align:left}.batteryDetectionSource{margin-top:6px;font-size:12px;color:#adc6d4}.batteryDetectionSource summary{min-height:44px;cursor:pointer;display:flex;align-items:center}.batteryDetectionSource a{display:inline-flex;min-height:44px;align-items:center}
.adminBatteryReview{margin:16px 0;padding:16px}.adminBatteryReview>summary{cursor:pointer;min-height:44px;font-weight:700;line-height:1.5}.batteryReviewRow{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 0;border-top:1px solid #294553}.batteryReviewRow>div{min-width:0}.batteryReviewRow p{margin:5px 0 0;line-height:1.5;overflow-wrap:anywhere}.batteryReviewRow button{min-height:44px;flex-shrink:0}
@media(max-width:600px){.batteryReviewRow{align-items:flex-start;flex-direction:column;gap:8px}.batteryDetection{border-radius:10px}.batteryDetectionSource{font-size:12px}}
.myveCircleLogo,.brandLogoLink,.seasonLogoPreview{position:relative;overflow:visible}
.seasonLogoDecoration{position:absolute!important;top:-8px!important;right:-8px!important;left:auto!important;width:26px!important;height:26px!important;max-width:26px!important;object-fit:contain!important;pointer-events:none;animation:none!important;transform:none!important;z-index:2}
.myveCockpitVehicle .myveStageVisual,.vehicleHeroVisual .legacyCarVisual{position:relative}
.seasonVehicleDecoration{position:absolute!important;top:3%!important;right:20%!important;left:auto!important;width:clamp(34px,13%,64px)!important;height:auto!important;max-height:76px!important;object-fit:contain!important;pointer-events:none;animation:none!important;transform:none!important;filter:drop-shadow(0 3px 5px #00141b99);z-index:3}
.seasonVehicleGreeting{box-sizing:border-box;position:absolute;bottom:0;left:50%;transform:translateX(-50%);z-index:4;width:max-content;max-width:90%;padding:7px 14px;border:1px solid #4bd8e64d;border-radius:999px;background:#0a202be8;color:#b8f2f6;font-family:inherit;font-size:14px;font-weight:600;line-height:1.4;text-align:center;pointer-events:none;animation:none}
.seasonVehicleGreeting[data-season="halloween"]{color:#ffd99a;border-color:#ffc47355;background:#24201ce8}
.seasonVehicleGreeting[data-season="noel"]{color:#bef2d5;border-color:#8bddb155}
/* Reserve separate rows for the greeting, activity and mileage in Mon véhicule. */
.premiumVehicleHero .vehicleHeroSummary{
 display:grid;
 gap:12px;
 align-self:flex-end;
 width:100%;
 max-width:440px;
 min-width:0;
 margin:16px 0 20px;
}
.vehicleHeroSummary .seasonVehicleGreeting{
 position:static;
 transform:none;
 justify-self:center;
 max-width:100%;
}
.vehicleHeroSummary .vehicleActivityIndicators{
 display:grid;
 gap:12px;
 justify-content:stretch;
}
.premiumVehicleHero .vehicleHeroSummary .vehicleActivityIndicator,
.premiumVehicleHero .vehicleHeroSummary .vehicleOdometer{
 box-sizing:border-box;
 width:100%;
 min-width:0;
 margin:0;
 padding:12px 16px;
 border-radius:14px;
 column-gap:12px;
}
.vehicleHeroSummary .vehicleOdometer{
 grid-template-columns:28px minmax(0,1fr);
 row-gap:4px;
}
.vehicleHeroSummary .vehicleOdometer>small{
 text-transform:none;
 letter-spacing:0;
}
.vehicleHeroSummary .vehicleOdometer>span{
 display:grid;
 place-items:center;
}
.vehicleHeroSummary .vehicleActivityIndicator>span:last-child{
 overflow-wrap:normal;
}
@media(max-width:600px){.seasonVehicleGreeting{padding:6px 12px;font-size:13px}}
.seasonDayBanner{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid #28616f;border-radius:16px;background:#102c36;margin-bottom:16px}
.seasonDayBanner p{flex:1;margin:0}.seasonDayBanner button{min-width:44px;min-height:44px;font:inherit;font-size:24px;background:transparent;border:0;color:inherit;cursor:pointer}
.seasonEventChoices>div{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-block:8px}.seasonEventChoices .checkRow{flex:1;margin:0}.seasonEventChoices input,#seasonMemberPreferences input{min-width:24px;min-height:24px}.seasonEventChoices label,#seasonMemberPreferences label{min-height:44px}
.seasonLogoPreview{display:inline-block;width:96px;margin-block:16px}.chargePowerReading{font-weight:600;color:#70ddc4;margin-top:16px}.chargeSlowNotice{margin-top:12px}
.adminChargeFeedback{padding:20px}.adminChargeFeedback .headrow{align-items:center;gap:12px;flex-wrap:wrap}.adminChargeFeedback h2{margin:0}.adminChargeFeedbackList{list-style:none;padding:0;margin:12px 0;max-height:320px;overflow-y:auto}.adminChargeFeedbackList li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #ffffff18}.adminChargeFeedbackList li span{min-width:0;overflow-wrap:anywhere}.adminChargeFeedbackList button{flex-shrink:0;padding:10px 12px;min-height:44px}.adminChargeFeedback [hidden]{display:none}
