.cc-modal{--cc-tx: var(--text);--cc-tx2: color-mix(in srgb, var(--text) 76%, transparent);--cc-mut: color-mix(in srgb, var(--text) 52%, transparent);--cc-mut2: color-mix(in srgb, var(--text) 34%, transparent);--cc-line: var(--border);--cc-line2: color-mix(in srgb, var(--border) 80%, var(--text) 12%);--cc-p1: color-mix(in srgb, var(--panel) 94%, var(--text) 4%);--cc-p2: var(--panel);--cc-inset: color-mix(in srgb, var(--bg) 85%, var(--panel));--cc-track: color-mix(in srgb, var(--border) 70%, var(--bg));--cc-track2: color-mix(in srgb, var(--border) 55%, var(--bg));--cc-grid: color-mix(in srgb, var(--border) 60%, transparent);--cc-band: color-mix(in srgb, var(--info) 14%, transparent);--cc-band-line: color-mix(in srgb, var(--info) 55%, transparent);--cc-mono: "IBM Plex Mono", "Geist Mono", "DejaVu Sans Mono", ui-monospace, monospace;--cc-r: 14px}.modal-dialog.camera-card.cc-modal{max-width:1320px}.cc-modal .cc-body{background:var(--bg);padding:16px 18px 24px}.cc-modal .mono{font-family:var(--cc-mono)}.cc-modal .ok{color:var(--ok)}.cc-modal .warn{color:var(--warn)}.cc-modal .bad{color:var(--crit)}.cc-modal .info{color:var(--info)}.cc-mut{color:var(--cc-mut)}.cc-tx2{color:var(--cc-tx2)}.cc-small{font-size:11.5px}.cc-nd{color:var(--cc-mut);font-style:italic}.cc-modal .nowrap{white-space:nowrap}.cc-sp{flex:1}.cc-header{gap:16px;align-items:flex-end}.cc-header.slim{align-items:center}.cc-head{min-width:0;display:flex;flex-direction:column;gap:6px;flex:1}.cc-head-client{font-size:12px;color:var(--cc-mut);letter-spacing:.08em;text-transform:uppercase;font-weight:600}.cc-head-client b{color:var(--warn);font-weight:600}.cc-h1{margin:0;font-size:30px;line-height:1.1;font-weight:700;letter-spacing:-.02em;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cc-crumbs{font-size:13px;color:var(--cc-mut)}.cc-crumbs span{margin:0 6px;color:var(--cc-mut2)}.cc-crumbs b{color:var(--cc-tx)}.cc-head-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.cc-head-ctl{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.cc-since{text-align:right;color:var(--cc-mut);font-size:12px}.cc-since .big{font-size:13px;color:var(--cc-tx2)}.cc-chips{display:flex;gap:8px;flex-wrap:wrap}.cc-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:8px;background:var(--cc-inset);border:1px solid var(--cc-line);font-size:12px;color:var(--cc-tx2);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.cc-chip b{color:var(--cc-tx);font-weight:500}.cc-chip .k{color:var(--cc-mut);font-size:11px}.cc-pill{display:inline-flex;align-items:center;gap:7px;padding:4px 11px;border-radius:999px;font-weight:600;font-size:12px;letter-spacing:.04em;white-space:nowrap}.cc-pill.on,.cc-pill.ok{color:var(--ok);background:color-mix(in srgb,var(--ok) 11%,transparent);border:1px solid color-mix(in srgb,var(--ok) 40%,transparent)}.cc-pill.off,.cc-pill.bad{color:var(--crit);background:color-mix(in srgb,var(--crit) 11%,transparent);border:1px solid color-mix(in srgb,var(--crit) 40%,transparent)}.cc-pill.warn{color:var(--warn);background:color-mix(in srgb,var(--warn) 11%,transparent);border:1px solid color-mix(in srgb,var(--warn) 40%,transparent)}.cc-pill.mut{color:var(--cc-mut);border:1px solid var(--cc-line)}.cc-pill .dot{width:8px;height:8px;border-radius:50%;background:currentColor}.cc-pill.on .dot{animation:ccpulse 2s infinite}@keyframes ccpulse{0%{box-shadow:0 0 color-mix(in srgb,var(--ok) 60%,transparent)}70%{box-shadow:0 0 0 7px transparent}to{box-shadow:0 0 0 0 transparent}}.cc-panel{background:linear-gradient(180deg,var(--cc-p1),var(--cc-p2));border:1px solid var(--cc-line);border-radius:var(--cc-r);position:relative;min-width:0}.cc-ph{display:flex;align-items:center;gap:10px;padding:14px 18px 0;flex-wrap:wrap}.cc-ph h3{margin:0;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--cc-tx2)}.cc-pb{padding:14px 18px 18px}.cc-subh{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--cc-mut);margin-bottom:6px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.cc-tag{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border-radius:5px;white-space:nowrap;background:color-mix(in srgb,var(--text) 8%,transparent);color:var(--cc-mut)}.cc-tag.ok{background:color-mix(in srgb,var(--ok) 12%,transparent);color:var(--ok)}.cc-tag.warn{background:color-mix(in srgb,var(--warn) 13%,transparent);color:var(--warn)}.cc-tag.bad{background:color-mix(in srgb,var(--crit) 13%,transparent);color:var(--crit)}.cc-tag.info{background:color-mix(in srgb,var(--info) 12%,transparent);color:var(--info)}.cc-btn{border:1px solid var(--cc-line2);background:var(--cc-inset);color:var(--cc-tx);border-radius:8px;padding:6px 12px;font-size:12px;font-weight:500;cursor:pointer}.cc-btn.sm{padding:3px 9px;font-size:11.5px}.cc-btn:hover{border-color:var(--accent)}.cc-btn:disabled{opacity:.5;cursor:default}.cc-btn.ok{border-color:color-mix(in srgb,var(--ok) 45%,transparent);color:var(--ok);background:color-mix(in srgb,var(--ok) 8%,transparent)}.cc-btn.pri{background:var(--accent);border-color:var(--accent);color:#fff}.cc-seg{display:inline-flex;background:var(--cc-inset);border:1px solid var(--cc-line);border-radius:8px;padding:2px}.cc-seg button{border:0;background:transparent;padding:3px 9px;border-radius:6px;font-size:11.5px;color:var(--cc-mut);cursor:pointer}.cc-seg button.a{background:color-mix(in srgb,var(--text) 12%,var(--panel));color:var(--cc-tx)}.cc-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:var(--cc-mut)}.cc-legend.inline{text-transform:none;letter-spacing:0;font-weight:400}.cc-legend i{display:inline-block;width:14px;height:3px;border-radius:2px;margin-right:5px;vertical-align:middle}.cc-legend i.band{height:9px;background:var(--cc-band);border:1px solid var(--cc-band-line)}.cc-legend i.anom{height:9px;background:color-mix(in srgb,var(--warn) 22%,transparent)}.cc-legend i.zone{height:9px;background:repeating-linear-gradient(45deg,color-mix(in srgb,var(--crit) 55%,transparent) 0 2px,transparent 2px 5px)}.cc-legend i.nd{height:9px;background:var(--cc-track)}.cc-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;margin-bottom:16px}.cc-grid .c12{grid-column:span 12}.cc-grid .c8{grid-column:span 8}.cc-grid .c7{grid-column:span 7}.cc-grid .c5{grid-column:span 5}.cc-grid .c4{grid-column:span 4}.cc-grid>div>.cc-panel{height:100%}.cc-mb{margin-bottom:16px}.cc-kv{display:grid;grid-template-columns:170px 1fr;gap:7px 14px;font-size:12px;margin:0}.cc-kv.narrow{grid-template-columns:130px 1fr}.cc-kv dt{color:var(--cc-mut)}.cc-kv dd{margin:0;color:var(--cc-tx);overflow-wrap:anywhere}.cc-kv dd.mono{font-size:11.5px}.cc-mbar{height:5px;border-radius:3px;background:var(--cc-track);position:relative;overflow:hidden;margin-top:6px}.cc-mbar.tall{height:7px;margin-top:10px}.cc-mbar>i{position:absolute;left:0;top:0;bottom:0;border-radius:3px;background:var(--info)}.cc-mbar>i.ok{background:var(--ok)}.cc-mbar>i.warn{background:var(--warn)}.cc-mbar>i.bad{background:var(--crit)}.cc-mbar>i.mut{background:var(--cc-mut)}.cc-mbar>i.info{background:var(--info)}.cc-mbar>u{position:absolute;top:-1px;bottom:-1px;border-left:1px dashed var(--cc-mut);background:color-mix(in srgb,var(--text) 6%,transparent)}.cc-hero{padding:20px 22px 14px;margin-bottom:16px;overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--warn) 7%,transparent),transparent 40%),linear-gradient(180deg,var(--cc-p1),var(--cc-p2))}.cc-hero-top{display:grid;grid-template-columns:230px minmax(0,1fr) minmax(260px,360px);gap:26px;align-items:stretch}.cc-ringwrap{position:relative;cursor:help}.cc-ringbox{position:relative}.cc-ring-tick{stroke:var(--cc-track);stroke-width:1}.cc-rg0.ok{stop-color:color-mix(in srgb,var(--ok) 70%,#fff)}.cc-rg1.ok{stop-color:var(--ok)}.cc-rg0.warn{stop-color:#ffd27a}.cc-rg1.warn{stop-color:#ff8a3d}.cc-rg0.bad{stop-color:#ff8a8a}.cc-rg1.bad{stop-color:var(--crit)}.cc-rg0.mut,.cc-rg1.mut{stop-color:var(--cc-mut)}.cc-ringc{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.cc-ringc .n{font-size:50px;font-weight:700;letter-spacing:-.04em;line-height:1}.cc-ringc .n.ok{color:var(--ok)}.cc-ringc .n.warn{color:var(--warn)}.cc-ringc .n.bad{color:var(--crit)}.cc-ringc .n.mut{color:var(--cc-mut)}.cc-ringc .o{font-size:11px;color:var(--cc-mut);margin-top:2px}.cc-ringc .st{margin-top:6px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.cc-subs{display:grid;grid-template-columns:1fr;gap:3px;margin-top:10px;font-size:11px;color:var(--cc-tx2)}.cc-subs i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:6px}.cc-subs b{font-family:var(--cc-mono);font-weight:500;color:var(--cc-tx);float:right}.cc-subs .na,.cc-subsc .na{opacity:.45}.cc-ring-hint{font-size:10.5px;color:var(--cc-mut2);margin-top:6px}.cc-htip{position:absolute;z-index:30;left:0;top:calc(100% + 6px);width:min(560px,86vw);background:var(--panel);border:1px solid var(--cc-line2);border-radius:12px;padding:12px 14px;box-shadow:var(--shadow),0 12px 40px #00000059;font-size:12px;cursor:default}.cc-score .cc-htip{top:calc(100% + 4px)}.cc-htip-h{font-weight:600;margin-bottom:6px}.cc-htip table{width:100%;border-collapse:collapse}.cc-htip th{text-align:left;font-weight:500;color:var(--cc-mut);font-size:11px;padding:3px 6px;border-bottom:1px solid var(--cc-line)}.cc-htip td{padding:5px 6px;border-bottom:1px dashed var(--cc-line);vertical-align:top}.cc-htip td i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:6px}.cc-htip tr.na td{opacity:.55}.cc-htip-rule{font-size:10.5px;color:var(--cc-mut);margin-left:14px}.cc-htip-f{margin-top:8px;font-size:11px;color:var(--cc-mut)}.cc-lbl{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.cc-lbl.ok{color:var(--ok)}.cc-lbl.info{color:var(--info)}.cc-one{font-size:17px;font-weight:650;line-height:1.32;margin:8px 0 14px;letter-spacing:-.01em;color:var(--cc-tx)}.cc-one.big{font-size:20px}.cc-evlist{display:grid;gap:6px}.cc-evlist div{display:flex;gap:10px;font-size:12.5px;color:var(--cc-tx2)}.cc-evlist div:before{content:"";flex:0 0 6px;height:6px;border-radius:50%;margin-top:6px;background:var(--cc-mut)}.cc-evlist div.ok:before{background:var(--ok)}.cc-evlist div.warn:before{background:var(--warn)}.cc-evlist div.bad:before{background:var(--crit)}.cc-evlist div b{color:var(--cc-tx);font-weight:600}.cc-evlist div.ok,.cc-evlist div.warn,.cc-evlist div.bad{color:var(--cc-tx2)}.cc-todo{border-left:1px solid var(--cc-line2);padding-left:22px;display:flex;flex-direction:column;min-width:0}.cc-todo h4{margin:0 0 10px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--info)}.cc-step{display:grid;grid-template-columns:24px 1fr;gap:10px;margin-bottom:9px;font-size:12.5px;color:var(--cc-tx2)}.cc-step span{width:24px;height:24px;border-radius:7px;background:color-mix(in srgb,var(--info) 10%,var(--panel));border:1px solid color-mix(in srgb,var(--info) 30%,transparent);display:grid;place-items:center;font-weight:700;font-size:11px;color:var(--info)}.cc-hero-chain{margin-top:16px;padding-top:14px;border-top:1px solid var(--cc-line)}.cc-hero-tl{margin-top:14px;padding-top:14px;border-top:1px solid var(--cc-line);display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:26px}.cc-chain-wrap{position:relative}.cc-chain{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));position:relative;margin:18px 0 8px}.cc-wire{position:absolute;top:28px;left:10%;right:10%;height:2px;display:grid;grid-template-columns:repeat(calc(var(--n) - 1),1fr);z-index:0}.cc-wire i{display:block;height:2px;background:var(--cc-line2)}.cc-wire i.ok.ok{background:var(--ok)}.cc-wire i.fail,.cc-wire i.warn{background:linear-gradient(90deg,var(--cc-line2),var(--warn))}.cc-node{all:unset;box-sizing:border-box;position:relative;text-align:center;padding:12px 4px 10px;cursor:pointer;border-radius:16px;border:1px solid transparent;z-index:1;display:flex;flex-direction:column;align-items:center;min-width:0}.cc-node:hover{background:color-mix(in srgb,var(--text) 4%,transparent)}.cc-node.sel{background:color-mix(in srgb,var(--text) 6%,transparent)}.cc-node .ico{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:var(--cc-inset);border:1.5px solid var(--cc-line2);position:relative;color:var(--cc-mut)}.cc-node .ico svg{width:26px;height:26px}.cc-node.ok .ico{border-color:color-mix(in srgb,var(--ok) 55%,transparent);color:var(--ok);box-shadow:0 0 18px -6px var(--ok)}.cc-node.warn .ico{border-color:color-mix(in srgb,var(--warn) 80%,transparent);color:var(--warn);box-shadow:0 0 24px -4px color-mix(in srgb,var(--warn) 60%,transparent)}.cc-node.fail .ico{border-color:var(--crit);color:var(--crit);box-shadow:0 0 24px -4px color-mix(in srgb,var(--crit) 60%,transparent);background:color-mix(in srgb,var(--crit) 8%,var(--cc-inset))}.cc-node.nodata .ico,.cc-node.assume .ico{border-style:dashed}.cc-node .bdg{position:absolute;top:-7px;right:-7px;width:18px;height:18px;border-radius:50%;font-size:11px;font-weight:800;display:grid;place-items:center;background:var(--cc-track);color:var(--cc-tx)}.cc-node.ok .bdg{background:var(--ok);color:#03140d}.cc-node.warn .bdg{background:var(--warn);color:#1a0e00}.cc-node.fail .bdg{background:var(--crit);color:#fff}.cc-node .nm{font-size:12px;font-weight:600;margin-top:8px;color:var(--cc-tx)}.cc-node .ns{font-size:11px;color:var(--cc-mut);margin-top:2px;line-height:1.3;max-width:100%;overflow-wrap:anywhere}.cc-node.warn .ns{color:var(--warn)}.cc-node.fail .ns{color:var(--crit)}.cc-assume{margin-top:4px;font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ai);border:1px dashed color-mix(in srgb,var(--ai) 55%,transparent);border-radius:5px;padding:0 5px}.cc-node.suspect{border:1.5px dashed color-mix(in srgb,var(--warn) 75%,transparent);background:color-mix(in srgb,var(--warn) 5%,transparent)}.cc-node.suspect.fail{border-color:color-mix(in srgb,var(--crit) 75%,transparent);background:color-mix(in srgb,var(--crit) 5%,transparent)}.cc-suspect-lbl{position:absolute;top:-9px;left:50%;transform:translate(-50%);background:var(--panel);color:var(--warn);font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:1px 7px;border-radius:5px;white-space:nowrap;border:1px solid color-mix(in srgb,var(--warn) 45%,transparent)}.cc-node.fail .cc-suspect-lbl{color:var(--crit);border-color:color-mix(in srgb,var(--crit) 45%,transparent)}.cc-chain-hint{font-size:12.5px;padding:10px 14px;border-radius:12px;background:var(--cc-inset);border:1px solid var(--cc-line);color:var(--cc-tx2)}.cc-chain-hint b{color:var(--cc-tx)}.cc-chain-hint.warn{border-color:color-mix(in srgb,var(--warn) 40%,transparent)}.cc-chain-hint.fail{border-color:color-mix(in srgb,var(--crit) 40%,transparent)}.cc-chain-hint.ok{border-color:color-mix(in srgb,var(--ok) 30%,transparent)}.cc-tl,.cc-week{width:100%;min-width:0}.cc-svg-lbl{font-size:10.5px;fill:var(--cc-mut)}.cc-svg-lbl.today{fill:var(--cc-tx);font-weight:600}.cc-svg-pct{font-size:10.5px;font-family:var(--cc-mono)}.cc-svg-pct.ok{fill:var(--ok)}.cc-svg-pct.warn{fill:var(--warn)}.cc-svg-pct.bad{fill:var(--crit)}.cc-svg-pct.mut{fill:var(--cc-mut)}.cc-tl-online{fill:color-mix(in srgb,var(--ok) 80%,transparent)}.cc-tl-offline{fill:var(--crit)}.cc-tl-nodata{fill:var(--cc-track)}.cc-tl-loss{fill:var(--warn)}.cc-tl-pin{stroke:var(--crit)}.cc-tl-out{font-size:10px;font-weight:600;fill:color-mix(in srgb,var(--crit) 80%,var(--text))}.cc-ax{font-size:10px;fill:var(--cc-mut);font-family:var(--cc-mono)}.cc-ax-line{stroke:var(--cc-line2)}.cc-now{stroke:var(--cc-tx);stroke-width:1.5}.cc-now-dot{fill:var(--cc-tx)}.cc-tl-info{font-size:11.5px;min-height:18px;color:var(--cc-tx2)}.cc-kpis{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;margin-bottom:16px}.cc-kpi{padding:13px 13px 9px;overflow:hidden}.cc-kpi.warn{border-color:color-mix(in srgb,var(--warn) 40%,transparent)}.cc-kpi.bad{border-color:color-mix(in srgb,var(--crit) 45%,transparent)}.cc-kpi.warn:before,.cc-kpi.bad:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--warn);border-radius:14px 14px 0 0}.cc-kpi.bad:before{background:var(--crit)}.cc-kpis .l,.cc-kstrip .l{font-size:11px;color:var(--cc-mut);font-weight:500;display:flex;justify-content:space-between;gap:4px;white-space:nowrap}.cc-kpis .v{font-size:24px;font-weight:650;letter-spacing:-.02em;margin-top:4px;white-space:nowrap;font-variant-numeric:tabular-nums}.cc-kpis .v small,.cc-kstrip .v small{font-size:11px;color:var(--cc-mut);font-weight:500;margin-left:3px}.cc-kpis .s,.cc-kstrip .s{font-size:11px;color:var(--cc-mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cc-spark{height:28px;margin-top:7px;width:100%}.cc-sp-ok{fill:color-mix(in srgb,var(--ok) 75%,transparent)}.cc-sp-ok0{fill:var(--cc-track)}.cc-sp-warn{fill:var(--warn)}.cc-sp-bad{fill:var(--crit)}.cc-sp-na{fill:var(--cc-track2)}.cc-kstrip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.cc-kstrip>div{padding:13px 13px 11px;border-right:1px solid var(--cc-line);min-width:0}.cc-kstrip>div:last-child{border-right:0}.cc-kstrip .v{font-size:20px;font-weight:650;letter-spacing:-.02em;margin-top:3px;white-space:nowrap}.cc-chart{width:100%}.cc-ctip{background:var(--panel);border:1px solid var(--cc-line2);border-radius:8px;padding:6px 10px;font-size:11.5px;box-shadow:var(--shadow)}.cc-ctip i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:5px}.cc-ra-off{fill:color-mix(in srgb,var(--crit) 22%,transparent)}.cc-ra-nd{fill:color-mix(in srgb,var(--text) 6%,transparent)}.cc-ra-anom{fill:color-mix(in srgb,var(--warn) 12%,transparent)}.cc-pstats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:10px 0 6px;padding-top:10px;border-top:1px solid var(--cc-line)}.cc-pstats span{display:block;font-size:10.5px;color:var(--cc-mut)}.cc-pstats b{font-family:var(--cc-mono);font-weight:500;font-size:13px}.cc-dt{width:100%;border-collapse:collapse;font-size:12px}.cc-dt th{font-weight:500;color:var(--cc-mut);text-align:left;padding:6px 8px;font-size:11px;border-bottom:1px solid var(--cc-line)}.cc-dt td{padding:7px 8px;border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent);color:var(--cc-tx2);vertical-align:middle}.cc-dt tr:last-child td{border-bottom:0}.cc-durbar{height:4px;border-radius:2px;background:var(--crit);display:inline-block;vertical-align:middle;margin-right:8px;opacity:.8}.cc-frames{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}.cc-fcap{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;font-size:12px;flex-wrap:wrap}.cc-frame{position:relative;border-radius:10px;overflow:hidden;border:1px solid var(--cc-line2);background:#000;aspect-ratio:16 / 9;display:flex;align-items:center;justify-content:center}.cc-frame img{display:block;width:100%;height:100%;object-fit:contain}.cc-frame-empty{color:#8a96a8;font-size:12px;padding:12px;text-align:center}.cc-fm{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}.cc-fm .l{font-size:11px;color:var(--cc-mut)}.cc-fm .v{font-size:16px;font-weight:600;font-family:var(--cc-mono)}.cc-simcol{border-left:1px solid var(--cc-line);padding-left:18px;display:flex;flex-direction:column;gap:16px;min-width:0}.cc-simrow{display:flex;align-items:center;gap:12px}.cc-simv{font-size:38px;font-weight:700;letter-spacing:-.03em;line-height:1}.cc-simv.ok{color:var(--ok)}.cc-simv.warn{color:var(--warn)}.cc-simv.bad{color:var(--crit)}.cc-simv.mut{color:var(--cc-mut)}.cc-ev{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:12px;padding:10px 0;border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent);align-items:start}.cc-ev:last-of-type{border-bottom:0}.cc-ev .ic{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;font-size:15px;background:color-mix(in srgb,var(--text) 8%,transparent);color:var(--cc-mut)}.cc-ev .ic.bad{background:color-mix(in srgb,var(--crit) 13%,transparent);color:var(--crit)}.cc-ev .ic.warn{background:color-mix(in srgb,var(--warn) 13%,transparent);color:var(--warn)}.cc-ev .ic.ok{background:color-mix(in srgb,var(--ok) 12%,transparent);color:var(--ok)}.cc-ev .ic.info{background:color-mix(in srgb,var(--info) 12%,transparent);color:var(--info)}.cc-ev .ic.vio{background:color-mix(in srgb,var(--ai) 14%,transparent);color:var(--ai)}.cc-ev .t{font-weight:600;font-size:13px}.cc-ev .d{color:var(--cc-tx2);font-size:12px;margin-top:2px;overflow-wrap:anywhere}.cc-ev .w{color:var(--cc-mut);font-size:11px;margin-top:3px;font-family:var(--cc-mono)}.cc-resolved{font-size:11px;color:var(--ok);white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis}.cc-client-h{display:flex;gap:14px;align-items:center;margin-bottom:12px}.cc-client-h .av{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#ffb648,#ff6a3d);display:grid;place-items:center;font-weight:800;color:#1a0e00;font-size:15px;flex:0 0 42px}.cc-client-h .nm{font-weight:650;font-size:15px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.cc-client-sel{display:flex;flex-direction:column;gap:4px;margin-top:12px}.cc-client-sel select,.cc-form input,.cc-form textarea,.cc-addnote textarea{background:var(--cc-inset);border:1px solid var(--cc-line2);border-radius:8px;color:var(--cc-tx);padding:6px 9px;font:inherit;font-size:12.5px}.cc-form{display:grid;gap:8px}.cc-form label{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--cc-mut)}.cc-form .row{display:flex;gap:8px;justify-content:flex-end}.cc-note{padding:9px 12px;border-radius:10px;background:var(--cc-inset);border:1px solid var(--cc-line);margin-bottom:8px}.cc-note .h{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--cc-mut);margin-bottom:4px}.cc-note .h b{color:var(--cc-tx2);font-weight:600}.cc-note p{margin:0;font-size:12.5px;white-space:pre-wrap}.cc-note-del{border:0;background:none;color:var(--cc-mut);cursor:pointer;margin-left:6px}.cc-addnote{display:flex;gap:8px;margin-top:8px}.cc-addnote textarea{flex:1;resize:vertical;min-height:40px}.cc-panel details>summary{list-style:none;cursor:pointer;padding-bottom:0}.cc-panel details>summary::-webkit-details-marker{display:none}.cc-caret{display:inline-block;transition:transform .2s;color:var(--cc-mut);font-size:11px}.cc-panel details[open]>summary .cc-caret{transform:rotate(90deg)}.cc-more{margin-top:12px}.cc-more summary{font-size:12px;color:var(--cc-mut);cursor:pointer;margin-bottom:8px}.cc-json{margin:14px 0 0;background:color-mix(in srgb,var(--bg) 92%,#000);border:1px solid var(--cc-line);border-radius:10px;padding:12px;font-family:var(--cc-mono);font-size:11px;line-height:1.5;color:var(--cc-tx2);overflow:auto;max-height:360px;white-space:pre}.cc-json .k{color:#7fb8ff}.cc-json .s{color:#9fd38a}.cc-json .n{color:#ffb86b}.cc-json .m{color:var(--warn)}.cc-archive{border:1px dashed var(--cc-line2);border-radius:12px;padding:16px;display:flex;align-items:center;gap:16px;background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--text) 2%,transparent) 0 10px,transparent 10px 20px)}.cc-archive .lock{width:44px;height:44px;border-radius:12px;background:var(--cc-inset);border:1px solid var(--cc-line2);display:grid;place-items:center;color:var(--cc-mut);flex:0 0 44px}.cc-archive .t{font-weight:600;font-size:14px}.cc-skel{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px}.cc-skel i{height:24px;border-radius:5px;background:repeating-linear-gradient(135deg,var(--cc-track2) 0 6px,transparent 6px 12px);border:1px dashed var(--cc-line2)}.cc .cam-rtsp-row,.cc .cam-rtsp-list,.cc .cam-rtsp-views{font-size:12.5px}.cc-main{display:grid;grid-template-columns:minmax(380px,.9fr) minmax(0,1.1fr);gap:16px;align-items:stretch}.cc-col{display:flex;flex-direction:column;gap:16px;min-width:0}.cc-device{padding:18px}.cc-dev-h{display:flex;align-items:flex-start;gap:14px;margin-bottom:14px}.cc-dev-h .cl{font-size:11.5px;color:var(--cc-mut);letter-spacing:.06em;text-transform:uppercase;font-weight:600}.cc-dev-h .cl b{color:var(--cc-tx2)}.cc-dev-h h1{font-size:27px;font-weight:700;letter-spacing:-.02em;line-height:1.1;margin:3px 0 8px}.cc-dev-h .st{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:6px;text-align:right}.cc-vf{position:relative;border-radius:12px;padding:10px;background:#05070a;border:1px solid var(--cc-line2)}.cc-vf .cc-frame{border:0;border-radius:6px}.cc-vf .br{position:absolute;width:24px;height:24px;border-color:var(--info);border-style:solid;opacity:.85;z-index:3}.cc-vf .br.tl{left:18px;top:18px;border-width:2px 0 0 2px}.cc-vf .br.tr{right:18px;top:18px;border-width:2px 2px 0 0}.cc-vf .br.bl{left:18px;bottom:18px;border-width:0 0 2px 2px}.cc-vf .br.brr{right:18px;bottom:18px;border-width:0 2px 2px 0}.cc-vf .cross{position:absolute;left:50%;top:50%;width:28px;height:28px;margin:-14px 0 0 -14px;z-index:3;opacity:.45}.cc-vf .cross:before,.cc-vf .cross:after{content:"";position:absolute;background:var(--info)}.cc-vf .cross:before{left:13px;top:0;width:2px;height:28px}.cc-vf .cross:after{top:13px;left:0;height:2px;width:28px}.cc-hud{position:absolute;left:20px;right:20px;bottom:20px;display:flex;gap:8px;z-index:4;flex-wrap:wrap}.cc-hud div{background:#05080cb8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:5px 9px;font-size:10.5px;color:#aab6c7}.cc-hud b{display:block;font-family:var(--cc-mono);font-size:14px;font-weight:600;color:#e7edf5}.cc-live{position:absolute;right:22px;top:22px;z-index:4;display:flex;gap:6px;align-items:center;font-size:10.5px;font-weight:700;letter-spacing:.08em;background:#05080cbf;padding:4px 9px;border-radius:6px;color:#ff5a6e;border:1px solid rgba(255,90,110,.35)}.cc-live i{width:7px;height:7px;border-radius:50%;background:#ff5a6e}.cc-warnbadge{position:absolute;left:22px;top:22px;z-index:4;font-size:11px;font-weight:600;background:#ffb6482e;border:1px solid rgba(255,182,72,.5);color:#ffc970;border-radius:6px;padding:4px 9px}.cc-vf-foot{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:10px;font-size:11.5px;color:var(--cc-mut)}.cc-cmp{display:grid;grid-template-columns:200px minmax(0,1fr);gap:16px;margin-top:16px;padding-top:16px;border-top:1px solid var(--cc-line)}.cc-ministat{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.cc-ministat div{background:var(--cc-inset);border:1px solid var(--cc-line);border-radius:8px;padding:6px 9px;font-size:10.5px;color:var(--cc-mut)}.cc-ministat b{display:block;font-family:var(--cc-mono);font-size:13px;font-weight:500;color:var(--cc-tx)}.cc-sticker{margin-top:16px;border-radius:10px;background:linear-gradient(180deg,#e9edf2,#d6dce4);color:#121820;padding:13px 16px;display:grid;grid-template-columns:1fr auto;gap:6px 18px}.cc-sticker .brand{font-weight:800;font-size:14px;letter-spacing:.02em}.cc-sticker .model{font-family:var(--cc-mono);font-size:12px;font-weight:600}.cc-sticker dl{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;font-size:11px;margin:6px 0 0}.cc-sticker dt{color:#5b6573}.cc-sticker dd{margin:0;font-family:var(--cc-mono);font-weight:600;overflow-wrap:anywhere}.cc-sticker-src{font-size:9.5px;color:#5b6573;letter-spacing:.08em;text-transform:uppercase;align-self:start}.cc-livediag{padding:18px 20px;background:linear-gradient(160deg,color-mix(in srgb,var(--warn) 7%,transparent),transparent 35%),linear-gradient(180deg,var(--cc-p1),var(--cc-p2))}.cc-dg-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cc-dg-h h2{margin:0;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--cc-tx2)}.cc-livedot{width:8px;height:8px;border-radius:50%;background:var(--ok);animation:ccpulse 2s infinite}.cc-score{display:grid;grid-template-columns:auto minmax(0,1fr);gap:22px;align-items:center;margin:14px 0;position:relative;cursor:help}.cc-score .n{font-size:60px;font-weight:750;letter-spacing:-.05em;line-height:.9}.cc-score .n.ok{color:var(--ok)}.cc-score .n.warn{color:var(--warn)}.cc-score .n.bad{color:var(--crit)}.cc-score .n.mut{color:var(--cc-mut)}.cc-score .n small{font-size:17px;color:var(--cc-mut);font-weight:500;letter-spacing:0;margin-left:4px}.cc-segm{display:flex;gap:3px;height:13px}.cc-segm i{flex:1;border-radius:2px;background:var(--cc-track)}.cc-segm i.on.ok{background:var(--ok)}.cc-segm i.on.warn{background:var(--warn)}.cc-segm i.on.bad{background:var(--crit)}.cc-subsc{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:10px}.cc-subsc div{font-size:11px;color:var(--cc-mut)}.cc-subsc b{color:var(--cc-tx);font-family:var(--cc-mono);float:right;font-weight:500}.cc-dg-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-top:16px;padding-top:16px;border-top:1px solid var(--cc-line)}.cc-dg-grid .cc-todo{border-left:0;padding-left:0}.cc-chk{display:flex;align-items:center;gap:9px;font-size:12px;padding:5px 0;color:var(--cc-tx2);border-bottom:1px dashed var(--cc-line)}.cc-chk:last-child{border-bottom:0}.cc-chk .i{width:18px;height:18px;border-radius:5px;display:grid;place-items:center;font-size:10px;font-weight:800;flex:0 0 18px;background:color-mix(in srgb,var(--text) 8%,transparent);color:var(--cc-mut)}.cc-chk .i.ok{background:color-mix(in srgb,var(--ok) 14%,transparent);color:var(--ok)}.cc-chk .i.warn{background:color-mix(in srgb,var(--warn) 14%,transparent);color:var(--warn)}.cc-chk .i.bad{background:color-mix(in srgb,var(--crit) 14%,transparent);color:var(--crit)}.cc-chk .v{margin-left:auto;font-family:var(--cc-mono);font-size:11.5px;color:var(--cc-tx);white-space:nowrap}.cc-bottom{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1.12fr) minmax(0,1fr);gap:16px;margin-top:16px;align-items:start}@media (max-width: 1180px){.cc-hero-top{grid-template-columns:210px minmax(0,1fr)}.cc-hero-top .cc-todo{grid-column:1 / -1;border-left:0;padding-left:0;border-top:1px solid var(--cc-line);padding-top:14px}.cc-kpis,.cc-kstrip{grid-template-columns:repeat(4,minmax(0,1fr))}.cc-kstrip>div{border-bottom:1px solid var(--cc-line)}.cc-frames{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.cc-frames>:first-child{grid-column:1 / -1}.cc-main{display:flex;flex-direction:column;gap:16px}.cc-col{display:contents}.cc-main .o-dev{order:1}.cc-main .o-diag{order:2}.cc-main .o-kpi{order:3}.cc-main .o-avail{order:4}.cc-main .o-refs{order:5}.cc-main .o-br{order:6}.cc-main .o-ping{order:7}.cc-main .o-down{order:8}.cc-main .o-client{order:9}.cc-main .o-pass{order:10}.cc-bottom{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.cc-bottom>:last-child{grid-column:1 / -1}}@media (max-width: 860px){.cc-grid{grid-template-columns:minmax(0,1fr)}.cc-grid>*{grid-column:1 / -1!important}.cc-hero-tl,.cc-bottom{grid-template-columns:minmax(0,1fr)}.cc-header{flex-direction:column;align-items:stretch}.cc-head-right{align-items:stretch}.cc-since{text-align:left}.cc-head-ctl{justify-content:flex-start}}@media (max-width: 640px){.cc-modal .cc-body{padding:10px}.cc-h1{font-size:22px}.cc-hero{padding:14px}.cc-hero-top{grid-template-columns:minmax(0,1fr);justify-items:stretch}.cc-ringwrap{display:grid;grid-template-columns:150px minmax(0,1fr);gap:10px;align-items:center}.cc-ringwrap .cc-ringbox{width:150px!important;height:150px!important}.cc-ringwrap .cc-ringbox svg{width:150px;height:150px}.cc-ringc .n{font-size:38px}.cc-ring-hint{grid-column:1 / -1}.cc-one.big{font-size:17px}.cc-chain{grid-template-columns:minmax(0,1fr);gap:6px;margin-top:8px}.cc-wire{display:none}.cc-node{flex-direction:row;text-align:left;gap:10px;padding:10px;flex-wrap:wrap}.cc-node .ico{width:40px;height:40px;flex:0 0 40px}.cc-node .ico svg{width:20px;height:20px}.cc-node .nm{margin-top:0;min-width:96px}.cc-node .ns{flex:1;text-align:right}.cc-node .cc-assume{margin-left:50px}.cc-suspect-lbl{left:12px;transform:none}.cc-kpis,.cc-kstrip{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cc-kstrip{gap:0}.cc-frames,.cc-cmp,.cc-dg-grid,.cc-refpair{grid-template-columns:minmax(0,1fr)}.cc-pstats,.cc-subsc{grid-template-columns:repeat(3,minmax(0,1fr))}.cc-kv,.cc-kv.narrow{grid-template-columns:minmax(0,1fr);gap:2px 0}.cc-kv dd{margin-bottom:6px}.cc-dev-h{flex-direction:column}.cc-dev-h .st{margin-left:0;align-items:flex-start;text-align:left}.cc-htip{width:92vw;left:-4px}.cc-ph .cc-legend{display:none}}.cc-dev-h>div:first-child{flex:1}.cc-dev-h .cc-chips{gap:6px}.cc-dev-chips{margin:-4px 0 14px}.cc-grid .c6{grid-column:span 6}.cc-stack{display:flex;flex-direction:column;gap:16px;min-width:0}.cc-stack>.cc-panel:last-child{flex:1}.cc-mt{margin-top:16px}.cc-scroll{max-height:320px;overflow:auto}.cc-eq>.cc-panel,.cc-eq>div>.cc-panel{height:100%}.cc-col>:last-child{flex:1}.cc-col>div:last-child>.cc-panel{height:100%}.cc-b .cc-bottom{display:none}.cc-refpair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.cc-reftile{min-width:0;display:flex;flex-direction:column}.cc-reftile .cc-fcap b{white-space:nowrap}.cc-refmeta{margin:7px 0 4px;line-height:1.4}.cc-reftile .cc-simrow{gap:10px;margin-top:4px}.cc-reftile .cc-simv{font-size:24px}.cc-reftile .cc-sim .cc-mbar.tall{margin-top:6px}@media (min-width: 1100px){.cc-wide-journal .cc-pb{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:28px}.cc-wide-journal .cc-pb>:not(.cc-ev){grid-column:1 / -1}.cc-wide-journal .cc-ev:nth-last-of-type(2){border-bottom:0}}@media (max-width: 640px){.cc-score{grid-template-columns:minmax(0,1fr);gap:8px}.cc-score .n{font-size:48px}.cc-subsc{grid-template-columns:repeat(2,minmax(0,1fr))}.cc-sticker{grid-template-columns:minmax(0,1fr)}.cc-sticker dl{grid-template-columns:76px minmax(0,1fr)}.cc-hud{display:none}.cc-live,.cc-warnbadge{font-size:9.5px;padding:3px 6px}.cc-dev-h h1{font-size:23px}.cc-reftile .cc-fcap{flex-wrap:wrap}}.cc-legend i.pl-auto{height:10px;width:14px;border:1.5px solid var(--cc-tx2);background:transparent;border-radius:3px}.cc-legend i.pl-man{height:10px;width:14px;border:1.5px dashed var(--ai);background:transparent;border-radius:3px}.cc-pathrow{display:flex;align-items:stretch;gap:0;overflow-x:auto;padding:14px 2px 6px}.cc-pwire{flex:1 0 28px;min-width:28px;align-self:center;height:2px;background:var(--cc-line2);position:relative}.cc-pwire.ok{background:var(--ok)}.cc-pwire span{position:absolute;top:-17px;left:50%;transform:translate(-50%);font-size:9.5px;font-weight:700;color:var(--cc-mut);letter-spacing:.06em}.cc-pnode{all:unset;box-sizing:border-box;cursor:pointer;position:relative;flex:0 1 190px;min-width:150px;display:flex;gap:10px;align-items:flex-start;padding:12px;border-radius:14px;background:var(--cc-inset);border:1.5px solid var(--cc-line2)}.cc-pnode.manual{border-style:dashed;border-color:color-mix(in srgb,var(--ai) 55%,var(--cc-line2))}.cc-pnode:hover{border-color:var(--accent)}.cc-pnode.sel{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 45%,transparent)}.cc-pnode.suspect{border-color:var(--warn);background:color-mix(in srgb,var(--warn) 7%,var(--cc-inset))}.cc-pnode.suspect.fail{border-color:var(--crit);background:color-mix(in srgb,var(--crit) 7%,var(--cc-inset))}.cc-pnode .ico{width:40px;height:40px;flex:0 0 40px;border-radius:12px;display:grid;place-items:center;position:relative;color:var(--cc-mut);border:1.5px solid var(--cc-line2);background:var(--panel)}.cc-pnode .ico svg{width:21px;height:21px}.cc-pnode.ok .ico{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 55%,transparent)}.cc-pnode.warn .ico{color:var(--warn);border-color:var(--warn)}.cc-pnode.fail .ico{color:var(--crit);border-color:var(--crit)}.cc-pnode.unmeasured .ico,.cc-pnode.nodata .ico{border-style:dashed}.cc-pnode .bdg{position:absolute;top:-6px;right:-6px;width:16px;height:16px;border-radius:50%;font-size:10px;font-weight:800;display:grid;place-items:center;background:var(--cc-track);color:var(--cc-tx)}.cc-pnode.ok .bdg{background:var(--ok);color:#03140d}.cc-pnode.warn .bdg{background:var(--warn);color:#1a0e00}.cc-pnode.fail .bdg{background:var(--crit);color:#fff}.cc-pnode .txt{display:flex;flex-direction:column;gap:1px;min-width:0}.cc-pnode .nm{font-size:12.5px;font-weight:650;color:var(--cc-tx);overflow-wrap:anywhere}.cc-pnode .kd{font-size:10.5px;color:var(--cc-mut)}.cc-pnode .ip{font-size:11px;color:var(--cc-tx2)}.cc-pnode .ns{font-size:11px;color:var(--cc-mut);margin-top:2px}.cc-pnode.ok .ns{color:var(--ok)}.cc-pnode.warn .ns{color:var(--warn)}.cc-pnode.fail .ns{color:var(--crit)}.cc-modal .src{align-self:flex-start;font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:0 5px;border-radius:4px;border:1px solid var(--cc-line2);color:var(--cc-mut)}.cc-modal .src.manual{border-style:dashed;border-color:color-mix(in srgb,var(--ai) 60%,transparent);color:var(--ai)}.cc-pnode .cc-suspect-lbl{top:-9px}.cc-pdetail{margin-top:12px;padding:12px 14px;border-radius:12px;border:1px solid var(--cc-line);background:var(--cc-inset)}.cc-pdetail.fail{border-color:color-mix(in srgb,var(--crit) 40%,transparent)}.cc-pdetail.warn{border-color:color-mix(in srgb,var(--warn) 40%,transparent)}.cc-pdetail .h{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cc-pdetail .h b{font-size:13px}.cc-ptrace{margin-top:12px}.cc-pform{margin-top:12px;padding:12px 14px;border-radius:12px;border:1px dashed color-mix(in srgb,var(--ai) 50%,var(--cc-line2));background:var(--cc-inset)}.cc-pform-row{display:flex;gap:10px;flex-wrap:wrap}.cc-pform-row label{flex:1 1 160px}.cc-pform-row label.grow{flex:3 1 240px}.cc-pform select{background:var(--panel);border:1px solid var(--cc-line2);border-radius:8px;color:var(--cc-tx);padding:6px 9px;font:inherit;font-size:12.5px}@media (max-width: 640px){.cc-pathrow{flex-direction:column;overflow:visible;padding-top:10px}.cc-pwire{flex:0 0 14px;min-height:14px;min-width:0;width:2px;height:auto;align-self:flex-start;margin-left:31px}.cc-pwire span{top:0;left:10px;transform:none}.cc-pnode{flex:0 0 auto;min-width:0;width:100%}.cc-path .cc-ph .cc-legend{display:none}}.cc-legend i.pl-chain{height:10px;width:14px;border:1.5px dotted var(--warn);background:transparent;border-radius:3px}.cc-pnode.chain{border-style:dotted}.cc-pnode .cc-assume,.cc-pdetail .cc-assume{align-self:flex-start;margin-top:4px}.cc-pdetail .cc-assume{margin-top:0}.cc-modal .src.chain{border-style:dotted;border-color:color-mix(in srgb,var(--warn) 60%,transparent);color:var(--warn)}.cc-irrow{margin-top:10px;border:1px solid var(--cc-line);border-radius:12px;background:var(--cc-inset);padding:8px 10px}.cc-irrow.warn{border-color:color-mix(in srgb,var(--warn) 45%,transparent)}.cc-irrow.fail{border-color:color-mix(in srgb,var(--crit) 45%,transparent)}.cc-irbtn{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:10px;width:100%;flex-wrap:wrap}.cc-irrow .ico{width:30px;height:30px;flex:0 0 30px;border-radius:9px;display:grid;place-items:center;position:relative;color:var(--cc-mut);border:1.5px dashed var(--cc-line2);background:var(--panel)}.cc-irrow .ico svg{width:17px;height:17px}.cc-irrow.ok .ico{color:var(--ok);border:1.5px solid color-mix(in srgb,var(--ok) 55%,transparent)}.cc-irrow.warn .ico{color:var(--warn);border:1.5px solid var(--warn)}.cc-irrow.fail .ico{color:var(--crit);border:1.5px solid var(--crit)}.cc-irrow .bdg{position:absolute;top:-6px;right:-6px;width:14px;height:14px;border-radius:50%;font-size:9px;font-weight:800;display:grid;place-items:center;background:var(--cc-track);color:var(--cc-tx)}.cc-irrow.ok .bdg{background:var(--ok);color:#03140d}.cc-irrow.warn .bdg{background:var(--warn);color:#1a0e00}.cc-irrow.fail .bdg{background:var(--crit);color:#fff}.cc-irrow .nm{font-size:12.5px;font-weight:650;color:var(--cc-tx)}.cc-irrow .ns{font-size:11.5px;color:var(--cc-mut)}.cc-irrow.ok .ns{color:var(--ok)}.cc-irrow.warn .ns{color:var(--warn)}.cc-irrow.fail .ns{color:var(--crit)}.cc-irrow .cc-assume{margin-top:0}.cc-irrow .hint{margin-top:8px}.cc-dev-ir{margin-top:4px}.cc-arch-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border-radius:12px;background:var(--cc-inset);border:1px solid var(--cc-line)}.cc-arch-head.ok{border-color:color-mix(in srgb,var(--ok) 35%,transparent)}.cc-arch-head.bad{border-color:color-mix(in srgb,var(--crit) 45%,transparent)}.cc-arch-head.warn{border-color:color-mix(in srgb,var(--warn) 45%,transparent)}.cc-arch-head .t{font-weight:650;font-size:13px}.cc-arch-depth{display:flex;align-items:baseline;gap:6px;margin-top:12px;flex-wrap:wrap}.cc-arch-depth .big{font-size:24px;font-weight:750;font-family:var(--cc-mono)}.cc-arch-depthbar{position:relative;height:8px;border-radius:5px;background:var(--cc-track);margin:6px 0 2px;overflow:hidden}.cc-arch-depthbar i{position:absolute;left:0;top:0;bottom:0;border-radius:5px;background:color-mix(in srgb,var(--ok) 80%,transparent)}.cc-arch-depthbar i.warn{background:var(--warn)}.cc-tl-noarch{fill:var(--cc-track);opacity:.45}.cc-tl-future{fill:transparent}.cc-livedot.off{background:var(--crit);animation:none}.cc-arch-head .cc-livedot.off{background:var(--warn)}.cc-arch-head.bad .cc-livedot.off{background:var(--crit)}.cc-arch-depth .big.ok{color:var(--ok)}.cc-arch-depth .big.warn{color:var(--warn)}.cc-archflag{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px;padding:12px 14px;border-radius:14px;border:1px dashed color-mix(in srgb,var(--ai) 60%,transparent);background:color-mix(in srgb,var(--ai) 8%,var(--cc-inset))}.cc-archflag .ic{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:var(--ai);border:1.5px solid color-mix(in srgb,var(--ai) 55%,transparent);font-weight:800}.cc-btn.danger{color:var(--crit);border-color:color-mix(in srgb,var(--crit) 50%,transparent)}.modal-dialog.server-detail-modal.sv-modal{max-width:min(1180px,96vw);max-height:94vh}.sv-head{align-items:flex-start;gap:12px}.sv-head-main{display:flex;gap:14px;align-items:center;min-width:0}.sv-head-icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;font-size:26px;flex:none;background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 25%,var(--border))}.sv-head-icon.ok{background:color-mix(in srgb,var(--ok) 10%,transparent);border-color:color-mix(in srgb,var(--ok) 30%,var(--border))}.sv-head-icon.warn{background:color-mix(in srgb,var(--warn) 12%,transparent);border-color:color-mix(in srgb,var(--warn) 35%,var(--border))}.sv-head-icon.crit,.sv-head-icon.offline{background:color-mix(in srgb,var(--crit) 10%,transparent);border-color:color-mix(in srgb,var(--crit) 35%,var(--border))}.sv-head-kicker{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;opacity:.65}.sv-head-title{margin:2px 0 6px;font-size:1.45rem;line-height:1.15;word-break:break-word}.sv-head-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.sv-chip{font-size:12px;padding:2px 9px;border-radius:999px;border:1px solid var(--border);background:color-mix(in srgb,var(--text) 4%,transparent);white-space:nowrap}.sv-chip.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.sv-chip.ai{color:var(--ai);border-color:color-mix(in srgb,var(--ai) 35%,var(--border))}.sv-overview{display:flex;flex-direction:column;gap:12px}.sv-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.sv-tile{display:flex;flex-direction:column;gap:2px;padding:12px 14px 10px;border-radius:12px;border:1px solid var(--border);background:var(--panel);min-width:0;text-align:left;color:inherit;font:inherit;text-decoration:none}.sv-tile.wide{grid-column:span 2}.sv-tile.link{cursor:pointer;transition:border-color .15s,box-shadow .15s}.sv-tile.link:hover{border-color:var(--accent);box-shadow:0 2px 10px color-mix(in srgb,var(--accent) 15%,transparent)}.sv-tile-label{font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;opacity:.65}.sv-tile-value{font-size:1.7rem;font-weight:700;line-height:1.15;font-variant-numeric:tabular-nums}.sv-tile-value.sm{font-size:1.3rem;padding:3px 0 2px;white-space:nowrap}.sv-tile-value.ok,.sv-tile-value .ok{color:var(--ok)}.sv-tile-value.warn{color:var(--warn)}.sv-tile-value.crit{color:var(--crit)}.sv-tile-value .sv-of{font-size:1.05rem;font-weight:600;opacity:.6;color:var(--text)}.sv-tile-sub{font-size:12px;opacity:.72;overflow-wrap:anywhere}.sv-spark{width:100%;height:44px;margin-top:6px;display:block}.sv-bar{height:8px;border-radius:6px;background:color-mix(in srgb,var(--text) 9%,transparent);overflow:hidden;margin-top:8px}.sv-bar.sm{height:6px;margin-top:6px}.sv-bar i{display:block;height:100%;background:var(--accent);border-radius:6px}.sv-bar i.ok{background:var(--ok)}.sv-bar i.warn{background:var(--warn)}.sv-bar i.crit{background:var(--crit)}.sv-stack{display:flex;height:8px;border-radius:6px;overflow:hidden;margin-top:8px;gap:2px;background:color-mix(in srgb,var(--text) 9%,transparent)}.sv-stack i.ok{background:var(--ok)}.sv-stack i.crit{background:var(--crit)}.sv-note{font-size:12px;opacity:.65}.sv-mut{font-size:12px;opacity:.6}.sv-panel{border:1px solid var(--border);border-radius:12px;background:var(--panel);padding:12px 14px 14px}.sv-ph{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin-bottom:10px}.sv-ph h3{margin:0;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;opacity:.8}.sv-disks{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}.sv-disk{text-align:left;font:inherit;color:inherit;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--bg);cursor:pointer;min-width:0}.sv-disk:hover{border-color:var(--accent)}.sv-disk.warn{border-color:color-mix(in srgb,var(--warn) 55%,var(--border))}.sv-disk.plain{cursor:default}.sv-disk-h{display:flex;gap:6px;align-items:center;font-size:13px}.sv-disk-h b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;margin-right:auto}.sv-disk-m{font-size:12px;opacity:.8;margin-top:2px;overflow-wrap:anywhere}.sv-disk-s{font-size:11.5px;opacity:.65;margin-top:2px}.sv-dot{width:8px;height:8px;border-radius:50%;display:inline-block;background:var(--ok)}.sv-dot.warn{background:var(--warn)}.sv-modal>.modal-body>*{flex-shrink:0}.sv-cams{padding:0!important;flex:none}.sv-cams-toggle{border-radius:inherit}.sv-cams>*:not(.sv-cams-toggle){margin-left:12px;margin-right:12px}.sv-cams.open{padding-bottom:12px!important}.sv-cams-toggle{width:100%;display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:14px 16px;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;text-align:left}.sv-cams-toggle:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}.sv-cams-caret{width:14px;opacity:.7}.sv-cams-title{font-weight:700;font-size:1.02rem;margin-right:4px}.sv-cams-chip{font-size:12px;padding:2px 9px;border-radius:999px;border:1px solid var(--border);white-space:nowrap}.sv-cams-chip.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 35%,var(--border))}.sv-cams-chip.warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 40%,var(--border))}.sv-cams-chip.crit{color:var(--crit);border-color:color-mix(in srgb,var(--crit) 40%,var(--border))}.sv-cams-hint{margin-left:auto;font-size:12px;color:var(--accent)}.sv-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}.sv-grid2>.server-detail-section{margin:0;height:100%}@media (min-width: 1000px){.sv-tiles{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (max-width: 720px){.sv-head-icon{width:42px;height:42px;font-size:21px;border-radius:11px}.sv-head-title{font-size:1.2rem}.sv-tiles{grid-template-columns:1fr 1fr;gap:8px}.sv-tile{padding:10px 11px 8px}.sv-tile-value{font-size:1.35rem}.sv-tile.wide{grid-column:span 2}.sv-grid2,.sv-disks{grid-template-columns:1fr}.sv-cams-hint{margin-left:0;width:100%}}.sv-rec-none{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.9rem}.sv-rec-none b{color:var(--muted, inherit)}.hv-host{display:grid;gap:6px;font-size:13px;margin-bottom:10px}.hv-host .crit,.hv-vol.crit{color:var(--crit)}.hv-vols{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}.hv-pd{display:flex;flex-wrap:wrap;gap:6px}.hv-chip{font-size:12px;padding:2px 8px;border-radius:10px;border:1px solid var(--border)}.hv-chip.crit{border-color:var(--crit);color:var(--crit)}.hv-toggle{width:100%;text-align:left;padding:8px 10px;font-weight:600;background:var(--bg2, transparent);border:1px solid var(--border);border-radius:8px;cursor:pointer;color:inherit}.hv-vms{display:grid;gap:6px;margin-top:8px}.hv-vm{border:1px solid var(--border);border-radius:8px}.hv-vm.watch{border-color:var(--warn);box-shadow:inset 3px 0 0 var(--warn)}.hv-vm.off{opacity:.75}.hv-vm-h{display:flex;flex-wrap:wrap;align-items:center;gap:8px;width:100%;padding:8px 10px;background:none;border:0;color:inherit;cursor:pointer;text-align:left}.hv-st{font-size:12px}.hv-badge{font-size:11px;padding:1px 7px;border-radius:10px;background:var(--warn);color:#000;font-weight:600}.hv-vm-b{display:grid;gap:5px;padding:0 12px 10px 28px;font-size:13px}.hv-vm-b .warn{color:var(--warn)}.sv-dot.mut{background:var(--muted, #888)}.olt-card{display:flex;flex-direction:column;gap:12px}.olt-mut{font-size:12px;opacity:.65}.olt-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}.olt-upd{margin-left:auto}.olt-pill{font-size:12px;font-weight:600;padding:2px 10px;border-radius:999px;vertical-align:middle;margin-left:6px}.olt-pill.ok{color:var(--ok);background:color-mix(in srgb,var(--ok) 14%,transparent)}.olt-pill.crit{color:var(--crit);background:color-mix(in srgb,var(--crit) 14%,transparent)}.olt-a{color:var(--accent);text-decoration:none}.olt-a:hover{border-color:var(--accent)}.sv-dot.crit{background:var(--crit)}.sv-dot:not(.ok):not(.warn):not(.crit){background:color-mix(in srgb,var(--text) 30%,transparent)}.warn-t{color:var(--warn)}.mono,.olt-ont-sub.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.olt-alerts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.olt-alerts li{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:8px 10px;border-radius:10px;border:1px solid var(--border);background:var(--bg)}.olt-alerts li.crit{border-color:color-mix(in srgb,var(--crit) 45%,var(--border))}.olt-alerts li.warn{border-color:color-mix(in srgb,var(--warn) 45%,var(--border))}.olt-ports{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}.olt-port{padding:9px 11px;border-radius:10px;border:1px solid var(--border);background:var(--bg);min-width:0}.olt-port.up{border-color:color-mix(in srgb,var(--ok) 40%,var(--border))}.olt-port.down{border-color:color-mix(in srgb,var(--crit) 50%,var(--border))}.olt-port.unused{opacity:.55}.olt-port-h{display:flex;gap:6px;align-items:center;font-size:13px}.olt-port-h b{margin-right:auto}.olt-port-t{font-size:12.5px;margin-top:4px;font-variant-numeric:tabular-nums}.olt-port-s{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:11.5px;opacity:.75;margin-top:4px}.olt-2col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.olt-chart{min-width:0;border:1px solid var(--border);border-radius:10px;padding:8px 8px 4px;background:var(--bg)}.olt-chart-h{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;font-size:13px;margin:0 4px 4px}.olt-onts{padding:0!important}.olt-onts>*:not(.sv-cams-toggle){margin-left:12px;margin-right:12px}.olt-onts>*:last-child{margin-bottom:12px}.olt-ont-tools{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin-bottom:10px}.olt-search{flex:1 1 220px;max-width:360px;padding:6px 10px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit;font-size:13px}.olt-seg{display:inline-flex;border:1px solid var(--border);border-radius:8px;padding:2px;background:var(--bg)}.olt-seg button{border:0;background:transparent;color:inherit;padding:4px 10px;border-radius:6px;font:inherit;font-size:12px;cursor:pointer;opacity:.7}.olt-seg button.a{background:color-mix(in srgb,var(--accent) 18%,transparent);opacity:1;font-weight:600}.olt-onts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}.olt-ont{text-align:left;font:inherit;color:inherit;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:var(--bg);cursor:pointer;min-width:0;display:flex;flex-direction:column;gap:6px;transition:border-color .15s,box-shadow .15s}.olt-ont:hover{border-color:var(--accent);box-shadow:0 2px 10px color-mix(in srgb,var(--accent) 15%,transparent)}.olt-ont.warn{border-color:color-mix(in srgb,var(--warn) 55%,var(--border));background:color-mix(in srgb,var(--warn) 5%,var(--bg))}.olt-ont.crit{border-color:color-mix(in srgb,var(--crit) 60%,var(--border));background:color-mix(in srgb,var(--crit) 6%,var(--bg))}.olt-ont.off{border-style:dashed}.olt-ont-h{display:flex;gap:6px;align-items:center;min-width:0}.olt-ont-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:auto;font-size:14px}.olt-ont-pos{font-size:11px;padding:1px 7px;border-radius:999px;border:1px solid var(--border);white-space:nowrap;opacity:.8}.olt-ont-sub{font-size:11.5px;opacity:.65;overflow-wrap:anywhere}.olt-ont-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px}.olt-ont-grid>div{display:flex;flex-direction:column;min-width:0}.olt-ont-grid span{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;opacity:.6}.olt-ont-grid b{font-size:13.5px;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.olt-lvl.ok{color:var(--ok)}.olt-lvl.warn{color:var(--warn)}.olt-lvl.crit{color:var(--crit)}.olt-ont-foot{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:11.5px;opacity:.8;border-top:1px dashed var(--border);padding-top:6px}.olt-cam-chip{color:var(--accent)}.modal-dialog.server-detail-modal.olt-modal{max-width:min(1000px,96vw);max-height:94vh}.olt-modal-ctl{display:flex;gap:8px;align-items:center}.olt-modal-body{display:flex;flex-direction:column;gap:12px}.olt-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.olt-stat{display:flex;flex-direction:column;padding:9px 11px;border-radius:10px;border:1px solid var(--border);background:var(--bg)}.olt-stat span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;opacity:.65}.olt-stat b{font-size:1.25rem;font-variant-numeric:tabular-nums}.olt-stat i{font-style:normal;font-size:11.5px;opacity:.7}.olt-kv{display:grid;grid-template-columns:minmax(150px,34%) 1fr;gap:6px 12px;font-size:13px}.olt-kv>span{opacity:.65}.olt-macs{display:flex;flex-direction:column;gap:4px}.olt-mac{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;font-size:12.5px;padding:5px 8px;border-radius:8px;border:1px solid var(--border);background:var(--bg)}.olt-mac.cam{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.olt-cam-link{color:var(--accent);text-decoration:none;font-weight:600}.olt-cam-link:hover{text-decoration:underline}.olt-list{margin:0;padding-left:18px;font-size:13px}@media (max-width: 860px){.olt-2col{grid-template-columns:1fr}}@media (max-width: 720px){.olt-onts-grid{grid-template-columns:1fr}.olt-ports{grid-template-columns:1fr 1fr}.olt-kv{grid-template-columns:1fr;gap:1px}.olt-kv>b{margin-bottom:6px}.olt-search{max-width:none}.olt-modal-ctl{flex-direction:column-reverse;align-items:flex-end}}.olt-dev-wrap{overflow:auto;max-height:420px}.olt-dev{width:100%;border-collapse:collapse;font-size:12.5px}.olt-dev th{text-align:left;opacity:.65;font-weight:500;padding:3px 6px;position:sticky;top:0;background:var(--card-bg,var(--bg,#1b1d22))}.olt-dev td{padding:3px 6px;border-top:1px solid rgba(127,127,127,.18);vertical-align:top}.olt-dev tr.camera td:first-child,.olt-dev tr.camera_router td:first-child{border-left:3px solid #22c55e}.olt-dev tr.host td:first-child{border-left:3px solid #3b82f6}.olt-dev tr.unknown td:first-child{border-left:3px solid rgba(127,127,127,.5)}.olt-dev tr.stale{opacity:.6}.olt-dup{color:#f59e0b;font-weight:600}.olt-dev tr.ont_self td:first-child{border-left:3px solid #8b5cf6}.olt-dev tr.ont_self{opacity:.8}.olt-rename{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.olt-rename pre{white-space:pre-wrap;font-size:12px;margin:4px 0;width:100%}.olt-err{color:#ef4444}.om-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#888;margin-right:5px;flex:none}.om-dot.ok{background:#22c55e}.om-dot.warn{background:#f59e0b}.om-dot.crit{background:#ef4444}.om-mono{font-family:ui-monospace,monospace;font-size:13px}.om-muted{opacity:.6;font-size:12px}.om-bad{color:#ef4444;font-weight:600}.om-olt{border:2px solid #22c55e;border-radius:10px;padding:10px 14px;margin:10px 0;background:#22c55e0f}.om-olt.crit{border-color:#ef4444;background:#ef444414}.om-olt-sub{font-size:13px;opacity:.85;margin-top:4px}.om-kind{font-size:11px;text-transform:uppercase;opacity:.6;margin-right:6px}.om-pons{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;position:relative}.om-pon{border:1px solid rgba(127,127,127,.35);border-top:4px solid #22c55e;border-radius:8px;padding:8px;display:flex;flex-direction:column;gap:8px}.om-pon.warn{border-top-color:#f59e0b}.om-pon.crit{border-top-color:#ef4444}.om-pon-h{display:flex;gap:8px;align-items:center;font-size:15px}.om-ont{border:1px solid rgba(127,127,127,.3);border-left:5px solid #22c55e;border-radius:6px;padding:6px 8px;background:#7f7f7f0a}.om-ont.warn{border-left-color:#f59e0b}.om-ont.crit{border-left-color:#ef4444;background:#ef44440f}.om-ont.off{opacity:.85}.om-ont-h{display:flex;align-items:center;gap:4px;width:100%;background:none;border:0;padding:0;color:inherit;cursor:pointer;text-align:left}.om-ont-name{flex:1;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.om-ont-id{font-size:12.5px;opacity:.6}.om-ont-sub{display:flex;gap:8px;font-size:12.5px;opacity:.75;margin:2px 0}.om-sigs{display:flex;gap:6px;flex-wrap:wrap;font-size:13.5px;align-items:center}.om-sig{padding:1px 6px;border-radius:4px;background:#22c55e26}.om-sig.warn,.om-sig.overload{background:#f59e0b40}.om-sig.crit{background:#ef444440}.om-dist{opacity:.7}.om-cams-h{display:flex;justify-content:space-between;align-items:center;margin-top:4px;font-size:13px}.om-link,.om-ico{background:none;border:0;color:inherit;cursor:pointer;padding:0 4px;font-size:13px}.om-ico{opacity:.7}.om-ico:hover{opacity:1}.om-cams{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:2px}.om-cam{display:inline-flex;align-items:center;background:none;border:0;color:inherit;cursor:pointer;padding:1px 2px;font-size:13.5px;text-align:left}.om-cam:hover{text-decoration:underline}.om-cam.crit{color:#ef4444}.om-cam.inline{margin-left:4px}.om-lists{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px;margin-top:16px}.om-lists section{border:1px solid rgba(127,127,127,.3);border-radius:8px;padding:8px 12px}.om-lists h3{margin:0 0 6px;font-size:15px}.om-lists ul{list-style:none;margin:0;padding:0;max-height:320px;overflow:auto;font-size:13px}.om-lists li{padding:2px 0;display:flex;align-items:center;gap:4px}.om-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.om-form{background:var(--bg,#1b1d22);color:inherit;border-radius:10px;padding:16px;width:min(480px,94vw);display:flex;flex-direction:column;gap:10px}.om-form label{display:flex;flex-direction:column;gap:4px;font-size:13px}.om-row{display:flex;gap:12px;align-items:center}.om-row label{flex-direction:row;align-items:center}.om-mlinks{margin:0;padding-left:16px;font-size:13px}.nm-tabs{display:flex;gap:4px;margin:6px 0 10px}.nm-tabs button{padding:6px 14px;border-radius:6px;border:1px solid rgba(127,127,127,.35);background:none;color:inherit;cursor:pointer}.nm-tabs button.a{background:#3b82f640;border-color:#3b82f699}.ng{border:1px solid var(--border);border-radius:10px;background:var(--panel);margin-top:10px}.ng-bar{display:flex;gap:6px;align-items:center;padding:8px;flex-wrap:wrap;border-bottom:1px solid var(--border)}.ng-bar .btn{padding:4px 10px}.ng-hint{opacity:.65;font-size:12px}.ng-svg{width:100%;height:68vh;min-height:420px;display:block;cursor:grab;background:var(--bg);-webkit-user-select:none;user-select:none}.ng-svg:active{cursor:grabbing}.ng-port rect{fill:var(--panel);stroke:var(--border)}.ng-port text{font-size:10px;fill:var(--text)}.ng-port.ed{cursor:pointer}.ng-item rect{fill:var(--panel);stroke-width:2;cursor:default}.ng-item.st-ok rect{stroke:var(--ok)}.ng-item.st-warn rect{stroke:var(--warn)}.ng-item.st-crit rect{stroke:var(--crit)}.ng-item.st-ok .ng-dot{fill:var(--ok)}.ng-item.st-warn .ng-dot{fill:var(--warn)}.ng-item.st-crit .ng-dot{fill:var(--crit)}.ng-item.st-crit rect{fill:color-mix(in srgb,var(--crit) 12%,var(--panel))}.ng-cam rect,.ng-cam text,.ng-item.fold rect,.ng-item.fold text{cursor:pointer}.ng-host rect{stroke-width:3}.ng-ph rect{stroke-dasharray:4 3}.ng-t1{font-size:12px;font-weight:600;fill:var(--text)}.ng-t2{font-size:10.5px;fill:var(--text);opacity:.7;font-family:ui-monospace,monospace}.ng-btn{cursor:pointer}.ng-btn circle{fill:var(--accent)}.ng-btn text{fill:#fff;font-size:12px;font-weight:700}.ng-legend{display:flex;gap:14px;padding:6px 10px;font-size:12px;opacity:.85}.ng-legend i{display:inline-block;width:10px;height:10px;border-radius:50%}.ng-legend i.st-ok{background:var(--ok)}.ng-legend i.st-warn{background:var(--warn)}.ng-legend i.st-crit{background:var(--crit)}.ng-dash{display:inline-block;width:22px;border-top:2px dashed var(--crit);vertical-align:middle}.nm-tabs .nm-graphbtn{margin-left:8px}.nm-tabs .nm-graphbtn:before{content:"⎇ ";opacity:.7}.ng-wrap{position:relative}.ng-link .ng-case{fill:none;stroke:transparent;stroke-width:0}.ng-link .ng-line{fill:none;stroke:var(--border);stroke-width:2;filter:brightness(1.4)}.ng-link.lt-fiber .ng-line{stroke:#f59e0b;stroke-width:4.5;filter:none}.ng-link.lt-utp .ng-line{stroke:#3b82f6;stroke-width:2.5;filter:none}.ng-link.lt-radio .ng-line{stroke:#a855f7;stroke-width:2.5;stroke-dasharray:2 5;stroke-linecap:round;filter:none}.ng-link.off .ng-line{stroke-dasharray:6 4}.ng-link.off .ng-case{stroke:var(--crit);stroke-width:9;opacity:.3}.ng-link.off.lt-unknown .ng-line,.ng-link.off.lt-none .ng-line{stroke:var(--crit)}.ng-link .ng-hit{fill:none;stroke:transparent;stroke-width:12;cursor:pointer}.ng-link.ed:hover .ng-line{filter:brightness(1.25)}.ng-port.auto rect{stroke-dasharray:3 2;fill:color-mix(in srgb,var(--accent) 10%,var(--panel))}.ng-ins{opacity:.35}.ng-link:hover .ng-ins{opacity:1}.ng-menu{position:absolute;z-index:5;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:6px;min-width:190px;box-shadow:0 6px 20px #00000059;display:flex;flex-direction:column;gap:2px}.ng-menu button{text-align:left;background:none;border:0;color:var(--text);padding:5px 8px;border-radius:6px;cursor:pointer;font-size:13px}.ng-menu button:hover,.ng-menu button.a{background:color-mix(in srgb,var(--accent) 18%,transparent)}.ng-menu hr{border:0;border-top:1px solid var(--border);margin:4px 0;width:100%}.ng-menu-h{font-size:11px;opacity:.6;padding:2px 8px}.ng-sw{display:inline-block;width:24px;height:0;border-top:2px solid var(--border);vertical-align:middle;margin-right:4px}.ng-sw.lt-fiber{border-top:4.5px solid #f59e0b}.ng-sw.lt-utp{border-top:2.5px solid #3b82f6}.ng-sw.lt-radio{border-top:3px dotted #a855f7}.ng-port-auto{font-weight:400;font-size:11px;border:1px dashed var(--border);border-radius:8px;padding:0 6px}.ng-legend-lt{border-top:1px solid var(--border);flex-wrap:wrap}.nm{--nm-mut: color-mix(in srgb, var(--text) 55%, transparent);--nm-line: var(--border);--nm-mono: "IBM Plex Mono", "Geist Mono", "DejaVu Sans Mono", ui-monospace, monospace}.nm-mono{font-family:var(--nm-mono);font-size:.78rem}.nm-ok{color:var(--ok)}.nm-crit{color:var(--crit)}.nm-warn{color:var(--warn)}.nm-err{background:color-mix(in srgb,var(--crit) 14%,transparent);border:1px solid color-mix(in srgb,var(--crit) 45%,transparent);padding:8px 10px;border-radius:8px;margin:8px 0;cursor:pointer}.nm-empty{color:var(--nm-mut);font-size:.82rem;padding:6px 2px}.nm-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.nm .btn.sm{padding:4px 10px;font-size:.8rem}.nm-legend{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;font-size:.8rem;color:var(--nm-mut);margin:10px 0 14px}.nm-legend>span{display:inline-flex;align-items:center;gap:6px}.nm-counts{margin-left:auto}.nm-sw{display:inline-block;width:22px;height:12px;border-radius:3px;border:2px solid var(--info)}.nm-sw.manual{border:2px dashed var(--accent)}.nm-sw.ph{border:2px dotted var(--nm-mut)}.nm-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex:none}.nm-dot.ok{background:var(--ok)}.nm-dot.crit{background:var(--crit)}.nm-core{display:flex;align-items:stretch;gap:0;flex-wrap:nowrap}.nm-corebox{flex:1 1 0;min-width:0;border:2px solid var(--info);border-radius:10px;background:var(--panel);padding:10px 12px;display:flex;flex-direction:column;gap:3px;box-shadow:var(--shadow)}.nm-corebox.ok{border-color:color-mix(in srgb,var(--ok) 70%,var(--info))}.nm-corebox.bad{border-color:var(--crit)}.nm-corebox b{font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nm-core-role{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--nm-mut);display:flex;gap:6px;align-items:center}.nm-link{flex:0 0 34px;align-self:center;height:2px;background:var(--info);position:relative}.nm-bus{margin:14px 0 6px;position:relative;height:26px;display:flex;align-items:center;justify-content:center}.nm-bus:before{content:"";position:absolute;left:0;right:0;top:50%;height:4px;transform:translateY(-50%);background:color-mix(in srgb,var(--info) 55%,transparent);border-radius:2px}.nm-bus:after{content:"";position:absolute;left:83%;top:-14px;height:16px;width:2px;background:var(--info)}.nm-bus span{position:relative;background:var(--bg);padding:1px 10px;font-size:.78rem;color:var(--nm-mut);border-radius:6px}.nm-corenodes{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px;margin-bottom:8px}.nm-tools{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.nm-tools input[type=search]{flex:1 1 260px;min-width:0}.nm-tools input,.nm-tools select,.nm select{padding:6px 8px;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:var(--text)}.nm-clients{columns:360px;column-gap:12px}.nm-client{background:var(--panel);border:2px solid var(--info);border-radius:12px;padding:10px;position:relative;min-width:0;break-inside:avoid;margin-bottom:12px;display:block}.nm-linkbtn{background:none;border:0;padding:2px 0;color:var(--accent);cursor:pointer;font:inherit;font-size:.78rem;text-decoration:underline}.nm-client header{display:flex;gap:8px;align-items:flex-start}.nm-client-name{font-weight:600;font-size:.95rem;flex:1 1 auto;min-width:0;overflow-wrap:break-word}.nm-cnt{font-size:.8rem;font-weight:600;white-space:nowrap;padding-top:1px}.nm-client-meta{display:flex;gap:2px 10px;flex-wrap:wrap;font-size:.72rem;color:var(--nm-mut);align-items:center;margin-top:2px}.nm-node{border-radius:9px;padding:7px 8px;margin-top:8px;position:relative}.nm-node.manual{border:2px dashed var(--accent);background:color-mix(in srgb,var(--accent) 6%,transparent)}.nm-node.placeholder{border:2px dotted var(--nm-mut);background:color-mix(in srgb,var(--text) 3%,transparent)}.nm-node.over{outline:3px solid var(--ok);outline-offset:1px}.nm-node .nm-node{margin-left:14px}.nm-node .nm-node:before{content:"";position:absolute;left:-16px;top:-10px;width:14px;height:24px;border-left:2px solid var(--nm-line);border-bottom:2px solid var(--nm-line);border-bottom-left-radius:6px}.nm-node-head{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.nm-kind{font-size:.7rem;text-transform:uppercase;letter-spacing:.03em;color:var(--nm-mut)}.nm-node-name{font-size:.88rem;flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.nm-node.placeholder .nm-node-name{color:var(--nm-mut);font-style:italic}.nm-node-facts{display:flex;flex-wrap:wrap;gap:2px 10px;font-size:.76rem;color:var(--nm-mut);margin-top:2px}.nm-note{flex-basis:100%;white-space:pre-wrap}.nm-badge{font-size:.66rem;padding:1px 6px;border-radius:10px;border:1px solid currentColor;line-height:1.4;white-space:nowrap}.nm-badge.auto{color:var(--info)}.nm-badge.manual{color:var(--accent)}.nm-badge.ph{color:var(--nm-mut)}.nm-badge.poe{color:var(--ok)}.nm-ico{background:transparent;border:1px solid var(--border);color:var(--text);border-radius:6px;padding:1px 7px;cursor:pointer;font-size:.85rem;line-height:1.4}.nm-ico:hover{border-color:var(--accent)}.nm-cams{list-style:none;margin:6px 0 0;padding:0 0 0 12px;border-left:2px solid var(--nm-line)}.nm-cam{position:relative;padding:3px 0 3px 6px;font-size:.8rem}.nm-cam:before{content:"";position:absolute;left:-12px;top:12px;width:12px;border-top:2px solid var(--nm-line)}.nm-cam.drag{opacity:.45}.nm-cam-main{display:flex;gap:6px;align-items:center;min-width:0}.nm-cam[draggable=true] .nm-cam-main{cursor:grab}.nm-grip{color:var(--nm-mut);font-size:.7rem;letter-spacing:-2px}.nm-port{font-family:var(--nm-mono);font-size:.72rem;color:var(--nm-mut);min-width:30px}.nm-cam-title{background:none;border:0;padding:0;color:var(--text);cursor:pointer;text-align:left;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:inherit;font-weight:500}.nm-cam-title:hover{color:var(--accent);text-decoration:underline}.nm-cam.off .nm-cam-title{color:var(--crit)}.nm-cam-sub{display:flex;gap:2px 10px;flex-wrap:wrap;padding-left:64px;font-size:.72rem;color:var(--nm-mut)}.nm-cam-sub .nm-mono{font-size:.72rem}.nm-cam-ed{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:6px;margin:4px 0;box-sizing:border-box;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--bg)}.nm-cam-ed label{display:flex;flex-direction:column;gap:2px;font-size:.74rem;color:var(--nm-mut)}.nm-cam-ed .nm-row{grid-column:1 / -1;margin:0}.nm-cam-ed input,.nm-cam-ed select{width:100%;box-sizing:border-box}.nm-cam-ed input,.nm-form input,.nm-form select,.nm-form textarea{padding:6px 8px;border-radius:7px;border:1px solid var(--border);background:var(--panel);color:var(--text);font:inherit;min-width:0}.nm-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:12px}.nm-form{background:var(--panel);color:var(--text);border-radius:12px;padding:14px 16px;width:min(640px,100%);max-height:92vh;overflow:auto;box-shadow:var(--shadow)}.nm-form h3{margin:0 0 10px;font-size:1rem}.nm-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}.nm-grid label{display:flex;flex-direction:column;gap:3px;font-size:.78rem;color:var(--nm-mut)}.nm-grid .wide{grid-column:1 / -1}.nm-check{flex-direction:row!important;align-items:center;gap:8px!important;color:var(--text)!important}.nm-del{margin-left:auto;color:var(--crit);border-color:color-mix(in srgb,var(--crit) 50%,transparent)}@media (max-width: 760px){.nm-core{flex-direction:column}.nm-link{flex:0 0 14px;width:2px;height:14px;align-self:center}.nm-bus:after{left:50%}.nm-corenodes{grid-template-columns:1fr}.nm-clients{columns:1}.nm-cam-sub{padding-left:40px}.nm-grid{grid-template-columns:1fr}.nm-counts{margin-left:0;flex-basis:100%}}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.leaflet-cluster-anim .leaflet-marker-icon,.leaflet-cluster-anim .leaflet-marker-shadow{-webkit-transition:-webkit-transform .3s ease-out,opacity .3s ease-in;-moz-transition:-moz-transform .3s ease-out,opacity .3s ease-in;-o-transition:-o-transform .3s ease-out,opacity .3s ease-in;transition:transform .3s ease-out,opacity .3s ease-in}.leaflet-cluster-spider-leg{-webkit-transition:-webkit-stroke-dashoffset .3s ease-out,-webkit-stroke-opacity .3s ease-in;-moz-transition:-moz-stroke-dashoffset .3s ease-out,-moz-stroke-opacity .3s ease-in;-o-transition:-o-stroke-dashoffset .3s ease-out,-o-stroke-opacity .3s ease-in;transition:stroke-dashoffset .3s ease-out,stroke-opacity .3s ease-in}.marker-cluster-small{background-color:#b5e28c99}.marker-cluster-small div{background-color:#6ecc3999}.marker-cluster-medium{background-color:#f1d35799}.marker-cluster-medium div{background-color:#f0c20c99}.marker-cluster-large{background-color:#fd9c7399}.marker-cluster-large div{background-color:#f1801799}.leaflet-oldie .marker-cluster-small{background-color:#b5e28c}.leaflet-oldie .marker-cluster-small div{background-color:#6ecc39}.leaflet-oldie .marker-cluster-medium{background-color:#f1d357}.leaflet-oldie .marker-cluster-medium div{background-color:#f0c20c}.leaflet-oldie .marker-cluster-large{background-color:#fd9c73}.leaflet-oldie .marker-cluster-large div{background-color:#f18017}.marker-cluster{background-clip:padding-box;border-radius:20px}.marker-cluster div{width:30px;height:30px;margin-left:5px;margin-top:5px;text-align:center;border-radius:15px;font:12px Helvetica Neue,Arial,Helvetica,sans-serif}.marker-cluster span{line-height:30px}.mp{display:flex;flex-direction:column;height:calc(100vh - 40px)}.mp-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.mp-bar h1{margin:0}.mp-mut{opacity:.7;font-size:13px}.mp-edit{display:flex;gap:6px;align-items:center;font-weight:600}.mp-err{background:#ef444426;color:#ef4444;padding:6px 10px;border-radius:6px;margin-bottom:6px;cursor:pointer}.mp-body{display:flex;gap:10px;flex:1;min-height:0}.mp-side{width:240px;flex:none;overflow:auto;font-size:13px;padding-right:4px}.mp-side h4{margin:10px 0 4px}.mp-layer{display:flex;gap:6px;align-items:center;padding:2px 0;cursor:pointer}.mp-g{display:inline-block;min-width:22px;text-align:center;font-weight:700;font-size:11px}.mp-legend{display:flex;flex-direction:column;gap:2px;margin-top:8px;font-size:12px;opacity:.85}.mp-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}.mp-tools{display:flex;flex-direction:column;gap:3px}.mp-tools button,.mp-unplaced button{text-align:left;background:none;border:1px solid rgba(127,127,127,.3);border-radius:5px;padding:3px 6px;color:inherit;cursor:pointer;width:100%}.mp-tools button.a,.mp-unplaced button.a{background:#3b82f640;border-color:#3b82f6}.mp-unplaced{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.mp-mapwrap{flex:1;position:relative;min-height:400px}.mp-map{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:8px;overflow:hidden}.mp-hint{position:absolute;z-index:1000;top:8px;left:50%;transform:translate(-50%);background:#1e293b;color:#fff;padding:6px 12px;border-radius:6px;font-size:13px;box-shadow:0 2px 8px #0006}.mp-ico{width:26px;height:26px;border-radius:50%;background:var(--c);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;border:2px solid #fff;box-shadow:0 1px 4px #00000073}.mp-ico.cam{width:20px;height:20px;font-size:9px;margin:3px}.mp-ico.server,.mp-ico.olt{border-radius:6px;font-size:9px}.mp-ico.infra{border-radius:4px;background:#fff;color:var(--c);border-color:var(--c)}.mp-ico.pole{width:16px;height:16px;margin:5px;font-size:9px}.mp-ico.manhole{border-radius:50%}.mp-cl{width:34px;height:34px;border-radius:50%;background:var(--c);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;border:3px solid rgba(255,255,255,.8);box-shadow:0 1px 6px #0006}.mp-pop{font-size:13px;min-width:200px;color:#111}.mp-pop table{border-collapse:collapse;margin:4px 0}.mp-pop td{padding:1px 6px 1px 0;vertical-align:top}.mp-pop td:first-child{opacity:.6}.mp-pop button{margin:4px 4px 0 0}.mp-st{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}.mp-src{font-size:11px;opacity:.6;margin-top:4px}.mp-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:2000;display:flex;align-items:center;justify-content:center}.mp-card{background:var(--bg,#1b1d22);color:inherit;border-radius:10px;padding:16px;width:min(560px,94vw);max-height:86vh;overflow:auto}.mp-card h4{margin:12px 0 4px}.mp-card ul{margin:0;padding-left:18px;font-size:13px}.mp-placeholder{margin-top:12px;padding:10px;border:1px dashed rgba(127,127,127,.5);border-radius:6px;opacity:.75;font-size:13px}.mp-row{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.sc-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:2000;display:flex;align-items:center;justify-content:center}.sc-card{background:var(--bg,#1b1d22);color:inherit;border-radius:10px;padding:16px 18px;width:min(820px,96vw);max-height:90vh;overflow:auto}.sc-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.sc-head h2{margin:0;font-size:19px;flex:1}.sc-x{background:none;border:0;color:inherit;font-size:18px;cursor:pointer}.sc-tabs{display:flex;gap:4px;flex-wrap:wrap;margin:10px 0}.sc-tabs button{padding:5px 12px;border-radius:6px;border:1px solid rgba(127,127,127,.35);background:none;color:inherit;cursor:pointer}.sc-tabs button.a{background:#3b82f640;border-color:#3b82f699}.sc-chip{display:inline-block;font-size:11px;padding:1px 7px;border-radius:10px;background:#6366f133;margin:2px 4px 0 0}.sc-chip.plan{background:#f59e0b40}.btn-chip{border:1px solid transparent;color:inherit;cursor:pointer}.btn-chip.a{border-color:#6366f1}.sc-kv td{padding:3px 10px 3px 0;vertical-align:top}.sc-kv td:first-child{opacity:.6;white-space:nowrap}.sc-tbl{width:100%;border-collapse:collapse;font-size:13px}.sc-tbl th{text-align:left;opacity:.65;font-weight:500;padding:4px 6px;border-bottom:1px solid rgba(127,127,127,.3)}.sc-tbl td{padding:4px 6px;border-top:1px solid rgba(127,127,127,.15);vertical-align:top}.st-tbl tbody tr{cursor:pointer}.st-tbl tbody tr:hover{background:#7f7f7f14}.st-tbl tr.plan{opacity:.75}.st-note{max-width:280px;white-space:pre-wrap}.st-tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:10px}.st-tools input{min-width:320px}.sc-form{display:flex;flex-direction:column;gap:6px;margin:8px 0}.sc-form label{display:flex;flex-direction:column;gap:3px;font-size:13px}.sc-form textarea{min-height:60px}.sc-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}.sc-row label{flex-direction:row}.sc-placeholder{margin-top:12px;padding:10px;border:1px dashed rgba(127,127,127,.5);border-radius:6px;opacity:.8;font-size:13px}.sc-list{list-style:none;padding:0;margin:0;font-size:13px}.sc-list li{padding:3px 0}.sc-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}.sc-mut{opacity:.6}.sc-err{color:#ef4444;margin:6px 0;cursor:pointer}.sc-link{background:none;border:0;color:#3b82f6;cursor:pointer;padding:0}:root,[data-theme=classic-dark]{--bg: #0f1419;--panel: #171e26;--sidebar-bg: #0b1015;--sidebar-text: #e7eef7;--sidebar-active: #243041;--text: #e8eef6;--border: #2a3544;--table-head: #121820;--accent: #3b82f6;--ok: #22c55e;--warn: #f59e0b;--crit: #ef4444;--info: #3b82f6;--ai: #a855f7;--shadow: 0 8px 24px rgba(0,0,0,.25)}[data-theme=modern-light]{--bg: #f4f7fb;--panel: #ffffff;--sidebar-bg: #ffffff;--sidebar-text: #1f2937;--sidebar-active: #e8eef8;--text: #111827;--border: #e5e7eb;--table-head: #f9fafb;--accent: #2563eb;--ok: #16a34a;--warn: #d97706;--crit: #dc2626;--info: #2563eb;--ai: #7c3aed;--shadow: 0 8px 24px rgba(15,23,42,.06)}[data-theme=minimal]{--bg: #fafafa;--panel: #ffffff;--sidebar-bg: #f5f5f5;--sidebar-text: #171717;--sidebar-active: #e5e5e5;--text: #171717;--border: #e5e5e5;--table-head: #fafafa;--accent: #404040;--ok: #15803d;--warn: #b45309;--crit: #b91c1c;--info: #2563eb;--ai: #6d28d9;--shadow: none}[data-theme=analytics]{--bg: #0b1220;--panel: #121a2b;--sidebar-bg: #080e1a;--sidebar-text: #dbeafe;--sidebar-active: #1e293b;--text: #e2e8f0;--border: #1e293b;--table-head: #0f172a;--accent: #06b6d4;--ok: #34d399;--warn: #fbbf24;--crit: #f87171;--info: #38bdf8;--ai: #c084fc;--shadow: 0 10px 30px rgba(0,0,0,.35)}[data-theme=ai-diagnostics]{--bg: #120b1a;--panel: #1a1026;--sidebar-bg: #0d0714;--sidebar-text: #f3e8ff;--sidebar-active: #2e1a45;--text: #f5f3ff;--border: #3b2760;--table-head: #160c22;--accent: #8b5cf6;--ok: #4ade80;--warn: #fbbf24;--crit: #fb7185;--info: #60a5fa;--ai: #d946ef;--shadow: 0 10px 30px rgba(88,28,135,.25)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.app-shell{display:flex;min-height:100%;position:relative}.sidebar{width:240px;background:var(--sidebar-bg);color:var(--sidebar-text);border-right:1px solid var(--border);padding:20px 12px;flex-shrink:0}.brand-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 4px 16px;min-height:48px}.sidebar .brand{display:flex;align-items:center;min-width:0;flex:1;padding:4px 8px;letter-spacing:.02em}.sidebar .brand-full{display:flex}.sidebar .brand-mark{display:none}.sidebar nav a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;margin-bottom:4px;color:var(--sidebar-text);opacity:.85;min-height:44px}.sidebar nav a.active,.sidebar nav a:hover{background:var(--sidebar-active);opacity:1}.nav-glyph{display:none;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;flex-shrink:0;font-size:.72rem;font-weight:700;letter-spacing:-.02em;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--sidebar-text)}.nav-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-toggle,.nav-close,.nav-backdrop{display:none}.sidebar-collapse{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;padding:6px 8px;flex-shrink:0;font-size:1rem;line-height:1}.topbar-brand{display:none;align-items:center;flex-shrink:0}.logo{display:inline-flex;align-items:center;gap:10px;min-width:0;color:inherit;line-height:1.15}.logo-mark{display:block;flex-shrink:0;border-radius:8px}.logo-text{display:flex;flex-direction:column;min-width:0;gap:2px}.logo-name{font-weight:700;font-size:1.15rem;letter-spacing:.02em;color:inherit}.logo-subtitle{font-size:.72rem;font-weight:500;opacity:.7;letter-spacing:.01em}.login-brand{margin-bottom:8px}.login-brand .logo-name{font-size:1.45rem}.login-tagline{margin:0 0 20px;opacity:.7}.sidebar.collapsed{width:68px;padding:16px 8px}.sidebar.collapsed .brand-row{flex-direction:column;align-items:center;justify-content:flex-start;padding:0 0 12px;gap:8px}.sidebar.collapsed .brand{justify-content:center;padding:4px 0;flex:0}.sidebar.collapsed .brand-full{display:none}.sidebar.collapsed .brand-mark{display:flex;justify-content:center}.sidebar.collapsed .nav-label{display:none}.sidebar.collapsed .nav-glyph{display:inline-flex}.sidebar.collapsed nav a{justify-content:center;padding:10px 6px;gap:0}.sidebar.collapsed .sidebar-collapse{width:100%}.main{flex:1;display:flex;flex-direction:column;min-width:0}.topbar{min-height:60px;display:flex;align-items:center;gap:12px;padding:8px 24px;border-bottom:1px solid var(--border);background:var(--panel);flex-wrap:wrap}.topbar input{flex:1;min-width:0;max-width:420px;padding:8px 12px;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--text)}.notif-short{display:none}.content{padding:24px;overflow-x:hidden}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.smart-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:16px}.card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:16px 18px;box-shadow:var(--shadow);min-width:0}.card h3{margin:0 0 8px;font-size:.85rem;opacity:.7;font-weight:500}.card .value{font-size:1.6rem;font-weight:700;word-break:break-word}.kpi-ok{color:var(--ok)}.kpi-warn{color:var(--warn)}.kpi-crit{color:var(--crit)}.kpi-info{color:var(--info)}.kpi-ai{color:var(--ai)}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:14px;background:var(--panel)}table{width:100%;border-collapse:collapse;min-width:480px}th,td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--border);font-size:.92rem}th{opacity:.7;font-weight:600;background:var(--table-head)}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:.8rem;font-weight:600}.badge:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}.badge-ok{color:var(--ok);background:color-mix(in srgb,var(--ok) 15%,transparent)}.badge-warn{color:var(--warn);background:color-mix(in srgb,var(--warn) 15%,transparent)}.badge-crit{color:var(--crit);background:color-mix(in srgb,var(--crit) 15%,transparent)}.badge-offline{color:#9ca3af;background:#9ca3af26}.badge-unknown{color:var(--info);background:color-mix(in srgb,var(--info) 15%,transparent)}.btn{border:none;border-radius:10px;padding:10px 14px;cursor:pointer;background:var(--accent);color:#fff;font-weight:600;min-height:40px}.btn.secondary{background:transparent;color:var(--text);border:1px solid var(--border)}.btn.ai{background:var(--ai)}.btn:disabled{opacity:.5;cursor:not-allowed}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}.tab{padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--panel);cursor:pointer;min-height:40px}.tab.active{background:var(--accent);color:#fff;border-color:transparent}.progress{height:8px;background:var(--border);border-radius:999px;overflow:hidden}.progress>span{display:block;height:100%;background:var(--accent)}.empty{padding:40px;text-align:center;opacity:.75;border:1px dashed var(--border);border-radius:14px;background:var(--panel)}.login-page{min-height:100%;display:grid;place-items:center;background:var(--bg);padding:16px}.login-box{width:100%;max-width:380px;padding:28px;border-radius:16px;background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow)}.login-box h1{margin:0 0 8px;font-size:1.4rem}.login-box p{margin:0 0 20px;opacity:.7}.login-box label{display:block;margin-bottom:12px;font-size:.9rem}.login-box input{width:100%;margin-top:6px;padding:12px;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:16px}.error{color:var(--crit);margin-top:8px;font-size:.9rem}.grid-2{display:grid;grid-template-columns:2fr 1fr;gap:16px}.page-header-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.event-code{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;padding:4px 8px;cursor:pointer;min-height:32px}.event-code:hover{border-color:var(--accent)}.event-code-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:700;letter-spacing:.02em;font-size:.88rem}.event-code-hint{font-size:.72rem;opacity:.65}.analysis-doc{display:flex;flex-direction:column;gap:14px}.analysis-section{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:14px 16px}.analysis-heading{margin:0 0 8px;font-size:1rem;color:var(--ai);font-weight:700}.analysis-body{line-height:1.55;font-size:.95rem}.analysis-p{margin:0 0 8px}.analysis-p:last-child{margin-bottom:0}.analysis-bullet{margin:0 0 6px;padding-left:2px;word-break:break-word}.analysis-spacer{height:6px}.host-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.host-chip{display:inline-flex;padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--ai) 15%,transparent);color:var(--ai);font-size:.8rem;font-weight:600}.pre{white-space:pre-wrap;background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:16px;font-size:.95rem;line-height:1.55;overflow-x:auto;word-break:break-word}.ai-panel{border-color:color-mix(in srgb,var(--ai) 40%,var(--border))}.ai-panel h3{color:var(--ai)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.status-dot{display:inline-block;width:11px;height:11px;border-radius:50%;flex-shrink:0;vertical-align:middle;box-shadow:0 0 0 2px color-mix(in srgb,currentColor 20%,transparent)}.status-dot.ok{background:var(--ok);color:var(--ok)}.status-dot.warn{background:var(--warn);color:var(--warn)}.status-dot.crit{background:var(--crit);color:var(--crit)}.status-dot.offline{background:#9ca3af;color:#9ca3af;box-shadow:0 0 0 2px #9ca3af40}.status-dot.unknown{background:#6b7280;color:#6b7280;box-shadow:0 0 0 2px #6b728040}.server-card{cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease;outline:none}.server-card:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.server-card:focus-visible{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 35%,transparent)}.server-card.selected{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 30%,transparent),var(--shadow)}.server-detail-panel{margin-top:16px;padding:16px 18px;background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow)}.server-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:14px}.server-detail-meta{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;font-size:.9rem;opacity:.9}.server-select-hint{margin-top:12px;font-size:.9rem;opacity:.7}@media (max-width: 1100px){.grid-2{grid-template-columns:1fr}.sidebar{width:200px}.sidebar.collapsed{width:68px}}@media (max-width: 768px){.nav-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px 12px;flex-shrink:0;font-size:1.25rem;line-height:1}.nav-close{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;padding:6px 10px}.sidebar-collapse{display:none}.topbar-brand{display:inline-flex}.sidebar .brand{padding:4px 8px}.brand-row{padding-bottom:12px}.sidebar,.sidebar.collapsed{position:fixed;inset:0 auto 0 0;z-index:40;width:min(280px,85vw);height:100%;padding:20px 12px;transform:translate(-105%);transition:transform .2s ease;box-shadow:var(--shadow);overflow-y:auto}.sidebar.collapsed .brand-full{display:flex}.sidebar.collapsed .brand-mark{display:none}.sidebar.collapsed .nav-label{display:inline}.sidebar.collapsed .nav-glyph{display:none}.sidebar.collapsed nav a{justify-content:flex-start;padding:10px 12px;gap:10px}.sidebar.collapsed .brand-row{flex-direction:row;align-items:center;justify-content:space-between}.app-shell.nav-open .sidebar{transform:translate(0)}.nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;background:#00000073;border:none;padding:0;cursor:pointer}.topbar{padding:8px 12px;gap:8px}.topbar input{max-width:none;flex:1 1 120px;font-size:16px}.topbar-user,.notif-full{display:none}.notif-short{display:inline}.content{padding:16px 12px}.cards{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.card{padding:14px}.card .value{font-size:1.35rem}.login-box{padding:22px 18px}h1{font-size:1.35rem}h2{font-size:1.15rem}.empty{padding:24px 16px}.btn,.tab{min-height:44px}}@media (max-width: 430px){.cards{grid-template-columns:1fr 1fr}.smart-grid{grid-template-columns:1fr}.topbar-logout{padding:8px 10px;font-size:.85rem}}.servers-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.servers-action-btn{padding:8px 10px;font-size:.82rem;min-height:36px;text-decoration:none;display:inline-flex;align-items:center}.servers-expand-row td{border-bottom:1px solid var(--border)}@media (max-width: 900px){.page-header-row>.btn{width:100%;justify-content:center}}@media (max-width: 700px){.servers-action-btn{min-height:44px;padding:10px 12px}}.modal-dialog.server-detail-modal{max-width:720px;max-height:min(92vh,860px)}.server-detail-body{display:flex;flex-direction:column;gap:4px}.server-detail-section{padding:12px 0;border-bottom:1px solid var(--border)}.server-detail-section:last-child{border-bottom:none;padding-bottom:0}.server-detail-section-title{margin:0 0 10px;font-size:.95rem;font-weight:700;letter-spacing:.01em}.server-detail-kv{display:grid;grid-template-columns:minmax(110px,32%) 1fr;gap:6px 12px;margin-bottom:8px;align-items:start}.server-detail-k{font-size:.85rem;opacity:.7;padding-top:2px}.server-detail-v{font-weight:600;word-break:break-word}.server-detail-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.server-row-clickable:hover td{background:color-mix(in srgb,var(--accent) 6%,transparent)}@media (max-width: 430px){.server-detail-kv{grid-template-columns:1fr;gap:2px}.modal-dialog.server-detail-modal{max-width:100%}}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;padding:0;border-radius:10px;border:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer;flex-shrink:0}.icon-btn:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:var(--accent);color:var(--accent)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#00000080;display:flex;align-items:center;justify-content:center;padding:16px;-webkit-overflow-scrolling:touch}.modal-dialog{width:100%;max-width:440px;max-height:min(90vh,640px);overflow:auto;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px 8px;border-bottom:1px solid var(--border)}.modal-close{border:none;background:transparent;color:var(--text);font-size:1.2rem;cursor:pointer;line-height:1;width:36px;height:36px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center}.modal-close:hover{background:color-mix(in srgb,var(--crit) 12%,transparent)}.modal-body{padding:16px 18px 20px}.passport-fields{display:flex;flex-direction:column;gap:10px}.passport-row{display:grid;grid-template-columns:minmax(110px,38%) 1fr;gap:8px 12px;align-items:start}.passport-label{font-size:.85rem;opacity:.7;padding-top:2px}.passport-value{font-weight:600;word-break:break-word}.passport-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:500}.passport-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;padding-top:12px;border-top:1px solid var(--border)}@media (max-width: 430px){.passport-row{grid-template-columns:1fr;gap:2px}.modal-dialog{max-width:100%}.icon-btn{width:44px;height:44px;min-width:44px}}.recorder-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}.recorder-kpi{border:1px solid var(--border);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:2px;background:var(--bg)}.recorder-kpi span{font-size:.78rem;opacity:.7}.recorder-kpi strong{font-size:1.25rem}.recorder-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px;align-items:center}.recorder-search{flex:1 1 200px;min-width:0;padding:8px 12px;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--text)}.recorder-seg{display:flex;gap:6px;flex-wrap:wrap}.recorder-seg .btn{padding:6px 10px;min-height:34px;font-size:.82rem}.recorder-table{max-height:420px;overflow-y:auto}.recorder-table thead th{position:sticky;top:0;background:var(--panel);z-index:1}.recorder-row-offline td{background:color-mix(in srgb,var(--crit) 10%,transparent)}@media (max-width: 430px){.recorder-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.modal-dialog.server-detail-modal:has(.recorder-table){max-width:1040px}.recorder-row{cursor:pointer}.recorder-row:hover td,.recorder-row:focus td{background:color-mix(in srgb,var(--accent) 8%,transparent);outline:none}.recorder-row-offline:hover td{background:color-mix(in srgb,var(--crit) 16%,transparent)}.camera-card-backdrop{z-index:120}.modal-dialog.camera-card{max-width:920px}.camera-chips{display:flex;gap:6px;flex-wrap:wrap}.camera-subcard{border:1px solid var(--border);border-radius:10px;padding:8px 10px;margin-bottom:6px}.camera-event{display:flex;gap:10px;align-items:flex-start;padding:6px 0;border-bottom:1px dashed var(--border)}.camera-event:last-child{border-bottom:none}.camera-json{margin:8px 0 0;max-height:360px;overflow:auto;font-size:.75rem;padding:10px;border-radius:8px;background:var(--bg);border:1px solid var(--border);white-space:pre-wrap;word-break:break-word}@media (max-width: 430px){.camera-card-backdrop{padding:0;align-items:stretch}.modal-dialog.camera-card{max-width:100%;max-height:100vh;border-radius:0}}.cam-status-big{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border-radius:999px;font-weight:700;font-size:1rem;letter-spacing:.02em}.cam-status-big:before{content:"";width:10px;height:10px;border-radius:50%;background:currentColor}.cam-status-big.is-online{color:var(--ok);background:color-mix(in srgb,var(--ok) 15%,transparent)}.cam-status-big.is-offline{color:var(--crit);background:color-mix(in srgb,var(--crit) 15%,transparent)}.cam-range-row{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:10px}.cam-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin-bottom:12px}.cam-kpi{border:1px solid var(--border);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:2px;background:var(--bg);min-width:0}.cam-kpi strong{font-size:1.25rem;line-height:1.2;word-break:break-word}.cam-kpi-label{font-size:.75rem;opacity:.7}.cam-kpi-sub{font-size:.72rem;opacity:.6}.cam-timeline-wrap{margin-bottom:14px}.cam-timeline{position:relative;height:30px;border-radius:8px;overflow:hidden;background:color-mix(in srgb,var(--border) 60%,transparent);cursor:crosshair}.cam-seg{position:absolute;top:0;bottom:0;min-width:2px;transition:filter .1s}.cam-seg-online{background:var(--ok)}.cam-seg-offline{background:var(--crit)}.cam-seg-nodata{background:color-mix(in srgb,var(--text) 18%,transparent)}.cam-seg.is-hover{filter:brightness(1.25);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--text) 60%,transparent);z-index:1}.cam-timeline-axis{display:flex;justify-content:space-between;font-size:.7rem;opacity:.6;margin-top:3px}.cam-timeline-info{min-height:26px;font-size:.82rem;margin-top:4px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.cam-legend{display:flex;gap:12px;font-size:.72rem;opacity:.75;flex-wrap:wrap}.cam-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px;vertical-align:-1px}.cam-legend i.cam-seg-online,.cam-legend i.cam-seg-offline,.cam-legend i.cam-seg-nodata{position:static}.cam-chart{height:200px;margin-bottom:12px}.cam-chart-tip{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:6px 10px;font-size:.78rem;box-shadow:0 4px 14px #00000040}.cam-outages{max-height:240px;overflow-y:auto}.cam-details{margin:10px 0;border:1px solid var(--border);border-radius:10px;padding:8px 12px}.cam-details>summary{cursor:pointer;font-weight:600;padding:4px 0}.cam-details[open]>summary{margin-bottom:8px}.spark{display:flex;gap:1px;height:14px;width:96px}.spark i{flex:1 1 0;border-radius:1px}.spark-empty{background:color-mix(in srgb,var(--text) 10%,transparent);border-radius:2px}.spark .sp-ok{background:var(--ok)}.spark .sp-warn{background:var(--warn)}.spark .sp-bad{background:var(--crit)}.spark .sp-na{background:color-mix(in srgb,var(--text) 15%,transparent)}.recorder-th-sort{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.recorder-th-sort:hover{color:var(--accent)}@media (max-width: 640px){.cam-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.cam-chart{height:170px}}.cam-frame{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:12px;margin-bottom:12px;align-items:start}.cam-frame-img{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--bg)}.cam-frame-img img{display:block;width:100%;height:auto}.cam-frame-empty{aspect-ratio:16 / 9;display:flex;align-items:center;justify-content:center;font-size:.85rem;opacity:.6}.cam-frame-ts{font-size:.72rem;opacity:.7;padding:4px 8px;border-top:1px solid var(--border)}.cam-frame-info{display:flex;flex-direction:column;gap:8px;min-width:0}.cam-chart.cam-chart-mini{height:130px;margin-bottom:0}@media (max-width: 640px){.cam-frame{grid-template-columns:1fr}}.ident-timeline{display:flex;flex-direction:column;gap:6px;margin-top:10px;border-left:2px solid var(--border);padding-left:10px}.ident-item{display:flex;flex-direction:column;gap:2px;font-size:.8rem}.ident-when{font-size:.72rem;opacity:.65}.ident-body{display:flex;gap:6px;flex-wrap:wrap;align-items:baseline}.ident-changes{display:inline-flex;gap:10px;flex-wrap:wrap;word-break:break-all}.ident-changes s{opacity:.6}.ident-replaced .ident-when,.ident-moved .ident-when,.ident-model .ident-when{color:var(--crit);opacity:1}.recorder-client-select{flex:0 1 260px}.recorder-mini-btn{padding:2px 8px!important;min-height:0!important;font-size:.75rem!important}.recorder-mini-select{font-size:.75rem;padding:2px 6px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text);max-width:170px}.recorder-clients{display:flex;flex-direction:column;gap:8px}.recorder-client{border:1px solid var(--border);border-radius:10px;overflow:hidden}.recorder-client.has-problems{border-color:color-mix(in srgb,var(--warn) 55%,var(--border))}.recorder-client-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:8px 10px;cursor:pointer;background:color-mix(in srgb,var(--panel) 85%,var(--bg))}.recorder-client-head:hover{background:color-mix(in srgb,var(--accent) 8%,var(--panel))}.recorder-client-caret{width:14px;opacity:.7}.recorder-client-name{font-size:.95rem}.recorder-client-stats{display:inline-flex;gap:10px;flex-wrap:wrap;font-size:.78rem;opacity:.9}.recorder-client-actions{margin-left:auto;display:inline-flex;gap:6px;align-items:center}.recorder-client .recorder-table{border-radius:0;border:none;border-top:1px solid var(--border)}.cam-client-row{display:inline-flex;gap:8px;align-items:center;font-size:.82rem;flex-wrap:wrap}.cam-client-row select{font-size:.82rem;padding:3px 8px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text);max-width:320px}.cam-frame-img img{aspect-ratio:16 / 9;object-fit:contain;background:#000}@media (min-width: 1024px){.modal-backdrop.server-detail-backdrop,.modal-backdrop.camera-card-backdrop{padding:0;overscroll-behavior:contain}.modal-dialog.server-detail-modal,.modal-dialog.server-detail-modal:has(.recorder-table){position:fixed;top:4vh;left:0;right:0;margin:0 auto;width:95vw;max-width:1600px;height:92vh;max-height:92vh;display:flex;flex-direction:column;overflow:hidden}.modal-dialog.server-detail-modal.camera-card,.modal-dialog.server-detail-modal.camera-card:has(.recorder-table){position:fixed;top:5vh;left:0;right:0;margin:0 auto;width:90vw;max-width:1280px;height:90vh;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal-dialog.server-detail-modal>.modal-header,.modal-dialog.camera-card>.modal-header{flex:0 0 auto}.modal-dialog.server-detail-modal>.modal-body,.modal-dialog.camera-card>.modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-gutter:stable;overscroll-behavior:contain;overflow-anchor:auto}.modal-dialog.server-detail-modal .recorder-table{max-height:60vh}}.cam-head-client{font-size:.8rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;opacity:.7;display:flex;gap:8px;align-items:center;word-break:break-word}.cam-head-client-tag{text-transform:none;font-weight:500;font-size:.7rem;padding:1px 6px;border:1px solid var(--border);border-radius:999px}.cam-head-title{margin:-4px 0 0;font-size:1.45rem;font-weight:800;line-height:1.2;word-break:break-word}@media (max-width: 430px){.cam-head-title{font-size:1.2rem}}.rec-fields{border:1px solid var(--border);border-radius:10px;padding:8px 10px}.rec-fields>summary{cursor:pointer;font-weight:600;font-size:.9rem}.rec-fields-body{display:flex;flex-direction:column;gap:10px;margin-top:10px}.rec-fields-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rec-check{display:flex;gap:8px;align-items:center;font-size:.88rem;cursor:pointer}@media (max-width: 430px){.rec-fields-row{grid-template-columns:1fr}}.disk-clickable{cursor:pointer;transition:border-color .15s}.disk-clickable:hover,.disk-clickable:focus{border-color:var(--accent);outline:none}.disk-score{display:inline-flex;align-items:center;padding:4px 12px;border-radius:999px;font-weight:800;font-size:.95rem}.disk-score-ok{background:color-mix(in srgb,var(--ok) 18%,transparent);color:var(--ok)}.disk-score-warn{background:color-mix(in srgb,var(--warn) 20%,transparent);color:var(--warn)}.disk-score-crit{background:color-mix(in srgb,var(--crit) 20%,transparent);color:var(--crit)}.disk-kpi-ok strong{color:var(--ok)}.disk-kpi-warn strong{color:var(--warn)}.disk-kpi-crit strong{color:var(--crit)}.disk-section{border:1px solid var(--border);border-radius:10px;padding:8px 12px;margin-bottom:10px}.disk-section>summary{cursor:pointer;font-weight:700;font-size:.95rem;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.disk-section-extra{font-weight:500;font-size:.8rem;opacity:.8;margin-left:auto;display:inline-flex;gap:6px}.disk-section-body{margin-top:10px}.disk-range .btn{padding:4px 10px;min-height:30px;font-size:.8rem}.disk-select{font-size:.8rem;padding:3px 6px;border-radius:6px;background:var(--bg);color:var(--text);border:1px solid var(--border)}.disk-kv{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:4px 18px}.disk-kv-row{display:flex;justify-content:space-between;gap:10px;border-bottom:1px dashed var(--border);padding:3px 0;font-size:.85rem}.disk-kv-row span{opacity:.7}.disk-kv-row b{text-align:right;word-break:break-word;font-weight:600}.disk-recs{display:flex;flex-direction:column;gap:8px}.disk-rec{display:flex;gap:10px;align-items:flex-start}.disk-attr-table td,.disk-attr-table th{font-size:.8rem}.disk-attr-warn td{background:color-mix(in srgb,var(--warn) 10%,transparent)}.disk-attr-fail td,.disk-attr-past td{background:color-mix(in srgb,var(--crit) 12%,transparent)}.disk-empty{font-size:.82rem;opacity:.65}.disk-usebar{position:relative;min-width:110px;height:16px;border-radius:4px;background:var(--bg);border:1px solid var(--border);overflow:hidden}.disk-usebar span{position:absolute;left:0;top:0;bottom:0;background:color-mix(in srgb,var(--accent) 45%,transparent)}.disk-usebar span.warn{background:color-mix(in srgb,var(--warn) 55%,transparent)}.disk-usebar span.crit{background:color-mix(in srgb,var(--crit) 55%,transparent)}.disk-usebar em{position:relative;font-style:normal;font-size:.72rem;padding-left:6px}.nav-badge{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--warn);color:#111;font-size:.72rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;line-height:1}.nav-badge.crit{background:var(--crit);color:#fff}.sidebar.collapsed .nav-badge{position:absolute;top:4px;right:4px;margin:0;min-width:16px;height:16px;font-size:.62rem;padding:0 4px}.sidebar nav a{position:relative}.messages-block{margin-bottom:18px;padding:16px 18px}.messages-top{display:flex;justify-content:space-between;gap:10px 16px;flex-wrap:wrap;align-items:center;margin-bottom:10px}.messages-heading{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.messages-heading h2{margin:0;font-size:1.15rem}.messages-counts{display:inline-flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:.82rem;opacity:.9}.messages-filters{display:flex;gap:8px 12px;flex-wrap:wrap;align-items:center}.msg-chips{display:inline-flex;border:1px solid var(--border);border-radius:10px;overflow:hidden}.msg-chip{background:transparent;color:var(--text);border:0;padding:6px 10px;font-size:.82rem;cursor:pointer;min-height:32px}.msg-chip+.msg-chip{border-left:1px solid var(--border)}.msg-chip.active{background:color-mix(in srgb,var(--accent) 22%,transparent);font-weight:600}.msg-toggle{display:inline-flex;gap:6px;align-items:center;font-size:.85rem;cursor:pointer;white-space:nowrap}.msg-toggle input{width:auto;margin:0}.msg-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:560px;overflow-y:auto;overscroll-behavior:contain}.msg{border:1px solid var(--border);border-left:4px solid var(--info);border-radius:10px;background:color-mix(in srgb,var(--panel) 92%,var(--text) 3%)}.msg-crit{border-left-color:var(--crit)}.msg-warn{border-left-color:var(--warn)}.msg-info{border-left-color:var(--info)}.msg-state-resolved{opacity:.68}.msg-state-new .msg-title{font-weight:700}.msg-head{all:unset;box-sizing:border-box;width:100%;display:flex;gap:10px;align-items:flex-start;padding:9px 12px;cursor:pointer}.msg-head:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:8px}.msg-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto}.msg-meta{display:flex;gap:6px 10px;flex-wrap:wrap;align-items:center;font-size:.76rem;opacity:.85}.msg-time{font-variant-numeric:tabular-nums;white-space:nowrap}.msg-src{overflow:hidden;text-overflow:ellipsis}.msg-title{font-size:.93rem;line-height:1.3;overflow-wrap:anywhere}.msg-body-short{font-size:.8rem;opacity:.72;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msg-chevron{opacity:.6;padding-top:2px}.msg-sev{display:inline-flex;align-items:center;justify-content:center;min-width:40px;padding:2px 6px;border-radius:6px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;flex-shrink:0}.msg-sev-crit{color:#fff;background:var(--crit)}.msg-sev-warn{color:#111;background:var(--warn)}.msg-sev-info{color:var(--info);background:color-mix(in srgb,var(--info) 18%,transparent)}.msg-new{color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,transparent);border-radius:6px;padding:1px 6px;font-weight:700}.msg-resolved{color:var(--ok)}.msg-count{opacity:.85}.msg-detail{padding:0 12px 12px 62px;font-size:.88rem}.msg-body{margin:0 0 8px;opacity:.9;overflow-wrap:anywhere}.msg-fix{border:1px solid color-mix(in srgb,var(--ok) 35%,var(--border));background:color-mix(in srgb,var(--ok) 7%,transparent);border-radius:10px;padding:8px 12px;margin-bottom:10px}.msg-fix-title{font-weight:700;margin-bottom:4px}.msg-related{margin:8px 0;padding:8px 10px;border:1px dashed var(--border);border-radius:8px}.msg-related ul{margin:4px 0 0;padding-left:0;list-style:none;display:grid;gap:4px}.msg-related li{font-size:.88rem}.msg-related .msg-sev{display:inline-block;min-width:0;padding:0 6px;font-size:.72rem}.msg-related-meta{opacity:.65;font-size:.8rem}.msg-fix ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:3px}.msg-kv{display:grid;grid-template-columns:max-content 1fr;gap:3px 14px;font-size:.82rem;margin-bottom:10px}.msg-kv span{opacity:.7}.msg-kv b{font-weight:500;overflow-wrap:anywhere}.msg-actions{display:flex;gap:8px;flex-wrap:wrap}.msg-actions .btn{min-height:36px;text-decoration:none;display:inline-flex;align-items:center}.msg-empty{padding:18px;text-align:center;opacity:.75;border:1px dashed var(--border);border-radius:10px}.msg-error{color:var(--crit);font-size:.85rem;margin-bottom:8px}.msg-more{margin-top:8px;width:100%}@media (max-width: 640px){.messages-block{padding:12px}.messages-filters,.msg-chips{width:100%}.msg-chip{flex:1 1 0;padding:6px 4px}.msg-head{padding:8px 10px;gap:8px}.msg-sev{min-width:34px;font-size:.64rem}.msg-detail{padding:0 10px 10px}.msg-kv{grid-template-columns:1fr;gap:0}.msg-kv b{margin-bottom:4px}.msg-list{max-height:none}.msg-actions .btn{flex:1 1 auto;justify-content:center}}.cam-frame{grid-template-columns:minmax(0,620px) minmax(0,1fr)}.cam-frame-left{display:flex;flex-direction:column;gap:6px;min-width:0}.cam-frame-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cam-frame-cap{font-size:.72rem;opacity:.75;padding:3px 8px;border-bottom:1px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cam-frame-pair .cam-frame-empty{aspect-ratio:16 / 9;display:flex;align-items:center;justify-content:center;text-align:center;padding:8px;font-size:.75rem;opacity:.7}.cam-ref-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.cam-ref-btn{margin-left:auto;padding:4px 12px;min-height:30px;font-size:.8rem}.cam-diag{border:1px solid var(--border);border-left:4px solid var(--info);border-radius:10px;padding:10px 14px;margin-bottom:12px;background:color-mix(in srgb,var(--info) 6%,transparent)}.cam-diag-ok{border-left-color:var(--ok);background:color-mix(in srgb,var(--ok) 6%,transparent)}.cam-diag-warn{border-left-color:var(--warn);background:color-mix(in srgb,var(--warn) 8%,transparent)}.cam-diag-crit{border-left-color:var(--crit);background:color-mix(in srgb,var(--crit) 8%,transparent)}.cam-diag-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;opacity:.7;margin-bottom:2px}.cam-diag-cause{font-weight:700;font-size:.98rem}.cam-diag-corr{font-size:.82rem;opacity:.85;margin-top:2px}.cam-diag ol{margin:6px 0 0;padding-left:20px;font-size:.87rem;display:flex;flex-direction:column;gap:2px}.cam-diag-client{margin-top:8px;font-size:.85rem;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}.cam-diag-note{flex-basis:100%;opacity:.85;white-space:pre-wrap}.cam-note{border:1px solid var(--border);border-radius:8px;padding:6px 10px;margin-bottom:6px}.cam-note-meta{font-size:.72rem;opacity:.7;display:flex;gap:6px;align-items:center}.cam-note-del{margin-left:auto;background:transparent;border:0;color:var(--text);opacity:.6;cursor:pointer}.cam-note-text{white-space:pre-wrap;font-size:.88rem;overflow-wrap:anywhere}.cam-note-add{display:flex;gap:8px;align-items:flex-start}.cam-note-add textarea{flex:1 1 auto;min-width:0;resize:vertical}.client-info-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 10px;padding:8px 10px;border:1px dashed var(--border);border-radius:8px;margin:6px 0;font-size:.85rem}.client-info-form label{display:flex;flex-direction:column;gap:2px}.client-info-form .wide{grid-column:1 / -1}.client-info-form .actions{grid-column:1 / -1;display:flex;gap:8px;justify-content:flex-end}.client-info-line{font-size:.78rem;opacity:.8;padding:2px 10px 6px;display:flex;gap:10px;flex-wrap:wrap}@media (max-width: 1100px){.cam-frame{grid-template-columns:1fr}}@media (max-width: 640px){.cam-frame-pair,.client-info-form{grid-template-columns:1fr}.cam-note-add{flex-direction:column;align-items:stretch}}.cam-rtsp-row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.cam-rtsp-hint{font-size:.75rem;opacity:.65}.cam-rtsp-list{display:flex;flex-direction:column;gap:.4rem}.cam-rtsp-timer{font-size:.8rem;color:var(--warn, #b7791f);display:flex;gap:.5rem;align-items:center}.cam-rtsp-item{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.cam-rtsp-label{font-size:.8rem;min-width:4.5rem;opacity:.8}.cam-rtsp-url{flex:1 1 22rem;min-width:0;font-size:.78rem;padding:.3rem .45rem}.cam-rtsp-err{color:var(--crit, #c53030);font-size:.8rem;margin-top:.35rem}.cam-rtsp-views{margin-top:.6rem}.cam-rtsp-views-title{font-size:.8rem;font-weight:600;margin-bottom:.2rem}.cam-rtsp-views ul{margin:0;padding-left:1.1rem;font-size:.78rem}
