*{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary: #0d1117;--bg-secondary: #161b22;--bg-panel: #1a1f2e;--bg-row-hover: #1e2533;--border: #2a3040;--text-primary: #e6edf3;--text-secondary: #8b949e;--text-dim: #484f58;--cve-aplus: #00ff88;--cve-a: #00ccff;--cve-b: #4488ff;--cve-c: #ffcc00;--cve-d: #ff4444;--scanner-ross: #1a4a2e;--scanner-smb: #1a2a4a;--scanner-squeeze: #4a2a1a;--scanner-vwap: #2a1a4a;--scanner-cw: #1a3a4a;--scanner-halt: #4a1a1a;--row-news: #1a3a2a;--row-former-momo: #1a2a3a;--row-halt: #3a1a1a;--row-aplus: #0a2a1a}body{background:var(--bg-primary);color:var(--text-primary);font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:13px;overflow:hidden;height:100vh}#root{height:100vh;display:flex;flex-direction:column;padding:0 16px}.top-bar{display:flex;align-items:center;gap:12px;padding:6px 12px;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0;height:42px}.top-bar h1{font-size:14px;font-weight:600;color:var(--text-primary)}.top-bar .status-dot{width:8px;height:8px;border-radius:50%;background:#f44}.top-bar .status-dot.connected{background:#0f8}.top-bar .auth-warning{color:#fc0;font-size:12px;background:#2a2000;padding:3px 8px;border-radius:4px;border:1px solid #ffcc0040}.tab-bar{display:flex;gap:2px;padding:4px 8px 0;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0;overflow-x:auto}.tab{padding:6px 14px;font-size:12px;font-weight:500;color:var(--text-secondary);cursor:pointer;border-radius:4px 4px 0 0;border:1px solid transparent;border-bottom:none;white-space:nowrap;transition:all .1s}.tab:hover{color:var(--text-primary);background:var(--bg-row-hover)}.tab.active{color:var(--text-primary);background:var(--bg-panel);border-color:var(--border)}.tab .count{display:inline-block;margin-left:6px;padding:1px 5px;border-radius:9px;font-size:10px;font-weight:600}.scanner-panel{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-panel)}.panel-header{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0}.panel-title{font-size:13px;font-weight:600}.panel-sub{font-size:11px;color:var(--text-secondary)}.panel-count{font-size:11px;color:var(--text-dim);margin-left:auto}.scanner-table-wrap{flex:1;overflow-y:auto;overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:900px}thead th{position:sticky;top:0;z-index:10;background:var(--bg-secondary);padding:5px 8px;text-align:right;font-size:11px;font-weight:500;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}thead th:first-child,thead th:nth-child(2){text-align:left}thead th:hover{color:var(--text-primary)}tbody tr{border-bottom:1px solid var(--border)20;cursor:pointer;transition:background .08s}tbody tr:hover{background:var(--bg-row-hover)}tbody tr.is-halted{background:var(--row-halt)!important;border-left:3px solid #ff4444!important}tbody tr.is-premarket{background:var(--row-premarket)}tbody tr.is-postmarket{background:var(--row-postmarket)}tbody td{padding:4px 8px;text-align:right;font-size:12px;color:var(--text-primary);white-space:nowrap}tbody td:first-child,tbody td:nth-child(2){text-align:left}.ticker-cell{font-weight:700;color:#58a6ff;font-size:13px}.ticker-cell:hover{text-decoration:underline}.cve-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:700;min-width:32px}.cve-Aplus{background:#00ff8820;color:var(--cve-aplus);border:1px solid var(--cve-aplus)40}.cve-A{background:#00ccff20;color:var(--cve-a);border:1px solid var(--cve-a)40}.cve-B{background:#4488ff20;color:var(--cve-b);border:1px solid var(--cve-b)40}.cve-C{background:#ffcc0020;color:var(--cve-c);border:1px solid var(--cve-c)40}.cve-D{background:#ff444420;color:var(--cve-d);border:1px solid var(--cve-d)40}.pos{color:#0f8}.neg{color:#f44}.neutral{color:var(--text-secondary)}.rvol-vhigh{color:#f44;font-weight:600}.rvol-high{color:#fc0;font-weight:600}.rvol-mid{color:#0cf}.rvol-low{color:var(--text-secondary)}.float-micro{color:#f44;font-weight:600}.float-low{color:#fc0}.float-mid{color:var(--text-primary)}.news-icon{font-size:11px;margin-left:4px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}.cve-modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;width:100%;max-width:780px;max-height:90vh;overflow-y:auto}.cve-modal-header{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border)}.cve-modal-ticker{font-size:20px;font-weight:700;color:#58a6ff}.cve-modal-price{font-size:16px;color:var(--text-secondary)}.cve-modal-close{margin-left:auto;background:none;border:none;color:var(--text-secondary);font-size:18px;cursor:pointer;padding:4px 8px;border-radius:4px}.cve-modal-close:hover{background:var(--bg-row-hover);color:var(--text-primary)}.cve-panels{display:grid;grid-template-columns:1fr 1fr;gap:0;border-bottom:1px solid var(--border)}.cve-panel{padding:16px 18px}.cve-panel:first-child{border-right:1px solid var(--border)}.cve-panel-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.cve-panel-icon{width:28px;height:28px;border-radius:50%;background:#4488ff20;border:1px solid #4488ff40;display:flex;align-items:center;justify-content:center;font-size:13px}.cve-bullets{list-style:none}.cve-bullets li{display:flex;gap:8px;font-size:12px;color:var(--text-secondary);line-height:1.5;margin-bottom:6px}.cve-bullets li:before{content:"•";color:var(--text-dim);flex-shrink:0;margin-top:1px}.cve-checklist-section{margin-bottom:14px}.cve-score-label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;margin-bottom:6px}.score-icon-yes{color:#0f8;font-size:16px}.score-icon-no{color:#f44;font-size:16px}.score-icon-maybe{color:#fc0;font-size:16px}.score-icon-abs{color:#0f8;font-size:16px}.score-text-ABSOLUTE,.score-text-YES{color:#0f8}.score-text-MAYBE{color:#fc0}.score-text-NO{color:#f44}.cve-score-bar{display:flex;align-items:center;gap:16px;padding:12px 18px;background:var(--bg-panel);border-radius:0 0 10px 10px;flex-wrap:wrap}.score-bar-item{display:flex;align-items:center;gap:6px;font-size:12px}.score-bar-label{color:var(--text-secondary)}.score-bar-value{font-weight:600}.auth-screen{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;padding:40px}.auth-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;padding:32px;max-width:500px;width:100%}.auth-card h2{font-size:18px;margin-bottom:8px}.auth-card p{color:var(--text-secondary);font-size:13px;line-height:1.6;margin-bottom:16px}.btn{padding:8px 16px;border-radius:6px;font-size:13px;cursor:pointer;font-weight:500;transition:all .1s}.btn-primary{background:#238636;color:#fff;border:1px solid #2ea043}.btn-primary:hover{background:#2ea043}.btn-secondary{background:var(--bg-panel);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-row-hover)}input.text-input{width:100%;background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);padding:8px 10px;font-size:13px;margin-bottom:8px;font-family:monospace}input.text-input:focus{outline:none;border-color:#58a6ff}.alert-count-badge{background:#ff444430;color:#f44;border:1px solid #ff444440;border-radius:9px;padding:1px 6px;font-size:10px;font-weight:700}.alert-count-badge.good{background:#00ff8820;color:#0f8;border-color:#00ff8840}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#3a4050}
