.shell[data-v-c5b83680]{display:flex;flex-direction:column;min-height:100%}.topbar[data-v-c5b83680]{display:flex;align-items:center;gap:20px;padding:10px 20px;background:var(--panel);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10;flex-wrap:wrap}.brand[data-v-c5b83680]{display:flex;align-items:center;gap:9px;font-weight:600}.logo[data-v-c5b83680]{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;background:var(--accent);color:#06121f;font-size:12px;font-weight:700}.tabs[data-v-c5b83680]{display:flex;gap:2px;flex:1;flex-wrap:wrap}.tab[data-v-c5b83680]{padding:5px 12px;border-radius:6px;color:var(--text-dim);font-size:13px}.tab[data-v-c5b83680]:hover{background:var(--panel-2);text-decoration:none;color:var(--text)}.tab.active[data-v-c5b83680]{background:var(--panel-2);color:var(--text);box-shadow:inset 0 -2px 0 var(--accent)}.conn[data-v-c5b83680]{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-dim)}.dot[data-v-c5b83680]{width:8px;height:8px;border-radius:50%;background:var(--err)}.conn.on .dot[data-v-c5b83680]{background:var(--ok)}.off .dot[data-v-c5b83680]{background:var(--err)}.statusbar[data-v-c5b83680]{display:flex;gap:18px;padding:6px 20px;font-size:12px;color:var(--text-dim);background:var(--bg-soft);border-bottom:1px solid var(--border-soft);flex-wrap:wrap}.content[data-v-c5b83680]{flex:1;padding:20px;max-width:1280px;width:100%;margin:0 auto}button.ghost.paused[data-v-c5b83680]{border-color:var(--warn);color:var(--warn)}.user-chip[data-v-c5b83680]{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;border:1px solid var(--border);background:var(--panel-2);font-size:12px;color:var(--text-dim)}.user-chip.admin[data-v-c5b83680]{color:var(--accent);border-color:var(--accent)}:root{--bg: #0d1117;--bg-soft: #151b23;--panel: #1a2129;--panel-2: #212a34;--border: #2b3644;--border-soft: #222c38;--text: #e6edf3;--text-dim: #9aa7b4;--text-faint: #6b7885;--accent: #4a9eff;--accent-dim: #2f6fb8;--ok: #3fb950;--warn: #d29922;--err: #f85149;--idle: #6b7885;--mono: ui-monospace, SFMono-Regular, "Cascadia Mono", Consolas, "Liberation Mono", monospace;color-scheme:dark}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,Roboto,sans-serif;font-size:14px;line-height:1.6}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer;border-radius:6px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);padding:7px 14px;transition:border-color .15s,background .15s}button:hover:not(:disabled){border-color:var(--accent-dim);background:#263140}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:#06121f;font-weight:600}button.primary:hover:not(:disabled){background:#5cabff}button.danger{border-color:#5a2b2b;color:#ff9a94}button.ghost{background:transparent}input,select{font:inherit;background:var(--bg-soft);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:7px 10px;width:100%}input:focus,select:focus{outline:none;border-color:var(--accent-dim)}pre,code,.mono{font-family:var(--mono)}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border-soft);white-space:nowrap}th{color:var(--text-dim);font-weight:600;background:var(--bg-soft)}tbody tr:hover{background:#1b232c}.card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:16px}.dim{color:var(--text-dim)}.faint{color:var(--text-faint)}.row{display:flex;align-items:center;gap:10px}.row.between{justify-content:space-between}.wrap{flex-wrap:wrap}.tag{display:inline-block;padding:1px 8px;border-radius:999px;font-size:12px;border:1px solid var(--border);background:var(--bg-soft);color:var(--text-dim)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#2b3644;border-radius:5px}::-webkit-scrollbar-track{background:transparent}
