@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600;700&display=swap";
:root{--bg-primary:#0a0e17;--bg-secondary:#111827;--bg-tertiary:#1a2332;--bg-elevated:#1f2937;--bg-hover:#243044;--bg-active:#2d3a4f;--bg-overlay:#000000b3;--accent-orange:#ff6b00;--accent-blue:#3b82f6;--accent-cyan:#06b6d4;--accent-green:#10b981;--accent-red:#ef4444;--accent-amber:#f59e0b;--accent-purple:#8b5cf6;--accent-pink:#ec4899;--gradient-blue:linear-gradient(135deg, #3b82f6, #06b6d4);--gradient-green:linear-gradient(135deg, #10b981, #34d399);--gradient-red:linear-gradient(135deg, #ef4444, #f87171);--gradient-orange:linear-gradient(135deg, #ff6b00, #ff9500);--gradient-purple:linear-gradient(135deg, #8b5cf6, #a78bfa);--gradient-surface:linear-gradient(180deg, #111827, #0a0e17);--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-tertiary:#64748b;--text-muted:#475569;--text-inverse:#0a0e17;--border-default:#1e293b;--border-active:#334155;--border-accent:#3b82f6;--border-subtle:#ffffff0f;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "Cascadia Code", monospace;--text-xs:.6875rem;--text-sm:.75rem;--text-base:.8125rem;--text-md:.875rem;--text-lg:1rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-full:9999px;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 6px #0000004d;--shadow-lg:0 10px 15px #0006;--shadow-xl:0 20px 25px #00000080;--shadow-glow-blue:0 0 20px #3b82f626;--shadow-glow-green:0 0 20px #10b98126;--shadow-glow-red:0 0 20px #ef444426;--shadow-glow-orange:0 0 20px #ff6b0026;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.35s cubic-bezier(.4, 0, .2, 1);--transition-spring:.5s cubic-bezier(.34, 1.56, .64, 1);--sidebar-width:260px;--sidebar-collapsed:72px;--topbar-height:56px;--ticker-height:32px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{font-family:var(--font-sans);font-size:var(--text-base);color:var(--text-primary);background-color:var(--bg-primary);min-height:100vh;line-height:1.5;overflow-x:hidden}a{color:var(--accent-blue);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--accent-cyan)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-active);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}*{scrollbar-width:thin;scrollbar-color:var(--border-active) transparent}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulseGlow{0%,to{box-shadow:0 0 #3b82f666}50%{box-shadow:0 0 0 8px #3b82f600}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes countUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes borderPulse{0%,to{border-color:var(--border-default)}50%{border-color:var(--accent-blue)}}.font-mono{font-family:var(--font-mono)}.text-positive{color:var(--accent-green)}.text-negative{color:var(--accent-red)}.text-warning{color:var(--accent-amber)}.text-info{color:var(--accent-blue)}.text-muted{color:var(--text-secondary)}.animate-fade-in{animation:fadeIn var(--transition-base) ease-out}.animate-fade-in-up{animation:fadeInUp var(--transition-base) ease-out}.animate-slide-in-right{animation:slideInRight var(--transition-base) ease-out}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.animate-shimmer{background:linear-gradient(90deg, var(--bg-tertiary) 25%, var(--bg-elevated) 50%, var(--bg-tertiary) 75%);background-size:200% 100%;animation:1.5s ease-in-out infinite shimmer}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dashboard-layout{background:var(--bg-primary);min-height:100vh;display:flex}.dashboard-main{margin-left:var(--sidebar-width);min-height:100vh;transition:margin-left var(--transition-base);flex:1}.dashboard-main.collapsed{margin-left:var(--sidebar-collapsed)}.dashboard-content{padding:var(--space-6);padding-top:calc(var(--topbar-height) + var(--space-6));max-width:1920px}.dashboard-grid{gap:var(--space-4);display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.grid-cols-5{grid-template-columns:repeat(5,1fr)}.grid-cols-6{grid-template-columns:repeat(6,1fr)}.col-span-2{grid-column:span 2}.col-span-3{grid-column:span 3}.col-span-full{grid-column:1/-1}.kpi-card{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-5);transition:all var(--transition-fast);animation:fadeInUp var(--transition-base) ease-out;position:relative;overflow:hidden}.kpi-card:before{content:"";background:var(--gradient-blue);opacity:0;height:2px;transition:opacity var(--transition-fast);position:absolute;top:0;left:0;right:0}.kpi-card:hover{border-color:var(--border-active);background:var(--bg-tertiary)}.kpi-card:hover:before{opacity:1}.kpi-card__label{font-size:var(--text-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2);font-weight:500}.kpi-card__value{font-family:var(--font-mono);font-size:var(--text-2xl);color:var(--text-primary);animation:countUp var(--transition-base) ease-out;font-weight:700;line-height:1.2}.kpi-card__change{align-items:center;gap:var(--space-1);font-family:var(--font-mono);font-size:var(--text-sm);margin-top:var(--space-2);border-radius:var(--radius-sm);padding:2px 6px;font-weight:500;display:inline-flex}.kpi-card__change.positive{color:var(--accent-green);background:#10b9811a}.kpi-card__change.negative{color:var(--accent-red);background:#ef44441a}.data-table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--text-sm)}.data-table thead{z-index:10;position:sticky;top:0}.data-table th{background:var(--bg-secondary);color:var(--text-tertiary);font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--border-default);white-space:nowrap;-webkit-user-select:none;user-select:none}.data-table th.sortable{cursor:pointer;transition:color var(--transition-fast)}.data-table th.sortable:hover{color:var(--text-primary)}.data-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);white-space:nowrap;transition:background var(--transition-fast)}.data-table tr:hover td{background:var(--bg-hover)}.data-table td.mono{font-family:var(--font-mono)}.data-table td.positive{color:var(--accent-green)}.data-table td.negative{color:var(--accent-red)}.data-table td.align-right{text-align:right}.section-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.section-header__title{font-size:var(--text-lg);color:var(--text-primary);align-items:center;gap:var(--space-2);font-weight:600;display:flex}.section-header__title .icon{color:var(--accent-orange)}.section-header__actions{align-items:center;gap:var(--space-2);display:flex}.ticker-strip{height:var(--ticker-height);background:var(--bg-secondary);border-bottom:1px solid var(--border-default);font-family:var(--font-mono);font-size:var(--text-xs);align-items:center;display:flex;overflow:hidden}.ticker-strip__inner{gap:var(--space-8);white-space:nowrap;animation:30s linear infinite ticker;display:flex}.ticker-item{align-items:center;gap:var(--space-2);display:flex}.ticker-item__symbol{color:var(--text-primary);font-weight:600}.ticker-item__price{color:var(--text-secondary)}.ticker-item__change{font-weight:500}.agent-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.agent-card{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-4);transition:all var(--transition-fast);cursor:pointer}.agent-card:hover{border-color:var(--accent-purple);background:var(--bg-tertiary);transform:translateY(-1px)}.agent-card__header{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.agent-card__name{font-size:var(--text-sm);color:var(--text-primary);font-weight:600}.agent-card__role{font-size:var(--text-xs);color:var(--text-tertiary);margin-bottom:var(--space-3)}.agent-card__stats{gap:var(--space-4);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-secondary);display:flex}.score-badge{font-family:var(--font-mono);border-radius:var(--radius-sm);justify-content:center;align-items:center;min-width:40px;padding:2px 8px;font-weight:700;display:inline-flex}.score-badge.strong-buy{color:var(--accent-green);background:#10b98126;border:1px solid #10b9814d}.score-badge.buy{color:var(--accent-cyan);background:#06b6d426;border:1px solid #06b6d44d}.score-badge.watchlist{color:var(--accent-amber);background:#f59e0b26;border:1px solid #f59e0b4d}.score-badge.hold{color:var(--text-secondary);background:#64748b26;border:1px solid #64748b4d}.score-badge.avoid{color:var(--accent-red);background:#ef444426;border:1px solid #ef44444d}.rec-card{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-lg);transition:all var(--transition-fast);overflow:hidden}.rec-card:hover{border-color:var(--border-active);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.rec-card__header{padding:var(--space-4);border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:center;display:flex}.rec-card__symbol{font-size:var(--text-xl);font-weight:700;font-family:var(--font-mono);color:var(--text-primary)}.rec-card__company{font-size:var(--text-sm);color:var(--text-secondary)}.rec-card__body{padding:var(--space-4)}.rec-card__metrics{gap:var(--space-3);grid-template-columns:repeat(3,1fr);display:grid}.rec-card__metric{text-align:center}.rec-card__metric-label{font-size:var(--text-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-1)}.rec-card__metric-value{font-family:var(--font-mono);font-size:var(--text-md);color:var(--text-primary);font-weight:600}.heatmap{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:2px;display:grid}.heatmap__cell{padding:var(--space-3);text-align:center;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-sm);transition:transform var(--transition-fast);cursor:pointer}.heatmap__cell:hover{z-index:1;transform:scale(1.05)}.heatmap__cell-name{font-family:var(--font-sans);font-size:var(--text-xs);margin-bottom:2px;font-weight:600}.heatmap__cell-value{font-weight:700}@media (max-width:1280px){.grid-cols-4,.grid-cols-5{grid-template-columns:repeat(3,1fr)}.grid-cols-6{grid-template-columns:repeat(4,1fr)}}@media (max-width:1024px){.dashboard-main{margin-left:var(--sidebar-collapsed)}.dashboard-content{padding:var(--space-4);padding-top:calc(var(--topbar-height) + var(--space-4))}.grid-cols-3,.grid-cols-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.dashboard-main{margin-left:0}.grid-cols-2,.grid-cols-3,.grid-cols-4,.grid-cols-5,.grid-cols-6{grid-template-columns:1fr}.col-span-2,.col-span-3,.col-span-full{grid-column:auto}.dashboard-content{padding:var(--space-3);padding-top:calc(var(--topbar-height) + var(--space-3))}.rec-card__metrics{grid-template-columns:repeat(2,1fr)}}
