@import "https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=JetBrains+Mono:wght@300;400;500;600;700&family=Outfit:wght@300;400;500;600;700&display=swap";:root{--bg-base:#07071a;--bg-surface:#0e0e24;--bg-card:#12122a;--bg-card-hover:#181838;--bg-elevated:#1a1a3a;--bg-glass:#12122ab3;--bg-glass-border:#4ecdc41f;--bg-sidebar:#09091e;--color-teal:#4ecdc4;--color-teal-dim:#4ecdc426;--color-teal-glow:#4ecdc44d;--color-danger:#ff6b6b;--color-danger-dim:#ff6b6b26;--color-warning:#ffd93d;--color-warning-dim:#ffd93d26;--color-info:#74b9ff;--color-info-dim:#74b9ff26;--color-purple:#a29bfe;--color-purple-dim:#a29bfe26;--color-text:#e8e8f0;--color-text-muted:#7a7a9a;--color-text-dim:#4a4a6a;--color-text-bright:#fff;--border-subtle:1px solid #ffffff0f;--border-card:1px solid #4ecdc41a;--border-active:1px solid #4ecdc466;--font-display:"DM Serif Display", Georgia, serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--font-body:"Outfit", system-ui, sans-serif;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--shadow-card:0 1px 3px #0006, 0 0 0 1px #4ecdc40f;--shadow-elevated:0 8px 32px #00000080, 0 0 0 1px #4ecdc41a;--shadow-glow:0 0 20px #4ecdc433;--sidebar-width:220px;--sidebar-collapsed:64px;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s ease}[data-theme=light]{--bg-base:#ecedf1;--bg-surface:#f5f5f8;--bg-card:#f8f8fa;--bg-card-hover:#f0f0f4;--bg-elevated:#f5f5f8;--bg-glass:#f5f5f8e6;--bg-glass-border:#0d948826;--bg-sidebar:#2d3748;--color-teal:#0d9488;--color-teal-dim:#0d94881a;--color-teal-glow:#0d948826;--color-danger:#dc2626;--color-danger-dim:#dc262614;--color-warning:#d97706;--color-warning-dim:#d9770614;--color-info:#2563eb;--color-info-dim:#2563eb14;--color-purple:#7c3aed;--color-purple-dim:#7c3aed14;--color-text:#2d3748;--color-text-muted:#64748b;--color-text-dim:#94a3b8;--color-text-bright:#1a202c;--border-subtle:1px solid #00000012;--border-card:1px solid #00000014;--border-active:1px solid #0d948880;--shadow-card:0 1px 3px #0000000f;--shadow-elevated:0 4px 12px #00000014;--shadow-glow:0 0 8px #0d94881a;font-size:15px}[data-theme=light] .sidebar{background:#2d3748}[data-theme=light] .sidebar-logo-text,[data-theme=light] .nav-link,[data-theme=light] .sidebar-section-label,[data-theme=light] .sidebar-toggle-label,[data-theme=light] .sidebar-status-text{color:#e2e8f0}[data-theme=light] .nav-link:hover{color:#fff;background:#ffffff14}[data-theme=light] .nav-link.active{color:#4fd1c5;background:#0d948833;border-left-color:#4fd1c5}[data-theme=light] .sidebar-footer{border-top:1px solid #ffffff1a}[data-theme=light] .page-header{background:var(--bg-surface);-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:1px solid #00000014}[data-theme=light] .card,[data-theme=light] .card-glass,[data-theme=light] .metric-card,[data-theme=light] .agent-card{border:var(--border-card);background:var(--bg-card)}[data-theme=light] .data-table thead th{color:#475569;background:#eef0f4;border-bottom:2px solid #dde1e8}[data-theme=light] .data-table tbody tr{border-bottom:1px solid #eef0f4}[data-theme=light] .data-table tbody tr:hover{background:#f0f0f4}[data-theme=light] .chart-container{background:var(--bg-card);border:var(--border-card)}[data-theme=light] .filter-toolbar{background:#eef0f4;border:1px solid #dde1e8}[data-theme=light] .filter-btn{color:#475569;background:var(--bg-card);border:1px solid #dde1e8}[data-theme=light] .filter-btn.active{background:var(--color-teal);color:#fff;border-color:var(--color-teal)}[data-theme=light] .tab-btn{color:#64748b}[data-theme=light] .tab-btn.active{color:var(--color-teal);border-color:var(--color-teal)}[data-theme=light] .badge{border:1px solid #00000014}[data-theme=light] .report-card{background:var(--bg-card);border:1px solid #dde1e8}[data-theme=light] .report-card:hover{border-color:var(--color-teal)}[data-theme=light] .metric-card:before{background:linear-gradient(90deg,#0000,#0d94884d,#0000)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px}body{font-family:var(--font-body);background:var(--bg-base);color:var(--color-text);min-height:100vh;font-size:15px;line-height:1.6;overflow-x:hidden}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-body);color:var(--color-text-bright);font-weight:600;line-height:1.2}.text-display{font-family:var(--font-display);font-style:italic}.text-mono{font-family:var(--font-mono)}.text-muted{color:var(--color-text-muted)}.text-dim{color:var(--color-text-dim)}.text-bright{color:var(--color-text-bright)}.text-teal{color:var(--color-teal)}.text-danger{color:var(--color-danger)}.text-warning{color:var(--color-warning)}.text-sm{font-size:13px}.text-xs{font-size:12px}.text-lg{font-size:20px}.text-xl{font-size:24px}.text-2xl{font-size:28px}.text-3xl{font-size:36px}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.app-shell{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--bg-sidebar);border-right:var(--border-subtle);z-index:100;min-height:100vh;transition:width var(--transition-base);flex-direction:column;display:flex;position:fixed;top:0;left:0}.sidebar-logo{padding:var(--space-lg) var(--space-md);border-bottom:var(--border-subtle);align-items:center;gap:var(--space-sm);text-decoration:none;display:flex}.sidebar-logo-icon{background:linear-gradient(135deg, var(--color-teal), #38b2ac);border-radius:var(--radius-sm);width:32px;height:32px;box-shadow:0 0 12px var(--color-teal-glow);flex-shrink:0;justify-content:center;align-items:center;font-size:16px;display:flex}.sidebar-logo-text{font-family:var(--font-body);color:var(--color-text-bright);letter-spacing:-.3px;font-size:15px;font-weight:700}.sidebar-logo-sub{color:var(--color-text-muted);letter-spacing:.5px;text-transform:uppercase;font-size:10px;font-weight:400}.sidebar-nav{padding:var(--space-md) var(--space-sm);flex-direction:column;flex:1;gap:2px;display:flex}.sidebar-section-label{color:var(--color-text-dim);text-transform:uppercase;letter-spacing:1px;padding:var(--space-md) var(--space-sm) var(--space-xs);font-size:10px;font-weight:600}.nav-link{align-items:center;gap:var(--space-sm);padding:10px var(--space-sm);border-radius:var(--radius-sm);color:var(--color-text-muted);transition:all var(--transition-fast);letter-spacing:.1px;font-size:13.5px;font-weight:500;text-decoration:none;display:flex;position:relative}.nav-link:hover{color:var(--color-text);background:#4ecdc412}.nav-link.active{background:var(--color-teal-dim);color:var(--color-teal)}.nav-link.active:before{content:"";background:var(--color-teal);width:3px;height:60%;box-shadow:0 0 8px var(--color-teal-glow);border-radius:0 2px 2px 0;position:absolute;top:50%;left:0;transform:translateY(-50%)}.nav-link-icon{text-align:center;flex-shrink:0;width:20px;font-size:16px}.sidebar-footer{padding:var(--space-md);border-top:var(--border-subtle)}.sidebar-toggle-row{margin-bottom:var(--space-sm);justify-content:space-between;align-items:center;display:flex}.sidebar-toggle-label{color:var(--color-text-dim);text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-weight:600}.sidebar-compact-toggle{transform-origin:100%;transform:scale(.85)}.sidebar-status{align-items:center;gap:var(--space-sm);color:var(--color-text-muted);font-size:12px;display:flex}.status-dot{background:var(--color-teal);width:7px;height:7px;box-shadow:0 0 6px var(--color-teal);border-radius:50%;flex-shrink:0;animation:2s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1;box-shadow:0 0 6px var(--color-teal)}50%{opacity:.5;box-shadow:0 0 2px var(--color-teal)}}.main-content{margin-left:var(--sidebar-width);flex-direction:column;flex:1;min-height:100vh;display:flex}.page-header{padding:var(--space-lg) var(--space-xl);border-bottom:var(--border-subtle);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:50;justify-content:space-between;align-items:center;gap:var(--space-md);background:linear-gradient(#0e0e24cc 0%,#0000 100%);display:flex;position:sticky;top:0}.page-title{color:var(--color-text-bright);letter-spacing:-.3px;font-size:24px;font-weight:600}.page-subtitle{color:var(--color-text-muted);margin-top:2px;font-size:13px}.page-body{padding:var(--space-xl);flex:1}.card{background:var(--bg-card);border:var(--border-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-elevated);border-color:#4ecdc433}.card-glass{background:var(--bg-glass);border:1px solid var(--bg-glass-border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--shadow-card)}.card-header{padding:var(--space-md) var(--space-lg);border-bottom:var(--border-subtle);justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.card-title{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.8px;font-size:13px;font-weight:600}.card-body{padding:var(--space-lg)}.metric-grid{gap:var(--space-md);display:grid}.metric-grid-4{grid-template-columns:repeat(4,1fr)}.metric-grid-3{grid-template-columns:repeat(3,1fr)}.metric-grid-2{grid-template-columns:repeat(2,1fr)}.metric-card{background:var(--bg-card);border:var(--border-card);border-radius:var(--radius-lg);padding:var(--space-lg);transition:all var(--transition-base);position:relative;overflow:hidden}.metric-card:before{content:"";background:linear-gradient(90deg, transparent, var(--color-teal-glow), transparent);opacity:0;height:1px;transition:opacity var(--transition-base);position:absolute;top:0;left:0;right:0}.metric-card:hover{background:var(--bg-card-hover);box-shadow:var(--shadow-elevated);border-color:#4ecdc433;transform:translateY(-1px)}.metric-card:hover:before{opacity:1}.metric-card-accent-teal{border-left:3px solid var(--color-teal)}.metric-card-accent-danger{border-left:3px solid var(--color-danger)}.metric-card-accent-warning{border-left:3px solid var(--color-warning)}.metric-card-accent-info{border-left:3px solid var(--color-info)}.metric-card-accent-purple{border-left:3px solid var(--color-purple)}.metric-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.8px;margin-bottom:var(--space-xs);align-items:center;gap:var(--space-xs);font-size:13px;font-weight:600;display:flex}.metric-value{font-family:var(--font-mono);color:var(--color-text-bright);letter-spacing:-1px;margin-bottom:var(--space-xs);font-size:26px;font-weight:600;line-height:1}.metric-sub{color:var(--color-text-muted);align-items:center;gap:var(--space-xs);font-size:12px;display:flex}.live-badge{color:var(--color-teal);letter-spacing:.5px;text-transform:uppercase;background:#4ecdc41a;border:1px solid #4ecdc44d;border-radius:100px;align-items:center;gap:5px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.badge{letter-spacing:.3px;text-transform:uppercase;border-radius:100px;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.badge-teal{background:var(--color-teal-dim);color:var(--color-teal);border:1px solid #4ecdc433}.badge-danger{background:var(--color-danger-dim);color:var(--color-danger);border:1px solid #ff6b6b33}.badge-warning{background:var(--color-warning-dim);color:var(--color-warning);border:1px solid #ffd93d33}.badge-info{background:var(--color-info-dim);color:var(--color-info);border:1px solid #74b9ff33}.badge-neutral{color:var(--color-text-muted);background:#ffffff0f;border:1px solid #ffffff14}.action-badge-buy{background:var(--color-teal-dim);color:var(--color-teal);border:1px solid #4ecdc440}.action-badge-sell{background:var(--color-warning-dim);color:var(--color-warning);border:1px solid #ffd93d40}.action-badge-stop_loss{background:var(--color-danger-dim);color:var(--color-danger);border:1px solid #ff6b6b40}.action-badge-hold{color:var(--color-text-muted);background:#ffffff0d;border:1px solid #ffffff14}.data-table{border-collapse:collapse;width:100%;font-size:13.5px}.data-table thead th{padding:10px var(--space-md);text-align:left;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.8px;white-space:nowrap;border-bottom:1px solid #ffffff12;font-size:11px;font-weight:600}.data-table thead th.text-right{text-align:right}.data-table tbody tr{transition:background var(--transition-fast);border-bottom:1px solid #ffffff0a}.data-table tbody tr:hover{background:#4ecdc40a}.data-table tbody td{padding:12px var(--space-md);color:var(--color-text);vertical-align:middle}.data-table tbody td.text-right{text-align:right}.data-table tbody td.mono{font-family:var(--font-mono);font-size:14px}.section-header{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.section-title{color:var(--color-text-bright);align-items:center;gap:var(--space-sm);font-size:15px;font-weight:600;display:flex}.section-title:before{content:"";background:var(--color-teal);border-radius:2px;width:3px;height:15px;display:inline-block}.toolbar{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.filter-btn{border-radius:var(--radius-sm);color:var(--color-text-muted);font-family:var(--font-body);cursor:pointer;transition:all var(--transition-fast);letter-spacing:.2px;background:0 0;border:1px solid #ffffff1a;padding:6px 14px;font-size:12px;font-weight:500}.filter-btn:hover{color:var(--color-text);background:#4ecdc414;border-color:#4ecdc433}.filter-btn.active{background:var(--color-teal-dim);color:var(--color-teal);border-color:#4ecdc466}.filter-select{border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--color-text);font-family:var(--font-body);cursor:pointer;transition:all var(--transition-fast);border:1px solid #ffffff1a;outline:none;padding:6px 10px;font-size:12px}.filter-select:hover,.filter-select:focus{border-color:#4ecdc44d}.filter-input{border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--color-text);font-family:var(--font-body);transition:all var(--transition-fast);border:1px solid #ffffff1a;outline:none;padding:6px 12px;font-size:12px}.filter-input:focus{border-color:#4ecdc466;box-shadow:0 0 0 3px #4ecdc414}.tabs{margin-bottom:var(--space-lg);border-bottom:1px solid #ffffff12;gap:2px;display:flex}.tab-btn{color:var(--color-text-muted);font-family:var(--font-body);cursor:pointer;transition:all var(--transition-fast);letter-spacing:.1px;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 18px;font-size:13px;font-weight:500}.tab-btn:hover{color:var(--color-text)}.tab-btn.active{color:var(--color-teal);border-bottom-color:var(--color-teal)}.return-positive{color:var(--color-teal)}.return-negative{color:var(--color-danger)}.return-neutral{color:var(--color-text-muted)}.market-toggle{border-radius:var(--radius-sm);border:1px solid #ffffff1a;display:flex;overflow:hidden}.market-toggle-btn{color:var(--color-text-muted);font-family:var(--font-body);cursor:pointer;transition:all var(--transition-fast);letter-spacing:.3px;background:0 0;border:none;padding:6px 14px;font-size:12px;font-weight:600}.market-toggle-btn.active{background:var(--color-teal);color:#07071a}.chart-container{background:var(--bg-card);border:var(--border-card);border-radius:var(--radius-lg);padding:var(--space-lg)}.chart-title{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.8px;margin-bottom:var(--space-md);justify-content:space-between;align-items:center;font-size:13px;font-weight:600;display:flex}.agent-card{background:var(--bg-card);border:var(--border-card);border-radius:var(--radius-lg);padding:var(--space-lg);transition:all var(--transition-base);text-decoration:none;display:block;position:relative;overflow:hidden}.agent-card:hover{background:var(--bg-card-hover);box-shadow:var(--shadow-elevated);border-color:#4ecdc440;transform:translateY(-2px)}.agent-card-name{color:var(--color-text-bright);margin-bottom:2px;font-size:15px;font-weight:600}.agent-card-strategy{color:var(--color-text-muted);margin-bottom:var(--space-md);font-size:11px}.agent-card-metrics{gap:var(--space-sm);grid-template-columns:repeat(2,1fr);display:grid}.agent-card-metric{border-radius:var(--radius-sm);padding:var(--space-sm);background:#ffffff08}.agent-card-metric-label{color:var(--color-text-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px;font-size:12px}.agent-card-metric-value{font-family:var(--font-mono);color:var(--color-text-bright);font-size:15px;font-weight:600}.progress-bar{background:#ffffff12;border-radius:2px;height:4px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg, var(--color-teal), #38d9d0);height:100%;transition:width var(--transition-slow);border-radius:2px}.progress-bar-fill-danger{background:linear-gradient(90deg, var(--color-danger), #ff8e8e)}.divider{height:1px;margin:var(--space-lg) 0;background:#ffffff0f}.empty-state{padding:var(--space-2xl);color:var(--color-text-muted);justify-content:center;align-items:center;gap:var(--space-md);flex-direction:column;display:flex}.empty-state-icon{opacity:.5;font-size:40px}.empty-state-title{font-size:16px;font-weight:600}.empty-state-sub{font-size:13px}.loading-spinner{border:2px solid #4ecdc433;border-top-color:var(--color-teal);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.loading-state{justify-content:center;align-items:center;gap:var(--space-md);padding:var(--space-2xl);color:var(--color-text-muted);font-size:14px;display:flex}.trade-row-expanded{border-left:3px solid var(--color-teal);background:#4ecdc408}.trade-reasoning{padding:var(--space-md);background:var(--bg-elevated);border-radius:var(--radius-sm);color:var(--color-text-muted);white-space:pre-wrap;word-break:break-word;font-size:12.5px;line-height:1.7}.report-card{background:var(--bg-card);border:var(--border-card);border-radius:var(--radius-lg);margin-bottom:var(--space-md);transition:all var(--transition-base);overflow:hidden}.report-card:hover{border-color:#4ecdc433}.report-header{padding:var(--space-md) var(--space-lg);cursor:pointer;transition:background var(--transition-fast);justify-content:space-between;align-items:center;display:flex}.report-header:hover{background:#4ecdc40a}.report-content{padding:var(--space-lg);border-top:var(--border-subtle);color:var(--color-text-muted);white-space:pre-wrap;word-break:break-word;font-size:13.5px;line-height:1.8}.source-bar-row{align-items:center;gap:var(--space-md);border-bottom:1px solid #ffffff0a;padding:10px 0;display:flex}.source-bar-label{min-width:140px;color:var(--color-text);font-size:13px;font-weight:500}.source-bar-track{background:#ffffff0f;border-radius:4px;flex:1;height:8px;overflow:hidden}.source-bar-fill{height:100%;transition:width var(--transition-slow);border-radius:4px}.source-bar-value{font-family:var(--font-mono);color:var(--color-text-muted);text-align:right;min-width:48px;font-size:12px}@media (width<=1200px){.metric-grid-4{grid-template-columns:repeat(2,1fr)}}@media (width<=900px){:root{--sidebar-width:64px}.sidebar-logo-text,.sidebar-logo-sub,.nav-link span:not(.nav-link-icon),.sidebar-section-label,.sidebar-status-text,.sidebar-toggle-label,.sidebar-toggle-row{display:none}.sidebar-logo{padding:var(--space-md);justify-content:center}.nav-link{justify-content:center}.page-body{padding:var(--space-md)}.metric-grid-4,.metric-grid-3{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.metric-grid-4,.metric-grid-3,.metric-grid-2{grid-template-columns:1fr}.page-header{padding:var(--space-md)}}.flex{display:flex}.flex-col{flex-direction:column;display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.w-full{width:100%}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-base)}::-webkit-scrollbar-thumb{background:#4ecdc433;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#4ecdc466}::selection{background:var(--color-teal-dim);color:var(--color-text-bright)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:.3s both fadeInUp}.stagger-1{animation-delay:50ms}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}
