@font-face{font-family:primeicons;font-display:block;src:url(/assets/primeicons-DMOk5skT.eot);src:url(/assets/primeicons-DMOk5skT.eot?#iefix) format("embedded-opentype"),url(/assets/primeicons-C6QP2o4f.woff2) format("woff2"),url(/assets/primeicons-WjwUDZjB.woff) format("woff"),url(/assets/primeicons-MpK4pl85.ttf) format("truetype"),url(/assets/primeicons-Dr5RGzOO.svg?#primeicons) format("svg");font-weight:400;font-style:normal}.pi{font-family:primeicons;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.pi:before{--webkit-backface-visibility:hidden;backface-visibility:hidden}.pi-fw{width:1.28571429em;text-align:center}.pi-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}@media(prefers-reduced-motion:reduce){.pi-spin{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-transition-delay:0s;transition-delay:0s;-webkit-transition-duration:0s;transition-duration:0s}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.pi-folder-plus:before{content:""}.pi-receipt:before{content:""}.pi-asterisk:before{content:""}.pi-face-smile:before{content:""}.pi-pinterest:before{content:""}.pi-expand:before{content:""}.pi-pen-to-square:before{content:""}.pi-wave-pulse:before{content:""}.pi-turkish-lira:before{content:""}.pi-spinner-dotted:before{content:""}.pi-crown:before{content:""}.pi-pause-circle:before{content:""}.pi-warehouse:before{content:""}.pi-objects-column:before{content:""}.pi-clipboard:before{content:""}.pi-play-circle:before{content:""}.pi-venus:before{content:""}.pi-cart-minus:before{content:""}.pi-file-plus:before{content:""}.pi-microchip:before{content:""}.pi-twitch:before{content:""}.pi-building-columns:before{content:""}.pi-file-check:before{content:""}.pi-microchip-ai:before{content:""}.pi-trophy:before{content:""}.pi-barcode:before{content:""}.pi-file-arrow-up:before{content:""}.pi-mars:before{content:""}.pi-tiktok:before{content:""}.pi-arrow-up-right-and-arrow-down-left-from-center:before{content:""}.pi-ethereum:before{content:""}.pi-list-check:before{content:""}.pi-thumbtack:before{content:""}.pi-arrow-down-left-and-arrow-up-right-to-center:before{content:""}.pi-equals:before{content:""}.pi-lightbulb:before{content:""}.pi-star-half:before{content:""}.pi-address-book:before{content:""}.pi-chart-scatter:before{content:""}.pi-indian-rupee:before{content:""}.pi-star-half-fill:before{content:""}.pi-cart-arrow-down:before{content:""}.pi-calendar-clock:before{content:""}.pi-sort-up-fill:before{content:""}.pi-sparkles:before{content:""}.pi-bullseye:before{content:""}.pi-sort-down-fill:before{content:""}.pi-graduation-cap:before{content:""}.pi-hammer:before{content:""}.pi-bell-slash:before{content:""}.pi-gauge:before{content:""}.pi-shop:before{content:""}.pi-headphones:before{content:""}.pi-eraser:before{content:""}.pi-stopwatch:before{content:""}.pi-verified:before{content:""}.pi-delete-left:before{content:""}.pi-hourglass:before{content:""}.pi-truck:before{content:""}.pi-wrench:before{content:""}.pi-microphone:before{content:""}.pi-megaphone:before{content:""}.pi-arrow-right-arrow-left:before{content:""}.pi-bitcoin:before{content:""}.pi-file-edit:before{content:""}.pi-language:before{content:""}.pi-file-export:before{content:""}.pi-file-import:before{content:""}.pi-file-word:before{content:""}.pi-gift:before{content:""}.pi-cart-plus:before{content:""}.pi-thumbs-down-fill:before{content:""}.pi-thumbs-up-fill:before{content:""}.pi-arrows-alt:before{content:""}.pi-calculator:before{content:""}.pi-sort-alt-slash:before{content:""}.pi-arrows-h:before{content:""}.pi-arrows-v:before{content:""}.pi-pound:before{content:""}.pi-prime:before{content:""}.pi-chart-pie:before{content:""}.pi-reddit:before{content:""}.pi-code:before{content:""}.pi-sync:before{content:""}.pi-shopping-bag:before{content:""}.pi-server:before{content:""}.pi-database:before{content:""}.pi-hashtag:before{content:""}.pi-bookmark-fill:before{content:""}.pi-filter-fill:before{content:""}.pi-heart-fill:before{content:""}.pi-flag-fill:before{content:""}.pi-circle:before{content:""}.pi-circle-fill:before{content:""}.pi-bolt:before{content:""}.pi-history:before{content:""}.pi-box:before{content:""}.pi-at:before{content:""}.pi-arrow-up-right:before{content:""}.pi-arrow-up-left:before{content:""}.pi-arrow-down-left:before{content:""}.pi-arrow-down-right:before{content:""}.pi-telegram:before{content:""}.pi-stop-circle:before{content:""}.pi-stop:before{content:""}.pi-whatsapp:before{content:""}.pi-building:before{content:""}.pi-qrcode:before{content:""}.pi-car:before{content:""}.pi-instagram:before{content:""}.pi-linkedin:before{content:""}.pi-send:before{content:""}.pi-slack:before{content:""}.pi-sun:before{content:""}.pi-moon:before{content:""}.pi-vimeo:before{content:""}.pi-youtube:before{content:""}.pi-flag:before{content:""}.pi-wallet:before{content:""}.pi-map:before{content:""}.pi-link:before{content:""}.pi-credit-card:before{content:""}.pi-discord:before{content:""}.pi-percentage:before{content:""}.pi-euro:before{content:""}.pi-book:before{content:""}.pi-shield:before{content:""}.pi-paypal:before{content:""}.pi-amazon:before{content:""}.pi-phone:before{content:""}.pi-filter-slash:before{content:""}.pi-facebook:before{content:""}.pi-github:before{content:""}.pi-twitter:before{content:""}.pi-step-backward-alt:before{content:""}.pi-step-forward-alt:before{content:""}.pi-forward:before{content:""}.pi-backward:before{content:""}.pi-fast-backward:before{content:""}.pi-fast-forward:before{content:""}.pi-pause:before{content:""}.pi-play:before{content:""}.pi-compass:before{content:""}.pi-id-card:before{content:""}.pi-ticket:before{content:""}.pi-file-o:before{content:""}.pi-reply:before{content:""}.pi-directions-alt:before{content:""}.pi-directions:before{content:""}.pi-thumbs-up:before{content:""}.pi-thumbs-down:before{content:""}.pi-sort-numeric-down-alt:before{content:""}.pi-sort-numeric-up-alt:before{content:""}.pi-sort-alpha-down-alt:before{content:""}.pi-sort-alpha-up-alt:before{content:""}.pi-sort-numeric-down:before{content:""}.pi-sort-numeric-up:before{content:""}.pi-sort-alpha-down:before{content:""}.pi-sort-alpha-up:before{content:""}.pi-sort-alt:before{content:""}.pi-sort-amount-up:before{content:""}.pi-sort-amount-down:before{content:""}.pi-sort-amount-down-alt:before{content:""}.pi-sort-amount-up-alt:before{content:""}.pi-palette:before{content:""}.pi-undo:before{content:""}.pi-desktop:before{content:""}.pi-sliders-v:before{content:""}.pi-sliders-h:before{content:""}.pi-search-plus:before{content:""}.pi-search-minus:before{content:""}.pi-file-excel:before{content:""}.pi-file-pdf:before{content:""}.pi-check-square:before{content:""}.pi-chart-line:before{content:""}.pi-user-edit:before{content:""}.pi-exclamation-circle:before{content:""}.pi-android:before{content:""}.pi-google:before{content:""}.pi-apple:before{content:""}.pi-microsoft:before{content:""}.pi-heart:before{content:""}.pi-mobile:before{content:""}.pi-tablet:before{content:""}.pi-key:before{content:""}.pi-shopping-cart:before{content:""}.pi-comments:before{content:""}.pi-comment:before{content:""}.pi-briefcase:before{content:""}.pi-bell:before{content:""}.pi-paperclip:before{content:""}.pi-share-alt:before{content:""}.pi-envelope:before{content:""}.pi-volume-down:before{content:""}.pi-volume-up:before{content:""}.pi-volume-off:before{content:""}.pi-eject:before{content:""}.pi-money-bill:before{content:""}.pi-images:before{content:""}.pi-image:before{content:""}.pi-sign-in:before{content:""}.pi-sign-out:before{content:""}.pi-wifi:before{content:""}.pi-sitemap:before{content:""}.pi-chart-bar:before{content:""}.pi-camera:before{content:""}.pi-dollar:before{content:""}.pi-lock-open:before{content:""}.pi-table:before{content:""}.pi-map-marker:before{content:""}.pi-list:before{content:""}.pi-eye-slash:before{content:""}.pi-eye:before{content:""}.pi-folder-open:before{content:""}.pi-folder:before{content:""}.pi-video:before{content:""}.pi-inbox:before{content:""}.pi-lock:before{content:""}.pi-unlock:before{content:""}.pi-tags:before{content:""}.pi-tag:before{content:""}.pi-power-off:before{content:""}.pi-save:before{content:""}.pi-question-circle:before{content:""}.pi-question:before{content:""}.pi-copy:before{content:""}.pi-file:before{content:""}.pi-clone:before{content:""}.pi-calendar-times:before{content:""}.pi-calendar-minus:before{content:""}.pi-calendar-plus:before{content:""}.pi-ellipsis-v:before{content:""}.pi-ellipsis-h:before{content:""}.pi-bookmark:before{content:""}.pi-globe:before{content:""}.pi-replay:before{content:""}.pi-filter:before{content:""}.pi-print:before{content:""}.pi-align-right:before{content:""}.pi-align-left:before{content:""}.pi-align-center:before{content:""}.pi-align-justify:before{content:""}.pi-cog:before{content:""}.pi-cloud-download:before{content:""}.pi-cloud-upload:before{content:""}.pi-cloud:before{content:""}.pi-pencil:before{content:""}.pi-users:before{content:""}.pi-clock:before{content:""}.pi-user-minus:before{content:""}.pi-user-plus:before{content:""}.pi-trash:before{content:""}.pi-external-link:before{content:""}.pi-window-maximize:before{content:""}.pi-window-minimize:before{content:""}.pi-refresh:before{content:""}.pi-user:before{content:""}.pi-exclamation-triangle:before{content:""}.pi-calendar:before{content:""}.pi-chevron-circle-left:before{content:""}.pi-chevron-circle-down:before{content:""}.pi-chevron-circle-right:before{content:""}.pi-chevron-circle-up:before{content:""}.pi-angle-double-down:before{content:""}.pi-angle-double-left:before{content:""}.pi-angle-double-right:before{content:""}.pi-angle-double-up:before{content:""}.pi-angle-down:before{content:""}.pi-angle-left:before{content:""}.pi-angle-right:before{content:""}.pi-angle-up:before{content:""}.pi-upload:before{content:""}.pi-download:before{content:""}.pi-ban:before{content:""}.pi-star-fill:before{content:""}.pi-star:before{content:""}.pi-chevron-left:before{content:""}.pi-chevron-right:before{content:""}.pi-chevron-down:before{content:""}.pi-chevron-up:before{content:""}.pi-caret-left:before{content:""}.pi-caret-right:before{content:""}.pi-caret-down:before{content:""}.pi-caret-up:before{content:""}.pi-search:before{content:""}.pi-check:before{content:""}.pi-check-circle:before{content:""}.pi-times:before{content:""}.pi-times-circle:before{content:""}.pi-plus:before{content:""}.pi-plus-circle:before{content:""}.pi-minus:before{content:""}.pi-minus-circle:before{content:""}.pi-circle-on:before{content:""}.pi-circle-off:before{content:""}.pi-sort-down:before{content:""}.pi-sort-up:before{content:""}.pi-sort:before{content:""}.pi-step-backward:before{content:""}.pi-step-forward:before{content:""}.pi-th-large:before{content:""}.pi-arrow-down:before{content:""}.pi-arrow-left:before{content:""}.pi-arrow-right:before{content:""}.pi-arrow-up:before{content:""}.pi-bars:before{content:""}.pi-arrow-circle-down:before{content:""}.pi-arrow-circle-left:before{content:""}.pi-arrow-circle-right:before{content:""}.pi-arrow-circle-up:before{content:""}.pi-info:before{content:""}.pi-info-circle:before{content:""}.pi-home:before{content:""}.pi-spinner:before{content:""}:root{--accent: #7c3aed;--accent-contrast: #ffffff;--bg: #f6f7f9;--surface: #ffffff;--surface-2: #f1f3f6;--surface-3: #e8ebf0;--overlay: rgba(15, 18, 25, .45);--text: #0f1219;--text-2: #4a5263;--text-3: #7c8496;--border: #e3e6ec;--border-strong: #cfd4dd;--ok: #16a34a;--warn: #d97706;--bad: #dc2626;--info: #2563eb;--ok-bg: #dcfce7;--warn-bg: #fef3c7;--bad-bg: #fee2e2;--info-bg: #dbeafe;--series-1: var(--accent);--series-2: #a3abba;--series-3: #0ea5e9;--heat-0: #eef2ff;--heat-1: var(--accent);--radius-s: 6px;--radius: 10px;--radius-l: 14px;--shadow-1: 0 1px 2px rgba(16, 24, 40, .05), 0 1px 3px rgba(16, 24, 40, .06);--shadow-2: 0 8px 24px rgba(16, 24, 40, .12), 0 2px 6px rgba(16, 24, 40, .06);--shadow-3: 0 24px 64px rgba(16, 24, 40, .22);--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: "JetBrains Mono", ui-monospace, Consolas, monospace;--fs-xs: 11px;--fs-s: 12.5px;--fs: 14px;--fs-l: 16px;--fs-xl: 20px;--fs-2xl: 26px;--cam-bg: #1b1f27;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0b0d12;--surface: #12151c;--surface-2: #181c25;--surface-3: #212633;--overlay: rgba(0, 0, 0, .6);--text: #eef0f4;--text-2: #b3b9c6;--text-3: #7d8597;--border: #232835;--border-strong: #323949;--ok: #22c55e;--warn: #f59e0b;--bad: #f87171;--info: #60a5fa;--ok-bg: rgba(34, 197, 94, .14);--warn-bg: rgba(245, 158, 11, .14);--bad-bg: rgba(248, 113, 113, .14);--info-bg: rgba(96, 165, 250, .14);--series-2: #4b5468;--heat-0: #171b26;--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 8px 24px rgba(0, 0, 0, .45);--shadow-3: 0 24px 64px rgba(0, 0, 0, .6);color-scheme:dark}}:root[data-theme=dark]{--bg: #0b0d12;--surface: #12151c;--surface-2: #181c25;--surface-3: #212633;--overlay: rgba(0, 0, 0, .6);--text: #eef0f4;--text-2: #b3b9c6;--text-3: #7d8597;--border: #232835;--border-strong: #323949;--ok: #22c55e;--warn: #f59e0b;--bad: #f87171;--info: #60a5fa;--ok-bg: rgba(34, 197, 94, .14);--warn-bg: rgba(245, 158, 11, .14);--bad-bg: rgba(248, 113, 113, .14);--info-bg: rgba(96, 165, 250, .14);--series-2: #4b5468;--heat-0: #171b26;--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 8px 24px rgba(0, 0, 0, .45);--shadow-3: 0 24px 64px rgba(0, 0, 0, .6);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--bg);color:var(--text);font:400 var(--fs) / 1.45 var(--font);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01","tnum";overflow-x:hidden}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.01em}h1{font-size:var(--fs-xl)}h2{font-size:var(--fs-l)}h3{font-size:var(--fs)}[v-cloak]{display:none}::selection{background:color-mix(in srgb,var(--accent) 25%,transparent)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.mono{font-family:var(--mono);font-size:.92em}.num{font-variant-numeric:tabular-nums}.nowrap{white-space:nowrap}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.row{display:flex;align-items:center;gap:8px}.col{display:flex;flex-direction:column;gap:8px}.grow{flex:1 1 auto;min-width:0}.spacer{flex:1}.up{color:var(--ok)}.down{color:var(--bad)}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-l);box-shadow:var(--shadow-1);min-width:0}.card-h{display:flex;align-items:center;gap:8px;padding:14px 16px 0;min-height:40px}.card-h h3{font-size:13.5px}.card-b{padding:12px 16px 16px}.card.flat{box-shadow:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-weight:500;font-size:13px;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s,color .12s}.btn:hover{background:var(--surface-2);border-color:var(--border-strong)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.btn.primary:hover{filter:brightness(1.08)}.btn.ghost{background:transparent;border-color:transparent}.btn.ghost:hover{background:var(--surface-2)}.btn.icon{width:32px;padding:0}.btn.sm{height:26px;padding:0 8px;font-size:12px;border-radius:6px}.btn.sm.icon{width:26px;padding:0}.btn.active{background:color-mix(in srgb,var(--accent) 12%,var(--surface));border-color:color-mix(in srgb,var(--accent) 35%,var(--border));color:var(--accent)}.btn:focus-visible,.tab:focus-visible,.seg button:focus-visible,.navi:focus-visible{outline:2px solid var(--accent);outline-offset:2px}kbd{font:500 11px var(--font);padding:1px 5px;border-radius:4px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-2)}.input{height:32px;padding:0 10px;border-radius:8px;border:1px solid var(--border);background:var(--surface);outline:none;min-width:0}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.search{position:relative;display:flex;align-items:center}.search svg{position:absolute;left:9px;color:var(--text-3);pointer-events:none}.search .input{padding-left:30px;width:100%}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{position:relative;padding:10px 12px;border:0;background:none;cursor:pointer;color:var(--text-2);font-weight:500;font-size:13.5px;white-space:nowrap;display:inline-flex;gap:6px;align-items:center}.tab:hover{color:var(--text)}.tab.on{color:var(--text);font-weight:600}.tab.on:after{content:"";position:absolute;left:8px;right:8px;bottom:-1px;height:2px;border-radius:2px;background:var(--accent)}.seg{display:inline-flex;padding:3px;background:var(--surface-2);border-radius:9px;gap:2px;border:1px solid var(--border)}.seg button{border:0;background:transparent;padding:4px 10px;border-radius:6px;cursor:pointer;font-size:12.5px;font-weight:500;color:var(--text-2);white-space:nowrap}.seg button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1)}.chip{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);font-size:12px;color:var(--text-2);white-space:nowrap}.badge{display:inline-flex;align-items:center;gap:4px;padding:1px 7px;border-radius:6px;font-size:11.5px;font-weight:600;white-space:nowrap}.badge.high,.badge.bad{background:var(--bad-bg);color:var(--bad)}.badge.medium,.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.low,.badge.info{background:var(--info-bg);color:var(--info)}.badge.ok{background:var(--ok-bg);color:var(--ok)}.count{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--bad);color:#fff;font-size:11px;font-weight:600;display:inline-flex;align-items:center;justify-content:center}.dot{width:8px;height:8px;border-radius:50%;flex:none;display:inline-block}.dot.online,.dot.ok{background:var(--ok)}.dot.warning,.dot.warn{background:var(--warn);border-radius:2px;transform:rotate(45deg) scale(.85)}.dot.offline,.dot.bad{background:transparent;border:2px solid var(--bad)}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--bad);animation:pulse 1.6s infinite;display:inline-block}@keyframes pulse{0%{box-shadow:0 0 #ef444499}70%{box-shadow:0 0 0 7px #ef444400}to{box-shadow:0 0 #ef444400}}.table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.table th{text-align:left;font-weight:500;font-size:12px;color:var(--text-3);padding:8px 12px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface);z-index:1;white-space:nowrap}.table td{padding:9px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tbody tr{cursor:default}.table tbody tr.click{cursor:pointer}.table tbody tr.click:hover td{background:var(--surface-2)}.table tbody tr.sel td{background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.table .r{text-align:right}.table-wrap{overflow:auto}.kpis{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.kpi{padding:14px 16px;display:flex;flex-direction:column;gap:4px;min-width:0}.kpi .lbl{font-size:12.5px;color:var(--text-2);display:flex;gap:6px;align-items:center}.kpi .val{font-size:var(--fs-2xl);font-weight:600;letter-spacing:-.02em;line-height:1.15;font-variant-numeric:tabular-nums}.kpi .sub{font-size:12px;color:var(--text-3);display:flex;gap:6px;align-items:center;flex-wrap:wrap}.pbar{height:6px;border-radius:3px;background:var(--surface-3);overflow:hidden;position:relative}.pbar>i{position:absolute;inset:0 auto 0 0;border-radius:3px;background:var(--accent);transition:width .6s}.pbar.warn>i{background:var(--warn)}.pbar.bad>i{background:var(--bad)}.cam{position:relative;background:var(--cam-bg);border-radius:var(--radius);overflow:hidden;aspect-ratio:16 / 9;color:#fff;min-width:0}.cam canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.cam .cam-top{position:absolute;left:8px;right:8px;top:7px;display:flex;gap:6px;align-items:center;font-size:11.5px;text-shadow:0 1px 2px rgba(0,0,0,.7);pointer-events:none}.cam .cam-bot{position:absolute;left:8px;right:8px;bottom:6px;display:flex;gap:6px;align-items:center;font-size:11px;opacity:.9;text-shadow:0 1px 2px rgba(0,0,0,.7);pointer-events:none}.cam .cam-tag{background:#00000080;padding:1px 6px;border-radius:4px;backdrop-filter:blur(4px)}.cam.flash{box-shadow:0 0 0 2px var(--bad),0 0 24px #ef444473}.cam .cam-off{position:absolute;inset:0;display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;color:#9aa3b5;font-size:12px}.ev{display:flex;gap:10px;padding:10px 12px;border-bottom:1px solid var(--border);cursor:pointer;align-items:flex-start;position:relative}.ev:hover{background:var(--surface-2)}.ev.unseen:before{content:"";position:absolute;left:3px;top:16px;width:5px;height:5px;border-radius:50%;background:var(--accent)}.ev-ic{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;flex:none}.ev-ic.high{background:var(--bad-bg);color:var(--bad)}.ev-ic.medium{background:var(--warn-bg);color:var(--warn)}.ev-ic.low{background:var(--info-bg);color:var(--info)}.ev .ev-t{font-weight:600;font-size:13px}.ev .ev-s{font-size:12px;color:var(--text-2)}.ev .ev-thumb{width:72px;flex:none;border-radius:6px;aspect-ratio:16/9}.ev-enter{animation:evIn .5s ease}@keyframes evIn{0%{background:color-mix(in srgb,var(--accent) 16%,transparent)}to{background:transparent}}.modal-bg{position:fixed;inset:0;background:var(--overlay);z-index:100;display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .15s}.modal{background:var(--surface);border-radius:var(--radius-l);box-shadow:var(--shadow-3);width:min(860px,100%);max-height:calc(100vh - 32px);overflow:auto;border:1px solid var(--border)}.drawer-bg{position:fixed;inset:0;background:var(--overlay);z-index:90;animation:fadeIn .15s}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(520px,100vw);background:var(--surface);z-index:91;box-shadow:var(--shadow-3);display:flex;flex-direction:column;animation:slideIn .2s ease;border-left:1px solid var(--border)}@keyframes fadeIn{0%{opacity:0}}@keyframes slideIn{0%{transform:translate(30px);opacity:0}}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}}.toasts{position:fixed;right:16px;top:64px;z-index:200;display:flex;flex-direction:column;gap:8px;width:min(360px,calc(100vw - 32px));pointer-events:none}.toast{pointer-events:auto;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--bad);box-shadow:var(--shadow-2);border-radius:10px;padding:10px 12px;display:flex;gap:10px;animation:slideIn .25s;cursor:pointer}.cmdk-bg{position:fixed;inset:0;background:var(--overlay);z-index:300;display:flex;justify-content:center;align-items:flex-start;padding:12vh 16px 16px;animation:fadeIn .12s}.cmdk{width:min(640px,100%);background:var(--surface);border-radius:14px;box-shadow:var(--shadow-3);border:1px solid var(--border);overflow:hidden}.cmdk input{width:100%;border:0;border-bottom:1px solid var(--border);padding:16px 18px;font-size:16px;outline:none;background:transparent}.cmdk .list{max-height:50vh;overflow:auto;padding:6px}.cmdk .grp{font-size:11.5px;color:var(--text-3);padding:8px 10px 4px;font-weight:500}.cmdk .it{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer;font-size:13.5px}.cmdk .it.on{background:var(--surface-2)}.cmdk .foot{border-top:1px solid var(--border);padding:8px 12px;display:flex;gap:14px;font-size:11.5px;color:var(--text-3)}.about-fab{position:fixed;z-index:150;right:16px;bottom:16px;height:36px;padding:0 12px 0 10px;border-radius:18px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-2);display:flex;align-items:center;gap:6px;font-weight:600;font-size:12.5px;cursor:pointer}.about-fab .vn{background:var(--accent);color:var(--accent-contrast);border-radius:10px;padding:1px 7px;font-size:11px}.about-panel{position:fixed;z-index:151;right:16px;bottom:60px;width:min(380px,calc(100vw - 32px));max-height:calc(100vh - 90px);overflow:auto;animation:slideUp .2s}.about-panel ul{margin:4px 0 0;padding-left:18px}.about-panel li{margin:2px 0;font-size:13px}.plan svg{width:100%;height:auto;display:block}.plan .room{fill:var(--surface-2);stroke:var(--border-strong);stroke-width:2}.plan .room-l{fill:var(--text-2);font-size:19px;font-weight:500}.plan .zone-l{font-size:34px;font-weight:700}.plan .cam-c{cursor:pointer}.chart{position:relative;width:100%}.chart svg{display:block;width:100%;overflow:visible}.chart .ax{fill:var(--text-3);font-size:10.5px}.chart .grid{stroke:var(--border);stroke-width:1}.chart .tip{position:absolute;pointer-events:none;background:var(--text);color:var(--bg);padding:5px 8px;border-radius:6px;font-size:12px;white-space:nowrap;transform:translate(-50%,-110%);z-index:5;box-shadow:var(--shadow-2)}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--text-2)}.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}.grid-2{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.stack{display:flex;flex-direction:column;gap:16px}.page{padding:20px 24px 40px;display:flex;flex-direction:column;gap:16px;min-width:0}.page-h{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.page-h h1{font-size:22px}.crumbs{display:flex;align-items:center;gap:4px;font-size:12.5px;color:var(--text-3);flex-wrap:wrap}.crumbs a{color:var(--text-2);cursor:pointer}.crumbs a:hover{color:var(--accent)}.empty{padding:36px 16px;text-align:center;color:var(--text-3)}@media(max-width:1100px){.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.grid-2,.grid-3{grid-template-columns:minmax(0,1fr)}.page{padding:14px 16px 90px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kpi{padding:12px}.kpi .val{font-size:21px}.hide-m{display:none!important}}@media(min-width:761px){.only-m{display:none!important}}.cq{container-type:inline-size}.g-2-1{display:grid;gap:16px;grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.g-1-1{display:grid;gap:16px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}@container (max-width: 860px){.g-2-1,.g-1-1{grid-template-columns:minmax(0,1fr)}}@media(max-width:760px){.g-2-1,.g-1-1{grid-template-columns:minmax(0,1fr)}.ev-modal-grid{grid-template-columns:minmax(0,1fr)!important}}.cam-grid{display:grid;gap:8px;grid-template-columns:repeat(var(--cols, 3),minmax(0,1fr))}@container (max-width: 560px){.cam-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.cam-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.wall-split{display:grid;gap:12px;grid-template-columns:minmax(0,1fr) 340px;min-height:0}.wall-feed{min-height:420px;max-height:calc(100vh - 160px)}@media(max-width:1000px){.wall-split{grid-template-columns:minmax(0,1fr)}.wall-feed{height:420px}}.report-tpls{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.tpl:hover{border-color:var(--accent)}.tree{font-size:13px;user-select:none}.tree-row{display:flex;align-items:center;gap:6px;height:30px;padding-right:8px;border-radius:7px;cursor:pointer;color:var(--text)}.tree-row:hover{background:var(--surface-2)}.tree-row.on{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);font-weight:600}.tree-row .tw{width:16px;display:inline-flex;justify-content:center;color:var(--text-3);flex:none}.navi{display:flex;align-items:center;gap:10px;width:100%;height:34px;padding:0 10px;border:0;background:none;border-radius:8px;cursor:pointer;color:var(--text-2);font-weight:500;font-size:13.5px;text-align:left}.navi:hover{background:var(--surface-2);color:var(--text)}.navi.on{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.admin-wrap{display:grid;gap:16px;grid-template-columns:230px minmax(0,1fr);align-items:start}.admin-nav{position:sticky;top:0}@media(max-width:900px){.admin-wrap{grid-template-columns:minmax(0,1fr)}.admin-nav{display:flex;overflow-x:auto;position:static}.admin-nav .navi{width:auto;flex:none}.admin-nav .navi .faint{display:none}}.scope-btn{gap:8px}.sp-it{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:8px;cursor:pointer;font-size:13px}.sp-it:hover{background:var(--surface-2)}.crumb-a{color:var(--accent);cursor:pointer}.mk{display:grid;place-items:center;border-radius:50%;cursor:pointer;font:600 11px var(--font);box-shadow:0 2px 6px #0000004d;transition:transform .12s}.mk:hover{transform:scale(1.12)}.mk-site{width:26px;height:26px;font-size:10px;background:var(--surface);color:var(--text);border:3px solid var(--ok)}.mk-site.warning{border-color:var(--warn)}.mk-site.offline{border-color:var(--bad)}.mk-site.sel{background:var(--accent);color:var(--accent-contrast);transform:scale(1.3)}.mk-cl{background:color-mix(in srgb,var(--accent) 85%,transparent);color:var(--accent-contrast);border:3px solid color-mix(in srgb,var(--accent) 35%,transparent);background-clip:padding-box;font-size:12.5px}.mk-cl.bad{box-shadow:0 0 0 3px var(--bad),0 2px 6px #0000004d}.maplibregl-ctrl-attrib{font-size:10px}.plan .heat{mix-blend-mode:multiply}:root[data-theme=dark] .plan .heat{mix-blend-mode:screen}#app{height:100vh;height:100dvh}.shell{display:grid;grid-template-columns:248px minmax(0,1fr);height:100%;transition:grid-template-columns .18s}.shell.mini{grid-template-columns:64px minmax(0,1fr)}.side{background:var(--surface-2);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:10px;gap:2px;min-width:0;overflow:auto}.ws{display:flex;align-items:center;gap:10px;padding:6px 6px 10px}.side .grp{font-size:11.5px;color:var(--text-3);padding:14px 10px 4px;font-weight:500;display:flex;align-items:center;gap:6px}.side .navi.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1)}.side .navi.on .pi{color:var(--accent)}.navi .pi{font-size:16px;width:18px;text-align:center;flex:none}.mini .side .lbl,.mini .side .grp span,.mini .ws .lbl,.mini .modesw .lbl{display:none}.mini .side .navi{justify-content:center;padding:0}.mini .side .grp{padding:10px 0 2px;justify-content:center}.modesw{display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:3px;border-radius:10px;background:var(--surface-3);margin:4px 0 2px}.modesw button{display:flex;align-items:center;justify-content:center;gap:6px;height:28px;border:0;border-radius:8px;background:transparent;color:var(--text-2);font-size:12.5px;cursor:pointer}.modesw button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1);font-weight:600}.modesw button.on .pi{color:var(--accent)}.mini .modesw{grid-template-columns:1fr}.site-ctx{margin:4px 0;padding:10px;border-radius:10px;background:var(--surface);border:1px solid var(--border)}.avatar{width:30px;height:30px;border-radius:50%;background:var(--surface-3);display:grid;place-items:center;font-weight:600;font-size:12px;flex:none}.work{display:flex;min-width:0;min-height:0}.treep{width:300px;flex:none;border-right:1px solid var(--border);background:var(--surface);display:flex;flex-direction:column;min-height:0}.treep .hd{height:56px;padding:0 10px;display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--border);flex:none}.treep .bd{flex:1;overflow:auto;padding:6px}.treep .ft{font-size:11.5px;padding:8px 12px;border-top:1px solid var(--border);color:var(--text-3)}.main{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}.bar{height:56px;display:flex;align-items:center;gap:10px;padding:0 20px;border-bottom:1px solid var(--border);background:var(--surface);flex:none}.content{flex:1;overflow:auto;min-height:0}.tree-row .pi{font-size:13px;color:var(--text-3)}.tree-row .tw{width:18px;height:18px;display:grid;place-items:center;border-radius:5px;flex:none}.tree-row .tw:hover{background:var(--surface-3)}.tree-row.on{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--text);font-weight:600}.tree-row:not(.on):hover{background:var(--surface-2)}.tree-row .cnt{font-size:11px;color:var(--text-3);font-variant-numeric:tabular-nums}.dot.online{background:var(--ok)}.dot.warning{background:var(--warn)}.dot.offline{background:var(--bad)}.dot.unknown,.dot.unassigned{background:var(--border-strong)}.tablewrap{flex:1;display:flex;min-width:0;min-height:0}.tablearea{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0}.vh{padding:14px 22px 10px;border-bottom:1px solid var(--border);background:var(--surface)}.tb{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:10px}.grid-wrap{flex:1;overflow:auto;background:var(--surface)}.xt{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.xt th{position:sticky;top:0;z-index:2;background:var(--surface-2);text-align:left;font-weight:500;color:var(--text-2);font-size:12px;padding:0 10px;height:34px;border-bottom:1px solid var(--border);border-right:1px solid var(--border);white-space:nowrap;cursor:pointer;user-select:none}.xt td{padding:0 10px;height:38px;border-bottom:1px solid var(--border);border-right:1px solid var(--border);white-space:nowrap;max-width:280px;overflow:hidden;text-overflow:ellipsis}.xt tr.rw:hover td{background:var(--surface-2)}.xt tr.rw.sel td{background:color-mix(in srgb,var(--accent) 10%,var(--surface))}.xt tr.gr td{background:var(--surface-2);font-weight:600;height:34px;position:sticky;top:34px;z-index:1}.xt .r{text-align:right;font-variant-numeric:tabular-nums}.xt tfoot td{position:sticky;bottom:0;background:var(--surface-2);font-weight:600;height:34px;border-top:1px solid var(--border-strong)}.peek{width:500px;flex:none;border-left:1px solid var(--border);background:var(--surface);display:flex;flex-direction:column;min-height:0;animation:slideIn .18s}.peek-b{flex:1;overflow:auto;padding:14px 16px 30px}.auth-page{min-height:100%;display:grid;place-items:center;padding:24px 16px;background:radial-gradient(1200px 600px at 10% -10%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 60%),var(--bg)}.auth-card{width:min(400px,100%);padding:26px 26px 22px;display:flex;flex-direction:column;gap:12px}.fld{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--text-2)}.w-full{width:100%}.player{position:relative;aspect-ratio:16 / 9;background:var(--cam-bg);border-radius:var(--radius);overflow:hidden}.player video{width:100%;height:100%;object-fit:contain;display:block}.player .ov{position:absolute;inset:0;display:grid;place-items:center;color:#c9ced8;font-size:12.5px;text-align:center;padding:12px}.player .cap{position:absolute;left:8px;bottom:8px;right:8px;display:flex;gap:6px;align-items:center;color:#fff;font-size:12px;text-shadow:0 1px 2px rgba(0,0,0,.7)}@media(max-width:1250px){.peek{position:fixed;right:0;top:0;bottom:0;z-index:50;width:min(500px,100vw);box-shadow:var(--shadow-3)}}@media(max-width:760px){.shell,.shell.mini{grid-template-columns:minmax(0,1fr)}.side{position:fixed;inset:0 auto 0 0;width:270px;z-index:70;transform:translate(-100%);transition:transform .2s}.side.open{transform:none;box-shadow:var(--shadow-3)}.mini .side .lbl,.mini .side .grp span,.mini .ws .lbl,.mini .modesw .lbl{display:initial}.treep{position:fixed;left:0;top:0;bottom:0;z-index:61;width:min(320px,88vw);transform:translate(-100%);transition:transform .2s}.treep.open{transform:none;box-shadow:var(--shadow-3)}.bar{padding:0 10px;gap:6px}.vh{padding:12px 14px 10px}}.scrim{position:fixed;inset:0;background:var(--overlay);z-index:58}.p-toast{--p-toast-width: 360px}.table .r{text-align:right;font-variant-numeric:tabular-nums}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}.form-grid .span2{grid-column:1 / -1}.fld .err{color:var(--bad);font-size:12px}.fld>.p-inputtext,.fld>.p-select,.fld>.p-inputnumber,.fld>.p-autocomplete,.fld>.p-multiselect,.fld>.p-treeselect,.fld>.p-datepicker,.fld>.p-password{width:100%}.set-grid{display:grid;grid-template-columns:var(--set-cols, minmax(0, 1fr) minmax(0, 1fr));gap:16px;align-items:start}.secret{font-family:var(--mono, ui-monospace, monospace);font-size:13px;padding:10px 12px;border-radius:8px;background:var(--surface-2);border:1px dashed var(--border-strong);word-break:break-all;user-select:all}.table tr.click{cursor:pointer}.table tr.click:hover td{background:var(--surface-2)}.matrix th.rc{text-align:center;white-space:nowrap;font-size:12px}.matrix td.rc{text-align:center}@media(max-width:1100px){.set-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:640px){.form-grid{grid-template-columns:minmax(0,1fr)}}.table tr.sel td{background:color-mix(in srgb,var(--accent) 10%,var(--surface))}.kv{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 14px}.mk-site{min-width:26px;width:auto;padding:0 5px;border-radius:13px}.mk-site.unknown,.mk-site.unassigned{border-color:var(--border-strong)}.map-page{display:flex;flex-direction:column;height:100%;padding:16px 20px 20px;gap:12px;min-height:0}.map-wrap{position:relative;flex:1;min-height:360px}.map-card{position:absolute;right:12px;top:12px;width:min(320px,calc(100% - 24px));z-index:2;box-shadow:var(--shadow-3)}.legend-dot{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--text-2)}.legend-dot i{width:10px;height:10px;border-radius:50%;border:3px solid}
