:root{--ls-bg:#e7edf1;--ls-card:#fff;--ls-card-2:#edf2f5;--ls-border:#c9d3da;--ls-border-strong:#9faeb9;--ls-text:#1f2b33;--ls-text-2:#3f515e;--ls-muted:#536572;--ls-placeholder:var(--ls-muted);--ls-red:#c9353b;--ls-red-dark:#ae262d;--ls-red-tint:#f9ecec;--ls-sidebar:#202b33;--ls-sidebar-2:#2d3a43;--ls-sidebar-text:#c1cbd0;--ls-map:var(--ls-card);--ls-map-2:var(--ls-card-2);--ls-map-line:var(--ls-border);--ls-map-text:var(--ls-text);--ls-map-muted:var(--ls-muted);--ls-chart-bg:var(--ls-card-2);--ls-chart-text:var(--ls-text-2);--ls-chart-muted:var(--ls-muted);--ls-chart-grid:var(--ls-border);--ls-chart-accent:#006c85;--ls-chart-playhead:#856200;--ls-chart-label-bg:#f5d76e;--ls-chart-label-ink:#1a1200;--ls-chart-gap-fill:#e0e7ec;--ls-chart-gap-stroke:var(--ls-border-strong);--ls-chart-crosshair:var(--ls-muted);--ls-history-floor:#e2ebef;--ls-history-heat:#007f99;--ls-track-1:#006c85;--ls-track-2:#ad246a;--ls-track-3:#7146b5;--ls-track-4:#087b57;--ls-track-5:#a84b09;--ls-track-6:#235eaf;--ls-track-7:#856200;--ls-track-8:#b42318;--ls-mark-live:#1d5fbf;--ls-mark-lastknown:#9a5600;--ls-mark-offline:#b42318;--ls-mark-nosensor:#687b89;--ls-mark-hatch:#1f2b3329;--ls-mark-slab:#fff;--ls-mark-slab-dim:#f1f5f7;--ls-mark-slab-hover:#e4edf6;--ls-mark-slab-on:#d7e5f4;--ls-mark-path:#b6c5cf;--ls-mark-site:#93a5b2;--ls-mark-floor:#fff;--ls-mark-grid:#1f2b3314;--ls-mark-wall:#3f4d57;--ls-mark-room-dim:#1f2b3308;--ls-mark-hover:#1f2b330d;--ls-occ-empty:#0f7a52;--ls-occ-empty-fill:#e1f3ea;--ls-occ-low:#8a6400;--ls-occ-low-fill:#fbf0d2;--ls-occ-mid:#a8470a;--ls-occ-mid-fill:#fde5d2;--ls-occ-high:#c42b2f;--ls-occ-high-fill:#fbe0e0;--ls-plot-floor:#0000;--ls-plot-grid:#1f2b3312;--ls-plot-wall:var(--ls-mark-wall);--ls-plot-board:#2f3c45;--ls-plot-person:var(--ls-mark-live);--ls-plot-lastknown:var(--ls-mark-lastknown);--ls-plot-replay:#856200;--ls-plot-alert:var(--ls-mark-offline);--ls-plot-halo:#fff;--ls-live:#16c7e8;--ls-lastknown:#f5a623;--ls-offline:#e0474c;--ls-nosensor:#94a3b8;--ls-ok-text:#047857;--ls-warn-text:#b45309;--ls-bad-text:#b91c1c;--ls-input-bg:#fff;--ls-input-border:#91a3b0;--ls-empty:#19b887;--ls-low:#f5b82e;--ls-mid:#f47b20;--ls-high:#ef3437;--ls-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--ls-mono:"JetBrains Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;--ls-radius:10px;--ls-radius-sm:6px;--ls-shadow:0 1px 2px #0f172a0d,0 1px 3px #0f172a0a;--ls-shadow-lg:0 10px 30px #0f172a1f}:root[data-theme=dark]{--ls-bg:#11181d;--ls-card:#182229;--ls-card-2:#141d23;--ls-border:#293740;--ls-border-strong:#3a4b55;--ls-text:#edf2f4;--ls-text-2:#c4cfd4;--ls-muted:#9aaab2;--ls-placeholder:var(--ls-muted);--ls-red:#e05a5e;--ls-red-dark:#ca4249;--ls-red-tint:#e05a5e24;--ls-ok-text:#6ee7b7;--ls-warn-text:#fbbf24;--ls-bad-text:#fca5a5;--ls-input-bg:#121b21;--ls-input-border:#3a4b55;--ls-sidebar:#0d151a;--ls-sidebar-2:#1c2a32;--ls-map:var(--ls-card);--ls-map-2:var(--ls-card-2);--ls-map-line:var(--ls-border);--ls-map-text:var(--ls-text);--ls-map-muted:var(--ls-muted);--ls-chart-bg:var(--ls-card-2);--ls-chart-text:var(--ls-text-2);--ls-chart-muted:var(--ls-muted);--ls-chart-grid:var(--ls-plot-grid);--ls-chart-accent:#65bbc3;--ls-chart-playhead:var(--ls-warn-text);--ls-chart-label-bg:var(--ls-chart-playhead);--ls-chart-gap-fill:var(--ls-sidebar-2);--ls-chart-gap-stroke:#536873;--ls-chart-crosshair:var(--ls-muted);--ls-history-floor:var(--ls-mark-floor);--ls-history-heat:var(--ls-chart-accent);--ls-track-1:var(--ls-chart-accent);--ls-track-2:#f472b6;--ls-track-3:#a78bfa;--ls-track-4:#34d399;--ls-track-5:#fb923c;--ls-track-6:#60a5fa;--ls-track-7:var(--ls-chart-playhead);--ls-track-8:#f87171;--ls-shadow:none;--ls-shadow-lg:0 10px 30px #00000080;--ls-mark-live:#6ea8f2;--ls-mark-lastknown:#f0a53a;--ls-mark-offline:#f28b82;--ls-mark-nosensor:#64757e;--ls-mark-hatch:#94a3b833;--ls-mark-slab:#22303a;--ls-mark-slab-dim:#1a242b;--ls-mark-slab-hover:#283945;--ls-mark-slab-on:#2c4150;--ls-mark-path:#1d2830;--ls-mark-site:#33434d;--ls-mark-floor:#182228;--ls-mark-grid:rgba(226,232,240,.035);--ls-mark-wall:#93a3ad;--ls-mark-room-dim:#94a3b80d;--ls-mark-hover:#e2e8f00f;--ls-occ-empty:#3ccf96;--ls-occ-empty-fill:#3ccf9624;--ls-occ-low:#f2bd3e;--ls-occ-low-fill:#f2bd3e24;--ls-occ-mid:#f59145;--ls-occ-mid-fill:#f5914524;--ls-occ-high:#f26b6d;--ls-occ-high-fill:#f26b6d24;--ls-plot-grid:#e2e8f012;--ls-plot-board:#d3dde2;--ls-plot-replay:var(--ls-chart-playhead);--ls-plot-halo:#0a0e12d9}.mon-mapcard{--ls-map:#dfe7ec;--ls-map-2:var(--ls-card);--ls-map-line:var(--ls-border);--ls-map-text:var(--ls-text);--ls-map-muted:var(--ls-muted)}:root[data-theme=dark] .mon-mapcard{--ls-map:#131b20;--ls-map-2:#182229;--ls-map-line:#293740;--ls-map-text:#edf2f4;--ls-map-muted:#9aaab2}.rd-map,.rpl-map{--ls-plot-floor:var(--ls-mark-floor)}body{font-feature-settings:"cv11","ss01";background-color:#e7edf1;color:#1f2b33;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}html{scrollbar-gutter:stable}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}:root{--primary:#c9353b;--primary-dark:#ae262d;--secondary:#fbbf24;--tertiary:#3b82f6;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--gray-50:var(--ls-bg);--gray-100:var(--ls-card-2);--gray-200:var(--ls-border);--gray-300:var(--ls-border-strong);--gray-400:var(--ls-placeholder);--gray-500:var(--ls-muted);--gray-600:var(--ls-text-2);--gray-700:#35444e;--gray-800:var(--ls-text);--gray-900:#18232a;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px #0000001a;--shadow-lg:0 10px 15px #0000001a;--shadow-xl:0 20px 25px #00000026}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--ls-bg);color:var(--ls-text);font-family:var(--ls-font)}.dashboard{background:linear-gradient(135deg,var(--ls-bg) 0,var(--ls-card-2) 100%);background:linear-gradient(135deg,var(--gray-50) 0,var(--gray-100) 100%);min-height:100vh;padding:2rem}.dashboard h1{color:#18232a;color:var(--gray-900);font-size:2.5rem;font-weight:700;letter-spacing:-.5px;margin-bottom:2rem}.dashboard-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-bottom:2rem}.dashboard-card{background:#fff;border:1px solid var(--gray-200);border-radius:12px;box-shadow:0 4px 6px #0000001a;box-shadow:var(--shadow-md);padding:1.5rem;transition:box-shadow .2s ease,transform .2s ease}.dashboard-card:hover{box-shadow:0 10px 15px #0000001a;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.dashboard-card h2{color:#35444e;color:var(--gray-700);font-size:1rem;font-weight:600;letter-spacing:.5px;margin-bottom:1rem;text-transform:uppercase}.stat-item{align-items:center;border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;padding:.75rem 0}.stat-item:last-child{border-bottom:none}.stat-label{color:var(--ls-text-2);color:var(--gray-600);font-size:.875rem;font-weight:500}.stat-value{color:#c9353b;color:var(--primary);font-size:1.25rem;font-weight:700}.priority-high{background-color:#ef44441a;color:#ef4444;color:var(--danger)}.priority-medium{background-color:#f59e0b1a;color:#f59e0b;color:var(--warning)}.priority-low{background-color:#10b9811a;color:#10b981;color:var(--success)}.table-container{background:#fff;border:1px solid var(--gray-200);border-radius:12px;box-shadow:0 4px 6px #0000001a;box-shadow:var(--shadow-md);overflow:hidden}.responsive-table{border-collapse:collapse;font-size:.9375rem;width:100%}.responsive-table thead{background:linear-gradient(135deg,var(--ls-text) 0,#35444e 100%);background:linear-gradient(135deg,var(--gray-800) 0,var(--gray-700) 100%);color:#fff}.responsive-table th{font-size:.8125rem;letter-spacing:.3px;padding:1rem;text-align:left;text-transform:uppercase}.responsive-table td{border-bottom:1px solid var(--gray-200);padding:1rem}.responsive-table tbody tr{transition:background-color .2s ease}.responsive-table tbody tr:hover{background-color:var(--ls-bg);background-color:var(--gray-50)}.responsive-table tbody tr:last-child td{border-bottom:none}.badge{border-radius:6px;display:inline-block;font-size:.8125rem;font-weight:600;letter-spacing:.3px;padding:.4rem .8rem;text-transform:uppercase}.badge-critical{background-color:#ef444426;color:#ef4444;color:var(--danger)}.badge-high{background-color:#f59e0b26;color:#f59e0b;color:var(--warning)}.badge-medium{background-color:#3b82f626;color:#3b82f6;color:var(--tertiary)}.badge-active,.badge-low{background-color:#10b98126;color:#10b981;color:var(--success)}.badge-inactive{background-color:#6b728026;color:var(--ls-text-2);color:var(--gray-600)}.btn{align-items:center;border:none;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:.5rem;justify-content:center;outline:none;padding:.6rem 1.2rem;text-decoration:none;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background-color:#c9353b;background-color:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background-color:#ae262d;background-color:var(--primary-dark);box-shadow:0 4px 6px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-secondary{background-color:var(--ls-border);background-color:var(--gray-200);color:var(--gray-800)}.btn-secondary:hover:not(:disabled){background-color:var(--ls-border-strong);background-color:var(--gray-300)}.btn-outline{background-color:initial;border:2px solid #c9353b;border:2px solid var(--primary);color:#c9353b;color:var(--primary)}.btn-outline:hover:not(:disabled){background-color:#c9353b;background-color:var(--primary);color:#fff}.btn-small{font-size:.8125rem;padding:.4rem .8rem}.overview-map-container{background:linear-gradient(135deg,var(--ls-bg) 0,var(--ls-card-2) 100%);background:linear-gradient(135deg,var(--gray-50) 0,var(--gray-100) 100%);min-height:100vh;padding:2rem}.map-header{margin-bottom:2rem}.map-header h1{color:#18232a;color:var(--gray-900);font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.map-header p{color:var(--ls-text-2);color:var(--gray-600);font-size:1rem}.map-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.map-item{background:#fff;border:2px solid var(--gray-200);border-radius:12px;box-shadow:0 4px 6px #0000001a;box-shadow:var(--shadow-md);cursor:pointer;padding:1.5rem;text-align:center;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.map-item:hover{border-color:#c9353b;border-color:var(--primary);box-shadow:0 10px 15px #0000001a;box-shadow:var(--shadow-lg);transform:translateY(-4px)}.map-item-icon{font-size:2.5rem;margin-bottom:1rem}.map-item-name{color:var(--ls-text);color:var(--gray-800);font-size:1.25rem;font-weight:700;margin-bottom:.5rem}.map-item-meta{color:var(--ls-text-2);color:var(--gray-600);font-size:.875rem}.breadcrumb{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}.breadcrumb-item{color:var(--ls-text-2);color:var(--gray-600);font-size:.9375rem}.breadcrumb-item.active{color:#18232a;color:var(--gray-900);font-weight:600}.breadcrumb-separator{color:var(--ls-placeholder);color:var(--gray-400)}.priorities-container{background:linear-gradient(135deg,var(--ls-bg) 0,var(--ls-card-2) 100%);background:linear-gradient(135deg,var(--gray-50) 0,var(--gray-100) 100%);min-height:100vh;padding:2rem}.priorities-header{margin-bottom:2rem}.priorities-header h1{color:#18232a;color:var(--gray-900);font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.priorities-header p{color:var(--ls-text-2);color:var(--gray-600);font-size:1rem}.priorities-stats{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.stat-box{background:#fff;border:1px solid var(--gray-200);border-radius:12px;box-shadow:0 4px 6px #0000001a;box-shadow:var(--shadow-md);padding:1.5rem}.stat-box.critical .stat-box-value{color:var(--ls-bad-text)}.stat-box.high .stat-box-value{color:var(--ls-warn-text)}.stat-box.medium .stat-box-value{color:var(--ls-text-2)}.stat-box.low .stat-box-value{color:var(--ls-ok-text)}.stat-box-label{color:var(--ls-text-2);color:var(--gray-600);font-size:.875rem;letter-spacing:.3px;margin-bottom:.5rem;text-transform:uppercase}.stat-box-value{color:#18232a;color:var(--gray-900);font-size:2rem;font-weight:700}.logs-container{background:linear-gradient(135deg,var(--ls-bg) 0,var(--ls-card-2) 100%);background:linear-gradient(135deg,var(--gray-50) 0,var(--gray-100) 100%);min-height:100vh;padding:2rem}.logs-header{margin-bottom:2rem}.logs-header h1{color:#18232a;color:var(--gray-900);font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.logs-filters{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.logs-filter-input{border:1px solid var(--gray-300);border-radius:6px;font-family:inherit;padding:.75rem 1rem;transition:border-color .2s ease,box-shadow .2s ease}.logs-filter-input:focus{border-color:#c9353b;border-color:var(--primary);box-shadow:0 0 0 3px #ef44441a;outline:none}.buildings-container{background:linear-gradient(135deg,var(--ls-bg) 0,var(--ls-card-2) 100%);background:linear-gradient(135deg,var(--gray-50) 0,var(--gray-100) 100%);min-height:100vh;padding:2rem}.buildings-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:2rem}.buildings-header h1{color:#18232a;color:var(--gray-900);font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.buildings-header p{color:var(--ls-text-2);color:var(--gray-600);font-size:1rem}.buildings-list{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.building-card{background:#fff;border:1px solid var(--gray-200);border-radius:12px;box-shadow:0 4px 6px #0000001a;box-shadow:var(--shadow-md);cursor:pointer;padding:1.5rem;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.building-card:hover{border-color:#c9353b;border-color:var(--primary);box-shadow:0 10px 15px #0000001a;box-shadow:var(--shadow-lg);transform:translateY(-4px)}.building-card-header{align-items:center;display:flex;gap:1rem;margin-bottom:1rem}.building-icon{align-items:center;background:linear-gradient(135deg,#c9353b,#f59e0b);background:linear-gradient(135deg,var(--primary) 0,var(--warning) 100%);border-radius:8px;color:#fff;display:flex;font-size:1.5rem;height:3rem;justify-content:center;width:3rem}.building-info h3{color:#18232a;color:var(--gray-900);font-size:1.125rem;font-weight:700;margin-bottom:.25rem}.building-info p{color:var(--ls-text-2);color:var(--gray-600);font-size:.875rem}.building-details{border-top:1px solid var(--gray-200);display:flex;flex-direction:column;gap:.75rem;padding-top:1rem}.detail-item{display:flex;font-size:.875rem;justify-content:space-between}.detail-label{color:var(--ls-text-2);color:var(--gray-600);font-weight:500}.detail-value{color:#18232a;color:var(--gray-900);font-weight:600}.settings-container{background:linear-gradient(135deg,var(--ls-bg) 0,var(--ls-card-2) 100%);background:linear-gradient(135deg,var(--gray-50) 0,var(--gray-100) 100%);min-height:100vh;padding:2rem}.settings-wrapper{margin:0 auto;max-width:800px}.settings-header{margin-bottom:2rem}.settings-header h1{color:#18232a;color:var(--gray-900);font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.settings-header p{color:var(--ls-text-2);color:var(--gray-600);font-size:1rem}.settings-form{display:flex;flex-direction:column;gap:1.5rem}.settings-section{background:#fff;border:1px solid var(--gray-200);border-radius:12px;box-shadow:0 4px 6px #0000001a;box-shadow:var(--shadow-md);padding:1.5rem}.settings-section h2{border-bottom:2px solid var(--gray-200);color:#18232a;color:var(--gray-900);font-size:1.125rem;font-weight:700;margin-bottom:1.5rem;margin-top:0;padding-bottom:1rem}.form-group{margin-bottom:1.5rem}.form-group:last-child{margin-bottom:0}.form-label{color:var(--ls-text);color:var(--gray-800);display:block;font-size:.9375rem;font-weight:600;margin-bottom:.5rem}.form-input,.form-select{border:1px solid var(--gray-300);border-radius:6px;font-family:inherit;font-size:.9375rem;padding:.75rem 1rem;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.form-input:focus,.form-select:focus{border-color:#c9353b;border-color:var(--primary);box-shadow:0 0 0 3px #ef44441a;outline:none}.form-checkbox{align-items:center;cursor:pointer;display:flex;gap:.75rem}.form-checkbox input{accent-color:#c9353b;accent-color:var(--primary);cursor:pointer;height:1.25rem;width:1.25rem}.form-checkbox label{color:var(--ls-text);color:var(--gray-800);cursor:pointer;font-weight:500}.settings-actions{display:flex;gap:1rem;justify-content:flex-end}@media (max-width:768px){.buildings-container,.dashboard,.logs-container,.overview-map-container,.priorities-container,.settings-container{padding:1rem}.buildings-header h1,.dashboard h1,.logs-header h1,.map-header h1,.priorities-header h1,.settings-header h1{font-size:1.875rem}.buildings-list,.dashboard-grid,.map-grid,.priorities-stats{grid-template-columns:1fr}.responsive-table{font-size:.8125rem}.responsive-table td,.responsive-table th{padding:.75rem}.breadcrumb{font-size:.8125rem}}@media (max-width:480px){.buildings-header h1,.dashboard h1,.logs-header h1,.map-header h1,.priorities-header h1,.settings-header h1{font-size:1.5rem}.btn{justify-content:center;width:100%}.settings-actions{flex-direction:column}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.layout-container{background-color:var(--ls-bg);display:flex;min-height:100vh}.sidebar{background:var(--ls-sidebar);border-right:1px solid #ffffff0a;color:#fff;display:flex;flex-direction:column;height:100vh;left:0;overflow-x:hidden;overflow-y:auto;position:fixed;top:0;width:232px;z-index:1000}.sidebar.closed{width:72px}.sidebar-header{justify-content:space-between;min-height:64px;padding:1.1rem 1rem 1rem 1.1rem}.logo,.sidebar-header{align-items:center;display:flex}.logo{color:#fff;font-size:1.1rem;font-weight:700;gap:.65rem;letter-spacing:-.01em;white-space:nowrap}.logo-mark{background:var(--ls-red);border-radius:8px;color:#fff;display:grid;flex-shrink:0;height:2rem;place-items:center;width:2rem}.sidebar.closed .sidebar-header{justify-content:center;padding-left:0;padding-right:0}.sidebar.closed .logo-name{display:none}.sidebar-toggle{background:#0000;border:0;border-radius:8px;color:var(--ls-sidebar-text);cursor:pointer;display:grid;height:40px;place-items:center;width:40px}.sidebar-toggle:hover{background:var(--ls-sidebar-2);color:#fff}.sidebar-nav{flex:1 1;gap:1.25rem;padding:.5rem .75rem 1rem}.nav-group,.sidebar-nav{display:flex;flex-direction:column}.nav-group{gap:2px}.nav-group-label{color:#6f7f99;font-size:.68rem;font-weight:700;letter-spacing:.08em;padding:0 .6rem .4rem;text-transform:uppercase;white-space:nowrap}.sidebar.closed .nav-group-label{background:#ffffff14;color:#0000;height:1px;margin:0 .6rem .5rem;overflow:hidden;padding:0}.nav-item{align-items:center;border-radius:8px;color:var(--ls-sidebar-text);display:flex;font-size:.9rem;font-weight:500;gap:.75rem;min-height:40px;padding:.5rem .7rem;text-decoration:none;transition:background-color .15s ease,color .15s ease;white-space:nowrap}.nav-item:hover{background:var(--ls-sidebar-2);color:#fff}.nav-item.active{background:var(--ls-red);color:#fff;font-weight:600}.collapse-btn:focus-visible,.logout-btn:focus-visible,.nav-item:focus-visible,.sidebar-toggle:focus-visible{outline:2px solid var(--ls-live);outline-offset:1px}.nav-item svg{flex-shrink:0}.sidebar.closed .nav-item{justify-content:center;padding-left:0;padding-right:0}.sidebar.closed .collapse-btn span,.sidebar.closed .logout-btn span,.sidebar.closed .nav-item span{display:none}.sidebar-footer{border-top:1px solid #ffffff0f;display:flex;flex-direction:column;gap:2px;padding:.75rem}.collapse-btn,.logout-btn{align-items:center;background:#0000;border:0;border-radius:8px;color:var(--ls-sidebar-text);cursor:pointer;display:flex;font:inherit;font-size:.9rem;font-weight:500;gap:.75rem;min-height:40px;padding:.5rem .7rem;transition:background-color .15s ease,color .15s ease;white-space:nowrap;width:100%}.logout-btn:hover{background:#ef2b2d24;color:#ff8a8b}.collapse-btn:hover{background:var(--ls-sidebar-2);color:#fff}.collapse-btn svg,.logout-btn svg{flex-shrink:0}.sidebar.closed .collapse-btn,.sidebar.closed .logout-btn{justify-content:center;padding-left:0;padding-right:0}.main-content{background:var(--ls-bg);flex:1 1;margin-left:232px;min-width:0}.sidebar.closed~.main-content{margin-left:72px}.content-wrapper{max-width:1680px;min-height:100vh;padding:1.75rem 2rem 2rem}@media (max-width:1280px){.content-wrapper{padding:1.5rem}}.drawer-backdrop,.mobile-topbar{display:none}@media (max-width:900px){.mobile-topbar{align-items:center;background:var(--ls-sidebar);box-shadow:0 1px 0 #ffffff0d;color:#fff;display:flex;gap:.35rem;height:calc(56px + env(safe-area-inset-top, 0px));left:0;padding:env(safe-area-inset-top,0) .75rem 0 .35rem;position:fixed;right:0;top:0;z-index:900}.topbar-menu{-webkit-tap-highlight-color:transparent;background:#0000;border:0;border-radius:8px;color:#fff;cursor:pointer;display:grid;flex-shrink:0;height:44px;place-items:center;width:44px}.topbar-menu:active{background:#ffffff1a}.topbar-menu:focus-visible{outline:2px solid var(--ls-live);outline-offset:-2px}.topbar-brand{align-items:center;color:#fff;display:flex;gap:.55rem;min-height:44px;padding:0 .35rem;text-decoration:none}.topbar-logo{background:var(--ls-red);border-radius:7px;display:grid;flex-shrink:0;height:1.75rem;place-items:center;width:1.75rem}.topbar-name{font-size:1.05rem;font-weight:700;letter-spacing:-.01em}.sidebar,.sidebar.closed,.sidebar.open{height:100dvh;padding-bottom:env(safe-area-inset-bottom,0);padding-top:env(safe-area-inset-top,0);transform:translateX(-100%);transition:transform .22s ease,visibility .22s;visibility:hidden;width:min(288px,86vw);z-index:1100}.sidebar.drawer-open{box-shadow:0 0 40px #0006;transform:translateX(0);visibility:visible}.sidebar.closed .sidebar-header{justify-content:space-between;padding:.75rem .75rem .75rem 1.1rem}.sidebar.closed .logo-name{display:inline}.sidebar.closed .nav-group-label{background:none;color:#6f7f99;height:auto;margin:0;padding:0 .6rem .4rem}.sidebar.closed .logout-btn,.sidebar.closed .nav-item{justify-content:flex-start;padding:.5rem .7rem}.sidebar.closed .logout-btn span,.sidebar.closed .nav-item span{display:inline}.logout-btn,.nav-item{font-size:.95rem;min-height:46px}.drawer-backdrop{background:#02061780;display:block;inset:0;opacity:0;pointer-events:none;position:fixed;transition:opacity .22s ease;z-index:1050}.drawer-backdrop.visible{opacity:1;pointer-events:auto}.main-content,.sidebar.closed~.main-content{margin-left:0;padding-top:calc(56px + env(safe-area-inset-top, 0px));width:100%}.content-wrapper{min-height:calc(100dvh - 56px);padding:1rem 1rem calc(1.5rem + env(safe-area-inset-bottom, 0px))}}@media (max-width:380px){.content-wrapper{padding-left:.75rem;padding-right:.75rem}}:root[data-reduce-motion] .drawer-backdrop,:root[data-reduce-motion] .main-content,:root[data-reduce-motion] .nav-item,:root[data-reduce-motion] .sidebar{transition:none}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:#0000}.sidebar::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}.bd-page{width:100%}.bd-page-header{gap:1rem;margin-bottom:1.25rem}.bd-page>.ls-banner{margin-bottom:1rem}.bd-layout{grid-gap:1rem;align-items:start;display:grid;gap:1rem;grid-template-columns:minmax(230px,270px) minmax(0,1fr)}.bd-attention,.bd-directory,.bd-rooms,.bd-summary{background:var(--ls-card);border:1px solid var(--ls-border);border-radius:8px;min-width:0}.bd-directory{overflow:hidden;position:-webkit-sticky;position:sticky;top:1rem}.bd-directory-heading{align-items:baseline;color:var(--ls-text);display:flex;font-size:.9rem;justify-content:space-between;padding:1rem 1rem .75rem}.bd-directory-heading span{font-feature-settings:"tnum";color:var(--ls-muted);font-variant-numeric:tabular-nums}.bd-search{align-items:center;background:var(--ls-input-bg);border:1px solid var(--ls-input-border);border-radius:6px;color:var(--ls-muted);display:flex;gap:.45rem;margin:0 .75rem .65rem;min-height:40px;padding:0 .65rem}.bd-search input{background:#0000;border:0;color:var(--ls-text);font:inherit;font-size:.83rem;min-width:0;outline:0;width:100%}.bd-search input::-webkit-search-cancel-button{cursor:pointer}.bd-search:focus-within{outline:2px solid var(--ls-live);outline-offset:1px}.bd-directory-options{align-items:stretch;display:flex;gap:.5rem;margin:0 .75rem .75rem}.bd-filter{align-items:center;color:var(--ls-muted);display:flex;flex:1 1;font-size:.78rem;gap:.5rem;min-width:0}.bd-filter>span{flex:0 0 3.3rem}.bd-filter select{color:var(--ls-text);font:inherit;font-size:.82rem;min-width:0;padding:.35rem .5rem;width:100%}.bd-filter select,.bd-sort-toggle{background:var(--ls-input-bg);border:1px solid var(--ls-input-border);border-radius:6px;min-height:36px}.bd-sort-toggle{align-items:center;color:var(--ls-text-2);cursor:pointer;display:inline-flex;flex:0 0 36px;justify-content:center;padding:0}.bd-sort-toggle:hover{background:var(--ls-card-2);color:var(--ls-text)}.bd-filter select:focus-visible,.bd-sort-toggle:focus-visible{outline:2px solid var(--ls-live);outline-offset:1px}.bd-directory-list{border-top:1px solid var(--ls-border);max-height:calc(100vh - 300px);min-height:80px;overflow-y:auto}.bd-directory-item{background:#0000;border:0;border-bottom:1px solid var(--ls-border);color:var(--ls-text);cursor:pointer;display:block;font:inherit;padding:.75rem .85rem;text-align:left;width:100%}.bd-directory-item:last-child{border-bottom:0}.bd-directory-item:hover{background:var(--ls-card-2)}.bd-directory-item.is-selected{background:var(--ls-card-2);box-shadow:inset 3px 0 var(--ls-red)}.bd-directory-item:focus-visible{outline:2px solid var(--ls-live);outline-offset:-3px}.bd-directory-item-main,.bd-directory-item-meta{align-items:center;display:flex;gap:.55rem}.bd-directory-item-main{font-size:.85rem}.bd-directory-item-main svg{color:var(--ls-muted);flex-shrink:0}.bd-directory-item-main strong{font-weight:650;min-width:0}.bd-directory-item-meta{color:var(--ls-muted);font-size:.74rem;justify-content:space-between;line-height:1.35;margin:.3rem 0 0 1.55rem}.bd-directory-item-meta svg{flex-shrink:0}.bd-directory-empty{color:var(--ls-muted);font-size:.85rem;padding:1rem}.bd-back{display:none}.bd-detail{grid-gap:1rem;display:grid;gap:1rem;min-width:0}.bd-summary{padding:1.25rem 1.4rem}.bd-summary-heading{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.bd-summary h2{color:var(--ls-text);font-size:clamp(1.2rem,2vw,1.6rem);letter-spacing:-.02em;line-height:1.2;margin:0 0 .55rem}.bd-summary-actions{display:flex;flex-wrap:wrap;gap:.45rem}.bd-summary-actions a{align-items:center;border:1px solid var(--ls-border-strong);border-radius:6px;color:var(--ls-text);display:inline-flex;font-size:.82rem;font-weight:650;justify-content:center;min-height:38px;padding:.5rem .8rem;text-decoration:none}.bd-summary-actions .bd-action-primary{background:var(--ui-action);border-color:var(--ui-action);color:var(--ui-action-ink)}.bd-summary-actions a:hover{border-color:var(--ls-text-2)}.bd-attention a:focus-visible,.bd-room-actions a:focus-visible,.bd-summary-actions a:focus-visible{outline:2px solid var(--ls-live);outline-offset:2px}.bd-overview{background:var(--ls-card-2);border:1px solid var(--ls-border);border-radius:6px;display:grid;grid-template-columns:minmax(190px,1fr) minmax(0,1.6fr);margin-top:1.25rem}.bd-overview-occupancy{grid-gap:.2rem;align-content:center;display:grid;gap:.2rem;padding:1rem}.bd-metric-label{color:var(--ls-muted);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.bd-overview-occupancy strong{font-feature-settings:"tnum";color:var(--ls-text);font-size:1.55rem;font-variant-numeric:tabular-nums;line-height:1.15}.bd-overview-occupancy>span:last-child{color:var(--ls-text-2);font-size:.78rem;line-height:1.35}.bd-coverage{border-left:1px solid var(--ls-border);display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.bd-coverage div{grid-gap:.2rem;align-content:center;border-right:1px solid var(--ls-border);display:grid;gap:.2rem;padding:.8rem}.bd-coverage div:last-child{border-right:0}.bd-coverage strong{font-feature-settings:"tnum";color:var(--ls-text);font-size:1.3rem;font-variant-numeric:tabular-nums;line-height:1}.bd-coverage span{color:var(--ls-muted);font-size:.74rem}.bd-coverage-note{color:var(--ls-muted);font-size:.78rem;line-height:1.45;margin-top:.75rem}.bd-section-heading{align-items:flex-end;display:flex;gap:.75rem;justify-content:space-between;padding:1rem 1.25rem}.bd-section-heading h3{color:var(--ls-text);font-size:1rem;line-height:1.3;margin:0}.bd-section-heading>span{color:var(--ls-muted);font-size:.78rem;white-space:nowrap}.bd-attention .bd-section-heading{padding-bottom:.65rem}.bd-attention .bd-section-heading h3{color:var(--ls-bad-text)}.bd-attention ul,.bd-room-list{list-style:none;margin:0;padding:0}.bd-attention li{align-items:center;border-top:1px solid var(--ls-border);display:flex;gap:.75rem;justify-content:space-between;margin:0 1.25rem;padding:.75rem 0}.bd-attention li span{grid-gap:.15rem;display:grid;gap:.15rem}.bd-attention li strong{color:var(--ls-text);font-size:.84rem}.bd-attention li small{color:var(--ls-muted);font-size:.76rem}.bd-attention li a{align-items:center;color:var(--ls-text);display:inline-flex;font-size:.8rem;font-weight:650;gap:.2rem;text-decoration:none;white-space:nowrap}.bd-attention li a:hover{text-decoration:underline}.bd-floor{border-top:1px solid var(--ls-border)}.bd-floor-heading{background:var(--ls-card-2);color:var(--ls-text-2);font-size:.76rem;font-weight:700;padding:.65rem 1.25rem}.bd-room{grid-gap:.8rem;align-items:center;border-top:1px solid var(--ls-border);display:grid;gap:.8rem;grid-template-columns:minmax(130px,1fr) minmax(90px,.7fr) minmax(175px,1.25fr) minmax(150px,auto);padding:.8rem 1.25rem}.bd-room-name,.bd-room-reading{grid-gap:.2rem;display:grid;gap:.2rem;min-width:0}.bd-room-name strong{color:var(--ls-text);font-size:.85rem}.bd-room-name span,.bd-room-reading span{color:var(--ls-muted);font-size:.74rem;line-height:1.35}.bd-room-reading strong{color:var(--ls-text-2);font-size:.79rem;font-weight:600;line-height:1.35}.bd-room--offline .bd-room-reading strong{color:var(--ls-warn-text)}.bd-room-status .ls-pill{max-width:100%}.bd-room-actions{display:flex;flex-wrap:wrap;gap:.3rem .7rem;justify-content:flex-end}.bd-room-actions a{color:var(--ls-text-2);font-size:.77rem;font-weight:650;text-decoration:underline;text-underline-offset:2px}.bd-room-actions a:hover{color:var(--ls-red)}.bd-empty{border:1px solid var(--ls-border);border-radius:8px;color:var(--ls-muted);font-size:.88rem;padding:1.25rem}.bd-empty-results{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between}.bd-empty-results button{background:var(--ls-card);border:1px solid var(--ls-border-strong);border-radius:6px;color:var(--ls-text);cursor:pointer;font:inherit;font-weight:650;min-height:40px;padding:.45rem .7rem}.bd-empty-results button:hover{background:var(--ls-card-2)}.bd-empty-results button:focus-visible{outline:2px solid var(--ls-live);outline-offset:2px}.bd-rooms .bd-empty{border:0;border-radius:0;border-top:1px solid var(--ls-border)}@media (max-width:1250px){.bd-room{gap:.45rem .8rem;grid-template-columns:minmax(0,1fr) auto}.bd-room-status{justify-self:end}.bd-room-reading{grid-column:1}.bd-room-reading:empty{display:none}.bd-room-actions{align-self:end;grid-column:2;grid-row:2}}@media (max-width:900px){.bd-layout{display:block}.bd-layout.is-picked .bd-directory,.bd-layout:not(.is-picked) .bd-detail{display:none}.bd-directory{position:static}.bd-directory-list{max-height:none;overflow:visible}.bd-layout:not(.has-pick) .bd-directory-item.is-selected{background:#0000;box-shadow:none}.bd-empty-results button,.bd-filter select,.bd-search,.bd-sort-toggle{min-height:44px}.bd-filter select,.bd-search input{font-size:1rem}.bd-sort-toggle{flex-basis:44px}.bd-back{align-items:center;background:none;border:0;color:var(--ls-text-2);cursor:pointer;display:inline-flex;font:inherit;font-weight:600;gap:.35rem;justify-self:start;margin:-.5rem 0 -.5rem -.6rem;min-height:44px;padding:0 .6rem}.bd-back:focus-visible{outline:2px solid var(--ls-live);outline-offset:2px}.bd-summary{padding:1rem}}@media (max-width:620px){.bd-page-header{display:block}.bd-summary-actions{width:100%}.bd-summary-actions a{flex:1 1 auto;min-height:44px}.bd-overview{grid-template-columns:1fr}.bd-coverage{border-left:0;border-top:1px solid var(--ls-border)}.bd-coverage div{padding:.75rem}.bd-attention li{margin:0 1rem}.bd-attention li a{min-height:44px}.bd-room{grid-template-columns:minmax(0,1fr) auto;padding:.85rem 1rem}.bd-room-reading{grid-column:1/-1}.bd-room-actions{gap:.3rem .8rem;grid-column:1/-1;grid-row:auto;justify-content:flex-start}.bd-room-actions a{align-items:center;display:inline-flex;min-height:40px}}.auth-root{--auth-bg:#f5f6f8;--auth-surface:#fff;--auth-text:#111827;--auth-muted:#6b7280;--auth-border:#e5e7eb;--auth-border-strong:#d1d5db;--auth-accent:#dc2626;--auth-accent-hover:#b91c1c;--auth-accent-tint:#fef2f2;--auth-ring:#dc262638;--auth-danger-bg:#fef2f2;--auth-danger-border:#fecaca;--auth-danger-text:#991b1b;--auth-warn-text:#92400e;--auth-info-bg:#f1f5f9;--auth-ok:#16a34a;--auth-off:#ef4444;--auth-idle:#9ca3af;background:var(--auth-bg);color:var(--auth-text);display:grid;font-family:var(--ls-font);grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr;min-height:100vh}:root[data-theme=dark] .auth-root{--auth-bg:#0b1220;--auth-surface:#111c32;--auth-text:#f5f9ff;--auth-muted:#93a3bc;--auth-border:#1f2d47;--auth-border-strong:#2b3b58;--auth-accent:#ef4444;--auth-accent-hover:#dc2626;--auth-accent-tint:#ef44441f;--auth-ring:#f871714d;--auth-danger-bg:#f871711a;--auth-danger-border:#f8717159;--auth-danger-text:#fca5a5;--auth-warn-text:#fbbf24;--auth-info-bg:#16223a;--auth-ok:#4ade80;--auth-off:#f87171;--auth-idle:#64748b}.auth-brand{background:radial-gradient(120% 80% at 100% 0,#ef444429 0,#0000 55%),linear-gradient(160deg,#1f2937,#0b1220);color:#e6edf7;flex-direction:column;gap:2rem;justify-content:space-between;overflow:hidden;padding:1.25rem}.auth-brand,.auth-logo{display:flex;position:relative}.auth-logo{align-items:center;gap:.65rem;z-index:1}.auth-logo-mark{background:linear-gradient(135deg,#ef4444,#b91c1c);border-radius:.6rem;box-shadow:0 6px 18px #ef444459;color:#fff;display:grid;flex-shrink:0;height:2.25rem;place-items:center;width:2.25rem}.auth-logo-name{color:#fff;font-size:1.15rem;font-weight:700;letter-spacing:-.01em}.auth-logo-sub{color:#93a3bc;display:block;font-size:.72rem;font-weight:500;letter-spacing:.02em}.auth-brand-body,.auth-brand-foot{display:none;position:relative;z-index:1}.auth-brand-body h2{color:#fff;font-size:2rem;font-weight:700;letter-spacing:-.02em;line-height:1.15;margin-bottom:.9rem;max-width:22ch}.auth-brand-body>p{color:#aebbd0;font-size:.95rem;line-height:1.6;max-width:44ch}.auth-features{grid-gap:.9rem;display:grid;gap:.9rem;list-style:none;margin-top:1.75rem}.auth-features li{align-items:flex-start;color:#cbd8ea;display:flex;font-size:.9rem;gap:.75rem;line-height:1.45}.auth-features li strong{color:#fff;display:block;font-weight:600}.auth-feature-icon{background:#ffffff0f;border:1px solid #ffffff14;border-radius:.5rem;color:#fca5a5;display:grid;flex-shrink:0;height:2rem;place-items:center;width:2rem}.auth-brand-foot{color:#64748b;font-size:.75rem}.auth-radar{background:repeating-radial-gradient(circle at center,#0000 0 3.2rem,#94a3b824 3.2rem calc(3.2rem + 1px));border-radius:50%;bottom:-9rem;height:30rem;-webkit-mask-image:radial-gradient(circle at center,#000 60%,#0000 71%);mask-image:radial-gradient(circle at center,#000 60%,#0000 71%);opacity:.9;pointer-events:none;position:absolute;right:-9rem;width:30rem}.auth-radar:after,.auth-radar:before{background:#94a3b81f;content:"";position:absolute}.auth-radar:before{bottom:0;left:50%;top:0;width:1px}.auth-radar:after{height:1px;left:0;right:0;top:50%}.auth-radar-sweep{animation:auth-sweep 6s linear infinite;background:conic-gradient(from 0deg,#ef444400 0deg,#ef444400 290deg,#ef444447 358deg,#ef44448c 1turn);inset:0}.auth-blip,.auth-radar-sweep{border-radius:50%;position:absolute}.auth-blip{animation:auth-ping 2.4s ease-out infinite;background:#f87171;box-shadow:0 0 0 0 #f8717199;height:.55rem;margin:-.275rem 0 0 -.275rem;width:.55rem}.auth-blip:nth-child(2){animation-delay:.3s;left:40%;top:34%}.auth-blip:nth-child(3){animation-delay:1.1s;left:27%;top:44%}.auth-blip:nth-child(4){animation-delay:1.7s;left:58%;top:27%}@keyframes auth-sweep{to{transform:rotate(1turn)}}@keyframes auth-ping{0%{box-shadow:0 0 0 0 #f871718c}80%{box-shadow:0 0 0 .9rem #f8717100}to{box-shadow:0 0 0 0 #f8717100}}.auth-main{align-items:flex-start;display:flex;justify-content:center;padding:2rem 1rem 2.5rem}.auth-panel{max-width:26rem;width:100%}.auth-head h1{color:var(--auth-text);font-size:1.6rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.35rem}.auth-head p{color:var(--auth-muted);font-size:.9rem;line-height:1.5;margin-bottom:1.75rem}.auth-form{grid-gap:1.15rem;display:grid;gap:1.15rem}.auth-fieldset{border:0;min-width:0}.auth-label,.auth-legend{color:var(--auth-text);display:block;font-size:.82rem;font-weight:600;margin-bottom:.45rem}.auth-roles{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(3,minmax(0,1fr))}.auth-role{cursor:pointer;display:block;position:relative}.auth-role-body{align-items:center;background:var(--auth-surface);border:1.5px solid var(--auth-border);border-radius:.65rem;color:var(--auth-muted);display:flex;flex-direction:column;font-size:.78rem;font-weight:600;gap:.35rem;line-height:1.2;padding:.7rem .35rem .6rem;text-align:center;transition:border-color .15s,background-color .15s,color .15s,box-shadow .15s}.auth-role:hover .auth-role-body{border-color:var(--auth-border-strong);color:var(--auth-text)}.auth-role input:checked+.auth-role-body{background:var(--auth-accent-tint);border-color:var(--auth-accent);color:var(--auth-accent)}.auth-role input:focus-visible+.auth-role-body{box-shadow:0 0 0 3px var(--auth-ring)}.auth-fieldset[aria-invalid=true] .auth-role-body{border-color:var(--auth-danger-border)}.auth-fieldset[aria-invalid=true] .auth-role input:checked+.auth-role-body{border-color:var(--auth-off)}.auth-field{align-items:center;background:var(--auth-surface);border:1.5px solid var(--auth-border);border-radius:.65rem;color:var(--auth-muted);display:flex;gap:.6rem;padding-left:.85rem;transition:border-color .15s,box-shadow .15s}.auth-field:hover{border-color:var(--auth-border-strong)}.auth-field:focus-within{border-color:var(--auth-accent);box-shadow:0 0 0 3px var(--auth-ring);color:var(--auth-accent)}.auth-field.is-invalid{border-color:var(--auth-off)}.auth-root .auth-field input.auth-input{background:#0000;border:0;color:var(--auth-text);flex:1 1;font:inherit;font-size:.95rem;min-width:0;outline:0;padding:.75rem .85rem .75rem 0}.auth-root .auth-field input.auth-input::placeholder{color:var(--auth-idle)}.auth-root .auth-field input.auth-input:disabled{cursor:not-allowed}.auth-reveal{align-self:stretch;background:#0000;border:0;border-radius:0 .6rem .6rem 0;color:var(--auth-muted);cursor:pointer;display:grid;padding:0 .85rem;place-items:center}.auth-reveal:hover{color:var(--auth-text)}.auth-reveal:focus-visible{outline:2px solid var(--auth-accent);outline-offset:-4px}.auth-hint{align-items:center;display:flex;font-size:.78rem;font-weight:500;gap:.35rem;margin-top:.4rem}.auth-hint.is-error{color:var(--auth-danger-text)}.auth-hint.is-warn{color:var(--auth-warn-text)}.auth-row{align-items:center;display:flex;flex-wrap:wrap;font-size:.84rem;gap:.75rem;justify-content:space-between}.auth-check{align-items:center;color:var(--auth-muted);cursor:pointer;display:inline-flex;gap:.5rem}.auth-check input{accent-color:var(--auth-accent);cursor:pointer;height:1rem;width:1rem}.auth-link{background:none;border:0;border-radius:.25rem;color:var(--auth-accent);cursor:pointer;font:inherit;font-weight:600;padding:0}.auth-link:hover{color:var(--auth-accent-hover);text-decoration:underline;text-underline-offset:3px}.auth-link:focus-visible{outline:2px solid var(--auth-accent);outline-offset:2px}.auth-note{background:var(--auth-info-bg);border-radius:.6rem;color:var(--auth-muted);display:flex;font-size:.82rem;gap:.6rem;line-height:1.5;padding:.75rem .85rem}.auth-note svg{flex-shrink:0;margin-top:.1rem}.auth-contact{align-items:baseline;color:inherit;color:var(--auth-text,inherit);display:flex;flex-wrap:wrap;gap:.15rem .6rem;margin-top:.45rem}.auth-contact-who{flex-basis:100%}.auth-contact strong{font-weight:600}.auth-contact a{color:var(--auth-accent);font-weight:600;overflow-wrap:anywhere;text-underline-offset:3px}.auth-contact a:focus-visible{outline:2px solid var(--auth-accent);outline-offset:2px}@media (pointer:coarse){.auth-contact a{display:inline-block;padding:.55rem 0}}.auth-alert{background:var(--auth-danger-bg);border:1px solid var(--auth-danger-border);border-radius:.6rem;color:var(--auth-danger-text);display:flex;font-size:.85rem;font-weight:500;gap:.6rem;line-height:1.45;padding:.75rem .85rem}.auth-alert svg{flex-shrink:0;margin-top:.1rem}.auth-alert small{display:block;font-weight:400;margin-top:.2rem;opacity:.8;word-break:break-word}.auth-submit{align-items:center;background:var(--auth-accent);border:0;border-radius:.65rem;box-shadow:0 6px 16px -6px #dc26268c;color:#fff;cursor:pointer;display:inline-flex;font:inherit;font-size:.95rem;font-weight:600;gap:.5rem;justify-content:center;padding:.8rem 1rem;transition:background-color .15s,transform .15s,box-shadow .15s;width:100%}.auth-submit:hover:not(:disabled){background:var(--auth-accent-hover);box-shadow:0 10px 20px -8px #dc262699;transform:translateY(-1px)}.auth-submit:active:not(:disabled){transform:translateY(0)}.auth-submit:focus-visible{box-shadow:0 0 0 3px var(--auth-surface),0 0 0 5px var(--auth-accent);outline:0}.auth-submit:disabled{cursor:progress;opacity:.75}.auth-submit .auth-arrow{transition:transform .15s}.auth-submit:hover:not(:disabled) .auth-arrow{transform:translateX(3px)}.auth-spin{animation:auth-spin .8s linear infinite}@keyframes auth-spin{to{transform:rotate(1turn)}}.auth-foot{grid-gap:1.25rem;color:var(--auth-muted);display:grid;font-size:.85rem;gap:1.25rem;margin-top:1.5rem;text-align:center}.auth-status{border-top:1px solid var(--auth-border);display:flex;flex-wrap:wrap;font-size:.75rem;gap:.4rem 1rem;justify-content:center;padding-top:1.1rem}.auth-status-item{align-items:center;display:inline-flex;gap:.4rem}.auth-dot{background:var(--auth-idle);border-radius:50%;flex-shrink:0;height:.5rem;width:.5rem}.auth-dot.is-ok{background:var(--auth-ok);box-shadow:0 0 0 3px color-mix(in srgb,var(--auth-ok) 20%,#0000)}.auth-dot.is-off{background:var(--auth-off);box-shadow:0 0 0 3px color-mix(in srgb,var(--auth-off) 20%,#0000)}.auth-transition{background:var(--auth-surface);border:1px solid var(--auth-border);border-radius:6px;padding:2rem}.auth-transition-mark{background:var(--ls-red-tint);border-radius:12px;color:var(--auth-accent);display:grid;height:4rem;margin-bottom:1.5rem;place-items:center;width:4rem}.auth-transition.is-ready .auth-transition-mark{background:color-mix(in srgb,var(--ls-ok-text) 10%,var(--auth-surface));color:var(--ls-ok-text)}.auth-transition.is-ready .auth-transition-mark svg{animation:auth-confirm .22s cubic-bezier(.16,1,.3,1)}.auth-transition h1{color:var(--auth-text);font-size:1.75rem;font-weight:700;letter-spacing:-.025em;line-height:1.25;margin:0 0 .65rem;overflow-wrap:anywhere}.auth-transition h1 span{display:block}.auth-transition-description{color:var(--auth-muted);font-size:.9rem;line-height:1.6;margin:0}.auth-transition-steps{grid-gap:1.5rem;display:grid;gap:1.5rem;list-style:none;margin:2rem 0;padding:0}.auth-transition-steps li{align-items:flex-start;display:flex;gap:.85rem;position:relative}.auth-transition-steps li:first-child:after{background:var(--auth-border);bottom:-1.2rem;content:"";left:1rem;position:absolute;top:2.25rem;width:1px}.auth-step-icon{background:var(--ls-card-2);border:1px solid var(--auth-border);border-radius:50%;color:var(--auth-muted);display:grid;flex:0 0 2rem;height:2rem;place-items:center}.auth-transition-steps .is-current .auth-step-icon{background:var(--ls-red-tint);border-color:color-mix(in srgb,var(--auth-accent) 35%,var(--auth-border));color:var(--auth-accent)}.auth-transition-steps .is-complete .auth-step-icon{color:var(--ls-ok-text)}.auth-transition-steps li>div{min-width:0}.auth-transition-steps strong{color:var(--auth-text);display:block;font-size:.88rem;font-weight:600;line-height:1.5}.auth-transition-steps div>span{color:var(--auth-muted);display:block;font-size:.8rem;line-height:1.5;margin-top:.15rem}.auth-transition-note{border-top:1px solid var(--auth-border);color:var(--auth-muted);font-size:.78rem;line-height:1.5;margin:0;padding-top:1.25rem}@keyframes auth-confirm{0%{transform:scale(.9)}to{transform:scale(1)}}@media (max-width:479px){.auth-transition{padding:1.5rem}.auth-transition h1{font-size:1.5rem}}.auth-sr{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}@media (min-width:960px){.auth-root{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);grid-template-rows:1fr}.auth-brand{min-height:100vh;padding:2.5rem 3rem}.auth-brand-body,.auth-brand-foot{display:block}.auth-main{align-items:center;padding:3rem 2.5rem}.auth-logo-mark{height:2.5rem;width:2.5rem}}@media (max-width:959px){.auth-radar{display:none}}@media (min-width:1280px){.auth-brand-body h2{font-size:2.4rem}.auth-radar{bottom:-10rem;height:36rem;right:-10rem;width:36rem}}:root[data-reduce-motion] .auth-blip,:root[data-reduce-motion] .auth-radar-sweep,:root[data-reduce-motion] .auth-spin,:root[data-reduce-motion] .auth-transition.is-ready .auth-transition-mark svg{animation:none}@media (prefers-reduced-motion:reduce){.auth-blip,.auth-radar-sweep,.auth-spin,.auth-transition.is-ready .auth-transition-mark svg{animation:none}.auth-submit,.auth-submit .auth-arrow{transition:none}}.mon-page{flex-direction:column;min-width:0}.mon-head,.mon-page{display:flex;gap:1rem}.mon-head{align-items:flex-start;flex-wrap:wrap;justify-content:space-between}.mon-head-main{min-width:0}.mon-title{color:var(--ls-text);font-size:1.75rem;font-weight:700;letter-spacing:-.02em;line-height:1.2}.mon-sub{color:var(--ls-muted);font-size:.9rem;margin-top:.3rem}.mon-head-status{align-items:center;color:var(--ls-text-2);display:flex;flex-wrap:wrap;font-size:.85rem;gap:.6rem .9rem;margin-top:.55rem}.mon-head-status b{color:var(--ls-text);font-weight:600}.mon-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.ls-btn{align-items:center;background:var(--ls-card);border:1px solid var(--ls-border-strong);border-radius:8px;color:var(--ls-text);cursor:pointer;display:inline-flex;font:inherit;font-size:.875rem;font-weight:600;gap:.4rem;justify-content:center;min-height:38px;padding:.45rem .85rem;text-decoration:none;transition:background-color .15s ease,border-color .15s ease;white-space:nowrap}.ls-btn:hover{background:var(--ls-card-2);border-color:var(--ls-muted)}.ls-btn:focus-visible{outline:2px solid var(--ls-live);outline-offset:2px}.ls-btn--primary{background:var(--ls-red);border-color:var(--ls-red);color:#fff}.ls-btn--primary:hover{background:var(--ls-red-dark);border-color:var(--ls-red-dark)}.ls-btn--block{width:100%}.ls-btn--replay{border-color:#f5a6238c;color:#b36b00}:root[data-theme=dark] .ls-btn--replay{color:var(--ls-lastknown)}.ls-btn--replay:hover{background:#f5a6231a;border-color:var(--ls-lastknown)}.ls-pill{--pill:var(--ls-nosensor);align-items:center;background:color-mix(in srgb,var(--pill) 12%,#0000);border:1px solid color-mix(in srgb,var(--pill) 45%,#0000);border-radius:999px;color:color-mix(in srgb,var(--pill) 72%,var(--ls-text));display:inline-flex;font-size:.78rem;font-weight:700;gap:.4rem;letter-spacing:.02em;line-height:1.4;padding:.2rem .6rem;text-transform:uppercase;white-space:nowrap}.ls-pill--sm{font-size:.68rem;gap:.3rem;padding:.1rem .45rem}.ls-pill--live{--pill:var(--ls-live)}.ls-pill--lastknown,.ls-pill--partial{--pill:var(--ls-lastknown)}.ls-pill--offline,.ls-pill--unreachable{--pill:var(--ls-offline)}.ls-pill--nosensor{--pill:var(--ls-nosensor)}.ls-pill.is-subtle{border-color:#0000}.ls-pill-dot{background:var(--pill);border-radius:50%;flex-shrink:0;height:7px;width:7px}.ls-pill--live .ls-pill-dot{animation:ls-pulse 2s ease-out infinite}.ls-pill--lastknown .ls-pill-dot{background:#0000;border:2px solid var(--pill);height:8px;width:8px}.ls-pill--offline .ls-pill-dot,.ls-pill--partial .ls-pill-dot,.ls-pill--unreachable .ls-pill-dot{background:#0000;border:1.5px dashed var(--pill);height:8px;width:8px}.ls-pill--nosensor .ls-pill-dot{background:#0000;border:1.5px solid var(--pill);height:9px;position:relative;width:9px}.ls-pill--nosensor .ls-pill-dot:after{background:var(--pill);content:"";height:1.5px;left:-2px;position:absolute;top:3px;transform:rotate(-45deg);width:10px}@keyframes ls-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--ls-live) 60%,#0000)}80%,to{box-shadow:0 0 0 6px #0000}}.ls-banner{--tone:var(--ls-lastknown);align-items:center;background:color-mix(in srgb,var(--tone) 9%,var(--ls-card));border:1px solid color-mix(in srgb,var(--tone) 45%,#0000);border-radius:8px;color:var(--ls-text);display:flex;flex-wrap:wrap;font-size:.85rem;gap:.6rem 1rem;padding:.6rem .9rem}.ls-banner--offline{--tone:var(--ls-offline)}.ls-banner-icon{color:color-mix(in srgb,var(--tone) 80%,#000);flex-shrink:0}:root[data-theme=dark] .ls-banner-icon{color:var(--tone)}.ls-banner-text{display:flex;flex:1 1 22rem;flex-wrap:wrap;gap:.15rem .5rem;min-width:0}.ls-banner-text strong{font-weight:700}.ls-banner-meta,.ls-banner-text span{color:var(--ls-text-2)}.ls-banner-meta{white-space:nowrap}.ls-banner-link,.ls-banner-meta b{color:var(--ls-text)}.ls-banner-link{align-items:center;display:inline-flex;font-weight:600;gap:.25rem;text-decoration:none;white-space:nowrap}.ls-banner-link:hover{color:var(--ls-red)}.mon-stats{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(4,minmax(0,1fr))}.ls-stat{background:var(--ls-card);border:1px solid var(--ls-border);border-radius:var(--ls-radius);box-shadow:var(--ls-shadow);min-width:0;padding:.8rem 1rem}.ls-stat-label{align-items:center;color:var(--ls-muted);display:flex;font-size:.75rem;font-weight:600;gap:.4rem;letter-spacing:.04em;text-transform:uppercase}.ls-stat-value{font-feature-settings:"tnum";color:var(--ls-text);font-size:1.65rem;font-variant-numeric:tabular-nums;font-weight:700;line-height:1.1;margin-top:.3rem}.ls-stat-hint{color:var(--ls-muted);font-size:.75rem;margin-top:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ls-stat--live .ls-stat-value{color:#0f93ad}:root[data-theme=dark] .ls-stat--live .ls-stat-value{color:var(--ls-live)}.ls-stat--alert .ls-stat-value{color:var(--ls-high)}.ls-stat--warn .ls-stat-value{color:#c97d00}:root[data-theme=dark] .ls-stat--warn .ls-stat-value{color:var(--ls-lastknown)}.ls-stat-hint .is-lastknown{color:#b36b00;font-weight:600}:root[data-theme=dark] .ls-stat-hint .is-lastknown{color:var(--ls-lastknown)}.ls-info{grid-gap:0;display:grid;gap:0}.ls-info--2{column-gap:1rem;grid-template-columns:1fr 1fr}.ls-info-row{border-top:1px solid var(--ls-border);display:flex;flex-direction:column;gap:.15rem;min-width:0;padding:.55rem 0}.ls-info-row dt{color:var(--ls-muted);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.ls-info-row dd{color:var(--ls-text);font-size:.9rem;font-weight:500;overflow-wrap:anywhere}.ls-info-row dd small{color:var(--ls-muted);font-weight:400}.mon-mapcard{background:var(--ls-map);border:1px solid var(--ls-map-line);border-radius:var(--ls-radius);min-width:0;overflow:hidden;position:relative}.ls-zp,.ls-zp-viewport{height:100%;position:relative;width:100%}.ls-zp-viewport{cursor:grab;outline:none;overflow:hidden;user-select:none;-webkit-user-select:none}.ls-zp-viewport:active{cursor:grabbing}.ls-zp-viewport:focus-visible{box-shadow:inset 0 0 0 2px var(--ls-live)}.ls-zp-stage{left:0;position:absolute;top:0;transform-origin:0 0;will-change:transform}.ls-zp-controls{background:color-mix(in srgb,var(--ls-map-2) 92%,#0000);border:1px solid var(--ls-map-line);border-radius:8px;box-shadow:var(--ls-shadow);display:flex;flex-direction:column;overflow:hidden;position:absolute;right:.6rem;top:.6rem;z-index:3}.ls-zp-controls button{background:#0000;border:0;color:var(--ls-map-text);cursor:pointer;display:grid;height:36px;place-items:center;width:36px}.ls-zp-controls button+button{border-top:1px solid var(--ls-map-line)}.ls-zp-controls button:hover:not(:disabled){background:var(--ls-map-2)}.ls-zp-controls button:disabled{color:color-mix(in srgb,var(--ls-map-muted) 55%,#0000);cursor:default}.ls-zp-controls button:focus-visible{outline:2px solid var(--ls-live);outline-offset:-2px}.ls-zp-tools{bottom:.6rem;display:flex;gap:.4rem;left:.6rem;position:absolute;z-index:3}@media (pointer:coarse){.ls-zp-controls button{height:44px;width:44px}}.ml{background:var(--ls-card);border:1px solid var(--ls-border);border-radius:var(--ls-radius);display:flex;flex-wrap:wrap;gap:8px 24px;padding:8px 14px}.ml,.ml-title{align-items:center}.ml-title{color:var(--ls-text);display:inline-flex;font-size:.72rem;font-weight:800;gap:6px;letter-spacing:.06em;text-transform:uppercase}.ml-sec{align-items:center;border-left:1px solid var(--ls-border);display:flex;flex-wrap:wrap;gap:6px 12px;padding-left:16px}.ml-sec-title{align-items:center;color:var(--ls-muted);display:inline-flex;font-size:.68rem;font-weight:700;gap:5px;letter-spacing:.06em;text-transform:uppercase}.ml ul{display:flex;flex-wrap:wrap;gap:4px 14px;list-style:none}.ml li{align-items:center;color:var(--ls-text-2);display:inline-flex;font-size:.8rem;gap:6px;white-space:nowrap}.ml-sw{flex-shrink:0}.ml-short{display:none}@media (max-width:767px){.ml{grid-gap:6px 12px;align-items:start;display:grid;gap:6px 12px;grid-template-columns:-webkit-max-content minmax(0,1fr);grid-template-columns:max-content minmax(0,1fr);padding:8px 12px}.ml .ml-long,.ml .ml-title,.ml .ml-wide-only{display:none}.ml .ml-short{display:inline}.ml-sec{display:contents}.ml-sec-title{min-height:20px}.ml ul{grid-gap:6px 12px;display:grid;gap:6px 12px;grid-template-columns:repeat(2,minmax(-webkit-max-content,1fr));grid-template-columns:repeat(2,minmax(max-content,1fr))}.ml li{min-height:20px}.ml ul.ml-scale{display:flex;flex-wrap:wrap;gap:6px 10px}}@media (max-width:350px){.ml ul{grid-template-columns:minmax(0,1fr)}}.ls-sheet-root{inset:0;position:fixed;z-index:1200}.ls-sheet-backdrop{animation:ls-fade .18s ease;background:#02061773;inset:0;position:absolute}.ls-sheet{animation:ls-sheet-up .22s ease;background:var(--ls-card);border-radius:16px 16px 0 0;bottom:0;box-shadow:0 -10px 30px #02061740;color:var(--ls-text);left:0;max-height:80dvh;overflow-y:auto;padding:.4rem 1rem calc(1.25rem + env(safe-area-inset-bottom, 0px));position:absolute;right:0}.ls-sheet-grab{background:var(--ls-border-strong);border-radius:2px;height:4px;margin:.25rem auto .4rem;width:40px}.ls-sheet-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.ls-sheet-head h3{font-size:1rem;font-weight:700}.ls-sheet-head button{background:none;border:0;border-radius:8px;color:var(--ls-muted);cursor:pointer;display:grid;height:44px;margin-right:-.5rem;place-items:center;width:44px}.ls-sheet-body .mon-panel{background:none;border:0;box-shadow:none}.ls-sheet-body .mon-panel-body{padding:0}@keyframes ls-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes ls-fade{0%{opacity:0}to{opacity:1}}.ls-tip{background:color-mix(in srgb,var(--ls-map-2) 97%,#0000);border:1px solid var(--ls-map-line);border-radius:8px;box-shadow:var(--ls-shadow-lg);color:var(--ls-map-text);font-size:.8rem;line-height:1.4;max-width:290px;min-width:170px;padding:.6rem .75rem;pointer-events:none;position:fixed;z-index:1150}.ls-tip-head{align-items:center;display:flex;flex-wrap:wrap;gap:.25rem .5rem;justify-content:space-between}.ls-tip-title{font-size:.875rem;font-weight:700}.ls-tip .ls-pill{margin:0}.ls-tip-headline{align-items:baseline;color:var(--ls-map-muted);display:flex;flex-wrap:wrap;gap:0 .45rem;margin-top:.4rem}.ls-tip-headline b{color:var(--ls-map-text);font-size:1.05rem;font-weight:700;white-space:nowrap}.ls-tip-headline span{white-space:nowrap}.ls-tip-headline.is-lastknown b{color:var(--ls-mark-lastknown)}.ls-tip-line{color:var(--ls-map-muted);margin-top:.2rem}.ls-tip-line b{color:var(--ls-map-text)}.ls-rooms{grid-gap:.2rem;display:grid;gap:.2rem;list-style:none;margin:0;padding:0}.ls-rooms li{grid-column-gap:.45rem;align-items:center;column-gap:.45rem;display:grid;grid-template-columns:22px minmax(0,1fr) auto auto}.ls-rooms-name{font-weight:600;overflow:hidden;text-overflow:ellipsis}.ls-rooms-name,.ls-rooms-state,.ls-rooms-val{white-space:nowrap}.ls-rooms-val{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:4.25rem;text-align:right}.ls-tip .ls-rooms{border-top:1px solid var(--ls-map-line);margin-top:.45rem;padding-top:.45rem}.ls-tip .ls-rooms-name,.ls-tip .ls-rooms-val{color:var(--ls-map-text)}.ls-tip .ls-rooms-state{color:var(--ls-map-muted)}.mon-campus{grid-column-gap:1rem;grid-row-gap:0;align-items:start;column-gap:1rem;display:grid;grid-template-areas:"stats stats" "legend legend" "map side";grid-template-columns:minmax(0,1fr) 320px;row-gap:0}.mon-campus>.mon-mapcard{grid-area:map}.mon-campus>.mon-stats{grid-area:stats;margin-bottom:1rem}.mon-campus>.ml{grid-area:legend}.mon-campus>.mon-side{grid-area:side}.mon-campus .mon-mapcard{height:clamp(440px,calc(100vh - 230px),820px)}@media (min-width:768px){.mon-campus>.mon-stats{gap:.6rem;margin-bottom:.75rem}.mon-campus .ls-stat{align-items:baseline;box-shadow:none;display:flex;flex-wrap:wrap;gap:0 .55rem;padding:.5rem .85rem}.mon-campus .ls-stat-label{align-self:center}.mon-campus .ls-stat-value{font-size:1.2rem;margin-top:0}.mon-campus .ls-stat-hint{margin-top:0;min-width:0}}.mon-side{display:flex;flex-direction:column;gap:.75rem;min-width:0}.mon-panel{background:var(--ls-card);border:1px solid var(--ls-border);border-radius:var(--ls-radius);box-shadow:var(--ls-shadow);min-width:0}.mon-panel-head{align-items:center;display:flex;gap:.5rem;justify-content:space-between;padding:.8rem 1rem .6rem}.mon-panel-title{color:var(--ls-muted);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.mon-panel-body{padding:0 1rem 1rem}.bl-list{list-style:none;max-height:420px;overflow-y:auto}.bl-row{align-items:center;background:none;border:0;border-top:1px solid var(--ls-border);color:var(--ls-text);cursor:pointer;display:flex;font:inherit;gap:.7rem;min-height:52px;padding:.45rem 1rem;text-align:left;width:100%}.bl-row:hover{background:var(--ls-card-2)}.bl-row:focus-visible{outline:2px solid var(--ls-live);outline-offset:-2px}.bl-row.is-selected{background:var(--ls-red-tint)}.bl-icon{background:var(--ls-mark-slab);border:1.5px solid var(--mk);border-radius:7px;color:var(--ls-text-2);display:grid;flex-shrink:0;height:30px;place-items:center;width:30px}.bl-icon--offline{background:repeating-linear-gradient(45deg,var(--ls-mark-hatch) 0 1.5px,#0000 1.5px 5px),var(--ls-mark-slab-dim);border-style:dashed}.bl-icon--partial{background:var(--ls-mark-slab);border-style:dashed}.bl-icon--nosensor{background:var(--ls-mark-slab-dim);border-color:var(--ls-mark-nosensor);color:var(--ls-muted)}.bl-name{flex:1 1;font-size:.875rem;font-weight:600;line-height:1.25;min-width:0}.bl-name small{color:var(--ls-muted);display:block;font-size:.75rem;font-weight:500;margin-top:1px}.bl-count{font-feature-settings:"tnum";font-size:1rem;font-variant-numeric:tabular-nums;font-weight:700}.bl-count.is-muted{color:var(--ls-muted)}.bl-count.is-lastknown{color:#b36b00}:root[data-theme=dark] .bl-count.is-lastknown{color:var(--ls-lastknown)}.bp-name{color:var(--ls-text);font-size:1.1rem;font-weight:700;letter-spacing:-.01em}.bp-figure{align-items:baseline;display:flex;gap:.45rem;margin:.75rem 0 .2rem}.bp-figure b{font-feature-settings:"tnum";font-size:2rem;font-variant-numeric:tabular-nums;font-weight:700;line-height:1}.bp-figure span{color:var(--ls-text-2);font-size:.9rem}.bp-figure.is-live b{color:#0f93ad}:root[data-theme=dark] .bp-figure.is-live b{color:var(--ls-live)}.bp-figure.is-lastknown b{color:#b36b00}:root[data-theme=dark] .bp-figure.is-lastknown b{color:var(--ls-lastknown)}.bp-figure.is-muted b{color:var(--ls-muted);font-size:1.5rem}.bp-band{font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.bp-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.35rem .6rem;margin-top:.45rem}.bp-figure-sub,.bp-meta{color:var(--ls-muted);font-size:.85rem}.bp-rooms{border-top:1px solid var(--ls-border);margin-top:.9rem;padding-top:.75rem}.bp-rooms-title{color:var(--ls-muted);font-size:.72rem;font-weight:700;letter-spacing:.06em;margin:0 0 .5rem;text-transform:uppercase}.bp-rooms .ls-rooms{font-size:.875rem;gap:.45rem}.bp-rooms .ls-rooms-name,.bp-rooms .ls-rooms-val{color:var(--ls-text)}.bp-note,.bp-rooms .ls-rooms-state{color:var(--ls-muted)}.bp-note{font-size:.85rem;margin:.8rem 0 0}.bp-actions{grid-gap:.5rem;display:grid;gap:.5rem;margin-top:.9rem}.bp-back{align-items:center;background:none;border:0;border-radius:6px;color:var(--ls-muted);cursor:pointer;display:inline-flex;font:inherit;font-size:.8rem;font-weight:600;gap:.2rem;margin-left:-.3rem;padding:.2rem .3rem}.bp-back:hover{color:var(--ls-red)}.bp-panel .mon-panel-head{border-bottom:0;padding:4px 12px 0}.bp-panel .mon-panel-body{padding:4px 12px 12px}.bp-panel .bp-back{color:var(--ls-text-2);font-size:.75rem;gap:4px;min-height:28px}.bp-panel .bp-back:hover{background:var(--ls-card-2);color:var(--ls-text)}.bp-panel .bp-back:focus-visible,.bp-room-scroll:focus-visible{outline:2px solid var(--ls-text);outline-offset:2px}.bp-identity{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.bp-panel .bp-name{font-size:1rem;letter-spacing:-.015em;line-height:1.4;margin:0;overflow-wrap:anywhere}.bp-identity .ls-pill{font-size:.6875rem;padding:3px 6px}.bp-panel .bp-meta{color:var(--ls-text-2);font-size:.75rem;margin-top:2px}.bp-reading{border-block:1px solid var(--ls-border);margin-top:10px;padding:8px 0}.bp-panel .bp-figure{flex-wrap:wrap;gap:5px;margin:0}.bp-panel .bp-figure b{font-size:1.125rem;line-height:1.3}.bp-panel .bp-figure.is-lastknown b{color:var(--ls-warn-text)}.bp-panel .bp-figure span{font-size:.8125rem;line-height:1.4}.bp-panel .bp-figure-sub{font-feature-settings:"tnum";color:var(--ls-text-2);font-size:.75rem;font-variant-numeric:tabular-nums;line-height:1.4;margin-top:2px}.bp-reading-note{align-items:center;color:var(--ls-text-2);display:flex;font-size:.75rem;gap:4px;line-height:1.4;margin:3px 0 0}.bp-reading-note svg{flex-shrink:0}.bp-panel .bp-rooms{border-top:0;margin-top:10px;padding-top:0}.bp-rooms-heading{align-items:baseline;display:flex;gap:8px;justify-content:space-between;margin-bottom:4px}.bp-rooms-heading>span,.bp-scroll-hint{color:var(--ls-text-2);font-size:.6875rem}.bp-scroll-hint{margin:4px 0 0}.bp-room-total{font-feature-settings:"tnum";color:var(--ls-text-2);font-variant-numeric:tabular-nums;font-weight:400;margin-left:4px}.bp-room-scroll{max-height:240px;overflow-y:auto;padding-inline:0 4px;scrollbar-color:var(--ls-border-strong) var(--ls-card);scrollbar-width:thin}.bp-panel .bp-rooms-title{color:var(--ls-text);font-size:.8125rem;letter-spacing:normal;margin:0;text-transform:none}.bp-panel .ls-rooms{gap:0}.bp-panel .ls-rooms li{align-items:center;gap:5px;grid-template-columns:14px minmax(0,1fr) auto auto;min-height:30px;padding:5px 0}.bp-panel .ls-rooms li+li{border-top:1px solid var(--ls-border)}.bp-panel .ls-rooms li>:first-child{width:14px}.bp-panel .ls-rooms-name{font-size:.8125rem;line-height:1.4;overflow:visible;overflow-wrap:anywhere;white-space:normal}.bp-panel .ls-rooms-state{color:var(--ls-text-2);font-size:.75rem}.bp-panel .ls-rooms-val{color:var(--ls-text-2);font-size:.6875rem;line-height:1.4;min-width:4rem;text-align:right}.bp-panel .bp-actions{margin-top:8px}.bp-panel .bp-open{background:var(--ls-text);border-color:var(--ls-text);color:var(--ls-card);font-size:.8125rem;gap:8px;min-height:36px;padding:6px 10px;text-align:left;white-space:normal}.bp-panel .bp-open span{flex:1 1}.bp-panel .bp-open>svg{flex-shrink:0}.bp-panel .bp-open:hover{background:var(--ls-text-2);border-color:var(--ls-text-2)}.bp-panel .bp-open:focus-visible{outline-color:var(--ls-text)}.bp-panel ::selection{background:var(--ls-text);color:var(--ls-card)}.bp-panel--sheet .mon-panel-body{padding-top:0}@media (pointer:coarse){.bp-panel .bp-back,.bp-panel .bp-open{min-height:44px}}.cm-shape,.fp-shape{fill:var(--mk-fill);stroke:var(--mk-stroke)}.cm-bldg{cursor:pointer;outline:none}.cm-bldg rect.cm-shape{transition:fill .12s ease,stroke-width .12s ease}.cm-bldg:focus-visible rect.cm-shape,.cm-bldg:hover rect.cm-shape{fill:var(--ls-mark-slab-hover)}.cm-bldg.is-selected rect.cm-shape{fill:var(--ls-mark-slab-on)}.cm-bldg:focus-visible rect.cm-ring{stroke:var(--ls-live);stroke-width:3}.fp-bar{align-items:center;background:var(--ls-card);border:1px solid var(--ls-border);border-radius:var(--ls-radius);box-shadow:var(--ls-shadow);display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;justify-content:space-between;padding:.6rem .75rem .6rem .6rem}.fp-floors-label{align-items:center;color:var(--ls-muted);display:inline-flex;font-size:.68rem;font-weight:700;gap:5px;letter-spacing:.06em;margin-right:4px;text-transform:uppercase;white-space:nowrap}.fp-floors{align-items:center;display:flex;gap:.35rem;overflow-x:auto;scrollbar-width:none}.fp-floor{background:var(--ls-card);border:1px solid var(--ls-border-strong);border-radius:8px;color:var(--ls-text-2);cursor:pointer;font:inherit;font-size:.8rem;font-weight:700;letter-spacing:.04em;min-height:36px;padding:0 .9rem;text-transform:uppercase;white-space:nowrap}.fp-floor:hover{border-color:var(--ls-muted);color:var(--ls-text)}.fp-floor.is-on{background:var(--ls-sidebar);border-color:var(--ls-sidebar);color:#fff}.fp-floor:focus-visible{outline:2px solid var(--ls-live);outline-offset:2px}.fp-stats{display:flex;flex-wrap:wrap;gap:.35rem 1.5rem}.fp-stats>div{align-items:baseline;display:flex;gap:.4rem}.fp-stats dt{color:var(--ls-muted);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.fp-stats dd{font-feature-settings:"tnum";color:var(--ls-text);font-size:.95rem;font-variant-numeric:tabular-nums;font-weight:700}.fp-stats dd.is-live{color:#0f93ad}.fp-stats dd.is-warn{color:#c97d00}:root[data-theme=dark] .fp-stats dd.is-live{color:var(--ls-live)}:root[data-theme=dark] .fp-stats dd.is-warn{color:var(--ls-lastknown)}.mon-floor{grid-gap:1rem;align-items:start;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) 300px}.fp-map{aspect-ratio:1300/450;max-width:100%}.fp-room{cursor:pointer;outline:none}.fp-room .fp-shape{transition:stroke-width .12s ease,fill .12s ease}.fp-room:focus-visible .fp-shape,.fp-room:hover .fp-shape{stroke-width:4;fill:color-mix(in srgb,var(--mk-fill) 92%,var(--ls-map-text))}.fp-room:focus-visible .fp-shape{stroke:var(--ls-live)}.bl-chev{color:var(--ls-border-strong);flex-shrink:0;margin-left:-.2rem}@media (max-width:1099px){.mon-floor{grid-template-columns:minmax(0,1fr)}.mon-floor .mon-side{align-items:start;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media (max-width:767px){.fp-bar{gap:.6rem;padding:.6rem}.fp-floor{min-height:40px}.fp-stats{gap:.3rem 1rem}.fp-map{aspect-ratio:auto;height:clamp(220px,70vw,300px)}.mon-floor .mon-side{align-items:stretch;display:flex;flex-direction:column}}.mon-room{grid-gap:1rem;align-items:start;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) 320px}.rd-map-head,.rd-map-key{align-items:center;color:var(--ls-map-text);display:flex;flex-wrap:wrap;gap:.4rem 1.25rem;padding:.75rem 1rem}.rd-map-head{background:var(--ls-map-2);border-bottom:1px solid var(--ls-map-line);justify-content:space-between}.rd-map-head strong{font-size:.875rem;font-weight:650}.rd-map-reading{font-feature-settings:"tnum";align-items:center;color:var(--ls-map-text);display:inline-flex;font-size:.8rem;font-variant-numeric:tabular-nums;gap:.45rem}.rd-map-key-mark,.rd-map-reading-mark{border-radius:50%;display:inline-block;flex:0 0 auto;height:9px;width:9px}.rd-map-key-mark--live,.rd-map-reading--live .rd-map-reading-mark{background:var(--ls-plot-person)}.rd-map-key-mark--lastKnown,.rd-map-reading--lastKnown .rd-map-reading-mark{border:2px solid var(--ls-plot-lastknown)}.rd-map-reading--loading .rd-map-reading-mark,.rd-map-reading--none .rd-map-reading-mark,.rd-map-reading--nosensor .rd-map-reading-mark{border:1px solid var(--ls-map-muted)}.rd-radar{height:clamp(440px,calc(100vh - 300px),760px);position:relative}.rd-radar--empty{display:grid;padding:1.5rem;place-items:center;text-align:center}.rd-radar--empty strong{color:var(--ls-map-text);display:block;font-size:1rem;font-weight:600}.rd-radar--empty span{color:var(--ls-map-muted);display:block;font-size:.85rem;margin-top:.35rem}.rd-map-key{border-top:1px solid var(--ls-map-line);color:var(--ls-map-muted);font-size:.75rem;min-height:42px}.rd-map-key>span{align-items:center;display:inline-flex;gap:.45rem}.rd-map-key-mark--radar{background:var(--ls-plot-board);border-radius:1px;height:8px;width:8px}.rd-map-key-note{margin-left:auto}@media (max-width:767px){.rd-map-head{align-items:flex-start}.rd-map-key-note{margin-left:0;width:100%}}.rd-group{margin-top:.9rem}.rd-group-title{color:var(--ls-muted);font-size:.68rem;font-weight:700;letter-spacing:.06em;margin-bottom:.4rem;text-transform:uppercase}.rd-chips{display:flex;flex-wrap:wrap;gap:.4rem}.rd-chip{background:var(--ls-card);border:1px solid var(--ls-border-strong);border-radius:999px;color:var(--ls-text-2);cursor:pointer;font:inherit;font-size:.82rem;font-weight:600;min-height:34px;padding:0 .75rem}.rd-chip:hover{border-color:var(--ls-muted);color:var(--ls-text)}.rd-chip.is-on{background:var(--ls-sidebar);border-color:var(--ls-sidebar);color:#fff}.rd-chip:focus-visible{outline:2px solid var(--ls-live);outline-offset:2px}.rd-chip{align-items:center;display:inline-flex;gap:.4rem}.rd-chip.is-on:before{background:#fff;border-radius:50%;content:"";height:6px;width:6px}.ls-btn--live{background:var(--ls-sidebar);border-color:var(--ls-sidebar);color:#fff}.ls-btn--live:hover{background:#22324f;border-color:#22324f}.ls-live-dot{background:var(--ls-live);border-radius:50%;box-shadow:0 0 0 3px #16c7e840;height:8px;width:8px}.rph{display:flex;gap:12px 24px;margin-top:12px}.rph,.rph-mode{align-items:center;flex-wrap:wrap}.rph-mode{background:#f5a6231a;border:1px solid #f5a6238c;border-radius:8px;display:inline-flex;gap:4px 8px;padding:6px 12px}.rph-dot{background:var(--ls-lastknown);border-radius:50%;flex-shrink:0;height:8px;width:8px}.rph-mode-label{color:#8a5300;font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.rph-mode-sub{color:var(--ls-text-2);font-size:.8rem}.rph-figure{align-items:center;display:flex;flex-wrap:wrap;gap:8px 16px}.rph-count{align-items:baseline;display:flex;gap:4px 10px}.rph-when{align-items:center;display:flex;gap:8px}.rph-date{color:var(--ls-text-2);font-size:.85rem;font-weight:600}.rph-date-mode{display:none}.rph-figure b{font-feature-settings:"tnum";color:var(--ls-text);font-size:1.75rem;font-variant-numeric:tabular-nums;font-weight:800;line-height:1}.rph-figure b.is-nodata{align-self:center;border:1px dashed var(--ls-nosensor);border-radius:6px;color:var(--ls-muted);font-size:.95rem;padding:3px 8px}.rph-figure b.is-nodata,.rph-figure-label{letter-spacing:.05em;text-transform:uppercase}.rph-figure-label{color:var(--ls-text-2);font-size:.78rem;font-weight:700}.rph-time{font-feature-settings:"tnum";align-self:center;background:#f5a62329;border-radius:6px;color:#8a5300;font-family:var(--ls-mono);font-size:.95rem;font-variant-numeric:tabular-nums;font-weight:700;padding:3px 8px}:root[data-theme=dark] .rph-mode-label,:root[data-theme=dark] .rph-time{color:var(--ls-lastknown)}.rpl{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-areas:"map      side" "controls controls";grid-template-columns:minmax(0,1fr) 300px}.rpl-map{border-color:#f5a62366;grid-area:map;height:clamp(340px,calc(100vh - 540px),640px)}.rpl-side{grid-area:side;min-width:0}.rpl-overlay{background:color-mix(in srgb,var(--ls-map) 72%,#0000);color:var(--ls-map-text);display:grid;font-size:.875rem;inset:0;place-items:center;position:absolute;z-index:4}.rpl-badge{background:color-mix(in srgb,var(--ls-map-2) 92%,#0000);border:1px solid var(--ls-map-line);border-radius:8px;color:var(--ls-map-muted);font-size:.8rem;left:50%;line-height:1.35;max-width:calc(100% - 140px);padding:6px 12px;pointer-events:none;position:absolute;text-align:center;top:12px;transform:translateX(-50%);z-index:3}.rpl-badge b{color:var(--ls-map-text);margin-right:4px}.rpl-badge.is-nodata{border-color:var(--ls-map-muted);border-style:dashed}.rpl-badge.is-nodata b{color:var(--ls-map-text);letter-spacing:.05em;text-transform:uppercase}.rpl-status .mon-panel-body{padding-bottom:16px}.rpl-status .ls-info-row{padding:8px 0}.rpl-value{font-feature-settings:"tnum";font-size:1.35rem;font-variant-numeric:tabular-nums;font-weight:800}.rpl-value.is-nodata{color:var(--ls-muted);font-size:.85rem;letter-spacing:.05em;text-transform:uppercase}.rpl-mono{color:#8a5300;font-family:var(--ls-mono);font-weight:700}:root[data-theme=dark] .rpl-mono{color:var(--ls-lastknown)}.rpl-controls{grid-gap:12px;background:var(--ls-map);border:1px solid var(--ls-map-line);border-radius:var(--ls-radius);color:var(--ls-map-text);display:grid;gap:12px;grid-area:controls;min-width:0;padding:16px 24px}.rpl-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px 24px}.rpl-field{align-items:center;display:inline-flex;gap:8px}.rpl-field-label{color:var(--ls-map-muted);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.rp-play{align-items:center;background:var(--ls-lastknown);border:0;border-radius:8px;color:#1a1200;cursor:pointer;display:inline-flex;font:inherit;font-size:.95rem;font-weight:800;gap:8px;min-height:42px;padding:0 20px}.rp-play:hover:not(:disabled){background:#ffb93d}.rp-play:disabled{background:#334155;color:#7a8aa3;cursor:not-allowed}.rp-play:focus-visible{outline:2px solid #fff;outline-offset:2px}.rp-time{font-feature-settings:"tnum";color:var(--ls-lastknown);font-family:var(--ls-mono);font-size:1.15rem;font-variant-numeric:tabular-nums;font-weight:700;min-width:7.5rem}.rp-speed{align-items:center;color:var(--ls-map-muted);display:inline-flex;font-size:.68rem;font-weight:700;gap:8px;letter-spacing:.06em;text-transform:uppercase}.rp-chip,.rp-speed select,.rp-window{background:var(--ls-map-2);border:1px solid var(--ls-map-line);border-radius:8px;color:var(--ls-map-text);font:inherit;font-size:.8rem;min-height:34px}.rp-speed select{font-weight:600;padding:0 8px;text-transform:none}.rp-spans{display:inline-flex;gap:4px}.rp-chip{color:var(--ls-map-muted);cursor:pointer;font-weight:600;padding:0 12px}.rp-chip:hover{color:var(--ls-map-text)}.rp-chip.is-on{background:#e2e8f0;border-color:#e2e8f0;color:#0e172a}.rp-chip:focus-visible,.rp-speed select:focus-visible{outline:2px solid var(--ls-live);outline-offset:1px}.rpl-timeline{border-top:1px solid var(--ls-map-line);min-width:0;padding-top:12px}.rp-msg{color:var(--ls-map-muted);font-size:.82rem;line-height:1.5;padding:8px 0}.rp-msg.is-error{color:#f87171}.rpl-meta{color:#7a8aa3;display:flex;flex-wrap:wrap;font-size:.72rem;gap:4px 8px}@media (max-width:1099px){.rpl{grid-template-areas:"map" "controls" "side";grid-template-columns:minmax(0,1fr)}.rpl-map{height:clamp(320px,62vw,560px)}}.rp-date{align-items:center;background:var(--ls-map-2);border:1px solid var(--ls-map-line);border-radius:8px;color:var(--ls-map-text);cursor:pointer;display:inline-flex;font:inherit;font-size:.85rem;font-weight:700;gap:8px;min-height:34px;padding:0 10px 0 12px}.rp-date svg:first-child{color:var(--ls-lastknown)}.rp-date-caret{color:var(--ls-map-muted)}.rp-date:hover{border-color:var(--ls-map-muted)}.rp-date:focus-visible{outline:2px solid var(--ls-live);outline-offset:1px}.rp-period{align-items:center;background:var(--ls-map-2);border:1px solid var(--ls-map-line);border-radius:8px;display:inline-flex;min-height:34px;overflow:hidden}.rp-period button{background:none;border:0;color:var(--ls-map-muted);cursor:pointer;display:grid;height:34px;place-items:center;width:34px}.rp-period button:hover:not(:disabled){background:#1d2a44;color:var(--ls-map-text)}.rp-period button:disabled{color:#475569;cursor:not-allowed}.rp-period button:focus-visible{outline:2px solid var(--ls-live);outline-offset:-2px}.rp-period span{color:var(--ls-map-text);font-family:var(--ls-mono);font-size:.8rem;padding:0 6px;text-align:center;white-space:nowrap}.ls-zp.has-bar{display:flex;flex-direction:column}.ls-zp.has-bar .ls-zp-viewport{flex:1 1;height:auto;min-height:0}.ls-zp-bar{align-items:center;background:var(--ls-map-2);border-top:1px solid var(--ls-map-line);display:flex;gap:8px;justify-content:space-between;padding:6px 8px}.ls-zp-bar-controls{display:flex;gap:6px}.ls-zp-bar-controls button{background:var(--ls-map);border:1px solid var(--ls-map-line);border-radius:8px;color:var(--ls-map-text);cursor:pointer;display:grid;font:inherit;height:44px;min-width:44px;padding:0 8px;place-items:center}.ls-zp-bar-controls button:disabled{color:color-mix(in srgb,var(--ls-map-muted) 55%,#0000);cursor:default}.ls-zp-bar-controls button:focus-visible{outline:2px solid var(--ls-live);outline-offset:1px}.ls-zp-fit{font-size:.8rem;font-weight:700}.dp-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.dp-month{font-size:.95rem;font-weight:700}.dp-nav{background:var(--ls-card);border:1px solid var(--ls-border);border-radius:8px;color:var(--ls-text);cursor:pointer;display:grid;height:44px;place-items:center;width:44px}.dp-nav:disabled{color:var(--ls-border-strong);cursor:default}.dp-grid{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(7,minmax(0,1fr))}.dp-wd{color:var(--ls-muted);font-size:.7rem;font-weight:700;letter-spacing:.04em;padding:4px 0;text-align:center}.dp-day{font-feature-settings:"tnum";background:none;border:1px solid #0000;border-radius:8px;color:var(--ls-text);cursor:pointer;font:inherit;font-size:.9rem;font-variant-numeric:tabular-nums;font-weight:600;height:44px;position:relative}.dp-day:hover:not(:disabled){background:var(--ls-card-2);border-color:var(--ls-border)}.dp-day:disabled{color:var(--ls-border-strong);cursor:default;font-weight:400}.dp-day.has-data:after{background:var(--ls-lastknown);border-radius:50%;bottom:6px;content:"";height:5px;left:50%;margin-left:-2.5px;position:absolute;width:5px}.dp-day.is-on{background:var(--ls-sidebar);border-color:var(--ls-sidebar);color:#fff}.dp-day.is-on:after{background:#fff}.dp-day:focus-visible{outline:2px solid var(--ls-live);outline-offset:1px}.dp-foot{align-items:center;color:var(--ls-muted);display:flex;font-size:.78rem;margin-top:8px;min-height:32px}.dp-dot{background:var(--ls-lastknown);border-radius:50%;display:inline-block;height:6px;margin-right:6px;vertical-align:middle;width:6px}@media (min-width:768px){.ls-sheet{animation:ls-fade .15s ease;border-radius:12px;bottom:auto;left:50%;padding:8px 20px 20px;right:auto;top:50%;transform:translate(-50%,-50%);width:min(380px,calc(100vw - 32px))}.ls-sheet-grab{display:none}}@media (max-width:767px){.mon-page--replay{gap:12px}.mon-page--replay .mon-head-main{flex:1 1 100%}.mon-page--replay .mon-title{font-size:1.5rem}.mon-page--replay .mon-sub{font-size:.85rem;margin-top:2px}.rph{grid-gap:8px;display:grid;gap:8px;margin-top:12px}.rph-mode{display:none}.rph-date-mode{color:#8a5300;display:inline}:root[data-theme=dark] .rph-date-mode{color:var(--ls-lastknown)}.rph-date-mode .rph-dot{display:inline-block;margin-right:5px;vertical-align:1px}.rph-figure{align-items:flex-end;background:#f5a6231a;border:1px solid #f5a6238c;border-radius:10px;display:flex;gap:8px 12px;justify-content:space-between;padding:12px}.rph-count{grid-gap:2px;display:grid;gap:2px}.rph-figure b{font-size:2rem}.rph-figure b.is-nodata{font-size:1rem;justify-self:start}.rph-figure-label{font-size:.72rem}.rph-when{grid-gap:2px;display:grid;gap:2px;justify-items:end}.rph-time{font-size:1rem}.rph-date{color:var(--ls-text-2);font-size:.78rem;font-weight:600}.rpm{grid-gap:12px;display:grid;gap:12px}.rpm .rpl-map{grid-area:auto;height:auto;max-height:70vh}.rpm .rpl-badge{font-size:.74rem;max-width:calc(100% - 24px);top:8px}.rpm-play{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:48px minmax(0,1fr) auto}.rpm-restart{background:var(--ls-card);border:1px solid var(--ls-border-strong);border-radius:10px;color:var(--ls-text);cursor:pointer;display:grid;height:48px;place-items:center;width:48px}.rpm-restart:disabled{color:var(--ls-border-strong);cursor:default}.rpm-play .rp-play{border-radius:10px;font-size:1rem;justify-content:center;min-height:48px;width:100%}.rpm-play .rp-speed{color:var(--ls-muted);gap:6px}.rpm-play .rp-speed span{display:none}.rpm-play .rp-speed select{background:var(--ls-card);border:1px solid var(--ls-border-strong);border-radius:10px;color:var(--ls-text);font-size:.95rem;font-weight:700;min-height:48px;padding:0 10px}.rpm-chart,.rpm-info,.rpm-when{grid-gap:12px;background:var(--ls-card);border:1px solid var(--ls-border);border-radius:10px;display:grid;gap:12px;padding:16px}.rpm-chart{background:var(--ls-map);border-color:var(--ls-map-line);color:var(--ls-map-text);gap:8px}.rpm-field{grid-gap:6px;display:grid;gap:6px}.rpm-label{color:var(--ls-muted);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.rpm-when .rp-date,.rpm-when .rp-period,.rpm-when .rp-spans button{background:var(--ls-card);border-color:var(--ls-border-strong);color:var(--ls-text)}.rpm-when .rp-date{font-size:1rem;justify-content:flex-start;min-height:48px;width:100%}.rpm-when .rp-date .rp-date-caret{color:var(--ls-muted);margin-left:auto}.rpm-when .rp-date svg:first-child{color:#b36b00}.rpm-when .rp-spans{grid-gap:0;border:1px solid var(--ls-border-strong);border-radius:10px;display:grid;gap:0;grid-template-columns:repeat(4,1fr);overflow:hidden}.rpm-when .rp-spans button{border:0;border-left:1px solid var(--ls-border);border-radius:0;font-size:.9rem;min-height:44px}.rpm-when .rp-spans button:first-child{border-left:0}.rpm-when .rp-spans button.is-on{background:var(--ls-sidebar);color:#fff}.rpm-when .rp-period{border-radius:10px;display:grid;grid-template-columns:44px minmax(0,1fr) 44px}.rpm-when .rp-period button{color:var(--ls-text);height:48px;width:44px}.rpm-when .rp-period button:disabled{color:var(--ls-border-strong)}.rpm-when .rp-period span{color:var(--ls-text);font-family:var(--ls-font);font-size:.95rem;font-weight:600;line-height:1.3;white-space:normal}.rpm-chart .rpl-timeline{border-top:0;padding-top:0}.rpm-legend{align-items:center;display:flex;flex-wrap:wrap;gap:4px 12px}.rpm-key{align-items:center;color:#b4c0d3;display:inline-flex;font-size:.78rem;gap:6px}.rpm-key-line{background:#00d4ff;height:2px;width:14px}.rpm-key-hatch{background:repeating-linear-gradient(45deg,#94a3b84d 0 1.3px,#64748b1a 1.3px 7px);border:1px solid #94a3b859;border-radius:2px;height:10px;width:14px}.rpm-key-btn{background:var(--ls-map-2);border:1px solid var(--ls-map-line);border-radius:8px;cursor:pointer;font:inherit;font-size:.78rem;min-height:44px;padding:0 10px}.rpm-key-btn:focus-visible{outline:2px solid var(--ls-live);outline-offset:1px}.rpm-key-pct{color:#94a3b8;font-family:var(--ls-mono);font-size:.72rem;margin-left:auto}.rpm-note{border:1px dashed #64748b;border-radius:8px;color:#cbd5e1;font-size:.82rem;line-height:1.45;margin:0;padding:10px 12px}.rpm-note b{color:#fff}.rpm-info .ls-info-row{padding:8px 0}.rpm .rd-chip{min-height:44px;padding:0 14px}}@media (max-width:1099px){.mon-room{grid-template-columns:minmax(0,1fr)}.rd-radar{height:clamp(380px,70vw,620px)}}@media (max-width:767px){.rd-radar{height:clamp(320px,105vw,480px)}.rd-radar.rd-radar--fit{height:auto;max-height:70vh}.rd-chip{min-height:40px}}@media (max-width:1099px){.mon-campus{grid-template-areas:"stats" "legend" "map" "side";grid-template-columns:minmax(0,1fr)}.mon-campus .mon-mapcard{height:clamp(360px,58vw,560px)}.mon-side{align-items:start;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.mon-side>.mon-panel:first-child{grid-row:span 2}}@media (max-width:1023px){.mon-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:767px){.mon-page{gap:.8rem}.mon-title{font-size:1.4rem}.mon-sub{font-size:.85rem}.mon-head{gap:.6rem}.mon-actions .ls-btn{min-height:44px}.mon-head>.mon-actions{flex-wrap:nowrap;justify-content:space-between;order:-1;width:100%}.mon-head>.mon-actions:empty{display:none}.mon-actions .mon-back{background:none;border:0;color:var(--ls-text-2);margin-left:-.6rem;order:-1;padding:0 .6rem}.mon-stats{gap:.5rem}.ls-stat{padding:.65rem .75rem}.ls-stat-value{font-size:1.4rem}.ls-stat-label{font-size:.68rem}.ls-stat-hint{white-space:normal}.ls-banner{align-items:flex-start;gap:.3rem .6rem;padding:.55rem .75rem}.ls-banner-icon{margin-top:2px}.ls-banner-text{flex-basis:calc(100% - 16px - 0.6rem)}.ls-banner-link,.ls-banner-meta{margin-left:calc(16px + .6rem);white-space:normal}.ls-banner-meta{flex-basis:100%}.ls-banner-link{min-height:44px}.mon-room .rd-link{margin:calc(.2rem - 12px) 0 -12px;padding:12px 0;position:relative;z-index:1}.mon-campus{grid-template-areas:"legend" "map" "stats" "side";row-gap:1rem}.mon-campus>.mon-stats{margin-bottom:0}.mon-campus>.mon-mapcard{height:clamp(320px,90vw,380px)}.mon-page--floorplan>.mon-floor{display:contents}.mon-page--floorplan>.ml{order:1}.mon-page--floorplan .fp-map{order:2}.mon-page--floorplan>.ls-banner--sensors{order:3}.mon-page--floorplan>.fp-bar{order:4}.mon-page--floorplan .mon-floor>.mon-side{order:5}.mon-side{align-items:stretch;display:flex;flex-direction:column}.bl-row{min-height:56px}.bl-list{max-height:none}}:root[data-reduce-motion] .ls-pill--live .ls-pill-dot,:root[data-reduce-motion] .ls-sheet,:root[data-reduce-motion] .ls-sheet-backdrop{animation:none}@media (prefers-reduced-motion:reduce){.ls-pill--live .ls-pill-dot,.ls-sheet,.ls-sheet-backdrop{animation:none}}.hist-note{color:#94a3b8;font-size:.75rem;line-height:1.45;margin:.4rem 0 0}.lg-sr{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;white-space:nowrap;width:1px}.lg-tabs{border-bottom:1px solid var(--ls-border);display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.lg-tab{align-items:flex-start;background:none;border:0;border-bottom:2px solid #0000;color:var(--ls-muted);cursor:pointer;display:flex;flex-direction:column;font:inherit;gap:.15rem;margin-bottom:-1px;min-width:0;padding:.65rem .9rem .7rem;text-align:left}.lg-tab:hover{background:var(--ls-card-2);color:var(--ls-text)}.lg-tab:focus-visible{outline:2px solid var(--ls-text);outline-offset:-2px}.lg-tab.is-on{background:var(--ls-card);border-bottom-color:var(--ls-red);color:var(--ls-text)}.lg-tab-name{align-items:center;display:inline-flex;flex-wrap:wrap;font-size:.95rem;font-weight:700;gap:.4rem}.lg-tab-q{color:var(--ls-muted);font-size:.78rem;font-weight:500;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lg-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:.7rem;font-weight:700;gap:.3rem;letter-spacing:.02em;padding:.05rem .45rem;white-space:nowrap}.lg-badge--warn{background:color-mix(in srgb,var(--ls-offline) 14%,#0000);color:var(--ls-bad-text)}.lg-badge--alert{background:#b91c1c;color:#fff}.lg-badge-dot{animation:lg-blink 1.4s ease-in-out infinite;background:currentColor;border-radius:50%;height:6px;width:6px}@keyframes lg-blink{50%{opacity:.25}}.lg-scope{align-items:center;background:var(--ls-card);border:1px solid var(--ls-border-strong);border-radius:8px;color:var(--ls-text);display:flex;flex-wrap:wrap;font-size:.875rem;gap:.5rem .75rem;margin-top:1rem;padding:.5rem .6rem .5rem .85rem}.lg-scope>svg{color:var(--ls-muted);flex-shrink:0}.lg-scope>span{flex:1 1 12rem}.lg-scope-clear{align-items:center;background:var(--ls-card-2);border:1px solid var(--ls-border-strong);border-radius:999px;color:var(--ls-text);cursor:pointer;display:inline-flex;font:inherit;font-size:.82rem;font-weight:600;gap:.3rem;padding:.3rem .7rem}.lg-scope-clear:focus-visible,.lg-scope-clear:hover{border-color:var(--ls-text)}.lg-section{margin-top:1.25rem}.lg-section-head{align-items:flex-end;display:flex;flex-wrap:wrap;gap:.75rem 1rem;justify-content:space-between;margin-bottom:.75rem}.lg-section-head h2{color:var(--ls-text);font-size:1.1rem;font-weight:700;margin:0}.lg-section-head p{color:var(--ls-muted);font-size:.85rem;margin:.2rem 0 0}.lg-actions{display:flex;flex-wrap:wrap;gap:.5rem}.lg-actions .btn{align-items:center;display:inline-flex;gap:.35rem}.lg-spin{animation:lg-spin .8s linear infinite}@keyframes lg-spin{to{transform:rotate(1turn)}}.lg-sort{align-items:center;background:none;border:0;color:inherit;cursor:pointer;display:inline-flex;font:inherit;gap:.3rem;letter-spacing:inherit;padding:0;text-transform:inherit}.lg-sort>svg{opacity:.45}.lg-sort.is-on>svg,.lg-sort:hover>svg{opacity:1}.lg-sort:focus-visible,.lg-sort:hover{text-decoration:underline}.lg-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-bottom:.75rem}.lg-toolbar .lg-chips{margin-bottom:0}.lg-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.6rem}.lg-chip{align-items:center;background:var(--ls-card);border:1px solid var(--ls-border-strong);border-radius:999px;color:var(--ls-text);cursor:pointer;display:inline-flex;font:inherit;font-size:.8rem;font-weight:600;gap:.35rem;padding:.35rem .8rem}.lg-chip.is-on,.lg-chip:hover{border-color:var(--ls-text)}.lg-chip.is-on{background:var(--ls-text);color:var(--ls-card)}.lg-chip-count{font-feature-settings:"tnum";background:var(--ls-card-2);border-radius:999px;color:var(--ls-muted);font-size:.72rem;font-variant-numeric:tabular-nums;min-width:1.4em;padding:0 .35rem;text-align:center}.lg-chip.is-on .lg-chip-count{background:color-mix(in srgb,var(--ls-card) 22%,#0000);color:inherit}.lg-chip-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.lg-chip-dot--reporting{background:var(--ls-live)}.lg-chip-dot--offline{border:1.5px dashed var(--ls-offline)}.lg-search{align-items:center;background:var(--ls-input-bg);border:1px solid var(--ls-input-border);border-radius:8px;color:var(--ls-muted);display:flex;flex:0 1 18rem;gap:.5rem;min-width:12rem;padding:0 .75rem}.lg-search:focus-within{border-color:var(--ls-text);box-shadow:0 0 0 3px color-mix(in srgb,var(--ls-text) 12%,#0000)}.lg-search input{background:none;border:0;color:var(--ls-text);flex:1 1;font:inherit;font-size:.875rem;min-width:0;outline:none;padding:.5rem 0}.lg-empty{color:var(--ls-muted);font-size:.9rem;padding:1.25rem 1rem;text-align:center}.lg-empty a{color:var(--ls-text);font-weight:600}.lg-link{background:none;border:0;color:var(--ls-text);cursor:pointer;font:inherit;font-weight:600;padding:0;text-decoration:underline}.lg-more{font-size:.82rem;gap:.75rem;justify-content:center}.lg-more,.lg-pages{align-items:center;color:var(--ls-muted);display:flex;flex-wrap:wrap;margin-top:.75rem}.lg-pages{font-size:.85rem;gap:.5rem;justify-content:space-between}.lg-pages .pager{display:flex;gap:.4rem}.lg-key{grid-gap:.4rem;border:1px dashed var(--ls-border-strong);border-radius:var(--ls-radius);color:var(--ls-text-2);display:grid;font-size:.8rem;gap:.4rem;line-height:1.5;list-style:none;margin:.75rem 0 0;padding:.7rem .9rem}.lg-key .ls-pill{margin-right:.35rem;vertical-align:1px}.lg-key b{color:var(--ls-text)}.ss-table td{vertical-align:middle}.ss-people b,.ss-room b{color:var(--ls-text);display:block}.ss-people small,.ss-room small,.ss-when small{color:var(--ls-muted);display:block;font-size:.78rem;margin-top:.1rem}.ss-people b{font-feature-settings:"tnum";font-size:1.1rem;font-variant-numeric:tabular-nums}.ss-people b.ss-unknown{color:var(--ls-muted)}.ss-when span{font-size:.875rem;white-space:nowrap}.ss-links{text-align:right;white-space:nowrap}.ss-links a{align-items:center;color:var(--ls-text);display:inline-flex;font-size:.85rem;font-weight:600;margin-left:.75rem;text-decoration:none}.ss-links a:focus-visible,.ss-links a:hover{color:var(--ls-red);text-decoration:underline}.ss-row--offline>td:first-child{box-shadow:inset 3px 0 0 var(--ls-offline)}.lg-status{color:var(--ls-text-2);display:flex;flex-wrap:wrap;font-size:.82rem;gap:.25rem 1rem;justify-content:space-between;margin:0 0 .75rem}.lg-status-meta{color:var(--ls-muted)}.lg-warn{align-items:center;background:color-mix(in srgb,var(--ls-lastknown) 10%,#0000);border:1px solid color-mix(in srgb,var(--ls-lastknown) 40%,#0000);border-radius:8px;color:var(--ls-warn-text);display:flex;font-size:.82rem;gap:.4rem;margin:0 0 .75rem;padding:.5rem .75rem}.lg-warn>svg{flex-shrink:0}.ev-table td{vertical-align:top}.ev-table .ev-day th{background:color-mix(in srgb,var(--ls-card-2) 60%,var(--ls-card));border-bottom:1px solid var(--ls-border);color:var(--ls-text-2);font-size:.72rem;font-weight:700;letter-spacing:.05em;padding:.45rem 1rem;text-align:left;text-transform:uppercase}.ev-table tbody+tbody .ev-day th{border-top:1px solid var(--ls-border)}.ev-table tbody tr.ev-day:hover{background:none}.ev-time{font-feature-settings:"tnum";color:var(--ls-muted);font-size:.85rem;font-variant-numeric:tabular-nums;white-space:nowrap}.ev-what{align-items:flex-start;display:flex;gap:.55rem}.ev-text{display:block;font-size:.82rem;margin-top:.1rem}.ev-by,.ev-text{color:var(--ls-muted)}.ev-by{font-size:.85rem}.ev-icon{align-items:center;background:var(--ls-card-2);border-radius:50%;color:var(--ls-muted);display:inline-flex;flex-shrink:0;height:22px;justify-content:center;width:22px}.ev-icon--ok{background:color-mix(in srgb,var(--ls-empty) 14%,#0000);color:var(--ls-ok-text)}.ev-icon--bad{background:color-mix(in srgb,var(--ls-offline) 14%,#0000);color:var(--ls-bad-text)}.ev-icon--info{background:color-mix(in srgb,var(--ls-live) 14%,#0000);color:#0f93ad}:root[data-theme=dark] .ev-icon--info{color:var(--ls-live)}@media (max-width:768px){.lg-tab{align-items:center;padding:.6rem .35rem .65rem;text-align:center}.lg-tab-name{justify-content:center}.lg-tab-q{display:none}.lg-toolbar{align-items:stretch;flex-direction:column}.lg-search{flex:1 1 auto;min-width:0}.lg-section-head .lg-actions{flex-wrap:nowrap;width:100%}.lg-section-head .lg-actions .btn{flex:1 1;justify-content:center;width:auto}.ss-table thead{clip:rect(0 0 0 0);height:1px;overflow:hidden;position:absolute;width:1px}.ss-table,.ss-table tbody{display:block;width:100%}.ss-table tr{grid-gap:.35rem .75rem;border-bottom:1px solid var(--ls-border);display:grid;gap:.35rem .75rem;grid-template-areas:"room status" "when people" "links people";grid-template-columns:minmax(0,1fr) auto;padding:.85rem 1rem}.ss-table tbody tr:last-child{border-bottom:0}.ss-table td{border:0;display:block;min-width:0;padding:0}.ss-table td[data-label=Room]{grid-area:room}.ss-table td[data-label=Status]{grid-area:status;justify-self:end}.ss-table td[data-label="Last reading"]{grid-area:when}.ss-table td[data-label=Links]{grid-area:links;text-align:left}.ss-table td[data-label=People]{align-self:end;grid-area:people;justify-self:end;max-width:10rem;text-align:right}.ss-table td[data-label=People]:before{color:var(--ls-muted);content:"People";display:block;font-size:.65rem;font-weight:600;letter-spacing:.04em;margin-bottom:.1rem;text-transform:uppercase}.ss-people b{font-size:1.4rem;line-height:1.1}.ss-links a{margin:0 1rem 0 0}.ss-row--offline>td:first-child{box-shadow:none}.ss-row--offline{box-shadow:inset 3px 0 0 var(--ls-offline)}.ss-table tr:has(>td[colspan]){display:block}.ev-table thead{clip:rect(0 0 0 0);height:1px;overflow:hidden;position:absolute;width:1px}.ev-table,.ev-table tbody{display:block;width:100%}.ev-table tr{grid-gap:.15rem .75rem;border-bottom:1px solid var(--ls-border);display:grid;gap:.15rem .75rem;grid-template-areas:"event event" "where by" "time time";grid-template-columns:minmax(0,1fr) auto;padding:.8rem 1rem}.ev-table tbody tr:last-child{border-bottom:0}.ev-table td{border:0;display:block;min-width:0;padding:0}.ev-table td[data-label=Event]{grid-area:event}.ev-table td[data-label=Where]{font-size:.85rem;grid-area:where;padding-left:calc(22px + .55rem)}.ev-table td[data-label=By]{grid-area:by;justify-self:end}.ev-table td[data-label=Time]{font-size:.78rem;grid-area:time;padding-left:calc(22px + .55rem)}.ev-table tr.ev-day{display:block;padding:0}.ev-table .ev-day th{display:block}.ev-table tr:has(>td[colspan]){display:block}}@media (prefers-reduced-motion:reduce){.lg-badge-dot,.lg-spin{animation:none}}@media (pointer:coarse){.lg-tab{min-height:44px}}.ls-toasts{bottom:1rem;display:flex;flex-direction:column;gap:.5rem;pointer-events:none;position:fixed;right:1rem;width:min(380px,calc(100vw - 2rem));z-index:1200}.ls-toast{align-items:flex-start;background:var(--ls-card);border:1px solid var(--ls-border);border-radius:var(--ls-radius);box-shadow:var(--ls-shadow-lg);color:var(--ls-text);display:flex;gap:.65rem;padding:.75rem .75rem .75rem .9rem;pointer-events:auto}.ls-toast-icon{color:var(--ls-muted);flex-shrink:0;margin-top:1px}.ls-toast--bad .ls-toast-icon{color:var(--ls-bad-text)}.ls-toast--ok .ls-toast-icon{color:var(--ls-ok-text)}.ls-toast-body{display:flex;flex:1 1;flex-direction:column;gap:.1rem;min-width:0}.ls-toast-body strong{font-size:.9rem}.ls-toast-body span{color:var(--ls-muted);font-size:.8rem;overflow-wrap:anywhere}.ls-toast-close{align-items:center;background:none;border:0;border-radius:6px;color:var(--ls-muted);cursor:pointer;display:inline-flex;flex-shrink:0;justify-content:center;margin:-.3rem -.3rem 0 0;min-height:32px;min-width:32px}.ls-toast-close:focus-visible,.ls-toast-close:hover{background:var(--ls-card-2);color:var(--ls-text)}@media (max-width:767px){.ls-toasts{bottom:calc(.75rem + env(safe-area-inset-bottom));left:.75rem;right:.75rem;width:auto}}@media (pointer:coarse){.ls-toast-close{min-height:44px;min-width:44px}.lg-chip{padding:.5rem 1rem}.lg-actions .btn,.lg-chip,.lg-more .btn,.lg-pages .btn,.lg-scope-clear,.lg-search,.ss-links a{min-height:44px}}.rd-note{background:color-mix(in srgb,#b36b00 9%,#0000);background:color-mix(in srgb,var(--ls-lastknown,#b36b00) 9%,#0000);border-radius:6px;color:var(--ls-text-2);font-size:.8rem;line-height:1.45;margin:.15rem 0 .75rem;padding:.5rem .65rem}.rd-when small{display:block;font-size:.78rem;margin-top:.1rem}.rd-link{color:var(--ls-text);display:block;font-size:.8rem;font-weight:600;margin-top:.2rem;text-decoration:underline;text-underline-offset:2px}.rd-link:hover{color:#0f93ad;color:var(--ls-live,#0f93ad)}.rd-link:focus-visible{border-radius:3px;outline:2px solid #0f93ad;outline:2px solid var(--ls-live,#0f93ad);outline-offset:2px}.lg-event-filters{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.65rem 1rem;justify-content:space-between;margin-bottom:.7rem}.lg-event-filters .lg-chips{margin:0}.lg-period{align-items:center;color:var(--ls-text-2);display:inline-flex;font-size:.82rem;font-weight:600;gap:.45rem;white-space:nowrap}.lg-period select{background:var(--ls-input-bg);border:1px solid var(--ls-input-border);border-radius:8px;color:var(--ls-text);font:inherit;min-height:2.4rem;padding:.4rem .7rem}.lg-period select:focus-visible{outline:2px solid var(--ls-text);outline-offset:2px}.ev-what>span{min-width:0}.ev-table td[data-label=Where],.ev-text{overflow-wrap:anywhere}.ev-review{align-items:center;color:var(--ls-text);display:inline-flex;font-size:.78rem;font-weight:700;margin-top:.15rem;min-height:1.8rem;text-decoration:underline;text-underline-offset:2px}.ev-review:hover{color:var(--ls-red)}.ev-review:focus-visible{outline:2px solid var(--ls-text);outline-offset:2px}.lg-event-filters .lg-cat-chips{margin-right:auto}.lg-event-filters .lg-export{align-self:center}.lg-show{display:none}.lg-show select{background:var(--ls-input-bg);border:1px solid var(--ls-input-border);border-radius:8px;color:var(--ls-text);font:inherit;min-height:2.4rem;padding:.4rem .7rem}.lg-show select:focus-visible{outline:2px solid var(--ls-text);outline-offset:2px}.lg-view{align-items:center;color:var(--ls-text-2);display:inline-flex;font-size:.82rem;font-weight:600;gap:.45rem}.lg-seg{background:var(--ls-input-bg);border:1px solid var(--ls-input-border);border-radius:8px;display:inline-grid;gap:2px;grid-template-columns:1fr 1fr;padding:2px}.lg-seg-btn{background:none;border:0;border-radius:6px;color:var(--ls-text-2);cursor:pointer;font:inherit;font-weight:600;min-height:calc(2.4rem - 6px);padding:0 .85rem;white-space:nowrap}.lg-seg-btn:hover{color:var(--ls-text)}.lg-seg-btn.is-on{background:var(--ls-text);color:var(--ls-card)}.lg-seg-btn:focus-visible{outline:2px solid var(--ls-text);outline-offset:1px}.lg-section--sensors .lg-toolbar>.lg-chips{margin-right:auto}.lg-section--sensors>.ls-banner{margin-bottom:.75rem}:root[data-theme=dark] .lg-search input{background-color:initial}.oc-rooms{grid-gap:.5rem;display:grid;gap:.5rem}.oc-rooms>.lg-warn{margin:0}.oc-room{background:var(--ls-card);border:1px solid var(--ls-border);border-radius:8px;overflow:hidden}.oc-room-head{grid-gap:.25rem .65rem;align-items:center;background:none;border:0;color:var(--ls-text);cursor:pointer;display:grid;font:inherit;gap:.25rem .65rem;grid-template-columns:auto minmax(0,1fr) auto;min-height:52px;padding:.6rem .9rem;text-align:left;width:100%}.oc-room-head:hover{background:var(--ls-card-2)}.oc-room-head:focus-visible{outline:2px solid var(--ls-text);outline-offset:-2px}.oc-chev{color:var(--ls-muted);transition:transform .15s ease}.oc-room.is-open .oc-chev{transform:rotate(90deg)}.oc-room-meta,.oc-room-name{grid-gap:.1rem;display:grid;gap:.1rem;min-width:0}.oc-room-name b{font-size:.92rem;font-weight:700}.oc-room-meta{justify-items:end;text-align:right}.oc-room-meta b{font-feature-settings:"tnum";font-size:.85rem;font-variant-numeric:tabular-nums;font-weight:700}.oc-room-meta span,.oc-room-name span{color:var(--ls-muted);font-size:.78rem}.oc-changes{border-top:1px solid var(--ls-border);padding:0 .9rem .8rem}.oc-changes ul{list-style:none;margin:0;padding:0}.oc-day{color:var(--ls-muted);font-size:.72rem;font-weight:700;letter-spacing:.05em;padding:.6rem 0 .3rem;text-transform:uppercase}.oc-change{grid-gap:.6rem;align-items:center;border-top:1px solid var(--ls-border);display:grid;font-size:.85rem;gap:.6rem;grid-template-columns:4.8rem minmax(0,1fr) auto;padding:.4rem 0}.oc-change time{font-feature-settings:"tnum";color:var(--ls-text-2);font-variant-numeric:tabular-nums}.oc-change-what span{color:var(--ls-muted)}.oc-change .ev-review{margin-top:0}.oc-changes>.btn{margin-top:.6rem}.oc-note{border-top:1px solid var(--ls-border);color:var(--ls-muted);font-size:.85rem;margin:0;padding:.75rem .9rem}@media (prefers-reduced-motion:reduce){.oc-chev{transition:none}}@media (max-width:768px){.lg-section--events>.lg-section-head{display:none}.lg-section--events .lg-event-filters{grid-gap:.5rem .6rem;align-items:center;display:grid;gap:.5rem .6rem;grid-template-columns:minmax(0,1fr) auto}.lg-section--events .lg-cat-chips{display:none}.lg-period,.lg-show,.lg-view{grid-gap:.45rem;align-items:center;color:var(--ls-text-2);display:grid;font-size:.82rem;font-weight:600;gap:.45rem;grid-template-columns:2.7rem minmax(0,1fr)}.lg-show,.lg-view{grid-column:1/-1}.lg-period{grid-column:1}.lg-period select,.lg-show select{font-size:1rem;min-height:44px;width:100%}.lg-seg{display:grid}.lg-seg-btn{font-size:.92rem;min-height:38px}.lg-section--events .lg-export{grid-column:2;min-height:44px}.lg-export-words{display:none}.ev-table tr{gap:.2rem .75rem;grid-template-areas:"event time" "where by";padding:.7rem .9rem}.ev-table td[data-label=Time]{color:var(--ls-muted);justify-self:end;padding-left:0;white-space:nowrap}.ev-table td[data-label=Where]{color:var(--ls-text-2);font-size:.8rem}.ev-table td[data-label=By]{color:var(--ls-muted);font-size:.8rem;max-width:9rem;overflow-wrap:anywhere;text-align:right}.oc-room-head{grid-template-columns:auto minmax(0,1fr)}.oc-room-meta,.oc-room-name{align-items:baseline;display:flex;flex-wrap:wrap;gap:0 .45rem}.oc-room-meta{grid-column:2;justify-content:flex-start;text-align:left}.oc-change{grid-template-columns:4.4rem minmax(0,1fr) auto}.lg-section--sensors>.lg-section-head{display:none}.lg-section--sensors .lg-toolbar{grid-gap:.5rem .6rem;align-items:center;display:grid;gap:.5rem .6rem;grid-template-columns:minmax(0,1fr) auto}.lg-section--sensors .lg-toolbar>.lg-chips{display:none}.lg-section--sensors .lg-toolbar>.lg-search{grid-column:1/-1}.lg-section--sensors .lg-toolbar>.lg-mobile-sort{grid-column:1}.lg-section--sensors .lg-toolbar>.lg-export{grid-column:2;min-height:44px}.lg-section--sensors .lg-toolbar--one>.lg-show{grid-column:1}.lg-section--sensors .lg-toolbar--one>.lg-export{grid-row:1}.lg-section--sensors .lg-mobile-sort{grid-gap:.45rem;align-items:center;color:var(--ls-text-2);display:grid;font-size:.82rem;font-weight:600;gap:.45rem;grid-template-columns:2.7rem minmax(0,1fr);width:auto}.lg-section--sensors .lg-mobile-sort select{border-color:var(--ls-input-border);font-size:1rem;min-height:44px;padding:.4rem .7rem}.lg-section--sensors .ss-table tr{gap:.3rem .75rem;grid-template-areas:"room status" "when when" "people people" "links links";padding:.75rem .9rem}.lg-section--sensors .ss-table td[data-label=People],.lg-section--sensors .ss-when{align-items:baseline;display:flex;flex-wrap:wrap;gap:0 .35rem}.lg-section--sensors .ss-when span{white-space:normal}.lg-section--sensors .ss-people small,.lg-section--sensors .ss-when small{display:inline;font-size:.82rem;margin:0}.lg-section--sensors .ss-when small:before{content:"· "}.lg-section--sensors .ss-table td[data-label=People]{align-self:start;justify-self:stretch;max-width:none;text-align:left}.lg-section--sensors .ss-table td[data-label=People]:before{font-size:.82rem;letter-spacing:0;margin:0;text-transform:none}.lg-section--sensors .ss-people b{display:inline;font-size:1rem;line-height:1.3}.lg-section--sensors .lg-key-dash,.lg-section--sensors .ss-people b.ss-unknown{display:none}.lg-section--sensors .ss-people b:not(.ss-unknown)+small:before{content:"· "}.lg-section--sensors .ss-table td[data-label=Links]{display:flex;gap:1.5rem}.lg-section--sensors .ss-links a{margin:0}.lg-section--sensors .lg-key{border:0;border-radius:0;border-top:1px solid var(--ls-border);font-size:.78rem;margin-top:1rem;padding:.75rem 0 0}}@media (pointer:coarse){.lg-period select,.lg-show select{min-height:44px}.ev-review{margin:-10px 0 -12px;min-height:0;padding:12px 0}.oc-change .ev-review{margin:-12px 0}}@media (max-width:768px) and (pointer:coarse){.lg-section--sensors .ss-links a{margin:-12px 0;min-height:0;padding:12px 0}}.hist-page{min-width:0}.hist-date-trigger,.hist-filter-toggle{display:none}.hist-time-trigger{align-items:center;background:var(--ls-card);border:1px solid var(--ls-border-strong);border-radius:6px;color:var(--ls-text);cursor:pointer;display:flex;font:inherit;font-size:1rem;gap:12px;justify-content:space-between;min-height:48px;padding:10px 12px;text-align:left;width:100%}.hist-time-trigger svg{flex-shrink:0}.hist-time-trigger:disabled{cursor:default;opacity:.6}.hist-time-picker button:focus-visible,.hist-time-trigger:focus-visible{outline:2px solid var(--ls-text);outline-offset:-3px}.hist-time-picker{background:var(--ls-card);border:1px solid var(--ls-border);border-bottom:0;border-radius:16px 16px 0 0;box-sizing:border-box;color:var(--ls-text);inset:auto 0 0;margin:0 auto;max-height:min(80vh,calc(100vh - 24px));max-height:min(80dvh,calc(100dvh - 24px));max-width:480px;overflow:hidden;padding:0;position:fixed;width:100%}.hist-time-picker[open]{display:flex;flex-direction:column}.hist-time-picker::backdrop{background:#0000008c}.hist-time-picker-header{align-items:center;border-bottom:1px solid var(--ls-border);display:flex;flex-shrink:0;gap:12px;justify-content:space-between;padding:8px 12px 8px 16px}.hist-time-picker-header h2{font-size:1rem;line-height:1.4;margin:0}.hist-time-picker-close{align-items:center;background:#0000;border:0;border-radius:6px;color:inherit;cursor:pointer;display:flex;height:44px;justify-content:center;padding:0;width:44px}.hist-time-picker-options{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 8px calc(8px + env(safe-area-inset-bottom, 0px));scrollbar-color:var(--ls-text-2) var(--ls-card);scrollbar-gutter:stable;scrollbar-width:thin}.hist-time-picker-options h3{color:var(--ls-text-2);font-size:.8125rem;font-weight:600;line-height:1.5;margin:12px 12px 4px}.hist-time-option{align-items:center;background:#0000;border:0;border-radius:6px;color:inherit;cursor:pointer;display:flex;font:inherit;font-size:1rem;gap:12px;justify-content:space-between;min-height:48px;padding:10px 12px;text-align:left;width:100%}.hist-time-option svg{flex-shrink:0}.hist-time-option:hover,.hist-time-option[aria-pressed=true],.hist-time-picker-close:hover{background:var(--ls-card-2)}.hist-time-option[aria-pressed=true]{font-weight:600}.hist-date-picker{bottom:0;bottom:var(--hist-picker-bottom,0);max-height:min(92vh,calc(100vh - 16px));max-height:min(calc(100dvh*.92),calc(100dvh - 16px));max-height:min(calc(var(--hist-picker-height, 100dvh)*.92),calc(var(--hist-picker-height, 100dvh) - 16px))}.hist-date-picker-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:8px 12px 12px;scrollbar-color:var(--ls-text-2) var(--ls-card);scrollbar-width:thin}.hist-calendar-nav{align-items:center;display:flex;gap:8px;justify-content:space-between}.hist-calendar-nav strong{font-size:1rem}.hist-calendar-jump{grid-gap:8px;align-items:end;display:grid;gap:8px;grid-template-columns:minmax(0,.8fr) minmax(0,1fr) auto;margin:8px 0 12px}.hist-calendar-clock label,.hist-calendar-jump label{color:var(--ls-text);display:flex;flex-direction:column;font-size:.8125rem;gap:4px}.hist-date-picker .form-input,.hist-page .hist-field .hist-date-picker .form-input{font-size:1rem;min-height:48px;min-width:0;padding:8px;width:100%}.hist-calendar-jump .btn{font-size:.8125rem;min-height:48px;padding:8px;white-space:nowrap}.hist-calendar-days,.hist-calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));margin:0 -12px}.hist-calendar-week{color:var(--ls-text-2);font-size:.75rem;line-height:24px;text-align:center}.hist-calendar-day{background:#0000;border:0;border-radius:6px;color:var(--ls-text);cursor:pointer;font:inherit;font-size:1rem;margin:0;min-height:44px;min-width:0;padding:6px 0}.hist-calendar-day:hover{background:var(--ls-card-2)}.hist-calendar-day[aria-pressed=true]{background:var(--ls-text);color:var(--ls-card);font-weight:600}.hist-calendar-selected{color:var(--ls-text-2);font-size:.8125rem;line-height:1.5;margin:12px 0}.hist-calendar-clock{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.hist-date-picker-footer{border-top:1px solid var(--ls-border);display:flex;flex-direction:column;flex-shrink:0;gap:8px;padding:12px 12px calc(12px + env(safe-area-inset-bottom, 0px))}.hist-date-picker-footer>.btn{min-height:48px;width:100%}.hist-date-picker input[aria-invalid=true]{border-color:var(--ls-bad-text)}.hist-date-picker input:focus-visible{outline:2px solid var(--ls-text);outline-offset:-3px}.hist-date-range{display:contents}.hist-datetime{min-width:0}.hist-query-error{align-items:flex-start;color:var(--ls-bad-text);display:flex;font-size:.8125rem;gap:6px;grid-column:1/-1;line-height:1.4;margin:0;order:1}.hist-query-error svg{flex-shrink:0;margin-top:1px}.hist-page .hist-field input[aria-invalid=true]{border-color:var(--ls-bad-text)}.hist-page .hist-panel{grid-gap:.75rem;align-items:end;background:var(--ls-card);border:1px solid var(--ls-border);border-radius:var(--ls-radius);display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(10rem,1fr)) repeat(2,minmax(11rem,1fr)) auto;margin:0;padding:1rem}.hist-page .hist-field{min-width:0}.hist-page .hist-field .form-input,.hist-page .hist-field .form-select{min-height:42px;min-width:0;width:100%}.hist-page .hist-search{justify-content:center;min-height:42px;white-space:nowrap}.hist-range-tools{grid-gap:.75rem 1.5rem;display:grid;gap:.75rem 1.5rem;grid-template-columns:auto minmax(0,1fr);margin-top:.75rem}.hist-range-group{min-width:0}.hist-range-label{color:var(--ls-muted);display:block;font-size:.75rem;font-weight:600;margin-bottom:.4rem}.hist-page .hist-day-presets,.hist-page .hist-presets{display:flex;flex-wrap:wrap;gap:.5rem;margin:0}.hist-page .hist-day-presets .btn,.hist-page .hist-presets .btn{background:var(--ls-card);border:1px solid var(--ls-border);border-radius:6px;color:var(--ls-text-2);min-height:38px}.hist-page .hist-day-presets .btn:hover:not(:disabled),.hist-page .hist-presets .btn:hover:not(:disabled){background:var(--ls-card-2);border-color:var(--ls-border-strong)}.hist-page .hist-day-presets .btn[aria-pressed=true],.hist-page .hist-presets .btn[aria-pressed=true]{background:var(--ls-card-2);border-color:var(--ls-text);color:var(--ls-text);font-weight:700}.hist-range-help{color:var(--ls-muted);font-size:.78rem;line-height:1.45;margin:.6rem 0 0}.hist-page .hist-help{color:var(--ls-muted);font-size:.84rem;line-height:1.45;margin:.65rem 0 0}.hist-page .hist-notice{align-items:flex-start;background:var(--ls-card);border:1px solid var(--ls-border);border-radius:6px;color:var(--ls-text-2);display:flex;font-size:.86rem;gap:.6rem;line-height:1.4;margin-top:.8rem;padding:.75rem .9rem}.hist-page .hist-notice svg{color:var(--ls-warn-text);flex:0 0 auto;margin-top:.1rem}.hist-page .hist-notice--error{border-color:color-mix(in srgb,var(--ls-bad-text) 35%,var(--ls-border))}.hist-page .hist-notice--error svg{color:var(--ls-bad-text)}.hist-page .hist-notice .btn{margin-left:auto}.hist-empty-intro,.hist-empty-results{align-items:flex-start;background:var(--ls-card);border:1px solid var(--ls-border);border-radius:var(--ls-radius);color:var(--ls-text-2);display:flex;gap:.9rem;margin-top:1.25rem;padding:1.25rem}.hist-empty-intro svg,.hist-empty-results svg{color:var(--ls-muted);flex:none}.hist-empty-intro strong,.hist-empty-results strong{color:var(--ls-text);display:block;margin-bottom:.25rem}.hist-empty-intro span,.hist-empty-results p{display:block;font-size:.86rem;line-height:1.5;margin:0}.hist-empty-results .btn{margin-top:.75rem}.hist-figures{background:var(--ls-card);border:1px solid var(--ls-border);border-radius:var(--ls-radius);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:1.25rem 0 0}.hist-figures>div{min-width:0;padding:.8rem 1rem}.hist-figures>div+div{border-left:1px solid var(--ls-border)}.hist-figures dt{color:var(--ls-muted);font-size:.78rem;font-weight:600}.hist-figures dd{font-feature-settings:"tnum";color:var(--ls-text);font-size:1.4rem;font-variant-numeric:tabular-nums;font-weight:700;line-height:1.2;margin:.15rem 0 0}.hist-figures small{color:var(--ls-muted);display:block;font-size:.76rem;line-height:1.35;margin-top:.15rem}.hist-figures .is-low dd,.hist-figures-note{color:var(--ls-warn-text)}.hist-figures-note{align-items:flex-start;display:flex;font-size:.84rem;gap:.45rem;line-height:1.45;margin:.6rem 0 0}.hist-figures-note svg{flex:none;margin-top:.15rem}.hist-moment{color:var(--ls-map-text);font-size:.84rem;line-height:1.45;margin:.6rem 0 0}.hist-chart-key{align-items:center;color:var(--ls-map-muted);display:flex;font-size:.75rem;gap:.45rem;line-height:1.4;margin:.45rem 0 0}.hist-key-gap{background:repeating-linear-gradient(45deg,var(--ls-chart-gap-stroke) 0 1.3px,var(--ls-chart-gap-fill) 1.3px 7px);border:1px solid var(--ls-chart-gap-stroke);border-radius:2px;flex:none;height:10px;width:14px}.hist-moments{display:flex;flex:1 1 260px;flex-direction:column;min-width:0}.hist-moments-head{align-items:baseline;display:flex;flex-wrap:wrap;gap:.2rem .75rem;justify-content:space-between;margin-bottom:.6rem}.hist-moments-head h3{color:var(--ls-map-text);font-size:.95rem;margin:0}.hist-moments-head span{color:var(--ls-map-muted);font-size:.75rem}.hist-moments-list{grid-gap:.4rem .6rem;display:grid;gap:.4rem .6rem;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));list-style:none;margin:0;padding:0}.hist-moment-item{align-items:center;background:var(--ls-map-2);border:1px solid var(--ls-map-line);border-radius:6px;color:var(--ls-map-text);cursor:pointer;display:flex;font:inherit;gap:.6rem;min-height:44px;padding:.55rem .65rem;text-align:left;width:100%}.hist-moment-item:hover{border-color:var(--ls-map-muted)}.hist-moment-item[aria-current=true],.hist-moment-item[aria-pressed=true]{border-color:var(--ls-live)}.hist-moment-item--quiet{background:#0000;color:var(--ls-map-muted);cursor:default}.hist-moment-item--quiet:hover{border-color:var(--ls-map-line)}.hist-moment-item--quiet strong{font-weight:600}.hist-moment-item>.hist-key-gap{flex:none}.hist-moment-item:focus-visible{outline:2px solid var(--ls-live);outline-offset:2px}.hist-moment-text{grid-gap:.1rem;display:grid;flex:1 1;gap:.1rem;min-width:0}.hist-moment-text strong{font-feature-settings:"tnum";font-size:.92rem;font-variant-numeric:tabular-nums}.hist-moment-top{align-items:baseline;display:flex;flex-wrap:wrap;gap:0 .6rem;justify-content:space-between}.hist-moment-span{font-feature-settings:"tnum";color:var(--ls-map-text);font-size:.8rem;font-variant-numeric:tabular-nums;white-space:nowrap}.hist-moment-detail{color:var(--ls-map-muted);font-size:.76rem;line-height:1.35}.hist-moment-item--quiet .hist-moment-span{color:inherit}.hist-here{background:color-mix(in srgb,var(--ls-live) 18%,#0000);border-radius:999px;color:var(--ls-live);flex:none;font-size:.7rem;font-weight:700;margin-left:auto;padding:.1rem .45rem;white-space:nowrap}.hist-moments-actions{display:flex;flex-wrap:wrap;gap:0 1.25rem;margin-top:.4rem}.hist-text-btn{background:none;border:0;color:var(--ls-map-text);cursor:pointer;font:inherit;font-size:.82rem;font-weight:600;min-height:40px;padding:0;text-decoration:underline;text-underline-offset:2px}.hist-text-btn:focus-visible{outline:2px solid var(--ls-live);outline-offset:2px}@media (min-width:1100px){.hist-moments-list{max-height:30rem;overflow-y:auto;padding-right:.25rem}}.hist-research{background:var(--ls-card);border:1px solid var(--ls-border);border-radius:var(--ls-radius);margin-top:1.25rem}.hist-research[open]{padding-bottom:1rem}.hist-research>summary{align-items:center;cursor:pointer;display:flex;gap:.75rem;list-style:none;min-height:52px;padding:.75rem 1rem}.hist-research-label{align-items:baseline;display:flex;flex:1 1;flex-wrap:wrap;gap:.15rem .75rem;min-width:0}.hist-research>summary::-webkit-details-marker{display:none}.hist-research>summary:focus-visible{border-radius:var(--ls-radius);outline:2px solid var(--ls-text);outline-offset:-2px}.hist-research[open]>summary{border-bottom:1px solid var(--ls-border)}.hist-research>summary svg{color:var(--ls-muted);flex:none;transition:transform .15s ease}.hist-research[open]>summary svg{transform:rotate(180deg)}.hist-research-title{color:var(--ls-text);font-size:.95rem;font-weight:700}.hist-research-sub{color:var(--ls-muted);font-size:.8rem}.hist-research-figures{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(8rem,1fr));margin:1rem 1rem 0}.hist-research-figures dt{color:var(--ls-muted);font-size:.75rem}.hist-research-figures dd{font-feature-settings:"tnum";color:var(--ls-text);font-size:1.05rem;font-variant-numeric:tabular-nums;font-weight:700;margin:.1rem 0 0}.hist-research-note{color:var(--ls-muted);font-size:.8rem;line-height:1.5;margin:.75rem 1rem 0;max-width:75ch}.hist-research-chart{background:var(--ls-map);border-radius:var(--ls-radius);margin:.9rem 1rem 0;max-width:calc(100% - 2rem);padding:.75rem;width:-webkit-fit-content;width:fit-content}.hist-downloads{grid-gap:.6rem;display:grid;gap:.6rem;list-style:none;margin:1rem 1rem 0;padding:0}.hist-downloads li{grid-gap:.35rem 1rem;align-items:center;display:grid;gap:.35rem 1rem;grid-template-columns:14rem minmax(0,1fr)}.hist-downloads .btn{justify-content:flex-start;min-height:40px}.hist-downloads span{color:var(--ls-muted);font-size:.82rem;line-height:1.45}@media (prefers-reduced-motion:reduce){.hist-research>summary svg{transition:none}}.hist-replay{align-items:flex-start;background:var(--ls-map);border:1px solid var(--ls-map-line);border-radius:var(--ls-radius);display:flex;flex-wrap:wrap;gap:1.1rem;margin-top:1.25rem;padding:1rem;scroll-margin-top:calc(4.5rem + env(safe-area-inset-top, 0px))}.hist-replay-main{flex:1 1 700px;max-width:700px;min-width:0}.hist-replay-main canvas,.hist-replay-main svg{max-width:100%}.hist-transport{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.hist-transport .form-select{font-size:.82rem;min-width:5.5rem;padding:.3rem .5rem;width:auto}.hist-playhead-time{color:var(--ls-map-text);font:.82rem var(--ls-mono);margin-left:auto}.hist-timeline{margin-top:1rem}.hist-chart-unavailable{border:1px solid var(--ls-map-line);border-radius:6px;color:var(--ls-map-muted);font-size:.84rem;margin:0;padding:.85rem}.hist-map-legend{color:var(--ls-map-muted);display:flex;flex-wrap:wrap;font-size:.75rem;gap:.35rem 1rem;list-style:none;margin:.6rem 0 0;padding:0}.hist-map-legend li{align-items:center;display:inline-flex;gap:.4rem}.hist-key-dot,.hist-key-ring{border-radius:50%;height:10px;width:10px}.hist-key-dot{background:var(--ls-map-text)}.hist-key-ring{border:2px solid var(--ls-map-text)}.hist-key-line{background:var(--ls-map-text);border-radius:1px;height:2px;width:16px}.hist-key-line--faded{opacity:.3}.hist-key-heat{background:linear-gradient(90deg,color-mix(in srgb,var(--ls-history-heat) 12%,var(--ls-history-floor)),color-mix(in srgb,var(--ls-history-heat) 80%,var(--ls-history-floor)));border-radius:2px;height:10px;width:26px}.hist-map-legend .hist-key-hint{color:var(--ls-map-muted);font-style:italic}@media (max-width:1200px){.hist-page .hist-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.hist-range-tools{grid-template-columns:minmax(0,1fr)}}@media (max-width:768px){.hist-page .hist-query.hist-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.hist-page .hist-room,.hist-page .hist-search{grid-column:1/-1}.hist-page .hist-day-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.hist-page .hist-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.hist-page .hist-day-presets .btn,.hist-page .hist-presets .btn{background:var(--ls-card);border-color:var(--ls-border);border-radius:6px;color:var(--ls-text-2);width:100%}.hist-replay{padding:.65rem}.hist-moments,.hist-replay-main{flex-basis:100%}.hist-figures>div{padding:.65rem .7rem}.hist-figures dt,.hist-figures small{font-size:.72rem}.hist-figures dd{font-size:1.15rem}.hist-research-figures{grid-template-columns:repeat(2,minmax(0,1fr))}.hist-downloads li{grid-template-columns:minmax(0,1fr)}.hist-downloads .btn{justify-content:center;min-height:44px}}@media (max-width:540px){.hist-page .hist-query.hist-panel{grid-template-columns:minmax(0,1fr)}.hist-page .hist-field,.hist-page .hist-search{grid-column:auto}.hist-page .hist-panel{padding:.8rem}.hist-transport .btn{flex:1 1 auto;justify-content:center}.hist-playhead-time{margin-left:0;width:100%}}.hist-page .hist-when{display:none}@media (max-width:768px){.hist-page .hist-query.hist-panel{background:none;border:0;gap:.5rem;grid-template-columns:minmax(0,1fr);padding:0}.hist-page .hist-query .hist-field{grid-gap:.5rem;align-items:center;display:grid;gap:.5rem;grid-column:auto;grid-template-columns:minmax(0,1fr)}.hist-page .hist-query .hist-field>.form-label{color:var(--ls-text-2);font-size:.82rem;margin:0}.hist-page .hist-field .form-input,.hist-page .hist-field .form-select{min-height:44px}.hist-page .hist-query .hist-when{display:grid}.hist-page .hist-query .hist-search{grid-column:auto;margin-top:.25rem;min-height:44px}.hist-page .hist-range-tools{display:none}.hist-page .hist-range-help{display:block}.hist-page .logs-header{margin-bottom:12px}.hist-page .logs-header h1{font-size:1.25rem}.hist-page .logs-header p{font-size:.8125rem;line-height:1.4;margin-top:4px}.hist-page .hist-query .hist-time{gap:4px;grid-template-columns:minmax(0,1fr)}.hist-page .hist-field input[type=datetime-local]{-webkit-appearance:none;appearance:none;max-width:100%}.hist-page .hist-field .form-input,.hist-page .hist-field .form-select,.hist-page .hist-transport select{font-size:1rem;min-height:44px}.hist-page .hist-notice{flex-wrap:wrap}.hist-page .hist-notice>span{flex:1 1;min-width:0}.hist-page .hist-notice .btn{min-height:44px}.hist-replay{gap:16px;padding:10px}.hist-replay-main{max-width:100%;width:100%}.hist-map-legend{gap:6px 12px;line-height:1.4}.hist-transport{display:flex;flex-wrap:wrap;gap:6px}.hist-transport .btn{flex:1 1;justify-content:center;line-height:1.3;min-height:44px;padding:8px 6px;white-space:normal}.hist-transport .form-select{flex:0 0 5rem;min-width:0;padding:6px;width:5rem}.hist-playhead-time{flex-basis:100%;line-height:1.5;margin-left:0;width:100%}.hist-moment-text{overflow-wrap:anywhere}.hist-empty-intro,.hist-empty-results{gap:10px;padding:12px}.hist-empty-results .btn{min-height:44px;white-space:normal}}@media (pointer:coarse){.hist-page .btn{min-height:44px}}@media (max-width:768px){.hist-filters:not(.is-expanded) #hist-filter-fields{display:none}.hist-filter-toggle{align-items:center;background:var(--ls-card);border:1px solid var(--ls-border);border-radius:8px;color:var(--ls-text);cursor:pointer;display:flex;font:inherit;gap:8px;min-height:48px;padding:10px 12px;text-align:left;width:100%}.hist-filter-toggle>svg{flex-shrink:0}.hist-filter-toggle:hover{background:var(--ls-card-2)}.hist-filter-toggle:focus-visible{outline:2px solid var(--ls-text);outline-offset:2px}.hist-filter-summary{grid-gap:3px;display:grid;flex:1 1;gap:3px;min-width:0}.hist-filter-summary strong{font-size:.8125rem;font-weight:600;line-height:1.4;overflow-wrap:anywhere}.hist-filter-summary>span{color:var(--ls-text-2);font-size:.6875rem;line-height:1.4}.hist-filter-action{font-size:.75rem;font-weight:600}.hist-filters.is-expanded .hist-filter-toggle{margin-bottom:10px}.hist-filters.is-expanded .hist-filter-toggle>svg:last-child{transform:rotate(180deg)}.hist-page .hist-query.hist-panel{gap:10px}.hist-page .hist-query .hist-field{align-items:stretch;display:flex;flex-direction:column;gap:4px}.hist-page .hist-query .hist-when{display:flex}.hist-page .hist-date-range{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.hist-datetime{background:var(--ls-input-bg);border:1px solid var(--ls-input-border);border-radius:6px;min-height:66px;position:relative}.hist-datetime:focus-within{outline:2px solid var(--ls-text);outline-offset:2px}.hist-datetime:has(button[data-invalid=true]){border-color:var(--ls-bad-text)}.hist-page .hist-datetime>input[type=datetime-local]{display:none}.hist-date-trigger{grid-gap:3px;background:var(--ls-input-bg);border:0;border-radius:6px;color:var(--ls-text);cursor:pointer;display:grid;font:inherit;gap:3px;min-height:66px;padding:9px 26px 9px 10px;text-align:left;width:100%}.hist-date-trigger:focus-visible{outline:2px solid var(--ls-text);outline-offset:2px}.hist-date-trigger>span{font-size:.75rem;line-height:1.3}.hist-date-trigger strong{font-size:1rem;font-weight:600;line-height:1.3}.hist-date-trigger svg{color:var(--ls-text-2);position:absolute;right:8px;top:12px}.hist-page .hist-query .hist-search{margin-top:0;min-height:48px;order:2;width:100%}.hist-page .hist-range-help{font-size:.6875rem;line-height:1.4;margin-top:6px}.hist-page .hist-figures{margin-top:16px}}.ls-confirm-backdrop{animation:ls-confirm-fade .16s ease-out;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a8c;display:grid;inset:0;padding:1rem;place-items:center;position:fixed;z-index:1400}.ls-confirm{animation:ls-confirm-pop .18s ease-out;background:var(--ls-card);border:1px solid var(--ls-border);border-radius:14px;box-shadow:var(--ls-shadow-lg);color:var(--ls-text);padding:1.25rem;width:min(440px,100%)}.ls-confirm-head{align-items:center;display:flex;gap:.75rem}.ls-confirm-head h2{font-size:1.05rem;line-height:1.35;margin:0;overflow-wrap:anywhere}.ls-confirm-icon{background:var(--ls-card-2);border-radius:50%;color:var(--ls-text-2);display:inline-grid;flex:none;height:40px;place-items:center;width:40px}.ls-confirm.is-danger .ls-confirm-icon{background:color-mix(in srgb,var(--ls-bad-text) 13%,#0000);color:var(--ls-bad-text)}.ls-confirm.is-warn .ls-confirm-icon{background:color-mix(in srgb,var(--ls-warn-text) 14%,#0000);color:var(--ls-warn-text)}.ls-confirm-body{color:var(--ls-text-2);font-size:.88rem;line-height:1.55;margin:.8rem 0 1.25rem calc(40px + .75rem)}.ls-confirm-body p{margin:0 0 .5rem}.ls-confirm-body p:last-child{margin-bottom:0}.ls-confirm-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.ls-confirm-btn{background:var(--ls-card);border:1px solid var(--ls-border-strong);border-radius:8px;color:var(--ls-text);cursor:pointer;font:inherit;font-size:.86rem;font-weight:600;min-height:42px;padding:.5rem 1rem}.ls-confirm-btn:hover{background:var(--ls-card-2)}.ls-confirm-btn:focus-visible{outline:2px solid var(--ls-text);outline-offset:2px}.ls-confirm-btn.is-primary{background:var(--ls-text);border-color:var(--ls-text);color:var(--ls-card)}.ls-confirm-btn.is-primary:hover{opacity:.9}.ls-confirm-btn.is-primary.is-danger{background:var(--ls-bad-text);border-color:var(--ls-bad-text);color:var(--ls-card)}.ls-confirm-btn.is-primary.is-warn{background:var(--ls-warn-text);border-color:var(--ls-warn-text);color:var(--ls-card)}.ls-confirm-btn:disabled,.ls-confirm-btn:disabled:hover{cursor:not-allowed;opacity:.45}.ls-confirm-field{grid-gap:.35rem;color:var(--ls-text);display:grid;font-weight:600;gap:.35rem;margin-top:.75rem}.ls-confirm-field input{background:var(--ls-input-bg);border:1px solid var(--ls-input-border);border-radius:8px;color:var(--ls-text);font:inherit;font-weight:400;min-height:42px;padding:.5rem .7rem}.ls-confirm-field input:focus-visible{outline:2px solid var(--ls-text);outline-offset:1px}@keyframes ls-confirm-fade{0%{opacity:0}to{opacity:1}}@keyframes ls-confirm-pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.ls-confirm,.ls-confirm-backdrop{animation:none}}@media (max-width:480px){.ls-confirm-body{margin-left:0}.ls-confirm-actions{flex-direction:column-reverse}.ls-confirm-btn{min-height:44px;width:100%}}:root{--set-bg:#f8fafc;--set-panel:#fff;--set-border:#e2e8f0;--set-text:#0f172a;--set-muted:#64748b;--set-nav-bg:#0f172a;--set-nav-text:#cbd5e1;--set-nav-active:#1e293b;--set-accent:#2563eb;--set-ok:#16a34a;--set-warn:#d97706;--set-danger:#dc2626;--set-input-bg:#fff;--set-gap:1.5rem;--set-row-gap:1.15rem;--set-font:1rem}:root[data-theme=dark]{--set-bg:#0b1220;--set-panel:#111c32;--set-border:#1f2d47;--set-text:#e6edf7;--set-muted:#93a3bc;--set-nav-bg:#080e1a;--set-nav-text:#aebbd0;--set-nav-active:#17233b;--set-accent:#60a5fa;--set-ok:#4ade80;--set-warn:#fbbf24;--set-danger:#f87171;--set-input-bg:#0b1220}:root[data-text-size=large]{--set-font:1.075rem}:root[data-text-size=larger]{--set-font:1.175rem}:root[data-high-contrast]{--set-border:#0f172a;--set-muted:#1e293b}:root[data-high-contrast][data-theme=dark]{--set-border:#e6edf7;--set-muted:#dbe6f5}:root[data-high-contrast] .set-input,:root[data-high-contrast] .set-nav button,:root[data-high-contrast] .set-panel{border-width:2px}:root[data-reduce-motion] *,:root[data-reduce-motion] :after,:root[data-reduce-motion] :before{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.set-root{grid-gap:1.5rem;grid-gap:var(--set-gap);align-items:start;background:#f8fafc;background:var(--set-bg);color:#0f172a;color:var(--set-text);display:grid;font-size:1rem;font-size:var(--set-font);gap:1.5rem;gap:var(--set-gap);grid-template-columns:232px minmax(0,1fr);min-height:100%;padding:1.5rem}.set-head{grid-column:1/-1;margin-bottom:-.4rem}.set-head h1{font-size:1.5rem;margin:0}.set-head p{color:#64748b;color:var(--set-muted);font-size:.92rem;margin:.2rem 0 0}.set-nav{background:#0f172a;background:var(--set-nav-bg);border-radius:10px;display:flex;flex-direction:column;gap:.15rem;padding:.6rem;position:-webkit-sticky;position:sticky;top:1rem}.set-nav-group{color:#64748b;font-size:.68rem;font-weight:700;letter-spacing:.06em;padding:.8rem .6rem .3rem;text-transform:uppercase}.set-nav-group:first-child{padding-top:.3rem}.set-nav button{align-items:center;background:#0000;border:1px solid #0000;border-radius:7px;color:#cbd5e1;color:var(--set-nav-text);cursor:pointer;display:flex;font:inherit;font-size:.875rem;gap:.55rem;min-height:38px;padding:.5rem .6rem;text-align:left;width:100%}.set-nav button:hover,.set-nav button[aria-current=true]{background:#1e293b;background:var(--set-nav-active)}.set-nav button[aria-current=true]{color:#fff;font-weight:600}.set-nav button:focus-visible,.set-root a:focus-visible,.set-root button:focus-visible,.set-root input:focus-visible,.set-root select:focus-visible{outline:2px solid #2563eb;outline:2px solid var(--set-accent);outline-offset:2px}.set-content{display:flex;flex-direction:column;gap:1.5rem;gap:var(--set-gap);min-width:0}.set-panel{background:#fff;background:var(--set-panel);border:1px solid #e2e8f0;border:1px solid var(--set-border);border-radius:10px;padding:1.25rem 1.35rem}.set-panel>header{align-items:center;column-gap:.6rem;display:flex;flex-wrap:wrap;margin-bottom:1rem}.set-panel>header p{flex-basis:100%}.set-panel h2{font-size:1.1rem;margin:0}.set-panel h3{font-size:.95rem;margin:1.35rem 0 .6rem}.set-panel .set-desc,.set-panel>header p{color:#64748b;color:var(--set-muted);font-size:.875rem;line-height:1.5;margin:.25rem 0 0}.set-scope{align-items:center;background:color-mix(in srgb,#d97706 12%,#0000);background:color-mix(in srgb,var(--set-warn) 12%,#0000);border-radius:999px;color:#d97706;color:var(--set-warn);display:inline-flex;font-size:.72rem;font-weight:700;gap:.3rem;letter-spacing:.03em;padding:.1rem .55rem;text-transform:uppercase}.set-row{align-items:flex-start;border-top:1px solid #e2e8f0;border-top:1px solid var(--set-border);display:flex;gap:1.25rem;justify-content:space-between;padding:1.15rem 0;padding:var(--set-row-gap) 0}.set-row:first-of-type{border-top:none;padding-top:.3rem}.set-row-label{flex:1 1;min-width:0}.set-desc+.set-row{margin-top:.75rem}.set-row-label strong{display:block;font-size:.92rem;font-weight:600}.set-row-label span{color:#64748b;color:var(--set-muted);display:block;font-size:.83rem;line-height:1.45;margin-top:.15rem}.set-row-control{align-items:center;display:flex;flex-shrink:0;gap:.5rem}.set-grid{grid-gap:.9rem;display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.set-switch{align-items:center;cursor:pointer;display:inline-flex;gap:.55rem;min-height:32px;position:relative}.set-switch input{cursor:inherit;height:100%;inset:0;margin:0;opacity:0;position:absolute;width:100%}.set-switch-track{background:color-mix(in srgb,#64748b 45%,#0000);background:color-mix(in srgb,var(--set-muted) 45%,#0000);border-radius:999px;flex-shrink:0;height:26px;position:relative;transition:background-color .18s ease;width:44px}.set-switch-track:after{background:#fff;border-radius:50%;box-shadow:0 1px 3px #0f172a59;content:"";height:20px;left:3px;position:absolute;top:3px;transition:transform .18s ease;width:20px}.set-switch input:checked+.set-switch-track{background:#2563eb;background:var(--set-accent)}.set-switch input:checked+.set-switch-track:after{background:#fff;background:var(--ui-action-ink,#fff);transform:translateX(18px)}.set-switch input:focus-visible+.set-switch-track{outline:2px solid #2563eb;outline:2px solid var(--set-accent);outline-offset:2px}.set-switch.is-disabled{cursor:not-allowed;opacity:.6}.set-switch-text{font-size:.85rem}:root[data-high-contrast] .set-switch-track{box-shadow:inset 0 0 0 2px #e2e8f0;box-shadow:inset 0 0 0 2px var(--set-border)}.set-field{display:flex;flex-direction:column;font-size:.85rem;gap:.3rem}.set-field-hint,.set-field>span:first-child{color:#64748b;color:var(--set-muted)}.set-field-hint{font-size:.78rem;line-height:1.45;margin:.35rem 0 0}.set-input{background:#fff;background:var(--set-input-bg);border:1px solid #e2e8f0;border:1px solid var(--set-border);border-radius:7px;color:#0f172a;color:var(--set-text);font:inherit;font-size:.9rem;min-height:38px;padding:.5rem .6rem;width:100%}.set-input:disabled{cursor:not-allowed;opacity:.6}.set-facts{grid-gap:.9rem;display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.set-fact{border:1px solid #e2e8f0;border:1px solid var(--set-border);border-radius:8px;padding:.7rem .8rem}.set-fact dt{color:#64748b;color:var(--set-muted);font-size:.76rem;margin:0 0 .2rem}.set-fact dd{font-size:.95rem;font-weight:600;margin:0;word-break:break-word}.set-status{align-items:center;display:inline-flex;font-size:.83rem;font-weight:600;gap:.3rem}.set-status.ok{color:#16a34a;color:var(--set-ok)}.set-status.warn{color:#d97706;color:var(--set-warn)}.set-status.bad{color:#dc2626;color:var(--set-danger)}.set-btn{align-items:center;background:#fff;background:var(--set-panel);border:1px solid #e2e8f0;border:1px solid var(--set-border);border-radius:7px;color:#0f172a;color:var(--set-text);cursor:pointer;display:inline-flex;font:inherit;font-size:.875rem;gap:.4rem;justify-content:center;min-height:38px;padding:.55rem .9rem}.set-btn:hover:not(:disabled){border-color:#2563eb;border-color:var(--set-accent)}.set-btn:disabled{cursor:not-allowed;opacity:.5}.set-btn.primary{background:#2563eb;background:var(--set-accent);border-color:#2563eb;border-color:var(--set-accent);color:#fff;font-weight:600}:root[data-theme=dark] .set-btn.primary{color:#06122a}.set-btn.danger{background:#dc2626;background:var(--set-danger);border-color:#dc2626;border-color:var(--set-danger);color:#fff;font-weight:600}.set-actions{align-items:center;border-top:1px solid #e2e8f0;border-top:1px solid var(--set-border);display:flex;gap:.6rem;justify-content:flex-end;margin-top:1.1rem;padding-top:1rem}.set-actions .set-saved{margin-right:auto}.set-err-msg,.set-note,.set-ok-msg{align-items:flex-start;border-radius:8px;display:flex;font-size:.85rem;gap:.5rem;line-height:1.5;margin:.9rem 0 0;padding:.65rem .8rem}.set-note{background:color-mix(in srgb,#64748b 10%,#0000);background:color-mix(in srgb,var(--set-muted) 10%,#0000);border:1px solid #e2e8f0;border:1px solid var(--set-border);color:#0f172a;color:var(--set-text)}.set-ok-msg{background:color-mix(in srgb,#16a34a 12%,#0000);background:color-mix(in srgb,var(--set-ok) 12%,#0000);border:1px solid color-mix(in srgb,#16a34a 35%,#0000);border:1px solid color-mix(in srgb,var(--set-ok) 35%,#0000);color:#16a34a;color:var(--set-ok)}.set-err-msg{background:color-mix(in srgb,#dc2626 12%,#0000);background:color-mix(in srgb,var(--set-danger) 12%,#0000);border:1px solid color-mix(in srgb,#dc2626 35%,#0000);border:1px solid color-mix(in srgb,var(--set-danger) 35%,#0000);color:#dc2626;color:var(--set-danger)}.set-saved{align-items:center;color:#16a34a;color:var(--set-ok);display:inline-flex;font-size:.83rem;font-weight:600;gap:.3rem}.set-avatar{border-radius:50%;color:#fff;display:grid;flex-shrink:0;font-size:1.35rem;font-weight:700;height:64px;place-items:center;width:64px}.set-activity{list-style:none;margin:0;padding:0}.set-activity li{align-items:center;border-top:1px solid #e2e8f0;border-top:1px solid var(--set-border);display:flex;font-size:.87rem;gap:1rem;justify-content:space-between;padding:.6rem 0}.set-activity li:first-child{border-top:none}.set-contact{grid-gap:.3rem;border:1px solid #e2e8f0;border:1px solid var(--set-border);border-radius:10px;display:grid;gap:.3rem;justify-items:start;padding:.85rem 1rem}.set-contact strong{font-size:1rem}.set-contact a{align-items:center;color:#0f172a;color:var(--set-text);display:inline-flex;font-weight:600;gap:.45rem;min-height:32px;overflow-wrap:anywhere;text-underline-offset:3px}.set-contact a svg{color:#64748b;color:var(--set-muted);flex-shrink:0}@media (pointer:coarse){.set-contact a{min-height:44px}}.set-activity time{color:#64748b;color:var(--set-muted);font-size:.8rem;white-space:nowrap}@media (max-width:900px){.set-root{--set-gutter:1rem;align-items:stretch;display:flex;flex-direction:column;gap:.9rem}.set-root.is-detail{padding-top:0}.set-head{margin-bottom:0}.set-root.is-list .set-head p{display:none}.set-root.is-detail .set-head,.set-root.is-detail .set-panel>header h2{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.set-list{display:flex;flex-direction:column;gap:1.25rem}.set-list-profile{-webkit-tap-highlight-color:transparent;align-items:center;background:#fff;background:var(--set-panel);border:1px solid #e2e8f0;border:1px solid var(--set-border);border-radius:12px;color:#0f172a;color:var(--set-text);cursor:pointer;display:flex;font:inherit;gap:.9rem;min-height:76px;padding:.85rem .9rem .85rem 1rem;text-align:left;width:100%}.set-avatar--list{font-size:1.1rem;height:52px;width:52px}.set-list-profile-text{grid-gap:.15rem;display:grid;flex:1 1;gap:.15rem;min-width:0}.set-list-profile-text strong{font-size:1.05rem;overflow-wrap:anywhere}.set-list-profile-text span{color:#64748b;color:var(--set-muted);font-size:.85rem;line-height:1.4}.set-list-group{grid-gap:.45rem;display:grid;gap:.45rem}.set-list-heading{color:#64748b;color:var(--set-muted);font-size:.75rem;font-weight:700;letter-spacing:.06em;margin:0 0 0 1rem;text-transform:uppercase}.set-list-group ul{background:#fff;background:var(--set-panel);border:1px solid #e2e8f0;border:1px solid var(--set-border);border-radius:12px;list-style:none;margin:0;overflow:hidden;padding:0}.set-list-row{-webkit-tap-highlight-color:transparent;align-items:center;background:none;border:0;color:#0f172a;color:var(--set-text);cursor:pointer;display:flex;font:inherit;font-size:.98rem;gap:.8rem;min-height:52px;padding:.5rem .8rem .5rem 1rem;position:relative;text-align:left;width:100%}.set-list-group li+li .set-list-row:before{background:#e2e8f0;background:var(--set-border);content:"";height:1px;left:calc(1.8rem + 30px);position:absolute;right:0;top:0}.set-list-profile:active,.set-list-row:active{background:color-mix(in srgb,#64748b 14%,#0000);background:color-mix(in srgb,var(--set-muted) 14%,#0000)}.set-root .set-list-profile:focus-visible,.set-root .set-list-row:focus-visible{outline-offset:-3px}.set-list-icon{border-radius:8px;color:#fff;display:grid;flex-shrink:0;height:30px;place-items:center;width:30px}.set-list-label{flex:1 1;min-width:0}.set-list-value{font-size:.9rem;max-width:45%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.set-list-chevron,.set-list-value{color:#64748b;color:var(--set-muted)}.set-list-chevron{flex-shrink:0}.set-backbar{align-items:center;background:var(--ls-bg);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--set-border);display:flex;gap:.35rem;margin:-1rem calc(var(--set-gutter)*-1) 0;min-height:56px;padding:.3rem var(--set-gutter) .3rem calc(var(--set-gutter) - .5rem);position:-webkit-sticky;position:sticky;top:calc(56px + env(safe-area-inset-top, 0px));z-index:20}.set-back{-webkit-tap-highlight-color:transparent;background:none;border:0;border-radius:50%;color:#0f172a;color:var(--set-text);cursor:pointer;display:grid;flex-shrink:0;height:44px;place-items:center;width:44px}.set-back:active{background:color-mix(in srgb,#64748b 18%,#0000);background:color-mix(in srgb,var(--set-muted) 18%,#0000)}.set-backbar-title{flex:1 1;font-size:1.1rem;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media (max-width:380px){.set-root{--set-gutter:0.75rem}}@media (max-width:640px){.set-content .set-panel{border-radius:12px;padding:1rem}.set-panel h3{color:#64748b;color:var(--set-muted);font-size:.75rem;font-weight:700;letter-spacing:.06em;margin:1.5rem 0 .35rem;text-transform:uppercase}.set-row{align-items:stretch;flex-direction:column;gap:.55rem}.set-row-control{justify-content:flex-start}.set-row--inline{align-items:center;flex-direction:row;gap:1rem}.set-row--inline .set-row-control{justify-content:flex-end}.set-switch-text.is-state{display:none}.set-facts{border:1px solid #e2e8f0;border:1px solid var(--set-border);border-radius:12px;display:block;overflow:hidden}.set-facts .set-fact{align-items:baseline;border:0;border-radius:0;display:flex;gap:1rem;justify-content:space-between;padding:.7rem .85rem}.set-facts .set-fact+.set-fact{border-top:1px solid #e2e8f0;border-top:1px solid var(--set-border)}.set-fact dt{flex-shrink:0;font-size:.85rem;margin:0;max-width:48%}.set-fact dd{font-size:.9rem;min-width:0;text-align:right}.set-activity li{align-items:flex-start;flex-direction:column;gap:.15rem}.set-activity li>span{overflow-wrap:anywhere}.set-activity time{white-space:normal}.set-actions{flex-wrap:wrap}.set-actions .set-btn{flex:1 1 auto}.set-actions .set-saved{margin:0 0 .4rem;width:100%}.set-savebar.is-dirty{background:#fff;background:var(--set-panel);border-top:1px solid #e2e8f0;border-top:1px solid var(--set-border);bottom:0;box-shadow:0 -8px 18px #0f172a2e;margin:1rem -1rem 0;padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom, 0px));position:-webkit-sticky;position:sticky;z-index:3}}@media (pointer:coarse){.set-switch{min-height:44px}}.provision-page .dashboard-card{background:var(--ls-card);border:1px solid var(--ls-border);border-radius:8px;box-shadow:none;transition:none}.provision-page .dashboard-card:hover{box-shadow:none;transform:none}.provision-page .dashboard-card h2{color:var(--ls-text);letter-spacing:-.01em;text-transform:none}.provision-page .provision-primary:hover:not(:disabled){opacity:.88}.provision-page button:disabled{cursor:not-allowed;opacity:.58}.provision-tabs{border-bottom:1px solid var(--ls-border);display:flex;gap:0;margin:1.25rem 0 1rem}.provision-tabs>button{align-items:center;background:#0000;border:0;border-bottom:2px solid #0000;color:var(--ls-muted);cursor:pointer;display:inline-flex;font:inherit;font-size:.84rem;font-weight:600;gap:.45rem;min-height:44px;padding:.55rem .85rem}.provision-tabs>button:hover{background:var(--ls-card-2);color:var(--ls-text)}.provision-tabs>button.is-active{border-bottom-color:var(--ls-red-dark);color:var(--ls-text)}.provision-fleet{align-items:center;background:var(--ls-card);border:1px solid var(--ls-border);border-radius:8px;display:flex;gap:.75rem;padding:.75rem 1rem}.provision-fleet.is-warn{border-color:color-mix(in srgb,var(--ls-warn-text) 35%,var(--ls-border))}.provision-fleet-icon{background:color-mix(in srgb,var(--ls-muted) 12%,#0000);border-radius:8px;color:var(--ls-muted);display:inline-grid;flex:none;height:34px;place-items:center;width:34px}.provision-fleet.is-ok .provision-fleet-icon{background:color-mix(in srgb,var(--ls-ok-text) 12%,#0000);color:var(--ls-ok-text)}.provision-fleet.is-warn .provision-fleet-icon{background:color-mix(in srgb,var(--ls-warn-text) 13%,#0000);color:var(--ls-warn-text)}.provision-fleet-text{flex:1 1;min-width:0}.provision-fleet-text strong{color:var(--ls-text);display:block;font-size:.9rem}.provision-fleet-text small{color:var(--ls-muted);display:block;font-size:.78rem;line-height:1.4;margin-top:.1rem}.provision-fleet-action{align-items:center;background:var(--ls-text);border:1px solid var(--ls-text);border-radius:6px;color:var(--ls-card);cursor:pointer;display:inline-flex;flex:none;font:inherit;font-size:.82rem;font-weight:700;gap:.35rem;min-height:40px;padding:.45rem .8rem}.provision-fleet-action:hover{opacity:.88}.provision-prerequisite{background:color-mix(in srgb,var(--ls-warn-text) 5%,var(--ls-card));border:1px solid var(--ls-border);border-radius:6px;color:var(--ls-text);font-size:.8rem;line-height:1.4;margin-bottom:1rem;padding:.7rem}.provision-prerequisite button{background:none;border:0;color:var(--ls-warn-text);cursor:pointer;font:inherit;font-weight:700;padding:0;text-decoration:underline}.provision-install-help{border:1px solid var(--ls-border);border-radius:8px;color:var(--ls-text-2);font-size:.8rem;line-height:1.5;margin:0 0 1.25rem;padding:.7rem .85rem}.provision-install-help summary{color:var(--ls-text);cursor:pointer;font-weight:700}.provision-install-help ol{margin:.7rem 0 .5rem;padding-left:1.3rem}.provision-install-help li+li{margin-top:.45rem}.provision-install-help p{margin:.6rem 0 0}.provision-install-help code,.provision-token code{overflow-wrap:anywhere}.provision-inline-value{max-width:100%;min-width:0}.provision-inline-value>span{min-width:0;overflow-wrap:anywhere}.provision-token-value{min-width:0;-webkit-user-select:all;user-select:all}.provision-pi{grid-gap:1.25rem;display:grid;gap:1.25rem}.provision-pi-add{padding:1.25rem}.provision-pi-add-head{align-items:flex-start;display:flex;gap:.8rem;margin-bottom:1rem}.provision-pi-add-head h2{color:var(--ls-text);font-size:1.05rem;margin:0 0 .2rem}.provision-pi-add-head p{color:var(--ls-muted);font-size:.84rem;line-height:1.5;margin:0}.provision-pi-badge{background:var(--ls-red-tint);border-radius:10px;color:var(--ls-red-dark);display:inline-grid;flex:none;height:40px;place-items:center;width:40px}.provision-pi-tip{align-items:center;background:var(--ls-card-2);border:1px solid var(--ls-border);border-radius:8px;color:var(--ls-text-2);display:flex;flex-wrap:wrap;font-size:.82rem;gap:.5rem .75rem;line-height:1.45;margin-bottom:1.1rem;padding:.65rem .8rem}.provision-pi-tip>svg{color:var(--ls-warn-text);flex:none}.provision-pi-tip>span{flex:1 1 320px}.provision-pi-tip button{align-items:center;background:var(--ls-card);border:1px solid var(--ls-border-strong);border-radius:8px;color:var(--ls-text);cursor:pointer;display:inline-flex;font:inherit;font-size:.8rem;font-weight:600;gap:.3rem;min-height:36px;padding:.3rem .75rem}.provision-pi-tip button:hover{border-color:var(--ls-text)}.provision-pi-form{grid-column-gap:.75rem;grid-row-gap:.35rem;column-gap:.75rem;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;grid-template-rows:auto auto auto;margin-bottom:1rem;row-gap:.35rem}.provision-pi-field{display:grid;grid-row:1/span 3;grid-template-rows:subgrid;min-width:0}.provision-pi-field:first-of-type{grid-column:1}.provision-pi-field:nth-of-type(2){grid-column:2}.provision-pi-field>span{color:var(--ls-text);font-size:.8rem;font-weight:600}.provision-pi-field>span em{color:var(--ls-muted);font-style:normal;font-weight:400}.provision-pi-field>small{color:var(--ls-muted);font-size:.74rem}.provision-pi-submit{align-self:stretch;grid-column:3;grid-row:2;justify-content:center;padding-inline:1.25rem!important}.provision-pi-list-head{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem 1rem;justify-content:space-between;margin-bottom:.75rem}.provision-pi-list-head h2{color:var(--ls-text);font-size:1.05rem;margin:0}.provision-pi-list-head h2 span{color:var(--ls-muted);font-weight:500}.provision-pi-search{align-items:center;background:var(--ls-input-bg);border:1px solid var(--ls-input-border);border-radius:8px;color:var(--ls-muted);display:flex;flex:0 1 300px;gap:.45rem;min-width:0;padding:0 .7rem}.provision-pi-search:focus-within{border-color:var(--ls-text)}.provision-pi-search input{background:#0000;border:0;color:var(--ls-text);flex:1 1;font:inherit;font-size:.85rem;min-height:40px;min-width:0;outline:none}.provision-pi-filters{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}.provision-pi-filter{align-items:center;background:var(--ls-card);border:1px solid var(--ls-border);border-radius:999px;color:var(--ls-text-2);cursor:pointer;display:inline-flex;font:inherit;font-size:.8rem;font-weight:600;gap:.35rem;min-height:36px;padding:.3rem .8rem}.provision-pi-filter b{color:var(--ls-text);font-weight:700}.provision-pi-filter:hover{border-color:var(--ls-border-strong)}.provision-pi-filter.is-warn svg{color:var(--ls-warn-text)}.provision-pi-filter.is-ok svg{color:var(--ls-ok-text)}.provision-pi-filter[aria-pressed=true]{background:var(--ls-text);border-color:var(--ls-text);color:var(--ls-card)}.provision-pi-filter[aria-pressed=true] b,.provision-pi-filter[aria-pressed=true] svg{color:inherit}.provision-pi-pill.is-ok{background:color-mix(in srgb,var(--ls-ok-text) 12%,#0000);color:var(--ls-ok-text)}.provision-pi-pill.is-warn{background:color-mix(in srgb,var(--ls-warn-text) 13%,#0000);color:var(--ls-warn-text)}.provision-pi-pill.is-muted{background:color-mix(in srgb,var(--ls-muted) 14%,#0000);color:var(--ls-muted)}.provision-pi-rows{grid-gap:.5rem;display:grid;gap:.5rem;list-style:none;margin:0;padding:0}.provision-pi-row{background:var(--ls-card);border:1px solid var(--ls-border);border-radius:10px}.provision-pi-row.is-muted{opacity:.85}.provision-pi-row.is-open{border-color:var(--ls-border-strong)}.provision-pi-row-main{align-items:center;display:flex;gap:.5rem}.provision-pi-row-toggle{grid-gap:1rem;align-items:center;background:none;border:0;border-radius:9px;color:inherit;cursor:pointer;display:grid;flex:1 1;font:inherit;gap:1rem;grid-template-columns:minmax(0,1fr) auto 18px;min-height:58px;min-width:0;padding:.6rem .9rem;text-align:left}.provision-pi-row-toggle:hover{background:var(--ls-card-2)}.provision-pi-row-toggle:focus-visible{outline:2px solid var(--ls-text);outline-offset:-2px}.provision-pi-row-name{display:grid;min-width:0}.provision-pi-row-name small,.provision-pi-row-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.provision-pi-row-name strong{color:var(--ls-text);font-size:.92rem}.provision-pi-row-name small{color:var(--ls-muted);font-size:.78rem}.provision-pi-row-meta{align-items:center;display:inline-flex;gap:.9rem}.provision-pi-row-seen{align-items:center;color:var(--ls-muted);display:inline-flex;font-size:.78rem;gap:.3rem;white-space:nowrap}.provision-pi-row-chevron{color:var(--ls-muted);transition:transform .15s ease-out}.provision-pi-row.is-open .provision-pi-row-chevron{transform:rotate(180deg)}.provision-pi-row-fix{flex:none;margin-right:.7rem}.provision-pi-row-detail{grid-gap:.85rem;border-top:1px solid var(--ls-border);display:grid;gap:.85rem;padding:.9rem 1rem 1rem}.provision-pi-rename{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem .75rem}.provision-pi-rename>span{color:var(--ls-muted);font-size:.74rem;font-weight:600}.provision-pi-rename>small{color:var(--ls-muted);font-size:.76rem}.provision-pi-row-detail .provision-pi-facts{grid-template-columns:repeat(4,minmax(0,1fr))}.provision-pi-more{background:var(--ls-card);border:1px dashed var(--ls-border-strong);border-radius:8px;color:var(--ls-text);cursor:pointer;font:inherit;font-size:.84rem;font-weight:600;margin-top:.6rem;min-height:42px;width:100%}.provision-pi-more:hover{border-style:solid}@media (prefers-reduced-motion:reduce){.provision-pi-row-chevron{transition:none}}.provision-pi-pill{align-items:center;border-radius:999px;display:inline-flex;flex:none;font-size:.78rem;font-weight:700;gap:.35rem;padding:.3rem .65rem;white-space:nowrap}.provision-pi-facts{grid-gap:.6rem 1rem;display:grid;gap:.6rem 1rem;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.provision-pi-facts dt{align-items:center;color:var(--ls-muted);display:flex;font-size:.74rem;font-weight:600;gap:.3rem}.provision-pi-facts dd{color:var(--ls-text);font-size:.86rem;margin:.15rem 0 0;overflow-wrap:anywhere}.provision-pi-facts dd small{color:var(--ls-muted);display:block;font-size:.74rem}.provision-pi-facts dd.is-warn{color:var(--ls-warn-text);font-weight:600}.provision-pi-advice{background:var(--ls-card-2);border-radius:8px;color:var(--ls-text-2);font-size:.8rem;line-height:1.45;margin:0;padding:.55rem .7rem}.provision-pi-advice.is-warn{background:color-mix(in srgb,var(--ls-warn-text) 9%,#0000)}.provision-pi-actions{border-top:1px solid var(--ls-border);display:flex;flex-wrap:wrap;gap:.5rem;padding-top:.75rem}.provision-pi-actions .provision-pi-delete{border-color:color-mix(in srgb,var(--ls-bad-text) 35%,#0000)!important;margin-left:auto}.provision-pi-actions .provision-pi-delete:hover:not(:disabled){background:color-mix(in srgb,var(--ls-bad-text) 8%,#0000)!important}.provision-pi-empty{grid-gap:.5rem;background:var(--ls-card);border:1px dashed var(--ls-border-strong);border-radius:10px;display:grid;gap:.5rem;justify-items:center;padding:2rem 1rem;text-align:center}.provision-pi-empty strong{color:var(--ls-text);font-size:1rem}.provision-pi-empty p{color:var(--ls-muted);font-size:.84rem;line-height:1.5;margin:0 0 .4rem;max-width:420px}.ls-toasts.provision-toasts{bottom:auto;top:calc(1rem + env(safe-area-inset-top))}.provision-toast{align-items:center;animation:provision-toast-in .2s ease-out;overflow:hidden;padding-bottom:.85rem;position:relative}.provision-toast-icon{border-radius:50%;display:inline-grid;flex:none;height:32px;place-items:center;width:32px}.ls-toast--ok .provision-toast-icon{background:color-mix(in srgb,var(--ls-ok-text) 14%,#0000);color:var(--ls-ok-text)}.ls-toast--bad .provision-toast-icon{background:color-mix(in srgb,var(--ls-bad-text) 14%,#0000);color:var(--ls-bad-text)}.provision-toast .ls-toast-body span{color:var(--ls-text-2);line-height:1.4}.provision-toast-timer{animation:provision-toast-timer 4s linear forwards;animation:provision-toast-timer var(--toast-ms,4s) linear forwards;bottom:0;height:3px;left:0;position:absolute;right:0;transform-origin:left center}.ls-toast--ok .provision-toast-timer{background:color-mix(in srgb,var(--ls-ok-text) 55%,#0000)}.ls-toast--bad .provision-toast-timer{background:color-mix(in srgb,var(--ls-bad-text) 55%,#0000)}.provision-toast[data-paused] .provision-toast-timer{animation-play-state:paused}@keyframes provision-toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@keyframes provision-toast-timer{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){.provision-toast{animation:none}.provision-toast-timer{display:none}}@media (max-width:767px){.ls-toasts.provision-toasts{bottom:auto;top:calc(4.25rem + env(safe-area-inset-top))}}.provision-setup-answers{grid-gap:.35rem;display:grid;gap:.35rem;margin:0}.provision-setup-answers>div{grid-gap:.6rem;align-items:center;background:var(--ls-input-bg);border:1px solid var(--ls-border);border-radius:6px;display:grid;gap:.6rem;grid-template-columns:minmax(170px,220px) minmax(0,1fr);padding:.35rem .5rem}.provision-setup-answers dt{color:var(--ls-muted);font-size:.78rem}.provision-setup-answers dd{align-items:center;display:flex;gap:.5rem;margin:0;min-width:0}.provision-setup-answers code{color:var(--ls-text);font-size:.82rem;overflow-wrap:anywhere}.provision-setup-answers code.provision-token-value{color:var(--ls-warn-text);font-weight:700}.provision-token-close{background:#0000;border:1px solid #0000;border-radius:6px;color:var(--ls-muted);cursor:pointer;display:inline-grid;flex:none;height:36px;margin:-.35rem -.35rem -.35rem auto;padding:0;place-items:center;width:36px}.provision-token-close:hover{background:var(--ls-card-2);border-color:var(--ls-border);color:var(--ls-text)}.provision-token-close:focus-visible{outline:2px solid var(--ls-text);outline-offset:2px}.provision-room-register{align-items:flex-end;display:flex;flex-wrap:wrap;gap:.6rem 1rem}.provision-room-register .provision-assign-form{align-items:flex-end;display:flex;flex-wrap:wrap;gap:.5rem}.prov-map{grid-gap:.75rem;display:grid;gap:.75rem}.prov-map-hint{color:var(--ls-muted);font-size:.84rem;margin:0}.prov-map-campus .mon-mapcard{aspect-ratio:950/600;max-height:72vh}.prov-map-bar{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem 1rem}.prov-map-back{align-items:center;background:var(--ls-card);border:1px solid var(--ls-border);border-radius:8px;color:var(--ls-text);cursor:pointer;display:inline-flex;font:inherit;font-size:.84rem;gap:.35rem;min-height:38px;padding:.35rem .8rem}.prov-map-title{grid-gap:.1rem;display:grid;gap:.1rem}.prov-map-title strong{color:var(--ls-text);font-size:1rem}.prov-map-title span{color:var(--ls-muted);font-size:.78rem}.prov-map-floors{align-items:center;color:var(--ls-muted);display:inline-flex;gap:.35rem;margin-left:auto}.prov-map-floors button{background:var(--ls-card);border:1px solid var(--ls-border);border-radius:8px;color:var(--ls-text-2);cursor:pointer;font:inherit;font-size:.8rem;min-height:34px;padding:.25rem .7rem}.prov-map-floors button.is-on{border-color:var(--ls-text);color:var(--ls-text);font-weight:700}.prov-map-extra{align-items:center;color:var(--ls-muted);display:flex;flex-wrap:wrap;font-size:.8rem;gap:.4rem}.prov-map-extra button{background:var(--ls-card);border:1px dashed var(--ls-border-strong);border-radius:8px;color:var(--ls-text);cursor:pointer;font:inherit;font-size:.8rem;min-height:34px;padding:.25rem .7rem}.prov-map-extra button[aria-pressed=true]{border-color:var(--ls-text);border-style:solid;font-weight:700}.prov-map .fp-room[aria-pressed=true] .fp-shape{stroke-width:4}@media (max-width:720px){.provision-tabs{border-bottom:0}.provision-tabs>button{border-bottom:1px solid var(--ls-border)}.provision-tabs>button.is-active{border-bottom:2px solid var(--ls-red-dark)}.provision-fleet{flex-wrap:wrap}.provision-fleet-action{justify-content:center;min-height:44px;width:100%}.provision-page .dashboard-card:hover{transform:none}.provision-room-action{padding:1rem}.provision-assign-form,.provision-assign-form>label,.provision-room-action>div{width:100%}.provision-room-action select{min-height:44px!important;min-width:0;width:100%}.provision-room-action button{min-height:44px!important}.prov-map-campus .mon-mapcard{aspect-ratio:auto;height:clamp(280px,85vw,420px)}.prov-map-floors{margin-left:0}.provision-setup-answers>div{gap:.25rem;grid-template-columns:minmax(0,1fr)}.provision-room-register,.provision-room-register>button{width:100%}.prov-map-back,.prov-map-extra button,.prov-map-floors button{min-height:44px}.provision-pi-add{padding:1rem}.provision-pi-form{grid-template-columns:minmax(0,1fr);grid-template-rows:none;row-gap:.9rem}.provision-pi-field,.provision-pi-field:first-of-type,.provision-pi-field:nth-of-type(2){gap:.35rem;grid-column:1;grid-row:auto;grid-template-rows:none}.provision-pi-field input{min-height:44px}.provision-pi-submit{grid-column:1;grid-row:auto;min-height:44px;width:100%}.provision-pi-tip button{justify-content:center;min-height:44px;width:100%}.provision-pi-list-head{align-items:stretch;flex-direction:column}.provision-pi-search{flex-basis:auto}.provision-pi-filter,.provision-pi-search input{min-height:44px}.provision-pi-row-main{flex-wrap:wrap}.provision-pi-row-toggle{grid-template-columns:minmax(0,1fr) 18px;row-gap:.45rem}.provision-pi-row-meta{grid-column:1/-1;grid-row:2;justify-content:space-between}.provision-pi-row-chevron{grid-column:2;grid-row:1}.provision-pi-row-fix{flex:1 1 100%;justify-content:center;margin:0 .7rem .7rem;min-height:44px!important}.provision-pi-actions button{flex-basis:calc(50% - 0.5rem);flex-grow:1;flex-shrink:1;justify-content:center;min-height:44px!important}.provision-pi-actions .provision-pi-delete{margin-left:0}.provision-inline-form{display:flex!important;width:100%}.provision-inline-form button,.provision-inline-value button{min-height:44px!important;min-width:44px!important}.provision-inline-form input{flex:1 1;min-height:44px!important;min-width:0;width:auto!important}.provision-token-value{flex-basis:100%}.provision-token-actions button{flex:1 1;justify-content:center;min-height:44px!important}}@media (max-width:1100px){.provision-pi-row-detail .provision-pi-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:440px){.provision-pi-row-detail .provision-pi-facts{grid-template-columns:minmax(0,1fr)}}.um-root{background:var(--set-bg);color:var(--set-text);font-size:var(--set-font);min-height:100%;padding:1.5rem}.um-head{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.1rem}.um-head h1{font-size:1.5rem;margin:0}.um-head p{color:var(--set-muted);font-size:.9rem;margin:.2rem 0 0}.um-stats{display:flex;flex-wrap:wrap;gap:1.6rem}.um-stat{display:flex;flex-direction:column;gap:.1rem}.um-stat b{font-size:1.35rem;font-weight:700;line-height:1.1}.um-stat span{color:var(--set-muted);font-size:.72rem;letter-spacing:.05em;text-transform:uppercase}.um-toolbar{align-items:flex-end;background:var(--set-panel);border:1px solid var(--set-border);border-radius:8px;display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:.9rem;padding:.85rem}.um-search{flex:1 1 260px;min-width:0;position:relative}.um-search svg{color:var(--set-muted);left:9px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.um-search input{padding-left:2rem}.um-field{color:var(--set-muted);display:flex;flex-direction:column;font-size:.75rem;gap:.25rem}.um-filters{display:contents}.um-filters .um-input{min-width:150px}.um-toolbar .um-filter-toggle,.um-toolbar .um-filters-clear{display:none}.um-input{background:var(--set-input-bg);border:1px solid var(--set-border);border-radius:6px;color:var(--set-text);font:inherit;font-size:.875rem;min-height:36px;padding:.45rem .6rem;width:100%}.um-input:disabled{cursor:not-allowed;opacity:.55}.um-btn{align-items:center;background:var(--set-panel);border:1px solid var(--set-border);border-radius:6px;color:var(--set-text);cursor:pointer;display:inline-flex;font:inherit;font-size:.875rem;gap:.4rem;justify-content:center;min-height:36px;padding:.45rem .8rem;white-space:nowrap}.um-btn:hover:not(:disabled){border-color:var(--set-accent)}.um-btn:disabled{cursor:not-allowed;opacity:.5}.um-btn.primary{background:var(--set-accent);border-color:var(--set-accent);color:#fff;font-weight:600}:root[data-theme=dark] .um-btn.primary{color:#06122a}.um-btn.danger{background:var(--set-danger);border-color:var(--set-danger);color:#fff;font-weight:600}.um-btn.subtle{background:#0000;border-color:#0000}.um-root :focus-visible{outline:2px solid var(--set-accent);outline-offset:2px}.um-bulk{align-items:center;background:color-mix(in srgb,var(--set-accent) 8%,#0000);border:1px solid var(--set-accent);border-radius:8px;display:flex;flex-wrap:wrap;font-size:.875rem;gap:.6rem;margin-bottom:.9rem;padding:.6rem .85rem}.um-bulk strong{margin-right:auto}.um-bulk .um-bulk-role{min-width:150px;width:auto}.um-table-wrap{background:var(--set-panel);border:1px solid var(--set-border);border-radius:8px;overflow:hidden}.um-table{border-collapse:collapse;font-size:.875rem;width:100%}.um-table th{color:var(--set-muted);font-size:.78rem;font-weight:600;letter-spacing:.04em;padding:.65rem .8rem;text-align:left;text-transform:uppercase;white-space:nowrap}.um-table td,.um-table th{border-bottom:1px solid var(--set-border)}.um-table td{padding:.6rem .8rem;vertical-align:middle}.um-table tbody tr:last-child td{border-bottom:none}.um-table tbody tr:hover{background:color-mix(in srgb,var(--set-muted) 7%,#0000)}.um-table tbody tr.is-selected{background:color-mix(in srgb,var(--set-accent) 8%,#0000)}.um-table td.um-actions-cell{position:relative;text-align:right;white-space:nowrap;width:1%}.um-check{accent-color:var(--set-accent);cursor:pointer;height:16px;width:16px}.um-user{align-items:center;display:flex;gap:.6rem;min-width:0}.um-avatar{border-radius:50%;color:#fff;display:grid;flex-shrink:0;font-size:.8rem;font-weight:700;height:34px;place-items:center;width:34px}.um-user-text{min-width:0}.um-user-name{display:block;font-weight:600}.um-access{color:var(--set-muted);font-size:.82rem}.um-status{align-items:center;display:inline-flex;font-size:.83rem;font-weight:600;gap:.32rem}.um-status.active{color:var(--set-ok)}.um-status.inactive{color:var(--set-muted)}.um-status.pending{color:var(--set-warn)}.um-status.locked{color:var(--set-danger)}.um-menu{background:var(--set-panel);border:1px solid var(--set-border);border-radius:8px;box-shadow:0 8px 24px #0f172a29;color:var(--set-text);flex-direction:column;min-width:196px;overflow:hidden;position:absolute;right:.7rem;top:2.3rem;z-index:30}.um-menu,.um-menu button{display:flex;text-align:left}.um-menu button{align-items:center;background:#0000;border:none;color:inherit;cursor:pointer;font:inherit;font-size:.85rem;gap:.5rem;padding:.55rem .8rem}.um-menu button:hover:not(:disabled){background:color-mix(in srgb,var(--set-muted) 12%,#0000)}.um-menu button:disabled{cursor:not-allowed;opacity:.4}.um-menu .divider{background:var(--set-border);height:1px;margin:.2rem 0}.um-menu .danger{color:var(--set-danger)}.um-menu .um-menu-cancel,.um-menu .um-menu-title,.um-menu-backdrop{display:none}.um-empty{color:var(--set-muted);padding:3rem 1.5rem;text-align:center}.um-empty h3{color:var(--set-text);font-size:1rem;margin:.6rem 0 .25rem}.um-empty p{font-size:.875rem;line-height:1.5;margin:0 auto 1rem;max-width:42ch}.um-drawer-backdrop{background:#0f172a73;inset:0;position:fixed;z-index:1300}.um-drawer{border-left:1px solid var(--set-border);bottom:0;color:var(--set-text);flex-direction:column;overflow-y:auto;position:fixed;right:0;width:min(420px,100%);z-index:1301}.um-drawer,.um-drawer-head{background:var(--set-panel);display:flex;top:0}.um-drawer-head{align-items:flex-start;border-bottom:1px solid var(--set-border);gap:.8rem;justify-content:space-between;padding:1.1rem 1.15rem;position:-webkit-sticky;position:sticky;z-index:1}.um-drawer-body{display:flex;flex-direction:column;gap:1.3rem;padding:1.1rem 1.15rem}.um-drawer h4{color:var(--set-muted);font-size:.74rem;letter-spacing:.06em;margin:0 0 .5rem;text-transform:uppercase}.um-kv{grid-gap:.7rem;display:grid;gap:.7rem;grid-template-columns:1fr 1fr}.um-kv dt{color:var(--set-muted);font-size:.75rem;margin-bottom:.1rem}.um-kv dd{font-size:.875rem;margin:0;word-break:break-word}.um-perm-list{display:flex;flex-direction:column;gap:.3rem;list-style:none;margin:0;padding:0}.um-perm-list li{align-items:center;display:flex;font-size:.85rem;gap:.4rem}.um-perm-list li.off{color:var(--set-muted)}.um-activity{list-style:none;margin:0;padding:0}.um-activity li{border-top:1px solid var(--set-border);display:flex;font-size:.83rem;gap:.8rem;justify-content:space-between;padding:.45rem 0}.um-activity li:first-child{border-top:none}.um-activity time{color:var(--set-muted);font-size:.78rem;white-space:nowrap}.um-drawer-actions{display:flex;flex-wrap:wrap;gap:.5rem}.um-modal-backdrop{background:#0f172a80;display:grid;inset:0;padding:1rem;place-items:center;position:fixed;z-index:1310}.um-modal{background:var(--set-panel);border:1px solid var(--set-border);border-radius:10px;color:var(--set-text);max-height:90vh;max-width:560px;overflow-y:auto;padding:1.25rem;width:100%}.um-modal h3{font-size:1.1rem;margin:0 0 .2rem}.um-modal-sub{color:var(--set-muted);font-size:.85rem;margin:0 0 1rem}.um-section{margin-bottom:1.2rem}.um-section>h4{color:var(--set-muted);font-size:.74rem;letter-spacing:.06em;margin:0 0 .6rem;text-transform:uppercase}.um-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.um-label{color:var(--set-muted);font-size:.8rem;gap:.25rem}.um-label,.um-radio-row{display:flex;flex-direction:column}.um-radio-row{gap:.45rem}.um-radio{align-items:flex-start;border:1px solid var(--set-border);border-radius:7px;cursor:pointer;display:flex;gap:.55rem;padding:.6rem .7rem}.um-radio[data-checked=true]{background:color-mix(in srgb,var(--set-accent) 7%,#0000);border-color:var(--set-accent)}.um-radio input{accent-color:var(--set-accent);margin-top:3px}.um-radio b{display:block;font-size:.875rem}.um-radio span{color:var(--set-muted);display:block;font-size:.78rem;line-height:1.4}.um-perm-grid{grid-gap:.4rem .9rem;display:grid;gap:.4rem .9rem;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.um-perm-check{align-items:center;cursor:pointer;display:flex;font-size:.85rem;gap:.45rem}.um-perm-group{color:var(--set-muted);font-size:.72rem;letter-spacing:.05em;margin:.6rem 0 .25rem;text-transform:uppercase}.um-modal-actions{border-top:1px solid var(--set-border);display:flex;gap:.5rem;justify-content:flex-end;margin-top:1.1rem;padding-top:.9rem}.um-modal-actions .um-spacer{margin-right:auto}.um-msg{align-items:flex-start;border-radius:7px;display:flex;font-size:.85rem;gap:.5rem;line-height:1.5;margin-bottom:.9rem;padding:.6rem .8rem}.um-msg.ok{background:color-mix(in srgb,var(--set-ok) 12%,#0000);border:1px solid color-mix(in srgb,var(--set-ok) 32%,#0000);color:var(--set-ok)}.um-msg.err{background:color-mix(in srgb,var(--set-danger) 12%,#0000);border:1px solid color-mix(in srgb,var(--set-danger) 32%,#0000);color:var(--set-danger)}.um-msg.warn{background:color-mix(in srgb,var(--set-warn) 12%,#0000);border:1px solid color-mix(in srgb,var(--set-warn) 32%,#0000);color:var(--set-warn)}.um-msg.info{background:color-mix(in srgb,var(--set-muted) 10%,#0000);color:var(--set-text)}.um-credential,.um-msg.info{border:1px solid var(--set-border)}.um-credential{background:var(--set-bg);border-radius:5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;padding:.1rem .4rem;-webkit-user-select:all;user-select:all}.um-preview{border:1px solid var(--set-border);border-radius:7px;max-height:320px;overflow:auto}.um-preview table{border-collapse:collapse;font-size:.8rem;width:100%}.um-preview td,.um-preview th{border-bottom:1px solid var(--set-border);padding:.4rem .55rem;text-align:left}.um-preview tr.bad{background:color-mix(in srgb,var(--set-danger) 8%,#0000)}.um-preview .problems{color:var(--set-danger);font-size:.75rem}@media (max-width:1000px){.um-table .col-access,.um-table .col-login{display:none}}@media (max-width:720px){.um-root{padding:1rem}.um-stats{gap:.5rem 1.1rem}.um-toolbar{grid-gap:.5rem;align-items:stretch;display:grid;gap:.5rem;grid-template-areas:"search search search" "filter filter refresh" "import add add";grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px;padding:.75rem}.um-toolbar.filters-open{grid-template-areas:"search search search" "filter filter refresh" "filters filters filters" "import add add"}.um-search{grid-area:search}.um-toolbar .um-filter-toggle{display:inline-flex;grid-area:filter;justify-content:flex-start}.um-filter-chevron{margin-left:auto;transition:transform .15s ease}.um-filter-toggle[aria-expanded=true] .um-filter-chevron{transform:rotate(180deg)}.um-filters{display:none;grid-area:filters}.um-filters.is-open{grid-gap:.6rem;display:grid;gap:.6rem;padding:.15rem 0 .25rem}.um-filters .um-input{min-width:0}.um-filters .um-field{font-size:.8rem}.um-toolbar .um-filters-clear{display:inline-flex;justify-self:start;padding-left:0}.um-refresh{grid-area:refresh;padding:0}.um-refresh .um-btn-words{display:none}.um-import{grid-area:import}.um-add{grid-area:add}.um-table-wrap{overflow:visible}.um-table thead{display:none}.um-table,.um-table tbody,.um-table td,.um-table tr{display:block;width:100%}.um-table tr{grid-gap:.3rem .5rem;align-items:center;border-bottom:1px solid var(--set-border);display:grid;gap:.3rem .5rem;grid-template-columns:auto auto minmax(0,1fr) auto;padding:.7rem .8rem}.um-table td{border:none;padding:0}.um-table tr:has(>td[colspan]){display:block}.um-table td:first-child{grid-column:1;grid-row:1}.um-table td:nth-child(2){grid-column:2/4;grid-row:1;min-width:0}.um-table td.col-role{color:var(--set-muted);display:block;font-size:.83rem;grid-column:2;grid-row:2;padding-left:calc(34px + .6rem);white-space:nowrap}.um-table td.col-role:after{content:"·";content:"·"/"";margin-left:.5rem}.um-table td.col-status{grid-column:3;grid-row:2;justify-self:start}.um-table td.um-actions-cell{grid-column:4;grid-row:1}.um-menu-backdrop{background:#0f172a73;display:block;inset:0;position:fixed;z-index:1304}.um-menu{border-bottom:0;border-radius:14px 14px 0 0;bottom:0;box-shadow:0 -8px 24px #0f172a40;left:0;max-height:80dvh;min-width:0;overflow-y:auto;padding-bottom:env(safe-area-inset-bottom,0);position:fixed;right:0;top:auto;z-index:1305}.um-menu .um-menu-title{border-bottom:1px solid var(--set-border);display:block;font-weight:700;overflow-wrap:anywhere;padding:.9rem 1rem .65rem}.um-menu button{font-size:.95rem;min-height:48px;padding:0 1rem}.um-menu .um-menu-cancel{border-top:1px solid var(--set-border);display:flex;font-weight:600;justify-content:center}.um-root.has-bulk{padding-bottom:calc(11rem + env(safe-area-inset-bottom, 0px))}.um-bulk{grid-gap:.5rem;background-color:var(--set-panel);background-image:linear-gradient(color-mix(in srgb,var(--set-accent) 8%,#0000),color-mix(in srgb,var(--set-accent) 8%,#0000));border-radius:14px 14px 0 0;border-width:1px 0 0;bottom:0;box-shadow:0 -8px 24px #0f172a33;display:grid;gap:.5rem;grid-template-columns:repeat(2,minmax(0,1fr));left:0;margin:0;padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom, 0px));position:fixed;right:0;z-index:950}.um-bulk strong{align-self:center;grid-column:1;grid-row:1;margin:0}.um-bulk .um-bulk-clear{grid-column:2;grid-row:1;justify-self:end}.um-bulk .um-bulk-role{grid-column:1/-1;min-width:0;width:100%}.um-modal-backdrop{padding:0;place-items:end center}.um-modal{border-bottom:0;border-radius:14px 14px 0 0;max-height:92dvh;padding:1.1rem 1rem 0}.um-modal-actions{background:var(--set-panel);bottom:0;flex-wrap:wrap;margin:1rem -1rem 0;padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom, 0px));position:-webkit-sticky;position:sticky;z-index:1}.um-modal-actions .um-btn{flex:1 1}.um-modal-actions .um-spacer{flex-basis:100%}.um-drawer-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.um-drawer-actions .um-btn{white-space:normal}.um-check-hit{cursor:pointer;display:inline-grid;height:44px;margin:-14px;place-items:center;width:44px}.um-drawer{width:100%}.um-kv{grid-template-columns:1fr}}.um-status.requested{color:var(--set-warn)}.um-stat--action{background:none;border:0;color:inherit;cursor:pointer;font:inherit;padding:0;text-align:inherit}.um-stat--action:focus-visible span,.um-stat--action:hover span{text-decoration:underline}.um-perm-desc{color:var(--set-muted);display:block;font-size:.74rem;font-weight:400;line-height:1.35;margin-top:.1rem}.um-perm-check{align-items:flex-start}.um-perm-check .um-check{margin-top:.15rem}:root[data-theme=dark]{--gray-50:#11181d;--gray-100:#182229;--gray-200:#293740;--gray-300:#3a4b55;--gray-400:#71848e;--gray-500:#9aaab2;--gray-600:#b7c4ca;--gray-700:#cbd6db;--gray-800:#e2e9ec;--gray-900:#f2f5f6;--success:#4ade80;--warning:#fbbf24;--danger:#f87171;--primary:#e05a5e;--primary-dark:#ca4249;--tertiary:#89afc1;--shadow-sm:none;--shadow-md:none;--shadow-lg:none;--shadow-xl:none;color-scheme:dark}:root[data-theme=dark] body{background-color:var(--gray-50);color:var(--gray-800)}:root[data-theme=dark] .building-card,:root[data-theme=dark] .card,:root[data-theme=dark] .dashboard-card,:root[data-theme=dark] .filter-bar,:root[data-theme=dark] .map-item,:root[data-theme=dark] .modal-content,:root[data-theme=dark] .page-container,:root[data-theme=dark] .room-card,:root[data-theme=dark] .settings-section,:root[data-theme=dark] .stat-box,:root[data-theme=dark] .stat-card,:root[data-theme=dark] .table-container{background-color:var(--gray-100);border-color:var(--gray-200);color:var(--gray-800)}:root[data-theme=dark] .form-input,:root[data-theme=dark] .form-select,:root[data-theme=dark] .logs-filter-input,:root[data-theme=dark] .logs-filter-select{background-color:var(--gray-50);border-color:var(--gray-300);color:var(--gray-800)}:root[data-theme=dark] .form-label,:root[data-theme=dark] .logs-header h1,:root[data-theme=dark] .page-header h1{color:var(--gray-900)}:root[data-theme=dark] table,:root[data-theme=dark] thead th{background-color:var(--gray-100);color:var(--gray-800)}:root[data-theme=dark] .responsive-table thead{background:linear-gradient(135deg,#16223a,#1f2d47);color:#f5f9ff}:root[data-theme=dark] .responsive-table thead th{color:#f5f9ff}:root[data-theme=dark] tbody tr:nth-child(2n){background-color:var(--gray-50)}:root[data-theme=dark] td,:root[data-theme=dark] th{border-color:var(--gray-200)}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea{background-color:var(--gray-50);border-color:var(--gray-300);color:var(--gray-800)}:root[data-theme=dark] input::placeholder,:root[data-theme=dark] textarea::placeholder{color:var(--gray-500)}:root[data-text-size=large]{font-size:106%}:root[data-text-size=larger]{font-size:113%}:root[data-high-contrast]{--gray-400:#475569;--gray-500:#334155}:root[data-high-contrast][data-theme=dark]{--gray-400:#cbd5e1;--gray-500:#e2e8f0}:root[data-high-contrast] .card,:root[data-high-contrast] .stat-card,:root[data-high-contrast] .table-container,:root[data-high-contrast] input,:root[data-high-contrast] select,:root[data-high-contrast] textarea{border-width:2px}:root[data-high-contrast] a:focus,:root[data-high-contrast] button:focus,:root[data-high-contrast] input:focus,:root[data-high-contrast] select:focus{outline:3px solid var(--tertiary);outline-offset:2px}.um-pill{border-radius:999px;display:inline-block;font-size:.78rem;padding:.15rem .5rem;white-space:nowrap}.um-pill-ok{background:#dcfce7;color:#166534}.um-pill-warn{background:#fef3c7;color:#92400e}.um-pill-off{background:#f1f5f9;color:#64748b}.um-pill-muted{background:#f1f5f9;color:#475569}.um-pill-self{background:#e0e7ff;color:#3730a3;font-size:.68rem;margin-left:.45rem;vertical-align:middle}:root[data-theme=dark] .um-pill-ok{background:#4ade8029;color:#4ade80}:root[data-theme=dark] .um-pill-warn{background:#fbbf2429;color:#fbbf24}:root[data-theme=dark] .um-pill-off{background:#94a3b82e;color:#93a3bc}:root[data-theme=dark] .um-pill-muted{background:#94a3b82e;color:#cbd8ea}:root[data-theme=dark] .um-pill-self{background:#818cf833;color:#a5b4fc}.table-container{-webkit-overflow-scrolling:touch;overflow-x:auto}.lg-mobile-sort{display:none}@media (max-width:600px){input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:16px!important}.auth-root{min-height:100dvh}.auth-main{padding-bottom:calc(2.5rem + env(safe-area-inset-bottom, 0px))}}.buildings-container,.logs-container{background:none;min-height:0;padding:0}.buildings-header h1,.logs-header h1{color:var(--ls-text);font-size:1.75rem;letter-spacing:-.02em;line-height:1.2}.buildings-header p,.logs-header p{color:var(--ls-muted);font-size:.9rem}.buildings-header,.logs-header{margin-bottom:1.5rem}@media (max-width:900px){.set-root,.um-root{background:#0000;padding:.25rem 0 0}}@media (max-width:768px){.lg-mobile-sort{color:var(--ls-muted);display:flex;flex-direction:column;font-size:.8rem;font-weight:600;gap:.35rem;width:100%}.lg-mobile-sort select{background:var(--ls-input-bg);border:1px solid var(--ls-border-strong);border-radius:8px;color:var(--ls-text);font:inherit;font-size:.9rem;min-height:44px;padding:.55rem .75rem;width:100%}.buildings-header,.logs-header{margin-bottom:1.1rem}.buildings-header{gap:.75rem}.buildings-header h1,.logs-header h1{font-size:1.4rem;margin-bottom:0}.page-desc{display:none}.tabs-grid-phone{display:grid!important;grid-template-columns:1fr 1fr}.tabs-grid-phone>button{justify-content:center;white-space:nowrap}.hist-query{grid-gap:.75rem!important;display:grid!important;gap:.75rem!important;grid-template-columns:minmax(0,1fr);margin-bottom:.75rem}.hist-field .form-input,.hist-field .form-select{min-width:0!important;width:100%}.hist-search{justify-content:center;min-height:46px;width:100%}.hist-presets{grid-gap:.5rem!important;display:grid!important;gap:.5rem!important;grid-template-columns:1fr 1fr;margin-top:0!important}.hist-presets .btn{background:var(--ls-card);border:1px solid var(--gray-300);border-radius:999px;color:var(--gray-700);font-weight:600;min-height:40px;width:100%}:root[data-theme=dark] .hist-presets .btn{background:var(--gray-100)}.pager{width:100%}.pager .btn{flex:1 1;min-height:44px;white-space:nowrap;width:auto}.pager .pager-num:not(.btn-primary){display:none}}@media (pointer:coarse){.btn,.buildings-header button,.ls-btn,.set-btn,.set-input,.set-nav button,.um-btn,.um-input{min-height:44px}.buildings-header>button,.tabs-grid-phone>button{min-height:44px!important}.um-user{min-height:44px}.auth-link{margin:-.8rem -.4rem;padding:.8rem .4rem}}:root{--ui-action:#263640;--ui-action-ink:#fff;--set-bg:var(--ls-bg);--set-panel:var(--ls-card);--set-border:var(--ls-border);--set-text:var(--ls-text);--set-muted:var(--ls-muted);--set-nav-bg:var(--ls-sidebar);--set-nav-text:var(--ls-sidebar-text);--set-nav-active:var(--ls-sidebar-2);--set-accent:var(--ui-action);--set-input-bg:var(--ls-input-bg)}:root[data-theme=dark]{--ui-action:#e2e9ec;--ui-action-ink:#11181d;--set-bg:var(--ls-bg);--set-panel:var(--ls-card);--set-border:var(--ls-border);--set-text:var(--ls-text);--set-muted:var(--ls-muted);--set-nav-bg:var(--ls-sidebar);--set-nav-text:var(--ls-sidebar-text);--set-nav-active:var(--ls-sidebar-2);--set-accent:var(--ui-action);--set-input-bg:var(--ls-input-bg)}:root[data-high-contrast]{--ls-border:#596770;--ls-border-strong:#1f2b33;--ls-input-border:#596770;--ls-muted:#35444e;--ls-placeholder:var(--ls-muted)}:root[data-high-contrast][data-theme=dark]{--ls-border:#b7c4ca;--ls-border-strong:#e2e9ec;--ls-input-border:#b7c4ca;--ls-muted:#cbd6db}:root:not([data-theme=dark]){color-scheme:light}:root:not([data-theme=dark]) input::placeholder,:root:not([data-theme=dark]) textarea::placeholder{color:var(--ls-placeholder);opacity:1}:root:not([data-theme=dark]) .auth-root{--auth-idle:var(--ls-placeholder);--auth-info-bg:var(--ls-card-2)}:root:not([data-theme=dark]) .set-input,:root:not([data-theme=dark]) .um-input{border-color:var(--ls-input-border)}:root:not([data-theme=dark]) .um-pill-muted,:root:not([data-theme=dark]) .um-pill-off{background:var(--ls-card-2);color:var(--ls-muted)}:root:not([data-theme=dark]) .rp-date svg:first-child,:root:not([data-theme=dark]) .rp-time{color:var(--ls-warn-text)}:root:not([data-theme=dark]) .rp-play:disabled{background:var(--ls-card-2);color:var(--ls-muted)}:root:not([data-theme=dark]) .rp-play:focus-visible{outline-color:var(--ls-text)}:root:not([data-theme=dark]) .rp-chip.is-on{background:var(--ls-text);border-color:var(--ls-text);color:var(--ls-card)}:root:not([data-theme=dark]) .rp-period button:hover:not(:disabled){background:var(--ls-card-2)}:root:not([data-theme=dark]) .rp-period button:disabled{color:var(--ls-muted);opacity:.5}:root:not([data-theme=dark]) .rp-msg.is-error{color:var(--ls-bad-text)}:root:not([data-theme=dark]) .hist-note,:root:not([data-theme=dark]) .rpl-meta{color:var(--ls-muted)}:root:not([data-theme=dark]) .hist-here{background:color-mix(in srgb,var(--ls-chart-accent) 12%,#0000);color:var(--ls-chart-accent)}:root:not([data-theme=dark]) .hist-moment-item[aria-current=true],:root:not([data-theme=dark]) .hist-moment-item[aria-pressed=true]{border-color:var(--ls-chart-accent)}:root:not([data-theme=dark]) .rpm-key,:root:not([data-theme=dark]) .rpm-key-pct,:root:not([data-theme=dark]) .rpm-note{color:var(--ls-muted)}:root:not([data-theme=dark]) .rpm-note b{color:var(--ls-text)}:root:not([data-theme=dark]) .rpm-note{border-color:var(--ls-border-strong)}:root:not([data-theme=dark]) .rpm-key-line{background:var(--ls-chart-accent)}:root:not([data-theme=dark]) .rpm-key-hatch{background:repeating-linear-gradient(45deg,var(--ls-chart-gap-stroke) 0 1.3px,var(--ls-chart-gap-fill) 1.3px 7px);border-color:var(--ls-chart-gap-stroke)}:root[data-theme=dark] .rp-play:disabled{background:var(--ls-card-2);color:var(--ls-muted)}:root[data-theme=dark] .rp-chip.is-on{background:#263640;background:var(--ui-action);border-color:#263640;border-color:var(--ui-action);color:#fff;color:var(--ui-action-ink)}:root[data-theme=dark] .rp-period button:hover:not(:disabled){background:var(--ls-sidebar-2)}:root[data-theme=dark] .rp-period button:disabled{color:var(--ls-muted);opacity:.5}:root[data-theme=dark] .rp-msg.is-error{color:var(--ls-bad-text)}:root[data-theme=dark] .hist-note,:root[data-theme=dark] .rpl-meta,:root[data-theme=dark] .rpm-key,:root[data-theme=dark] .rpm-key-pct,:root[data-theme=dark] .rpm-note{color:var(--ls-muted)}:root[data-theme=dark] .rpm-note b{color:var(--ls-text)}:root[data-theme=dark] .rpm-note{border-color:var(--ls-border-strong)}:root[data-theme=dark] .rpm-key-line{background:var(--ls-chart-accent)}:root[data-theme=dark] .rpm-key-hatch{background:repeating-linear-gradient(45deg,var(--ls-chart-gap-stroke) 0 1.3px,var(--ls-chart-gap-fill) 1.3px 7px);border-color:var(--ls-chart-gap-stroke)}:root[data-theme=dark] .hist-here{background:color-mix(in srgb,var(--ls-chart-accent) 18%,#0000);color:var(--ls-chart-accent)}:root[data-theme=dark] .hist-moment-item[aria-current=true],:root[data-theme=dark] .hist-moment-item[aria-pressed=true]{border-color:var(--ls-chart-accent)}:root[data-theme=dark] .ls-btn--live{background:var(--ls-sidebar-2);border-color:var(--ls-border-strong);color:var(--ls-text)}:root[data-theme=dark] .ls-btn--live:hover{background:var(--ls-card);border-color:var(--ls-muted)}.nav-item.active{background:var(--ls-sidebar-2)}.logo-mark,.topbar-logo{border-radius:5px}.buildings-container,.dashboard,.logs-container,.overview-map-container,.priorities-container,.settings-container{background:#0000;min-height:0;padding:0}.buildings-header h1,.dashboard h1,.logs-header h1,.map-header h1,.priorities-header h1,.settings-header h1{color:var(--ls-text);font-size:1.75rem;letter-spacing:-.02em;line-height:1.2;margin-bottom:.35rem}.buildings-header p,.logs-header p,.map-header p,.priorities-header p,.settings-header p{color:var(--ls-muted);font-size:.9rem}.buildings-list,.dashboard-grid,.map-grid,.priorities-stats{gap:.9rem}.building-card,.dashboard-card,.map-item,.settings-section,.stat-box,.table-container{background:var(--ls-card);border:1px solid var(--ls-border);border-radius:8px;box-shadow:none;transition:border-color .15s ease,background-color .15s ease}.dashboard-card:hover{box-shadow:none;transform:none}.building-card:hover,.map-item:hover{border-color:var(--ls-border-strong);box-shadow:none;transform:none}.dashboard-card h2,.settings-section h2{color:var(--ls-text);letter-spacing:-.01em;text-transform:none}.stat-box-label{letter-spacing:0;text-transform:none}.building-icon{background:var(--ls-card-2);border:1px solid var(--ls-border);border-radius:6px;color:var(--ls-red)}.responsive-table thead,:root[data-theme=dark] .responsive-table thead{background:var(--ls-card-2);color:var(--ls-text-2)}:root[data-theme=dark] .responsive-table thead th{color:var(--ls-text-2)}.responsive-table th{border-bottom:1px solid var(--ls-border);font-size:.78rem;font-weight:600;letter-spacing:0;padding:.8rem 1rem;text-transform:none}.responsive-table td{border-bottom-color:var(--ls-border)}.responsive-table tbody tr:hover{background:var(--ls-card-2)}.badge{border-radius:4px;letter-spacing:0;text-transform:none}.btn{border-radius:6px;transition:background-color .15s ease,border-color .15s ease}.btn-primary,.ls-btn--primary,.set-btn.primary,.um-btn.primary{background:#263640;background:var(--ui-action);border-color:#263640;border-color:var(--ui-action);color:#fff;color:var(--ui-action-ink)}:root[data-theme=dark] .set-btn.primary,:root[data-theme=dark] .um-btn.primary{color:#fff;color:var(--ui-action-ink)}.btn-primary:hover:not(:disabled),.ls-btn--primary:hover:not(:disabled){background:#263640;background:var(--ui-action);border-color:#263640;border-color:var(--ui-action);box-shadow:none;opacity:.88;transform:none}.btn-secondary{background:var(--ls-card-2);border:1px solid var(--ls-border);color:var(--ls-text)}.btn-secondary:hover:not(:disabled){background:var(--ls-card);border-color:var(--ls-border-strong)}.btn-outline{border:1px solid var(--ls-border-strong);color:var(--ls-text)}.btn-outline:hover:not(:disabled){background:var(--ls-card-2);color:var(--ls-text)}.btn:focus-visible,.ls-btn:focus-visible,.provision-tabs>button:focus-visible,.set-btn:focus-visible,.um-btn:focus-visible{outline:2px solid var(--ls-red);outline-offset:2px}.logout-btn:focus-visible,.nav-item:focus-visible,.sidebar-toggle:focus-visible{outline:2px solid #fff;outline-offset:2px}.form-input,.form-select,.logs-filter-input{background:var(--ls-input-bg);border-color:var(--ls-input-border);color:var(--ls-text);transition:border-color .15s ease}.form-input:focus,.form-select:focus,.logs-filter-input:focus{border-color:var(--ls-text-2);box-shadow:none}.fp-bar,.ls-stat,.ml,.mon-panel{border-radius:8px;box-shadow:none}.ls-pill,.ls-stat-label{letter-spacing:0;text-transform:none}.ls-pill{background:var(--ls-card);border-color:var(--ls-border);border-radius:4px;color:var(--ls-text);font-weight:600}.ls-pill--live .ls-pill-dot{animation:none}.ls-banner{background:var(--ls-card);border-color:var(--ls-border);border-radius:6px}.ls-live-dot{box-shadow:none}.ls-btn:focus-visible{outline-color:var(--ls-red)}.set-root,.um-root{background:#0000;min-height:0;padding:0}.set-fact,.set-nav,.set-panel,.um-panel,.um-table-wrap,.um-toolbar{border-radius:8px}.set-nav{background:var(--ls-card);border:1px solid var(--ls-border)}.set-nav-group{color:var(--ls-muted)}.set-nav button{color:var(--ls-text-2)}.set-nav button:hover{background:var(--ls-card-2)}.set-nav button[aria-current=true]{background:var(--ls-card-2);color:var(--ls-text)}.set-scope,.um-pill{border-radius:4px}.set-scope{background:#0000;padding-left:0}.um-pill-self{border:1px solid var(--ls-border)}.um-pill-self,:root[data-theme=dark] .um-pill-self{background:var(--ls-card-2);color:var(--ls-text-2)}.um-bulk{background:var(--ls-card);background:var(--set-panel);border:1px solid var(--set-border)}.um-stat span{letter-spacing:0;text-transform:none}.set-btn:hover:not(:disabled),.um-btn:hover:not(:disabled){border-color:var(--ls-border-strong)}.auth-root,:root[data-theme=dark] .auth-root{--auth-bg:var(--ls-bg);--auth-surface:var(--ls-card);--auth-text:var(--ls-text);--auth-muted:var(--ls-muted);--auth-border:var(--ls-border);--auth-border-strong:var(--ls-border-strong);--auth-accent:var(--ls-red);--auth-accent-hover:var(--ls-red-dark)}.auth-brand{background:var(--ls-sidebar)}.auth-logo-mark{background:var(--ls-red);border-radius:5px;box-shadow:none}.auth-radar{opacity:.55}.auth-blip,.auth-radar-sweep{animation:none;box-shadow:none}.auth-radar-sweep{opacity:.35}.auth-field,.auth-role-body,.auth-submit{border-radius:6px}.auth-submit{box-shadow:none;transition:background-color .15s ease}.auth-submit:hover:not(:disabled){box-shadow:none;transform:none}.auth-submit:hover:not(:disabled) .auth-arrow{transform:none}.password-change button:focus-visible,.password-change input:focus-visible{outline:2px solid var(--ls-red);outline-offset:2px}@media (max-width:768px){.buildings-header h1,.dashboard h1,.logs-header h1,.map-header h1,.priorities-header h1,.settings-header h1{font-size:1.45rem}.building-card,.dashboard-card,.map-item,.settings-section,.stat-box{padding:1rem}}
/*# sourceMappingURL=main.b4d6d635.css.map*/