span[data-v-5d585e29]{display:inline-grid;place-items:center}svg[data-v-5d585e29]{width:1.25em;height:1.25em;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.navigation-icon[data-v-340c01df]{display:grid;place-items:center;width:1.4rem;height:1.4rem;flex:0 0 1.4rem}svg[data-v-340c01df]{display:block;width:100%;height:100%;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.filled[data-v-340c01df]{fill:currentColor;stroke:none}text[data-v-340c01df]{fill:currentColor;stroke:none;font:700 12px Segoe UI,system-ui,sans-serif}:root{font-family:Inter,Segoe UI,system-ui,sans-serif;color:#18232f;background:#f5f7f8;font-synthesis:none;--ink:#18232f;--muted:#6d7c87;--line:#dce4e7;--teal:#087e78;--teal-dark:#08645f;--panel:#fff;--nav:#112b31}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Segoe UI,system-ui,sans-serif}h1{line-height:1.05;margin-bottom:.7rem;letter-spacing:-.045em}h2{letter-spacing:-.025em}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-weight:700;font-size:.72rem;color:var(--teal);margin-bottom:.75rem}.brand-mark{display:grid;place-items:center;width:2.65rem;height:2.65rem;border-radius:.75rem;background:#21a99e;color:#fff;font-weight:800;font-size:.85rem;box-shadow:0 8px 28px #0b746e45}.splash{min-height:100vh;display:grid;place-items:center;background:var(--nav)}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr;background:var(--nav);overflow:hidden}.login-copy{position:relative;display:flex;flex-direction:column;justify-content:center;padding:10vw;color:#e9f5f3;background:radial-gradient(circle at 20% 80%,#17665f 0,transparent 35%),linear-gradient(145deg,#102c32,#153940)}.login-copy:after{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:45px 45px;-webkit-mask-image:linear-gradient(to bottom,transparent,#000);mask-image:linear-gradient(to bottom,transparent,#000)}.login-copy>*{position:relative;z-index:1}.login-copy .brand-mark{margin-bottom:4rem}.login-copy .eyebrow{color:#68d6cb}.login-copy h1{font-size:clamp(2.8rem,4vw,5.8rem);max-width:850px}.login-copy h1 span{color:#5ed4c8}.login-copy>p:last-child{font-size:1.1rem;color:#b8cfce;max-width:570px;line-height:1.7}.login-card{align-self:center;width:min(430px,calc(100% - 3rem));margin:auto;padding:3rem;background:#fff;border-radius:1.4rem;box-shadow:0 30px 90px #071b2055;display:grid;gap:1.25rem}.login-card h2{font-size:2rem;margin-bottom:.25rem}.login-card p{color:var(--muted)}label{font-size:.82rem;font-weight:700;color:#42515b;display:grid;gap:.45rem}input,select{width:100%;border:1px solid #cbd6da;border-radius:.65rem;padding:.78rem .9rem;background:#fff;color:var(--ink);outline:none}input:focus,select:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0d8b8320}.primary,.secondary{border:0;border-radius:.65rem;padding:.82rem 1.15rem;font-weight:700}.primary{background:var(--teal);color:#fff}.primary:hover{background:var(--teal-dark)}.secondary{background:#e5f3f1;color:var(--teal-dark)}button:disabled{opacity:.55;cursor:not-allowed}.error{padding:.75rem 1rem;border-radius:.6rem;background:#fff0ed;color:#a43d2d;font-size:.9rem}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.app-shell>aside{position:sticky;top:0;height:100vh;background:var(--nav);color:#d9e7e7;padding:1.5rem 1rem;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:.8rem;padding:.25rem .5rem 2rem}.brand div:last-child{display:grid}.brand strong{font:700 1.05rem Manrope}.brand span{font-size:.75rem;color:#84a3a4}.org-select{display:grid;gap:.25rem;color:#85a1a3;padding:0 .5rem 1.25rem}.org-select span{font-size:.75rem}.org-select strong{color:#eef8f7;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell nav{display:grid;gap:.25rem}.app-shell nav button{border:0;background:transparent;color:#9cb4b5;text-align:left;padding:.8rem 1rem;border-radius:.6rem;font-weight:600}.app-shell nav button span{display:inline-block;width:1.6rem}.app-shell nav button:hover,.app-shell nav button.active{color:#fff;background:#21464b}.profile{margin-top:auto;border-top:1px solid #29464b;padding:1rem .4rem 0;display:grid;grid-template-columns:auto 1fr auto;gap:.65rem;align-items:center}.profile>div:nth-child(2){display:grid;font-size:.82rem}.profile span{color:#81a0a1;font-size:.7rem}.profile button{border:0;background:transparent;color:#9cb4b5}.avatar{width:2.25rem;height:2.25rem;border-radius:50%;display:grid;place-items:center;background:#2b5d60;color:#bff3ed;font-weight:700;font-size:.72rem}.content{padding:clamp(1.4rem,4vw,4rem);max-width:1500px;width:100%;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem}.page-head p{color:var(--muted)}.summary-grid,.metric-hero{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem}.summary-grid article,.metric-hero article,.chart-grid article{background:var(--panel);border:1px solid var(--line);border-radius:1rem;padding:1.3rem;box-shadow:0 8px 24px #20343c09}.summary-grid span,.metric-hero span{display:block;color:var(--muted);font-size:.82rem}.summary-grid strong{font:800 2rem Manrope}.success{color:#07836e}.warning{color:#cb6b29}.device-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1rem}.device-card{border:1px solid var(--line);border-radius:1rem;background:var(--panel);padding:1.25rem;text-align:left;color:var(--ink);transition:.18s ease;box-shadow:0 8px 25px #263b4108}.device-card:hover{transform:translateY(-3px);border-color:#87bcb7;box-shadow:0 14px 35px #24474c14}.device-card-head{display:flex;justify-content:space-between;align-items:center}.device-icon{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:.7rem;background:#e2f3f1;color:var(--teal);font-size:1.4rem}.device-card h3{margin:1.3rem 0 .25rem}.device-card p{font-size:.78rem;color:var(--muted)}.status{display:inline-flex;align-items:center;gap:.35rem;text-transform:uppercase;font-size:.67rem;font-weight:800;letter-spacing:.07em;color:#718087}.status:before{content:"";width:.45rem;height:.45rem;border-radius:50%;background:currentColor}.status.online{color:#07836e}.status.offline{color:#c14f3e}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;padding-top:1rem;border-top:1px solid #edf1f2}.metrics span{font-size:.62rem;color:var(--muted);display:block;min-height:2em}.metrics strong{font:700 1.05rem Manrope}.empty{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;border:1px dashed #bdcbd0;border-radius:1rem;color:var(--muted)}.empty strong{color:var(--ink)}.claim-panel,.settings-panel,.user-form{margin-top:1.3rem;padding:1.2rem;background:#fff;border:1px solid var(--line);border-radius:1rem;display:grid;grid-template-columns:1fr minmax(220px,380px) auto;gap:1rem;align-items:center}.claim-panel div,.settings-panel>div{display:grid}.claim-panel span,.settings-panel p{font-size:.78rem;color:var(--muted);margin:0}.back{border:0;background:transparent;color:var(--teal);font-weight:700;padding:0 0 1.5rem}.metric-hero article strong{font:800 clamp(2rem,4vw,3rem) Manrope}.section-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin:2.5rem 0 1rem}.section-head h2{margin-bottom:.2rem}.section-head p{margin:0;color:var(--muted);font-size:.85rem}.filters{display:flex;gap:.5rem}.filters select{width:auto}.chart-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.chart-grid h3{font-size:.9rem}.chart svg{width:100%;height:170px;overflow:visible}.grid-line{stroke:#e7edef;stroke-width:.35}.chart-meta{display:flex;justify-content:space-between;font-size:.72rem;color:var(--muted);margin-bottom:.8rem}.chart-meta strong{color:var(--ink)}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:1rem}table{border-collapse:collapse;width:100%;font-size:.85rem}th,td{text-align:left;padding:.9rem 1rem;border-bottom:1px solid #edf1f2;white-space:nowrap}th{color:#718087;font-size:.69rem;text-transform:uppercase;letter-spacing:.08em}td small{display:block;color:var(--muted)}tr:last-child td{border-bottom:0}.event-dot{display:inline-block;width:.5rem;height:.5rem;border-radius:50%;background:#7c8990;margin-right:.5rem}.event-dot.warning{background:#e09a32}.event-dot.critical{background:#d14e3d}.event-dot.normal,.event-dot.status{background:#1b9b83}.settings-panel label{width:100%}.user-form{grid-template-columns:1.2fr 1fr 1fr .7fr auto}.user-form h2{grid-column:1/-1;margin:0}@media(max-width:900px){.login-shell{grid-template-columns:1fr}.login-copy{display:none}.app-shell{grid-template-columns:1fr}.app-shell>aside{position:static;height:auto;display:grid;grid-template-columns:1fr auto;padding:1rem}.brand{padding:0}.org-select{display:none}.app-shell nav{grid-column:1/-1;grid-row:2;display:flex;margin-top:1rem}.app-shell nav button{flex:1;text-align:center}.profile{margin:0;border:0;padding:0}.profile>div:nth-child(2){display:none}.summary-grid,.metric-hero,.chart-grid,.claim-panel,.settings-panel,.user-form{grid-template-columns:1fr}.user-form h2{grid-column:auto}.section-head{align-items:flex-start;flex-direction:column}.content{padding:1.25rem}}@media(max-width:520px){.summary-grid{grid-template-columns:repeat(3,1fr)}.summary-grid article{padding:.8rem}.summary-grid strong{font-size:1.45rem}.summary-grid span{font-size:.65rem}.metrics{gap:.2rem}.login-card{padding:1.7rem}.filters{width:100%}.filters select{flex:1;min-width:0}}.brand strong,.summary-grid strong,.metrics strong,.metric-hero article strong{font-family:Segoe UI,system-ui,sans-serif}.app-shell,.content,.table-wrap,.user-form>*{min-width:0}.table-wrap{max-width:100%}.auth-switch{border:0;background:transparent;color:var(--teal);font-weight:700;padding:.35rem}.auth-switch:hover{text-decoration:underline}.google-button-slot{display:grid;gap:.45rem}.gsi-material-button{-webkit-appearance:none;appearance:none;background:#fff;border:1px solid #747775;border-radius:4px;box-sizing:border-box;color:#1f1f1f;cursor:pointer;font-family:Roboto,Arial,sans-serif;font-size:14px;height:40px;letter-spacing:.25px;outline:none;overflow:hidden;padding:0 12px;position:relative;text-align:center;transition:background-color .218s,border-color .218s,box-shadow .218s;white-space:nowrap;width:100%;max-width:400px;justify-self:center}.gsi-material-button-content-wrapper{align-items:center;display:flex;flex-flow:row nowrap;height:100%;justify-content:space-between;position:relative;width:100%}.gsi-material-button-icon{height:20px;margin-right:10px;min-width:20px;width:20px}.gsi-material-button-icon svg{display:block;width:100%;height:100%}.gsi-material-button-contents{flex-grow:1;font:700 14px Roboto,Arial,sans-serif;overflow:hidden;text-overflow:ellipsis}.gsi-material-button-state{inset:0;opacity:0;position:absolute;transition:opacity .218s}.gsi-material-button:disabled{cursor:default;background:#ffffff61;border-color:#1f1f1f1f}.gsi-material-button:disabled .gsi-material-button-contents,.gsi-material-button:disabled .gsi-material-button-icon{opacity:.38}.gsi-material-button:not(:disabled):active .gsi-material-button-state,.gsi-material-button:not(:disabled):focus-visible .gsi-material-button-state{background:#303030;opacity:.12}.gsi-material-button:not(:disabled):hover{box-shadow:0 1px 2px #3c404b4d,0 1px 3px 1px #3c404b26}.gsi-material-button:not(:disabled):hover .gsi-material-button-state{background:#303030;opacity:.08}.auth-diagnostic{font-size:.8rem;color:var(--muted);text-align:center}.onboarding-shell{min-height:100vh;display:grid;place-items:center;padding:1.5rem;background:linear-gradient(145deg,#102c32,#153940)}.onboarding-card{width:min(470px,100%);display:grid;gap:1.15rem;padding:clamp(1.7rem,5vw,3rem);border-radius:1.4rem;background:var(--panel);box-shadow:0 30px 90px #071b2055}.onboarding-card h1{font-size:2rem;margin:0}.onboarding-card>p{color:var(--muted);margin:0}.onboarding-card .brand-mark{margin-bottom:.5rem}.onboarding-user{display:grid;gap:.2rem;padding:.9rem 1rem;border:1px solid var(--line);border-radius:.7rem;background:color-mix(in srgb,var(--teal) 6%,var(--panel))}.onboarding-user span{font-size:.85rem;color:var(--muted);overflow-wrap:anywhere}:root[data-theme=dark] .gsi-material-button{background:#131314;border-color:#8e918f;color:#e3e3e3}:root[data-theme=dark] .gsi-material-button:disabled{background:#13131461;border-color:#8e918f1f}:root[data-theme=dark] .gsi-material-button:not(:disabled):active .gsi-material-button-state,:root[data-theme=dark] .gsi-material-button:not(:disabled):focus-visible .gsi-material-button-state,:root[data-theme=dark] .gsi-material-button:not(:disabled):hover .gsi-material-button-state{background:#fff}.locations-page{display:grid;gap:1.25rem}.location-add,.room-add{display:flex;gap:.75rem;align-items:end;padding:1rem;background:var(--panel);border:1px solid var(--line);border-radius:1rem}.location-add label{flex:1}.site-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.site-card,.device-location-panel{background:var(--panel);border:1px solid var(--line);border-radius:1rem;padding:1.2rem}.site-card header,.room-row,.location-device-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.site-card header{display:grid;grid-template-columns:1fr auto}.site-card h2{font-size:1.15rem;margin:0}.site-card header span,.location-device-row span{font-size:.78rem;color:var(--muted)}.room-list{border-top:1px solid var(--line);margin-top:1rem}.room-row{display:grid;grid-template-columns:1fr auto;padding:.7rem 0;border-bottom:1px solid #edf1f2}.room-add{margin-top:1rem;padding:.7rem;background:#f4f9f8}.room-add input{flex:1}.site-rename,.room-rename{grid-column:1/-1;display:grid;grid-template-columns:1fr auto auto;gap:.65rem;align-items:end;padding-top:.7rem}.site-rename .primary,.site-rename .secondary,.room-rename .primary,.room-rename .secondary{height:43px}.device-location-panel .section-head{margin:0 0 1rem}.location-search{max-width:340px}.location-device-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(160px,1fr) minmax(220px,.9fr);padding:.85rem 0;border-top:1px solid #edf1f2}.location-device-row>div{display:grid;gap:.2rem}.location-device-row select{padding:.55rem .65rem}@media(max-width:1000px){.site-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.location-add,.room-add{align-items:stretch;flex-direction:column}.site-list{grid-template-columns:1fr}.location-device-row{grid-template-columns:1fr;align-items:start}.location-search{max-width:none}.site-rename,.room-rename{grid-template-columns:1fr}.site-rename .primary,.site-rename .secondary,.room-rename .primary,.room-rename .secondary{width:100%}}.chart-grid article{padding:0;background:transparent;border:0;box-shadow:none}.chart-card{display:block;min-width:0;width:100%;background:var(--panel);border:1px solid var(--line);border-radius:1rem;padding:1.3rem;color:var(--ink);text-align:left;box-shadow:0 8px 24px #20343c09;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.chart-card:hover,.chart-card:focus-visible{border-color:#72aaa6;box-shadow:0 14px 35px #24474c18;transform:translateY(-2px)}.chart svg{display:block;width:100%;height:auto;min-height:190px;overflow:visible}.grid-line{stroke:#e1e8eb;stroke-width:1}.axis-label,.detail-axis-label{fill:#667781;font-size:10px}.axis-title,.detail-axis-title{fill:#44545e;font-size:11px;font-weight:700}.empty-chart-label{fill:#73838c;font-size:13px}.chart-meta{margin-bottom:.4rem}.chart-open-hint{display:block;margin-top:.5rem;color:var(--teal);font-size:.73rem;font-weight:700}.chart-detail-screen{position:fixed;z-index:20;inset:0;overflow:auto;background:#f5f7f8;padding:clamp(1rem,3vw,3rem)}.chart-detail-header{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;max-width:1700px;margin:0 auto 1rem}.chart-detail-title h1{font-size:clamp(1.8rem,3vw,3rem);margin-bottom:0}.chart-detail-title .eyebrow{margin-bottom:.35rem}.chart-detail-back{padding-bottom:1rem}.period-picker{min-width:250px}.combined-chart-legend{max-width:1700px;margin:0 auto 1rem;display:flex;align-items:center;justify-content:flex-end;gap:1.5rem;flex-wrap:wrap;color:#52636d;font-size:.82rem;font-weight:700}.combined-chart-legend span{display:flex;align-items:center;gap:.45rem}.combined-chart-legend i{display:block;width:1.8rem;height:3px;border-radius:2px}.legend-temperature{background:#e46645}.legend-humidity{background:#3186c7}.legend-dewpoint{background:#15947e}.combined-chart{max-width:1700px;margin:auto;background:#fff;border:1px solid var(--line);border-radius:1rem;box-shadow:0 12px 35px #20343c0c;padding:clamp(.4rem,1.5vw,1.25rem)}.combined-chart svg{display:block;width:100%;height:auto;max-height:calc(100vh - 230px);min-height:430px}.vertical-grid-line{stroke-dasharray:3 5}.series-line{fill:none;stroke-width:3;vector-effect:non-scaling-stroke}.series-temperature{stroke:#e46645}.series-humidity{stroke:#3186c7}.series-dewpoint{stroke:#15947e}.crosshair{stroke:#354750;stroke-width:1.5;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}.point-temperature,.point-humidity,.point-dewpoint{stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke}.point-temperature{fill:#e46645}.point-humidity{fill:#3186c7}.point-dewpoint{fill:#15947e}.chart-hit-area{fill:transparent;cursor:crosshair}.chart-tooltip rect{fill:#132e34;stroke:#315159;stroke-width:1}.chart-tooltip text{fill:#e9f4f3;font-size:13px}.chart-tooltip .tooltip-time{fill:#9ec0bf;font-size:12px;font-weight:700}.chart-detail-screen>.error{max-width:1700px;margin:0 auto 1rem}.chart-statistics{max-width:1700px;margin:1rem auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.chart-statistic-card{min-width:0;background:#fff;border:1px solid var(--line);border-radius:1rem;padding:1rem 1.2rem;box-shadow:0 8px 24px #20343c09;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:opacity .18s ease,border-color .18s ease,box-shadow .18s ease}.chart-statistic-card:hover,.chart-statistic-card:focus-visible{border-color:#72aaa6}.chart-statistic-card.inactive{opacity:.48;box-shadow:none}.chart-statistic-card.inactive header strong{text-decoration:line-through}.chart-statistics header{display:flex;align-items:center;gap:.55rem;margin-bottom:.85rem}.chart-statistics header i{display:block;width:1.6rem;height:3px;border-radius:2px}.chart-statistics dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:0}.chart-statistics dl div{min-width:0}.chart-statistics dt{color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase}.chart-statistics dd{margin:.15rem 0 0;font:700 clamp(.9rem,1.4vw,1.1rem) Manrope;white-space:nowrap}.chart-statistic-card:disabled{opacity:1;cursor:default}.chart-statistic-card:disabled:hover{border-color:var(--line)}@media(max-width:720px){.chart-detail-header{align-items:stretch;flex-direction:column;gap:1rem}.period-picker{min-width:0}.combined-chart-legend{justify-content:flex-start;gap:.65rem 1rem}.combined-chart svg{min-height:360px}.chart-detail-screen{padding:.8rem}.detail-axis-label{font-size:12px}.chart-statistics{grid-template-columns:1fr}}.chart-period-controls{display:flex;align-items:end;justify-content:flex-end;gap:1rem;flex-wrap:wrap}.chart-period-form{display:grid;grid-template-columns:minmax(270px,1fr) minmax(270px,1fr) auto;column-gap:1rem;row-gap:.75rem;align-items:end}.range-boundary{display:grid;grid-template-columns:minmax(150px,1fr) 105px;gap:.75rem;min-width:270px}.chart-period-form .primary,.day-period-form .primary{height:43px;display:flex;align-items:center;justify-content:center;line-height:1}.day-period-form{display:grid;grid-template-columns:minmax(180px,240px) auto;gap:1rem;align-items:end}.chart-series-controls{max-width:1700px;margin:0 auto 1rem;display:flex;justify-content:flex-end;gap:.6rem;flex-wrap:wrap}.series-toggle{display:flex;align-items:center;gap:.45rem;border:1px solid var(--line);border-radius:2rem;padding:.55rem .8rem;background:var(--panel);color:#42515b;font-size:.82rem;font-weight:700}.series-toggle:hover,.series-toggle:focus-visible{border-color:#72aaa6}.series-toggle.inactive{opacity:.48;background:#edf1f2;text-decoration:line-through}.series-toggle i{display:block;width:1.5rem;height:3px;border-radius:2px}.chart-hit-area{touch-action:pan-y}.chart-hit-area.selecting{cursor:col-resize}.chart-zoom-selection{fill:#0d8b8330;stroke:#39bdb1;stroke-width:1.5;stroke-dasharray:5 4;pointer-events:none}.chart-interaction-help{min-height:1.8rem;display:flex;align-items:center;justify-content:flex-start;gap:1rem;margin:.35rem 0 0;color:var(--muted);font-size:.75rem}.touch-chart-hint{display:none}.chart-zoom-back{margin-left:auto;border:0;background:transparent;color:var(--teal);font-family:inherit;font-size:.76rem;font-weight:700;line-height:1.2;padding:.25rem .4rem}.chart-zoom-back:hover,.chart-zoom-back:focus-visible{color:var(--teal-dark);text-decoration:underline}.settings-panel{align-items:end}.settings-panel>div{align-self:center}.settings-panel>button{align-self:end}@media(max-width:1100px){.chart-period-controls{justify-content:flex-start}.chart-period-form{width:100%}.chart-detail-header{align-items:stretch;flex-direction:column;gap:1rem}.chart-series-controls{justify-content:flex-start}}@media(max-width:760px){.chart-period-form{grid-template-columns:1fr}.range-boundary{grid-template-columns:minmax(0,1fr) 105px;min-width:0}.day-period-form{grid-template-columns:minmax(0,1fr) auto;width:100%}}@media(max-width:620px){.chart-period-form .primary{grid-column:auto}.chart-series-controls{display:grid;grid-template-columns:1fr}.series-toggle{justify-content:flex-start}.mouse-chart-hint{display:none}.touch-chart-hint{display:block}}.chart-detail-header{display:block}.chart-filter-bar{max-width:1700px;margin:0 auto 1rem}.chart-period-controls{display:grid;grid-template-columns:250px minmax(0,1fr);gap:1.25rem;align-items:end}.chart-period-form{display:grid;grid-template-columns:max-content max-content max-content;gap:1.25rem;justify-content:start;min-width:0}.range-boundary{display:grid;grid-template-columns:170px 105px;gap:.75rem;min-width:0}.range-boundary>label,.range-boundary input,.chart-period-form .primary{min-width:0}.day-period-form{justify-self:start}@media(max-width:950px){.chart-period-controls{grid-template-columns:1fr}.period-picker{width:min(100%,300px)}.chart-period-form{width:100%}}@media(max-width:900px){.chart-period-form{grid-template-columns:1fr;gap:1rem}.range-boundary{grid-template-columns:240px 120px}.chart-period-form .primary{justify-self:start}}@media(max-width:700px){.range-boundary{grid-template-columns:minmax(0,240px) 110px}.chart-period-form .primary{justify-self:stretch}.day-period-form{width:100%}}@media(max-width:370px){.range-boundary,.day-period-form{grid-template-columns:1fr}.day-period-form .primary{width:100%}}.access-page{display:grid;gap:1.4rem}.access-page>.page-head{margin-bottom:.2rem}.notice{padding:.75rem 1rem;border-radius:.6rem;background:#e7f6f2;color:#08705f;font-size:.9rem}.access-section{background:var(--panel);border:1px solid var(--line);border-radius:1.1rem;padding:clamp(1rem,2.5vw,1.7rem);box-shadow:0 8px 28px #20343c09}.access-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.4rem}.access-section-head h2{font-size:1.55rem;margin-bottom:.35rem}.access-section-head p{margin-bottom:0;color:var(--muted)}.device-register-form{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(240px,1fr) auto;gap:1rem;align-items:end;padding:1.1rem;margin-bottom:1rem;border:1px solid #c8dfdc;border-radius:.85rem;background:#f1faf8}.device-register-form .primary,.inline-edit .primary,.inline-edit .secondary,.username-edit .primary,.username-edit .secondary{height:43px;display:flex;align-items:center;justify-content:center}.managed-device-list{display:grid;border-top:1px solid var(--line)}.managed-device-row{position:relative;display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(140px,.8fr) minmax(140px,.8fr) auto auto;gap:1rem;align-items:center;padding:1rem 0;border-bottom:1px solid var(--line)}.managed-device-row:last-child{border-bottom:0}.managed-device-main{display:flex;align-items:center;gap:.8rem;min-width:0}.managed-device-main>div{display:grid;min-width:0}.managed-device-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.managed-device-main span:last-child,.managed-device-meta span{color:var(--muted);font-size:.74rem}.managed-device-meta{display:grid;gap:.2rem}.managed-device-meta strong{font-size:.82rem;font-weight:650}.row-actions{display:flex;gap:.7rem;justify-content:flex-end}.text-action{border:0;background:transparent;padding:.35rem 0;color:var(--teal);font-size:.8rem;font-weight:750}.text-action:hover{text-decoration:underline}.danger-text{color:#b54a3d}.inline-edit{grid-column:1/-1;display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:.8rem;align-items:end;padding:1rem;border-radius:.8rem;background:#f5f8f8}.compact-empty{min-height:140px}.mqtt-section{overflow:hidden}.mqtt-explanation{padding:1rem 1.1rem;margin-bottom:1.2rem;border-left:4px solid var(--teal);border-radius:.2rem .7rem .7rem .2rem;background:#eef8f6}.mqtt-explanation strong{font-size:.9rem}.mqtt-explanation p{margin:.25rem 0 0;color:#52676b;font-size:.85rem;line-height:1.5}.credential-state{display:inline-flex;align-items:center;gap:.4rem;border-radius:2rem;padding:.45rem .7rem;background:#eef2f3;color:#617078;font-size:.68rem;font-weight:800;letter-spacing:.08em}.credential-state:before{content:"";width:.45rem;height:.45rem;border-radius:50%;background:currentColor}.credential-state.active{background:#e5f6f1;color:#087b68}.credential-state.error{background:#fff0ed;color:#b04434}.credential-state.pending,.credential-state.updating,.credential-state.revoking{background:#fff5e5;color:#a66519}.credential-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(90px,.45fr) minmax(0,1.35fr);border:1px solid var(--line);border-radius:.9rem;overflow:hidden}.credential-grid>div{display:grid;gap:.35rem;padding:1.15rem}.credential-grid>div:not(:last-child){border-right:1px solid var(--line)}.credential-grid span{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;font-weight:700}.credential-grid strong{font-size:.95rem;overflow-wrap:anywhere}.credential-value{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;letter-spacing:.02em}.credential-empty{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 0 0}.credential-empty p{margin:0;color:var(--muted)}.credential-empty>span{color:var(--muted);font-size:.82rem}.credential-actions{display:flex;flex-wrap:wrap;gap:.7rem;padding-top:1rem}.credential-management{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:1rem;align-items:center;margin-top:1.2rem;padding:1rem;border:1px solid #f0d2cc;border-radius:.85rem;background:#fff8f6}.disconnect-warning strong{font-size:.9rem;color:#963e32}.disconnect-warning p{margin:.25rem 0 0;color:#795f5a;font-size:.8rem}.credential-management-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.65rem}.danger{border:0;border-radius:.65rem;padding:.82rem 1.15rem;background:#b94d3e;color:#fff;font-weight:700}.danger:hover{background:#9d3e32}.username-edit{grid-column:1/-1;display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:.8rem;align-items:end;padding-top:1rem;border-top:1px solid #efd8d3}@media(max-width:1150px){.managed-device-row{grid-template-columns:minmax(220px,1.4fr) minmax(140px,.8fr) auto auto}.managed-device-meta:nth-of-type(3){display:none}.credential-management{grid-template-columns:1fr}.credential-management-actions{justify-content:flex-start}}@media(max-width:800px){.device-register-form{grid-template-columns:1fr}.managed-device-row{grid-template-columns:minmax(0,1fr) auto}.managed-device-meta{display:none}.row-actions{grid-column:1/-1;justify-content:flex-start}.inline-edit{grid-template-columns:1fr auto auto}.credential-empty{align-items:flex-start;flex-direction:column}.access-section-head{align-items:stretch;flex-direction:column}.access-section-head>.primary{align-self:flex-start}}@media(max-width:560px){.credential-grid{grid-template-columns:1fr}.credential-grid>div,.credential-grid>div:nth-child(odd),.credential-grid>div:nth-last-child(-n+2){border-right:0;border-bottom:1px solid var(--line)}.credential-grid>div:last-child{border-bottom:0}.inline-edit,.username-edit{grid-template-columns:1fr}.credential-actions,.credential-management-actions{display:grid;grid-template-columns:1fr}.access-section-head>.primary{width:100%}.managed-device-row{align-items:start}.row-actions{gap:1rem}}.subscription-device-selection{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 1rem;padding:1rem 1.1rem;border:1px solid color-mix(in srgb,#c48625 42%,var(--line));border-radius:.85rem;background:color-mix(in srgb,#fff1c9 58%,var(--panel))}.subscription-device-selection>div{display:grid;gap:.25rem}.subscription-device-selection p{margin:0;color:var(--muted);font-size:.82rem}.subscription-device-selection span{color:#8a641f;font-size:.78rem;font-weight:800}.subscription-device-checkbox{position:absolute;z-index:1;left:.55rem;top:50%;transform:translateY(-50%);display:block}.subscription-device-checkbox input{width:1.05rem;height:1.05rem}.managed-device-row:has(.subscription-device-checkbox){padding-left:2.25rem}.status.paused{color:#718087}.plan-device-notice{margin:-.8rem 0 1.2rem;padding:.8rem 1rem;border:1px solid color-mix(in srgb,#c48625 38%,var(--line));border-radius:.75rem;background:color-mix(in srgb,#fff1c9 50%,var(--panel));color:color-mix(in srgb,var(--ink) 82%,#8a641f);font-size:.84rem;font-weight:650}:root[data-theme=dark] .subscription-device-selection,:root[data-theme=dark] .plan-device-notice{border-color:#66562e;background:#332d1f}:root[data-theme=dark] .subscription-device-selection span{color:#e6c875}@media(max-width:700px){.subscription-device-selection{align-items:stretch;flex-direction:column}.subscription-device-selection .primary{width:100%}.subscription-device-checkbox{top:1.2rem;transform:none}}.manufacturing-page{display:grid;gap:1.2rem}.manufacturing-page>.page-head{margin-bottom:0}.manufacturing-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:1rem;align-items:end;padding:1.2rem;background:#fff;border:1px solid var(--line);border-radius:1rem}.manufacturing-form .primary{height:43px}.manufacturing-search{display:flex;gap:.7rem;max-width:680px}.manufacturing-search .secondary{white-space:nowrap}.registry-status{display:inline-flex;border-radius:2rem;padding:.35rem .6rem;font-size:.7rem;font-weight:800}.registry-status.available{background:#e5f6f1;color:#087b68}.registry-status.assigned{background:#e8f0fa;color:#2f659d}.registry-status.removed{background:#fff0ed;color:#a43d2d}.manufacturing-edit{position:fixed;z-index:30;inset:auto 2rem 2rem auto;width:min(520px,calc(100% - 2rem));display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:1.3rem;background:#fff;border:1px solid var(--line);border-radius:1rem;box-shadow:0 20px 60px #102c3240}.manufacturing-edit h2{grid-column:1/-1;margin:0}.manufacturing-edit label:nth-of-type(3){grid-column:1/-1}@media(max-width:850px){.manufacturing-form{grid-template-columns:1fr 1fr}.manufacturing-edit{inset:auto 1rem 1rem}}@media(max-width:560px){.manufacturing-form{grid-template-columns:1fr}.manufacturing-search{display:grid;grid-template-columns:1fr auto}.manufacturing-edit{grid-template-columns:1fr}.manufacturing-edit h2,.manufacturing-edit label:nth-of-type(3){grid-column:auto}}.device-card-connection{display:grid;justify-items:end;gap:.15rem}.device-card-connection small{color:var(--muted);font-size:.68rem;font-weight:600}.turnstile-slot{min-height:65px;max-width:100%}.metrics>div{padding:.55rem .5rem;border-radius:.65rem;transition:background-color .18s ease}.metrics>div.parameter-state-normal{background:#e8f6ed}.metrics>div.parameter-state-alert{background:#fff4cc}.metrics>div.parameter-state-warning{background:#fde7e3}.metrics>div.parameter-state-critical{background:#f0e4f7}.metrics>div.parameter-state-unknown{background:transparent}.metric-hero>article.parameter-state-normal{background:#e8f6ed}.metric-hero>article.parameter-state-alert{background:#fff4cc}.metric-hero>article.parameter-state-warning{background:#fde7e3}.metric-hero>article.parameter-state-critical{background:#f0e4f7}.metric-hero>article.parameter-state-unknown{background:var(--panel)}.metrics span{min-height:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metrics>div{min-width:0}.content{margin:0 auto;align-self:start}.configuration-toggle{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-width:170px}.configuration-toggle span:last-child{font-size:1.15rem;line-height:.8}.device-configuration-panel{margin:-.25rem 0 1rem;padding:1.15rem;background:var(--panel);border:1px solid var(--line);border-radius:1rem;box-shadow:0 8px 24px #20343c09}.configuration-message{padding:.5rem;color:var(--muted);font-size:.88rem}.configuration-summary{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;padding:0 .15rem 1rem;color:var(--muted);font-size:.78rem}.configuration-summary strong{color:var(--ink)}.configuration-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.configuration-metrics article{min-width:0;border:1px solid var(--line);border-radius:.8rem;overflow:hidden;background:var(--field)}.configuration-metrics h3{display:flex;justify-content:space-between;gap:.75rem;margin:0;padding:.85rem 1rem;border-bottom:1px solid var(--line);font-size:.9rem}.configuration-metrics h3 span{color:var(--muted);font-weight:650}.configuration-metrics dl{display:grid;margin:0}.configuration-metrics dl div{display:grid;grid-template-columns:minmax(90px,.7fr) minmax(0,1.3fr);gap:.75rem;padding:.65rem 1rem;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.configuration-metrics dl div:last-child{border-bottom:0}.configuration-metrics dt{font-size:.75rem;font-weight:800}.configuration-metrics dd{margin:0;text-align:right;color:var(--ink);font-size:.78rem;font-weight:650}.configuration-state-normal dt{color:#07836e}.configuration-state-alert dt{color:#a97809}.configuration-state-warning dt{color:#c04c38}.configuration-state-critical dt{color:#8554b8}@media(max-width:1000px){.configuration-metrics{grid-template-columns:1fr}.configuration-metrics dl div{grid-template-columns:minmax(110px,.5fr) minmax(0,1.5fr)}}@media(max-width:900px){.configuration-toggle{width:100%}}@media(max-width:480px){.configuration-metrics dl div{grid-template-columns:1fr;gap:.2rem}.configuration-metrics dd{text-align:left}}.event-dot{width:.55rem;height:.55rem}.event-dot.normal{background:#07836e}.event-dot.alert{background:#d49a18}.event-dot.warning{background:#d45b45}.event-dot.critical{background:#8554b8}.event-dot.offline{background:#c14f3e}.event-dot.neutral{background:#7c8990}.event-state-label{font-weight:750}.event-state-label.normal{color:#07836e}.event-state-label.alert{color:#a97809}.event-state-label.warning{color:#c04c38}.event-state-label.critical{color:#8554b8}.event-state-label.offline{color:#c14f3e}.event-state-label.neutral{color:var(--muted)}.device-card-inputs,.operational-inputs{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.7rem}.input-indicator{display:grid;gap:.12rem;min-width:0;padding:.45rem .6rem;border:0;border-radius:.65rem;color:var(--ink)}.input-indicator strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.73rem}.input-indicator small{font-size:.71rem;color:var(--muted);white-space:nowrap}.configuration-inputs{margin-top:1rem;border:1px solid var(--line);border-radius:.8rem;overflow:hidden}.configuration-inputs h3{margin:0;padding:.8rem 1rem;border-bottom:1px solid var(--line);font-size:.9rem}.configuration-inputs dl{margin:0}.configuration-inputs dl div{display:grid;grid-template-columns:minmax(120px,.6fr) minmax(0,1.4fr);gap:.75rem;padding:.65rem 1rem;border-bottom:1px solid var(--line)}.configuration-inputs dl div:last-child{border-bottom:0}.configuration-inputs dt{font-weight:800;font-size:.78rem}.configuration-inputs dd{margin:0;color:var(--muted);font-size:.78rem}.operational-inputs{grid-area:inputs;margin:0;justify-content:flex-start}.operational-inputs .input-indicator{padding:.35rem .5rem;min-width:74px}@media(max-width:700px){.configuration-inputs dl div{grid-template-columns:1fr;gap:.25rem}.operational-inputs{grid-column:1/-1}}.device-card-readings.temperature-input-row{display:flex;align-items:flex-start;gap:.45rem;padding-top:1rem;border-top:1px solid var(--line)}.temperature-input-row .metrics{flex:0 0 auto;grid-template-columns:max-content;padding-top:0;border-top:0}.temperature-input-row .device-card-inputs{margin-top:0}.input-indicator.parameter-state-normal{background:#e8f6ed}.input-indicator.parameter-state-alert{background:#fff4cc}.input-indicator.parameter-state-unknown{background:transparent;border:1px dashed var(--line)}.input-indicator.parameter-state-warning{background:#fde7e3}:root{--page:#f5f7f8;--field:#fff;--subtle:#f4f9f8}.login-copy h1{font-size:clamp(2.8rem,3.2vw,5rem);max-width:none}.login-copy h1 span{display:block}.login-copy .hero-title-line{color:inherit;white-space:nowrap}.login-copy .hero-title-accent{color:#5ed4c8}:root[data-theme=dark]{color:#e8f0f2;background:#0f1d22;--ink:#e8f0f2;--muted:#9eb0b7;--line:#33474d;--teal:#55cfc4;--teal-dark:#79ddd4;--panel:#17272c;--nav:#09191e;--page:#0f1d22;--field:#122329;--subtle:#1c3035}html,body,#app,.app-shell,.content{background:var(--page);color:var(--ink)}body{min-height:100vh;transition:background-color .18s ease,color .18s ease}label{color:var(--ink)}input,select{background:var(--field);border-color:var(--line);color:var(--ink)}input::placeholder{color:var(--muted)}.login-card,.claim-panel,.settings-panel,.user-form,.table-wrap,.combined-chart,.chart-statistic-card,.manufacturing-form,.manufacturing-edit{background:var(--panel)}.chart-detail-screen{background:var(--page)}.combined-chart-legend,.series-toggle{color:var(--ink)}.grid-line{stroke:var(--line)}.axis-label,.detail-axis-label,.empty-chart-label{fill:var(--muted)}.axis-title,.detail-axis-title{fill:var(--ink)}.point-temperature,.point-humidity,.point-dewpoint{stroke:var(--panel)}th{color:var(--muted)}th,td,.metrics,.room-row,.location-device-row{border-color:var(--line)}.preference-controls{position:fixed;z-index:100;top:1rem;right:1rem;display:flex;align-items:center;gap:.45rem;padding:.4rem;border:1px solid var(--line);border-radius:.85rem;background:color-mix(in srgb,var(--panel) 92%,transparent);box-shadow:0 8px 28px #071b2025;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.preference-language{display:block}.preference-language select{width:auto;min-width:4.8rem;padding:.5rem 1.8rem .5rem .65rem;border-radius:.55rem;font-size:.76rem;font-weight:800}.theme-toggle{display:grid;place-items:center;width:2.2rem;height:2.2rem;padding:0;border:1px solid var(--line);border-radius:.55rem;background:var(--field);color:var(--ink);font-size:1.05rem}.theme-toggle:hover,.theme-toggle:focus-visible{border-color:var(--teal);color:var(--teal)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:root[data-theme=dark] .secondary{background:#203d40;color:#86e3da}:root[data-theme=dark] .device-icon{background:#203d40}:root[data-theme=dark] .empty{border-color:#486069}:root[data-theme=dark] .room-add,:root[data-theme=dark] .device-register-form,:root[data-theme=dark] .inline-edit,:root[data-theme=dark] .mqtt-explanation{background:var(--subtle);border-color:var(--line)}:root[data-theme=dark] .mqtt-explanation p{color:var(--muted)}:root[data-theme=dark] .credential-management{background:#302322;border-color:#67423d}:root[data-theme=dark] .disconnect-warning strong{color:#ffaaa0}:root[data-theme=dark] .disconnect-warning p{color:#d2aaa4}:root[data-theme=dark] .series-toggle.inactive{background:#25363b}:root[data-theme=dark] .notice{background:#173a34;color:#80d8c8}:root[data-theme=dark] .error{background:#402420;color:#ffb3a8}:root[data-theme=dark] .metrics>div.parameter-state-normal,:root[data-theme=dark] .metric-hero>article.parameter-state-normal{background:#17372d}:root[data-theme=dark] .input-indicator.parameter-state-normal{background:#17372d}:root[data-theme=dark] .metrics>div.parameter-state-alert,:root[data-theme=dark] .metric-hero>article.parameter-state-alert{background:#40391d}:root[data-theme=dark] .input-indicator.parameter-state-alert{background:#40391d}:root[data-theme=dark] .input-indicator.parameter-state-warning{background:#442824}:root[data-theme=dark] .metrics>div.parameter-state-warning,:root[data-theme=dark] .metric-hero>article.parameter-state-warning{background:#442824}:root[data-theme=dark] .metrics>div.parameter-state-critical,:root[data-theme=dark] .metric-hero>article.parameter-state-critical{background:#382641}:root[data-theme=dark] .event-state-label.normal{color:#69d8bd}:root[data-theme=dark] .event-state-label.alert{color:#f0c75e}:root[data-theme=dark] .event-state-label.warning{color:#ff9682}:root[data-theme=dark] .event-state-label.critical{color:#c6a0e5}:root[data-theme=dark] .event-state-label.offline{color:#ff8f7d}@media(max-width:900px){.preference-controls{top:.8rem;right:.8rem;bottom:auto}}.app-shell>aside .preference-controls{position:static;align-self:stretch;justify-content:space-between;margin-top:auto;margin-bottom:.75rem;border-color:#315158;background:#16363c;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.app-shell>aside .preference-language select,.app-shell>aside .theme-toggle{border-color:#315158;background:#1b3b41;color:#eef8f7}.app-shell>aside .profile{margin-top:0}@media(max-width:900px){.app-shell>aside{grid-template-columns:auto 1fr auto;gap:.65rem;align-items:center;padding:.7rem .8rem .55rem}.app-shell>aside .brand{min-width:0}.app-shell>aside .brand-mark{width:2.15rem;height:2.15rem;border-radius:.6rem;font-size:.72rem}.app-shell>aside .brand strong{font-size:.9rem}.app-shell>aside .brand span{display:none}.app-shell>aside .preference-controls{grid-column:2;grid-row:1;justify-self:end;align-self:center;width:auto;margin:0;padding:.28rem}.app-shell>aside .preference-language select{min-width:3.65rem;padding:.38rem 1.45rem .38rem .5rem}.app-shell>aside .theme-toggle{width:1.9rem;height:1.9rem}.app-shell>aside .profile{grid-column:3;grid-row:1;gap:.25rem}.app-shell>aside .avatar{width:2rem;height:2rem}.app-shell>aside nav{grid-column:1/-1;grid-row:2;gap:.3rem;margin-top:.45rem;padding-bottom:.1rem;overflow-x:auto;scrollbar-width:none}.app-shell>aside nav::-webkit-scrollbar{display:none}.app-shell>aside nav button{flex:0 0 auto;display:flex;align-items:center;gap:.25rem;min-height:2.35rem;padding:.48rem .65rem;white-space:nowrap;font-size:.72rem}.app-shell>aside nav button span{width:auto;font-size:.9rem}}@media(max-width:390px){.app-shell>aside .brand strong{display:none}}.chart-statistics dd{font-family:inherit;font-size:clamp(.9rem,1.4vw,1.1rem);font-weight:700;line-height:1.2}.device-head-status{display:grid;justify-items:end;gap:.35rem;text-align:right}.device-head-status p{margin:0;color:var(--muted);font-size:.72rem;font-weight:700}.device-head-location{margin:0;color:var(--muted);font-size:.9rem;font-weight:650}.device-head-status .device-head-last-seen{color:var(--muted);font-size:.72rem;font-weight:500}.device-head-last-seen strong{color:inherit;font-weight:600}@media(max-width:520px){.device-detail-head{align-items:flex-start;flex-direction:column}.device-head-status{justify-items:start;text-align:left}}.device-connection-banner{position:sticky;top:.75rem;z-index:12;display:flex;align-items:center;gap:.8rem;margin:-.5rem 0 1.25rem;padding:.75rem 1rem;border:1px solid color-mix(in srgb,#c14f3e 55%,var(--line));border-radius:.8rem;background:color-mix(in srgb,#f7d8d2 74%,var(--panel));color:var(--ink);box-shadow:0 8px 24px color-mix(in srgb,#7e281d 18%,transparent)}.device-connection-banner>span:last-child{display:grid;gap:.08rem}.device-connection-banner strong{font-size:.88rem}.device-connection-banner small{color:color-mix(in srgb,var(--ink) 72%,transparent);font-size:.72rem;font-weight:650}.device-connection-banner-icon{display:grid;flex:0 0 1.65rem;width:1.65rem;height:1.65rem;place-items:center;border-radius:50%;background:#b83e31;color:#fff;font-weight:900}.device-connection-stale{border-color:color-mix(in srgb,#c48625 55%,var(--line));background:color-mix(in srgb,#f8e5bd 72%,var(--panel));box-shadow:0 8px 24px color-mix(in srgb,#7b5418 15%,transparent)}.device-connection-stale .device-connection-banner-icon{background:#ad741c}.device-connection-paused{border-color:color-mix(in srgb,#687b84 50%,var(--line));background:color-mix(in srgb,#dce5e7 70%,var(--panel));box-shadow:0 8px 24px color-mix(in srgb,#24383e 12%,transparent)}.device-connection-paused .device-connection-banner-icon{background:#65777f}:root[data-theme=dark] .device-connection-offline{border-color:#704039;background:#382321;box-shadow:0 8px 24px #05090b55}:root[data-theme=dark] .device-connection-offline .device-connection-banner-icon{background:#b94739}:root[data-theme=dark] .device-connection-stale{border-color:#6b552b;background:#332b1c;box-shadow:0 8px 24px #05090b55}:root[data-theme=dark] .device-connection-stale .device-connection-banner-icon{background:#9e6d21}:root[data-theme=dark] .device-connection-banner small{color:#c7d1d3}:root[data-theme=dark] .device-connection-paused{border-color:#465b61;background:#203238;box-shadow:0 8px 24px #05090b55}:root[data-theme=dark] .device-connection-paused .device-connection-banner-icon{background:#60767d}@media(max-width:520px){.device-connection-banner{top:.4rem;margin-top:-.7rem;padding:.65rem .75rem}}.server-connection-banner{position:fixed;z-index:1000;top:0;right:0;left:0;display:flex;align-items:center;justify-content:center;gap:.8rem;min-height:58px;padding:.75rem 1.25rem;background:#b42318;color:#fff;box-shadow:0 8px 28px #45110c55}.server-connection-banner>div{display:grid;gap:.1rem}.server-connection-banner strong{font-size:.92rem}.server-connection-banner span:not(.server-connection-icon){font-size:.78rem;color:#ffe4df}.server-connection-icon{flex:0 0 auto;display:grid;place-items:center;width:1.8rem;height:1.8rem;border:2px solid currentColor;border-radius:50%;font-weight:900}@media(max-width:620px){.server-connection-banner{justify-content:flex-start;padding:.65rem .9rem}.server-connection-banner strong{font-size:.84rem}.server-connection-banner span:not(.server-connection-icon){font-size:.7rem;line-height:1.3}}.series-state-overlay{fill:none;stroke-width:2.8;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.series-state-alert{stroke:#d49a18}.series-state-warning{stroke:#d45b45}.series-state-critical{stroke:#8554b8}.chart-detail-screen{position:static;z-index:auto;inset:auto;min-width:0;padding:0;overflow:visible;background:transparent}.content.chart-content{max-width:none}.combined-chart .series-line{stroke-width:2}.dashboard-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.critical-count{color:#a33b86}.attention-panel{margin-bottom:2.5rem;padding:1.25rem;border:1px solid var(--line);border-radius:1rem;background:var(--panel);box-shadow:0 8px 24px #20343c09}.attention-head{margin:0 0 1rem;align-items:center}.attention-total{display:grid;place-items:center;min-width:2.4rem;height:2.4rem;padding:0 .65rem;border-radius:2rem;background:#fff0ed;color:#a43d2d;font-weight:800}.attention-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.attention-toolbar label{display:grid;gap:.3rem;min-width:190px}.attention-toolbar label>span{color:var(--muted);font-size:.72rem;font-weight:700}.attention-toolbar select{min-width:190px}.attention-table{box-shadow:none}.attention-table td{vertical-align:middle}.attention-table td:first-child strong{display:block}.attention-table tbody tr:hover{background:var(--subtle)}.attention-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .6rem;border-radius:2rem;font-size:.72rem;font-weight:800}.attention-badge.critical{background:#f4e6f1;color:#8d2c72}.attention-badge.warning{background:#fff0ed;color:#a43d2d}.attention-badge.alert{background:#fff6d8;color:#896b00}.attention-badge.stale,.attention-badge.no_data{background:#edf0f2;color:#596b73}.attention-empty{min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;border:1px dashed #9fcfc5;border-radius:.8rem;background:#f2fbf8;color:var(--muted);text-align:center}.attention-empty strong{color:#087b68}.all-devices-head{margin-top:0}.status.stale{color:#b27920}:root[data-theme=dark] .attention-total{background:#442824;color:#ffaaa0}:root[data-theme=dark] .attention-badge.critical{background:#382641;color:#e4a6d5}:root[data-theme=dark] .attention-badge.warning,:root[data-theme=dark] .attention-badge.offline{background:#442824;color:#ffaaa0}:root[data-theme=dark] .attention-badge.alert{background:#40391d;color:#eed56f}:root[data-theme=dark] .attention-badge.stale,:root[data-theme=dark] .attention-badge.no_data{background:#2b3b40;color:#b7c7cc}:root[data-theme=dark] .attention-empty{background:#17372d;border-color:#376958}:root[data-theme=dark] .attention-empty strong{color:#80d8c8}@media(max-width:900px){.dashboard-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.attention-panel{padding:1rem}}@media(max-width:520px){.dashboard-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.attention-toolbar{display:grid}.attention-toolbar label,.attention-toolbar select{width:100%;min-width:0}}.dashboard-page-head{align-items:center}.dashboard-view-switch{display:inline-flex;padding:.25rem;border:1px solid var(--line);border-radius:.75rem;background:var(--panel)}.dashboard-view-switch button{display:flex;align-items:center;gap:.4rem;border:0;border-radius:.55rem;padding:.55rem .75rem;background:transparent;color:var(--muted);font-weight:750}.dashboard-view-switch button.active{background:var(--teal);color:#fff}.dashboard-summary .summary-filter{min-width:0;border:1px solid var(--line);border-radius:1rem;padding:1.3rem;background:var(--panel);color:var(--ink);text-align:left;box-shadow:0 8px 24px #20343c09;transition:border-color .15s ease,transform .15s ease}.dashboard-summary .summary-filter:hover{transform:translateY(-2px);border-color:#87bcb7}.dashboard-summary .summary-filter.active{border-color:var(--teal);box-shadow:0 0 0 2px color-mix(in srgb,var(--teal) 18%,transparent)}.dashboard-summary .summary-filter span{display:block;color:var(--muted);font-size:.82rem}.dashboard-summary .summary-filter strong{font:800 2rem Segoe UI,system-ui,sans-serif}.offline-count{color:#c14f3e}.dashboard-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) minmax(170px,auto) minmax(190px,auto) auto;gap:.75rem;align-items:end;margin-bottom:1.2rem;padding:1rem;border:1px solid var(--line);border-radius:1rem;background:var(--panel)}.dashboard-toolbar label{min-width:0}.dashboard-toolbar label>span{color:var(--muted);font-size:.72rem;font-weight:750}.dashboard-search,.dashboard-select{display:grid;gap:.3rem}.dashboard-search input,.dashboard-select select{width:100%;min-width:0}.dashboard-check{display:flex;align-items:center;gap:.45rem;min-height:43px;white-space:nowrap}.dashboard-check input{width:auto}.dashboard-check span{color:var(--ink)!important;font-size:.8rem!important}.operational-dashboard{overflow:hidden;border:1px solid var(--line);border-radius:1rem;background:var(--panel);box-shadow:0 8px 24px #20343c09}.operational-grid{display:grid;grid-template-columns:minmax(180px,1.35fr) minmax(115px,.75fr) repeat(3,minmax(90px,.62fr)) minmax(155px,1fr) minmax(120px,.8fr);grid-template-areas:"device connection temp humidity dew inputs state";align-items:center;column-gap:.5rem}.operational-header{padding:.7rem 1rem;border-bottom:1px solid var(--line);background:var(--subtle);color:var(--muted);font-size:.66rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.operational-header span:nth-child(1){grid-area:device}.operational-header span:nth-child(2){grid-area:connection}.operational-header span:nth-child(3){grid-area:temp}.operational-header span:nth-child(4){grid-area:humidity}.operational-header span:nth-child(5){grid-area:dew}.operational-header span:nth-child(6){grid-area:inputs}.operational-header span:nth-child(7){grid-area:state}.operational-site+.operational-site{border-top:1px solid var(--line)}.operational-group-head{display:grid;grid-template-columns:1.2rem auto 1fr;align-items:center;gap:.45rem;width:100%;border:0;color:var(--ink);text-align:left}.operational-group-head strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.operational-group-head small{justify-self:end;color:var(--muted);font-weight:650}.site-head{padding:.72rem 1rem;background:color-mix(in srgb,var(--teal) 9%,var(--panel));font-size:.9rem}.room-head{padding:.55rem 1rem .55rem 1.65rem;border-top:1px solid color-mix(in srgb,var(--line) 65%,transparent);background:var(--subtle);font-size:.78rem}.group-chevron{color:var(--teal);font-size:1.15rem;font-weight:900;line-height:1}.operational-room+.operational-room{border-top:1px solid var(--line)}.operational-device-row{position:relative;width:100%;min-height:59px;padding:.5rem 1rem;border:0;border-top:1px solid color-mix(in srgb,var(--line) 72%,transparent);color:var(--ink);text-align:left;transition:filter .12s ease,box-shadow .12s ease}.operational-device-row:hover{z-index:1;filter:saturate(1.08);box-shadow:inset 3px 0 var(--teal)}.operational-device-row:first-child{border-top:0}.operational-state-normal{background:color-mix(in srgb,var(--panel) 48%,#e8f6ed)}.operational-state-alert{background:color-mix(in srgb,var(--panel) 42%,#fff4cc)}.operational-state-warning{background:color-mix(in srgb,var(--panel) 42%,#fde7e3)}.operational-state-critical{background:color-mix(in srgb,var(--panel) 42%,#f0e4f7)}.operational-state-offline{background:color-mix(in srgb,var(--panel) 48%,#edf0f2);box-shadow:inset 3px 0 #c14f3e}.operational-state-stale{background:color-mix(in srgb,var(--panel) 48%,#fff3d8)}.operational-state-no-data{background:color-mix(in srgb,var(--panel) 55%,#edf0f2)}.operational-device{grid-area:device;display:grid;min-width:0}.operational-device strong,.operational-device small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.operational-device strong{font-size:.86rem}.operational-device small{color:var(--muted);font-size:.67rem}.operational-connection{grid-area:connection;display:grid;gap:.08rem}.operational-connection small{color:var(--muted);font-size:.68rem;font-weight:700}.connection-state{display:flex;align-items:center;gap:.35rem;font-size:.75rem}.connection-state:before{content:"";width:.45rem;height:.45rem;border-radius:50%;background:currentColor}.connection-state.online{color:#07836e}.connection-state.offline{color:#c14f3e}.operational-metric{display:grid;gap:.08rem;min-width:0;padding:.42rem .5rem;border-radius:.55rem}.operational-metric.metric-temperature{grid-area:temp}.operational-metric.metric-humidity{grid-area:humidity}.operational-metric.metric-dewpoint{grid-area:dew}.operational-metric>span{display:none;color:var(--muted);font-size:.61rem}.operational-metric strong{overflow:hidden;font-size:.84rem;text-overflow:ellipsis;white-space:nowrap}.operational-metric.parameter-state-normal{background:#e8f6ed}.operational-metric.parameter-state-alert{background:#fff4cc}.operational-metric.parameter-state-warning{background:#fde7e3}.operational-metric.parameter-state-critical{background:#f0e4f7}.operational-metric.parameter-state-unknown,.operational-metric.metric-unavailable{background:transparent}.operational-state{grid-area:state;display:grid;justify-items:start;gap:.15rem;min-width:0}.operational-state .attention-badge{padding:.28rem .5rem;font-size:.66rem}.operational-state small{max-width:100%;overflow:hidden;color:var(--muted);font-size:.63rem;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.attention-badge.normal{background:#e8f6ed;color:#087b68}.attention-badge.no_data{background:#edf0f2;color:#596b73}:root[data-theme=dark] .operational-metric.parameter-state-normal,:root[data-theme=dark] .attention-badge.normal{background:#17372d;color:#80d8c8}:root[data-theme=dark] .operational-metric.parameter-state-alert{background:#40391d;color:#eed56f}:root[data-theme=dark] .operational-metric.parameter-state-warning{background:#442824;color:#ffaaa0}:root[data-theme=dark] .operational-metric.parameter-state-critical{background:#382641;color:#e4a6d5}:root[data-theme=dark] .operational-state-normal{background:#172d2a}:root[data-theme=dark] .operational-state-alert{background:#332f1d}:root[data-theme=dark] .operational-state-warning{background:#352321}:root[data-theme=dark] .operational-state-critical{background:#2e2435}:root[data-theme=dark] .operational-state-offline{background:#202c31}:root[data-theme=dark] .operational-state-stale{background:#302b1f}:root[data-theme=dark] .operational-state-no-data{background:#202d32}:root[data-theme=dark] .operational-device small,:root[data-theme=dark] .operational-connection small,:root[data-theme=dark] .operational-state small{color:#aebdc2}@media(max-width:1100px){.dashboard-toolbar{grid-template-columns:minmax(220px,1fr) repeat(2,minmax(160px,.55fr))}.dashboard-check{grid-column:1/-1;min-height:auto}.operational-grid{grid-template-columns:minmax(155px,1.2fr) minmax(105px,.72fr) repeat(3,minmax(78px,.58fr)) minmax(125px,.9fr) minmax(105px,.7fr)}}@media(max-width:760px){.dashboard-page-head{align-items:flex-start}.dashboard-view-switch button span{display:none}.dashboard-view-switch button{font-size:1.1rem}.dashboard-toolbar{grid-template-columns:1fr 1fr}.dashboard-search,.dashboard-check{grid-column:1/-1}.operational-header{display:none}.operational-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;grid-template-areas:"device device state" "connection connection connection" "temp humidity dew" "inputs inputs inputs";row-gap:.42rem}.operational-device-row{padding:.7rem .8rem}.operational-connection{display:flex;align-items:center;gap:.5rem}.operational-metric>span{display:block}.operational-state{justify-items:end;text-align:right}.operational-group-head{grid-template-columns:1rem minmax(0,auto) 1fr}.operational-group-head small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-head{padding-left:1rem}}@media(max-width:480px){.dashboard-toolbar{grid-template-columns:1fr}.dashboard-search,.dashboard-check{grid-column:auto}.operational-group-head{grid-template-columns:1rem 1fr}.operational-group-head small{grid-column:2;justify-self:start}.operational-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"device device state" "connection connection connection" "temp humidity dew" "inputs inputs inputs"}.operational-state .attention-badge{white-space:normal;text-align:center}.operational-state small{display:none}}textarea{width:100%;min-height:88px;resize:vertical;border:1px solid #cbd6da;border-radius:.65rem;padding:.78rem .9rem;background:var(--panel);color:var(--ink);font:inherit;outline:none}textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0d8b8320}.incidents-page{display:grid;gap:1.25rem}.incidents-page>.page-head{margin-bottom:.25rem}.incident-summary{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:0}.incident-filters{display:flex;gap:.75rem}.incident-filters select{width:auto;min-width:190px}.incident-layout{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(460px,1.2fr);gap:1rem;align-items:start}.incident-list{display:grid;gap:.65rem;max-height:calc(100vh - 260px);overflow:auto;padding-right:.25rem}.incident-row{display:grid;gap:.35rem;width:100%;padding:1rem;border:1px solid var(--line);border-radius:.85rem;background:var(--panel);color:var(--ink);text-align:left;transition:.15s ease}.incident-row:hover,.incident-row.selected{border-color:#72aaa6;box-shadow:0 8px 22px #20343c12}.incident-row.selected{background:var(--subtle)}.incident-row-head{display:flex;justify-content:space-between;align-items:center;gap:.6rem}.incident-row>span,.incident-row>small{color:var(--muted)}.incident-row>span{font-size:.82rem}.incident-status{border-radius:2rem;padding:.3rem .55rem;background:#eef2f3;color:#617078;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.incident-status.open{background:#fff0ed;color:#a43d2d}.incident-status.acknowledged{background:#fff6d8;color:#806300}.incident-status.resolved{background:#e5f6f1;color:#087b68}.incident-detail-shell{position:sticky;top:1rem}.incident-detail,.incident-detail-placeholder{min-height:420px;padding:1.3rem;border:1px solid var(--line);border-radius:1rem;background:var(--panel);box-shadow:0 8px 24px #20343c09}.incident-detail-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;color:var(--muted);text-align:center}.incident-detail-placeholder strong{color:var(--ink)}.incident-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.incident-detail-head h2{margin-bottom:.25rem}.incident-detail-head p{margin:0;color:var(--muted)}.incident-detail-head .incident-recovery-label{margin-top:.2rem;color:var(--teal);font-weight:700}.incident-detail-head>.text-action{font-size:1.4rem;color:var(--muted)}.incident-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin:1.25rem 0}.incident-facts>div{padding:.8rem;border-radius:.7rem;background:var(--subtle)}.incident-facts dt{color:var(--muted);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.incident-facts dd{margin:.3rem 0 0;font-weight:750}.incident-actions{display:grid;grid-template-columns:auto minmax(220px,1fr);gap:.8rem;align-items:end}.incident-actions .secondary{height:43px}.incident-note{margin-top:1rem;padding:.75rem .9rem;border-radius:.65rem;background:var(--subtle);font-size:.82rem;color:var(--muted)}.incident-section{margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid var(--line)}.incident-section h3{font-size:1rem;margin-bottom:.8rem}.incident-comments{display:grid;gap:.65rem}.incident-comments article{padding:.75rem .85rem;border-radius:.7rem;background:var(--subtle)}.incident-comments article>div{display:flex;justify-content:space-between;gap:.7rem}.incident-comments time{color:var(--muted);font-size:.7rem}.incident-comments p{margin:.35rem 0 0;white-space:pre-wrap;font-size:.85rem}.muted{color:var(--muted)}.incident-comment-form{display:grid;grid-template-columns:1fr auto;gap:.7rem;align-items:end;margin-top:.8rem}.incident-comment-form textarea{min-height:70px}.incident-comment-form .secondary{height:43px}.incident-timeline{display:grid;gap:.75rem;margin:0;padding:0;list-style:none}.incident-timeline li{display:grid;grid-template-columns:12px 1fr;gap:.65rem}.incident-timeline li>span{width:.55rem;height:.55rem;margin-top:.3rem;border-radius:50%;background:var(--teal)}.incident-timeline li>div{display:grid;gap:.15rem}.incident-timeline small{color:var(--muted)}.incident-timeline p{margin:.15rem 0 0;color:var(--muted);font-size:.78rem}.incident-resolve{display:grid;grid-template-columns:1fr auto;gap:.8rem;align-items:end;margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid var(--line)}.incident-resolve textarea{min-height:70px}.incident-resolve .primary{height:43px}.incident-settings-form{display:grid;gap:1rem;padding:1.2rem;border:1px solid var(--line);border-radius:1rem;background:var(--panel)}.incident-settings-form>p{margin:0;color:var(--muted);line-height:1.5}.incident-settings-form label small{display:block;margin-top:.35rem;color:var(--muted);font-weight:500;line-height:1.45}.help-page{display:grid;gap:1.4rem;max-width:1180px}.help-page>.page-head{margin-bottom:0}.help-page>.page-head p:last-child{max-width:760px;line-height:1.6}.help-index{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;padding:1rem 1.15rem;border:1px solid var(--line);border-radius:1rem;background:var(--panel)}.help-index strong{margin-right:.35rem}.help-index a,.help-back-link{color:var(--teal);font-size:.82rem;font-weight:700;text-decoration:none}.help-index a{padding:.42rem .65rem;border-radius:2rem;background:var(--subtle)}.help-index a:hover,.help-index a:focus-visible,.help-back-link:hover,.help-back-link:focus-visible{text-decoration:underline}.help-important{display:grid;grid-template-columns:auto 1fr;gap:1rem;padding:1.25rem;border:1px solid color-mix(in srgb,var(--teal) 35%,var(--line));border-radius:1rem;background:color-mix(in srgb,var(--teal) 7%,var(--panel))}.help-important-icon{display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--teal);color:#fff;font-weight:800}.help-important h2{font-size:1.25rem;margin-bottom:.35rem}.help-important p{color:var(--muted);line-height:1.55}.help-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;counter-reset:help-step;margin:1rem 0 0;padding:0;list-style:none}.help-flow li{position:relative;counter-increment:help-step;padding:.85rem .85rem .85rem 2.65rem;border:1px solid var(--line);border-radius:.8rem;background:var(--panel);font-size:.8rem;line-height:1.45}.help-flow li:before{content:counter(help-step);position:absolute;left:.75rem;top:.75rem;display:grid;place-items:center;width:1.35rem;height:1.35rem;border-radius:50%;background:var(--teal);color:#fff;font-size:.7rem;font-weight:800}.help-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.help-section{scroll-margin-top:1rem;padding:1.3rem;border:1px solid var(--line);border-radius:1rem;background:var(--panel)}.help-section h2{font-size:1.25rem;margin-bottom:.4rem}.help-section>p{color:var(--muted);line-height:1.55}.help-section ul{display:grid;gap:.65rem;margin:1rem 0;padding-left:1.15rem}.help-section li{padding-left:.25rem;line-height:1.55;font-size:.9rem}.help-back-link{display:inline-block;margin-top:.2rem}@media(max-width:900px){.help-flow{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.help-sections,.help-flow,.help-important{grid-template-columns:1fr}.help-index{align-items:flex-start}.help-index strong{width:100%}}.help-sections{grid-template-columns:1fr;gap:1.2rem}.help-section{padding:clamp(1.2rem,2.5vw,1.7rem)}.help-section>header{padding-bottom:1rem;border-bottom:1px solid var(--line)}.help-section h2{font-size:1.45rem;margin-bottom:.45rem}.help-section>header p{max-width:850px;margin:0;color:var(--muted);line-height:1.6}.help-topic-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.help-topic-list>div{padding:1.1rem 1.1rem 1.1rem 0;border-bottom:1px solid var(--line)}.help-topic-list>div:nth-child(odd){padding-right:1.4rem;border-right:1px solid var(--line)}.help-topic-list>div:nth-child(2n){padding-left:1.4rem}.help-topic-list dt{margin-bottom:.4rem;color:var(--teal);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.help-topic-list dd{margin:0;color:var(--ink);font-size:.9rem;line-height:1.65}.help-topic-list .help-management-value{background:color-mix(in srgb,var(--teal) 5%,transparent)}.help-topic-list .help-management-value dt{color:var(--teal-dark)}.help-back-link{margin-top:1rem}@media(max-width:680px){.help-topic-list{grid-template-columns:1fr}.help-topic-list>div,.help-topic-list>div:nth-child(odd),.help-topic-list>div:nth-child(2n){padding:1rem 0;border-right:0}}.attention-badge.offline{background:#f3e7e4;color:#a43d2d}:root[data-theme=dark] .incident-status{background:#2b3b40;color:#b7c7cc}:root[data-theme=dark] .incident-status.open{background:#442824;color:#ffaaa0}:root[data-theme=dark] .incident-status.acknowledged{background:#40391d;color:#eed56f}:root[data-theme=dark] .incident-status.resolved{background:#17372d;color:#80d8c8}@media(max-width:1050px){.incident-layout{grid-template-columns:1fr}.incident-list{max-height:none}.incident-detail-shell{position:static}}@media(max-width:650px){.incident-detail-shell{position:fixed;z-index:120;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:1rem;background:#071b2066;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.incident-detail{width:min(100%,620px);max-height:calc(100dvh - 2rem);min-height:0;overflow:auto;box-shadow:0 20px 70px #071b2055}.incident-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.incident-filters{display:grid}.incident-filters select{width:100%;min-width:0}.incident-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.incident-actions,.incident-comment-form,.incident-resolve{grid-template-columns:1fr}.incident-actions .secondary,.incident-comment-form .secondary,.incident-resolve .primary{width:100%}}.events-table th:nth-child(3),.events-table td:nth-child(3){min-width:230px;white-space:normal}.event-table-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem .2rem 0;color:var(--muted);font-size:.78rem;font-weight:700}.event-pager{display:flex;gap:.6rem}.event-pager .secondary{padding:.55rem .85rem}.list-pagination{margin-top:.75rem}@media(max-width:620px){.event-filters{display:grid;grid-template-columns:1fr;width:100%}.event-filters select{width:100%}.event-table-footer{align-items:stretch;flex-direction:column}.event-pager{display:grid;grid-template-columns:1fr 1fr}.event-pager .secondary{width:100%}}.notifications-page{display:grid;gap:1.2rem}.notifications-page>.page-head{margin-bottom:0}.notification-tabs{display:flex;gap:.4rem;border-bottom:1px solid var(--line)}.notification-tabs>button{display:flex;align-items:center;gap:.45rem;border:0;border-bottom:3px solid transparent;padding:.75rem 1rem;background:transparent;color:var(--muted);font-weight:750}.notification-tabs>button.active{border-bottom-color:var(--teal);color:var(--teal)}.notification-count{display:grid;place-items:center;min-width:1.35rem;height:1.35rem;padding:0 .3rem;border-radius:1rem;background:#b94d3e;color:#fff;font-size:.68rem}.notification-list{display:grid;gap:.65rem;max-width:850px}.notification-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;width:100%;padding:1rem;border:1px solid var(--line);border-radius:.85rem;background:var(--panel);color:var(--ink);text-align:left}.notification-item.unread{border-color:#80b9b3;background:#f2faf8}.notification-main{display:grid;gap:.2rem;min-width:0}.notification-main>span,.notification-main>small{color:var(--muted)}.notification-main>small{font-size:.72rem}.notification-main .notification-measurement{font-size:.8rem}.notification-measurement strong{color:var(--ink);font-weight:700}.notification-severity{width:.65rem;height:2.8rem;border-radius:1rem;background:#87969c}.notification-severity.severity-alert{background:#d8b532}.notification-severity.severity-warning{background:#df7d36}.notification-severity.severity-critical{background:#b34d91}.notification-severity.severity-offline{background:#c45040}.unread-dot{width:.55rem;height:.55rem;border-radius:50%;background:var(--teal)}.notification-rules-layout{display:grid;gap:1.2rem;align-items:start}.notification-rule-list{display:grid;gap:.7rem}.notification-rule-card{display:grid;grid-template-columns:minmax(190px,1fr) minmax(240px,1fr) auto;align-items:center;gap:1rem;padding:1rem;border:1px solid var(--line);border-radius:.85rem;background:var(--panel)}.notification-rule-card.disabled{opacity:.58}.notification-rule-card>div:first-child{display:grid;gap:.2rem}.notification-rule-card>div:first-child span{color:var(--muted);font-size:.76rem}.notification-rule-summary{display:flex;flex-wrap:wrap;gap:.4rem}.notification-rule-summary span{padding:.32rem .55rem;border-radius:2rem;background:var(--subtle);color:var(--muted);font-size:.7rem;font-weight:700}.notification-rule-card .row-actions button{padding:.55rem .7rem}.notification-rule-form{display:grid;gap:1rem;padding:1.2rem;border:1px solid var(--line);border-radius:1rem;background:var(--panel)}.notification-rule-form h2{margin:0}.notification-rule-form label>small{color:var(--muted);font-weight:500;line-height:1.4}.notification-channel-options{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;padding:.8rem;border:1px solid var(--line);border-radius:.65rem}.notification-channel-options legend{padding:0 .3rem;color:var(--ink);font-size:.82rem;font-weight:700}.notification-channel-options small{grid-column:1/-1;color:var(--muted);font-size:.72rem;line-height:1.4}.notification-channel-options .channel-required{color:#a43d2d}.recipient-options{display:grid;gap:.55rem;max-height:220px;overflow:auto;padding:.8rem;border:1px solid var(--line);border-radius:.65rem}.recipient-options legend{padding:0 .3rem;color:var(--ink);font-size:.82rem;font-weight:700}.recipient-options label span{display:grid;gap:.1rem;min-width:0}.recipient-options label small{overflow:hidden;color:var(--muted);font-size:.7rem;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.recipient-options>.recipient-required{color:#a43d2d;font-size:.72rem}.checkbox-label{display:flex;grid-template-columns:none;align-items:center;gap:.55rem}.checkbox-label input{width:auto}.form-actions{display:flex;gap:.7rem}.delivery-status{display:inline-flex;padding:.3rem .5rem;border-radius:2rem;background:#edf0f2;color:#596b73;font-size:.68rem;font-weight:800}.delivery-status.delivery-sent{background:#e5f6f1;color:#087b68}.delivery-status.delivery-failed{background:#fff0ed;color:#a43d2d}.delivery-status.delivery-cancelled{background:#edf0f2;color:#718087}.delivery-status.delivery-pending{background:#fff6d8;color:#806300}.delivery-status.delivery-processing{background:#e8f0fa;color:#2f659d}:root[data-theme=dark] .notification-item.unread{background:#17372d;border-color:#376958}:root[data-theme=dark] .notification-rule-summary span{background:#26383d}:root[data-theme=dark] .delivery-status.delivery-sent{background:#17372d;color:#80d8c8}:root[data-theme=dark] .delivery-status.delivery-failed{background:#442824;color:#ffaaa0}:root[data-theme=dark] .delivery-status.delivery-pending{background:#40391d;color:#eed56f}@media(max-width:1050px){.notification-rules-layout{grid-template-columns:1fr}}@media(max-width:720px){.notification-tabs{overflow:auto}.notification-tabs>button{white-space:nowrap}.notification-rule-card{grid-template-columns:1fr}.notification-rule-card .row-actions{justify-content:flex-start}.form-actions{display:grid;grid-template-columns:1fr}}.settings-editor-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:1.2rem;align-items:start}.settings-editor-layout.editor-open{grid-template-columns:minmax(0,1fr) minmax(320px,430px)}.settings-editor-add{justify-self:end;margin-top:.25rem}.settings-editor-shell{position:sticky;top:1rem}.settings-editor-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.settings-editor-header h2{margin:0}.settings-editor-close{display:grid;place-items:center;flex:0 0 auto;width:2.15rem;height:2.15rem;padding:0;border:0;border-radius:50%;background:var(--subtle);color:var(--ink);font-size:1.45rem;line-height:1}.settings-editor-close:hover,.settings-editor-close:focus-visible{background:color-mix(in srgb,var(--teal) 16%,var(--subtle));color:var(--teal-dark)}@media(max-width:1050px){.settings-editor-layout.editor-open{grid-template-columns:1fr}.settings-editor-shell{position:fixed;z-index:120;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:1rem;background:#071b2066;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.settings-editor-shell .settings-editor-form{width:min(100%,620px);max-height:calc(100vh - 2rem);overflow:auto;box-shadow:0 20px 70px #071b2055}}.reports-page{display:grid;gap:1.2rem}.reports-page>.page-head{margin-bottom:0}.report-schedule-form{display:grid;grid-template-columns:1fr;gap:1rem;align-items:stretch;padding:1.2rem;border:1px solid var(--line);border-radius:1rem;background:var(--panel)}.report-schedule-form h2{grid-column:1/-1;margin:0}.report-schedule-form>.checkbox-label{align-self:center}.report-form-note{grid-column:1/-1;color:var(--muted)}.report-schedule-form>.form-actions{grid-column:1/-1}.manual-report-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,260px) auto;gap:1rem;align-items:end;margin-bottom:1.5rem;padding:1.1rem;border:1px solid var(--line);border-radius:1rem;background:var(--panel)}.manual-report-card h2,.manual-report-card p{margin:0}.manual-report-card p{margin-top:.35rem;color:var(--muted)}.report-device-scope{display:grid;gap:.55rem;padding:.8rem;border:1px solid var(--line);border-radius:.65rem}.report-device-scope legend{padding:0 .3rem;color:var(--ink);font-size:.82rem;font-weight:700}.report-device-tree{display:grid;gap:.75rem;max-height:290px;overflow:auto;margin-top:.25rem;padding:.7rem;border-radius:.55rem;background:var(--soft)}.report-device-tree section,.report-scope-room{display:grid;gap:.4rem}.report-scope-site{font-weight:800}.report-scope-room{padding-left:1rem}.report-scope-room>label:first-child{font-weight:700}.report-scope-device{padding-left:1.5rem}.report-scope-device span{display:grid;min-width:0}.report-scope-device small{color:var(--muted);font-size:.7rem;font-weight:500}.report-section-head{margin-bottom:0}.report-schedule-list{display:grid;gap:.7rem}.report-schedule-card{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(190px,.8fr) minmax(160px,.7fr) auto;gap:1rem;align-items:center;padding:1rem;border:1px solid var(--line);border-radius:.85rem;background:var(--panel)}.report-schedule-card.disabled{opacity:.6}.report-schedule-main,.report-schedule-next{display:grid;gap:.2rem}.report-schedule-main span,.report-schedule-next span,.report-schedule-delivery{color:var(--muted);font-size:.75rem}.report-schedule-next strong{font-size:.82rem}.report-schedule-card .row-actions{align-items:center}.report-history td{vertical-align:middle}.report-status{display:inline-flex;padding:.3rem .55rem;border-radius:2rem;background:#edf0f2;color:#596b73;font-size:.68rem;font-weight:800}.report-status.report-ready{background:#e5f6f1;color:#087b68}.report-status.report-generating{background:#e8f0fa;color:#2f659d}.report-status.report-pending{background:#fff6d8;color:#806300}.report-status.report-failed{background:#fff0ed;color:#a43d2d}.report-history .secondary{padding:.55rem .75rem;white-space:nowrap}:root[data-theme=dark] .report-status.report-ready{background:#17372d;color:#80d8c8}:root[data-theme=dark] .report-status.report-generating{background:#24364a;color:#99c7f3}:root[data-theme=dark] .report-status.report-pending{background:#40391d;color:#eed56f}:root[data-theme=dark] .report-status.report-failed{background:#442824;color:#ffaaa0}@media(max-width:1100px){.report-schedule-card{grid-template-columns:1fr 1fr}.report-schedule-card .row-actions{grid-column:1/-1;justify-content:flex-start}}@media(max-width:650px){.report-schedule-card{grid-template-columns:1fr}.report-schedule-form h2,.report-form-note,.report-schedule-form>.form-actions,.report-schedule-card .row-actions{grid-column:auto}.report-schedule-card .row-actions{display:grid;grid-template-columns:1fr 1fr 1fr}}.org-select select{width:100%;padding:.5rem .6rem;border-color:#31565a;background:#193b40;color:#eef8f7;font-size:.82rem}.team-page{display:grid;gap:1.25rem}.team-page>.page-head{margin-bottom:0}.role-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.role-card{padding:1rem;border:1px solid var(--line);border-radius:.85rem;background:var(--panel)}.role-card strong{font-size:.86rem;color:var(--teal)}.role-card p{margin:.35rem 0 0;color:var(--muted);font-size:.75rem;line-height:1.45}.team-table select{min-width:155px;padding:.55rem .65rem}.muted-dash{color:var(--muted)}.team-add-form{display:grid;grid-template-columns:1.2fr 1fr 1fr .8fr auto;gap:1rem;align-items:end;padding:1.2rem;border:1px solid var(--line);border-radius:1rem;background:var(--panel)}.team-form-head{grid-column:1/-1}.team-form-head h2{margin-bottom:.3rem}.team-form-head p{margin:0;color:var(--muted);font-size:.82rem}.team-add-form>.primary{height:43px}@media(max-width:1050px){.role-grid,.team-add-form{grid-template-columns:1fr 1fr}.team-add-form>.primary{width:max-content}}@media(max-width:620px){.role-grid,.team-add-form{grid-template-columns:1fr}.team-form-head{grid-column:auto}.team-add-form>.primary{width:100%}}.subscription-page,.subscription-admin-page{display:grid;gap:1.25rem}.subscription-page>.page-head,.subscription-admin-page>.page-head{margin-bottom:0}.subscription-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:1.2rem;border:1px solid var(--line);border-radius:1rem;background:var(--panel)}.subscription-summary>div{display:grid;gap:.35rem}.subscription-summary span,.pending-plan-panel span{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.07em}.subscription-summary strong{font-size:1.15rem}.subscription-status{width:max-content;padding:.35rem .6rem;border-radius:2rem;background:var(--subtle);font-size:.75rem!important}.subscription-status.active{background:#e5f6f1;color:#087b68}.subscription-status.pending_payment,.subscription-status.past_due{background:#fff6d8;color:#806300}.subscription-status.suspended,.subscription-status.cancelled{background:#fff0ed;color:#a43d2d}.pending-plan-panel{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;padding:1.2rem;border:1px solid #e3ca7e;border-radius:1rem;background:#fffaf0}.pending-plan-panel p{margin:.3rem 0 0;color:var(--muted)}.pending-plan-panel>div:last-child{display:grid;gap:.2rem;text-align:right}.pending-plan-panel small{color:var(--muted)}.pending-plan-panel button.text-action{justify-self:end;padding:0}.plan-comparison-head{margin:0}.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.pricing-card{position:relative;display:grid;align-content:start;gap:.7rem;min-height:175px;padding:1.2rem;border:1px solid var(--line);border-radius:1rem;background:var(--panel)}.pricing-card.current{background:var(--subtle)}.pricing-card h3{margin:.7rem 0 0;font-size:1.05rem}.pricing-card p{margin:0;color:var(--muted);font-size:.78rem}.current-plan-badge,.recommended-badge{position:absolute;top:.8rem;right:.8rem;padding:.25rem .5rem;border-radius:2rem;font-size:.67rem;font-weight:700}.recommended-badge{background:#d7f2ee;color:#075f59}.current-plan-badge{background:#243d44;color:#fff}.plan-price{display:flex;align-items:baseline;gap:.35rem}.plan-price strong{font-size:1.65rem;line-height:1}.pricing-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto}.pricing-actions .secondary{white-space:nowrap}.plan-price small,.plan-price span{color:var(--muted);font-size:.72rem}.plan-comparison{border:1px solid var(--line);border-radius:1rem;background:var(--panel)}.plan-comparison table{min-width:760px}.plan-comparison th:not(:first-child),.plan-comparison td:not(:first-child){text-align:center}.plan-comparison th:first-child,.plan-comparison td:first-child{position:sticky;left:0;z-index:1;background:var(--panel)}.plan-comparison tbody tr.comparison-alt-row td{background:var(--subtle)}.plan-comparison .comparison-group-row th{position:static;padding:.65rem 1rem;border-top:2px solid var(--line);background:var(--soft);color:var(--muted);font-size:.72rem;letter-spacing:.1em;text-align:left;text-transform:uppercase}.plan-comparison-mobile{display:none}.availability{font-weight:700}.availability.included{color:#087b68}.availability.not_included{color:var(--muted);font-weight:500}.availability.optional{color:#956c00}.pricing-footnote{margin:0;color:var(--muted);font-size:.78rem}.subscription-search{display:grid;grid-template-columns:minmax(240px,420px) auto;gap:.7rem;width:max-content;max-width:100%}.subscription-admin-form{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:1rem;align-items:end;padding:1.2rem;border:1px solid var(--line);border-radius:1rem;background:var(--panel)}.subscription-admin-form.compact{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto}.subscription-admin-form h2{grid-column:1/-1;margin:0}.subscription-notes{grid-column:1/-1}.admin-plan-warning{margin:0;color:var(--muted);font-size:.78rem}.proforma-status{display:inline-flex;border-radius:2rem;padding:.3rem .55rem;font-size:.7rem;font-weight:800;background:#fff6d8;color:#806300}.proforma-status.paid{background:#e5f6f1;color:#087b68}.proforma-status.cancelled{background:#edf0f2;color:#65757d}:root[data-theme=dark] .proforma-status{background:#40391d;color:#eed56f}:root[data-theme=dark] .proforma-status.paid{background:#17372d;color:#80d8c8}:root[data-theme=dark] .proforma-status.cancelled{background:#29383c;color:#a9bac0}.proforma-actions{align-items:flex-start;flex-wrap:wrap}.proforma-actions small{flex-basis:100%}.file-action{cursor:pointer}.file-action input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.file-action.disabled{opacity:.55;pointer-events:none}.subscription-invoices{display:grid;gap:1rem;padding:1.2rem;background:var(--surface);border:1px solid var(--line);border-radius:1rem}.subscription-invoices .section-head{margin:0}.subscription-admin-form textarea{width:100%;min-height:90px;resize:vertical;padding:.8rem;border:1px solid #cad5d9;border-radius:.6rem;background:var(--panel);color:var(--ink)}.subscription-admin-form>.form-actions{grid-column:1/-1}.subscription-request-form{display:grid;gap:1rem;padding:1.2rem;border:1px solid var(--line);border-radius:1rem;background:var(--panel)}.subscription-request-form>.section-head{margin:0}.subscription-request-form form{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:1rem;align-items:end}.subscription-request-form label{display:grid;gap:.4rem;font-size:.82rem;font-weight:700}.subscription-request-form input,.subscription-request-form select{width:100%}.subscription-request-vat{grid-column:1/-1;margin:0;color:var(--muted);font-size:.78rem}.subscription-request-price{grid-column:1/-1;margin:0;font-weight:700}.subscription-request-form .form-actions{grid-column:1/-1}:root[data-theme=dark] .subscription-status.active{background:#17372d;color:#80d8c8}:root[data-theme=dark] .subscription-status.pending_payment,:root[data-theme=dark] .subscription-status.past_due{background:#40391d;color:#eed56f}:root[data-theme=dark] .subscription-status.suspended,:root[data-theme=dark] .subscription-status.cancelled{background:#442824;color:#ffaaa0}:root[data-theme=dark] .pending-plan-panel{background:#312e20;border-color:#665f35}:root[data-theme=dark] .availability.included{color:#80d8c8}:root[data-theme=dark] .availability.optional{color:#eed56f}:root[data-theme=dark] .recommended-badge{background:#24534f;color:#c4f4ef}:root[data-theme=dark] .current-plan-badge{background:#dbe8eb;color:#102329}@media(max-width:850px){.subscription-summary,.subscription-admin-form,.subscription-admin-form.compact,.subscription-request-form form,.pricing-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.manual-report-card{grid-template-columns:1fr;align-items:stretch}.plan-comparison-desktop{display:none}.plan-comparison-mobile{display:grid;overflow:hidden;border:1px solid var(--line);border-radius:1rem;background:var(--panel)}.mobile-comparison-row{display:grid;gap:.8rem;padding:1rem}.mobile-comparison-group{margin:0;padding:.7rem 1rem;border-top:2px solid var(--line);background:var(--soft);color:var(--muted);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}.mobile-comparison-row.comparison-alt-row{background:var(--subtle)}.mobile-comparison-row>strong{font-size:.88rem}.mobile-comparison-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.mobile-comparison-values>div{display:grid;align-content:start;gap:.3rem;min-width:0;text-align:center}.mobile-comparison-values span{overflow:hidden;color:var(--muted);font-size:.65rem;text-overflow:ellipsis;white-space:nowrap}.mobile-comparison-values b{font-size:.76rem;overflow-wrap:anywhere}}@media(max-width:560px){.subscription-summary,.subscription-admin-form,.subscription-admin-form.compact,.subscription-request-form form,.pending-plan-panel,.subscription-search{grid-template-columns:1fr;width:100%}.pending-plan-panel>div:last-child{text-align:left}.pricing-grid{grid-template-columns:1fr}}.app-shell{transition:grid-template-columns .2s ease}.app-shell>aside{transition:padding .2s ease}.app-shell>aside .brand-name{display:grid}.app-shell nav button{display:flex;align-items:center;gap:.75rem;min-height:2.75rem}.app-shell nav button .navigation-icon{display:grid;width:1.4rem;height:1.4rem;flex:0 0 1.4rem}.app-shell nav button .nav-icon-wrap{position:relative;display:grid;place-items:center;width:1.4rem;height:1.4rem;flex:0 0 1.4rem}.app-shell nav button .nav-icon-wrap .navigation-icon{width:100%;height:100%}.app-shell nav button .nav-notification-dot{position:absolute;top:-.18rem;right:-.2rem;width:.52rem;height:.52rem;min-width:.52rem;min-height:.52rem;padding:0;box-sizing:border-box;display:block;border:2px solid #102f35;border-radius:50%;background:#ef4444;box-shadow:0 0 0 1px #ef444433}.app-shell nav button .nav-label{display:block;width:auto;min-width:0;line-height:1.2}.sidebar-collapse{display:grid;place-items:center;width:2rem;height:2rem;margin-left:auto;padding:0;border:1px solid #315158;border-radius:.55rem;background:#16363c;color:#9cb4b5}.sidebar-collapse:hover,.sidebar-collapse:focus-visible{color:#fff;border-color:#4f797e}.sidebar-collapse svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.sidebar-collapsed{grid-template-columns:76px 1fr}.sidebar-collapsed>aside{padding:1rem .65rem}.sidebar-collapsed>aside .brand{flex-direction:column;gap:.65rem;padding:0 0 1.25rem}.sidebar-collapsed>aside .brand-name,.sidebar-collapsed>aside .org-select,.sidebar-collapsed>aside nav .nav-label,.sidebar-collapsed>aside .preference-language,.sidebar-collapsed>aside .profile .avatar,.sidebar-collapsed>aside .profile>div:nth-child(2){display:none}.sidebar-collapsed>aside .sidebar-collapse{margin:0}.sidebar-collapsed>aside nav button{justify-content:center;padding:.75rem}.sidebar-collapsed>aside .preference-controls{justify-content:center;padding:.35rem;border-color:transparent;background:transparent}.sidebar-collapsed>aside .theme-toggle{border-color:transparent;background:transparent}.sidebar-collapsed>aside .theme-toggle:hover,.sidebar-collapsed>aside .theme-toggle:focus-visible{border-color:#4f797e;background:#16363c}.sidebar-collapsed>aside .profile{display:grid;grid-template-columns:1fr;justify-items:center;padding-inline:0}.sidebar-collapsed>aside .profile button{font-size:1.1rem}@media(max-width:900px){.app-shell{grid-template-rows:auto minmax(0,1fr)}.app-shell>aside,.sidebar-collapsed>aside{position:static;height:auto;min-height:0;align-self:start;grid-template-rows:auto auto;grid-auto-rows:max-content;align-content:start}.app-shell.sidebar-collapsed{grid-template-columns:1fr}.sidebar-collapse{display:none}.sidebar-collapsed>aside{padding:.7rem .8rem .55rem}.sidebar-collapsed>aside .brand{flex-direction:row;gap:.8rem;padding:0}.sidebar-collapsed>aside .brand-name{display:grid}.sidebar-collapsed>aside .preference-language{display:block}.sidebar-collapsed>aside .profile{display:grid;grid-template-columns:auto 1fr auto auto;justify-items:normal;padding:0}.sidebar-collapsed>aside .profile .avatar{display:grid}.app-shell>aside nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(2.35rem,1fr));gap:.2rem;overflow:visible}.app-shell>aside nav button,.sidebar-collapsed>aside nav button{justify-content:center;min-width:0;min-height:2.8rem;padding:.55rem .2rem}.app-shell>aside nav .nav-label{display:none}.app-shell nav button .navigation-icon{width:1.6rem;height:1.6rem;flex-basis:1.6rem}.app-shell nav button .nav-icon-wrap{width:1.6rem;height:1.6rem;flex-basis:1.6rem}}@media(max-width:390px){.sidebar-collapsed>aside .brand-name{display:none}}.account-page{display:grid;gap:1rem}.account-password-card{width:min(100%,620px);display:grid;gap:1.1rem;padding:clamp(1.25rem,3vw,2rem);border:1px solid var(--line);border-radius:1rem;background:var(--panel);box-shadow:0 8px 28px #20343c09}.account-password-card>div p{margin:.35rem 0 0;color:var(--muted)}.account-password-card .primary{justify-self:start}.profile{grid-template-columns:auto 1fr auto auto}.profile .logout-button{display:grid;place-items:center;padding:.25rem}.profile .logout-button svg{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}@media(max-width:900px){.account-password-card{width:100%}}:root[data-theme=light] .app-shell>aside{background:#eef3f4;color:var(--ink);border-right:1px solid var(--line)}:root[data-theme=light] .app-shell>aside .brand span,:root[data-theme=light] .app-shell>aside .org-select,:root[data-theme=light] .app-shell>aside .profile span{color:var(--muted)}:root[data-theme=light] .app-shell>aside .org-select strong{color:var(--ink)}:root[data-theme=light] .app-shell>aside nav button{color:#52636d}:root[data-theme=light] .app-shell>aside nav button:hover,:root[data-theme=light] .app-shell>aside nav button.active{color:var(--teal-dark);background:#d9ebe8}:root[data-theme=light] .app-shell>aside .nav-notification-dot{border-color:#eef3f4}:root[data-theme=light] .app-shell>aside nav button:hover .nav-notification-dot,:root[data-theme=light] .app-shell>aside nav button.active .nav-notification-dot{border-color:#d9ebe8}:root[data-theme=light] .app-shell>aside .profile{border-color:var(--line)}:root[data-theme=light] .app-shell>aside .profile button{color:#62737c}:root[data-theme=light] .app-shell>aside .profile button:hover,:root[data-theme=light] .app-shell>aside .profile button:focus-visible{color:var(--teal-dark)}:root[data-theme=light] .app-shell>aside .avatar{background:#d2e9e5;color:#08645f}:root[data-theme=light] .app-shell>aside .preference-controls{border-color:var(--line);background:#e4ecee}:root[data-theme=light] .app-shell>aside .preference-language select,:root[data-theme=light] .app-shell>aside .theme-toggle,:root[data-theme=light] .app-shell>aside .sidebar-collapse{border-color:#c4d1d5;background:var(--panel);color:#52636d}:root[data-theme=light] .app-shell>aside .sidebar-collapse:hover,:root[data-theme=light] .app-shell>aside .sidebar-collapse:focus-visible,:root[data-theme=light] .sidebar-collapsed>aside .theme-toggle:hover,:root[data-theme=light] .sidebar-collapsed>aside .theme-toggle:focus-visible{color:var(--teal-dark);border-color:#87bcb7;background:#e1efed}:root[data-theme=light] .app-shell>aside .org-select select{border-color:#c4d1d5;background:var(--panel);color:var(--ink)}:root[data-theme=light] .sidebar-collapsed>aside .preference-controls,:root[data-theme=light] .sidebar-collapsed>aside .theme-toggle{border-color:transparent;background:transparent}@media(max-width:900px){:root[data-theme=light] .app-shell>aside{border-right:0;border-bottom:1px solid var(--line)}}.metric-hero article{position:relative;padding-right:4.25rem}.metric-hero article strong{font-size:clamp(1.65rem,3vw,2.25rem)}.metric-hero-icon{position:absolute;top:1.05rem;right:1.1rem;width:2rem;height:2rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;color:var(--muted);opacity:.82}.empty{min-width:0;padding:1rem;box-sizing:border-box;text-align:center;overflow-wrap:anywhere}.site-list>.compact-empty{grid-column:1/-1}.export-page{display:grid;gap:1.2rem}.export-page>.page-head{margin-bottom:.2rem}.export-form{display:grid;gap:1rem}.export-section{padding:clamp(1rem,2vw,1.4rem);border:1px solid var(--line);border-radius:1rem;background:var(--panel)}.export-section-head{display:flex;align-items:flex-start;gap:.8rem;margin-bottom:1rem}.export-section-head>span{display:grid;flex:0 0 1.8rem;width:1.8rem;height:1.8rem;place-items:center;border-radius:50%;background:var(--teal);color:#fff;font-size:.78rem;font-weight:800}.export-section-head h2{margin:0;font-size:1.05rem}.export-section-head p{margin:.2rem 0 0;color:var(--muted);font-size:.8rem}.export-options,.export-format-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.export-format-options{grid-template-columns:repeat(2,minmax(0,1fr))}.export-option{position:relative;display:grid;gap:.25rem;padding:1rem;border:1px solid var(--line);border-radius:.8rem;cursor:pointer;transition:.16s ease}.export-option:hover,.export-option.active{border-color:var(--teal);background:color-mix(in srgb,var(--teal) 7%,var(--panel))}.export-option input{position:absolute;top:.8rem;right:.8rem;width:auto}.export-option strong{padding-right:1.5rem}.export-option span{color:var(--muted);font-size:.76rem;line-height:1.45}.export-option.disabled{cursor:not-allowed;opacity:.55}.export-period-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.export-period-grid label{display:grid;gap:.35rem}.plan-restriction{margin:.8rem 0 0;padding:.65rem .8rem;border-radius:.6rem;background:color-mix(in srgb,#c48625 10%,var(--panel));color:var(--muted);font-size:.78rem}.export-all-devices{display:flex;align-items:center;gap:.7rem;padding:.75rem .85rem;margin-bottom:.7rem;border:1px solid var(--line);border-radius:.7rem}.export-all-devices input,.export-device-groups input,.export-device-list input{width:auto}.export-all-devices>span,.export-device-list label>span{display:grid}.export-all-devices small,.export-device-list small{color:var(--muted);font-size:.7rem}.export-all-devices.disabled{opacity:.58}.export-device-groups{display:grid;gap:.75rem;max-height:420px;overflow:auto;padding:.15rem}.export-device-site{overflow:hidden;border:1px solid var(--line);border-radius:.75rem;background:color-mix(in srgb,var(--panel) 96%,var(--teal))}.export-device-site-head,.export-device-room-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.export-device-site-head{padding:.7rem .85rem;background:color-mix(in srgb,var(--teal) 9%,var(--panel));border-bottom:1px solid var(--line)}.export-device-site-head label,.export-device-room-head label{display:flex;align-items:center;gap:.6rem;min-width:0;cursor:pointer}.export-device-site-head small,.export-device-room-head small{flex:0 0 auto;color:var(--muted);font-size:.68rem}.export-device-rooms{display:grid;gap:.7rem;padding:.7rem}.export-device-room{display:grid;gap:.5rem}.export-device-room-head{padding:.2rem .25rem}.export-device-room-head strong{font-size:.82rem}.export-device-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.export-device-list label{display:flex;align-items:center;gap:.7rem;padding:.7rem .8rem;border:1px solid var(--line);border-radius:.65rem;background:var(--panel)}.export-submit{position:sticky;bottom:.75rem;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.2rem;border:1px solid var(--line);border-radius:1rem;background:color-mix(in srgb,var(--panel) 94%,transparent);box-shadow:0 12px 35px #10282d20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.export-submit>div{display:grid}.export-submit span{color:var(--muted);font-size:.75rem}.export-submit .primary{min-width:170px}@media(max-width:950px){.export-period-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.export-options,.export-format-options,.export-period-grid,.export-device-list{grid-template-columns:1fr}.export-submit{bottom:.4rem;align-items:stretch;flex-direction:column}.export-submit .primary{width:100%}}.export-device-picker{display:contents}.export-device-picker-toggle,.export-device-picker-head{display:none}.export-jobs{margin-top:.2rem}.export-job-status{display:inline-flex;padding:.28rem .55rem;border-radius:999px;font-size:.7rem;font-weight:800;white-space:nowrap}.export-job-status.queued{background:color-mix(in srgb,#c48625 15%,var(--panel));color:#9a6414}.export-job-status.generating{background:color-mix(in srgb,#268bc4 15%,var(--panel));color:#1672a7}.export-job-status.ready{background:color-mix(in srgb,#11856e 15%,var(--panel));color:#08715d}.export-job-status.failed,.export-job-status.expired{background:color-mix(in srgb,#c83e32 14%,var(--panel));color:#a42e25}.export-job-error{color:#b23a30;font-size:.75rem}.export-jobs td{vertical-align:middle}@media(max-width:650px){.export-page{gap:.65rem}.export-page>.page-head{margin-bottom:0}.export-page>.page-head>div>p:not(.eyebrow){display:none}.export-form{gap:.65rem}.export-section{padding:.75rem;border-radius:.75rem}.export-section-head{gap:.55rem;margin-bottom:.65rem}.export-section-head>span{width:1.5rem;height:1.5rem;flex-basis:1.5rem;font-size:.68rem}.export-section-head h2{font-size:.95rem}.export-section-head p{display:none}.export-type-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.export-format-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}.export-option{min-height:44px;place-items:center;padding:.55rem .35rem;text-align:center}.export-option input,.export-option span{display:none}.export-option strong{padding:0;font-size:.76rem}.export-period-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.export-period-grid:not(.custom) .export-custom-date{display:none}.export-period-grid label{font-size:.72rem}.export-period-grid select,.export-period-grid input{min-width:0;padding:.65rem .55rem}.plan-restriction{margin-top:.55rem;padding:.5rem .6rem;font-size:.7rem}.export-all-devices{margin-bottom:.5rem;padding:.6rem .7rem}.export-device-picker-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem;border:1px solid var(--line);border-radius:.65rem;background:var(--panel);color:var(--ink);text-align:left}.export-device-picker-toggle strong{font-size:.72rem;color:var(--muted)}.export-device-picker{display:none}.export-device-picker.open{position:fixed;inset:0;z-index:80;display:flex;flex-direction:column;gap:.7rem;padding:.85rem;background:var(--panel)}.export-device-picker-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:.65rem;border-bottom:1px solid var(--line)}.export-device-picker-head>div{display:grid}.export-device-picker-head small{color:var(--muted);font-size:.72rem}.export-device-picker-head button{width:auto;padding:.55rem .75rem}.export-device-groups{flex:1;max-height:none;overflow:auto;padding:.1rem}.export-device-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}.export-device-list label{min-width:0;padding:.55rem;gap:.45rem}.export-device-list label span{min-width:0}.export-device-list label strong,.export-device-list label small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.export-device-site-head{padding:.6rem .7rem}.export-device-rooms{gap:.55rem;padding:.55rem}.export-submit{gap:.55rem;padding:.7rem}.export-submit .primary{min-width:0}.export-jobs .section-head p{display:none}.export-jobs .table-wrap{overflow:visible}.export-jobs table,.export-jobs tbody{display:block}.export-jobs thead{display:none}.export-jobs tbody{display:grid;gap:.55rem}.export-jobs tr{display:grid;gap:.3rem;padding:.65rem;border:1px solid var(--line);border-radius:.65rem}.export-jobs td{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.12rem 0;border:0;text-align:right;font-size:.76rem}.export-jobs td:before{content:attr(data-label);flex:0 0 auto;color:var(--muted);font-size:.68rem;text-align:left}.export-jobs td:nth-child(3){display:grid;grid-template-columns:auto 1fr;overflow-wrap:anywhere}.export-jobs td:nth-child(3):before{grid-row:1;grid-column:1}}
