:root{--navy-1:#0b1930;--navy-2:#0d2340;--accent-1:#4c84d4;--accent-2:#6bb8ff;--bg:#0a1220;--surface:#101a30;--surface-2:#16233f;--card-border:#1f2c48;--card-border-soft:#182238;--text:#e7ebf3;--text-muted:#8fa0c0;--text-faint:#5f6f92;--danger:#f0637d;--danger-bg:#f0637d24;--success:#3ddc93;--success-bg:#3ddc9321;--amber:#f0b93d;--amber-bg:#f0b93d24;--info-bg:#4c84d429;--radius:14px}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);margin:0;font-family:-apple-system,Segoe UI,system-ui,Roboto,Arial,sans-serif}a{color:var(--accent-2);text-decoration:none}a:hover{color:#8fcaff}button{cursor:pointer;font-family:inherit}.app-shell{width:100%;height:100vh;display:flex;overflow:hidden}.sidebar{background:linear-gradient(180deg, var(--navy-1) 0%, var(--navy-2) 100%);border-right:1px solid #ffffff0a;flex-direction:column;flex-shrink:0;width:264px;padding:22px 14px;display:flex;overflow-y:auto}.brand{align-items:center;gap:10px;padding:0 10px 20px;display:flex}.brand-mark{background:linear-gradient(135deg, var(--accent-1), var(--accent-2));color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.brand-name{color:#fff;letter-spacing:.2px;font-size:14.5px;font-weight:700;line-height:1.25}.brand-sub{color:#7d8db3;letter-spacing:.4px;text-transform:uppercase;font-size:10.5px}.nav{flex-direction:column;gap:2px;margin-top:4px;display:flex}.navitem{color:#aab8d1;text-align:left;background:0 0;border:none;border-radius:9px;align-items:center;gap:11px;width:100%;padding:9px 12px;font-size:13px;font-weight:500;display:flex}.navitem svg{flex-shrink:0;width:17px;height:17px}.navitem.active{color:#fff;background:#ffffff14}.navitem.active svg{color:#7fc0ff}.navitem:not(.active) svg{color:#7d8db3}.nav-group-head{color:#7d8db3;letter-spacing:.5px;text-transform:uppercase;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:9px;align-items:center;gap:11px;width:100%;margin-top:14px;padding:9px 12px;font-size:10.5px;font-weight:700;display:flex}.nav-group-head .chev{width:13px;height:13px;margin-left:auto;transition:transform .15s}.nav-group.open .nav-group-head{color:#fff}.nav-group.open .chev{transform:rotate(180deg)}.nav-sub{flex-direction:column;gap:1px;margin:2px 0 6px;display:flex}.nav-sub .navitem{gap:10px;padding-left:23px;font-size:12.5px}.nav-sub .navitem .bullet{opacity:.45;background:currentColor;border-radius:50%;flex-shrink:0;width:5px;height:5px}.nav-sub .navitem.active .bullet{opacity:1;background:#7fc0ff}.sidebar-foot{background:#ffffff0b;border-radius:12px;align-items:center;gap:10px;margin-top:auto;padding:11px;display:flex}.avatar{background:linear-gradient(135deg, var(--accent-1), var(--accent-2));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:11px;font-weight:700;display:flex}.foot-name{color:#fff;font-size:12.5px;font-weight:600}.foot-role{color:#7d8db3;text-transform:capitalize;font-size:10.5px}.foot-logout{color:#97a5c2;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;margin-left:auto;display:flex}.foot-logout svg{width:15px;height:15px}.main{flex-direction:column;flex:1;min-width:0;display:flex}.sidebar-toggle{z-index:20;border:1px solid var(--card-border);background:var(--surface-2);color:#9aa8c4;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;transition:left .15s,background .15s,color .15s;display:flex;position:fixed;top:20px;left:254px}.sidebar-toggle svg{width:15px;height:15px}.sidebar-toggle:hover{color:#fff;background:var(--surface)}.app-shell.sidebar-collapsed .sidebar-toggle{left:10px}.topbar{background:var(--surface);border-bottom:1px solid var(--card-border-soft);flex-shrink:0;justify-content:space-between;align-items:center;height:72px;padding:0 30px;display:flex}.page-title{color:#fff;font-size:18.5px;font-weight:700}.page-sub{color:var(--text-muted);margin-top:3px;font-size:12.5px}.topbar-actions{align-items:center;gap:12px;display:flex}.icon-btn{background:var(--surface-2);color:#9aa8c4;cursor:pointer;border:none;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex;position:relative}.icon-btn svg{width:17px;height:17px}.badge-dot{background:var(--danger);border:1.5px solid var(--surface);border-radius:50%;width:7px;height:7px;position:absolute;top:6px;right:7px}.content{flex-direction:column;flex:1;gap:16px;padding:22px 30px 30px;display:flex;overflow:auto}.btn{cursor:pointer;white-space:nowrap;border:none;border-radius:9px;align-items:center;gap:7px;padding:9px 15px;font-size:12.5px;font-weight:700;display:inline-flex}.btn svg{width:14px;height:14px}.btn-primary{background:linear-gradient(135deg, var(--accent-1), var(--accent-2));color:#fff}.btn-ghost{background:var(--surface-2);color:var(--text);border:1px solid var(--card-border)}.card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--card-border-soft)}.stat-row,.stat-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.stat-card{flex-direction:column;gap:11px;padding:17px;display:flex}.stat-top{justify-content:space-between;align-items:flex-start;display:flex}.stat-label{color:var(--text-muted);font-size:11.5px;font-weight:600}.stat-icon{background:var(--info-bg);width:32px;height:32px;color:var(--accent-2);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.stat-icon svg{width:16px;height:16px}.stat-icon.green{background:var(--success-bg);color:var(--success)}.stat-icon.amber{background:var(--amber-bg);color:var(--amber)}.stat-icon.danger{background:var(--danger-bg);color:var(--danger)}.stat-value{letter-spacing:-.3px;color:#fff;font-size:20px;font-weight:800}.stat-trend{color:var(--text-faint);font-size:11.5px;font-weight:600}.stat-trend.up{color:var(--success)}.stat-trend.warn{color:var(--amber)}.mini-stat{align-items:center;gap:12px;padding:15px 17px;display:flex}.mini-ico{background:var(--info-bg);width:36px;height:36px;color:var(--accent-2);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.mini-ico svg{width:17px;height:17px}.mini-ico.green{background:var(--success-bg);color:var(--success)}.mini-ico.amber{background:var(--amber-bg);color:var(--amber)}.mini-ico.danger{background:var(--danger-bg);color:var(--danger)}.mini-label{color:var(--text-muted);font-size:11.5px;font-weight:600}.mini-value{color:#fff;margin-top:2px;font-size:17.5px;font-weight:800}.mini-sub{color:var(--text-faint);margin-top:1px;font-size:11px}.grid-2{flex:1;grid-template-columns:1.4fr 1fr;gap:14px;min-height:0;display:grid}.panel{flex-direction:column;min-height:0;padding:18px 20px;display:flex}.panel-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.panel-title{color:#fff;font-size:13.5px;font-weight:700}.panel-sub{color:var(--text-muted);margin-top:2px;font-size:11.5px}.pill-badge{background:var(--info-bg);color:var(--accent-2);border-radius:999px;padding:4px 10px;font-size:10.5px;font-weight:700}.tab-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tab-btn{border:1px solid var(--card-border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:9px;padding:8px 14px;font-size:12.5px;font-weight:700}.tab-btn.active{background:linear-gradient(135deg, var(--accent-1), var(--accent-2));color:#fff;border-color:#0000}.filter-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.search-box{background:var(--surface);border:1px solid var(--card-border);width:240px;color:var(--text-faint);border-radius:10px;align-items:center;gap:8px;padding:9px 13px;font-size:12.5px;display:flex}.search-box svg{flex-shrink:0;width:15px;height:15px}.search-box input{color:var(--text);background:0 0;border:none;outline:none;width:100%;font-size:12.5px}.table-card{flex-direction:column;flex:1;min-height:0;padding:6px 4px 4px;display:flex;overflow:auto}table{border-collapse:collapse;width:100%}th{text-align:left;color:var(--text-faint);text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--card-border-soft);background:var(--surface);white-space:nowrap;padding:13px 16px 11px;font-size:10.5px;font-weight:700;position:sticky;top:0}td{color:var(--text);border-bottom:1px solid var(--card-border-soft);vertical-align:middle;padding:12px 16px;font-size:13px}tbody tr:last-child td{border-bottom:none}tbody tr.row-selected td{background:var(--surface-2)}.num{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.who-cell,.org-cell,.bank-cell{align-items:center;gap:11px;display:flex}.who-ico,.org-ico,.bank-ico{background:var(--info-bg);width:32px;height:32px;color:var(--accent-2);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.row-name{color:#fff;font-weight:700}.row-sub{color:var(--text-faint);margin-top:1px;font-size:11px}.tag{background:var(--surface-2);color:var(--text-muted);border-radius:999px;padding:4px 10px;font-size:10.5px;font-weight:700;display:inline-block}.tag.blue{background:var(--info-bg);color:var(--accent-2)}.status-pill{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:5px 11px;font-size:11px;font-weight:700;display:inline-flex}.status-pill.ok{background:var(--success-bg);color:var(--success)}.status-pill.warn{background:var(--amber-bg);color:var(--amber)}.status-pill.err{background:var(--danger-bg);color:var(--danger)}.status-pill.idle{background:var(--surface-2);color:var(--text-faint)}.mono{color:var(--text-muted);font-family:SF Mono,Menlo,ui-monospace,monospace;font-size:12px}.tabs{border-bottom:1px solid var(--card-border-soft);gap:4px;display:flex}.tab{color:var(--text-faint);border-bottom:2px solid #0000;margin-right:22px;padding:10px 4px;font-size:12.5px;font-weight:600}.tab.active{color:#fff;border-bottom-color:var(--accent-2)}.state-msg{text-align:center;color:var(--text-faint);padding:40px 20px;font-size:13px}.orbit-card{background:radial-gradient(at 50% 42%,#10234a 0%,#070d1c 78%);flex-direction:column;min-height:470px;display:flex;position:relative;overflow:hidden}.orbit-svg-wrap{flex:1;justify-content:center;align-items:center;min-height:0;padding:4px 10px;display:flex}svg.orbit{width:100%;height:100%;max-height:420px}.orbit-grid{grid-template-columns:2.3fr .9fr}.ws-url-box{width:190px}.ws-token-box{width:150px}.orbit-grid.calls-hidden{grid-template-columns:1fr}.orbit-grid.calls-hidden .orbit-card{min-height:620px}.orbit-grid.calls-hidden svg.orbit{max-height:600px}.orbit-calls-toggle{z-index:2;position:absolute;top:14px;right:14px}.orbit-subplanets-toggle{z-index:2;position:absolute;top:14px;left:14px}.orbit-subplanets-toggle.active{background:var(--accent-2);color:#fff}@media (width<=860px){.topbar{flex-wrap:wrap;row-gap:10px;height:auto;padding:14px 16px}.topbar-actions{flex-wrap:wrap;width:100%}.ws-url-box,.ws-token-box{flex:110px;width:auto}.orbit-grid{grid-template-columns:1fr}.orbit-card{order:1;min-height:72vh}.orbit-grid.calls-hidden .orbit-card{min-height:82vh}.orbit-svg-wrap{padding:4px}svg.orbit{max-height:none}.orbit-grid .panel{order:2;max-height:220px}}@keyframes orbit-spin{to{transform:rotate(360deg)}}@keyframes orbit-spin-reverse{to{transform:rotate(-360deg)}}@keyframes core-breathe{0%,to{opacity:.78}50%{opacity:1}}@keyframes planet-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes ping-pop{0%{opacity:.9;transform:scale(.55)}to{opacity:0;transform:scale(2)}}@keyframes lightning-flicker{0%{opacity:0}6%{opacity:1}14%{opacity:.25}22%{opacity:.95}30%{opacity:.4}45%{opacity:.85}65%{opacity:.5}to{opacity:0}}.orbit-rings{transform-box:view-box;transform-origin:480px 220px;animation:120s linear infinite orbit-spin}.core-breathe{transform-box:view-box;transform-origin:480px 220px;animation:3.6s ease-in-out infinite core-breathe}.planet-float{transform-box:view-box;transform-origin:480px 220px;animation:3.2s ease-in-out infinite planet-bob}.ping{transform-box:view-box;animation:.7s ease-out forwards ping-pop}.sub-planet-orbit{transform-box:view-box;animation-name:orbit-spin;animation-timing-function:linear;animation-iteration-count:infinite}.sub-planet-counter-spin{transform-box:view-box;animation-name:orbit-spin-reverse;animation-timing-function:linear;animation-iteration-count:infinite}.lightning-bolt{animation:.5s linear forwards lightning-flicker}.lightning-glow{stroke-width:7px;stroke-linejoin:round;stroke-linecap:round;opacity:.55;filter:blur(2.5px)}.lightning-core{stroke-width:1.6px;stroke-linejoin:round;stroke-linecap:round}.planet,.planet.planet-float{touch-action:none}.planet-hitarea{cursor:grab}.planet.dragging,.planet.dragging .planet-hitarea{cursor:grabbing}@media (prefers-reduced-motion:reduce){.orbit-rings,.core-breathe,.planet-float,.sub-planet-orbit,.sub-planet-counter-spin,.ping,.lightning-bolt{opacity:0;animation:none!important}}.call-row{border:1px solid var(--card-border-soft);background:var(--surface-2);border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:7px 9px;display:grid}.method-tag{letter-spacing:.02em;color:#04070c;border-radius:4px;padding:2px 6px;font-size:9.5px;font-weight:800}.call-url{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.call-org{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-faint);margin-top:1px;font-size:9.5px;overflow:hidden}.auth-wrap{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-card{background:var(--surface);border:1px solid var(--card-border-soft);border-radius:var(--radius);width:380px;padding:32px}.auth-brand{align-items:center;gap:12px;margin-bottom:24px;display:flex}.auth-title{color:#fff;font-size:16px;font-weight:700}.auth-sub{color:var(--text-muted);font-size:12.5px}.auth-error{background:var(--danger-bg);color:var(--danger);border-radius:9px;margin-bottom:16px;padding:10px 12px;font-size:12.5px}.field{margin-bottom:16px}.field label{color:var(--text-muted);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.field input{border:1px solid var(--card-border);background:var(--surface-2);width:100%;height:42px;color:var(--text);border-radius:9px;padding:0 13px;font-size:13px}.field input:focus{border-color:var(--accent-1);outline:none}.auth-card .btn{justify-content:center;width:100%;height:42px}
