:root{color-scheme:dark;--bg: #0e1014;--surface: #161920;--surface-2: #1d212a;--surface-3: #262b36;--border: #2c323e;--text: #e7e9ee;--text-muted: #9aa3b2;--accent: #8b7cff;--accent-strong: #a597ff;--accent-tint: rgba(139, 124, 255, .14);--on-accent: #0e1014;--ok: #3ecf8e;--ok-tint: rgba(62, 207, 142, .14);--warn: #f5b84a;--warn-tint: rgba(245, 184, 74, .14);--danger: #ff6b7a;--danger-tint: rgba(255, 107, 122, .14);--radius: 10px;--radius-sm: 6px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--nav-width: 220px}@media(prefers-color-scheme:light){:root{color-scheme:light;--bg: #f5f6f8;--surface: #ffffff;--surface-2: #f0f1f5;--surface-3: #e6e8ee;--border: #d9dce4;--text: #15171c;--text-muted: #5b6372;--accent: #5b46e8;--accent-strong: #4a35d6;--accent-tint: rgba(91, 70, 232, .1);--on-accent: #ffffff;--ok: #1a8f5a;--ok-tint: rgba(26, 143, 90, .1);--warn: #a86a00;--warn-tint: rgba(168, 106, 0, .1);--danger: #c9283b;--danger-tint: rgba(201, 40, 59, .1)}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--accent-strong)}h1{font-size:1.6rem;margin:0 0 var(--space-4)}h2{font-size:1.1rem;margin:0 0 var(--space-3)}h3{font-size:1rem;margin:0 0 var(--space-2)}p{margin:0 0 var(--space-3)}.muted{color:var(--text-muted)}.small{font-size:.85rem}.layout{display:grid;grid-template-columns:var(--nav-width) minmax(0,1fr);min-height:100vh}.nav{background:var(--surface);padding:var(--space-5) var(--space-3);display:flex;flex-direction:column;gap:var(--space-4);position:sticky;top:0;height:100vh}.brand{font-weight:700;font-size:1.15rem;letter-spacing:.02em;padding:0 var(--space-3)}.nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.nav-link{display:block;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--text-muted);text-decoration:none}.nav-link:hover{background:var(--surface-2);color:var(--text)}.nav-link.active{background:var(--accent-tint);color:var(--text);font-weight:600}.nav-signout{margin-top:auto}.nav-signout .btn{width:100%}.content{padding:var(--space-6);max-width:1100px;width:100%}.page section{margin-bottom:var(--space-6)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-5)}.page .card+.card{margin-top:var(--space-4)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-4)}.notice{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);padding:var(--space-3) var(--space-4);margin:var(--space-3) 0}.notice p:last-child{margin-bottom:0}.notice-info{background:var(--accent-tint);border-color:var(--accent)}.notice-ok{background:var(--ok-tint);border-color:var(--ok)}.notice-warn{background:var(--warn-tint);border-color:var(--warn)}.notice-danger{background:var(--danger-tint);border-color:var(--danger)}.badge{display:inline-block;padding:2px var(--space-2);margin-right:var(--space-1);border:1px solid var(--border);border-radius:999px;font-size:.8rem;font-weight:600}.badge-ok{background:var(--ok-tint);border-color:var(--ok);color:var(--ok)}.badge-reconnect_needed{background:var(--warn-tint);border-color:var(--warn);color:var(--warn)}.badge-blocked,.badge-disabled{background:var(--danger-tint);border-color:var(--danger);color:var(--danger)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);font:inherit;font-weight:600;cursor:pointer}.btn:hover:not(:disabled){background:var(--surface-3)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-strong)}.btn-danger{background:transparent;border-color:var(--danger);color:var(--danger)}.btn-ghost{background:transparent}.btn-block{width:100%}.auth-card .btn-block{margin:var(--space-2) 0 var(--space-3)}.field{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4)}.field span{font-size:.85rem;color:var(--text-muted)}input[type=text],select{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);min-width:0}input:focus-visible,select:focus-visible,.btn:focus-visible,.nav-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.toggle{display:flex;align-items:center;gap:var(--space-3);cursor:pointer}.toggle input{width:18px;height:18px;accent-color:var(--accent)}.inline-form{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-top:var(--space-4)}.inline-form input{flex:1 1 220px}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:.92rem}.table th,.table td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);vertical-align:middle}.table th{color:var(--text-muted);font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.table tr:last-child td{border-bottom:none}.empty-state{padding:var(--space-5);text-align:center;color:var(--text-muted);background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius)}.page-center{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.auth-card{width:100%;max-width:460px}.brand-title{font-size:1.8rem;margin-bottom:var(--space-2)}.copy-row{display:flex;gap:var(--space-2)}.copy-row input{flex:1;font-family:var(--font-mono);font-size:.85rem}.kv{display:grid;grid-template-columns:max-content 1fr;gap:var(--space-2) var(--space-4);margin:0}.kv dt{color:var(--text-muted)}.kv dd{margin:0}@media(max-width:720px){.layout{grid-template-columns:1fr}.nav{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.nav ul{flex-direction:row;flex-wrap:wrap}.nav-signout{margin-top:0;margin-left:auto}.nav-signout .btn{width:auto}.content{padding:var(--space-4)}}
