*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #0f1117;--surface: #1a1d28;--surface2: #232736;--border: #2d3148;--text: #e1e4ed;--text-dim: #8b8fa3;--green: #00c853;--red: #ff1744;--blue: #448aff;--amber: #ffc107;--purple: #b388ff}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}.app{max-width:1440px;margin:0 auto;padding:16px}header{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border);margin-bottom:16px;flex-wrap:wrap;gap:8px}header h1{font-size:1.3rem;font-weight:700}header h1 span{color:var(--blue)}.market-status{display:flex;gap:8px;align-items:center;font-size:.85rem}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.status-dot.open{background:var(--green);box-shadow:0 0 6px var(--green)}.status-dot.closed{background:var(--red)}.status-dot.pre-market{background:var(--amber)}.price-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin-bottom:16px}.price-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px 20px}.price-card .symbol{font-size:.8rem;color:var(--text-dim);font-weight:600;text-transform:uppercase;letter-spacing:1px}.price-card .price{font-size:2rem;font-weight:700;margin:4px 0}.price-card .change{font-size:.9rem;font-weight:600}.price-card .change.up{color:var(--green)}.price-card .change.down{color:var(--red)}.price-card .meta{font-size:.75rem;color:var(--text-dim);margin-top:8px;display:flex;gap:12px}.main-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 900px){.main-grid{grid-template-columns:1fr}}.panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border);font-weight:600;font-size:.9rem}.panel-body{padding:8px;max-height:500px;overflow-y:auto}.signal-card{background:var(--surface2);border-radius:8px;padding:12px;margin-bottom:8px;border-left:3px solid}.signal-card.BUY{border-left-color:var(--green)}.signal-card.SELL{border-left-color:var(--red)}.signal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.signal-type{font-size:.75rem;font-weight:700;padding:2px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.signal-type.ORB{background:#1a237e;color:#82b1ff}.signal-type.VWAP_BOUNCE{background:#004d40;color:#64ffda}.signal-type.EMA_CROSS{background:#4a148c;color:#ea80fc}.signal-type.SR_BREAKOUT{background:#e65100;color:#ffcc80}.signal-type.RSI_DIVERGENCE{background:#880e4f;color:#f48fb1}.signal-type.SUPERTREND{background:#1b5e20;color:#a5d6a7}.direction-badge{font-size:.75rem;font-weight:700;padding:2px 10px;border-radius:4px}.direction-badge.BUY{background:#00c85326;color:var(--green)}.direction-badge.SELL{background:#ff174426;color:var(--red)}.signal-levels{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;font-size:.75rem;margin:8px 0}.signal-levels .level{text-align:center}.signal-levels .label{color:var(--text-dim);display:block;margin-bottom:2px}.signal-levels .value{font-weight:600}.signal-levels .entry .value{color:var(--blue)}.signal-levels .sl .value{color:var(--red)}.signal-levels .target .value{color:var(--green)}.strength-bar{display:flex;gap:3px;align-items:center;font-size:.7rem;color:var(--text-dim)}.strength-bar .dot{width:6px;height:6px;border-radius:50%;background:var(--border)}.strength-bar.weak .dot:nth-child(1){background:var(--amber)}.strength-bar.moderate .dot:nth-child(1),.strength-bar.moderate .dot:nth-child(2){background:var(--blue)}.strength-bar.strong .dot:nth-child(1),.strength-bar.strong .dot:nth-child(2),.strength-bar.strong .dot:nth-child(3){background:var(--green)}.signal-reasoning{font-size:.72rem;color:var(--text-dim);margin-top:6px;line-height:1.4}.signal-meta{display:flex;justify-content:space-between;align-items:center;margin-top:4px}.signal-meta .symbol-tag{font-size:.7rem;font-weight:600;color:var(--purple)}.signal-meta .time{font-size:.7rem;color:var(--text-dim)}.history-table{width:100%;font-size:.78rem;border-collapse:collapse}.history-table th{text-align:left;padding:8px;color:var(--text-dim);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border)}.history-table td{padding:8px;border-bottom:1px solid var(--border)}.pnl.positive{color:var(--green);font-weight:600}.pnl.negative{color:var(--red);font-weight:600}.chart-container{grid-column:1 / -1;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:16px}.chart-tabs{display:flex;gap:8px;margin-bottom:12px}.chart-tab{padding:6px 16px;border-radius:6px;border:1px solid var(--border);background:none;color:var(--text-dim);cursor:pointer;font-size:.8rem;font-weight:600}.chart-tab.active{background:var(--blue);color:#fff;border-color:var(--blue)}.empty-state{text-align:center;padding:40px 20px;color:var(--text-dim)}.empty-state .icon{font-size:2rem;margin-bottom:8px}.stats-row{display:flex;gap:16px;padding:12px 16px;font-size:.8rem;flex-wrap:wrap}.stat{display:flex;gap:4px}.stat .label{color:var(--text-dim)}.stat .value{font-weight:600}.notification-toast{position:fixed;top:20px;right:20px;background:var(--surface2);border:1px solid var(--green);border-radius:8px;padding:12px 16px;z-index:1000;animation:slideIn .3s ease;max-width:320px}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.simulated-badge{font-size:.65rem;background:#ffc10726;color:var(--amber);padding:2px 6px;border-radius:3px;font-weight:600}
