.message-bus-container{background:#0a0a0a;color:#e0e0e0;padding:2rem;font-family:JetBrains Mono,monospace;min-height:100vh}.message-bus-container.loading,.message-bus-container.error{display:flex;align-items:center;justify-content:center;font-size:1.2rem}.message-bus-container.error{color:#ff6b6b}.bus-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;border-bottom:2px solid #d4af37;padding-bottom:1rem}.bus-header h1{font-size:2rem;font-weight:700;margin:0;color:#d4af37;letter-spacing:2px}.live-badge{display:flex;align-items:center;gap:.5rem;background:rgba(52,211,153,.1);border:1px solid #34d399;color:#34d399;padding:.5rem 1rem;font-size:.875rem;font-weight:600;letter-spacing:1px}.pulse{width:8px;height:8px;background:#34d399;border-radius:50%;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.stat-box{background:linear-gradient(135deg,#1a1a1a 0%,#0f0f0f 100%);border:1px solid #333;border-radius:0;padding:1.5rem;text-align:center}.stat-label{font-size:.75rem;text-transform:uppercase;color:#999;letter-spacing:1px;margin-bottom:.5rem}.stat-value{font-size:2rem;font-weight:700;color:#d4af37}.stat-value.error{color:#ff6b6b}.chart-section{background:linear-gradient(135deg,#1a1a1a 0%,#0f0f0f 100%);border:1px solid #333;padding:1.5rem;margin-bottom:2rem;border-radius:0}.chart-section h3{margin:0 0 1rem;color:#d4af37;font-size:.9rem;text-transform:uppercase;letter-spacing:1px}.section{margin-bottom:2rem}.section h2{margin:0 0 1rem;color:#d4af37;font-size:1.1rem;text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid #333;padding-bottom:.5rem}.messages-feed{background:linear-gradient(135deg,#1a1a1a 0%,#0f0f0f 100%);border:1px solid #333;max-height:400px;overflow-y:auto;border-radius:0}.message-item{padding:1rem;border-bottom:1px solid #222;font-size:.875rem;transition:background .2s}.message-item:hover{background:rgba(212,175,55,.05)}.message-item:last-child{border-bottom:none}.msg-header{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.msg-id{background:rgba(212,175,55,.1);color:#d4af37;padding:.25rem .5rem;font-weight:600}.msg-endpoint{color:#34d399;font-weight:600}.msg-source,.msg-size{color:#999;font-size:.8rem}.msg-time{margin-left:auto;color:#666;font-size:.8rem}.empty-state{padding:2rem;text-align:center;color:#666;font-style:italic}.endpoint-table{background:linear-gradient(135deg,#1a1a1a 0%,#0f0f0f 100%);border:1px solid #333;border-radius:0;overflow-x:auto}.table-header{display:grid;grid-template-columns:2fr 1.2fr 1.2fr 1.2fr 1.2fr;gap:1rem;background:rgba(212,175,55,.05);border-bottom:1px solid #333;padding:1rem;font-size:.75rem;text-transform:uppercase;color:#999;letter-spacing:1px;font-weight:600;position:sticky;top:0}.table-row{display:grid;grid-template-columns:2fr 1.2fr 1.2fr 1.2fr 1.2fr;gap:1rem;padding:1rem;border-bottom:1px solid #222;align-items:center;font-size:.875rem;transition:background .2s}.table-row:hover{background:rgba(212,175,55,.05)}.table-row:last-child{border-bottom:none}.col-name{color:#d4af37;font-weight:600;word-break:break-all}.col-node{color:#34d399}.col-status{display:flex;justify-content:center}.col-count{text-align:right;color:#e0e0e0}.col-last{text-align:right;color:#999;font-size:.8rem}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:0;font-size:.75rem;font-weight:600;letter-spacing:1px}.status-active{background:rgba(52,211,153,.1);color:#34d399;border:1px solid #34d399}.status-idle{background:rgba(107,114,128,.1);color:#9ca3af;border:1px solid #6b7280}.status-error{background:rgba(255,107,107,.1);color:#ff6b6b;border:1px solid #ff6b6b}.messages-feed::-webkit-scrollbar{width:8px}.messages-feed::-webkit-scrollbar-track{background:rgba(212,175,55,.05)}.messages-feed::-webkit-scrollbar-thumb{background:#d4af37;border-radius:0}.messages-feed::-webkit-scrollbar-thumb:hover{background:#e5c158}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0a0a0a;--bg-secondary: #111111;--bg-card: #161616;--bg-hover: #1c1c1c;--border: #262626;--border-subtle: #1a1a1a;--text-primary: #f5f5f5;--text-secondary: #a3a3a3;--text-muted: #525252;--accent: #D4AF37;--accent-dim: rgba(212,175,55,.12);--white: #ffffff;--black: #000000;--bg2: var(--bg-secondary);--bg3: var(--bg-card);--bg4: var(--bg-hover);--border-glow: rgba(212,175,55,.2);--text: var(--text-primary);--text-dim: var(--text-muted);--cyan: var(--accent);--cyan-dim: var(--accent-dim);--cyan-glow: 0 0 8px rgba(212,175,55,.3);--amber: var(--accent);--amber-dim: var(--accent-dim);--amber-glow:0 0 8px rgba(212,175,55,.3);--magenta: #ef4444;--magenta-dim:rgba(239,68,68,.12);--magenta-glow:0 0 8px rgba(239,68,68,.3);--green: #00c864;--green-dim: rgba(0,200,100,.1);--green-glow:0 0 8px rgba(0,200,100,.4);--purple: var(--accent);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Space Grotesk", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Consolas", monospace;--font-hud: var(--font-display)}body{background:var(--bg);color:var(--text-secondary);font-family:var(--font-sans);font-size:14px;line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased;overflow-x:hidden}body:before{content:"";position:fixed;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.6;z-index:9999;pointer-events:none}@keyframes pulse-green{0%,to{opacity:1}50%{opacity:.4}}@keyframes pulse-amber{0%,to{opacity:1}50%{opacity:.4}}@keyframes pulse-cyan{0%,to{opacity:1}50%{opacity:.4}}@keyframes pulse-magenta{0%,to{opacity:1}50%{opacity:.4}}@keyframes data-scroll{0%{transform:translateY(0)}to{transform:translateY(-50%)}}@keyframes tunnel-flow{0%{background-position:200% 0}to{background-position:-200% 0}}a{color:var(--accent);text-decoration:none}a:hover{color:var(--text-primary)}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border)}::-webkit-scrollbar-thumb:hover{background:rgba(212,175,55,.3)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;letter-spacing:.02em;color:var(--text-primary)}.page-header{margin-bottom:28px;padding-bottom:16px;border-bottom:1px solid var(--border);position:relative}.page-header:after{content:"";position:absolute;bottom:-1px;left:0;width:60px;height:1px;background:var(--accent)}.page-title{font-family:var(--font-display);font-size:20px;font-weight:600;letter-spacing:.02em;color:var(--text-primary)}.page-subtitle{font-family:var(--font-sans);font-size:11px;font-weight:500;color:var(--text-muted);letter-spacing:.08em;margin-top:4px;text-transform:uppercase}.panel{background:var(--bg-card);border:1px solid var(--border);border-radius:0;position:relative;overflow:hidden;transition:border-color .15s}.panel:before{display:none}.panel:hover{border-color:var(--accent)}.panel-amber:before{display:none}.panel-amber:hover{border-color:var(--accent)}.panel-body{padding:20px 24px}.panel-header{padding:12px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.panel-title{font-family:var(--font-sans);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:0;padding:16px 20px;position:relative;overflow:hidden;transition:border-color .15s}.stat-card:hover{border-color:var(--accent)}.stat-card:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--accent);opacity:.4}.stat-card.amber:after{background:var(--accent)}.stat-card.magenta:after{background:var(--magenta)}.stat-card.green:after{background:var(--green)}.stat-label{font-family:var(--font-sans);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}.stat-value{font-family:var(--font-mono);font-size:26px;font-weight:600;color:var(--text-primary);line-height:1}.stat-value.amber{color:var(--accent)}.stat-value.magenta{color:var(--magenta)}.stat-value.green{color:var(--green)}.badge{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:0;font-family:var(--font-sans);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;border:1px solid transparent}.badge-dot{width:4px;height:4px;border-radius:0;flex-shrink:0}.badge-live{background:var(--green-dim);color:#00c864;border-color:#00c8644d}.badge-live .badge-dot{background:#00c864;animation:pulse-green 2s infinite}.badge-running{background:var(--accent-dim);color:var(--accent);border-color:#d4af374d}.badge-running .badge-dot{background:var(--accent);animation:pulse-amber 2s infinite}.badge-training{background:var(--accent-dim);color:var(--accent);border-color:#d4af374d}.badge-training .badge-dot{background:var(--accent);animation:pulse-amber 2s infinite}.badge-pending{background:rgba(163,163,163,.1);color:var(--text-secondary);border-color:#a3a3a333}.badge-pending .badge-dot{background:var(--text-secondary);animation:pulse-amber 3s infinite}.badge-queued{background:rgba(163,163,163,.1);color:var(--text-secondary);border-color:#a3a3a333}.badge-queued .badge-dot{background:var(--text-secondary)}.badge-failed{background:var(--magenta-dim);color:var(--magenta);border-color:#ef444440}.badge-failed .badge-dot{background:var(--magenta);animation:pulse-magenta 1.5s infinite}.badge-online{background:var(--green-dim);color:#00c864;border-color:#00c8644d}.badge-online .badge-dot{background:#00c864;animation:pulse-green 2s infinite}.badge-offline{background:var(--magenta-dim);color:var(--magenta);border-color:#ef444440}.badge-offline .badge-dot{background:var(--magenta)}.badge-syncing{background:var(--accent-dim);color:var(--accent);border-color:#d4af374d}.badge-syncing .badge-dot{background:var(--accent);animation:pulse-cyan 1s infinite}.badge-secure{background:var(--green-dim);color:#00c864;border-color:#00c8644d}.badge-secure .badge-dot{background:#00c864;animation:pulse-green 2.5s infinite}.badge-degraded{background:var(--accent-dim);color:var(--accent);border-color:#d4af374d}.badge-degraded .badge-dot{background:var(--accent);animation:pulse-amber 2s infinite}.axe-table{width:100%;border-collapse:collapse;font-family:var(--font-sans);font-size:13px}.axe-table th{padding:8px 12px;text-align:left;font-family:var(--font-sans);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap;background:var(--bg-card)}.axe-table td{padding:10px 12px;border-bottom:1px solid var(--border-subtle);vertical-align:middle;font-size:13px;color:var(--text-secondary)}.axe-table tr:hover td{background:var(--bg-hover);color:var(--text-primary)}.axe-table .mono{font-family:var(--font-mono);font-size:12px}.axe-table .bold{font-weight:600;color:var(--text-primary)}.axe-table .dim{color:var(--text-muted);font-size:11px}.reactor-bar-wrap{position:relative;height:4px;background:var(--bg-hover);border:1px solid var(--border);border-radius:0;overflow:hidden}.reactor-bar-fill{height:100%;background:var(--accent);border-radius:0;position:relative;transition:width .5s ease}.reactor-bar-wrap:after{display:none}.reactor-bar-amber .reactor-bar-fill{background:var(--accent)}.reactor-bar-green .reactor-bar-fill{background:var(--green)}.dossier{background:var(--bg-card);border:1px solid var(--border);border-radius:0;padding:0;position:relative;overflow:hidden;transition:border-color .15s,transform .15s;cursor:default}.dossier:before{display:none}.dossier:hover{border-color:var(--accent);transform:translateY(-1px)}.dossier-amber:before{display:none}.dossier-amber:hover{border-color:var(--accent)}.dossier-header{padding:16px 20px 12px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.dossier-classification{font-family:var(--font-sans);font-size:9px;font-weight:600;letter-spacing:.12em;color:var(--text-muted);text-transform:uppercase;margin-bottom:4px}.dossier-name{font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--text-primary);letter-spacing:.02em}.dossier-amber .dossier-name{color:var(--text-primary)}.dossier-desc{font-family:var(--font-sans);font-size:12px;color:var(--text-muted);margin-top:4px;line-height:1.5}.dossier-body{padding:14px 20px}.dossier-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}.dossier-stat-label{font-family:var(--font-sans);font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:3px}.dossier-stat-val{font-family:var(--font-mono);font-size:12px;font-weight:500;color:var(--text-primary)}.dossier-footer{padding:10px 20px;border-top:1px solid var(--border);background:var(--bg-secondary);display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--text-muted)}.node-card{background:var(--bg-card);border:1px solid var(--border);border-radius:0;padding:16px;position:relative;overflow:hidden;transition:border-color .15s}.node-card:before{content:"";position:absolute;top:0;left:0;width:2px;height:100%;background:var(--accent);opacity:.6}.node-card.amber:before{background:var(--accent)}.node-card.offline-card:before{background:var(--magenta)}.node-card:hover{border-color:var(--accent)}.node-name{font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--text-primary);margin-bottom:2px}.node-role{font-family:var(--font-sans);font-size:10px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px}.btn-primary{background:var(--accent);color:var(--black);border:1.5px solid var(--accent);border-radius:0;padding:8px 20px;font-family:var(--font-sans);font-size:13px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:background .15s,color .15s}.btn-primary:hover{background:transparent;color:var(--accent)}.btn-secondary{background:transparent;color:var(--text-primary);border:1px solid var(--border);border-radius:0;padding:8px 20px;font-family:var(--font-sans);font-size:13px;font-weight:500;letter-spacing:.04em;cursor:pointer;transition:border-color .15s,color .15s}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}select{background:var(--bg-card);border:1px solid var(--border);border-radius:0;color:var(--text-primary);padding:7px 12px;font-size:13px;font-family:var(--font-sans);cursor:pointer;outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none}select:focus{border-color:#d4af3780}.wg-peer{display:flex;align-items:center;gap:14px;padding:12px 16px;border-bottom:1px solid var(--border-subtle);transition:background .15s}.wg-peer:last-child{border-bottom:none}.wg-peer:hover{background:var(--bg-hover)}.wg-ip{font-family:var(--font-mono);font-size:12px;color:var(--accent);letter-spacing:.05em;min-width:90px}.wg-pubkey{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tunnel-viz{height:4px;background:var(--bg-hover);border:1px solid var(--border);border-radius:0;overflow:hidden;position:relative}.tunnel-viz-fill{position:absolute;top:0;left:0;bottom:0;background:linear-gradient(90deg,transparent 0%,var(--green) 20%,transparent 40%,var(--green) 60%,transparent 80%,var(--green) 100%);background-size:200% 100%;animation:tunnel-flow 2s linear infinite;width:100%;opacity:.5}.corner-tl:before,.corner-tl:after{content:"";position:absolute;top:0;left:0}.corner-tl:before{width:12px;height:1px;background:var(--accent)}.corner-tl:after{width:1px;height:12px;background:var(--accent)}.cluster-container{position:relative}.cluster-container svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}@media (max-width: 768px){.main-area{margin-left:0!important;padding:48px 12px 24px!important;max-width:100vw!important}.stat-grid-4,.stat-grid-3{grid-template-columns:repeat(2,1fr)!important}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.kanban-board,.overview-main,.agent-grid{grid-template-columns:1fr!important}}@media (max-width: 480px){.stat-grid-4,.stat-grid-3,.stat-grid-2{grid-template-columns:1fr!important}}
