@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&family=Outfit:wght@300;400;500;600;700&display=swap";:root{--bg-primary:#0c0e12;--bg-secondary:#13161c;--bg-card:#1a1d25;--bg-hover:#22262f;--border:#2a2e38;--text-primary:#e8e9ed;--text-secondary:#8b8f9a;--text-muted:#5a5e6a;--gold:#d4a849;--gold-dim:#b8923e;--green:#34d399;--green-dim:#065f46;--red:#f87171;--red-dim:#7f1d1d;--blue:#60a5fa;--font-mono:"JetBrains Mono", monospace;--font-sans:"Outfit", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;line-height:1.5}a{color:var(--gold);text-decoration:none}a:hover{color:var(--text-primary)}.app-layout{min-height:100vh;display:flex}.sidebar{background:var(--bg-secondary);border-right:1px solid var(--border);flex-direction:column;width:220px;height:100vh;padding:24px 0;display:flex;position:fixed;top:0;left:0}.sidebar-brand{border-bottom:1px solid var(--border);margin-bottom:16px;padding:0 20px 24px}.sidebar-brand h1{font-family:var(--font-sans);color:var(--gold);letter-spacing:1px;font-size:18px;font-weight:700}.sidebar-brand p{color:var(--text-muted);margin-top:4px;font-size:11px}.sidebar-nav{flex-direction:column;gap:2px;padding:0 8px;display:flex}.sidebar-nav a{color:var(--text-secondary);border-radius:6px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:500;transition:all .15s;display:flex}.sidebar-nav a:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-nav a.active{background:var(--bg-card);color:var(--gold)}.main-content{flex:1;min-height:100vh;margin-left:220px;padding:24px 32px}.page-header{margin-bottom:24px}.page-header h2{font-size:22px;font-weight:600}.page-header p{color:var(--text-secondary);margin-top:4px;font-size:14px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:20px}.card-header{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-size:13px;font-weight:600}.grid-4{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.grid-2{grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px;display:grid}.stat-value{font-family:var(--font-mono);margin:4px 0;font-size:28px;font-weight:700}.stat-value.positive{color:var(--green)}.stat-value.negative{color:var(--red)}.stat-label{color:var(--text-muted);font-size:12px}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);padding:10px 12px;font-size:11px;font-weight:600}.data-table td{border-bottom:1px solid var(--border);font-family:var(--font-mono);padding:10px 12px;font-size:13px}.data-table tr:hover{background:var(--bg-hover)}.signal-cell{width:36px;height:28px;font-family:var(--font-mono);border-radius:4px;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:inline-flex}.signal-buy{background:var(--green-dim);color:var(--green)}.signal-sell{background:var(--red-dim);color:var(--red)}.signal-neutral{color:var(--text-muted);background:0 0}.btn{font-family:var(--font-sans);border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);cursor:pointer;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .15s}.btn:hover{background:var(--bg-hover);border-color:var(--gold-dim)}.btn-gold{background:var(--gold);color:var(--bg-primary);border-color:var(--gold);font-weight:600}.btn-gold:hover{background:var(--gold-dim)}select,input[type=date],input[type=text],input[type=number]{font-family:var(--font-sans);border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);border-radius:6px;padding:8px 12px;font-size:13px}select:focus,input:focus{border-color:var(--gold-dim);outline:none}.controls{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.loading{color:var(--text-muted);justify-content:center;align-items:center;padding:60px;display:flex}.empty-state{text-align:center;color:var(--text-muted);padding:60px 20px}.chart-container{width:100%;height:500px}.recharts-text{fill:var(--text-muted)!important;font-family:var(--font-mono)!important;font-size:11px!important}.recharts-cartesian-grid line{stroke:var(--border)!important}
