:root{--bg: #181920;--surface: #22242e;--surface-alt: #2c2e3a;--border: #3a3d4a;--border-soft: #2f323d;--accent: #49bfaf;--accent-hover: #5fd2c3;--accent-dim: rgba(73, 191, 175, .14);--orange: #ed5834;--orange-hover: #ff6e4a;--orange-dim: rgba(237, 88, 52, .14);--good: #49bfaf;--warn: #f0a93b;--warn-dim: rgba(240, 169, 59, .14);--danger: #ef4444;--danger-dim: rgba(239, 68, 68, .14);--offline: #5a5e6c;--text: #f0f2f8;--text-dim: #969caa;--text-faint: #6b7080;--radius: 10px;--radius-sm: 6px;--shadow: 0 4px 20px rgba(0, 0, 0, .35);--mono: ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:14px/1.5 Segoe UI,system-ui,-apple-system,Roboto,sans-serif;-webkit-font-smoothing:antialiased}h1{font-size:20px;font-weight:600;margin:0}h2{font-size:16px;font-weight:600;margin:0 0 12px}h3{font-size:13px;font-weight:600;margin:0 0 8px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}code,.mono{font-family:var(--mono);font-size:.92em}.dim{color:var(--text-dim)}.faint{color:var(--text-faint)}.right{text-align:right}.nowrap{white-space:nowrap}.card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);padding:16px}.card-pad0{padding:0;overflow:hidden}.row{display:flex;gap:10px;align-items:center}.row-wrap{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.col{display:flex;flex-direction:column;gap:10px}.spacer{flex:1}.grid{display:grid;gap:14px}button,.btn{font:inherit;padding:8px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-alt);color:var(--text);cursor:pointer;transition:background .12s,border-color .12s,opacity .12s;white-space:nowrap}button:hover:not(:disabled),.btn:hover{background:#343745;border-color:#474b5a}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.btn-primary{background:var(--orange);border-color:var(--orange);color:#fff;font-weight:600}.btn-primary:hover:not(:disabled){background:var(--orange-hover);border-color:var(--orange-hover)}.btn-accent{background:var(--accent);border-color:var(--accent);color:#10211e;font-weight:600}.btn-accent:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-danger{background:transparent;border-color:var(--danger);color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger-dim)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-dim)}.btn-ghost:hover{background:var(--surface-alt);color:var(--text)}.btn-sm{padding:5px 10px;font-size:13px}.btn-xs{padding:3px 8px;font-size:12px}input[type=text],input[type=password],input[type=email],input[type=number],input[type=search],select,textarea{font:inherit;padding:8px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text);width:100%}input::placeholder,textarea::placeholder{color:var(--text-faint)}label.field{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--text-dim)}.switch{position:relative;width:40px;height:22px;flex:0 0 40px;border-radius:11px;background:var(--border);border:none;padding:0;cursor:pointer;transition:background .16s}.switch:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .16s}.switch[aria-checked=true]{background:var(--good)}.switch[aria-checked=true]:after{transform:translate(18px)}.switch:disabled{opacity:.45;cursor:not-allowed}.switch-row{display:flex;align-items:center;gap:12px;padding:9px 0}.switch-row+.switch-row{border-top:1px solid var(--border-soft)}.switch-label{flex:1}.switch-label small{display:block;color:var(--text-dim);font-size:12px;margin-top:2px}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;padding:9px 12px;color:var(--text-dim);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);background:var(--surface);position:sticky;top:0;z-index:1}td{padding:9px 12px;border-bottom:1px solid var(--border-soft)}tbody tr:hover{background:var(--surface-alt)}tbody tr.clickable{cursor:pointer}tbody tr:last-child td{border-bottom:none}.tag{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:20px;font-size:12px;font-weight:500;background:var(--surface-alt);color:var(--text-dim);white-space:nowrap}.tag-good{background:var(--accent-dim);color:var(--accent)}.tag-warn{background:var(--warn-dim);color:var(--warn)}.tag-danger{background:var(--danger-dim);color:var(--danger)}.tag-off{background:#262932;color:var(--offline)}.dot{width:8px;height:8px;border-radius:50%;flex:0 0 8px}.dot-on{background:var(--good);box-shadow:0 0 6px #49bfaf99}.dot-off{background:var(--offline)}.dot-warn{background:var(--warn)}.bar{height:6px;border-radius:3px;background:var(--surface-alt);overflow:hidden;min-width:48px}.bar>i{display:block;height:100%;background:var(--accent);transition:width .3s}.bar.is-warn>i{background:var(--warn)}.bar.is-danger>i{background:var(--danger)}.note{padding:10px 12px;border-radius:var(--radius-sm);border-left:3px solid var(--accent);background:var(--accent-dim);font-size:13px}.note-warn{border-left-color:var(--warn);background:var(--warn-dim)}.note-danger{border-left-color:var(--danger);background:var(--danger-dim)}.empty{padding:40px 20px;text-align:center;color:var(--text-dim)}.scroll{overflow:auto}.sep{height:1px;background:var(--border-soft);margin:14px 0}.spin{width:15px;height:15px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;flex:0 0 15px}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:#383b47;border-radius:6px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:#474b59}.shell[data-v-85452e60]{display:flex;flex-direction:column;height:100%}header[data-v-85452e60]{display:flex;align-items:center;gap:18px;padding:0 18px;height:54px;flex:0 0 54px;background:var(--surface);border-bottom:1px solid var(--border)}.brand[data-v-85452e60]{display:flex;align-items:center;gap:8px;font-size:15px}nav[data-v-85452e60]{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}nav[data-v-85452e60]::-webkit-scrollbar{display:none}nav a[data-v-85452e60]{display:flex;align-items:center;gap:6px;padding:6px 11px;border-radius:var(--radius-sm);color:var(--text-dim);font-size:13px;white-space:nowrap}nav a[data-v-85452e60]:hover{background:var(--surface-alt);color:var(--text)}nav a.router-link-active[data-v-85452e60]{background:var(--accent-dim);color:var(--accent)}.badge[data-v-85452e60]{min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--danger);color:#fff;font-size:11px;font-weight:600;display:inline-flex;align-items:center;justify-content:center}.conn[data-v-85452e60]{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-dim)}main[data-v-85452e60]{flex:1;overflow:auto;padding:18px}.boot[data-v-85452e60]{height:100%;display:grid;place-items:center}.toasts[data-v-85452e60]{position:fixed;bottom:16px;right:16px;display:flex;flex-direction:column;gap:8px;z-index:100;max-width:min(420px,calc(100vw - 32px))}.toast[data-v-85452e60]{padding:11px 14px;border-radius:var(--radius-sm);background:var(--surface-alt);border:1px solid var(--border);border-left:3px solid var(--accent);box-shadow:var(--shadow);font-size:13px;cursor:pointer}.toast-warn[data-v-85452e60]{border-left-color:var(--warn)}.toast-error[data-v-85452e60]{border-left-color:var(--danger)}@media(max-width:860px){header[data-v-85452e60]{height:auto;flex:none;flex-wrap:wrap;padding:10px 14px;gap:10px}nav[data-v-85452e60]{order:3;width:100%}.conn-text[data-v-85452e60]{display:none}main[data-v-85452e60]{padding:14px}}
