@font-face{font-family:Unbounded;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/unbounded-latin-500-normal-4slEIF53.woff2) format("woff2"),url(/assets/unbounded-latin-500-normal-ZsrgWWU1.woff) format("woff")}@font-face{font-family:Unbounded;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/unbounded-cyrillic-500-normal-vuFlZByi.woff2) format("woff2"),url(/assets/unbounded-cyrillic-500-normal-CRDmNtZY.woff) format("woff")}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/golos-text-latin-400-normal-Coi1FYaD.woff2) format("woff2"),url(/assets/golos-text-latin-400-normal-DOuJOmdK.woff) format("woff")}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/golos-text-cyrillic-400-normal-C7us6pn1.woff2) format("woff2"),url(/assets/golos-text-cyrillic-400-normal-BwL4n7Pb.woff) format("woff")}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/golos-text-latin-500-normal-BznAvurO.woff2) format("woff2"),url(/assets/golos-text-latin-500-normal-BQo4s7Kn.woff) format("woff")}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/golos-text-cyrillic-500-normal-BSLQUuP1.woff2) format("woff2"),url(/assets/golos-text-cyrillic-500-normal-hXinzVVQ.woff) format("woff")}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/golos-text-latin-600-normal-Bhk8uV1U.woff2) format("woff2"),url(/assets/golos-text-latin-600-normal-B_o32mE8.woff) format("woff")}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/golos-text-cyrillic-600-normal-lpQ9rVRR.woff2) format("woff2"),url(/assets/golos-text-cyrillic-600-normal-BgvEFMNR.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-cyrillic-500-normal-DmUKJPL_.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-500-normal-DJqRU3vO.woff) format("woff")}:root{color-scheme:dark;--bg: #111111;--surface: #171717;--surface-2: #1f1f1f;--surface-3: #2a2a2a;--input-bg: #131313;--track: #2c2c2c;--overlay: rgb(5 5 5 / 72%);--border: rgb(237 235 232 / 8%);--border-control: rgb(237 235 232 / 12%);--border-strong: rgb(237 235 232 / 24%);--underline: rgb(237 235 232 / 32%);--fg: #edebe8;--fg-2: #aaa7a3;--muted: #8e8b87;--fg-hover: #ffffff;--off: #6f6d6a;--disabled: #6f6d6a;--accent: #ff5a36;--accent-hover: #ff6e4e;--on-accent: #1a0703;--accent-text: #ff8a6e;--accent-line: rgb(255 90 54 / 40%);--accent-10: rgb(255 90 54 / 10%);--down-fg: #ff7a5c;--up-fg: #9dbbff;--ok: #4cc38a;--ok-fg: #62d09c;--ok-text: #62d09c;--ok-bg: rgb(76 195 138 / 7%);--ok-line: rgb(76 195 138 / 35%);--warn: #e8ab3a;--warn-fg: #edba5c;--warn-text: #edba5c;--warn-bg: rgb(232 171 58 / 7%);--warn-line: rgb(232 171 58 / 35%);--danger: #e5484d;--danger-fg: #f2777b;--danger-hover: #f79195;--danger-text: #f2777b;--danger-bg: rgb(229 72 77 / 8%);--danger-line: rgb(229 72 77 / 40%);--danger-row: rgb(229 72 77 / 6%);--axis: #8e8b87;--cursor: #5c5c5c;--strip-up: #2f9e6e;--strip-down: #e5484d;--strip-off: #2c2c2c;--strip-none: #1f1f1f;--r-card: 16px;--r-tile: 10px;--r-ctl: 8px;--r-sm: 6px;--r-chip: 4px;--shadow-modal: 0 24px 64px rgb(0 0 0 / 50%);--shadow-tip: 0 12px 32px rgb(0 0 0 / 50%);--ticks: repeating-linear-gradient(90deg, #000 0 3px, transparent 3px 5px);--ease: cubic-bezier(.22, 1, .36, 1);--font: "Golos Text", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display: Unbounded, system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;--gutter: 32px;--content: 1400px;font-family:var(--font);font-size:14px;line-height:1.45;font-variant-numeric:tabular-nums;background:var(--bg);color:var(--fg);-webkit-text-size-adjust:100%}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;color:var(--fg);background-color:var(--bg)}body{min-height:100vh}h1,h2,h3{margin:0;color:var(--fg);font-family:var(--font);font-weight:500}h1{font-family:var(--font-display);font-size:32px;line-height:1.15;letter-spacing:-.02em}h2{font-size:16px;line-height:1.4}h3{font-size:14px;line-height:1.4}h3.label{font-size:14px}p{margin:0}a{color:var(--fg);text-decoration:none}a:hover{color:var(--fg-hover)}.ulink,p a:not([class]),.hint a:not([class]),.field-hint a:not([class]),.notice-text a:not([class]),.empty-body a:not([class]),.deflist dd a:not([class]),.fld dd a:not([class]),.modal-text a:not([class]){text-decoration:underline;text-decoration-color:var(--underline);text-underline-offset:4px}.ulink-soft{color:var(--fg-2);font-size:14px;font-weight:500;text-decoration:underline;text-decoration-color:var(--underline);text-underline-offset:5px}strong,b{font-weight:600}code,kbd,.mono{font-family:var(--font-mono);font-size:13px}pre{margin:0}button,input,select,textarea{font:inherit;color:inherit}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}svg{flex:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::selection{background:#ff5a3659}.num{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.strong{font-weight:500}.sub{margin-top:2px;font-size:13px;color:var(--muted)}a.sub:hover{color:var(--fg-2)}.note{font-size:13px;color:var(--muted)}.text-danger{color:var(--danger-fg)!important}.text-warn{color:var(--warn-fg)!important}.text-ok{color:var(--ok-fg)!important}.text-down{color:var(--fg)}.text-up{color:var(--fg-2)}.lead{font-size:14px;color:var(--fg-2)}.nowrap{white-space:nowrap}.clamp{display:-webkit-box;max-width:320px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.stack{display:flex;flex-direction:column;gap:16px;min-width:0}.stack-sm{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0}.inline{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px}.plain-list{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.cols{--cols-min: 240px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(var(--cols-min),100%),1fr));gap:16px;min-width:0}.cols-tight{gap:12px}.cols-190{--cols-min: 190px}.cols-200{--cols-min: 200px}.cols-210{--cols-min: 210px}.cols-220{--cols-min: 220px}.cols-230{--cols-min: 230px}.cols-240{--cols-min: 240px}.cols-250{--cols-min: 250px}.cols-260{--cols-min: 260px}.cols-280{--cols-min: 280px}.cols-340{--cols-min: 340px}.cols-360{--cols-min: 360px}.cols-380{--cols-min: 380px}.cols-400{--cols-min: 400px}.cols-460{--cols-min: 460px}.cols-520{--cols-min: 520px}.split,.grid-2{display:flex;flex-wrap:wrap;align-items:flex-start;gap:16px;min-width:0}.split>*,.grid-2>*{flex:1 1 440px;min-width:0}.split>.grow-2,.grid-2>.grow-2{flex:2 1 560px}.split-stretch{align-items:stretch}.with-aside{display:flex;flex-wrap:wrap;align-items:flex-start;gap:16px;min-width:0}.with-aside>:first-child{display:flex;flex:999 1 640px;flex-direction:column;gap:16px;min-width:0}.with-aside>:last-child{display:flex;flex:1 1 340px;flex-direction:column;gap:16px;min-width:0}.row-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.app{display:flex;flex-direction:column;min-height:100vh}.skip-link{position:absolute;top:8px;left:8px;z-index:20;padding:12px 16px;color:var(--on-accent);font-weight:500;background:var(--accent);border-radius:var(--r-sm);transform:translateY(-200%)}.skip-link:focus{color:var(--on-accent);transform:none}.topbar{background:var(--bg);border-bottom:1px solid var(--border)}.topbar-inner{display:flex;flex-wrap:wrap;align-items:center;gap:0 32px;max-width:var(--content);margin:0 auto;padding:0 var(--gutter)}.brand{display:flex;align-items:center;gap:8px;min-height:56px;color:var(--fg)}.brand:hover{color:var(--fg)}.brand-name{font-family:var(--font-display);font-size:14px;font-weight:500;white-space:nowrap}.topnav{display:flex;flex:1 1 520px;flex-wrap:wrap;gap:0 24px;min-width:0}.topnav-link{position:relative;display:flex;align-items:center;min-height:56px;color:var(--fg-2);font-size:14px;font-weight:400;white-space:nowrap;transition:color .15s var(--ease)}.topnav-link:hover,.topnav-link[aria-current=page]{color:var(--fg)}.topnav-link[aria-current=page]:after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:2px;background:var(--accent)}.topbar-side{display:flex;align-items:center;gap:12px}.clock{display:flex;flex-direction:column;align-items:flex-end;line-height:1.25;white-space:nowrap}.clock-time{font-family:var(--font-mono);font-size:13px}.clock-date{color:var(--muted);font-size:12px}.me{display:grid;place-items:center;flex:none;width:32px;height:32px;color:var(--fg-2);font-size:13px;font-weight:500;background:var(--surface-2);border-radius:var(--r-ctl)}.topbar-logout{display:grid;place-items:center;flex:none;width:32px;height:32px;padding:0;color:var(--muted);cursor:pointer;background:transparent;border:0;border-radius:var(--r-ctl);transition:color .15s var(--ease),background-color .15s var(--ease)}.topbar-logout:hover{color:var(--fg);background:var(--surface-2)}.stale-bar{background:var(--warn-bg);border-bottom:1px solid var(--warn-line)}.stale-inner{display:flex;align-items:flex-start;gap:12px;max-width:var(--content);margin:0 auto;padding:12px var(--gutter);color:var(--warn-text);font-size:14px;overflow-wrap:anywhere}.stale-inner svg{margin-top:2px}.stale-lines{display:flex;flex-direction:column;gap:2px}.page{display:flex;flex:1;flex-direction:column;gap:16px;width:100%;max-width:var(--content);margin:0 auto;padding:32px var(--gutter) 64px}.page>*{min-width:0}.center-screen{display:grid;place-items:center;min-height:100vh;padding:40px 16px}.page-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;padding-bottom:8px}.page-heading{display:flex;flex-direction:column;gap:8px;min-width:0}.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--muted);font-size:13px}.crumbs a{color:var(--fg-2)}.crumbs a:hover{color:var(--fg)}.crumbs-sep{color:var(--muted)}.page-title{display:flex;flex-wrap:wrap;align-items:center;gap:12px;min-width:0}.page-title h1{overflow-wrap:anywhere}.page-ident{display:flex;flex-wrap:wrap;align-items:center;gap:16px;min-width:0}.page-ident-text{display:flex;flex-direction:column;gap:8px;min-width:0}.page-subtitle{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;color:var(--fg-2);font-size:14px}.page-subtitle-live{flex-wrap:nowrap;align-items:flex-start}.page-subtitle-live>.dot{margin-top:6px}.page-actions,.card-actions,.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.section{display:flex;flex-direction:column;gap:16px;min-width:0}.section-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px}.section-head-center{align-items:center}.section-titles{display:flex;flex-direction:column;gap:8px;min-width:0}.section-head h2,.charts-bar h2{font-size:20px;font-weight:500}.section-note{color:var(--muted);font-size:13px}.card{display:flex;flex-direction:column;gap:16px;min-width:0;padding:24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card)}.card-roomy{gap:16px}.card-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px}.card-heading{display:flex;align-items:center;gap:12px;min-width:0}.card-titles{display:flex;flex-direction:column;gap:4px;min-width:0}.card-head h2,.card-sm .card-head h2,.card-head h2.h2-sm{font-size:16px}.card-sub{color:var(--muted);font-size:13px}.deflist{--cols-min: 220px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(var(--cols-min),100%),1fr));gap:20px 24px;margin:0}.deflist-row,.fld{display:flex;flex-direction:column;gap:4px;min-width:0}.deflist-wide{grid-column:1 / -1}.deflist dt,.fld dt{color:var(--muted);font-size:13px}.deflist dd,.fld dd{margin:0;min-width:0;font-size:14px;font-weight:400;overflow-wrap:anywhere}.deflist dd.mono,.fld dd.mono{font-size:13px;font-weight:400}.deflist .badge{white-space:normal}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 16px;color:var(--fg);font:500 14px/1.2 var(--font);white-space:nowrap;text-decoration:none;cursor:pointer;background:var(--surface-2);border:1px solid var(--border-control);border-radius:var(--r-ctl);transition:background-color .15s var(--ease),border-color .15s var(--ease),color .15s var(--ease),transform .15s var(--ease)}.btn:hover:not(:disabled){color:var(--fg);background:var(--surface-3)}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{cursor:not-allowed;opacity:.45}.btn-primary{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.btn-primary:hover:not(:disabled){color:var(--on-accent);background:var(--accent-hover);border-color:var(--accent-hover)}.btn-primary:disabled{color:var(--muted);background:var(--surface-2);border-color:var(--border);opacity:1}.btn-danger,.btn-danger-outline{color:var(--danger-fg);background:transparent;border:1px solid var(--border-control)}.btn-danger:hover:not(:disabled),.btn-danger-outline:hover:not(:disabled){color:var(--danger-hover);background:var(--danger-bg);border-color:var(--danger-line)}.btn-small,.btn-copy{flex:none;min-height:32px;padding:0 12px;color:var(--fg);font-size:13px;border-radius:var(--r-sm)}.btn-md{min-height:40px;padding:0 16px;font-size:14px}.btn-act{min-height:32px;padding:0 12px;color:var(--fg);font-size:13px;border-radius:var(--r-sm)}.btn-act-on{color:var(--accent-text);border:1px solid var(--accent-line)}.btn-act-on:hover:not(:disabled){color:var(--fg-hover);border-color:var(--accent);background:var(--accent-10)}.btn-icon{flex:none;width:32px;min-height:32px;padding:0;color:var(--muted);background:transparent;border-color:transparent;border-radius:var(--r-sm)}.btn-icon:hover:not(:disabled){color:var(--fg)}.btn-icon-done,.btn-icon-done:hover:not(:disabled){color:var(--ok-fg)}.btn-icon-fail{width:auto;padding:0 12px;color:var(--danger-fg);font-size:13px}.btn-block{display:flex;width:100%}.btn-lg{min-height:44px}.icon-btn{display:inline-grid;place-items:center;flex:none;width:40px;height:40px;padding:0;color:var(--muted);cursor:pointer;background:transparent;border:1px solid var(--border-control);border-radius:var(--r-ctl);transition:border-color .15s var(--ease),color .15s var(--ease)}.icon-btn:hover:not(:disabled){color:var(--danger-fg);border-color:var(--danger-line)}.icon-btn:disabled{cursor:not-allowed;opacity:.45}.icon-btn-close{width:32px;height:32px;border-color:transparent}.icon-btn-close:hover:not(:disabled){color:var(--fg);background:var(--surface-2);border-color:transparent}.link-btn{display:inline;padding:0;color:var(--fg);font:inherit;text-decoration:underline;text-decoration-color:var(--underline);text-underline-offset:4px;cursor:pointer;background:none;border:0}.link-btn:hover{color:var(--fg-hover)}.dch{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:32px;padding:0 12px;color:var(--fg-2);font:400 13px/1.2 var(--font);white-space:nowrap;cursor:pointer;background:transparent;border:1px solid transparent;border-radius:var(--r-sm);transition:background-color .15s var(--ease),border-color .15s var(--ease),color .15s var(--ease)}.dch:hover:not(:disabled){color:var(--fg);background:var(--surface-2)}.dch:disabled{cursor:not-allowed;opacity:.45}.dch.active,.dch[aria-pressed=true],.dch[aria-selected=true]{color:var(--fg);background:var(--surface-3);border-color:var(--border-control)}.dch-count{color:var(--muted)}.dch-group{display:flex;flex-wrap:wrap;gap:4px}.field{min-width:0;margin:0;padding:0;border:0}.field>label:not(.choice),.field>legend,.label-row>label,.lbl{display:block;margin-bottom:8px;padding:0;color:var(--fg-2);font-size:13px;font-weight:400}.card form,.modal form{display:flex;flex-direction:column;gap:16px}.label-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.label-row>label,.label-row>.lbl{margin-bottom:0}.req{color:var(--danger-fg)}.input{display:block;width:100%;min-height:40px;padding:8px 12px;color:var(--fg);font:400 14px/1.4 var(--font);background:var(--input-bg);border:1px solid var(--border-control);border-radius:var(--r-ctl);transition:border-color .15s var(--ease)}.input.mono{font-family:var(--font-mono);font-size:13px}.input::placeholder{color:var(--muted);opacity:1}.input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}.input:disabled{color:var(--disabled);cursor:not-allowed;background:var(--surface);border-style:solid}select.input{cursor:pointer}.textarea,textarea.input{min-height:80px;line-height:1.5;resize:vertical}.input-lg{font-size:14px}.field-invalid .input,.input[aria-invalid=true]{border-color:var(--danger)}.field-hint,.hint{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.field-error{margin-top:8px;color:var(--danger-fg);font-size:13px;overflow-wrap:anywhere}.choices{display:flex;flex-wrap:wrap;gap:8px}.choices-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr))}.choices-column{flex-direction:column;flex-wrap:nowrap;gap:8px}.choice{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 12px;color:var(--fg);font-size:14px;font-weight:400;cursor:pointer;background:transparent;border:1px solid var(--border-control);border-radius:var(--r-ctl);transition:background-color .15s var(--ease),border-color .15s var(--ease)}.choice:hover:not(:has(input:disabled)){border-color:var(--border-strong)}.choice input{flex:none;width:16px;height:16px;margin:0}.choice-text{display:flex;flex:1;flex-direction:column;min-width:0}.choice-hint{display:block;color:var(--muted);font-size:13px;line-height:1.5}.choice-aside{display:inline-flex;align-items:center;gap:8px;margin-left:auto;color:var(--muted);font-size:13px;white-space:nowrap}.choice:has(.choice-hint){padding-block:8px}.choice:has(input:checked){background:var(--surface-2);border:1px solid var(--border-strong)}.choice:has(input:disabled),.choice-disabled{color:var(--disabled);cursor:not-allowed;background:transparent;border:1px solid var(--border)}.choice:has(input:disabled) .choice-hint,.choice:has(input:disabled) .choice-aside{color:var(--disabled)}.choice:has(input:disabled:checked){color:var(--fg-2);background:var(--surface-2);border:1px solid var(--border-control)}.field-invalid .choice{border-color:var(--danger)}.field>.choice{display:inline-flex;max-width:100%}.with-action{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.with-action>.field{width:100%}.input-row{display:flex;align-items:stretch;gap:8px;min-width:0}.input-row>.input{flex:1;min-width:0}.input-row>.btn{flex:none;min-height:40px;padding:0 12px;font-size:13px;border-radius:var(--r-ctl)}.copy-field{display:flex;align-items:stretch;gap:8px;min-width:0}.copy-field-value{display:flex;flex:1;align-items:center;min-width:0;padding:8px 12px;overflow-x:auto;font-size:13px;white-space:nowrap;background:var(--input-bg);border:1px solid var(--border-control);border-radius:var(--r-ctl)}.filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px;padding:16px 20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card)}.filters .field{flex:1 1 210px}.filters .filter-chips{flex:2 1 360px}.filters-reset{flex:none}.filter-chips .dch{min-height:40px}.upstreams{display:flex;flex-direction:column;gap:8px;padding:16px;background:var(--surface-2);border-radius:var(--r-tile)}.upstream-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1.2fr) minmax(0,1fr) 64px 40px;gap:8px;align-items:center}.upstream-head{padding:0 2px;color:var(--muted);font-size:13px}.upstream-enabled{display:flex;align-items:center;justify-content:center;min-height:40px}.upstream-enabled input{width:16px;height:16px;margin:0}.field-invalid .upstream-grid .input[aria-invalid=true]{border-color:var(--danger)}.table-wrap{display:flex;flex-direction:column;min-width:0;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card)}.table-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:16px 20px 12px}.table-head h2{font-size:16px}.table-scroll{position:relative;min-width:0;overflow-x:auto}.table{width:100%;font-size:14px;border-collapse:collapse}.table th,.table td{text-align:left;vertical-align:middle}.table th{padding:12px 20px;color:var(--muted);font-size:13px;font-weight:400;white-space:nowrap;border-bottom:1px solid var(--border)}.table td{padding:16px 20px;border-bottom:1px solid var(--border);transition:background-color .15s var(--ease)}.table tbody tr:last-child td{border-bottom:0}.table tbody tr:hover td{background:var(--surface-2)}.table-middle td{vertical-align:middle}.table-dense th,.table-dense td{padding:12px 16px}.table-compact th,.table-compact td{padding:8px 12px}.table .num{font-variant-numeric:tabular-nums}.row-offline td,.row-muted td{color:var(--fg-2)}.row-offline .cell-name,.row-muted .cell-name,.row-offline .cell-link,.row-muted .cell-link,.row-offline a:not(.btn),.row-muted a:not(.btn){color:var(--fg-2)}.row-offline .ent-icon,.row-muted .ent-icon,.row-offline .avatar,.row-muted .avatar,.row-offline .badge-dot,.row-muted .badge-dot,.row-offline .dot,.row-muted .dot,.row-offline .chip,.row-muted .chip,.row-offline .arrow-tile,.row-muted .arrow-tile,.row-offline .loadbar-track,.row-muted .loadbar-track{opacity:.62}.row-down>td{background:var(--danger-row)}.cell-entity{display:flex;align-items:center;gap:12px;min-width:0}.cell-entity-text{display:flex;flex-direction:column;gap:2px;min-width:0}.cell-name{color:var(--fg);font-size:14px;font-weight:500}a.cell-name:hover{color:var(--fg);text-decoration:underline;text-decoration-color:var(--underline);text-underline-offset:4px}.cell-link{color:var(--fg)}a.cell-link:hover{color:var(--fg-hover)}.cell-sub{color:var(--muted);font-size:13px}.cell-stack{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.cell-num{font-size:14px;font-weight:500}.cell-mbps{font-size:14px;font-weight:500;white-space:nowrap}.cell-unit{color:var(--muted);font-size:13px;font-weight:400}.cell-none{color:var(--muted);font-size:14px}.table-foot{padding:12px 20px;color:var(--muted);font-size:13px}.footnote{color:var(--muted);font-size:13px;line-height:1.5}.badge{display:inline-flex;align-items:center;gap:8px;color:var(--fg);font-size:13px;font-weight:400;white-space:nowrap}.badge-dot{flex:none;width:8px;height:8px;background:var(--off);border-radius:50%}.badge-ok .badge-dot{background:var(--ok)}.badge-warn .badge-dot{background:var(--warn)}.badge-danger .badge-dot{background:var(--danger)}.badge-muted .badge-dot{background:var(--off)}.badge-info{color:var(--fg-2)}.badge-plain{color:var(--fg-2);font-size:13px}.badge-tinted.badge-ok{color:var(--ok-text)}.badge-tinted.badge-warn{color:var(--warn-fg)}.badge-tinted.badge-danger{color:var(--danger-fg)}.badge-wide{justify-content:center;min-width:88px}.tag{display:inline-flex;align-items:center;flex:none;padding:2px 8px;color:var(--fg-2);font-size:12px;font-weight:400;white-space:nowrap;border:1px dashed var(--border-strong);border-radius:var(--r-chip)}.tag-danger{color:var(--danger-fg);border-color:var(--danger-line)}.tag-warn{color:var(--warn-fg);border-color:var(--warn-line)}.tag-ok{color:var(--ok-fg);border-color:var(--ok-line)}.chips{display:inline-flex;flex-wrap:wrap;gap:4px}.chip{display:inline-flex;align-items:center;padding:2px 8px;color:var(--fg-2);font-size:12px;font-weight:400;white-space:nowrap;border:1px solid var(--border-control);border-radius:var(--r-chip)}.chip-solid,.chip-accent{color:var(--fg);background:var(--surface-2);border-color:var(--border-control)}.dot-text{display:inline-flex;align-items:center;gap:8px}.dot{display:inline-block;flex:none;width:8px;height:8px;background:var(--off);border-radius:50%}.dot-ok,.dot-live{background:var(--ok)}.dot-warn{background:var(--warn)}.dot-danger{background:var(--danger)}.dot-muted{background:var(--off)}.ends{font-size:13px;white-space:nowrap;color:var(--fg-2)}.ends-none{color:var(--muted)}.ends-warn{color:var(--warn-fg)}.ends-danger{color:var(--danger-fg)}.ent-icon{display:grid;place-items:center;flex:none;width:24px;height:24px;color:var(--muted)}.ent-text{width:32px;color:var(--fg-2);font-size:12px;border:1px solid var(--border-control);border-radius:var(--r-chip)}.avatar{display:grid;place-items:center;flex:none;width:32px;height:32px;color:var(--fg-2);font-size:13px;font-weight:500;line-height:1;background:var(--surface-2);border-radius:var(--r-ctl)}.avatar-56{width:40px;height:40px;font-size:16px}.arrow-tile{display:grid;place-items:center;flex:none;width:16px;height:16px}.arrow-down{color:var(--down-fg)}.arrow-up{color:var(--up-fg)}.traffic{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;white-space:nowrap}.traffic-stack{flex-direction:column;align-items:flex-start;gap:4px}.traffic-item{display:inline-flex;align-items:center;gap:4px}.traffic-down{font-size:14px;font-weight:500}.traffic-up{color:var(--fg-2);font-size:14px;font-weight:400}.traffic-xl{gap:4px 16px}.traffic-xl .traffic-down,.traffic-xl .traffic-up{font-size:16px}.traffic-none{color:var(--muted);font-size:13px}.loadbar{display:flex;align-items:center;gap:12px;min-width:0}.loadbar-track{display:block;flex:1;min-width:40px;height:12px;overflow:hidden;background:var(--track);-webkit-mask-image:var(--ticks);mask-image:var(--ticks)}.loadbar-10 .loadbar-track{height:16px}.loadbar-fill{display:block;height:100%;background:var(--off)}.loadbar-pct{min-width:40px;font-size:13px;font-weight:500;text-align:right}.lvl-low{--lvl: var(--off);--lvl-fg: var(--fg-2)}.lvl-ok{--lvl: var(--ok);--lvl-fg: var(--ok-fg)}.lvl-warn{--lvl: var(--warn);--lvl-fg: var(--warn-fg)}.lvl-danger{--lvl: var(--danger);--lvl-fg: var(--danger-fg)}.loadbar-fill[class*=lvl-]{background:var(--lvl)}.loadbar-pct[class*=lvl-],.lvl-text[class*=lvl-]{color:var(--lvl-fg)}.load-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin:0;padding:0;color:var(--muted);font-size:12px;font-weight:400;list-style:none}.load-legend li{display:inline-flex;align-items:center;gap:8px}.load-legend .dot.lvl-low{background:var(--off)}.load-legend .dot.lvl-ok{background:var(--ok)}.load-legend .dot.lvl-warn{background:var(--warn)}.load-legend .dot.lvl-danger{background:var(--danger)}.progress,.bar{display:block;height:12px;overflow:hidden;background:var(--track);-webkit-mask-image:var(--ticks);mask-image:var(--ticks)}.progress-kpi{height:16px;margin:8px 0 4px}.progress-fill,.bar-fill{display:block;height:100%;background:var(--lvl, var(--ok))}.sold{display:flex;flex-direction:column;gap:8px;min-width:200px}.notice{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;color:var(--fg-2);font-size:14px;font-weight:400;border:1px solid var(--border-control);border-radius:var(--r-tile);overflow-wrap:anywhere}.notice>svg{margin-top:2px}.notice-body{display:flex;flex:1;flex-direction:column;gap:4px;min-width:0}.notice-title{display:block;font-weight:500}.notice-text{min-width:0}.notice-text>p+p{margin-top:4px}.notice-led{font-weight:400}.notice-lead{font-weight:500}.notice-lg{gap:12px;padding:16px;font-weight:400}.notice-lg>svg{margin-top:0}.notice-tile{gap:12px;padding:16px}.notice-icon{display:grid;place-items:center;flex:none;width:24px;height:24px}.notice-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.notice code{font-size:12px}.notice-danger{color:var(--danger-text);background:var(--danger-bg);border-color:var(--danger-line)}.notice-danger .notice-title,.notice-danger .notice-icon{color:var(--danger-fg)}.notice-warn{color:var(--warn-text);background:var(--warn-bg);border-color:var(--warn-line)}.notice-warn .notice-title,.notice-warn .notice-lead,.notice-warn .notice-icon{color:var(--warn-fg)}.notice-ok{color:var(--ok-text);background:var(--ok-bg);border-color:var(--ok-line)}.notice-ok .notice-title,.notice-ok .notice-icon{color:var(--ok-fg)}.notice-tile.notice-warn .notice-title{color:var(--warn-text)}.notice-tile.notice-warn .notice-text,.notice-tile.notice-danger .notice-text{color:var(--fg-2)}.notice-tile.notice-warn .notice-text a:not([class]){color:var(--warn-text)}.notice-done{align-items:center;gap:12px;padding:16px;color:var(--ok-text);font-weight:400;background:var(--ok-bg);border-color:var(--ok-line)}.notice-neutral{color:var(--fg-2);font-weight:400;background:var(--surface);border-color:var(--border-control)}.notice-neutral .notice-title{color:var(--fg)}.notice-neutral .notice-icon{color:var(--muted)}.notice-info{color:var(--fg-2);font-weight:400;background:transparent;border-color:var(--border-control)}.empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 20px;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card)}.card .empty,.table-wrap .empty{padding:32px 20px;background:transparent;border:0}.empty-title{margin:0;color:var(--fg-2);font-size:14px}.empty .ent-icon+.empty-title{color:var(--fg);font-weight:500}.empty-body{color:var(--muted);font-size:13px}.empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.loading{display:flex;align-items:center;gap:8px;padding:16px 0;color:var(--muted);font-size:13px}.spinner{flex:none;width:16px;height:16px;border:2px solid var(--border-control);border-top-color:var(--fg-2);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal{width:min(540px,calc(100vw - 32px));max-width:none;max-height:calc(100vh - 32px);margin:auto;padding:0;color:var(--fg);background:var(--surface);border:1px solid var(--border-control);border-radius:var(--r-card);box-shadow:var(--shadow-modal)}.modal-md{width:min(580px,calc(100vw - 32px))}.modal-wide{width:min(660px,calc(100vw - 32px))}.modal::backdrop{background:var(--overlay)}.modal[open]{display:flex;flex-direction:column}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:24px 24px 0}.modal-head h2{font-size:20px}.modal-body{display:flex;flex-direction:column;gap:16px;min-height:0;padding:16px 24px 0;overflow-y:auto}.modal-body>p,.modal-text{color:var(--fg-2);font-size:14px;line-height:1.55}.modal-body>:last-child{margin-bottom:4px}.modal-foot{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:16px 24px 24px}.modal:not(:has(.modal-foot)) .modal-body{padding-bottom:24px}.modal-list{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.modal-list li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px;padding:12px 16px;font-size:14px;background:var(--surface-2);border-radius:var(--r-ctl)}.stub-fields{display:flex;flex-direction:column;gap:16px;min-width:0}.stub-page{display:flex;flex-direction:column;gap:8px;min-width:0}.input.stub-html{min-height:180px;font-size:13px;overflow-wrap:anywhere}.stub-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;color:var(--muted);font-size:13px}.stub-meta .link-btn{margin-left:auto;font-size:14px}.input.stub-status{max-width:140px}.stub-frame{display:block;width:100%;height:min(60vh,460px);background:#fff;border:1px solid var(--border-control);border-radius:var(--r-ctl)}.copyblock{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0}.copyblock .btn{min-height:40px}.code{width:100%;margin:0;padding:16px;color:var(--fg);font-family:var(--font-mono);font-size:13px;line-height:1.6;white-space:pre-wrap;word-break:break-all;background:var(--input-bg);border:1px solid var(--border-control);border-radius:var(--r-ctl)}.param-tile{display:flex;align-items:center;gap:8px;min-width:0;padding:8px 8px 8px 12px;background:var(--surface-2);border-radius:var(--r-ctl)}.param-tile-text{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.param-tile-label{color:var(--muted);font-size:12px}.param-tile-value{font-size:13px;font-weight:400;overflow-wrap:anywhere}.tpl{display:flex;align-items:flex-start;gap:8px;min-width:0;padding:12px 8px 12px 12px;background:var(--input-bg);border:1px solid var(--border);border-radius:var(--r-ctl)}.tpl code{flex:1;min-width:0;color:var(--fg-2);font-size:12px;line-height:1.6;overflow-wrap:anywhere}.param{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px}.param .param-value{overflow-wrap:anywhere}.segmented,.tabs-outline,.tabs-inset{display:flex;flex-wrap:wrap;gap:4px;max-width:100%}.kpi-row{display:flex;flex-wrap:wrap;gap:16px;min-width:0}.kpi{flex:1 1 200px;gap:8px;padding:20px}.kpi-hero{flex:2 1 360px}.kpi-wide{flex:1.4 1 320px}.kpi-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}.kpi-titles{display:flex;flex-direction:column;min-width:0}.kpi-label{color:var(--fg-2);font-size:13px}.kpi-aside{color:var(--muted);font-size:12px}.kpi-value-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin-top:4px;margin-bottom:8px}.kpi-value{color:var(--fg);font-size:32px;font-weight:500;line-height:1}.kpi-hero .kpi-value{font-family:var(--font-display);font-size:48px;letter-spacing:-.03em}.kpi-unit{color:var(--fg-2);font-size:13px}.kpi-body{display:flex;flex-direction:column;gap:8px;margin-top:auto}.kpi-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 8px;margin-top:auto;color:var(--muted);font-size:12px}.kpi-body .kpi-foot,.kpi-flow .kpi-foot{margin-top:0}.kpi-foot-value{color:var(--fg-2)}.kpi-foot-value a{color:var(--fg-2);text-decoration:underline;text-decoration-color:var(--underline);text-underline-offset:4px}.kpi-note{margin-top:auto;color:var(--muted);font-size:12px}.kpi-empty .kpi-value{color:var(--muted)}.cnt{flex-direction:row;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;color:var(--fg);border-radius:var(--r-card);transition:background-color .15s var(--ease)}a.cnt:hover{color:var(--fg);background:var(--surface-2)}.cnt-text{display:flex;flex-direction:column;gap:4px;min-width:0}.cnt-label{color:var(--fg-2);font-size:13px}.cnt-value-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}.cnt-value{font-size:20px;font-weight:500;line-height:1.2}.cnt-cap{color:var(--muted);font-size:13px}.cnt-note{display:inline-flex;flex:none;align-items:center;gap:8px;white-space:nowrap;color:var(--fg-2);font-size:13px;font-weight:400;text-align:right}.cnt-note-ok{color:var(--ok-fg)}.cnt-note-warn{color:var(--warn-fg)}.cnt-note-danger{color:var(--danger-fg)}.counter{flex-direction:row;align-items:center;gap:16px;padding:16px 20px}.counter-text{display:flex;flex-direction:column;gap:4px;min-width:0}.counter-value-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}.counter-value{font-size:20px;font-weight:500;line-height:1.2}.counter-unit,.counter-label{color:var(--fg-2);font-size:13px}.rows,.attention{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none}.attn{display:flex;align-items:flex-start;gap:8px;padding:12px;color:var(--fg);border-radius:var(--r-ctl);transition:background-color .15s var(--ease)}a.attn:hover{color:var(--fg);background:var(--surface-2)}.attn-icon{display:grid;place-items:center;flex:none;width:24px;height:20px;color:var(--muted)}.attn-body{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.attn-title{font-size:14px;font-weight:400;overflow-wrap:anywhere}.attn-detail{color:var(--muted);font-size:13px;overflow-wrap:anywhere}.attn-plate{border:1px solid var(--border-control)}.attn-plate.attn-danger{background:var(--danger-bg);border-color:var(--danger-line)}.attn-plate.attn-warn{background:var(--warn-bg);border-color:var(--warn-line)}.row-link,.attention-item{display:flex;align-items:flex-start;gap:16px;padding:16px;color:var(--fg);border-radius:var(--r-ctl);transition:background-color .15s var(--ease)}a.row-link:hover{color:var(--fg);background:var(--surface-2)}.row-link .badge,.attention-item .badge{flex:none;justify-content:center;min-width:88px}.row-link-body{display:flex;flex:1;flex-direction:column;gap:4px;min-width:0;font-size:14px;font-weight:500;line-height:1.4}.row-link-sub{color:var(--muted);font-size:13px;font-weight:400}.row-link-chevron{flex:none;margin-top:4px;color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:8px;margin:0;padding:0;list-style:none}.step{display:flex;align-items:center;gap:12px;padding:12px 16px;color:var(--fg);border:1px solid var(--border-control);border-radius:var(--r-tile)}.step a{color:var(--fg);font-size:14px;font-weight:500}.step-num{display:grid;place-items:center;flex:none;width:24px;height:24px;color:var(--fg-2);font-size:13px;font-weight:500;background:var(--surface-2);border-radius:var(--r-sm)}.step-done{border-color:var(--ok-line)}.step-done .step-num{color:var(--ok-fg);background:var(--ok-bg)}.step-done a{color:var(--fg)}.summary-card{gap:16px;padding:24px}.summary-box{display:flex;flex-direction:column;gap:8px;padding:16px;background:var(--surface-2);border-radius:var(--r-tile)}.summary-box-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.summary-box-titles{display:flex;flex-direction:column;gap:4px;min-width:0}.summary-caption{color:var(--muted);font-size:13px}.summary-name{font-size:14px;font-weight:500;overflow-wrap:anywhere}.summary-value-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}.summary-value{font-size:24px;font-weight:500;line-height:1}.summary-unit{color:var(--fg-2);font-size:13px}.summary-note{color:var(--muted);font-size:13px}.summary-field{display:flex;flex-direction:column;gap:8px}.top-grid{display:grid;grid-template-columns:24px minmax(0,1.4fr) 64px 56px minmax(0,1.2fr);gap:12px;align-items:center}.top-head{padding:0 16px;color:var(--muted);font-size:13px}.top-row{padding:12px;color:var(--fg);border-radius:var(--r-ctl);transition:background-color .15s var(--ease)}a.top-row:hover{color:var(--fg);background:var(--surface-2)}.top-rank{color:var(--muted);font-family:var(--font-mono);font-size:12px}.top-rank-1{color:var(--accent)}.top-name{overflow:hidden;font-size:14px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.top-node{color:var(--muted);font-size:13px}.top-down{font-size:14px;font-weight:500}.top-up{color:var(--fg-2);font-size:14px;font-weight:400}.volume-tile{display:flex;flex-direction:column;gap:8px;padding-top:16px;border-top:1px solid var(--border)}.volume-label{color:var(--muted);font-size:13px;font-weight:400}.volume-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.volume-total{color:var(--muted);font-size:13px}.volume{width:100%;border-collapse:collapse}.volume th,.volume td{padding:12px;text-align:left;border-top:1px solid var(--border)}.volume thead th{color:var(--muted);font-size:13px;font-weight:500;border-top:0}.volume tbody th{font-weight:500}.ups-block{display:flex;flex-direction:column;gap:12px;min-width:0;padding:16px;background:var(--surface-2);border-radius:var(--r-tile)}.ups-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.ups-summary{color:var(--muted);font-size:13px;line-height:1.5}.cert-tile,.cert-info{display:flex;flex-direction:column;gap:12px;padding:16px;background:var(--surface-2);border-radius:var(--r-tile)}.conn-type{display:flex;flex-direction:column;gap:12px}.conn-type+.conn-type{padding-top:16px;border-top:1px solid var(--border)}.pem{min-width:0}.charts{display:flex;flex-direction:column;gap:16px;min-width:0;margin-top:16px}.charts-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.charts-group{display:flex;flex-direction:column;gap:16px;min-width:0}.charts-group+.charts-group{margin-top:16px}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(520px,100%),1fr));gap:16px;min-width:0}.charts-grid-sm{grid-template-columns:repeat(auto-fit,minmax(min(400px,100%),1fr))}.chart-card{display:flex;flex-direction:column;gap:12px;min-width:0;margin:0;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card)}.chart-card-sm{gap:12px;padding:20px}.chart-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px}.chart-title{margin:0;color:var(--fg);font-size:14px;font-weight:500}.chart-card-sm .chart-title{font-size:14px}.chart-flat{align-self:start}.chart-flat-note{color:var(--muted);font-size:13px}.chart-unit{color:var(--muted);font-size:12px}.chart-empty{display:grid;place-items:center;min-height:120px;margin:0;color:var(--muted);font-size:14px;text-align:center}.chart,.chart-plot{position:relative;min-width:0}.chart-plot .uplot{font-family:var(--font)}.chart-plot .u-cursor-x{border-right:1px solid var(--cursor)!important}.chart-plot .u-cursor-y,.chart-plot .u-select{display:none}.chart-overlay{position:absolute;pointer-events:none}.chart-dot{position:absolute;width:10px;height:10px;margin:-5px 0 0 -5px;border:2px solid var(--surface);border-radius:50%}.chart-tip{position:absolute;top:8px;z-index:2;display:flex;flex-direction:column;gap:8px;min-width:160px;padding:12px;white-space:nowrap;pointer-events:none;background:var(--surface-2);border:1px solid var(--border-control);border-radius:var(--r-tile);box-shadow:var(--shadow-tip)}.chart-tip-row{display:flex;align-items:center;gap:8px}.chart-tip-swatch{flex:none;width:12px;height:2px}.chart-tip-value{color:var(--fg);font-size:14px;font-weight:500}.chart-tip-name{color:var(--fg-2);font-size:13px}.chart-tip-time{color:var(--muted);font-size:12px;font-weight:400}.chart-legend{display:flex;flex-wrap:wrap;gap:4px 16px;margin:0;padding:0;color:var(--fg-2);font-size:12px;list-style:none}.chart-legend-item{display:inline-flex;align-items:center;gap:8px;min-width:0}.swatch{flex:none;width:12px;height:0;border-top:2px solid}.chart-legend-top{gap:4px 16px;font-size:13px;font-weight:400}.chart-legend-top .swatch{width:12px;height:2px;border:0}.traffic-card{gap:16px;padding:24px}.traffic-card-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.traffic-card-titles{display:flex;flex-direction:column;gap:8px;min-width:0}.traffic-card-titles h2{font-size:16px}.strip-legend{display:flex;flex-wrap:wrap;gap:4px 16px;color:var(--fg-2);font-size:12px}.strip-legend-item{display:inline-flex;align-items:center;gap:8px}.strip-swatch{flex:none;width:8px;height:8px;border-radius:2px}.strip-rows{display:flex;flex-direction:column;gap:8px}.strip-row{display:flex;align-items:center;gap:12px;min-width:0}.strip-label{flex:none;width:200px;overflow:hidden;color:var(--fg-2);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.strip-cells{display:flex;flex:1;gap:2px;min-width:0;height:20px}.strip-cell{flex:1;min-width:0;border-radius:2px}.strip-up{background:var(--strip-up)}.strip-down{background:var(--strip-down)}.strip-off{background:var(--strip-off)}.strip-none{background:var(--strip-none)}.strip-axis{display:flex;justify-content:space-between;padding-left:212px;color:var(--axis);font-size:12px}.login{display:flex;flex-direction:column;gap:24px;width:100%;max-width:400px}.login-brand{display:flex;align-items:center;justify-content:center;gap:8px}.login-brand .brand-name{font-size:16px}.login-card{display:flex;flex-direction:column;gap:20px;padding:32px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card)}.login-titles{display:flex;flex-direction:column;gap:8px}.login-titles h1{font-size:24px;line-height:1.15}.login-titles p{color:var(--fg-2);font-size:14px}.login-card .input{font-size:14px}.login-note{color:var(--muted);font-size:12px;text-align:center}@media(max-width:1099px){.topbar-inner{column-gap:20px}.topbar-side{order:2;margin-left:auto}.topnav{order:3;flex-basis:100%;gap:0 24px}.topnav-link{min-height:40px}.topnav-link[aria-current=page]:after{bottom:4px}}@media(max-width:899px){:root{--gutter: 24px}h1{font-size:28px}.page{padding-top:24px}.split>*,.grid-2>*,.split>.grow-2,.grid-2>.grow-2{flex-basis:100%}.row-2{grid-template-columns:minmax(0,1fr)}.kpi-hero .kpi-value{font-size:40px}}@media(max-width:559px){:root{--gutter: 16px}h1{font-size:24px}.topnav{gap:0 16px}.topnav-link{min-height:40px}.card,.kpi{padding:20px}.kpi-value{font-size:28px}.kpi-hero .kpi-value{font-size:36px}.filters{padding:16px}.modal-head{padding:20px 20px 0}.modal-body{padding:16px 20px 0}.modal-foot{padding:20px}.modal:not(:has(.modal-foot)) .modal-body{padding-bottom:20px}.login-card{padding:24px 20px}.copy-field{flex-wrap:wrap}.copy-field-value{flex-basis:100%;white-space:normal;overflow-wrap:anywhere}.attn,.row-link{flex-wrap:wrap;gap:4px 8px}.attn-body{flex-basis:calc(100% - 32px)}.attn .tag{margin-left:32px}.row-link-body{flex-basis:calc(100% - 32px)}.input-row{flex-wrap:wrap}.input-row>.input{flex-basis:100%}.strip-label{width:120px}.strip-axis{padding-left:132px}.upstreams{padding:16px}.upstream-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 40px 40px}.upstream-grid>:first-child{grid-column:1 / -1}.upstream-head{display:none}.upstream-row{padding-bottom:12px;border-bottom:1px solid var(--border-control)}}@media(max-width:479px){.topbar .brand-name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.topbar-side{gap:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.spinner{border-top-color:var(--border-control);border-right-color:var(--fg-2)}}.page:focus{outline:none}.uplot,.uplot *,.uplot *:before,.uplot *:after{box-sizing:border-box}.uplot{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5;width:min-content}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{position:relative;-webkit-user-select:none;user-select:none}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{display:block;position:relative;width:100%;height:100%}.u-axis{position:absolute}.u-legend{font-size:14px;margin:auto;text-align:center}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{background:#00000012;position:absolute;pointer-events:none}.u-cursor-x,.u-cursor-y{position:absolute;left:0;top:0;pointer-events:none;will-change:transform}.u-hz .u-cursor-x,.u-vt .u-cursor-y{height:100%;border-right:1px dashed #607D8B}.u-hz .u-cursor-y,.u-vt .u-cursor-x{width:100%;border-bottom:1px dashed #607D8B}.u-cursor-pt{position:absolute;top:0;left:0;border-radius:50%;border:0 solid;pointer-events:none;will-change:transform;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}.client-leases-cell{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.client-stopped{color:var(--fg-2)}.client-mbps{font-size:14px}.client-load{width:220px}.client-note-cell{display:block;max-width:280px;color:var(--fg-2);font-size:14px;line-height:1.45;overflow-wrap:anywhere}.client-band-kpi{flex-basis:280px}.client-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:16px;min-width:0}.client-card{flex:1 1 520px}.client-attn{flex:1 1 380px;gap:12px}.client-attn .rows{gap:8px}.client-fields{gap:16px}.input.client-note{resize:vertical;line-height:1.5}.client-lease-load{width:200px}.client-status{gap:8px}.client-status-warn{color:var(--danger-fg);font-size:13px}.leases-table .table th,.leases-table .table td{padding-inline:12px}.leases-table .table th:first-child,.leases-table .table td:first-child{padding-left:20px}.leases-table .table th:last-child,.leases-table .table td:last-child{padding-right:20px}.lease-shown{color:var(--fg-2);font-size:14px}.lease-shown strong{color:var(--fg)}.lease-cell-client{font-size:14px;font-weight:500}.lease-types-cell .chips,.lease-traffic-cell .traffic{flex-wrap:nowrap}.table th.lease-load-cell,.table td.lease-load-cell{width:170px;min-width:170px}.table td.lease-actions-cell{text-align:right}.lease-toggle{display:inline-flex;flex-direction:column;align-items:flex-end;gap:8px;max-width:220px;text-align:right}.lease-toggle .field-error{margin-top:0;font-size:12px;white-space:normal}.lease-summary>.lease-volume{flex:1 1 340px;gap:16px}.lease-volume .card-head+.volume-tile{padding-top:0;border-top:0}.lease-pre{margin:0;white-space:pre-wrap}.lease-lbs{display:flex;flex-direction:column;gap:8px}.lease-lb{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px}.lease-lb-name{min-width:120px;font-size:14px;font-weight:500}.lease-lb-meta{color:var(--muted);font-size:13px;font-weight:400;white-space:nowrap}.lease-lb-share{color:var(--fg);font-weight:500}.lease-lb-hint{color:var(--muted);font-size:13px;font-weight:400;line-height:1.5}.lease-load-kpi{flex-basis:260px}.lease-conn-panel{display:flex;flex-direction:column;gap:20px;min-width:0}.lease-conn-panel:focus-visible{outline-offset:4px}.lease-params{display:flex;flex-direction:column;gap:16px;min-width:0}.lease-param-grid{gap:8px}.lease-templates{display:flex;flex-direction:column;gap:8px}.lease-templates-label{color:var(--fg-2);font-size:13px}.lease-note{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.lease-note code{font-family:var(--font-mono);font-size:12px}.lease-live{color:var(--muted);font-size:14px}.lease-live .dot-text{gap:8px}.lease-ups-grid{gap:16px}.ups-block .notice{margin:0}.lease-ups-addr{font-size:14px}.lease-form{display:flex;flex-direction:column;gap:20px;min-width:0}.lease-ep{gap:20px}.lease-ep-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;min-width:0}.lease-ep-title{display:flex;align-items:center;gap:16px;min-width:0}.lease-ep-title h2{font-size:16px}.lease-port{max-width:340px}.lease-mode-types{color:var(--muted);font-size:13px}.lease-types-mode .choices-grid{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}.lease-own-types>.field>legend{margin:0}.lease-type-off{color:var(--disabled);font-size:13px}.lease-proto-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px}.lease-proto-row .choices{flex:none}.lease-sni{flex:1 1 260px;min-width:0}.lease-cols-260{--cols-min: 260px;gap:16px}.lease-cols-280{--cols-min: 280px;gap:16px}.lease-ep .lease-cols-280{gap:16px}.lease-upstreams>legend{float:left;width:100%;margin:0}.lease-upstreams>legend+*{clear:both}.lease-upstreams .upstream-head span:nth-child(4){text-align:center}.lease-upstreams .btn-small{min-height:32px}.lease-upstreams .field-hint{margin:0}.lease-upstreams .field-error{margin-top:8px}.lease-types-none{color:var(--danger-fg);font-size:13px}@media(max-width:559px){.ups-block{padding:12px}.ups-block .table th,.ups-block .table td{padding-inline:8px}.lease-ups-addr{font-size:13px}}a.cell-entity:hover .cell-name{color:var(--fg-hover)}.node-ip{display:flex;flex-direction:column;gap:4px;min-width:0}.nodes-sold{width:250px}.sold-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.sold-text{font-weight:500}.node-form{display:flex;flex-direction:column;gap:20px;min-width:0}.node-col{display:flex;flex-direction:column;gap:20px}@media(min-width:900px){.node-cols>.node-col{flex:1 1 480px}}.node-lb-name{font-size:14px}.node-realip{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:16px}.pem-load{min-height:32px;padding:0 12px;font-size:13px;border-radius:var(--r-sm)}.node-hint{margin:0}.node-types{gap:16px}.node-type{display:flex;flex-direction:column;gap:8px;min-width:0}.node-type-label{font-weight:400}.node-type-note{margin:0 0 0 4px;font-size:13px;line-height:1.5}.node-type-warn{color:var(--warn-fg)}.cert-tile-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.cert-name{font-size:14px;font-weight:500;overflow-wrap:anywhere}.cert-sans{display:flex;flex-direction:column;gap:8px}.cert-sans-label{color:var(--muted);font-size:13px}.cert-sans .chip{white-space:normal;overflow-wrap:anywhere}.cert-none{margin:0;color:var(--fg-2);font-size:14px}.node-lease-link{font-weight:500}.ov-count{color:var(--danger-fg);font-size:13px;font-weight:500}.ov-count-warn{color:var(--warn-fg)}.ov-first{padding:24px}.ov-first .card-titles{gap:8px}.ov-first .card-sub{color:var(--fg-2);font-size:14px}a.ov-step{transition:border-color .15s var(--ease),background-color .15s var(--ease)}a.ov-step:hover{color:var(--fg);background:var(--surface-2);border-color:var(--border-control)}a.ov-step.step-done:hover{border-color:var(--ok)}.ov-step-text{display:flex;flex-direction:column;gap:2px;min-width:0}.ov-step-label{font-size:14px;font-weight:500}.ov-step-state{color:var(--muted);font-size:13px}.ov-attn{flex:1 1 380px;gap:8px;padding:24px 12px 12px;scroll-margin-top:16px}.ov-attn:focus{outline:none}.ov-top{flex:1.5 1 560px;gap:8px;padding:24px 0 12px}.ov-card-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.ov-attn .ov-card-head{padding:0 12px 4px}.ov-top .ov-card-head{padding:0 24px 4px}.ov-attn-summary{color:var(--muted);font-size:13px;font-weight:400}.ov-attn>.notice{margin:8px 16px}.ov-top-legend{padding:0 24px 4px}.ov-top>.loading,.ov-top>.empty,.ov-top-note{margin:0 24px}.ov-top-note{color:var(--muted);font-size:14px}.ov-top-scroll{position:relative;min-width:0;overflow-x:auto}.ov-top-rows{display:flex;flex-direction:column;min-width:560px;margin:0;padding:0 12px;list-style:none}.ov-top-name{display:flex;flex-direction:column;gap:4px;min-width:0}.ov-top-dir{display:flex;align-items:center;justify-content:flex-end;gap:4px}@media(max-width:559px){.ov-first{padding:20px}.ov-attn{flex:1 1 380px;gap:8px;padding:24px 12px 12px;scroll-margin-top:16px}.ov-top{flex:1.5 1 560px;gap:8px;padding:24px 0 12px}.ov-top .ov-card-head,.ov-top-legend{padding:0 24px 4px}.ov-top>.loading,.ov-top>.empty,.ov-top-note{margin:0 20px}.ov-top-rows{display:flex;flex-direction:column;min-width:560px;margin:0;padding:0 12px;list-style:none}}a.srv-entity{color:var(--fg)}a.srv-entity:hover .cell-name{color:var(--fg-hover)}.srv-note{color:var(--muted);font-size:13px}.srv-versions{display:flex;flex-direction:column;gap:2px;font-size:13px;white-space:nowrap}.srv-versions strong{font-weight:500}.srv-versions .srv-note{font-size:13px}.srv-error{max-width:300px;color:var(--danger-text);font-family:var(--font-mono);font-size:12px;overflow-wrap:anywhere}.srv-dots{display:flex;flex-direction:column;gap:4px;font-size:13px}.install-command{display:flex;flex-direction:column;gap:8px;min-width:0}.install-command .lbl{margin:0}.srv-link{display:flex;flex-direction:column;gap:2px}.srv-link .sub{font-weight:400}.srv-code{font-size:12px;overflow-wrap:anywhere}.srv-nodes{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.srv-node{display:flex;align-items:center;gap:12px;padding:12px;color:var(--fg);border:1px solid var(--border-control);border-radius:var(--r-tile);transition:background-color .15s var(--ease),border-color .15s var(--ease)}.srv-node:hover{color:var(--fg);background:var(--surface-2);border-color:var(--border-control)}.srv-node-text{display:flex;flex:1;flex-direction:column;gap:4px;min-width:0}.srv-node-name{font-weight:500;overflow-wrap:anywhere}.srv-node-line{color:var(--muted);font-family:var(--font-mono);font-size:12px;overflow-wrap:anywhere}.srv-node .badge{flex:none}.srv-hint{margin:0;color:var(--muted);font-size:13px}.settings-cols>*{flex:1 1 460px}.settings-card,.settings-cols .card form{gap:20px}.settings-login strong{color:var(--fg)}
