:root{color:#f4f7fc;font-synthesis:none;text-rendering:optimizelegibility;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--canvas:#061321;--canvas-deep:#030c16;--text:#f7f8fc;--muted:#a6c4ea;--muted-quiet:#7594bd;--border:#74a6dc40;--coral:#ff8a79;--blue:#8fc1ff;--display:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;background:#061321;font-family:Avenir Next,Avenir,Segoe UI,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html{background:var(--canvas);min-width:20rem;min-height:100%}body{min-width:20rem;min-height:100%;margin:0}button,a{font:inherit}button{border:0}button:focus-visible,a:focus-visible{outline-offset:4px;outline:3px solid #8fc1ffcc}.app-shell{isolation:isolate;background:radial-gradient(circle at 50% 34%, #4477b12e, transparent 29rem), radial-gradient(circle at 10% 5%, #3866971f, transparent 24rem), linear-gradient(180deg, #071727 0%, var(--canvas) 62%, var(--canvas-deep) 100%);min-height:100svh;position:relative;overflow:hidden}.app-header{z-index:10;align-items:center;min-height:5.5rem;padding-inline:clamp(1.5rem,4.5vw,4.75rem);display:grid}.app-header--floating{grid-template-columns:1fr;position:absolute;inset:0 0 auto}.brand{color:var(--text);letter-spacing:-.02em;justify-self:start;align-items:center;gap:.9rem;font-size:clamp(1.15rem,1.8vw,1.7rem);font-weight:450;text-decoration:none;display:inline-flex}.brand__mark{filter:drop-shadow(0 0 .8rem #ff8a7947);object-fit:contain;width:clamp(2.6rem,3.8vw,3.5rem);height:auto}.sign-in{z-index:2;text-align:center;padding-inline:1.5rem;place-items:start center;min-height:100svh;padding-top:clamp(9.5rem,19vh,13rem);display:grid;position:relative}.sign-in__content{width:min(62rem,100%)}.sign-in h1{color:var(--text);font-family:var(--display);letter-spacing:-.04em;text-wrap:balance;margin:0;font-size:clamp(2.8rem,5.25vw,5rem);font-weight:400;line-height:1.04}.sign-in__content>p:first-of-type{color:var(--muted);margin:1.35rem auto 0;font-size:clamp(1.05rem,1.8vw,1.45rem);line-height:1.55}.google-button{color:#0c1b31;cursor:pointer;background:#fff;border:1px solid #ffffffd1;border-radius:.9rem;grid-template-columns:2rem 1fr 1.5rem;align-items:center;gap:1rem;width:min(27rem,100%);min-height:4.25rem;margin-top:2.4rem;padding:.8rem 1.25rem;font-size:1.06rem;font-weight:650;transition:transform .18s,box-shadow .18s,opacity .18s;display:inline-grid;box-shadow:0 1rem 2.8rem #2764a63d,0 0 1.4rem #8fc1ff24}.google-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 1.25rem 3.25rem #2764a652,0 0 1.8rem #8fc1ff33}.google-button:active:not(:disabled){transform:translateY(0)}.google-button:disabled{cursor:wait;opacity:.68}.google-icon{width:1.9rem;height:1.9rem}.button-arrow{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:1.4rem}.auth-message{color:#ffb2a7;min-height:1.5rem;margin:1rem 0 0;font-size:.94rem}.connected-home-art{pointer-events:none;-webkit-user-select:none;user-select:none}.connected-home-art--backdrop{z-index:1;object-fit:cover;object-position:center;width:100%;height:clamp(15rem,35vh,21rem);position:absolute;inset:auto 0 clamp(.5rem,3.5vh,2.5rem)}.user-menu{justify-self:end;position:relative}.user-menu__trigger{color:var(--text);cursor:pointer;background:0 0;align-items:center;gap:.75rem;padding:.4rem 0;font-size:1rem;display:flex}.user-menu__trigger img,.user-menu__initial{object-fit:cover;background:#335f91;border:1px solid #8fc1ff40;border-radius:50%;place-items:center;width:2.75rem;height:2.75rem;display:grid}.user-menu__chevron{fill:none;width:14px;height:14px;stroke:var(--muted);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px;flex-shrink:0;transition:transform .16s}.user-menu__trigger[aria-expanded=true] .user-menu__chevron{transform:rotate(180deg)}.user-menu__popover{background:#051221f7;border:1px solid #699dd661;border-radius:.8rem;width:13rem;padding:.55rem;position:absolute;top:calc(100% + .8rem);right:0;box-shadow:0 1.4rem 3rem #00000059}.user-menu__popover button{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border-radius:.55rem;align-items:center;gap:.75rem;padding:.85rem .9rem;display:flex}.user-menu__popover button:hover{background:#689dd61f}.user-menu__popover svg{fill:none;width:1.25rem;stroke:var(--muted);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px}.household-create h1{color:var(--text);font-family:var(--display);letter-spacing:-.04em;text-wrap:balance;margin:0;font-size:clamp(3.25rem,5.2vw,5rem);font-weight:400;line-height:1.04}.button{cursor:pointer;border:1px solid #0000;border-radius:.8rem;justify-content:center;align-items:center;min-height:3.65rem;padding:.75rem 1.45rem;font-size:1rem;font-weight:650;line-height:1.2;transition:border-color .17s,box-shadow .17s,opacity .17s,transform .17s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{cursor:wait;opacity:.58}.button--primary{color:#142033;background:var(--coral);box-shadow:0 0 1.2rem #ff8a7952,0 .9rem 2.5rem #ff705e24}.button--primary:hover:not(:disabled){box-shadow:0 0 1.5rem #ff8a796b,0 1rem 2.7rem #ff705e2e}.button--secondary{color:var(--text);background:#0718299e;border-color:#6fb4f5b3}.button--secondary:hover:not(:disabled){border-color:var(--blue);box-shadow:0 0 1.2rem #499ef424}.button--compact{gap:.65rem;min-width:9rem;min-height:3.2rem;padding-inline:1.25rem}.button--compact svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:1.25rem}.button--small{min-height:2.5rem;padding:.5rem .8rem;font-size:.88rem}.button--quiet{color:#cce4ff;background:0 0;border-color:#6fb4f561}.button--danger{color:#ffd1ca;background:#96362b33;border-color:#ff8a799e}.invitation-list{gap:.8rem;margin-top:2rem;display:grid}.invitation{background:#071b30a6;border:1px solid #5da4e36b;border-radius:1rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1.35rem;padding:1.35rem 1.55rem;display:grid;box-shadow:inset 0 0 2.8rem #3b84cc0a}.invitation__icon{color:#ff9d8f;background:#ff6f5e1a;border:1px solid #ff8a7985;border-radius:50%;place-items:center;width:3.5rem;height:3.5rem;display:grid;box-shadow:0 0 1.25rem #ff6f5e29}.invitation__icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:1.55rem}.invitation__copy h2,.first-household h2,.unavailable-state h2{color:var(--text);font-family:var(--display);margin:0;font-weight:400}.invitation__copy h2{font-size:1.65rem}.invitation__copy p{color:var(--muted);margin:.25rem 0 0;line-height:1.45}.invitation__actions{gap:.8rem;display:flex}.household-gateways{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-top:2rem;padding:1.5rem 0}.household-gateways__header,.household-gateways__actions{align-items:center;gap:1rem;display:flex}.household-gateways__header{justify-content:space-between}.household-gateways__actions .button{white-space:nowrap}.household-gateways__header h3{color:var(--text);font-family:var(--display);margin:0;font-size:1.7rem;font-weight:400}.household-gateways__header p{color:var(--muted);margin:.25rem 0 0;line-height:1.45}.household-gateways__policy-note{color:var(--muted-quiet);margin:.85rem 0 0;font-size:.9rem;line-height:1.45}.gateway-claim-form{background:#0a233c85;border:1px solid #539cdd57;border-radius:.85rem;grid-template-columns:minmax(14rem,1fr) auto;align-items:end;gap:1rem;margin-top:1.5rem;padding:1.25rem;display:grid}.gateway-claim-form__submit{white-space:nowrap;min-height:3.9rem}.household-gateways__feedback:empty{display:none}.sensor-activity,.household-activity{border:1px solid var(--border);background:#0a233c57;border-radius:1rem;gap:1rem;margin-top:2rem;padding:1.25rem;display:grid}.sensor-activity__header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.sensor-activity__header h3{margin:0}.sensor-activity__header p{color:var(--muted);margin:.25rem 0 0}.activity-window-picker{background:#05182a9e;border:1px solid #74a6dc3d;border-radius:.65rem;flex:none;grid-template-columns:repeat(5,auto);padding:.2rem;display:inline-grid}.activity-window-picker button{min-width:2.75rem;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:.48rem;padding:.45rem .6rem;font-size:.82rem;font-weight:650}.activity-window-picker button:hover,.activity-window-picker button:focus-visible{color:var(--text)}.activity-window-picker button:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.activity-window-picker .activity-window-picker__active{color:#eaf6ff;background:#378ed857;box-shadow:inset 0 0 0 1px #6fb4f53d}.sensor-activity__loading{min-height:4rem;color:var(--muted);align-items:center;gap:.65rem;font-size:.9rem;display:flex}.sensor-activity__empty{color:var(--muted);margin:0;padding:1rem 0}.sensor-activity__group{gap:.9rem;padding-top:.4rem;display:grid}.sensor-activity__group+.sensor-activity__group{border-top:1px solid #74a6dc29;margin-top:.35rem;padding-top:1.25rem}.sensor-activity__group-heading h3,.sensor-activity__group-heading p{margin:0}.sensor-activity__group-heading h3{color:var(--text);font-size:1rem}.sensor-activity__group-heading p{color:var(--muted);margin-top:.2rem;font-size:.86rem}.state-timeline{gap:.9rem;min-width:0;display:grid}.state-timeline__axis,.state-timeline__row{grid-template-columns:minmax(8rem,11rem) minmax(0,1fr);gap:1rem;display:grid}.state-timeline__axis>div{color:var(--muted-quiet);justify-content:space-between;font-size:.72rem;display:flex}.state-timeline__row{align-items:center}.state-timeline__sensor{gap:.15rem;min-width:0;display:grid}.state-timeline__sensor strong,.state-timeline__sensor span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.state-timeline__sensor strong{font-size:.9rem}.state-timeline__sensor span{color:var(--muted);font-size:.76rem}.state-timeline__sensor .state-timeline__current-state{color:#7eddb5}.state-timeline__track{background:linear-gradient(90deg,#0000 24.8%,#74a6dc1f 25%,#0000 25.2% 49.8%,#74a6dc1f 50%,#0000 50.2% 74.8%,#74a6dc1f 75%,#0000 75.2%),#041423b8;border:1px solid #74a6dc29;border-radius:999px;height:1.25rem;position:relative;overflow:hidden}.state-timeline__interval{top:.16rem;bottom:.16rem;left:var(--interval-left);width:max(var(--interval-width), 2px);background:linear-gradient(90deg,#3ea7ef,#75d4ff);border-radius:999px;position:absolute;box-shadow:0 0 .75rem #50b5f647}.state-timeline__interval--contact{background:linear-gradient(90deg,#4fc29a,#85e5bd);box-shadow:0 0 .75rem #4fc29a40}.climate-charts{gap:1rem;display:grid}.climate-chart-card{background:#04142373;border:1px solid #74a6dc29;border-radius:.8rem;gap:1rem;min-width:0;padding:1rem;display:grid}.climate-chart-card>header{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.climate-chart-card>header strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.climate-chart-card>header span{color:var(--muted);flex:none;font-size:.78rem}.measurement-chart{min-width:0}.measurement-chart+.measurement-chart{border-top:1px solid #74a6dc1f;padding-top:.85rem}.measurement-chart__heading{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.25rem;display:flex}.measurement-chart__heading strong{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:650}.measurement-chart__heading span{color:var(--text);font-variant-numeric:tabular-nums;font-weight:650}.measurement-chart__plot{width:100%;height:auto;min-height:9rem;display:block;overflow:visible}.measurement-chart__grid{stroke:#74a6dc24;stroke-width:1px;vector-effect:non-scaling-stroke}.measurement-chart__line{fill:none;stroke:#f1a65b;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5px;vector-effect:non-scaling-stroke}.measurement-chart__point{fill:#f1a65b;stroke:#041423e6;stroke-width:1.5px;vector-effect:non-scaling-stroke}.measurement-chart--humidity .measurement-chart__line{stroke:#58d4cc}.measurement-chart--humidity .measurement-chart__point{fill:#58d4cc}.measurement-chart__x-label,.measurement-chart__y-label{fill:var(--muted-quiet);font-family:var(--body);font-size:10px}.measurement-chart__y-label{text-anchor:end}.household-activity__header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.household-activity__header h3{margin:0}.household-activity__header p{color:var(--muted);margin:.25rem 0 0}.activity-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.activity-list li{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;display:grid}.activity-list__icon,.activity-list__empty>svg{width:2rem;height:2rem;color:var(--blue)}.activity-list__icon svg,.activity-list__empty>svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.7px;width:100%;height:100%}.activity-list__copy,.activity-list__empty{gap:.15rem;display:grid}.activity-list__copy span,.activity-list time,.activity-list__empty span{color:var(--muted);font-size:.875rem}.household-gateways__feedback .form-message,.household-gateways__feedback .status-message{margin:1rem 0 0}.gateway-list{gap:0;margin:1.25rem 0 0;padding:0;list-style:none;display:grid}.gateway-list li{border-top:1px solid #74a6dc29;grid-template-columns:auto minmax(9rem,1fr) minmax(11rem,1fr) auto;align-items:center;gap:1rem;min-height:5rem;padding-block:.9rem;display:grid}.gateway-list__icon,.gateway-list__empty>svg{color:#cce4ff;background:#23578b33;border:1px solid #6fb4f559;border-radius:.75rem;place-items:center;width:2.75rem;height:2.75rem;display:grid}.gateway-list__icon svg,.household-gateways__actions svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:1.35rem}.gateway-list__identity,.gateway-list__state{gap:.25rem;min-width:0;display:grid}.gateway-list__identity strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gateway-list__identity span,.gateway-list__state small,.gateway-list__empty span{color:var(--muted);font-size:.88rem}.gateway-state,.activation-state{border-radius:999px;width:fit-content;padding:.25rem .6rem;font-size:.78rem;font-weight:650}.gateway-state:before{content:"";background:currentColor;border-radius:50%;width:.45rem;height:.45rem;margin-right:.4rem;display:inline-block}.gateway-state--connected{color:#9ce4c2;background:#2d97652e}.gateway-state--disconnected{color:#ffb2a7;background:#b546382e}.gateway-state--unknown{color:#bdd0e7;background:#66819f33}.activation-state{color:#cce4ff;text-align:center;background:#3f84cb3d}.activation-state--claim_pending{color:#ffcf9b;background:#b4702c33}.activation-state--revoked,.activation-state--provisioning_failed{color:#ffb2a7;background:#b546382e}.gateway-list__empty{color:var(--muted);text-align:center;justify-items:center;gap:.45rem;margin:1.25rem 0 0;padding:1.5rem;display:grid}.gateway-list__empty strong{color:var(--text);font-weight:650}.household-access{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-top:2rem;padding:1.5rem 0}.household-access__header{justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.household-access__header h3{color:var(--text);font-family:var(--display);margin:0;font-size:1.7rem;font-weight:400}.household-access__header p{color:var(--muted);margin:.25rem 0 0;line-height:1.45}.invitation-form{background:#0a233c85;border:1px solid #539cdd57;border-radius:.85rem;grid-template-columns:minmax(14rem,1fr) auto;align-items:end;gap:1rem;margin-top:1.5rem;padding:1.25rem;display:grid}.invitation-form__submit{white-space:nowrap;min-height:3.9rem}.invitation-form__hint{color:var(--muted-quiet);grid-column:1/-1;margin:-.25rem 0 0;font-size:.88rem;line-height:1.45}.household-access__feedback:empty{display:none}.household-access__feedback .form-message,.household-access__feedback .status-message{margin:1rem 0 0}.status-message{color:#a9d5ff;font-size:.92rem}.managed-invitations{margin-top:1.4rem}.managed-invitations h3{color:var(--text);margin:0;font-size:.95rem;font-weight:650}.managed-invitations ul{gap:0;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.managed-invitations li{border-top:1px solid #74a6dc29;justify-content:space-between;align-items:center;gap:1rem;min-height:4.25rem;padding-block:.8rem;display:flex}.managed-invitation__copy{gap:.25rem;min-width:0;display:grid}.managed-invitation__copy strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.98rem;overflow:hidden}.managed-invitation__copy span,.managed-invitations__empty{color:var(--muted);font-size:.9rem}.managed-invitations__empty{margin:.75rem 0 0}.managed-invitation__actions{flex:none;gap:.6rem;display:flex}.connected-home-art--empty-state{object-fit:contain;width:min(62rem,100%);height:auto;display:block}.first-household p,.unavailable-state p{color:var(--muted);margin:.65rem 0 0;font-size:1.05rem;line-height:1.55}.first-household,.unavailable-state{text-align:center;justify-items:center;max-width:56rem;margin:3rem auto 0;display:grid}.first-household .connected-home-art--empty-state{width:min(48rem,100%)}.first-household h2,.unavailable-state h2{font-size:clamp(2rem,3vw,2.8rem)}.first-household .button{margin-top:1.5rem}.household-create{text-align:center;width:min(52rem,100%);margin-inline:auto}.household-create__header p{color:var(--muted);margin:1rem 0 0;font-size:clamp(1.1rem,2vw,1.45rem);line-height:1.5}.household-form{text-align:left;background:#07192ca8;border:1px solid #539cdd6b;border-radius:1rem;gap:1.45rem;margin-top:2rem;padding:clamp(1.5rem,4vw,3rem);display:grid;box-shadow:inset 0 0 3rem #2d76b90a}.field{gap:.55rem;display:grid}.field label{color:var(--text);font-size:1.02rem;font-weight:650}.field label span{color:var(--muted);font-weight:450}.field input,.field textarea{width:100%;min-height:3.9rem;color:var(--text);font:inherit;resize:vertical;background:#0c284494;border:1px solid #6fb4f5b3;border-radius:.7rem;outline:0;padding:.85rem 1rem;font-size:1.05rem;transition:border-color .17s,box-shadow .17s;box-shadow:inset 0 0 1.6rem #3279bc0d}.field input::placeholder,.field textarea::placeholder{color:#7495bd}.field input:focus,.field textarea:focus{border-color:#5cb9ff;box-shadow:0 0 0 3px #5cb9ff21,0 0 1.3rem #439ce51f}.field p{color:var(--muted-quiet);margin:0;font-size:.9rem}.form-message{color:#ffb2a7;min-height:1.35rem;margin:-.35rem 0 0;font-size:.92rem}.household-form__actions{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.household-create>.connected-home-art--empty-state{width:min(34rem,80%);margin:1.5rem auto -1rem}.app-shell--loading{display:grid}.loading-state{color:var(--muted);justify-content:center;align-items:center;gap:.9rem;display:flex}.loading-state__ring{border:2px solid #8fc1ff40;border-top-color:var(--blue);border-radius:50%;width:1.3rem;height:1.3rem;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=900px){.household-gateways__header,.household-gateways__actions{flex-direction:column;align-items:stretch}.gateway-claim-form{grid-template-columns:1fr}.gateway-list li{grid-template-columns:auto minmax(0,1fr)}.gateway-list__state,.activation-state{grid-column:2}}@media (width<=720px){.app-header{min-height:4.75rem}.brand{gap:.7rem}.brand__mark{width:2.45rem}.sign-in{padding-top:9rem}.sign-in h1{font-size:clamp(2.65rem,13vw,4.25rem)}.sign-in__content>p:first-of-type{max-width:22rem}.connected-home-art--backdrop{width:168%;left:-34%;right:-34%}.user-menu__name{display:none}.household-create h1{font-size:clamp(2.8rem,13vw,4rem)}.invitation{grid-template-columns:auto minmax(0,1fr);gap:1rem;padding:1.2rem}.invitation__actions{grid-column:1/-1;grid-template-columns:1fr 1fr;display:grid}.button--compact{min-width:0}.household-access__header{flex-direction:column;align-items:stretch}.household-access__header .button{width:100%}.invitation-form{grid-template-columns:1fr}.invitation-form__hint{grid-column:auto}.managed-invitations li{flex-direction:column;align-items:stretch}.managed-invitation__actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.managed-invitation__actions .button:only-child{grid-column:2}.sensor-activity__header{flex-direction:column;align-items:stretch}.activity-window-picker{grid-template-columns:repeat(5,minmax(0,1fr))}.state-timeline__axis,.state-timeline__row{grid-template-columns:1fr;gap:.4rem}.state-timeline__axis>span{display:none}.household-form{padding:1.35rem}.household-form__actions{grid-template-columns:1fr}.household-form__actions .button--primary{grid-row:1}}@media (height<=700px) and (width>=721px){.sign-in{padding-top:7.5rem}.sign-in h1{font-size:3.6rem}.connected-home-art--backdrop{bottom:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.workspace-shell{background:linear-gradient(145deg,#0c1c2b,#071421 65%);overflow:visible}.workspace-sidebar{z-index:20;border-right:1px solid var(--border);background:#081522;flex-direction:column;width:232px;padding:28px 18px;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.workspace-sidebar .brand,.workspace-drawer .brand{gap:9px;font-size:18px}.workspace-sidebar .brand__mark,.workspace-drawer .brand__mark{width:32px}.household-navigation{margin-top:32px}.eyebrow{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin:0 0 10px;font-size:11px;font-weight:600}.household-navigation__empty{color:var(--muted);padding-inline:10px;font-size:13px}.household-tree,.household-tree__pages{margin:0;padding:0;list-style:none}.household-tree{gap:8px;display:grid}.household-tree__parent{width:100%;min-height:46px;color:var(--muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:7px;align-items:center;gap:10px;padding:10px;font-size:14px;font-weight:600;display:flex}.household-tree__parent[aria-current=true]{color:var(--text)}.household-tree__parent:hover{background:#132639}.household-tree__parent>span{overflow-wrap:anywhere;flex:1;min-width:0}.household-tree__parent svg,.household-navigation__add svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.household-tree__home{width:18px;height:18px;color:var(--muted)}.household-tree__chevron{width:14px;height:14px;color:var(--muted)}.household-tree__parent[aria-expanded=true] .household-tree__chevron{transform:rotate(90deg)}.household-tree__pages{border-left:1px solid #284056;gap:3px;margin:4px 0 10px 19px;padding-left:10px;display:grid}.household-tree__pages[hidden]{display:none}.household-tree__pages a{color:#b6c9df;border:1px solid #0000;border-radius:6px;align-items:center;min-height:40px;padding:8px 10px;font-size:13px;line-height:1.4;text-decoration:none;display:flex}.household-tree__pages a:hover{color:var(--text);background:#132639}.household-tree__pages a[aria-current=page]{color:#fff3ed;box-shadow:inset 2px 0 var(--coral);background:#25303a;border-color:#4c4948}.household-navigation .household-navigation__add{border-top:1px solid var(--border);width:100%;min-height:48px;color:var(--muted);align-items:center;gap:10px;margin-top:16px;padding:16px 10px 0;font-size:13px;display:flex}.household-navigation .household-navigation__add:hover{color:var(--text)}.household-navigation__add svg{width:18px;height:18px}.household-navigation :is(button,a):focus-visible{outline:2px solid var(--blue);outline-offset:2px}.workspace-role{color:var(--muted);margin:auto 12px 0;padding-top:40px;font-size:12px}.workspace-body{min-width:0;margin-left:232px}.workspace-topbar{z-index:10;border-bottom:1px solid var(--border);background:#0a1928;align-items:center;gap:16px;min-height:72px;padding:12px 36px;display:flex;position:sticky;top:0}.workspace-context{overflow-wrap:anywhere;min-width:0;color:var(--muted);flex:1;font-size:13px}.workspace-context>span:first-child{color:#526a83;margin:0 14px}.workspace-context>span:last-child{color:var(--text)}.workspace-topbar .user-menu__trigger{min-height:44px}.workspace-topbar .user-menu__trigger img,.workspace-topbar .user-menu__initial{border-radius:50%;width:32px;height:32px}.workspace-menu-button{display:none}.workspace-content{outline:none;max-width:1440px;margin:0 auto;padding:36px 40px 64px}.workspace-page-header{margin-bottom:28px}.workspace-page-header h1{font-family:var(--display);letter-spacing:-.025em;outline:none;margin:0;font-size:clamp(32px,3.5vw,44px);font-weight:400}.workspace-page-header .eyebrow{text-transform:none;letter-spacing:0;margin-bottom:8px;font-size:13px}.workspace-content h2{letter-spacing:-.015em;margin:0;font-size:19px;font-weight:600}.workspace-content h3{margin:0;font-size:16px;font-weight:600}.section-heading{justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px;display:flex}.section-heading p{color:var(--muted);margin:7px 0 0;font-size:14px;line-height:1.5}.section-actions,.modal-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.text-button{color:#aed1f7;cursor:pointer;text-align:left;background:0 0;min-height:36px;padding:6px 0;font-size:13px}.text-button:hover{color:#fff;text-decoration:underline}.text-button:disabled{opacity:.5;cursor:default}.workspace-content .button{box-shadow:none}.workspace-content .button--small,.workspace-modal .button--small{min-height:40px;padding:9px 16px}.workspace-hint,.workspace-freshness{color:var(--muted);font-size:13px;line-height:1.5}.workspace-freshness{margin:8px 0 20px;font-size:12px}.workspace-empty{border:1px dashed var(--border);border-radius:12px;padding:28px}.workspace-empty p{color:var(--muted);line-height:1.6}.dashboard-page{gap:30px;display:grid}.connection-summary{border:1px solid var(--border);background:#102233;border-radius:10px;justify-content:space-between;align-items:center;gap:20px;padding:18px 22px;display:flex}.connection-summary h2{font-size:14px}.connection-summary p{color:var(--muted);margin:10px 0 0;font-size:13px}.connection-summary__time{margin:6px 0 0 12px;font-size:12px;display:inline-block}.connection-summary>.text-button{flex-shrink:0}.dashboard-rooms{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));align-items:start;gap:18px;display:grid}.room-summary{border:1px solid var(--border);border-radius:10px;overflow:hidden}.room-summary>header{border-bottom:1px solid var(--border);background:#112437;justify-content:space-between;align-items:center;gap:16px;padding:13px 20px;display:flex}.room-summary h3,.room-group h3,.room-summary li strong{overflow-wrap:anywhere;min-width:0}.room-summary>header .text-button,.room-actions{flex-shrink:0}.room-summary>.workspace-hint{padding:0 20px}.room-summary ul{margin:0;padding:0 20px;list-style:none}.room-summary li{gap:8px;padding:19px 0;display:grid}.room-summary li+li{border-top:1px solid var(--border)}.room-summary li strong{font-size:14px}.room-summary li>span{color:#c1d3e7;flex-wrap:wrap;justify-content:space-between;gap:5px 12px;font-size:13px;display:flex}.room-summary li small{color:var(--muted);font-size:11px}.workspace-content .household-activity,.workspace-content .sensor-activity{background:0 0;border:0;border-radius:0;margin-top:0;padding:0}.workspace-content .household-activity__header,.workspace-content .sensor-activity__header{align-items:center}.workspace-content .household-activity__header p,.workspace-content .sensor-activity__header p{margin-top:7px;font-size:14px}.workspace-content .activity-list{margin-bottom:10px}.workspace-content .activity-list li{gap:14px;padding:14px 0}.workspace-content .activity-list li+li{border-top:1px solid var(--border)}.workspace-content .activity-list__copy{gap:5px;display:grid}.workspace-content .activity-list__copy strong{font-size:14px}.workspace-content .activity-list__copy span,.workspace-content .activity-list time{color:var(--muted);font-size:12px}.workspace-content .activity-list time{text-align:right}.view-switch{border:1px solid var(--border);background:#081522;border-radius:8px;margin-bottom:28px;padding:4px;display:inline-flex}.view-switch button{min-height:38px;color:var(--muted);cursor:pointer;background:0 0;border-radius:5px;padding:7px 24px}.view-switch button[aria-pressed=true]{color:#fff;background:#243d55}.trend-refresh{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.trend-refresh .text-button{flex-shrink:0}.workspace-content .sensor-activity__group+.sensor-activity__group{margin-top:28px;padding-top:28px}.workspace-content .state-timeline__row,.workspace-content .state-timeline__axis{grid-template-columns:minmax(130px,190px) minmax(0,1fr)}.workspace-content .climate-chart-card{box-shadow:none;background:#0d1e2e}.workspace-content .climate-chart-card>header{flex-wrap:wrap}.workspace-content .measurement-chart__plot{max-height:220px}.devices-page{gap:36px;display:grid}.rooms-panel{min-width:0}.room-groups{gap:24px;display:grid}.room-group{border:1px solid var(--border);border-radius:10px;scroll-margin-top:95px}.room-group>header{background:#112437;border-radius:10px 10px 0 0;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.room-group>header>div{flex-wrap:wrap;align-items:baseline;gap:6px 14px;min-width:0;display:flex}.room-group>header span{color:var(--muted);font-size:12px}.room-group>.workspace-hint{margin:18px 20px}.room-actions{position:relative}.room-actions summary{color:var(--muted);cursor:pointer;padding:9px 5px;font-size:13px}.room-actions>div{z-index:5;border:1px solid var(--border);background:#1a2e43;border-radius:8px;min-width:180px;padding:7px;position:absolute;right:0;box-shadow:0 8px 24px #0006}.room-actions button{text-align:left;width:100%;color:var(--text);cursor:pointer;overflow-wrap:anywhere;background:0 0;padding:12px;display:block}.room-actions button:hover{background:#28415b}.device-row{justify-content:space-between;align-items:center;gap:20px;margin:0 20px;padding:18px 0;display:flex}.device-row+.device-row{border-top:1px solid var(--border)}.device-row>div{overflow-wrap:anywhere;gap:6px;min-width:0;display:grid}.device-row strong{font-size:14px}.device-row small{color:var(--muted);font-size:12px}.placement-editor{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.placement-editor select{border:1px solid var(--border);max-width:220px;min-height:42px;color:var(--text);font:inherit;background:#081522;border-radius:6px;padding:8px 12px;font-size:14px}.workspace-content .household-gateways,.workspace-content .household-access{border:0;margin:0;padding:0}.workspace-content .household-gateways{border-top:1px solid var(--border);padding-top:28px}.workspace-content .household-gateways__header p,.workspace-content .household-access__header p{font-size:14px}.workspace-content .household-gateways__policy-note{font-size:12px}.workspace-content .invitation-list{margin:0 0 28px}.workspace-content .invitation{box-shadow:none;padding:16px 20px}.workspace-content .invitation__copy h2{font-family:inherit;font-size:16px}.workspace-content .invitation__copy p{font-size:13px}.workspace-content .invitation__icon{width:36px;height:36px;box-shadow:none}.workspace-content .household-create{padding-top:0}.workspace-content .household-create h1{font-family:var(--display);font-size:36px;font-weight:400}.workspace-content .first-household{margin-top:0}.workspace-modal{width:min(480px,100vw - 32px);max-height:calc(100svh - 32px);color:var(--text);background:#0f2133;border:1px solid #405971;border-radius:14px;padding:28px;overflow-y:auto}.workspace-modal::backdrop,.workspace-drawer::backdrop{background:#020912b3}.workspace-modal h2{font-family:var(--display);margin:0 0 12px;font-size:28px;font-weight:400}.workspace-modal p{color:var(--muted);font-size:14px;line-height:1.5}.workspace-modal .field{margin-top:24px}.workspace-modal .field p{margin:0;font-size:12px}.modal-actions{justify-content:flex-end;margin-top:28px}.rooms-panel__suggestions{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.rooms-panel__suggestions button{border:1px solid var(--border);min-height:36px;color:var(--muted);cursor:pointer;background:#172c40;border-radius:6px;padding:9px 12px;font-size:12px}.workspace-drawer{width:min(320px,90vw);max-width:none;height:100svh;max-height:none;color:var(--text);border:0;border-right:1px solid var(--border);background:#081522;margin:0;padding:0;position:fixed;inset:0 auto 0 0}.workspace-drawer__content{flex-direction:column;min-height:100%;padding:24px 18px;display:flex}.workspace-drawer__header{justify-content:space-between;align-items:center;gap:10px;display:flex}.workspace-drawer .household-navigation{margin-top:28px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:50;color:#081522;background:#fff;padding:12px;position:fixed;top:-100px;left:16px}.skip-link:focus{top:12px}.workspace-shell :is(select,summary):focus-visible{outline:3px solid var(--blue);outline-offset:3px}@media (width<=1100px){.workspace-content{padding:28px}.workspace-topbar{padding-inline:28px}.device-row{flex-wrap:wrap}}@media (width<=900px){.workspace-sidebar{display:none}.workspace-body{margin-left:0}.workspace-menu-button{min-height:42px;display:inline-flex}.workspace-content .gateway-list li{grid-template-columns:auto minmax(0,1fr) auto}.workspace-content .gateway-list__state{grid-column:3}.workspace-content .activation-state{grid-column:2}}@media (width<=600px){.workspace-topbar{gap:12px;min-height:68px;padding:10px 16px}.workspace-context{flex-direction:column;gap:4px;font-size:12px;display:flex}.workspace-context>span:first-child{display:none}.workspace-content{padding:26px 20px 40px}.workspace-page-header{margin-bottom:24px}.workspace-page-header h1{font-size:34px}.section-heading,.connection-summary{flex-direction:column;align-items:flex-start}.connection-summary{gap:6px;padding:18px}.connection-summary__time{margin:10px 0 0;display:block}.section-heading{gap:12px}.dashboard-page{gap:28px}.room-summary>header{padding:12px 16px}.room-summary ul{padding-inline:16px}.workspace-content .activity-list li{grid-template-columns:auto minmax(0,1fr);gap:5px 12px}.workspace-content .activity-list time{text-align:left;grid-column:2}.workspace-content .activity-list__icon{grid-row:1/3}.workspace-content .household-activity__header{align-items:flex-start}.workspace-content .household-activity__header .button{min-width:0;padding:7px 10px}.workspace-content .climate-chart-card{padding:14px}.trend-refresh{align-items:flex-start}.room-group>header{padding:12px 16px}.device-row{gap:10px;margin-inline:16px}.placement-editor{width:100%}.placement-editor label{flex:100%}.placement-editor select{width:100%;max-width:none}.workspace-content .gateway-list li{grid-template-columns:auto minmax(0,1fr)}.workspace-content .gateway-list__state{grid-column:2}.workspace-content .invitation{padding:14px}}body:has(.workspace-drawer[open],.workspace-modal[open]){overflow:hidden}@media (width<=720px){.workspace-content .sensor-activity__header{align-items:flex-start}.workspace-content .state-timeline__row,.workspace-content .state-timeline__axis{grid-template-columns:1fr}}
