:root{--font-display: "Barlow", "Segoe UI", system-ui, sans-serif;--font-body: "Barlow", "Segoe UI", system-ui, sans-serif;--font-num: "Barlow Semi Condensed", "Barlow", "Segoe UI", system-ui, sans-serif;--radius: 8px;--radius-sm: 6px;--gap: 12px;--page-max: 1240px;--card-pad: 14px;color-scheme:dark;--bg: #121417;--card: #1b1e23;--fg: #e9ebee;--fg-2: #c8cdd4;--fg-3: #7f8893;--line: #2f343b;--line-soft: #272b31;--line-strong: #434a54;--hover: rgba(255,255,255,.06);--shadow: none;--shadow-hover: 0 0 0 1px var(--line-strong);--accent: #f0a23a;--accent-strong: #f6b55d;--accent-fg: #1b1300;--bar-bg: #0d0f12;--bar-fg: #e9ebee;--bar-line: #23272d;--tab-active-bg: #f0a23a;--tab-active-fg: #1b1300;--nav-bg: #0d0f12;--nav-fg: #8f98a3;--nav-active: #1b1300;--nav-active-bg: #f0a23a;--ok-bg: #163d26;--ok-fg: #7ddb9b;--warn-bg: #45300d;--warn-fg: #f6c86a;--danger: #ff7b72;--err-bg: #42201d;--err-fg: #ff8d84;--muted-bg: #272b31;--muted-fg: #aeb5bf;--run-bg: #3b2a0c;--run-fg: #f6c86a;--switch-off: #3a4049;--switch-knob: #c9ced6;--input-bg: #0f1114;--seg-bg: #0f1114;--row-bg: #20242a;--row-current-bg: #2b2415;--hero-bg: #1b1e23;--hero-fg: #f3f4f6;--hero-fg-2: #aeb5bf;--hero-line: #2f343b;--hero-track: #343941;--kpi-bg: #23272d;--kpi-line: #343941;--c-heat: #f0a23a;--c-heat-bg: #3b2a0c;--c-water: #4fc3e8;--c-water-bg: #0f3340;--c-sun: #f5d04a;--c-sun-bg: #3d3610;--c-switch: #a9a6f0;--c-switch-bg: #27264a;--c-fire: #ff7a62;--c-fire-bg: #40201a;--c-sky: #7fbbe8;--c-sky-bg: #16303f;--ch-1: #c6811f;--ch-2: #c66aa6;--ch-3: #3f9dd0;--ch-4: #4ea85e}@media (prefers-color-scheme: light){:root:not([data-theme=dark]){color-scheme:light;--bg: #f1f2f4;--card: #ffffff;--fg: #17191c;--fg-2: #353b44;--fg-3: #7b8490;--line: #cfd4db;--line-soft: #e3e6ea;--line-strong: #aeb6c0;--hover: rgba(0,0,0,.05);--shadow: none;--shadow-hover: 0 0 0 1px var(--line-strong);--accent: #c7791c;--accent-strong: #a9630f;--accent-fg: #ffffff;--bar-bg: #1e2126;--bar-fg: #e9ebee;--bar-line: #2b2f36;--tab-active-bg: #c7791c;--tab-active-fg: #ffffff;--nav-bg: #1e2126;--nav-fg: #a3abb6;--nav-active: #ffffff;--nav-active-bg: #c7791c;--ok-bg: #dff3e3;--ok-fg: #1c6b36;--warn-bg: #fbe8c8;--warn-fg: #8a4e00;--danger: #c62828;--err-bg: #fbe0dd;--err-fg: #a4261b;--muted-bg: #e6e9ed;--muted-fg: #5d6672;--run-bg: #fbe8c8;--run-fg: #8a4e00;--switch-off: #c9ced6;--switch-knob: #ffffff;--input-bg: #ffffff;--seg-bg: #e9ebee;--row-bg: #f7f8f9;--row-current-bg: #fff6e8;--hero-bg: #1e2126;--hero-fg: #f3f4f6;--hero-fg-2: #a3abb6;--hero-line: #1e2126;--hero-track: #3a3f47;--kpi-bg: #272b31;--kpi-line: #343941;--c-heat: #e08a2a;--c-heat-bg: #fbe8c8;--c-water: #1f8fb3;--c-water-bg: #d8eef5;--c-sun: #d9a400;--c-sun-bg: #fbf0c3;--c-switch: #6d6ad6;--c-switch-bg: #e5e4f8;--c-fire: #d1452f;--c-fire-bg: #f9ded9;--c-sky: #4b8fc0;--c-sky-bg: #dcebf6;--ch-1: #c7791c;--ch-2: #b4418f;--ch-3: #2a6fc9;--ch-4: #2e8f3f}}:root[data-theme=light]{color-scheme:light;--bg: #f1f2f4;--card: #ffffff;--fg: #17191c;--fg-2: #353b44;--fg-3: #7b8490;--line: #cfd4db;--line-soft: #e3e6ea;--line-strong: #aeb6c0;--hover: rgba(0,0,0,.05);--shadow: none;--shadow-hover: 0 0 0 1px var(--line-strong);--accent: #c7791c;--accent-strong: #a9630f;--accent-fg: #ffffff;--bar-bg: #1e2126;--bar-fg: #e9ebee;--bar-line: #2b2f36;--tab-active-bg: #c7791c;--tab-active-fg: #ffffff;--nav-bg: #1e2126;--nav-fg: #a3abb6;--nav-active: #ffffff;--nav-active-bg: #c7791c;--ok-bg: #dff3e3;--ok-fg: #1c6b36;--warn-bg: #fbe8c8;--warn-fg: #8a4e00;--danger: #c62828;--err-bg: #fbe0dd;--err-fg: #a4261b;--muted-bg: #e6e9ed;--muted-fg: #5d6672;--run-bg: #fbe8c8;--run-fg: #8a4e00;--switch-off: #c9ced6;--switch-knob: #ffffff;--input-bg: #ffffff;--seg-bg: #e9ebed;--row-bg: #f7f8f9;--row-current-bg: #fff6e8;--hero-bg: #1e2126;--hero-fg: #f3f4f6;--hero-fg-2: #a3abb6;--hero-line: #1e2126;--hero-track: #3a3f47;--kpi-bg: #272b31;--kpi-line: #343941;--c-heat: #e08a2a;--c-heat-bg: #fbe8c8;--c-water: #1f8fb3;--c-water-bg: #d8eef5;--c-sun: #d9a400;--c-sun-bg: #fbf0c3;--c-switch: #6d6ad6;--c-switch-bg: #e5e4f8;--c-fire: #d1452f;--c-fire-bg: #f9ded9;--c-sky: #4b8fc0;--c-sky-bg: #dcebf6;--ch-1: #c7791c;--ch-2: #b4418f;--ch-3: #2a6fc9;--ch-4: #2e8f3f}:root{font-family:var(--font-body);line-height:1.45;font-weight:400;font-size:15px;color:var(--fg);background-color:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;text-size-adjust:100%;font-variant-numeric:tabular-nums}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg)}a{color:var(--accent)}h1,h2,h3,h4{font-family:var(--font-display);text-wrap:balance}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-container{display:flex;flex-direction:column;min-height:100vh}.app-main{padding-top:68px;padding-bottom:calc(84px + env(safe-area-inset-bottom,0px));flex-grow:1}@media (min-width: 900px){.app-main{padding-bottom:32px}.app-container.has-side{--page-vw: calc(100vw - 212px) }.app-container.has-side .app-main{padding-left:212px}}header.app-header{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;gap:10px;min-height:56px;padding:0 max(12px,env(safe-area-inset-right,0px)) 0 max(8px,env(safe-area-inset-left,0px));background:var(--bar-bg);color:var(--bar-fg);border-bottom:1px solid var(--bar-line)}header.app-header a{color:inherit;text-decoration:none}.nav-back{display:inline-grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;color:var(--bar-fg)}.nav-back:hover{background:var(--hover)}.nav-back svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.device-title{flex:1;min-width:0;display:flex;flex-direction:column}.device-title h1{margin:0;font-size:18px;font-weight:700;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.device-sub{display:flex;align-items:center;gap:6px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.device-sub .sep{opacity:.5}.device-sub .chip{font-size:11px;padding:1px 7px}.app-header-title{flex:1;min-width:0;margin:0;font-size:20px;font-weight:600;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:700;letter-spacing:.04em;padding-left:4px}.brand-mark{width:10px;height:22px;border-radius:3px;background:var(--accent)}.brand-name{font-size:14px;opacity:.85}.app-header-actions{display:flex;align-items:center;gap:4px}nav.app-tabs{display:none}@media (min-width: 900px){nav.app-tabs{position:fixed;left:0;top:56px;bottom:0;z-index:900;display:flex;flex-direction:column;gap:2px;width:212px;padding:12px max(10px,env(safe-area-inset-left,0px)) 12px 10px;background:var(--nav-bg);border-right:1px solid var(--bar-line);overflow-y:auto}nav.app-tabs a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);color:var(--bar-fg);font-weight:600;font-size:15px;text-decoration:none}nav.app-tabs a:hover{background:var(--hover)}nav.app-tabs a.active{background:var(--tab-active-bg);color:var(--tab-active-fg)}nav.app-tabs a svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}}nav.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:1000;display:flex;justify-content:space-around;padding:6px max(8px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px));background:var(--nav-bg);border-top:1px solid var(--bar-line)}@media (min-width: 900px){nav.bottom-nav{display:none}}.bottom-nav a,.bottom-nav button{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:56px;margin:0;padding:4px 6px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--nav-fg);font:inherit;font-size:11px;font-weight:600;text-decoration:none;cursor:pointer}.bottom-nav a.active{color:var(--bar-fg)}.bottom-nav svg{box-sizing:content-box;width:24px;height:24px;padding:3px 12px;border-radius:999px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.bottom-nav a.active svg,.bottom-nav button.active svg{background:var(--nav-active-bg);color:var(--nav-active)}@media (max-width: 360px){.bottom-nav a,.bottom-nav button{min-width:0;padding:4px 2px}.bottom-nav svg{padding:3px 9px}}.more-sheet-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:#00000073}.more-sheet{position:fixed;left:0;right:0;bottom:0;z-index:1101;padding:8px 10px calc(12px + env(safe-area-inset-bottom,0px));background:var(--card);border-top:1px solid var(--line-strong);border-radius:var(--radius) var(--radius) 0 0;box-shadow:0 -12px 40px #00000059}.more-sheet-grip{width:36px;height:4px;margin:2px auto 10px;border-radius:2px;background:var(--line-strong)}.more-sheet a,.more-sheet button{display:flex;align-items:center;gap:10px;width:100%;margin:0;padding:12px 10px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--fg);font:inherit;font-size:16px;font-weight:500;text-align:left;text-decoration:none;cursor:pointer}.more-sheet a:hover,.more-sheet button:hover,.more-sheet a.active{background:var(--hover)}.more-sheet svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;color:var(--fg-2)}.more-sheet-sep{height:1px;margin:4px 0;background:var(--line-soft)}.chip{display:inline-flex;align-items:center;padding:2px 9px;border-radius:4px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;line-height:1.5}.dot{display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:currentColor;vertical-align:middle}.chip .dot{width:7px;height:7px;margin-right:5px}.is-running .dot,.dot.is-running{animation:puls 1.6s ease-out infinite}main{flex:auto;display:flex;align-items:flex-start;justify-content:center;margin:0;width:100%;max-width:100%;text-align:center}.app-main>*{max-width:100%;min-width:0}@media (max-width: 360px){main{margin:1rem}}.settings{display:flex;flex-direction:column;flex-wrap:nowrap;align-content:center;justify-content:flex-start;align-items:center;width:100%}.settings section{display:flex;column-gap:1.5rem;flex-direction:column;max-width:100%}h2{padding-top:.5rem;text-align:center;font-size:1.35rem}h3{margin-block-start:.2rem;margin-block-end:.2rem}h4,h5{margin-block-end:.2rem}button{font:inherit;font-weight:700;color:var(--accent-fg);background:var(--accent);padding:9px 20px;margin-left:9px;border:0;border-radius:var(--radius-sm);cursor:pointer}button:hover:not(:disabled){filter:brightness(1.08)}button:disabled{background:var(--muted-bg);color:var(--muted-fg);cursor:not-allowed}input,select,textarea{font:inherit;color:var(--fg);background:var(--input-bg);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:6px 8px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}hr{border:0;border-top:1px solid var(--line-soft)}table{color:inherit}th{color:var(--fg-3);font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:600}.app-loading{padding:2rem 1rem;text-align:center;color:var(--fg-2)}.shared-banner{margin:0 1rem .6rem;padding:.5rem .75rem;border-radius:var(--radius-sm);background:var(--run-bg);color:var(--run-fg);font-size:.9rem;text-align:left}@media (max-width: 560px){body main{margin-left:0;margin-right:0}body .settings,body .settings>section{width:var(--page-vw, 100vw);box-sizing:border-box}h2{padding-top:.1rem;margin:.2rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.demo-banner{background:var(--warn-bg);color:var(--warn-fg);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.demo-banner .link-btn{color:inherit;font-weight:600}.demo-toast{position:fixed;left:50%;bottom:calc(72px + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:50;padding:10px 16px;border-radius:var(--radius-sm);background:var(--warn-bg);color:var(--warn-fg);font-size:14px;font-weight:600;box-shadow:0 4px 16px #00000040}.auth-demo{margin-top:12px;text-align:center}.auth-demo .link-btn{color:var(--fg-3);font-weight:500;font-size:12px}.auth-demo .link-btn:hover{color:var(--fg-2)}.page{width:100%;max-width:var(--page-max);margin:0 auto;text-align:left;display:flex;flex-direction:column;gap:var(--gap);min-width:0}.chip{display:inline-flex;align-items:center;font-size:12px;font-weight:600;padding:2px 9px;border-radius:999px;line-height:1.5;white-space:nowrap}.chip-ok{background:var(--ok-bg);color:var(--ok-fg)}.chip-off{background:var(--muted-bg);color:var(--muted-fg)}.chip-warn{background:var(--warn-bg);color:var(--warn-fg)}.outdoor-strip{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:2px 4px;color:var(--fg-2);font-size:13px}.outdoor-temp{font-family:var(--font-display);font-size:20px;font-weight:700;color:var(--fg)}.outdoor-icon{display:inline-flex;align-self:center;flex:none}.outdoor-icon svg{display:block;width:24px;height:24px}.outdoor-src{margin-left:auto;font-size:12px;color:var(--fg-3)}.tiles{display:grid;gap:var(--gap);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));align-items:start}@media (max-width: 400px){.tiles{grid-template-columns:1fr}}.tile{position:relative;display:flex;flex-direction:column;gap:10px;padding:calc(var(--tile-pad) - 4px) var(--tile-pad);background:var(--card);color:var(--fg);border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow);min-width:0}.tile.is-link{cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.tile.is-link:hover{transform:translateY(-1px);box-shadow:var(--shadow-hover);border-color:var(--line-strong)}.tile-head{display:flex;align-items:center;gap:10px}.tile-icon{display:inline-flex;width:36px;height:36px;border-radius:var(--radius-sm);align-items:center;justify-content:center;background:var(--kind-bg);color:var(--kind-fg);flex:none}.tile[data-kind=hp]{--kind-fg: var(--c-heat);--kind-bg: var(--c-heat-bg)}.tile[data-kind=tank]{--kind-fg: var(--c-water);--kind-bg: var(--c-water-bg)}.tile[data-kind=pv]{--kind-fg: var(--c-sun);--kind-bg: var(--c-sun-bg)}.tile[data-kind=switch]{--kind-fg: var(--c-switch);--kind-bg: var(--c-switch-bg)}.tile[data-kind=boiler]{--kind-fg: var(--c-fire);--kind-bg: var(--c-fire-bg)}.tile[data-kind=weather]{--kind-fg: var(--c-sky);--kind-bg: var(--c-sky-bg)}.tile-name{font-size:16px;font-weight:700;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile-main{display:flex;align-items:baseline;gap:4px;flex-wrap:wrap}.big{font-family:var(--font-num);font-size:34px;font-weight:700;line-height:1;letter-spacing:-.01em}.unit{font-size:16px;font-weight:600;color:var(--fg-2)}.big-label{flex-basis:100%;font-size:14px;line-height:1.35;font-weight:500;color:var(--fg-2);margin-top:2px}.tile-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0;padding-top:10px;border-top:1px solid var(--line-soft)}.tile-facts div{min-width:0}.tile-facts dt{font-size:12px;line-height:1.3;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile-facts dd{margin:0;font-weight:700;font-size:16px;line-height:1.25;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile-row{display:flex;gap:8px;flex-wrap:wrap}.state{display:inline-flex;align-items:center;font-size:13px;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--muted-bg);color:var(--muted-fg)}.state-on{background:var(--run-bg);color:var(--run-fg)}.warn-line{display:block;width:100%;font-size:13px;padding:8px 10px;border-radius:var(--radius-sm);background:var(--warn-bg);color:var(--warn-fg);border-left:3px solid var(--warn-fg)}.tile-foot{font-size:13px;line-height:1.35;color:var(--fg-2);margin-top:auto}.relays{display:flex;flex-direction:column}.relay{display:grid;grid-template-columns:1fr auto;grid-template-areas:"n s" "d s";align-items:center;column-gap:12px;padding:8px 0;border-top:1px solid var(--line-soft)}.relay:first-child{border-top:0;padding-top:0}.relay-name{grid-area:n;font-weight:600}.relay-desc{grid-area:d;font-size:12px;color:var(--fg-2)}.relay .switch{grid-area:s}.switch{display:inline-block;width:44px;height:26px;border-radius:999px;background:var(--switch-off);position:relative;cursor:pointer;flex:none;transition:background .15s;border:1px solid var(--line)}.switch:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:var(--switch-knob);box-shadow:0 1px 3px #00000059;transition:transform .15s}.switch.is-on{background:var(--accent);border-color:var(--accent)}.switch.is-on:after{transform:translate(18px);background:var(--accent-fg)}.statusbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--fg-3);padding:10px max(16px,env(safe-area-inset-right,0px)) calc(58px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));border-top:1px solid var(--line-soft)}.dot-ok{color:var(--ok-fg)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--card-pad);min-width:0;display:flex;flex-direction:column;gap:12px}.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.card-head h2{font-size:15px;font-weight:700;letter-spacing:.01em}.card-hint{font-size:12px;color:var(--fg-3);white-space:nowrap}.grid-2{display:grid;gap:var(--gap);grid-template-columns:1fr}@media (min-width: 760px){.grid-2{grid-template-columns:1fr 1fr}}.card-hero{background:var(--hero-bg);color:var(--hero-fg);border-color:var(--hero-line);display:grid;grid-template-columns:1fr;gap:18px}@media (min-width: 760px){.card-hero{grid-template-columns:1.1fr 1fr;align-items:center}}.hero-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--hero-fg-2)}.hero-value{display:flex;align-items:baseline;gap:6px;margin:4px 0 10px}.hero-num{font-family:var(--font-num);font-size:64px;font-weight:700;line-height:1;letter-spacing:-.02em}.hero-unit{font-size:22px;font-weight:600;color:var(--hero-fg-2)}.range{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;font-size:13px;font-weight:600;color:var(--hero-fg-2)}.range-bar{position:relative;height:8px;border-radius:999px;background:var(--hero-track);overflow:visible}.range-fill{position:absolute;inset:0 auto 0 0;width:var(--p);border-radius:999px;background:var(--accent)}.range-pin{position:absolute;top:50%;left:var(--p);width:16px;height:16px;border-radius:50%;background:var(--card);border:3px solid var(--accent);transform:translate(-50%,-50%);box-shadow:0 1px 4px #0000004d}.hero-note{display:block;margin-top:10px;font-size:13px;color:var(--hero-fg-2)}.hero-side{display:flex;flex-direction:column;gap:12px}.state-pill{display:flex;flex-direction:column;padding:10px 14px;border-radius:var(--radius-sm);background:var(--run-bg);color:var(--run-fg);font-weight:700;font-size:14px}.state-pill small{font-weight:500;opacity:.9;margin-top:2px}.state-pill-title{display:flex;align-items:center}.hero-kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}@media (min-width: 420px){.hero-kpis{grid-template-columns:repeat(4,1fr)}}@media (min-width: 760px){.hero-kpis{grid-template-columns:repeat(2,1fr)}}.kpi{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--kpi-bg);border:1px solid var(--kpi-line);min-width:0}.kpi-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--hero-fg-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-value{font-family:var(--font-num);font-size:20px;font-weight:700;line-height:1.1}.kpi-value small{font-size:12px;font-weight:600;margin-left:3px;color:var(--hero-fg-2)}.kpi-sub{font-size:12px;line-height:1.4;color:var(--hero-fg-2)}.kpi-row{display:flex;flex-wrap:wrap-reverse;align-items:center;justify-content:space-between;gap:4px 6px}.kpi-row .pump{flex:none;padding:3px 5px;letter-spacing:.02em}.kpi-row .pump .dot{margin-right:4px}.kpi-circuit{padding:10px}.hero-kpis:has(.kpi-circuit){grid-template-columns:repeat(2,1fr)}.kpi-sub .inline-icon{color:var(--hero-fg)}.toggle-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.toggle-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line-soft)}.toggle-list li:first-child{border-top:0;padding-top:2px}.t-name{font-weight:500}.t-name small{color:var(--fg-3);font-weight:400}.energy{display:flex;gap:20px}.energy-num{display:flex;flex-direction:column}.energy-num span{font-family:var(--font-num);font-size:26px;font-weight:700;line-height:1.1}.energy-num small{font-size:12px;color:var(--fg-3)}.measures{margin:0;display:grid;grid-template-columns:1fr;gap:0}@media (min-width: 560px){.measures{grid-template-columns:1fr 1fr;column-gap:28px}}.measures div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--line-soft);min-width:0}.measures div:first-child{border-top:0}@media (min-width: 560px){.measures div:nth-child(2){border-top:0}}.measures dt{color:var(--fg-2)}.measures dd{margin:0;font-weight:600;white-space:nowrap}.measures dd small{color:var(--fg-3);font-weight:400}.ok-text{color:var(--ok-fg);font-weight:700}.segmented{display:flex;background:var(--seg-bg);border:1px solid var(--line);border-radius:var(--radius-sm);padding:3px;gap:3px}.seg{flex:1;position:relative}.seg input{position:absolute;opacity:0;top:0;right:0;bottom:0;left:0;margin:0;cursor:pointer}.seg span{display:block;text-align:center;padding:8px 6px;border-radius:calc(var(--radius-sm) - 3px);font-weight:600;font-size:14px;color:var(--fg-2)}.seg input:checked+span{background:var(--accent);color:var(--accent-fg)}.seg input:focus-visible+span{outline:2px solid var(--accent);outline-offset:1px}.help{font-size:13px;color:var(--fg-3)}.form-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.form-row label{font-weight:500}.range-inputs{display:flex;align-items:center;gap:8px}.range-inputs input{width:64px;padding:8px 10px;font:inherit;font-weight:600;text-align:center;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--fg)}.dash,.unit-txt{color:var(--fg-3)}.actions{display:flex;justify-content:flex-end}.btn{border:0;border-radius:var(--radius-sm);padding:10px 18px;font-weight:700;cursor:pointer;background:var(--muted-bg);color:var(--fg)}.btn-primary{background:var(--accent);color:var(--accent-fg)}.btn-primary:hover{background:var(--accent-strong)}.btn-ghost{background:transparent;color:var(--accent);border:1px solid var(--line-strong)}.btn-ghost:hover{background:var(--hover)}.btn-sm{padding:6px 12px;font-size:13px}.entries{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.entry{display:grid;grid-template-columns:1fr auto;grid-template-areas:"when actions" "what actions" "tag actions";align-items:center;column-gap:10px;padding:10px 12px 10px 14px;border-radius:var(--radius-sm);background:var(--row-bg);border:1px solid var(--line-soft);border-left:4px solid var(--c-heat)}.entry-when{grid-area:when}.entry-when small{color:var(--fg-3)}.entry-what{grid-area:what;font-size:13px;color:var(--fg-2)}.entry-tag{grid-area:tag;justify-self:start;margin-top:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:999px;background:var(--run-bg);color:var(--run-fg)}.entry-actions{grid-area:actions;display:flex}.entry.is-current{border-color:var(--accent);border-left-color:var(--accent);background:var(--row-current-bg)}.entry.is-off{border-left-color:var(--muted-fg)}.entry.is-default{border-left-color:var(--c-water);border-style:dashed;border-left-style:solid}.ic{width:22px;height:22px;flex:none}.inline-icon{display:inline-block;width:14px;height:14px;vertical-align:-2px}.page-narrow{max-width:760px}.stack{display:flex;flex-direction:column;gap:var(--gap);min-width:0}.grid-3{display:grid;gap:var(--gap);grid-template-columns:1fr}@media (min-width: 760px){.grid-3{grid-template-columns:repeat(3,1fr)}}@media (min-width: 900px){.grid-settings{grid-template-columns:1.15fr 1fr;align-items:start}}.danger-text{color:var(--danger)}.chip-err{background:var(--err-bg);color:var(--err-fg)}.link{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.link-btn{border:0;background:none;padding:0;color:var(--accent);font-weight:600;cursor:pointer;font-size:13px}.link-btn:hover{text-decoration:underline}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-danger{background:var(--danger);color:#fff}.btn-danger-ghost{background:transparent;color:var(--danger);border:1px solid var(--line-strong)}.btn-danger-ghost:hover{background:var(--err-bg)}.btn.is-active{outline:2px solid var(--accent);outline-offset:-2px}.btn-block{width:100%}.btn .ic{width:16px;height:16px;margin-right:6px;vertical-align:-3px;display:inline-block}.actions-split{justify-content:space-between;gap:10px}.actions-3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.switch.is-disabled{opacity:.5;cursor:not-allowed}.switch.is-disabled.is-on{background:var(--muted-fg);border-color:var(--muted-fg)}.switch.is-state{opacity:1;cursor:default}.switch.is-state.is-on{background:var(--accent);border-color:var(--accent)}.switch.is-state.is-on:after{background:var(--accent-fg)}code{font-family:JetBrains Mono,Consolas,monospace;font-size:.9em;background:var(--muted-bg);padding:1px 5px;border-radius:4px}.tile-tools{display:none;gap:2px;margin-left:4px}.tile:hover .tile-tools,.tile:focus-within .tile-tools{display:inline-flex}.tile-tools .icon-btn{width:30px;height:30px;color:var(--fg-3)}.tile-tools .ic{width:16px;height:16px}.tile-layout{display:none}.layout-bar{display:none;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-radius:var(--radius);background:var(--run-bg);color:var(--run-fg);font-size:13px}.tile-empty{display:none;align-items:center;justify-content:center;min-height:120px;border:2px dashed var(--line-strong);background:transparent;box-shadow:none}.tile-empty:before{display:none}.tile.is-hidden{display:none;opacity:.55}#s-lista.is-layout .layout-bar,#s-lista.is-layout .tile-empty,#s-lista.is-layout .tile.is-hidden{display:flex}#s-lista.is-layout .tile-layout{display:flex;gap:4px;position:absolute;right:10px;bottom:8px;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:2px}#s-lista.is-layout .tile-tools{display:inline-flex}#s-lista.is-layout .tile.is-link{cursor:default;transform:none}#s-lista.is-layout .tile .tile-foot{padding-right:84px}#s-lista.is-layout .tiles{align-items:stretch}#s-lista.is-layout .tiles .tile{outline:1px dashed var(--line-strong);outline-offset:3px}.filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}.date-nav{display:inline-flex;align-items:center;gap:2px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:2px}.date-cur{padding:0 10px;font-weight:700;white-space:nowrap}.date-cur small{font-weight:500;color:var(--fg-3);margin-left:4px}.icon-btn:disabled{opacity:.35;cursor:default}.icon-btn:disabled:hover{background:transparent}.seg-inline{display:inline-flex;width:auto}.seg-inline .seg span{padding:6px 12px}.check{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;cursor:pointer}.check input{width:18px;height:18px;margin:0;accent-color:var(--accent)}.check span{font-weight:500}.check small{grid-column:2;color:var(--fg-3);font-size:12px}.checks{border:0;margin:0;padding:0;display:grid;gap:8px}.checks legend{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-3);margin-bottom:8px}.filters .btn{margin-left:auto}.card-table{padding-bottom:8px}.table-wrap{overflow-x:auto;margin:0 calc(-1 * var(--card-pad));padding:0 var(--card-pad);-webkit-overflow-scrolling:touch}table.data{border-collapse:collapse;width:100%;min-width:100%;font-size:14px;white-space:nowrap}table.data th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-3);font-weight:600;padding:6px 10px 8px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--card)}table.data td{padding:8px 10px;border-bottom:1px solid var(--line-soft)}table.data th.num,table.data td.num{text-align:right}table.data tbody tr:hover td{background:var(--hover)}table.data tr.is-err td{background:var(--err-bg)}table.data tr.is-err td:first-child{box-shadow:inset 3px 0 0 var(--err-fg)}table.data td em{color:var(--run-fg);font-style:normal;font-weight:600}.dot-run{color:var(--run-fg);background:currentColor}.table-foot{font-size:12px;color:var(--fg-3);padding-top:6px}.stat-row{display:grid;gap:10px;grid-template-columns:repeat(2,1fr)}@media (min-width: 760px){.stat-row{grid-template-columns:repeat(4,1fr)}}.stat{display:flex;flex-direction:column;gap:2px;padding:10px 14px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);min-width:0}.stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-3)}.stat-value{font-family:var(--font-num);font-size:24px;font-weight:700;line-height:1.1;white-space:nowrap}.stat-value small{font-size:12px;font-weight:600;color:var(--fg-3);margin-left:3px}.chart{position:relative;width:100%;min-width:0}.nowrap{white-space:nowrap}.chart .grid{stroke:var(--line-soft);stroke-width:1}.chart .tick{fill:var(--fg-3);font-size:11px;font-family:var(--font-body)}.lg i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px}.legend{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:var(--fg-2)}.card-head .legend{justify-content:flex-end}@media (max-width: 560px){.card-head{flex-wrap:wrap}.card-head .legend{justify-content:flex-start;flex-basis:100%}}.timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.tl{display:grid;grid-template-columns:52px 1fr auto;grid-template-areas:"time who state" "time what state";column-gap:12px;row-gap:2px;padding:10px 0 10px 12px;border-top:1px solid var(--line-soft);border-left:3px solid var(--line-strong);align-items:center}.tl:first-child{border-top:0}.tl-time{grid-area:time;font-family:var(--font-num);font-weight:700;font-size:15px}.tl-who{grid-area:who;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-3)}.tl-what{grid-area:what;font-size:14px;color:var(--fg-2)}.tl-what strong{color:var(--fg)}.tl-state{grid-area:state;align-self:center}.tl-user{border-left-color:var(--accent)}.tl-sys{border-left-color:var(--c-water)}.tl-err{border-left-color:var(--err-fg)}@media (max-width: 560px){.tl{grid-template-columns:48px 1fr;grid-template-areas:"time who" "time what" "time state"}.tl-state{justify-self:start;margin-top:4px}}.form-grid{display:grid;grid-template-columns:1fr auto;gap:10px 12px;align-items:center}.form-grid label{font-weight:500}.w-wide{width:90px!important}.field{display:flex;flex-direction:column;gap:4px}.field>span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-3)}.field input,.field select{font:inherit;padding:10px 12px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--fg);width:100%}.field input:focus,.field select:focus,.range-inputs input:focus{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}.field.is-readonly input{color:var(--fg-2);background:var(--muted-bg);border-style:dashed;font-family:JetBrains Mono,Consolas,monospace;font-size:13px}.field input.code{font-family:var(--font-num);font-size:24px;letter-spacing:.3em;text-align:center}.range-inputs input[type=time]{width:96px}.toast{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:var(--radius-sm);font-size:13px;font-weight:500}.toast-ok{background:var(--ok-bg);color:var(--ok-fg)}.toast .ic{width:18px;height:18px}.kv{margin:0;display:flex;flex-direction:column}.kv div{display:grid;grid-template-columns:140px 1fr;gap:8px;padding:8px 0;border-top:1px solid var(--line-soft);align-items:baseline}.kv div:first-child{border-top:0;padding-top:0}.kv dt{color:var(--fg-3);font-size:13px}.kv dd{margin:0;font-weight:500;min-width:0;overflow-wrap:anywhere}.kv dd small{color:var(--fg-3);font-weight:400;margin-left:4px}@media (max-width: 400px){.kv div{grid-template-columns:110px 1fr}}.people{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.people li{display:flex;align-items:center;gap:12px;padding:8px 0;border-top:1px solid var(--line-soft)}.people li:first-child{border-top:0;padding-top:0}.person{flex:1;min-width:0;display:flex;flex-direction:column}.person strong{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person small{color:var(--fg-3)}.avatar-sm{width:32px;height:32px;border-radius:50%;background:var(--muted-bg);color:var(--fg-2);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex:none}.tile-icon.sm{width:32px;height:32px}.tile-icon.sm .ic{width:18px;height:18px}.people .tile-icon[data-kind=hp]{--kind-fg: var(--c-heat);--kind-bg: var(--c-heat-bg)}.people .tile-icon[data-kind=pv]{--kind-fg: var(--c-sun);--kind-bg: var(--c-sun-bg)}.people .tile-icon[data-kind=tank]{--kind-fg: var(--c-water);--kind-bg: var(--c-water-bg)}.people .tile-icon[data-kind=switch]{--kind-fg: var(--c-switch);--kind-bg: var(--c-switch-bg)}.people .tile-icon[data-kind=boiler]{--kind-fg: var(--c-fire);--kind-bg: var(--c-fire-bg)}.alert{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:var(--radius-sm);font-size:13px}.alert div{display:flex;flex-direction:column}.alert strong{font-size:14px}.alert span{opacity:.85}.alert .ic{width:20px;height:20px;margin-top:1px}.alert-err{background:var(--err-bg);color:var(--err-fg);border-left:3px solid var(--err-fg)}.alert-warn{background:var(--warn-bg);color:var(--warn-fg);border-left:3px solid var(--warn-fg)}.banner{display:flex;gap:12px;align-items:center;padding:10px 14px;border-radius:var(--radius);font-size:13px}.banner div{display:flex;flex-direction:column}.banner strong{font-size:14px}.banner-off{background:var(--err-bg);color:var(--err-fg);border:1px solid var(--err-fg)}.card-danger{border-color:var(--err-fg)}.pill-row{display:flex;flex-wrap:wrap;gap:6px}.flame{color:var(--c-heat);font-weight:600;white-space:nowrap}.flame .ic{width:14px;height:14px;display:inline-block;vertical-align:-2px}.panels{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.panels li{display:grid;grid-template-columns:64px 1fr auto;grid-template-areas:"name bar val" "name sub chip";column-gap:12px;row-gap:4px;align-items:center;padding:10px 0;border-top:1px solid var(--line-soft)}.panels li:first-child{border-top:0;padding-top:2px}.panel-name{grid-area:name;font-weight:600}.panels .bar{grid-area:bar;height:8px;border-radius:999px;background:var(--muted-bg);overflow:hidden}.panels .bar span{display:block;height:100%;width:var(--p);background:var(--c-sun);border-radius:999px}.panels .is-low .bar span{background:var(--warn-fg)}.panel-val{grid-area:val;font-family:var(--font-num);font-weight:700;font-size:16px;text-align:right}.panel-sub{grid-area:sub;font-size:12px;color:var(--fg-3)}.panels .chip{grid-area:chip;justify-self:end}.card-relay{border-left:4px solid var(--line-strong)}.card-relay.is-on{border-left-color:var(--accent)}.card-relay.is-blocked{border-left-color:var(--danger)}.card-relay .card-head h2{text-transform:none;letter-spacing:0;font-size:18px;color:var(--fg)}.relay-state{font-size:13px;font-weight:600;color:var(--run-fg)}.relay-state .dot{background:currentColor}.countdown{display:flex;flex-direction:column;padding:12px 14px;border-radius:var(--radius-sm);background:var(--kpi-bg);border:1px solid var(--kpi-line);color:var(--hero-fg)}.countdown-num{font-family:var(--font-num);font-size:38px;font-weight:700;line-height:1}.countdown-label{font-size:12px;color:var(--hero-fg-2);margin-top:4px}.countdown.is-idle .countdown-num{color:var(--hero-fg-2)}.card-circuit{gap:6px}.circuit-val{display:flex;align-items:baseline;gap:4px}.circuit-sub{font-size:13px;color:var(--fg-2)}.toggle-list.cols-2{display:grid;grid-template-columns:1fr}@media (min-width: 560px){.toggle-list.cols-2{grid-template-columns:1fr 1fr;column-gap:28px}.toggle-list.cols-2 li:nth-child(2){border-top:0;padding-top:2px}}.toggle-hero{background:var(--kpi-bg);border:1px solid var(--kpi-line);border-radius:var(--radius-sm);padding:4px 12px}.toggle-hero li{color:var(--hero-fg);border-top-color:var(--kpi-line)}.toggle-hero li:first-child{padding-top:10px}.auth{width:100%;max-width:420px}.auth-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:28px 24px;display:flex;flex-direction:column;gap:14px}.auth-card h1{font-size:24px}.auth-step{display:flex;flex-direction:column;gap:12px}.brand-big .brand-mark{width:12px;height:28px}.brand-big .brand-name{font-size:18px}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:40px 20px;color:var(--fg-2)}.empty .ic{width:40px;height:40px;color:var(--fg-3)}.empty h2{color:var(--fg);font-size:18px;text-transform:none;letter-spacing:0;text-wrap:balance}.empty p{max-width:48ch;font-size:14px}.modal-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50}.modal-layer[hidden]{display:none}.scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000073}.modal{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(520px,calc(100% - 32px));max-height:calc(100% - 32px);overflow:auto;background:var(--card);color:var(--fg);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:0 20px 60px #0006;display:flex;flex-direction:column}.modal-sm{width:min(420px,calc(100% - 32px))}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid var(--line-soft)}.modal-head h2{font-size:16px;text-transform:none;letter-spacing:0;color:var(--fg)}.modal-body{padding:14px 16px;display:flex;flex-direction:column;gap:12px}.modal-body p{font-size:14px;color:var(--fg-2)}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:10px 16px 14px;border-top:1px solid var(--line-soft)}.modal-foot .spacer{flex:1}.choices{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}.choices li{display:flex;flex-direction:column;padding:8px 12px;border-top:1px solid var(--line-soft);cursor:pointer}.choices li:first-child{border-top:0}.choices li small{color:var(--fg-3)}.choices li.is-selected{background:var(--row-current-bg);box-shadow:inset 3px 0 0 var(--accent)}.field-inline{flex-direction:row;align-items:center;gap:8px}.field-inline>span{text-transform:none;letter-spacing:0;font-size:14px;color:var(--fg-2)}.field-inline select{width:auto;padding:7px 10px}.w-text{width:220px!important;max-width:100%;text-align:left!important}.kpis-plain .kpi{color:var(--fg)}.kpis-plain .kpi-label{color:var(--fg-3)}.chipset{display:flex;flex-wrap:wrap;gap:6px}.chip-check{position:relative}.chip-check input{position:absolute;opacity:0;top:0;right:0;bottom:0;left:0;margin:0;cursor:pointer}.chip-check span{display:inline-block;padding:5px 12px;border-radius:4px;border:1px solid var(--line-strong);font-size:13px;font-weight:600;color:var(--fg-2);background:var(--card)}.chip-check input:checked+span{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.chip-check input:focus-visible+span{outline:2px solid var(--accent);outline-offset:1px}.params{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.params li{display:flex;align-items:center;gap:12px;padding:8px 0;border-top:1px solid var(--line-soft)}.params li:first-child{border-top:0;padding-top:2px}.param-name{flex:1;min-width:0;font-weight:500}.param-name small{display:block;color:var(--fg-3);font-weight:400}.param-val{font-family:var(--font-num);font-weight:700;font-size:16px;white-space:nowrap}.param-val .chip{margin-left:6px;vertical-align:2px}.card-details{padding:0}.card-details summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:var(--card-pad)}.card-details summary::-webkit-details-marker{display:none}.card-details summary h2{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-2)}.card-details summary:after{content:"▾";color:var(--fg-3);margin-left:auto}.card-details[open] summary:after{content:"▴"}.card-details>*:not(summary){margin:0 var(--card-pad) 12px}.fw-current{display:flex;align-items:center;gap:14px}.fw-ver{font-family:var(--font-num);font-size:32px;font-weight:700;line-height:1}.fw-ver.sm{font-size:18px;min-width:52px}.fw-meta{flex:1;display:flex;flex-direction:column;min-width:0}.fw-meta small{color:var(--fg-3)}.fw-desc{font-size:14px;color:var(--fg-2)}.people .btn{flex:none}.tl-time small{display:block;font-size:11px;font-weight:500;color:var(--fg-3)}.tl .tl-time{align-self:start}.form-grid label small{display:block;color:var(--fg-3);font-size:12px;font-weight:400}.form-row .t-name small{display:block;color:var(--fg-3)}.field input[type=file]{padding:8px}.modal,.modal-body{min-width:0}.form-grid{grid-template-columns:minmax(0,1fr) auto}.form-grid label{min-width:0}@media (max-width: 400px){.modal .form-grid{grid-template-columns:1fr;row-gap:4px}.modal .form-grid label{margin-top:6px}}.kpis-plain .kpi{background:var(--muted-bg);border-color:var(--line);color:var(--fg)}.kpis-plain .kpi-value small{color:var(--fg-3)}.fw-current{flex-wrap:wrap}.fw-meta{flex-basis:160px}.people .person strong{white-space:normal;overflow-wrap:anywhere}.tiles{align-items:stretch}.tile-main{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:nowrap}.tile-value{display:flex;align-items:baseline;gap:4px;flex-wrap:wrap;min-width:0}.tile-side{flex:0 1 auto;max-width:52%;display:flex;justify-content:flex-end}.tile-side .state{white-space:normal;text-align:left;font-size:11px;font-weight:600;line-height:1.5;padding:3px 7px;border-radius:4px}.tile-side .state .dot{width:6px;height:6px;margin-right:5px}.tile-side .state .dot{flex:none}.tile-side .warn-line{width:auto;white-space:normal;line-height:1.3;padding:6px 10px;font-size:12px}.tile-facts{margin-top:auto}.tile .relays{margin-bottom:auto}@keyframes puls{0%,to{box-shadow:0 0 0 0 currentColor;opacity:1}70%{box-shadow:0 0 0 6px transparent;opacity:.7}}@keyframes fale{0%{transform:translateY(0)}to{transform:translateY(-3px)}}@keyframes plomien{0%,to{transform:scale(1) rotate(0)}30%{transform:scale(1.08) rotate(-3deg)}60%{transform:scale(.96) rotate(2deg)}}@keyframes poswiata{0%,to{box-shadow:inset 3px 0 0 var(--kind-fg)}50%{box-shadow:inset 3px 0 0 var(--kind-fg),0 0 18px -4px var(--kind-fg)}}.is-running .state .dot,.state-pill.is-running .dot,.chip.is-running .dot{animation:puls 1.6s ease-out infinite}.tile.is-running[data-kind=hp] .tile-icon .ic{animation:fale 1.2s ease-in-out infinite alternate}.tile.is-running[data-kind=boiler] .tile-icon .ic{animation:plomien 1.1s ease-in-out infinite;transform-origin:50% 90%}.tile.is-running:before{animation:poswiata 2.4s ease-in-out infinite}.tile.is-running .tile-icon{box-shadow:0 0 0 2px var(--kind-bg),0 0 14px -2px var(--kind-fg)}@media (prefers-reduced-motion: reduce){.is-running .dot,.tile.is-running .ic,.tile.is-running:before{animation:none!important}}.tile-side{flex-direction:column;align-items:flex-end;gap:6px}.pumps{display:inline-flex;gap:4px}.pump{display:inline-flex;align-items:center;font-size:11px;font-weight:600;letter-spacing:.06em;line-height:1.5;padding:3px 7px;border-radius:4px;color:var(--muted-fg);background:var(--muted-bg)}.pump .dot{width:6px;height:6px;margin-right:5px;background:currentColor;opacity:.55}.pump.is-on{color:var(--run-fg);background:var(--run-bg)}.pump.is-on .dot{background:currentColor;opacity:1;animation:puls 1.6s ease-out infinite}@media (prefers-reduced-motion: reduce){.pump .dot{animation:none!important}}.device-sub .sub-run{font-size:11px;font-weight:600;line-height:1.5;padding:1px 7px;margin-left:6px;border-radius:999px;text-transform:uppercase;letter-spacing:.06em}.device-sub .sub-run .dot{width:6px;height:6px;margin-right:5px;animation:puls 1.6s ease-out infinite}.pill-row .state.is-running .dot{animation:puls 1.6s ease-out infinite}@media (prefers-reduced-motion: reduce){.device-sub .sub-run .dot,.pill-row .state .dot{animation:none!important}}.card-head h2,.tile-facts dt,.kpi-label,.hero-label{text-transform:uppercase;letter-spacing:.08em}.card-head h2{font-size:13px;color:var(--fg-2)}.tile-name{font-size:17px}.chip{border-radius:4px;text-transform:uppercase;letter-spacing:.06em;font-size:11px}.pill-row .state,.kpi-row .pump,.state-pill-title,.tile-side .state{text-transform:uppercase;letter-spacing:.06em}.state,.state-pill,.entry-tag{border-radius:4px}.tile:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:0 3px 3px 0;background:var(--kind-fg)}.brand-mark{background:var(--accent)}.card-hero{border-left:4px solid var(--accent)}.btn,.icon-btn,.seg span,.link-btn{margin:0}.seg span{white-space:nowrap}.seg-inline .seg{flex:none}.icon-btn{padding:0}.btn:hover:not(:disabled){filter:none}.page h2,.page h3{padding:0;margin:0;text-align:left}.page .card{text-align:left}.alert-info{background:var(--muted-bg);color:var(--fg);border-left:3px solid var(--c-sky)}.alert-info .ic{color:var(--c-sky)}.chip-loc{background:var(--c-sky-bg);color:var(--c-sky);gap:4px}.chip-loc .ic{width:12px;height:12px}button.icon-button[type]{display:inline-grid;place-items:center;flex:none;width:auto;height:auto;min-height:0;margin:0;padding:.1rem;background:none;border:0;border-radius:4px;color:var(--accent);line-height:0;cursor:pointer}button.icon-button[type] svg{width:1.6em;height:1.6em}button.icon-button[type]:hover,button.icon-button[type].active{color:var(--accent-strong)}button.icon-button[type]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.icon-button[type]:disabled{opacity:.4;cursor:not-allowed}button.icon-button.icon-button-danger[type]{color:var(--fg-3)}button.icon-button.icon-button-danger[type]:hover:not(:disabled){color:var(--danger)}button.icon-button.lang-toggle[type]{font-size:13px;font-weight:700;line-height:1;letter-spacing:.04em;padding:.35rem .3rem}.operations-page{padding:0 max(16px,env(safe-area-inset-right,0px)) 28px max(16px,env(safe-area-inset-left,0px))}.operations-page .date-nav .icon-button{width:34px;height:34px;border-radius:50%;color:var(--fg)}.operations-page .date-nav .icon-button:hover:not(:disabled){background:var(--hover);color:var(--fg)}.operations-page .date-nav .icon-button:disabled{opacity:.35}.operations-page .date-nav .icon-button svg{width:22px;height:22px}.operations-page .date-cur{position:relative;cursor:pointer}.operations-page .date-cur input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;margin:0;padding:0;opacity:0;cursor:pointer}.tl.tl-planned{border-left-style:dashed}.tl-what .tl-error{color:var(--err-fg);font-weight:600}.tl-what .tl-cond{display:block;color:var(--fg-3)}.tl-state{white-space:nowrap}@media (max-width: 400px){.operations-page .filters .segmented{display:flex;width:100%}}.hp-view{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));flex-direction:column;align-items:stretch}.hp-view .notification{margin:0}.hp-view button.switch[type]{margin:0;padding:0;min-height:0;line-height:0}.hp-view button.switch[type]:disabled{background:var(--switch-off);color:inherit}.hp-view button.switch[type].is-on:disabled{background:var(--muted-fg);border-color:var(--muted-fg)}.hp-view button.btn[type]{margin:0}.hp-view button.btn-ghost[type]{background:transparent;color:var(--accent)}.hp-view button.btn-ghost[type]:hover:not(:disabled){background:var(--hover);filter:none}.hp-view button.btn-danger-ghost[type]{background:transparent;color:var(--danger)}.hp-view button.btn-danger-ghost[type]:hover:not(:disabled){background:var(--err-bg);filter:none}.hp-view button.btn[type]:disabled{background:var(--muted-bg);color:var(--muted-fg);opacity:.6}.hp-view button.btn-primary[type]:disabled{background:var(--muted-bg)}.hp-view button.link-btn[type]{margin:0;padding:0;background:none;color:var(--accent)}.hp-view .date-nav .date-nav-btn{width:34px;height:34px;border-radius:50%;color:var(--fg)}.hp-view .date-nav .date-nav-btn:hover:not(:disabled){background:var(--hover);color:var(--fg)}.hp-view .date-nav .date-nav-btn:disabled{opacity:.35}.hp-view .date-cur{position:relative;display:inline-flex;align-items:baseline}.hp-view .date-cur select{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;opacity:0;cursor:pointer}.hp-view .date-cur select:disabled{cursor:default}.hp-view .date-cur:focus-within{outline:2px solid var(--accent);outline-offset:1px;border-radius:4px}.hp-view .range-inputs input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.hp-view .range-inputs input[aria-invalid=true]{border-color:var(--danger)}.hp-view .field-error{margin:0;font-size:13px;color:var(--danger)}.hp-view .measures dd.is-bad{color:var(--danger)}.hp-view .state-pill.is-idle{background:var(--kpi-bg);color:var(--hero-fg-2);border:1px solid var(--kpi-line)}.hp-view .card-hero.is-stale .hero-main,.hp-view .card-hero.is-stale .hero-side{opacity:.55}.hp-view .chart-sm{height:110px}.hp-view .chart-md{height:180px}.hp-view .chart-lg{height:240px}.hp-view .legend button.lg[type]{display:inline-flex;align-items:center;margin:0;padding:2px 4px;border:0;border-radius:4px;background:transparent;color:var(--fg-2);font:inherit;font-size:12px;font-weight:500;cursor:pointer}.hp-view .legend button.lg[type]:hover{background:var(--hover);filter:none}.hp-view .legend .lg.is-off{opacity:.45;text-decoration:line-through}.hp-view .legend .lg i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px}.hp-view .chart-tooltip{display:flex;flex-direction:column;gap:3px;padding:8px 10px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--card);color:var(--fg);font-size:12px;white-space:nowrap;box-shadow:var(--shadow-hover)}.hp-view .chart-tooltip strong{margin-bottom:2px}.hp-view .chart-tooltip i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px}.hp-view .chart-tooltip b{margin-left:4px;font-weight:700}.hp-view .loading{display:flex;justify-content:center;padding:16px;color:var(--fg-3)}.hp-view .modal-layer{position:fixed;z-index:1100}.hp-view .modal form{display:contents}.hp-view .modal-foot button{margin:0}.hp-view .field select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}@media (max-width: 400px){.hp-view .modal-foot{flex-wrap:wrap}}.hp-home .hero-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.hp-home .hp-mode-value{font-size:16px;overflow-wrap:anywhere}.hp-home .measures dd.hp-errors{display:inline-flex;align-items:center;gap:8px}.hp-home .measures .hp-errors .chip{gap:4px}.hp-home .measures .hp-errors .chip .ic{width:14px;height:14px}.hp-home .hp-error-alert{margin-top:12px}.hp-home .energy{flex-wrap:wrap}.hp-data .table-wrap{max-height:max(240px,calc(100vh - 270px));overflow:auto}@media (max-width: 900px){.hp-data .table-wrap{max-height:max(240px,calc(100vh - 362px))}}.hp-data table.data td .chip{margin-left:6px;vertical-align:1px}.hp-data .filters .check small{white-space:nowrap}.hp-charts .chart{position:relative}.hp-charts .chart-loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;align-items:center;padding:0;background:color-mix(in srgb,var(--card) 60%,transparent)}.hp-charts .recharts-tooltip-wrapper{outline:none}.hp-charts .chart-readout{justify-content:center;align-items:center;min-height:24px;margin:-4px 0 6px}.hp-charts .chart-readout .readout-time{font-size:12px;color:var(--fg);margin-right:2px}.hp-charts .chart-readout b{margin-left:5px;font-weight:700;color:var(--fg)}.hp-settings .card-head button.icon-button[type]{width:30px;height:30px;border-radius:50%;color:var(--fg-2)}.hp-settings .card-head button.icon-button[type]:hover:not(:disabled){background:var(--hover);color:var(--fg)}@media (max-width: 400px){.hp-settings .form-grid{grid-template-columns:1fr;row-gap:4px}.hp-settings .form-grid label{margin-top:6px}}.notification{position:fixed;right:1.25rem;bottom:4rem;z-index:1000;padding:.75rem 1rem;border-radius:.4rem;background:var(--ok-fg);color:var(--accent-fg);font-size:.9rem;box-shadow:0 4px 12px #0003;animation:notification-in .3s ease-out}@keyframes notification-in{0%{transform:translateY(120%);opacity:0}to{transform:translateY(0);opacity:1}}.device-modal-layer{z-index:1200}.device-modal-layer .modal{margin:0;text-align:left}.device-modal-layer .btn,.device-modal-layer .icon-btn{margin:0}.device-modal-layer .icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--fg-2)}.device-modal-layer .icon-btn:hover{background:var(--hover);filter:none}.device-modal-layer .icon-btn .ic{width:18px;height:18px}.device-modal-layer .modal-head h2{margin:0;padding:0;text-align:left}.device-modal-layer .modal-body p{margin:0}.device-modal-layer .modal-foot .spacer{flex:1}.device-modal-layer .field input[readonly]{cursor:default}.device-modal-layer .choices li{cursor:pointer}.device-modal-layer .choices li:hover,.device-modal-layer .choices li:focus-visible{background:var(--hover)}.device-modal-layer .choice-note{cursor:default;color:var(--fg-3)}.weather-coords{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 400px){.weather-coords{grid-template-columns:1fr}}.device-modal-layer .device-modal-embedded{width:auto;max-height:none;overflow:visible;padding:0;background:transparent;box-shadow:none}.device-modal{width:min(420px,100%);max-height:calc(100dvh - 2rem);overflow-y:auto;box-sizing:border-box;padding:1rem 1.25rem;border-radius:.5rem;background-color:var(--card);color:var(--fg);display:grid;gap:.55rem;text-align:left;box-shadow:0 10px 30px #0000}.device-modal h2{margin:0;font-size:1.15rem}.device-modal label{display:grid;gap:.25rem}.device-modal label span{font-size:.9rem;color:var(--fg-2)}.device-modal input{width:100%;box-sizing:border-box;padding:.45rem;font-size:1rem;border:1px solid var(--line-strong);border-radius:4px}.device-modal input:disabled{background-color:var(--card);color:var(--fg-2)}.device-modal-error{color:var(--danger);margin:0}.wx-locate{align-self:flex-start;gap:8px}.wx-locate .ic{width:16px;height:16px}.wx-or{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--fg-3)}.wx-or:before,.wx-or:after{content:"";flex:1;border-top:1px solid var(--line-soft)}.controller-card-head{align-items:center}.controller-card-head .icon-button{margin:-6px 0}.kv dd .chip{vertical-align:1px}.kv dd small.block{display:block;margin-left:0}.card>.kv+.kv{margin-top:calc(-1 * var(--gap))}.card>.kv+.kv>div:first-child,.kv-rows>div:first-child{border-top:1px solid var(--line-soft);padding-top:8px}.kv-rows+.actions{margin-top:0}.kv dd .link-btn{margin-left:4px}.firmware-blocked{flex:1 1 200px;font-size:13px;color:var(--fg-2)}.actions:has(.firmware-blocked),[class*=actions]:has(.firmware-blocked){flex-wrap:wrap;align-items:center;gap:8px 12px}.auth{margin:clamp(24px,calc(50vh - 290px),320px) auto 24px;padding:0 max(16px,env(safe-area-inset-right,0px)) 0 max(16px,env(safe-area-inset-left,0px));text-align:left}.auth-card h1{margin:0;padding:0;text-align:left}.auth-card .alert{text-align:left}.auth-links{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 12px}.link-btn:disabled{opacity:.5;cursor:default;text-decoration:none}a.btn{display:inline-block;text-align:center;text-decoration:none}.account-page{padding:0 max(16px,env(safe-area-inset-right,0px)) 28px max(16px,env(safe-area-inset-left,0px))}.account-page.account-narrow{width:100%;max-width:560px;margin:12px auto 0;display:flex;flex-direction:column;gap:var(--gap);text-align:left}.account-page.account-narrow>h1{margin:0;font-size:24px}.account-lead{margin:0;font-size:13px;color:var(--fg-3)}.profile-form,.account-inline{min-width:0}.account-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.account-grid-code{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:10px}@media (max-width: 400px){.account-grid-2,.account-grid-code{grid-template-columns:1fr}}.actions-gap{gap:8px}.modal-layer{z-index:1200}.modal-head h2,.modal-body p{margin:0}.modal .alert{text-align:left}.location-picker{display:grid;gap:6px}.location-map{height:230px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);z-index:0}.location-row{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;color:var(--fg-2)}.location-locate{min-height:36px;margin:0;padding:0 12px;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:transparent;color:var(--accent);font-size:13px;font-weight:700;cursor:pointer}.location-locate:hover{background:var(--hover)}.account-error{margin:0;padding:8px 12px;border-radius:var(--radius-sm);background:var(--err-bg);color:var(--err-fg);font-size:13px;text-align:left}.user-menu{position:relative;margin-left:auto;display:flex;align-items:center}.user-menu-button{width:34px;height:34px;margin:0 0 0 4px;padding:0;display:grid;place-items:center;border:0;border-radius:50%;background:var(--accent);color:var(--accent-fg);font-size:12px;font-weight:700;letter-spacing:.04em;cursor:pointer}.user-menu-button.active,.user-menu-button:hover{background:var(--accent-strong)}button.icon-button.theme-toggle[type]{width:40px;height:40px;border-radius:50%;color:var(--bar-fg)}button.icon-button.theme-toggle[type] svg{width:22px;height:22px}button.icon-button.theme-toggle[type]:hover{color:var(--bar-fg);background:var(--hover)}.user-menu-list{position:absolute;right:0;top:calc(100% + 8px);z-index:1200;width:260px;padding:6px;border-radius:var(--radius);background:var(--card);color:var(--fg);border:1px solid var(--line-strong);box-shadow:0 12px 40px #00000059;text-align:left}.user-menu-who{padding:8px 10px 10px;border-bottom:1px solid var(--line-soft);margin-bottom:4px;display:grid;gap:2px}.user-menu-who strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-who span{font-size:12px;color:var(--fg-3);overflow-wrap:anywhere}.user-menu-list button[role=menuitem]{width:100%;margin:0;padding:9px 10px;display:flex;align-items:center;gap:10px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--fg);font-size:15px;font-weight:500;text-align:left;cursor:pointer}.user-menu-list button[role=menuitem]:hover{background:var(--hover)}.user-menu-list button svg{width:18px;height:18px;color:var(--fg-2);flex-shrink:0}.user-menu-theme{display:flex;gap:3px;margin:4px 0;padding:3px;border-radius:var(--radius-sm);background:var(--seg-bg);border:1px solid var(--line)}.user-menu-theme button{flex:1;margin:0;padding:6px 4px;border:0;border-radius:calc(var(--radius-sm) - 3px);background:transparent;color:var(--fg-2);font-size:13px;font-weight:600}.user-menu-theme button.active{background:var(--accent);color:var(--accent-fg)}.user-menu-list .user-menu-danger,.user-menu-list .user-menu-danger svg{color:var(--danger)}.people .person .share-pending{color:var(--warn-fg)}.people .person strong+small+small{margin-top:0}.app-loading{padding:48px 16px;text-align:center;color:var(--fg-2)}.app-main:has(>.shared-banner){flex-wrap:wrap;align-content:flex-start}.app-main>.shared-banner{flex:0 0 100%;box-sizing:border-box;margin:-1rem 0 .75rem;text-align:center}.push-card .push-actions{margin-top:4px}.push-card .push-status{color:var(--warn-fg)}.push-subscriptions .push-sub-label{display:flex;align-items:center;gap:8px;font-weight:500}.push-subscriptions small{display:block;color:var(--fg-3);font-size:12px}.push-rules{display:flex;flex-direction:column;gap:18px;margin-top:6px;padding-top:14px;border-top:1px solid var(--line-soft)}.push-device legend{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;width:100%;text-transform:none;letter-spacing:0;font-size:14px;font-weight:600;color:var(--fg)}.push-device .push-type{font-size:12px;font-weight:500;color:var(--fg-3)}.push-device .push-legend-links{margin-left:auto;display:flex;gap:10px;font-size:12px;font-weight:500}.push-quiet{display:flex;flex-direction:column;gap:8px}.push-quiet-head{font-size:14px;font-weight:600}.push-quiet-fields{display:flex;align-items:flex-end;gap:12px}.push-quiet-fields .field{width:120px}.push-quiet-fields .link-btn{padding-bottom:12px}.settings-form{display:flex;flex-direction:column;gap:var(--gap)}.settings-form .field>small{display:block;margin-top:4px}.settings-clear{align-self:flex-start;padding:0}.hp-schedules .entry.is-disabled{opacity:.55}.hp-schedules .entry-actions{gap:2px}.hp-schedules .entry-actions button.icon-button[type]{width:34px;height:34px;border-radius:50%;color:var(--fg-2)}.hp-schedules .entry-actions button.icon-button[type]:hover:not(:disabled){background:var(--hover);color:var(--fg)}.hp-schedules .entry-actions button.icon-button.icon-button-danger[type]:hover:not(:disabled){color:var(--danger)}.hp-schedules .entries li.help{padding:4px 0}.hp-schedules .form-row label{color:var(--fg)}.pump-config{display:grid;gap:.3rem;padding-top:.45rem;border-top:1px solid var(--line)}.pump-config h3{margin:0;font-size:1rem}.pump-config-line{display:flex;align-items:center;gap:.5rem}.pump-config-label{width:9.5rem;flex:none;color:var(--fg-2);font-size:.9rem}.device-modal .pump-config-line input{width:5rem}.pump-config-seg{display:flex;border:1px solid var(--accent);border-radius:6px;overflow:hidden}.device-modal .pump-config-seg button{margin:0;border:0;border-radius:0;background-color:var(--card);color:var(--accent);padding:.35rem .9rem;min-height:2rem}.device-modal .pump-config-seg button.on{background-color:var(--accent);color:var(--card)}.pump-config-pv-title{margin-top:.2rem;font-weight:700;font-size:.95rem}.device-modal label.pump-config-check{display:flex;align-items:flex-start;gap:.4rem}.device-modal label.pump-config-check input{width:auto;margin:.2rem 0 0}.device-modal label.pump-config-check span{font-size:.9rem;color:var(--fg)}.device-modal label.pump-config-check.disabled{opacity:.45}.pump-config-schema{margin-top:.25rem;padding:.4rem .5rem;border-radius:6px;background-color:var(--card)}.pump-config-schema svg{display:block;width:100%;max-width:300px;max-height:130px;margin:0 auto}.pump-config-schema-title{margin-bottom:.25rem;font-size:.85rem;font-weight:600}.page.tank-page{align-items:stretch;padding:0 max(16px,env(safe-area-inset-right,0px)) 16px max(16px,env(safe-area-inset-left,0px));box-sizing:border-box}.tank-page .tank-hero-text{font-size:40px}.tank-page .chart-md{height:160px}.tank-page .chart-lg{height:220px}.tank-page .filters .btn .ic{width:16px;height:16px;margin-right:6px;vertical-align:-3px}.tank-page .date-nav button.icon-button[type]{width:32px;height:32px;border-radius:var(--radius-sm);color:var(--fg-2)}.tank-page .date-nav button.icon-button[type]:hover:not(:disabled){background:var(--hover);color:var(--fg)}.tank-page .date-nav .ic{width:18px;height:18px}.tank-meter-inputs{flex-wrap:wrap}.tank-meter-inputs input[type=date]{width:auto;text-align:left}.tank-kv{display:flex;flex-direction:column}.tank-kv>div{display:grid;grid-template-columns:140px 1fr;gap:8px;padding:8px 0;border-top:1px solid var(--line-soft);align-items:baseline}.tank-kv>div:first-child{border-top:0;padding-top:0}.tank-kv .label{color:var(--fg-3);font-size:13px}.tank-kv>div>:not(.label){font-weight:500;min-width:0;overflow-wrap:anywhere}.tank-kv a{color:var(--accent)}.tank-kv code{justify-self:start}.tank-kv small{color:var(--fg-3);font-weight:400}@media (max-width: 400px){.tank-kv>div{grid-template-columns:110px 1fr}}.tank-kv>.tank-kv-actions{display:flex;justify-content:flex-end;gap:8px;border-top:0;padding:4px 0 0}.tank-kv>.tank-kv-actions button{margin:0;border:0;border-radius:var(--radius-sm);padding:6px 12px;font-size:13px;font-weight:700;background:var(--accent);color:var(--accent-fg)}.tank-kv>.tank-kv-actions button.firmware-cancel{background:transparent;color:var(--accent);border:1px solid var(--line-strong)}.boiler-page{padding:0 16px;box-sizing:border-box}.boiler-page p{margin:0}.boiler-page .card-head-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.boiler-page .icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;min-height:0;margin:0;padding:0;border-radius:50%;border:0;background:transparent;cursor:pointer;color:var(--fg-2);flex:none}.boiler-page .icon-btn .ic{width:20px;height:20px}.boiler-page .icon-btn:hover:not(:disabled){background:var(--hover);color:var(--fg)}.boiler-page .icon-btn.danger:hover:not(:disabled){color:var(--danger)}.boiler-page .icon-btn:disabled{opacity:.35;cursor:default}.boiler-page .card-head .icon-btn{margin:-6px -6px -6px 0}.boiler-page .btn .ic{width:16px;height:16px;margin-right:6px}.boiler-page .date-cur{position:relative;cursor:pointer;display:inline-flex;align-items:baseline}.boiler-page .date-cur input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0;padding:0;border:0;min-height:0}.boiler-page .boiler-period-input{font:inherit;font-weight:700;color:var(--fg);background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px 10px;min-height:0;margin:0;width:auto}.boiler-page .seg input:disabled+span{cursor:default}.boiler-page .seg input:disabled:not(:checked)+span{opacity:.6}.boiler-page .seg input:disabled:checked+span{opacity:.85}.boiler-page .card-hero .unit{font-size:22px;color:var(--hero-fg-2)}.boiler-page .hero-note strong{color:var(--hero-fg)}.boiler-page .state-err{background:var(--err-bg);color:var(--err-fg)}.boiler-page .banner-run{background:var(--run-bg);color:var(--run-fg);border:1px solid var(--run-fg)}.boiler-page .banner-run .danger-text{font-size:13px}.boiler-page .alert div span{display:block}.boiler-page .boiler-alert-link{text-decoration:none;color:var(--err-fg)}.boiler-page .boiler-alert-link:hover{filter:brightness(1.1)}.boiler-page .boiler-alert-btn{margin-left:8px;min-height:0}.boiler-page .circuit-sub .inline-icon{color:var(--fg)}.boiler-page .boiler-table-fill{overflow:auto;max-height:calc(100vh - 250px);min-height:240px}@media (max-width: 899px){.boiler-page .boiler-table-fill{max-height:calc(100vh - 330px)}}.boiler-page .boiler-chart{height:220px}.boiler-page .boiler-chart-lg{height:300px}@media (max-width: 560px){.boiler-page .boiler-chart-lg{height:240px}}.boiler-page .legend .lg{display:inline-flex;align-items:center}.boiler-page .entry.is-off .entry-when,.boiler-page .entry.is-off .entry-what{opacity:.6}.boiler-page .entry-what .danger-text{display:inline-block;margin-top:4px}.boiler-page .form-row>.btn{white-space:nowrap}.boiler-page .t-name .chip{margin-left:4px;vertical-align:1px}.boiler-page .param-val .chip{margin-left:6px;vertical-align:2px}.boiler-page .check.boiler-check-disabled{opacity:.5}.boiler-page .check .info-tip,.boiler-page .param-name .info-tip,.boiler-page .form-grid label .info-tip{margin-left:4px}.boiler-page .card-hint .link{font-size:12px}.boiler-parameter-rating{display:block;margin-top:4px;font-weight:700}.boiler-rating-safe{color:var(--ok-fg)}.boiler-rating-careful{color:var(--warn-fg)}.boiler-rating-service,.boiler-page .boiler-confirm span{color:var(--danger)}.boiler-page .boiler-group{border-top:1px solid var(--line-soft)}.boiler-page .boiler-group summary{cursor:pointer;font-weight:600;padding:10px 0;list-style:none;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.boiler-page .boiler-group summary::-webkit-details-marker{display:none}.boiler-page .boiler-group summary:before{content:"▸";color:var(--fg-3);font-size:12px}.boiler-page .boiler-group[open] summary:before{content:"▾"}.boiler-page .boiler-group .params{padding-bottom:8px}.boiler-page .boiler-group .params li{padding-left:16px}.boiler-page .boiler-group .param-name small code{font-size:11px}.boiler-page .boiler-profiles-table{display:flex;flex-direction:column;gap:10px;padding-bottom:10px}.boiler-page .boiler-profiles-table .table-wrap{margin:0;padding:0}.boiler-page .boiler-profiles-table td input,.boiler-page .boiler-profiles-table td select{width:72px;padding:6px 8px;min-height:0;margin:0;font:inherit;font-weight:600;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--fg)}.boiler-kv{display:flex;flex-direction:column}.boiler-kv>div{display:grid;grid-template-columns:140px 1fr;gap:8px;padding:8px 0;border-top:1px solid var(--line-soft);align-items:baseline;min-width:0}.boiler-kv>div:first-child{border-top:0;padding-top:0}.boiler-kv .label{color:var(--fg-3);font-size:13px}.boiler-kv>div>span:not(.label),.boiler-kv>div>code{font-weight:500;min-width:0;overflow-wrap:anywhere}.boiler-kv small{color:var(--fg-3);font-weight:400;margin-left:4px}.boiler-kv a{color:var(--accent)}.boiler-kv>div.firmware-update-error{display:block;color:var(--danger);font-size:13px}.boiler-kv>div.boiler-kv-actions{display:flex;justify-content:flex-end;border-top:0;padding:6px 0 0}.boiler-kv .boiler-kv-actions button{margin:0;min-height:0;padding:6px 12px;font-size:13px;font-weight:700;border-radius:var(--radius-sm);cursor:pointer;background:transparent;color:var(--accent);border:1px solid var(--line-strong)}.boiler-kv .boiler-kv-actions button:hover:not(:disabled){background:var(--hover)}@media (max-width: 400px){.boiler-kv>div{grid-template-columns:110px 1fr}}.boiler-page .range-inputs select{padding:8px 10px;font:inherit;font-weight:600;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--fg);min-height:0;margin:0;max-width:100%}.boiler-page .range-inputs input[type=date]{width:auto}.boiler-page .range-inputs input,.boiler-page .field input,.boiler-page .field select{margin:0;min-height:0;box-sizing:border-box}.boiler-page .modal-body>p{font-size:14px;color:var(--fg-2)}.boiler-page .modal-body .params li{padding:6px 0}.boiler-page .modal-foot .btn{white-space:nowrap}@media (max-width: 400px){.boiler-page .modal-foot{flex-wrap:wrap}}.boiler-page .measures dd small{margin-left:4px}.boiler-page .measures dd{white-space:normal;text-align:right}.boiler-page .measures-stack{grid-template-columns:minmax(0,1fr);column-gap:0}.boiler-page .measures-stack div{display:flex;flex-wrap:wrap;justify-content:flex-start;column-gap:12px;row-gap:2px;align-items:baseline}.boiler-page .measures-stack div:nth-child(2){border-top:1px solid var(--line-soft)}.boiler-page .measures-stack dd{text-align:left;max-width:none}.boiler-page .boiler-profiles-table table.data{white-space:normal}.boiler-page .boiler-profiles-table table.data th,.boiler-page .boiler-profiles-table table.data td{padding:6px 8px}.boiler-page .boiler-regulator-head{justify-content:flex-start;gap:10px}.boiler-page .boiler-regulator-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px;flex:1 1 100%}.boiler-page .boiler-regulator-btns .btn{padding:8px 6px;font-size:14px;font-weight:600;white-space:nowrap}.modal-wide{width:min(680px,calc(100% - 32px))}.modal-wide .boiler-profiles-table{display:flex;flex-direction:column;gap:10px}.modal-wide .boiler-profiles-table .table-wrap{margin:0;padding:0}.modal-wide .boiler-profiles-table table.data{white-space:normal}.modal-wide .boiler-profiles-table table.data th,.modal-wide .boiler-profiles-table table.data td{padding:6px 8px}.modal-wide .boiler-profiles-table td input,.modal-wide .boiler-profiles-table td select{width:72px;padding:6px 8px;min-height:0;margin:0;font:inherit;font-weight:600;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--fg)}.info-tip{display:inline-grid;place-items:center;width:20px;height:20px;min-width:20px;margin:0 0 0 .35rem;padding:0;border:1.5px solid var(--accent);border-radius:50%;background:var(--card);color:var(--accent);font:italic 700 12px Georgia,Times New Roman,serif;line-height:1;vertical-align:middle;cursor:pointer;position:relative}.info-tip:after{content:"";position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px}.info-tip.open,.info-tip:hover{background:var(--accent);color:var(--card)}.info-tip-bubble{display:block;position:fixed;z-index:1300;box-sizing:border-box;padding:.6rem .75rem;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--fg);box-shadow:0 6px 18px #0000;font-size:.85rem;font-weight:400;font-style:normal;line-height:1.45;text-align:left;white-space:normal}.info-tip-paragraph{display:block}.info-tip-paragraph+.info-tip-paragraph{margin-top:.45rem}.tile.tile-simple{gap:10px}.tile-simple .simple-open{all:unset;cursor:pointer;font:inherit;color:inherit}.tile-simple .simple-open:hover{text-decoration:underline}.tile-simple .simple-open:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.tile-simple .simple-relay{display:flex;flex-direction:column;gap:10px}.tile-simple .simple-relay+.simple-relay{border-top:1px solid var(--line-soft);padding-top:10px}.tile-simple .simple-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.tile-simple .simple-relay-name{font-size:15px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-2)}.tile-simple .simple-top .chip{margin-left:auto}.tile-simple .simple-state{font-family:var(--font-num);font-size:22px;font-weight:700;line-height:1.15}.tile-simple .simple-state small{display:block;font-family:var(--font-body);font-size:14px;font-weight:500;line-height:1.3;color:var(--fg-2);margin-top:3px}.tile-simple .simple-actions{display:flex;flex-direction:column;gap:8px}.tile-simple .simple-act{display:flex;flex-direction:column;gap:4px}.tile-simple .simple-act .btn{width:100%;min-height:52px;padding:6px 14px;font-size:19px;line-height:1.1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border:2px solid transparent}.tile-simple .simple-act .btn small{font-size:13px;font-weight:500;opacity:.85}.tile-simple .simple-act .btn-plain{background:var(--card);color:var(--fg);border-color:var(--line-strong)}.tile-simple .simple-act .btn-plain:hover{background:var(--hover)}.tile-simple .simple-hint{margin:0;padding:0 4px;font-size:13px;line-height:1.3;color:var(--fg-2)}.tile-simple .simple-state-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.tile-simple .simple-state-row .state{flex-shrink:0;margin-top:2px}.switch-page{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-bottom:16px}.switch-page .icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:0;background:transparent;color:inherit;cursor:pointer}.switch-page .icon-btn.sm{width:34px;height:34px}.switch-page .icon-btn:hover:not(:disabled){background:var(--hover);filter:none}.switch-page .icon-btn:disabled{background:transparent;color:inherit}.switch-page .relay-state.danger-text{color:var(--danger)}.switch-page .btn{margin:0}.switch-page .filters .btn{margin-left:auto}.switch-page .btn:disabled{background:var(--muted-bg);color:var(--muted-fg)}.switch-page .btn-primary:disabled{background:var(--accent);color:var(--accent-fg)}.switch-page .btn-ghost:disabled{background:transparent;color:var(--accent)}.switch-page .btn .ic{width:16px;height:16px;margin-right:6px}.switch-page .card-relay .range-inputs input[type=number]{width:56px}.switch-page .date-cur{position:relative;display:inline-flex;align-items:center;padding:0}.switch-page .date-pick{margin:0;padding:0 10px;border:0;background:transparent;color:inherit;font:inherit;font-weight:700;white-space:nowrap;cursor:pointer}.switch-page .date-pick:hover{filter:none;text-decoration:underline}.switch-page .date-pick small{font-weight:500;color:var(--fg-3);margin-left:4px}.switch-page .date-hidden{position:absolute;left:0;bottom:0;width:1px;height:1px;padding:0;border:0;opacity:0;pointer-events:none}.switch-page .entry-actions{gap:4px}.switch-page .entry-actions button.icon-button[type]{padding:6px}.switch-page form.modal{margin:0}.switch-page .modal .field input,.switch-page .modal .field select{box-sizing:border-box}.switch-page .form-grid .range-inputs{min-width:0}.switch-page .form-grid input.w-text{width:220px!important;max-width:100%;box-sizing:border-box}@media (max-width: 560px){.switch-page .countdown-num{font-size:32px}.switch-page .actions-3 .btn{padding-left:6px;padding-right:6px;font-size:14px}.switch-page .filters .segmented{width:100%}}.pv-page.page{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-bottom:28px;box-sizing:border-box}.pv-page .icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:0;background:transparent;cursor:pointer;color:inherit}.pv-page .icon-btn:hover:not(:disabled){background:var(--hover)}.pv-page .icon-btn.sm{width:34px;height:34px}.pv-page .seg span{white-space:nowrap}.pv-page .chart-md{height:200px}.pv-page .chart-lg{height:320px}.pv-page .date-cur{position:relative;cursor:pointer}.pv-page .date-pick{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;padding:0;border:0;opacity:0;cursor:pointer}.pv-chipsets{display:flex;flex-wrap:wrap;gap:8px 16px}.pv-chipsets .chip-check:first-child span{font-weight:700}.pv-swatch{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:0}.pv-page .pv-col-bar{width:40%;min-width:120px}.pv-bar{display:block;height:8px;border-radius:999px;background:var(--muted-bg);overflow:hidden}.pv-bar>span{display:block;height:100%;background:var(--c-sun);border-radius:999px}.pv-dim{color:var(--fg-3)}.pv-kv-line{display:block;margin-top:2px}.pv-param-group{display:flex;flex-direction:column;gap:4px}.pv-param-title{font-size:13px;font-weight:700;color:var(--fg-2);text-transform:uppercase;letter-spacing:.06em}.pv-param-title small{font-weight:500;color:var(--fg-3);text-transform:none;letter-spacing:0}.pv-page .params li{align-items:flex-start}.pv-page .param-name small em{font-style:italic}.pv-page .card-details>p.help{margin-top:-6px}@media (max-width: 560px){.pv-page .chart-lg{height:260px}}.app-main:has(.device-selection){align-items:flex-start}body .app-main:has(.device-selection){padding-bottom:0;margin-bottom:0}.page-lista{--tile-pad: 14px;flex:0 1 auto;align-items:stretch;justify-content:flex-start;box-sizing:border-box;padding-top:2px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.page-lista .sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.device-selection-error{margin:0;color:var(--warn-fg);font-weight:700}.devices-empty{grid-column:1 / -1;margin:0;color:var(--fg-2)}.page-lista .icon-btn,.app-header .icon-btn.header-layout{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin:0;padding:0;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer}.page-lista .icon-btn.sm{width:34px;height:34px}.page-lista .icon-btn:hover:not(:disabled),.app-header .icon-btn.header-layout:hover:not(:disabled){background:var(--hover);filter:none}.page-lista .icon-btn:disabled,.app-header .icon-btn.header-layout:disabled{background:transparent;color:inherit}.page-lista .icon-btn.is-active{background:var(--accent);color:var(--accent-fg)}.page-lista .icon-btn .ic{width:18px;height:18px}.app-header .icon-btn.header-layout{color:var(--bar-fg)}.app-header .icon-btn.header-layout.is-active{background:var(--hover)}.app-header .icon-btn.header-layout .ic{width:22px;height:22px}.outdoor-strip .outdoor-desc{min-width:0}.tiles.device-grid{grid-template-columns:repeat(var(--cols, 4),minmax(0,1fr))}.tile{min-width:0}.tile.is-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tile-icon .weather-icon{width:22px;height:22px}.tile .switch{pointer-events:none}.warn-line{display:flex;align-items:center;gap:8px}.warn-line .ic{width:16px;height:16px;flex:none}.warn-line .warn-text{flex:1;min-width:0}.warn-close{flex:none;align-self:flex-start;min-width:28px;min-height:28px;margin:-4px -4px -4px 0;padding:0;border:0;background:none;color:inherit;font:inherit;font-size:18px;line-height:1;cursor:pointer}.warn-close:hover{opacity:.7}.warn-line.is-err{background:var(--err-bg);color:var(--err-fg);border-left-color:var(--err-fg)}.tile h2.tile-name{margin:0;padding:0;text-align:left}.page-lista.is-layout .layout-bar{display:flex}.layout-bar-buttons{display:inline-flex;flex:none;gap:8px}.page-lista .layout-bar .btn{margin:0}@media (max-width: 560px){.layout-bar{flex-wrap:wrap}.layout-bar-buttons{width:100%;justify-content:flex-end}}.page-lista.is-layout .tile-empty,.page-lista.is-layout .tile.is-hidden{display:flex}.page-lista.is-layout .tile-layout{display:flex;gap:4px;position:absolute;right:10px;bottom:8px;padding:2px;border:1px solid var(--line);border-radius:999px;background:var(--card)}.page-lista.is-layout .tile-tools{display:inline-flex}.page-lista.is-layout .tile .tile-foot{padding-right:84px;min-height:34px;display:flex;align-items:flex-end}.page-lista.is-layout .tiles{align-items:stretch}.page-lista.is-layout .tiles .tile{outline:1px dashed var(--line-strong);outline-offset:3px}.page-lista .tile-empty .btn{margin:0}.page-lista.is-layout .tile-empty{min-height:120px}.page-lista .tile.is-moving{outline:2px solid var(--accent);outline-offset:3px}.page-lista .tile-swap{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:grid;place-items:center;margin:0;border:2px solid var(--accent);border-radius:var(--radius);background:var(--run-bg);color:var(--run-fg);font-weight:700}.page-lista .tile-swap:hover{background:var(--run-bg);filter:none}.device-list-spacer{width:100%;flex:none}.statusbar.devices-footer{position:fixed;left:0;right:0;bottom:0;z-index:100;padding:10px max(16px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));background:var(--bg)}.db-usage{display:inline-flex;align-items:center}.db-usage .dot{width:8px;height:8px}.db-usage-error{color:var(--err-fg);font-weight:700}.skeleton{display:block;border-radius:6px;background:linear-gradient(90deg,var(--muted-bg) 25%,var(--line) 50%,var(--muted-bg) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite}.skeleton-icon{flex:none;width:36px;height:36px;border-radius:var(--radius-sm)}.skeleton-main{width:55%;height:34px;margin-top:4px}.skeleton-row{width:85%;height:16px}.skeleton-foot{width:35%;height:12px;margin-top:auto}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.tile-loading{min-height:200px}@media (prefers-reduced-motion: reduce){.skeleton{animation:none}}@media (max-width: 899px){.page-lista .outdoor-src,.page-lista .tile-foot .source-text{display:none}}.page-lista .tile-foot{min-height:1.35em}.weather-page{padding:0 max(16px,env(safe-area-inset-right,0px)) 28px max(16px,env(safe-area-inset-left,0px))}.weather-page>.segmented{align-self:flex-start}.wx-place{display:inline-flex;align-items:center;gap:6px}.wx-place .ic,.wx-place svg{width:16px;height:16px}.wx-hero-desc{font-size:18px;font-weight:600}.wx-hero-range{margin-top:6px;font-family:var(--font-num);font-size:17px;font-weight:600;color:var(--hero-fg-2)}.wx-summary{font-weight:600}.wx-hourly{overflow-x:auto;margin:0 calc(-1 * var(--card-pad));padding:0 var(--card-pad) 6px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.wx-hourly-row{display:flex}.wx-hour{flex:none;display:flex;flex-direction:column;align-items:center;gap:6px}.wx-hour-time{font-size:12px;color:var(--fg-2);white-space:nowrap}.wx-hour.is-midnight .wx-hour-time{color:var(--accent);font-weight:700}.wx-hour-temp{font-family:var(--font-num);font-size:18px;font-weight:700}.wx-hourly-line{display:block;color:var(--fg-3)}.wx-hourly-line circle{fill:var(--fg)}.wx-hour-rain{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:3px;font-size:12px;color:var(--fg-2)}.wx-drop{color:var(--c-water);flex:none}.wx-tomorrow{flex-direction:row;align-items:center;justify-content:space-between;gap:16px}.wx-tomorrow-label{display:block;margin-bottom:4px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-2)}.wx-tomorrow-value{font-family:var(--font-num);font-size:34px;font-weight:700;white-space:nowrap}.wx-days{list-style:none;margin:0;padding:0}.wx-day{display:grid;grid-template-columns:minmax(0,1fr) 44px 64px 36px 36px;align-items:center;gap:6px;padding:10px 0;border-top:1px solid var(--line-soft)}.wx-day:first-child{border-top:0}.wx-day-name{display:flex;flex-direction:column;font-weight:600;min-width:0}.wx-day-name small{font-size:12px;font-weight:400;color:var(--fg-3)}.wx-day.is-past{color:var(--fg-2)}.wx-day-rain{display:inline-flex;align-items:center;gap:3px;font-size:13px;color:var(--fg-2)}.wx-day-icons{display:flex;gap:8px}.wx-icon-gap{width:28px}.wx-day-max,.wx-day-min{font-family:var(--font-num);font-size:20px;font-weight:700;text-align:right}.wx-day-min{color:var(--fg-2)}.wx-foot{font-size:12px;color:var(--fg-3);text-align:right}@media (min-width: 600px){.wx-day{grid-template-columns:minmax(0,1fr) 56px 76px 48px 48px;gap:12px}}.wx-chart{height:200px;min-width:0}.wx-hero-time{font-size:44px}.wx-pv-days{list-style:none;margin:0;padding:0}.wx-pv-day{display:grid;grid-template-columns:minmax(84px,1fr) 26px minmax(60px,2fr) 84px;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--line-soft)}.wx-pv-day:first-child{border-top:0}.wx-pv-bar{height:8px;border-radius:4px;background:var(--line-soft);overflow:hidden}.wx-pv-bar span{display:block;height:100%;width:var(--p);background:var(--c-sun)}.wx-pv-val{font-family:var(--font-num);font-size:18px;font-weight:700;text-align:right;white-space:nowrap}.wx-pv-val small{font-size:12px;color:var(--fg-2)}.wx-aq{display:flex;align-items:stretch;gap:3px;height:120px}.wx-aq-col{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}.wx-aq-bar{width:100%;height:var(--h);min-height:2px;border-radius:3px 3px 0 0}.wx-aq-time{height:12px;font-size:10px;line-height:12px;color:var(--fg-3)}.wx-aq-ok{background:var(--ok-fg)}.wx-aq-warn{background:var(--warn-fg)}.wx-aq-err{background:var(--err-fg)}.lg i.wx-lg-cheap{background:var(--ok-fg);opacity:.35}.lg i.wx-lg-best{background:var(--accent);opacity:.6}.wx-wind-arrow{color:var(--c-sky)}.wx-hour-gust{font-size:12px;color:var(--fg-3)}.weather-page .alert .ic{flex:none}.firmware-page{padding:0 max(16px,env(safe-area-inset-right,0px)) 28px max(16px,env(safe-area-inset-left,0px))}.firmware-lead{margin:0}.firmware-page .field textarea{font:inherit;padding:10px 12px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--fg);width:100%;resize:vertical}.firmware-page .field textarea:focus{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}.firmware-page .field>span .info-tip{vertical-align:-5px}.firmware-actions{gap:8px}.firmware-page .people li .icon-button{margin-left:-4px}@media (max-width: 400px){.firmware-page .fw-ver.sm{min-width:44px}}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
