:root{--ink:var(--appearance-text,#edf2f7);--muted:var(--appearance-muted,#b0bdcc);--navy:var(--appearance-nav-end,#11171f);--accent:var(--appearance-accent,hsl(164 45% 76%));--line:var(--appearance-border,#c2ced32b);--paper:var(--appearance-bg,#10151c);--inset:var(--appearance-inset,#10161ecc);--strong-line:var(--appearance-border-strong,hsl(164 45% 70%/0.4));--selected:var(--appearance-selected,hsl(164 45% 45%/0.18));--selected-end:var(--appearance-selected-end,hsl(164 42% 40%/0.06));--glass:var(
    --appearance-glass,linear-gradient(180deg,#ffffff0d,#ffffff02 46%,#00000014),linear-gradient(135deg,#282f38,#161d26)
  );--glass-hover:var(
    --appearance-glass-hover,linear-gradient(180deg,#ffffff14,#ffffff03 48%,#00000010),linear-gradient(135deg,#333d49,#202933)
  );--glass-shadow:var(
    --appearance-glass-shadow,inset 0 1px 0 #ffffff16,inset 0 -1px 0 #0000004d,0 5px 14px #00000020
  );--good:#aae2c1;--bad:#ffb1b6}*{box-sizing:border-box}body{min-height:100vh;color-scheme:dark;margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:400;line-height:1.55}button,input,select{font:inherit}a.button,button{cursor:pointer;transition:background .15s,border-color .15s;display:inline-flex;justify-content:center;align-items:center;gap:8px;border-radius:7px;padding:11px 16px;border:1px solid transparent;font-weight:600;text-decoration:none}button:disabled{opacity:.5;cursor:default}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.primary{color:var(--ink);background:var(--glass);border-color:var(--strong-line);box-shadow:var(--glass-shadow)}.primary:hover:not(:disabled){background:var(--glass-hover);border-color:var(--accent)}.secondary{color:var(--ink);background:var(--glass);border-color:var(--line);box-shadow:var(--glass-shadow)}.secondary:hover:not(:disabled){background:var(--glass-hover);border-color:var(--strong-line)}.compact{padding:7px 12px}.text-button{background:transparent;padding:9px 0;border:0}.eyebrow,.light,.text-button{color:var(--accent)}.eyebrow{font-size:10px;font-weight:750;letter-spacing:1.8px;margin:0 0 10px}.brand{display:flex;align-items:center;gap:10px;font-size:19px;font-weight:750;letter-spacing:-.5px}.mark{background:var(--glass);color:var(--accent);border:1px solid var(--strong-line);box-shadow:var(--glass-shadow);width:34px;height:34px;border-radius:9px;display:inline-grid;place-items:center;font-size:24px;font-weight:700}.edition{display:block;font-size:9px;letter-spacing:2.4px;color:var(--muted);margin:12px 0 50px 45px}h1,h2,h3,p{margin-top:0}h1,h2,h3,strong{font-weight:700}h1{font-size:34px;line-height:1.2;letter-spacing:-1px;margin-bottom:12px}h2{font-size:20px;line-height:1.3;letter-spacing:-.4px;margin-bottom:10px}h3{font-size:16px;margin-bottom:5px}p,small{color:var(--muted)}small{display:block;font-size:11px;margin-top:4px}label{display:flex;flex-direction:column;gap:6px;color:var(--ink);font-size:12px;font-weight:600;margin-bottom:17px}input,select{border:1px solid var(--line);border-radius:6px;padding:10px 12px;color:var(--ink);background:var(--inset);box-shadow:inset 0 1px 3px #00000030,0 1px 0 #ffffff08;width:100%;min-width:0}input:disabled,select:disabled{background:var(--navy);color:var(--muted)}select option{background:#1c222b;color:var(--ink)}form>.primary{margin-top:5px}.workspace{display:flex;min-height:100vh}.sidebar{background:linear-gradient(155deg,var(--appearance-nav,#1d232b),var(--navy) 75%);color:var(--ink);border-right:1px solid var(--line);width:242px;flex-shrink:0;padding:32px 22px;display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;overflow:auto}.nav-title{font-size:9px;letter-spacing:1.8px;color:var(--muted);margin-bottom:15px}.site-link{display:block;text-align:left;background:transparent;color:var(--ink);justify-content:flex-start;margin:0 -7px 7px;padding:12px;width:calc(100% + 14px)}.site-link.selected{background:linear-gradient(110deg,var(--selected),var(--selected-end));border-color:var(--strong-line)}.site-link small{color:var(--muted)}.add-site{background:transparent;color:var(--accent);justify-content:flex-start;padding-left:5px}.account{margin-top:auto;padding-top:36px}.account small{color:var(--muted);word-break:break-word}.content{width:calc(100% - 242px);margin-left:242px;padding:0 36px 48px;max-width:1660px}.topbar{height:74px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);color:var(--muted);font-size:12px;margin-bottom:32px}.preview{border:1px solid #e5c56760;background:#d6aa3014;color:#f0d58e;border-radius:6px;padding:10px 14px;margin:0 0 20px;font-size:12px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.page-heading p:last-child{margin-bottom:0}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:22px}.card,.metric{background:var(--glass);border:1px solid var(--line);border-radius:10px;box-shadow:var(--glass-shadow)}.metric{padding:21px 24px}.metric>span{display:block;color:var(--muted);font-size:12px}.metric strong{display:block;font-size:32px;line-height:1.4;margin:7px 0}.metric .metric-word{font-size:24px}.metric small{margin:0}.card{padding:24px;margin-bottom:22px}.main-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(270px,1fr);gap:22px}.card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.card-heading h2{margin-bottom:0}.card-heading p{margin-bottom:0;margin-top:10px}.badge{display:inline-flex;padding:4px 9px;border-radius:20px;font-size:10px;font-weight:650;white-space:nowrap;align-self:center}.neutral{background:#ffffff0a;color:var(--muted)}.good{background:#4cba9c18;color:var(--good)}.bad{background:#ed14291f;color:var(--bad)}.subtle{font-size:12px;color:var(--muted);margin-top:13px}.empty{text-align:center;padding:36px 20px}.empty p{max-width:430px;margin:0 auto 20px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:10px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);font-weight:600;padding:5px 12px 11px}td{padding:18px 12px;border-top:1px solid var(--line);font-size:12px}td:first-child,th:first-child{padding-left:0}td small{max-width:280px}.connection p{font-size:13px}.connection .eyebrow{display:block}.controller-bar{display:flex;align-items:center;gap:25px;padding:16px 0 23px;border-bottom:1px solid var(--line);margin-bottom:25px;flex-wrap:wrap}.controller-bar label{margin:0;min-width:220px}.controller-bar .actions{margin-left:auto}.actions{gap:10px;flex-wrap:wrap}.actions,.section-heading{display:flex;align-items:center}.section-heading{justify-content:space-between;gap:20px;margin-bottom:20px}.section-heading p{margin:0;font-size:12px}.mapping{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 17px;border:1px solid var(--line);border-radius:7px;padding:20px 17px 5px;margin-bottom:18px}.mapping legend{color:var(--muted);padding:0 7px;font-size:11px}.mapping .areas{grid-column:span 2}.mapping .text-button{justify-content:flex-start;align-self:start;font-size:12px}.discovered{background:var(--inset);border:1px solid var(--line);border-radius:7px;padding:16px;margin-bottom:17px}.discovered button{margin:12px 9px 0 0}.callout{background:var(--inset);border-left:3px solid var(--strong-line);border-radius:3px;padding:13px 15px;font-size:12px;color:var(--muted)}.job{border-top:1px solid var(--line);padding:15px 0}.job summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:15px;font-weight:600;list-style:none}.job summary:before{content:"›";color:var(--muted);font-size:18px}.job[open] summary:before{transform:rotate(90deg)}.job summary>span:first-of-type{margin-right:auto}.job p{font-size:12px;margin:14px 0 0}.check{display:flex;gap:12px;margin:16px 0;align-items:flex-start}.check .badge{align-self:flex-start}.check strong{font-size:12px}.check p{margin:3px 0 0}.feedback{border-radius:6px;padding:12px 15px;margin-bottom:18px;font-size:13px;overflow-wrap:anywhere}.feedback.error{background:#ed14291a;border:1px solid #ee828866;color:var(--bad)}.feedback.success{background:#4cba9c18;border:1px solid #4cba9c66;color:var(--good)}.error-text{color:var(--bad)}.modal-backdrop{position:fixed;inset:0;background:#05080bc2;backdrop-filter:blur(6px);display:flex;justify-content:center;align-items:center;padding:30px;z-index:10}.modal{background:var(--glass);border:1px solid var(--line);border-radius:12px;padding:28px;width:560px;max-height:90vh;overflow:auto;box-shadow:inset 0 1px 0 #ffffff16,0 20px 70px #00000070}.modal .card-heading{align-items:center}.modal p{font-size:13px}.steps{padding-left:22px}.steps li{padding:9px 0 13px 5px}.steps li p{margin:8px 0}.steps small{overflow-wrap:anywhere;margin-top:8px}.steps .button{margin-top:10px}.signin{min-height:100vh;display:grid;grid-template-columns:1.15fr 1fr;align-items:center;background:var(--paper)}.signin-story{min-height:100vh;background:linear-gradient(155deg,var(--appearance-nav,#1d232b),var(--navy) 75%);color:var(--ink);display:flex;flex-direction:column;justify-content:center;padding:80px clamp(30px,8vw,130px);position:relative}.signin-story .brand{position:absolute;top:48px;left:clamp(30px,8vw,130px)}.signin-story .eyebrow{color:var(--accent)}.signin-story h1{font-size:clamp(36px,4vw,58px);letter-spacing:-1.7px;line-height:1.1}.signin-story p{color:var(--muted);font-size:16px;max-width:390px}.story-foot{color:var(--muted);font-size:12px;position:absolute;bottom:45px}.signin-form{padding:50px clamp(30px,6vw,95px);max-width:590px;width:100%}.signin-form h2{font-size:28px}.signin-form form{margin-top:28px}.signin-form form .primary{width:100%;margin:6px 0 12px}.signin-form>.text-button{margin-top:10px;font-size:12px}@media (min-width:1600px){.content{padding-left:48px;padding-right:48px}}@media (max-width:1100px){.sidebar{width:212px;padding-left:18px;padding-right:18px}.brand{font-size:17px}.content{width:calc(100% - 212px);margin-left:212px;padding-left:24px;padding-right:24px}.main-grid{grid-template-columns:1fr}.metric{padding:18px}.metric .metric-word{font-size:21px}.controller-bar .actions{margin-left:0}}@media (max-width:760px){.workspace{display:block}.sidebar{position:static;height:auto;width:100%;padding:18px}.nav-title,.sidebar .edition{display:none}.sidebar .brand{margin-bottom:15px}.site-link{display:inline-block;width:auto;margin:4px 6px 4px 0}.site-link small{display:none}.account{display:flex;gap:10px;align-items:center;padding-top:15px;font-size:12px}.account small{display:none}.account .text-button{margin-left:auto}.content{width:100%;margin-left:0;padding:0 18px 30px}.topbar{height:60px;margin-bottom:25px}h1{font-size:27px}.page-heading{align-items:flex-start;flex-direction:column}.summary-grid{grid-template-columns:1fr;gap:12px}.metric{padding:16px 20px}.metric strong{font-size:25px;margin:2px 0}.card{padding:20px 16px}.card-heading{flex-wrap:wrap}.mapping{grid-template-columns:1fr 1fr}.mapping .areas,.mapping label:first-of-type{grid-column:span 2}.modal-backdrop{padding:15px}.modal{padding:22px}.signin{display:block}.signin-story{min-height:auto;padding:30px}.signin-story .brand{position:static;margin-bottom:30px}.signin-story h1{font-size:35px}.signin-story p{font-size:14px}.story-foot{position:static;margin-top:15px}.signin-form{padding:35px 30px;margin:auto}}.account-tabs,.portal-tabs{display:flex;gap:8px;overflow-x:auto;margin:0 0 22px;padding:3px 1px;scrollbar-width:thin}.account-tabs button,.portal-tabs button{flex:0 0 auto;border:1px solid var(--line);background:var(--glass);color:var(--muted);padding:9px 14px;border-radius:999px;font-size:12px}.account-tabs button.selected,.portal-tabs button.selected{color:var(--ink);border-color:var(--strong-line);background:var(--selected)}.portal-stack{display:grid;gap:18px;min-width:0}.portal-stack>.page-heading{margin:0;align-items:center}.portal-stack .page-heading h1{margin:5px 0 8px}.portal-stack .page-heading p{margin-bottom:0}.fleet-overview{display:flex;align-items:center;justify-content:space-between;gap:20px}.fleet-overview h2{margin:4px 0}.fleet-overview p{margin:0;font-size:12px}.fleet-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.danger-button{border-color:#ef8f9a66;color:#ffd0d3}.alerts-card,.command-history,.fleet-section,.schedule-card{min-width:0}.fleet-section>.card-heading{margin:5px 0 15px}.fleet-section>.card-heading h2{margin:3px 0}.thermostat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.thermostat-card{min-width:0;border:1px solid var(--line);border-radius:14px;padding:20px;background:var(--glass);box-shadow:var(--glass-shadow)}.thermostat-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.thermostat-title h3{margin:2px 0 0}.thermostat-title small{overflow-wrap:anywhere}.thermostat-reading{display:flex;align-items:baseline;gap:12px;margin:17px 0 0}.thermostat-reading strong{font-size:34px;letter-spacing:-1.5px}.thermostat-reading span{color:var(--muted);font-size:12px}.reading-time{font-size:11px;margin:0 0 12px}.thermostat-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0;padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.thermostat-facts div{min-width:0}.thermostat-facts dt{font-size:10px;color:var(--muted)}.thermostat-facts dd{margin:2px 0 0;font-size:13px;font-weight:650;overflow-wrap:anywhere}.readonly-note{display:flex;align-items:center;gap:8px;font-size:11px;margin:10px 0}.readonly-note small{margin:0}.target-form{margin-top:17px}.target-form h4{margin:0 0 4px}.target-form .section-heading{margin:0 0 12px}.target-form .section-heading p{font-size:11px;margin:0}.form-grid,.target-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.fleet-schedule label,.target-form label{min-width:0}.target-form button{width:100%;margin-top:0}.command-state{display:grid;gap:2px;margin-top:13px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;font-size:11px}.command-state span{color:var(--muted)}.command-state.applied{border-color:#aae2c155}.command-state.failed{border-color:#ffb1b666}.command-state.pending{border-color:#d9b97466}.schedule-card>.card-heading{align-items:flex-start}.schedule-card .card-heading h2{margin:4px 0}.schedule-card .card-heading p{margin:0;max-width:620px}.fleet-schedule{border:1px solid var(--line);border-radius:12px;padding:16px;margin:15px 0;min-width:0}.fleet-schedule legend{color:var(--muted);padding:0 6px}.fleet-period{border-top:1px solid var(--line);padding:12px 0 0;margin-top:10px}.fleet-period>.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 12px}.fleet-period>strong{font-size:12px}.fleet-schedule .schedule-check{flex-direction:row;align-items:center}.fleet-schedule .schedule-check input{width:18px;height:18px}.day-choices{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin:0 0 17px;padding:7px;border:1px solid var(--line);border-radius:8px}.day-choices legend{padding:0 4px;font-size:11px;color:var(--muted)}.day-choice{display:flex;flex-direction:row;align-items:center;gap:5px;margin:0;padding:5px 6px;border-radius:6px;font-size:10px}.day-choice input{width:15px;height:15px;margin:0;accent-color:var(--accent)}.schedule-device-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin:12px 0;padding:10px;border:1px solid var(--line);border-radius:10px;min-width:0}.schedule-device-choices legend{padding:0 5px;color:var(--muted);font-size:12px}.schedule-device-choice{display:flex;flex-direction:row;align-items:flex-start;gap:9px;margin:0;padding:9px;border:1px solid var(--line);border-radius:8px;background:rgba(10,17,21,.24)}.schedule-device-choice input{flex:0 0 auto;width:18px;height:18px;margin:2px 0 0;accent-color:var(--accent)}.schedule-device-choice span{display:grid;min-width:0;gap:3px}.schedule-device-choice small,.schedule-device-choice strong{overflow-wrap:anywhere}.schedule-device-choice small{color:var(--muted);font-size:11px}.account-list,.alert-list{display:grid;gap:10px}.account-customer,.account-member,.alert-row{border:1px solid var(--line);border-radius:10px;padding:13px 15px;background:#ffffff04}.account-member>div,.alert-row>div{min-width:0}.alert-row>div{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 9px}.alert-row strong{font-size:12px;overflow-wrap:anywhere}.alert-row small{grid-column:2}.alert-row.major{border-color:#ffb1b655}.account-customer{padding:17px}.account-customer h3{margin:0}.account-customer>.card-heading{margin-bottom:10px}.account-member{display:flex;justify-content:space-between;align-items:center;gap:12px}.account-member strong{font-size:12px}.account-member small{overflow-wrap:anywhere}.account-member-list{display:grid;gap:8px}.invitation-row{background:transparent}.account-form-card form>div:first-child{margin-bottom:18px}.account-form-card h2{margin:3px 0 5px}.account-form-card p{font-size:12px}.optional{font-weight:400;color:var(--muted)}.invitation-link{display:flex;align-items:flex-end;gap:10px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.invitation-link label{flex:1;margin:0}.invitation-link button{margin-bottom:17px}.camera-box{display:grid;gap:10px;margin:15px 0}.camera-box video{width:100%;max-height:260px;object-fit:cover;border-radius:10px;background:#000}.fleet-modal{width:min(560px,100%)}.fleet-empty{padding:28px}.loading-card{color:var(--muted)}@media(max-width:760px){.thermostat-grid{grid-template-columns:1fr}.fleet-overview{align-items:flex-start;flex-direction:column}.fleet-header-actions{justify-content:flex-start;width:100%}.fleet-period>.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.portal-tabs{margin-left:-2px;margin-right:-2px}.portal-tabs button{padding:8px 11px}.portal-stack{gap:14px}.thermostat-card{padding:17px 15px}.form-grid,.target-grid{grid-template-columns:1fr;gap:0}.thermostat-reading strong{font-size:30px}.fleet-header-actions button{flex:1}.account-member{align-items:flex-start}.account-member button{flex:0 0 auto}.invitation-link{display:block}.invitation-link button{margin:8px 0 0}.fleet-period>.form-grid{grid-template-columns:1fr}.alert-row>div{grid-template-columns:auto minmax(0,1fr)}}.schedule-editor{margin:25px 0}.schedule-heat{color:var(--appearance-heat,#ff9c9c)}.schedule-cool{color:var(--appearance-cool,#8fcaff)}.schedule-cool input,.schedule-heat input{color:inherit}.schedule-plan,.schedule-zones{border:1px solid var(--line);border-radius:7px;padding:16px;margin:18px 0;min-width:0}.schedule-plan legend,.schedule-zones legend{color:var(--muted);padding:0 6px}.schedule-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;border:0;padding:0;min-width:0}.schedule-check{flex-direction:row;align-items:center;gap:10px}.schedule-check input{width:18px;height:18px;box-shadow:none;accent-color:var(--accent)}.schedule-day{display:grid;grid-template-columns:minmax(110px,1fr) repeat(2,minmax(0,1fr));gap:10px;align-items:center}@media (max-width:760px){.schedule-fields{grid-template-columns:1fr}.schedule-day{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-day>.schedule-check{grid-column:span 2}}