:root{--font-sans: "Inter", "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "JetBrains Mono", "SFMono-Regular", ui-monospace, Menlo, Consolas, monospace;--fs-2xs: 11px;--fs-xs: 12px;--fs-sm: 13px;--fs-md: 14px;--fs-lg: 16px;--fs-xl: 20px;--fs-2xl: 24px;--fs-3xl: 32px;--lh-tight: 1.2;--lh-normal: 1.45;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--sp-0: 0;--sp-1: 2px;--sp-2: 4px;--sp-3: 6px;--sp-4: 8px;--sp-5: 12px;--sp-6: 16px;--sp-7: 20px;--sp-8: 24px;--sp-9: 32px;--sp-10: 40px;--radius-xs: 2px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 10px;--radius-pill: 999px;--row-compact: 28px;--row-default: 34px;--row-comfortable: 44px;--btn-h: 32px;--cell-px: var(--sp-4);--row-h: var(--row-default);--rail-w: 64px;--subnav-w: 208px;--topbar-h: 48px;--dur-fast: .12s;--dur-med: .2s;--ease: cubic-bezier(.2,0,.2,1)}[data-density=compact]{--row-h: var(--row-compact);--cell-px: var(--sp-3)}[data-density=comfortable]{--row-h: var(--row-comfortable);--cell-px: var(--sp-5)}:root,[data-theme=dark]{color-scheme:dark;--bg: #0d1117;--surface: #151b23;--surface-2: #1c2430;--border: #2d3846;--border-strong: #3d4a5c;--text: #e6edf3;--text-2: #b6c0cb;--text-muted: #8f9aa7;--accent: #2f7bff;--accent-strong: #7fb2ff;--accent-strong-hover: #a3c8ff;--accent-subtle: #192a46;--accent-subtle-hover: #1b3258;--accent-subtle-pressed: #1d3a69;--on-accent: #0d1117;--focus-ring: var(--accent-strong);--link-underline: rgb(127 178 255 / 55%);--spark-line: var(--text-2);--meter-fill: var(--text-muted);--healthy: #56d364;--healthy-bg: #10281a;--warning: #e3b341;--warning-bg: #2e2410;--critical: #ff8a80;--critical-bg: #3b1618;--offline: #a9b4c0;--offline-bg: #272e38;--unknown: #b8a4ff;--unknown-bg: #251e3d;--series-1: #4fd1c5;--series-2: #f0a35e;--series-3: #c69cff;--series-4: #f778ba;--series-5: #b8d04a;--series-6: #c9d1d9;--elev-1: 0 1px 0 rgba(0,0,0,.4), 0 0 0 1px var(--border);--elev-2: 0 4px 12px rgba(0,0,0,.45), 0 0 0 1px var(--border);--elev-3: 0 12px 32px rgba(0,0,0,.55), 0 0 0 1px var(--border-strong);--sample-fg: #0d1117;--sample-bg: #e3b341}[data-theme=light]{color-scheme:light;--bg: #f5f7f9;--surface: #ffffff;--surface-2: #eef1f4;--border: #d5dbe1;--border-strong: #b7c0ca;--text: #1b1f24;--text-2: #3f4852;--text-muted: #57616c;--accent: #0050d0;--accent-strong: #0047ab;--accent-strong-hover: #003a8c;--accent-subtle: #e0eaf9;--accent-subtle-hover: #d1e0f7;--accent-subtle-pressed: #c2d5f4;--on-accent: #ffffff;--focus-ring: var(--accent-strong);--link-underline: rgb(0 71 171 / 55%);--spark-line: var(--text-2);--meter-fill: var(--text-muted);--healthy: #116329;--healthy-bg: #dcf5e3;--warning: #7a4a00;--warning-bg: #fff1c2;--critical: #b0171f;--critical-bg: #ffe3e1;--offline: #4a5562;--offline-bg: #e6eaef;--unknown: #5b3cc4;--unknown-bg: #eee8ff;--series-1: #0f7f78;--series-2: #b35900;--series-3: #7a3fd1;--series-4: #c0367a;--series-5: #5f6f00;--series-6: #4b5563;--elev-1: 0 1px 2px rgba(16,24,40,.06), 0 0 0 1px var(--border);--elev-2: 0 4px 12px rgba(16,24,40,.1), 0 0 0 1px var(--border);--elev-3: 0 12px 32px rgba(16,24,40,.16), 0 0 0 1px var(--border-strong);--sample-fg: #1b1f24;--sample-bg: #ffd35a}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font:var(--fs-sm)/var(--lh-normal) var(--font-sans);-webkit-font-smoothing:antialiased}a{color:var(--accent-strong);text-decoration:none}a:hover{color:var(--accent-strong-hover)}main a:where(:not(.btn,.stretch,.name,.srow-link,.crumb)){color:var(--accent-strong);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:var(--link-underline)}@supports (text-decoration-color: color-mix(in srgb,red 50%,transparent)){main a:where(:not(.btn,.stretch,.name,.srow-link,.crumb)){text-decoration-color:color-mix(in srgb,var(--accent-strong) 55%,transparent)}}main a:where(:not(.btn,.stretch,.name,.srow-link,.crumb)):hover{color:var(--accent-strong-hover);text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}.mono{font-family:var(--font-mono);font-size:var(--fs-xs)}.num{font-variant-numeric:tabular-nums}.muted{color:var(--text-muted)}.t2{color:var(--text-2)}.app{position:relative;display:grid;grid-template-columns:var(--rail-w) var(--subnav-w) minmax(0,1fr);grid-template-rows:var(--topbar-h) 1fr;height:100vh}.app:before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:var(--accent);z-index:25;pointer-events:none}.rail{grid-row:1/3;background:var(--bg);border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:center;padding:var(--sp-4) 0;gap:var(--sp-2)}.logo{width:36px;height:36px;border-radius:var(--radius-md);background:var(--accent);color:var(--on-accent);display:grid;place-items:center;font-weight:700;margin-bottom:var(--sp-5)}.rail a{width:52px;padding:var(--sp-3) 0;border-radius:var(--radius-md);color:var(--text-2);display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10px;text-decoration:none}.rail a svg{width:20px;height:20px}.rail a:hover{background:var(--surface-2);color:var(--text)}.rail a.on{background:var(--accent-subtle);color:var(--accent-strong);box-shadow:inset 2px 0 0 var(--accent)}.subnav{grid-row:1/3;background:var(--surface);border-right:1px solid var(--border);padding:var(--sp-5) var(--sp-4);overflow:auto}.subnav h6{margin:var(--sp-5) var(--sp-3) var(--sp-3);font-size:var(--fs-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);display:flex;justify-content:space-between;align-items:center}.subnav h6:first-child{margin-top:0}.subnav .ctl{margin:0 var(--sp-3) var(--sp-4);font-size:var(--fs-xs);color:var(--text-2);display:flex;align-items:center;gap:6px}.subnav a{display:flex;justify-content:space-between;align-items:center;padding:6px var(--sp-4);border-radius:var(--radius-sm);color:var(--text-2);text-decoration:none;font-size:var(--fs-sm)}.subnav a:hover{background:var(--surface-2);color:var(--text)}.subnav a.on{background:var(--accent-subtle);color:var(--accent-strong);font-weight:600;box-shadow:inset 2px 0 0 var(--accent)}.subnav .soon{display:flex;justify-content:space-between;padding:6px var(--sp-4);color:var(--text-muted);font-size:var(--fs-sm);cursor:not-allowed}.subnav .soon span{font-size:var(--fs-2xs);border:1px solid var(--border);border-radius:var(--radius-pill);padding:0 6px}.count{font-size:var(--fs-2xs);font-weight:700;padding:0 6px;border-radius:var(--radius-pill);background:var(--critical-bg);color:var(--critical)}.top{grid-column:3;display:flex;align-items:center;gap:var(--sp-5);padding:0 var(--sp-6);border-bottom:1px solid var(--border);background:var(--surface);min-width:0}.crumbs{display:flex;gap:6px;align-items:center;color:var(--text-muted);font-size:var(--fs-sm);white-space:nowrap;min-width:0;flex:1 1 auto;max-width:100%;overflow:hidden}.crumbs a.crumb{color:var(--text-2);flex:0 1 auto;min-width:3ch;overflow:hidden;text-overflow:ellipsis}.crumbs a.crumb:hover{color:var(--text);text-decoration:underline}.crumbs>span{color:var(--text-2);flex:0 0 auto}.crumbs b{color:var(--text);font-weight:600}.crumb-leaf{flex:0 0 auto;min-width:3ch;max-width:100%;overflow:hidden;text-overflow:ellipsis}.search{position:relative;min-width:72px;max-width:240px;flex:1 1 120px}.spacer{flex:1}.btn{height:30px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;flex-shrink:0}.btn:hover{border-color:var(--border-strong)}a.btn:hover{color:var(--text);text-decoration:none}.btn[disabled],.btn[aria-disabled=true]{color:var(--text-muted);background:var(--surface);cursor:not-allowed}.btn-danger{background:var(--critical);border-color:var(--critical);color:var(--on-accent)}.btn-danger:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.btn-danger[disabled],.btn-danger[aria-disabled=true]{background:var(--surface);color:var(--text-muted);border-color:var(--border)}.seg{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0}.seg button{border:0;background:transparent;color:var(--text-2);height:28px;padding:0 9px;font:inherit;cursor:pointer}.seg button+button{border-left:1px solid var(--border)}.seg button:hover{background:var(--surface-2);color:var(--text)}.seg button.on,.seg button.on:hover{background:var(--accent-subtle);color:var(--accent-strong);font-weight:600}.fresh{font-size:var(--fs-xs);color:var(--text-muted);display:flex;align-items:center;gap:6px;white-space:nowrap;flex-shrink:0}.fresh-auto{white-space:nowrap}.search input{width:100%;min-width:0;height:30px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text);padding:0 10px 0 28px;font:inherit}.search input::placeholder{color:var(--text-muted)}.search svg{position:absolute;left:8px;top:8px;width:14px;height:14px;color:var(--text-muted)}.kbd{font-size:var(--fs-2xs);border:1px solid var(--border);border-radius:3px;padding:0 4px;color:var(--text-muted)}.pop{position:absolute;z-index:20;background:var(--surface);box-shadow:var(--elev-2);border-radius:var(--radius-md);padding:var(--sp-2);min-width:min(300px,calc(100vw - 24px));max-width:min(22rem,calc(100vw - 24px))}.site-switch-wrap{position:relative;min-width:0;max-width:min(14rem,28vw);flex:0 1 auto}.site-switch-wrap .pop{top:calc(100% + 4px);right:0;left:auto}.search .pop{top:34px;right:0;left:auto}@media(max-width:600px){.search .pop{left:0;right:auto}}.pop a{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius-sm);color:var(--text);text-decoration:none;min-width:0}.pop-site{display:flex;flex-direction:column;min-width:0;flex:1 1 auto;overflow:hidden}.pop-site-name,.pop-site .vendor-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.pop a:hover,.pop a.hl{background:var(--surface-2)}.pop .grp{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:6px 8px 2px}main{grid-column:3;overflow:auto;min-width:0;padding:var(--sp-6) var(--sp-6) var(--sp-9)}.ph{position:relative;display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--sp-5);margin-bottom:var(--sp-5);padding-bottom:var(--sp-4);border-bottom:1px solid var(--border)}.ph:after{content:"";position:absolute;left:0;bottom:-1px;width:32px;height:2px;background:var(--accent);pointer-events:none}.ph-title{flex:1 1 12rem;min-width:0;max-width:100%;overflow-wrap:anywhere}.ph>.ph-title+.spacer{flex:0 0 0}.ph h1{margin:0;font-size:var(--fs-xl);font-weight:600;line-height:var(--lh-tight);overflow-wrap:anywhere}.ph .sub{color:var(--text-muted);font-size:var(--fs-xs);margin-top:2px;overflow-wrap:anywhere;max-width:100%}.sub-meta{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:.4em;max-width:100%;min-width:0}.sub-tz{min-width:0;overflow-wrap:anywhere}.sub-tz .sep{margin-right:.35em}.vendor-name{color:var(--text-muted);font-size:var(--fs-xs);font-weight:400}.ph .vendor-name,.site-cell .vendor-name{display:block;margin-top:2px}.site-cell .vendor-name{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-rename form,.site-rename{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;max-width:100%}.site-rename input{height:30px;min-width:0;width:min(16rem,100%);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text);padding:0 8px;font:inherit}.site-rename input:focus{outline:2px solid var(--focus-ring);outline-offset:2px;border-color:var(--focus-ring)}.site-rename .field-error,.site-rename .rename-status{flex-basis:100%;margin:0}.site-rename .name-count{font-size:var(--fs-2xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.site-switch{max-width:100%;width:100%;min-width:0;overflow:hidden}.site-switch-label{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-error{color:var(--critical);font-size:var(--fs-xs)}input[aria-invalid=true],textarea[aria-invalid=true],select[aria-invalid=true]{border-color:var(--critical)}@media(max-width:1099px){.ph .site-rename{flex:1 0 100%}}.ph .sub a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.sample{display:inline-flex;align-items:center;gap:6px;background:var(--sample-bg);color:var(--sample-fg);font-size:var(--fs-2xs);font-weight:700;letter-spacing:.06em;padding:2px 8px;border-radius:var(--radius-pill);text-transform:uppercase;white-space:nowrap;flex-shrink:0}.ribbon{background:var(--warning-bg);color:var(--text);border:1px solid var(--warning);border-radius:var(--radius-sm);padding:6px 10px;font-size:var(--fs-xs);margin-bottom:var(--sp-5);display:block}.ribbon>span:first-child{margin-right:6px}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--sp-4);margin-bottom:var(--sp-5)}@media(min-width:900px)and (max-width:1279px){.tiles-kpi{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1280px){.tiles-kpi{grid-template-columns:repeat(6,minmax(0,1fr))}}.tile{background:var(--surface);box-shadow:var(--elev-1);border-radius:var(--radius-md);padding:var(--sp-5) var(--sp-5) var(--sp-4);text-decoration:none;color:var(--text);display:block;border-top:3px solid transparent;position:relative}.tile:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.tile .lbl{font-size:var(--fs-xs);color:var(--text-2);display:flex;gap:6px;align-items:center}.tile .val{font-size:var(--fs-2xl);font-weight:600;font-variant-numeric:tabular-nums;margin-top:4px;line-height:1.1}.tile .val small{font-size:var(--fs-sm);color:var(--text-muted);font-weight:400}.tile .meta{font-size:var(--fs-xs);color:var(--text-muted);margin-top:2px}.tile.critical{border-top-color:var(--critical)}.tile.warning{border-top-color:var(--warning)}.tile.healthy{border-top-color:var(--healthy)}.tile.unknown{border-top-color:var(--unknown)}.tile.offline,.tile.neutral,.tile.empty{border-top-color:var(--offline)}.cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:var(--sp-5);align-items:start}.cols>*{min-width:0}@media(max-width:800px){.cols{grid-template-columns:minmax(0,1fr)}}.card{background:var(--surface);box-shadow:var(--elev-1);border-radius:var(--radius-md);overflow:hidden;margin-bottom:var(--sp-5);container-type:inline-size;container-name:obe-card}.card>header{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border)}.card>header h2{margin:0;font-size:var(--fs-md);font-weight:600}.card>header .muted{font-size:var(--fs-xs);min-width:0;white-space:normal}.card .body{padding:var(--sp-5)}.live{font-size:var(--fs-2xs);font-weight:700;letter-spacing:.06em;color:var(--healthy);border:1px solid currentColor;border-radius:var(--radius-pill);padding:0 6px;white-space:nowrap}.stale{font-size:var(--fs-2xs);font-weight:700;letter-spacing:.06em;color:var(--warning);border:1px solid currentColor;border-radius:var(--radius-pill);padding:0 6px}.win{font-size:var(--fs-2xs);color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-pill);padding:0 6px}table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}th{position:sticky;top:0;background:var(--surface-2);color:var(--text-2);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.05em;font-weight:600;text-align:left;padding:0 var(--cell-px);height:30px;white-space:nowrap;border-bottom:1px solid var(--border)}th.r,td.r{text-align:right}th[data-sort]{cursor:pointer}th[data-sort]:hover{color:var(--text)}td{padding:0 var(--cell-px);height:var(--row-h);border-bottom:1px solid var(--border);white-space:nowrap;font-variant-numeric:tabular-nums}tbody tr{cursor:pointer}tbody tr:hover{background:var(--surface-2)}tr.sev-critical td:first-child{box-shadow:inset 3px 0 0 var(--critical)}tr.sev-warning td:first-child{box-shadow:inset 3px 0 0 var(--warning)}tr.sev-offline td:first-child{box-shadow:inset 3px 0 0 var(--offline)}tr.sev-unknown td:first-child{box-shadow:inset 3px 0 0 var(--unknown)}tr.sev-empty td:first-child{box-shadow:inset 3px 0 0 var(--offline)}td.site-cell{white-space:normal;height:auto;min-height:var(--row-h);padding-top:6px;padding-bottom:6px}td.site-cell .name{display:block;line-height:var(--lh-tight)}.site-reason{display:block;margin-top:var(--sp-1);max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-xs);font-weight:400;line-height:var(--lh-tight)}td .name{font-weight:600;color:var(--text)}.trunc{max-width:220px;overflow:hidden;text-overflow:ellipsis;display:inline-block;vertical-align:middle}.collapse-row td{color:var(--text-muted);font-size:var(--fs-xs);cursor:pointer}.badge{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-xs);font-weight:600;padding:1px 8px 1px 6px;border-radius:var(--radius-pill);line-height:18px;white-space:nowrap}.badge i{font-style:normal;font-size:10px;line-height:1}.b-healthy{color:var(--healthy);background:var(--healthy-bg)}.b-warning{color:var(--warning);background:var(--warning-bg)}.b-critical{color:var(--critical);background:var(--critical-bg)}.b-offline{color:var(--offline);background:var(--offline-bg)}.b-unknown{color:var(--unknown);background:var(--unknown-bg)}.b-empty{color:var(--offline);background:var(--offline-bg)}.b-info{color:var(--text);background:transparent;box-shadow:inset 0 0 0 1px var(--border-strong)}.c-healthy{color:var(--healthy)}.c-warning{color:var(--warning)}.c-critical{color:var(--critical)}.c-offline{color:var(--offline)}.c-unknown{color:var(--unknown)}.c-empty,.c-neutral{color:var(--offline)}.chip{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 6px;font-size:var(--fs-xs);color:var(--text-2);line-height:18px}.chip-unifi{border-color:var(--accent-strong);color:var(--accent-strong)}.card caption{caption-side:bottom;text-align:left;padding-top:8px}.realtag{font-size:var(--fs-2xs);color:var(--accent-strong);border:1px solid var(--accent-strong);border-radius:var(--radius-pill);padding:0 5px;margin-left:6px;font-weight:600}.meter{display:inline-flex;align-items:center;gap:6px}.meter .bar{width:56px;height:6px;background:var(--surface-2);border-radius:var(--radius-xs);overflow:hidden;box-shadow:inset 0 0 0 1px var(--border)}.meter .bar span{display:block;height:100%;background:var(--meter-fill)}.meter .bar span.warning{background:var(--warning)}.meter .bar span.critical{background:var(--critical)}.sig{display:inline-flex;gap:1px;align-items:flex-end;height:12px;vertical-align:middle;margin-right:4px}.sig i{width:3px;background:var(--border-strong);border-radius:1px}.sig i.on{background:currentColor}.feed{list-style:none;margin:0;padding:0}.feed li{display:grid;grid-template-columns:18px 1fr auto;gap:8px;padding:8px var(--sp-5);border-bottom:1px solid var(--border);cursor:pointer;align-items:start}.feed li:hover{background:var(--surface-2)}.feed .site{font-size:var(--fs-xs);color:var(--text-2);font-weight:600}.feed .txt{font-size:var(--fs-xs);color:var(--text);white-space:normal}.feed .age{font-size:var(--fs-xs);color:var(--text-muted);white-space:nowrap}.feed li:last-child{border-bottom:0}.kv{display:grid;grid-template-columns:140px 1fr;gap:6px 12px;font-size:var(--fs-sm)}.kv dt{color:var(--text-muted)}.kv dd{margin:0}.toolbar{display:flex;gap:var(--sp-4);align-items:center;padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border);flex-wrap:wrap}.toolbar input{height:28px;width:220px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text);padding:0 8px;font:inherit}.ports{display:grid;grid-template-columns:repeat(10,1fr);gap:6px}.port{border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 4px;text-align:center;font-size:var(--fs-xs);background:var(--surface-2)}.port.up{border-color:var(--healthy);color:var(--healthy);background:var(--healthy-bg)}.port .p{font-weight:700;color:var(--text)}.spark{display:block}.state{padding:var(--sp-9);text-align:center;color:var(--text-2)}.state h2{margin:0 0 6px;color:var(--text);font-size:var(--fs-md);font-weight:600}.skel{background:linear-gradient(90deg,var(--surface-2),var(--border),var(--surface-2));background-size:200% 100%;animation:sk 1.2s infinite;border-radius:var(--radius-sm);height:12px}@keyframes sk{to{background-position:-200% 0}}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);padding:0 var(--sp-5)}.tabs a{padding:10px 12px;color:var(--text-2);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px;font-weight:500}.tabs a.on{color:var(--text);border-bottom-color:var(--accent)}.tabs a[aria-disabled=true],.tabs a.disabled{color:var(--text-muted);border-bottom-color:transparent}.cols>div:last-child th,.cols>div:last-child td{padding:0 6px}.cols>div:last-child th:first-child,.cols>div:last-child td:first-child{padding-left:12px}.scards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(400px,100%),1fr));gap:var(--sp-5)}.scard{background:var(--surface);box-shadow:var(--elev-1);border-radius:var(--radius-md);padding:var(--sp-5);cursor:pointer;border-left:4px solid var(--healthy);display:flex;flex-direction:column;gap:var(--sp-4)}.scard:hover{background:var(--surface-2)}.scard.sev-critical{border-left-color:var(--critical)}.scard.sev-warning{border-left-color:var(--warning)}.scard.sev-unknown{border-left-color:var(--unknown)}.scard.sev-offline,.scard.sev-empty{border-left-color:var(--offline)}.scard header{display:flex;align-items:center;gap:8px}.scard h2{margin:0;font-size:var(--fs-lg);font-weight:600}.scard .issue{font-size:var(--fs-sm);font-weight:500}.scard .srow{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--sp-5);align-items:end}.scard .srow2{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-5)}.scard .srow2.srow-clients{grid-template-columns:1fr}.scard .big{font-size:var(--fs-2xl);font-weight:600;line-height:1.1}.scard .big span{font-size:var(--fs-sm);font-weight:400}.lbl2{font-size:var(--fs-xs);margin-bottom:2px}.stack{display:flex;height:8px;border-radius:var(--radius-xs);overflow:hidden;background:var(--surface-2);margin:6px 0 4px;box-shadow:inset 0 0 0 1px var(--border)}.legend{display:flex;gap:10px;font-size:var(--fs-xs);color:var(--text-2)}.legend i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:4px;vertical-align:baseline}.types{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;text-align:center}.tcount{background:var(--surface-2);border-radius:var(--radius-sm);padding:6px 4px;font-size:var(--fs-xs)}.tcount .num{font-size:var(--fs-lg)}.scard footer{display:flex;gap:var(--sp-5);align-items:center;font-size:var(--fs-xs);border-top:1px solid var(--border);padding-top:var(--sp-4);flex-wrap:wrap}.nearempty{background:var(--surface-2);color:var(--text);border-radius:var(--radius-sm);padding:10px 12px;font-size:var(--fs-xs)}.grp-row td,.grp-row th{position:static;background:var(--bg);font-size:var(--fs-xs);font-weight:600;color:var(--text-2);height:28px;cursor:default;text-transform:none;letter-spacing:0}tbody tr.grp-row:hover{background:var(--bg)}.count-w{background:var(--offline-bg);color:var(--offline)}.kv-raw{grid-template-columns:150px 1fr;font-size:var(--fs-xs)}.kv-raw dd{word-break:break-all}.cols2{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-5)}.legend span{white-space:nowrap}.srows .stack{width:90px;margin:3px 0 2px}#site-btn-label{display:inline-block;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.subnav .ctl{min-width:0}.subnav .ctl .ctl-l{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.fwb{font-family:var(--font-sans);padding:0 5px}.notlive{font-size:10px;white-space:nowrap}.srows{--cell-px:6px!important}@media(max-width:1280px){.fresh-auto{display:none}}@media(max-width:1099px){.search{flex:0 0 30px;min-width:30px;max-width:30px}.search input{color:transparent;cursor:pointer;padding-right:0}.search input::placeholder{color:transparent}.search:focus-within{flex-basis:220px;max-width:240px}.search:focus-within input{color:var(--text);cursor:text;padding-right:10px}.search:focus-within input::placeholder{color:var(--text-muted)}}.srows-frame{position:relative}.srows-scroll{overflow-x:auto}.srows-scroll table{width:max-content;min-width:100%}.srows-frame.over:after{content:"";position:absolute;top:0;right:0;bottom:0;width:24px;pointer-events:none;z-index:6;background:linear-gradient(to right,transparent,var(--surface))}.srows-scroll{--status-w:108px}.srows-scroll th:first-child,.srows-scroll td:first-child,.srows-scroll th:nth-child(2),.srows-scroll td:nth-child(2){position:sticky;z-index:2;background:var(--surface)}.srows-scroll th:first-child,.srows-scroll td:first-child{left:0;width:var(--status-w);min-width:var(--status-w);max-width:var(--status-w)}.srows-scroll th:nth-child(2),.srows-scroll td:nth-child(2){left:var(--status-w);min-width:160px;box-shadow:8px 0 8px -8px #00000073}.srows-scroll th:first-child,.srows-scroll th:nth-child(2){background:var(--surface-2);z-index:4}.srows-scroll tbody tr:hover td:first-child,.srows-scroll tbody tr:hover td:nth-child(2){background:var(--surface-2)}@media(max-width:1024px){.cols-fleet{grid-template-columns:minmax(0,1fr)}}.b-err{background:transparent;border:1px dashed var(--warning);color:var(--warning)}.rawn{font-size:11px;color:var(--text-2);border-bottom:1px dotted var(--text-3)}.chip-mod{display:inline-block;font-size:10px;padding:0 6px;border-radius:var(--r-pill,999px);border:1px solid var(--border);color:var(--text-2);line-height:16px}.helptext{font-size:12px;margin:8px 2px}#root{height:100%}.rail .disabled{width:52px;padding:var(--sp-3) 0;border-radius:var(--radius-md);color:var(--text-muted);display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10px;opacity:.55;cursor:not-allowed}.rail .disabled svg{width:20px;height:20px}.banner{border-radius:var(--radius-sm);padding:8px 12px;font-size:var(--fs-xs);margin-bottom:var(--sp-5)}.banner.critical{background:var(--critical-bg);border:1px solid var(--critical)}.banner.info{background:var(--surface-2);border:1px solid var(--border-strong);box-shadow:inset 2px 0 0 var(--accent)}.banner.warning{background:var(--warning-bg);border:1px solid var(--warning)}.dimmed{opacity:.55}.rawn{border-bottom:1px dotted var(--text-muted);cursor:help}.srow-link{display:contents;color:inherit;text-decoration:none}tr.rowlink{cursor:pointer}tr.rowlink:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.empty-site{padding:var(--sp-8)}.skip{position:absolute;left:-999px;top:8px}.skip:focus{left:8px;z-index:40;background:var(--surface);color:var(--text);padding:8px 12px}tr.rowlink,.scard,.feed li{position:relative}a.stretch{color:inherit;text-decoration:none}a.stretch:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}a.name{color:var(--text);text-decoration:none}a.inner,button.inner{position:relative;z-index:1}.btn.on{background:var(--accent-subtle);color:var(--accent-strong);border-color:var(--accent-strong)}.btn.on:hover{background:var(--accent-subtle-hover);color:var(--accent-strong);border-color:var(--accent-strong)}.btn.on:active{background:var(--accent-subtle-pressed)}.btn.on[disabled],.btn.on[aria-disabled=true]{background:var(--surface);color:var(--text-muted);border-color:var(--border)}.stale{font-size:var(--fs-2xs);font-weight:700;letter-spacing:.06em;color:var(--warning);border:1px solid currentColor;border-radius:var(--radius-pill);padding:0 6px;white-space:nowrap;flex-shrink:0;position:relative}.stale-narrow{display:none}@container obe-card (max-width: 36rem){.stale-narrow{display:inline}.stale-full{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}@media(max-width:720px){.card>header{flex-wrap:wrap}}.assumed{font-size:10px;color:var(--text-2);border:1px dashed var(--border-strong);border-radius:var(--radius-pill);padding:0 5px;white-space:nowrap}.topo-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--sp-5);align-items:start}.topo-grid.one{grid-template-columns:minmax(0,1fr)}.topo-panel{position:sticky;top:0}@media(max-width:1359px){.topo-grid{grid-template-columns:minmax(0,1fr)}.topo-panel{position:static}}.topo-card>header{flex-wrap:wrap;row-gap:6px}.topo-canvas{overflow:auto;background-color:var(--surface);background-image:radial-gradient(var(--border) 1px,transparent 1.2px);background-size:16px 16px;position:relative}.topo-canvas svg{display:block;margin:0 auto;overflow:visible}.topo-canvas text{font-family:var(--font-sans)}.topo-note{margin:0 var(--sp-5) var(--sp-5)}.topo-foot{font-size:var(--fs-xs);padding:6px var(--sp-5);border-top:1px solid var(--border)}.tlegend{display:flex;gap:12px;align-items:center;font-size:11px;color:var(--text-2);flex-wrap:wrap}.tlegend>span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.tlegend .dot{display:inline-block;width:8px;height:8px;border-radius:50%}.dot-healthy{background:var(--healthy)}.dot-warning{background:var(--warning)}.dot-critical{background:var(--critical)}.tn,.te,.tmore,.tchip{cursor:pointer;outline:none}.tn-ring,.te-ring{fill:none;stroke:none}.tn:focus-visible .tn-ring,.te:focus-visible .te-ring,.tmore:focus-visible .tm-box{stroke:var(--focus-ring);stroke-width:2}.tn-box{fill:var(--surface-2);stroke:var(--border-strong);stroke-width:1}.tn:hover .tn-box{stroke:var(--text-muted)}.tn-stripe{fill:var(--healthy)}.tn .tico{color:var(--text-2)}.tn-name{fill:var(--text);font-size:13px;font-weight:600}.tr .tn-name{font-size:12px}.tn-st{font-size:11px;fill:var(--healthy);font-weight:600}.tn-model{fill:var(--text-muted);font-weight:400}.tn-off .tn-box{fill:var(--offline-bg);stroke:var(--offline);stroke-dasharray:4 3}.tn-off .tn-stripe,.tn-off .tn-st{fill:var(--offline)}.tn-off .tn-name,.tn-off .tn-model{fill:var(--text-2)}.tn-off .tico{color:var(--offline)}.tn-pend .tn-stripe,.tn-pend .tn-st{fill:var(--unknown)}.tn-pend .tn-box{stroke:var(--unknown)}.tn-err .tn-stripe,.tn-err .tn-st{fill:var(--warning)}.tn-err .tn-box{stroke:var(--warning);stroke-dasharray:4 3}.tn-unk .tn-box{fill:var(--surface-2);stroke:var(--text-muted);stroke-dasharray:4 3}.tn-unk .tn-stripe,.tn-unk .tn-st{fill:var(--text-muted)}.tn-unk .tn-name{fill:var(--text-2)}.tn-unk .tico{color:var(--text-muted)}.tn.sel .tn-box{stroke:var(--accent-strong);stroke-width:2;stroke-dasharray:none}.tn-unk.sel .tn-box{stroke-dasharray:4 3}.tchip.sel{border-color:var(--accent-strong);border-style:solid}.te-hit{fill:none;stroke:transparent;stroke-width:14}.te-line{fill:none;stroke:var(--text-muted);stroke-width:2}.te-mesh .te-line{stroke-dasharray:7 5}.sig-healthy .te-line{stroke:var(--healthy)}.sig-warning .te-line{stroke:var(--warning)}.sig-critical .te-line{stroke:var(--critical)}.sig-unknown .te-line{stroke:var(--unknown)}.te-down .te-line{stroke:var(--offline);stroke-width:1.5}.te-unknown .te-line{stroke:var(--text-muted);stroke-width:2}.te-unknown .pt,.te-unknown .pi{fill:var(--text-muted);color:var(--text-muted)}.te:hover .te-line,.te.sel .te-line{stroke-width:3}.te.sel .te-line{stroke:var(--accent-strong)}.te-pill .pr{fill:var(--surface-2);stroke:var(--border-strong)}.te.sel .te-pill .pr{stroke:var(--accent-strong);stroke-width:2}.pt{font-size:11px;fill:var(--text-2);font-variant-numeric:tabular-nums}.pb{fill:var(--text-2)}.pi{color:var(--text-2)}.sig-healthy .pt,.sig-healthy .pi{fill:var(--healthy);color:var(--healthy)}.sig-warning .pt,.sig-warning .pi{fill:var(--warning);color:var(--warning)}.sig-critical .pt,.sig-critical .pi{fill:var(--critical);color:var(--critical)}.pi path{fill:none}.te-warn .pt{fill:var(--warning)}.te-warn .pr{stroke:var(--warning)}.te-down .pt,.te-down .pi{fill:var(--offline);color:var(--offline)}.tmore .tm-box{fill:transparent;stroke:var(--border-strong);stroke-dasharray:3 3}.tmore text{fill:var(--accent-strong);font-size:12px;font-weight:600}.tt-fo{overflow:visible;pointer-events:none}.tt-card{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:10px 12px;width:250px;font-size:var(--fs-xs);color:var(--text);box-shadow:var(--elev-3)}.tt-card h4,.topo-panel h4{margin:0 0 8px;font-size:var(--fs-sm)}.tkv{display:grid;grid-template-columns:92px minmax(0,1fr);gap:4px 10px;margin:0;font-size:var(--fs-xs)}.tkv dt{color:var(--text-muted)}.tkv dd{margin:0}.tt-hint{margin-top:8px;color:var(--text-muted);font-size:11px}.tp-actions{display:flex;gap:12px;align-items:center;margin-top:12px;flex-wrap:wrap}.tp-help{font-size:12px;margin:12px 0 0}.tray{display:flex;flex-wrap:wrap;gap:8px;padding:var(--sp-5)}.tchip{display:grid;gap:2px;min-width:200px;padding:7px 10px;border-radius:var(--radius-md);border:1px dashed var(--offline);background:var(--offline-bg);font-size:var(--fs-xs);color:var(--text)}tr.tsel td{background:var(--accent-subtle)}tr.tsel:not([class*=sev-]) td:first-child{box-shadow:inset 2px 0 0 var(--accent)}.tskel{padding:32px}.minimap{display:block;padding:10px 12px}.minimap svg{display:block;width:100%;height:auto;max-height:150px}.table-scroll{overflow:auto}.linkish{background:none;border:0;padding:0;color:var(--accent-strong);font:inherit;cursor:pointer}.linkish:hover{color:var(--accent-strong-hover);text-decoration:underline}.t-ind-0{padding-left:0}.t-ind-1{padding-left:18px}.t-ind-2{padding-left:36px}.t-ind-3{padding-left:54px}.t-ind-4{padding-left:72px}.t-ind-5{padding-left:90px}.t-ind-6{padding-left:108px}.t-ind-7{padding-left:126px}.t-ind-8{padding-left:144px}.gate{min-height:100vh;display:grid;place-items:center;padding:var(--sp-8);background:var(--bg)}.gate-card{width:min(440px,100%);background:var(--surface);box-shadow:var(--elev-2);border-radius:var(--radius-lg);padding:var(--sp-8)}.gate-mark{margin:0 0 var(--sp-4);font-size:var(--fs-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-strong)}.gate-card h1{margin:0;font-size:var(--fs-xl);font-weight:600}.gate-card label{display:block;margin:var(--sp-5) 0 var(--sp-2);font-size:var(--fs-xs);color:var(--text-2)}.gate-card input{width:100%;height:36px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text);padding:0 10px;font:inherit}.gate-card input.mono{font-family:var(--font-mono);font-size:var(--fs-xs)}.gate-actions{display:flex;flex-wrap:wrap;gap:var(--sp-4);margin-top:var(--sp-6)}.gate .note{color:var(--text-muted);font-size:var(--fs-xs);margin:var(--sp-4) 0 0}.gate-error{color:var(--critical);font-size:var(--fs-xs);margin:var(--sp-4) 0 0}.gate a.btn{text-decoration:none}.gate .btn{min-height:var(--btn-h);height:auto}.gate .btn.on{border-color:var(--accent-strong)}.gate .btn:disabled,.gate .btn[aria-disabled=true],.gate .btn.on:disabled,.gate .btn.on[aria-disabled=true]{background:var(--surface);color:var(--text-muted);border-color:var(--border);cursor:not-allowed}.gate-alert{margin-top:var(--sp-5);background:var(--critical-bg);color:var(--text);border:1px solid var(--critical);border-radius:var(--radius-sm);padding:var(--sp-4) var(--sp-5)}.gate-alert-title{margin:0;display:flex;gap:8px;align-items:flex-start;font-weight:600}.gate-alert-icon{color:var(--critical);flex:0 0 auto}.gate-alert-reason{margin:var(--sp-2) 0 0;font-size:var(--fs-2xs);color:var(--text-muted)}.gate-notice{margin:var(--sp-4) 0 0;padding:var(--sp-3) var(--sp-4);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text)}.gate-slow{margin:var(--sp-4) 0 0;padding:var(--sp-3) var(--sp-4);border:0;border-radius:var(--radius-sm);background:var(--warning-bg);color:var(--text);display:flex;gap:8px;align-items:flex-start;font-size:var(--fs-xs)}.gate-slow-icon{width:14px;height:14px;flex:0 0 auto;margin-top:1px;color:var(--warning)}.gate-slow-copy{display:flex;flex-direction:column;gap:2px}.gate-help{margin:var(--sp-2) 0 0;font-size:var(--fs-xs);color:var(--text-muted)}.gate-field{display:flex;align-items:center;gap:var(--sp-4)}.gate-field input{flex:1;min-width:0}.gate-link{background:none;border:0;padding:0;color:var(--accent-strong);font:inherit;cursor:pointer}.gate-link:hover{color:var(--accent-strong-hover);text-decoration:underline}.sample-pill{font-size:var(--fs-2xs);font-weight:700;letter-spacing:.06em;color:var(--offline);border:1px solid currentColor;border-radius:var(--radius-pill);padding:0 6px;white-space:nowrap}.no-access{font-size:var(--fs-2xs);font-weight:700;letter-spacing:.06em;color:var(--critical);border:1px solid currentColor;border-radius:var(--radius-pill);padding:0 6px;white-space:nowrap}.reboot-slot{display:flex;flex-direction:column;align-items:flex-end;gap:4px;max-width:28rem}.reboot-actions{display:flex;align-items:center;gap:8px}.reboot-sample{font-size:var(--fs-2xs);font-weight:700;letter-spacing:.04em;color:var(--sample-fg);background:var(--sample-bg);border-radius:var(--radius-pill);padding:2px 8px;white-space:nowrap}.reboot-helper,.reboot-stale{margin:0 0 var(--sp-4);color:var(--text-2);font-size:var(--fs-xs)}.reboot-slot .reboot-helper{margin:0;text-align:right}.reboot-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#00000073;display:grid;place-items:center;padding:24px}.reboot-dialog{width:min(32rem,100%);background:var(--surface);color:var(--text);border-radius:var(--radius-md);box-shadow:var(--elev-2);padding:var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-4)}.reboot-dialog h2{margin:0;font-size:var(--fs-lg);font-weight:600}.reboot-dialog form{display:flex;flex-direction:column;gap:8px}.reboot-dialog p{margin:0;color:var(--text)}.reboot-dialog .t2{color:var(--text-2)}.reboot-dialog label{font-size:var(--fs-sm);color:var(--text)}.confirm-chip{display:inline-block;border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap;line-height:1.4}.reboot-dialog input{width:100%;border:1px solid var(--text-muted);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);padding:0 10px;font:inherit}.reboot-dialog input:read-only{color:var(--text-muted);background:var(--surface)}.reboot-alert{display:flex;align-items:flex-start;gap:6px}.reboot-critical{color:var(--critical);width:16px;height:16px;flex:0 0 auto;margin-top:2px}.crumb-ellipsis{flex:0 0 auto;color:var(--text-2)}.reboot-dialog input:focus{outline:2px solid var(--focus-ring);outline-offset:2px;border-color:var(--focus-ring)}.reboot-dialog .btn,.reboot-dialog input{min-height:var(--btn-h)}.reboot-dialog .actions{display:flex;justify-content:flex-end;gap:8px}.reboot-dialog .field-error{color:var(--critical);font-size:var(--fs-xs)}.reboot-code{display:block;margin-top:4px;color:var(--text-muted);font-size:var(--fs-xs)}.ssid-note{margin:0 0 var(--sp-3);max-width:70ch}.ssid-help{margin:0 0 var(--sp-5);max-width:70ch;font-size:var(--fs-xs);color:var(--text-2)}.card>.ssid-help{padding:var(--sp-3) var(--sp-5) 0}.ssid-help summary{cursor:pointer;color:var(--text-muted);min-height:24px;display:inline-flex;align-items:center}.ssid-card{margin-bottom:var(--sp-6)}.ssid-card>header h2:focus{outline:2px solid var(--focus-ring);outline-offset:2px}.ssid-card>header a{color:inherit;text-decoration:none}.ssid-card>header a:hover{color:var(--accent-strong-hover)}.ssid-figure{margin:0}.ssid-figure figcaption{margin:0 0 var(--sp-4);font-size:var(--fs-xs);color:var(--text-2);max-width:70ch}.ssid-legend{display:flex;flex-wrap:wrap;gap:var(--sp-3) var(--sp-4);margin:0 0 var(--sp-3);padding:0;list-style:none;align-items:center}.ssid-legend-btn{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:inherit;font:inherit;padding:2px 4px;border-radius:var(--radius-sm);cursor:pointer;min-height:24px}@media(pointer:coarse){.ssid-legend-btn,.ssid-table-details summary,.ssid-help summary{min-height:44px}}.ssid-legend-btn[aria-pressed=false]{opacity:.45;text-decoration:line-through}.ssid-legend-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ssid-legend-note{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-xs);color:var(--text-2)}.ssid-swatch{width:18px;height:0;border-top:3px solid;border-radius:2px;display:inline-block}.ssid-swatch-dashed{border-top-style:dashed}.ssid-swatch-dotted{border-top-style:dotted}.ssid-swatch-hatch{width:18px;height:10px;border:0;border-radius:2px;background:repeating-linear-gradient(45deg,transparent,transparent 2px,var(--text-muted) 2px,var(--text-muted) 3px)}.ssid-readout{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;min-height:1.6em;margin:0 0 var(--sp-3);font-size:var(--fs-xs);font-variant-numeric:tabular-nums}.ssid-readout-item{display:inline-flex;align-items:center;gap:6px}.ssid-chart-scroll{position:relative;overflow-x:auto;max-width:100%}.ssid-chart-scroll:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ssid-chart{display:block;min-width:560px;height:240px}.ssid-plot-hit{position:absolute;left:0;top:0;cursor:crosshair}.ssid-grid{stroke:var(--border);stroke-width:1}.ssid-cursor{stroke:var(--text-muted);stroke-width:1}.ssid-axis,.ssid-end{font-size:var(--fs-xs);font-family:var(--font-sans)}.ssid-axis{fill:var(--text-muted)}.ssid-skeleton{height:240px;border-radius:var(--radius-sm);background:var(--surface-2)}.ssid-legend-skel{height:16px;width:40%;margin-bottom:var(--sp-4);border-radius:var(--radius-sm);background:var(--surface-2)}.ssid-table-details{margin-top:var(--sp-4)}.ssid-table-details summary{cursor:pointer;font-size:var(--fs-xs);color:var(--text-2)}.ssid-table-wrap{max-height:280px;overflow:auto;margin-top:var(--sp-3);border-top:1px solid var(--border)}.ssid-table-wrap:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ssid-table-wrap tbody th{position:static;background:none;text-transform:none;letter-spacing:0;font-weight:400;font-size:var(--fs-xs);color:var(--text-2);font-variant-numeric:tabular-nums}.ssid-table-wrap td.r,.ssid-table-wrap tbody th{font-variant-numeric:tabular-nums}.ssid-live{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:no-preference){.ssid-line{transition:opacity var(--dur-fast) var(--ease),stroke-width var(--dur-fast) var(--ease)}.rail a,.subnav a,.btn.on{transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}}.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}.admin-scroll{overflow-x:auto;max-width:100%;min-width:0}.admin-table tbody tr{cursor:default}.admin-table td{white-space:normal;height:auto;padding-top:6px;padding-bottom:6px}.admin-table .name{font-weight:600;margin-right:8px}.admin-actions{white-space:normal}.admin-actions .btn{margin:0 8px 8px 0;white-space:normal;height:auto;min-height:30px}.admin-dialog .actions{flex-wrap:wrap}.admin-row-note{color:var(--text-2);font-size:var(--fs-xs)}.admin-form{display:flex;flex-direction:column;max-width:36rem}.admin-form label,.admin-form legend{display:block;margin:12px 0 4px;font-size:var(--fs-xs);color:var(--text-2)}.admin-form input:not([type=checkbox]):not([type=radio]),.admin-form select{width:100%;height:36px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text);padding:0 10px;font:inherit}.admin-form input:focus,.admin-form select:focus{outline:2px solid var(--focus-ring);outline-offset:2px;border-color:var(--focus-ring)}.admin-form input:not([type=checkbox]):not([type=radio])[aria-invalid=true]{border-color:var(--critical)}.admin-form input:disabled,.admin-form select:disabled{color:var(--text-2);background:var(--surface)}.admin-form fieldset{border:0;margin:12px 0 0;padding:0}.admin-form .admin-choice{display:flex;align-items:center;gap:8px;margin:4px 0;color:var(--text);font-size:var(--fs-sm)}.admin-dialog .admin-choice input{height:16px;width:16px;min-height:16px;margin:0;flex:0 0 auto}.admin-actions-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.admin-dialog{max-height:calc(100vh - 48px);overflow:auto}.admin-dialog .actions{position:sticky;bottom:0;flex-direction:column;align-items:flex-end;background:var(--surface);padding-top:8px;z-index:1}.admin-action-row{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;width:100%}.admin-link{background:none;border:0;padding:0 4px;color:var(--accent-strong);font:inherit;cursor:pointer;min-height:var(--btn-h)}.admin-link:hover{color:var(--accent-strong-hover);text-decoration:underline}.admin-link:disabled{color:var(--text-muted);cursor:not-allowed}.admin-help,.admin-summary{margin:4px 0 0;color:var(--text-2);font-size:var(--fs-xs)}.admin-summary{color:var(--text);font-size:var(--fs-sm)}.admin-person{padding:12px 12px 4px;border-top:1px solid var(--border)}.admin-person h2{margin:0 0 4px;font-size:var(--fs-md);font-weight:600}.admin-cards .admin-actions{display:flex;flex-wrap:wrap;gap:8px}.admin-form.card{max-width:36rem}.subnav-scroll{display:contents}@media(max-width:1023px){.app{grid-template-rows:auto minmax(0,1fr)}.app .top{flex-wrap:wrap;row-gap:8px;height:auto;min-height:var(--topbar-h)}}@media(max-width:720px){.app{height:auto;min-height:100vh;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto}.app .rail{grid-row:1;grid-column:1;flex-direction:row;width:auto;overflow-x:auto;border-right:0;border-bottom:1px solid var(--border);padding:6px}.app .rail .logo{margin:0 6px 0 0}.app .rail a.on{box-shadow:inset 0 -2px 0 var(--accent)}html,body{height:auto;min-height:100%}.app .subnav{grid-row:2;grid-column:1;position:relative;display:block;height:auto;overflow:visible;border-right:0;border-bottom:1px solid var(--border);padding:6px 8px 32px}.app .subnav-scroll{display:flex;flex-wrap:nowrap;overflow-x:auto;align-items:center;gap:4px}.app .subnav-scroll>div{display:flex;flex:0 0 auto;flex-wrap:nowrap;align-items:center;gap:4px}.app .subnav h6{margin:0 8px 0 0;flex:0 0 auto;white-space:nowrap}.app .subnav a,.app .subnav .soon{flex:0 0 auto;white-space:nowrap}.app .subnav .ctl{position:absolute;left:8px;right:8px;bottom:4px;margin:0}.app .subnav a.on{box-shadow:inset 0 -2px 0 var(--accent)}.app .top{grid-row:3;grid-column:1;flex-wrap:wrap;overflow:visible;height:auto;min-height:var(--topbar-h);padding:8px;row-gap:8px}.app main{grid-row:4;grid-column:1;overflow:visible}}@media(max-width:720px)and (prefers-contrast:more){.app .rail a.on,.app .subnav a.on{box-shadow:inset 0 -3px 0 var(--accent-strong)}}@media(max-width:720px)and (forced-colors:active){.app .rail a.on,.app .subnav a.on{box-shadow:none;border-left:0;border-bottom:2px solid Highlight;forced-color-adjust:none}}@media(max-width:720px){.admin-app{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr)}.admin-app .rail{grid-row:1;grid-column:1;flex-direction:row;width:auto;overflow-x:auto;border-right:0;border-bottom:1px solid var(--border);padding:6px}.admin-app .rail a.on{box-shadow:inset 0 -2px 0 var(--accent)}.admin-app .logo{margin:0 6px 0 0}.admin-app .subnav{display:none}.admin-app .top{grid-row:2;grid-column:1;flex-wrap:wrap;height:auto;min-height:var(--topbar-h);padding:8px}.admin-app main{grid-row:3;grid-column:1}.admin-cards .admin-actions{flex-direction:row}}@media(prefers-contrast:more){.rail a.on,.subnav a.on{box-shadow:inset 3px 0 0 var(--accent-strong)}main a:where(:not(.btn,.stretch,.name,.srow-link,.crumb)){text-decoration-color:currentColor}.btn.on{border-width:2px}}@media(forced-colors:active){.app:before,.ph:after{display:none}.rail a.on,.subnav a.on{box-shadow:none;border-left:2px solid Highlight;background:Canvas;color:CanvasText;forced-color-adjust:none}.subnav a.on{padding-left:calc(var(--sp-4) - 2px)}.rail a.on{padding-left:0}.btn.on{border:1px solid ButtonText}.tabs a.on{border-bottom-color:Highlight}main a:where(:not(.btn,.stretch,.name,.srow-link,.crumb)){text-decoration-color:currentColor}.b-info{border:1px solid CanvasText;box-shadow:none}}.unifi-topology .ph{flex-wrap:wrap;align-items:flex-start}.unifi-ext{display:inline-block;vertical-align:-2px;margin-left:4px}.unifi-limit{margin:0;background:var(--surface-2);color:var(--text);border:1px solid var(--border-strong);box-shadow:inset 2px 0 0 var(--accent);border-radius:var(--radius-sm);padding:10px 12px;font-size:var(--fs-xs)}.unifi-limit a{color:var(--accent-strong);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:var(--link-underline);white-space:nowrap}@supports (text-decoration-color: color-mix(in srgb,red 50%,transparent)){.unifi-limit a{text-decoration-color:color-mix(in srgb,var(--accent-strong) 55%,transparent)}}.unifi-limit a:hover{color:var(--accent-strong-hover);text-decoration-color:currentColor}.unifi-wan-strip{margin:0;width:100%;font-size:var(--fs-xs);font-variant-numeric:tabular-nums;white-space:nowrap}.unifi-roles{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-5);padding:var(--sp-4) var(--sp-5) var(--sp-5)}@media(max-width:1023px){.unifi-wan-strip{white-space:normal}}@media(min-width:1024px){.unifi-roles{grid-template-columns:repeat(3,minmax(0,1fr))}.unifi-roles.has-other{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:1360px){.unifi-roles{grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(0,1.6fr)}.unifi-roles.has-other{grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(0,1.6fr) minmax(0,1fr)}.unifi-group-ap .unifi-nodes{grid-template-columns:repeat(auto-fill,minmax(168px,1fr))}}.unifi-group h3{margin:0 0 var(--sp-3);font-size:var(--fs-sm);font-weight:600}.unifi-nodes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:8px}.unifi-node{display:flex;align-items:stretch;width:100%;min-height:52px;padding:0;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:inherit;font:inherit;text-align:left;cursor:pointer}.unifi-node:hover{border-color:var(--border-strong)}.unifi-node.on{border-color:var(--accent-strong)}.unifi-node:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.unifi-node-stripe{width:4px;flex:none;background:var(--offline)}.unifi-node.tone-online .unifi-node-stripe{background:var(--healthy)}.unifi-node.tone-pending .unifi-node-stripe{background:var(--unknown)}.unifi-node.tone-error .unifi-node-stripe{background:var(--warning)}.unifi-node-body{display:flex;align-items:flex-start;gap:8px;min-width:0;padding:8px 10px}.unifi-node-icon{flex:none;width:16px;height:16px;margin-top:1px;color:var(--text-2)}.unifi-node-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.unifi-node-name{font-size:13px;font-weight:600;line-height:1.2}.unifi-node-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:var(--fs-xs);color:var(--text-2)}.unifi-node-model{display:block;color:var(--text-2);font-size:var(--fs-xs)}.unifi-console{margin-left:6px}.unifi-more{justify-self:start;margin-top:8px}.unifi-role-line{margin:0 0 8px;font-size:var(--fs-xs)}.unifi-role-line span+span:before{content:" · "}
