.hmi-icon{width:1em;height:1em;display:inline-block;vertical-align:middle;flex-shrink:0;overflow:visible}.hmi-icon-wrap{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;line-height:1;pointer-events:none}.nav-dock b .hmi-icon,.icon-button .hmi-icon,.close-button .hmi-icon{width:24px;height:24px}.thermostat-controls button .hmi-icon,.heating-profile-detail button .hmi-icon{width:24px;height:24px}.music-transport .hmi-icon{width:23px;height:23px}.brand-mark .hmi-icon{width:24px;height:24px}.notice-icon .hmi-icon{width:24px;height:24px}
:root[data-hmi-theme=ocean]{--uv:#63dbe3;--uv-rgb:99,219,227;--cyan:#9bbcff}:root[data-hmi-theme=amber]{--uv:#f2b84b;--uv-rgb:242,184,75;--cyan:#aed6c6}:root[data-hmi-theme=graphite]{--uv:#b8c1d4;--uv-rgb:184,193,212;--cyan:#98cec8}.hmi-high-contrast{--dim:#c4cad5;--line:#616a7c;--line-soft:#465062}.hmi-no-grid .app-shell{background-image:radial-gradient(circle at 45% -20%,rgba(var(--uv-rgb),.08),transparent 38%);background-size:auto}.hmi-no-motion *,.hmi-no-motion *::before,.hmi-no-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.hmi-large-text .lighting-lamp h3,.hmi-large-text .lighting-tabs button,.hmi-large-text .mode-card h3,.hmi-large-text .scene-control b{font-size:20px}.hmi-large-text .lighting-explanation,.hmi-large-text .service-preview-row b,.hmi-large-text .agenda-event-copy strong{font-size:17px}.hmi-large-text .page-heading h1{font-size:27px}.hmi-large-text .room-launcher b{font-size:15px}.hmi-large-text .hmi-option b{font-size:19px}.screensaver{filter:brightness(var(--saver-dim,1))}
#hmiSettingsView{height:calc(100% - 94px);display:grid;grid-template-columns:245px minmax(0,1fr);gap:18px;padding-top:14px;min-height:0}.hmi-settings-nav{display:flex;flex-direction:column;gap:9px;padding:12px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(140deg,var(--panel-top),var(--panel));overflow:auto}.hmi-settings-nav button{display:flex;align-items:center;gap:12px;min-height:64px;padding:12px;border:1px solid transparent;border-radius:11px;background:transparent;color:var(--dim);font:inherit;font-size:16px;text-align:left;cursor:pointer}.hmi-settings-nav button .hmi-icon{width:24px;height:24px}.hmi-settings-nav button[aria-pressed=true]{color:var(--text);background:rgba(var(--uv-rgb),.13);border-color:rgba(var(--uv-rgb),.5)}.hmi-settings-content{overflow:auto;min-height:0;display:grid;grid-template-columns:1fr;align-content:start;gap:16px;padding:0 4px 20px 0;scrollbar-width:thin;scrollbar-color:var(--uv) var(--panel)}.hmi-settings-card{border:1px solid var(--line);border-radius:16px;background:linear-gradient(130deg,var(--panel-top),var(--panel));padding:24px}.hmi-settings-card>header{display:flex;align-items:center;gap:15px}.hmi-settings-card>header>.hmi-icon{width:40px;height:40px;padding:8px;box-sizing:content-box;color:var(--uv);background:rgba(var(--uv-rgb),.1);border:1px solid rgba(var(--uv-rgb),.3);border-radius:15px}.hmi-settings-card small{color:var(--dim);font-size:12px}.hmi-settings-card header small{font-size:10px;letter-spacing:.12em;color:var(--uv)}.hmi-settings-card h2{font-size:25px;font-weight:500;margin:5px 0}.hmi-settings-card p{font-size:15px;line-height:1.6;color:#bdc0cc}.hmi-settings-card footer{font-size:12px;line-height:1.6;color:var(--dim);padding-top:17px}.hmi-option{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line-soft)}.hmi-option b{display:block;font-size:17px;font-weight:500}.hmi-option small{display:block;margin-top:6px;font-size:13px;line-height:1.5}.hmi-option input[type=checkbox]{appearance:none;width:54px;height:30px;border-radius:20px;background:#3c414e;position:relative;flex-shrink:0;cursor:pointer;border:1px solid #ffffff20}.hmi-option input[type=checkbox]::after{content:'';position:absolute;left:4px;top:4px;width:20px;height:20px;border-radius:50%;background:#c5c7cf}.hmi-option input:checked{background:rgba(var(--uv-rgb),.5);border-color:var(--uv)}.hmi-option input:checked::after{left:28px;background:#fff}.hmi-option select{min-height:48px;min-width:170px;border:1px solid var(--line);border-radius:9px;background:#131720;color:var(--text);padding:9px 12px;font-size:16px}.hmi-brightness{display:block;margin-top:24px}.hmi-brightness>span{display:flex;justify-content:space-between;font-size:17px}.hmi-brightness output{color:var(--uv);font-size:21px}.hmi-brightness input{width:100%;height:48px;accent-color:var(--uv);cursor:pointer}.hmi-brightness-presets,.hmi-setting-actions{display:flex;gap:12px;margin-top:14px}.hmi-brightness-presets button,.hmi-setting-actions button{min-height:55px;flex:1;border:1px solid var(--line);background:rgba(var(--uv-rgb),.07);color:var(--text);border-radius:10px;padding:10px 15px;font:inherit;font-size:17px;cursor:pointer}.hmi-brightness-presets small{margin-left:8px}.hmi-theme-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:24px}.hmi-theme-grid button{border:1px solid var(--line);border-radius:13px;background:#12151c;padding:14px;text-align:left;cursor:pointer;color:var(--text);font:inherit}.hmi-theme-grid button[aria-pressed=true]{border-color:var(--preview);box-shadow:0 0 0 1px var(--preview)}.hmi-theme-preview{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:#090c12;border-radius:8px;padding:10px;height:85px;margin-bottom:14px}.hmi-theme-preview i{display:block;border:1px solid var(--preview);border-radius:4px;opacity:.7}.hmi-theme-preview i:first-child{grid-column:span 2;background:var(--preview);opacity:.4}.hmi-theme-grid b{display:block;font-size:15px}.hmi-theme-grid small{display:block;margin-top:6px;color:var(--preview)}.hmi-connections{margin:12px 0 0}.hmi-connections>div{display:flex;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid var(--line-soft);font-size:15px}.hmi-connections dt{color:var(--dim)}.hmi-connections dd{margin:0;text-align:right}.hmi-settings-content .screen-security{overflow:visible;background:linear-gradient(135deg,var(--panel-top),var(--panel));border-color:var(--line);min-height:100%}.hmi-settings-content .screen-security>p{max-width:650px}.hmi-settings-content .screen-security .lock-primary,.hmi-settings-content .screen-security .lock-secondary{max-width:480px}
/* Refresh the remaining overview pages with consistent cards and touch targets. */
.page-heading>span>small{color:var(--uv);letter-spacing:.15em}.page-heading h1{font-size:25px;font-weight:550;letter-spacing:-.025em}.back-button{min-height:44px;border-radius:10px}.weather-hero,.weather-chart,.week-forecast,.climate-room,.valve-placeholder,.energy-overview,.energy-month,.energy-devices,.energy-laundry,.mode-summary-card,.occupancy-controls,.mode-card,.mode-notifications,.service-tile,.service-panel,.security-hero,.security-evidence,.security-warning{border-radius:16px;background:linear-gradient(135deg,var(--panel-top),var(--panel));border:1px solid var(--line)}.weather-hero{background:radial-gradient(ellipse at 0 0,rgba(var(--uv-rgb),.12),transparent 70%),linear-gradient(135deg,var(--panel-top),var(--panel));border-top:2px solid var(--uv)}.weather-hero strong{font-weight:300}.weather-chart h2,.week-forecast h2,.energy-overview h2,.energy-month h2,.energy-devices h2,.energy-laundry h2{font-size:23px;letter-spacing:-.02em}.weather-hero dt,.weather-chart header small,.week-forecast header small{font-size:11px}.weather-hero dd{font-size:20px}.week-forecast article{border:1px solid var(--line-soft);border-radius:12px;padding:12px 5px;background:#ffffff03}.week-forecast article>small{font-size:12px}.week-forecast article>em{font-size:12px}.weather-chart-line{stroke:var(--cyan)}
#climateGrid{height:calc(100% - 92px);padding-top:14px;padding-bottom:0;gap:14px}.climate-room{padding:20px;border-top:2px solid var(--room-color)}.climate-room h2,.bt-card h2{font-size:24px}.climate-room>div>strong{font-weight:300;font-size:58px}.climate-room header small,.bt-card header small{font-size:10px}.bt-card{padding:20px;border-top:2px solid var(--uv)}.bt-card header em{font-size:10px;max-width:45%;text-align:right}.thermostat-controls{gap:12px;margin-top:18px}.thermostat-controls button{min-width:52px;min-height:52px;border-radius:12px;background:rgba(var(--uv-rgb),.1);border:1px solid rgba(var(--uv-rgb),.4)}.thermostat-controls b{font-size:32px;min-width:95px;text-align:center}.thermostat-controls button[data-hvac]{font-size:15px;padding:10px 15px}.heating-auto-row button{min-height:44px;font-size:14px;border-radius:10px}.heating-auto-row small,.bt-card>p{font-size:12px;line-height:1.5}.heating-profile-button{min-height:48px;border-radius:12px;font-size:15px}.energy-overview{border-top:2px solid var(--uv)}.energy-overview .energy-live strong{font-weight:400}.energy-contract-button{min-height:44px!important;font-size:13px}.energy-device{border-radius:12px;min-height:76px}.energy-device small,.energy-laundry article small{font-size:12px}.energy-month .contract-month-grid article{background:#ffffff03;border-radius:9px}.energy-month .contract-month-grid small{font-size:10px}.energy-month .contract-month-grid strong{font-size:23px}.energy-comparison{font-size:12px!important}
#modesGrid{height:calc(100% - 94px);padding-top:14px;grid-template-rows:auto minmax(0,1fr) auto;gap:14px}.mode-summary-card,.occupancy-controls{padding:18px}.mode-summary-card p{font-size:14px;line-height:1.5}.occupancy-controls button,.mode-card button,.mode-notifications button{min-height:48px;font-size:15px}.mode-card-grid{overflow:auto;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.mode-card{padding:16px;min-height:150px}.mode-card h3{font-size:18px}.mode-card p{font-size:12px;line-height:1.5}.mode-card small{font-size:10px}.mode-summary-card h2{font-size:28px}
#serviceGrid{padding-top:14px;gap:14px}.service-tile,.service-panel{padding:18px}.service-tile h2,.service-panel h2{font-size:23px}.service-preview-row b{font-size:14px}.service-preview-row small{font-size:12px}.service-panel header small,.service-tile header small{font-size:10px}.service-preview-row{padding:9px 0}.service-more{font-size:12px}#securityGrid{grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto auto auto;align-content:start;overflow:auto;padding-bottom:20px}.security-hero{grid-column:span 7;padding:22px;border-left:3px solid var(--green)}.security-controls{grid-column:span 5;background:linear-gradient(135deg,var(--panel-top),var(--panel));border-radius:16px;padding:15px}.security-controls button{min-height:52px;font-size:17px}.security-evidence{grid-column:1/-1;padding:18px}.security-evidence small{font-size:11px}.security-evidence b{font-size:16px}.security-warning{grid-column:1/-1;padding:18px}.security-warning span{font-size:14px;line-height:1.5}
@media(max-width:900px){#hmiSettingsView{grid-template-columns:190px minmax(0,1fr)}.hmi-settings-nav button{font-size:14px}.hmi-theme-grid{grid-template-columns:repeat(2,1fr)}.hmi-option{flex-wrap:wrap;gap:10px}.mode-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:650px){#hmiSettingsView{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.hmi-settings-nav{flex-direction:row;overflow:auto;padding:6px}.hmi-settings-nav button{min-width:140px;min-height:50px}.hmi-settings-card{padding:17px}.hmi-connections>div{flex-direction:column;gap:5px}.hmi-connections dd{text-align:left}.hmi-brightness-presets small{display:block;margin:4px 0 0}.mode-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.weather-hero{padding:16px}.weather-hero .weather-glyph{width:68px;height:68px}.weather-hero strong{font-size:48px}.weather-hero b{font-size:16px;margin-top:5px}.weather-hero dl{margin-top:12px;gap:7px}.weather-hero dl span{padding:7px 10px}.weather-hero dd{font-size:18px}.weather-chart{display:grid;grid-template-rows:auto minmax(70px,1fr) auto;gap:8px}.weather-chart>svg{height:100%;min-height:0;margin:0}.bt-card{padding:16px}.bt-card>div{margin-top:12px}.bt-card h2{font-size:22px}.bt-card>p{margin-top:6px;font-size:11px}.bt-card .heating-auto-row{gap:10px}.service-panel header b{font-size:18px}.service-panel header em{font-size:10px}.health-bars b,.battery-row b{font-size:13px}.health-bars em,.battery-row em{font-size:11px}.recent-list b{font-size:11px}.recent-list small{font-size:10px}.service-panel header .hmi-icon{width:21px;height:21px}.hmi-brightness input{appearance:none;background:transparent}.hmi-brightness input::-webkit-slider-runnable-track{height:8px;border-radius:8px;background:rgba(var(--uv-rgb),.45)}.hmi-brightness input::-webkit-slider-thumb{appearance:none;width:28px;height:28px;margin-top:-10px;border:3px solid #f4efff;border-radius:50%;background:var(--uv)}
