@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#f1f5f9;background-color:#0a0f1e;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}a{font-weight:500;color:#3b82f6;text-decoration:none}a:hover{color:#60a5fa}button{font-family:inherit}.sidebar{position:fixed;left:0;top:0;height:100vh;background:#0a0f1e;border-right:1px solid rgba(255,255,255,.08);width:240px;display:flex;flex-direction:column;z-index:1000;overflow:hidden}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:20px 16px;border-bottom:1px solid rgba(255,255,255,.08);min-height:64px}.sidebar-close{display:none;background:transparent;border:none;color:#94a3b8;cursor:pointer;font-size:32px;line-height:1;padding:0;width:32px;height:32px;align-items:center;justify-content:center}.sidebar-close:hover{color:#f1f5f9}.sidebar-logo{display:flex;align-items:center;gap:12px;overflow:hidden}.logo-icon{font-size:20px;font-weight:700;flex-shrink:0;color:#3b82f6;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;background:#3b82f61a}.logo-text{font-size:14px;font-weight:600;color:#f1f5f9;white-space:nowrap;letter-spacing:-.01em}.sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:12px 0}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.nav-section{margin-bottom:24px}.section-title{padding:8px 16px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.nav-item{width:100%;display:flex;align-items:center;gap:12px;padding:9px 16px;background:transparent;border:none;color:#94a3b8;cursor:pointer;transition:all .2s ease;font-size:13px;text-align:left;border-left:3px solid transparent}.nav-icon{font-size:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;color:inherit}.nav-label{white-space:nowrap;font-weight:500}.nav-item:hover{background:#3b82f614;color:#e2e8f0}.nav-item.active{background:#3b82f61f;color:#3b82f6;border-left-color:#3b82f6}.nav-item.active .nav-icon{filter:brightness(1.2)}.sidebar-overlay{display:none;position:fixed;inset:0;background:#0009;z-index:999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@media(max-width:768px){.sidebar{transform:translate(-100%);transition:transform .3s ease;z-index:1001;box-shadow:2px 0 8px #0000004d}.sidebar.open{transform:translate(0)}.sidebar-overlay{display:block}.sidebar-close{display:flex}}:root{--bg-primary: #0a0f1e;--bg-secondary: #11172b;--bg-tertiary: #1a2035;--bg-card: #151d33;--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-muted: #64748b;--border: rgba(255, 255, 255, .08);--border-light: rgba(255, 255, 255, .04);--positive: #10b981;--negative: #ef4444;--warning: #f59e0b;--primary: #3b82f6;--primary-hover: #2563eb}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.5;overflow-x:hidden;font-size:14px}.app-container{display:flex;min-height:100vh}.main-content{flex:1;margin-left:240px;background:var(--bg-secondary);min-height:100vh;position:relative}.mobile-menu-btn{display:none;position:fixed;top:16px;left:16px;z-index:998;background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);font-size:20px;width:44px;height:44px;border-radius:8px;cursor:pointer;align-items:center;justify-content:center;box-shadow:0 2px 8px #0003;transition:all .2s ease}.mobile-menu-btn:hover{background:var(--bg-tertiary);border-color:var(--primary)}.mobile-menu-btn:active{transform:scale(.95)}@media(max-width:768px){.main-content{margin-left:0}.mobile-menu-btn{display:flex}}.dashboard{max-width:1600px;margin:0 auto;padding:1.5rem}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border)}.dashboard-header h1{font-size:1.5rem;font-weight:600;margin-bottom:.25rem;letter-spacing:-.02em}.subtitle{color:var(--text-muted);font-size:.8rem}.header-actions{display:flex;gap:.75rem}.btn{padding:.5rem 1rem;border:none;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease;letter-spacing:-.01em}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--bg-card);border-color:#3b82f64d}.btn-remove{background:transparent;color:var(--negative);border:1px solid var(--negative);padding:.25rem .75rem;border-radius:4px;cursor:pointer;font-size:1.2rem;transition:all .2s}.btn-remove:hover:not(:disabled){background:var(--negative);color:#fff}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:1.5rem}.stats-card{background:var(--bg-card);padding:1.25rem;border-radius:6px;border:1px solid var(--border);transition:all .2s ease}.stats-card:hover{border-color:#3b82f64d}.stats-card h3{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;font-weight:600;letter-spacing:.05em;margin-bottom:.5rem}.stats-card-value{font-size:1.75rem;font-weight:600;margin-bottom:.25rem;letter-spacing:-.02em}.stats-card-subtitle{font-size:.75rem;color:var(--text-muted)}.candidates-panel{background:var(--bg-card);padding:1.5rem;border-radius:6px;border:1px solid var(--border);margin-bottom:1.5rem}.candidates-panel h2{margin-bottom:1.25rem;font-size:1.125rem;font-weight:600;letter-spacing:-.01em}.candidates-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}.candidate-card{background:var(--bg-tertiary);padding:1.25rem;border-radius:6px;border:1px solid var(--border);transition:all .2s ease;cursor:pointer}.candidate-card:hover{border-color:#3b82f64d;background:#3b82f608}.candidate-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.candidate-header h3{font-size:1rem;font-weight:600}.signal-badge{padding:.35rem .75rem;border-radius:6px;font-size:.7rem;font-weight:600;color:#fff;letter-spacing:.02em}.candidate-score{display:flex;justify-content:center;margin:1rem 0}.score-circle{width:80px;height:80px;border:4px solid;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.75rem;font-weight:700}.candidate-metrics{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.metric{display:flex;flex-direction:column}.metric-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;margin-bottom:.25rem}.candidate-alert{margin-top:1rem;padding:.5rem;background:#f59e0b1a;border:1px solid var(--warning);border-radius:4px;text-align:center;font-size:.85rem}.watchlist-section{background:var(--bg-card);padding:1.5rem;border-radius:6px;border:1px solid var(--border);margin-bottom:1.5rem}.watchlist-section h2{margin-bottom:1.25rem;font-size:1.125rem;font-weight:600;letter-spacing:-.01em}.table-container{overflow-x:auto;border-radius:6px;border:1px solid var(--border)}.watchlist-table{width:100%;border-collapse:collapse}.watchlist-table th{background:var(--bg-tertiary);padding:.875rem 1rem;text-align:left;font-size:.7rem;text-transform:uppercase;color:var(--text-muted);font-weight:600;letter-spacing:.05em;border-bottom:1px solid var(--border)}.watchlist-table td{padding:.875rem 1rem;border-bottom:1px solid var(--border-light);font-size:.85rem}.watchlist-table tbody tr.clickable{cursor:pointer;transition:background .15s ease}.watchlist-table tbody tr:hover{background:#3b82f60d}.symbol-cell strong{font-size:.9rem;font-weight:600;color:var(--text-primary)}.score-badge{display:inline-block;padding:.25rem .6rem;border-radius:4px;font-weight:600;color:#fff;font-size:.8rem}.funding-cell{display:flex;align-items:center;gap:.5rem}.badge{padding:.2rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600}.badge-warning{background:#f59e0b33;color:var(--warning)}.positive{color:var(--positive)}.negative{color:var(--negative)}.text-sm{font-size:.85rem;color:var(--text-muted)}.empty-state{text-align:center;padding:3rem;color:var(--text-secondary)}.empty-state p{margin-bottom:.5rem}.loading{text-align:center;padding:2rem;color:var(--text-secondary)}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--bg-secondary);padding:2rem;border-radius:12px;max-width:600px;width:90%;position:relative}.modal h2{margin-bottom:1rem}.modal-close{position:absolute;top:1rem;right:1rem;background:transparent;border:none;font-size:2rem;color:var(--text-secondary);cursor:pointer}.modal-close:hover{color:var(--text-primary)}.dashboard-footer{text-align:center;padding:2rem;color:var(--text-muted);font-size:.9rem}@media(max-width:768px){.dashboard{padding:1rem;padding-top:70px}.dashboard-header{flex-direction:column;align-items:flex-start;gap:1rem;margin-bottom:1rem}.dashboard-header h1{font-size:1.25rem}.subtitle{font-size:.75rem}.header-actions{width:100%;flex-direction:row;gap:.5rem}.btn{flex:1;padding:.6rem .75rem;font-size:.75rem}.stats-grid{grid-template-columns:1fr 1fr;gap:.75rem}.stats-card{padding:1rem}.stats-card h3{font-size:.65rem}.stats-card-value{font-size:1.5rem}.stats-card-subtitle{font-size:.7rem}.candidates-panel,.watchlist-section{padding:1rem}.candidates-panel h2,.watchlist-section h2{font-size:1rem;margin-bottom:1rem}.candidates-grid{grid-template-columns:1fr;gap:.75rem}.candidate-card{padding:1rem}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.watchlist-table{font-size:.75rem;min-width:600px}.watchlist-table th,.watchlist-table td{padding:.75rem .5rem}.watchlist-table th{font-size:.65rem}.dashboard-footer{padding:1rem;font-size:.75rem}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr}.header-actions{flex-direction:column}.btn{width:100%}}
