@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=JetBrains+Mono:wght@400;500;600&display=swap";.topbar[data-v-e243d6ad]{height:var(--topbar-height, 52px);background:var(--bg-secondary);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 20px;flex-shrink:0}.topbar-left[data-v-e243d6ad]{display:flex;align-items:center;gap:10px}.topbar-logo[data-v-e243d6ad]{font-size:1.6rem}.topbar-title[data-v-e243d6ad]{font-size:1.1rem;font-weight:700;letter-spacing:-.02em;background:linear-gradient(135deg,var(--accent-cyan),var(--accent-blue));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.topbar-center[data-v-e243d6ad]{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.index-item[data-v-e243d6ad],.northbound-item[data-v-e243d6ad]{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;color:var(--text-secondary)}.index-name[data-v-e243d6ad]{min-width:36px}.index-value[data-v-e243d6ad]{font-weight:600;color:var(--text-primary)}.index-pct[data-v-e243d6ad]{font-size:.75rem}.northbound-item[data-v-e243d6ad]{padding-left:12px;border-left:1px solid var(--border)}.topbar-right[data-v-e243d6ad]{display:flex;align-items:center;gap:12px}.topbar-user[data-v-e243d6ad]{font-size:.8rem;color:var(--text-muted)}.logout-btn[data-v-e243d6ad]{padding:4px 10px;font-size:.75rem;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer}.logout-btn[data-v-e243d6ad]:hover{color:var(--accent-red);border-color:var(--accent-red)}.topbar-time[data-v-e243d6ad]{font-size:.85rem;color:var(--text-muted);min-width:58px}.mode-switch[data-v-e243d6ad]{display:flex;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.mode-btn[data-v-e243d6ad]{padding:3px 10px;font-size:.72rem;background:none;border:none;color:var(--text-muted);cursor:pointer;transition:all .2s;position:relative}.mode-btn[data-v-e243d6ad]:first-child{border-right:1px solid var(--border)}.mode-btn.active[data-v-e243d6ad]{color:var(--accent-cyan);background:#22d3ee1a;font-weight:600}.mode-btn[data-v-e243d6ad]:not(.active):hover{color:var(--text-secondary);background:#ffffff08}.health-wrap[data-v-e243d6ad]{position:relative}.health-btn[data-v-e243d6ad]{display:flex;align-items:center;gap:4px;padding:4px 8px;background:none;border:none;color:var(--text-muted);font-size:.75rem;cursor:pointer;border-radius:4px}.health-btn[data-v-e243d6ad]:hover{background:var(--bg-input);color:var(--text-secondary)}.status-dot[data-v-e243d6ad]{width:6px;height:6px;border-radius:50%;background:var(--text-muted)}.status-dot.online[data-v-e243d6ad]{background:#10b981}.status-dot.degraded[data-v-e243d6ad]{background:#f59e0b}.status-dot.error[data-v-e243d6ad]{background:#ef4444}.health-dropdown[data-v-e243d6ad]{position:absolute;top:100%;right:0;margin-top:4px;min-width:220px;padding:8px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-elevated);z-index:100}.health-row[data-v-e243d6ad]{display:flex;align-items:center;gap:6px;padding:4px 0;font-size:.72rem}.health-dot[data-v-e243d6ad]{width:5px;height:5px;border-radius:50%;flex-shrink:0}.health-dot.ok[data-v-e243d6ad]{background:#10b981}.health-dot.warn[data-v-e243d6ad]{background:#f59e0b}.health-dot.err[data-v-e243d6ad]{background:#ef4444}.health-dot.loading[data-v-e243d6ad]{background:var(--text-muted);opacity:.7;animation:pulse-e243d6ad .8s ease-in-out infinite}@keyframes pulse-e243d6ad{50%{opacity:.3}}.health-name[data-v-e243d6ad]{flex:1;color:var(--text-secondary)}.health-status[data-v-e243d6ad]{color:var(--text-muted)}.health-row-datasource[data-v-e243d6ad]{display:grid;grid-template-columns:5px 4em 1fr auto auto;align-items:center;gap:0 10px;line-height:1.35;min-height:24px}.health-row-datasource .health-dot[data-v-e243d6ad]{grid-column:1}.health-row-datasource .health-name-nowrap[data-v-e243d6ad]{grid-column:2;white-space:nowrap;color:var(--text-secondary)}.health-row-datasource .health-status-nowrap[data-v-e243d6ad]{grid-column:3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-muted);min-width:0}.health-row-datasource .health-check-btn[data-v-e243d6ad]{grid-column:4;margin:0;line-height:1.35}.health-row-datasource .health-detail-btn[data-v-e243d6ad]{grid-column:5;margin:0;line-height:1.35}.health-check-btn[data-v-e243d6ad],.health-detail-btn[data-v-e243d6ad]{padding:2px 6px;font-size:.65rem;background:var(--bg-input);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);cursor:pointer}.health-check-btn[data-v-e243d6ad]:hover,.health-detail-btn[data-v-e243d6ad]:hover{background:var(--accent-cyan);color:var(--bg-primary);border-color:var(--accent-cyan)}.health-detail-block[data-v-e243d6ad]{margin-top:4px;padding:6px 8px;background:var(--bg-input);border-radius:4px;font-size:.7rem;color:var(--text-muted)}.health-detail-line[data-v-e243d6ad]{margin-bottom:2px}.health-detail-line[data-v-e243d6ad]:last-child{margin-bottom:0}.health-detail-line strong[data-v-e243d6ad]{color:var(--text-secondary);margin-right:4px}.sidebar[data-v-5313bf21]{width:200px;min-height:100%;background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:12px 0;flex-shrink:0}.nav[data-v-5313bf21]{flex:1;display:flex;flex-direction:column;gap:2px;padding:0 8px}.nav-item[data-v-5313bf21]{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);color:var(--text-secondary);font-weight:500;font-size:.9rem;transition:all .15s;text-decoration:none}.nav-item[data-v-5313bf21]:hover{color:var(--text-primary);background:#ffffff0a}.nav-item.active[data-v-5313bf21]{color:var(--accent-cyan);background:#22d3ee14}.nav-icon[data-v-5313bf21]{width:20px;flex-shrink:0;opacity:.7;transition:opacity .15s}.nav-item:hover .nav-icon[data-v-5313bf21],.nav-item.active .nav-icon[data-v-5313bf21]{opacity:1}.toast-wrap[data-v-b0a1f608]{position:fixed;top:72px;left:50%;transform:translate(-50%);z-index:10001;display:flex;align-items:center;gap:10px;padding:14px 20px;border-radius:var(--radius);font-size:.9rem;font-weight:500;box-shadow:var(--shadow-elevated);cursor:pointer;max-width:min(480px,calc(100vw - 32px))}.toast-wrap.error[data-v-b0a1f608]{background:#1f1414;border:1px solid rgba(239,68,68,.5);color:#fca5a5}.toast-wrap.warn[data-v-b0a1f608]{background:#1f1a0f;border:1px solid rgba(245,158,11,.5);color:#fcd34d}.toast-wrap.info[data-v-b0a1f608]{background:#0f1a1f;border:1px solid rgba(34,211,238,.5);color:var(--accent-cyan)}.toast-icon[data-v-b0a1f608]{width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:#0000004d;border-radius:50%;font-size:.8rem;flex-shrink:0}.toast-msg[data-v-b0a1f608]{flex:1;line-height:1.4;word-break:break-word}.toast-enter-active[data-v-b0a1f608],.toast-leave-active[data-v-b0a1f608]{transition:opacity .2s,transform .2s}.toast-enter-from[data-v-b0a1f608],.toast-leave-to[data-v-b0a1f608]{opacity:0;transform:translate(-50%) translateY(-12px)}.app-body[data-v-0129b386]{display:flex;flex:1;min-height:0}.main-content[data-v-0129b386]{flex:1;padding:24px 32px;overflow-y:auto;min-height:0}:root{--bg-primary: #0a0e17;--bg-secondary: #111827;--bg-card: #1a2332;--bg-card-hover: #1f2b3d;--bg-input: #0d1321;--text-primary: #e8ecf1;--text-secondary: #8b95a5;--text-muted: #5a6474;--accent-blue: #3b82f6;--accent-cyan: #22d3ee;--accent-green: #10b981;--accent-red: #ef4444;--accent-amber: #f59e0b;--accent-purple: #a78bfa;--rise: #ef4444;--fall: #10b981;--border: rgba(255, 255, 255, .06);--border-hover: rgba(255, 255, 255, .12);--radius: 10px;--radius-sm: 6px;--radius-lg: 16px;--shadow-card: 0 1px 3px rgba(0, 0, 0, .3), 0 0 0 1px var(--border);--shadow-elevated: 0 8px 32px rgba(0, 0, 0, .4);--font-sans: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", monospace;color-scheme:dark;--topbar-height: 52px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:14px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh}a{color:var(--accent-blue);text-decoration:none}#app{display:flex;flex-direction:column;min-height:100vh}#app .app-body{display:flex;flex:1;min-height:0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.rise{color:var(--rise)}.fall{color:var(--fall)}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.font-mono{font-family:var(--font-mono)}.card{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:20px;transition:background .2s}.card:hover{background:var(--bg-card-hover)}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.badge-buy{background:#ef444426;color:var(--rise)}.badge-sell{background:#10b98126;color:var(--fall)}.badge-hold{background:#f59e0b26;color:var(--accent-amber)}.link-sm,.trace-link{font-size:.78rem;color:var(--accent-cyan);text-decoration:none;cursor:pointer;margin-right:8px}.link-sm:hover,.trace-link:hover{text-decoration:underline}.op-cell{display:flex;align-items:center;gap:6px}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease}.fade-enter-from,.fade-leave-to{opacity:0}
