@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-cyrillic-ext-wght-normal-c-5QAGAI.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-cyrillic-wght-normal-BMDVbyM7.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-greek-ext-wght-normal-BXZfsJY4.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-greek-wght-normal-Cc-u-6OI.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-vietnamese-wght-normal-BDs68eHQ.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-latin-ext-wght-normal-C8iNium2.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-latin-wght-normal-Bo_j9asI.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f7f6;--surface:#fff;--fg:#1b2e31;--heading:#0f2c31;--muted:#4f6467;--line:#d8e1df;--line-strong:#b5c4c1;--hover:#e9efed;--accent:#1d5b4f;--accent-hover:#154539;--on-accent:#fff;--link:#1d5b4f;--link-hover:#0f2c31;--focus:#d4891c;--beacon:#d4891c;--dune:#c9b98f;--logo-house:#123a3f;--sea:#123a3f;--sea-fg:#e6efed;--sand:#ece6d6;--amber-soft:#fbf3e6;--radius-btn:999px;--radius:14px;--font-display:"Bricolage Grotesque Variable", "Avenir Next", "Segoe UI", sans-serif;--font-body:"Source Sans 3 Variable", "Segoe UI", system-ui, sans-serif;--font-mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--ok:#1d6b3f;--ok-bg:#e5f2ea;--warn:#8a5300;--warn-bg:#fdf0d9;--warn-mark:#d4891c;--alarm:#a32020;--alarm-bg:#fbe7e5;--offline:#4f5b5e;--offline-bg:#e8ecec;--alarm-fill:#a32020;--alarm-fill-hover:#7f1717;--on-fill:#fff;--alarm-ink:#5f1414;--ok-ink:#154a2c;--warn-ink:#5c3700;--inverse-bg:#0f2c31;--inverse-fg:#fff;--row-hover:#fafcfb;--accent-soft:#eef5f2;--accent-softer:#f7faf9;--cold-line:#9cc0d6;--cold-bg:#f1f7fb;--shadow:0 20px 50px -28px #0f2c3159;--gutter:16px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d181a;--surface:#142225;--fg:#dae5e3;--heading:#f0f6f4;--muted:#9fb3b2;--line:#2a3c3f;--line-strong:#43595c;--hover:#1c2f32;--accent:#5bbba3;--accent-hover:#7bcfb9;--on-accent:#06201b;--link:#7fd3bd;--link-hover:#b6e8da;--focus:#f0a640;--beacon:#e9a23a;--dune:#a8996f;--logo-house:#dae5e3;--sea:#0a2427;--sea-fg:#e6efed;--sand:#22302f;--amber-soft:#2c2416;--ok:#74d39f;--ok-bg:#12301f;--warn:#f3bd55;--warn-bg:#33270e;--warn-mark:#e9a23a;--alarm:#ff8a80;--alarm-bg:#3b1715;--offline:#aab7b9;--offline-bg:#243032;--alarm-fill:#c0392b;--alarm-fill-hover:#a32a1e;--alarm-ink:#ffc2bb;--ok-ink:#a5e8c1;--warn-ink:#f8d592;--inverse-bg:#e3ece9;--inverse-fg:#0f2c31;--row-hover:#182a2d;--accent-soft:#163a33;--accent-softer:#172b2d;--cold-line:#4f7f99;--cold-bg:#132838;--shadow:0 20px 50px -28px #000000b3}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d181a;--surface:#142225;--fg:#dae5e3;--heading:#f0f6f4;--muted:#9fb3b2;--line:#2a3c3f;--line-strong:#43595c;--hover:#1c2f32;--accent:#5bbba3;--accent-hover:#7bcfb9;--on-accent:#06201b;--link:#7fd3bd;--link-hover:#b6e8da;--focus:#f0a640;--beacon:#e9a23a;--dune:#a8996f;--logo-house:#dae5e3;--sea:#0a2427;--sea-fg:#e6efed;--sand:#22302f;--amber-soft:#2c2416;--ok:#74d39f;--ok-bg:#12301f;--warn:#f3bd55;--warn-bg:#33270e;--warn-mark:#e9a23a;--alarm:#ff8a80;--alarm-bg:#3b1715;--offline:#aab7b9;--offline-bg:#243032;--alarm-fill:#c0392b;--alarm-fill-hover:#a32a1e;--alarm-ink:#ffc2bb;--ok-ink:#a5e8c1;--warn-ink:#f8d592;--inverse-bg:#e3ece9;--inverse-fg:#0f2c31;--row-hover:#182a2d;--accent-soft:#163a33;--accent-softer:#172b2d;--cold-line:#4f7f99;--cold-bg:#132838;--shadow:0 20px 50px -28px #000000b3}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);min-height:100vh;margin:0;font-size:1.0625rem;line-height:1.5}h1,h2,h3,h4{font-family:var(--font-display);color:var(--heading);letter-spacing:-.015em;margin:0 0 .4em;line-height:1.15}h1{font-size:clamp(1.6rem,4.5vw,2.2rem);font-weight:800}h2{font-size:1.3rem;font-weight:700}h3{font-size:1.08rem;font-weight:700}p{margin:0 0 .8em}a{color:var(--link);text-underline-offset:2px}a:hover{color:var(--link-hover)}code,.mono{font-family:var(--font-mono);font-size:.92em}.num{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.small{font-size:.9rem}.nowrap{white-space:nowrap}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:6px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:100;background:var(--surface);box-shadow:var(--shadow);border-radius:10px;padding:10px 14px;position:absolute;top:-100px;left:8px}.skip-link:focus{top:8px}.container{width:100%;max-width:1180px;padding:0 var(--gutter);margin:0 auto}@media (width>=720px){:root{--gutter:28px}}.site-header{background:var(--surface);border-bottom:1px solid var(--line);z-index:20;position:sticky;top:0}.header-inner{grid-template-columns:auto 1fr;grid-template-areas:"logo user""nav nav";align-items:center;gap:0 12px;display:grid}.header-inner>.logo{grid-area:logo;min-height:60px}.header-inner>.header-user{grid-area:user;justify-self:end}.header-inner>.main-nav{grid-area:nav}.logo{align-items:center;gap:10px;text-decoration:none;display:inline-flex}.logo-word{font-family:var(--font-display);letter-spacing:-.02em;color:var(--heading);font-size:1.3rem;font-weight:800}.logo-tag{color:var(--accent);background:var(--hover);border-radius:99px;padding:2px 8px;font-size:.78rem;font-weight:700}.header-user{align-items:center;gap:10px;min-width:0;display:flex}.header-user .who{text-align:right;min-width:0;line-height:1.2}.header-user .who strong{white-space:nowrap;text-overflow:ellipsis;max-width:34vw;font-size:.95rem;display:block;overflow:hidden}.header-user .who span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:34vw;font-size:.8rem;display:block;overflow:hidden}@media (width<=479px){.header-user .who{display:none}}.main-nav{border-top:1px solid var(--line);margin:0 calc(-1 * var(--gutter));padding:0 var(--gutter)}.main-nav ul{scrollbar-width:none;gap:4px;margin:0;padding:6px 0;list-style:none;display:flex;overflow-x:auto}.main-nav ul::-webkit-scrollbar{display:none}.main-nav a{white-space:nowrap;color:var(--fg);border-radius:999px;align-items:center;gap:6px;min-height:40px;padding:8px 12px;font-weight:600;text-decoration:none;display:inline-flex}.main-nav a .icon{width:15px;height:15px;color:var(--muted)}.main-nav a:hover{background:var(--hover);color:var(--heading)}.main-nav a[aria-current=page]{background:var(--accent);color:var(--on-accent)}.count{background:var(--alarm-fill);min-width:20px;color:var(--on-fill);text-align:center;font-variant-numeric:tabular-nums;border-radius:99px;padding:0 6px;font-size:.75rem;font-weight:700;line-height:20px;display:inline-block}@media (width>=960px){.header-inner{grid-template-columns:auto 1fr auto;grid-template-areas:"logo nav user";gap:0 24px}.header-inner>.logo{min-height:68px}.main-nav{border-top:0;margin:0;padding:0}}main{padding:20px 0 64px}@media (width>=720px){main{padding-top:32px}}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px 20px;margin-bottom:20px;display:flex}.page-head h1{margin:0}.page-head .sub{color:var(--muted);margin:4px 0 0}.crumbs{margin-bottom:8px;font-size:.9rem}.crumbs a{text-underline-offset:2px;text-decoration:underline}.crumbs a:hover{text-decoration-thickness:2px}.stack{gap:16px;display:grid}.stack-lg{gap:24px;display:grid}.row{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.row.between{justify-content:space-between}.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));align-items:start;gap:16px;display:grid}.site-footer{border-top:1px solid var(--line);color:var(--muted);padding:20px 0 32px;font-size:.9rem}.site-footer .container{flex-wrap:wrap;justify-content:space-between;gap:8px 20px;display:flex}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:0;padding:18px}@media (width>=720px){.card{padding:22px}}.card>h2:first-child,.card>header h2{margin-top:0}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 12px;margin-bottom:12px;display:flex}.card-head h2{margin:0}.notice{border-radius:12px;align-items:start;gap:10px;padding:12px 14px;font-size:.97rem;display:flex}.notice p{margin:0}.notice p+p{margin-top:4px}.notice .icon{flex:none;margin-top:2px}.notice.info{background:var(--hover)}.notice.amber{background:var(--amber-soft)}.notice.error{background:var(--alarm-bg);color:var(--alarm-ink)}.notice.success{background:var(--ok-bg);color:var(--ok-ink)}.notice.warn{background:var(--warn-bg);color:var(--warn-ink)}.btn{font:inherit;border-radius:var(--radius-btn);border:1px solid var(--accent);background:var(--accent);min-height:44px;color:var(--on-accent);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:.98rem;font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex}.btn:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--on-accent)}.btn.secondary{background:var(--surface);color:var(--accent);border-color:var(--line-strong)}.btn.secondary:hover{background:var(--hover);color:var(--heading)}.btn.ghost{color:var(--accent);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--hover)}.btn.danger{background:var(--alarm-fill);border-color:var(--alarm-fill);color:var(--on-fill)}.btn.danger:hover{background:var(--alarm-fill-hover);border-color:var(--alarm-fill-hover)}.btn.small{min-height:36px;padding:6px 12px;font-size:.9rem}.btn[disabled],.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.btn .icon{width:18px;height:18px}.icon-btn{min-width:44px;padding:0 10px}.form{gap:14px;display:grid}.form-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:14px;display:grid}.field{gap:5px;min-width:0;display:grid}.field>label,.field>.label,fieldset>legend{color:var(--heading);font-size:.95rem;font-weight:700}.field .hint{color:var(--muted);font-size:.86rem}.field .err{color:var(--alarm);align-items:start;gap:6px;font-size:.9rem;font-weight:600;display:flex}input[type=text],input[type=email],input[type=password],input[type=number],input[type=url],input[type=search],input[type=datetime-local],select,textarea{font:inherit;color:var(--fg);border:1px solid var(--line-strong);background:var(--surface);border-radius:10px;width:100%;min-height:44px;padding:9px 12px;font-size:1rem}textarea{resize:vertical;min-height:80px}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--alarm);box-shadow:0 0 0 1px var(--alarm)}input:disabled,select:disabled,textarea:disabled{background:var(--hover);color:var(--muted)}input[type=number]{font-variant-numeric:tabular-nums}fieldset{border:1px solid var(--line);border-radius:12px;min-width:0;margin:0;padding:12px 14px 14px}.check{cursor:pointer;align-items:start;gap:10px;padding:6px 0;display:flex}.check input{width:20px;height:20px;accent-color:var(--accent);flex:none;margin:2px 0 0}.check .muted{font-size:.86rem;display:block}.checks{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:2px 16px;display:grid}.form-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.badge{white-space:nowrap;border-radius:99px;align-items:center;gap:6px;padding:4px 10px 4px 8px;font-size:.86rem;font-weight:700;line-height:1.2;display:inline-flex}.badge .icon{flex:none;width:16px;height:16px}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.warning{background:var(--warn-bg);color:var(--warn)}.badge.alarm{background:var(--alarm-bg);color:var(--alarm)}.badge.offline{background:var(--offline-bg);color:var(--offline)}.badge.neutral{background:var(--hover);color:var(--heading)}.badge.large{padding:6px 14px 6px 10px;font-size:1rem}.badge.large .icon{width:20px;height:20px}.tag{background:var(--hover);color:var(--heading);white-space:nowrap;border-radius:6px;padding:2px 8px;font-size:.8rem;font-weight:600;display:inline-block}.tag.mono{font-family:var(--font-mono);font-weight:500}.summary-strip{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:16px;display:grid}@media (width>=720px){.summary-strip{grid-template-columns:repeat(4,1fr)}}.summary-btn{font:inherit;text-align:left;cursor:pointer;background:var(--surface);border:1px solid var(--line);color:var(--fg);border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.summary-btn:hover{border-color:var(--line-strong)}.summary-btn[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.summary-btn .n{font-family:var(--font-display);color:var(--heading);font-variant-numeric:tabular-nums;font-size:1.45rem;font-weight:800;line-height:1}.summary-btn .l{color:var(--muted);font-size:.85rem;line-height:1.2}.summary-btn .dot{border-radius:9px;flex:none;place-items:center;width:30px;height:30px;display:grid}.summary-btn .dot .icon{width:18px;height:18px}.dot.ok{background:var(--ok-bg);color:var(--ok)}.dot.warning{background:var(--warn-bg);color:var(--warn)}.dot.alarm{background:var(--alarm-bg);color:var(--alarm)}.dot.offline{background:var(--offline-bg);color:var(--offline)}.filters{flex-wrap:wrap;align-items:end;gap:10px 12px;margin-bottom:16px;display:flex}.filters .field{flex:220px}.filters .field.narrow{flex:0 200px}.house-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.house-card{background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--line);border-radius:16px;gap:12px;height:100%;padding:16px;display:grid;position:relative}.house-card.ok{border-left-color:var(--ok)}.house-card.warning{border-left-color:var(--warn-mark)}.house-card.alarm{border-left-color:var(--alarm)}.house-card.offline{border-left-color:var(--offline)}.house-card:hover{box-shadow:var(--shadow)}.house-card:focus-within{box-shadow:0 0 0 3px var(--focus)}.house-card .hc-top{justify-content:space-between;align-items:start;gap:10px;display:flex}.house-card .hc-label{color:var(--muted);font-size:.85rem}.house-card h2{margin:0;font-size:1.2rem}.house-card h2 a{color:var(--heading);text-decoration:none}.house-card h2 a:after{content:"";border-radius:16px;position:absolute;inset:0}.house-card h2 a:focus-visible{outline:none}.hc-grid{grid-template-columns:1fr 1fr;gap:8px;margin:0;display:grid}.hc-grid>div{background:var(--bg);border-radius:10px;min-width:0;padding:8px 10px}.hc-grid dt{color:var(--muted);font-size:.78rem}.hc-grid dd{font-family:var(--font-display);color:var(--heading);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0;font-size:1.1rem;font-weight:700}.hc-grid dd.text{font-family:var(--font-body);font-size:.98rem}.hc-foot{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:4px 10px;font-size:.86rem;display:flex}.hc-foot .alerts{color:var(--alarm);align-items:center;gap:4px;font-weight:700;display:inline-flex}.table-wrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.96rem}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:10px 14px}th{color:var(--muted);text-transform:none;background:var(--bg);white-space:nowrap;font-size:.82rem;font-weight:700}tr:last-child td{border-bottom:0}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}tbody tr:hover{background:var(--row-hover)}.view-toggle{border:1px solid var(--line-strong);background:var(--surface);border-radius:999px;padding:3px;display:inline-flex}.view-toggle button{font:inherit;color:var(--fg);cursor:pointer;background:0 0;border:0;border-radius:999px;min-height:36px;padding:6px 12px;font-size:.9rem;font-weight:600}.view-toggle button[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}.house-hero{gap:14px;display:grid}.status-line{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.updated{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:.9rem;display:inline-flex}.metrics{grid-template-columns:repeat(2,1fr);gap:8px;margin:0;display:grid}@media (width>=720px){.metrics{grid-template-columns:repeat(4,1fr)}}.metric{background:var(--bg);border-radius:12px;min-width:0;padding:10px 12px}.metric dt{color:var(--muted);align-items:center;gap:6px;font-size:.8rem;display:flex}.metric dd{font-family:var(--font-display);color:var(--heading);font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:1.3rem;font-weight:700}.metric dd .sub{font-family:var(--font-body);color:var(--muted);font-size:.82rem;font-weight:400;display:block}.metric.bad{background:var(--alarm-bg)}.metric.bad dd{color:var(--alarm)}.metric.warn{background:var(--warn-bg)}.metric.warn dd{color:var(--warn)}.metric.good dd{color:var(--ok)}.rooms{grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.rooms li{border:1px solid var(--line);border-radius:12px;padding:10px 12px}.rooms .r-name{color:var(--muted);font-size:.86rem}.rooms .r-temp{font-family:var(--font-display);color:var(--heading);font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:700}.rooms .r-hum{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.86rem}.rooms li.coldest{border-color:var(--cold-line);background:var(--cold-bg)}.mode-options{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:8px;display:grid}.mode-opt{font:inherit;text-align:left;cursor:pointer;color:var(--fg);border:1px solid var(--line-strong);background:var(--surface);border-radius:12px;gap:2px;min-height:64px;padding:12px 14px;display:grid}.mode-opt:hover:not([disabled]){border-color:var(--accent);background:var(--accent-softer)}.mode-opt strong{font-family:var(--font-display);color:var(--heading);align-items:center;gap:8px;font-size:1.02rem;display:flex}.mode-opt span{color:var(--muted);font-size:.86rem}.mode-opt[aria-pressed=true],.mode-opt[aria-checked=true]{border:2px solid var(--accent);background:var(--accent-soft);padding:11px 13px}.mode-opt[aria-pressed=true] strong:after,.mode-opt[aria-checked=true] strong:after{content:attr(data-active);font-family:var(--font-body);color:var(--on-accent);background:var(--accent);border-radius:99px;margin-left:auto;padding:1px 8px;font-size:.75rem;font-weight:700}.mode-opt[disabled]{cursor:not-allowed;opacity:.65}.confirm-box{border:2px solid var(--beacon);background:var(--amber-soft);border-radius:12px;gap:10px;padding:14px;display:grid}.confirm-box p{margin:0}.feature-list{flex-wrap:wrap;gap:6px;display:flex}.chart{position:relative}.chart svg{width:100%;height:auto;display:block;overflow:visible}.chart .grid line{stroke:var(--line);stroke-width:1px}.chart .axis text{fill:var(--muted);font-size:11px;font-family:var(--font-body);font-variant-numeric:tabular-nums}.chart .bar{fill:var(--accent)}.chart .bar-hit{fill:#0000;cursor:default}.chart .bar-hit:hover+.bar,.chart .bar.active{fill:var(--accent-hover)}.chart .missing{fill:var(--line)}.chart .baseline{stroke:var(--line-strong);stroke-width:1px}.chart-tooltip{pointer-events:none;background:var(--inverse-bg);color:var(--inverse-fg);white-space:nowrap;box-shadow:var(--shadow);font-variant-numeric:tabular-nums;border-radius:8px;padding:6px 10px;font-size:.85rem;position:absolute;transform:translate(-50%,-100%)}.chart-tooltip strong{font-size:.95rem;display:block}.chart-totals{color:var(--muted);flex-wrap:wrap;gap:6px 20px;margin-bottom:10px;font-size:.92rem;display:flex}.chart-totals strong{color:var(--heading);font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.15rem}details.data-table summary{cursor:pointer;color:var(--link);width:fit-content;margin-top:10px;font-weight:600}details.data-table .table-wrap{max-height:320px;margin-top:8px;overflow:auto}.list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.item{border:1px solid var(--line);background:var(--surface);border-radius:12px;gap:6px;min-width:0;padding:12px 14px;display:grid}.item.acked{background:var(--bg)}.item-head{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:6px 12px;display:flex}.item-title{color:var(--heading);flex-wrap:wrap;align-items:center;gap:8px;font-weight:700;display:flex}.item-meta{color:var(--muted);flex-wrap:wrap;gap:2px 14px;font-size:.88rem;display:flex}.item.critical{border-left:5px solid var(--alarm)}.item.warning{border-left:5px solid var(--warn-mark)}.item.info{border-left:5px solid var(--line-strong)}.booking{border:1px solid var(--line);background:var(--surface);border-radius:14px;gap:10px;padding:14px;display:grid}.booking.cancelled,.booking.finished{background:var(--bg)}.booking-dates{font-family:var(--font-display);color:var(--heading);font-size:1.05rem;font-weight:700}.code-box{background:var(--sea);color:var(--sea-fg);border-radius:10px;align-items:center;gap:8px;padding:6px 6px 6px 12px;display:inline-flex}.code-box .code{font-family:var(--font-mono);letter-spacing:.12em;font-variant-numeric:tabular-nums;font-size:1.25rem}.code-box .btn{background:#ffffff1f;border-color:#0000;min-height:34px;padding:4px 10px;font-size:.85rem}.code-box .btn:hover{background:#ffffff38}.sync{gap:2px;font-size:.9rem;display:grid}.secret-box{border:2px solid var(--beacon);background:var(--amber-soft);border-radius:12px;gap:10px;padding:14px;display:grid}.secret-box .secret{flex-wrap:wrap;align-items:stretch;gap:8px;display:flex}.secret-box code{background:var(--surface);border:1px solid var(--line-strong);overflow-wrap:anywhere;border-radius:8px;flex:260px;min-width:0;padding:10px 12px;font-size:.92rem;display:block}.tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:4px;margin-bottom:20px;display:flex;overflow-x:auto}.tabs [role=tab]{font:inherit;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;min-height:44px;padding:10px 14px;font-weight:700}.tabs [role=tab]:hover{color:var(--heading)}.tabs [role=tab][aria-selected=true]{color:var(--heading);border-bottom-color:var(--accent)}.tabs .tab-link{white-space:nowrap;min-height:44px;color:var(--muted);border-bottom:3px solid #0000;align-items:center;gap:6px;padding:10px 14px;font-weight:700;text-decoration:none;display:inline-flex}.tabs .tab-link:hover{color:var(--heading)}.tabs .tab-link[aria-current=page]{color:var(--heading);border-bottom-color:var(--accent)}.tabs{margin-bottom:4px}dialog.dialog{width:min(520px, calc(100vw - 2 * var(--gutter)));color:var(--fg);background:var(--surface);border:0;border-radius:16px;padding:0;box-shadow:0 30px 80px -20px #0f2c3180}dialog.dialog::backdrop{background:#0f2c3173}dialog.dialog.amber{border-top:6px solid var(--beacon)}dialog.dialog.danger{border-top:6px solid var(--alarm)}.dialog-head{justify-content:space-between;align-items:start;gap:12px;padding:18px 18px 0 20px;display:flex}.dialog-head h2{margin:4px 0 0;font-size:1.2rem}.dialog-body{padding:10px 20px 4px}.dialog-body p{margin:0 0 8px}.dialog-actions{flex-wrap:wrap;gap:10px;padding:12px 20px 20px;display:flex}.toasts{z-index:50;left:var(--gutter);right:var(--gutter);pointer-events:none;justify-items:center;gap:8px;display:grid;position:fixed;bottom:16px}@media (width>=720px){.toasts{justify-items:end;bottom:24px;left:auto;right:24px}}.toast{pointer-events:auto;background:var(--inverse-bg);width:100%;max-width:460px;color:var(--inverse-fg);box-shadow:var(--shadow);border-radius:12px;align-items:center;gap:10px;padding:10px 8px 10px 14px;display:flex}.toast.error{background:var(--alarm-fill);color:var(--on-fill)}.toast>span{flex:1}.toast-x{color:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;min-width:36px;min-height:36px;padding:6px;display:grid}.toast-x:hover{background:#7f7f7f40}@media (prefers-reduced-motion:no-preference){.toast{animation:.2s ease-out toast-in}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}}.booking.highlight{border:2px solid var(--accent);box-shadow:var(--shadow)}.table-caption{text-align:left;padding:10px 14px;font-weight:700}.chart-plot{outline-offset:4px;border-radius:8px;position:relative}.loading{color:var(--muted);align-items:center;gap:10px;padding:20px 0;display:flex}.spinner{border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;flex:none;width:18px;height:18px}.empty{text-align:center;color:var(--muted);border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--surface);padding:32px 16px}.empty h2,.empty h3{color:var(--heading)}.empty p{max-width:46ch;margin:0 auto}.icon{flex:none;width:20px;height:20px}.link-btn{font:inherit;color:var(--link);cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0;text-decoration:underline}hr.sep{border:0;border-top:1px solid var(--line);margin:4px 0}.kv{grid-template-columns:max-content 1fr;gap:4px 14px;margin:0;font-size:.95rem;display:grid}.kv dt{color:var(--muted)}.kv dd{overflow-wrap:anywhere;min-width:0;margin:0}.auth-wrap{min-height:100vh;padding:24px var(--gutter);background:linear-gradient(180deg, var(--bg) 0%, var(--sand) 100%);place-items:center;display:grid}.auth-card{background:var(--surface);border:1px solid var(--line);width:100%;max-width:420px;box-shadow:var(--shadow);border-radius:18px;gap:18px;padding:28px 22px;display:grid}@media (width>=480px){.auth-card{padding:34px 32px}}.auth-card h1{margin:0;font-size:1.6rem}.auth-foot{color:var(--muted);text-align:center;font-size:.9rem}@media (prefers-reduced-motion:no-preference){.spinner{animation:.8s linear infinite spin}.live-dot{animation:2s ease-in-out infinite pulse}.btn,.mode-opt,.summary-btn,.house-card{transition:background-color .15s,border-color .15s,box-shadow .15s}}.live-dot{background:var(--accent);border-radius:50%;width:8px;height:8px;display:inline-block}.live-dot.stale{background:var(--beacon)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{box-shadow:0 0 #1d5b4f73}50%{box-shadow:0 0 0 6px #1d5b4f00}}@media (forced-colors:active){.badge,.btn,.mode-opt,.house-card{border:1px solid canvastext}.chart .bar{fill:canvastext}}.header-inner>*{min-width:0}@media (width<=959px){.main-nav ul{flex-wrap:wrap;overflow:visible}.main-nav a{min-height:38px;padding:6px 10px}}@media (width<=719px){.tabs{flex-wrap:wrap;overflow:visible}.tabs .tab-link,.tabs [role=tab]{padding:8px 10px}}.summary-btn>span:last-child{gap:2px;display:grid}.mode-opt[aria-pressed=true][disabled]{opacity:1;cursor:default}@media (width<=959px){.site-header{position:static}}@media (width>=960px){:where(input,select,textarea,button,a,[tabindex]){scroll-margin-top:90px}}main:focus{outline:none}.theme-toggle select{border:1px solid var(--line-strong);background-color:var(--surface);width:auto;min-height:36px;color:var(--fg);border-radius:999px;padding:4px 28px 4px 10px;font-size:.85rem}.compare{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.compare li{background:var(--hover);border-radius:10px;gap:2px;padding:10px 12px;display:grid}.compare strong{font-family:var(--font-display);color:var(--heading);font-variant-numeric:tabular-nums;font-size:1.2rem}.report-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.report-list li{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding-bottom:8px;display:flex}.report-list li>div:first-child{gap:2px;display:grid}.zones{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px;margin:12px 0 0;padding:0;list-style:none;display:grid}.zone{border:1px solid var(--line);background:var(--surface);border-radius:12px;gap:12px;min-width:0;padding:12px 14px;display:grid}.zone.boosting{border-color:var(--beacon);background:var(--amber-soft)}.zone.unavailable{background:var(--offline-bg)}.zone-head{justify-content:space-between;align-items:start;gap:10px;display:flex}.zone-head h3{margin:0}.zone-now{text-align:right;display:grid}.zone-temp{font-family:var(--font-display);color:var(--heading);font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:700}.zone-target{gap:4px;display:grid}.zone-target .label{color:var(--heading);font-size:.95rem;font-weight:700}.stepper{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.stepper .icon-btn{border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;width:44px;height:44px;color:var(--heading);border-radius:50%;font-size:1.4rem;line-height:1}.stepper .icon-btn:disabled{opacity:.45;cursor:not-allowed}.stepper-value{text-align:center;min-width:5.5ch;font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.2rem;font-weight:700}.zone-boost{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.zone-boost .icon{width:18px;height:18px;color:var(--warn)}.zone-boost-form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.zone-boost-form select{width:auto}.err{color:var(--alarm)}.segmented{border:1px solid var(--line-strong);border-radius:12px;flex-wrap:wrap;display:inline-flex;overflow:hidden}.segmented button{font:inherit;border:0;border-right:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--fg);cursor:pointer;padding:8px 16px}.segmented button:last-child{border-right:0}.segmented button[aria-pressed=true]{background:var(--accent);color:var(--on-accent);font-weight:700}.segmented button:disabled{cursor:not-allowed;opacity:.65}.sched-form{border:1px solid var(--line);background:var(--bg);border-radius:12px;margin:10px 0;padding:12px 14px}.run.failed{border-left:5px solid var(--alarm)}.run.retrying{border-left:5px solid var(--warn-mark)}.run.skipped{border-left:5px solid var(--line-strong)}.tag.run-success{background:var(--ok-bg);color:var(--ok)}.tag.run-retrying{background:var(--warn-bg);color:var(--warn)}.item-meta .err{color:var(--alarm)}.bulk-inline{max-width:280px;margin:0 0 6px 30px}.bulk-houses{max-height:320px;padding:4px 0 4px 30px;overflow:auto}.tag.bulk-success,.tag.csv-created,.tag.csv-updated,.tag.csv-valid{background:var(--ok-bg);color:var(--ok)}.tag.bulk-failed,.tag.csv-error{background:var(--alarm-bg);color:var(--alarm)}.tag.bulk-retrying,.tag.bulk-pending,.tag.csv-cancelled{background:var(--warn-bg);color:var(--warn)}#bulk-form .err,#ical .err,#csv .err{color:var(--alarm)}.lock-facts{grid-template-columns:repeat(auto-fill,minmax(min(100%,160px),1fr));gap:12px;margin:0 0 12px;display:grid}.lock-facts dt{color:var(--muted);font-size:.85rem}.lock-facts dd{margin:2px 0 0;font-weight:600}.lock-state{align-items:center;gap:6px;display:inline-flex}.lock-state.ok{color:var(--ok)}.lock-state.warning{color:var(--warn)}.lock-state.alarm{color:var(--alarm)}.lock-state.offline{color:var(--offline)}.lock-actions{flex-wrap:wrap;margin-top:8px}.slots{gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.slot{grid-template-columns:2.25rem 1fr;align-items:start;gap:10px;display:grid}.slot-no{background:var(--sand);width:2.25rem;height:2.25rem;color:var(--heading);border-radius:50%;place-items:center;font-weight:700;display:grid}.slot-codes{gap:8px;min-width:0;margin:0;padding:0;list-style:none;display:grid}.code-row{border:1px solid var(--line);border-radius:12px;gap:4px;padding:10px 12px;display:grid}.code-row.expired,.code-row.revoked,.code-row.used{opacity:.65}.code-main{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.code-digits{letter-spacing:.08em;font-size:1.15rem}.code-type.staff{background:var(--amber-soft)}.code-form{margin:12px 0}.access-log .item-title{overflow-wrap:anywhere}.access-log .log-jammed .item-title,.access-log .log-remote_unlock .item-title{color:var(--alarm)}.readiness-line{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.badge.readiness{white-space:nowrap}.visit-list .row{flex-wrap:wrap;margin-top:6px}.visit.cancelled{opacity:.6}.tag.visit-status.in_progress{background:var(--amber-soft)}.tag.visit-status.completed{background:var(--ok-bg);color:var(--ok)}.tag.visit-issue{background:var(--alarm-bg);color:var(--alarm)}.visit-outcome{align-items:center;gap:8px;margin:0;font-weight:600;display:flex}.visit-outcome.ok{color:var(--ok)}.visit-outcome.alarm{color:var(--alarm)}.report-checklist{gap:4px;margin:0;padding:0;list-style:none;display:grid}.report-checklist li{color:var(--muted);align-items:baseline;gap:6px;display:flex}.report-checklist li.done{color:var(--fg)}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,140px),1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.photo-grid li{gap:4px;display:grid}.photo-grid img{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line);background:var(--sand);border-radius:10px;width:100%}@media print{.site-header,.main-nav,.dialog-actions,.dialog-head button{display:none!important}}.field-page{max-width:640px;margin:0 auto}.field-list{gap:16px;margin:0;padding:0;list-style:none;display:grid}.field-visit{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);gap:14px;padding:16px;display:grid}.field-visit.completed{box-shadow:none;opacity:.85}.fv-head{justify-content:space-between;align-items:start;gap:12px;display:flex}.fv-head h2{margin:2px 0}.fv-addr{color:var(--muted);margin:0}.big-btn{justify-content:center;min-height:52px;font-size:1.05rem}.big-btn.wide{width:100%}.big-btn.disabled{opacity:.6;pointer-events:none}.door-code{background:var(--sea);color:var(--sea-fg);border-radius:12px;gap:2px;padding:12px 14px;display:grid}.door-code .mono{letter-spacing:.15em;font-size:2rem;font-weight:700}.door-code .muted{color:var(--sea-fg);opacity:.8}.fv-checklist{gap:6px;margin:0;padding:0;list-style:none;display:grid}.fv-check{border:1px solid var(--line);border-radius:10px;align-items:center;gap:12px;min-height:48px;padding:6px 10px;display:flex}.fv-check input{flex:none;width:26px;height:26px}.fv-check.done{background:var(--ok-bg)}.fv-photo,.fv-issue{gap:10px;display:grid}.fv-caption{min-height:44px}.fv-actions{gap:10px;display:grid}.field textarea{width:100%}.day-toggle button{min-height:44px}.health-head{flex-wrap:wrap;align-items:center;gap:12px 20px;margin-bottom:12px;display:flex}.health-score{font-family:var(--font-display);color:var(--heading);line-height:1}.health-score strong{font-variant-numeric:tabular-nums;font-size:2.6rem}.health-score span{color:var(--muted);margin-left:2px}.health-score.tone-alarm strong{color:var(--alarm)}.health-score.tone-warning strong{color:var(--warn)}.reasons{gap:6px;margin:0 0 12px;padding:0;list-style:none;display:grid}.reasons li{align-items:flex-start;gap:8px;display:flex}.reasons .sev-critical .icon{color:var(--alarm)}.reasons .sev-warning .icon{color:var(--warn-mark)}.facts{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:10px 16px;margin:0;display:grid}.facts dt{color:var(--muted);font-size:.85rem}.facts dd{color:var(--heading);font-variant-numeric:tabular-nums;margin:2px 0 0;font-weight:600}.dev-name{gap:2px;display:grid}.batt{font-variant-numeric:tabular-nums;align-items:center;gap:4px;display:inline-flex}.batt.tone-warning{color:var(--warn);font-weight:600}.batt.tone-alarm{color:var(--alarm);font-weight:700}.line-chart .series{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.line-chart .crosshair line{stroke:var(--line-strong);stroke-width:1px}.line-chart .crosshair circle{stroke:var(--surface);stroke-width:2px}.line-chart .events line{stroke:var(--line-strong);stroke-width:1px;stroke-dasharray:3 3}.line-chart .events path{fill:var(--muted)}.line-chart .ev-alert path{fill:var(--warn-mark)}.line-chart .ev-critical path{fill:var(--alarm)}.line-chart .ev-critical line{stroke:var(--alarm)}.line-chart .ev-stay path{fill:var(--accent)}.line-chart .ev-offline path{fill:var(--offline)}.line-tip{gap:2px;display:grid;transform:translate(-50%)}.line-tip .tip-time{opacity:.85;font-size:.8rem}.line-tip .tip-row{align-items:center;gap:6px;display:flex}.line-tip .tip-row strong{display:inline}.line-tip .tip-event{border-top:1px solid #7f7f7f66;padding-top:2px;font-size:.8rem}.line-chart .legend{color:var(--fg);flex-wrap:wrap;gap:4px 16px;margin:0 0 8px;padding:0;font-size:.9rem;list-style:none;display:flex}.line-chart .legend li{align-items:center;gap:6px;display:flex}.swatch{border-radius:2px;width:12px;height:3px;display:inline-block}.seg-group{border:1px solid var(--line-strong);border-radius:var(--radius-btn);flex-wrap:wrap;display:inline-flex;overflow:hidden}.seg-group button{background:var(--surface);color:var(--fg);font:inherit;cursor:pointer;border:0;min-height:36px;padding:6px 12px;font-size:.92rem}.seg-group button+button{border-left:1px solid var(--line)}.seg-group button[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}.history-controls{flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:12px;display:flex}.room-chips{border:0;flex-wrap:wrap;gap:6px 12px;margin:0 0 10px;padding:0;font-size:.92rem;display:flex}.room-chips legend{color:var(--heading);margin-bottom:4px;padding:0;font-weight:600}.room-chips label{align-items:center;gap:6px;display:inline-flex}.event-list{gap:4px;margin:8px 0 0;padding:0;font-size:.92rem;list-style:none;display:grid}.event-list time{color:var(--muted);font-variant-numeric:tabular-nums;margin-right:8px}.incident-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.incident-item a{background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--line-strong);color:var(--fg);border-radius:10px;gap:4px;padding:12px 14px;text-decoration:none;display:grid}.incident-item a:hover{background:var(--hover)}.incident-item.alarm a{border-left-color:var(--alarm)}.incident-item.warning a{border-left-color:var(--warn-mark)}.incident-item.resolved a{opacity:.8}.incident-title{font-size:1.02rem}.incident-item .badge{justify-self:start}.timeline{border-left:2px solid var(--line);gap:10px;margin:0 0 12px;padding:0 0 0 14px;list-style:none;display:grid}.timeline li{gap:2px;display:grid;position:relative}.timeline li:before{content:"";background:var(--line-strong);border-radius:50%;width:10px;height:10px;position:absolute;top:6px;left:-20px}.timeline .tl-opened:before,.timeline .tl-escalated:before{background:var(--alarm)}.timeline .tl-acknowledged:before,.timeline .tl-resolved:before,.timeline .tl-recovered:before{background:var(--ok)}.timeline .tl-action:before{background:var(--warn-mark)}.tl-type{font-weight:600}@media (width>=720px){.timeline li{grid-template-columns:170px 170px 1fr;align-items:baseline}}.esc-steps{gap:12px;margin:0;padding:0;list-style:none;display:grid}.esc-step{border:1px solid var(--line);border-radius:10px;gap:10px;padding:12px;display:grid}.esc-step h3{margin:0;font-size:1rem}fieldset.checks{border:0;margin:0;padding:0}fieldset.checks legend{margin-bottom:6px;font-weight:600}fieldset.checks.inline{flex-wrap:wrap;gap:4px 16px;display:flex}fieldset.checks.inline legend{width:100%}.header-user{flex-wrap:wrap}.bell{position:relative}.bell-btn{border:1px solid var(--line);width:40px;height:40px;color:inherit;cursor:pointer;background:0 0;border-radius:999px;place-items:center;display:inline-grid;position:relative}.bell-count{position:absolute;top:-6px;right:-6px}.bell-panel{z-index:50;background:var(--surface);width:min(92vw,360px);color:var(--fg);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;gap:8px;padding:12px;display:grid;position:absolute;top:46px;right:0}.bell-panel ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.bell-panel li a{color:var(--fg);border-radius:8px;align-items:flex-start;gap:8px;padding:6px;text-decoration:none;display:flex}.bell-panel li a:hover{background:var(--hover)}.bell-panel li.unread a{background:var(--amber-soft)}.bell-panel .dot{border-radius:50%;flex:none;width:10px;height:10px;margin-top:6px}.plain-list{gap:6px;margin:12px 0 0;padding:0;list-style:none;display:grid}.update-btn{white-space:nowrap}input[type=tel],input[type=time],input:not([type]){font:inherit;color:var(--fg);border:1px solid var(--line-strong);background:var(--surface);border-radius:10px;width:100%;min-height:44px;padding:9px 12px;font-size:1rem}@media (width>=960px){.header-inner{grid-template-columns:auto 1fr;grid-template-areas:"logo user""nav nav"}}.header-user{flex-wrap:wrap;justify-content:flex-end;row-gap:6px}.header-user .lang-switch{width:auto;min-height:36px;padding:4px 8px}.header-account{flex-wrap:nowrap}@media (width<=719px){.header-inner{grid-template-columns:1fr;grid-template-areas:"logo""user""nav"}.header-inner>.header-user{justify-content:flex-start;justify-self:stretch;padding-bottom:8px}.header-user>:last-child{margin-left:auto}.search{flex-basis:100%;order:10;max-width:none}}.qr-wrap{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.qr{border:1px solid var(--line);border-radius:8px;width:min(220px,60vw);height:auto}.secret-key{letter-spacing:.04em;word-break:break-all;font-size:1.05rem}.recovery-codes{columns:2;margin:8px 0;padding:0;list-style:none}.session-list{gap:10px;margin:0 0 12px;padding:0;list-style:none;display:grid}.session-list .badge{margin-left:8px}.steps{margin:0;padding-left:20px}.lang-switch{border-radius:8px;min-height:34px;padding:2px 6px}.header-account{gap:6px}.wizard-progress{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.wizard-progress li{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 12px;font-size:.9rem}.wizard-progress li[aria-current=step]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.kv-list{grid-template-columns:minmax(120px,max-content) 1fr;gap:4px 16px;margin:0;display:grid}.kv-list dt{color:var(--muted)}.kv-list dd{margin:0}.break{word-break:break-all}.code-block{background:var(--sea);color:var(--sea-fg);white-space:pre;border-radius:10px;padding:12px;font-size:.85rem;overflow-x:auto}.checklist{gap:8px;margin:12px 0;padding:0;list-style:none;display:grid}.checklist li{grid-template-columns:24px 1fr;align-items:start;gap:8px;display:grid}.checklist li select{grid-column:2;justify-self:start}@media (width>=720px){.checklist li{grid-template-columns:24px 1fr 180px}.checklist li select{grid-column:3}}.checklist .cl-done{color:var(--ok)}.checklist .cl-done .cl-label{color:var(--fg)}.progress{width:100%;height:10px;accent-color:var(--accent)}.check-results{margin:6px 0 0;padding:0;list-style:none}.check-results .bad{color:var(--alarm)}.contact-list{gap:12px;margin:0 0 12px;padding:0;list-style:none;display:grid}.contact-row{border:1px solid var(--line);border-radius:10px;padding:10px}.house-photo-add{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}.house-photo-caption{flex:220px;min-width:0}.enrol-code{letter-spacing:.08em;font-size:1.4rem;font-weight:600}.search{flex:220px;max-width:360px;position:relative}.search input{border-radius:999px;width:100%;min-height:40px;padding-left:34px}.search-icon{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.search-results{z-index:60;background:var(--surface);color:var(--fg);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;min-width:min(92vw,340px);max-height:60vh;margin:0;padding:6px;list-style:none;position:absolute;top:46px;left:0;right:0;overflow-y:auto}.search-results li{cursor:pointer;border-radius:8px;align-items:flex-start;gap:8px;padding:8px;display:flex}.search-results li.active,.search-results li:hover{background:var(--hover)}.house-map{border-radius:var(--radius);border:1px solid var(--line);z-index:0;width:100%}.map-legend{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.guest{background:var(--bg);min-height:100vh;color:var(--fg)}.guest-top{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 16px;display:flex}.guest-brand{align-items:center;gap:8px;font-weight:700;display:inline-flex}.guest-langs button{min-height:36px}.guest-main{outline:none;flex-direction:column;gap:14px;max-width:640px;margin:0 auto;padding:16px;display:flex}.guest-hero h1{margin:0 0 4px;font-size:1.7rem;line-height:1.2}.guest-hero p{margin:0}.guest-welcome{color:var(--muted);font-size:.95rem}.guest-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px}.guest-card h2{align-items:center;gap:8px;margin:0 0 8px;font-size:1.1rem;display:flex}.guest-card p{margin:6px 0}.guest-facts{gap:8px;margin:0;display:grid}.guest-facts div{gap:2px;display:grid}.guest-facts dt{color:var(--muted);font-size:.85rem}.guest-facts dd{overflow-wrap:anywhere;margin:0;font-weight:600}.guest-code{letter-spacing:.25em;font-variant-numeric:tabular-nums;margin:4px 0;font-size:2.6rem;font-weight:800}.guest-text{white-space:pre-wrap;overflow-wrap:anywhere}.guest-sos{border-color:var(--alarm,#b42318)}.guest-foot{text-align:center}@media (width>=640px){.guest-facts{grid-template-columns:1fr 1fr}}.booking .guest-main{max-width:720px}.booking.embed .guest-top{border-bottom:0;padding:6px 12px}.booking fieldset.guest-card{min-width:0;margin:0}.booking legend{padding:0 4px;font-size:1.05rem;font-weight:700}.booking .h3,.card .h3{margin:14px 0 6px;font-size:1rem}.choice-list{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}.choice-list.two{grid-template-columns:1fr}.choice{border:1px solid var(--line);cursor:pointer;background:var(--surface);border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.choice.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.choice input{margin-top:3px}.block{display:block}.notice-inline{background:var(--amber-soft);border-radius:8px;margin:6px 0;padding:8px 10px}.example-badge{text-transform:lowercase;margin-left:6px}.price-box h2{align-items:center;gap:6px;display:flex}.price-lines{border-collapse:collapse;width:100%;font-size:.95rem}.price-lines th{text-align:left;padding:3px 0;font-weight:400}.price-lines td{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;padding:3px 0 3px 12px}.price-lines tr.sub th,.price-lines tr.sub td{border-top:1px solid var(--line);padding-top:6px}.price-lines tr.total th,.price-lines tr.total td{font-size:1.1rem;font-weight:800}.manage-link{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:8px;display:flex}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.booking-submit{justify-content:center;width:100%;min-height:48px}.check-list{gap:4px;margin:6px 0;padding:0;list-style:none;display:grid}.booking-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.booking-row{border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:10px 12px;display:flex}.booking-main{overflow-wrap:anywhere;flex:320px;min-width:0}.booking-side{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.catalog-row{border:1px solid var(--line);border-radius:10px;gap:8px;padding:10px 12px;display:grid}.form-grid.compact{gap:8px 12px}.cap-grid{grid-template-columns:repeat(7,minmax(56px,1fr));gap:6px;display:grid}.cap-grid input{width:100%}.zone-list{margin:0;padding-left:18px}.stat-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0;display:grid}.stat-row div{border:1px solid var(--line);border-radius:10px;padding:8px 10px}.stat-row dt{color:var(--muted);font-size:.85rem}.stat-row dd{font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:1.15rem;font-weight:700}.plan-unscheduled{border:1px dashed var(--line-strong);border-radius:10px;margin-bottom:10px;padding:8px 10px}.plan-unscheduled h3{margin:0 0 6px;font-size:.95rem}.plan-board{table-layout:fixed;min-width:720px}.plan-board th[scope=row]{width:130px}.plan-cell{vertical-align:top;min-height:80px}.plan-cell.blocked{background:repeating-linear-gradient(45deg, transparent, transparent 6px, var(--hover) 6px, var(--hover) 12px)}.plan-cell.over .plan-cap span{background:var(--alarm,#b42318)}.plan-cap{background:var(--hover);border-radius:3px;height:6px;margin-bottom:2px;overflow:hidden}.plan-cap span{background:var(--accent);height:100%;display:block}.plan-chips{gap:4px;margin:4px 0 0;padding:0;list-style:none;display:grid}.plan-unscheduled .plan-chips{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.plan-chip{border:1px solid var(--line);border-left:4px solid var(--accent);background:var(--surface);cursor:grab;border-radius:8px;padding:4px 6px;font-size:.85rem}.plan-chip.conflict{border-left-color:var(--alarm,#b42318)}.conflict-text{color:var(--alarm,#b42318);display:block}@media (width>=640px){.choice-list.two{grid-template-columns:1fr 1fr}}.chip-list{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.chip-list .chip{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:2px 10px;font-size:.9rem}.zone-editor fieldset{border:1px solid var(--line);border-radius:8px;padding:8px 12px}.turnstile-box{min-height:70px}.cap-default{margin:4px 0}.smart-facts{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:10px 18px;margin:0 0 12px;display:grid}.smart-facts dt{color:var(--muted);font-size:.82rem}.smart-facts dd{margin:2px 0 0;font-weight:600}.good-text{color:var(--ok-ink)}.plan-explain{margin-top:0}.plan-chart{margin:8px 0 0}.plan-chart svg{width:100%;height:auto;display:block}.plan-chart .grid{stroke:var(--line);stroke-width:1px}.plan-chart .axis{fill:var(--muted);font-size:10px}.plan-chart .bar{fill:var(--line)}.plan-chart .bar.heat{fill:var(--accent)}.plan-chart .naive{stroke:var(--warn);stroke-width:2px;stroke-dasharray:4 3}.plan-chart .legend{flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:4px;display:flex}.plan-chart .key{background:var(--line);border-radius:3px;width:12px;height:12px;display:inline-block}.plan-chart .key.heat{background:var(--accent)}.plan-chart .key.naive{border-left:2px dashed var(--warn);background:0 0;border-radius:0;width:0}.weather-scroll{padding-bottom:4px;overflow-x:auto}.weather-scroll:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.weather-strip{grid-auto-columns:minmax(64px,1fr);grid-auto-flow:column;gap:6px;display:grid}.weather-strip>div{background:var(--hover);border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;display:flex}.weather-strip>div.cold strong{color:var(--accent)}.findings,.smart-actions{gap:10px;margin:0;padding:0;list-style:none;display:grid}.findings li{border-left:4px solid var(--warn);background:var(--hover);border-radius:6px;padding:6px 10px}.findings li.sev-info{border-left-color:var(--accent)}.findings li.state-snoozed{opacity:.75}.findings p{margin:4px 0 8px}.smart-actions li{grid-template-columns:minmax(110px,auto) 1fr;gap:4px 12px;display:grid}.smart-actions li.undone span:last-child{color:var(--muted);text-decoration:line-through}@media (width<=560px){.smart-actions li{grid-template-columns:1fr}}.value-tiles{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:8px;margin-bottom:8px;display:grid}.value-tiles>div{background:var(--hover);border-radius:8px;padding:10px 12px}.value-tiles span{color:var(--muted);font-size:.8rem;display:block}.value-tiles strong{font-size:1.25rem}.changeover{border:1px solid var(--line);border-radius:8px;padding:8px 10px}.changeover-head{flex-wrap:wrap}.changeover-items{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.changeover-items li{grid-template-columns:minmax(130px,auto) 1fr;align-items:start;gap:4px 10px;font-size:.92rem;display:grid}@media (width<=560px){.changeover-items li{grid-template-columns:1fr}}.plan-chart .price{fill:none;stroke:var(--beacon);stroke-width:2px}.plan-chart .key.price{border-top:2px solid var(--beacon);background:0 0;border-radius:0;height:0}.space-between{justify-content:space-between}.stack-sm{gap:8px;display:grid}.grow{flex:200px;min-width:0}.err-text{color:var(--alarm)}.tag.tone-ok{background:var(--ok-bg);color:var(--ok-ink)}.tag.tone-warning{background:var(--warn-bg);color:var(--warn-ink)}.tag.tone-alarm{background:var(--alarm-bg);color:var(--alarm-ink)}.tag.tone-info{background:var(--amber-soft)}.devices-ctl{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:10px;margin:8px 0 0;padding:0;list-style:none;display:grid}.device-ctl{border:1px solid var(--line);background:var(--surface);border-radius:12px;gap:8px;min-width:0;padding:10px 12px;display:grid}.device-ctl.active{border-color:var(--beacon);background:var(--amber-soft)}.device-ctl.unavailable{background:var(--offline-bg)}.device-ctl-head{justify-content:space-between;align-items:start;gap:8px;display:flex}.device-ctl-head h3{margin:0;font-size:1rem}.device-ctl-head p{margin:2px 0 0}.device-ctl-range{grid-template-columns:auto 1fr 3.5em;align-items:center;gap:8px;display:grid}.device-ctl-range input[type=range]{width:100%;accent-color:var(--accent);min-height:32px}.device-ctl-range output{text-align:right;font-variant-numeric:tabular-nums}.template-row{flex-wrap:wrap;align-items:center;gap:6px 8px;margin:8px 0 12px;display:flex}.scene-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:12px;margin:8px 0 0;padding:0;list-style:none;display:grid}.scene-card{border:1px solid var(--line);background:var(--surface);border-radius:12px;align-content:start;gap:6px;min-width:0;padding:12px 14px;display:grid}.scene-card p{margin:0}.scene-card-head{justify-content:space-between;align-items:start;gap:8px;display:flex}.scene-card-head h3{margin:0}.scene-steps{margin:0;padding-left:1.3em}.run-actions{gap:6px;margin:0;padding:0;list-style:none;display:grid}.run-action{grid-template-columns:7.5em 1fr;align-items:start;gap:8px;display:grid}.run-action .tag{text-align:center}.tag.run-ok,.tag.run-will{background:var(--ok-bg);color:var(--ok-ink)}.tag.run-failed{background:var(--alarm-bg);color:var(--alarm-ink)}.tag.run-skipped,.tag.run-pending{background:var(--hover)}.preview-targets{margin:2px 0 0;padding-left:1.1em}.preview-box{border:1px dashed var(--line);border-radius:10px;padding:10px 12px}.preview-box h3{margin:0 0 6px}.scene-form fieldset{gap:8px;display:grid}.action-list,.trigger-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.action-edit,.trigger-edit{border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:8px 10px;display:flex}.action-edit{display:grid}.action-edit-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.action-edit-head select{flex:160px}.action-edit-body{flex-wrap:wrap;align-items:center;gap:6px 8px;display:flex}.action-edit-body input[type=number],.trigger-edit input[type=number]{width:5.5em}.action-no{background:var(--hover);border-radius:50%;place-items:center;width:1.7em;height:1.7em;font-size:.85rem;font-weight:700;display:inline-grid}.day-check{gap:4px}.test-facts{margin:0;padding-left:1.2em}.toggle{min-width:6.5em}.fleet-log{gap:6px;margin:0;padding:0;list-style:none;display:grid}.fleet-log li{border-left:3px solid var(--line);background:var(--surface);flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:6px 8px;display:flex}.fleet-log li.lvl-alarm{border-left-color:var(--alarm-ink)}.fleet-log li.lvl-warning{border-left-color:var(--warn-ink)}.fleet-log time{font-variant-numeric:tabular-nums;white-space:nowrap}.fleet-log-msg{overflow-wrap:anywhere;flex:260px;min-width:0}.rings{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.ring{border:1px solid var(--line);border-radius:8px;gap:4px;padding:10px 12px;display:grid}.ring-active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.ring-done{opacity:.85}.progress{background:var(--line);border-radius:4px;height:8px;overflow:hidden}.progress>span{background:var(--accent);height:100%;display:block}.wizard-steps{flex-wrap:wrap;gap:6px 16px;margin:0 0 12px;padding:0;font-size:.9rem;list-style:none;display:flex}.wizard-steps li.current{font-weight:700;text-decoration:underline}.wizard-steps li.done{color:var(--muted)}.house-pick{border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;gap:6px 14px;padding:8px 12px;display:flex}.house-pick legend{font-weight:600}.house-pick p{flex-basis:100%;margin:0}.backups li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.drift-list{margin:0;padding-left:18px}.drift-list li.sev-critical strong{color:var(--alarm-ink)}.row.wrap{flex-wrap:wrap}.warn-text{color:var(--warn-ink)}.h-small{margin:0 0 4px;font-size:1rem}.box-badges{margin-bottom:12px}.maintenance .maint-metrics{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr))}.maintenance .task.overdue{border-left:4px solid var(--alarm)}.maintenance .task.due_soon{border-left:4px solid var(--warn-mark)}.maintenance .due-alarm{color:var(--alarm-ink);font-weight:600}.maintenance .due-warning{color:var(--warn-ink);font-weight:600}.maintenance .due-ok,.maintenance .due-offline{color:var(--muted)}.maintenance .tag.warn,.maintenance .tag.det-test-overdue{background:var(--warn-bg);color:var(--warn-ink)}.maintenance .tag.bad,.maintenance .tag.det-alarm{background:var(--alarm-bg);color:var(--alarm-ink)}.maintenance .tag.ok,.maintenance .tag.det-ok{background:var(--ok-bg);color:var(--ok-ink)}.maintenance .detector.alarm{border-left:4px solid var(--alarm)}.maintenance .plan.disabled{opacity:.7}.maintenance .grid-2{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:0 1rem;display:grid}.maintenance .list.compact .item{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.35rem 0;display:flex}.maintenance fieldset.audience{border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;gap:.25rem 1rem;padding:.5rem .75rem;display:flex}.maintenance fieldset.audience legend{padding:0 .25rem;font-weight:600}.maintenance .photo-grid{grid-template-columns:repeat(auto-fill,minmax(7rem,1fr));gap:.5rem;display:grid}.maintenance .photo-grid img{aspect-ratio:4/3;object-fit:cover;border-radius:6px;width:100%}.maintenance .file-btn{cursor:pointer}.maintenance .file-btn:focus-within{outline:2px solid var(--accent,currentColor);outline-offset:2px}.maintenance dl.kv{grid-template-columns:max-content 1fr;gap:.25rem 1rem;margin:0;display:grid}.maintenance dl.kv dt{color:var(--muted)}.maintenance dl.kv dd{margin:0}.maintenance .err{color:var(--alarm-ink)}@media (width<=640px){.maintenance dl.kv{grid-template-columns:1fr}}.status-page .guest-main{max-width:720px}.status-page .seg-group{border:1px solid var(--line-strong);border-radius:999px;display:inline-flex;overflow:hidden}.status-page .seg-group button{background:var(--surface);color:var(--fg);font:inherit;cursor:pointer;border:0;padding:6px 12px}.status-page .seg-group button[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}.status-banner{border-radius:var(--radius);align-items:center;gap:12px;padding:14px 16px;display:flex}.status-banner .icon{flex:none;width:28px;height:28px}.status-banner div{flex-direction:column;gap:2px;display:flex}.status-banner.ok{background:var(--ok-bg);color:var(--ok-ink,var(--ok))}.status-banner.warning{background:var(--warn-bg);color:var(--warn)}.status-banner.alarm{background:var(--alarm-bg);color:var(--alarm-ink,var(--alarm))}.status-list{margin:0;padding:0;list-style:none}.status-list li{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.status-list li:last-child{border-bottom:0}.sub-tiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.sub-tile{background:var(--hover);border-radius:10px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.sub-tile span{color:var(--muted);font-size:.85rem}.sub-tile strong{color:var(--heading);font-size:1.25rem}.sub-lines{width:100%}.sub-actions{flex-wrap:wrap;gap:8px;display:flex}.sub-detail{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.sub-safety{border-left:4px solid var(--ok);background:var(--ok-bg);color:var(--ok-ink,var(--ok));border-radius:6px;padding:8px 12px}.sub-draft{border:1px solid var(--line);border-radius:var(--radius);padding:12px}.sub-draft+.sub-draft{margin-top:10px}.sub-draft-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.sub-line-off td{color:var(--muted);text-decoration:line-through}.example-badge{margin-left:4px}.sub-form-addons{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px 14px;display:grid}.sub-form-addons label{align-items:center;gap:8px;display:flex}.sub-form-addons input[type=number]{width:4.5em}.sub-tile dt,.sub-tile dd{margin:0}.equipment .eq-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));align-items:start;gap:1rem;display:grid}.equipment .eq-cards>.card{margin:0}.equipment dl.eq-facts,dl.eq-facts{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.5rem 1rem;margin:.5rem 0;display:grid}dl.eq-facts dt{color:var(--muted);font-size:.85rem}dl.eq-facts dd{font-variant-numeric:tabular-nums;margin:0;font-weight:600}dl.eq-facts dd.eq-alarm,.equipment .eq-alarm{color:var(--alarm-ink)}dl.eq-facts dd.eq-warning,.equipment .eq-warning{color:var(--warn-ink)}dl.eq-facts dd.eq-ok{color:var(--ok-ink)}.equipment .eq-status{align-items:center;gap:.5rem;margin-bottom:.25rem}.equipment .eq-boost{align-items:end;gap:.75rem}.equipment .eq-boost .field{margin:0}.equipment .eq-sub{margin:.75rem 0 .25rem;font-size:1rem}.equipment .eq-details summary{cursor:pointer;font-weight:600}.equipment .list.compact .item{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.35rem 0;display:flex}.equipment .eq-events .eq-ev-leak_suspected,.equipment .eq-events .eq-ev-heater_fault,.equipment .eq-events .eq-ev-radon_high{border-left:4px solid var(--alarm);padding-left:.5rem}.equipment .eq-events .eq-ev-breach,.equipment .eq-events .eq-ev-left_on,.equipment .eq-events .eq-ev-night_flow{border-left:4px solid var(--warn-mark);padding-left:.5rem}.equipment .eq-settings fieldset{border:1px solid var(--line);border-radius:8px;gap:.5rem;padding:.5rem .75rem .75rem;display:grid}.equipment .eq-settings legend{padding:0 .25rem;font-weight:600}.equipment .eq-grid{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:0 1rem;display:grid}.equipment .eq-metrics{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr))}.booking .eq-booking{margin:.25rem 0 0}@media (width<=640px){.equipment .eq-boost{flex-direction:column;align-items:stretch}}.desk .desk-toolbar{flex-wrap:wrap;align-items:center;gap:10px}.desk .desk-chips{flex-wrap:wrap}.desk .desk-chips button{align-items:center;gap:6px;min-height:40px;display:inline-flex}.desk .desk-count{background:var(--hover);min-width:1.6em;color:var(--heading);text-align:center;border-radius:99px;padding:0 6px;font-size:.8rem;font-weight:700;display:inline-block}.desk .desk-count.bad{background:var(--alarm-bg);color:var(--alarm-ink)}.desk .desk-badges{flex-wrap:wrap;gap:6px}.desk .desk-row .item-title a{overflow-wrap:anywhere}.desk .desk-check{flex:none;width:20px;height:20px}.desk .desk-select-all{align-items:center;gap:6px;margin-bottom:8px;display:inline-flex}.desk .desk-bulk{z-index:2;border:1px solid var(--line-strong);background:var(--surface);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;position:sticky;top:0}.desk .desk-grid{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.desk .desk-facts{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin:0 0 10px;display:grid}.desk .desk-facts div{gap:2px;min-width:0;display:grid}.desk .desk-facts dt{color:var(--muted);font-size:.85rem}.desk .desk-facts dd{overflow-wrap:anywhere;margin:0;font-weight:600}.desk-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0}.desk .desk-sla{gap:10px;margin:0;display:grid}.desk .desk-sla-row{gap:4px;display:grid}.desk .desk-sla-row dt{color:var(--muted);font-size:.85rem}.desk .desk-sla-row dd{flex-wrap:wrap;align-items:center;gap:6px;margin:0;display:flex}.desk-timeline{gap:10px;margin:0;padding:0;list-style:none;display:grid}.desk-entry{border-left:3px solid var(--line-strong);min-width:0;padding:4px 0 4px 12px}.desk-entry.event{border-left-color:var(--line)}.desk-entry.vis-internal{border-left-color:var(--warn-mark);background:var(--warn-bg);border-radius:0 8px 8px 0;padding-right:8px}.desk-entry-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 10px;display:flex}.desk-who{color:var(--heading);flex-wrap:wrap;align-items:center;gap:6px;font-weight:700;display:inline-flex}.desk .tag.desk-internal,.desk-entry .tag.desk-internal{background:var(--warn-bg);color:var(--warn-ink)}.desk-files{flex-wrap:wrap;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.desk-files li{justify-items:start;gap:4px;display:grid}.desk-files img{object-fit:cover;border:1px solid var(--line);border-radius:8px;width:120px;height:90px}.desk .desk-vis{border:0;flex-wrap:wrap;gap:6px 16px;margin:0;padding:0;display:flex}.desk .desk-vis label{align-items:center;gap:6px;min-height:40px;display:inline-flex}.desk .desk-reply-status,.desk .desk-inline,.desk .desk-link-form{flex-wrap:wrap;align-items:end;gap:10px}.desk .desk-reply-status .field,.desk .desk-inline .field,.desk .desk-link-form .field{flex:160px}.desk-fieldset{border:1px solid var(--line);border-radius:10px;gap:10px;min-width:0;margin:0;padding:10px 12px;display:grid}.desk-fieldset legend{padding:0 4px;font-weight:700}.desk .desk-days{flex-wrap:wrap;gap:6px 14px}.desk .desk-days label{align-items:center;gap:4px;min-height:36px;display:inline-flex}.desk .desk-num{width:8em}.desk .desk-form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.desk .desk-report-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:12px;display:grid}.desk-consent{align-items:flex-start;gap:8px;display:flex}.desk-consent input{flex:none;margin-top:4px}.desk-hp{width:1px;height:1px;position:absolute;top:auto;left:-10000px;overflow:hidden}@media (width>=960px){.desk .desk-grid{grid-template-columns:minmax(0,2fr) minmax(280px,1fr);align-items:start}}.sales-kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.sales-kpi{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:2px;padding:12px 14px;display:flex}.sales-kpi strong{font-size:1.15rem}.sales-kpi.won{border-color:var(--ok)}.sales-kpi.lost{border-color:var(--line-strong)}.sales-rules{gap:10px;display:grid}.sales-rule{border:1px solid var(--line);border-radius:var(--radius);margin:0;padding:8px 12px}.sales-rule legend{padding:0 4px}.sales-signals{margin:0;padding-left:18px}.sales-signals li{margin:2px 0}.sales-message{white-space:pre-wrap}
