:root{color-scheme:light;--bg: #0f1419;--bg-elevated: #1a222c;--bg-soft: #232d3a;--border: #2f3b4a;--text: #e8eef4;--muted: #8b9aab;--accent: #3d9cf0;--accent-dim: #2563a8;--ok: #3ecf8e;--warn: #e6b84d;--err: #f07178;--font: "IBM Plex Sans", "Segoe UI", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, Consolas, monospace;font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.45}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(1200px 600px at 10% -10%,#1a3050 0%,transparent 55%),radial-gradient(900px 500px at 100% 0%,#1a2838 0%,transparent 50%),var(--bg)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent)}#root{min-height:100vh}.app{max-width:1100px;margin:0 auto;padding:1.5rem 1.25rem 3rem}header.top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;border-bottom:1px solid var(--border);padding-bottom:1rem}header.top h1{margin:0;font-size:1.5rem;letter-spacing:-.02em;font-weight:600}header.top p{margin:.25rem 0 0;color:var(--muted);font-size:.9rem}.tabs{display:flex;gap:.35rem;flex-wrap:wrap}.tabs button{background:transparent;border:1px solid var(--border);color:var(--muted);padding:.4rem .85rem;border-radius:6px}.tabs button.active{background:var(--bg-soft);color:var(--text);border-color:var(--accent-dim)}.panel{background:color-mix(in srgb,var(--bg-elevated) 92%,transparent);border:1px solid var(--border);border-radius:10px;padding:1rem}.row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.spacer{flex:1}.btn{background:var(--bg-soft);border:1px solid var(--border);border-radius:6px;padding:.4rem .75rem}.btn:hover{border-color:var(--accent-dim)}.btn.primary{background:var(--accent-dim);border-color:var(--accent);color:#fff}.btn.danger{border-color:color-mix(in srgb,var(--err) 50%,var(--border));color:var(--err)}.btn.small{padding:.25rem .5rem;font-size:.85rem}table{width:100%;border-collapse:collapse;font-size:.92rem}th,td{text-align:left;padding:.55rem .4rem;border-bottom:1px solid var(--border);vertical-align:top}th{color:var(--muted);font-weight:500;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.badge{display:inline-block;padding:.12rem .45rem;border-radius:999px;font-size:.75rem;font-family:var(--mono);border:1px solid var(--border)}.badge.connected{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,var(--border))}.badge.error{color:var(--err);border-color:color-mix(in srgb,var(--err) 40%,var(--border))}.badge.connecting{color:var(--warn)}.badge.disconnected{color:var(--muted)}.mono{font-family:var(--mono);font-size:.85rem}.muted{color:var(--muted)}.error-text{color:var(--err);font-size:.85rem;max-width:28rem;word-break:break-word}form.stack{display:grid;gap:.75rem;max-width:640px}label.field{display:grid;gap:.3rem;font-size:.85rem;color:var(--muted)}label.field input,label.field select,label.field textarea{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:.45rem .6rem;color:var(--text)}label.field textarea{min-height:72px;font-family:var(--mono);font-size:.85rem}.form-actions{display:flex;gap:.5rem;margin-top:.25rem}.toggle{display:inline-flex;align-items:center;gap:.35rem;color:var(--text);font-size:.85rem}.empty{color:var(--muted);padding:1.5rem .25rem}.health{font-size:.8rem;color:var(--muted);font-family:var(--mono)}.header-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.user-chip{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.login-panel{max-width:420px}
