:root{--bg: #020617;--panel: #0f172a;--panel-2: #0c1424;--border: #1f2937;--text: #f8fbff;--muted: #9fb2d8;--accent: #38bdf8;--ring: rgba(56, 189, 248, .35);--shadow: 0 15px 35px rgba(0, 0, 0, .45);--radius: 18px;--ok: #22c55e;--warn: #facc15;--bad: #f87171;--font-body: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Space Grotesk", "Poppins", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;--accent-warm: #f59e0b;--glass: rgba(8, 12, 24, .7);--glass-strong: rgba(8, 12, 24, .88);--border-soft: rgba(148, 163, 184, .22);--shadow-lg: 0 24px 60px rgba(2, 6, 23, .55);--shadow-soft: 0 12px 30px rgba(2, 6, 23, .35)}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:var(--font-body);color:var(--text);background:radial-gradient(circle at 20% 20%,rgba(56,189,248,.1),transparent 65%),var(--bg);display:block;padding:24px;position:relative}body.map-page{padding:0}.app{width:min(1400px,100%);margin:0 auto;padding:8px 0 40px;position:relative;z-index:3}body:before,body:after{content:"";position:fixed;inset:-10% 0 0;pointer-events:none;z-index:2}body:before{background-image:radial-gradient(2px 2px at 20% 25%,rgba(255,255,255,.35),transparent 60%),radial-gradient(1.5px 1.5px at 75% 18%,rgba(56,189,248,.45),transparent 65%),radial-gradient(1px 1px at 40% 65%,rgba(255,255,255,.25),transparent 70%),radial-gradient(1.5px 1.5px at 85% 70%,rgba(14,165,233,.3),transparent 70%);background-size:220px 220px,280px 280px,320px 320px,380px 380px;opacity:.28;mix-blend-mode:screen;animation:sparkleDrift 18s linear infinite;z-index:4}body:after{background-image:radial-gradient(circle at 15% 10%,rgba(56,189,248,.12),transparent 40%),radial-gradient(circle at 85% 20%,rgba(14,116,144,.12),transparent 45%),radial-gradient(circle at 50% 80%,rgba(56,189,248,.08),transparent 50%);opacity:.22;animation:auraPulse 12s ease-in-out infinite;z-index:1}body.dashboard-page,body.timeseries-page{--accent: #22d3ee;--ring: rgba(34, 211, 238, .35);--panel: #0b1428;--panel-2: #0a1224;--border: rgba(148, 163, 184, .18);--shadow: var(--shadow-lg);background:radial-gradient(circle at 12% 16%,rgba(34,211,238,.18),transparent 46%),radial-gradient(circle at 82% 12%,rgba(245,158,11,.14),transparent 42%),radial-gradient(circle at 50% 85%,rgba(56,189,248,.08),transparent 55%),linear-gradient(180deg,#050811,#0b1324 45%,#060a14)}body.timeseries-page{background:radial-gradient(circle at 18% 12%,rgba(34,211,238,.16),transparent 46%),radial-gradient(circle at 85% 18%,rgba(16,185,129,.16),transparent 42%),radial-gradient(circle at 40% 85%,rgba(245,158,11,.08),transparent 55%),linear-gradient(180deg,#050a14,#0b1428 52%,#060a14)}body.dashboard-page:before{background-image:radial-gradient(2px 2px at 20% 25%,rgba(255,255,255,.4),transparent 60%),radial-gradient(1.5px 1.5px at 78% 16%,rgba(56,189,248,.5),transparent 65%),radial-gradient(1px 1px at 40% 65%,rgba(255,255,255,.25),transparent 70%),radial-gradient(1.5px 1.5px at 85% 70%,rgba(245,158,11,.35),transparent 70%);opacity:.32}body.timeseries-page:before{background-image:linear-gradient(rgba(148,163,184,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.06) 1px,transparent 1px),radial-gradient(1.5px 1.5px at 20% 25%,rgba(255,255,255,.32),transparent 60%),radial-gradient(1.5px 1.5px at 85% 70%,rgba(34,211,238,.35),transparent 70%);background-size:80px 80px,80px 80px,260px 260px,320px 320px;opacity:.25;mix-blend-mode:screen;animation:gridDrift 26s linear infinite}body.timeseries-page:after{background-image:radial-gradient(circle at 15% 10%,rgba(34,211,238,.16),transparent 40%),radial-gradient(circle at 85% 20%,rgba(16,185,129,.14),transparent 45%),radial-gradient(circle at 50% 80%,rgba(245,158,11,.08),transparent 50%);opacity:.26}@keyframes sparkleDrift{0%{transform:translateZ(0)}50%{transform:translate3d(-10px,14px,0)}to{transform:translateZ(0)}}@keyframes auraPulse{0%,to{opacity:.22}50%{opacity:.38}}@keyframes gridDrift{0%{transform:translateZ(0)}50%{transform:translate3d(-12px,10px,0)}to{transform:translateZ(0)}}@keyframes liftIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.app-header{display:flex;gap:20px;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;position:relative;z-index:10010}.brand{display:flex;align-items:center;gap:16px}.logo{width:55px;height:auto;filter:invert(1);opacity:.9;padding-bottom:2%}.kicker{text-transform:uppercase;letter-spacing:.25em;font-size:.75rem;font-weight:600;color:var(--muted);margin:0 0 10px}.app-header h1{font-size:clamp(2rem,3vw,2.6rem);margin:0;letter-spacing:.04em;line-height:1.1;font-family:var(--font-display)}.subhead{margin:0;color:var(--muted);font-size:1rem}.header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.header-actions.nav-box,.map-page .header-actions.nav-box{background:#080e1cbf;border:1px solid rgba(56,189,248,.18);border-radius:16px;padding:6px;box-shadow:0 14px 26px #02061759}.controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:18px;padding:14px 18px;border-radius:16px;background:linear-gradient(135deg,#38bdf814,#0f172aeb);border:1px solid rgba(56,189,248,.15)}@media(min-width:900px){body.dashboard-page .app-header,body.timeseries-page .app-header{background:transparent;border:none;border-radius:0;padding:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}body.dashboard-page .header-actions,body.timeseries-page .header-actions{background:transparent;border:none;border-radius:0;padding:0;box-shadow:none}body.map-page .header-actions{margin:0}}body.dashboard-page .controls,body.timeseries-page .controls{position:relative;overflow:hidden;border:1px solid rgba(148,163,184,.2);background:linear-gradient(135deg,#22d3ee1f,#070c17e6);box-shadow:var(--shadow-soft);animation:liftIn .45s ease both}body.dashboard-page .controls:before,body.timeseries-page .controls:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 18%,rgba(245,158,11,.2),transparent 55%),radial-gradient(circle at 88% 12%,rgba(34,211,238,.16),transparent 45%);opacity:.7;pointer-events:none}body.dashboard-page .controls>*,body.timeseries-page .controls>*{position:relative;z-index:1}body.dashboard-page .chip-button,body.timeseries-page .chip-button{border-color:#94a3b859;background:#080c1880;color:#e2e8f0d9}body.dashboard-page .chip-button:hover,body.timeseries-page .chip-button:hover{border-color:#22d3ee80;color:#f8fafc;background:#22d3ee1a}body.dashboard-page .chip-button.active,body.timeseries-page .chip-button.active{background:#22d3eef2;color:#04101c;border-color:transparent;box-shadow:none}body.dashboard-page .header-actions .btn.secondary,body.timeseries-page .header-actions .btn.secondary{border-color:transparent;background:#060a1459}body.dashboard-page .header-actions .btn.secondary:hover,body.timeseries-page .header-actions .btn.secondary:hover{background:#22d3ee1f}body.dashboard-page .header-actions .btn.secondary.active,body.dashboard-page .header-actions .btn.secondary[aria-current=page],body.timeseries-page .header-actions .btn.secondary.active,body.timeseries-page .header-actions .btn.secondary[aria-current=page]{background:#22d3ee2e;color:#e2e8f0;border-color:transparent}.controls-right{display:grid;gap:8px;min-width:260px}.controls-right .search-input,.ts-right .search-input{width:260px}.btn{border:none;border-radius:12px;padding:0 18px;font-weight:600;font-size:.95rem;min-height:44px;line-height:1;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,color .16s ease}.btn,a.btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.primary{background:var(--accent);color:#04101c}.btn.primary:hover{filter:brightness(.95)}.btn.secondary{background:transparent;color:var(--text);border:1px solid rgba(255,255,255,.2)}.btn.secondary:hover{background:#ffffff14}.btn.secondary.active,.btn.secondary[aria-current=page]{background:#ffffff14;color:var(--muted);border-color:#ffffff1f;pointer-events:none}.btn.ghost{background:transparent;color:var(--accent);border:1px solid rgba(56,189,248,.4)}.btn.ghost:hover{background:#38bdf81f}.btn.logout{background:#fff;color:#0b1220;border:1px solid #e2e8f0}.btn.logout:hover{background:#f1f5f9}.btn:focus-visible{outline:3px solid var(--ring);outline-offset:2px}.profile-avatar-link{width:42px;min-width:42px;max-width:42px;height:42px;min-height:42px;max-height:42px;flex:0 0 42px;aspect-ratio:1 / 1;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:0;overflow:hidden;text-decoration:none;border:1px solid rgba(56,189,248,.3);background:#060a1480;line-height:1;box-sizing:border-box}.user-menu{position:relative;display:inline-flex;align-items:center;z-index:10030}.user-menu-trigger{cursor:pointer}.account-menu-trigger{display:inline-flex;align-items:center;justify-content:center;line-height:1.1;min-height:42px;padding:0 12px;border-radius:12px;font-size:.84rem;letter-spacing:.04em;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:0;pointer-events:none}.account-menu-trigger[data-ready="1"]{opacity:1;pointer-events:auto}.user-menu-dropdown{position:absolute;right:0;top:calc(100% + 10px);width:200px;padding:8px;border-radius:14px;border:1px solid rgba(148,163,184,.24);background:#080c18f5;box-shadow:0 16px 36px #02061785;display:none;flex-direction:column;gap:6px;z-index:11000}.user-menu.open .user-menu-dropdown{display:flex}.user-menu-item{width:100%;display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;min-height:40px;padding:8px 11px;border-radius:10px;border:1px solid transparent;color:var(--text);background:transparent;text-decoration:none;font-size:.88rem;cursor:pointer;transition:background .14s ease,border-color .14s ease}.user-menu-item:hover{background:#38bdf824;border-color:#38bdf833}.user-menu-item[aria-current=page]{background:#38bdf833;border-color:#38bdf84d}.user-menu-item.user-menu-logout{background:#fff;color:#0b1220;border:1px solid rgba(226,232,240,.72);font-weight:700}.user-menu-item.user-menu-logout:hover{background:#f1f5f9;border-color:#e2e8f0eb}.profile-avatar-badge{position:relative;overflow:hidden;width:100%;height:100%;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:#38bdf82e;color:#e6f3ff;border:1px solid rgba(56,189,248,.35)}.profile-avatar-badge img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit}.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}@media(min-width:721px){.header-actions .user-menu{margin-left:auto}.header-actions #avatar-link.profile-avatar-link{width:42px;min-width:42px;max-width:42px;height:42px;min-height:42px;max-height:42px;border-radius:999px;padding:0;line-height:1;overflow:hidden;aspect-ratio:1 / 1;display:inline-flex;align-items:center;justify-content:center}.header-actions #avatar-link.profile-avatar-link .profile-avatar-badge,.header-actions #avatar-link.profile-avatar-link .profile-avatar-badge img{border-radius:999px}}.filters{display:flex;flex-wrap:wrap;gap:10px}.chip{border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:8px 14px;background:transparent;color:var(--muted);font-weight:600;letter-spacing:.04em;text-transform:uppercase;font-size:.75rem;cursor:pointer;transition:all .16s ease}.chip.active{background:var(--accent);border-color:var(--accent);color:#04101c}.device-summary{margin:0;color:var(--muted);font-size:.9rem;text-align:right}label{display:flex;flex-direction:column;gap:6px;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.inline-field{display:flex;align-items:center;gap:10px;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.inline-field span{white-space:nowrap}select{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:8px 10px;font-size:.9rem}.panel{background:linear-gradient(180deg,#0f172afa,#0a101efa);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);min-height:360px}.panel.tight{padding:14px}.panel-title{font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0 0 12px;font-family:var(--font-display)}.layout-split{display:grid;grid-template-columns:320px 1fr;gap:18px}.device-list{display:grid;gap:10px;max-height:420px;overflow:auto;padding-right:4px}.device-list-footer{display:flex;justify-content:flex-end;margin-top:12px;padding-top:10px;border-top:1px solid rgba(148,163,184,.16)}.device-item{display:grid;grid-template-columns:18px 1fr auto;gap:10px;align-items:center;padding:10px 12px;border-radius:14px;border:1px solid rgba(56,189,248,.16);background:#02061759;cursor:pointer;transition:border-color .16s ease,background .16s ease}.device-item input{appearance:none;width:18px;height:18px;border-radius:6px;border:1px solid rgba(148,163,184,.6);background:#020617a6;display:grid;place-items:center;margin:0;flex:0 0 auto}.device-item input:after{content:"";width:10px;height:10px;border-radius:3px;background:var(--accent);opacity:0;transition:opacity .16s ease}.device-item input:checked{border-color:var(--accent);box-shadow:0 0 0 2px #38bdf833}.device-item input:checked:after{opacity:1}.device-item:hover{border-color:#38bdf859;background:#02061780}.device-item span{font-size:.9rem}.device-name{color:var(--text)}.device-id{color:var(--muted);font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;justify-self:end}.lights-layout{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px}.field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:18px}.light-actions{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 16px}.light-meta{display:grid;gap:12px;margin-top:10px}.mono-input{font-family:var(--font-mono);font-size:.85rem;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:#02061766;color:var(--text)}.aqi-status{display:flex;gap:16px;align-items:center;padding:12px 14px;border-radius:16px;border:1px solid rgba(56,189,248,.2);background:#02061780;margin-bottom:18px}.aqi-swatch{width:54px;height:54px;border-radius:16px;background:#334155;border:1px solid rgba(148,163,184,.4);box-shadow:inset 0 0 0 2px #02061766}.aqi-label{font-size:1.05rem;font-weight:600;margin-bottom:4px}.aqi-value,.aqi-time{color:var(--muted);font-size:.9rem}.search-input{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:8px 10px;font-size:.9rem;width:100%}.timeseries-search-controls{display:grid;gap:8px}.device-list-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px}.chip-group{display:flex;flex-wrap:wrap;gap:8px}.chip-button{border:1px solid rgba(56,189,248,.2);background:transparent;color:var(--muted);border-radius:12px;display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;min-height:34px;line-height:1;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;transition:all .15s ease}.chip-button.active{background:var(--accent);color:#04101c;border-color:var(--accent)}.chip-button:disabled{opacity:.5;cursor:not-allowed}.menu-toggle{display:none;align-items:center;gap:8px;border:1px solid rgba(56,189,248,.3);background:#0f172abf;color:var(--text);border-radius:12px;padding:8px 14px;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;box-shadow:0 12px 22px #02061759;transition:background .16s ease,border .16s ease,transform .16s ease}.menu-toggle:hover{background:#38bdf81f;transform:translateY(-1px)}.menu-icon{width:20px;height:2px;background:var(--text);border-radius:999px;position:relative;box-shadow:0 6px 0 var(--text),0 -6px 0 var(--text)}.menu-text{font-weight:600}.filter-toggle{display:none;align-items:center;justify-content:center;border:1px solid rgba(56,189,248,.3);background:#0f172abf;color:var(--text);border-radius:12px;padding:8px 14px;cursor:pointer;box-shadow:0 12px 22px #02061759;transition:background .16s ease,border .16s ease,transform .16s ease}.filter-toggle:hover{background:#38bdf81f;transform:translateY(-1px)}.filter-icon{width:18px;height:14px;position:relative;display:inline-block;border:0;border-radius:0}.filter-icon:after{content:"";position:absolute;inset:0;background:linear-gradient(currentColor,currentColor) 0 1px / 100% 2px no-repeat,linear-gradient(currentColor,currentColor) 0 6px / 100% 2px no-repeat,linear-gradient(currentColor,currentColor) 0 11px / 100% 2px no-repeat}.filter-icon:before{content:"";position:absolute;width:4px;height:4px;border-radius:999px;background:currentColor;left:2px;top:0;box-shadow:8px 5px 0 0 currentColor,4px 10px 0 0 currentColor}.menu-panel-head{display:none;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;margin-bottom:4px;border-bottom:1px solid rgba(255,255,255,.08)}.menu-panel-title{display:none}.menu-close{border:1px solid rgba(255,255,255,.2);background:transparent;color:var(--text);border-radius:10px;padding:6px 10px;font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;cursor:pointer;transition:background .15s ease,border .15s ease}.menu-close:hover{background:#ffffff14;border-color:#ffffff4d}.menu-scrim{position:fixed;inset:0;background:#02061799;opacity:0;pointer-events:none;transition:opacity .16s ease;z-index:10003}.menu-scrim.active{opacity:1;pointer-events:auto}.filter-scrim{position:fixed;inset:0;background:#0206179e;opacity:0;pointer-events:none;transition:opacity .16s ease;z-index:10043}.filter-scrim.active{opacity:1;pointer-events:auto}body.nav-open,body.filter-open{overflow:hidden}@media(min-width:901px)and (min-height:501px){body.nav-open{overflow:auto}.menu-scrim,.menu-scrim.active{opacity:0!important;pointer-events:none!important}body.dashboard-page .header-actions,body.timeseries-page .header-actions,body.map-page .header-actions{transform:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}}.chart-wrap{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px;min-height:420px;position:relative}.chart-wrap:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 15%,rgba(56,189,248,.12),transparent 40%);opacity:.6;pointer-events:none;border-radius:var(--radius)}body.timeseries-page .panel,body.timeseries-page .chart-wrap{border:1px solid rgba(148,163,184,.22);background:linear-gradient(180deg,#0a101efa,#060a14fa);box-shadow:var(--shadow-soft);animation:liftIn .52s ease both}body.timeseries-page .layout-split{gap:22px}body.timeseries-page .chart-wrap:before{background:radial-gradient(circle at 20% 10%,rgba(34,211,238,.2),transparent 45%);opacity:.7}body.timeseries-page .chart-title{font-family:var(--font-display);letter-spacing:.2em}body.timeseries-page .legend-item{background:#060a148c;border-color:#94a3b833}body.timeseries-page .device-list{scrollbar-width:thin;scrollbar-color:rgba(34,211,238,.6) rgba(2,6,23,.3)}body.timeseries-page .device-list::-webkit-scrollbar{width:8px}body.timeseries-page .device-list::-webkit-scrollbar-thumb{background:#22d3ee73;border-radius:999px}body.timeseries-page .device-list::-webkit-scrollbar-track{background:#0206174d;border-radius:999px}body.timeseries-page .device-list-footer{border-top-color:#94a3b838}body.timeseries-page .device-item{border-color:#94a3b833;background:#060a1499}body.timeseries-page .device-item:hover{border-color:#22d3ee80;background:#060a14bf}.uplot-container{width:100%;height:360px}.chart-wrap canvas{position:relative;z-index:1}.chart-title{font-size:.85rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:10px}.chart-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.chart-range{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.chart-range .filter-label{display:none}.chart-title-block{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.chart-header .chart-title{margin-bottom:0}.chart-title-mobile{display:none}.chart-metric{margin-left:auto}.chart-export-btn{min-height:36px;padding:0 12px;font-size:.82rem}.chart-legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin-bottom:10px}.chart-tooltip{position:absolute;top:-9999px;left:-9999px;z-index:8;min-width:0;max-width:min(280px,calc(100vw - 24px));padding:8px 10px;border-radius:12px;border:1px solid rgba(148,163,184,.24);background:var(--glass-strong);color:var(--text);box-shadow:0 18px 42px #02061757;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none}.chart-tooltip-time{margin-bottom:5px;font-size:.62rem;line-height:1;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.chart-tooltip-list{display:grid;gap:6px}.chart-tooltip-single{display:flex;align-items:center;gap:8px;min-width:0;color:var(--tooltip-line, var(--text))}.chart-tooltip-row{display:inline-flex;align-items:center;gap:7px;font-size:.76rem;line-height:1.1;white-space:nowrap}.chart-tooltip-label{color:var(--muted);font-size:.72rem;line-height:1.1;white-space:normal;overflow-wrap:anywhere;min-width:0;flex:1 1 auto}.chart-tooltip-swatch{width:9px;height:9px;flex:0 0 auto;border-radius:999px;background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--tooltip-line, var(--accent)) 22%,transparent)}.chart-tooltip-value{font-family:var(--font-mono);font-weight:600;white-space:normal;text-align:right;flex:0 1 auto;color:var(--text)}.chart-tooltip-markers{position:absolute;inset:0;z-index:7;pointer-events:none}.chart-tooltip-marker{position:absolute;width:10px;height:10px;margin-left:-5px;margin-top:-5px;border-radius:999px;background:currentColor;border:0}.export-dialog{border:none;padding:0;background:transparent}.export-dialog::backdrop{background:#020617ad}.export-dialog-card{width:min(520px,calc(100vw - 24px));border-radius:18px;border:1px solid rgba(148,163,184,.2);background:linear-gradient(180deg,#0a101efa,#060a14fa);box-shadow:var(--shadow-lg);padding:16px;display:grid;gap:12px;font-family:var(--font-body)}.export-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.export-dialog-head h2{margin:0;font-size:1.05rem;font-family:var(--font-display);color:var(--text)}.export-dialog-close{width:38px;min-width:38px;height:38px;min-height:38px;padding:0;border-radius:999px;border:1px solid rgba(56,189,248,.35);background:#080e1cf2;color:#eff6fff2;box-shadow:0 10px 22px #02061780;display:inline-grid;place-items:center;line-height:1;cursor:pointer}.export-dialog-close-icon{width:18px;height:18px;display:block}.export-dialog-close-icon path{fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}.export-dialog-note{margin:0;color:var(--muted);font-size:.88rem;font-family:var(--font-body)}.export-dialog-card label{display:grid;gap:6px;color:var(--muted);font-size:.82rem;font-family:var(--font-body)}.export-dialog-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}@media(max-width:720px){.chart-tooltip{display:none}.chart-title-block{width:100%;justify-content:space-between}.chart-metric{margin-left:0}.chart-range{width:100%;justify-content:flex-start}.chart-range .chip-group,.export-dialog-actions .btn{width:100%}.device-list-footer{justify-content:stretch}.device-list-actions{grid-template-columns:1fr}.device-list-actions .chip-button,.device-list-footer .chip-button{width:100%}}@media(min-width:901px){body.timeseries-page .controls .timeseries-search-controls{display:flex;align-items:center;gap:10px}body.timeseries-page .controls .timeseries-search-controls .search-input{width:220px;min-width:220px;max-width:220px}}.legend-item{display:inline-flex;align-items:center;gap:8px;padding:4px 10px;border-radius:999px;background:#02061759;border:1px solid rgba(56,189,248,.12);font-size:.8rem}.legend-swatch{width:10px;height:10px;border-radius:999px;box-shadow:0 0 6px #38bdf866}.uplot{color:var(--text);font-family:var(--font-body);position:relative}.uplot .u-axis{color:#9fb2d8}.uplot .u-grid{stroke:#94a3b81f;stroke-width:.8}.uplot .u-legend{color:#e2e8f0}.chart-wrap canvas{max-height:420px}.map-legend{position:absolute;right:16px;top:16px;background:#0f172ae6;border:1px solid rgba(56,189,248,.15);border-radius:12px;padding:12px;color:#f8fafc;font-size:.8rem;display:grid;gap:6px;min-width:150px;z-index:400;transition:opacity .18s ease,transform .18s ease}.map-popup-open .map-legend{opacity:0;transform:translateY(-8px);pointer-events:none}.map-popup-open .leaflet-control-attribution{opacity:0;pointer-events:none}.map-legend-title{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.legend-row{display:flex;align-items:center;gap:8px}.legend-dot{width:10px;height:10px;border-radius:999px;background:var(--accent)}.legend-rows{display:grid;gap:6px}.sensor-dot{filter:drop-shadow(0 0 10px rgba(56,189,248,.7))}.sensor-dot.ok{filter:drop-shadow(0 0 10px rgba(34,197,94,.85))}.sensor-dot.warn{filter:drop-shadow(0 0 10px rgba(250,204,21,.85))}.sensor-dot.bad{filter:drop-shadow(0 0 10px rgba(248,113,113,.85))}.current-location-pin{filter:drop-shadow(0 0 10px rgba(59,130,246,.8))}.map-card{min-width:260px;max-width:280px}.map-card,.map-card.device-card,.map-card.device-card .card-face,.map-card.device-card .card-back{border-radius:0}.map-card.device-card:before,.map-card.device-card:after,.map-card.device-card .card-inner{border-radius:0}.map-card .name{font-size:1rem;margin-bottom:6px}.map-page .map-card .name{color:#fff}.map-card .meta{font-size:.9rem;color:#f8fafc}.map-page .map-card .meta,.map-page .map-card .meta.time,.map-page .map-card .meta.location{color:#fff!important}.map-card .metric-summary{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.map-card .metric-summary.metric-front{grid-template-columns:1fr}.map-card .metric-label{color:#e2e8f0}.map-card .metric-number{color:#f8fafc}.map-card .back-label{color:#e2e8f0}.map-card .back-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.map-card.device-card{min-height:320px;box-shadow:var(--shadow)}.map-card.device-card:hover{transform:none}.map-card.device-card .card-face{padding:22px 22px 20px 28px}.map-card.device-card .card-back{padding:20px 22px}.map-popup-shell{position:relative;width:100%;height:100%}.map-shell-actions{position:absolute;top:-14px;right:-14px;z-index:6;display:inline-flex;align-items:center;gap:8px;width:0;height:0;overflow:visible}.map-shell-battery{display:none}.map-close{display:none;position:static;z-index:5;border:1px solid rgba(255,255,255,.2);background:#080e1cd9;color:#f8fafc;border-radius:999px;padding:8px 14px;font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;cursor:pointer}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:transparent!important;box-shadow:none!important;border:none!important}.leaflet-popup-content{margin:0!important}.leaflet-popup-tip,.leaflet-popup-close-button{display:none}body.map-page .map-device-popup .map-shell-actions{top:16px;right:16px;width:auto;height:auto;overflow:visible;gap:10px}body.map-page .map-device-popup .map-shell-battery{display:none}body.map-page .map-device-popup .card-top>.battery.compact{display:inline-flex;margin-right:44px}body.map-page .map-device-popup .card-top>.battery.compact .battery-inside-text{font-size:.66rem}body.map-page .map-device-popup .map-close{display:inline-flex;position:static}@media(pointer:coarse){.map-page .map-device-popup.leaflet-popup{position:fixed!important;transform:none!important;inset:0!important;margin:0!important;z-index:10002!important}.map-page .map-device-popup .leaflet-popup-content-wrapper,.map-page .map-device-popup .leaflet-popup-content{width:100vw;height:100vh;max-width:none!important}@supports (height: 100dvh){.map-page .map-device-popup .leaflet-popup-content-wrapper,.map-page .map-device-popup .leaflet-popup-content{height:100dvh}}.map-page .map-device-popup .leaflet-popup-content-wrapper{border-radius:0;padding:0;display:block}.map-page .map-device-popup .leaflet-popup-content{margin:0!important;display:block}.map-page .map-device-popup .map-card{max-width:100%;width:100%;height:100%;border-radius:0}.map-page .map-device-popup .map-card .card-face{height:100%;overflow:auto;padding-top:calc(76px + env(safe-area-inset-top));padding-bottom:calc(24px + env(safe-area-inset-bottom))}.map-page .map-close{display:inline-flex;align-items:center;justify-content:center;position:absolute;top:0;right:0}}@media(max-width:1100px){.layout-split{grid-template-columns:1fr}.device-list{max-height:240px}}.map{height:70vh;min-height:520px;border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow);overflow:hidden}.map-shell{position:relative}.map-page .app{width:100%;margin:0;padding:0}.map-page .map-shell{height:100vh}.map-page .map{height:100vh;min-height:100vh;border-radius:0;border:none;background:radial-gradient(circle at 20% 20%,rgba(34,211,238,.18),transparent 45%),radial-gradient(circle at 80% 10%,rgba(245,158,11,.12),transparent 40%),linear-gradient(180deg,#050811,#0b1428 60%,#060a14)}.map-page .app-header{position:fixed;top:32px;left:50%;right:auto;width:min(1400px,calc(100% - 48px));transform:translate(-50%);padding:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:10001;border-radius:16px}.map-page .map-legend{inset:auto auto 16px 16px}.map-controls,.ts-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;justify-content:space-between;width:100%}.ts-left{display:flex;align-items:flex-end;gap:12px}.ts-right{display:flex;justify-content:flex-end;flex:1;gap:10px;align-items:center}.filter-section{display:flex;align-items:center;gap:10px}.drawer-only,.filter-label{display:none}.ts-right .filter-section-search .search-input{min-width:240px}.ts-right .filter-section-group{gap:8px}.group-open-btn{min-height:40px;padding:0 14px;font-size:.85rem;border-radius:10px}.ts-right .group-filter-select{width:170px}.dashboard-sort-select{width:200px}.map-popup{font-family:var(--font-body);color:var(--text)}.map-popup-title{font-weight:700;letter-spacing:.05em;text-transform:uppercase;margin-bottom:6px}.map-popup-meta{font-size:.75rem;color:var(--muted);margin-bottom:8px}.map-popup-grid{display:grid;grid-template-columns:auto auto;gap:4px 12px;font-size:.85rem}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--panel);color:var(--text);border:1px solid var(--border)}.device-panel{background:transparent;border-radius:0;padding:0;border:none}.device-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px}.device-header h2{margin:0;font-size:1.3rem}.device-header p{margin:0;color:var(--muted)}.device-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.device-card{position:relative;background:linear-gradient(160deg,#0f172afa,#0a101efa);border-radius:var(--radius);padding:0;border:1px solid var(--border);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px;min-height:320px;height:100%;overflow:hidden;transition:transform .16s ease;perspective:1200px;cursor:pointer;isolation:isolate}.device-card:after{content:"";position:absolute;inset:1px;border-radius:calc(var(--radius) - 1px);background:radial-gradient(circle at 85% 5%,rgba(56,189,248,.16),transparent 45%);opacity:.6;z-index:0;pointer-events:none}.card-inner{position:relative;height:100%;transform-style:preserve-3d;transition:transform .5s ease;z-index:1}.device-card.flipped .card-inner{transform:rotateY(180deg)}.card-face{position:absolute;inset:0;display:flex;flex-direction:column;gap:14px;backface-visibility:hidden;padding:22px 22px 20px 28px;overflow:hidden}.card-front{position:relative}.card-back{transform:rotateY(180deg);background:var(--panel);padding:20px 22px}.device-card:hover{transform:translateY(-2px)}body.dashboard-page .device-card{border:1px solid rgba(148,163,184,.22);background:linear-gradient(160deg,#0d1426fa,#070b16fa);box-shadow:var(--shadow-soft);animation:liftIn .5s ease both}body.dashboard-page .device-card:after{background:radial-gradient(circle at 85% 5%,rgba(34,211,238,.22),transparent 45%)}body.dashboard-page .device-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.device-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.device-card:before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:var(--accent);z-index:2}.device-card.status-ok:before{background:var(--ok)}.dashboard-page .device-card.status-ok:before{background:#22c55e;box-shadow:0 0 12px #22c55e59}.device-card.status-warn:before{background:var(--warn)}.device-card.status-bad:before{background:var(--bad)}.name{margin:0 0 6px;font-size:1rem;letter-spacing:.08em;text-transform:uppercase;word-break:break-word}.name-row{display:flex;align-items:center;gap:8px}.meta{margin:0;color:var(--muted);font-size:.9rem}.device-card .meta{color:var(--text)}.meta.time{white-space:nowrap}.metric-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.metric-summary.metric-front{grid-template-columns:1fr;gap:6px}.metric-row{display:grid;gap:6px;padding:6px 8px;border-radius:0;background:transparent;border:none}.metric-title{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text);display:flex;align-items:baseline;gap:6px}.metric-title .unit{font-size:.65rem;color:var(--muted)}.metric-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}.metric-values.single{grid-template-columns:1fr}.metric-value{position:relative;padding:4px 6px 4px 10px;border-radius:10px;border:1px solid rgba(56,189,248,.12);background:#02061759;display:grid;gap:2px;text-align:left}.metric-value:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;border-radius:10px 0 0 10px;background:#9fb2d866}.metric-value.status-ok:before{background:var(--ok)}.metric-value.status-warn:before{background:var(--warn)}.metric-value.status-bad:before{background:var(--bad)}.metric-value.status-unknown:before{background:#9fb2d866}.metric-value.muted{opacity:.6}body.dashboard-page .metric-value{background:#060a148c;border-color:#94a3b833}.metric-value-label{font-size:.6rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.metric-value-number{font-size:.95rem;font-weight:600;color:var(--text)}.sparkline-wrap{margin-top:4px;padding:10px 12px;border-radius:14px;border:1px solid rgba(56,189,248,.12);background:#02061759;display:grid;gap:8px}.sparkline-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.sparkline-grid{display:grid;grid-template-columns:1fr;gap:12px}.card-back-actions{display:flex;justify-content:flex-end;flex-wrap:nowrap;gap:6px;margin-top:auto;margin-bottom:0;padding-top:10px}.card-back-timeseries,.card-back-export{min-height:32px;width:32px;min-width:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.card-back-timeseries svg,.card-back-export svg{width:16px;height:16px;display:block;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;fill:none}.sparkline-item{padding:10px 12px;border-radius:14px;border:1px solid rgba(56,189,248,.12);background:#02061759;display:grid;gap:8px}body.dashboard-page .sparkline-wrap,body.dashboard-page .sparkline-item{background:#060a1480;border-color:#94a3b82e}.sparkline-header{display:flex;justify-content:space-between;align-items:baseline;font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.sparkline{width:100%;height:40px;stroke:var(--accent);fill:none}.sparkline-item .sparkline{height:32px}.sparkline polyline{stroke:var(--accent);stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;fill:none}.sparkline circle{fill:var(--accent)}.sparkline line,.sparkline .sparkline-grid-line{stroke:#94a3b82e;stroke-width:.8}@media(max-width:900px){.sparkline-grid{grid-template-columns:1fr}}.card-back .sparkline polyline{stroke:#fff}.card-back .sparkline circle{fill:#fff}.card-back .sparkline line{stroke:#ffffff59}.metric-item{background:var(--panel-2);border:1px solid rgba(56,189,248,.08);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:6px;position:relative}.metric-item:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;border-radius:14px 0 0 14px;background:var(--accent)}.metric-item.status-ok:before{background:var(--ok)}.metric-item.status-warn:before{background:var(--warn)}.metric-item.status-bad:before{background:var(--bad)}.metric-item.status-unknown:before{background:#9fb2d866}.metric-item.muted{opacity:.6}body.dashboard-page .metric-item{background:#060a148c;border-color:#94a3b833}.metric-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.metric-number{font-size:1.2rem;font-weight:600}.metric-number .unit{font-size:.75rem;color:var(--muted);margin-left:4px;font-weight:500}.battery{display:flex;align-items:center;gap:10px}.battery.compact{gap:8px}.battery-icon{position:relative;width:36px;height:16px;border:1px solid rgba(255,255,255,.35);border-radius:3px;overflow:hidden}.battery-inside-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.55rem;font-weight:700;line-height:1;color:#f8fafcf5;text-shadow:0 1px 2px rgba(8,14,28,.65);z-index:1;pointer-events:none}.battery-icon:after{content:"";position:absolute;right:-5px;top:4px;width:4px;height:8px;border-radius:2px;background:#ffffff59}.battery-fill{height:100%;width:var(--battery-level, 0%);background:var(--accent)}.battery-icon.ok .battery-fill{background:var(--ok)}.battery-icon.ok{border-color:var(--ok)}.battery-icon.warn .battery-fill{background:var(--warn)}.battery-icon.warn{border-color:var(--warn)}.battery-icon.bad .battery-fill{background:var(--bad)}.battery-icon.unknown .battery-fill{background:#9fb2d866}.battery-icon.unknown{border-color:#9fb2d866}.battery-icon.bad{border-color:var(--bad)}.battery-text{font-weight:600;color:var(--text);font-size:.85rem}.error-row{font-size:.75rem;color:var(--warn);letter-spacing:.04em;text-transform:uppercase}.card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.card-top>div{flex:1;min-width:0}.card-top .battery{flex:0 0 auto}.name-display{flex:1;min-width:0;margin-bottom:0}.card-icon-btn{width:30px;height:30px;border:1px solid rgba(148,163,184,.3);border-radius:10px;background:#080c18b8;color:var(--text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s ease,transform .2s ease;flex:0 0 auto}.card-icon-btn:hover{border-color:#38bdf899;transform:translateY(-1px)}.card-icon-btn:focus-visible{outline:2px solid rgba(56,189,248,.55);outline-offset:2px}.card-icon-btn svg{width:15px;height:15px;fill:currentColor}.rename-input{flex:1;width:100%;min-width:0;border-radius:10px;border:1px solid rgba(148,163,184,.35);background:#0a0e1cd9;color:var(--text);padding:6px 10px;font-size:.9rem}.device-card.rename-open{box-shadow:0 0 0 1px #38bdf861,0 14px 30px #02061773}.card-bottom{margin-top:auto}.location{font-size:.85rem;display:inline-flex;align-items:center;flex-wrap:wrap;gap:.45rem}.comm-badge{display:inline-flex;align-items:center;justify-content:center;padding:.14rem;border-radius:999px;border:1px solid rgba(148,163,184,.28);background:#0f172a47;width:1.45rem;height:1.45rem;line-height:1;white-space:nowrap}.comm-icon{display:inline-flex;width:.95rem;height:.95rem;opacity:.92}.comm-icon svg{width:100%;height:100%;display:block;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;fill:none}.comm-badge-wifi{border-color:#38bdf86b;color:#bae6fdf5}.comm-badge-nbiot{border-color:#facc156b;color:#fef9c3f5}.comm-badge-lorawan{border-color:#22c55e6b;color:#dcfce7f5}.group-row{margin-top:8px;display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.group-text{font-size:.82rem;color:#9fb2d8e6;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-text span{color:#9fb2d8e6}.group-plus-btn{width:28px;height:28px;border:1px solid rgba(148,163,184,.34);border-radius:9px;background:#080c18bd;color:var(--text);font-size:1.05rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto}.group-plus-btn:hover{border-color:#38bdf8a6}.group-picker{margin-top:8px}.group-picker .group-select{width:100%}.group-dialog{border:1px solid rgba(148,163,184,.26);border-radius:16px;background:#060a14f5;color:var(--text);width:min(440px,calc(100vw - 32px));padding:0;box-shadow:0 24px 48px #00000073;font-family:var(--font-body)}.group-dialog::backdrop{background:#0206179e}.group-dialog-form{display:grid;gap:12px;padding:18px}.group-dialog-form h2{margin:0;font-size:1.05rem;font-family:var(--font-display)}.group-dialog-form p{margin:0;color:var(--muted);font-size:.88rem;font-family:var(--font-body)}.group-dialog-actions{display:flex;justify-content:flex-end;gap:8px}.group-dialog-list{display:grid;gap:8px;max-height:min(240px,38vh);overflow:auto}.group-dialog-list:empty{display:none}.group-dialog-empty{margin:0;padding:10px 12px;border-radius:12px;border:1px dashed rgba(148,163,184,.22);color:var(--muted);font-family:var(--font-body);font-size:.84rem;background:#080e1c6b}.group-dialog-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid rgba(148,163,184,.18);background:#080e1c8a}.group-dialog-item-name{min-width:0;font-family:var(--font-body);font-size:.9rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.group-dialog-item-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.group-dialog-rename,.group-dialog-remove{flex:0 0 auto;min-height:34px;padding:0 12px;border-radius:10px;font-family:var(--font-body);font-size:.8rem;font-weight:600;cursor:pointer}.group-dialog-rename{border:1px solid rgba(125,211,252,.26);background:#0e749024;color:#bae6fd}.group-dialog-rename:hover{background:#0e749038;border-color:#7dd3fc61}.group-dialog-remove{border-radius:10px;border:1px solid rgba(248,113,113,.26);background:#7f1d1d24;color:#fecaca}.group-dialog-remove:hover{background:#7f1d1d38;border-color:#f8717161}.admin-danger-btn{border-color:#f8717157!important;background:#7f1d1d24!important;color:#fecaca!important}.admin-danger-btn:hover{background:#7f1d1d38!important;border-color:#f8717175!important}.admin-confirm-copy{margin:0;color:#fecaca;font-family:var(--font-body);font-size:.9rem;line-height:1.45}.admin-confirm-target{padding:10px 12px;border-radius:12px;border:1px solid rgba(248,113,113,.2);background:#7f1d1d1f;color:var(--text);font-family:var(--font-body);font-size:.9rem}.app-alert-host{position:fixed;inset:0;display:grid;place-items:center;padding:20px;pointer-events:none;z-index:20000;opacity:0;transition:opacity .16s ease}.app-alert-host.is-visible{opacity:1;pointer-events:auto}.app-alert-card{width:min(420px,calc(100vw - 28px));padding:16px 18px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start;border-radius:16px;border:1px solid rgba(148,163,184,.24);background:linear-gradient(180deg,#0a101efa,#060a14fa);box-shadow:0 24px 54px #02061780;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.app-alert-card[data-tone=info]{border-color:#38bdf84d}.app-alert-card[data-tone=success]{border-color:#22c55e57}.app-alert-card[data-tone=error]{border-color:#f8717157}.app-alert-copy{display:grid;gap:4px}.app-alert-title{margin:0;font-family:var(--font-display);font-size:.95rem;color:var(--text)}.app-alert-message{margin:0;font-family:var(--font-body);font-size:.92rem;line-height:1.45;color:#f1f5f9f5}.app-alert-close{min-width:74px;height:36px;padding:0 12px;border-radius:10px;border:1px solid rgba(148,163,184,.24);background:#0f172ab8;color:#f1f5f9f5;font-family:var(--font-body);font-size:.82rem;font-weight:600;cursor:pointer}.app-alert-close:hover{background:#1e293bdb}.back-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.back-chip{background:var(--panel-2);border:1px solid rgba(56,189,248,.08);border-radius:14px;padding:8px 10px;display:flex;flex-direction:column;gap:6px;min-width:0}.back-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);line-height:1.2;min-height:28px}.back-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:100%}.back-values.single{grid-template-columns:1fr}.back-value-chip{--chip-radius: 12px;background:#02061759;border:1px solid rgba(56,189,248,.12);border-radius:var(--chip-radius);padding:6px 8px;font-size:.85rem;font-weight:600;position:relative;min-width:0;text-align:left;width:100%}@media(max-width:1100px){.back-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.back-grid{grid-template-columns:1fr}}.back-value-chip:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;border-radius:var(--chip-radius) 0 0 var(--chip-radius);background:#9fb2d866}.back-value-chip.status-ok:before{background:var(--ok)}.back-value-chip.status-warn:before{background:var(--warn)}.back-value-chip.status-bad:before{background:var(--bad)}.back-value-chip.status-unknown:before{background:#9fb2d866}@media(max-width:1100px){.device-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1500px){.device-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:720px){.device-grid{grid-template-columns:1fr}.device-summary{text-align:left}.controls-right,.controls-right .search-input{width:100%}}.empty-state,.loading-state{color:var(--muted);text-align:center;display:flex;align-items:center;justify-content:center;gap:10px}.empty-state{margin-top:18px;padding:16px;border-radius:12px;border:1px dashed var(--border)}.loading-state{position:fixed;inset:0;background:#020617b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:9999;flex-direction:column;color:var(--text);font-weight:600;letter-spacing:.08em;text-transform:uppercase;pointer-events:none}.map-page #map-status[data-mode=notice]{inset:auto 12px 12px;width:auto;height:auto;min-height:0;padding:10px 12px;border-radius:12px;border:1px solid rgba(56,189,248,.3);background:#080e1ceb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:10006;align-items:center;justify-content:flex-start;text-transform:none;letter-spacing:.01em}.map-page #map-status[data-mode=notice] .spinner{display:none}.spinner{width:36px;height:36px;border-radius:999px;border:3px solid rgba(56,189,248,.2);border-top-color:var(--accent);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.load-more{height:40px}@media(max-width:900px),(max-height:500px){.app{padding:8px 0 32px}.menu-toggle{display:inline-flex;position:fixed;top:calc(12px + env(safe-area-inset-top));right:calc(12px + env(safe-area-inset-right));z-index:10005;width:46px;height:46px;padding:0;border-radius:999px;background:#080e1ce6;border:1px solid rgba(56,189,248,.35);box-shadow:0 14px 26px #02061780;justify-content:center}.menu-icon{width:22px;height:2px}.menu-text{display:none}.header-actions{position:fixed;top:0;right:0;height:100dvh;max-height:100dvh;width:min(78vw,320px);background:linear-gradient(180deg,#0a101efa,#060a14fa);padding:calc(112px + env(safe-area-inset-top)) 20px calc(156px + env(safe-area-inset-bottom));box-shadow:-20px 0 40px #0006;flex-direction:column;align-items:stretch;gap:12px;transform:translate(100%);transition:transform .2s ease;z-index:10004;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;box-sizing:border-box;border-left:1px solid rgba(56,189,248,.15);opacity:0;visibility:hidden;pointer-events:none;border-top-left-radius:22px;border-bottom-left-radius:22px}.header-actions.nav-box{background:transparent;border:none;box-shadow:none;border-radius:0}.header-actions:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top,rgba(56,189,248,.2),transparent 55%);opacity:.5;pointer-events:none;z-index:0}body.dashboard-page .header-actions.open,body.timeseries-page .header-actions.open,body.map-page .header-actions.open{transform:translate(0);opacity:1;visibility:visible;pointer-events:auto}.header-actions>*{position:relative;z-index:1}.menu-panel-head{display:flex;margin-bottom:8px;margin-top:12px}.header-actions .btn{width:100%;justify-content:center;text-align:center;padding:0 10px;border-radius:12px;font-size:.85rem;height:60px;min-height:60px;line-height:60px;box-sizing:border-box}.header-actions .profile-avatar-link{width:42px!important;min-width:42px!important;max-width:42px!important;height:42px!important;min-height:42px!important;max-height:42px!important;flex:0 0 42px!important;aspect-ratio:1 / 1!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0!important;border-radius:999px!important;margin-left:0!important;align-self:flex-start;line-height:1!important;margin-bottom:4px}.header-actions #avatar-link{order:-1;width:46px!important;min-width:46px!important;max-width:46px!important;height:46px!important;min-height:46px!important;max-height:46px!important;flex:0 0 46px!important;aspect-ratio:1 / 1!important;border-radius:999px!important;padding:0!important;line-height:1!important;overflow:hidden!important;align-self:flex-start!important;justify-content:center!important}.header-actions .user-menu{position:static;width:auto;order:1;margin-top:0;margin-left:0!important;display:contents!important}.header-actions .user-menu-trigger{display:inline-flex!important;position:static;top:auto;left:auto;transform:none;pointer-events:none;align-self:flex-start;margin:0 0 6px}.header-actions .account-menu-trigger{display:none!important}.header-actions .user-menu-dropdown{position:static;display:contents!important;flex:none;width:100%;left:auto;right:auto;bottom:auto;margin-top:0;padding:0;border:none;box-shadow:none;border-radius:12px;background:transparent}.header-actions .user-menu-item{justify-content:center;min-height:60px;font-size:.9rem;border-radius:12px;border:1px solid rgba(56,189,248,.22);background:#0f172ab3;box-shadow:inset 0 0 0 1px #02061799;pointer-events:auto;position:relative;z-index:2}.header-actions .user-menu-item.user-menu-logout{margin-top:0;background:#fff;color:#0b1220;border:1px solid rgba(226,232,240,.7)}.header-actions .btn.secondary{background:#0f172ab3;border:1px solid rgba(56,189,248,.22);box-shadow:inset 0 0 0 1px #02061799}.header-actions .btn.secondary.active,.header-actions .btn.secondary[aria-current=page]{background:#38bdf82e;color:var(--text);border-color:#38bdf84d;pointer-events:auto}.header-actions .btn.primary,.header-actions .btn.logout{justify-content:center}.header-actions .btn.primary{background:linear-gradient(140deg,#38bdf8e6,#0e7490e6);color:#04101c}.header-actions .btn.logout{background:#fff;color:#0b1220;border:1px solid rgba(226,232,240,.7)}#login-btn{margin-top:0;position:static;left:auto;right:auto;bottom:auto;width:100%;z-index:3}.header-actions #login-btn,.header-actions #logout-btn{margin-top:0}.header-actions>a[href="/index.html"]{order:2}.header-actions>a[href="/map.html"]{order:3}.header-actions>a[href="/timeseries.html"]{order:4}.header-actions>#admin-link{order:5}.header-actions #profile-link{order:6}.header-actions #logout-btn{order:7}.header-actions>#login-btn{order:6}.map-page .map-device-popup.leaflet-popup{position:fixed!important;left:0!important;top:0!important;transform:none!important;margin:0!important;z-index:10002!important}.map-page .map-device-popup .leaflet-popup-content-wrapper{width:100vw;height:100vh;border-radius:0;padding:0}.map-page .map-device-popup .leaflet-popup-content{width:100vw!important;height:100vh!important;margin:0!important}.map-page .map-device-popup .map-card{max-width:100%;width:100%;height:100%;border-radius:0}.map-page .map-device-popup .map-card .card-face{height:100%;overflow:auto;padding-top:76px}.map-close{display:inline-flex;align-items:center;justify-content:center}}@media(max-width:640px){.btn{flex:1 1 160px;text-align:center}}@media(max-width:720px){body,.app{padding:0}.app-header{padding:16px;margin-bottom:8px;align-items:center}.controls{margin:0 16px 12px}.card-face{padding:16px}.device-card{min-height:300px}.map-card{max-width:100%;min-width:0}.map-card.device-card{min-height:300px}.map-card.device-card .card-face{padding:16px}.chart-wrap{padding:12px;min-height:360px}.uplot-container{height:280px}.chart-header{align-items:flex-start}.chart-metric,.chart-metric select{width:100%}.layout-split{grid-template-columns:1fr}.layout-split .chart-wrap{order:-1}.header-actions .profile-avatar-link{flex:0 0 auto!important}.device-list{max-height:220px}.map-page .app-header{margin:0;position:fixed;inset:0 0 auto;padding:18px 16px 12px;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:10001;border-radius:0;transform:none}.map-page .map-shell{height:100vh}.map-page .map{height:100vh;min-height:100vh;border-radius:0;border:none}.map-page .map-legend{inset:12px auto auto 12px}.map-page .leaflet-popup{position:fixed!important;left:0!important;top:0!important;transform:none!important;margin:0!important;z-index:10002!important}.map-page .leaflet-popup-content-wrapper{width:100vw;height:100vh;border-radius:0}.map-page .leaflet-popup-content{width:100vw!important;height:100vh!important;margin:0!important}.map-page .map-card{max-width:100%;width:100%;height:100%;border-radius:0}.map-page .map-card .card-face{height:100%;overflow:auto;padding-top:76px}}@media(max-width:720px)and (orientation:portrait){.device-grid{padding:0 16px}.controls .ts-controls{justify-content:center;text-align:center}.controls .ts-left,.controls .ts-right{width:100%;justify-content:center;flex-wrap:wrap}.controls .ts-right .search-input{max-width:280px}.controls .ts-right .group-filter-select{max-width:280px;width:100%}.empty-state{margin:18px 16px 0}.card-face{padding:20px 20px 18px 24px}.card-back{padding:22px 20px}.header-actions .btn,.header-actions a.btn,.header-actions button.btn,.header-actions .btn.secondary,.header-actions .btn.primary,.header-actions .btn.logout{height:60px!important;min-height:60px!important;max-height:60px!important;line-height:60px!important;padding:0 14px!important;font-size:.9rem!important;border-radius:12px!important}.header-actions .profile-avatar-link{width:42px!important;min-width:42px!important;max-width:42px!important;height:42px!important;min-height:42px!important;max-height:42px!important;padding:0!important;line-height:1!important;border-radius:999px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;align-self:flex-start!important;flex:0 0 42px!important;aspect-ratio:1 / 1!important}.header-actions #avatar-link{width:52px!important;min-width:52px!important;max-width:52px!important;height:52px!important;min-height:52px!important;max-height:52px!important;flex:0 0 52px!important;aspect-ratio:1 / 1!important;border-radius:999px!important;padding:0!important;line-height:1!important;overflow:hidden!important;align-self:flex-start!important;justify-content:center!important}.header-actions{gap:8px;padding-top:calc(18px + env(safe-area-inset-top))}}@media(max-width:900px),(max-height:500px){.app-header{min-height:64px;justify-content:flex-end}.filter-toggle{display:inline-flex;position:fixed;top:calc(12px + env(safe-area-inset-top));left:calc(12px + env(safe-area-inset-left));z-index:10045;width:46px;height:46px;padding:0;border-radius:999px;background:#080e1ce6;border:1px solid rgba(56,189,248,.35);box-shadow:0 14px 26px #02061780}.mobile-filter-drawer{position:fixed;top:0;left:0;width:min(86vw,380px);height:100dvh;max-height:100dvh;margin:0;padding:calc(84px + env(safe-area-inset-top)) 18px 20px;display:none;overflow-y:auto;overflow-x:hidden;border-right:1px solid rgba(56,189,248,.15);border-radius:0 22px 22px 0;background:linear-gradient(180deg,#0a101efa,#060a14fa);box-shadow:20px 0 40px #0006;transform:translate(-100%);transition:transform .2s ease;opacity:0;visibility:hidden;pointer-events:none;z-index:10044}.mobile-filter-drawer:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top,rgba(56,189,248,.2),transparent 55%);opacity:.45;pointer-events:none;z-index:0}.mobile-filter-drawer.open{display:block;transform:translate(0);opacity:1;visibility:visible;pointer-events:auto}.mobile-filter-drawer>*{position:relative;z-index:1}.mobile-filter-drawer .ts-controls{display:grid;gap:14px;justify-items:stretch}.mobile-filter-drawer .filter-section{display:grid;gap:10px;padding:12px;border-radius:14px;border:1px solid rgba(56,189,248,.16);background:#060a148c;box-shadow:inset 0 0 0 1px #0206177a}.mobile-filter-drawer .drawer-only{display:grid}.mobile-filter-drawer .filter-label{display:block;margin:0;color:var(--muted);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600}.mobile-filter-drawer .ts-left,.mobile-filter-drawer .ts-right{width:100%;display:grid;gap:12px}.mobile-filter-drawer .chip-group{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mobile-filter-drawer .chip-group.device-filter{grid-template-columns:repeat(3,minmax(0,1fr))}.mobile-filter-drawer .chip-group .chip-button{flex:1 1 auto;width:100%}.mobile-filter-drawer .search-input,.mobile-filter-drawer .group-filter-select,.mobile-filter-drawer .btn,.mobile-filter-drawer .chip-button{width:100%;max-width:none;min-height:48px;border-radius:14px;border:1px solid rgba(56,189,248,.22);background:#0f172ab3;box-shadow:inset 0 0 0 1px #02061799;color:var(--text);font-size:.85rem;line-height:1;text-transform:none;letter-spacing:.01em;justify-content:center;padding:0 10px}.mobile-filter-drawer .filter-section-search .search-input,.mobile-filter-drawer .filter-section-group .group-filter-select{min-height:44px}.mobile-filter-drawer #dashboard-group-btn{background:linear-gradient(140deg,#38bdf8eb,#0e7490e6);color:#04101c;border:none;box-shadow:0 10px 22px #0891b247}.mobile-filter-drawer .chip-button.active{background:#38bdf82e;border-color:#38bdf84d;color:var(--text)}.mobile-filter-drawer .search-input,.mobile-filter-drawer .group-filter-select{min-height:48px;padding:0 12px;justify-content:flex-start;white-space:normal;overflow:visible;text-overflow:clip}body.timeseries-page .mobile-filter-drawer .timeseries-search-controls{display:grid;gap:10px}body.timeseries-page .mobile-filter-drawer .timeseries-select-actions{grid-template-columns:repeat(3,minmax(0,1fr))}body.timeseries-page .mobile-filter-drawer .drawer-sensor-select{min-height:180px;height:min(36vh,260px);padding:8px 10px;line-height:1.3}body.timeseries-page .mobile-filter-drawer .drawer-sensor-select option{padding:6px 8px}.app-header .brand{position:absolute;left:50%;top:calc(10px + env(safe-area-inset-top));transform:translate(-50%);margin:0;gap:0;pointer-events:none}.app-header .brand h1{display:none}.app-header .brand .logo{width:52px;padding-bottom:0;margin:0 auto;display:block}body.timeseries-page .mobile-filter-drawer{width:100vw;max-width:100vw;border-radius:0;border-right:none;padding:calc(72px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom));box-sizing:border-box;z-index:10046}body.timeseries-page .filter-scrim{z-index:10045}body.map-page .filter-toggle,body.profile-page .filter-toggle,body.admin-page .filter-toggle,body.lights-page .filter-toggle{display:none}}@media(orientation:landscape)and (max-height:500px){body.timeseries-page .mobile-filter-drawer .drawer-sensor-select{height:min(44vh,300px)}}@media(max-height:500px){.header-actions{padding:calc(36px + env(safe-area-inset-top)) 20px calc(132px + env(safe-area-inset-bottom))}.header-actions .btn{height:44px!important;min-height:44px!important;max-height:44px!important;line-height:44px!important;font-size:.72rem!important}.header-actions .profile-avatar-link{width:38px!important;min-width:38px!important;max-width:38px!important;height:38px!important;min-height:38px!important;max-height:38px!important;flex:0 0 38px!important;aspect-ratio:1 / 1!important;line-height:1!important;border-radius:999px!important;overflow:hidden!important}.header-actions #avatar-link{width:40px!important;min-width:40px!important;max-width:40px!important;height:40px!important;min-height:40px!important;max-height:40px!important;flex:0 0 40px!important;aspect-ratio:1 / 1!important;border-radius:999px!important;overflow:hidden!important}.map-page .app-header{margin:0;position:fixed;inset:0 0 auto;padding:18px 16px 12px;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:10001;border-radius:0;transform:none}.map-page .map-shell{height:100vh}.map-page .map{height:100vh;min-height:100vh;border-radius:0;border:none}.map-page .map-legend{inset:12px auto auto 12px}.map-page .leaflet-popup{position:fixed!important;left:0!important;top:0!important;transform:none!important;margin:0!important;z-index:10002!important}.map-page .leaflet-popup-content-wrapper{width:100vw;height:100vh;border-radius:0}.map-page .leaflet-popup-content{width:100vw!important;height:100vh!important;margin:0!important}.map-page .map-card{max-width:100%;width:100%;height:100%;border-radius:0}.map-page .map-card .card-face{height:100%;overflow:auto;padding-top:76px}}@media(orientation:landscape)and (max-height:500px){.header-actions{width:min(84vw,340px);padding:calc(12px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom));gap:8px}.header-actions .btn{height:48px!important;min-height:48px!important;max-height:48px!important;line-height:48px!important;font-size:.8rem!important}.header-actions #avatar-link{width:44px!important;min-width:44px!important;max-width:44px!important;height:44px!important;min-height:44px!important;max-height:44px!important;flex:0 0 44px!important}.header-actions .user-menu-dropdown,.header-actions #login-btn{position:static;left:auto;right:auto;bottom:auto;width:100%}.header-actions .user-menu{width:100%}.header-actions .user-menu-dropdown,.header-actions .user-menu-item.user-menu-logout{margin-top:0}}@media(max-width:900px),(max-height:500px){body.map-page.map-popup-open .app-header{display:flex}body.map-page .app-header{z-index:10040!important}body.map-page .menu-toggle{z-index:10042!important}body.map-page .header-actions,body.map-page .header-actions.open{z-index:10041!important}body.map-page .menu-scrim{z-index:10039!important}body.map-page.nav-open .map-shell{pointer-events:none}body.map-page.nav-open .app-header,body.map-page.nav-open .menu-scrim{pointer-events:auto}}body.timeseries-page{position:relative;min-height:100vh}@media(max-width:900px),(max-height:500px){body.timeseries-page{overflow-x:hidden}body.timeseries-page .app{display:block;position:relative;z-index:10040}body.timeseries-page:before{content:none!important}body.timeseries-page .app-header{position:relative;z-index:10040}body.timeseries-page .filter-toggle{z-index:10045}body.timeseries-page .layout-split{grid-template-columns:1fr}body.timeseries-page .layout-split>.panel.tight{display:none}body.timeseries-page .chart-range{display:none}body.timeseries-page .timeseries-search-controls{display:grid;gap:10px}body.timeseries-page .timeseries-search-controls .search-input{min-width:0;width:100%}body.timeseries-page .menu-toggle{z-index:10042}body.timeseries-page .header-actions,body.timeseries-page .header-actions.open{z-index:10041}body.timeseries-page .menu-scrim{z-index:10039}body.timeseries-page .filter-scrim{z-index:10045}body.timeseries-page .mobile-filter-drawer{z-index:10046}body.timeseries-page .mobile-filter-drawer .ts-controls{max-width:680px;margin:0 auto}body.timeseries-page .mobile-filter-drawer .timeseries-search-controls{display:grid;gap:10px}body.timeseries-page .mobile-filter-drawer .drawer-sensor-select{height:min(42vh,320px)}body.timeseries-page .mobile-filter-drawer .timeseries-select-actions{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){body:before,body:after{animation:none}body.dashboard-page .controls,body.timeseries-page .controls,body.dashboard-page .device-card,body.timeseries-page .panel,body.timeseries-page .chart-wrap{animation:none}.device-card,.btn,.chip,.chip-button,.menu-toggle{transition:none}}.simple-auth{background:linear-gradient(180deg,#0b1324,#060a14)}.simple-auth-shell{min-height:100vh;display:grid;place-items:center;padding:32px 16px;position:relative;overflow:hidden}.simple-auth-card{width:min(960px,100%);background:#080c18eb;border:1px solid rgba(148,163,184,.16);border-radius:22px;padding:24px;box-shadow:0 16px 40px #02061773;display:grid;gap:14px;text-align:left;font-family:var(--font-body)}.auth-command-card{grid-template-columns:minmax(280px,1.15fr) minmax(320px,.95fr);gap:24px;background:radial-gradient(circle at top left,rgba(56,189,248,.14),transparent 34%),radial-gradient(circle at bottom right,rgba(14,165,233,.12),transparent 32%),#080c18f0}.auth-command-copy{display:grid;gap:18px;align-content:start;padding-right:10px}.auth-command-panel{display:grid;gap:14px;align-content:start;padding:18px;border-radius:18px;background:#040812c2;border:1px solid rgba(148,163,184,.14)}.auth-copy-block{display:grid;gap:14px}.auth-kicker{margin:0;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;color:#7dd3fc}.auth-command-heading{margin:0;font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.04}.auth-command-text{margin:0;color:var(--muted);line-height:1.6}.auth-copy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.auth-copy-metric{padding:14px 16px;border-radius:16px;background:#0f172a80;border:1px solid rgba(148,163,184,.12)}.auth-copy-label{display:block;margin-bottom:6px;font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;color:#94a3b8}.auth-session-card{display:grid;gap:10px;padding:14px 16px;border-radius:16px;border:1px solid rgba(56,189,248,.26);background:linear-gradient(180deg,#082f4961,#070c18a8)}.auth-session-card[hidden]{display:none}.auth-session-label{margin:0;font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;color:#7dd3fc}.auth-session-message{margin:0;color:#e2e8f0;line-height:1.5}.auth-session-actions{display:flex;flex-wrap:wrap;gap:10px}.simple-auth-card .logo{width:48px;height:48px;margin:0}body.auth-page:before,body.auth-page:after{display:none}.simple-auth-card h1{margin:0;font-family:var(--font-display)}.auth-subtitle{margin:6px 0 0;color:var(--muted);font-size:.9rem;line-height:1.5}.simple-auth-form{display:grid;gap:10px;text-align:left}.simple-auth-form label{display:grid;gap:6px;font-size:.85rem}.simple-auth-form input{width:100%;padding:10px 12px;border-radius:12px;border:1px solid rgba(148,163,184,.3);background:#080c18bf;color:var(--text);font-size:.95rem;font-family:var(--font-body);font-weight:500;letter-spacing:.01em;-webkit-text-size-adjust:100%;text-size-adjust:100%;appearance:none;-webkit-appearance:none}.simple-auth-form input::placeholder{font-family:var(--font-body)}.simple-auth-form input:focus{outline:2px solid var(--ring);outline-offset:2px}.simple-auth-form input:-webkit-autofill,.simple-auth-form input:-webkit-autofill:hover,.simple-auth-form input:-webkit-autofill:focus,.simple-auth-form input:-webkit-autofill:active{-webkit-text-fill-color:var(--text);-webkit-text-size-adjust:100%;font-family:var(--font-body);font-weight:500;transition:background-color 9999s ease-out 0s;box-shadow:0 0 0 1000px #080c18d9 inset;border:1px solid rgba(148,163,184,.3)}.simple-auth-form .btn.primary{width:100%;justify-content:center}.simple-auth .btn{font-size:.95rem;padding:10px 14px}.simple-auth .auth-status{text-align:left}@media(max-width:600px){.auth-command-card,.auth-copy-grid,.auth-social{grid-template-columns:1fr}}.auth-footer{margin:0;color:var(--muted)}.auth-status{padding:8px 12px;border-radius:12px;font-size:.95rem;border:1px solid transparent;background:#0f172a99}.auth-status[data-tone=error]{border-color:#f8717166;color:#fecaca}.auth-status[data-tone=success]{border-color:#22c55e66;color:#bbf7d0}.auth-status[hidden]{display:none}.auth-header{display:flex;gap:10px;align-items:center;text-align:left}.auth-title{margin:0;font-family:var(--font-display);font-size:1.6rem;line-height:1.15}.auth-highlight{color:var(--accent);font-weight:600}.verify-note{margin-top:6px;font-size:.85rem;color:var(--muted)}.auth-social{display:grid;grid-template-columns:1fr;gap:8px}.social-icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center}.social-icon svg{width:100%;height:100%}.auth-divider{position:relative;text-align:center;color:var(--muted);font-size:.9rem}.auth-divider.minimal{position:static;margin:6px 0 2px;font-size:.85rem;color:var(--muted)}.auth-divider.minimal:before,.auth-divider.minimal:after{display:none}.auth-social.bottom{margin-top:4px}.password-field{position:relative;display:block}.password-field input{padding-right:44px}.toggle-password{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--muted);cursor:pointer;padding:4px;display:inline-flex;align-items:center;justify-content:center}.toggle-password svg{width:18px;height:18px;fill:currentColor}.toggle-password.visible{color:var(--text)}@media(max-width:480px){.simple-auth-card{padding:20px}.auth-title{font-size:1.4rem}.auth-social .btn,.simple-auth .btn{font-size:.9rem;padding:10px 12px}}.auth-divider:before,.auth-divider:after{content:"";position:absolute;top:50%;width:45%;height:1px;background:#94a3b840}.auth-divider:before{left:0}.auth-divider:after{right:0}.auth-divider span{background:#0c1424e6;padding:0 8px}.auth-footer{margin:0;color:var(--muted);font-size:.85rem}.auth-link{color:var(--accent);text-decoration:none;font-weight:600}.auth-link:hover{text-decoration:underline}.verify-form{display:grid;gap:14px}.code-inputs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;max-width:420px;margin:2px auto 0;padding:10px;border-radius:14px;border:1px solid var(--border-soft);background:#080c1885}.code-input{min-height:52px;text-align:center;font-size:1.2rem;font-weight:600;font-family:var(--font-mono);border-radius:10px;border:1px solid var(--border-soft);background:#020617d1;color:var(--text);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,background-color .16s ease}.code-input.filled{border-color:#38bdf873;background:#061226e6}.otp-hidden{position:absolute;opacity:0;pointer-events:none;height:0;width:0}.code-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--ring);transform:translateY(-1px)}.code-input::-webkit-outer-spin-button,.code-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.verify-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;margin-top:4px}.verify-actions .btn{min-width:150px;justify-content:center}.reset-password-page .simple-auth-shell{padding:28px 16px 96px}.reset-auth-card{width:min(520px,100%);gap:14px}.reset-auth-form{gap:12px}.reset-auth-block{display:grid;gap:12px;padding:0}.reset-code-btn{justify-self:start;min-width:0}.reset-auth-code-section .code-inputs{width:100%;max-width:none;margin:0}.reset-auth-passwords{display:grid;gap:10px}.reset-auth-bottom{display:grid;gap:12px}.reset-auth-bottom .auth-status{margin:0}.reset-auth-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.reset-auth-actions .btn{min-width:160px;justify-content:center}.reset-auth-actions .btn.primary{width:auto;flex:1 1 auto}@media(max-width:520px){.code-inputs{gap:7px;padding:8px}.code-input{min-height:46px;font-size:1.05rem;border-radius:9px}.verify-actions{display:grid;grid-template-columns:1fr}.verify-actions .btn{width:100%;min-width:0}.reset-auth-card{width:min(100%,100%)}.reset-auth-actions{display:grid;grid-template-columns:1fr}.reset-auth-actions .btn{width:100%;min-width:0}}@media(max-width:600px){.auth-header{flex-direction:column;align-items:flex-start}.auth-social{grid-template-columns:1fr}}.auth-social .btn{display:inline-flex;align-items:center;gap:10px;justify-content:center;padding:10px 14px;font-size:.95rem}.admin-layout{display:grid;grid-template-columns:1fr;gap:18px;align-items:start}.admin-page .header-actions{justify-content:center}.admin-page .header-actions .profile-avatar-link,.admin-page .header-actions .user-menu{margin-left:0}.admin-shell{display:grid;gap:14px}.admin-shell-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-tabs{display:inline-flex;flex-wrap:wrap;gap:8px;padding:6px;border-radius:14px;border:1px solid rgba(148,163,184,.2);background:#080c1885;width:fit-content}.admin-tab{border:1px solid rgba(148,163,184,.24);background:#080c18cc;color:var(--muted);border-radius:10px;padding:9px 14px;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}.admin-tab.active{background:#38bdf829;border-color:#38bdf880;color:#e2f2ff}.admin-tab-panel{display:none}.admin-tab-panel.active{display:block}.admin-actions-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.admin-title{margin:4px 0;font-size:1.25rem}.admin-subtitle{margin:0;color:var(--muted);font-size:.92rem}.admin-users-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.admin-actions-panel[open] .admin-actions-summary{border-bottom:1px solid rgba(148,163,184,.2);margin-bottom:12px;padding-bottom:12px}.admin-actions-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style:none}.admin-actions-summary::-webkit-details-marker{display:none}.admin-count{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);padding:4px 10px;border-radius:999px;border:1px solid rgba(56,189,248,.25);background:#38bdf81f}.admin-users .search-input{width:100%;margin-bottom:12px}.admin-select-row{margin:8px 0 16px}.admin-select-row label{display:grid;gap:6px;color:var(--muted);font-size:.85rem}.admin-select-row select{width:min(520px,100%)}.admin-profile,.admin-device-settings{display:grid;gap:12px}.admin-profile label,.admin-device-settings label{display:grid;gap:6px;color:var(--muted);font-size:.85rem}.admin-group-actions{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;margin-bottom:12px}.admin-group-list{display:grid;gap:8px}.admin-group-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;border:1px solid rgba(148,163,184,.2);background:#080c18b3}.profile-layout{display:flex;justify-content:center;align-items:flex-start;width:100%}.profile-main-panel{width:min(980px,100%);min-height:0}.profile-panel-headline{display:grid;gap:6px;margin-bottom:12px}.profile-page-title{margin:0;font-family:var(--font-display);font-size:clamp(1.3rem,2.2vw,1.8rem);letter-spacing:.02em}.profile-page-subtitle{margin:0;color:var(--muted);font-size:.88rem;max-width:42ch}.profile-form{display:grid;gap:10px}.profile-fields{display:grid;gap:12px}.profile-form-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}.profile-stack-section{display:grid;gap:10px;align-content:start;padding:12px;border-radius:18px;border:1px solid rgba(148,163,184,.16);background:linear-gradient(180deg,#090e1cbd,#090e1c8a);box-shadow:inset 0 1px #94a3b80d}.profile-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;flex-wrap:wrap}.profile-section-kicker{margin:0;font-size:.76rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#7dd3fceb}.profile-section-note{margin:0;color:#94a3b8eb;font-size:.76rem;line-height:1.45}.profile-identity-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.profile-field{min-width:0}.profile-field-wide{grid-column:1 / -1}.profile-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.profile-form label{display:grid;gap:6px;color:var(--muted);font-size:.82rem}.profile-save-btn{width:auto;min-width:180px;min-height:40px;line-height:40px;padding:0 12px;font-size:.9rem}.profile-avatar-section{display:grid;gap:8px;width:100%;justify-self:stretch}.profile-avatar-preview{width:86px;height:86px;min-width:86px;min-height:86px}.profile-avatar-preview-large{width:102px;height:102px;min-width:102px;min-height:102px;font-size:1.38rem}.profile-avatar-preview-wrap{display:flex;justify-content:center;align-items:center;min-height:108px}.profile-avatar-actions{display:grid;gap:8px;width:100%;grid-template-columns:repeat(3,minmax(0,1fr));max-width:320px;margin:0 auto}.profile-avatar-actions .btn{width:100%;min-height:44px;min-width:0;padding:0 14px;font-size:.88rem}.avatar-preset-grid{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;max-width:228px;margin:0 auto}.avatar-preset{width:100%;aspect-ratio:1;min-width:0;min-height:0;border-radius:999px;border:2px solid rgba(148,163,184,.24);padding:0;background:#080c18b8;overflow:hidden;cursor:pointer;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease;display:block}.avatar-preset:hover{transform:translateY(-1px);border-color:#38bdf88c}.avatar-preset.active{border-color:#38bdf8e6;box-shadow:0 0 0 2px #38bdf840;transform:translateY(-1px) scale(1.03);z-index:1}.avatar-preset img{width:100%;height:100%;object-fit:cover;display:block}.profile-actions-row{grid-column:1 / -1;display:flex;justify-content:flex-end;align-items:center;gap:10px;padding-top:2px;margin-top:0;border-top:0}.profile-status-toast{position:fixed;right:12px;bottom:calc(44px + env(safe-area-inset-bottom));max-width:min(88vw,420px);margin:0;z-index:16030;pointer-events:none;border:1px solid rgba(148,163,184,.28);background:#080e1cf0;box-shadow:0 12px 26px #0206176b}.profile-status-toast[hidden]{display:none!important}.profile-status-toast[data-tone=info]{color:#e2e8f0f2;border-color:#38bdf857}.profile-status-toast[data-tone=error]{border-color:#f8717170;color:#fecaca}.profile-status-toast[data-tone=success]{border-color:#22c55e70;color:#bbf7d0}.profile-page input[disabled]{opacity:.7;cursor:not-allowed}.group-actions{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;margin-bottom:12px}.group-list{display:grid;gap:10px}.group-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;border:1px solid rgba(148,163,184,.2);background:#080c18b3}.device-settings-list{display:grid;gap:14px}.device-setting{display:grid;gap:12px;padding:16px;border-radius:16px;border:1px solid rgba(148,163,184,.2);background:#080c18b3;transition:border-color .2s ease,box-shadow .2s ease}.device-setting.dirty{border-color:#38bdf880;box-shadow:0 0 0 1px #38bdf833}.device-setting-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.device-setting-fields{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.device-setting-fields label{display:grid;gap:6px;color:var(--muted);font-size:.85rem}.device-meta{color:var(--muted);font-size:.85rem;margin-top:4px}@media(max-width:760px){.profile-main-panel{width:min(720px,100%)}.profile-form-layout{grid-template-columns:1fr;gap:14px}.profile-identity-grid{grid-template-columns:1fr}.profile-avatar-actions{grid-template-columns:1fr;max-width:100%}.profile-avatar-section{max-width:100%;justify-self:stretch}.profile-actions-row{justify-content:stretch}.profile-save-btn{width:100%;min-width:0;min-height:40px;line-height:40px;padding:0 12px;align-self:stretch}.group-actions{grid-template-columns:1fr}.avatar-preset-grid{gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}}.admin-toolbar{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:flex-end;margin-bottom:12px}.admin-layout-simple{grid-template-columns:minmax(280px,380px) minmax(0,1fr)}.admin-users-panel{position:sticky;top:18px}.admin-manage-panel{display:grid;gap:14px}.admin-toolbar-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.admin-toolbar-controls .search-input{width:min(280px,60vw)}.admin-table{display:grid;gap:6px}.admin-table-head{display:grid;grid-template-columns:1.2fr 1.6fr .6fr .7fr;gap:12px;padding:10px 12px;border-radius:12px;border:1px solid rgba(148,163,184,.2);background:#080c18b3;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.admin-table-body{display:grid;gap:8px;max-height:65vh;overflow:auto;padding-right:4px}.admin-row{display:grid;grid-template-columns:1.2fr 1.6fr .6fr .7fr;gap:12px;padding:12px;border-radius:12px;border:1px solid rgba(148,163,184,.2);background:#080c18b3;color:var(--text);text-align:left;cursor:pointer;width:100%;transition:border-color .2s ease,transform .2s ease}.admin-row:hover{border-color:#38bdf866;transform:translateY(-1px)}.admin-row.active{border-color:#38bdf899;box-shadow:0 0 0 1px #38bdf859}.admin-col.email{color:var(--muted);font-size:.9rem}.admin-col.role{text-transform:uppercase;font-size:.75rem;letter-spacing:.1em;color:var(--muted)}.admin-col.created{color:var(--muted);font-size:.85rem}.admin-create{display:grid;gap:12px;padding:14px;margin-bottom:12px;border-radius:12px;border:1px solid rgba(148,163,184,.25);background:#080c18d1;box-shadow:var(--shadow-soft)}.admin-create label{display:grid;gap:6px;font-size:.85rem;color:var(--muted)}.admin-create-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.admin-temp{font-size:.85rem;color:var(--muted);word-break:break-all;padding:8px 10px;border-radius:10px;border:1px dashed rgba(148,163,184,.25)}.admin-list{display:grid;gap:10px;max-height:60vh;overflow:auto;padding-right:4px}.admin-user{display:grid;gap:4px;padding:12px;border-radius:12px;border:1px solid rgba(148,163,184,.2);background:#080c18b3;color:var(--text);text-align:left;cursor:pointer;width:100%;transition:border-color .2s ease,transform .2s ease}.admin-user:hover{border-color:#38bdf866;transform:translateY(-1px)}.admin-user.active{border-color:#38bdf899;box-shadow:0 0 0 1px #38bdf859}.admin-user-name{font-weight:600}.admin-user-email,.admin-user-role,.admin-muted{color:var(--muted);font-size:.85rem}.admin-content{display:grid;gap:16px}.admin-hero{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center;padding:16px;border-radius:16px;border:1px solid var(--border-soft);background:var(--glass)}.admin-badge{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;padding:6px 12px;border-radius:999px;border:1px solid rgba(148,163,184,.3);background:#94a3b81f}.admin-badge[data-role=admin]{border-color:#f8717166;background:#f871712e}.admin-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.admin-role{display:grid;gap:6px;font-size:.85rem;color:var(--muted)}.admin-section{padding:14px;border-radius:14px;border:1px solid rgba(148,163,184,.18);background:#060a148c}.admin-section h3{margin:0 0 10px;font-size:1rem;font-family:var(--font-display)}.admin-device-toolbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.admin-device-toolbar label{display:grid;gap:6px;color:var(--muted);font-size:.82rem}.admin-assign{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:12px}.admin-device-list{display:grid;gap:10px}.admin-assigned-panel{margin-top:14px;display:grid;gap:10px}.admin-assigned-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.admin-assigned-head h4{margin:0;font-size:.92rem;font-family:var(--font-display);color:var(--text)}.admin-assigned-list{display:grid;gap:8px}.admin-assigned-help{margin:-2px 0 0}.admin-assigned-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border-radius:12px;border:1px solid rgba(148,163,184,.18);background:#080c1885}.admin-assigned-copy{display:grid;gap:3px;min-width:0}.admin-assigned-copy strong{font-size:.9rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-assigned-name-input{width:min(280px,100%);min-width:0}.admin-assigned-copy small{color:var(--muted);font-size:.77rem;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-assigned-side{display:grid;gap:8px;justify-items:end}.admin-assigned-group-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.admin-assigned-tag{flex:0 0 auto;padding:4px 10px;border-radius:999px;border:1px solid rgba(56,189,248,.25);background:#38bdf81f;color:var(--text);font-size:.74rem;letter-spacing:.04em}.admin-assigned-tag.is-muted{border-color:#94a3b833;background:#94a3b81a;color:var(--muted)}.admin-assigned-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-assigned-group-input{width:180px;min-width:0;min-height:36px}.admin-assigned-group-save{min-height:36px;padding:0 12px}.device-check{display:flex;align-items:flex-start;gap:10px;padding:12px;border-radius:12px;border:1px solid rgba(148,163,184,.18);background:#080c189e}.device-check input{margin-top:3px}.device-check-copy{display:grid;gap:3px;min-width:0}.device-check-copy strong{font-size:.92rem;font-weight:600;color:var(--text)}.device-check-copy small{display:block;min-width:0;color:var(--muted);font-size:.78rem;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-danger-zone{margin-top:14px;border-radius:14px;border:1px solid rgba(248,113,113,.2);background:#7f1d1d14;overflow:hidden}.admin-danger-zone summary{padding:12px 14px;cursor:pointer;list-style:none;font-family:var(--font-display);font-size:.92rem;color:#fecaca}.admin-danger-zone summary::-webkit-details-marker{display:none}.admin-danger-zone[open] summary{border-bottom:1px solid rgba(248,113,113,.16)}.admin-danger-copy{margin:0;padding:12px 14px 0;color:var(--muted);font-size:.84rem;line-height:1.45}.admin-danger-select{display:grid;gap:6px;padding:12px 14px 0;color:var(--muted);font-size:.82rem}.admin-danger-zone .admin-actions{padding:12px 14px 14px}.admin-device{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px;border-radius:12px;border:1px solid rgba(148,163,184,.2);background:#080c18b3}@media(max-width:900px){.admin-layout-simple{grid-template-columns:1fr}.admin-tabs{width:100%}.admin-tab{flex:1 1 0;text-align:center}.admin-users-panel{position:static}.admin-create-actions,.admin-device-toolbar{grid-template-columns:1fr}.admin-assigned-item{align-items:flex-start;flex-direction:column}.admin-assigned-side{width:100%;justify-items:stretch}.admin-assigned-group-row{width:100%;justify-content:stretch}.admin-assigned-controls{width:100%;flex-direction:column}.admin-assigned-group-input{width:100%}.admin-assign{grid-template-columns:1fr}}.mobile-filter-drawer-head{display:none}.mobile-filter-drawer-title{margin:0;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.drawer-close-icon{width:34px;min-width:34px;height:34px;min-height:34px;border:1px solid rgba(56,189,248,.35);border-radius:999px;background:#0a101ec7;color:var(--text);display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem;line-height:1;padding:0;cursor:pointer}@media(max-width:900px),(max-height:500px){:root{--mobile-shell-top: calc(72px + env(safe-area-inset-top)) ;--mobile-shell-bottom: calc(14px + env(safe-area-inset-bottom)) }body{overflow-x:hidden}body.dashboard-page .app,body.timeseries-page .app{padding:var(--mobile-shell-top) 10px 20px}body.dashboard-page .app-header,body.timeseries-page .app-header,body.map-page .app-header{position:fixed;inset:0 0 auto;margin:0;min-height:calc(62px + env(safe-area-inset-top));padding:calc(10px + env(safe-area-inset-top)) 12px 10px;border-radius:0;border:0;background:linear-gradient(180deg,#070c16f5,#070c16d1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:11010!important}body.dashboard-page .app-header .brand,body.timeseries-page .app-header .brand{position:absolute;left:50%;top:calc(10px + env(safe-area-inset-top));transform:translate(-50%);pointer-events:none;margin:0;gap:0}body.dashboard-page .app-header .brand h1,body.timeseries-page .app-header .brand h1{display:none}body.dashboard-page .app-header .brand .logo,body.timeseries-page .app-header .brand .logo{width:52px;margin:0;padding-bottom:0}body.dashboard-page .menu-toggle,body.timeseries-page .menu-toggle,body.map-page .menu-toggle{display:inline-flex!important;position:fixed;top:calc(10px + env(safe-area-inset-top));right:calc(12px + env(safe-area-inset-right));width:46px;height:46px;min-height:46px;padding:0;border-radius:999px;justify-content:center;background:#080e1cf0;border:1px solid rgba(56,189,248,.35);box-shadow:0 14px 26px #02061780;z-index:11030!important}body.dashboard-page .filter-toggle,body.timeseries-page .filter-toggle{display:inline-flex!important;position:fixed;top:calc(10px + env(safe-area-inset-top));left:calc(12px + env(safe-area-inset-left));width:46px;height:46px;min-height:46px;padding:0;border-radius:999px;justify-content:center;background:#080e1cf0;border:1px solid rgba(56,189,248,.35);box-shadow:0 14px 26px #02061780;z-index:11030!important}.menu-scrim{z-index:11020!important}.filter-scrim{z-index:11035!important}body.dashboard-page .header-actions,body.timeseries-page .header-actions,body.map-page .header-actions{position:fixed;inset:0 0 0 auto;width:min(84vw,332px);height:100dvh;max-height:100dvh;margin:0;padding:calc(76px + env(safe-area-inset-top)) 12px calc(12px + env(safe-area-inset-bottom));display:flex;flex-direction:column;flex-wrap:nowrap;gap:8px;align-items:stretch;overflow-y:auto;overflow-x:hidden;box-sizing:border-box;border-left:1px solid rgba(56,189,248,.18);border-radius:0;background:linear-gradient(180deg,#0a101efc,#060a14fc);box-shadow:-22px 0 42px #00000075;transform:translate(100%);opacity:0;visibility:hidden;pointer-events:none;transition:transform .2s ease,opacity .2s ease;z-index:11025!important}body.dashboard-page .header-actions.open,body.timeseries-page .header-actions.open,body.map-page .header-actions.open{transform:translate(0);opacity:1;visibility:visible;pointer-events:auto}body.dashboard-page .header-actions:before,body.timeseries-page .header-actions:before,body.map-page .header-actions:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top,rgba(56,189,248,.22),transparent 54%);opacity:.45;pointer-events:none}body.dashboard-page .header-actions>*,body.timeseries-page .header-actions>*,body.map-page .header-actions>*{position:relative;z-index:1}body.dashboard-page .header-actions .btn,body.timeseries-page .header-actions .btn,body.map-page .header-actions .btn,body.dashboard-page .header-actions .user-menu-item,body.timeseries-page .header-actions .user-menu-item,body.map-page .header-actions .user-menu-item{width:100%;min-height:42px!important;height:42px!important;line-height:42px!important;border-radius:12px;font-size:.84rem!important;justify-content:center;text-align:center}body.dashboard-page .header-actions .btn.secondary,body.timeseries-page .header-actions .btn.secondary,body.map-page .header-actions .btn.secondary{background:#0f172ab8;border:1px solid rgba(56,189,248,.25);box-shadow:inset 0 0 0 1px #0206179e}body.dashboard-page .header-actions .btn.secondary.active,body.dashboard-page .header-actions .btn.secondary[aria-current=page],body.timeseries-page .header-actions .btn.secondary.active,body.timeseries-page .header-actions .btn.secondary[aria-current=page],body.map-page .header-actions .btn.secondary.active,body.map-page .header-actions .btn.secondary[aria-current=page]{background:#38bdf833;border-color:#38bdf859;color:var(--text)}body.dashboard-page .header-actions .user-menu,body.timeseries-page .header-actions .user-menu,body.map-page .header-actions .user-menu{display:none}body.dashboard-page .header-actions .user-menu[style*=inline-flex],body.timeseries-page .header-actions .user-menu[style*=inline-flex],body.map-page .header-actions .user-menu[style*=inline-flex]{display:flex!important;order:5;width:100%;flex-direction:column;gap:8px;margin:0}body.dashboard-page .header-actions #avatar-link,body.timeseries-page .header-actions #avatar-link,body.map-page .header-actions #avatar-link{width:48px!important;min-width:48px!important;max-width:48px!important;height:48px!important;min-height:48px!important;max-height:48px!important;padding:0!important;margin:0!important;align-self:flex-start;border-radius:999px!important;pointer-events:none;overflow:hidden!important}body.dashboard-page .header-actions #avatar-link .profile-avatar-badge,body.timeseries-page .header-actions #avatar-link .profile-avatar-badge,body.map-page .header-actions #avatar-link .profile-avatar-badge{border-radius:999px}body.dashboard-page .header-actions #avatar-link .profile-avatar-badge img,body.timeseries-page .header-actions #avatar-link .profile-avatar-badge img,body.map-page .header-actions #avatar-link .profile-avatar-badge img{width:100%;height:100%;border-radius:999px;object-fit:cover}body.dashboard-page .header-actions .account-menu-trigger,body.timeseries-page .header-actions .account-menu-trigger,body.map-page .header-actions .account-menu-trigger{display:none!important}body.dashboard-page .header-actions .user-menu-dropdown,body.timeseries-page .header-actions .user-menu-dropdown,body.map-page .header-actions .user-menu-dropdown{position:static!important;display:flex!important;flex-direction:column;gap:8px;opacity:1!important;visibility:visible!important;transform:none!important;pointer-events:auto!important;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent;margin-top:0!important}body.dashboard-page .header-actions .user-menu-item,body.timeseries-page .header-actions .user-menu-item,body.map-page .header-actions .user-menu-item{display:inline-flex;border:1px solid rgba(56,189,248,.25);background:#0f172ab8;box-shadow:inset 0 0 0 1px #0206179e}body.dashboard-page .header-actions .user-menu-item.user-menu-logout,body.timeseries-page .header-actions .user-menu-item.user-menu-logout,body.map-page .header-actions .user-menu-item.user-menu-logout{background:#fff;color:#0b1220;border:1px solid rgba(226,232,240,.76);font-weight:700}body.dashboard-page .header-actions #profile-link,body.timeseries-page .header-actions #profile-link,body.map-page .header-actions #profile-link{order:6}body.dashboard-page .header-actions #logout-btn,body.timeseries-page .header-actions #logout-btn,body.map-page .header-actions #logout-btn{order:7}body.dashboard-page .header-actions>a[href="/index.html"]{order:2}body.dashboard-page .header-actions>a[href="/map.html"]{order:3}body.dashboard-page .header-actions>a[href="/timeseries.html"]{order:4}body.dashboard-page .header-actions>#admin-link{order:5}body.dashboard-page .header-actions>#login-btn{order:5}body.timeseries-page .header-actions>a[href="/index.html"]{order:2}body.timeseries-page .header-actions>a[href="/map.html"]{order:3}body.timeseries-page .header-actions>a[href="/timeseries.html"]{order:4}body.timeseries-page .header-actions>#admin-link{order:5}body.timeseries-page .header-actions>#login-btn{order:5}body.map-page .header-actions>a[href="/index.html"]{order:2}body.map-page .header-actions>a[href="/map.html"]{order:3}body.map-page .header-actions>a[href="/timeseries.html"]{order:4}body.map-page .header-actions>#admin-link{order:5}body.map-page .header-actions>#login-btn{order:5}body.dashboard-page .mobile-filter-drawer,body.timeseries-page .mobile-filter-drawer{position:fixed;inset:0;width:100vw!important;max-width:100vw!important;height:100dvh;max-height:100dvh;margin:0;padding:calc(76px + env(safe-area-inset-top)) 14px calc(18px + env(safe-area-inset-bottom));display:block;border:0;border-radius:0;background:linear-gradient(180deg,#080e1cfa,#050a14fc);box-shadow:none;overflow-y:auto;overflow-x:hidden;transform:translate(-100%);opacity:0;visibility:hidden;pointer-events:none;transition:transform .2s ease,opacity .2s ease;z-index:11040!important}body.dashboard-page .mobile-filter-drawer.open,body.timeseries-page .mobile-filter-drawer.open{transform:translate(0);opacity:1;visibility:visible;pointer-events:auto}body.dashboard-page .mobile-filter-drawer-head,body.timeseries-page .mobile-filter-drawer-head{display:flex;align-items:center;justify-content:flex-start;gap:10px;margin:0 auto 12px;max-width:720px}body.dashboard-page .mobile-filter-drawer-head .drawer-close-icon,body.timeseries-page .mobile-filter-drawer-head .drawer-close-icon{width:34px;min-width:34px;height:34px;min-height:34px}body.dashboard-page .mobile-filter-drawer:before,body.timeseries-page .mobile-filter-drawer:before{opacity:.35}body.dashboard-page .mobile-filter-drawer .ts-controls,body.timeseries-page .mobile-filter-drawer .ts-controls{display:grid;grid-template-columns:1fr;gap:12px;max-width:720px;margin:0 auto}body.dashboard-page .mobile-filter-drawer .ts-left,body.dashboard-page .mobile-filter-drawer .ts-right,body.timeseries-page .mobile-filter-drawer .ts-left,body.timeseries-page .mobile-filter-drawer .ts-right{display:grid;gap:12px;width:100%}body.dashboard-page .mobile-filter-drawer .filter-section,body.timeseries-page .mobile-filter-drawer .filter-section{gap:10px;padding:11px 12px;border-radius:14px}body.dashboard-page .mobile-filter-drawer .filter-label,body.timeseries-page .mobile-filter-drawer .filter-label{font-size:.72rem;letter-spacing:.11em}body.dashboard-page .mobile-filter-drawer .chip-group,body.timeseries-page .mobile-filter-drawer .chip-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}body.dashboard-page .mobile-filter-drawer .chip-group.device-filter,body.timeseries-page .mobile-filter-drawer .chip-group.device-filter{grid-template-columns:repeat(3,minmax(0,1fr))}body.dashboard-page .mobile-filter-drawer .search-input,body.dashboard-page .mobile-filter-drawer .group-filter-select,body.dashboard-page .mobile-filter-drawer .chip-button,body.dashboard-page .mobile-filter-drawer .btn,body.timeseries-page .mobile-filter-drawer .search-input,body.timeseries-page .mobile-filter-drawer .group-filter-select,body.timeseries-page .mobile-filter-drawer .chip-button,body.timeseries-page .mobile-filter-drawer .btn{width:100%;min-height:42px;font-size:.84rem}body.timeseries-page .mobile-filter-drawer .timeseries-select-actions{grid-template-columns:repeat(3,minmax(0,1fr))}body.timeseries-page .mobile-filter-drawer .drawer-sensor-select{min-height:140px;height:clamp(140px,30vh,240px)}body.timeseries-page .layout-split{grid-template-columns:1fr}body.timeseries-page .layout-split>.panel.tight,body.timeseries-page .chart-range{display:none}body.map-page.nav-open .map-shell{pointer-events:none}body.map-page.nav-open .app-header,body.map-page.nav-open .menu-scrim{pointer-events:auto}}@media(max-height:500px)and (orientation:landscape){body.dashboard-page .header-actions,body.timeseries-page .header-actions,body.map-page .header-actions{width:min(70vw,292px);padding:calc(58px + env(safe-area-inset-top)) 10px calc(10px + env(safe-area-inset-bottom));gap:7px}body.dashboard-page .header-actions .btn,body.timeseries-page .header-actions .btn,body.map-page .header-actions .btn,body.dashboard-page .header-actions .user-menu-item,body.timeseries-page .header-actions .user-menu-item,body.map-page .header-actions .user-menu-item{min-height:38px!important;height:38px!important;line-height:38px!important;font-size:.78rem!important}body.dashboard-page .header-actions #avatar-link,body.timeseries-page .header-actions #avatar-link,body.map-page .header-actions #avatar-link{position:absolute!important;top:calc(8px + env(safe-area-inset-top))!important;left:10px!important;width:40px!important;min-width:40px!important;max-width:40px!important;height:40px!important;min-height:40px!important;max-height:40px!important}body.dashboard-page .mobile-filter-drawer,body.timeseries-page .mobile-filter-drawer{padding:calc(64px + env(safe-area-inset-top)) 12px calc(12px + env(safe-area-inset-bottom))}body.dashboard-page .mobile-filter-drawer-head,body.timeseries-page .mobile-filter-drawer-head{position:sticky;top:0;z-index:2;padding:8px 2px;background:linear-gradient(180deg,#080e1cfa,#080e1cd6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid rgba(56,189,248,.16);margin-bottom:10px}body.dashboard-page .mobile-filter-drawer .ts-controls,body.timeseries-page .mobile-filter-drawer .ts-controls{grid-template-columns:1fr;gap:12px;max-width:760px}body.dashboard-page .mobile-filter-drawer .ts-right,body.timeseries-page .mobile-filter-drawer .ts-right{grid-template-columns:1fr;align-content:initial}body.dashboard-page .mobile-filter-drawer .filter-section-search,body.dashboard-page .mobile-filter-drawer .filter-section-group,body.timeseries-page .mobile-filter-drawer .filter-section-search,body.timeseries-page .mobile-filter-drawer .filter-section-sensors{grid-column:auto}body.timeseries-page .mobile-filter-drawer .drawer-sensor-select{height:clamp(120px,28vh,200px)}}@media(max-width:900px),(max-height:500px){.app-header{position:fixed!important;inset:0 0 auto!important;margin:0!important;min-height:calc(58px + env(safe-area-inset-top))!important;padding:calc(8px + env(safe-area-inset-top)) 10px 8px!important;border:0!important;border-radius:0!important;background:linear-gradient(180deg,#070c16f5,#070c16d6)!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;z-index:13010!important}.app-header .brand{position:absolute!important;left:50%!important;top:calc(8px + env(safe-area-inset-top))!important;transform:translate(-50%)!important;margin:0!important;gap:0!important;pointer-events:none!important}.app-header .brand h1{display:none!important}.app-header .brand .logo{width:46px!important;margin:0!important;padding-bottom:0!important}.menu-toggle{display:inline-flex!important;position:fixed!important;top:calc(8px + env(safe-area-inset-top))!important;right:calc(10px + env(safe-area-inset-right))!important;width:42px!important;height:42px!important;min-height:42px!important;padding:0!important;border-radius:999px!important;justify-content:center!important;background:#080e1cf2!important;border:1px solid rgba(56,189,248,.35)!important;box-shadow:0 10px 22px #02061780!important;z-index:13030!important}.menu-toggle .menu-text{display:none!important}body.dashboard-page .filter-toggle,body.timeseries-page .filter-toggle{display:inline-flex!important;position:fixed!important;top:calc(8px + env(safe-area-inset-top))!important;left:calc(10px + env(safe-area-inset-left))!important;width:42px!important;height:42px!important;min-height:42px!important;padding:0!important;border-radius:999px!important;justify-content:center!important;background:#080e1cf2!important;border:1px solid rgba(56,189,248,.35)!important;box-shadow:0 10px 22px #02061780!important;z-index:13030!important}body.dashboard-page .app,body.timeseries-page .app{padding:calc(64px + env(safe-area-inset-top)) 8px 16px!important}.menu-scrim{z-index:13020!important}.filter-scrim{z-index:13040!important}.header-actions{position:fixed!important;inset:0 0 0 auto!important;width:min(78vw,300px)!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;padding:calc(60px + env(safe-area-inset-top)) 10px calc(10px + env(safe-area-inset-bottom))!important;display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;gap:6px!important;align-items:stretch!important;overflow-y:auto!important;overflow-x:hidden!important;box-sizing:border-box!important;border-left:1px solid rgba(56,189,248,.18)!important;border-radius:0!important;background:linear-gradient(180deg,#0a101efc,#060a14fc)!important;box-shadow:-18px 0 34px #00000070!important;transform:translate(100%)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:transform .18s ease,opacity .18s ease!important;z-index:13025!important}.header-actions.open{transform:translate(0)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}body.dashboard-page .header-actions:before,body.timeseries-page .header-actions:before,body.map-page .header-actions:before{content:none!important}body.dashboard-page .header-actions .btn,body.timeseries-page .header-actions .btn,body.map-page .header-actions .btn,body.dashboard-page .header-actions .user-menu-item,body.timeseries-page .header-actions .user-menu-item,body.map-page .header-actions .user-menu-item{width:100%!important;min-height:38px!important;height:38px!important;line-height:38px!important;border-radius:10px!important;font-size:.78rem!important;justify-content:center!important;text-align:center!important;padding:0 10px!important}body.dashboard-page .header-actions a,body.dashboard-page .header-actions button,body.timeseries-page .header-actions a,body.timeseries-page .header-actions button,body.map-page .header-actions a,body.map-page .header-actions button{pointer-events:auto!important}body.dashboard-page .header-actions .btn.secondary,body.timeseries-page .header-actions .btn.secondary,body.map-page .header-actions .btn.secondary{background:#0f172ab8!important;border:1px solid rgba(56,189,248,.25)!important;box-shadow:inset 0 0 0 1px #0206179e!important}body.dashboard-page .header-actions .btn.secondary.active,body.dashboard-page .header-actions .btn.secondary[aria-current=page],body.timeseries-page .header-actions .btn.secondary.active,body.timeseries-page .header-actions .btn.secondary[aria-current=page],body.map-page .header-actions .btn.secondary.active,body.map-page .header-actions .btn.secondary[aria-current=page]{background:#38bdf833!important;border-color:#38bdf859!important;color:var(--text)!important}body.dashboard-page .header-actions .user-menu,body.timeseries-page .header-actions .user-menu,body.map-page .header-actions .user-menu{display:none!important}body.dashboard-page .header-actions .user-menu.mobile-inline,body.timeseries-page .header-actions .user-menu.mobile-inline,body.map-page .header-actions .user-menu.mobile-inline{display:flex!important;order:5!important;width:100%!important;flex-direction:column!important;gap:6px!important;margin:0!important}body.dashboard-page .header-actions #avatar-link,body.timeseries-page .header-actions #avatar-link,body.map-page .header-actions #avatar-link{width:40px!important;min-width:40px!important;max-width:40px!important;height:40px!important;min-height:40px!important;max-height:40px!important;padding:0!important;margin:0!important;border-radius:999px!important;pointer-events:none!important;overflow:hidden!important;z-index:2!important}body.dashboard-page .header-actions .account-menu-trigger,body.timeseries-page .header-actions .account-menu-trigger,body.map-page .header-actions .account-menu-trigger{display:none!important}body.dashboard-page .header-actions .user-menu-dropdown,body.timeseries-page .header-actions .user-menu-dropdown,body.map-page .header-actions .user-menu-dropdown{position:static!important;display:flex!important;flex-direction:column!important;gap:6px!important;opacity:1!important;visibility:visible!important;transform:none!important;pointer-events:auto!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;margin:0!important;padding:0!important}body.dashboard-page .header-actions .user-menu-item.user-menu-logout,body.timeseries-page .header-actions .user-menu-item.user-menu-logout,body.map-page .header-actions .user-menu-item.user-menu-logout{background:#fff!important;color:#0b1220!important;border:1px solid rgba(226,232,240,.76)!important;font-weight:700!important}body.dashboard-page .header-actions>a[href="/index.html"],body.timeseries-page .header-actions>a[href="/index.html"],body.map-page .header-actions>a[href="/index.html"]{order:1!important}body.dashboard-page .header-actions>a[href="/map.html"],body.timeseries-page .header-actions>a[href="/map.html"],body.map-page .header-actions>a[href="/map.html"]{order:2!important}body.dashboard-page .header-actions>a[href="/timeseries.html"],body.timeseries-page .header-actions>a[href="/timeseries.html"],body.map-page .header-actions>a[href="/timeseries.html"]{order:3!important}body.dashboard-page .header-actions>#admin-link,body.timeseries-page .header-actions>#admin-link,body.map-page .header-actions>#admin-link{order:4!important}body.dashboard-page .header-actions>#login-btn,body.timeseries-page .header-actions>#login-btn,body.map-page .header-actions>#login-btn{order:5!important}body.dashboard-page .header-actions #profile-link,body.timeseries-page .header-actions #profile-link,body.map-page .header-actions #profile-link{order:6!important;margin-top:0!important}body.dashboard-page .header-actions #logout-btn,body.timeseries-page .header-actions #logout-btn,body.map-page .header-actions #logout-btn{order:7!important}body.dashboard-page .mobile-filter-drawer,body.timeseries-page .mobile-filter-drawer{position:fixed!important;inset:0!important;width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;padding:calc(58px + env(safe-area-inset-top)) 10px calc(10px + env(safe-area-inset-bottom))!important;border:0!important;border-radius:0!important;background:linear-gradient(180deg,#080e1cfa,#050a14fc)!important;overflow-y:auto!important;overflow-x:hidden!important;transform:translate(-100%)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:transform .18s ease,opacity .18s ease!important;z-index:13050!important}body.dashboard-page .mobile-filter-drawer.open,body.timeseries-page .mobile-filter-drawer.open{transform:translate(0)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}.mobile-filter-drawer-head{position:static!important;display:block!important;min-height:0!important;margin:0!important;padding:0!important;background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;z-index:auto!important}.mobile-filter-drawer-title{display:none!important}.mobile-filter-drawer-head .drawer-close-icon{position:fixed!important;right:0!important;left:auto!important;top:calc(8px + env(safe-area-inset-top))!important;right:calc(10px + env(safe-area-inset-right))!important;width:32px!important;min-width:32px!important;height:32px!important;min-height:32px!important;font-size:1.05rem!important;z-index:13060!important}body.dashboard-page .mobile-filter-drawer .ts-controls,body.timeseries-page .mobile-filter-drawer .ts-controls{grid-template-columns:1fr!important;gap:10px!important;max-width:680px!important;margin:0 auto!important}}@media(max-height:500px)and (orientation:landscape){body.dashboard-page .header-actions,body.timeseries-page .header-actions,body.map-page .header-actions{width:min(56vw,236px)!important;padding:calc(54px + env(safe-area-inset-top)) 8px calc(8px + env(safe-area-inset-bottom))!important;gap:5px!important}body.dashboard-page .header-actions .btn,body.timeseries-page .header-actions .btn,body.map-page .header-actions .btn,body.dashboard-page .header-actions .user-menu-item,body.timeseries-page .header-actions .user-menu-item,body.map-page .header-actions .user-menu-item{min-height:34px!important;height:34px!important;line-height:34px!important;font-size:.74rem!important}body.dashboard-page .header-actions #avatar-link,body.timeseries-page .header-actions #avatar-link,body.map-page .header-actions #avatar-link{width:36px!important;min-width:36px!important;max-width:36px!important;height:36px!important;min-height:36px!important;max-height:36px!important}}@media(max-width:900px),(max-height:500px){body.dashboard-page .header-actions,body.timeseries-page .header-actions,body.map-page .header-actions{pointer-events:auto!important;touch-action:pan-y!important}body.dashboard-page .header-actions *,body.timeseries-page .header-actions *,body.map-page .header-actions *{pointer-events:auto!important}body.dashboard-page .header-actions .user-menu-trigger,body.timeseries-page .header-actions .user-menu-trigger,body.map-page .header-actions .user-menu-trigger{pointer-events:none!important}body.dashboard-page .header-actions .user-menu-item,body.timeseries-page .header-actions .user-menu-item,body.map-page .header-actions .user-menu-item{pointer-events:auto!important}body.dashboard-page .menu-scrim,body.timeseries-page .menu-scrim,body.map-page .menu-scrim{z-index:13020!important}body.dashboard-page .header-actions,body.timeseries-page .header-actions,body.map-page .header-actions{z-index:13025!important}body.dashboard-page .mobile-filter-drawer-head .drawer-close-icon,body.timeseries-page .mobile-filter-drawer-head .drawer-close-icon{top:calc(8px + env(safe-area-inset-top))!important;right:calc(10px + env(safe-area-inset-right))!important;left:auto!important;position:fixed!important;z-index:13060!important}}@media(max-width:900px),(max-height:500px){.mobile-nav-host{position:fixed;inset:0;pointer-events:none;z-index:15020}body.dashboard-page .menu-scrim,body.timeseries-page .menu-scrim,body.map-page .menu-scrim{z-index:15010!important}.mobile-nav-host .mobile-nav-redesign{position:fixed!important;inset:0 0 0 auto!important;width:min(80vw,296px)!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;padding:calc(58px + env(safe-area-inset-top)) 9px calc(9px + env(safe-area-inset-bottom))!important;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;gap:6px!important;align-items:stretch!important;overflow-y:auto!important;overflow-x:hidden!important;background:linear-gradient(180deg,#0a101efe,#060a14fe)!important;border-left:1px solid rgba(56,189,248,.2)!important;border-radius:0!important;box-shadow:-16px 0 30px #00000073!important;transform:translate(100%)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:transform .17s ease,opacity .17s ease!important;z-index:15025!important}.mobile-nav-host .mobile-nav-redesign.open{transform:translate(0)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}.mobile-nav-host .mobile-nav-redesign:before{content:none!important}.mobile-nav-host .mobile-nav-redesign>*{position:relative!important;z-index:1!important}.mobile-nav-host .mobile-nav-redesign .btn,.mobile-nav-host .mobile-nav-redesign .user-menu-item{width:100%!important;min-height:36px!important;height:36px!important;line-height:36px!important;border-radius:10px!important;font-size:.76rem!important;padding:0 9px!important;justify-content:center!important;text-align:center!important;pointer-events:auto!important}.mobile-nav-host .mobile-nav-redesign a,.mobile-nav-host .mobile-nav-redesign button{pointer-events:auto!important}.mobile-nav-host .mobile-nav-redesign .btn.secondary{background:#0f172ab8!important;border:1px solid rgba(56,189,248,.24)!important;box-shadow:inset 0 0 0 1px #0206179e!important}.mobile-nav-host .mobile-nav-redesign .btn.secondary.active,.mobile-nav-host .mobile-nav-redesign .btn.secondary[aria-current=page]{background:#38bdf833!important;border-color:#38bdf859!important;color:var(--text)!important}.mobile-nav-host .mobile-nav-redesign .user-menu{display:none!important}.mobile-nav-host .mobile-nav-redesign .user-menu.mobile-inline{display:contents!important;order:1!important;width:auto!important;margin:0!important}.mobile-nav-host .mobile-nav-redesign #avatar-link{position:static!important;order:1!important;align-self:flex-start!important;width:38px!important;min-width:38px!important;max-width:38px!important;height:38px!important;min-height:38px!important;max-height:38px!important;margin:2px 0 6px!important;padding:0!important;border-radius:999px!important;pointer-events:none!important;overflow:hidden!important;z-index:2!important}.mobile-nav-host .mobile-nav-redesign .account-menu-trigger{display:none!important}.mobile-nav-host .mobile-nav-redesign .user-menu-trigger{pointer-events:none!important}.mobile-nav-host .mobile-nav-redesign .user-menu-dropdown{position:static!important;display:contents!important;opacity:1!important;visibility:visible!important;transform:none!important;pointer-events:auto!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;margin:0!important;padding:0!important}.mobile-nav-host .mobile-nav-redesign>a[href="/index.html"]{order:2!important}.mobile-nav-host .mobile-nav-redesign>a[href="/map.html"]{order:3!important}.mobile-nav-host .mobile-nav-redesign>a[href="/timeseries.html"]{order:4!important}.mobile-nav-host .mobile-nav-redesign>#admin-link{order:5!important}.mobile-nav-host .mobile-nav-redesign>#login-btn{order:6!important}.mobile-nav-host .mobile-nav-redesign #profile-link{order:6!important}.mobile-nav-host .mobile-nav-redesign #logout-btn{order:7!important}body.dashboard-page .header-actions #avatar-link,body.timeseries-page .header-actions #avatar-link,body.map-page .header-actions #avatar-link{position:static!important;order:1!important;align-self:flex-start!important;margin:2px 0 6px!important}}@media(max-height:500px)and (orientation:landscape){.mobile-nav-host .mobile-nav-redesign{width:min(58vw,232px)!important;padding:calc(54px + env(safe-area-inset-top)) 7px calc(7px + env(safe-area-inset-bottom))!important;gap:4px!important}.mobile-nav-host .mobile-nav-redesign .btn,.mobile-nav-host .mobile-nav-redesign .user-menu-item{min-height:32px!important;height:32px!important;line-height:32px!important;font-size:.72rem!important}.mobile-nav-host .mobile-nav-redesign #avatar-link{margin:1px 0 4px!important;width:34px!important;min-width:34px!important;max-width:34px!important;height:34px!important;min-height:34px!important;max-height:34px!important}}@media(min-width:901px)and (min-height:501px){body.dashboard-page .header-actions,body.timeseries-page .header-actions,body.map-page .header-actions{display:inline-flex;align-items:center;gap:7px;padding:6px;border-radius:16px;border:1px solid rgba(148,163,184,.24);background:linear-gradient(180deg,#090f1cd6,#070c16a8);box-shadow:0 16px 30px #02061757,inset 0 1px #ffffff0a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}body.dashboard-page .header-actions .btn,body.timeseries-page .header-actions .btn,body.map-page .header-actions .btn,body.dashboard-page .header-actions .user-menu-item,body.timeseries-page .header-actions .user-menu-item,body.map-page .header-actions .user-menu-item{min-height:40px;height:40px;padding:0 14px;border-radius:11px;font-size:.86rem;letter-spacing:.01em}body.dashboard-page .header-actions .btn.secondary,body.timeseries-page .header-actions .btn.secondary,body.map-page .header-actions .btn.secondary{background:#0f172a9e;border:1px solid rgba(148,163,184,.28);color:#e2e8f0f0;box-shadow:inset 0 0 0 1px #0206176b}body.dashboard-page .header-actions .btn.secondary:hover,body.timeseries-page .header-actions .btn.secondary:hover,body.map-page .header-actions .btn.secondary:hover{background:#38bdf824;border-color:#38bdf85c}body.dashboard-page .header-actions .btn.secondary.active,body.dashboard-page .header-actions .btn.secondary[aria-current=page],body.timeseries-page .header-actions .btn.secondary.active,body.timeseries-page .header-actions .btn.secondary[aria-current=page],body.map-page .header-actions .btn.secondary.active,body.map-page .header-actions .btn.secondary[aria-current=page]{background:linear-gradient(180deg,#38bdf86b,#22d3ee4d);border-color:#38bdf899;color:#f8fbff}body.dashboard-page .header-actions #admin-link,body.timeseries-page .header-actions #admin-link,body.map-page .header-actions #admin-link{border-color:#f59e0b7a;background:#f59e0b29;color:#fde68a}body.dashboard-page .header-actions #login-btn,body.timeseries-page .header-actions #login-btn,body.map-page .header-actions #login-btn{background:linear-gradient(180deg,#38bdf8,#22d3ee);color:#04101c;border:1px solid rgba(125,211,252,.72);font-weight:700;box-shadow:0 10px 20px #22d3ee40}body.dashboard-page .header-actions #avatar-link,body.timeseries-page .header-actions #avatar-link,body.map-page .header-actions #avatar-link{width:40px;min-width:40px;max-width:40px;height:40px;min-height:40px;max-height:40px;border-radius:999px;border:1px solid rgba(56,189,248,.45);box-shadow:0 0 0 2px #0f172a8c}body.dashboard-page .header-actions .account-menu-trigger,body.timeseries-page .header-actions .account-menu-trigger,body.map-page .header-actions .account-menu-trigger{max-width:180px;font-weight:600}body.dashboard-page .header-actions .user-menu-dropdown,body.timeseries-page .header-actions .user-menu-dropdown,body.map-page .header-actions .user-menu-dropdown{width:220px;padding:8px;border-radius:14px;border:1px solid rgba(148,163,184,.28);background:#080c18f7;box-shadow:0 18px 30px #02061773}body.dashboard-page .header-actions .user-menu-item,body.timeseries-page .header-actions .user-menu-item,body.map-page .header-actions .user-menu-item{justify-content:flex-start;font-size:.84rem}}@media(max-width:900px),(max-height:500px){.mobile-nav-host .mobile-nav-redesign{width:min(82vw,306px)!important;padding:calc(62px + env(safe-area-inset-top)) 12px calc(12px + env(safe-area-inset-bottom))!important;gap:8px!important;border-left-color:#38bdf847!important;box-shadow:-22px 0 34px #00000085!important}.mobile-nav-host .mobile-nav-redesign .btn,.mobile-nav-host .mobile-nav-redesign .user-menu-item{min-height:42px!important;height:42px!important;line-height:42px!important;border-radius:12px!important;font-size:.84rem!important;font-weight:600!important;padding:0 12px!important}.mobile-nav-host .mobile-nav-redesign #avatar-link{width:42px!important;min-width:42px!important;max-width:42px!important;height:42px!important;min-height:42px!important;max-height:42px!important;margin:2px 0 8px!important;border:1px solid rgba(56,189,248,.5)!important;box-shadow:0 0 0 2px #0f172a8c!important}.mobile-nav-host .mobile-nav-redesign .btn.secondary{background:#0f172ac7!important;border:1px solid rgba(148,163,184,.3)!important}.mobile-nav-host .mobile-nav-redesign .btn.secondary.active,.mobile-nav-host .mobile-nav-redesign .btn.secondary[aria-current=page]{background:linear-gradient(180deg,#38bdf86b,#22d3ee47)!important;border-color:#38bdf894!important}.mobile-nav-host .mobile-nav-redesign #admin-link{border-color:#f59e0b80!important;background:#f59e0b2e!important;color:#fde68a!important}.mobile-nav-host .mobile-nav-redesign #login-btn{background:linear-gradient(180deg,#38bdf8,#22d3ee)!important;color:#04101c!important;border:1px solid rgba(125,211,252,.72)!important;font-weight:700!important}.mobile-nav-host .mobile-nav-redesign #profile-link{margin-top:auto!important;border-top:1px solid rgba(56,189,248,.2)!important;padding-top:8px!important}.mobile-nav-host .mobile-nav-redesign #logout-btn{background:#fff!important;color:#0b1220!important;border:1px solid rgba(226,232,240,.84)!important;font-weight:700!important}}@media(max-height:500px)and (orientation:landscape){.mobile-nav-host .mobile-nav-redesign{width:min(58vw,244px)!important;padding:calc(54px + env(safe-area-inset-top)) 8px calc(8px + env(safe-area-inset-bottom))!important;gap:5px!important}.mobile-nav-host .mobile-nav-redesign .btn,.mobile-nav-host .mobile-nav-redesign .user-menu-item{min-height:34px!important;height:34px!important;line-height:34px!important;font-size:.74rem!important;padding:0 8px!important}}@media(min-width:901px)and (min-height:501px){body.map-page .app-header{top:14px!important;left:16px!important;right:auto!important;width:auto!important;transform:none!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;z-index:10020!important;pointer-events:none!important}body.map-page .app-header .brand,body.map-page .menu-toggle{display:none!important}body.map-page .app-header .header-actions{pointer-events:auto!important;background:#080c18c2!important;border:1px solid rgba(56,189,248,.24)!important;border-radius:14px!important;box-shadow:0 10px 30px #02061759!important;padding:6px!important;gap:8px!important;align-items:center!important}body.map-page .app-header .header-actions .btn{min-height:38px!important;line-height:38px!important;padding:0 14px!important}body.map-page .app-header .header-actions #avatar-link.profile-avatar-link{width:38px!important;min-width:38px!important;max-width:38px!important;height:38px!important;min-height:38px!important;max-height:38px!important;border-radius:999px!important;overflow:hidden!important}}@media(max-width:900px),(max-height:500px){body.map-page .app-header .brand{position:absolute!important;left:50%!important;top:calc(10px + env(safe-area-inset-top))!important;transform:translate(-50%)!important;pointer-events:none!important;margin:0!important;gap:0!important}body.map-page .app-header .brand h1{display:none!important}body.map-page .app-header .brand .logo{width:52px!important;margin:0!important;padding-bottom:0!important}body.map-page .menu-toggle{top:calc(10px + env(safe-area-inset-top))!important;right:calc(12px + env(safe-area-inset-right))!important}}@media(max-width:900px),(max-height:500px){body.dashboard-page .app-header,body.timeseries-page .app-header,body.map-page .app-header{position:fixed!important;inset:0 0 auto!important;min-height:calc(64px + env(safe-area-inset-top))!important;padding:calc(8px + env(safe-area-inset-top)) 10px 8px!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:center!important;border:0!important;border-radius:0!important;background:linear-gradient(180deg,#080e1cf7,#080e1cdb)!important;border-bottom:1px solid rgba(56,189,248,.2)!important;-webkit-backdrop-filter:blur(9px)!important;backdrop-filter:blur(9px)!important;box-shadow:0 10px 24px #0206176b!important;z-index:15100!important}body.dashboard-page .app-header .brand,body.timeseries-page .app-header .brand,body.map-page .app-header .brand{position:absolute!important;left:50%!important;top:calc(8px + env(safe-area-inset-top))!important;transform:translate(-50%)!important;margin:0!important;gap:0!important;pointer-events:none!important}body.dashboard-page .app-header .brand h1,body.timeseries-page .app-header .brand h1,body.map-page .app-header .brand h1{display:none!important}body.dashboard-page .app-header .brand .logo,body.timeseries-page .app-header .brand .logo,body.map-page .app-header .brand .logo{width:48px!important;margin:0!important;padding-bottom:0!important}body.dashboard-page .menu-toggle,body.timeseries-page .menu-toggle,body.map-page .menu-toggle{display:inline-flex!important;position:fixed!important;top:calc(10px + env(safe-area-inset-top))!important;right:calc(10px + env(safe-area-inset-right))!important;left:auto!important;width:42px!important;min-width:42px!important;height:42px!important;min-height:42px!important;padding:0!important;border-radius:999px!important;justify-content:center!important;background:#080e1cf2!important;border:1px solid rgba(56,189,248,.38)!important;box-shadow:0 12px 26px #0206177a!important;z-index:15120!important}body.dashboard-page .filter-toggle,body.timeseries-page .filter-toggle{display:inline-flex!important;position:fixed!important;top:calc(10px + env(safe-area-inset-top))!important;left:calc(10px + env(safe-area-inset-left))!important;width:42px!important;min-width:42px!important;height:42px!important;min-height:42px!important;padding:0!important;border-radius:999px!important;justify-content:center!important;background:#080e1cf2!important;border:1px solid rgba(56,189,248,.38)!important;box-shadow:0 12px 26px #0206177a!important;z-index:15120!important}.mobile-nav-host{z-index:15130!important}body.dashboard-page .menu-scrim,body.timeseries-page .menu-scrim,body.map-page .menu-scrim{z-index:15110!important;-webkit-backdrop-filter:blur(2px)!important;backdrop-filter:blur(2px)!important}.mobile-nav-host .mobile-nav-redesign{width:min(82vw,312px)!important;padding:calc(58px + env(safe-area-inset-top)) 12px calc(12px + env(safe-area-inset-bottom))!important;gap:10px!important;border-left:1px solid rgba(56,189,248,.28)!important;background:linear-gradient(180deg,#090f1cfe,#060a14fe)!important;box-shadow:-20px 0 36px #0000008a!important;z-index:15131!important}.mobile-nav-host .mobile-nav-redesign .btn,.mobile-nav-host .mobile-nav-redesign .user-menu-item{width:100%!important;min-height:42px!important;height:42px!important;line-height:42px!important;border-radius:12px!important;font-size:.84rem!important;font-weight:600!important;padding:0 12px!important;justify-content:center!important;text-align:center!important}.mobile-nav-host .mobile-nav-redesign .btn.secondary{background:#0f172acc!important;border:1px solid rgba(148,163,184,.3)!important;color:#e2e8f0f5!important}.mobile-nav-host .mobile-nav-redesign .btn.secondary.active,.mobile-nav-host .mobile-nav-redesign .btn.secondary[aria-current=page]{background:linear-gradient(180deg,#38bdf875,#22d3ee4d)!important;border-color:#38bdf89e!important;color:#f8fbff!important}.mobile-nav-host .mobile-nav-redesign #avatar-link{width:46px!important;min-width:46px!important;max-width:46px!important;height:46px!important;min-height:46px!important;max-height:46px!important;margin:4px 0 8px!important;border:1px solid rgba(56,189,248,.54)!important;box-shadow:0 0 0 2px #0f172a8f!important;border-radius:999px!important;overflow:hidden!important}.mobile-nav-host .mobile-nav-redesign #profile-link{margin-top:auto!important;padding-top:8px!important;border-top:1px solid rgba(56,189,248,.22)!important}.mobile-nav-host .mobile-nav-redesign #logout-btn{background:#fff!important;color:#0b1220!important;border:1px solid rgba(226,232,240,.84)!important;font-weight:700!important}.filter-scrim{z-index:15140!important;-webkit-backdrop-filter:blur(2px)!important;backdrop-filter:blur(2px)!important}body.dashboard-page .mobile-filter-drawer,body.timeseries-page .mobile-filter-drawer{position:fixed!important;inset:0!important;width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;padding:calc(8px + env(safe-area-inset-top)) 12px calc(12px + env(safe-area-inset-bottom))!important;background:linear-gradient(180deg,#080e1cfc,#060a14fe)!important;border:0!important;border-radius:0!important;overflow-y:auto!important;z-index:15141!important;transform:translate(-100%)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:transform .18s ease,opacity .18s ease!important}body.dashboard-page .mobile-filter-drawer.open,body.timeseries-page .mobile-filter-drawer.open{transform:translate(0)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}body.dashboard-page .mobile-filter-drawer-head,body.timeseries-page .mobile-filter-drawer-head{position:sticky!important;top:0!important;display:flex!important;justify-content:flex-end!important;margin:0 0 6px!important;padding:0 0 6px!important;background:linear-gradient(180deg,#080e1cf2,#080e1c00)!important;z-index:2!important}body.dashboard-page .mobile-filter-drawer-head .drawer-close-icon,body.timeseries-page .mobile-filter-drawer-head .drawer-close-icon{position:static!important;width:34px!important;min-width:34px!important;height:34px!important;min-height:34px!important;border-radius:999px!important;border:1px solid rgba(56,189,248,.36)!important;background:#080e1ceb!important;color:#e2e8f0!important;z-index:3!important}body.dashboard-page .mobile-filter-drawer .ts-controls,body.timeseries-page .mobile-filter-drawer .ts-controls{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}body.dashboard-page .mobile-filter-drawer .filter-section,body.timeseries-page .mobile-filter-drawer .filter-section{display:grid!important;gap:8px!important;padding:10px!important;border-radius:12px!important;border:1px solid rgba(56,189,248,.18)!important;background:#0f172aa3!important}body.dashboard-page .mobile-filter-drawer .filter-label,body.timeseries-page .mobile-filter-drawer .filter-label{margin:0!important;font-size:.72rem!important;letter-spacing:.11em!important;color:#e2e8f0cc!important}body.dashboard-page .mobile-filter-drawer .search-input,body.dashboard-page .mobile-filter-drawer .group-filter-select,body.dashboard-page .mobile-filter-drawer .chip-button,body.dashboard-page .mobile-filter-drawer .btn,body.timeseries-page .mobile-filter-drawer .search-input,body.timeseries-page .mobile-filter-drawer .group-filter-select,body.timeseries-page .mobile-filter-drawer .chip-button,body.timeseries-page .mobile-filter-drawer .btn{width:100%!important;min-height:42px!important;height:42px!important;border-radius:11px!important;font-size:.84rem!important}body.dashboard-page .mobile-filter-drawer .chip-group,body.timeseries-page .mobile-filter-drawer .chip-group{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}body.dashboard-page .mobile-filter-drawer .chip-group.device-filter,body.timeseries-page .mobile-filter-drawer .chip-group.device-filter{grid-template-columns:repeat(3,minmax(0,1fr))!important}}@media(max-height:500px)and (orientation:landscape){body.dashboard-page .app-header,body.timeseries-page .app-header,body.map-page .app-header{min-height:calc(54px + env(safe-area-inset-top))!important;padding:calc(6px + env(safe-area-inset-top)) 8px 6px!important}body.dashboard-page .app-header .brand .logo,body.timeseries-page .app-header .brand .logo,body.map-page .app-header .brand .logo{width:40px!important}body.dashboard-page .menu-toggle,body.timeseries-page .menu-toggle,body.map-page .menu-toggle,body.dashboard-page .filter-toggle,body.timeseries-page .filter-toggle{width:36px!important;min-width:36px!important;height:36px!important;min-height:36px!important}.mobile-nav-host .mobile-nav-redesign{width:min(56vw,248px)!important;padding:calc(50px + env(safe-area-inset-top)) 8px calc(8px + env(safe-area-inset-bottom))!important;gap:6px!important}.mobile-nav-host .mobile-nav-redesign .btn,.mobile-nav-host .mobile-nav-redesign .user-menu-item{min-height:34px!important;height:34px!important;line-height:34px!important;font-size:.74rem!important;padding:0 8px!important}.mobile-nav-host .mobile-nav-redesign #avatar-link{width:36px!important;min-width:36px!important;max-width:36px!important;height:36px!important;min-height:36px!important;max-height:36px!important}}@media(max-width:900px)and (orientation:portrait){body.map-page .app-header,body.map-page .menu-toggle,body.map-page .header-actions,body.map-page .menu-scrim,body.map-page .mobile-nav-host{display:none!important}body.map-page.nav-open .map-shell{pointer-events:auto!important}body.map-page .map-shell,body.map-page .map{height:100dvh!important;min-height:100dvh!important}}@media(min-width:901px)and (min-height:501px){body:not(.map-page) .app-header{position:relative!important;inset:auto!important;width:100%!important;transform:none!important;margin:0 0 18px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}body:not(.map-page) .header-actions{margin-left:auto!important;display:inline-flex!important;align-items:center!important;flex-wrap:nowrap!important;gap:8px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}body:not(.map-page) .header-actions .user-menu{display:inline-flex!important;align-items:center!important;gap:4px!important;margin-left:0!important}body:not(.map-page) .header-actions #avatar-link.profile-avatar-link{width:40px!important;min-width:40px!important;max-width:40px!important;height:40px!important;min-height:40px!important;max-height:40px!important;flex:0 0 40px!important;aspect-ratio:1 / 1!important;padding:0!important;margin:0!important;border-radius:999px!important;line-height:1!important;overflow:hidden!important}body:not(.map-page) .header-actions #avatar-link.profile-avatar-link .profile-avatar-badge,body:not(.map-page) .header-actions #avatar-link.profile-avatar-link .profile-avatar-badge img{width:100%!important;height:100%!important;border-radius:999px!important;object-fit:cover!important}body:not(.map-page) .header-actions .account-menu-trigger{display:inline-flex!important;align-items:center!important;justify-content:center!important;margin:0!important;padding:0 12px!important;min-height:40px!important;height:40px!important;line-height:1.1!important;max-width:170px!important}body.map-page .app-header{top:14px!important;left:16px!important;right:auto!important;width:auto!important;transform:none!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;pointer-events:none!important;justify-content:flex-end!important;align-items:center!important}body.map-page .app-header .brand,body.map-page .menu-toggle{display:none!important}body.map-page .app-header .header-actions{pointer-events:auto!important;display:inline-flex!important;align-items:center!important;flex-wrap:nowrap!important;gap:8px!important;padding:6px!important;border-radius:14px!important;border:1px solid rgba(56,189,248,.24)!important;background:#080c18c2!important;box-shadow:0 10px 30px #02061759!important}body.map-page .app-header .header-actions .user-menu{display:inline-flex!important;align-items:center!important;gap:4px!important;margin-left:0!important}body.map-page .app-header .header-actions .account-menu-trigger{display:inline-flex!important;align-items:center!important;justify-content:center!important;margin:0!important;min-height:40px!important;height:40px!important;line-height:1.1!important;padding:0 12px!important;max-width:170px!important}body.map-page .map-shell,body.map-page .map{display:block!important;visibility:visible!important;opacity:1!important}}@media(min-width:901px){body:not(.map-page) .app-header{min-height:64px!important;margin:0 0 18px!important}body.dashboard-page .header-actions,body.timeseries-page .header-actions,body.admin-page .header-actions,body.profile-page .header-actions,body.lights-page .header-actions{position:fixed!important;top:14px!important;right:16px!important;left:auto!important;margin:0!important;display:inline-flex!important;align-items:center!important;flex-wrap:nowrap!important;gap:8px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;z-index:10025!important}.header-actions .user-menu{display:inline-flex!important;align-items:center!important;gap:2px!important;margin-left:0!important}.header-actions #avatar-link.profile-avatar-link{width:40px!important;min-width:40px!important;max-width:40px!important;height:40px!important;min-height:40px!important;max-height:40px!important;flex:0 0 40px!important;aspect-ratio:1 / 1!important;margin:0!important;padding:0!important;border-radius:999px!important;overflow:hidden!important;line-height:1!important;align-self:center!important}.header-actions #avatar-link.profile-avatar-link .profile-avatar-badge,.header-actions #avatar-link.profile-avatar-link .profile-avatar-badge img{width:100%!important;height:100%!important;border-radius:999px!important;object-fit:cover!important}.header-actions .account-menu-trigger{display:inline-flex!important;align-items:center!important;justify-content:center!important;margin:0!important;min-height:40px!important;height:40px!important;line-height:1.1!important;padding:0 12px!important;max-width:168px!important}.header-actions #admin-link{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:40px!important;height:40px!important;line-height:1.1!important;padding:0 12px!important;margin:0!important;border-radius:11px!important}body.map-page .app-header{position:fixed!important;top:14px!important;right:16px!important;left:auto!important;width:auto!important;transform:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;pointer-events:none!important;justify-content:flex-end!important;align-items:center!important;z-index:10030!important}body.map-page .app-header .brand,body.map-page .menu-toggle{display:none!important}body.map-page .app-header .header-actions{pointer-events:auto!important;display:inline-flex!important;align-items:center!important;flex-wrap:nowrap!important;gap:8px!important;padding:6px!important;border-radius:14px!important;border:1px solid rgba(56,189,248,.24)!important;background:#080c18c2!important;box-shadow:0 10px 30px #02061759!important;margin:0!important}}@media(min-width:901px){body.dashboard-page .app-header,body.timeseries-page .app-header,body.admin-page .app-header,body.profile-page .app-header,body.lights-page .app-header{position:fixed!important;top:0!important;left:0!important;right:0!important;width:auto!important;margin:0!important;padding:10px 16px!important;min-height:64px!important;border:0!important;border-radius:0!important;background:linear-gradient(180deg,#080e1cf2,#080e1cd1)!important;border-bottom:1px solid rgba(56,189,248,.2)!important;box-shadow:0 10px 24px #0206176b!important;-webkit-backdrop-filter:blur(9px)!important;backdrop-filter:blur(9px)!important;transform:none!important;z-index:12000!important;display:flex!important;align-items:center!important;justify-content:space-between!important;pointer-events:auto!important}body.dashboard-page .app,body.timeseries-page .app,body.admin-page .app,body.profile-page .app,body.lights-page .app{padding-top:86px!important}body.dashboard-page .header-actions,body.timeseries-page .header-actions,body.admin-page .header-actions,body.profile-page .header-actions,body.lights-page .header-actions{position:static!important;margin:0 0 0 auto!important;display:inline-flex!important;align-items:center!important;flex-wrap:nowrap!important;gap:8px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}body.map-page .app-header{justify-content:flex-end!important}body.map-page .app-header .brand,body.map-page .menu-toggle{display:none!important}.header-actions .user-menu{display:inline-flex!important;align-items:center!important;gap:2px!important;margin-left:0!important}.header-actions #avatar-link.profile-avatar-link{width:40px!important;min-width:40px!important;max-width:40px!important;height:40px!important;min-height:40px!important;max-height:40px!important;flex:0 0 40px!important;aspect-ratio:1 / 1!important;margin:0!important;padding:0!important;border-radius:999px!important;overflow:hidden!important;line-height:1!important;align-self:center!important}.header-actions #avatar-link.profile-avatar-link .profile-avatar-badge,.header-actions #avatar-link.profile-avatar-link .profile-avatar-badge img{width:100%!important;height:100%!important;border-radius:999px!important;object-fit:cover!important}.header-actions .account-menu-trigger{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:40px!important;height:40px!important;line-height:1.1!important;padding:0 12px!important;margin:0!important;max-width:168px!important}.header-actions #admin-link{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:40px!important;height:40px!important;line-height:1.1!important;padding:0 12px!important;margin:0!important;border-radius:11px!important}}body.map-page .app{margin:0!important;width:100%!important;padding:0!important}body.map-page .map-shell{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;display:block!important;visibility:visible!important;opacity:1!important;z-index:1!important}body.map-page #map.map{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:100%!important;display:block!important;visibility:visible!important;opacity:1!important}.header-actions .account-menu-trigger{border:0!important;background:transparent!important;box-shadow:none!important;padding-left:2px!important;padding-right:2px!important}.header-actions .account-menu-trigger:hover,.header-actions .account-menu-trigger:active{border-color:transparent!important;background:transparent!important;box-shadow:none!important}@media(max-width:900px),(max-height:500px){body.map-page .app-header{position:fixed!important;inset:0 0 auto!important;height:0!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;pointer-events:none!important;z-index:16010!important}body.map-page .app-header .brand{display:none!important}body.map-page .menu-toggle{display:inline-flex!important;position:fixed!important;top:calc(10px + env(safe-area-inset-top))!important;right:calc(10px + env(safe-area-inset-right))!important;left:auto!important;width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;padding:0!important;border-radius:999px!important;justify-content:center!important;background:#080e1cf0!important;border:1px solid rgba(56,189,248,.38)!important;box-shadow:0 10px 24px #02061773!important;pointer-events:auto!important;z-index:16020!important}body.map-page .menu-toggle .menu-text{display:none!important}}@media(max-width:900px)and (orientation:portrait){body.map-page .menu-toggle{display:inline-flex!important}body.map-page .menu-scrim,body.map-page .mobile-nav-host{display:block!important}body.map-page .header-actions{display:flex!important}}@media(max-height:500px)and (orientation:landscape){body.map-page .menu-toggle{top:calc(6px + env(safe-area-inset-top))!important;right:calc(8px + env(safe-area-inset-right))!important;width:36px!important;min-width:36px!important;height:36px!important;min-height:36px!important}}.app-footer{position:fixed;left:0;right:0;bottom:0;margin:0;padding:8px 12px calc(8px + env(safe-area-inset-bottom));border-top:1px solid rgba(56,189,248,.26);background:#080c18e6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#e2e8f0cc;text-align:center;font-size:.72rem;letter-spacing:.03em;text-transform:none;z-index:16005;pointer-events:auto}.app-footer a{color:#e2e8f0f2;text-decoration:underline;text-underline-offset:2px;pointer-events:auto}.app-footer a:hover{color:#fff}.legal-card{display:grid;gap:10px}.legal-card h2{margin:2px 0 0;font-size:1rem}.legal-card p,.legal-card li{margin:0;color:#e2e8f0e6;font-size:.9rem;line-height:1.45}.legal-card ul{margin:0;padding-left:18px;display:grid;gap:6px}.cookie-consent-banner{position:fixed;left:50%;bottom:calc(12px + env(safe-area-inset-bottom));transform:translate(-50%);width:min(760px,calc(100% - 24px));border:1px solid rgba(56,189,248,.24);border-radius:14px;background:#080c18f5;box-shadow:0 14px 34px #02061780;padding:12px;display:grid;gap:10px;z-index:17010}.cookie-consent-banner[hidden]{display:none!important}.cookie-consent-text{margin:0;font-size:.86rem;line-height:1.4;color:#e2e8f0eb}.cookie-consent-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.cookie-consent-actions .btn{min-height:34px;padding-top:0;padding-bottom:0}@media(max-width:640px){.cookie-consent-actions{justify-content:stretch}.cookie-consent-actions .btn{width:100%}}body.dashboard-page .app,body.timeseries-page .app,body.profile-page .app,body.admin-page .app,body.lights-page .app{padding-bottom:calc(42px + env(safe-area-inset-bottom)*.35)!important}body.map-page{overflow:hidden!important}body.map-page:before,body.map-page:after{display:none!important}body.map-page .map-shell{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;z-index:10!important}body.map-page #map,body.map-page #map.map,body.map-page #map .leaflet-container{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:100%!important;display:block!important;visibility:visible!important;opacity:1!important}body.map-page #map .leaflet-pane,body.map-page #map .leaflet-layer,body.map-page #map .leaflet-tile-pane,body.map-page #map .leaflet-map-pane{visibility:visible!important;opacity:1!important}body.map-page #map-status.map-status-badge{position:fixed!important;inset:auto auto 12px 12px!important;width:auto!important;height:auto!important;min-height:0!important;max-width:min(86vw,420px)!important;padding:10px 12px!important;border-radius:12px!important;border:1px solid rgba(56,189,248,.3)!important;background:#080e1ceb!important;-webkit-backdrop-filter:blur(6px)!important;backdrop-filter:blur(6px)!important;color:var(--text)!important;z-index:20020!important;pointer-events:none!important;text-transform:none!important;letter-spacing:.01em!important}body.map-page #map-status.map-status-badge .spinner{display:none!important}@media(max-width:900px)and (orientation:portrait){body.map-page .app-header{display:block!important}body.map-page .menu-toggle{display:inline-flex!important}body.map-page .menu-scrim,body.map-page .mobile-nav-host{display:block!important}body.map-page .header-actions{display:flex!important}}body.map-page .map-device-popup .map-card.device-card,body.map-page .map-device-popup .map-card.device-card .card-face,body.map-page .map-device-popup .map-card.device-card .card-back,body.map-page .map-device-popup .map-card.device-card .card-inner{border-radius:var(--radius)!important}body.map-page .map-device-popup .map-card.device-card{min-height:320px!important;box-shadow:var(--shadow-soft)!important}body.map-page .map-device-popup .map-card.device-card:hover{transform:translateY(-4px)!important;box-shadow:var(--shadow-lg)!important}body.map-page .map-device-popup .map-card.device-card .card-face{padding:22px 22px 20px 28px!important}body.map-page .map-legend,body.map-page #map-status.map-status-badge{bottom:calc(72px + env(safe-area-inset-bottom))!important}body.map-page .map-device-popup .map-card.device-card{background:linear-gradient(160deg,#0b1222fa,#070b16fa)!important;border:1px solid rgba(148,163,184,.2)!important}body.map-page .map-device-popup .map-card.device-card:after{background:radial-gradient(circle at 85% 5%,rgba(34,211,238,.18),transparent 45%)!important}body.map-page .map-device-popup .sparkline-item,body.map-page .map-device-popup .sparkline-wrap{background:#060a1480!important;border-color:#94a3b82e!important}body.map-page .map-device-popup .card-back .sparkline polyline{stroke:#cfe7ff!important}body.map-page .map-device-popup .card-back .sparkline circle{fill:#cfe7ff!important}body.map-page .map-device-popup .card-back-actions{margin-top:auto!important;padding-top:8px!important;border-top:1px solid rgba(148,163,184,.16)!important;justify-content:flex-end!important}body.map-page .map-device-popup .card-back-timeseries,body.map-page .map-device-popup .card-back-export{min-height:36px!important;width:36px!important;min-width:36px!important;padding:0!important;background:#080e1cc7!important;border-color:#94a3b84d!important;color:#e2e8f0f5!important}body.map-page .map-device-popup .card-back-timeseries:hover,body.map-page .map-device-popup .card-back-export:hover{background:#22d3ee29!important;border-color:#22d3ee73!important}@media(max-width:900px),(max-height:500px),(pointer:coarse){body.map-page .map-device-popup.leaflet-popup{position:fixed!important;inset:0!important;margin:0!important;transform:none!important;width:100vw!important;height:100svh!important;max-width:none!important;z-index:30050!important}body.map-page .map-device-popup .leaflet-popup-content-wrapper,body.map-page .map-device-popup .leaflet-popup-content{width:100vw!important;max-width:none!important;min-height:100svh!important;height:100dvh!important}body.map-page .map-device-popup .leaflet-popup-content-wrapper{border-radius:0!important;padding:0!important;display:block!important}body.map-page .map-device-popup .leaflet-popup-content{margin:0!important;display:block!important}body.map-page .map-device-popup .map-card{width:100%!important;max-width:100%!important;min-height:100svh!important;height:100%!important;border-radius:0!important}body.map-page .map-device-popup .map-card .card-front{height:100%!important;overflow:auto!important;padding-top:calc(76px + env(safe-area-inset-top))!important;padding-bottom:calc(92px + env(safe-area-inset-bottom))!important}body.map-page .map-device-popup .map-card .card-back{height:100%!important;overflow:auto!important;padding-top:calc(76px + env(safe-area-inset-top))!important;padding-bottom:calc(16px + env(safe-area-inset-bottom))!important;display:flex!important;flex-direction:column!important}body.map-page .map-device-popup .map-card .sparkline-grid{flex:1 1 auto!important;overflow:auto!important;padding-bottom:8px!important}body.map-page .map-device-popup .map-card .card-back-actions{position:sticky!important;bottom:0!important;margin-top:auto!important;padding-top:10px!important;padding-bottom:calc(10px + env(safe-area-inset-bottom))!important;background:linear-gradient(180deg,#080e1c33,#080e1cf5)!important;z-index:3!important}}@media(max-width:900px),(max-height:500px),(pointer:coarse){body.map-page .app-header,body.map-page .menu-toggle,body.map-page .header-actions,body.map-page .menu-scrim,body.map-page .mobile-nav-host{display:none!important}body.map-page .app-footer{display:flex!important;align-items:center!important;justify-content:center!important;min-height:30px!important;padding:4px 10px calc(4px + env(safe-area-inset-bottom))!important;border-top:1px solid rgba(56,189,248,.28)!important;background:#060a14f0!important;z-index:20040!important}body.map-page .map-legend{top:calc(10px + env(safe-area-inset-top))!important;left:calc(10px + env(safe-area-inset-left))!important;right:auto!important;bottom:auto!important;min-width:0!important;width:min(188px,calc(100vw - 20px))!important;padding:7px 8px!important;border-radius:12px!important;border:1px solid rgba(148,163,184,.24)!important;background:#060a14e0!important;box-shadow:0 12px 28px #02061773!important;z-index:20030!important}body.map-page .map-legend-title{font-size:.58rem!important;letter-spacing:.08em!important;color:#e2e8f0b8!important;margin-bottom:3px!important}body.map-page .map-legend .search-input{min-height:31px!important;height:31px!important;border-radius:9px!important;font-size:.74rem!important;background:#0f172ad1!important;border-color:#94a3b83d!important;color:#e2e8f0f5!important}body.map-page .map-legend .legend-rows{gap:3px!important}body.map-page .map-legend .legend-row{font-size:.64rem!important;color:#e2e8f0d6!important;background:#080e1c9e!important;border:1px solid rgba(148,163,184,.18)!important;border-radius:8px!important;padding:2px 5px!important}body.map-page #map-status.map-status-badge{bottom:calc(10px + env(safe-area-inset-bottom))!important;z-index:20035!important}body.map-page #map .leaflet-control-zoom{display:none!important}}@media(max-width:900px),(max-height:500px),(pointer:coarse){body.map-page .app-header{display:block!important;position:fixed!important;inset:0 0 auto!important;height:0!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;box-shadow:none!important;pointer-events:none!important;z-index:26020!important}body.map-page .app-header .brand{display:none!important}body.map-page .menu-toggle{display:inline-flex!important;position:fixed!important;top:calc(10px + env(safe-area-inset-top))!important;right:calc(10px + env(safe-area-inset-right))!important;width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;padding:0!important;border-radius:999px!important;border:1px solid rgba(148,163,184,.34)!important;background:#060a14e6!important;box-shadow:0 10px 22px #02061780!important;justify-content:center!important;pointer-events:auto!important;z-index:26030!important}body.map-page .menu-toggle .menu-text{display:none!important}body.map-page .menu-scrim,body.map-page .mobile-nav-host{display:block!important;z-index:26025!important}body.map-page .header-actions{display:flex!important}body.map-page .map-legend{top:calc(8px + env(safe-area-inset-top))!important;left:calc(10px + env(safe-area-inset-left))!important;right:auto!important;bottom:auto!important;width:min(220px,calc(100vw - 20px))!important;min-width:0!important;padding:8px 9px!important;border-radius:10px!important;border:1px solid rgba(148,163,184,.24)!important;background:#060a14db!important;box-shadow:0 12px 26px #02061773!important;z-index:20030!important}body.map-page .map-legend-title{margin-bottom:4px!important;font-size:.62rem!important;letter-spacing:.08em!important;color:#e2e8f0b8!important}body.map-page .map-legend .search-input{min-height:34px!important;height:34px!important;border-radius:9px!important;font-size:.78rem!important}body.map-page .map-legend .legend-rows{gap:4px!important}body.map-page .map-legend .legend-row{background:transparent!important;border:0!important;padding:0!important;font-size:.7rem!important;color:#e2e8f0d6!important}body.map-page .map-device-popup .leaflet-popup-content{display:flex!important;justify-content:center!important;align-items:stretch!important}body.map-page .map-device-popup .map-card{width:min(460px,100vw)!important;max-width:min(460px,100vw)!important;margin:0 auto!important}}body.map-page .map-legend{position:fixed!important;inset:auto auto 16px 16px!important;transform:none!important;z-index:20030!important}body.map-page.map-popup-open .map-legend{opacity:1!important;transform:none!important;pointer-events:auto!important}body.map-page .map-device-popup.leaflet-popup{z-index:30050!important}@media(max-width:900px),(max-height:500px),(pointer:coarse){body.map-page .map-legend{top:auto!important;left:calc(10px + env(safe-area-inset-left))!important;bottom:calc(10px + env(safe-area-inset-bottom))!important}}.map-mobile-card-overlay{position:fixed;inset:0;display:none;background:#020617a8;z-index:32000}.map-mobile-overlay-actions,.map-mobile-overlay-close{display:none}.map-mobile-card-overlay.open{display:block}.map-mobile-card-overlay .map-mobile-card-surface{width:100%;height:100%}@media(max-width:900px),(max-height:500px),(pointer:coarse){.map-mobile-card-overlay.open{display:flex;align-items:stretch;justify-content:center}.map-mobile-card-overlay .map-mobile-card-surface{width:min(520px,100vw);height:100%;margin:0 auto}.map-mobile-card-overlay .map-mobile-overlay-actions{display:inline-flex!important;position:fixed!important;top:calc(8px + env(safe-area-inset-top));right:calc(8px + env(safe-area-inset-right));align-items:center!important;gap:10px!important;z-index:12!important}.map-mobile-card-overlay .map-popup-shell{position:relative;width:100%;height:100%}.map-mobile-card-overlay .map-shell-actions{display:none!important}.map-mobile-card-overlay .map-shell-battery{display:none!important;position:relative!important;z-index:1!important}.map-mobile-card-overlay .card-top>.battery.compact{display:inline-flex!important;margin-right:0!important}.map-mobile-card-overlay .map-shell-battery .battery.compact{display:inline-flex!important;align-items:center!important;gap:6px!important;min-height:0!important;padding:0!important;border-radius:0!important;border:0!important;background:transparent!important}.map-mobile-card-overlay .map-shell-battery .battery-text{font-size:.76rem!important;color:#f8fafceb!important}.map-mobile-card-overlay .map-mobile-overlay-battery,.map-mobile-card-overlay .map-mobile-overlay-battery .battery.compact{display:inline-flex!important;align-items:center!important}.map-mobile-card-overlay .map-mobile-overlay-battery .battery-icon{width:46px!important;height:20px!important}.map-mobile-card-overlay .map-mobile-overlay-battery .battery-inside-text{font-size:.72rem!important}.map-mobile-card-overlay .map-card{width:100%;height:100%;max-width:100%;border-radius:0!important}.map-mobile-card-overlay .map-card .card-front{height:100%;overflow:auto;padding-top:calc(64px + env(safe-area-inset-top))!important;padding-bottom:calc(88px + env(safe-area-inset-bottom))!important}.map-mobile-card-overlay .map-card .card-back{height:100%;overflow:auto;padding-top:calc(64px + env(safe-area-inset-top))!important;padding-bottom:calc(16px + env(safe-area-inset-bottom))!important;display:flex;flex-direction:column}.map-mobile-card-overlay .map-card .sparkline-grid{flex:1 1 auto;overflow:auto;padding-bottom:8px}.map-mobile-card-overlay .map-card .card-back-actions{position:sticky;bottom:0;margin-top:auto;background:linear-gradient(180deg,#080e1c33,#080e1cf5);padding-bottom:calc(10px + env(safe-area-inset-bottom))}}@media(max-height:500px)and (orientation:landscape){body.map-page .map-legend{top:calc(6px + env(safe-area-inset-top))!important;left:calc(8px + env(safe-area-inset-left))!important;width:min(128px,calc(100vw - 16px))!important;padding:3px 4px!important;border-radius:8px!important}body.map-page .map-legend-title{font-size:.5rem!important;letter-spacing:.06em!important;margin-bottom:2px!important}body.map-page .map-legend .search-input{min-height:24px!important;height:24px!important;font-size:.62rem!important;padding:0 5px!important}body.map-page .map-legend .legend-rows{gap:1px!important}body.map-page .map-legend .legend-row{font-size:.49rem!important;line-height:1.15!important;padding:1px 3px!important}.map-mobile-card-overlay .map-mobile-card-surface{width:min(720px,100vw)!important}.map-mobile-card-overlay .map-close{padding:6px 10px!important;font-size:.62rem!important}.map-mobile-card-overlay .map-card .card-front{padding-top:calc(42px + env(safe-area-inset-top))!important;padding-bottom:calc(56px + env(safe-area-inset-bottom))!important}.map-mobile-card-overlay .map-card .card-back{padding-top:calc(42px + env(safe-area-inset-top))!important;padding-bottom:calc(8px + env(safe-area-inset-bottom))!important}.map-mobile-card-overlay .map-card .sparkline-grid{gap:8px!important;padding-bottom:4px!important}.map-mobile-card-overlay .map-card .sparkline-item{padding:8px 10px!important}.map-mobile-card-overlay .map-card .card-back-actions{padding-top:6px!important;padding-bottom:calc(6px + env(safe-area-inset-bottom))!important}.map-mobile-card-overlay .map-card .card-back-timeseries,.map-mobile-card-overlay .map-card .card-back-export{min-height:30px!important;height:30px!important;width:30px!important;min-width:30px!important;padding:0!important}}@media(max-height:500px)and (orientation:landscape){.map-mobile-card-overlay .map-popup-shell{padding:calc(4px + env(safe-area-inset-top)) 8px calc(4px + env(safe-area-inset-bottom))}.map-mobile-card-overlay .map-card{border-radius:12px!important;height:calc(100svh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 8px)!important;min-height:0!important;overflow:hidden!important}.map-mobile-card-overlay .map-card .card-inner{display:grid!important;grid-template-columns:minmax(230px,38%) minmax(0,1fr)!important;gap:10px!important;height:100%!important;transform:none!important;padding:10px!important}.map-mobile-card-overlay .map-card.flipped .card-inner{transform:none!important}.map-mobile-card-overlay .map-card .card-face{position:relative!important;inset:auto!important;transform:none!important;backface-visibility:visible!important;border-radius:10px!important;padding:10px 12px!important;min-height:0!important;height:100%!important}.map-mobile-card-overlay .map-card .card-front{overflow:auto!important}.map-mobile-card-overlay .map-card .card-back{overflow:auto!important;display:flex!important;flex-direction:column!important;background:#080e1cc7!important}.map-mobile-card-overlay .map-card .sparkline-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;flex:1 1 auto!important;overflow:auto!important;padding-bottom:4px!important}.map-mobile-card-overlay .map-card .sparkline-item{padding:6px 8px!important;border-radius:10px!important}.map-mobile-card-overlay .map-card .sparkline-header{font-size:.6rem!important}.map-mobile-card-overlay .map-card .card-back-actions{position:sticky!important;bottom:0!important;margin-top:auto!important;padding-top:6px!important;padding-bottom:calc(4px + env(safe-area-inset-bottom))!important;background:linear-gradient(180deg,#080e1c1f,#080e1ceb)!important}.map-mobile-card-overlay .map-card .card-top{justify-content:flex-start!important;align-items:flex-start!important;margin-bottom:6px!important}.map-mobile-card-overlay .map-card .card-top>div:first-child{flex:1 1 auto!important;min-width:0!important}.map-mobile-card-overlay .map-card .card-top>.battery.compact{margin-left:auto!important;margin-right:64px!important}.map-mobile-card-overlay .map-card .metric-summary.metric-front{gap:4px!important}.map-mobile-card-overlay .map-card .metric-row{padding:4px 6px!important}.map-mobile-card-overlay .map-card .metric-value{padding:3px 5px 3px 9px!important}}@media(max-height:500px)and (orientation:landscape){body.map-page.map-mobile-card-open .map-legend,body.map-page.map-mobile-card-open #map-status.map-status-badge,body.map-page.map-mobile-card-open .menu-toggle{opacity:0!important;pointer-events:none!important}.map-mobile-card-overlay.open{align-items:stretch!important;justify-content:stretch!important;overflow:hidden!important}.map-mobile-card-overlay .map-mobile-card-surface{width:100%!important;height:100%!important;max-width:100%!important}.map-mobile-card-overlay .map-popup-shell{position:relative!important;display:block!important;width:100%!important;height:100%!important;min-height:100%!important;padding:0!important}.map-mobile-card-overlay .map-card{width:100%!important;max-width:100%!important;height:100%!important;min-height:100svh!important;max-height:100svh!important;overflow:hidden!important;border-radius:0!important}.map-mobile-card-overlay .map-card .card-inner{display:block!important;position:relative!important;height:100%!important;min-height:0!important;padding:0!important;transform-style:preserve-3d!important}.map-mobile-card-overlay .map-card.flipped .card-inner{transform:rotateY(180deg)!important}.map-mobile-card-overlay .map-card .card-face{position:absolute!important;inset:0!important;transform:none!important;backface-visibility:hidden!important;border-radius:0!important;padding:calc(42px + env(safe-area-inset-top)) 12px calc(10px + env(safe-area-inset-bottom)) 12px!important;height:100%!important;min-height:0!important;max-height:100%!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important}.map-mobile-card-overlay .map-card .card-front{display:grid!important;grid-template-rows:auto 1fr auto!important;gap:8px!important;padding-top:calc(42px + env(safe-area-inset-top))!important;padding-bottom:calc(10px + env(safe-area-inset-bottom))!important}.map-mobile-card-overlay .map-card .card-back{transform:rotateY(180deg)!important;display:grid!important;grid-template-rows:1fr auto!important;gap:8px!important;padding-top:calc(42px + env(safe-area-inset-top))!important;padding-bottom:calc(8px + env(safe-area-inset-bottom))!important}.map-mobile-card-overlay .map-card .metric-summary.metric-front{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:6px!important;align-content:start!important;min-height:0!important}.map-mobile-card-overlay .map-card .metric-summary.metric-front .metric-row{grid-column:span 2!important;padding:5px 6px!important;height:100%!important;min-height:0!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important}.map-mobile-card-overlay .map-card .metric-summary.metric-front .metric-row:nth-child(4){grid-column:2 / span 2!important}.map-mobile-card-overlay .map-card .metric-summary.metric-front .metric-row:nth-child(5){grid-column:4 / span 2!important}.map-mobile-card-overlay .map-card .metric-summary.metric-front .metric-value{padding:3px 5px 3px 8px!important}.map-mobile-card-overlay .map-card .metric-summary.metric-front .metric-value-number{font-size:.84rem!important}.map-mobile-card-overlay .map-card .sparkline-grid{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;grid-auto-rows:minmax(84px,1fr)!important;gap:6px!important;flex:none!important;overflow:auto!important;padding-bottom:4px!important;align-content:start!important;min-height:0!important}.map-mobile-card-overlay .map-card .sparkline-grid .sparkline-item{grid-column:span 2!important;height:100%!important;min-height:0!important;display:flex!important;flex-direction:column!important}.map-mobile-card-overlay .map-card .sparkline-grid .sparkline-item:nth-child(4){grid-column:2 / span 2!important}.map-mobile-card-overlay .map-card .sparkline-grid .sparkline-item:nth-child(5){grid-column:4 / span 2!important}.map-mobile-card-overlay .map-card .sparkline-item{padding:7px 8px!important}.map-mobile-card-overlay .map-card .sparkline-item .sparkline{height:34px!important}.map-mobile-card-overlay .map-card .card-back-actions{position:sticky!important;bottom:0!important;margin-top:auto!important;padding-top:6px!important;padding-bottom:calc(6px + env(safe-area-inset-bottom))!important;background:linear-gradient(180deg,#080e1c1f,#080e1ceb)!important;border-top:1px solid rgba(148,163,184,.18)!important}.map-mobile-card-overlay .map-shell-actions{display:none!important}.map-mobile-card-overlay .map-shell-battery .battery.compact{min-height:0!important;padding:0!important}.map-mobile-card-overlay .map-shell-battery .battery-icon{width:18px!important;height:10px!important}.map-mobile-card-overlay .map-shell-battery .battery-text{font-size:.84rem!important}.map-mobile-card-overlay .map-mobile-overlay-actions{justify-content:flex-end!important}.map-mobile-card-overlay .map-mobile-overlay-battery{display:none!important}.map-mobile-card-overlay .map-mobile-overlay-close{display:inline-flex!important;width:42px!important;min-width:42px!important;height:42px!important;min-height:42px!important;z-index:9!important}}@media(pointer:coarse)and (orientation:portrait){.map-mobile-card-overlay .map-mobile-overlay-close{display:inline-flex!important}.map-mobile-card-overlay .card-top>.battery.compact{display:none!important}}.map-close,.map-mobile-overlay-close{width:38px!important;min-width:38px!important;height:38px!important;min-height:38px!important;padding:0!important;border-radius:999px!important;border:1px solid rgba(148,163,184,.42)!important;background:#080e1ce6!important;color:#f8fafcf5!important;line-height:1!important;letter-spacing:0!important;font-weight:500!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;text-transform:none!important;position:static;vertical-align:middle!important}.map-close-glyph{display:block!important;width:18px!important;height:18px!important}.map-close-glyph path{fill:none!important;stroke:currentColor!important;stroke-width:2.4!important;stroke-linecap:round!important}.panel,.controls,.export-dialog-card,.simple-auth-card{border-color:#94a3b82e!important;background:#090f1ce6!important;box-shadow:0 12px 30px #02061752!important}body.dashboard-page .controls:before,body.timeseries-page .controls:before{display:none!important}.metric-row{padding:4px 0!important;gap:5px!important}.metric-values{gap:5px}.metric-value{border-color:#94a3b829!important;background:#0f172a47!important}.metric-value:before{width:3px!important;opacity:.86}.sparkline-wrap,.sparkline-item{border-color:#94a3b829!important;background:#0f172a47!important;box-shadow:none!important}.device-item{border-color:#94a3b833!important;background:#0f172a66!important}.legend-item{border-color:#94a3b833!important;background:#0f172a6b!important}@media(max-width:900px),(max-height:500px){body.dashboard-page .mobile-filter-drawer,body.timeseries-page .mobile-filter-drawer{padding:calc(10px + env(safe-area-inset-top)) 12px calc(12px + env(safe-area-inset-bottom))!important;background:#060a14fb!important}body.dashboard-page .mobile-filter-drawer:before,body.timeseries-page .mobile-filter-drawer:before{display:none!important}body.dashboard-page .mobile-filter-drawer-head,body.timeseries-page .mobile-filter-drawer-head{position:sticky!important;top:0!important;margin:0 0 10px!important;padding:0 42px 8px 0!important;min-height:34px!important;background:transparent!important;border:0!important;box-shadow:none!important;justify-content:flex-start!important;align-items:center!important}body.dashboard-page .mobile-filter-drawer-title,body.timeseries-page .mobile-filter-drawer-title{margin:0!important}body.dashboard-page .mobile-filter-drawer-head .drawer-close-icon,body.timeseries-page .mobile-filter-drawer-head .drawer-close-icon{position:absolute!important;top:0!important;right:0!important;width:34px!important;min-width:34px!important;height:34px!important;min-height:34px!important;padding:0!important;border-radius:999px!important;border:1px solid rgba(148,163,184,.42)!important;background:#080e1ce6!important;color:#f8fafcf5!important;font-size:1.5rem!important;line-height:1!important;font-weight:500!important;display:inline-grid!important;place-items:center!important}body.dashboard-page .mobile-filter-drawer .ts-controls,body.timeseries-page .mobile-filter-drawer .ts-controls{display:grid!important;gap:12px!important}body.dashboard-page .mobile-filter-drawer .ts-left,body.dashboard-page .mobile-filter-drawer .ts-right,body.timeseries-page .mobile-filter-drawer .ts-left,body.timeseries-page .mobile-filter-drawer .ts-right{display:grid!important;gap:10px!important}body.dashboard-page .mobile-filter-drawer .filter-section,body.timeseries-page .mobile-filter-drawer .filter-section{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}body.dashboard-page .mobile-filter-drawer .filter-label,body.timeseries-page .mobile-filter-drawer .filter-label{margin:0 0 4px!important}}@media(max-width:900px){body.timeseries-page .layout-split{display:block!important;gap:0!important;border:0!important;background:transparent!important;box-shadow:none!important;min-height:0!important;padding:0!important}body.timeseries-page .layout-split>.panel.tight{display:none!important}body.timeseries-page .chart-wrap{margin-top:0!important;border-radius:12px!important;border:1px solid rgba(148,163,184,.18)!important;background:#090f1cbd!important;box-shadow:none!important;padding:10px!important}body.timeseries-page .chart-wrap:before{display:none!important}body.timeseries-page .chart-header{gap:8px!important}body.timeseries-page .chart-range{width:100%!important}body.timeseries-page .chart-range .chip-group{width:100%!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}body.timeseries-page .chart-range .chip-group .chip-button{min-height:36px!important;height:36px!important;border-radius:9px!important;font-size:.74rem!important}body.timeseries-page .chart-legend{gap:6px 8px!important;margin-bottom:6px!important}body.timeseries-page .legend-item{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;font-size:.74rem!important}body.timeseries-page .mobile-filter-drawer .chip-button,body.timeseries-page .mobile-filter-drawer .search-input,body.timeseries-page .mobile-filter-drawer .group-filter-select,body.timeseries-page .mobile-filter-drawer .btn{border-color:#94a3b833!important;background:#0f172a8a!important;box-shadow:none!important}}@media(min-width:901px){.header-actions{justify-content:center!important}.header-actions #user-menu{order:25!important;margin-left:0!important;margin-right:0!important}.header-actions a[href="/index.html"]{order:10!important}.header-actions a[href="/map.html"]{order:20!important}.header-actions a[href="/timeseries.html"]{order:30!important}.header-actions #admin-link{order:40!important}.header-actions #login-btn{order:50!important}.header-actions #avatar-link.profile-avatar-link{width:50px!important;min-width:50px!important;max-width:50px!important;height:50px!important;min-height:50px!important;max-height:50px!important}.header-actions .account-menu-trigger{min-height:46px!important;padding:0 14px!important;font-size:.9rem!important}}@media(max-height:500px)and (orientation:landscape){body.timeseries-page .app-header{min-height:calc(64px + env(safe-area-inset-top))!important;height:calc(64px + env(safe-area-inset-top))!important;padding:calc(8px + env(safe-area-inset-top)) 10px 8px!important}body.timeseries-page{overflow:hidden!important}body.timeseries-page .app{height:100svh!important;min-height:100svh!important;padding:calc(68px + env(safe-area-inset-top)) 8px calc(6px + env(safe-area-inset-bottom))!important;overflow:hidden!important}body.timeseries-page .layout-split{height:100%!important;min-height:0!important;overflow:hidden!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important}body.timeseries-page .chart-wrap{height:100%!important;min-height:0!important;margin:0!important;padding:6px 8px 8px!important;display:grid!important;grid-template-rows:auto auto 1fr!important;gap:6px!important;overflow:hidden!important}body.timeseries-page .chart-header{gap:6px!important}body.timeseries-page .chart-title{font-size:.72rem!important;letter-spacing:.08em!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}body.timeseries-page .chart-legend{flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:thin!important;gap:8px!important;margin:0!important;padding-bottom:2px!important}body.timeseries-page #series-chart.uplot-container{height:100%!important;min-height:0!important}}@media(max-height:500px)and (orientation:landscape){body.timeseries-page .app-header{position:fixed!important;inset:0 0 auto!important;height:0!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;z-index:13050!important}body.timeseries-page .app-header .brand{display:none!important}body.timeseries-page .menu-toggle,body.timeseries-page .filter-toggle{top:calc(8px + env(safe-area-inset-top))!important;width:42px!important;min-width:42px!important;height:42px!important;min-height:42px!important;border-radius:999px!important;border:1px solid rgba(148,163,184,.42)!important;background:#080e1ce6!important;box-shadow:0 8px 18px #02061766!important;z-index:13055!important}body.timeseries-page .menu-toggle{right:calc(10px + env(safe-area-inset-right))!important;left:auto!important}body.timeseries-page .filter-toggle{left:calc(10px + env(safe-area-inset-left))!important;right:auto!important}body.timeseries-page .filter-toggle .filter-icon{display:block!important}body.timeseries-page .app-header:before{content:""!important;position:fixed!important;top:calc(9px + env(safe-area-inset-top))!important;left:50%!important;transform:translate(-50%)!important;width:36px!important;height:36px!important;border-radius:10px!important;border:1px solid rgba(148,163,184,.38)!important;background:#080e1ce6 url(/logo.png) center / 22px 22px no-repeat!important;box-shadow:0 8px 18px #02061766!important;z-index:13056!important;pointer-events:none!important}body.timeseries-page{overflow:hidden!important}body.timeseries-page .app{height:100svh!important;min-height:100svh!important;padding:0 0 calc(44px + env(safe-area-inset-bottom)) 0!important;overflow:hidden!important}body.timeseries-page .layout-split{height:100%!important;min-height:100%!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:hidden!important}body.timeseries-page .layout-split>.panel.tight{display:none!important}body.timeseries-page .chart-wrap{position:relative!important;height:100%!important;min-height:100%!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:hidden!important;display:block!important}body.timeseries-page .chart-wrap:before,body.timeseries-page .chart-title-block,body.timeseries-page .chart-range,body.timeseries-page .chart-legend{display:none!important}body.timeseries-page .chart-header{position:absolute!important;right:calc(8px + env(safe-area-inset-right))!important;bottom:calc(48px + env(safe-area-inset-bottom))!important;left:auto!important;top:auto!important;margin:0!important;padding:0!important;min-height:0!important;z-index:12!important;display:block!important;pointer-events:auto!important}body.timeseries-page .chart-metric{margin:0!important;display:grid!important;gap:4px!important;padding:6px 8px!important;border-radius:10px!important;border:1px solid rgba(148,163,184,.26)!important;background:#080e1cd6!important;-webkit-backdrop-filter:blur(6px)!important;backdrop-filter:blur(6px)!important;box-shadow:0 6px 14px #02061759!important}body.timeseries-page .chart-metric span{font-size:.6rem!important;letter-spacing:.08em!important;line-height:1.1!important}body.timeseries-page .chart-metric select{width:130px!important;height:30px!important;min-height:30px!important;border-radius:8px!important;font-size:.76rem!important;padding:0 8px!important;border:1px solid rgba(148,163,184,.26)!important;background:#0f172ae0!important}body.timeseries-page #series-chart.uplot-container{height:100%!important;min-height:100%!important;margin:0!important}}body.timeseries-page .chip-button.active,body.timeseries-page .chip-button[aria-pressed=true]{background:#0ea5e9!important;border-color:#0ea5e9!important;color:#f8fafc!important}body.timeseries-page .mobile-filter-drawer .chip-button.active,body.timeseries-page .mobile-filter-drawer .chip-button[aria-pressed=true]{background:#0284c7!important;border-color:#0284c7!important;color:#f8fafc!important}body.timeseries-page .drawer-sensor-dropdown{display:block;width:100%}body.timeseries-page .drawer-sensor-summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none}body.timeseries-page .drawer-sensor-summary::-webkit-details-marker{display:none}body.timeseries-page .drawer-sensor-summary:after{content:"▾";opacity:.9;font-size:.85rem}body.timeseries-page .drawer-sensor-dropdown[open] .drawer-sensor-summary:after{content:"▴"}body.timeseries-page .drawer-sensor-checklist{margin-top:8px;max-height:min(40vh,280px);overflow:auto;padding:8px;border-radius:10px;border:1px solid rgba(148,163,184,.24);background:#060a14b8}body.timeseries-page .drawer-sensor-item{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"check name" "check meta";gap:2px 8px;align-items:center;padding:6px 4px}body.timeseries-page .drawer-sensor-item input[data-drawer-sensor]{grid-area:check;margin:0}body.timeseries-page .drawer-sensor-name{grid-area:name;font-size:.83rem;color:#f8fafcf5}body.timeseries-page .drawer-sensor-meta{grid-area:meta;font-size:.72rem;color:#94a3b8eb}body.timeseries-page .drawer-sensor-empty{padding:8px 4px;color:#94a3b8eb;font-size:.8rem}@media(max-width:900px),(max-height:500px){body.timeseries-page .mobile-filter-drawer-head{position:sticky!important;top:0!important;padding-right:42px!important;min-height:36px!important}body.timeseries-page .mobile-filter-drawer-head .drawer-close-icon{position:absolute!important;top:0!important;right:0!important;margin:0!important}}@media(max-height:500px)and (orientation:landscape){body.timeseries-page .app-header:before{display:none!important}body.timeseries-page .chart-header .chart-range{display:block!important;position:fixed!important;top:calc(1px + env(safe-area-inset-top))!important;left:50%!important;right:auto!important;bottom:auto!important;transform:translate(-50%)!important;margin:0!important;z-index:13058!important;width:auto!important;pointer-events:auto!important}body.timeseries-page .chart-range .filter-label{display:none!important}body.timeseries-page .chart-range .chip-group{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important;padding:6px!important;border-radius:11px!important;border:1px solid rgba(148,163,184,.3)!important;background:#080e1ce0!important;box-shadow:0 8px 20px #02061759!important;-webkit-backdrop-filter:blur(6px)!important;backdrop-filter:blur(6px)!important}body.timeseries-page .chart-range .chip-group .chip-button{min-height:28px!important;height:28px!important;padding:0 8px!important;font-size:.68rem!important;line-height:1!important;white-space:nowrap!important}body.timeseries-page .chart-wrap{padding-top:calc(40px + env(safe-area-inset-top))!important}body.timeseries-page #series-chart.uplot-container{height:calc(100% - (40px + env(safe-area-inset-top)))!important;min-height:calc(100% - (40px + env(safe-area-inset-top)))!important}}@media(max-width:900px),(max-height:500px){body.timeseries-page .mobile-filter-drawer-head,body.dashboard-page .mobile-filter-drawer-head{position:relative!important;width:100%!important;min-width:100%!important;padding-right:44px!important}body.timeseries-page .mobile-filter-drawer-head .drawer-close-icon,body.dashboard-page .mobile-filter-drawer-head .drawer-close-icon{position:absolute!important;top:0!important;right:0!important;left:auto!important;margin:0!important;transform:none!important;display:inline-grid!important;place-items:center!important;padding:0!important;line-height:1!important;text-indent:0!important;font-size:1.4rem!important}}@media(max-height:500px)and (orientation:landscape){body.timeseries-page .app{padding:0 0 calc(44px + env(safe-area-inset-bottom)) 0!important}body.timeseries-page .chart-header{position:fixed!important;top:calc(1px + env(safe-area-inset-top))!important;left:50%!important;right:auto!important;bottom:auto!important;transform:translate(-50%)!important;margin:0!important;padding:0!important;z-index:13058!important;display:inline-flex!important;align-items:center!important;flex-wrap:nowrap!important;gap:3px!important;pointer-events:auto!important}body.timeseries-page .chart-header .chart-range{position:static!important;transform:none!important;margin:0!important}body.timeseries-page .chart-header .chart-range .chip-group{display:inline-flex!important;align-items:center!important;gap:3px!important;padding:0!important;border-radius:0!important;border:0!important;background:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}body.timeseries-page .chart-header .chart-range .chip-group .chip-button{min-height:24px!important;height:24px!important;padding:0 6px!important;font-size:.66rem!important;line-height:1!important;white-space:nowrap!important}body.timeseries-page .chart-header .chart-metric{position:static!important;margin:0!important;padding:0!important;border-radius:0!important;border:0!important;background:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;display:inline-flex!important;align-items:center!important;gap:3px!important}body.timeseries-page .chart-header .chart-metric span{display:none!important}body.timeseries-page .chart-header .chart-metric select{width:104px!important;height:24px!important;min-height:24px!important;padding:0 6px!important;border-radius:8px!important;font-size:.69rem!important}body.timeseries-page .chart-wrap{padding-top:calc(30px + env(safe-area-inset-top))!important}body.timeseries-page #series-chart.uplot-container{height:calc(100% - (30px + env(safe-area-inset-top)))!important;min-height:calc(100% - (30px + env(safe-area-inset-top)))!important}}@media(max-width:900px),(max-height:500px){.mobile-nav-host .mobile-nav-redesign #user-menu{justify-content:center!important}.mobile-nav-host .mobile-nav-redesign #avatar-link{margin:4px auto 10px!important;align-self:center!important}}@media(min-width:901px){.header-actions #login-btn{order:900!important}.header-actions #user-menu{order:999!important;margin-left:8px!important;margin-right:0!important}.header-actions #avatar-link.profile-avatar-link{margin:0!important}}body.map-page #map-status[data-mode=loading]{position:fixed!important;inset:0!important;width:auto!important;height:auto!important;min-height:0!important;max-width:none!important;padding:0!important;border:0!important;border-radius:0!important;background:#020617b8!important;-webkit-backdrop-filter:blur(6px)!important;backdrop-filter:blur(6px)!important;color:var(--text)!important;z-index:9999!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:10px!important;text-transform:uppercase!important;letter-spacing:.08em!important;pointer-events:none!important}body.map-page #map-status[data-mode=notice]{position:fixed!important;inset:auto auto calc(40px + env(safe-area-inset-bottom)) 12px!important;width:auto!important;height:auto!important;min-height:0!important;max-width:min(86vw,420px)!important;padding:10px 12px!important;border-radius:12px!important;border:1px solid rgba(56,189,248,.3)!important;background:#080e1ceb!important;-webkit-backdrop-filter:blur(6px)!important;backdrop-filter:blur(6px)!important;color:var(--text)!important;z-index:16006!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;text-transform:none!important;letter-spacing:.01em!important;pointer-events:none!important}body.map-page #map-status[data-mode=loading][style*="display:none"],body.map-page #map-status[data-mode=notice][style*="display:none"]{display:none!important}body.map-page #map-status[data-mode=loading] .spinner{display:inline-block!important}body.map-page #map-status[data-mode=notice] .spinner{display:none!important}@media(max-height:500px)and (orientation:landscape){body.timeseries-page .app-footer{display:flex!important;align-items:center!important;justify-content:center!important;min-height:30px!important;padding:4px 10px calc(4px + env(safe-area-inset-bottom))!important;border-top:1px solid rgba(56,189,248,.28)!important;background:#060a14f0!important;z-index:16010!important}body.timeseries-page .chart-wrap{padding-bottom:calc(30px + env(safe-area-inset-bottom))!important}body.timeseries-page #series-chart.uplot-container{height:calc(100% - (60px + env(safe-area-inset-top) + env(safe-area-inset-bottom)))!important;min-height:calc(100% - (60px + env(safe-area-inset-top) + env(safe-area-inset-bottom)))!important}body.timeseries-page .chart-legend{display:flex!important;align-items:center!important;gap:3px!important;position:fixed!important;left:10px!important;right:auto!important;width:min(46vw,420px)!important;bottom:calc(32px + env(safe-area-inset-bottom))!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:thin!important;z-index:16006!important}body.timeseries-page .chart-legend .legend-item{flex:0 0 auto!important;margin:0!important;padding:0 3px 0 0!important;border:0!important;border-radius:0!important;background:transparent!important;font-size:.62rem!important;white-space:nowrap!important;line-height:1.2!important;color:#e2e8f0db!important}}.timeseries-rotate-portrait{display:none}@media(max-width:900px)and (orientation:portrait){body.map-page #map-legend{width:min(150px,calc(100vw - 20px))!important}body.timeseries-page .filter-toggle,body.timeseries-page .mobile-filter-drawer,body.timeseries-page .filter-scrim{display:none!important}body.timeseries-page.filter-open{overflow:auto!important}body.timeseries-page .layout-split,body.timeseries-page #series-status,body.timeseries-page #series-chart-tooltip,body.timeseries-page .export-dialog[open]{display:none!important}body.timeseries-page .timeseries-rotate-portrait{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:8px!important;width:100%!important;min-height:calc(100dvh - (74px + env(safe-area-inset-top)))!important;margin:0!important;padding:18px max(18px,env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))!important;text-align:center!important}body.timeseries-page .rotate-landscape-icon{font-size:2rem!important;line-height:1!important;color:#38bdf8f2!important;margin:0!important}body.timeseries-page .timeseries-rotate-portrait h2{margin:0!important;font-size:1.04rem!important;letter-spacing:.03em!important;color:var(--text)!important}body.timeseries-page .timeseries-rotate-portrait p{margin:0!important;font-size:.9rem!important;color:var(--muted)!important}}@media(max-width:900px)and (orientation:portrait){body.dashboard-page .device-card .card-back,.map-mobile-card-overlay .map-card .card-back{padding-left:10px!important;padding-right:10px!important}body.dashboard-page .sparkline-grid,.map-mobile-card-overlay .map-card .sparkline-grid{grid-template-columns:1fr!important;gap:8px!important}body.dashboard-page .sparkline-item,.map-mobile-card-overlay .map-card .sparkline-item{padding:8px 9px!important}body.dashboard-page .sparkline-item .sparkline,.map-mobile-card-overlay .map-card .sparkline-item .sparkline{height:42px!important}}.dashboard-mobile-sensor-picker{display:none}@media(max-width:900px),(max-height:500px),(pointer:coarse){body.dashboard-page .mobile-filter-drawer .dashboard-mobile-sensor-picker{display:grid!important;gap:8px!important}body.dashboard-page .mobile-filter-drawer .dashboard-mobile-sensor-picker-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}body.dashboard-page .mobile-filter-drawer .dashboard-mobile-sensor-picker-actions .chip-button{min-height:34px!important;height:34px!important;font-size:.72rem!important;border-radius:9px!important;padding:0 8px!important}body.dashboard-page .mobile-filter-drawer .dashboard-mobile-sensor-list{max-height:min(36vh,240px)!important;overflow:auto!important;display:grid!important;gap:6px!important;padding:8px!important;border-radius:10px!important;border:1px solid rgba(148,163,184,.24)!important;background:#060a14bd!important}body.dashboard-page .mobile-filter-drawer .dashboard-mobile-sensor-item{display:grid!important;grid-template-columns:auto 1fr!important;gap:8px!important;align-items:flex-start!important;padding:4px 2px!important;cursor:pointer!important}body.dashboard-page .mobile-filter-drawer .dashboard-mobile-sensor-item input[type=checkbox]{margin-top:2px!important}body.dashboard-page .mobile-filter-drawer .dashboard-mobile-sensor-copy{display:grid!important;gap:2px!important;min-width:0!important}body.dashboard-page .mobile-filter-drawer .dashboard-mobile-sensor-name{font-size:.78rem!important;color:#f8fafcf5!important;line-height:1.2!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}body.dashboard-page .mobile-filter-drawer .dashboard-mobile-sensor-meta{font-size:.68rem!important;color:#94a3b8e6!important;line-height:1.15!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}body.dashboard-page .mobile-filter-drawer .dashboard-mobile-sensor-empty{margin:0!important;font-size:.76rem!important;color:#94a3b8f0!important;padding:2px!important}}@media(max-width:900px)and (orientation:portrait){body.dashboard-page .device-panel{margin-top:12px!important}}body.map-page .map-device-popup .map-card.device-card .card-inner{transform-style:preserve-3d!important;transition:transform .5s ease!important}body.map-page .map-device-popup .map-card.device-card.flipped .card-inner{transform:rotateY(180deg)!important}body.map-page .map-device-popup .map-card.device-card .card-face{backface-visibility:hidden!important}body.map-page .map-device-popup .map-card.device-card .card-back{transform:rotateY(180deg)!important}@media(max-width:900px)and (orientation:portrait){body.dashboard-page .mobile-filter-drawer{padding:calc(58px + env(safe-area-inset-top)) 10px calc(10px + env(safe-area-inset-bottom))!important}body.dashboard-page .mobile-filter-drawer .ts-controls{gap:8px!important;max-width:none!important}body.dashboard-page .mobile-filter-drawer .filter-section{gap:6px!important;padding:8px 9px!important;border-radius:10px!important}body.dashboard-page .mobile-filter-drawer .search-input,body.dashboard-page .mobile-filter-drawer .chip-button,body.dashboard-page .mobile-filter-drawer .btn{min-height:38px!important;height:38px!important;font-size:.78rem!important}body.dashboard-page .mobile-filter-drawer .dashboard-mobile-sensor-picker,body.dashboard-page .mobile-filter-drawer .dashboard-mobile-sensor-picker-actions{gap:6px!important}body.dashboard-page .mobile-filter-drawer .dashboard-mobile-sensor-list{min-height:46vh!important;max-height:calc(100dvh - (230px + env(safe-area-inset-top) + env(safe-area-inset-bottom)))!important;padding:7px!important}}@media(max-width:900px)and (pointer:coarse),(max-width:900px)and (hover:none),(max-height:500px)and (pointer:coarse),(max-height:500px)and (hover:none){body.dashboard-page .mobile-filter-drawer{inset:0!important;width:100vw!important;min-width:100vw!important;max-width:100vw!important;padding:calc(6px + env(safe-area-inset-top)) 6px calc(6px + env(safe-area-inset-bottom))!important;display:grid!important;grid-template-rows:auto 1fr!important;align-content:stretch!important;justify-items:stretch!important;overflow-y:auto!important;overflow-x:hidden!important}body.dashboard-page .mobile-filter-drawer>*{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}body.dashboard-page .mobile-filter-drawer-head{position:sticky!important;top:0!important;margin:0 0 6px!important;max-width:none!important;padding:2px 0!important;background:linear-gradient(180deg,#080e1cfc,#080e1ce0)!important;z-index:4!important}body.dashboard-page .mobile-filter-drawer .ts-controls{height:100%!important;min-height:0!important;max-width:none!important;margin:0!important;display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto 1fr!important;gap:6px!important}body.dashboard-page .mobile-filter-drawer .ts-left,body.dashboard-page .mobile-filter-drawer .ts-right{width:100%!important;min-height:0!important;max-width:none!important;display:grid!important;gap:6px!important}body.dashboard-page .mobile-filter-drawer .ts-right{grid-template-rows:1fr auto!important;align-content:stretch!important}body.dashboard-page .mobile-filter-drawer .filter-section{padding:4px 2px!important;border-radius:0!important;border:0!important;box-shadow:none!important;background:transparent!important;gap:6px!important}body.dashboard-page .mobile-filter-drawer .filter-section-search{min-height:0!important;display:grid!important;grid-template-rows:auto auto 1fr!important;align-content:stretch!important}body.dashboard-page .mobile-filter-drawer .filter-section-group{display:grid!important;grid-template-rows:auto auto!important;align-content:start!important}body.dashboard-page .mobile-filter-drawer .search-input,body.dashboard-page .mobile-filter-drawer .chip-button,body.dashboard-page .mobile-filter-drawer .btn{min-height:38px!important;height:38px!important;font-size:.78rem!important;border-radius:10px!important}body.dashboard-page .mobile-filter-drawer .dashboard-mobile-sensor-picker{min-height:0!important;display:grid!important;grid-template-rows:auto 1fr!important;gap:6px!important}body.dashboard-page .mobile-filter-drawer .dashboard-mobile-sensor-picker-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}body.dashboard-page .mobile-filter-drawer .dashboard-mobile-sensor-list{min-height:0!important;height:auto!important;max-height:none!important;width:100%!important;padding:7px!important;border-radius:10px!important;border:1px solid rgba(148,163,184,.24)!important;background:#060a14bd!important}body.dashboard-page .mobile-filter-drawer .dashboard-mobile-sensor-item{display:grid!important;grid-template-columns:18px minmax(0,1fr)!important;align-items:center!important;gap:10px!important;padding:8px 9px!important;border-radius:10px!important;border:1px solid rgba(56,189,248,.18)!important;background:#0f172a85!important}body.dashboard-page .mobile-filter-drawer .dashboard-mobile-sensor-item input[type=checkbox]{appearance:none!important;-webkit-appearance:none!important;width:18px!important;height:18px!important;margin:0!important;border-radius:5px!important;border:1px solid rgba(148,163,184,.62)!important;background:#080e1ceb!important;display:grid!important;place-items:center!important;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease!important}body.dashboard-page .mobile-filter-drawer .dashboard-mobile-sensor-item input[type=checkbox]:before{content:""!important;width:9px!important;height:9px!important;clip-path:polygon(14% 52%,0 67%,40% 100%,100% 20%,85% 6%,40% 68%)!important;background:#030c14f2!important;transform:scale(0)!important;transform-origin:center!important;transition:transform .12s ease!important}body.dashboard-page .mobile-filter-drawer .dashboard-mobile-sensor-item input[type=checkbox]:checked{background:linear-gradient(145deg,#38bdf8f5,#0ea5e9e0)!important;border-color:#38bdf8fa!important}body.dashboard-page .mobile-filter-drawer .dashboard-mobile-sensor-item input[type=checkbox]:checked:before{transform:scale(1)!important}body.dashboard-page .mobile-filter-drawer .dashboard-mobile-sensor-item input[type=checkbox]:focus-visible{outline:none!important;box-shadow:0 0 0 2px #38bdf847!important}}@media(max-width:900px)and (pointer:coarse)and (orientation:portrait),(max-width:900px)and (hover:none)and (orientation:portrait),(max-height:500px)and (pointer:coarse)and (orientation:portrait),(max-height:500px)and (hover:none)and (orientation:portrait){body.dashboard-page .mobile-filter-drawer{padding:calc(8px + env(safe-area-inset-top)) 8px calc(10px + env(safe-area-inset-bottom))!important}body.dashboard-page .mobile-filter-drawer-head{width:100%!important;max-width:100%!important;margin:0 0 10px!important;padding:0 2px!important;justify-content:space-between!important}body.dashboard-page .mobile-filter-drawer .ts-controls{width:100%!important;max-width:100%!important;margin:0!important;grid-template-columns:1fr!important;grid-template-rows:auto 1fr!important;gap:10px!important}body.dashboard-page .mobile-filter-drawer .ts-left,body.dashboard-page .mobile-filter-drawer .ts-right{width:100%!important;max-width:100%!important;margin:0!important;gap:10px!important}body.dashboard-page .mobile-filter-drawer .filter-section{display:grid!important;width:100%!important;padding:10px!important;border:1px solid rgba(56,189,248,.16)!important;border-radius:12px!important;background:#080e1cad!important;box-shadow:inset 0 0 0 1px #02061773!important;gap:8px!important}body.dashboard-page .mobile-filter-drawer .dashboard-mobile-sensor-picker,body.dashboard-page .mobile-filter-drawer .dashboard-mobile-sensor-picker-actions,body.dashboard-page .mobile-filter-drawer .dashboard-mobile-sensor-list{width:100%!important;max-width:100%!important;margin:0!important}body.dashboard-page .mobile-filter-drawer .dashboard-mobile-sensor-list{padding:8px!important}body.dashboard-page .mobile-filter-drawer .dashboard-mobile-sensor-item{width:100%!important;padding:9px 10px!important}body.dashboard-page .mobile-filter-drawer .dashboard-mobile-sensor-copy{width:100%!important;min-width:0!important}body.dashboard-page .mobile-filter-drawer .dashboard-mobile-sensor-name{font-size:.8rem!important}body.dashboard-page .mobile-filter-drawer .dashboard-mobile-sensor-meta{font-size:.7rem!important}}@media(max-width:900px)and (pointer:coarse)and (orientation:landscape),(max-width:900px)and (hover:none)and (orientation:landscape),(max-height:500px)and (pointer:coarse)and (orientation:landscape),(max-height:500px)and (hover:none)and (orientation:landscape){body.dashboard-page .mobile-filter-drawer{padding:calc(6px + env(safe-area-inset-top)) 6px calc(6px + env(safe-area-inset-bottom))!important}body.dashboard-page .mobile-filter-drawer .ts-controls{grid-template-columns:minmax(170px,34%) minmax(0,1fr)!important;grid-template-rows:1fr!important;gap:8px!important}body.dashboard-page .mobile-filter-drawer .ts-left{align-content:start!important}body.dashboard-page .mobile-filter-drawer .ts-right{grid-template-rows:1fr auto!important;min-height:0!important}body.dashboard-page .mobile-filter-drawer .filter-section-search,body.dashboard-page .mobile-filter-drawer .dashboard-mobile-sensor-list{min-height:0!important}}@media(max-width:900px)and (orientation:portrait){body.dashboard-page section.controls.mobile-filter-drawer{position:fixed!important;inset:0!important;width:100vw!important;min-width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;padding:calc(58px + env(safe-area-inset-top)) 0 calc(10px + env(safe-area-inset-bottom))!important;border-radius:0!important;border:0!important;box-sizing:border-box!important}body.dashboard-page section.controls.mobile-filter-drawer .mobile-filter-drawer-head,body.dashboard-page section.controls.mobile-filter-drawer .ts-controls,body.dashboard-page section.controls.mobile-filter-drawer .ts-left,body.dashboard-page section.controls.mobile-filter-drawer .ts-right,body.dashboard-page section.controls.mobile-filter-drawer .filter-section,body.dashboard-page section.controls.mobile-filter-drawer .dashboard-mobile-sensor-picker,body.dashboard-page section.controls.mobile-filter-drawer .dashboard-mobile-sensor-picker-actions,body.dashboard-page section.controls.mobile-filter-drawer .dashboard-mobile-sensor-list,body.dashboard-page section.controls.mobile-filter-drawer .dashboard-mobile-sensor-item{width:100%!important;min-width:0!important;max-width:none!important;margin-left:0!important;margin-right:0!important;justify-self:stretch!important;box-sizing:border-box!important}body.dashboard-page section.controls.mobile-filter-drawer .mobile-filter-drawer-head,body.dashboard-page section.controls.mobile-filter-drawer .ts-controls{padding-left:8px!important;padding-right:8px!important}body.dashboard-page section.controls.mobile-filter-drawer .ts-controls{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto 1fr!important;gap:10px!important;align-content:start!important}body.dashboard-page section.controls.mobile-filter-drawer .filter-section{display:grid!important;align-content:start!important}}body.dashboard-page #dashboard-filter-drawer.dashboard-filter-drawer{position:relative!important;inset:auto!important;width:100%!important;max-width:none!important;min-width:0!important;height:auto!important;max-height:none!important;margin:0 0 18px!important;padding:14px 18px!important;border-radius:16px!important;border:1px solid rgba(148,163,184,.2)!important;background:linear-gradient(135deg,#22d3ee1f,#070c17e6)!important;box-shadow:var(--shadow-soft)!important;transform:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;overflow:hidden!important;display:block!important;z-index:auto!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-layout{display:grid!important;grid-template-columns:minmax(220px,.9fr) minmax(280px,1.4fr) minmax(150px,.7fr)!important;gap:10px!important;width:100%!important;max-width:none!important;margin:0!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-block{display:grid!important;gap:8px!important;padding:6px 0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-label{margin:0!important;color:#bac9dceb!important;font-size:.72rem!important;letter-spacing:.1em!important;text-transform:uppercase!important;font-weight:700!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-search-input,body.dashboard-page #dashboard-filter-drawer .chip-button,body.dashboard-page #dashboard-filter-drawer .btn,body.dashboard-page #dashboard-filter-drawer .group-filter-select{min-height:38px!important;height:38px!important;border-radius:10px!important;font-size:.8rem!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-picker,body.dashboard-page #dashboard-filter-drawer .dashboard-filter-block-sensors{display:none}@media(min-width:901px){body.dashboard-page #dashboard-filter-drawer .dashboard-filter-layout{display:block!important;width:100%!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-left{display:flex!important;align-items:flex-end!important;gap:10px!important;width:100%!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-right{display:none!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-block{display:flex!important;align-items:center!important;gap:10px!important;padding:0!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-block-type{margin-right:auto!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-block-search .dashboard-filter-search-input{min-width:240px!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-label{display:none!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-search-input{min-width:240px!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-search-input,body.dashboard-page #dashboard-filter-drawer .chip-button,body.dashboard-page #dashboard-filter-drawer .btn,body.dashboard-page #dashboard-filter-drawer .group-filter-select{min-height:40px!important;height:40px!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-block-sensors,body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-picker{display:none!important}}@media(max-width:900px),(max-height:500px){body.dashboard-page #dashboard-filter-drawer.dashboard-filter-drawer:before{content:none!important}body.dashboard-page #dashboard-filter-drawer.dashboard-filter-drawer{position:fixed!important;inset:0!important;width:100vw!important;max-width:100vw!important;min-width:100vw!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;padding:calc(6px + env(safe-area-inset-top)) 8px calc(10px + env(safe-area-inset-bottom))!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:linear-gradient(180deg,#070c18fc,#060a14fc)!important;transform:translate(-100%)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;overflow:hidden!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;align-content:stretch!important;gap:8px!important;z-index:13220!important}body.dashboard-page #dashboard-filter-drawer.dashboard-filter-drawer.open{transform:translate(0)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-head{display:flex!important;align-items:flex-start!important;justify-content:flex-end!important;gap:0!important;position:relative!important;height:0!important;padding:0!important;margin:0!important;z-index:50070!important;pointer-events:none!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-close{position:absolute!important;top:0!important;right:2px!important;width:42px!important;min-width:42px!important;height:42px!important;min-height:42px!important;display:inline-grid!important;place-items:center!important;border-radius:999px!important;border:1px solid rgba(56,189,248,.35)!important;background:#080e1cf2!important;box-shadow:0 10px 22px #02061780!important;color:#eff6fff2!important;padding:0!important;z-index:50060!important;pointer-events:auto!important;touch-action:manipulation!important;cursor:pointer!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-close-icon{width:18px!important;height:18px!important;display:block!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-close-icon path{fill:none!important;stroke:currentColor!important;stroke-width:2.4!important;stroke-linecap:round!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-layout{width:100%!important;max-width:none!important;margin:0!important;min-height:0!important;height:100%!important;display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto minmax(0,1fr)!important;gap:8px!important;align-content:stretch!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-left,body.dashboard-page #dashboard-filter-drawer .dashboard-filter-right{width:100%!important;min-width:0!important;margin:0!important;display:grid!important;gap:8px!important;align-content:start!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-left{grid-template-rows:auto auto auto!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-right{min-height:0!important;grid-template-rows:minmax(0,1fr)!important;align-content:stretch!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-block{width:100%!important;max-width:none!important;margin:0!important;padding:2px 0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;box-sizing:border-box!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-block-search{min-height:0!important;display:grid!important;grid-template-rows:auto auto!important;gap:8px!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-block-group{display:grid!important;grid-template-columns:1fr!important;align-content:start!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-block-sensors{display:grid!important;min-height:0!important;grid-template-rows:auto minmax(0,1fr)!important;align-content:stretch!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-search-input,body.dashboard-page #dashboard-filter-drawer .chip-button,body.dashboard-page #dashboard-filter-drawer .btn,body.dashboard-page #dashboard-filter-drawer .group-filter-select{min-height:40px!important;height:40px!important;border-radius:10px!important;font-size:.82rem!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-picker{display:grid!important;grid-template-rows:minmax(0,1fr) auto!important;min-height:0!important;gap:8px!important;width:100%!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-picker-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;width:100%!important;order:2!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-list{width:100%!important;min-height:0!important;height:auto!important;max-height:none!important;overflow:auto!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-sizing:border-box!important;order:1!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-item{width:100%!important;display:grid!important;grid-template-columns:20px minmax(0,1fr)!important;align-items:center!important;gap:10px!important;padding:10px 2px!important;margin:0!important;border:0!important;border-bottom:1px solid rgba(56,189,248,.18)!important;border-radius:0!important;background:transparent!important;box-sizing:border-box!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-item:last-child{border-bottom:0!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-item input[type=checkbox]{appearance:none!important;-webkit-appearance:none!important;width:18px!important;height:18px!important;margin:0!important;border-radius:5px!important;border:1px solid rgba(148,163,184,.7)!important;background:#070c18eb!important;display:inline-grid!important;place-items:center!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-item input[type=checkbox]:before{content:""!important;width:9px!important;height:9px!important;clip-path:polygon(14% 52%,0 67%,40% 100%,100% 20%,85% 6%,40% 68%)!important;background:#040c16fa!important;transform:scale(0)!important;transition:transform .12s ease!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-item input[type=checkbox]:checked{background:linear-gradient(145deg,#38bdf8fa,#0ea5e9e6)!important;border-color:#38bdf8!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-item input[type=checkbox]:checked:before{transform:scale(1)!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-copy{min-width:0!important;display:grid!important;gap:2px!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-name{font-size:.8rem!important;line-height:1.2!important;color:#f7fbfff7!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-meta,body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-empty{font-size:.7rem!important;line-height:1.15!important;color:#9daec5eb!important}}@media(max-width:900px)and (orientation:landscape),(max-height:500px)and (orientation:landscape){body.dashboard-page #dashboard-filter-drawer .dashboard-filter-layout{grid-template-columns:minmax(220px,42%) minmax(0,58%)!important;grid-template-rows:minmax(0,1fr)!important;gap:8px!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-left{grid-column:1!important;grid-row:1!important;min-height:0!important;align-content:start!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-right{grid-column:2!important;grid-row:1!important;min-height:0!important;align-content:stretch!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-right .dashboard-filter-block-sensors{min-height:0!important;align-content:stretch!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-right .dashboard-mobile-sensor-picker{min-height:0!important;height:100%!important;grid-template-rows:minmax(0,1fr) auto!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-right .dashboard-mobile-sensor-list{min-height:0!important}}@media(max-width:900px),(max-height:500px){body.dashboard-page .filter-scrim{z-index:17040!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}body.dashboard-page #dashboard-filter-drawer.dashboard-filter-drawer{z-index:17050!important;display:grid!important}body.dashboard-page #dashboard-filter-drawer.dashboard-filter-drawer.open{display:grid!important;transform:translate(0)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}body.dashboard-page.filter-open .menu-toggle,body.dashboard-page.filter-open .filter-toggle{display:none!important}body.dashboard-page.filter-open .app-header{pointer-events:none!important}body.dashboard-page.filter-open #dashboard-filter-drawer .dashboard-filter-close{pointer-events:auto!important}}@media(max-width:900px)and (orientation:portrait){body.dashboard-page #dashboard-filter-drawer.dashboard-filter-drawer{padding-left:16px!important;padding-right:16px!important;padding-bottom:calc(14px + env(safe-area-inset-bottom))!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-head,body.dashboard-page #dashboard-filter-drawer .dashboard-filter-layout{padding-left:4px!important;padding-right:4px!important}}@media(max-width:900px)and (orientation:landscape),(max-height:500px)and (orientation:landscape){body.dashboard-page #dashboard-filter-drawer .dashboard-filter-close{right:4px!important}}@media(min-width:901px){body.timeseries-page .controls{border:1px solid rgba(148,163,184,.2)!important;background:linear-gradient(135deg,#22d3ee1f,#070c17e6)!important;box-shadow:var(--shadow-soft)!important}body.timeseries-page .controls .chip-button{border-color:#94a3b859!important;background:#080c1880!important;color:#e2e8f0d9!important}body.timeseries-page .controls .chip-button:hover{border-color:#22d3ee80!important;color:#f8fafc!important;background:#22d3ee1a!important}body.timeseries-page .controls .chip-button.active,body.timeseries-page .controls .chip-button[aria-pressed=true]{background:#22d3eef2!important;color:#04101c!important;border-color:transparent!important;box-shadow:none!important}body.timeseries-page .controls:before{display:none!important}}@media(min-width:901px){body.dashboard-page #dashboard-filter-drawer.controls .chip-group.device-filter,body.timeseries-page .controls #device-type-filter{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}body.dashboard-page #dashboard-filter-drawer.controls .chip-group.device-filter .chip-button,body.timeseries-page .controls #device-type-filter .chip-button{width:100%!important}body.dashboard-page #dashboard-filter-drawer.controls .chip-button,body.timeseries-page .controls .chip-button{min-height:40px!important;height:40px!important;padding:0 12px!important;border-radius:10px!important;font-size:.8rem!important;line-height:1!important;text-transform:uppercase!important;letter-spacing:.08em!important;border-color:#94a3b859!important;background:#080c1880!important;color:#e2e8f0d9!important}body.dashboard-page #dashboard-filter-drawer.controls .chip-button:hover,body.timeseries-page .controls .chip-button:hover{border-color:#22d3ee80!important;color:#f8fafc!important;background:#22d3ee1a!important}body.dashboard-page #dashboard-filter-drawer.controls .chip-button.active,body.dashboard-page #dashboard-filter-drawer.controls .chip-button[aria-pressed=true],body.timeseries-page .controls .chip-button.active,body.timeseries-page .controls .chip-button[aria-pressed=true]{background:#22d3eef2!important;color:#04101c!important;border-color:transparent!important;box-shadow:none!important}}@media(min-width:901px){body.dashboard-page #dashboard-filter-drawer.dashboard-filter-drawer{position:relative!important;inset:auto!important;transform:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;width:100%!important;min-width:0!important;max-width:none!important;height:auto!important;margin:0 0 18px!important;padding:14px 18px!important;border-radius:16px!important;border:1px solid rgba(148,163,184,.2)!important;background:linear-gradient(135deg,#22d3ee1f,#070c17e6)!important;box-shadow:var(--shadow-soft)!important;overflow:hidden!important;z-index:auto!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-head,body.dashboard-page #dashboard-filter-drawer .dashboard-filter-right,body.dashboard-page #dashboard-filter-drawer .dashboard-filter-block-sensors,body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-picker{display:none!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-layout{display:flex!important;align-items:flex-end!important;gap:12px!important;width:100%!important;min-width:0!important;margin:0!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-left{display:flex!important;align-items:flex-end!important;gap:10px!important;flex:1 1 auto!important;min-width:0!important;width:100%!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-block{display:flex!important;align-items:center!important;gap:10px!important;padding:0!important;min-width:0!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-block-type{flex:0 0 auto!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-block-search{flex:1 1 auto!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-block-group{flex:0 0 200px!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-label{display:none!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-search-input{width:100%!important;min-width:260px!important;max-width:none!important}body.dashboard-page #dashboard-filter-drawer .group-filter-select{width:100%!important}}@media(max-width:900px),(max-height:500px){body.dashboard-page #dashboard-filter-drawer .dashboard-filter-layout{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto minmax(0,1fr)!important;gap:8px!important;width:100%!important;min-width:0!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-left{display:grid!important;grid-template-rows:auto auto auto!important;gap:8px!important;width:100%!important;min-width:0!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-right{display:grid!important;grid-template-rows:minmax(0,1fr)!important;gap:8px!important;width:100%!important;min-width:0!important;min-height:0!important}}@media(max-width:900px)and (orientation:landscape),(max-height:500px)and (orientation:landscape){body.dashboard-page #dashboard-filter-drawer .dashboard-filter-layout{grid-template-columns:minmax(220px,42%) minmax(0,58%)!important;grid-template-rows:minmax(0,1fr)!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-left{grid-column:1!important;grid-row:1!important;align-content:start!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-right{grid-column:2!important;grid-row:1!important;align-content:stretch!important}}body.dashboard-page #dashboard-filter-drawer.dashboard-filter-drawer{position:relative!important;inset:auto!important;transform:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;width:100%!important;min-width:0!important;max-width:none!important;height:auto!important;margin:0 0 18px!important;padding:14px 18px!important;border-radius:16px!important;border:1px solid rgba(148,163,184,.2)!important;background:linear-gradient(135deg,#22d3ee1f,#070c17e6)!important;box-shadow:var(--shadow-soft)!important;overflow:hidden!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-head{display:none!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-layout{display:flex!important;align-items:flex-end!important;gap:12px!important;width:100%!important;min-width:0!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-primary{display:flex!important;align-items:flex-end!important;gap:10px!important;flex:1 1 auto!important;min-width:0!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-section{display:grid!important;gap:8px!important;min-width:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-type{flex:0 0 auto!important;margin-right:auto!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-sort{flex:0 0 180px!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-search{flex:0 0 320px!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-group{flex:0 0 210px!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-sensors{display:none!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-label{margin:0!important;font-size:.72rem!important;letter-spacing:.1em!important;text-transform:uppercase!important;color:#bac9dceb!important;font-weight:700!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-label[for=device-search],body.dashboard-page #dashboard-filter-drawer .dashboard-filter-label[for=group-filter],body.dashboard-page #dashboard-filter-drawer .dashboard-filter-type>.dashboard-filter-label{display:none!important}body.dashboard-page #dashboard-filter-drawer .dashboard-type-chip-group{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-search-input{width:100%!important;min-width:260px!important}body.dashboard-page #dashboard-filter-drawer .group-filter-select{width:100%!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-search-input,body.dashboard-page #dashboard-filter-drawer .group-filter-select,body.dashboard-page #dashboard-filter-drawer .chip-button,body.dashboard-page #dashboard-filter-drawer .btn{min-height:40px!important;height:40px!important;border-radius:10px!important}@media(max-width:900px),(max-height:500px){body.dashboard-page #dashboard-filter-drawer.dashboard-filter-drawer{position:fixed!important;inset:0!important;width:100vw!important;min-width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;padding:calc(8px + env(safe-area-inset-top)) 14px calc(12px + env(safe-area-inset-bottom))!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:linear-gradient(180deg,#070c18fc,#060a14fc)!important;transform:translate(-100%)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;z-index:17050!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;gap:10px!important}body.dashboard-page #dashboard-filter-drawer.dashboard-filter-drawer.open{transform:translate(0)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-head{display:block!important;position:relative!important;width:100%!important;min-height:42px!important;padding-right:50px!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-close{position:absolute!important;top:0!important;right:0!important;width:42px!important;min-width:42px!important;height:42px!important;min-height:42px!important;display:inline-grid!important;place-items:center!important;border-radius:999px!important;border:1px solid rgba(56,189,248,.35)!important;background:#080e1cf2!important;color:#eff6fff2!important;box-shadow:0 10px 22px #02061780!important;padding:0!important;cursor:pointer!important;z-index:3!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-close-icon{width:18px!important;height:18px!important;display:block!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-close-icon path{fill:none!important;stroke:currentColor!important;stroke-width:2.4!important;stroke-linecap:round!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-layout{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto minmax(0,1fr)!important;gap:10px!important;min-height:0!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-primary{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;min-height:0!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-section{width:100%!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-label{display:block!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-search-input,body.dashboard-page #dashboard-filter-drawer .group-filter-select,body.dashboard-page #dashboard-filter-drawer .chip-button,body.dashboard-page #dashboard-filter-drawer .btn{min-height:40px!important;height:40px!important;font-size:.82rem!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-sensors{display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;min-height:0!important;gap:8px!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-picker{display:grid!important;grid-template-rows:minmax(0,1fr) auto!important;min-height:0!important;gap:8px!important;width:100%!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-list-wrap{min-height:0!important;overflow:hidden!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-list{width:100%!important;min-height:0!important;height:auto!important;max-height:none!important;overflow:auto!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-item{width:100%!important;display:grid!important;grid-template-columns:20px minmax(0,1fr)!important;align-items:center!important;gap:10px!important;padding:10px 2px!important;margin:0!important;border:0!important;border-bottom:1px solid rgba(56,189,248,.18)!important;border-radius:0!important;background:transparent!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-item:last-child{border-bottom:0!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-item input[type=checkbox]{appearance:none!important;-webkit-appearance:none!important;width:18px!important;height:18px!important;margin:0!important;border-radius:5px!important;border:1px solid rgba(148,163,184,.7)!important;background:#070c18eb!important;display:inline-grid!important;place-items:center!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-item input[type=checkbox]:before{content:""!important;width:9px!important;height:9px!important;clip-path:polygon(14% 52%,0 67%,40% 100%,100% 20%,85% 6%,40% 68%)!important;background:#040c16fa!important;transform:scale(0)!important;transition:transform .12s ease!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-item input[type=checkbox]:checked{background:linear-gradient(145deg,#38bdf8fa,#0ea5e9e6)!important;border-color:#38bdf8!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-item input[type=checkbox]:checked:before{transform:scale(1)!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-copy{min-width:0!important;display:grid!important;gap:2px!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-name{font-size:.8rem!important;line-height:1.2!important;color:#f7fbfff7!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-meta,body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-empty{font-size:.7rem!important;line-height:1.15!important;color:#9daec5eb!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-picker-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;width:100%!important}}@media(max-width:900px)and (orientation:landscape),(max-height:500px)and (orientation:landscape){body.dashboard-page #dashboard-filter-drawer .dashboard-filter-layout{grid-template-columns:minmax(220px,44%) minmax(0,56%)!important;grid-template-rows:minmax(0,1fr)!important;align-items:stretch!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-primary{grid-column:1!important;grid-row:1!important;align-content:start!important;overflow:auto!important;padding-right:4px!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-sensors{grid-column:2!important;grid-row:1!important;min-height:0!important}}@media(max-width:900px),(max-height:500px){body.timeseries-page .mobile-filter-drawer-head{position:sticky!important;top:0!important;min-height:42px!important;padding-right:50px!important;z-index:3!important}body.timeseries-page .mobile-filter-drawer-head .drawer-close-icon{position:absolute!important;top:0!important;right:0!important;width:42px!important;min-width:42px!important;height:42px!important;min-height:42px!important;display:inline-grid!important;place-items:center!important;border-radius:999px!important;border:1px solid rgba(56,189,248,.35)!important;background:#080e1cf2!important;color:#eff6fff2!important;box-shadow:0 10px 22px #02061780!important;padding:0!important;line-height:1!important;cursor:pointer!important}body.timeseries-page .mobile-filter-drawer-head .drawer-close-svg{width:18px!important;height:18px!important;display:block!important}body.timeseries-page .mobile-filter-drawer-head .drawer-close-svg path{fill:none!important;stroke:currentColor!important;stroke-width:2.4!important;stroke-linecap:round!important}}@media(min-width:901px){body.timeseries-page .chart-wrap{min-height:min(68vh,760px)!important}body.timeseries-page #series-chart.uplot-container{min-height:min(60vh,680px)!important}}@media(max-width:900px)and (orientation:landscape),(max-height:500px)and (orientation:landscape){body.dashboard-page #dashboard-filter-drawer.dashboard-filter-drawer{padding-top:calc(2px + env(safe-area-inset-top))!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-head{height:0!important;min-height:0!important;padding:0 50px 0 0!important;overflow:visible!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-close{top:2px!important}}@media(max-width:900px),(max-height:500px){body.timeseries-page .mobile-filter-drawer .ts-controls{padding-bottom:calc(16px + env(safe-area-inset-bottom))!important}body.timeseries-page .mobile-filter-drawer .timeseries-select-actions{display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important}body.timeseries-page .mobile-filter-drawer .timeseries-select-actions .chip-button{width:auto!important;min-width:96px!important;min-height:36px!important;height:36px!important;padding:0 12px!important;border-radius:999px!important;flex:0 0 auto!important}body.timeseries-page .mobile-filter-drawer .timeseries-select-actions .chip-button[data-export-series]{margin-left:auto!important;min-width:116px!important}body.timeseries-page .mobile-filter-drawer .filter-section-sensors{padding-bottom:10px!important}}@media(min-width:901px){body.timeseries-page .chart-wrap{min-height:min(74vh,860px)!important}body.timeseries-page #series-chart.uplot-container{min-height:min(66vh,760px)!important}}@media(max-width:900px),(max-height:500px){body.timeseries-page .mobile-filter-drawer{padding-top:calc(12px + env(safe-area-inset-top))!important;padding-bottom:calc(24px + env(safe-area-inset-bottom))!important;box-sizing:border-box!important}body.timeseries-page .mobile-filter-drawer-head{position:sticky!important;top:0!important;min-height:42px!important;margin-bottom:8px!important;z-index:5!important}body.timeseries-page .mobile-filter-drawer .ts-controls{min-height:0!important;height:calc(100dvh - (12px + env(safe-area-inset-top)) - (24px + env(safe-area-inset-bottom)) - 50px)!important;overflow:auto!important;padding-bottom:calc(20px + env(safe-area-inset-bottom))!important}body.timeseries-page .mobile-filter-drawer .filter-section-sensors{padding-bottom:14px!important}}@media(max-height:500px)and (orientation:landscape){body.timeseries-page .mobile-filter-drawer{padding-top:calc(10px + env(safe-area-inset-top))!important;padding-bottom:calc(26px + env(safe-area-inset-bottom))!important}body.timeseries-page .mobile-filter-drawer .ts-controls{height:calc(100dvh - (10px + env(safe-area-inset-top)) - (26px + env(safe-area-inset-bottom)) - 50px)!important}}@media(max-height:500px)and (orientation:landscape){body.timeseries-page .chart-header{top:calc(8px + env(safe-area-inset-top))!important}body.timeseries-page .chart-wrap{padding-top:calc(52px + env(safe-area-inset-top))!important;padding-bottom:calc(12px + env(safe-area-inset-bottom))!important}body.timeseries-page #series-chart.uplot-container{height:calc(100% - (52px + env(safe-area-inset-top)) - (12px + env(safe-area-inset-bottom)))!important;min-height:calc(100% - (52px + env(safe-area-inset-top)) - (12px + env(safe-area-inset-bottom)))!important}}@media(min-width:901px){body.timeseries-page .layout-split{grid-template-columns:320px minmax(0,1fr)!important;align-items:stretch!important;gap:18px!important}body.timeseries-page .layout-split>.panel.tight{display:block!important}body.timeseries-page .chart-wrap{position:relative!important;display:grid!important;grid-template-rows:auto auto minmax(0,1fr)!important;height:auto!important;min-height:620px!important;padding:16px!important;border-radius:16px!important;overflow:hidden!important}body.timeseries-page .chart-header{position:static!important;inset:auto!important;transform:none!important;display:flex!important;align-items:center!important;justify-content:space-between!important;flex-wrap:wrap!important;gap:12px!important;margin:0 0 8px!important;padding:0!important}body.timeseries-page .chart-title-block,body.timeseries-page .chart-range,body.timeseries-page .chart-legend{display:flex!important}body.timeseries-page #series-chart.uplot-container{height:100%!important;min-height:460px!important;max-height:none!important}body.timeseries-page .chart-wrap canvas{max-height:none!important}}@media(max-height:500px)and (orientation:landscape){body.timeseries-page .chart-header{top:calc(4px + env(safe-area-inset-top))!important}body.timeseries-page .chart-wrap{padding-top:calc(42px + env(safe-area-inset-top))!important;padding-bottom:calc(104px + env(safe-area-inset-bottom))!important}body.timeseries-page #series-chart.uplot-container{height:calc(100% - (42px + env(safe-area-inset-top)) - (104px + env(safe-area-inset-bottom)))!important;min-height:calc(100% - (42px + env(safe-area-inset-top)) - (104px + env(safe-area-inset-bottom)))!important;max-height:none!important}body.timeseries-page .chart-legend{bottom:calc(38px + env(safe-area-inset-bottom))!important;z-index:16008!important}}@media(max-width:900px)and (pointer:coarse),(max-width:900px)and (hover:none),(max-height:500px)and (pointer:coarse),(max-height:500px)and (hover:none){body.timeseries-page .mobile-filter-drawer .ts-controls{display:grid!important;grid-template-columns:minmax(220px,42%) minmax(0,58%)!important;grid-template-areas:"type sensors" "search sensors" "actions sensors"!important;gap:10px!important;align-items:stretch!important;min-height:0!important}body.timeseries-page .mobile-filter-drawer .ts-left,body.timeseries-page .mobile-filter-drawer .ts-right{display:contents!important}body.timeseries-page .mobile-filter-drawer .filter-section-type{grid-area:type!important;align-self:start!important}body.timeseries-page .mobile-filter-drawer .filter-section-search{grid-area:search!important;align-self:start!important}body.timeseries-page .mobile-filter-drawer .filter-section-actions{grid-area:actions!important;align-self:end!important}body.timeseries-page .mobile-filter-drawer .filter-section-sensors{grid-area:sensors!important;min-height:0!important;height:100%!important;display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;gap:8px!important}body.timeseries-page .mobile-filter-drawer .filter-section-search .timeseries-search-controls{display:grid!important;gap:8px!important;grid-template-columns:1fr!important}body.timeseries-page .mobile-filter-drawer .filter-section-search .search-input,body.timeseries-page .mobile-filter-drawer .filter-section-search .group-filter-select{width:100%!important}body.timeseries-page .mobile-filter-drawer .drawer-sensor-dropdown{min-height:0!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important}body.timeseries-page .mobile-filter-drawer .drawer-sensor-checklist{max-height:none!important;min-height:0!important;height:100%!important}body.timeseries-page .mobile-filter-drawer .timeseries-select-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}body.timeseries-page .mobile-filter-drawer .timeseries-select-actions .chip-button{width:100%!important;min-width:0!important}}@media(min-width:901px){body.dashboard-page #dashboard-filter-drawer.dashboard-filter-drawer{margin:0 0 18px!important;padding:14px 18px!important;border:1px solid rgba(148,163,184,.2)!important;border-radius:16px!important;background:linear-gradient(135deg,#22d3ee1f,#070c17e6)!important;box-shadow:var(--shadow-soft)!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-head,body.dashboard-page #dashboard-filter-drawer .dashboard-filter-sensors{display:none!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-layout{display:flex!important;align-items:flex-end!important;gap:12px!important;width:100%!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-primary{display:flex!important;align-items:flex-end!important;gap:10px!important;width:100%!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-section{display:grid!important;gap:8px!important;min-width:0!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-label{display:none!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-type{flex:0 0 auto!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-search{flex:1 1 auto!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-group{flex:0 0 220px!important}body.dashboard-page #dashboard-filter-drawer .dashboard-type-chip-group{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}body.dashboard-page #dashboard-filter-drawer .chip-button,body.dashboard-page #dashboard-filter-drawer .dashboard-filter-search-input,body.dashboard-page #dashboard-filter-drawer .group-filter-select,body.dashboard-page #dashboard-filter-drawer #dashboard-group-btn{min-height:40px!important;height:40px!important;border-radius:10px!important;font-size:.8rem!important;line-height:1!important}body.dashboard-page #dashboard-filter-drawer .chip-button{padding:0 12px!important;text-transform:uppercase!important;letter-spacing:.08em!important;border-color:#94a3b859!important;background:#080c1880!important;color:#e2e8f0d9!important}body.dashboard-page #dashboard-filter-drawer .chip-button:hover{border-color:#22d3ee80!important;color:#f8fafc!important;background:#22d3ee1a!important}body.dashboard-page #dashboard-filter-drawer .chip-button.active,body.dashboard-page #dashboard-filter-drawer .chip-button[aria-pressed=true]{background:#22d3eef2!important;color:#04101c!important;border-color:transparent!important;box-shadow:none!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-search-input{width:100%!important;min-width:260px!important}body.dashboard-page #dashboard-filter-drawer .group-filter-select,body.dashboard-page #dashboard-filter-drawer #dashboard-group-btn{width:100%!important}}@media(max-width:900px),(max-height:500px){body.timeseries-page .mobile-filter-drawer{position:fixed!important;inset:0!important;width:100vw!important;min-width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;padding:calc(8px + env(safe-area-inset-top)) 12px calc(10px + env(safe-area-inset-bottom))!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:linear-gradient(180deg,#070c18fe,#060a14fe)!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;gap:8px!important;overflow:hidden!important;z-index:17060!important}body.timeseries-page .mobile-filter-drawer:before{display:none!important}body.timeseries-page .mobile-filter-drawer-head{position:relative!important;top:auto!important;min-height:42px!important;margin:0!important;padding:0 48px 0 0!important;z-index:6!important}body.timeseries-page .mobile-filter-drawer-head .drawer-close-icon{position:absolute!important;top:0!important;right:0!important;width:42px!important;min-width:42px!important;height:42px!important;min-height:42px!important;margin:0!important;display:inline-grid!important;place-items:center!important;border-radius:999px!important;border:1px solid rgba(56,189,248,.35)!important;background:#080e1cf2!important;box-shadow:0 10px 22px #02061780!important}body.timeseries-page .mobile-filter-drawer .ts-controls{width:100%!important;min-width:0!important;min-height:0!important;height:100%!important;display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto auto minmax(0,1fr)!important;grid-template-areas:"type" "search" "sensors"!important;gap:10px!important;overflow:hidden!important;padding:0!important}body.timeseries-page .mobile-filter-drawer .ts-left,body.timeseries-page .mobile-filter-drawer .ts-right{display:contents!important}body.timeseries-page .mobile-filter-drawer .filter-section{width:100%!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}body.timeseries-page .mobile-filter-drawer .filter-section-type{grid-area:type!important}body.timeseries-page .mobile-filter-drawer .filter-section-search{grid-area:search!important}body.timeseries-page .mobile-filter-drawer .filter-section-sensors{grid-area:sensors!important;min-height:0!important;height:100%!important;display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;gap:8px!important;padding-bottom:calc(6px + env(safe-area-inset-bottom))!important}body.timeseries-page .mobile-filter-drawer .filter-label{display:none!important}body.timeseries-page .mobile-filter-drawer .chip-group.device-filter{width:100%!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}body.timeseries-page .mobile-filter-drawer .timeseries-search-controls{width:100%!important;display:grid!important;grid-template-columns:1fr!important;gap:8px!important}body.timeseries-page .mobile-filter-drawer .search-input,body.timeseries-page .mobile-filter-drawer .group-filter-select,body.timeseries-page .mobile-filter-drawer .chip-button,body.timeseries-page .mobile-filter-drawer .btn{width:100%!important;min-height:42px!important;height:42px!important;border-radius:12px!important;font-size:.82rem!important}body.timeseries-page .mobile-filter-drawer .drawer-sensor-dropdown{width:100%!important;min-height:0!important;height:100%!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important}body.timeseries-page .mobile-filter-drawer .drawer-sensor-summary{min-height:42px!important;border-radius:12px!important}body.timeseries-page .mobile-filter-drawer .drawer-sensor-checklist{margin-top:8px!important;min-height:0!important;max-height:none!important;height:100%!important;overflow:auto!important;border-radius:12px!important}body.timeseries-page .mobile-filter-drawer .timeseries-select-actions{width:100%!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}body.timeseries-page .mobile-filter-drawer .timeseries-select-actions .chip-button{min-height:40px!important;height:40px!important;border-radius:10px!important;border-color:#94a3b859!important;background:#0f172ad1!important;color:#f1f5f9f2!important;text-transform:uppercase!important;letter-spacing:.07em!important;font-size:.72rem!important;padding:0 8px!important}body.timeseries-page .mobile-filter-drawer .timeseries-select-actions .chip-button.active,body.timeseries-page .mobile-filter-drawer .timeseries-select-actions .chip-button[aria-pressed=true]{background:#22d3eef2!important;color:#04101c!important;border-color:transparent!important}}@media(max-width:900px)and (orientation:landscape),(max-height:500px)and (orientation:landscape){body.timeseries-page .mobile-filter-drawer{padding-left:10px!important;padding-right:10px!important}body.timeseries-page .mobile-filter-drawer .ts-controls{grid-template-columns:minmax(220px,42%) minmax(0,58%)!important;grid-template-rows:minmax(0,1fr)!important;grid-template-areas:"type sensors" "search sensors"!important;align-items:stretch!important}body.timeseries-page .mobile-filter-drawer .filter-section-sensors{padding-bottom:calc(2px + env(safe-area-inset-bottom))!important}}body .header-actions #login-btn,body .header-actions #user-menu{display:none!important;visibility:hidden!important;pointer-events:none!important}body[data-auth-ui=guest] .header-actions #login-btn,body[data-auth-ui=user] .header-actions #user-menu{display:inline-flex!important;visibility:visible!important;pointer-events:auto!important}body .header-actions #admin-link,body .header-actions #admin-self-link{display:none!important;visibility:hidden!important;pointer-events:none!important}body.admin-allowed .header-actions #admin-link,body.admin-allowed .header-actions #admin-self-link{display:inline-flex!important;visibility:visible!important;pointer-events:auto!important}@media(max-width:900px),(max-height:500px){body.timeseries-page section.controls.mobile-filter-drawer{position:fixed!important;inset:0!important;width:100vw!important;min-width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;padding:calc(8px + env(safe-area-inset-top)) 14px calc(12px + env(safe-area-inset-bottom))!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:linear-gradient(180deg,#070c18fc,#060a14fc)!important;transform:translate(-100%)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;z-index:17060!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;gap:10px!important;overflow:hidden!important}body.timeseries-page section.controls.mobile-filter-drawer.open{transform:translate(0)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}body.timeseries-page section.controls.mobile-filter-drawer:before{display:none!important}body.timeseries-page section.controls.mobile-filter-drawer .mobile-filter-drawer-head{display:block!important;position:relative!important;min-height:42px!important;margin:0!important;padding:0 50px 0 0!important;width:100%!important;z-index:5!important}body.timeseries-page section.controls.mobile-filter-drawer .mobile-filter-drawer-head .drawer-close-icon{position:absolute!important;top:0!important;right:0!important;left:auto!important;width:42px!important;min-width:42px!important;height:42px!important;min-height:42px!important;margin:0!important;display:inline-grid!important;place-items:center!important;border-radius:999px!important;border:1px solid rgba(56,189,248,.35)!important;background:#080e1cf2!important;color:#eff6fff2!important;box-shadow:0 10px 22px #02061780!important;padding:0!important;line-height:1!important;z-index:6!important}body.timeseries-page section.controls.mobile-filter-drawer .mobile-filter-drawer-head .drawer-close-svg{width:18px!important;height:18px!important;display:block!important}body.timeseries-page section.controls.mobile-filter-drawer .mobile-filter-drawer-head .drawer-close-svg path{fill:none!important;stroke:currentColor!important;stroke-width:2.4!important;stroke-linecap:round!important}body.timeseries-page section.controls.mobile-filter-drawer .ts-controls{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto minmax(0,1fr)!important;gap:10px!important;width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0!important;min-height:0!important;height:100%!important}body.timeseries-page section.controls.mobile-filter-drawer .ts-left,body.timeseries-page section.controls.mobile-filter-drawer .ts-right{width:100%!important;min-width:0!important;margin:0!important;display:grid!important;gap:10px!important;align-content:start!important}body.timeseries-page section.controls.mobile-filter-drawer .ts-right{min-height:0!important}body.timeseries-page section.controls.mobile-filter-drawer .filter-section{width:100%!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}body.timeseries-page section.controls.mobile-filter-drawer .filter-label{display:none!important}body.timeseries-page section.controls.mobile-filter-drawer .chip-group.device-filter{width:100%!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}body.timeseries-page section.controls.mobile-filter-drawer .timeseries-search-controls{width:100%!important;display:grid!important;grid-template-columns:1fr!important;gap:8px!important}body.timeseries-page section.controls.mobile-filter-drawer .search-input,body.timeseries-page section.controls.mobile-filter-drawer .group-filter-select,body.timeseries-page section.controls.mobile-filter-drawer .chip-button,body.timeseries-page section.controls.mobile-filter-drawer .btn{width:100%!important;min-height:40px!important;height:40px!important;border-radius:10px!important;font-size:.82rem!important}body.timeseries-page section.controls.mobile-filter-drawer .filter-section-sensors{min-height:0!important;height:100%!important;display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;gap:8px!important}body.timeseries-page section.controls.mobile-filter-drawer .drawer-sensor-dropdown{width:100%!important;min-height:0!important;height:100%!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important}body.timeseries-page section.controls.mobile-filter-drawer .drawer-sensor-checklist{margin-top:8px!important;min-height:0!important;max-height:none!important;height:100%!important;overflow:auto!important;width:100%!important}body.timeseries-page section.controls.mobile-filter-drawer .timeseries-select-actions{width:100%!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}body.timeseries-page section.controls.mobile-filter-drawer .timeseries-select-actions .chip-button{width:100%!important;min-width:0!important}}@media(max-width:900px)and (orientation:landscape),(max-height:500px)and (orientation:landscape){body.timeseries-page section.controls.mobile-filter-drawer .ts-controls{grid-template-columns:minmax(220px,44%) minmax(0,56%)!important;grid-template-rows:minmax(0,1fr)!important;align-items:stretch!important}body.timeseries-page section.controls.mobile-filter-drawer .ts-left{grid-column:1!important;grid-row:1!important;min-height:0!important;overflow:auto!important;padding-right:4px!important}body.timeseries-page section.controls.mobile-filter-drawer .ts-right{grid-column:2!important;grid-row:1!important;min-height:0!important}}@media(max-width:900px),(max-height:500px){body.timeseries-page #timeseries-filter-drawer.timeseries-filter-drawer{position:fixed!important;inset:0!important;width:100vw!important;min-width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;padding:calc(8px + env(safe-area-inset-top)) 14px calc(12px + env(safe-area-inset-bottom))!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:linear-gradient(180deg,#070c18fc,#060a14fc)!important;transform:translate(-100%)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;z-index:17070!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;gap:10px!important;overflow:hidden!important}body.timeseries-page #timeseries-filter-drawer.timeseries-filter-drawer.open{transform:translate(0)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}body.timeseries-page #timeseries-filter-drawer .dashboard-filter-head{display:block!important;position:relative!important;width:100%!important;min-height:42px!important;padding-right:50px!important;margin:0!important}body.timeseries-page #timeseries-filter-drawer .dashboard-filter-close{position:absolute!important;top:0!important;right:0!important;left:auto!important;width:42px!important;min-width:42px!important;height:42px!important;min-height:42px!important;margin:0!important;display:inline-grid!important;place-items:center!important;border-radius:999px!important;border:1px solid rgba(56,189,248,.35)!important;background:#080e1cf2!important;color:#eff6fff2!important;box-shadow:0 10px 22px #02061780!important;padding:0!important;cursor:pointer!important;z-index:3!important}body.timeseries-page #timeseries-filter-drawer .dashboard-filter-close-icon{width:18px!important;height:18px!important;display:block!important}body.timeseries-page #timeseries-filter-drawer .dashboard-filter-close-icon path{fill:none!important;stroke:currentColor!important;stroke-width:2.4!important;stroke-linecap:round!important}body.timeseries-page #timeseries-filter-drawer .dashboard-filter-layout{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto minmax(0,1fr)!important;gap:10px!important;min-height:0!important;width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0!important;justify-items:stretch!important;align-items:stretch!important}body.timeseries-page #timeseries-filter-drawer .dashboard-filter-primary{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto auto!important;gap:10px!important;min-height:0!important;width:100%!important;min-width:0!important;margin:0!important;align-content:start!important}body.timeseries-page #timeseries-filter-drawer .dashboard-filter-primary>*{grid-column:1!important;grid-row:auto!important;width:100%!important;min-width:0!important}body.timeseries-page #timeseries-filter-drawer .dashboard-filter-section{width:100%!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}body.timeseries-page #timeseries-filter-drawer .filter-section-type,body.timeseries-page #timeseries-filter-drawer .filter-section-search,body.timeseries-page #timeseries-filter-drawer .filter-section-sensors{grid-area:auto!important;align-self:stretch!important;justify-self:stretch!important}body.timeseries-page #timeseries-filter-drawer .dashboard-filter-label{display:none!important}body.timeseries-page #timeseries-filter-drawer .dashboard-type-chip-group{width:100%!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}body.timeseries-page #timeseries-filter-drawer .dashboard-filter-search-controls{width:100%!important;display:grid!important;grid-template-columns:1fr!important;gap:8px!important}body.timeseries-page #timeseries-filter-drawer .dashboard-filter-search-input,body.timeseries-page #timeseries-filter-drawer .group-filter-select,body.timeseries-page #timeseries-filter-drawer .chip-button,body.timeseries-page #timeseries-filter-drawer .btn{width:100%!important;min-height:40px!important;height:40px!important;border-radius:10px!important;font-size:.82rem!important}body.timeseries-page #timeseries-filter-drawer .dashboard-filter-sensors{display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;min-height:0!important;gap:8px!important;width:100%!important}body.timeseries-page #timeseries-filter-drawer .drawer-sensor-dropdown{width:100%!important;min-height:0!important;height:100%!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important}body.timeseries-page #timeseries-filter-drawer .drawer-sensor-checklist{width:100%!important;min-height:0!important;height:100%!important;max-height:none!important;overflow:auto!important;margin-top:8px!important}body.timeseries-page #timeseries-filter-drawer .timeseries-select-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;width:100%!important}}@media(max-width:900px)and (orientation:landscape),(max-height:500px)and (orientation:landscape){body.timeseries-page #timeseries-filter-drawer .dashboard-filter-layout{grid-template-columns:minmax(220px,44%) minmax(0,56%)!important;grid-template-rows:minmax(0,1fr)!important;align-items:stretch!important}body.timeseries-page #timeseries-filter-drawer .dashboard-filter-primary{grid-column:1!important;grid-row:1!important;min-height:0!important;overflow:auto!important;padding-right:4px!important}body.timeseries-page #timeseries-filter-drawer .dashboard-filter-sensors{grid-column:2!important;grid-row:1!important;min-height:0!important}}@media(max-width:900px),(max-height:500px){body.dashboard-page #dashboard-filter-drawer .dashboard-filter-layout,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-layout{height:100%!important;min-height:0!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-sensors,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-sensors{min-height:0!important;height:100%!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;align-content:stretch!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-picker,body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-picker{--mobile-filter-actions-h: calc(52px + env(safe-area-inset-bottom)*.3) !important;min-height:0!important;height:100%!important;display:grid!important;grid-template-rows:minmax(0,1fr)!important;align-content:stretch!important;position:relative!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-list-wrap,body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-list-wrap{min-height:0!important;height:calc(100% - var(--mobile-filter-actions-h))!important;max-height:calc(100% - var(--mobile-filter-actions-h))!important;overflow:hidden!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-list,body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-list{min-height:0!important;height:100%!important;max-height:none!important;overflow:auto!important;padding-bottom:8px!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-picker-actions,body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-picker-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;margin:0!important;position:absolute!important;left:0!important;right:0!important;bottom:0!important;min-height:var(--mobile-filter-actions-h)!important;z-index:4!important;padding-top:8px!important;padding-bottom:calc(8px + env(safe-area-inset-bottom)*.3)!important;background:linear-gradient(180deg,#060a1400,#060a14f7 28%)!important}}body.map-page .map-legend{top:calc(16px + 5%)!important}@media(max-width:900px),(max-height:500px),(pointer:coarse){body.map-page .map-legend{top:calc(8px + env(safe-area-inset-top) + 5%)!important}}@media(max-height:500px)and (orientation:landscape){body.map-page .map-legend{top:calc(6px + env(safe-area-inset-top) + 5%)!important}}@media(max-width:900px),(max-height:500px){body.timeseries-page #timeseries-filter-drawer .dashboard-filter-label{display:none!important}body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-picker-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important}body.timeseries-page #timeseries-filter-drawer .dashboard-filter-search-controls{grid-template-columns:1fr!important}}.export-dialog[open]{margin:auto;padding:10px;max-width:100vw;max-height:100dvh;overflow:visible}.export-dialog-card{width:min(560px,calc(100vw - 20px));max-height:min(92dvh,680px);overflow:visible;display:grid;grid-template-columns:1fr;grid-auto-rows:min-content;gap:10px}.export-dialog-card .export-date-input,.export-dialog-card .flatpickr-input.export-date-input-alt,.export-dialog-card select{width:100%;min-height:40px;height:40px;padding:0 12px;border-radius:12px;border:1px solid rgba(148,163,184,.3);background:#0a101eeb;color:#f1f5f9fa;font-size:.86rem;line-height:1.2;box-shadow:inset 0 0 0 1px #02061780;color-scheme:dark;font-family:var(--font-body);font-weight:500}.export-dialog-card .export-date-input,.export-dialog-card .flatpickr-input.export-date-input-alt{cursor:pointer}.export-dialog-card .export-date-input:focus,.export-dialog-card .flatpickr-input.export-date-input-alt:focus,.export-dialog-card select:focus{outline:none;border-color:#38bdf8b3;box-shadow:inset 0 0 0 1px #38bdf86b,0 0 0 2px #38bdf82e}.export-dialog .flatpickr-calendar{z-index:22000!important;border:1px solid rgba(56,189,248,.32);box-shadow:0 18px 34px #02061794;font-family:var(--font-body)}.export-dialog .flatpickr-calendar.open{position:fixed!important;inset:50% auto auto 50%!important;transform:translate(-50%,-50%)!important;margin:0!important}.export-dialog .flatpickr-calendar:before,.export-dialog .flatpickr-calendar:after{display:none!important}.export-dialog .flatpickr-day.selected,.export-dialog .flatpickr-day.startRange,.export-dialog .flatpickr-day.endRange{background:#38bdf8e6;border-color:#38bdf8e6}.export-dialog .flatpickr-day:hover{background:#38bdf840;border-color:#38bdf859}@media(max-width:900px),(max-height:620px){.export-dialog[open]{padding:8px}.export-dialog-card{width:min(640px,calc(100vw - 16px));max-height:calc(100dvh - 16px);padding:12px;gap:8px}.export-dialog-head h2{font-size:.98rem}.export-dialog-note{display:none}.export-dialog-card label{gap:4px;font-size:.74rem;letter-spacing:.08em}.export-dialog-card .export-date-input,.export-dialog-card .flatpickr-input.export-date-input-alt,.export-dialog-card select{min-height:38px;height:38px;font-size:.82rem}.export-dialog .flatpickr-calendar.open{width:min(320px,calc(100vw - 20px))!important}.export-dialog-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.export-dialog-actions .btn{width:100%!important;min-height:38px;height:38px;padding:0 10px}}@media(max-height:500px)and (orientation:landscape){.export-dialog-card{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"head head" "start end" "format format" "meta meta" "actions actions";align-content:start;max-height:calc(100dvh - 12px)}.export-dialog-card>.export-dialog-head{grid-area:head}.export-dialog-card>label:nth-of-type(1){grid-area:start}.export-dialog-card>label:nth-of-type(2){grid-area:end}.export-dialog-card>label:nth-of-type(3){grid-area:format}.export-dialog-card>.admin-muted{grid-area:meta}.export-dialog-card>.export-dialog-actions{grid-area:actions}}@media(max-width:900px),(max-height:500px){body.timeseries-page #timeseries-filter-drawer{position:fixed!important;inset:0!important;width:100vw!important;min-width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;padding:calc(8px + env(safe-area-inset-top)) 14px calc(12px + env(safe-area-inset-bottom))!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:linear-gradient(180deg,#070c18fc,#060a14fc)!important;transform:translate(-100%)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;z-index:17070!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;gap:10px!important}body.timeseries-page #timeseries-filter-drawer.open{transform:translate(0)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}body.timeseries-page #timeseries-filter-drawer .dashboard-filter-head{display:block!important;position:relative!important;width:100%!important;height:0!important;min-height:0!important;padding:0 50px 0 0!important;overflow:visible!important}body.timeseries-page #timeseries-filter-drawer .dashboard-filter-close{position:absolute!important;top:2px!important;right:0!important;width:42px!important;min-width:42px!important;height:42px!important;min-height:42px!important;display:inline-grid!important;place-items:center!important;border-radius:999px!important;border:1px solid rgba(56,189,248,.35)!important;background:#080e1cf2!important;color:#eff6fff2!important;box-shadow:0 10px 22px #02061780!important;padding:0!important}body.timeseries-page #timeseries-filter-drawer .dashboard-filter-layout{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto minmax(0,1fr)!important;gap:10px!important;min-height:0!important;width:100%!important;margin:0!important}body.timeseries-page #timeseries-filter-drawer .dashboard-filter-primary{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto auto!important;gap:10px!important;min-height:0!important;width:100%!important;margin:0!important}body.timeseries-page #timeseries-filter-drawer .dashboard-filter-section{width:100%!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}body.timeseries-page #timeseries-filter-drawer .dashboard-filter-label{display:block!important}body.timeseries-page #timeseries-filter-drawer .dashboard-type-chip-group{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}body.timeseries-page #timeseries-filter-drawer .dashboard-filter-search-controls{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;width:100%!important}body.timeseries-page #timeseries-filter-drawer .dashboard-filter-search-input,body.timeseries-page #timeseries-filter-drawer .group-filter-select,body.timeseries-page #timeseries-filter-drawer .chip-button,body.timeseries-page #timeseries-filter-drawer .btn{width:100%!important;min-height:40px!important;height:40px!important;border-radius:10px!important;font-size:.82rem!important;text-transform:none!important;letter-spacing:normal!important}body.timeseries-page #timeseries-filter-drawer .dashboard-filter-sensors{display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;min-height:0!important;gap:8px!important}body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-picker{display:grid!important;grid-template-rows:minmax(0,1fr) auto!important;min-height:0!important;gap:8px!important;width:100%!important}body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-list-wrap{min-height:0!important;overflow:hidden!important}body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-list{width:100%!important;min-height:0!important;height:auto!important;max-height:none!important;overflow:auto!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important}body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-item{width:100%!important;display:grid!important;grid-template-columns:20px minmax(0,1fr)!important;align-items:center!important;gap:10px!important;padding:10px 2px!important;margin:0!important;border:0!important;border-bottom:1px solid rgba(56,189,248,.18)!important;border-radius:0!important;background:transparent!important}body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-item:last-child{border-bottom:0!important}body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-item input[type=checkbox]{appearance:none!important;-webkit-appearance:none!important;width:18px!important;height:18px!important;margin:0!important;border-radius:5px!important;border:1px solid rgba(148,163,184,.7)!important;background:#070c18eb!important;display:inline-grid!important;place-items:center!important}body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-item input[type=checkbox]:before{content:""!important;width:9px!important;height:9px!important;clip-path:polygon(14% 52%,0 67%,40% 100%,100% 20%,85% 6%,40% 68%)!important;background:#040c16fa!important;transform:scale(0)!important;transition:transform .12s ease!important}body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-item input[type=checkbox]:checked{background:linear-gradient(145deg,#38bdf8fa,#0ea5e9e6)!important;border-color:#38bdf8!important}body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-item input[type=checkbox]:checked:before{transform:scale(1)!important}body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-copy{min-width:0!important;display:grid!important;gap:2px!important}body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-name{font-size:.8rem!important;line-height:1.2!important;color:#f7fbfff7!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-meta,body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-empty{font-size:.7rem!important;line-height:1.15!important;color:#9daec5eb!important}body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-picker-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;width:100%!important}body.timeseries-page #timeseries-filter-drawer .drawer-sensor-dropdown{width:100%!important;min-height:0!important;height:100%!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important}body.timeseries-page #timeseries-filter-drawer .drawer-sensor-checklist{width:100%!important;min-height:0!important;height:100%!important;max-height:none!important;overflow:auto!important;margin-top:8px!important}body.timeseries-page #timeseries-filter-drawer .timeseries-select-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;width:100%!important}}@media(max-width:900px)and (orientation:landscape),(max-height:500px)and (orientation:landscape){body.timeseries-page #timeseries-filter-drawer .dashboard-filter-layout{grid-template-columns:minmax(220px,44%) minmax(0,56%)!important;grid-template-rows:minmax(0,1fr)!important;align-items:stretch!important}body.timeseries-page #timeseries-filter-drawer .dashboard-filter-primary{grid-column:1!important;grid-row:1!important;overflow:auto!important;padding-right:4px!important}body.timeseries-page #timeseries-filter-drawer .dashboard-filter-sensors{grid-column:2!important;grid-row:1!important;min-height:0!important}}@media(max-width:900px),(max-height:500px){body.dashboard-page #dashboard-filter-drawer .dashboard-filter-layout,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-layout{height:100%!important;min-height:0!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-sensors,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-sensors{min-height:0!important;height:100%!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;align-content:stretch!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-picker,body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-picker{min-height:0!important;height:100%!important;display:grid!important;grid-template-rows:minmax(0,1fr) auto!important;align-content:stretch!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-list-wrap,body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-list-wrap{min-height:0!important;height:100%!important;overflow:hidden!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-list,body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-list{min-height:0!important;height:100%!important;max-height:none!important;overflow:auto!important;padding-bottom:8px!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-picker-actions,body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-picker-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;margin-top:0!important;position:sticky!important;bottom:0!important;z-index:4!important;padding-top:8px!important;padding-bottom:calc(8px + env(safe-area-inset-bottom)*.3)!important;background:linear-gradient(180deg,#060a1400,#060a14f7 28%)!important}}@media(max-width:900px),(max-height:500px){body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-picker,body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-picker{--mobile-filter-actions-h: calc(52px + env(safe-area-inset-bottom)) !important;position:relative!important;min-height:0!important;height:100%!important;display:block!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-list-wrap,body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-list-wrap{height:calc(100% - var(--mobile-filter-actions-h))!important;max-height:calc(100% - var(--mobile-filter-actions-h))!important;min-height:0!important;overflow:hidden!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-list,body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-list{height:100%!important;max-height:none!important;min-height:0!important;overflow:auto!important;padding-bottom:8px!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-picker-actions,body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-picker-actions{position:fixed!important;left:calc(14px + env(safe-area-inset-left))!important;right:calc(14px + env(safe-area-inset-right))!important;bottom:calc(12px + env(safe-area-inset-bottom))!important;margin:0!important;min-height:var(--mobile-filter-actions-h)!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;z-index:17120!important;padding-top:8px!important;padding-bottom:calc(8px + env(safe-area-inset-bottom)*.3)!important;background:linear-gradient(180deg,#060a1400,#060a14f7 28%)!important}body.dashboard-page #dashboard-filter-drawer:not(.open) .dashboard-mobile-sensor-picker-actions,body.timeseries-page #timeseries-filter-drawer:not(.open) .dashboard-mobile-sensor-picker-actions{display:none!important}}@media(max-width:900px),(max-height:500px){body.dashboard-page #dashboard-filter-drawer,body.timeseries-page #timeseries-filter-drawer{position:fixed!important;inset:0!important;width:100vw!important;min-width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;padding:calc(8px + env(safe-area-inset-top)) 14px calc(12px + env(safe-area-inset-bottom))!important;box-sizing:border-box!important;overflow:hidden!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-layout,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-layout{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto minmax(0,1fr)!important;gap:10px!important;min-height:0!important;height:100%!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-primary,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-primary{display:grid!important;grid-auto-rows:min-content!important;gap:10px!important;min-height:0!important;overflow:visible!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-sensors,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-sensors{--mobile-filter-actions-h: calc(52px + env(safe-area-inset-bottom)) ;position:relative!important;min-height:0!important;height:100%!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;padding-bottom:var(--mobile-filter-actions-h)!important;box-sizing:border-box!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-picker,body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-picker{min-height:0!important;height:100%!important;display:grid!important;grid-template-rows:minmax(0,1fr)!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-list-wrap,body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-list-wrap{min-height:0!important;height:100%!important;max-height:none!important;overflow:hidden!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-list,body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-list{min-height:0!important;height:100%!important;max-height:none!important;overflow:auto!important;padding-bottom:8px!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-picker-actions,body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-picker-actions{position:absolute!important;left:0!important;right:0!important;bottom:0!important;margin:0!important;min-height:var(--mobile-filter-actions-h)!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;z-index:6!important;padding-top:8px!important;padding-bottom:calc(8px + env(safe-area-inset-bottom)*.3)!important;background:linear-gradient(180deg,#060a1400,#060a14f7 28%)!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-picker-actions .chip-button,body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-picker-actions .chip-button{width:100%!important;min-width:0!important}}@media(max-width:900px)and (orientation:landscape),(max-height:500px)and (orientation:landscape){body.dashboard-page #dashboard-filter-drawer .dashboard-filter-layout,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-layout{grid-template-columns:minmax(220px,44%) minmax(0,56%)!important;grid-template-rows:minmax(0,1fr)!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-primary,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-primary{grid-column:1!important;grid-row:1!important;overflow:auto!important;padding-right:4px!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-sensors,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-sensors{grid-column:2!important;grid-row:1!important}}@media(max-width:900px),(max-height:500px){body.dashboard-page #dashboard-filter-drawer,body.timeseries-page #timeseries-filter-drawer{--filter-actions-h: calc(54px + env(safe-area-inset-bottom)) ;position:fixed!important;inset:0!important;width:100vw!important;min-width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;padding:calc(8px + env(safe-area-inset-top)) 14px calc(12px + env(safe-area-inset-bottom))!important;box-sizing:border-box!important;overflow:hidden!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;gap:10px!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-head,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-head{display:block!important;position:relative!important;width:100%!important;min-height:42px!important;height:42px!important;padding-right:50px!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-close,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-close{position:absolute!important;top:0!important;right:0!important;width:42px!important;min-width:42px!important;height:42px!important;min-height:42px!important;display:inline-grid!important;place-items:center!important;padding:0!important;border-radius:999px!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-layout,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-layout{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto minmax(0,1fr)!important;gap:10px!important;min-height:0!important;height:100%!important;width:100%!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-primary,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-primary{display:grid!important;grid-auto-rows:min-content!important;gap:10px!important;min-height:0!important;width:100%!important;margin:0!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-search-input,body.dashboard-page #dashboard-filter-drawer .group-filter-select,body.dashboard-page #dashboard-filter-drawer .chip-button,body.dashboard-page #dashboard-filter-drawer .btn,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-search-input,body.timeseries-page #timeseries-filter-drawer .group-filter-select,body.timeseries-page #timeseries-filter-drawer .chip-button,body.timeseries-page #timeseries-filter-drawer .btn{width:100%!important;min-height:40px!important;height:40px!important;min-width:0!important}body.dashboard-page #dashboard-filter-drawer .dashboard-type-chip-group,body.timeseries-page #timeseries-filter-drawer .dashboard-type-chip-group{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;width:100%!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-sensors,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-sensors{position:relative!important;min-height:0!important;height:100%!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;padding-bottom:var(--filter-actions-h)!important;box-sizing:border-box!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-picker,body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-picker{position:relative!important;min-height:0!important;height:100%!important;display:block!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-list-wrap,body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-list-wrap{position:absolute!important;top:0!important;left:0!important;right:0!important;bottom:var(--filter-actions-h)!important;min-height:0!important;height:auto!important;max-height:none!important;overflow:auto!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-list,body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-list{min-height:0!important;height:auto!important;max-height:none!important;overflow:visible!important;padding-bottom:8px!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-picker-actions,body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-picker-actions{position:absolute!important;left:0!important;right:0!important;bottom:0!important;margin:0!important;min-height:var(--filter-actions-h)!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;z-index:8!important;padding-top:8px!important;padding-bottom:calc(8px + env(safe-area-inset-bottom)*.3)!important;background:linear-gradient(180deg,#060a1400,#060a14f7 28%)!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-picker-actions .chip-button,body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-picker-actions .chip-button{width:100%!important;min-width:0!important}}@media(max-width:900px)and (orientation:landscape),(max-height:500px)and (orientation:landscape){body.dashboard-page #dashboard-filter-drawer .dashboard-filter-layout,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-layout{grid-template-columns:minmax(220px,44%) minmax(0,56%)!important;grid-template-rows:minmax(0,1fr)!important;align-items:stretch!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-primary,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-primary{grid-column:1!important;grid-row:1!important;overflow:auto!important;padding-right:4px!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-sensors,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-sensors{grid-column:2!important;grid-row:1!important}}body.map-page .map-legend{top:calc(16px + 15%)!important}@media(max-width:900px),(max-height:500px),(pointer:coarse){body.map-page .map-legend{top:calc(8px + env(safe-area-inset-top))!important;left:calc(10px + env(safe-area-inset-left))!important}}@media(max-height:500px)and (orientation:landscape){body.map-page .map-legend{top:calc(6px + env(safe-area-inset-top))!important;left:calc(8px + env(safe-area-inset-left))!important}}@media(max-width:900px)and (orientation:landscape),(max-height:500px)and (orientation:landscape){body.dashboard-page #dashboard-filter-drawer,body.timeseries-page #timeseries-filter-drawer{--landscape-filter-actions-h: calc(56px + env(safe-area-inset-bottom)) ;height:100dvh!important;max-height:100dvh!important;padding-top:calc(4px + env(safe-area-inset-top))!important;padding-bottom:calc(var(--landscape-filter-actions-h) + 8px)!important;box-sizing:border-box!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-layout,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-layout{height:100%!important;min-height:0!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-sensors,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-sensors{position:relative!important;min-height:0!important;height:100%!important;padding-bottom:0!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-picker,body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-picker{position:relative!important;min-height:0!important;height:100%!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-list-wrap,body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-list-wrap{position:absolute!important;inset:0!important;min-height:0!important;height:auto!important;overflow:auto!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-list,body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-list{min-height:100%!important;height:auto!important;max-height:none!important;overflow:visible!important;padding-bottom:calc(var(--landscape-filter-actions-h) + 8px)!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-picker-actions,body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-picker-actions{position:fixed!important;left:calc(14px + env(safe-area-inset-left))!important;right:calc(14px + env(safe-area-inset-right))!important;bottom:calc(8px + env(safe-area-inset-bottom))!important;margin:0!important;min-height:var(--landscape-filter-actions-h)!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;z-index:17130!important;padding-top:8px!important;padding-bottom:calc(8px + env(safe-area-inset-bottom)*.3)!important;background:linear-gradient(180deg,#060a1400,#060a14f7 28%)!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-picker-actions .chip-button,body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-picker-actions .chip-button{width:100%!important;min-width:0!important}body.dashboard-page #dashboard-filter-drawer:not(.open) .dashboard-mobile-sensor-picker-actions,body.timeseries-page #timeseries-filter-drawer:not(.open) .dashboard-mobile-sensor-picker-actions{display:none!important}}@media(max-width:900px),(max-height:500px){body.dashboard-page #dashboard-filter-drawer .dashboard-filter-close,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-close{position:fixed!important;top:calc(10px + env(safe-area-inset-top))!important;right:calc(12px + env(safe-area-inset-right))!important;width:46px!important;min-width:46px!important;height:46px!important;min-height:46px!important;padding:0!important;border-radius:999px!important;display:inline-grid!important;place-items:center!important;z-index:17140!important}}@media(max-width:900px)and (orientation:landscape),(max-height:500px)and (orientation:landscape){body.dashboard-page #dashboard-filter-drawer,body.timeseries-page #timeseries-filter-drawer{--landscape-actions-h: calc(50px + env(safe-area-inset-bottom)) ;padding-top:calc(2px + env(safe-area-inset-top))!important;padding-right:12px!important;padding-left:12px!important;padding-bottom:calc(8px + env(safe-area-inset-bottom))!important;height:100dvh!important;max-height:100dvh!important;box-sizing:border-box!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-head,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-head{height:0!important;min-height:0!important;padding:0!important;margin:0!important;overflow:visible!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-layout,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-layout{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:minmax(0,1fr)!important;height:100%!important;min-height:0!important;gap:10px!important;align-items:stretch!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-primary,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-primary{grid-column:1!important;grid-row:1!important;min-height:0!important;height:100%!important;overflow:auto!important;padding-right:4px!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-sensors,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-sensors{grid-column:2!important;grid-row:1!important;position:relative!important;min-height:0!important;height:100%!important;padding-bottom:var(--landscape-actions-h)!important;box-sizing:border-box!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-picker,body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-picker{position:relative!important;min-height:0!important;height:100%!important;display:block!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-list-wrap,body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-list-wrap{position:absolute!important;top:0!important;left:0!important;right:0!important;bottom:var(--landscape-actions-h)!important;min-height:0!important;height:auto!important;overflow:auto!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-list,body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-list{min-height:100%!important;height:auto!important;max-height:none!important;overflow:visible!important;padding-bottom:6px!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-picker-actions,body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-picker-actions{position:absolute!important;left:0!important;right:0!important;bottom:0!important;margin:0!important;min-height:var(--landscape-actions-h)!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;z-index:9!important;padding-top:6px!important;padding-bottom:calc(6px + env(safe-area-inset-bottom)*.3)!important;background:linear-gradient(180deg,#060a1400,#060a14f7 30%)!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-picker-actions .chip-button,body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-picker-actions .chip-button{width:100%!important;min-width:0!important;min-height:38px!important;height:38px!important}}@media(max-width:900px)and (orientation:landscape),(max-height:500px)and (orientation:landscape){body.dashboard-page #dashboard-filter-drawer,body.timeseries-page #timeseries-filter-drawer{--ultra-actions-h: calc(52px + env(safe-area-inset-bottom)) ;position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;max-height:100dvh!important;padding:calc(2px + env(safe-area-inset-top)) 12px calc(8px + env(safe-area-inset-bottom))!important;box-sizing:border-box!important;overflow:hidden!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-layout,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-layout{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:minmax(0,1fr)!important;gap:10px!important;height:100%!important;min-height:0!important;align-items:stretch!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-primary,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-primary{grid-column:1!important;grid-row:1!important;min-height:0!important;height:100%!important;overflow:auto!important;padding-right:4px!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-sensors,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-sensors{grid-column:2!important;grid-row:1!important;min-height:0!important;height:100%!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;position:relative!important;padding:0!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-sensors>.dashboard-filter-label,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-sensors>.dashboard-filter-label{display:none!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-picker,body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-picker{position:relative!important;flex:1 1 auto!important;min-height:0!important;height:auto!important;margin:0!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-list-wrap,body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-list-wrap{position:absolute!important;top:0!important;left:0!important;right:0!important;bottom:var(--ultra-actions-h)!important;min-height:0!important;overflow:auto!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-list,body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-list{min-height:100%!important;height:auto!important;max-height:none!important;overflow:visible!important;padding-bottom:6px!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-picker-actions,body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-picker-actions{position:absolute!important;left:0!important;right:0!important;bottom:0!important;margin:0!important;min-height:var(--ultra-actions-h)!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;z-index:20!important;padding-top:6px!important;padding-bottom:calc(6px + env(safe-area-inset-bottom)*.3)!important;background:linear-gradient(180deg,#060a1400,#060a14f7 30%)!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-picker-actions .chip-button,body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-picker-actions .chip-button{width:100%!important;min-width:0!important;min-height:38px!important;height:38px!important}}body.dashboard-page .app-header .brand h1,body.timeseries-page .app-header .brand h1,body.map-page .app-header .brand h1,body.admin-page .app-header .brand h1,body.profile-page .app-header .brand h1,body.lights-page .app-header .brand h1{display:none!important}@media(max-width:900px)and (orientation:landscape),(max-height:500px)and (orientation:landscape){body.timeseries-page .chart-wrap{display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;align-content:start!important;padding-top:calc(8px + env(safe-area-inset-top))!important;padding-bottom:calc(54px + env(safe-area-inset-bottom))!important}body.timeseries-page .chart-header{position:relative!important;inset:auto!important;margin:0 0 8px!important;padding:0!important;z-index:6!important;display:flex!important;align-items:flex-start!important;justify-content:space-between!important;flex-wrap:wrap!important;row-gap:8px!important}body.timeseries-page #series-chart.uplot-container{height:100%!important;min-height:0!important;max-height:none!important}}@media(max-width:900px)and (orientation:landscape),(max-height:500px)and (orientation:landscape){body.timeseries-page .chart-header{position:static!important;inset:auto!important;transform:none!important;width:100%!important}body.timeseries-page .chart-wrap{padding-top:calc(8px + env(safe-area-inset-top))!important;grid-template-rows:auto minmax(0,1fr)!important}body.timeseries-page #series-chart.uplot-container{height:auto!important;min-height:calc(100% - 44px)!important}}body.dashboard-page .app-header .brand,body.timeseries-page .app-header .brand,body.map-page .app-header .brand,body.admin-page .app-header .brand,body.profile-page .app-header .brand,body.lights-page .app-header .brand{gap:0!important}body .app-header .menu-toggle,body .app-header .filter-toggle,body .app-header .header-actions .btn,body .app-header .header-actions .account-menu-trigger,body .app-header .header-actions .user-menu-item{font-family:var(--font-body)!important;font-size:.82rem!important;line-height:1.1!important}@media(max-width:900px),(max-height:500px),(pointer:coarse){html,body{min-height:100%}body{min-height:100dvh}body.dashboard-page,body.timeseries-page,body.admin-page,body.profile-page,body.lights-page,body.login-page,body.signup-page,body.reset-password-page,body.verify-page,body.cookies-page{padding-left:max(0px,env(safe-area-inset-left))!important;padding-right:max(0px,env(safe-area-inset-right))!important}body.dashboard-page .app,body.timeseries-page .app,body.admin-page .app,body.profile-page .app,body.lights-page .app{width:100%!important;max-width:none!important;min-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important}}@media(min-width:901px)and (min-height:501px){body.map-page #map-legend,body.map-page .map-legend{top:auto!important;left:16px!important;right:auto!important;bottom:calc(16px + env(safe-area-inset-bottom) + 5vh)!important;margin:0!important;transform:none!important;z-index:20060!important}}@media(max-width:900px),(max-height:500px),(pointer:coarse){body.map-page #map-legend,body.map-page .map-legend{top:auto!important;left:calc(10px + env(safe-area-inset-left))!important;right:auto!important;bottom:calc(20px + env(safe-area-inset-bottom) + 5vh)!important;z-index:20060!important}}@media(min-width:901px)and (min-height:501px){body.dashboard-page .app-header,body.timeseries-page .app-header,body.map-page .app-header,body.admin-page .app-header,body.profile-page .app-header,body.lights-page .app-header{position:fixed!important;top:0!important;left:0!important;right:0!important;width:auto!important;margin:0!important;padding:10px 16px!important;min-height:64px!important;border:0!important;border-bottom:1px solid rgba(56,189,248,.2)!important;border-radius:0!important;background:linear-gradient(180deg,#080e1cf2,#080e1cd1)!important;box-shadow:0 10px 24px #0206176b!important;-webkit-backdrop-filter:blur(9px)!important;backdrop-filter:blur(9px)!important;display:flex!important;align-items:center!important;justify-content:space-between!important;pointer-events:auto!important;z-index:14000!important;transform:none!important}body.dashboard-page .app,body.timeseries-page .app,body.map-page .app,body.admin-page .app,body.profile-page .app,body.lights-page .app{padding-top:86px!important}body.dashboard-page .header-actions,body.timeseries-page .header-actions,body.map-page .header-actions,body.admin-page .header-actions,body.profile-page .header-actions,body.lights-page .header-actions{position:static!important;margin:0 0 0 auto!important;display:inline-flex!important;align-items:center!important;flex-wrap:nowrap!important;gap:8px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;transform:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}body.map-page .app-header .brand{display:flex!important}body.map-page .menu-toggle{display:none!important}}@media(max-width:900px)and (orientation:portrait){body.timeseries-page.timeseries-portrait-lock{overflow:hidden!important}body.timeseries-page.timeseries-portrait-lock .app{min-height:100dvh!important;padding:0!important}body.timeseries-page.timeseries-portrait-lock .layout-split,body.timeseries-page.timeseries-portrait-lock .filter-toggle,body.timeseries-page.timeseries-portrait-lock .mobile-filter-drawer,body.timeseries-page.timeseries-portrait-lock .filter-scrim,body.timeseries-page.timeseries-portrait-lock #series-status,body.timeseries-page.timeseries-portrait-lock #series-chart-tooltip,body.timeseries-page.timeseries-portrait-lock .app-footer,body.timeseries-page.timeseries-portrait-lock .export-dialog[open]{display:none!important}body.timeseries-page.timeseries-portrait-lock .app-header{display:grid!important;visibility:visible!important;pointer-events:auto!important;z-index:20020!important}body.timeseries-page.timeseries-portrait-lock .menu-toggle{display:inline-grid!important;visibility:visible!important;pointer-events:auto!important}body.timeseries-page.timeseries-portrait-lock .header-actions{display:flex!important}body.timeseries-page.timeseries-portrait-lock .timeseries-rotate-portrait{position:fixed!important;inset:calc(64px + env(safe-area-inset-top)) 0 0 0!important;z-index:20000!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:10px!important;padding:20px calc(22px + env(safe-area-inset-right)) calc(28px + env(safe-area-inset-bottom)) calc(22px + env(safe-area-inset-left))!important;background:radial-gradient(circle at top,rgba(14,165,233,.2),transparent 36%),linear-gradient(180deg,#050a14fa,#080e1cfc)!important;text-align:center!important}body.timeseries-page.timeseries-portrait-lock .timeseries-rotate-portrait h2{font-size:1.18rem!important}body.timeseries-page.timeseries-portrait-lock .timeseries-rotate-portrait p{max-width:18rem!important;font-size:.94rem!important;line-height:1.4!important}}@media(max-width:900px),(max-height:500px),(pointer:coarse){.menu-scrim{background:#02060c47!important;-webkit-backdrop-filter:blur(2px)!important;backdrop-filter:blur(2px)!important}.mobile-nav-host .mobile-nav-redesign{width:min(78vw,316px)!important;max-width:calc(100vw - 18px)!important;padding:calc(58px + env(safe-area-inset-top)) 12px calc(12px + env(safe-area-inset-bottom))!important;gap:8px!important;overflow-x:hidden!important;overscroll-behavior:contain!important;background:#090c12fb!important;border-left:1px solid rgba(255,255,255,.06)!important;box-shadow:-16px 0 32px #02061747!important}.mobile-nav-host .mobile-nav-redesign .btn,.mobile-nav-host .mobile-nav-redesign .user-menu-item{display:flex!important;align-items:center!important;width:100%!important;min-height:56px!important;height:56px!important;line-height:1.2!important;padding:0 16px!important;border-radius:14px!important;justify-content:center!important;text-align:center!important;font-family:Poppins,sans-serif!important;font-size:1rem!important;font-weight:600!important;letter-spacing:.01em!important;box-shadow:none!important;white-space:nowrap!important}.mobile-nav-host .mobile-nav-redesign .btn.secondary,.mobile-nav-host .mobile-nav-redesign .user-menu-item{background:#1118278f!important;border:1px solid rgba(255,255,255,.06)!important;color:#f1f5f9f5!important}.mobile-nav-host .mobile-nav-redesign .btn.secondary.active,.mobile-nav-host .mobile-nav-redesign .btn.secondary[aria-current=page]{background:linear-gradient(180deg,#facc15f0,#f59e0beb)!important;border-color:#fde047d1!important;color:#111827!important;box-shadow:inset 0 1px #ffffff4d,0 10px 18px #78350f38!important}.mobile-nav-host .mobile-nav-redesign .btn.primary{justify-content:center!important;background:linear-gradient(180deg,#6ee7b7fa,#34d399f0)!important;color:#052e26!important;border:1px solid rgba(167,243,208,.76)!important}.mobile-nav-host .mobile-nav-redesign>a[href="/index.html"],.mobile-nav-host .mobile-nav-redesign>a[href="/map.html"],.mobile-nav-host .mobile-nav-redesign>a[href="/timeseries.html"],.mobile-nav-host .mobile-nav-redesign>#admin-link,.mobile-nav-host .mobile-nav-redesign>#login-btn{min-height:56px!important;height:56px!important;font-size:1rem!important}.mobile-nav-host .mobile-nav-redesign #avatar-link{align-self:center!important;width:54px!important;min-width:54px!important;max-width:54px!important;height:54px!important;min-height:54px!important;max-height:54px!important;margin:2px auto 10px!important;border-radius:999px!important;border:1px solid rgba(125,211,252,.28)!important;box-shadow:0 0 0 3px #082f4938!important;pointer-events:auto!important}.mobile-nav-host .mobile-nav-redesign .user-menu-trigger{pointer-events:auto!important}.mobile-nav-host .mobile-nav-redesign #profile-link{margin-top:auto!important;border-top:1px solid rgba(125,211,252,.12)!important;padding:0 16px!important;min-height:60px!important;height:60px!important;justify-content:center!important;text-align:center!important;font-size:1.02rem!important;font-weight:700!important;background:linear-gradient(180deg,#0e749047,#164e6338)!important;border-color:#67e8f929!important}.mobile-nav-host .mobile-nav-redesign #logout-btn{background:linear-gradient(180deg,#7f1d1d6b,#991b1b4d)!important;border:1px solid rgba(248,113,113,.22)!important;color:#fee2e2!important;min-height:60px!important;height:60px!important;justify-content:center!important;text-align:center!important;font-size:1.02rem!important;font-weight:700!important}}@media(max-height:500px)and (orientation:landscape){.mobile-nav-host .mobile-nav-redesign{width:min(54vw,224px)!important;max-width:min(54vw,224px)!important;padding:calc(40px + env(safe-area-inset-top)) 8px calc(8px + env(safe-area-inset-bottom))!important;gap:4px!important;overflow-y:hidden!important}.mobile-nav-host .mobile-nav-redesign .btn,.mobile-nav-host .mobile-nav-redesign .user-menu-item,.mobile-nav-host .mobile-nav-redesign>a[href="/index.html"],.mobile-nav-host .mobile-nav-redesign>a[href="/map.html"],.mobile-nav-host .mobile-nav-redesign>a[href="/timeseries.html"],.mobile-nav-host .mobile-nav-redesign>#admin-link,.mobile-nav-host .mobile-nav-redesign>#login-btn{min-height:36px!important;height:36px!important;font-size:.82rem!important;border-radius:10px!important;padding:0 10px!important}.mobile-nav-host .mobile-nav-redesign #profile-link,.mobile-nav-host .mobile-nav-redesign #logout-btn{min-height:40px!important;height:40px!important;font-size:.86rem!important}.mobile-nav-host .mobile-nav-redesign #avatar-link{width:34px!important;min-width:34px!important;max-width:34px!important;height:34px!important;min-height:34px!important;max-height:34px!important;margin:0 auto 4px!important;box-shadow:0 0 0 2px #0f172a3d!important}}@media(max-width:900px),(max-height:500px),(pointer:coarse){.mobile-nav-host .mobile-nav-redesign>a[href="/index.html"]{background:linear-gradient(180deg,#f472b647,#be185d33)!important;border-color:#f472b657!important;color:#fff1f7!important}.mobile-nav-host .mobile-nav-redesign>a[href="/map.html"]{background:linear-gradient(180deg,#22d3ee47,#0891b233)!important;border-color:#22d3ee57!important;color:#ecfeff!important}.mobile-nav-host .mobile-nav-redesign>a[href="/timeseries.html"]{background:linear-gradient(180deg,#facc154d,#f59e0b38)!important;border-color:#facc155c!important;color:#fffbea!important}.mobile-nav-host .mobile-nav-redesign>#admin-link{background:linear-gradient(180deg,#4ade8047,#16a34a33)!important;border-color:#4ade8057!important;color:#f0fdf4!important}.mobile-nav-host .mobile-nav-redesign .btn.secondary.active,.mobile-nav-host .mobile-nav-redesign .btn.secondary[aria-current=page]{background:linear-gradient(180deg,#fff4d6fa,#fee78af5)!important;border-color:#fde047db!important;color:#111827!important;box-shadow:inset 0 1px #ffffff5c,0 10px 18px #78350f38!important}.mobile-nav-host .mobile-nav-redesign #profile-link{background:linear-gradient(180deg,#3b82f657,#2563eb3d)!important;border-color:#60a5fa3d!important;color:#eff6ff!important}.mobile-nav-host .mobile-nav-redesign #logout-btn{background:linear-gradient(180deg,#ef444461,#b91c1c3d)!important;border-color:#f871714d!important;color:#fff1f2!important}}@media(max-width:900px),(max-height:500px),(pointer:coarse){.mobile-nav-host .mobile-nav-redesign>a[href="/index.html"]{background:linear-gradient(180deg,#f472b6,#db2777)!important;border-color:#fbcfe894!important;color:#fff7fb!important}.mobile-nav-host .mobile-nav-redesign>a[href="/map.html"]{background:linear-gradient(180deg,#22d3ee,#0891b2)!important;border-color:#a5f3fc94!important;color:#ecfeff!important}.mobile-nav-host .mobile-nav-redesign>a[href="/timeseries.html"]{background:linear-gradient(180deg,#fbbf24,#f59e0b)!important;border-color:#fde68aa3!important;color:#1f2937!important}.mobile-nav-host .mobile-nav-redesign>#admin-link{background:#1118278f!important;border-color:#ffffff0f!important;color:#f1f5f9f5!important}.mobile-nav-host .mobile-nav-redesign>#login-btn{background:#f5f7faf5!important;border-color:#ffffff5c!important;color:#0f172a!important}.mobile-nav-host .mobile-nav-redesign #profile-link{background:#1118278f!important;border-color:#ffffff0f!important;color:#f1f5f9f5!important}.mobile-nav-host .mobile-nav-redesign #logout-btn{background:#3a0c0c57!important;border-color:#f8717124!important;color:#fff1f2!important}.mobile-nav-host .mobile-nav-redesign .btn.secondary.active,.mobile-nav-host .mobile-nav-redesign .btn.secondary[aria-current=page]{box-shadow:inset 0 0 0 2px #ffffff6b,0 12px 24px #0f172a3d!important}}html{min-height:100%;background:#050811}body{min-height:100dvh;overscroll-behavior-y:none}body.dashboard-page,body.timeseries-page,body.map-page,body.admin-page,body.profile-page,body.lights-page{min-height:100dvh!important;background-color:#050811!important}body.dashboard-page .app,body.timeseries-page .app,body.admin-page .app,body.profile-page .app,body.lights-page .app{padding-left:max(0px,env(safe-area-inset-left))!important;padding-right:max(0px,env(safe-area-inset-right))!important;padding-bottom:max(40px,env(safe-area-inset-bottom))!important}body.map-page .app-header,body.map-page .app-footer{padding-left:max(14px,env(safe-area-inset-left))!important;padding-right:max(14px,env(safe-area-inset-right))!important}body.dashboard-page .device-card .group-row{overflow:visible!important}body.dashboard-page .device-card .group-plus-btn{margin-left:auto!important;margin-right:2px!important;position:relative!important;inset:auto!important;transform:none!important;flex:0 0 auto!important}@media(min-width:901px){body.map-page .app-header{min-height:64px!important;height:64px!important;padding:10px 16px!important;border-bottom:1px solid rgba(148,163,184,.14)!important;background:#070d18f0!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important}body.map-page .app-header .brand{min-height:44px!important;align-items:center!important}body.map-page .app-header .brand h1{font-size:1.18rem!important;line-height:1!important}body.map-page .app-header .header-actions{min-height:44px!important;align-items:center!important;gap:8px!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}}@media(max-width:900px),(pointer:coarse){html,body{background:#050811!important}body.dashboard-page .app,body.timeseries-page .app,body.map-page .app,body.admin-page .app,body.profile-page .app,body.lights-page .app{min-height:100dvh!important}body.map-page .app{padding-bottom:max(6px,env(safe-area-inset-bottom))!important}}@media(min-width:901px)and (hover:hover)and (pointer:fine){body.map-page #map .leaflet-bottom.leaflet-right{right:16px!important;bottom:72px!important}body.map-page #map .leaflet-control-zoom{margin-bottom:0!important;box-shadow:0 14px 28px #02061752!important}}body.map-page .map-legend{gap:12px!important}body.map-page .map-hex-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:8px 10px;border-radius:14px;background:#0f172a9e;border:1px solid rgba(148,163,184,.18);color:#e2e8f0;cursor:pointer}body.map-page .map-hex-toggle-copy{font-size:.84rem;font-weight:600;letter-spacing:.01em}body.map-page .map-hex-toggle-control{position:relative;flex:0 0 auto;display:inline-flex;align-items:center}body.map-page .map-hex-toggle-control input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}body.map-page .map-hex-toggle-track{position:relative;display:inline-flex;width:44px;height:26px;border-radius:999px;background:#475569c7;box-shadow:inset 0 0 0 1px #e2e8f014;transition:background-color .16s ease,box-shadow .16s ease}body.map-page .map-hex-toggle-track:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#f8fafc;box-shadow:0 4px 10px #0f172a47;transition:transform .16s ease}body.map-page .map-hex-toggle-control input:checked+.map-hex-toggle-track{background:linear-gradient(135deg,#22c55ee0,#10b981e0)}body.map-page .map-hex-toggle-control input:checked+.map-hex-toggle-track:after{transform:translate(18px)}body.map-page .map-hex-toggle-control input:focus-visible+.map-hex-toggle-track{box-shadow:inset 0 0 0 1px #e2e8f014,0 0 0 3px #38bdf83d}body.map-page .map-hex-cell{mix-blend-mode:screen}@media(max-width:900px),(pointer:coarse){body.map-page .map-hex-toggle{padding:7px 9px;border-radius:12px}body.map-page .map-hex-toggle-copy{font-size:.79rem}}:root{--polish-bg: #070b12;--polish-surface: rgba(10, 15, 24, .9);--polish-surface-strong: rgba(8, 12, 20, .96);--polish-border: rgba(148, 163, 184, .2);--polish-border-soft: rgba(148, 163, 184, .14);--polish-text: #e5edf7;--polish-muted: #9aa9bf;--polish-accent: #48c8a8;--polish-shadow: 0 12px 28px rgba(0, 0, 0, .34);--polish-radius: 14px}@media(min-width:901px)and (min-height:501px){body.dashboard-page #dashboard-filter-drawer .dashboard-filter-primary{justify-content:flex-start!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-primary .dashboard-filter-type{order:1!important;margin-right:auto!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-primary .dashboard-filter-sort{order:2!important;flex:0 0 180px!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-primary .dashboard-filter-search{order:3!important;flex:0 0 320px!important;margin-left:0!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-primary .dashboard-filter-group{order:4!important;flex:0 0 220px!important}}body{color:var(--polish-text);background:radial-gradient(circle at 14% 12%,rgba(72,200,168,.09),transparent 42%),radial-gradient(circle at 88% 5%,rgba(96,165,250,.08),transparent 38%),linear-gradient(180deg,#070b12,#0a1220 55%,#070d17)}body:before,body:after{display:none!important}.app{width:min(1280px,100%)}@media(min-width:901px)and (min-height:501px){body.dashboard-page .app-header,body.timeseries-page .app-header,body.admin-page .app-header,body.profile-page .app-header,body.lights-page .app-header{border-bottom:0!important;background:linear-gradient(180deg,#080c14e6,#080c14cc)!important;box-shadow:0 10px 22px #00000042!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important}body.dashboard-page .app,body.timeseries-page .app,body.admin-page .app,body.profile-page .app,body.lights-page .app{padding-left:8px;padding-right:8px}}.brand h1{letter-spacing:.015em;font-size:clamp(1.15rem,2vw,1.38rem);font-weight:600}.logo{opacity:.92}.btn,a.btn,.chip-button,.search-input,select,.group-filter-select{border-radius:10px}.btn{min-height:40px;font-size:.88rem;font-weight:600;letter-spacing:.01em}.btn.secondary,.chip-button,.group-plus-btn,.group-open-btn{border:1px solid var(--polish-border);background:#0f1624b8;color:var(--polish-text)}.btn.secondary:hover,.chip-button:hover,.group-plus-btn:hover,.group-open-btn:hover{border-color:#48c8a873;background:#111a2adb}.btn.primary,.chip-button.active{background:linear-gradient(135deg,#46d3ae,#2ca886);color:#032c25;border-color:transparent}.panel,.chart-wrap,.controls,.admin-users-panel,.admin-manage-panel,.profile-main-panel,.export-dialog-card,.group-dialog,.simple-auth-card{border:1px solid var(--polish-border);border-radius:var(--polish-radius);background:linear-gradient(180deg,#0a0f18f2,#080c14f2);box-shadow:var(--polish-shadow)}.panel-title{margin-bottom:8px;letter-spacing:.12em;color:var(--polish-muted)}.dashboard-page .device-grid{gap:14px}.device-card{border-radius:12px;border:1px solid var(--polish-border);background:linear-gradient(165deg,#0a101cfa,#070c14f5);box-shadow:0 10px 24px #0000004d}.device-card:after{opacity:.35}.device-card:hover,body.dashboard-page .device-card:hover{transform:translateY(-2px);box-shadow:0 14px 26px #0000005c}.card-face,.map-card.device-card .card-face{padding:18px 18px 16px 22px}.name{letter-spacing:.04em;text-transform:none;font-size:.96rem}.meta,.metric-label,.metric-value-label,.back-label,.group-text,.chart-title,.legend-item{color:var(--polish-muted)}.metric-value,.metric-item,.sparkline-wrap,.sparkline-item,.back-value-chip{background:#0c121ead;border-color:var(--polish-border-soft)}body.dashboard-page #dashboard-filter-drawer,body.timeseries-page #timeseries-filter-drawer{border-color:var(--polish-border)!important;border-radius:12px!important;background:linear-gradient(135deg,#0a101bf2,#070b14f2)!important;box-shadow:var(--polish-shadow)!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-layout,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-layout{align-items:center!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-search-input,body.dashboard-page #dashboard-filter-drawer .group-filter-select,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-search-input,body.timeseries-page #timeseries-filter-drawer .group-filter-select{border:1px solid var(--polish-border);background:#0c121ed6}@media(min-width:901px)and (min-height:501px){:root{--desktop-filter-height: 56px}body.dashboard-page #dashboard-filter-drawer,body.timeseries-page #timeseries-filter-drawer{min-height:var(--desktop-filter-height)!important;height:var(--desktop-filter-height)!important;padding:6px 10px!important;display:flex!important;align-items:center!important;border-radius:10px!important;border:1px solid rgba(148,163,184,.22)!important;background:linear-gradient(180deg,#0a101bf5,#080c14f5)!important;box-shadow:0 10px 20px #00000047!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-layout,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-layout,body.dashboard-page #dashboard-filter-drawer .dashboard-filter-primary,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-primary{min-height:100%!important;height:100%!important;align-items:center!important;gap:8px!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-type,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-type{flex:1 1 auto!important;order:1!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-group,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-group{flex:0 0 210px!important;order:2!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:6px!important;margin-left:0!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-search,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-search{flex:0 0 240px!important;order:3!important;margin-left:auto!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-section,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-section{align-content:center!important}body.dashboard-page #dashboard-filter-drawer .dashboard-type-chip-group,body.timeseries-page #timeseries-filter-drawer .dashboard-type-chip-group{align-items:center!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-search-controls,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-search-controls{height:32px!important;display:flex!important;align-items:center!important;gap:0!important;margin:0!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-search-input,body.dashboard-page #dashboard-filter-drawer .group-filter-select,body.dashboard-page #dashboard-filter-drawer .chip-button,body.dashboard-page #dashboard-filter-drawer .btn,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-search-input,body.timeseries-page #timeseries-filter-drawer .group-filter-select,body.timeseries-page #timeseries-filter-drawer .chip-button,body.timeseries-page #timeseries-filter-drawer .btn{min-height:32px!important;height:32px!important;padding:0 10px!important;border-radius:8px!important;font-size:.8rem!important;font-weight:600!important;line-height:1.1!important;border:1px solid rgba(148,163,184,.3)!important;background:#090e19bd!important;color:#e2e8f0f0!important;box-shadow:none!important}body.dashboard-page #dashboard-filter-drawer .chip-button:hover,body.dashboard-page #dashboard-filter-drawer .btn:hover,body.timeseries-page #timeseries-filter-drawer .chip-button:hover,body.timeseries-page #timeseries-filter-drawer .btn:hover{border-color:#38bdf88c!important;background:#0d1422e6!important;color:#f8fafc!important}body.dashboard-page #dashboard-filter-drawer .chip-button.active,body.timeseries-page #timeseries-filter-drawer .chip-button.active{border-color:#38bdf8e6!important;background:linear-gradient(180deg,#38bdf8eb,#0ea5e9eb)!important;color:#03131f!important}body.dashboard-page #dashboard-filter-drawer #dashboard-group-btn{width:32px!important;min-width:32px!important;max-width:32px!important;height:32px!important;min-height:32px!important;padding:0!important;font-size:1rem!important;line-height:1!important}}@media(min-width:901px)and (min-height:501px){:root{--desktop-filter-height: 48px;--desktop-filter-gap: 6px}body.dashboard-page #dashboard-filter-drawer,body.timeseries-page #timeseries-filter-drawer{position:fixed!important;top:var(--desktop-filter-top)!important;left:50%!important;right:auto!important;transform:translate(-50%)!important;width:min(var(--desktop-content-max-width),calc(100% - (var(--desktop-content-gutter) * 2)))!important;max-width:var(--desktop-content-max-width)!important;min-height:48px!important;height:48px!important;max-height:48px!important;margin:0!important;padding:4px 8px!important;border-radius:9px!important;border:1px solid #314158!important;background:#0b1324!important;box-shadow:0 8px 18px #00000047!important;overflow:hidden!important;z-index:14950!important}body.dashboard-page #dashboard-filter-drawer:before,body.dashboard-page #dashboard-filter-drawer:after,body.timeseries-page #timeseries-filter-drawer:before,body.timeseries-page #timeseries-filter-drawer:after{content:none!important;display:none!important;background:none!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-layout,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-layout{display:flex!important;align-items:center!important;gap:6px!important;min-height:100%!important;height:100%!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-primary,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-primary{display:flex!important;align-items:center!important;gap:6px!important;width:100%!important;min-height:100%!important;height:100%!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-section,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-section{display:flex!important;align-items:center!important;min-height:100%!important;height:100%!important;padding:0!important;margin:0!important;gap:6px!important;border:0!important;background:transparent!important;box-shadow:none!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-type,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-type{flex:1 1 auto!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-group,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-group{flex:0 0 190px!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:6px!important;margin-left:0!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-search,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-search{flex:0 0 210px!important;margin-left:auto!important}body.dashboard-page #dashboard-filter-drawer .dashboard-type-chip-group,body.timeseries-page #timeseries-filter-drawer .dashboard-type-chip-group{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;align-items:center!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-search-controls,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-search-controls{display:flex!important;align-items:center!important;min-height:28px!important;height:28px!important;margin:0!important;padding:0!important;gap:0!important;background:transparent!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-search-input,body.dashboard-page #dashboard-filter-drawer .group-filter-select,body.dashboard-page #dashboard-filter-drawer .chip-button,body.dashboard-page #dashboard-filter-drawer .btn,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-search-input,body.timeseries-page #timeseries-filter-drawer .group-filter-select,body.timeseries-page #timeseries-filter-drawer .chip-button,body.timeseries-page #timeseries-filter-drawer .btn{min-height:28px!important;height:28px!important;max-height:28px!important;line-height:28px!important;padding:0 8px!important;border-radius:7px!important;font-size:.74rem!important;font-weight:600!important;letter-spacing:.01em!important;text-transform:none!important;border:1px solid #3a4c69!important;background:#0f1b31!important;color:#e2e8f0!important;box-shadow:none!important;box-sizing:border-box!important;margin:0!important}body.dashboard-page #dashboard-filter-drawer .chip-button.active,body.timeseries-page #timeseries-filter-drawer .chip-button.active{border-color:#22d3ee!important;background:#22d3ee!important;color:#04131e!important}body.dashboard-page #dashboard-filter-drawer #dashboard-group-btn{width:28px!important;min-width:28px!important;max-width:28px!important;height:28px!important;min-height:28px!important;max-height:28px!important;padding:0!important;line-height:1!important;font-size:.92rem!important}body.dashboard-page .app,body.timeseries-page .app{padding-top:calc(var(--desktop-filter-top) + 48px + 6px)!important}body.timeseries-page .layout-split{margin-top:0!important}}@media(min-width:901px){body.dashboard-page #dashboard-filter-drawer,body.timeseries-page #timeseries-filter-drawer{min-height:46px!important;height:46px!important;max-height:46px!important;padding:4px 8px!important;border-radius:9px!important;border:1px solid #314158!important;background:#0b1324!important;background-color:#0b1324!important;background-image:none!important}body.dashboard-page #dashboard-filter-drawer:before,body.dashboard-page #dashboard-filter-drawer:after,body.timeseries-page #timeseries-filter-drawer:before,body.timeseries-page #timeseries-filter-drawer:after{content:none!important;display:none!important;background:none!important;background-image:none!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-layout,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-layout,body.dashboard-page #dashboard-filter-drawer .dashboard-filter-primary,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-primary,body.dashboard-page #dashboard-filter-drawer .dashboard-filter-section,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-section{min-height:100%!important;height:100%!important;align-items:center!important;align-content:center!important;gap:6px!important;margin:0!important;padding:0!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-group,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-group{flex:0 0 180px!important;grid-template-columns:minmax(0,1fr) auto!important;gap:6px!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-search,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-search{flex:0 0 200px!important;margin-left:auto!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-search-input,body.dashboard-page #dashboard-filter-drawer .group-filter-select,body.dashboard-page #dashboard-filter-drawer .chip-button,body.dashboard-page #dashboard-filter-drawer .btn,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-search-input,body.timeseries-page #timeseries-filter-drawer .group-filter-select,body.timeseries-page #timeseries-filter-drawer .chip-button,body.timeseries-page #timeseries-filter-drawer .btn{min-height:26px!important;height:26px!important;max-height:26px!important;line-height:26px!important;padding:0 8px!important;margin:0!important;border-radius:7px!important;font-size:.73rem!important;font-weight:600!important;letter-spacing:.01em!important;text-transform:none!important;border:1px solid #3a4c69!important;background:#0f1b31!important;background-color:#0f1b31!important;background-image:none!important;color:#e2e8f0!important;box-shadow:none!important;box-sizing:border-box!important}body.dashboard-page #dashboard-filter-drawer .chip-button.active,body.timeseries-page #timeseries-filter-drawer .chip-button.active{border-color:#22d3ee!important;background:#22d3ee!important;background-color:#22d3ee!important;color:#04131e!important}body.dashboard-page #dashboard-filter-drawer #dashboard-group-btn{width:26px!important;min-width:26px!important;max-width:26px!important;height:26px!important;min-height:26px!important;max-height:26px!important;line-height:1!important;padding:0!important;font-size:.9rem!important}body.dashboard-page .app,body.timeseries-page .app{padding-top:calc(var(--desktop-filter-top) + 46px + 6px)!important}body.timeseries-page .layout-split{margin-top:0!important}}@media(min-width:901px){body.dashboard-page .app-header,body.timeseries-page .app-header,body.map-page .app-header,body.admin-page .app-header,body.profile-page .app-header,body.lights-page .app-header{border-bottom:0!important;box-shadow:0 10px 22px #00000042!important;outline:0!important}}@media(min-width:901px)and (min-height:501px){.app-header .header-actions>a[href="/index.html"],.app-header .header-actions>a[href="/map.html"],.app-header .header-actions>a[href="/timeseries.html"],.app-header .header-actions>#admin-link{position:relative!important;min-height:36px!important;height:36px!important;padding:0 14px!important;border-radius:9px!important;border:1px solid rgba(133,163,211,.34)!important;background:linear-gradient(180deg,#18263feb,#0c1424eb)!important;color:#e8eef9!important;font-size:.84rem!important;font-weight:600!important;letter-spacing:.02em!important;line-height:36px!important;text-transform:none!important;box-shadow:inset 0 1px #ffffff14,0 7px 16px #040a163d!important;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease!important}.app-header .header-actions>a[href="/index.html"]:hover,.app-header .header-actions>a[href="/map.html"]:hover,.app-header .header-actions>a[href="/timeseries.html"]:hover,.app-header .header-actions>#admin-link:hover{border-color:#60a5fa9e!important;background:linear-gradient(180deg,#1f3253f5,#0f1b2ff5)!important;color:#f8fbff!important;transform:translateY(-1px)!important;box-shadow:inset 0 1px #ffffff1a,0 10px 18px #040a164d!important}.app-header .header-actions>a[href="/index.html"].active,.app-header .header-actions>a[href="/index.html"][aria-current=page],.app-header .header-actions>a[href="/map.html"].active,.app-header .header-actions>a[href="/map.html"][aria-current=page],.app-header .header-actions>a[href="/timeseries.html"].active,.app-header .header-actions>a[href="/timeseries.html"][aria-current=page],.app-header .header-actions>#admin-link.active,.app-header .header-actions>#admin-link[aria-current=page]{border-color:#4de2ffeb!important;background:linear-gradient(180deg,#4de2fff5,#23c2ecf0)!important;color:#052033!important;box-shadow:inset 0 1px #ffffff57,0 9px 18px #17abd347!important;transform:none!important}.app-header .header-actions>a[href="/index.html"]:focus-visible,.app-header .header-actions>a[href="/map.html"]:focus-visible,.app-header .header-actions>a[href="/timeseries.html"]:focus-visible,.app-header .header-actions>#admin-link:focus-visible{outline:2px solid rgba(77,226,255,.65)!important;outline-offset:2px!important}}body.admin-page .app{width:min(1020px,100%)}body.admin-page .admin-layout-simple{grid-template-columns:1fr;gap:10px}body.admin-page .admin-users-panel,body.admin-page .admin-manage-panel{padding:10px}body.admin-page .admin-toolbar{margin-bottom:14px}body.admin-page .admin-section{padding:0}body.admin-page .admin-section h3{margin-bottom:12px;font-size:.92rem;letter-spacing:.04em;text-transform:uppercase;color:var(--polish-muted)}body.admin-page .admin-device-list{border:1px solid var(--polish-border-soft);border-radius:10px;background:#0a0f18c7}body.admin-page .device-check{grid-template-columns:16px minmax(0,1fr) auto;gap:12px;min-height:38px;padding:10px 14px;background:#94a3b80a}body.admin-page .device-check span{font-size:.84rem}body.profile-page .profile-layout{margin-top:0}body.profile-page .profile-main-panel.panel{padding:14px}body.profile-page .profile-form,body.profile-page .profile-fields,body.profile-page .profile-avatar-section{gap:8px}body.profile-page .profile-avatar-section{border:1px solid var(--polish-border-soft);border-radius:12px;background:#0a101a85}body.profile-page .profile-stack-section{border:1px solid var(--polish-border-soft);border-radius:14px;background:#0a101a85}body.profile-page .profile-avatar-actions .btn,body.profile-page .profile-save-btn{min-height:36px}body.map-page .map-legend{border:1px solid var(--polish-border);border-radius:10px;background:#080c14eb;box-shadow:0 8px 22px #00000057}.simple-auth{background:radial-gradient(circle at 18% 14%,rgba(72,200,168,.1),transparent 40%),linear-gradient(180deg,#070b12,#0a1220)}.simple-auth-shell{padding:22px 14px 96px}.simple-auth-card{width:min(440px,100%);gap:12px}.simple-auth-form{gap:8px}.simple-auth-form input,.verify-form .code-input,.password-field input{border-radius:10px;border:1px solid var(--polish-border);background:#0c121ed6}.auth-title{font-size:1.35rem}.cookie-consent-banner{left:0;right:0;bottom:0;transform:none;width:auto;border:0;border-top:1px solid var(--polish-border);border-radius:0;background:#080c14f5;box-shadow:0 -8px 24px #00000052;padding:10px 14px calc(10px + env(safe-area-inset-bottom));grid-template-columns:1fr auto;align-items:center;gap:10px}.cookie-consent-text{font-size:.8rem;line-height:1.35}.cookie-consent-actions{flex-wrap:nowrap}.cookie-consent-actions .btn{min-height:32px;padding:0 12px;font-size:.82rem}.app-footer{border-top:1px solid var(--polish-border-soft);background:#080c14c7;color:var(--polish-muted);font-size:.7rem;letter-spacing:.01em}@media(max-width:900px){.app-header .brand .logo{width:44px}.header-actions .btn,.header-actions .user-menu-item,.mobile-filter-drawer .btn,.mobile-filter-drawer .chip-button,.mobile-filter-drawer .search-input,.mobile-filter-drawer .group-filter-select{min-height:48px!important;height:48px!important;line-height:1.2!important}.device-card,.map-card.device-card{min-height:286px}.cookie-consent-banner{grid-template-columns:1fr;padding:10px 12px calc(10px + env(safe-area-inset-bottom))}.cookie-consent-actions{width:100%}.cookie-consent-actions .btn{flex:1 1 0}}@media(min-width:901px)and (min-height:501px){:root{--desktop-filter-height: 52px}body.dashboard-page #dashboard-filter-drawer,body.timeseries-page #timeseries-filter-drawer{min-height:52px!important;height:52px!important;max-height:52px!important;padding:5px 10px!important;border-radius:10px!important;border:1px solid #2b3a52!important;background:#0b1324!important;box-shadow:0 8px 18px #00000047!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-layout,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-layout,body.dashboard-page #dashboard-filter-drawer .dashboard-filter-primary,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-primary,body.dashboard-page #dashboard-filter-drawer .dashboard-filter-section,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-section{min-height:100%!important;height:100%!important;align-items:center!important;align-content:center!important;gap:6px!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-group,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-group{flex:0 0 200px!important;grid-template-columns:minmax(0,1fr) auto!important;gap:6px!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-search,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-search{flex:0 0 220px!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-search-input,body.dashboard-page #dashboard-filter-drawer .group-filter-select,body.dashboard-page #dashboard-filter-drawer .chip-button,body.dashboard-page #dashboard-filter-drawer .btn,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-search-input,body.timeseries-page #timeseries-filter-drawer .group-filter-select,body.timeseries-page #timeseries-filter-drawer .chip-button,body.timeseries-page #timeseries-filter-drawer .btn{min-height:30px!important;height:30px!important;max-height:30px!important;padding:0 9px!important;border-radius:8px!important;font-size:.77rem!important;line-height:1.05!important;border:1px solid #384a67!important;background:#0f1b31!important;color:#e2e8f0!important;line-height:30px!important;box-sizing:border-box!important}body.dashboard-page #dashboard-filter-drawer .chip-button.active,body.timeseries-page #timeseries-filter-drawer .chip-button.active{border-color:#22d3ee!important;background:#22d3ee!important;color:#04131e!important}body.dashboard-page #dashboard-filter-drawer #dashboard-group-btn{width:30px!important;min-width:30px!important;max-width:30px!important;height:30px!important;min-height:30px!important;max-height:30px!important;padding:0!important;font-size:.95rem!important;line-height:1!important}}@media(min-width:901px){:root{--desktop-filter-height: 55px;--desktop-filter-gap: -6px}body.dashboard-page #dashboard-filter-drawer,body.timeseries-page #timeseries-filter-drawer{min-height:55px!important;height:55px!important;max-height:55px!important;padding:5px 10px!important;border-radius:10px!important;border:0!important;background:#0d172cb8!important;background-color:#0d172cb8!important;background-image:none!important;box-shadow:0 10px 18px #0000002e,inset 0 1px #ffffff08!important;overflow:hidden!important}body.dashboard-page #dashboard-filter-drawer:before,body.dashboard-page #dashboard-filter-drawer:after,body.timeseries-page #timeseries-filter-drawer:before,body.timeseries-page #timeseries-filter-drawer:after{content:none!important;display:none!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-layout,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-layout,body.dashboard-page #dashboard-filter-drawer .dashboard-filter-primary,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-primary,body.dashboard-page #dashboard-filter-drawer .dashboard-filter-section,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-section{min-height:100%!important;height:100%!important;align-items:center!important;align-content:center!important;margin:0!important;padding:0!important;gap:6px!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-group,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-group{flex:0 0 176px!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-search,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-search{flex:0 0 190px!important;margin-left:auto!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-search-controls,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-search-controls,body.dashboard-page #dashboard-filter-drawer .timeseries-search-controls,body.timeseries-page #timeseries-filter-drawer .timeseries-search-controls{min-height:31px!important;height:31px!important;max-height:31px!important;display:flex!important;align-items:center!important;margin:0!important;padding:0!important;gap:0!important;background:transparent!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-search-input,body.dashboard-page #dashboard-filter-drawer .group-filter-select,body.dashboard-page #dashboard-filter-drawer .chip-button,body.dashboard-page #dashboard-filter-drawer .btn,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-search-input,body.timeseries-page #timeseries-filter-drawer .group-filter-select,body.timeseries-page #timeseries-filter-drawer .chip-button,body.timeseries-page #timeseries-filter-drawer .btn{min-height:31px!important;height:31px!important;max-height:31px!important;line-height:31px!important;padding:0 7px!important;margin:0!important;border-radius:7px!important;font-size:.74rem!important;font-weight:600!important;letter-spacing:.01em!important;text-transform:none!important;border:0!important;background:#1426439e!important;background-color:#1426439e!important;background-image:none!important;color:#e2e8f0!important;box-shadow:none!important;box-sizing:border-box!important}body.dashboard-page #dashboard-filter-drawer .chip-button.active,body.timeseries-page #timeseries-filter-drawer .chip-button.active{border-color:#34d8f0!important;background:#34d8f0!important;background-color:#34d8f0!important;color:#051521!important}body.dashboard-page #dashboard-filter-drawer #dashboard-group-btn{width:31px!important;min-width:31px!important;max-width:31px!important;height:31px!important;min-height:31px!important;max-height:31px!important;padding:0!important;line-height:1!important;font-size:.94rem!important}body.dashboard-page .app,body.timeseries-page .app{padding-top:calc(var(--desktop-filter-top) + 55px - 6px)!important}body.dashboard-page .device-panel,body.timeseries-page .panel.layout-split,body.timeseries-page .layout-split{margin-top:0!important}}body.profile-modal-open{overflow:hidden!important}#profile-settings-modal.profile-settings-modal{width:min(980px,94vw);max-width:980px;height:min(72vh,560px);max-height:min(72vh,560px);border:0;padding:0;background:transparent;color:var(--polish-text)}#profile-settings-modal.profile-settings-modal::backdrop{background:#0307109e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.profile-settings-modal-shell{width:100%;height:100%;border:1px solid var(--polish-border);border-radius:14px;overflow:hidden;background:linear-gradient(180deg,#0a0f18fa,#080c14fa);box-shadow:0 24px 48px #00000080;position:relative}.profile-settings-modal-close{position:absolute!important;top:10px;right:10px;z-index:2;width:38px!important;min-width:38px!important;height:38px!important;min-height:38px!important;border-radius:999px!important}.profile-settings-modal-close:hover{border-color:#38bdf873!important;background:#080e1cf2!important}.profile-settings-modal-close-icon{width:18px!important;height:18px!important}#profile-settings-frame{width:100%;height:100%;border:0;background:transparent}@media(max-width:760px){#profile-settings-modal.profile-settings-modal{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0}.profile-settings-modal-shell{border-radius:0;border-left:0;border-right:0}}html.profile-embed-mode body .app-header,html.profile-embed-mode body .menu-scrim,html.profile-embed-mode body .app-footer,body.profile-embed-mode .app-header,body.profile-embed-mode .menu-scrim,body.profile-embed-mode .app-footer{display:none!important}html.profile-embed-mode body .app,body.profile-embed-mode .app{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}html.profile-embed-mode body .profile-layout,html.profile-embed-mode body .profile-main-panel,body.profile-embed-mode .profile-layout,body.profile-embed-mode .profile-main-panel{margin-top:0!important}html.profile-embed-mode,body.profile-embed-mode{background:transparent!important;height:100%!important;overflow:hidden!important}body.profile-embed-mode .profile-layout{padding:0!important;margin:0!important;min-height:100%!important}body.profile-embed-mode .profile-main-panel.panel,body.profile-embed-mode .profile-main-panel{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:10px 12px 12px!important;min-height:100%!important}body.profile-embed-mode .profile-panel-headline{margin-bottom:4px!important}body.profile-embed-mode .profile-page-title,body.profile-embed-mode .profile-page-subtitle{margin-top:0!important}body.profile-embed-mode .profile-panel-headline .panel-title,body.profile-embed-mode .profile-panel-headline .profile-page-title,body.profile-embed-mode .profile-panel-headline .profile-page-subtitle,body.profile-embed-mode .profile-avatar-preview-label,body.profile-embed-mode .profile-avatar-hint{display:none!important}body.profile-embed-mode .profile-avatar-section{gap:10px!important}body.profile-embed-mode .profile-form{gap:8px!important}body.profile-embed-mode .profile-form-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:12px!important;align-items:stretch!important}@media(max-width:900px)and (orientation:portrait){html.profile-embed-mode,body.profile-embed-mode{height:100%!important;overflow:auto!important}body.profile-embed-mode .app,body.profile-embed-mode .profile-layout{min-height:100dvh!important;padding:0!important}body.profile-embed-mode .profile-main-panel.panel,body.profile-embed-mode .profile-main-panel{min-height:auto!important;padding-bottom:calc(16px + env(safe-area-inset-bottom))!important}body.profile-page .profile-form-layout,body.profile-embed-mode .profile-form-layout{grid-template-columns:1fr!important;gap:14px!important}body.profile-page .profile-identity-grid,body.profile-embed-mode .profile-identity-grid{grid-template-columns:1fr!important}body.profile-page .profile-avatar-actions,body.profile-embed-mode .profile-avatar-actions{grid-template-columns:1fr!important;max-width:100%!important}body.profile-page .avatar-preset-grid,body.profile-embed-mode .avatar-preset-grid{max-width:248px!important}}@media(max-width:900px)and (orientation:landscape),(max-height:500px)and (orientation:landscape),(pointer:coarse)and (orientation:landscape){#profile-settings-modal.profile-settings-modal{width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;margin:0!important}.profile-settings-modal-shell{border-radius:0!important;border:0!important;grid-template-rows:48px minmax(0,1fr)!important}#profile-settings-frame{height:100%!important}html.profile-embed-mode,body.profile-embed-mode{height:100%!important;overflow:auto!important}body.profile-embed-mode .app,body.profile-embed-mode .profile-layout{min-height:100dvh!important;padding:0!important}body.profile-embed-mode .profile-main-panel.panel,body.profile-embed-mode .profile-main-panel{min-height:100dvh!important;padding:10px 12px 14px!important}body.profile-page .profile-form-layout,body.profile-embed-mode .profile-form-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:12px!important;align-items:start!important}body.profile-page .profile-form,body.profile-embed-mode .profile-form{min-height:calc(100dvh - 92px)!important;align-content:start!important}body.profile-page .profile-identity-grid,body.profile-embed-mode .profile-identity-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}body.profile-page .profile-stack-section,body.profile-embed-mode .profile-stack-section{align-content:start!important}body.profile-page .profile-avatar-section,body.profile-embed-mode .profile-avatar-section{align-self:stretch!important}body.profile-page .profile-avatar-actions,body.profile-embed-mode .profile-avatar-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important;max-width:100%!important}body.profile-page .avatar-preset-grid,body.profile-embed-mode .avatar-preset-grid{max-width:240px!important}body.profile-page .profile-actions-row,body.profile-embed-mode .profile-actions-row{grid-column:1 / -1!important;position:static!important;margin-top:auto!important;align-self:end!important;padding-top:10px!important;padding-bottom:calc(6px + env(safe-area-inset-bottom))!important;background:transparent!important}}body.profile-embed-mode .profile-stack-section{padding:12px!important}body.profile-embed-mode .profile-avatar-preview-wrap{min-height:108px!important}body.profile-embed-mode .profile-avatar-actions{max-width:320px!important;gap:8px!important}body.profile-embed-mode .avatar-preset-grid{max-width:228px!important;gap:8px!important}body.profile-embed-mode .profile-actions-row{padding-top:0!important}body.avatar-crop-open{overflow:hidden!important}.avatar-crop-dialog{width:min(780px,calc(100vw - 24px));border:0;padding:0;background:transparent}.avatar-crop-dialog::backdrop{background:#030710a8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.avatar-crop-card{width:100%;border:1px solid var(--polish-border);border-radius:14px;background:linear-gradient(180deg,#0a0f18fa,#080c14fa);box-shadow:0 24px 48px #0000007a;padding:14px;display:grid;gap:12px}.avatar-crop-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.avatar-crop-head h3{margin:0;font-size:1rem}.avatar-crop-body{display:grid;grid-template-columns:minmax(280px,1fr) 180px;gap:12px;align-items:start}.avatar-crop-stage{display:grid;gap:8px;justify-items:center}.avatar-crop-stage p{margin:0;color:var(--polish-muted);font-size:.8rem}.avatar-crop-stage canvas[data-crop-canvas]{width:min(360px,70vw);height:auto;border-radius:12px;border:1px solid var(--polish-border-soft);background:#080c14eb;cursor:grab;touch-action:none}.avatar-crop-stage canvas[data-crop-canvas].dragging{cursor:grabbing}.avatar-crop-controls{display:grid;gap:10px;align-content:start}.avatar-crop-zoom-label{font-size:.78rem;color:var(--polish-muted);text-transform:uppercase;letter-spacing:.08em}.avatar-crop-controls input[type=range]{width:100%}.avatar-crop-controls canvas[data-crop-preview]{width:84px;height:84px;border-radius:999px;border:1px solid var(--polish-border-soft);justify-self:center;background:#080c14eb}.avatar-crop-actions{display:flex;justify-content:flex-end;gap:10px}@media(max-width:820px){.avatar-crop-dialog{width:calc(100vw - 14px);margin:7px}.avatar-crop-card{padding:12px}.avatar-crop-body{grid-template-columns:1fr}.avatar-crop-controls{grid-template-columns:1fr auto auto;align-items:center;gap:10px}.avatar-crop-controls canvas[data-crop-preview]{width:72px;height:72px}}@media(max-width:900px)and (orientation:landscape){body.dashboard-page #dashboard-filter-drawer .dashboard-filter-primary,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-primary{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:stretch!important;gap:8px!important;min-height:0!important;height:100%!important;overflow:auto!important;padding:0 4px 0 0!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-primary .dashboard-filter-section,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-primary .dashboard-filter-section{margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-primary .dashboard-filter-type,body.dashboard-page #dashboard-filter-drawer .dashboard-filter-primary .dashboard-filter-search,body.dashboard-page #dashboard-filter-drawer .dashboard-filter-primary .dashboard-filter-group,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-primary .dashboard-filter-type,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-primary .dashboard-filter-search,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-primary .dashboard-filter-group{flex:0 0 auto!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-primary .chip-button,body.dashboard-page #dashboard-filter-drawer .dashboard-filter-primary .btn,body.dashboard-page #dashboard-filter-drawer .dashboard-filter-primary .dashboard-filter-search-input,body.dashboard-page #dashboard-filter-drawer .dashboard-filter-primary .group-filter-select,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-primary .chip-button,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-primary .btn,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-primary .dashboard-filter-search-input,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-primary .group-filter-select{box-shadow:none!important;filter:none!important;text-shadow:none!important;transform:none!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-primary .chip-button:hover,body.dashboard-page #dashboard-filter-drawer .dashboard-filter-primary .btn:hover,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-primary .chip-button:hover,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-primary .btn:hover{box-shadow:none!important;transform:none!important}}@media(min-width:901px)and (min-height:501px){body.map-page .app-header .brand{display:flex!important;align-items:center!important}body.map-page .app-header .header-actions{position:static!important;margin:0 0 0 auto!important;display:inline-flex!important;align-items:center!important;justify-content:flex-end!important;flex-wrap:nowrap!important;gap:8px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}body.map-page .app-header .header-actions:before{content:none!important;display:none!important}}:root{--radius: 20px;--panel: #0b1322;--panel-2: #0e1728;--border: rgba(148, 163, 184, .16);--shadow: 0 12px 26px rgba(2, 6, 23, .22);--shadow-soft: 0 8px 18px rgba(2, 6, 23, .18);--shadow-lg: 0 16px 34px rgba(2, 6, 23, .24)}body.dashboard-page:before,body.dashboard-page:after,body.timeseries-page:before,body.timeseries-page:after,body.map-page:before,body.map-page:after{opacity:.12}.app-header,.header-actions.nav-box,.map-page .header-actions.nav-box{background:transparent;border:0;box-shadow:none}.brand{gap:14px}.logo{opacity:.96;filter:invert(1)}.app-header h1,body .app-header .brand h1{letter-spacing:.02em}.panel,.chart-wrap,.admin-users-panel,.admin-manage-panel,.profile-main-panel,.simple-auth-card,.group-dialog-form,.export-dialog-card,.map-legend,.aqi-status{background:#0b1322f0;border:1px solid rgba(148,163,184,.14);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:none;backdrop-filter:none}.panel:before,.chart-wrap:before,.device-card:after,.map-card.device-card:after{display:none!important}.device-card,body.dashboard-page .device-card,.map-card.device-card,.map-card.device-card .card-face,.map-card.device-card .card-back,.map-card.device-card .card-inner{background:#0b1322f5;border:1px solid rgba(148,163,184,.14);box-shadow:var(--shadow-soft);border-radius:20px}.device-card:hover,body.dashboard-page .device-card:hover,.map-card.device-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.card-face,.card-back{gap:16px}.map-card,.map-card.device-card,.map-card.device-card .card-face,.map-card.device-card .card-back,.map-card.device-card:before,.map-card.device-card .card-inner{border-radius:20px!important}.btn.secondary,.chip-button,.menu-toggle,.filter-toggle,.search-input,select,.group-filter-select,.mono-input{background:#0e1728f5;border:1px solid rgba(148,163,184,.16);box-shadow:none}.btn.secondary:hover,.chip-button:hover,.menu-toggle:hover,.filter-toggle:hover{background:#141f34fa;border-color:#94a3b83d;transform:none}.chip-button.active,.chip-button[aria-pressed=true],body.dashboard-page .chip-button.active,body.timeseries-page .chip-button.active{box-shadow:none}.panel-title,.metric-value-label,.metric-title,.legend-item,.meta,.device-id,.chart-range .filter-label{letter-spacing:.04em}.sparkline-item,.device-item{background:#0e1728c2;border:1px solid rgba(148,163,184,.12);box-shadow:none}.map-legend,body.map-page #map-legend{min-width:180px;padding:14px}body.timeseries-page .chart-wrap,body.timeseries-page .layout-split>.panel.tight,body.timeseries-page #timeseries-controls-popup.panel.tight{background:#0b1322f2;border-color:#94a3b824;box-shadow:var(--shadow-soft)}body.timeseries-page .layout-split>.chart-wrap:before,body.timeseries-page .layout-split>.chart-wrap:after,body.timeseries-page #timeseries-controls-popup.panel.tight:before,body.timeseries-page #timeseries-controls-popup.panel.tight:after{display:none!important}@media(min-width:901px)and (min-height:501px){body.timeseries-page #timeseries-filter-drawer .timeseries-drawer-range,body.timeseries-page #timeseries-filter-drawer .timeseries-drawer-metric,body.timeseries-page .chart-legend{display:none!important}body.timeseries-page .layout-split{width:100%!important;max-width:100%!important;margin:0 auto!important}body.timeseries-page .layout-split>.chart-wrap{width:100%!important;max-width:100%!important;margin:0 auto!important;overflow:hidden!important}body.timeseries-page .chart-header{align-items:end!important;gap:12px!important;justify-content:center!important}body.timeseries-page .chart-metric{min-width:150px!important}body.timeseries-page .chart-zoom-controls{display:inline-flex!important;align-items:center!important;gap:8px!important;margin-left:4px!important}body.timeseries-page .chart-zoom-btn{min-width:38px!important;height:38px!important;min-height:38px!important;padding:0 10px!important;border-radius:12px!important;border:1px solid rgba(148,163,184,.16)!important;background:#080e1cd1!important;color:#e2e8f0f0!important;box-shadow:none!important}body.timeseries-page .chart-zoom-btn svg{width:16px!important;height:16px!important}body.timeseries-page .chart-zoom-btn svg circle,body.timeseries-page .chart-zoom-btn svg path{fill:none!important;stroke:currentColor!important;stroke-width:1.9!important;stroke-linecap:round!important;stroke-linejoin:round!important}body.timeseries-page .chart-zoom-reset{min-width:66px!important;font-size:.78rem!important;letter-spacing:.05em!important}body.timeseries-page .chart-zoom-mode{min-width:42px!important;width:42px!important;padding:0!important}body.timeseries-page .chart-zoom-btn:hover:not(:disabled){border-color:#22d3ee66!important;background:#0a1424f5!important;color:#f8fafc!important}body.timeseries-page .chart-zoom-btn.active,body.timeseries-page .chart-zoom-btn[aria-pressed=true]{border-color:#22d3eee6!important;background:linear-gradient(180deg,#22d3eefa,#0ea5e9eb)!important;color:#03101a!important;box-shadow:0 0 0 1px #22d3ee24,0 10px 22px #0ea5e93d!important}body.timeseries-page .chart-zoom-mode-icon{width:18px!important;height:18px!important}body.timeseries-page .chart-zoom-mode-icon path,body.timeseries-page .chart-zoom-mode-icon rect{fill:none!important;stroke:currentColor!important;stroke-width:1.9!important;stroke-linecap:round!important;stroke-linejoin:round!important}body.timeseries-page .chart-zoom-btn:disabled{opacity:.42!important;cursor:default!important}body.timeseries-page #timeseries-controls-popup.panel.tight{display:grid!important;grid-template-rows:auto auto minmax(0,1fr) auto!important;gap:0!important;width:min(360px,calc(100vw - 32px))!important;max-width:min(360px,calc(100vw - 32px))!important;min-height:0!important;height:min(40dvh,calc(100dvh - var(--desktop-content-top-with-filter) - 56px))!important;max-height:min(40dvh,calc(100dvh - var(--desktop-content-top-with-filter) - 56px))!important;padding:0!important;overflow:hidden!important;border:1px solid rgba(148,163,184,.18)!important;border-radius:22px!important;background:linear-gradient(180deg,#121c30fa,#080e1afa)!important;box-shadow:0 26px 60px #02061780,inset 0 1px #ffffff0a!important;-webkit-backdrop-filter:blur(18px)!important;backdrop-filter:blur(18px)!important;cursor:default!important}body.timeseries-page #timeseries-controls-popup.panel.tight:before{content:""!important;display:block!important;position:absolute!important;inset:0 0 auto!important;height:72px!important;background:linear-gradient(135deg,rgba(34,211,238,.18),rgba(14,165,233,.04) 58%,transparent)!important;pointer-events:none!important}body.timeseries-page #timeseries-controls-popup.panel.tight .timeseries-panel-head{position:relative!important;z-index:1!important;align-items:flex-start!important;margin:0!important;padding:18px 18px 14px!important;border-bottom:1px solid rgba(148,163,184,.1)!important;cursor:move!important}body.timeseries-page .timeseries-panel-copy{display:grid!important;gap:4px!important;min-width:0!important}body.timeseries-page #timeseries-controls-popup.panel.tight .timeseries-panel-head .panel-title{margin:0!important;font-size:.76rem!important;letter-spacing:.18em!important;color:#bac9dcbd!important}body.timeseries-page .timeseries-panel-summary{margin:0!important;color:#e2e8f0eb!important;font-size:.94rem!important;line-height:1.35!important;font-weight:600!important}body.timeseries-page .timeseries-panel-close{width:36px!important;min-width:36px!important;height:36px!important;min-height:36px!important;border:1px solid rgba(148,163,184,.18)!important;background:#0a101ebd!important;box-shadow:none!important;transition:border-color .16s ease,background .16s ease,color .16s ease!important}body.timeseries-page .timeseries-panel-close:hover{border-color:#22d3ee6b!important;background:#0e1728f5!important;color:#f8fafc!important}body.timeseries-page #timeseries-controls-popup.panel.tight .device-list-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin:0!important;padding:14px 18px!important;border-bottom:1px solid rgba(148,163,184,.08)!important}body.timeseries-page #timeseries-controls-popup.panel.tight .device-list-actions .chip-button{width:100%!important;min-height:40px!important;border-radius:12px!important;border-color:#94a3b82e!important;background:#090f1cc2!important;color:#e2e8f0f0!important}body.timeseries-page #timeseries-controls-popup.panel.tight .device-list{min-height:0!important;max-height:none!important;margin:0 12px!important;padding:12px 6px!important;gap:8px!important}body.timeseries-page #timeseries-controls-popup.panel.tight .device-item{grid-template-columns:18px minmax(0,1fr)!important;gap:12px!important;align-items:start!important;padding:12px 14px!important;border-radius:16px!important;border:1px solid rgba(148,163,184,.14)!important;background:linear-gradient(180deg,#0c1424eb,#070c16eb)!important;transition:border-color .16s ease,background .16s ease,transform .16s ease,box-shadow .16s ease!important}body.timeseries-page #timeseries-controls-popup.panel.tight .device-item:hover{transform:translateY(-1px)!important;border-color:#22d3ee57!important;background:linear-gradient(180deg,#0e1728f5,#080e1af5)!important;box-shadow:0 12px 22px #0206173d!important}body.timeseries-page #timeseries-controls-popup.panel.tight .device-item:has(input:checked){border-color:#22d3ee85!important;background:linear-gradient(180deg,#0a192bfa,#08111efa)!important;box-shadow:inset 0 0 0 1px #22d3ee1f,0 14px 28px #02061747!important}body.timeseries-page #timeseries-controls-popup.panel.tight .device-item input{margin-top:2px!important;border-color:#94a3b870!important;background:#020617d1!important}body.timeseries-page #timeseries-controls-popup.panel.tight .device-item input:checked{border-color:#22d3eee0!important;box-shadow:0 0 0 3px #22d3ee24!important}body.timeseries-page .device-copy{display:grid!important;grid-template-rows:auto auto auto!important;gap:3px!important;min-width:0!important}body.timeseries-page #timeseries-controls-popup.panel.tight .device-name{display:block!important;font-size:.95rem!important;font-weight:600!important;line-height:1.3!important;color:#f8fafc!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}body.timeseries-page #timeseries-controls-popup.panel.tight .device-meta{display:block!important;margin:0!important;font-size:.74rem!important;line-height:1.35!important;letter-spacing:.06em!important;text-transform:uppercase!important;color:#94a3b8e6!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}body.timeseries-page #timeseries-controls-popup.panel.tight .device-group-meta{letter-spacing:.02em!important;text-transform:none!important;color:#bac9dceb!important}body.timeseries-page #timeseries-controls-popup.panel.tight .device-popup-name,body.timeseries-page #timeseries-controls-popup.panel.tight .device-popup-chip,body.timeseries-page #timeseries-controls-popup.panel.tight .device-popup-group{display:block!important;min-width:0!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere!important;word-break:break-word!important}body.timeseries-page #timeseries-controls-popup.panel.tight .device-popup-name{line-height:1.28!important}body.timeseries-page #timeseries-controls-popup.panel.tight .device-popup-chip,body.timeseries-page #timeseries-controls-popup.panel.tight .device-popup-group{font-size:.72rem!important;line-height:1.28!important}body.timeseries-page .timeseries-device-empty{display:grid!important;gap:6px!important;align-content:center!important;min-height:180px!important;padding:18px!important;border-radius:18px!important;border:1px dashed rgba(148,163,184,.18)!important;background:#080e1a99!important;color:#bac9dce0!important;text-align:center!important}body.timeseries-page .timeseries-device-empty strong{font-size:.94rem!important;color:#f8fafc!important}body.timeseries-page .timeseries-device-empty span{font-size:.82rem!important;color:#94a3b8eb!important}body.timeseries-page #timeseries-controls-popup.panel.tight .device-list-footer{display:flex!important;justify-content:stretch!important;margin:0!important;padding:14px 18px 18px!important;border-top:1px solid rgba(148,163,184,.1)!important;background:linear-gradient(180deg,#080e1a1a,#080e1ac7)!important}body.timeseries-page #timeseries-controls-popup.panel.tight .device-list-footer .chip-button{width:100%!important;min-height:42px!important;border-radius:13px!important}body.timeseries-page .timeseries-panel-open{border-color:#94a3b82e!important;background:#080e1ceb!important;box-shadow:0 18px 38px #02061757!important}body.timeseries-page .chart-tooltip{width:264px!important;max-width:264px!important;min-height:64px!important;padding:10px 12px!important}body.timeseries-page .chart-tooltip-time{white-space:nowrap!important}body.timeseries-page .chart-tooltip-detail{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:start!important;gap:12px!important;min-width:0!important}body.timeseries-page .chart-tooltip-copy{display:grid!important;grid-template-rows:auto auto auto!important;gap:2px!important;min-width:0!important}body.timeseries-page .chart-tooltip-name,body.timeseries-page .chart-tooltip-chip,body.timeseries-page .chart-tooltip-group{min-width:0!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere!important;word-break:break-word!important}body.timeseries-page .chart-tooltip-name{color:#f8fafc!important;font-weight:600!important;line-height:1.25!important}body.timeseries-page .chart-tooltip-chip{color:#94a3b8f5!important;font-size:.76rem!important;letter-spacing:.06em!important;text-transform:uppercase!important;line-height:1.22!important}body.timeseries-page .chart-tooltip-group{color:#bac9dceb!important;font-size:.78rem!important;line-height:1.22!important}body.timeseries-page .chart-tooltip-reading{display:inline-grid!important;grid-auto-flow:column!important;align-items:center!important;gap:8px!important;min-width:max-content!important;padding-top:2px!important}body.timeseries-page .chart-tooltip-single{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;min-width:0!important}body.timeseries-page .chart-tooltip-label{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;min-width:0!important}body.timeseries-page .chart-tooltip-value{white-space:nowrap!important;min-width:72px!important;text-align:right!important}body.timeseries-page #series-chart,body.timeseries-page #series-chart .uplot,body.timeseries-page #series-chart .u-wrap,body.timeseries-page #series-chart .u-over,body.timeseries-page #series-chart .u-under,body.timeseries-page #series-chart canvas{width:100%!important;max-width:100%!important}body.timeseries-page #series-chart .u-select{border:1px solid rgba(34,211,238,.82)!important;background:linear-gradient(180deg,#22d3ee2e,#0ea5e91a)!important;box-shadow:inset 0 0 0 1px #ffffff0f,0 0 0 1px #22d3ee1a!important}body.timeseries-page .chart-drag-zoom-box{position:absolute!important;top:0!important;bottom:0!important;z-index:9!important;pointer-events:none!important;border:1px solid rgba(34,211,238,.82)!important;background:linear-gradient(180deg,#22d3ee2e,#0ea5e91a)!important;box-shadow:inset 0 0 0 1px #ffffff0f,0 0 0 1px #22d3ee1a!important}body.timeseries-page #series-chart.chart-select-zoom-active,body.timeseries-page .uplot.chart-select-zoom-active,body.timeseries-page .chart-select-zoom-active .u-over{cursor:crosshair!important}}@media(max-width:900px){body.timeseries-page #timeseries-filter-drawer .dashboard-filter-layout,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-primary{gap:8px!important}body.timeseries-page #timeseries-filter-drawer .dashboard-filter-section,body.timeseries-page #timeseries-filter-drawer .dashboard-type-chip-group,body.timeseries-page #timeseries-filter-drawer .timeseries-drawer-range #range-chips-mobile,body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-picker-actions{gap:6px!important}body.timeseries-page #timeseries-filter-drawer .dashboard-filter-search-input,body.timeseries-page #timeseries-filter-drawer .group-filter-select,body.timeseries-page #timeseries-filter-drawer .chip-button,body.timeseries-page #timeseries-filter-drawer .btn{min-height:38px!important;height:38px!important;font-size:.8rem!important}body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-list-wrap{border-radius:14px!important}body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-item{padding:10px 0!important}}.simple-auth-card,.auth-status{box-shadow:var(--shadow-soft)}.auth-status{background:#0e1728e6}@media(max-width:900px){.panel,.chart-wrap,.device-card,.map-card.device-card,.simple-auth-card{box-shadow:0 10px 20px #02061729}}@media(max-width:900px)and (orientation:portrait){body.timeseries-page .app-footer{display:none!important}body.timeseries-page .filter-toggle{display:inline-grid!important}body.timeseries-page .mobile-filter-drawer,body.timeseries-page .layout-split{display:grid!important}body.timeseries-page .filter-scrim{display:block!important}body.timeseries-page .timeseries-rotate-portrait{display:none!important}body.timeseries-page .app{padding:calc(86px + env(safe-area-inset-top)) 8px calc(8px + env(safe-area-inset-bottom))!important}body.timeseries-page .panel.layout-split{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}body.timeseries-page .layout-split{display:grid!important;grid-template-columns:1fr!important;gap:0!important}body.timeseries-page .layout-split>.panel.tight{display:none!important}body.timeseries-page .chart-wrap{display:grid!important;grid-template-rows:auto auto minmax(0,1fr)!important;min-height:calc(100dvh - 146px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;padding:12px 10px 10px!important;border-radius:18px!important;overflow:hidden!important}body.timeseries-page .chart-header{position:static!important;inset:auto!important;transform:none!important;display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin:0 0 8px!important;padding:0!important}body.timeseries-page .chart-title-block,body.timeseries-page .chart-range,body.timeseries-page .chart-metric,body.timeseries-page .chart-legend{display:block!important;width:100%!important}body.timeseries-page .chart-title{font-size:.9rem!important;line-height:1.25!important;letter-spacing:.03em!important;white-space:normal!important}body.timeseries-page .chart-range{display:grid!important;grid-template-columns:auto 1fr!important;align-items:start!important;gap:8px!important;margin:0!important;padding:0!important}body.timeseries-page .chart-range .filter-label{display:block!important;padding-top:0!important;font-size:.68rem!important;font-weight:700!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:#bac9dce6!important}body.timeseries-page .chart-range #range-chips{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;width:100%!important}body.timeseries-page .chart-range #range-chips .chip-button{min-height:46px!important;height:46px!important;padding:0 10px!important;border-radius:12px!important;font-size:.82rem!important}body.timeseries-page .chart-metric{display:grid!important;grid-template-columns:1fr!important;gap:6px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}body.timeseries-page .chart-metric span{display:block!important;font-size:.68rem!important;font-weight:700!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:#bac9dce6!important}body.timeseries-page .chart-metric select{width:100%!important;min-width:0!important;height:44px!important;min-height:44px!important;padding:0 12px!important;border-radius:12px!important;font-size:.95rem!important}body.timeseries-page .chart-legend{display:flex!important;flex-wrap:nowrap!important;gap:8px!important;overflow-x:auto!important;overflow-y:hidden!important;margin:0 0 4px!important;padding:0 10px 4px 0!important;scrollbar-width:thin!important;scroll-padding-right:10px!important;-webkit-overflow-scrolling:touch!important}body.timeseries-page .chart-legend .legend-item{flex:0 0 auto!important;min-width:max-content!important;white-space:nowrap!important}body.timeseries-page #series-chart.uplot-container{min-height:58dvh!important;height:58dvh!important;margin:0!important}}@media(max-width:900px)and (orientation:landscape){body.timeseries-page .app-footer{display:none!important}body.timeseries-page .app{padding:calc(42px + env(safe-area-inset-top)) 6px calc(4px + env(safe-area-inset-bottom))!important;overflow:hidden!important}body.timeseries-page .panel.layout-split{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}body.timeseries-page .layout-split{display:grid!important;grid-template-columns:1fr!important;gap:0!important;min-height:calc(100dvh - 44px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important}body.timeseries-page .layout-split>.panel.tight{display:none!important}body.timeseries-page .chart-wrap{display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;min-height:calc(100dvh - 44px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;padding:2px 4px 1px 2px!important;border-radius:12px!important;overflow:hidden!important}body.timeseries-page .chart-wrap:before,body.timeseries-page .chart-wrap:after{display:none!important}body.timeseries-page .chart-header{position:fixed!important;top:calc(6px + env(safe-area-inset-top))!important;left:calc(52px + env(safe-area-inset-left))!important;right:calc(52px + env(safe-area-inset-right))!important;bottom:auto!important;display:grid!important;grid-template-columns:minmax(0,1fr) 118px!important;grid-template-areas:"range metric"!important;align-items:center!important;gap:5px!important;margin:0!important;padding:0!important;z-index:20060!important;pointer-events:auto!important}body.timeseries-page .chart-header *{pointer-events:auto!important}body.timeseries-page .chart-title-block{display:none!important;min-width:0!important}body.timeseries-page .chart-title{display:none!important}body.timeseries-page .chart-metric{grid-area:metric!important;position:static!important;display:inline-grid!important;grid-template-columns:1fr!important;gap:4px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}body.timeseries-page .chart-metric span{display:none!important}body.timeseries-page .chart-metric select{width:108px!important;min-width:108px!important;min-height:26px!important;height:26px!important;padding:0 7px!important;border-radius:9px!important;font-size:.68rem!important}body.timeseries-page .chart-range{grid-area:range!important;position:static!important;display:block!important;width:100%!important;margin:0!important;padding:0!important;transform:none!important;pointer-events:auto!important}body.timeseries-page .chart-range .filter-label{display:none!important}body.timeseries-page .chart-range #range-chips{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:4px!important;width:100%!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}body.timeseries-page .chart-range #range-chips .chip-button{min-height:26px!important;height:26px!important;padding:0 4px!important;font-size:.64rem!important;border-radius:8px!important;white-space:nowrap!important}body.timeseries-page .chart-legend{position:static!important;left:auto!important;right:auto!important;bottom:auto!important;display:flex!important;align-items:center!important;flex-wrap:nowrap!important;gap:4px!important;width:100%!important;margin:4px 0 0!important;padding:0 2px 0 0!important;border:0!important;background:transparent!important;box-shadow:none!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:thin!important;-webkit-overflow-scrolling:touch!important;z-index:auto!important;pointer-events:auto!important}body.timeseries-page .chart-legend .legend-item{flex:0 0 auto!important;min-width:max-content!important;padding:1px 5px!important;border-radius:999px!important;background:#0e1728d1!important;border:1px solid rgba(148,163,184,.18)!important;font-size:.56rem!important;white-space:nowrap!important;line-height:1.1!important;color:#e2e8f0eb!important}body.timeseries-page #series-chart.uplot-container{min-height:0!important;height:100%!important;margin:0!important;width:100%!important}}@media(max-width:900px){body.timeseries-page .chart-header{display:none!important}body.timeseries-page .chart-title-mobile{display:block!important;margin:0 0 4px!important;padding:0 2px!important;font-size:.76rem!important;line-height:1.25!important;letter-spacing:.08em!important;color:#e2e8f0c7!important;text-transform:uppercase!important;white-space:normal!important;text-align:center!important}body.timeseries-page .chart-wrap{grid-template-rows:auto minmax(0,1fr) auto!important;padding-bottom:2px!important}body.timeseries-page #series-chart.uplot-container{grid-row:2!important;min-height:0!important;height:100%!important;margin-left:-10px!important;width:calc(100% + 10px)!important}body.timeseries-page .chart-legend{grid-row:3!important}body.timeseries-page .chart-legend{display:flex!important;flex-wrap:nowrap!important;gap:5px!important;margin:4px 0 0!important;padding:0 2px 0 0!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:thin!important;-webkit-overflow-scrolling:touch!important}body.timeseries-page .chart-legend .legend-item{flex:0 0 auto!important;min-width:max-content!important;padding:1px 6px!important;border-radius:999px!important;background:#0e1728d1!important;border:1px solid rgba(148,163,184,.18)!important;font-size:.6rem!important;line-height:1.1!important;white-space:nowrap!important;color:#e2e8f0eb!important}body.timeseries-page .timeseries-drawer-range #range-chips-mobile{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important;width:100%!important}body.timeseries-page .timeseries-drawer-range #range-chips-mobile .chip-button{min-height:32px!important;height:32px!important;padding:0 6px!important;border-radius:10px!important;font-size:.72rem!important}body.timeseries-page #metric-select-mobile{width:100%!important;min-width:0!important;min-height:36px!important;height:36px!important;font-size:.82rem!important}}@media(max-width:900px)and (max-height:500px)and (orientation:landscape){body.timeseries-page .app-footer{display:none!important}body.timeseries-page .app{padding:0 0 calc(8px + env(safe-area-inset-bottom)) 0!important}body.timeseries-page .chart-wrap{padding-bottom:0!important}body.timeseries-page .chart-legend{display:flex!important;align-items:center!important;gap:4px!important;position:fixed!important;left:8px!important;right:8px!important;width:auto!important;bottom:calc(6px + env(safe-area-inset-bottom))!important;margin:0!important;padding:4px 8px!important;border:1px solid rgba(148,163,184,.14)!important;border-radius:12px!important;background:#070c16b8!important;box-shadow:none!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch!important;z-index:16006!important}body.timeseries-page .chart-legend::-webkit-scrollbar{display:none!important}body.timeseries-page .chart-legend:empty{display:none!important}body.timeseries-page .chart-legend .legend-item{flex:0 0 auto!important;margin:0!important;padding:2px 6px!important;border:0!important;border-radius:999px!important;background:#0e1728c7!important;font-size:.6rem!important;white-space:nowrap!important;line-height:1.1!important;color:#e2e8f0eb!important}}@media(max-width:900px){body.timeseries-page .chart-zoom-controls,body.timeseries-page .chart-legend{display:none!important}body.timeseries-page .chart-tooltip{max-width:min(78vw,280px)!important;padding:10px 12px!important;border-radius:12px!important;background:#080e1ceb!important;border-color:#94a3b833!important}body.timeseries-page .chart-tooltip-detail{grid-template-columns:minmax(0,1fr)!important;gap:8px!important}body.timeseries-page .chart-tooltip-reading{justify-content:flex-start!important;min-width:0!important;padding-top:0!important}body.timeseries-page .chart-tooltip-row,body.timeseries-page .chart-tooltip-single{gap:8px!important}}@media(max-width:900px)and (orientation:landscape){body.timeseries-page #timeseries-filter-drawer{padding:calc(4px + env(safe-area-inset-top)) 10px calc(8px + env(safe-area-inset-bottom))!important}body.timeseries-page #timeseries-filter-drawer .dashboard-filter-layout{grid-template-columns:minmax(232px,46%) minmax(0,54%)!important;gap:8px!important}body.timeseries-page #timeseries-filter-drawer .dashboard-filter-primary{overflow:hidden!important;padding-right:0!important;gap:6px!important;align-content:start!important}body.timeseries-page #timeseries-filter-drawer .dashboard-filter-section,body.timeseries-page #timeseries-filter-drawer .dashboard-type-chip-group,body.timeseries-page #timeseries-filter-drawer .timeseries-drawer-range #range-chips-mobile{gap:4px!important}body.timeseries-page #timeseries-filter-drawer .dashboard-filter-search-input,body.timeseries-page #timeseries-filter-drawer .group-filter-select,body.timeseries-page #timeseries-filter-drawer .chip-button,body.timeseries-page #timeseries-filter-drawer .btn{min-height:32px!important;height:32px!important;font-size:.74rem!important}body.timeseries-page #timeseries-filter-drawer .dashboard-type-chip-group .chip-button,body.timeseries-page #timeseries-filter-drawer .timeseries-drawer-range #range-chips-mobile .chip-button{min-height:30px!important;height:30px!important;padding:0 4px!important;font-size:.68rem!important}body.timeseries-page #timeseries-filter-drawer #metric-select-mobile{min-height:32px!important;height:32px!important;font-size:.74rem!important}}@media(max-width:900px)and (orientation:landscape){body.timeseries-page #timeseries-filter-drawer .dashboard-filter-layout{grid-template-columns:minmax(236px,47%) minmax(0,53%)!important;align-items:start!important;justify-content:stretch!important;gap:10px!important}body.timeseries-page #timeseries-filter-drawer .dashboard-filter-primary{display:grid!important;grid-auto-rows:min-content!important;align-content:start!important;justify-items:stretch!important;overflow:visible!important;height:auto!important;max-height:none!important;padding-right:0!important;gap:8px!important}body.timeseries-page #timeseries-filter-drawer .dashboard-filter-type,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-search,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-group,body.timeseries-page #timeseries-filter-drawer .timeseries-drawer-range,body.timeseries-page #timeseries-filter-drawer .timeseries-drawer-metric{width:100%!important;min-width:0!important;margin:0!important;justify-self:stretch!important;align-self:start!important}body.timeseries-page #timeseries-filter-drawer .dashboard-filter-search-controls,body.timeseries-page #timeseries-filter-drawer .dashboard-type-chip-group,body.timeseries-page #timeseries-filter-drawer .timeseries-drawer-range #range-chips-mobile{width:100%!important}body.timeseries-page #timeseries-filter-drawer .dashboard-type-chip-group,body.timeseries-page #timeseries-filter-drawer .timeseries-drawer-range #range-chips-mobile,body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-picker-actions{gap:6px!important}body.timeseries-page #timeseries-filter-drawer .dashboard-filter-sensors{align-self:stretch!important}}@media(max-width:900px)and (orientation:landscape),(max-height:500px)and (orientation:landscape),(pointer:coarse)and (orientation:landscape){body.timeseries-page{--ts-mobile-landscape-header-h: 0px;--ts-mobile-landscape-footer-h: 0px}body.timeseries-page .app-header{position:fixed!important;inset:0 0 auto!important;height:0!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;z-index:13050!important}body.timeseries-page .app-header .brand{display:none!important}body.timeseries-page .panel.layout-split{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;position:fixed!important;inset:0!important}body.timeseries-page .layout-split{display:block!important;position:fixed!important;inset:0!important;margin-top:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;overflow:hidden!important}body.timeseries-page .app{padding-top:0!important;padding-bottom:0!important;height:100dvh!important;min-height:100dvh!important;overflow:hidden!important}body.timeseries-page .layout-split{height:100dvh!important;min-height:0!important}body.timeseries-page .chart-header{display:none!important}body.timeseries-page .layout-split>.panel.tight,body.timeseries-page .timeseries-panel-open{display:none!important}body.timeseries-page .app-footer{display:none!important}body.timeseries-page .chart-title-mobile{display:block!important;position:absolute!important;top:3.2%!important;left:50%!important;transform:translate(-50%)!important;width:min(62%,420px)!important;grid-row:auto!important;margin:0!important;padding:0!important;font-size:.72rem!important;line-height:1.08!important;letter-spacing:.08em!important;color:#e2e8f0c7!important;text-transform:uppercase!important;white-space:normal!important;text-align:center!important;z-index:2!important}body.timeseries-page .chart-wrap{display:block!important;position:fixed!important;inset:0!important;width:100vw!important;min-width:0!important;padding:0!important;margin:0!important;height:100dvh!important;min-height:100dvh!important;box-sizing:border-box!important;overflow:hidden!important;border-radius:0!important;background:transparent!important}body.timeseries-page #series-chart.uplot-container{position:fixed!important;top:calc(env(safe-area-inset-top) + 10%)!important;left:calc(env(safe-area-inset-left) + 5%)!important;right:calc(env(safe-area-inset-right) + 5%)!important;bottom:calc(env(safe-area-inset-bottom) + 5%)!important;min-height:0!important;height:auto!important;margin:0!important;width:auto!important;max-width:none!important;z-index:1!important}body.timeseries-page .chart-legend{display:none!important}body.timeseries-page .chart-legend .legend-item{padding:0 5px!important;line-height:1.05!important}}@media(min-width:901px)and (min-height:501px){body.dashboard-page #dashboard-filter-drawer,body.timeseries-page #timeseries-filter-drawer{position:relative!important;inset:auto!important;transform:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;width:100%!important;min-width:0!important;max-width:none!important;height:auto!important;margin:0 0 16px!important;padding:12px 14px!important;border-radius:14px!important;border:1px solid rgba(148,163,184,.2)!important;background:linear-gradient(135deg,#22d3ee1f,#070c17e6)!important;box-shadow:var(--shadow-soft)!important;z-index:auto!important;overflow:visible!important;display:block!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-head,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-head{display:none!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-layout,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-layout{display:flex!important;align-items:flex-end!important;gap:12px!important;width:100%!important;min-width:0!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-primary,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-primary{display:flex!important;align-items:flex-end!important;justify-content:flex-start!important;gap:10px!important;flex:1 1 auto!important;min-width:0!important;width:100%!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-section,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-section{display:grid!important;gap:8px!important;min-width:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-type,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-type{order:1!important;flex:0 0 auto!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-search,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-search{order:3!important;margin-left:auto!important;flex:0 1 280px!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-group{order:2!important;flex:0 0 360px!important;display:grid!important;grid-template-columns:minmax(150px,1fr) auto!important;align-items:end!important;gap:8px!important}body.timeseries-page #timeseries-filter-drawer .dashboard-filter-group{order:2!important;flex:0 0 200px!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-sensors,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-sensors,body.dashboard-page #dashboard-filter-drawer .dashboard-filter-label,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-label{display:none!important}body.dashboard-page #dashboard-filter-drawer .dashboard-type-chip-group,body.timeseries-page #timeseries-filter-drawer .dashboard-type-chip-group{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-search-input,body.dashboard-page #dashboard-filter-drawer .group-filter-select,body.dashboard-page #dashboard-filter-drawer .chip-button,body.dashboard-page #dashboard-filter-drawer .btn,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-search-input,body.timeseries-page #timeseries-filter-drawer .group-filter-select,body.timeseries-page #timeseries-filter-drawer .chip-button,body.timeseries-page #timeseries-filter-drawer .btn{min-height:40px!important;height:40px!important;border-radius:10px!important;min-width:0!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-search-input,body.dashboard-page #dashboard-filter-drawer .group-filter-select,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-search-input,body.timeseries-page #timeseries-filter-drawer .group-filter-select{font-size:.9rem!important;line-height:1.2!important;letter-spacing:.01em!important;font-weight:500!important}body.dashboard-page #dashboard-filter-drawer .chip-button,body.dashboard-page #dashboard-filter-drawer .btn,body.timeseries-page #timeseries-filter-drawer .chip-button,body.timeseries-page #timeseries-filter-drawer .btn{font-size:.86rem!important;line-height:1.15!important;letter-spacing:.04em!important;font-weight:600!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-search-input,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-search-input{min-width:180px!important;width:100%!important}body.dashboard-page #dashboard-filter-drawer #dashboard-group-btn{width:40px!important;min-width:40px!important;max-width:40px!important;height:40px!important;min-height:40px!important;padding:0!important;display:inline-grid!important;place-items:center!important;font-size:1.18rem!important;line-height:1!important;letter-spacing:0!important;border-radius:10px!important}}@media(max-width:900px),(max-height:500px){body.dashboard-page #dashboard-filter-drawer,body.timeseries-page #timeseries-filter-drawer{--filter-actions-h: calc(52px + env(safe-area-inset-bottom)) ;position:fixed!important;inset:0!important;width:100vw!important;min-width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;padding:calc(8px + env(safe-area-inset-top)) 12px calc(8px + env(safe-area-inset-bottom))!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:linear-gradient(180deg,#070c18fc,#060a14fc)!important;transform:translate(-100%)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;z-index:17090!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;gap:10px!important;box-sizing:border-box!important;overflow:hidden!important}body.dashboard-page #dashboard-filter-drawer.open,body.timeseries-page #timeseries-filter-drawer.open{transform:translate(0)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-head,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-head{display:block!important;position:relative!important;width:100%!important;min-height:46px!important;height:46px!important;margin:0!important;padding:0!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-close,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-close{position:fixed!important;top:calc(10px + env(safe-area-inset-top))!important;right:calc(12px + env(safe-area-inset-right))!important;width:46px!important;min-width:46px!important;height:46px!important;min-height:46px!important;padding:0!important;border-radius:999px!important;display:inline-grid!important;place-items:center!important;z-index:17140!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-layout,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-layout{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto minmax(0,1fr)!important;gap:10px!important;min-height:0!important;height:100%!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-primary,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-primary{display:grid!important;grid-auto-rows:min-content!important;gap:10px!important;min-height:0!important;overflow:auto!important;padding-right:2px!important}body.dashboard-page #dashboard-filter-drawer .dashboard-type-chip-group,body.timeseries-page #timeseries-filter-drawer .dashboard-type-chip-group{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;width:100%!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-search-input,body.dashboard-page #dashboard-filter-drawer .group-filter-select,body.dashboard-page #dashboard-filter-drawer .chip-button,body.dashboard-page #dashboard-filter-drawer .btn,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-search-input,body.timeseries-page #timeseries-filter-drawer .group-filter-select,body.timeseries-page #timeseries-filter-drawer .chip-button,body.timeseries-page #timeseries-filter-drawer .btn{width:100%!important;min-width:0!important;min-height:40px!important;height:40px!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-sensors,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-sensors{position:relative!important;min-height:0!important;height:100%!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;padding:0!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-sensors>.dashboard-filter-label,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-sensors>.dashboard-filter-label{display:none!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-picker,body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-picker{position:relative!important;flex:1 1 auto!important;min-height:0!important;height:auto!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-list-wrap,body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-list-wrap{position:absolute!important;top:0!important;left:0!important;right:0!important;bottom:var(--filter-actions-h)!important;min-height:0!important;overflow:auto!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-list,body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-list{min-height:100%!important;height:auto!important;max-height:none!important;overflow:visible!important;padding-bottom:6px!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-picker-actions,body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-picker-actions{position:absolute!important;left:0!important;right:0!important;bottom:0!important;margin:0!important;min-height:var(--filter-actions-h)!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;z-index:20!important;padding-top:6px!important;padding-bottom:calc(6px + env(safe-area-inset-bottom)*.3)!important;background:linear-gradient(180deg,#060a1400,#060a14f7 30%)!important}body.dashboard-page #dashboard-filter-drawer .dashboard-mobile-sensor-picker-actions .chip-button,body.timeseries-page #timeseries-filter-drawer .dashboard-mobile-sensor-picker-actions .chip-button{width:100%!important;min-width:0!important;min-height:38px!important;height:38px!important}}@media(max-width:900px)and (orientation:landscape),(max-height:500px)and (orientation:landscape){body.dashboard-page #dashboard-filter-drawer .dashboard-filter-head,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-head{min-height:0!important;height:0!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-layout,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-layout{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:minmax(0,1fr)!important;align-items:stretch!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-primary,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-primary{grid-column:1!important;grid-row:1!important}body.dashboard-page #dashboard-filter-drawer .dashboard-filter-sensors,body.timeseries-page #timeseries-filter-drawer .dashboard-filter-sensors{grid-column:2!important;grid-row:1!important}}@media(max-width:900px),(max-height:500px){body.timeseries-page .chart-legend{margin-top:10%!important}}body.dashboard-page #dashboard-filter-drawer .chip-button,body.dashboard-page #dashboard-filter-drawer .btn,body.timeseries-page #timeseries-filter-drawer .chip-button,body.timeseries-page #timeseries-filter-drawer .btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:40px!important;height:40px!important;padding:0 14px!important;line-height:1.15!important;text-align:center!important;white-space:nowrap!important;text-transform:none!important;letter-spacing:.02em!important;font-size:.84rem!important;font-weight:600!important;border-radius:11px!important;border:1px solid rgba(148,163,184,.3)!important;background:#080c1894!important;color:#e2e8f0eb!important}body.dashboard-page #dashboard-filter-drawer .chip-button:hover,body.dashboard-page #dashboard-filter-drawer .btn:hover,body.timeseries-page #timeseries-filter-drawer .chip-button:hover,body.timeseries-page #timeseries-filter-drawer .btn:hover{border-color:#22d3ee80!important;background:#22d3ee24!important;color:#f8fafc!important}body.dashboard-page #dashboard-filter-drawer .chip-button.active,body.timeseries-page #timeseries-filter-drawer .chip-button.active{border-color:#22d3eeeb!important;background:linear-gradient(180deg,#22d3eef2,#0ea5e9eb)!important;color:#03101a!important;box-shadow:0 8px 18px #0ea5e942!important}@media(min-width:901px)and (min-height:501px){body.timeseries-page .layout-split{margin-top:16px!important}body.timeseries-page .chart-wrap{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:0!important}body.timeseries-page .chart-wrap:before{display:none!important}body.timeseries-page .chart-header,body.timeseries-page .chart-title-block,body.timeseries-page .chart-range,body.timeseries-page .chart-metric,body.timeseries-page .chart-legend{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}body.timeseries-page .legend-item{background:transparent!important;border:0!important;padding:0!important;border-radius:0!important}body.timeseries-page .chart-title-block,body.timeseries-page .chart-title{display:none!important}}.flatpickr-calendar{background:transparent;opacity:0;display:none;text-align:center;visibility:hidden;padding:0;-webkit-animation:none;animation:none;direction:ltr;border:0;font-size:14px;line-height:24px;border-radius:5px;position:absolute;width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-touch-action:manipulation;touch-action:manipulation;background:#3f4458;-webkit-box-shadow:1px 0 0 #20222c,-1px 0 0 #20222c,0 1px 0 #20222c,0 -1px 0 #20222c,0 3px 13px rgba(0,0,0,.08);box-shadow:1px 0 #20222c,-1px 0 #20222c,0 1px #20222c,0 -1px #20222c,0 3px 13px #00000014}.flatpickr-calendar.open,.flatpickr-calendar.inline{opacity:1;max-height:640px;visibility:visible}.flatpickr-calendar.open{display:inline-block;z-index:99999}.flatpickr-calendar.animate.open{-webkit-animation:fpFadeInDown .3s cubic-bezier(.23,1,.32,1);animation:fpFadeInDown .3s cubic-bezier(.23,1,.32,1)}.flatpickr-calendar.inline{display:block;position:relative;top:2px}.flatpickr-calendar.static{position:absolute;top:calc(100% + 2px)}.flatpickr-calendar.static.open{z-index:999;display:block}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7){-webkit-box-shadow:none!important;box-shadow:none!important}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){-webkit-box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-2px 0 #e6e6e6,5px 0 #e6e6e6}.flatpickr-calendar .hasWeeks .dayContainer,.flatpickr-calendar .hasTime .dayContainer{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.flatpickr-calendar .hasWeeks .dayContainer{border-left:0}.flatpickr-calendar.hasTime .flatpickr-time{height:40px;border-top:1px solid #20222c}.flatpickr-calendar.noCalendar.hasTime .flatpickr-time{height:auto}.flatpickr-calendar:before,.flatpickr-calendar:after{position:absolute;display:block;pointer-events:none;border:solid transparent;content:"";height:0;width:0;left:22px}.flatpickr-calendar.rightMost:before,.flatpickr-calendar.arrowRight:before,.flatpickr-calendar.rightMost:after,.flatpickr-calendar.arrowRight:after{left:auto;right:22px}.flatpickr-calendar.arrowCenter:before,.flatpickr-calendar.arrowCenter:after{left:50%;right:50%}.flatpickr-calendar:before{border-width:5px;margin:0 -5px}.flatpickr-calendar:after{border-width:4px;margin:0 -4px}.flatpickr-calendar.arrowTop:before,.flatpickr-calendar.arrowTop:after{bottom:100%}.flatpickr-calendar.arrowTop:before{border-bottom-color:#20222c}.flatpickr-calendar.arrowTop:after{border-bottom-color:#3f4458}.flatpickr-calendar.arrowBottom:before,.flatpickr-calendar.arrowBottom:after{top:100%}.flatpickr-calendar.arrowBottom:before{border-top-color:#20222c}.flatpickr-calendar.arrowBottom:after{border-top-color:#3f4458}.flatpickr-calendar:focus{outline:0}.flatpickr-wrapper{position:relative;display:inline-block}.flatpickr-months{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-months .flatpickr-month{background:#3f4458;color:#fff;fill:#fff;height:34px;line-height:1;text-align:center;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-decoration:none;cursor:pointer;position:absolute;top:0;height:34px;padding:10px;z-index:3;color:#fff;fill:#fff}.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,.flatpickr-months .flatpickr-next-month.flatpickr-disabled{display:none}.flatpickr-months .flatpickr-prev-month i,.flatpickr-months .flatpickr-next-month i{position:relative}.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,.flatpickr-months .flatpickr-next-month.flatpickr-prev-month{left:0}.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,.flatpickr-months .flatpickr-next-month.flatpickr-next-month{right:0}.flatpickr-months .flatpickr-prev-month:hover,.flatpickr-months .flatpickr-next-month:hover{color:#eee}.flatpickr-months .flatpickr-prev-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg{fill:#f64747}.flatpickr-months .flatpickr-prev-month svg,.flatpickr-months .flatpickr-next-month svg{width:14px;height:14px}.flatpickr-months .flatpickr-prev-month svg path,.flatpickr-months .flatpickr-next-month svg path{-webkit-transition:fill .1s;transition:fill .1s;fill:inherit}.numInputWrapper{position:relative;height:auto}.numInputWrapper input,.numInputWrapper span{display:inline-block}.numInputWrapper input{width:100%}.numInputWrapper input::-ms-clear{display:none}.numInputWrapper input::-webkit-outer-spin-button,.numInputWrapper input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}.numInputWrapper span{position:absolute;right:0;width:14px;padding:0 4px 0 2px;height:50%;line-height:50%;opacity:0;cursor:pointer;border:1px solid rgba(255,255,255,.15);-webkit-box-sizing:border-box;box-sizing:border-box}.numInputWrapper span:hover{background:#c0bba71a}.numInputWrapper span:active{background:#c0bba733}.numInputWrapper span:after{display:block;content:"";position:absolute}.numInputWrapper span.arrowUp{top:0;border-bottom:0}.numInputWrapper span.arrowUp:after{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:4px solid rgba(255,255,255,.6);top:26%}.numInputWrapper span.arrowDown{top:50%}.numInputWrapper span.arrowDown:after{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(255,255,255,.6);top:40%}.numInputWrapper span svg{width:inherit;height:auto}.numInputWrapper span svg path{fill:#ffffff80}.numInputWrapper:hover{background:#c0bba70d}.numInputWrapper:hover span{opacity:1}.flatpickr-current-month{font-size:135%;line-height:inherit;font-weight:300;color:inherit;position:absolute;width:75%;left:12.5%;padding:7.48px 0 0;line-height:1;height:34px;display:inline-block;text-align:center;-webkit-transform:translate3d(0px,0px,0px);transform:translateZ(0)}.flatpickr-current-month span.cur-month{font-family:inherit;font-weight:700;color:inherit;display:inline-block;margin-left:.5ch;padding:0}.flatpickr-current-month span.cur-month:hover{background:#c0bba70d}.flatpickr-current-month .numInputWrapper{width:6ch;width:7ch�;display:inline-block}.flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:#fff}.flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:#fff}.flatpickr-current-month input.cur-year{background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;cursor:text;padding:0 0 0 .5ch;margin:0;display:inline-block;font-size:inherit;font-family:inherit;font-weight:300;line-height:inherit;height:auto;border:0;border-radius:0;vertical-align:initial;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-current-month input.cur-year:focus{outline:0}.flatpickr-current-month input.cur-year[disabled],.flatpickr-current-month input.cur-year[disabled]:hover{font-size:100%;color:#ffffff80;background:transparent;pointer-events:none}.flatpickr-current-month .flatpickr-monthDropdown-months{appearance:menulist;background:#3f4458;border:none;border-radius:0;box-sizing:border-box;color:inherit;cursor:pointer;font-size:inherit;font-family:inherit;font-weight:300;height:auto;line-height:inherit;margin:-1px 0 0;outline:none;padding:0 0 0 .5ch;position:relative;vertical-align:initial;-webkit-box-sizing:border-box;-webkit-appearance:menulist;-moz-appearance:menulist;width:auto}.flatpickr-current-month .flatpickr-monthDropdown-months:focus,.flatpickr-current-month .flatpickr-monthDropdown-months:active{outline:none}.flatpickr-current-month .flatpickr-monthDropdown-months:hover{background:#c0bba70d}.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background-color:#3f4458;outline:none;padding:0}.flatpickr-weekdays{background:transparent;text-align:center;overflow:hidden;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:28px}.flatpickr-weekdays .flatpickr-weekdaycontainer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}span.flatpickr-weekday{cursor:default;font-size:90%;background:#3f4458;color:#fff;line-height:1;margin:0;text-align:center;display:block;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;font-weight:bolder}.dayContainer,.flatpickr-weeks{padding:1px 0 0}.flatpickr-days{position:relative;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;width:307.875px}.flatpickr-days:focus{outline:0}.dayContainer{padding:0;outline:0;text-align:left;width:307.875px;min-width:307.875px;max-width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-wrap:wrap;-ms-flex-pack:justify;-webkit-justify-content:space-around;justify-content:space-around;-webkit-transform:translate3d(0px,0px,0px);transform:translateZ(0);opacity:1}.dayContainer+.dayContainer{-webkit-box-shadow:-1px 0 0 #20222c;box-shadow:-1px 0 #20222c}.flatpickr-day{background:none;border:1px solid transparent;border-radius:150px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#fffffff2;cursor:pointer;font-weight:400;width:14.2857143%;-webkit-flex-basis:14.2857143%;-ms-flex-preferred-size:14.2857143%;flex-basis:14.2857143%;max-width:39px;height:39px;line-height:39px;margin:0;display:inline-block;position:relative;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center}.flatpickr-day.inRange,.flatpickr-day.prevMonthDay.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.today.inRange,.flatpickr-day.prevMonthDay.today.inRange,.flatpickr-day.nextMonthDay.today.inRange,.flatpickr-day:hover,.flatpickr-day.prevMonthDay:hover,.flatpickr-day.nextMonthDay:hover,.flatpickr-day:focus,.flatpickr-day.prevMonthDay:focus,.flatpickr-day.nextMonthDay:focus{cursor:pointer;outline:0;background:#646c8c;border-color:#646c8c}.flatpickr-day.today{border-color:#eee}.flatpickr-day.today:hover,.flatpickr-day.today:focus{border-color:#eee;background:#eee;color:#3f4458}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected.inRange,.flatpickr-day.startRange.inRange,.flatpickr-day.endRange.inRange,.flatpickr-day.selected:focus,.flatpickr-day.startRange:focus,.flatpickr-day.endRange:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange:hover,.flatpickr-day.endRange:hover,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.endRange.nextMonthDay{background:#80cbc4;-webkit-box-shadow:none;box-shadow:none;color:#fff;border-color:#80cbc4}.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange,.flatpickr-day.endRange.startRange{border-radius:50px 0 0 50px}.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange,.flatpickr-day.endRange.endRange{border-radius:0 50px 50px 0}.flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)){-webkit-box-shadow:-10px 0 0 #80cbc4;box-shadow:-10px 0 #80cbc4}.flatpickr-day.selected.startRange.endRange,.flatpickr-day.startRange.startRange.endRange,.flatpickr-day.endRange.startRange.endRange{border-radius:50px}.flatpickr-day.inRange{border-radius:0;-webkit-box-shadow:-5px 0 0 #646c8c,5px 0 0 #646c8c;box-shadow:-5px 0 #646c8c,5px 0 #646c8c}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover,.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay,.flatpickr-day.notAllowed,.flatpickr-day.notAllowed.prevMonthDay,.flatpickr-day.notAllowed.nextMonthDay{color:#ffffff4d;background:transparent;border-color:transparent;cursor:default}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{cursor:not-allowed;color:#ffffff1a}.flatpickr-day.week.selected{border-radius:0;-webkit-box-shadow:-5px 0 0 #80cbc4,5px 0 0 #80cbc4;box-shadow:-5px 0 #80cbc4,5px 0 #80cbc4}.flatpickr-day.hidden{visibility:hidden}.rangeMode .flatpickr-day{margin-top:1px}.flatpickr-weekwrapper{float:left}.flatpickr-weekwrapper .flatpickr-weeks{padding:0 12px;-webkit-box-shadow:1px 0 0 #20222c;box-shadow:1px 0 #20222c}.flatpickr-weekwrapper .flatpickr-weekday{float:none;width:100%;line-height:28px}.flatpickr-weekwrapper span.flatpickr-day,.flatpickr-weekwrapper span.flatpickr-day:hover{display:block;width:100%;max-width:none;color:#ffffff4d;background:transparent;cursor:default;border:none}.flatpickr-innerContainer{display:block;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.flatpickr-rContainer{display:inline-block;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}.flatpickr-time{text-align:center;outline:0;display:block;height:0;line-height:40px;max-height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-time:after{content:"";display:table;clear:both}.flatpickr-time .numInputWrapper{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:40%;height:40px;float:left}.flatpickr-time .numInputWrapper span.arrowUp:after{border-bottom-color:#fffffff2}.flatpickr-time .numInputWrapper span.arrowDown:after{border-top-color:#fffffff2}.flatpickr-time.hasSeconds .numInputWrapper{width:26%}.flatpickr-time.time24hr .numInputWrapper{width:49%}.flatpickr-time input{background:transparent;-webkit-box-shadow:none;box-shadow:none;border:0;border-radius:0;text-align:center;margin:0;padding:0;height:inherit;line-height:inherit;color:#fffffff2;font-size:14px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-time input.flatpickr-hour{font-weight:700}.flatpickr-time input.flatpickr-minute,.flatpickr-time input.flatpickr-second{font-weight:400}.flatpickr-time input:focus{outline:0;border:0}.flatpickr-time .flatpickr-time-separator,.flatpickr-time .flatpickr-am-pm{height:inherit;float:left;line-height:inherit;color:#fffffff2;font-weight:700;width:2%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.flatpickr-time .flatpickr-am-pm{outline:0;width:18%;cursor:pointer;text-align:center;font-weight:400}.flatpickr-time input:hover,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time .flatpickr-am-pm:focus{background:#6a7395}.flatpickr-input[readonly]{cursor:pointer}@-webkit-keyframes fpFadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes fpFadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@media(min-width:901px)and (min-height:501px){:root{--desktop-header-height: 64px;--desktop-header-pad-x: 16px;--desktop-header-pad-y: 10px;--desktop-content-max-width: 1400px;--desktop-content-gutter: 24px;--desktop-content-top: 86px;--desktop-filter-top: 80px;--desktop-filter-height: 72px;--desktop-filter-gap: 8px;--desktop-content-top-with-filter: calc( var(--desktop-filter-top) + var(--desktop-filter-height) + var(--desktop-filter-gap) )}body.dashboard-page .app-header,body.timeseries-page .app-header,body.map-page .app-header,body.admin-page .app-header,body.profile-page .app-header,body.lights-page .app-header{position:fixed!important;top:0!important;left:0!important;right:0!important;width:auto!important;margin:0!important;min-height:var(--desktop-header-height)!important;padding:var(--desktop-header-pad-y) var(--desktop-header-pad-x)!important;border:0!important;border-bottom:1px solid rgba(56,189,248,.2)!important;border-radius:0!important;background:linear-gradient(180deg,#080e1cf2,#080e1cd1)!important;box-shadow:0 10px 24px #0206176b!important;-webkit-backdrop-filter:blur(9px)!important;backdrop-filter:blur(9px)!important;display:flex!important;align-items:center!important;justify-content:space-between!important;transform:none!important;pointer-events:auto!important;z-index:15000!important}body.dashboard-page .app,body.timeseries-page .app{padding-top:var(--desktop-content-top-with-filter)!important}body.map-page .app,body.admin-page .app,body.lights-page .app{padding-top:var(--desktop-content-top)!important}body.profile-page .app{padding-top:calc(var(--desktop-content-top) - 24px)!important}body.dashboard-page .menu-toggle,body.timeseries-page .menu-toggle,body.map-page .menu-toggle,body.admin-page .menu-toggle,body.profile-page .menu-toggle,body.lights-page .menu-toggle,body.dashboard-page .filter-toggle,body.timeseries-page .filter-toggle{display:none!important}body.dashboard-page .header-actions,body.timeseries-page .header-actions,body.map-page .header-actions,body.admin-page .header-actions,body.profile-page .header-actions,body.lights-page .header-actions{position:static!important;margin:0 0 0 auto!important;display:inline-flex!important;align-items:center!important;flex-wrap:nowrap!important;gap:8px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;transform:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}body.dashboard-page .header-actions .user-menu,body.timeseries-page .header-actions .user-menu,body.map-page .header-actions .user-menu,body.admin-page .header-actions .user-menu,body.profile-page .header-actions .user-menu,body.lights-page .header-actions .user-menu{display:inline-flex!important;align-items:center!important;gap:2px!important;margin-left:0!important}body.dashboard-page .app-header .header-actions .btn,body.timeseries-page .app-header .header-actions .btn,body.map-page .app-header .header-actions .btn,body.admin-page .app-header .header-actions .btn,body.profile-page .app-header .header-actions .btn,body.lights-page .app-header .header-actions .btn,body.dashboard-page .app-header .header-actions .account-menu-trigger,body.timeseries-page .app-header .header-actions .account-menu-trigger,body.map-page .app-header .header-actions .account-menu-trigger,body.admin-page .app-header .header-actions .account-menu-trigger,body.profile-page .app-header .header-actions .account-menu-trigger,body.lights-page .app-header .header-actions .account-menu-trigger,body.dashboard-page .app-header .header-actions .user-menu-item,body.timeseries-page .app-header .header-actions .user-menu-item,body.map-page .app-header .header-actions .user-menu-item,body.admin-page .app-header .header-actions .user-menu-item,body.profile-page .app-header .header-actions .user-menu-item,body.lights-page .app-header .header-actions .user-menu-item{font-size:.92rem!important;line-height:1.15!important}body.dashboard-page .app-header .header-actions .user-menu-dropdown .user-menu-item,body.timeseries-page .app-header .header-actions .user-menu-dropdown .user-menu-item,body.map-page .app-header .header-actions .user-menu-dropdown .user-menu-item,body.admin-page .app-header .header-actions .user-menu-dropdown .user-menu-item,body.profile-page .app-header .header-actions .user-menu-dropdown .user-menu-item,body.lights-page .app-header .header-actions .user-menu-dropdown .user-menu-item{justify-content:center!important;text-align:center!important}body.dashboard-page #dashboard-filter-drawer,body.timeseries-page #timeseries-filter-drawer{position:fixed!important;top:var(--desktop-filter-top)!important;left:50%!important;right:auto!important;width:min(var(--desktop-content-max-width),calc(100% - (var(--desktop-content-gutter) * 2)))!important;max-width:var(--desktop-content-max-width)!important;transform:translate(-50%)!important;margin-top:0!important;margin-bottom:0!important;z-index:14950!important}body.timeseries-page .layout-split{margin-top:0!important}body.dashboard-page .app{padding-top:calc(var(--desktop-content-top-with-filter) - 18px)!important}}@media(min-width:901px)and (min-height:501px){body.profile-page .profile-main-panel.panel{width:min(1020px,100%)!important;background:linear-gradient(180deg,#080e1c9e,#080e1c75)!important;border:1px solid rgba(56,189,248,.14)!important;box-shadow:0 16px 34px #02061747!important;border-radius:18px!important;padding:16px 18px!important;min-height:0!important}body.profile-page .profile-panel-headline{margin-bottom:6px!important}body.profile-page .profile-page-title{font-size:clamp(1.08rem,1.6vw,1.28rem)!important;letter-spacing:.01em!important;font-weight:600!important}body.profile-page .profile-form{gap:10px!important}body.profile-page .profile-form-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:12px!important;align-items:start!important}body.profile-page .profile-stack-section{padding:8px 8px 10px!important;gap:10px!important;border-radius:16px!important}body.profile-page .profile-avatar-section{gap:8px!important;max-width:none!important}body.profile-page .profile-avatar-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;max-width:320px!important}body.profile-page .profile-avatar-preview-wrap{min-height:108px!important}body.profile-page .profile-form label{font-size:.74rem!important;color:#94a3b8e6!important;letter-spacing:.06em!important;text-transform:uppercase!important}body.profile-page .profile-fields .search-input,body.profile-page .profile-form .search-input{border-radius:10px!important;border:1px solid rgba(56,189,248,.2)!important;background:#070b169e!important;min-height:40px!important}body.profile-page .avatar-preset-grid{gap:8px!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;max-width:228px!important}body.profile-page .profile-actions-row{padding-top:4px!important}}@media(max-width:900px)and (orientation:landscape){body.timeseries-page .chart-legend{bottom:calc(18px + env(safe-area-inset-bottom))!important;margin-top:0!important;transform:none!important}}@media(max-width:900px)and (max-height:500px)and (orientation:landscape){body.timeseries-page .chart-legend{transform:translateY(10%)!important}}@media(max-width:900px),(max-height:500px),(pointer:coarse){body.dashboard-page .app-header .header-actions #avatar-link,body.timeseries-page .app-header .header-actions #avatar-link,body.map-page .app-header .header-actions #avatar-link,body.admin-page .app-header .header-actions #avatar-link,body.profile-page .app-header .header-actions #avatar-link,body.lights-page .app-header .header-actions #avatar-link,.mobile-nav-host .mobile-nav-redesign #avatar-link{transform:translateY(-30%)!important}}@media(max-width:900px)and (orientation:landscape){body.dashboard-page .app-header .header-actions #avatar-link,body.timeseries-page .app-header .header-actions #avatar-link,body.map-page .app-header .header-actions #avatar-link,body.admin-page .app-header .header-actions #avatar-link,body.profile-page .app-header .header-actions #avatar-link,body.lights-page .app-header .header-actions #avatar-link,.mobile-nav-host .mobile-nav-redesign #avatar-link{transform:translateY(-2px)!important}}@media(max-width:900px)and (orientation:landscape){body.dashboard-page .app-header,body.timeseries-page .app-header,body.map-page .app-header,body.admin-page .app-header,body.profile-page .app-header,body.lights-page .app-header{padding:calc(4px + env(safe-area-inset-top)) 10px 6px!important;min-height:calc(54px + env(safe-area-inset-top))!important}body.dashboard-page .app-header .header-actions #avatar-link,body.timeseries-page .app-header .header-actions #avatar-link,body.map-page .app-header .header-actions #avatar-link,body.admin-page .app-header .header-actions #avatar-link,body.profile-page .app-header .header-actions #avatar-link,body.lights-page .app-header .header-actions #avatar-link,.mobile-nav-host .mobile-nav-redesign #avatar-link{transform:translateY(-5px)!important}}@media(max-width:900px)and (orientation:landscape){body.dashboard-page{--dash-landscape-header-h: calc(50px + env(safe-area-inset-top)) ;--dash-landscape-footer-h: calc(44px + env(safe-area-inset-bottom)) ;--dash-landscape-card-h: calc(100dvh - var(--dash-landscape-header-h) - var(--dash-landscape-footer-h) - 2px)}body.dashboard-page .app{padding-top:calc(46px + env(safe-area-inset-top))!important;padding-bottom:calc(46px + env(safe-area-inset-bottom))!important}body.dashboard-page .device-panel{padding:0 6px 3px!important;margin-top:-6px!important}body.dashboard-page .device-grid{gap:8px!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:start!important}body.dashboard-page .device-card{min-height:var(--dash-landscape-card-h)!important;height:var(--dash-landscape-card-h)!important;max-height:var(--dash-landscape-card-h)!important}body.dashboard-page .device-card .card-face{gap:6px!important;padding:7px 7px 4px 9px!important}body.dashboard-page .device-card .card-front{display:grid!important;grid-template-rows:auto auto 1fr auto!important;align-content:start!important}body.dashboard-page .device-card .card-top{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:start!important;column-gap:6px!important}body.dashboard-page .device-card .card-top>div{min-width:0!important}body.dashboard-page .device-card .name{font-size:.72rem!important;letter-spacing:.045em!important;margin-bottom:1px!important}body.dashboard-page .device-card .name-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;width:100%!important;min-height:16px!important;align-items:center!important;column-gap:4px!important;min-width:0!important}body.dashboard-page .device-card .name-display{display:block!important;width:auto!important;min-width:0!important;flex:1 1 auto!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}body.dashboard-page .device-card .meta{font-size:.58rem!important;line-height:1.14!important}body.dashboard-page .device-card .card-icon-btn{width:19px!important;height:19px!important;border-radius:6px!important}body.dashboard-page .device-card .card-icon-btn svg{width:9px!important;height:9px!important}body.dashboard-page .device-card .battery{display:grid!important;place-items:center!important;gap:0!important;width:30px!important;min-width:30px!important;padding-right:0!important;justify-content:center!important;flex:0 0 30px!important}body.dashboard-page .device-card .battery-icon{width:24px!important;height:10px!important;position:relative!important;z-index:1!important;grid-area:1 / 1!important}body.dashboard-page .device-card .battery-text{position:relative!important;grid-area:1 / 1!important;left:auto!important;top:auto!important;transform:none!important;z-index:3!important;font-size:.5rem!important;font-weight:700!important;line-height:1!important;white-space:nowrap!important;color:#f1f5f9fa!important;text-shadow:0 0 3px rgba(2,6,23,.9),0 0 6px rgba(2,6,23,.7)!important;pointer-events:none!important}body.dashboard-page .device-card .metric-summary.metric-front{display:grid!important;grid-template-columns:1fr!important;gap:3px!important;align-content:start!important}body.dashboard-page .device-card .metric-row{gap:3px!important;padding:0 2px!important}body.dashboard-page .device-card .metric-title{font-size:.49rem!important;letter-spacing:.07em!important;gap:2px!important}body.dashboard-page .device-card .metric-title .unit{font-size:.42rem!important}body.dashboard-page .device-card .metric-values{gap:1px!important}body.dashboard-page .device-card .metric-value{border-radius:8px!important;padding:1px 2px 1px 5px!important}body.dashboard-page .device-card .metric-value:before{width:3px!important;border-radius:8px 0 0 8px!important}body.dashboard-page .device-card .metric-value-label{font-size:.41rem!important;letter-spacing:.08em!important}body.dashboard-page .device-card .metric-value-number{font-size:.57rem!important}body.dashboard-page .device-card .card-bottom{margin-top:0!important}body.dashboard-page .device-card .group-row{margin-top:2px!important;gap:3px!important}body.dashboard-page .device-card .group-text{font-size:.5rem!important}body.dashboard-page .device-card .group-plus-btn{width:17px!important;height:17px!important;border-radius:6px!important;font-size:.68rem!important}body.dashboard-page .device-card .card-back{display:grid!important;grid-template-rows:1fr auto!important;align-content:start!important}body.dashboard-page .device-card .sparkline-grid{grid-template-columns:1fr!important;gap:4px!important;align-content:start!important}body.dashboard-page .device-card .sparkline-item:last-child:nth-child(odd){grid-column:1 / -1!important}body.dashboard-page .device-card .sparkline-item{padding:3px 4px!important;border-radius:8px!important;gap:2px!important}body.dashboard-page .device-card .sparkline-header{font-size:.4rem!important;letter-spacing:.05em!important}body.dashboard-page .device-card .sparkline-item .sparkline{height:19px!important}body.dashboard-page .device-card .card-back-actions{padding-top:1px!important;padding-bottom:2px!important;width:100%!important;justify-content:stretch!important}body.dashboard-page .device-card .card-back-timeseries,body.dashboard-page .device-card .card-back-export{width:30px!important;min-width:30px!important;min-height:30px!important;height:30px!important;padding:0!important;margin-bottom:1px!important}}@media(min-width:820px)and (max-width:900px)and (orientation:landscape){body.dashboard-page .device-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}@media(min-width:901px)and (min-height:501px){body.dashboard-page #dashboard-filter-drawer.mobile-filter-drawer.dashboard-filter-drawer,body.dashboard-page #dashboard-filter-drawer.mobile-filter-drawer.dashboard-filter-drawer.open,body.timeseries-page #timeseries-filter-drawer.mobile-filter-drawer.timeseries-filter-drawer,body.timeseries-page #timeseries-filter-drawer.mobile-filter-drawer.timeseries-filter-drawer.open{position:fixed!important;inset:auto!important;top:var(--desktop-filter-top)!important;left:50%!important;right:auto!important;width:min(var(--desktop-content-max-width),calc(100% - (var(--desktop-content-gutter) * 2)))!important;max-width:var(--desktop-content-max-width)!important;margin:0!important;transform:translate(-50%)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;z-index:14950!important}body.timeseries-page .app,body.timeseries-page .app.timeseries-app{padding-top:var(--desktop-content-top-with-filter)!important}body.dashboard-page .app{padding-top:calc(var(--desktop-content-top-with-filter) - 18px)!important}body.timeseries-page .layout-split{display:block!important;position:relative!important;min-width:0!important}body.timeseries-page .layout-split>.chart-wrap{min-width:0!important;width:100%!important;max-width:none!important}body.timeseries-page .layout-split>.panel.tight{position:fixed!important;top:calc(var(--desktop-content-top-with-filter) + 6px)!important;right:16px!important;left:auto!important;min-width:0!important;width:min(340px,calc(100vw - 32px))!important;max-width:min(340px,calc(100vw - 32px))!important;max-height:calc(100dvh - var(--desktop-content-top-with-filter) - 68px)!important;overflow:auto!important;margin-left:0!important;z-index:14960!important;cursor:default!important}body.timeseries-page .layout-split>.panel.tight .timeseries-panel-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;margin-bottom:8px!important;cursor:move!important;-webkit-user-select:none!important;user-select:none!important;touch-action:none!important}body.timeseries-page .layout-split>.panel.tight .timeseries-panel-head .panel-title{margin:0!important}body.timeseries-page .timeseries-panel-close{width:34px!important;min-width:34px!important;height:34px!important;min-height:34px!important;border-radius:999px!important;border:1px solid rgba(56,189,248,.35)!important;background:#080e1cf2!important;color:#eff6fff5!important;display:inline-grid!important;place-items:center!important;padding:0!important;cursor:pointer!important;box-shadow:0 8px 18px #02061773!important}body.timeseries-page .timeseries-panel-close svg{width:16px!important;height:16px!important}body.timeseries-page .timeseries-panel-close svg path{fill:none!important;stroke:currentColor!important;stroke-width:2.4!important;stroke-linecap:round!important}body.timeseries-page .timeseries-panel-open{position:fixed!important;top:calc(var(--desktop-content-top-with-filter) + 6px)!important;right:16px!important;z-index:14955!important;min-height:40px!important;height:40px!important;padding:0 14px!important;border-radius:10px!important;display:none!important;pointer-events:auto!important}body.timeseries-page .timeseries-panel-open.visible{display:inline-flex!important;align-items:center!important;justify-content:center!important}body.timeseries-page .layout-split>.panel.tight .panel-title{cursor:move!important;-webkit-user-select:none!important;user-select:none!important}body.timeseries-page .chart-wrap{display:flex!important;flex-direction:column!important;align-items:stretch!important}body.timeseries-page .chart-wrap .chart-header{order:1!important}body.timeseries-page .chart-wrap #series-chart.uplot-container{order:2!important}body.timeseries-page .chart-wrap .chart-legend{order:3!important;margin-top:10px!important;margin-bottom:0!important}body.timeseries-page .layout-split>.panel.tight.dragging{opacity:.96!important;box-shadow:0 20px 40px #0206178c!important}}body.map-page .header-actions,body.map-page .header-actions.nav-box,body.map-page .app-header .header-actions{border:0!important;border-left:0!important;outline:0!important}body.map-page .header-actions:before{border:0!important}body.timeseries-page .timeseries-chart-filter-btn{display:none!important}@media(max-width:900px){body.timeseries-page .timeseries-panel-close,body.timeseries-page .timeseries-panel-open{display:none!important}}@media(min-width:901px){body.timeseries-page .panel.layout-split{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:0!important;min-height:0!important}body.timeseries-page .layout-split{display:block!important;position:relative!important;min-width:0!important;margin-top:-20px!important}body.timeseries-page .layout-split>.chart-wrap{position:relative!important;isolation:isolate!important;width:100%!important;max-width:none!important;min-width:0!important;background:linear-gradient(180deg,#0a101e9e,#070c1666)!important;border:0!important;box-shadow:0 10px 24px #02061738!important;border-radius:16px!important;padding:10px 12px 12px!important;overflow:visible!important;display:flex!important;flex-direction:column!important}body.timeseries-page .layout-split>.chart-wrap:before{display:none!important}body.timeseries-page .layout-split>.chart-wrap:after{content:""!important;position:absolute!important;inset:-8px!important;border-radius:22px!important;background:radial-gradient(circle at 50% 18%,#38bdf838,#080e1c00 70%)!important;filter:blur(16px)!important;opacity:.35!important;pointer-events:none!important;z-index:0!important}body.timeseries-page .layout-split>.chart-wrap>*{position:relative!important;z-index:1!important}body.timeseries-page .layout-split>.chart-wrap .chart-header{order:1!important;padding:4px 2px!important}body.timeseries-page .layout-split>.chart-wrap #series-chart.uplot-container{order:2!important}body.timeseries-page .layout-split>.chart-wrap .chart-legend{order:3!important;margin-top:10px!important;margin-bottom:0!important;padding:0 2px 2px!important}body.timeseries-page .chart-range{display:inline-flex!important;align-items:center!important;gap:8px!important;padding:4px 6px!important}body.timeseries-page .chart-range #range-chips{display:inline-flex!important;align-items:center!important;gap:8px!important;padding:2px!important}body.timeseries-page .chart-range #range-chips .chip-button{min-height:36px!important;height:36px!important;padding:0 14px!important}body.timeseries-page .timeseries-chart-filter-btn{width:36px!important;min-width:36px!important;height:36px!important;min-height:36px!important;padding:0!important;border-radius:10px!important;display:inline-grid!important;place-items:center!important}body.timeseries-page .timeseries-chart-filter-btn .filter-icon{width:16px!important;height:12px!important}body.timeseries-page #timeseries-controls-popup.panel.tight{position:fixed!important;top:calc(var(--desktop-content-top-with-filter) + 8px)!important;right:16px!important;left:auto!important;width:min(340px,calc(100vw - 32px))!important;max-width:min(340px,calc(100vw - 32px))!important;max-height:calc(100dvh - var(--desktop-content-top-with-filter) - 68px)!important;overflow:auto!important;z-index:16120!important;pointer-events:auto!important;cursor:move!important;animation:none!important;transform:none!important}body.timeseries-page #timeseries-controls-popup.panel.tight.timeseries-popup-hidden{display:none!important}body.timeseries-page #timeseries-controls-popup.panel.tight button,body.timeseries-page #timeseries-controls-popup.panel.tight input,body.timeseries-page #timeseries-controls-popup.panel.tight select,body.timeseries-page #timeseries-controls-popup.panel.tight textarea,body.timeseries-page #timeseries-controls-popup.panel.tight a{cursor:pointer!important}body.timeseries-page #timeseries-controls-popup.panel.tight .timeseries-panel-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;margin-bottom:8px!important;cursor:move!important;-webkit-user-select:none!important;user-select:none!important}body.timeseries-page #timeseries-controls-popup.panel.tight .timeseries-panel-head .panel-title{margin:0!important}body.timeseries-page .timeseries-panel-close{width:34px!important;min-width:34px!important;height:34px!important;min-height:34px!important;border-radius:999px!important;border:1px solid rgba(56,189,248,.35)!important;background:#080e1cf2!important;color:#eff6fff5!important;display:inline-grid!important;place-items:center!important;cursor:pointer!important;box-shadow:0 8px 18px #02061773!important;z-index:2!important}body.timeseries-page .timeseries-panel-close svg{width:16px!important;height:16px!important}body.timeseries-page .timeseries-panel-close svg path{fill:none!important;stroke:currentColor!important;stroke-width:2.4!important;stroke-linecap:round!important}body.timeseries-page .timeseries-panel-open{position:fixed!important;top:calc(var(--desktop-content-top-with-filter) + 8px)!important;right:16px!important;z-index:16115!important;min-height:40px!important;height:40px!important;padding:0 14px!important;border-radius:10px!important;display:none!important;pointer-events:auto!important}body.timeseries-page .timeseries-panel-open.visible{display:inline-flex!important;align-items:center!important;justify-content:center!important}body.timeseries-page #timeseries-controls-popup.panel.tight.dragging{opacity:.96!important;box-shadow:0 20px 40px #0206178c!important}body.timeseries-page #series-chart,body.timeseries-page #series-chart .uplot,body.timeseries-page #series-chart .u-wrap,body.timeseries-page #series-chart .u-over,body.timeseries-page #series-chart .u-under,body.timeseries-page #series-chart canvas,body.timeseries-page .chart-header,body.timeseries-page .chart-legend,body.timeseries-page .chart-title-block,body.timeseries-page .chart-range,body.timeseries-page .chart-metric{background:transparent!important;border:0!important;box-shadow:none!important;outline:0!important}}body.admin-page{--accent: #22d3ee;--ring: rgba(34, 211, 238, .35);--border: rgba(148, 163, 184, .24);background:radial-gradient(circle at 14% 14%,rgba(34,211,238,.16),transparent 44%),radial-gradient(circle at 84% 10%,rgba(245,158,11,.1),transparent 40%),linear-gradient(180deg,#050811,#0b1324 48%,#060a14)}body.admin-page .app{width:min(980px,100%)}body.admin-page .admin-shell{display:grid;gap:12px;padding:0;border:0;background:transparent;box-shadow:none;overflow-x:clip}body.admin-page .admin-shell[hidden]{display:none!important}body.admin-page .admin-main{border-radius:16px;border:1px solid var(--border);background:#080e1cc2;overflow:hidden}body.admin-page .admin-main-tabs{border-bottom:1px solid rgba(148,163,184,.2);background:#060a14bd;padding:12px 14px}body.admin-page .admin-tabs{display:inline-flex;gap:6px;padding:0;border:0;border-radius:0;background:transparent;width:fit-content}body.admin-page .admin-tab{border:1px solid rgba(148,163,184,.24);background:#080c18cc;color:var(--muted);border-radius:10px;padding:9px 13px;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em}body.admin-page .admin-tab.active{background:#38bdf829;border-color:#38bdf885;color:#e2f2ff}body.admin-page .admin-content{display:grid;gap:0;padding:20px;min-width:0;overflow-x:clip}body.admin-page .admin-tab-panel{display:none}body.admin-page .admin-tab-panel.active{display:grid;gap:18px}body.admin-page .admin-section{border:0;background:transparent;padding:0}body.admin-page .admin-section+.admin-section{border-top:1px solid rgba(148,163,184,.14);padding-top:18px}body.admin-page .admin-section h3{margin:0 0 12px;font-size:.96rem}body.admin-page .admin-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);gap:18px;align-items:end;margin:0}body.admin-page .admin-toolbar label{display:grid;gap:5px;color:var(--muted);font-size:.76rem}body.admin-page .admin-toolbar-search .search-input,body.admin-page .admin-toolbar-user-select select{width:100%}body.admin-page .admin-count{justify-self:center;align-self:center}body.admin-page .admin-device-toolbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}body.admin-page .admin-group-actions{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:end;margin-bottom:14px}body.admin-page .admin-group-actions label,body.admin-page .admin-device-toolbar label,body.admin-page .admin-danger-select{display:grid;gap:5px;font-size:.76rem;color:var(--muted)}body.admin-page .admin-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}body.admin-page .admin-actions .btn,body.admin-page .admin-assign-actions .btn{min-height:36px;padding-top:0;padding-bottom:0}body.admin-page .admin-assign-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}body.admin-page .admin-muted{margin:0 0 12px;font-size:.8rem}body.admin-page .admin-device-list{max-height:min(50vh,400px);overflow:auto;padding-right:4px;border-radius:10px;border:1px solid rgba(148,163,184,.16);background:#060a146b}body.admin-page .device-checklist{display:block;margin:0;padding:0;border:0}body.admin-page .device-checklist.is-disabled{opacity:.62}body.admin-page .device-check{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:center;gap:10px;padding:10px 12px;border:0;border-bottom:1px solid rgba(148,163,184,.16);background:#94a3b80a}body.admin-page .device-check:nth-child(2n){background:#94a3b81a}body.admin-page .device-check:last-child{border-bottom:0}body.admin-page .device-check input{width:14px;height:14px;margin:0;accent-color:#22d3ee}body.admin-page .device-check .device-check-copy{display:grid;gap:4px;min-width:0}body.admin-page .device-check .device-check-copy strong{font-size:.86rem;line-height:1.2;color:#e2e8f0f7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.admin-page .device-check .device-check-copy small{font-size:.77rem;line-height:1.3;color:#94a3b8eb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.admin-page [data-admin-tab-panel=sensors] .admin-section{display:grid;gap:12px;min-width:0}body.admin-page [data-admin-tab-panel=sensors] .admin-danger-select{margin-top:0;padding:0}body.admin-page [data-admin-tab-panel=sensors] .admin-device-toolbar>label,body.admin-page [data-admin-tab-panel=sensors] .admin-danger-select{min-width:0;width:100%}body.admin-page [data-admin-tab-panel=sensors] .admin-device-toolbar input,body.admin-page [data-admin-tab-panel=sensors] .admin-device-toolbar select,body.admin-page #delete-device-select{width:100%;max-width:100%;min-width:0;min-height:40px;font-size:.9rem;box-sizing:border-box}body.admin-page #delete-device-select{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:900px),(max-height:500px){body.admin-page .app{padding:calc(66px + env(safe-area-inset-top)) 10px 60px}body.admin-page .admin-main-tabs{padding:10px}body.admin-page .admin-tabs{width:100%;display:grid;grid-template-columns:1fr 1fr}body.admin-page .admin-tab{width:100%;text-align:center}body.admin-page .admin-content{padding:12px}body.admin-page .admin-toolbar{grid-template-columns:1fr;gap:10px}body.admin-page .admin-count{justify-self:start}body.admin-page .admin-device-toolbar,body.admin-page .admin-group-actions{grid-template-columns:1fr;gap:10px}body.admin-page .admin-device-toolbar label,body.admin-page .admin-danger-select{gap:7px;font-size:.82rem}body.admin-page .admin-device-toolbar input,body.admin-page .admin-device-toolbar select,body.admin-page #delete-device-select{min-height:44px;font-size:.94rem}body.admin-page [data-admin-tab-panel=sensors],body.admin-page [data-admin-tab-panel=sensors] .admin-section{gap:14px}body.admin-page .admin-actions{display:grid;grid-template-columns:1fr}body.admin-page [data-admin-tab-panel=sensors] .admin-actions .btn{width:100%;min-height:44px;font-size:.94rem}body.admin-page .admin-assign-actions{display:grid;grid-template-columns:1fr}body.admin-page .admin-assign-actions .btn{width:100%}body.admin-page .admin-device-list{max-height:min(34vh,280px)}}
