.vehicle-card{padding:14px 0;min-width:0}.vehicle-card h3{margin:0 0 6px}.vehicle-source{color:#9cebd2;margin:0 0 14px}.vehicle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 16px}.vehicle-grid>div{padding:12px;background:#122c3a;border:1px solid #2a4958;border-radius:12px;min-width:0}.vehicle-grid dt{font-size:.78rem;color:#a8bdc8;line-height:1.35}.vehicle-grid dd{margin:5px 0 0;font-weight:700;font-size:1.08rem;overflow-wrap:anywhere}.vehicle-time{font-size:.82rem;margin:5px 0;overflow-wrap:anywhere}.vehicle-notice{border-left:3px solid #e9be66;padding:8px 12px;font-size:.86rem;color:#f0cf8d}.vehicle-note,.vehicle-connect p{font-size:.84rem;line-height:1.5;color:#b6c8d1}.vehicle-connect form{display:grid;gap:8px}.vehicle-connect input,.vehicle-connect button{width:100%;min-height:44px;box-sizing:border-box}.vehicle-connect a{color:#a2ecd5;margin:5px 0 10px}#myVehicle{margin-top:16px}#myVehicle[hidden]{display:none}@media(max-width:360px){.vehicle-grid{gap:7px}.vehicle-grid>div{padding:9px}}
.vehicle-booking{padding:12px;margin:12px 0;border:1px solid #2a4958;border-radius:12px}.vehicle-booking>label{display:flex;align-items:center;gap:10px;min-height:44px;font-weight:650}.vehicle-booking input[type=checkbox]{width:24px;min-width:24px;height:24px;margin:0}.vehicle-booking .vehicle-grid label{font-size:.8rem;min-width:0}.vehicle-booking input[type=number]{display:block;width:100%;box-sizing:border-box;min-height:44px;margin-top:5px}.vehicle-booking[hidden],#bookingStationEstimate[hidden]{display:none}

.vehicle-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.vehicle-actions button{min-height:44px;flex:1 1 180px}.vehicle-actions[hidden]{display:none}#myVehicle{scroll-margin-top:16px}#myVehicle [role=status]{overflow-wrap:anywhere}

/* Richard's vehicle stays between the measured power and the existing wallbox. */
.station-overview.has-vehicle-visual{grid-template-columns:minmax(0,.8fr) minmax(0,1.8fr) minmax(0,.75fr);grid-template-areas:'status status status' 'power vehicle art';gap:8px 6px}
.has-vehicle-visual .charging-display{padding:0}.has-vehicle-visual .power{gap:5px}.has-vehicle-visual .power>span:first-child{font-size:clamp(42px,4.4vw,76px);letter-spacing:-3px}.has-vehicle-visual .power>span:last-child{font-size:clamp(23px,2.4vw,40px);letter-spacing:-1px}
.vehicle-visual{grid-area:vehicle;min-width:0;width:100%;margin:0;text-align:center;align-self:center;--battery-color:#59e6a4}
.vehicle-visual-title{font-size:clamp(11px,1.1vw,16px);font-weight:600;line-height:1.2;letter-spacing:.04em;color:#e0ecf1;margin:0 0 -4px}
.vehicle-visual-scene{width:100%;aspect-ratio:3/2;position:relative;isolation:isolate}
.vehicle-visual-scene img,.vehicle-visual-scene svg{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}
.vehicle-visual-scene svg{overflow:visible}.vehicle-battery-cell{fill:var(--battery-color);fill-opacity:.88;stroke:#e7fff1;stroke-opacity:.38;stroke-width:.8}
.vehicle-visual-value{display:flex;align-items:baseline;justify-content:center;gap:5px;line-height:1.1;margin-top:-3px;font-variant-numeric:tabular-nums}
.vehicle-visual-soc{font-size:clamp(22px,2.4vw,36px);font-weight:750;color:var(--battery-color);letter-spacing:-.7px}
.vehicle-visual-unit{font-size:10px;color:#b5cbd6}.vehicle-visual-source{display:block;color:#acbfca;font-size:10px;line-height:1.3;margin-top:4px}
.vehicle-visual[data-state=reserve]{--battery-color:#ffc565}.vehicle-visual[data-state=low]{--battery-color:#ff9292}.vehicle-visual[data-state=stale]{--battery-color:#b5b7b7}.vehicle-visual[data-state=stale] .vehicle-visual-source{color:#edc782}.vehicle-visual[data-state=unknown]{--battery-color:#aebdc5}
@media(max-width:760px){.station-overview.has-vehicle-visual{grid-template-columns:minmax(0,.82fr) minmax(0,1.85fr) minmax(0,.65fr);gap:8px 1px}.has-vehicle-visual .power{gap:3px}.has-vehicle-visual .power>span:first-child{font-size:clamp(29px,8vw,49px);letter-spacing:-1.8px}.has-vehicle-visual .power>span:last-child{font-size:clamp(17px,4.6vw,29px);letter-spacing:-.5px}.vehicle-visual-title{font-size:11px}.vehicle-visual-soc{font-size:24px}.vehicle-visual-source{font-size:9px;min-height:12px}.vehicle-visual-unit{font-size:9px}.has-vehicle-visual .station-art{width:100%;min-width:0}}
@media(prefers-reduced-motion:reduce){.vehicle-visual *{animation:none!important;transition:none!important}}
@media(max-width:760px){.has-vehicle-visual .power{flex-direction:column;align-items:flex-start;gap:2px}.has-vehicle-visual .power>span:last-child{font-size:16px;letter-spacing:0;color:#b6cdd9}}

/* Clear battery blocks and readable SOC; motion never changes the fill level. */
.vehicle-visual{--battery-color:#68ff83}
.vehicle-battery-case{fill:#04161d;stroke:#d4ffff;stroke-width:1.15;vector-effect:non-scaling-stroke}
.vehicle-battery-empty{fill:#102832;stroke:#446b78;stroke-width:.4;vector-effect:non-scaling-stroke}
.vehicle-battery-charge{fill:var(--battery-color);filter:drop-shadow(0 0 9px #32ffbb)}
.vehicle-battery-cell{fill:inherit;fill-opacity:1;stroke:#e5fff7;stroke-opacity:.8;stroke-width:.55;vector-effect:non-scaling-stroke}
.vehicle-visual-value{width:max-content;max-width:100%;margin:0 auto;padding:5px 10px;gap:6px;border:1px solid var(--battery-color);border-radius:10px;background:#04191c;box-shadow:0 0 12px #34ff9b28}
.vehicle-visual-soc{font-size:clamp(29px,2.7vw,42px);line-height:1;font-weight:800;color:#effff5;letter-spacing:-.6px}
.vehicle-visual-unit{font-size:11px;font-weight:600;color:var(--battery-color)}
.vehicle-visual-source{font-size:10px;color:#d1e3ec;margin-top:5px;line-height:1.35}
.vehicle-visual[data-state=stale] .vehicle-battery-charge,.vehicle-visual[data-state=unknown] .vehicle-battery-charge{filter:none}
.vehicle-visual[data-state=stale] .vehicle-visual-value,.vehicle-visual[data-state=unknown] .vehicle-visual-value{box-shadow:none}
.station-overview:has(.station-art[data-mode=charging]) .vehicle-visual[data-charging=true][data-motion=on] .vehicle-battery-charge{animation:enyaq-battery-pulse 2.2s ease-in-out infinite}
.station-overview:has(.station-art[data-mode=charging]) .vehicle-visual[data-charging=true][data-motion=on] .vehicle-visual-value{animation:enyaq-battery-halo 2.2s ease-in-out infinite}
@keyframes enyaq-battery-pulse{0%,100%{fill:#30ddff;opacity:.82}50%{fill:#9fff57;opacity:1}}
@keyframes enyaq-battery-halo{0%,100%{border-color:#30ddff;box-shadow:0 0 5px #30ddff44}50%{border-color:#9fff57;box-shadow:0 0 15px #73ff6966}}
@media(max-width:760px){.vehicle-visual-soc{font-size:29px}.vehicle-visual-value{padding:4px 8px;gap:5px}.vehicle-visual-unit{font-size:10px}.vehicle-visual-source{font-size:10px}}
@media(prefers-reduced-motion:reduce){.vehicle-visual .vehicle-battery-charge,.vehicle-visual .vehicle-visual-value{animation:none!important}}

/* An older SOC stays explicitly dated; live own charging keeps its vivid indicator. */
.station-overview:has(.station-art[data-mode=charging]) .vehicle-visual[data-charging=true]{--battery-color:#68ff83}
.station-overview:has(.station-art[data-mode=charging]) .vehicle-visual[data-charging=true] .vehicle-battery-charge{filter:drop-shadow(0 0 9px #32ffbb)}

/* One responsive scene: power beside the car, a larger wallbox and a live cable. */
.station-overview.has-vehicle-visual{position:relative;grid-template-columns:minmax(0,.62fr) minmax(0,1.95fr) minmax(0,.82fr);column-gap:2px}
.has-vehicle-visual .charging-display{justify-self:end;text-align:right;z-index:2}
.has-vehicle-visual .power{justify-content:flex-end}
.has-vehicle-visual .station-art{aspect-ratio:550/740;align-self:center;width:90%;transform:translateY(12%);overflow:hidden;z-index:2}
.has-vehicle-visual .station-art .modern-wallbox{aspect-ratio:550/740;width:100%;height:100%;overflow:hidden}
.vehicle-connection-cable{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3;overflow:visible}
.vehicle-connection-cable[hidden],.vehicle-connection-note[hidden]{display:none}
.vehicle-cable-shadow,.vehicle-cable-body,.vehicle-cable-light{fill:none;stroke-linecap:round;stroke-linejoin:round}
.vehicle-cable-shadow{stroke:#03131e;stroke-width:7}
.vehicle-cable-body{stroke:#276ca0;stroke-width:4.5}
.vehicle-cable-light{stroke:#7dbcf1;stroke-width:1.3;opacity:.65}
.has-vehicle-visual:has(.station-art[data-mode=charging])[data-cable=connected] .vehicle-cable-body{stroke:#198fe8}
.has-vehicle-visual:has(.station-art[data-mode=charging])[data-cable=connected] .vehicle-cable-light{stroke:#67edff;opacity:1;filter:drop-shadow(0 0 3px #009dff)}
.has-vehicle-visual[data-cable=unknown] .vehicle-connection-cable{opacity:.4;filter:grayscale(1)}
.has-vehicle-visual[data-cable=unknown] .vehicle-cable-light{stroke-dasharray:3 5}
.vehicle-connection-note{position:absolute;bottom:0;right:0;width:24%;z-index:4;font-size:10px;line-height:1.25;text-align:center;color:#dccba6}
@media(max-width:760px){.station-overview.has-vehicle-visual{grid-template-columns:minmax(0,.60fr) minmax(0,1.95fr) minmax(0,.79fr);column-gap:0}.has-vehicle-visual .power{align-items:flex-end}.has-vehicle-visual .station-art{width:94%;transform:translateY(14%)}.vehicle-cable-shadow{stroke-width:4.5}.vehicle-cable-body{stroke-width:2.8}.vehicle-cable-light{stroke-width:1}.vehicle-connection-note{font-size:8px;width:25%}}
.has-vehicle-visual .station-art{mix-blend-mode:lighten}

/* Limited visual rollout: the body class is granted only by the server's Richard vehicle capability. */
body.richard-home{background:#091923;color:#edf5f6;font-family:'Segoe UI',Arial,sans-serif;font-size:14px;line-height:1.45}
body.richard-home main{max-width:1440px;margin:auto;padding:0 22px}
.richard-home #dashboard{display:grid;grid-template-columns:188px minmax(0,1fr);gap:28px;align-items:start}
.richard-home .dashboard-main{min-width:0}
.richard-home .identity-sidebar{position:sticky;top:0;padding:25px 12px;min-width:0;align-self:start;border:0;background:transparent;box-shadow:none}
.richard-home .identity-sidebar>h1,.richard-home .identity-sidebar>p,.richard-home .identity-sidebar .robot-art{display:none}
.richard-home .identity-badge{display:flex;gap:10px;align-items:center;margin:0 0 24px;border:0;background:transparent;padding:10px 0}
.richard-home #identityName{font-size:15px;color:#eaf5f5;white-space:normal}.richard-home #identityRole{font-size:12px;color:#a0b8c3}
.richard-home .rh-navigation{display:grid;gap:6px;margin-top:24px}.richard-home .rh-navigation button{background:none;border:0;color:#bed5d9;text-align:left;font-size:13px;min-height:44px;padding:10px 12px;border-radius:9px}.richard-home .rh-navigation button:hover{background:#183b3e}
.richard-home .welcome{display:flex;align-items:center;gap:10px;margin:18px 0 14px}.richard-home .welcome h1{font-size:27px;margin:0;line-height:1.2}.richard-home .header-actions{margin-left:auto;display:flex;gap:8px}.richard-home .header-profile,.richard-home #refresh{min-height:40px;border-radius:9px;background:#112c38;border:1px solid #2e4b58;padding:8px 11px;font-size:12px}.richard-home .header-account{max-width:180px;font-size:12px}.richard-home .calendar-above,.richard-home #chargingMore,.richard-home .station{display:none!important}
.richard-home .rh-panel{--state:#5dceff;--state-bg:#0b3650;--state-edge:#28729a;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,1fr);background:linear-gradient(135deg,#122f3c,#0b202b);border:1px solid #294654;border-radius:20px;overflow:hidden;margin-bottom:18px;box-shadow:none;color:#eaf5f7}
.rh-panel[data-tone=amber]{--state:#ffd07c;--state-bg:#483619;--state-edge:#a67c38}.rh-panel[data-tone=green]{--state:#78e3b2;--state-bg:#153e32;--state-edge:#397e64}.rh-panel[data-tone=gray]{--state:#b2bfca;--state-bg:#26343f;--state-edge:#586773}.rh-panel[data-tone=red]{--state:#ff99a1;--state-bg:#512732;--state-edge:#b05663}
.rh-visual{padding:22px 24px 16px;min-width:0}.rh-controls{padding:23px 22px;border-left:1px solid #294654;display:flex;flex-direction:column;justify-content:center;min-width:0}.rh-status-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:23px}.rh-model{font-size:12px;color:#b9cdd6;white-space:nowrap}
.richard-home #rh-status{display:flex;gap:7px;align-items:center;background:var(--state-bg);border:1px solid var(--state-edge);padding:7px 10px;border-radius:10px;color:var(--state);min-height:35px}
.richard-home #rh-status #status{border:0;background:none;box-shadow:none;font-size:11px;line-height:1.2;letter-spacing:.25px;padding:0;white-space:normal;color:inherit;border-radius:0;gap:0}.richard-home #rh-status #status:before{display:none}.rh-symbol{font-size:14px;font-weight:750}
.rh-metrics{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;align-items:start}.rh-metrics small{display:block;color:#a6bdc8;font-size:10px;line-height:1.4}.richard-home #rh-power .power{display:flex;gap:4px;align-items:baseline;justify-content:flex-start;margin:3px 0 0;line-height:1.05;min-height:0;padding:0;color:var(--state)}
.richard-home #rh-power #power{font-size:clamp(32px,4.4vw,58px);letter-spacing:-2px;color:var(--state)}.richard-home #rh-power .power>span:last-child{font-size:16px;letter-spacing:0;color:#a0bcc8}
.rh-soc{text-align:right}.rh-soc>div{line-height:1.1;margin-top:5px}.rh-soc strong{font-size:43px;letter-spacing:-1px;color:#eef9f8}.rh-soc>div>span{font-size:18px;color:#7cddc3;margin-left:3px}.rh-soc small:last-child{font-size:9px;margin-top:7px;white-space:normal}.rh-panel[data-soc-stale=true] .rh-soc small:last-child{color:#efc783}
.rh-pv{text-align:center;margin-top:-5px}.rh-pv>span{font-size:32px;line-height:1.1;color:#ffe19c;text-shadow:0 0 15px #ecc15555;display:block}.rh-pv strong{display:block;color:#f2d998;font-size:14px;margin:4px 0}.rh-pv small{max-width:130px;margin:auto;font-size:9px}
.rh-scene{display:block;width:100%;height:auto;max-height:270px;overflow:visible;margin:0 auto -3px}.rh-scene .rh-cell{fill:#68e9c3;stroke:#d5fff6;stroke-width:1.8}.rh-scene .rh-cell-base{fill:#102b35;stroke:#acc7ce;stroke-width:2}.rh-scene .rh-case{fill:#142b34;stroke:#d8edf0;stroke-width:6}
.rh-assembly-free{display:none}.rh-panel[data-link=unplugged] .rh-assembly-connected,.rh-panel[data-link=unknown] .rh-assembly-connected,.rh-panel[data-link=other] .rh-assembly-connected{display:none}.rh-panel[data-link=unplugged] .rh-assembly-free,.rh-panel[data-link=unknown] .rh-assembly-free,.rh-panel[data-link=other] .rh-assembly-free{display:block}
.rh-panel[data-tone=amber] .rh-station-image{filter:hue-rotate(180deg) saturate(1.15)}.rh-panel[data-tone=green] .rh-station-image{filter:hue-rotate(-65deg) saturate(1.1)}.rh-panel:is([data-tone=gray],[data-tone=red]) .rh-station-image{filter:grayscale(1) brightness(.62)}
.rh-attachment{font-size:10px;line-height:1.4;color:#b0c7ce;margin:0 0 12px;min-height:14px}.rh-panel[data-tone=red] .rh-attachment,.rh-panel[data-tone=gray] .rh-attachment{color:var(--state)}
.rh-battery{height:5px;border-radius:3px;background:#324d58;overflow:hidden}.rh-battery>span{height:100%;display:block;background:#68d8bd;border-radius:3px;max-width:100%}.rh-panel[data-soc-stale=true] .rh-battery>span{background:#bdac75}
.rh-progress-caption{display:flex;justify-content:space-between;gap:12px;margin-top:6px}.richard-home #rh-flow #hint{margin:0;color:var(--state);font-size:11px;line-height:1.4;padding:0;max-width:none}.rh-progress-caption>span{font-size:10px;color:#a8c2c8;flex-shrink:0}.rh-visual #rh-estimate{font-size:11px;color:#bdded8;margin:5px 0 0}.rh-visual #rh-estimate:empty{display:none}
.richard-home #rh-facts .times{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:0;border-top:1px solid #304d59;border-radius:0;padding:14px 0 0;margin:17px 0 0;background:none;gap:10px;box-shadow:none}.richard-home #rh-facts .times>div{border:0;padding:0;display:block;min-width:0}.richard-home #rh-facts .times .time-icon{display:none}.richard-home #rh-facts .times>div>span{font-size:10px;display:block;color:#a5bfc6}.richard-home #rh-facts .times strong{font-size:16px;display:block;margin-top:5px;white-space:normal;color:#eaf4f5}.richard-home #rh-facts .energy strong{display:flex;align-items:baseline;gap:3px}.richard-home #rh-facts #energy{font-size:16px;color:#eaf4f5}.richard-home #rh-facts .energy small{font-size:9px}.richard-home #sessionLabel{display:block;font-size:8px;margin:2px 0;color:#a0b6bf}
.rh-controls-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;font-size:12px}.richard-home #rh-connection #connection{font-size:11px;margin:0;padding:0;white-space:nowrap}.richard-home #rh-connection #connection:before{width:7px;height:7px;margin-right:5px}
.richard-home #rh-control #currentAdmin{margin:0;padding:0;border:0;background:none}.richard-home #rh-control #chargingModeStatus{font-size:12px;color:#b6d2d7;margin:0 0 9px}.richard-home #rh-control .charging-mode-buttons{display:grid;grid-template-columns:1fr;gap:4px;padding:5px;border:1px solid #2e4c58;border-radius:12px;background:#0a202a;margin:0}.richard-home #rh-control .mode-choice{min-width:0;width:100%}.richard-home #rh-control .mode-art{display:none}.richard-home #rh-control .mode-choice button{display:flex;align-items:center;justify-content:flex-start;gap:8px;width:100%;min-height:44px;padding:10px 12px;font-size:13px;border:1px solid transparent;border-radius:8px;background:transparent;box-shadow:none}.richard-home #rh-control .mode-choice button:before{content:'○';font-size:18px;color:#afd5ce}.richard-home #rh-control .mode-choice button[aria-pressed=true]{background:#245c51;border-color:#50897a;color:#edfff7}.richard-home #rh-control .mode-choice button[aria-pressed=true]:before{content:'●';color:#8bf4c8}.richard-home #rh-control .mode-choice button:disabled{opacity:.48}
.richard-home #rh-control #currentForm{margin-top:12px}.richard-home #rh-control #currentForm label{font-size:12px}.richard-home #rh-control #currentSlider{min-height:30px;width:100%;padding:0}.richard-home #rh-control .range-labels{font-size:10px}.richard-home #rh-control #applyCurrent{min-height:40px;font-size:12px;background:#215746;padding:8px 12px;border:1px solid #4b8271;border-radius:8px;width:100%}
.richard-home .rh-mode-help{border:0;background:none;margin:12px 0 0;padding:0;border-radius:0}.richard-home .rh-mode-help summary{font-size:11px;color:#a8c7cc;min-height:36px;padding:8px 0}.richard-home #rh-control #chargingModeHelp{font-size:11px;line-height:1.5;color:#acc8cf}.richard-home #rh-control #currentMessage{font-size:12px}.richard-home #rh-control #currentMessage:empty{display:none}
.richard-home #rh-actions{display:grid;gap:8px;margin-top:15px}.richard-home #rh-actions button{width:100%;min-height:49px;border-radius:10px;font-size:14px;padding:11px 10px;box-shadow:none}.richard-home #rh-actions #start{background:#216d53;border:1px solid #49967b}.richard-home #rh-actions #stop{background:#a73849;border:1px solid #c6606d}.richard-home #rh-actions button:disabled{opacity:.45}.richard-home .rh-vehicle-details{margin-top:18px;min-height:40px;background:none;border:1px solid #36535f;border-radius:9px;font-size:12px;padding:8px;color:#b9d8dc}
.richard-home .rh-calendar{padding:0;background:transparent;border:0;border-bottom:1px solid #304853;border-radius:0;margin:10px 0 18px}.richard-home .rh-calendar>summary{padding:12px 0;font-size:14px;min-height:44px;color:#c3d9de}.richard-home #bookingCalendar{margin:10px 0;padding:14px;border-radius:12px;background:#102936;border:1px solid #2a4a57}.richard-home .dashboard-lower{display:block}.richard-home .dashboard-tools{display:block}.richard-home .dashboard-tools>details,.richard-home #chargingHistoryFold,.richard-home .status-help{margin:0;padding:0 2px;border:0;border-bottom:1px solid #304853;border-radius:0;background:transparent}.richard-home .dashboard-tools>details>summary,.richard-home #chargingHistoryFold>summary,.richard-home .status-help>summary{font-size:13px;min-height:50px;align-items:center;padding:15px 0;color:#cfdee3}.richard-home .updated{font-size:11px;margin:20px 0;color:#9cb7c0}.richard-home #notice{font-size:13px}.richard-home .station-overview{min-height:0}
@media(min-width:1400px){.rh-scene{max-height:310px}}
@media(max-width:1000px){.richard-home #dashboard{grid-template-columns:160px minmax(0,1fr);gap:18px}.richard-home .rh-panel{display:block}.rh-controls{border-left:0;border-top:1px solid #294654;padding:17px 22px}.richard-home #rh-control .charging-mode-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}.richard-home #rh-control .mode-choice button{justify-content:center;font-size:12px;padding:9px 5px}.rh-controls-heading{margin-bottom:10px}.rh-scene{max-height:260px}.rh-vehicle-details{margin-top:10px}.rh-visual{padding:18px 22px}}
@media(max-width:760px){body.richard-home main{padding:0 12px;max-width:none;width:100%}.richard-home #dashboard{display:block;width:100%;max-width:none;margin:0;padding:0}.richard-home .identity-sidebar{display:none}.richard-home .dashboard-main{width:100%;max-width:none;padding:0}.richard-home .welcome{margin:13px 0 11px}.richard-home .welcome h1{font-size:25px}.richard-home .header-profile{max-width:160px;padding:6px 8px}.richard-home .header-profile svg{width:15px}.richard-home .header-account{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.richard-home #refresh{font-size:0;width:36px;min-width:36px;padding:8px}.richard-home #refresh:before{content:'↻';font-size:19px}.richard-home .rh-panel{border-radius:17px;margin:0 -1px 12px}.rh-visual{padding:15px 14px 13px}.rh-status-row{margin-bottom:19px}.rh-model{font-size:10px}.richard-home #rh-status{padding:6px 8px}.richard-home #rh-status #status{font-size:9px;letter-spacing:0}.rh-metrics{gap:4px}.rh-metrics small{font-size:9px}.richard-home #rh-power #power{font-size:42px;letter-spacing:-1.5px}.richard-home #rh-power .power>span:last-child{font-size:12px}.rh-soc strong{font-size:37px}.rh-soc>div>span{font-size:15px}.rh-pv>span{font-size:27px}.rh-pv strong{font-size:12px}.rh-pv small{font-size:8px}.rh-scene{max-height:220px;margin:0 auto -6px}.rh-attachment{font-size:9px;margin:0 0 9px}.rh-soc small:last-child{font-size:8px}.richard-home #rh-flow #hint{font-size:10px}.rh-progress-caption>span{font-size:9px}.richard-home #rh-facts .times{padding-top:11px;margin-top:12px;gap:8px}.richard-home #rh-facts .times strong,.richard-home #rh-facts #energy{font-size:13px}.richard-home #rh-facts .times>div>span{font-size:9px}.rh-controls{padding:13px 14px}.rh-controls-heading{font-size:11px;margin-bottom:7px}.richard-home #rh-control #chargingModeStatus{font-size:11px;margin-bottom:7px}.richard-home #rh-control .mode-choice button{min-height:44px;font-size:11px;padding:7px 3px;gap:5px}.richard-home #rh-control .mode-choice button:before{font-size:14px}.richard-home #rh-actions{margin-top:9px}.richard-home #rh-actions button{min-height:46px}.richard-home .rh-mode-help{margin-top:6px}.richard-home .rh-vehicle-details{margin-top:10px;min-height:39px}.richard-home .rh-calendar{margin-bottom:10px}.rh-battery{height:4px}.richard-home #mobileLogout{font-size:12px}}
@media(max-width:350px){body.richard-home main{padding:0 8px}.rh-visual,.rh-controls{padding-left:11px;padding-right:11px}.richard-home #rh-power #power{font-size:35px}.rh-soc strong{font-size:32px}.rh-model{font-size:9px}.rh-metrics small{font-size:8px}.richard-home .header-profile{max-width:129px}.richard-home .header-account{max-width:91px}.richard-home .welcome h1{font-size:23px}.rh-pv strong{font-size:11px}}
@media(prefers-reduced-motion:no-preference){.rh-panel[data-flow=true]:not(.rh-motion-off) .rh-cell{animation:rh-charge 2.5s ease-in-out infinite}.rh-panel[data-flow=true]:not(.rh-motion-off) #rh-state-symbol{animation:rh-signal 2.5s ease-in-out infinite}@keyframes rh-charge{50%{fill:#59cfff}}@keyframes rh-signal{50%{text-shadow:0 0 12px #67d8ff;color:#d7f8ff}}}
.richard-home [hidden]{display:none!important}
.richard-home .dashboard-tools>details>summary{padding-right:8px}.richard-home .mode-choice:after{display:none}.richard-home #rh-actions button .button-icon{margin-right:7px}
body.richard-home #dashboard .identity-sidebar{background:transparent;box-shadow:none;border:0;padding:20px 10px} .richard-home .sidebar-links{display:flex;flex-direction:column;order:2;margin-top:24px}.richard-home .sidebar-links>button:not(#logout){display:none}.richard-home .identity-sidebar{display:flex;flex-direction:column}.richard-home .rh-navigation{order:1;margin-top:0}.richard-home .identity-badge{order:0}.richard-home #rh-actions button:before{margin-right:7px}
@media(max-width:760px){body.richard-home #dashboard .identity-sidebar{display:none}}

.rh-car-status{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:4px 0 12px;border-top:1px solid #31515e;padding-top:9px}.rh-car-status small{display:block;font-size:10px;color:#9ab8c2}.rh-car-status strong{font-size:12px;color:#bce9dc}.rh-car-status strong.rh-warning{color:#ffce7a}.rh-car-status p{grid-column:1/-1;font-size:9px;margin:0;color:#9db8c2}.rh-scene .rh-window-alert,.rh-scene .rh-door-alert{display:none;fill:#ffa83e;fill-opacity:.57;stroke:#ffd38a;stroke-width:5;stroke-linejoin:round}.rh-panel[data-windows=true] .rh-window-alert,.rh-panel[data-doors=true] .rh-door-alert{display:block}
.rh-climate{margin-top:15px;border-top:1px solid #34515d;padding-top:15px}.rh-climate-title{display:flex;justify-content:space-between;font-size:13px;gap:10px}.rh-climate-title span{color:#a8cabf;font-size:12px}.rh-climate form{display:grid;gap:8px;margin-top:12px}.rh-climate label{display:flex;gap:9px;align-items:center;font-size:12px;justify-content:space-between}.rh-climate select{width:95px}.rh-climate .rh-check{justify-content:flex-start;font-size:10px}.rh-climate .rh-check input{width:17px;height:17px;min-height:17px;margin:0}.rh-climate p{font-size:10px;margin:7px 0;color:#abc5cc}.rh-climate #rh-climate-actions{display:flex;gap:7px}.richard-home .rh-climate button{font-size:11px;min-height:41px;padding:8px 10px;border-radius:8px;background:#245a4f;border:1px solid #487e70;flex:1}.richard-home .rh-climate button:last-child{background:#13313d;border-color:#3d5e6a;flex:0 0 auto}
.rh-location{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#112b37;border:1px solid #34515f;border-radius:12px;margin:0 0 17px}.rh-location small{display:block;color:#a4bec7;font-size:10px}.rh-location strong{display:block;font-size:12px;margin:3px 0;overflow-wrap:anywhere}.rh-location a{display:flex;align-items:center;min-height:44px;white-space:nowrap;color:#a7ecd0;font-size:12px}
.rh-car-functions{padding:12px 0;border-top:1px solid #42626e;margin-top:15px}.rh-car-functions h3{font-size:18px}.rh-car-functions p{font-size:12px;line-height:1.5;color:#bacdd2}.rh-car-functions button{min-height:44px;border-radius:8px;padding:9px 13px;font-size:12px;margin:6px 5px 6px 0;background:#16463e;border:1px solid #487c6b}.rh-car-functions .rh-car-form{display:grid;gap:10px;padding:13px 0}.rh-car-form label{display:grid;gap:5px;font-size:12px}.rh-car-form input,.rh-car-form select,.rh-climate select{min-height:40px;color:#edf8f7;border:1px solid #486776;border-radius:8px;padding:7px 9px;background:#102b38;font-size:13px}.rh-car-form input[type=checkbox]{width:20px;height:20px;min-height:20px;display:inline-block}.rh-car-form fieldset{border:1px solid #3a5d67;border-radius:10px;display:grid;gap:8px;padding:12px;min-width:0}.rh-car-form fieldset legend{font-size:12px;padding:0 5px}.rh-days{display:grid;grid-template-columns:1fr 1fr;gap:5px}.rh-days label{display:flex;align-items:center}.rh-command-message:empty,#rh-climate-message:empty{display:none}.rh-command-message{color:#f2cf86!important}.richard-home button:disabled{cursor:not-allowed}
.rh-confirm{max-width:420px;width:calc(100% - 28px);box-sizing:border-box;color:#eaf5f7;background:#112c38;border:1px solid #56817f;border-radius:16px;padding:22px}.rh-confirm::backdrop{background:#020d16bb}.rh-confirm h3{margin-top:0}.rh-confirm p{line-height:1.5}.rh-confirm>div{display:flex;gap:10px}.rh-confirm button{min-height:44px;padding:10px;border-radius:9px;border:1px solid #56817f;background:#205448;color:#fff;flex:1}


/* Shared HTML raster layers avoid SVG image filter differences on iOS. */
.rh-art-wrap{position:relative;width:min(100%,525px);aspect-ratio:720/370;margin:0 auto -3px}.rh-art-wrap .rh-scene{display:block;width:100%;height:100%;max-height:none;margin:0}.rh-art-wrap>img{position:absolute;object-fit:contain;pointer-events:none}/* Charging socket is anchored to the rear quarter panel, above the wheel arch. */
.rh-art-wrap>.rh-assembly-connected{left:69.3056%;top:15.1351%;width:29.1667%;height:56.7568%}.rh-art-wrap>.rh-assembly-free{left:70.1389%;top:26.2162%;width:30.2778%;height:60.8108%}
.rh-panel[data-tone=blue] .rh-station-image{filter:none;-webkit-filter:none}.rh-panel[data-tone=amber] .rh-station-image{filter:hue-rotate(180deg) saturate(1.15);-webkit-filter:hue-rotate(180deg) saturate(1.15)}.rh-panel[data-tone=green] .rh-station-image{filter:hue-rotate(-65deg) saturate(1.1);-webkit-filter:hue-rotate(-65deg) saturate(1.1)}.rh-panel[data-tone=red] .rh-station-image{filter:hue-rotate(145deg) saturate(1.3);-webkit-filter:hue-rotate(145deg) saturate(1.3)}.rh-panel[data-tone=gray] .rh-station-image{filter:grayscale(1) brightness(.62);-webkit-filter:grayscale(1) brightness(.62)}
@media(min-width:1400px){.rh-art-wrap{width:min(100%,603px)}}@media(max-width:1000px){.rh-art-wrap{width:min(100%,506px)}}@media(max-width:760px){.rh-art-wrap{width:min(100%,428px)}}

/* Refined Richard dashboard: consistent icons, compact controls and readable statistics. */
.rh-icon{width:19px;height:19px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
body.richard-home #rh-control .mode-choice button:before,body.richard-home #rh-actions button:before{content:none;display:none}
.richard-home #rh-control .mode-choice .rh-icon{width:18px;height:18px;color:#a6d8cf}.richard-home #rh-control .mode-choice button[aria-pressed=true] .rh-icon{color:#90f0ca}
.richard-home #rh-actions button{display:flex;align-items:center;justify-content:center;gap:9px}.richard-home #rh-actions .rh-icon{width:20px;height:20px}
.rh-vehicle-details{display:flex;align-items:center;justify-content:center;gap:8px}.rh-vehicle-details .rh-icon{width:15px;height:15px}
.richard-home .rh-battery{height:7px;border-radius:5px}.richard-home .rh-battery>span,.richard-home .rh-panel[data-soc-stale=true] .rh-battery>span{background:var(--soc-color,#718791);transition:width .55s ease,background-color .55s ease;box-shadow:0 0 12px var(--soc-color);border-radius:5px}
.richard-home #rh-facts .times{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}.richard-home #rh-facts .times>div{min-width:0;min-height:42px;background:none;box-shadow:none;border-radius:0;position:static;overflow-wrap:anywhere}.richard-home #rh-facts .times>div>span{line-height:1.4}.richard-home #rh-facts .times strong{line-height:1.35;letter-spacing:0;margin-top:3px;font-size:17px}.richard-home #rh-facts .energy strong{flex-wrap:wrap;gap:4px}.richard-home #rh-facts #energy{font-size:17px;line-height:1.35}.richard-home #rh-facts .energy strong small{font-size:11px;white-space:nowrap}.richard-home #sessionLabel{font-size:9px;line-height:1.4;letter-spacing:0}
.rh-climate-title strong{display:flex;gap:7px;align-items:center}.rh-climate-title .rh-icon{width:18px;height:18px;color:#91dacc}.rh-climate-title span{line-height:1.5;text-align:right}
.rh-climate form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:9px;margin-top:10px}.rh-climate .rh-temperature{display:flex;flex-direction:column;align-items:flex-start;gap:5px;font-size:10px;color:#b9cdd4}.rh-temperature-stepper{display:flex;align-items:center;border:1px solid #3b5e68;border-radius:10px;background:#102b38;max-width:100%}
.richard-home .rh-climate .rh-temperature-step{width:38px;min-width:38px;min-height:44px;padding:0;font-size:22px;background:transparent;border:0;flex:0 0 38px;color:#b4eedb}.rh-climate .rh-temperature-stepper select{width:80px;min-width:0;padding:7px 0;border:0;min-height:44px;background:transparent;text-align:center;font-size:16px;color:#ecfbf7;font-variant-numeric:tabular-nums}
.rh-climate .rh-check{grid-column:1/-1;grid-row:2;font-size:11px;min-height:32px;line-height:1.3;margin:0}.rh-climate #rh-climate-actions{grid-column:2;grid-row:1;display:flex;gap:6px;align-items:center}.richard-home .rh-climate #rh-climate-actions button{min-height:46px;font-size:12px;padding:8px 10px;margin:0;line-height:1.2}.rh-climate p{font-size:10px;line-height:1.4}.rh-climate #rh-climate-time{margin:5px 0 0}
.rh-location>div{min-width:0}.rh-location a{flex:0 0 auto;gap:7px;padding:0 13px;border-radius:10px;border:1px solid #487269;background:#153e37;text-decoration:none;font-weight:600}.rh-location a .rh-icon{width:18px;height:18px}.rh-location a:hover{background:#23584b}
@media(min-width:1400px){.richard-home #rh-facts .times{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:1001px) and (max-width:1270px){.rh-climate form{grid-template-columns:1fr}.rh-climate #rh-climate-actions{grid-column:1;grid-row:2}.rh-climate .rh-check{grid-row:3}}
@media(max-width:760px){.richard-home #rh-facts .times{gap:10px 16px}.richard-home #rh-facts .times>div>span{font-size:10px}.richard-home #rh-facts .times strong,.richard-home #rh-facts #energy{font-size:15px}.rh-climate{padding-top:12px;margin-top:12px}.rh-location{gap:10px;padding:11px}.rh-location a{padding:0 10px;font-size:11px}.rh-location strong{font-size:11px}.rh-location small{font-size:9px}}
@media(max-width:360px){.rh-climate form{grid-template-columns:1fr}.rh-climate .rh-temperature{flex-direction:row;align-items:center;justify-content:space-between;width:100%}.rh-climate #rh-climate-actions{grid-column:1;grid-row:2}.rh-climate #rh-climate-actions button{flex:1}.rh-climate .rh-check{grid-row:3}}
@media(prefers-reduced-motion:reduce){.richard-home .rh-battery>span{transition:none}}
.richard-home .rh-climate .rh-temperature-step{margin:0}.rh-climate form{margin-bottom:0}.rh-climate .rh-temperature-stepper select{min-height:44px!important;height:44px}.rh-climate .rh-temperature-step{height:44px;min-height:44px!important}.rh-climate .rh-check{min-height:44px!important}
.rh-art-wrap>.rh-assembly-free{mix-blend-mode:lighten}


/* One SOC color is shared by the battery pack and its progress line. */
.richard-home .rh-scene .rh-cell{fill:var(--soc-color,#718791);stroke:#e1f4f2;transition:fill .55s ease,opacity .55s ease}
.richard-home .rh-panel[data-flow=true]:not(.rh-motion-off) .rh-cell{animation:rh-soc-glow 2.5s ease-in-out infinite}
@keyframes rh-soc-glow{0%,100%{filter:drop-shadow(0 0 1px var(--soc-color))}50%{filter:drop-shadow(0 0 5px var(--soc-color))}}
.rh-port-open{display:none}.rh-panel:is([data-link=connected],[data-link=last-connected]) .rh-port-open{display:block}
.rh-panel[data-link=last-connected] .rh-port-open{opacity:.6}
/* Soft material, restrained highlights, clear active and disabled states. */
.richard-home .rh-panel{background:radial-gradient(ellipse at 25% 0,#24495566,transparent 64%),linear-gradient(145deg,#142f3b,#0b202c);border-color:#415e686e;box-shadow:inset 0 1px 0 #e5fbff13,0 10px 26px #020e1628;border-radius:23px}
.richard-home .rh-controls{background:linear-gradient(140deg,#14303c55,#0b202955)}
.richard-home :is(.rh-panel button,.rh-location a,.header-profile,#refresh,.rh-navigation button){background-image:linear-gradient(180deg,#ecfbff0c,#06172212);box-shadow:inset 0 1px 0 #e5ffff20,inset 0 -1px 0 #0003,0 3px 7px #03121a28;transition:background-color .16s ease,box-shadow .16s ease,transform .16s ease;border-radius:12px}
.richard-home :is(.rh-panel button,.rh-location a,.header-profile,#refresh):not(:disabled):active{transform:translateY(1px);box-shadow:inset 0 2px 4px #0003}
.richard-home #rh-control .charging-mode-buttons{padding:5px;border-color:#3f626b;background:linear-gradient(160deg,#09212a,#1b3640);border-radius:15px;box-shadow:inset 0 2px 5px #0002}
.richard-home #rh-control .mode-choice button{border-radius:10px;color:#d8e9ec;box-shadow:inset 0 1px #ecffff12;background:linear-gradient(160deg,#2a4c5540,#18303a26)}
.richard-home #rh-control .mode-choice button[aria-pressed=true]{background:linear-gradient(160deg,#357d6b,#205a4e);border-color:#7cccc08c;color:#f0fff9;box-shadow:inset 0 1px #c1ffe74d,0 3px 7px #001b164d}
.richard-home #rh-control .mode-choice .rh-icon{filter:drop-shadow(0 1px 1px #041e24);stroke-width:1.8}
.richard-home #rh-actions #start{background:linear-gradient(160deg,#308e70,#176049);border-color:#81d6b27d;box-shadow:inset 0 1px #cbffec44,0 4px 11px #00150e44}
.richard-home #rh-actions #stop{background:linear-gradient(160deg,#bd5061,#922b40);border-color:#ffa8b67d;box-shadow:inset 0 1px #ffe0e544,0 4px 11px #26081144}
.richard-home #rh-actions button{border-radius:14px;font-weight:600;min-height:48px}.richard-home #rh-actions button:disabled{opacity:.42;box-shadow:inset 0 1px #ffffff14}
.richard-home .rh-vehicle-details{background:linear-gradient(160deg,#284651aa,#16323daa);border-color:#5576828c;box-shadow:inset 0 1px #e0ffff17}
.rh-temperature-stepper{background:linear-gradient(145deg,#223f4b,#122b37);border-color:#5474808f;box-shadow:inset 0 1px #d9f8ff1e,inset 0 -1px #0002;border-radius:13px}
.richard-home .rh-climate .rh-temperature-step{border-radius:10px;box-shadow:none;background:radial-gradient(ellipse at 50% 10%,#a1e6df12,transparent 75%)}
.richard-home .rh-climate #rh-climate-actions button{background:linear-gradient(150deg,#367662,#215343);border-color:#73b89e7a;box-shadow:inset 0 1px #c4ffe331,0 3px 6px #0317133b;border-radius:11px}
.richard-home .rh-climate #rh-climate-actions button:last-child{background:linear-gradient(150deg,#294650,#18323c);border-color:#61818a7a}
.rh-location{background:linear-gradient(140deg,#173440,#102b36);border-color:#4467738f;box-shadow:inset 0 1px #deffff10}.richard-home .rh-location a{background:linear-gradient(150deg,#2c6759,#1b463e);box-shadow:inset 0 1px #c2ffe22e,0 3px 8px #03171333}
.richard-home .rh-status-row{margin-bottom:24px;gap:12px;min-height:38px;align-items:center}.richard-home #rh-status{box-shadow:inset 0 1px #ffffff17,0 3px 7px #00111c24;border-radius:11px;max-width:calc(100% - 84px)}
.richard-home .rh-metrics{column-gap:10px;align-items:start}.richard-home .rh-model{color:#bfd0d8}.richard-home .rh-soc>div>span{color:#cadfdc}
@media(max-width:760px){.richard-home .rh-status-row{margin-bottom:20px;gap:9px}.richard-home .rh-metrics{column-gap:7px}.richard-home .rh-panel{border-radius:20px}.richard-home .rh-visual{padding-top:17px}}
@media(prefers-reduced-motion:reduce){.richard-home .rh-panel[data-flow=true] .rh-cell{animation:none}.richard-home .rh-scene .rh-cell{transition:none}.richard-home :is(.rh-panel button,.rh-location a,.header-profile,#refresh){transition:none}}

/* Prominent, calm booking entry immediately above the charging overview. */
body.richard-home .rh-calendar{margin:0 0 13px;border:1px solid #5fdbb26b;border-radius:17px;background:linear-gradient(135deg,#21493f,#12362f);box-shadow:inset 0 1px #ceffee19,0 4px 14px #0002;overflow:hidden}
body.richard-home .rh-calendar>.rh-calendar-cta{display:flex;align-items:center;gap:12px;padding:12px 15px;min-height:68px;box-sizing:border-box;list-style:none;cursor:pointer;color:#ecfff7}
.rh-calendar-cta::-webkit-details-marker{display:none}.rh-calendar-cta::marker{content:''}
body.richard-home .rh-calendar>.rh-calendar-cta:after{display:none}
.rh-calendar-icon{display:grid;place-items:center;width:40px;height:40px;border:1px solid #a1f2d454;border-radius:12px;background:linear-gradient(150deg,#a1edcf26,#7ce3b90b);box-shadow:inset 0 1px #d9fff52e;color:#9ef1ce}
.rh-calendar-icon .rh-icon{width:25px;height:25px}.rh-calendar-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.rh-calendar-copy strong{font-size:16px;font-weight:700}.rh-calendar-copy small{font-size:11px;font-weight:400;color:#b0dacf}.rh-calendar-cta>.rh-icon{width:19px;height:19px;color:#97dfc7;transform:rotate(90deg);transition:transform .18s}.rh-calendar[open]>.rh-calendar-cta>.rh-icon{transform:rotate(-90deg)}
body.richard-home .rh-calendar>.rh-calendar-cta:hover{background:#a9f8d50a}body.richard-home .rh-calendar>.rh-calendar-cta:focus-visible{outline:3px solid #a2f2d7;outline-offset:-4px}
body.richard-home .rh-calendar #bookingCalendar{margin:0 9px 9px;width:auto;max-width:none}
@media(max-width:350px){body.richard-home .rh-calendar>.rh-calendar-cta{padding:10px;gap:9px}.rh-calendar-copy strong{font-size:15px}}

/* One generous touch target for the SOC strip and its charge limit. */
.richard-home .rh-battery-limit{display:block;width:100%;min-height:50px;box-sizing:border-box;margin:0;padding:9px 10px 11px;text-align:left;border:1px solid #618a8b66;border-radius:11px;background:linear-gradient(145deg,#24465080,#112a3580);color:#eaf5f7;cursor:pointer;box-shadow:inset 0 1px 0 #ffffff0b}
.richard-home .rh-battery-limit:hover:not(:disabled){border-color:#7ee0c5;background:#244b5280}
.richard-home .rh-battery-limit:focus-visible{outline:2px solid #92edce;outline-offset:3px}
.richard-home .rh-battery-limit:disabled{opacity:1;cursor:default;border-color:#49657066}
.rh-limit-caption{display:flex;align-items:center;gap:8px;font-size:11px;line-height:1.3;margin-bottom:7px;color:#b8d5df}
.rh-limit-caption #rh-target{margin-left:auto;color:#edf9f8;font-size:12px;font-weight:650}
.rh-limit-caption .rh-icon{width:14px;height:14px;flex:none;color:#8de1c9}
.rh-battery-limit:disabled .rh-limit-caption .rh-icon{visibility:hidden}
.rh-limit-message{font-size:11px;line-height:1.5;color:#b5ecdc;margin:7px 0 0;overflow-wrap:anywhere}
.rh-limit-dialog{max-width:420px;max-height:calc(100dvh - 28px);overflow:auto;padding:22px}
.rh-limit-dialog p{font-size:13px;line-height:1.5}.rh-limit-dialog h3{margin-bottom:10px;font-size:21px}
.rh-limit-dialog .rh-limit-current{color:#b9d4de;font-size:12px}
.rh-limit-choices{border:0;padding:0;margin:17px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.rh-limit-choices legend{font-size:12px;color:#b9d4de;margin-bottom:9px;padding:0}
.rh-limit-choices label{position:relative;margin:0;display:flex;align-items:center;justify-content:center;min-height:52px;cursor:pointer}
.rh-limit-choices input{position:absolute;width:1px;height:1px;opacity:0;margin:0}
.rh-limit-choices span{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;box-sizing:border-box;border:1px solid #456777;border-radius:12px;background:linear-gradient(145deg,#284753,#172e3c);color:#effaff;font-size:20px;font-weight:650}
.rh-limit-choices input:checked+span{border-color:#8fefd1;background:linear-gradient(145deg,#347462,#1d4f47);box-shadow:0 0 0 1px #8fefd133,inset 0 1px 0 #b1ffe522}
.rh-limit-choices input:focus-visible+span{outline:2px solid #b1ffe5;outline-offset:3px}
.rh-limit-choices input:disabled+span{opacity:.65;cursor:wait}
.rh-limit-hint{color:#c5dce5;min-height:38px}.rh-limit-dialog .rh-limit-result{color:#9be7cd}.rh-limit-result:empty{display:none}
.rh-limit-actions{display:flex;gap:10px;margin-top:18px}.rh-limit-actions button{min-width:0;font-size:13px}.rh-limit-actions button:first-child{background:#1a3443}.rh-limit-actions button:disabled{opacity:.45;cursor:default}
@media(max-width:360px){.rh-limit-dialog{padding:17px}.rh-limit-choices{gap:7px}.rh-limit-caption{font-size:10px}}

.vehicle-request-notices{position:fixed;inset:auto max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) auto;width:min(410px,calc(100vw - 28px));max-height:46dvh;overflow:auto;box-sizing:border-box;z-index:1500;padding:0;margin:0;border:0;background:transparent;color:#edf8ff;pointer-events:none}
.vehicle-request-notices[hidden]{display:none!important}.vehicle-request-notices::backdrop{background:transparent;pointer-events:none}
.vehicle-request-notices[data-modal=true]{top:max(12px,env(safe-area-inset-top));bottom:auto;max-height:28dvh}
.vehicle-request-card{display:flex;align-items:flex-start;gap:11px;padding:14px 11px 14px 14px;margin:0 0 8px;border:1px solid #689baf;border-radius:16px;background:linear-gradient(135deg,#1f4558,#102b3b);box-shadow:0 8px 28px #0005,inset 0 1px 0 #d3ffff16;pointer-events:auto;font-size:13px;line-height:1.45;overflow-wrap:anywhere}
.vehicle-request-card[hidden]{display:none}.vehicle-request-content{flex:1;min-width:0}.vehicle-request-content strong{font-size:14px;display:block;color:#f3fbff}.vehicle-request-content p{margin:5px 0 0!important;color:#cce3ed;font-size:12px!important;line-height:1.5}
.vehicle-request-close{flex:0 0 36px;width:36px;height:44px;min-width:36px!important;min-height:44px!important;padding:0!important;margin:-5px 0!important;border:0!important;background:transparent!important;color:#d9eef7!important;box-shadow:none!important;font-size:25px!important;cursor:pointer}
.vehicle-request-close:focus-visible{outline:2px solid #9ae7de;outline-offset:0}.vehicle-request-icon{width:30px;height:32px;flex:0 0 30px;margin-top:2px;fill:none;stroke:#ffcb74;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.vr-sand{fill:#ffcb74;stroke:none}.vr-hourglass{transform-origin:16px 16px}.vehicle-request-card[data-state=pending] .vr-hourglass{animation:vehicle-hourglass 3s ease-in-out infinite}.vr-check,.vr-info{display:none}.vehicle-request-card:not([data-state=pending]) .vr-hourglass{display:none}
.vehicle-request-card[data-state=success]{border-color:#5aca9d}.vehicle-request-card[data-state=success] .vr-check{display:block;stroke:#8cede0;stroke-width:2.3}.vehicle-request-card:is([data-state=error],[data-state=info]) .vr-info{display:block}.vehicle-request-card[data-state=error]{border-color:#ef8894}.vehicle-request-card[data-state=error] .vehicle-request-icon{stroke:#ff9ba4}
@keyframes vehicle-hourglass{0%,65%{transform:rotate(0)}85%,100%{transform:rotate(180deg)}}
.vr-motion-off .vr-hourglass{animation-play-state:paused!important}@media(prefers-reduced-motion:reduce){.vehicle-request-card .vr-hourglass{animation:none!important}}
@media(max-width:360px){.vehicle-request-card{gap:8px;padding:12px 8px 12px 11px}.vehicle-request-content strong{font-size:13px}.vehicle-request-icon{width:25px;flex-basis:25px}}

.vehicle-request-card .vehicle-request-close{flex:0 0 36px!important;width:36px!important}

/* Stable vector power symbol: retained when the live button label refreshes. */
#start::before{content:none!important;display:none!important}
#start .wb-power-icon{width:23px;height:23px;flex:none;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round;vertical-align:-5px;margin-right:9px;filter:drop-shadow(0 1px 1px #092d2470)}
.richard-home #rh-actions #start .wb-power-icon{width:23px;height:23px;margin-right:0}

/* Compact planning lives in the climate card; the main charging controls stay visible. */
.rh-climate-schedule{margin-top:12px;border-top:1px solid #405c69;padding-top:4px;min-width:0}
.rh-climate-schedule>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;color:#d9f6f1;font-size:14px;font-weight:650}
.rh-climate-schedule>summary::-webkit-details-marker{display:none}
.rh-schedule-heading{display:flex;align-items:center;gap:8px}
.rh-schedule-heading .rh-icon{width:22px;height:22px;flex:none;color:#6ee2c1}
.rh-schedule-count{font-size:12px;color:#a5c2cb;font-weight:400;text-align:right}
.rh-schedule-count::after{content:'⌄';padding-left:7px}
.rh-climate-schedule[open] .rh-schedule-count::after{content:'⌃'}
.rh-schedule-content{padding:3px 0 5px;min-width:0;font-size:13px}
.rh-schedule-content>p{margin:4px 0 12px;color:#b4cbd3;line-height:1.5}
#rh-schedule-form{display:block;margin:12px 0 0;min-width:0}
.rh-schedule-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.rh-schedule-grid label{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:12px;color:#b5cdd4}
.rh-schedule-temp{grid-column:1/-1}
.rh-schedule-grid input,.rh-schedule-grid select{box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-height:44px;padding:9px 8px;border:1px solid #547281;border-radius:11px;background:#122f3e;color:#eef9fc;font-size:16px;color-scheme:dark}
#rh-schedule-form .rh-check{display:flex;gap:8px;align-items:center;margin-top:12px;font-size:13px}
.rh-schedule-energy{font-size:12px;color:#9cb8c4;line-height:1.4;margin:3px 0 12px}
#rh-schedule-save{width:100%;min-height:46px;border:1px solid #58a991;background:#165340;color:#f1fff9;border-radius:12px;font-size:14px;font-weight:650}
.rh-schedule-item{display:grid;gap:5px;padding:12px;border:1px solid #456575;border-radius:12px;background:#112d3a;margin-top:9px;overflow-wrap:anywhere}
.rh-schedule-item strong{font-size:15px;color:#e6f7fa}.rh-schedule-item>span{color:#83dfc4;font-size:13px}.rh-schedule-item small{font-size:12px;line-height:1.4;color:#b0c7d0}
.rh-schedule-item[data-state=failed]>span,.rh-schedule-item[data-state=unconfirmed]>span,.rh-schedule-item[data-state=missed]>span{color:#ffc780}
.rh-schedule-item button{justify-self:start;margin-top:5px;min-height:44px;padding:8px 14px;font-size:13px;background:#263d48;border:1px solid #68808b;border-radius:10px;color:#fff}
#rh-schedule-message:empty{display:none}#rh-schedule-message{color:#d6eee8;line-height:1.5;margin:10px 0}
.rh-schedule-content>.rh-schedule-help{font-size:11px;color:#97b1bd;line-height:1.5;margin:12px 0 0}
@media(min-width:520px){.rh-schedule-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr)}.rh-schedule-temp{grid-column:auto}}

.rh-climate-thermometers{display:inline-block;width:36px;height:36px;flex:none;vertical-align:middle;margin-right:5px;overflow:visible}

.rh-climate-schedule>summary::after{display:none!important}.rh-schedule-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.rh-schedule-temp{grid-column:1/-1}

#rh-schedule-form .rh-schedule-grid label{margin:0;text-align:left}#rh-schedule-form .rh-check{margin:8px 0 0;text-align:left}#rh-schedule-battery{min-height:18px;width:18px;height:18px}#rh-climate-schedule .rh-schedule-content>p:first-child{font-size:13px;line-height:1.45}#rh-climate-schedule form[hidden]{display:none}

#rh-climate-schedule .rh-schedule-history{margin:8px 0 0;border:0;background:transparent;padding:0}#rh-climate-schedule .rh-schedule-history>summary{font-size:12px;color:#a7c4ce;min-height:44px;padding:8px 0}

/* Approved home mark: white house inside a red circle, view navigation only. */
.wb-home-nav{display:flex;align-items:center;margin:0 0 14px;padding:0;min-width:0}
details>.wb-home-nav{margin-top:12px}
button.wb-home-button,a.wb-home-button,.wx-dialog button.wb-home-button{display:inline-flex;align-items:center;justify-content:flex-start;gap:10px;min-height:48px;max-width:100%;padding:2px 6px 2px 0;border:0;border-radius:26px;background:transparent;color:#f1f7fb;box-shadow:none;font:600 14px/1.25 "Segoe UI",Arial,sans-serif;text-decoration:none;white-space:nowrap;cursor:pointer}
.wb-home-button .wb-home-circle{display:inline-flex;width:44px;height:44px;min-width:44px;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(140deg,#f34557,#c61e38);color:#fff;box-shadow:inset 0 1px 0 #ffacb34d,0 2px 5px #0003;border:1px solid #ff788555;box-sizing:border-box}
.wb-home-circle svg{display:block;width:44px;height:44px}
button.wb-home-button:hover,a.wb-home-button:hover,.wx-dialog button.wb-home-button:hover{background:#bedae00b;color:#fff}
.wb-home-button:hover .wb-home-circle{filter:brightness(1.1)}
.wb-home-button:focus-visible{outline:3px solid #a7f0dd;outline-offset:4px}
.identity-sidebar .sidebar-links .wb-home-button{padding:2px 6px 2px 0;justify-content:flex-start}
.identity-sidebar .sidebar-links .wb-home-circle svg{width:44px;height:44px}
.rh-confirm>.wb-home-nav{margin-bottom:12px}
#richardCharging,#chargingHome{scroll-margin-top:12px}
.wx-header{flex-direction:column;align-items:flex-start;gap:8px}
.wx-header>.wb-home-button{order:-1}
@media(max-width:800px){.wx-header{padding-top:max(8px,env(safe-area-inset-top));padding-bottom:10px;gap:5px}.wx-header h2{font-size:17px}.wx-header small{display:none}.wb-home-nav{margin-bottom:10px}.wb-home-button .wb-home-circle{width:42px;height:42px;min-width:42px}.wb-home-circle svg{width:42px;height:42px}}

/* Matching compact cards for the remaining day and the whole of tomorrow. */
.richard-home .rh-metrics .rh-pv{box-sizing:border-box;display:flex;flex-wrap:wrap;align-items:center;align-content:center;justify-content:center;gap:2px 4px;width:100%;max-width:none;height:46px;padding:3px 4px;border:1px solid #d1b36a22;border-radius:9px;background:linear-gradient(145deg,#f6d58512,#edb34805);box-shadow:none;text-align:center;line-height:1.2}
.richard-home .rh-metrics .rh-pv>span{display:block;font-size:15px;line-height:1;color:#ffdb7e;text-shadow:0 1px 2px #bb5b0066,0 0 7px #ffe27e24}
.richard-home .rh-metrics .rh-pv>strong{display:block;margin:0;font-size:11px;font-weight:650;letter-spacing:0;line-height:1.3;color:#f2d998;white-space:nowrap}
.richard-home .rh-metrics .rh-pv>small{flex-basis:100%;width:100%;max-width:130px;min-height:2.4em;margin:0;display:block;font-size:8px;font-weight:400;line-height:1.2;color:#a6bdc8;white-space:normal}
.richard-home .rh-metrics .rh-soc{display:flex;flex-direction:column;align-self:stretch}
.richard-home .rh-soc #rh-source{margin-bottom:7px}
.richard-home .rh-soc .rh-pv-tomorrow{margin:auto 0 0}
.richard-home .rh-metrics .rh-pv-tomorrow[data-available=false]>strong{color:#a5b7bf}
@media(max-width:760px){.richard-home .rh-metrics .rh-pv{height:44px}.richard-home .rh-metrics .rh-pv>strong{font-size:10px}.richard-home .rh-metrics .rh-pv>small{font-size:7px}}

/* Read-only vehicle states. Missing or old data must not appear healthy. */
.richard-home .rh-health{margin:10px 0 12px;border:1px solid #385260;border-radius:12px;background:#112c3866;overflow:hidden}
.rh-health>summary{display:flex;align-items:center;gap:8px;padding:10px 11px;min-height:46px;cursor:pointer;list-style:none;box-sizing:border-box}
.rh-health>summary::-webkit-details-marker{display:none}.rh-health>summary::after{display:none!important}
.rh-health>summary:focus-visible{outline:2px solid #8fe0cd;outline-offset:-3px}
.rh-health-title{display:flex;align-items:center;gap:8px;font-size:12px;white-space:nowrap;color:#e5f1f5}
.rh-health-title svg{width:22px;height:22px;color:#a9cddd}
.rh-health-badge{margin-left:auto;text-align:right;font-size:10px;line-height:1.3;color:#a8bdc7}
.rh-health-badge[data-tone=attention]{color:#ffd180}.rh-health-badge[data-tone=ok]{color:#91dbbd}
.rh-health-chevron{font-size:17px;color:#a8c2cb}.rh-health[open] .rh-health-chevron{transform:rotate(180deg)}
.rh-health-body{padding:0 11px 12px}
.rh-health-time,.rh-health-explanation{font-size:10px;line-height:1.5;color:#aabec8;margin:6px 0 10px}
.rh-health-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.rh-health-item{display:flex;align-items:center;gap:8px;min-width:0;padding:9px 8px;border:1px solid #385460;border-radius:10px;background:#1434424d;color:#9fb3be}
.rh-health-icon{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:30px;height:34px;border-radius:8px;background:#09243066}
.rh-health-icon svg{width:23px;height:23px}
.rh-health-copy{display:grid;gap:3px;min-width:0}.rh-health-copy>span{font-size:10px;color:#b7cbd3}.rh-health-copy>strong{font-size:11px;line-height:1.35;font-weight:600;overflow-wrap:anywhere}
.rh-health-item[data-tone=ok]{color:#8bdaba;border-color:#438d7155}.rh-health-item[data-tone=attention]{color:#ffd083;border-color:#b7833e88;background:#90672616}
.rh-health-item[data-tone=stale]{color:#bbc5c9}.rh-health-item[data-tone=unknown]{color:#91a4af}
.rh-health-limitation{padding:10px 11px;border-radius:9px;background:#061c2766;color:#adc0ca;font-size:10px;line-height:1.5}
.rh-health-limitation>strong{font-size:11px;color:#d2e1e6}.rh-health-limitation>p{margin:5px 0 0}
@media(max-width:350px){.rh-health-title{font-size:11px;gap:5px}.rh-health-badge{font-size:9px}.rh-health>summary{padding:9px 8px;gap:5px}.rh-health-body{padding:0 8px 10px}.rh-health-item{gap:5px;padding:8px 6px}.rh-health-icon{width:24px}.rh-health-icon svg{width:20px;height:20px}}

/* Stored cable is shown only for confirmed ready, unplugged wallbox. */
.rh-art-wrap>.rh-assembly-coiled{display:none;left:76%;top:11%;width:24%;height:88%;mix-blend-mode:normal}
.rh-panel[data-link=unplugged][data-tone=green] .rh-assembly-coiled{display:block}
.rh-panel[data-link=unplugged][data-tone=green] .rh-assembly-free{display:none}

/* Real model artwork exists for Enyaq only. Other cars use the same live controls without a misleading vehicle image. */
.rh-panel[data-illustration="generic"] .rh-art-wrap{display:none}.rh-panel[data-illustration="generic"] .rh-visual{min-height:0}.rh-model{overflow-wrap:anywhere;min-width:0}.garage-bar .garage-telemetry{display:none}body:not(.richard-home) .garage-bar .garage-telemetry{display:flex}

/* Shared station illustration for cars without a verified model-specific asset. */
.rh-panel[data-illustration="generic"] .rh-art-wrap{display:block;width:100%;height:170px;aspect-ratio:auto;margin:0 auto}.rh-panel[data-illustration="generic"] .rh-scene,.rh-panel[data-illustration="generic"] .rh-assembly-connected{display:none}.rh-panel[data-illustration="generic"] .rh-art-wrap>.rh-assembly-free{display:block;left:calc(50% - 60px);top:0;width:120px;height:160px}.rh-panel[data-illustration="generic"][data-link="unplugged"][data-tone="green"] .rh-assembly-free{display:none}.rh-panel[data-illustration="generic"][data-link="unplugged"][data-tone="green"] .rh-assembly-coiled{left:calc(50% - 60px);top:0;width:120px;height:160px}

/* An empty garage uses only the illustration; never another member's data. */
.rh-panel[data-illustration="placeholder"] .rh-scene{filter:grayscale(1);opacity:.62}
.rh-panel[data-illustration="placeholder"] .rh-port-open,.rh-panel[data-illustration="placeholder"] .rh-assembly-connected{display:none!important}
.rh-panel[data-illustration="placeholder"] .rh-art-wrap>.rh-assembly-free{display:block}
.rh-panel[data-illustration="placeholder"][data-link="unplugged"][data-tone="green"] .rh-assembly-free{display:none}
.rh-panel[data-illustration="placeholder"] .rh-cell{opacity:0!important;animation:none!important}
.rh-panel[data-illustration="placeholder"] .rh-model{color:#a9b7c0}

/* Shared illustration is separate from private vehicle data and command targets. */
#rh-battery-activity-note{display:none;color:#8cddb5}
.rh-panel[data-activity-battery=true][data-flow=true] #rh-battery-activity-note{display:block}
.rh-model{white-space:normal;text-align:right}
.rh-panel[data-scene-private=false] :is(#rh-car-status,#rh-battery-limit,#rh-limit-message,.rh-door-alert,.rh-window-alert){display:none!important}
/* Session metering remains visible to the administrator, independent of car API access. */
.rh-panel[data-scene-other=true]:not([data-session-visible=true]) #rh-facts{display:none}
.rh-panel:not([data-artwork=enyaq]) :is(.rh-door-alert,.rh-window-alert){display:none!important}
.rh-panel[data-artwork=tesla-model-x-red] .rh-art-wrap>.rh-assembly-connected{left:72.5%;top:18.38%}
.rh-panel[data-artwork=citigo-iv-black] .rh-art-wrap>.rh-assembly-connected{left:72.22%;top:22.97%}
/* Green activity is not SOC: all ten cells pulse only on fresh confirmed Charging. */
.rh-panel[data-activity-battery=true] .rh-cell{opacity:0!important;animation:none!important;filter:none!important}
.richard-home .rh-panel[data-activity-battery=true][data-flow=true] .rh-cell{fill:#39ef94;stroke:#a3ffca;opacity:.85!important;animation:rh-charge-activity 2.4s ease-in-out infinite!important}
.rh-panel[data-activity-battery=true] .rh-cell-base{fill:#22353e;stroke:#81979e}
.rh-panel[data-activity-battery=true] .rh-case{fill:#182a32;stroke:#869ca4}
@keyframes rh-charge-activity{0%,100%{opacity:.45;filter:drop-shadow(0 0 1px #39ef9466)}50%{opacity:1;filter:drop-shadow(0 0 7px #39ef94)}}
.richard-home .rh-panel.rh-motion-off[data-activity-battery=true][data-flow=true] .rh-cell{animation:none!important}
@media(prefers-reduced-motion:reduce){.richard-home .rh-panel[data-activity-battery=true][data-flow=true] .rh-cell{animation:none!important}}

/* Brief explanation is about the viewer's own car, never the anonymous station car. */
.rh-api-notice{margin:12px 0 0;padding:13px 14px;border:1px solid #486672;border-radius:12px;background:#143441;color:#c6dbe2;min-width:0}
.rh-api-notice[hidden]{display:none!important}
.rh-api-notice>strong{display:block;font-size:12px;color:#e4f4f7;line-height:1.4}
.rh-api-notice>p{font-size:11px;line-height:1.6;margin:7px 0;overflow-wrap:anywhere}
.rh-api-notice>small{display:block;font-size:10px;line-height:1.5;color:#a8c5cf}
.richard-home .rh-api-notice>.rh-api-connect{display:block;width:100%;min-height:44px;margin:11px 0 0;padding:9px 12px;border:1px solid #5e998b;border-radius:9px;color:#dffff5;background-color:#205445;font-size:12px;font-weight:650}
.rh-api-connect:focus-visible{outline:2px solid #99efd7;outline-offset:3px}

/* Inspecting another profile must never imply that its car is on this wallbox. */
/* Keep the actual wallbox visible; its state color is independent of the inspected car. */
.rh-panel[data-other-vehicle=true] :is(.rh-port-open,.rh-assembly-connected){display:none!important}
.rh-panel[data-other-vehicle=true] .rh-assembly-free{display:block}
.rh-panel[data-other-vehicle=true][data-link=unplugged][data-tone=green] .rh-assembly-free{display:none}
.rh-session-heading{display:block;padding:12px 0 0;font-size:12px;line-height:1.5;color:#94e1ce;overflow-wrap:anywhere}
.rh-session-heading[hidden]{display:none}
.richard-home .rh-session-heading:not([hidden])+.times{margin-top:8px}

/* White facelift e-Golf: port above the rear wheel, connected cable follows the port. */
.rh-panel[data-artwork=vw-egolf-white] .rh-art-wrap>.rh-assembly-connected{left:75.14%;top:22.43%}
