@charset "UTF-8";
:root{font-family:Arial,"Segoe UI",sans-serif;color:#252a2f;background:#f4f5f6;font-synthesis:none;--red:#d7253b;--teal:#138e91;--ink:#252a2f;--muted:#7b848d;--line:#e6e9ec;--bg:#f4f5f6;--radius:14px}
*{box-sizing:border-box}body{margin:0;min-width:320px}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible{outline:3px solid #32aba8;outline-offset:4px}input:focus,select:focus{outline:3px solid #178f9020;border-color:var(--teal)}button{border:0}h1,h2,h3,p{margin:0}button,a{transition:background .15s,transform .15s}button:active,.button:active{transform:translateY(1px)}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:8px;padding:13px 18px;font-size:13px;font-weight:600;line-height:1.35}.button.red{background:var(--red);color:#fff}.button.red:hover{background:#b91e32}.button.teal{background:var(--teal);color:#fff}.button.teal:hover{background:#08777a}.button.dark{background:#252a2f;color:#fff}.button.outline{background:#fff;border:1px solid #d9dfe2;color:#3f484f}.button.ghost{background:#f1f4f5;color:#4d5961}.button.small{padding:9px 13px;font-size:12px}.button span:last-child{margin-left:auto}.wordmark{display:inline-flex;align-items:center;gap:9px;white-space:nowrap}.wordmark b{font-size:31px;font-weight:900;font-style:italic;letter-spacing:-1.8px;line-height:1;color:var(--red)}.wordmark>span{font-size:9px;letter-spacing:2.2px;border-left:1px solid #697176;padding:3px 0 3px 9px;color:#b8bec3}.overline{font-size:10px;letter-spacing:2.2px;font-weight:700;color:var(--teal)}.muted{color:var(--muted);font-size:12px;line-height:1.6}.text-link{font-size:12px;color:var(--teal);font-weight:600}.badge{display:inline-flex;align-items:center;gap:6px;font-size:10px;padding:6px 9px;border-radius:5px;white-space:nowrap}.badge:before{content:"";width:5px;height:5px;background:currentColor;border-radius:50%}.badge.good{color:#138166;background:#e9f5ef}.badge.wait{color:#927122;background:#fff6df}.badge.demo{color:#86681c;background:#fff4d9}.full{width:100%}.icon-circle{width:38px;height:38px;border-radius:11px;background:#e8f3f3;color:var(--teal);display:grid;place-items:center;font-size:20px;flex:none}.inline{display:flex;align-items:center;gap:10px}.spread{display:flex;align-items:center;justify-content:space-between;gap:15px}.panel{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:24px}.panel-title{font-size:14px;font-weight:600;margin-bottom:6px}.empty{padding:60px 24px;text-align:center;border:1px dashed #d2dbdf;background:#fff;border-radius:16px}.empty .icon-circle{margin:0 auto 19px;width:64px;height:64px;border-radius:20px;font-size:30px}.empty h2{font-size:23px;margin-bottom:12px}.empty p{font-size:13px;color:var(--muted);line-height:1.8;max-width:420px;margin:0 auto 24px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#232a2f;color:#fff;padding:14px 19px;border-radius:10px;z-index:20;font-size:12px;line-height:1.5;max-width:calc(100% - 30px);box-shadow:0 8px 35px #0003}.toast.visible{opacity:1;transform:translate(-50%,0)}
/* Three concept comparison. */
.gallery{background:#f5f4f0}.gallery-header{height:82px;background:#23272a;color:#c9cdd0;display:flex;align-items:center;justify-content:space-between;padding:0 max(28px,calc((100vw - 1250px)/2));gap:22px}.gallery-header>span{font-size:10px;letter-spacing:2px}.gallery-header .text-link{color:#73c1c0}.gallery-main{max-width:1306px;margin:auto;padding:64px 28px 20px}.gallery-intro h1{font-size:clamp(36px,4.6vw,62px);font-weight:500;line-height:1.05;letter-spacing:-2.7px;margin:18px 0 23px}.gallery-intro h1>span{color:var(--red)}.gallery-lead{font-size:15px;line-height:1.65;color:#7c8185}.concepts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:45px}.concept{min-width:0}.mock{display:block;height:277px;overflow:hidden;border-radius:12px;border:1px solid #dfe3e3;box-shadow:0 9px 28px #2730360b;transition:transform .22s,box-shadow .22s}.mock:hover{transform:translateY(-5px);box-shadow:0 16px 32px #27303616}.concept-caption{display:flex;align-items:center;gap:12px;margin:24px 0 12px}.concept-index{font-size:11px;color:var(--red);border:1px solid #d5d6d1;border-radius:50%;height:26px;width:26px;display:grid;place-items:center}.concept-tag{font-size:8px;letter-spacing:1.5px;color:#7b8388;font-weight:700}.concept h2{font-size:27px;font-weight:500;letter-spacing:-.5px;margin-bottom:13px}.concept>p{font-size:13px;color:#777f83;line-height:1.75;min-height:70px}.feature-tags{display:flex;gap:5px;flex-wrap:wrap;margin:16px 0 23px}.feature-tags span{font-size:9px;border:1px solid #dcdfda;border-radius:4px;padding:5px 6px;color:#777e80}.concept>.button{width:100%}.gallery-note{border:1px solid #dcdfda;border-radius:12px;padding:28px;display:flex;gap:23px;align-items:center;margin:50px 0 35px;background:#eeefea}.note-number{font-size:35px;color:var(--teal)}.gallery-note h3{font-size:17px;font-weight:500;margin-bottom:8px}.gallery-note p{font-size:12px;line-height:1.8;color:#747d81;max-width:700px}.gallery-note .button{margin-left:auto;flex:none}.gallery-footer{border-top:1px solid #dfe2dd;padding:22px 0;display:flex;align-items:start;gap:25px;color:#92999b}.gallery-footer>span{font-size:9px;white-space:nowrap;letter-spacing:1px}.gallery-footer p{font-size:10px;line-height:1.6;max-width:690px;margin-left:auto}.mock-console{display:flex;background:#f5f6f7;padding:0}.mock-sidebar{width:46px;background:#25292d;padding:17px 8px;flex:none}.mock-sidebar b{font-size:12px;color:var(--red);font-style:italic}.mock-sidebar i{display:block;height:5px;border-radius:2px;background:#606a70;margin-top:19px}.mock-sidebar i:nth-child(2){background:#d7253b}.mock-work{padding:20px 13px;width:100%}.mock-top{font-size:6px;color:#7f8b91;letter-spacing:.8px}.mock-top span{float:right;color:#1e987a;letter-spacing:0;font-size:5px}.mock-work h3{font-size:13px;font-weight:500;margin:17px 0 10px}.mock-work>p{font-size:8px;color:#7c858b}.mock-readings{display:flex;background:#fff;border:1px solid #e8ebed;border-radius:6px;margin-top:12px;padding:13px 10px;justify-content:space-between;gap:7px}.mock-readings small{display:block;font-size:6px;color:#7e878c}.mock-readings b{font-size:18px;display:block;margin-top:7px;font-weight:500}.mock-readings em{font-size:10px;font-style:normal;color:#9aa1a4}.mock-set{display:flex;justify-content:space-between;align-items:center;background:#fff;margin-top:9px;border-radius:4px;padding:12px 8px}.mock-set span{font-size:6px;color:#78848a}.mock-set b{font-size:11px;color:var(--red)}.mock-chips{font-size:6px;display:flex;gap:20px;margin-top:9px;align-items:center}.mock-chips i{font-style:normal;background:#168f91;color:#fff;padding:5px 14px;border-radius:3px}.mock-chips span{color:#899095}.mock-line{height:4px;background:#e1e8e8;border-radius:3px;margin-top:14px}.mock-comfort{background:linear-gradient(135deg,#f2faf7,#dceeea);text-align:center;padding:14px 20px}.mock-comfort-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font-size:7px;color:#46645c}.mock-comfort-head>b{color:var(--red);font-size:15px;font-style:italic}.mock-comfort-head i{border-radius:50%;font-size:6px;background:#cfe3db;padding:6px;font-style:normal}.mock-comfort>small{font-size:6px;letter-spacing:1.5px;color:#71968a}.mock-comfort h3{font-size:13px;font-weight:400;margin-top:7px}.mini-dial{height:116px;width:116px;border:5px solid #afd5c9;border-top-color:#148e83;border-right-color:#148e83;border-radius:50%;margin:12px auto 9px;display:flex;align-items:center;justify-content:center;flex-direction:column;box-shadow:0 0 0 6px #e3f0eb}.mini-dial>span{font-size:5px;letter-spacing:1px;color:#6f9688}.mini-dial b{font-size:32px;font-weight:400;letter-spacing:-1px;color:#22685b;margin-top:4px}.mini-dial em{font-size:16px;font-style:normal}.mini-dial small{font-size:5px;color:#6e8d82;margin-top:3px}.mock-pill{display:flex;align-items:center;justify-content:space-between;font-size:6px;color:#5e8074;width:160px;margin:auto}.mock-pill>span{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#fff;font-size:12px}.mock-bottom{display:flex;justify-content:center;gap:35px;margin-top:13px;font-size:13px;color:#2a6459}.mock-bottom small{display:block;font-size:5px;margin-top:4px;color:#75928a}.mock-status{background:#282e35;color:#fff;padding:17px 20px}.mock-status-head{display:flex;align-items:center;gap:9px;margin-bottom:21px}.mock-status-head>b{color:#ed344b;font-style:italic;font-size:16px}.mock-status-head>span{font-size:6px;letter-spacing:1px;color:#87959f}.mock-status-head i{font-size:6px;font-style:normal;border:1px solid #59636e;border-radius:50%;padding:6px;margin-left:auto}.mock-status>small{font-size:5px;color:#93a2b1;letter-spacing:.6px}.mock-state{display:flex;align-items:center;gap:9px;margin:15px 0 22px}.mock-state>i{color:#52b49a;display:grid;place-items:center;background:#324e49;font-size:14px;width:28px;height:28px;border-radius:8px}.mock-state h3{font-size:14px;font-weight:400}.mock-state div>span{font-size:6px;color:#97a3ae;display:block;margin-top:6px}.status-values{display:grid;grid-template-columns:1.3fr 1fr;gap:9px}.status-values>div{padding:12px;background:#343b44;border:1px solid #424a55;border-radius:7px}.status-values small{font-size:6px;color:#b1bcc5}.status-values b{display:block;font-size:28px;margin-top:8px;font-weight:400;letter-spacing:-1px}.status-values b>span{font-size:9px;letter-spacing:0;color:#9eabb7}.status-values p{font-size:6px;color:#96b8b0;margin-top:6px}.mock-event{display:flex;gap:8px;align-items:center;margin-top:12px}.mock-event i{width:4px;height:4px;border-radius:50%;background:#57b297}.mock-event>span{font-size:6px}.mock-event small{display:block;font-size:5px;color:#8896a3;margin-top:3px}.mock-event>b{margin-left:auto;font-size:10px;color:#8b9eaf}
/* Shared review strip, customer identity and equipment. */
.review-strip{min-height:47px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:8px 25px;background:#fff;border-bottom:1px solid #e4e8ea;font-size:11px;position:relative;z-index:4}.review-strip .design-choices{display:flex;gap:5px;align-items:center}.design-choices>span{color:#90989e;font-size:9px;margin-right:8px;letter-spacing:1px}.design-choices button{font-size:10px;color:#6b7880;padding:7px 10px;background:transparent;border-radius:5px}.design-choices button.active{background:#eaf3f2;color:#087e81;font-weight:600}.review-strip>a{color:#6a757e;font-size:10px}.preview-notice{background:#fff5db;color:#826624;border-bottom:1px solid #f0e1bb;padding:9px 25px;display:flex;gap:15px;align-items:center;justify-content:center;font-size:10px}.preview-notice button{color:#735319;text-decoration:underline;background:transparent;font-size:10px;padding:3px}.app-shell{display:grid;grid-template-columns:216px minmax(0,1fr);min-height:calc(100vh - 47px)}.sidebar{padding:30px 18px 18px;background:#252a2e;color:#c2c7cb;display:flex;flex-direction:column}.sidebar .wordmark{margin:0 10px 40px}.sidebar .wordmark b{font-size:29px}.sidebar-label{font-size:8px;letter-spacing:1.5px;color:#7f8b93;margin:0 12px 13px}.nav-list{display:flex;flex-direction:column;gap:6px}.nav-list button{font-size:12px;color:#aeb8be;background:transparent;text-align:left;padding:13px 12px;border-radius:7px;display:flex;align-items:center;gap:12px}.nav-list button>span{font-size:17px;line-height:16px;min-width:18px}.nav-list button.active{background:#343b40;color:#fff;box-shadow:inset 3px 0 var(--red)}.sidebar-bottom{margin-top:auto;padding-top:35px}.sidebar-profile{border-top:1px solid #3b4247;padding:18px 8px 0;display:flex;align-items:center;gap:9px}.avatar{width:31px;height:31px;border-radius:50%;background:#ddecE9;color:#337b70;display:grid;place-items:center;font-size:10px;font-weight:600;flex:none}.sidebar-profile div:last-child{min-width:0}.sidebar-profile strong{display:block;font-size:10px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-profile small{display:block;font-size:9px;color:#7e8e97;overflow:hidden;text-overflow:ellipsis;margin-top:5px}.topbar{height:72px;padding:0 34px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px}.topbar .wordmark{display:none}.breadcrumb{font-size:11px;color:#8a949c;display:flex;gap:12px;align-items:center}.breadcrumb strong{font-weight:500;color:#44525c}.profile-button{display:flex;align-items:center;gap:8px;background:transparent;color:#56646d;font-size:12px}.workspace{min-width:0}.content{padding:31px 34px 35px;max-width:1500px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px}.page-heading h1{font-size:26px;letter-spacing:-.6px;font-weight:500;margin:9px 0}.page-heading>.muted{margin-top:9px}.page-heading .overline{font-size:9px;letter-spacing:1.5px}.site-strip{padding:15px 17px;background:#fff;border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;gap:11px;margin-bottom:22px}.site-strip h2{font-size:13px;font-weight:600;overflow-wrap:anywhere}.site-strip .muted{font-size:10px;margin-top:4px}.site-strip .badge{margin-left:auto}.unit-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.unit-toolbar select{max-width:330px;width:100%;font-size:14px;font-weight:600;border:0;background:transparent;color:inherit;padding:8px 26px 8px 0;overflow:hidden;text-overflow:ellipsis}.unit-toolbar .muted{font-size:10px}.operator-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.85fr);gap:20px;align-items:start}.column{display:grid;gap:20px;min-width:0}.unit-heading{display:flex;align-items:center;gap:12px;margin-bottom:23px}.unit-heading h2{font-size:15px;font-weight:600;overflow-wrap:anywhere}.unit-heading p{font-size:10px;color:#8d979f;margin-top:6px}.unit-heading .badge{margin-left:auto}.measurements{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:8px}.measurement label{display:block;font-size:10px;color:#8a949b;margin-bottom:10px}.measurement b{font-size:37px;letter-spacing:-1.2px;font-weight:400}.measurement b>small{font-size:15px;color:#88969d;letter-spacing:0;margin-left:3px}.measurement>small{display:block;color:#8b979f;font-size:9px;margin-top:6px}.control-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 0;border-bottom:1px solid var(--line)}.control-row:last-child{border:0;padding-bottom:0}.control-row strong{display:block;font-size:12px;font-weight:500}.control-row .muted{display:block;font-size:10px;margin-top:5px}.stepper{display:flex;align-items:center;border:1px solid #dfe5e7;border-radius:8px;overflow:hidden;flex:none}.stepper button{width:36px;height:38px;font-size:20px;background:#f7f8f9;color:#59676e}.stepper output{font-size:15px;min-width:81px;text-align:center;color:#26363c}.mode-buttons{display:flex;padding:3px;background:#f1f4f5;border-radius:7px}.mode-buttons button{font-size:10px;padding:9px 12px;border-radius:5px;color:#87939b;background:transparent}.mode-buttons button.active{color:#fff;background:var(--teal);box-shadow:0 2px 5px #07838520}.power{display:flex;align-items:center;gap:8px;background:transparent;color:#4b6165;font-size:11px}.power>i{width:34px;height:20px;border-radius:20px;background:#d4dade;position:relative}.power>i:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0002}.power.on>i{background:var(--teal)}.power.on>i:after{left:17px}.local-note{font-size:10px;line-height:1.65;color:#9b8657;margin-top:19px;background:#fbf8f0;border-radius:7px;padding:10px 12px}.definition{display:grid;gap:13px;margin-top:20px}.definition div{display:flex;align-items:baseline;gap:16px;justify-content:space-between}.definition dt{font-size:10px;color:#8c979f;flex:none}.definition dd{font-size:11px;text-align:right;margin:0;overflow-wrap:anywhere;max-width:68%}.flow{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-top:26px}.flow-node{text-align:center;flex:1}.flow-node>i{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:#edf5f4;color:var(--teal);font-size:19px;font-style:normal;margin:auto auto 10px}.flow-node small{display:block;font-size:8px;color:#8f999f}.flow-node b{display:block;font-size:10px;margin-top:7px;font-weight:500}.flow-line{height:1px;background:#bfdbd9;flex:.5;margin-bottom:29px}.event{display:flex;align-items:start;gap:12px;padding:15px 0;border-top:1px solid var(--line);margin-top:15px}.event>i{width:7px;height:7px;background:var(--teal);border-radius:50%;margin-top:4px;flex:none}.event strong{font-size:11px;font-weight:500;display:block}.event p{font-size:10px;color:#929ca3;margin-top:5px;line-height:1.6}.event small{font-size:9px;color:#98a1a8;margin-left:auto;white-space:nowrap}.device-list{display:grid;gap:12px}.device-card{display:flex;align-items:center;gap:14px}.device-card h3{font-size:14px;margin-bottom:7px}.device-card .button{margin-left:auto}.device-card .badge{margin-left:10px}.device-card p{font-size:11px;color:#88969d;line-height:1.6;overflow-wrap:anywhere}.section-copy{font-size:12px;line-height:1.8;color:#7b8992;margin:8px 0 21px}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.profile-grid .definition{gap:21px}.profile-grid .definition dt,.profile-grid .definition dd{font-size:12px}.subheading{font-size:12px;color:var(--teal);margin:20px 0 5px}
/* Variant 02: a quiet, mobile-first climate control. */
body[data-variant="2"]{background:#edf5f2;color:#234a42;--line:#dfeae6;--muted:#82998f;--teal:#247f6d;--radius:22px}.v2 .app-shell{display:block}.v2 .sidebar{display:none}.v2 .topbar{background:#f6faf7;border-color:#e2ece6;padding:0 max(28px,calc((100vw - 1170px)/2))}.v2 .topbar .wordmark{display:inline-flex}.v2 .topbar .wordmark>span{color:#7c9489}.top-nav{display:none;gap:24px}.top-nav button{color:#8a9c94;font-size:11px;background:transparent;padding:10px 0}.top-nav button.active{color:#276c5c;border-bottom:2px solid #276c5c}.v2 .top-nav{display:flex}.v2 .breadcrumb{display:none}.v2 .content{max-width:1170px;padding-top:42px}.v2 .page-heading h1{font-weight:400;font-size:30px;letter-spacing:-1px}.v2 .site-strip{background:transparent;border:0;padding:0;margin:0 0 26px}.v2 .site-strip .icon-circle{background:#d7e9e0;border-radius:50%}.v2 .site-strip .badge{background:#dfeee5;color:#307964}.v2 .button.red{background:#297e6b;border-radius:25px}.v2 .panel{border-color:#e1ebe6}.comfort-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(290px,.8fr);gap:26px}.comfort-main{background:radial-gradient(ellipse at 10% 95%,#dbece3,transparent 60%),#f9fcf9;text-align:center;padding:35px 28px;position:relative}.comfort-main>.overline{color:#83a794;font-size:9px}.comfort-main>h2{font-size:24px;letter-spacing:-.6px;font-weight:400;margin:10px 0 8px;overflow-wrap:anywhere}.comfort-main>.muted{font-size:11px}.thermostat{margin:33px auto 28px;width:245px;height:245px;border:9px solid #c4ded1;border-right-color:#398b75;border-top-color:#398b75;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 0 12px #eaf3ec,0 0 0 13px #dfeae2;background:#f6fbf6}.thermostat>small{font-size:9px;letter-spacing:1.8px;color:#89a191}.thermostat strong{font-size:68px;line-height:1.4;font-weight:400;letter-spacing:-3px;color:#2e6857}.thermostat strong span{font-size:31px;letter-spacing:0;vertical-align:top;line-height:2}.thermostat p{font-size:11px;color:#7e9c8b}.dial-buttons{display:flex;align-items:center;justify-content:center;gap:28px;font-size:10px;color:#7f9c8c}.dial-buttons button{border:1px solid #dce7df;background:#fff;border-radius:50%;height:42px;width:42px;font-size:25px;color:#52836e}.comfort-readings{display:grid;grid-template-columns:repeat(3,1fr);padding:25px 0 0;margin-top:25px;border-top:1px solid #dfebe2}.comfort-readings b{font-size:24px;font-weight:400}.comfort-readings small{display:block;font-size:9px;color:#8d9f93;margin-top:7px}.comfort-mode{margin-top:26px;background:#fff}.comfort-mode .mode-buttons{margin-top:19px;justify-content:space-around;background:#eef4ef;border-radius:25px;padding:5px}.comfort-mode .mode-buttons button{flex:1;padding:12px;border-radius:22px}.comfort-mode .local-note{text-align:center;background:transparent;margin-bottom:0}.v2 .unit-toolbar{margin-bottom:24px}.v2 .unit-toolbar select{font-size:13px;font-weight:400}.comfort-column{display:grid;gap:22px;align-content:start}.comfort-power{padding:23px}.comfort-power .power{font-size:12px}.comfort-tip{background:#dcece3;border:0}.comfort-tip .icon-circle{background:#c7e0d0;border-radius:50%;margin-bottom:20px}.comfort-tip h3{font-size:18px;font-weight:400;margin-bottom:11px}.comfort-tip p{font-size:12px;line-height:1.8;color:#728b7b}.comfort-tip .text-link{display:inline-block;margin-top:20px}.v2 .empty{background:#f8fcf8;border-color:#c8ddcf}.v2 .local-note{color:#889779;background:#f4f6eb}.v2 .definition dd{color:#466459}
/* Variant 03: status-led, contrasting cards and compact operation. */
body[data-variant="3"]{background:#252c34;color:#f0f3f5;--line:#414b57;--muted:#91a0ad;--teal:#5eb9a4;--ink:#f0f3f5;--radius:12px}.v3 .app-shell{grid-template-columns:196px minmax(0,1fr)}.v3 .sidebar{background:#20262e;border-right:1px solid #363f49}.v3 .sidebar .wordmark{display:none}.v3 .sidebar-label{margin-top:14px}.v3 .topbar{background:#252c34;border-color:#3b444f;height:77px}.v3 .topbar .wordmark{display:inline-flex}.v3 .topbar .wordmark>span{color:#778c9e}.v3 .breadcrumb{display:none}.v3 .profile-button{color:#b6c1cb}.v3 .content{padding-top:34px}.v3 .page-heading h1{font-size:27px;font-weight:400}.v3 .page-heading .overline{color:#718c9f}.v3 .site-strip{background:#2e3741;border-color:#424e5c;border-radius:9px}.v3 .site-strip .icon-circle{background:#3b4a55;color:#97bdc5}.v3 .site-strip .badge{background:#344e49;color:#87c9b3}.v3 .unit-toolbar select{color:#d9e2e9;font-size:13px}.v3 select option{color:#26323c;background:#fff}.v3 .button.outline{background:#303a46;border-color:#485563;color:#b8c7d3}.v3 .panel{background:#303944;border-color:#414d5c}.v3 .badge.good{color:#85d0b8;background:#34544d}.v3 .badge.wait{color:#dbbe7c;background:#524a38}.status-head{display:flex;align-items:center;gap:17px;margin:8px 0 30px}.status-head>.status-icon{height:56px;width:56px;border-radius:14px;display:grid;place-items:center;background:#34574e;color:#8dceb9;font-size:27px;flex:none}.status-head h2{font-size:29px;font-weight:400;letter-spacing:-.7px}.status-head p{font-size:11px;color:#91a3af;margin-top:10px}.status-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(265px,.8fr);gap:20px}.status-main-reading{padding:28px;background:linear-gradient(145deg,#35414e,#303a46);position:relative;overflow:hidden}.status-main-reading:after{content:"";width:260px;height:260px;border:1px solid #6680952a;border-radius:50%;position:absolute;right:-95px;top:-84px;box-shadow:0 0 0 30px #718a9e05,0 0 0 65px #718a9e04;pointer-events:none}.status-main-reading>label{font-size:12px;color:#9fb0bf}.status-temperature{font-size:83px;font-weight:400;letter-spacing:-3px;line-height:1.2;margin-top:20px}.status-temperature small{font-size:25px;letter-spacing:0;color:#8e9faf}.status-main-reading>p{font-size:11px;color:#8ac2b0;margin:11px 0 27px}.status-main-reading .control-row{position:relative;z-index:1;border-top:1px solid #485563;border-bottom:0;padding-top:21px}.v3 .stepper{border-color:#576573}.v3 .stepper button{background:#394755;color:#bad0dd}.v3 .stepper output{color:#e4edf4;background:#303c49}.v3 .mode-buttons{background:#26313d}.v3 .mode-buttons button{color:#8d9fac}.v3 .mode-buttons button.active{background:#507f7b;color:#e3f2ed}.v3 .local-note{background:#42413b;color:#bcb293}.v3 .definition dt{color:#8d9faf}.v3 .definition dd{color:#c2d0db}.v3 .profile-grid .definition dd{color:#c2d0db}.v3 .power{color:#b8d1cc}.status-side{display:grid;gap:19px;align-content:start}.status-fan strong{display:block;font-size:46px;font-weight:400;margin:17px 0 3px;letter-spacing:-1px}.status-fan strong small{font-size:17px;color:#92a5b3}.speed-track{height:4px;background:#495666;border-radius:4px;margin-top:20px}.speed-track i{display:block;height:100%;width:60%;background:#70b5a5;border-radius:4px}.status-details{margin-top:21px}.status-details summary{font-size:11px;color:#abbeca;cursor:pointer;padding:6px 0}.v3 .empty{background:#303944;border-color:#536777}.v3 .empty h2{font-weight:400}.v3 .device-card p{color:#8fA5b4}.v3 .event p,.v3 .event small{color:#90a3b2}.v3 .panel-title{font-weight:400}.v3 .profile-grid .button{margin-top:15px}
/* Registration, login, setup and gateway dialog share customer data. */
.auth-wrap{min-height:calc(100vh - 47px);display:grid;grid-template-columns:minmax(270px,.8fr) minmax(400px,1.2fr);color:#29373c;background:#f2f5f5}.auth-aside{padding:42px clamp(25px,5vw,80px);background:#252c32;display:flex;flex-direction:column;color:#fff}.auth-aside>div:nth-child(2){margin:auto 0;max-width:350px;padding:40px 0}.auth-aside h1{font-size:38px;font-weight:400;letter-spacing:-1.3px;line-height:1.15;margin:17px 0 21px}.auth-aside h1 span{color:#e4394e}.auth-aside p:not(.overline){font-size:12px;line-height:1.8;color:#a9b8bf}.auth-aside>small{color:#7c8d98;font-size:9px}.auth-side{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:30px}.auth-card{width:min(100%,415px);padding:29px;background:#fff;border:1px solid #e0e7e9;border-radius:14px;box-shadow:0 12px 40px #243b4808}.auth-tabs{display:flex;border-bottom:1px solid #e5eaec;gap:24px;margin-bottom:25px}.auth-tabs button{color:#88969e;font-size:12px;background:transparent;padding:0 0 12px}.auth-tabs button.active{color:var(--red);border-bottom:2px solid var(--red)}.auth-card h2{font-size:24px;font-weight:500;margin-bottom:10px;color:#2a363e}.auth-card .muted{font-size:11px;margin-bottom:17px;color:#89959d}.field{display:grid;gap:7px;font-size:11px;color:#60727b;margin:15px 0}.field input,.field select{width:100%;min-width:0;border:1px solid #dce4e7;border-radius:7px;padding:12px 11px;background:#fff;color:#283e48;font-size:12px}.field input::placeholder{color:#a4afb5}.check{display:flex;align-items:start;gap:7px;font-size:10px;line-height:1.6;color:#82939b;margin:18px 0}.check input{accent-color:var(--red)}.form-error{font-size:11px;color:#bd2337;line-height:1.6;margin:12px 0}.auth-foot{width:min(100%,415px);font-size:10px;line-height:1.7;color:#8c9ca4;text-align:center;margin-top:19px}.auth-demo{margin-top:19px;font-size:11px;color:#168d91;background:transparent}.code-note{border:1px dashed #bddcda;background:#f0f8f7;color:#6c9291;border-radius:8px;padding:13px;margin:14px 0;font-size:10px;line-height:1.7}.code-note b{font-size:17px;color:#147e7d;letter-spacing:3px;margin-left:10px}dialog{border:1px solid #dce4e7;border-radius:16px;max-width:505px;width:calc(100% - 32px);max-height:90dvh;overflow:auto;padding:27px;color:#283b44;background:#fff;box-shadow:0 30px 100px #0f1f3b44}dialog::backdrop{background:#15232c88;backdrop-filter:blur(5px)}dialog h2{font-size:22px;font-weight:500}dialog>.spread .close{background:#f1f4f5;color:#697e88;border-radius:50%;height:29px;width:29px;font-size:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.dialog-note{font-size:10px;line-height:1.7;color:#92a1a7;background:#f5f8f9;border-radius:7px;padding:12px;margin:12px 0 19px}.profile-avatar{width:52px;height:52px;font-size:17px;margin-bottom:19px}.storage-notice{padding:15px;font-size:12px;line-height:1.7;background:#fff0dd;color:#86632b}
@media(min-width:1600px){.content{padding-top:40px}.panel{padding:28px}.measurement b{font-size:44px}.thermostat{width:280px;height:280px}.comfort-main{padding-top:45px;padding-bottom:35px}}
@media(max-width:1150px){.operator-grid{grid-template-columns:minmax(0,1fr) 260px}.content{padding:26px 24px}.panel{padding:20px}.app-shell{grid-template-columns:190px minmax(0,1fr)}.sidebar{padding-left:12px;padding-right:12px}.measurement b{font-size:29px}.measurement label{font-size:9px}.measurements{gap:10px}.mode-buttons button{padding:8px 10px}.comfort-grid{gap:20px}.status-layout{grid-template-columns:1.3fr .8fr}.gallery-main{padding-top:45px}.concepts{gap:20px}.mock{height:270px}.mock-work{padding-left:10px;padding-right:10px}.mock-sidebar{width:35px;padding:17px 6px}.mock-sidebar b{font-size:10px}.mock-readings{padding-left:7px;padding-right:7px}.mock-readings b{font-size:17px}.concept-tag{font-size:7px}.feature-tags span{font-size:8px;padding:5px}.concept>p{min-height:90px}.topbar{padding:0 24px}}
@media(max-width:960px){.operator-grid{grid-template-columns:1fr}.column.secondary{grid-template-columns:1fr 1fr}.app-shell,.v3 .app-shell{grid-template-columns:174px minmax(0,1fr)}.sidebar .wordmark>span{font-size:7px}.sidebar .wordmark b{font-size:25px}.status-layout{grid-template-columns:1fr}.status-side{grid-template-columns:1fr 1fr}.status-side .panel:last-child{grid-column:1/-1}.v3 .status-temperature{font-size:70px}.review-strip{padding:8px 14px}.design-choices>span{display:none}.review-strip>a{font-size:9px}.preview-notice{font-size:9px}.comfort-grid{grid-template-columns:1fr .8fr}.comfort-main{padding:28px 20px}.thermostat{width:210px;height:210px}.thermostat strong{font-size:57px}.comfort-readings b{font-size:21px}.gallery-header{padding:0 25px}.gallery-header>span{display:none}.gallery-main{max-width:750px}.concepts{grid-template-columns:1fr;gap:45px}.concept{display:grid;grid-template-columns:1.1fr 1fr;gap:0 27px}.concept .mock{grid-column:1;grid-row:1/7;height:290px}.concept-caption{margin-top:5px;grid-column:2}.concept h2,.concept>p,.feature-tags,.concept>.button{grid-column:2}.concept>p{min-height:0}.feature-tags{margin:12px 0 18px}.gallery-note{align-items:start;padding:24px;gap:16px;flex-wrap:wrap}.gallery-note>div{flex:1;min-width:200px}.gallery-note .button{margin-left:50px}.gallery-footer>span:last-child{display:none}.profile-grid{grid-template-columns:1fr}}
@media(max-width:700px){.app-shell,.v3 .app-shell{display:flex;flex-direction:column;min-height:calc(100dvh - 47px)}.sidebar{order:2;padding:8px 12px;background:#fff;border-top:1px solid #e3e9eb;position:sticky;bottom:0;z-index:5}.sidebar>.wordmark,.sidebar-label,.sidebar-bottom{display:none}.nav-list{flex-direction:row;justify-content:space-around;gap:2px}.nav-list button{display:flex;flex-direction:column;gap:6px;padding:7px 10px;font-size:8px;color:#8b9ca4;text-align:center;border-radius:7px}.nav-list button>span{font-size:19px}.nav-list button.active{background:#eaf3f3;box-shadow:none;color:#168b8d}.workspace{flex:1;width:100%}.topbar{height:62px;padding:0 18px}.topbar .wordmark{display:inline-flex}.topbar .wordmark b{font-size:25px}.topbar .wordmark>span{font-size:7px;color:#72828b}.breadcrumb{display:none}.profile-button{font-size:10px}.profile-button>.profile-first{max-width:100px;overflow:hidden;text-overflow:ellipsis}.content{padding:24px 16px 28px}.page-heading{align-items:start;margin-bottom:22px;gap:8px}.page-heading h1{font-size:22px}.page-heading .overline{font-size:8px;letter-spacing:1px}.page-heading .muted{font-size:10px}.page-heading>.button{font-size:10px;padding:11px}.site-strip{padding:12px;gap:8px;margin-bottom:19px}.site-strip h2{font-size:12px}.site-strip .badge{font-size:8px;padding:5px 6px}.site-strip .muted{font-size:9px}.site-strip .icon-circle{width:30px;height:30px;font-size:17px}.unit-toolbar{margin-bottom:14px}.unit-toolbar select{max-width:220px;font-size:12px}.unit-toolbar>.muted{font-size:8px;text-align:right}.panel{padding:19px 16px}.unit-heading{margin-bottom:22px;gap:9px}.unit-heading h2{font-size:13px}.unit-heading p{font-size:8px}.unit-heading .badge{font-size:8px}.unit-heading .icon-circle{width:31px;height:31px;font-size:17px}.measurements{gap:5px;margin-bottom:0;padding-bottom:20px}.measurement b{font-size:30px}.measurement b>small{font-size:12px}.measurement label{font-size:8px;min-height:11px}.measurement>small{font-size:8px}.control-row{padding:18px 0;gap:10px}.control-row strong{font-size:11px}.control-row .muted{font-size:8px}.stepper button{height:35px;width:30px}.stepper output{font-size:13px;min-width:65px}.mode-buttons button{font-size:9px;padding:8px 10px}.column.secondary{grid-template-columns:1fr}.column,.operator-grid{gap:15px}.local-note{font-size:9px}.device-card{align-items:start;flex-wrap:wrap}.device-card .badge{margin-left:auto;font-size:8px}.device-card .button{margin-left:52px}.review-strip{padding:7px 10px;gap:6px;min-height:43px}.review-strip>a{font-size:8px;max-width:54px}.design-choices button{padding:7px 8px;font-size:9px}.preview-notice{padding:8px 12px;font-size:8px;gap:6px;justify-content:space-between}.preview-notice button{font-size:8px;white-space:nowrap}.v2 .topbar{padding:0 18px}.v2 .top-nav{display:none}.v2 .sidebar{display:block}.v2 .app-shell{display:flex}.v2 .page-heading h1{font-size:24px}.v2 .content{padding-top:27px}.v2 .site-strip{margin-top:3px}.comfort-grid{grid-template-columns:1fr;gap:17px}.comfort-main{padding:27px 19px 22px}.comfort-main>h2{font-size:22px}.thermostat{width:232px;height:232px;margin-top:31px}.thermostat strong{font-size:65px}.comfort-readings b{font-size:25px}.comfort-column{gap:17px}.comfort-tip{display:none}.comfort-mode{margin-top:17px}.v3 .sidebar{background:#202831;border-color:#485562;border-right:0}.v3 .nav-list button.active{background:#34464e;color:#a6d8ce}.v3 .nav-list button{color:#7f9aaa}.v3 .topbar{height:62px;padding:0 18px}.v3 .page-heading h1{font-size:23px}.v3 .content{padding-top:24px}.status-head{gap:12px;margin-bottom:22px}.status-head h2{font-size:23px}.status-head p{font-size:10px;line-height:1.5}.status-head>.status-icon{height:45px;width:45px;font-size:21px}.status-main-reading{padding:24px 20px}.status-temperature{margin-top:16px;font-size:77px}.status-side{gap:15px;grid-template-columns:1fr 1fr}.status-side>.panel{padding:19px 15px}.status-side .mode-buttons{flex-direction:column;margin-top:13px}.status-fan strong{font-size:41px;margin-top:20px}.status-details{margin-top:18px}.auth-wrap{grid-template-columns:1fr;display:flex;flex-direction:column;min-height:calc(100dvh - 43px)}.auth-aside{padding:22px 24px}.auth-aside>.wordmark b{font-size:26px}.auth-aside>div:nth-child(2){max-width:100%;padding:24px 0 0}.auth-aside h1{font-size:26px;margin:10px 0 12px}.auth-aside p:not(.overline){font-size:10px;max-width:320px}.auth-aside>small{display:none}.auth-aside .overline{font-size:8px}.auth-side{padding:23px 16px}.auth-card{padding:24px;max-width:430px}.auth-card h2{font-size:23px}.auth-foot{font-size:9px}.gallery-header{height:67px;padding:0 20px}.gallery-header .wordmark b{font-size:28px}.gallery-header .text-link{font-size:9px}.gallery-main{padding:40px 20px 15px}.gallery-intro .overline{font-size:8px;letter-spacing:1.5px}.gallery-intro h1{font-size:42px;letter-spacing:-1.8px;margin:20px 0}.gallery-lead{font-size:12px}.gallery-lead br{display:none}.concepts{gap:40px;margin-top:33px}.concept{display:block}.concept .mock{height:285px}.concept-caption{margin-top:23px}.concept h2{font-size:28px}.concept>p{font-size:12px;min-height:0;max-width:450px}.feature-tags{margin:17px 0 20px;gap:8px}.feature-tags span{font-size:9px}.mock-work{padding:22px 20px}.mock-sidebar{width:50px;padding:20px 10px}.mock-sidebar b{font-size:12px}.mock-work h3{font-size:15px}.mock-readings{padding:16px 12px}.mock-readings b{font-size:22px}.mock-readings small{font-size:7px}.mock-set{padding:13px 10px}.mock-set span{font-size:7px}.mock-set b{font-size:12px}.mock-comfort h3{font-size:15px}.mock-comfort-head{margin-bottom:20px}.mini-dial{height:125px;width:125px;margin-top:15px}.mock-bottom{margin-top:13px}.mock-status{padding:21px 24px}.mock-state{margin:16px 0 21px}.mock-state h3{font-size:17px}.status-values>div{padding:14px}.status-values b{font-size:33px}.gallery-note{margin-top:40px;padding:22px 18px}.gallery-note>div{min-width:0}.gallery-note .note-number{font-size:27px}.gallery-note p{font-size:11px}.gallery-note h3{font-size:16px}.gallery-note .button{margin-left:41px;font-size:11px}.gallery-footer{display:block}.gallery-footer p{margin-top:15px;font-size:9px}.form-grid{grid-template-columns:1fr}.form-grid .field{margin:10px 0}.profile-grid{gap:15px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
/* Pult v5: one expandable object row with all of its equipment. */
.object-menu{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:24px;overflow:hidden}
.object-summary{list-style:none;display:flex;align-items:center;gap:15px;padding:21px 23px;cursor:pointer;user-select:none}
.object-summary::-webkit-details-marker{display:none}
.object-summary::marker{content:""}
.object-summary:hover{background:#fafcfc}
.object-summary:focus-visible{outline:3px solid var(--teal);outline-offset:-4px;border-radius:13px}
.object-summary>.icon-circle{width:42px;height:42px;border-radius:11px;font-size:23px}
.object-title-block{min-width:0;display:block}
.object-title-block h1{font-size:24px;letter-spacing:-.5px;font-weight:500;line-height:1.25;overflow-wrap:anywhere}
.object-subtitle{display:block;font-size:11px;color:#849299;margin-top:6px;line-height:1.5}
.object-menu-label{margin-left:auto;color:#8a989e;font-size:11px;white-space:nowrap}
.object-menu-chevron{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#f1f5f5;color:#4b787a;font-size:20px;flex:none;transition:transform .2s}
.object-menu[open] .object-menu-chevron{transform:rotate(180deg)}
.object-menu[open] .object-summary{border-bottom:1px solid #edf1f2}
.object-menu-content{padding:19px 23px 23px;background:#fcfdfd}
.object-menu-help{color:#8a979f;font-size:11px;line-height:1.6;margin-bottom:15px}
.object-equipment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:14px}
.object-equipment-tile{display:flex;flex-direction:column;gap:11px;align-items:stretch;min-width:0;text-align:left;background:#fff;border:1px solid #e1e8eb;border-radius:10px;padding:17px;color:#293a43;min-height:166px}
.object-equipment-tile:hover{border-color:#a2c9c8;background:#f7fbfb}
.object-equipment-tile.selected{border-color:#4b9e9d;background:#f1f8f7;box-shadow:inset 0 0 0 1px #4b9e9d15}
.object-tile-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.object-tile-top .icon-circle{width:31px;height:31px;font-size:18px;border-radius:8px}
.object-tile-top .badge{font-size:9px}
.object-equipment-tile>strong{font-size:14px;line-height:1.4;font-weight:600;overflow-wrap:anywhere}
.object-tile-profile{font-size:10px;color:#839198;line-height:1.6;margin-top:-6px}
.object-tile-bottom{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:10px;margin-top:auto;padding-top:5px}
.object-tile-bottom>span:first-child{color:#85959d;overflow-wrap:anywhere}
.object-tile-bottom>span:last-child{color:#198585;white-space:nowrap;font-weight:600}
.object-add-tile{min-height:166px;min-width:0;padding:20px 16px;border:1px dashed #ddb3ba;background:#fffafb;border-radius:10px;color:var(--red);display:flex;flex-direction:column;gap:11px;align-items:center;justify-content:center;text-align:center}
.object-add-tile:hover{background:#fdf0f2;border-color:var(--red)}
.object-add-icon{width:35px;height:35px;border-radius:10px;background:#fae9ed;color:var(--red);display:grid;place-items:center;font-size:25px;line-height:1}
.object-add-tile>strong{font-size:13px;font-weight:600;line-height:1.4}
.object-add-tile>span:last-child{font-size:10px;color:#b18b94;line-height:1.5}
.object-empty{padding-top:45px;padding-bottom:45px}
/* v8: customer objects, independently connected installations, separate admin prototype. */
.version-strip>span{font-size:9px;color:#8c979e;letter-spacing:1px}
.customer-objects{display:grid;gap:22px}
.customer-objects .object-menu-wrap{margin-bottom:0}
.object-menu-wrap .object-summary.site-object-summary{padding-right:23px}
.site-object-summary .object-title-block{flex:1}
.site-object-summary .object-title-block h2{font-size:23px;font-weight:500;letter-spacing:-.5px;line-height:1.3;overflow-wrap:anywhere}
.site-connection-count{font-size:10px;color:#a0888e;white-space:nowrap;margin-left:auto}
.site-connection-count.has-online{color:#3e8c7d}
.badge.offline{color:#9a7078;background:#f7edef}
.object-equipment-tile.unit-offline{background:#fafbfc;border-color:#e4e8eb}
.unit-offline .icon-circle{background:#eef0f2;color:#98a3aa}
.unit-offline .equipment-mini-readings b,.unit-offline .equipment-mini-readings em{color:#a2adb3}
.unit-offline .object-tile-bottom>span:first-child{color:#a38e94}
.offline-note{background:#f7eef0;color:#a17c84}
.customer-empty{border:1px solid var(--line);padding:75px 25px 55px;margin-top:10px}
.customer-empty .customer-empty-foot{font-size:10px;margin-top:27px;margin-bottom:0;line-height:1.8;color:#a0a9af}
.site-no-units{padding:12px 0 15px}
.customer-device-group{margin-bottom:23px}
.gateway-info-list{display:flex;gap:10px;flex-wrap:wrap;margin:21px 0}
.gateway-info-list>span{font-size:10px;color:#7f919a;padding:9px 11px;background:#f3f6f7;border-radius:6px}
.gateway-info-list b{font-weight:500;color:#47616c}
.readonly-unit{padding:18px 0;border-top:1px solid var(--line)}
.readonly-unit>div{min-width:0}
.readonly-unit h3{overflow-wrap:anywhere}
.readonly-unit>.badge{margin-left:auto}
.readonly-unit>.button{margin-left:10px}
.profile-site{padding:17px 0;border-bottom:1px solid #edf1f2}
.profile-site strong{display:block;font-size:13px;font-weight:500}
.profile-site span{display:block;font-size:10px;margin-top:7px;color:#8d9ca5}
.admin-body{background:#f3f5f6;color:#2b3c45}
.admin-header{height:86px;background:#252c32;color:#fff;padding:0 32px;display:flex;align-items:center;gap:28px}
.admin-header>div:nth-child(2){border-left:1px solid #44515c;padding-left:26px}
.admin-header strong{display:block;font-size:16px;font-weight:500}
.admin-header>div:nth-child(2)>span{display:block;font-size:8px;letter-spacing:1.7px;color:#8d9faa;margin-top:8px}
.admin-header>.button{margin-left:auto;flex:none}
.admin-prototype-note{font-size:10px;line-height:1.7;color:#9b895d;background:#fcf7e9;padding:12px 32px;border-bottom:1px solid #eee2c8}
.admin-layout{max-width:1500px;margin:auto;display:grid;grid-template-columns:235px minmax(0,1fr);gap:27px;padding:32px}
.admin-site-list>.spread{padding:0 10px 16px}
.admin-site-list h1{font-size:15px;font-weight:500}
.admin-site-list>.spread>span{font-size:11px;color:#9ba7ad}
.admin-site-list>button{display:block;text-align:left;width:100%;padding:17px 15px;border:1px solid transparent;border-radius:10px;background:transparent;margin-bottom:7px;color:#536c79}
.admin-site-list>button.active{background:#fff;border-color:#dce7e7;box-shadow:inset 3px 0 #158b8b}
.admin-site-list>button strong{display:block;font-size:12px;font-weight:500;overflow-wrap:anywhere}
.admin-site-list>button span{display:block;font-size:10px;margin-top:7px;color:#8b9aa2}
.admin-site-list>button small{display:block;font-size:9px;margin-top:7px;color:#a5b0b6}
.admin-demo-help{margin:27px 10px;font-size:10px;line-height:1.8;color:#8a9ca6}
.admin-demo-help summary{cursor:pointer;color:#457f87}
.admin-demo-help p{margin-top:12px}
.admin-workspace{min-width:0;display:grid;gap:21px;align-content:start}
.admin-workspace>.page-heading{margin-bottom:0;align-items:start}
.admin-site-name{font-size:27px;font-weight:500;line-height:1.3;margin:8px 0}
.admin-access{display:flex;gap:25px;align-items:center;justify-content:space-between}
.admin-access .muted{font-size:10px;margin-top:9px;line-height:1.8}
.admin-access>.button{flex:none}
.admin-gateways .muted{font-size:10px}
.admin-gateways>.spread{align-items:start}
.admin-gateways>.spread>.button{flex:none}
.admin-gateway-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(310px,100%),1fr));gap:12px;margin-top:20px}
.admin-gateway{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid #e5ecee;border-radius:9px;background:#fbfcfd}
.admin-gateway strong{font-size:12px;font-weight:500}
.admin-gateway p{font-size:10px;line-height:1.7;color:#9aa8b0;margin-top:6px}
.admin-gateway>.badge{margin-left:auto;font-size:9px}
.admin-gateway .icon-circle{height:32px;width:32px;font-size:20px}
.admin-units{margin-top:23px}
.admin-unit{display:flex;align-items:center;gap:22px;padding:19px 0;border-top:1px solid #e7eef0}
.admin-unit>div:first-child{min-width:0;flex:1}
.admin-unit strong{font-size:13px;font-weight:500;overflow-wrap:anywhere}
.admin-unit p{font-size:10px;color:#899ca6;line-height:1.8;margin-top:6px;overflow-wrap:anywhere}
.admin-unit-actions{display:flex;gap:13px;flex:none}
.admin-unit-actions button{background:transparent;padding:0;font-size:10px}
.admin-unit-actions .admin-delete{color:#bc8b95}
.admin-unit .badge{font-size:9px}
.admin-no-units{display:flex;align-items:center;justify-content:center;gap:15px;padding:40px 20px;color:#96a6ae;font-size:12px;line-height:1.7;background:#f9fbfb;border-radius:8px}
.issued-code{max-width:1435px;margin:25px auto 0;padding:22px 26px;display:flex;align-items:center;gap:25px;border:1px solid #b7d7cd;background:#edf8f2;border-radius:12px;color:#447c6c}
.issued-code strong{font-size:14px;font-weight:500}
.issued-code p{font-size:12px;line-height:1.8;margin-top:8px}
.issued-code small{display:block;font-size:10px;color:#8ba89d;margin-top:8px}
.issued-code .secret-code{letter-spacing:2px;font-size:18px;margin-left:6px}
.issued-code>.button{margin-left:auto}
@media(max-width:1000px){.admin-layout{grid-template-columns:190px minmax(0,1fr);padding:25px;gap:20px}.admin-header{padding:0 25px;gap:20px}.admin-access{align-items:start;flex-direction:column;gap:17px}.admin-unit{flex-wrap:wrap;gap:13px}.admin-unit-actions{width:100%;justify-content:flex-end}.issued-code{margin-left:25px;margin-right:25px}}
@media(max-width:700px){.version-strip{min-height:35px}.version-strip>span{font-size:7px;letter-spacing:.6px}.customer-objects{gap:17px}.object-menu-wrap .object-summary.site-object-summary{padding-right:15px}.site-object-summary .object-title-block h2{font-size:20px}.site-connection-count{display:none}.customer-empty{padding:44px 20px 32px}.customer-empty .customer-empty-foot{font-size:9px}.customer-empty h2{font-size:21px}.readonly-unit{padding-top:17px}.readonly-unit>.button{margin-left:45px}.readonly-unit>.badge{margin-left:auto}.gateway-info-list{gap:7px}.gateway-info-list>span{font-size:9px}.admin-header{height:auto;min-height:80px;padding:18px 16px;gap:14px;flex-wrap:wrap}.admin-header>div:nth-child(2){padding-left:13px}.admin-header strong{font-size:13px}.admin-header>div:nth-child(2)>span{font-size:6px;letter-spacing:1px}.admin-header>.button{font-size:10px;padding:10px}.admin-prototype-note{padding:12px 16px;font-size:9px}.admin-layout{grid-template-columns:1fr;padding:22px 16px}.admin-site-list{display:flex;gap:10px;overflow-x:auto;align-items:start;padding-bottom:10px}.admin-site-list>.spread,.admin-demo-help{display:none}.admin-site-list>button{min-width:170px;width:170px;margin:0;padding:15px}.admin-site-list>button strong{font-size:11px}.admin-workspace{gap:17px}.admin-site-name{font-size:23px}.admin-workspace>.page-heading{flex-wrap:wrap}.admin-gateway{padding:13px;gap:10px}.admin-gateway>.badge{font-size:8px}.admin-gateways .spread{flex-wrap:wrap;gap:15px}.admin-unit .badge{font-size:8px}.admin-no-units{font-size:11px;padding:25px 15px}.issued-code{margin:19px 16px 0;padding:19px;align-items:start;flex-direction:column;gap:15px}.issued-code>.button{margin-left:0}.issued-code p{font-size:11px}}
.object-menu-wrap{position:relative;margin-bottom:24px}
.object-menu-wrap>.object-menu{margin-bottom:0}
.object-menu-wrap .object-summary{padding-right:81px}
.object-add-button{position:absolute;top:24px;right:23px;width:36px;height:36px;border-radius:10px;background:var(--red);color:#fff;display:grid;place-items:center;box-shadow:0 2px 5px #b61d3320;font-size:24px;line-height:1}
.object-add-button:hover{background:#b91e32}
.object-add-button:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
@media(max-width:700px){.object-menu-wrap{margin-bottom:17px}.object-menu-wrap .object-summary{padding-right:65px}.object-add-button{top:20px;right:15px;width:34px;height:34px;border-radius:9px;font-size:23px}}
.equipment-overview-tile{min-height:228px;gap:13px}
.equipment-mini-readings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px 0 13px;margin-top:1px;border-top:1px solid #e9eff0;border-bottom:1px solid #e9eff0}
.equipment-mini-readings>span{min-width:0}
.equipment-mini-readings small{display:block;font-size:9px;font-weight:400;color:#8c999f;line-height:1.5;white-space:nowrap}
.equipment-mini-readings b{display:block;font-size:24px;font-weight:400;letter-spacing:-.7px;color:#2e454b;margin-top:6px;line-height:1.25}
.equipment-mini-readings em{font-size:11px;font-style:normal;letter-spacing:0;color:#8a9c9f}
.equipment-mini-readings .equipment-mini-mode{font-size:17px;letter-spacing:0;line-height:30px;color:#298581}
.equipment-overview-tile .object-tile-bottom{font-size:9px}
.equipment-detail{scroll-margin-top:20px;outline:none;margin-top:30px}
.equipment-detail-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}
.equipment-detail-heading .overline{font-size:9px;letter-spacing:1.5px;margin-bottom:10px}
.equipment-detail-heading h2{font-size:25px;font-weight:500;letter-spacing:-.5px;line-height:1.3;overflow-wrap:anywhere}
.equipment-detail-heading .button{flex:none}
.equipment-detail-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,1fr);gap:20px;align-items:start}
.equipment-detail-subtitle{font-size:11px;margin-top:10px}
.equipment-detail .measurements{margin-top:31px;margin-bottom:0;border-bottom:0;padding-bottom:10px}
.equipment-detail .measurement b{font-size:36px}
.equipment-detail-info{font-size:10px;margin-top:22px;padding-top:17px;border-top:1px solid #edf1f2;line-height:1.8}
.equipment-control-panel .control-row{padding:20px 0}
.equipment-control-panel .control-row:last-child{padding-bottom:0}
.equipment-detail-process{grid-column:1/-1}
.equipment-detail-process .flow{max-width:780px;margin:30px auto 0}
.equipment-detail .local-note{margin-top:16px}
@media(max-width:1100px){.equipment-detail-grid{grid-template-columns:1fr}.equipment-detail-process{grid-column:auto}.equipment-detail .measurement b{font-size:37px}}
@media(max-width:700px){.equipment-overview-tile{min-height:220px}.equipment-mini-readings b{font-size:27px}.equipment-mini-readings small{font-size:9px}.equipment-mini-readings .equipment-mini-mode{font-size:18px;line-height:34px}.equipment-detail{margin-top:25px}.equipment-detail-heading{align-items:flex-start;gap:12px;flex-wrap:wrap}.equipment-detail-heading h2{font-size:22px}.equipment-detail-heading .button{font-size:10px}.equipment-detail-grid{gap:15px}.equipment-detail .measurement b{font-size:30px}.equipment-detail .measurements{margin-top:25px;gap:6px}.equipment-detail-subtitle{font-size:10px}.equipment-detail-process .flow{margin-top:25px}}
@media(max-width:700px){.object-menu{margin-bottom:17px;border-radius:12px}.object-summary{padding:17px 15px;gap:11px}.object-summary>.icon-circle{width:34px;height:34px;font-size:19px;border-radius:9px}.object-title-block h1{font-size:20px}.object-subtitle{font-size:9px;margin-top:4px}.object-menu-label{display:none}.object-menu-chevron{margin-left:auto;width:26px;height:26px;font-size:18px}.object-menu-content{padding:14px 14px 15px}.object-menu-help{font-size:10px;margin-bottom:12px}.object-equipment-grid{gap:11px}.object-equipment-tile,.object-add-tile{min-height:150px;padding:15px}.object-equipment-tile>strong{font-size:13px}.object-empty h2{font-size:20px}}

/* v9: graphite customer header on desktop and mobile. */
.v1 .workspace > .topbar {
  background: #30353b;
  border-bottom-color: #434a52;
  color: #f5f7f8;
}
.v1 .topbar .profile-button,
.v1 .topbar .breadcrumb strong { color: #f5f7f8; }
.v1 .topbar .breadcrumb,
.v1 .topbar .wordmark > span { color: #c4cbd1; }
.v1 .topbar .wordmark > span { border-left-color: #737c85; }
.v1 .topbar .avatar { background: #47565e; color: #def1f2; }
.v1 .topbar .profile-button:focus-visible,
.v1 .topbar .wordmark:focus-visible { outline: 2px solid #e4ebf0; outline-offset: 5px; border-radius: 4px; }

/* v10: graphite primary navigation, including the mobile bottom bar. */
.v1 .sidebar {
  background: #30353b;
  border-color: #434a52;
}
.v1 .nav-list button { color: #c4cbd1; }
.v1 .nav-list button:hover { background: #3d454e; color: #fff; }
.v1 .nav-list button.active { background: #465158; color: #fff; }
.v1 .nav-list button:focus-visible { outline: 2px solid #e4ebf0; outline-offset: 2px; }

/* v11: per-installation state and alarms; compact summary stays visible when collapsed. */
.site-object-summary { flex-wrap: wrap; }
.site-object-summary .object-menu-chevron { margin-left: auto; flex: none; }
.site-overview { flex: 0 0 100%; display: grid; grid-template-columns: 1.35fr repeat(4,minmax(0,1fr)); gap: 14px; padding-top: 15px; border-top: 1px solid #e9eef0; margin-top: 2px; }
.site-metric { display: flex; flex-direction: column; gap: 6px; min-width: 0; color: #596a75; }
.site-metric > span { font-size: 10px; line-height: 1.4; }
.site-metric > b { font-size: 20px; font-weight: 500; line-height: 1.2; }
.site-metric small { font-size: 10px; font-weight: 400; }
.running-metric { color: #267e66; }
.missing-metric { color: #7b858e; }
.alarm-metric { color: #c3263b; }
.equipment-overview-tile { transition: background-color .25s, border-color .25s; }
.object-equipment-tile.unit-state-on { background: #edf8f2; border-color: #b9ddc9; }
.object-equipment-tile.unit-state-off { background: #f1f3f5; border-color: #d5dce1; }
.object-equipment-tile.unit-state-unknown { background: #fffaf0; border-color: #e6dcc0; }
.object-equipment-tile.unit-offline { background: #f8f9fb; border-color: #e0e5e9; }
.object-equipment-tile.unit-has-alarm { background: #fff0f1; border-color: #e7acb5; }
.object-equipment-tile:hover { filter: brightness(.985); }
.object-equipment-tile.selected { outline: 2px solid #389a95; outline-offset: 2px; }
.badge.power-off { background: #e1e6eb; color: #4e5e6b; }
.badge.state-unknown { background: #f7edcf; color: #81692c; }
.unit-state-off .icon-circle { background: #e0e6eb; color: #677984; }
.object-tile-top { justify-content: flex-start; gap: 8px; }
.object-tile-top .badge { margin-left: auto; }
.unit-alarm { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; flex: none; border-radius: 8px; }
.unit-alarm svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.alarm-normal { color: #408774; background: #e1f0e8; }
.alarm-unknown { color: #9aa5ad; background: #e9edf0; }
.alarm-active { color: #fff; background: #d7253b; animation: alarm-pulse 1.7s ease-in-out infinite; }
@keyframes alarm-pulse { 0%,100% { box-shadow: 0 0 0 0 #d7253b40; } 50% { box-shadow: 0 0 0 5px #d7253b05; background: #b91e32; } }
@media (prefers-reduced-motion: reduce) { .alarm-active { animation: none; } .equipment-overview-tile { transition: none; } }
.equipment-mini-readings.temperature-pair { grid-template-columns: repeat(2,minmax(0,1fr)); border-color: #dfe9e5; padding: 13px 0; }
.temperature-pair > span + span { border-left: 1px solid #dce5e4; padding-left: 16px; }
.temperature-pair b { font-size: 30px; }
.unit-secondary-readings { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 7px 12px; color: #7d8c94; font-size: 10px; line-height: 1.5; }
.unit-secondary-readings b { font-weight: 500; color: #3f5b63; margin-left: 4px; }
.unit-alarm-caption { color: #7a8b8d; font-size: 9px; line-height: 1.5; }
.unit-alarm-caption.has-alarm { color: #b92136; font-weight: 600; }
.alarm-detail-note { display: flex; align-items: center; gap: 12px; padding: 13px 15px; border: 1px solid #e7acb5; background: #fff0f1; border-radius: 9px; color: #b92136; font-size: 12px; line-height: 1.5; margin-bottom: 17px; }
@media(max-width:700px) {
  .site-overview { gap: 8px; padding-top: 13px; }
  .site-metric > span { font-size: 8px; }
  .site-metric > b { font-size: 18px; }
  .site-metric small { font-size: 8px; }
  .object-tile-top .badge { font-size: 8px; padding: 5px 7px; gap: 4px; }
  .object-tile-top { gap: 6px; }
  .object-tile-top .icon-circle { width: 28px; height: 28px; }
  .unit-alarm { width: 25px; height: 25px; border-radius: 7px; }
  .unit-alarm svg { width: 18px; height: 18px; }
  .temperature-pair > span + span { padding-left: 10px; }
  .temperature-pair b { font-size: 28px; }
  .unit-secondary-readings { font-size: 9px; }
}
@media(max-width:440px) {
  .object-equipment-grid { grid-template-columns: minmax(0,1fr); }
  .site-overview { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
  .site-metric > span { font-size: 9px; }
  .site-metric > b { font-size: 19px; }
}

/* v12: compact operator layout, with the readings kept prominent. */
.v1 .content { padding: 16px 20px 20px; }
.v1 .workspace > .topbar { height: 56px; padding: 0 20px; }
.v1 .page-heading { align-items: center; gap: 12px; margin-bottom: 12px; }
.v1 .page-heading h1 { font-size: 23px; margin: 0 0 3px; }
.v1 .page-heading .muted { font-size: 10px; }
.v1 .page-heading > .button { padding: 10px 12px; }
.v1 .customer-objects { gap: 12px; }
.v1 .object-menu { border-radius: 10px; }
.v1 .object-menu-wrap .object-summary.site-object-summary { padding: 12px 14px; gap: 8px 10px; }
.v1 .site-object-summary > .icon-circle { width: 30px; height: 30px; border-radius: 8px; font-size: 18px; }
.v1 .site-object-summary .object-title-block h2 { font-size: 19px; line-height: 1.2; }
.v1 .object-subtitle { margin-top: 3px; }
.v1 .object-menu-chevron { width: 25px; height: 25px; font-size: 17px; }
.v1 .site-overview { display: flex; flex-wrap: wrap; gap: 6px 20px; padding-top: 8px; margin-top: 0; }
.v1 .site-metric { flex-direction: row; align-items: baseline; gap: 6px; }
.v1 .site-metric > span { font-size: 10px; line-height: 1.4; }
.v1 .site-metric > b { font-size: 16px; }
.v1 .site-metric small { font-size: 10px; }
.v1 .object-menu-content { padding: 8px 10px 10px; }
.v1 .object-menu-help { font-size: 9px; line-height: 1.4; margin-bottom: 6px; }
.v1 .object-equipment-grid { grid-template-columns: repeat(auto-fill,minmax(min(235px,100%),1fr)); gap: 8px; }
.v1 .object-equipment-tile.equipment-overview-tile { min-height: 0; padding: 10px 12px; gap: 7px; border-radius: 8px; }
.v1 .object-tile-top { min-height: 24px; gap: 8px; }
.v1 .object-tile-top .badge { margin-left: 0; font-size: 9px; padding: 5px 7px; }
.v1 .object-tile-top .unit-alarm { margin-left: auto; width: 24px; height: 24px; border-radius: 6px; }
.v1 .object-tile-top .unit-alarm svg { width: 18px; height: 18px; }
.v1 .object-equipment-tile > strong { font-size: 13px; line-height: 1.3; }
.v1 .equipment-mini-readings.temperature-pair { padding: 8px 0; margin-top: 0; gap: 8px; }
.v1 .equipment-mini-readings small { line-height: 1.3; }
.v1 .temperature-pair b { margin-top: 3px; font-size: 27px; line-height: 1.1; }
.v1 .temperature-pair > span + span { padding-left: 12px; }
.v1 .unit-secondary-readings { font-size: 10px; gap: 4px 10px; line-height: 1.4; }
.v1 .unit-alarm-caption { font-size: 10px; line-height: 1.35; }
.v1 .object-tile-bottom { padding-top: 0; gap: 8px; font-size: 9px; }
.v1 .equipment-detail { margin-top: 14px; }
.v1 .equipment-detail-heading { margin-bottom: 12px; gap: 10px; }
.v1 .equipment-detail-heading h2 { font-size: 21px; }
.v1 .equipment-detail-heading .overline { margin-bottom: 5px; }
.v1 .equipment-detail-grid { gap: 12px; }
.v1 .equipment-detail .panel { padding: 16px; }
.v1 .equipment-detail .measurements { margin-top: 17px; padding-bottom: 0; }
.v1 .equipment-detail-info { margin-top: 12px; padding-top: 10px; }
.v1 .equipment-control-panel .control-row { padding: 12px 0; }
.v1 .equipment-detail-process .flow { margin-top: 18px; }
@media(min-width:701px) {
  .v1 .app-shell { grid-template-columns: 174px minmax(0,1fr); }
}
@media(max-width:700px) {
  .v1 .content { padding: 12px 10px 14px; }
  .v1 .workspace > .topbar { height: 50px; padding: 0 14px; }
  .v1 .page-heading { margin-bottom: 10px; gap: 8px; }
  .v1 .page-heading h1 { font-size: 21px; }
  .v1 .customer-objects { gap: 10px; }
  .v1 .object-menu-wrap .object-summary.site-object-summary { padding: 10px 12px; }
  .v1 .site-object-summary .object-title-block h2 { font-size: 18px; }
  .v1 .site-overview { gap: 5px 14px; padding-top: 7px; }
  .v1 .site-metric > span { font-size: 9px; }
  .v1 .object-equipment-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .v1 .object-equipment-tile.equipment-overview-tile { padding: 10px; gap: 7px; }
  .v1 .sidebar { padding: 4px 10px; }
  .v1 .nav-list button { min-height: 44px; padding: 5px 10px; gap: 4px; }
  .v1 .nav-list button > span { font-size: 18px; }
  .v1 .version-strip { min-height: 26px; padding-top: 4px; padding-bottom: 4px; }
  .v1 .preview-notice { padding-top: 5px; padding-bottom: 5px; }
}
@media(max-width:440px) {
  .v1 .object-equipment-grid { grid-template-columns: minmax(0,1fr); }
  .v1 .site-overview { gap: 5px 12px; }
}
