:root{color-scheme:light;--bg: #f4f6fb;--surface: #ffffff;--border: #e7eaf2;--text: #0f172a;--text-muted: #64748b;--primary: #2563eb;--primary-hover: #1d4ed8;--primary-soft: #eff4ff;--primary-gradient: linear-gradient(135deg, #2f6fed, #1d4ed8);--strong-buy: #15803d;--strong-buy-bg: #dcfce7;--buy: #3f8a5c;--buy-bg: #e7f6ec;--hold: #55637a;--hold-bg: #eef1f6;--sell: #b45309;--sell-bg: #fdf1e2;--strong-sell: #b91c1c;--strong-sell-bg: #fee2e2;--radius-sm: 8px;--radius: 12px;--radius-lg: 18px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05), 0 1px 1px rgba(15, 23, 42, .03);--shadow-md: 0 8px 20px -6px rgba(15, 23, 42, .12), 0 2px 6px rgba(15, 23, 42, .04);--shadow-lg: 0 24px 48px -16px rgba(15, 23, 42, .2), 0 4px 12px rgba(15, 23, 42, .06);--shadow-focus: 0 0 0 3px var(--primary-soft);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;font-feature-settings:"tnum" 1}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3{margin:0 0 12px;font-weight:700;letter-spacing:-.015em;color:var(--text)}h1{font-size:1.6rem;font-weight:800}a{color:inherit}button{font-family:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--radius-sm)}.btn{background:var(--primary-gradient);color:#fff;border:none;padding:9px 16px;border-radius:var(--radius-sm);cursor:pointer;font-size:.9rem;font-weight:600;box-shadow:var(--shadow-sm);transition:box-shadow .15s ease,transform .1s ease,filter .15s ease}.btn:hover{filter:brightness(1.06);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn:active{transform:translateY(1px);filter:brightness(.98)}.btn:disabled{background:#cbd5e1;color:#f8fafc;cursor:not-allowed;box-shadow:none;transform:none;filter:none}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border);transition:background-color .15s ease,border-color .15s ease,transform .1s ease}.btn-secondary:hover{background:#f8fafc;border-color:#cbd5e1}.btn-secondary:active{transform:translateY(1px)}.btn-secondary.active,.btn-secondary[class*=active]{background:var(--text);color:#fff;border-color:var(--text)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-sm);transition:box-shadow .2s ease}.input{padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.9rem;width:100%;background:var(--surface);color:var(--text);transition:border-color .15s ease,box-shadow .15s ease}.input:hover{border-color:#cbd5e1}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.form-stack{display:flex;flex-direction:column;gap:14px;max-width:360px}.input-icon-wrap{position:relative;display:flex;align-items:center}.input-icon-wrap .input-icon{position:absolute;left:12px;display:flex;color:var(--text-muted);pointer-events:none}.input-icon-wrap .input{padding-left:38px}.input-icon-wrap:has(.input-toggle) .input{padding-right:38px}.input-icon-wrap .input-toggle{position:absolute;right:8px;display:flex;padding:4px;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer}.input-icon-wrap .input-toggle:hover{color:var(--text)}.error-text{color:var(--strong-sell);font-size:.85rem}.muted{color:var(--text-muted);font-size:.85rem}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;border:1px solid transparent}.badge.strong_buy{background:var(--strong-buy-bg);color:var(--strong-buy)}.badge.buy{background:var(--buy-bg);color:var(--buy)}.badge.hold{background:var(--hold-bg);color:var(--hold)}.badge.sell{background:var(--sell-bg);color:var(--sell)}.badge.strong_sell{background:var(--strong-sell-bg);color:var(--strong-sell)}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--border);font-size:.88rem}.table th{color:var(--text-muted);font-weight:600;text-transform:uppercase;font-size:.72rem;letter-spacing:.03em;background:#fafbfd}.table thead th:first-child{border-top-left-radius:var(--radius-sm)}.table thead th:last-child{border-top-right-radius:var(--radius-sm)}.table tbody tr{transition:background-color .1s ease}.table tbody tr:hover{background:#f8fafc}.table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.table th.sortable:hover{color:var(--text)}.table tbody tr:last-child td{border-bottom:none}.grid{display:grid;gap:16px}.grid-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:12px;flex-wrap:wrap}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.sidebar[data-v-b43bb824]{width:230px;flex-shrink:0;background:#101827;color:#f5f7fa;display:flex;flex-direction:column;height:100vh;position:sticky;top:0;overflow-y:auto}.brand[data-v-b43bb824]{display:flex;align-items:center;gap:10px;padding:20px 18px;border-bottom:1px solid #1f2937}.brand-mark[data-v-b43bb824]{width:32px;height:32px;border-radius:9px;background:var(--primary-gradient);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;flex-shrink:0;box-shadow:0 2px 8px #2563eb59}.brand-name[data-v-b43bb824]{font-weight:700;font-size:.92rem;line-height:1.2}.nav[data-v-b43bb824]{display:flex;flex-direction:column;gap:2px;padding:14px 10px}.section-label[data-v-b43bb824]{margin:14px 6px 4px;padding-top:10px;border-top:1px solid #1f2937;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#64748b}.nav-link[data-v-b43bb824]{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:9px;color:#cbd5e1;text-decoration:none;font-size:.88rem;font-weight:500;width:100%;border:none;border-left:3px solid transparent;background:none;cursor:pointer;font-family:inherit;text-align:left;transition:background-color .12s ease,color .12s ease,border-color .12s ease}.nav-link[data-v-b43bb824]:hover{background:#1a2333;color:#fff}.nav-link.active[data-v-b43bb824]{background:rgba(37,99,235,.18);border-left-color:#5b8def;color:#fff}.nav-group-header[data-v-b43bb824]{position:relative}.group-label[data-v-b43bb824]{flex:1}.chevron[data-v-b43bb824]{transition:transform .15s;flex-shrink:0}.chevron.open[data-v-b43bb824]{transform:rotate(90deg)}.sub-nav[data-v-b43bb824]{display:flex;flex-direction:column;gap:1px;padding:2px 0 4px 30px}.sub-link[data-v-b43bb824]{color:#94a3b8;text-decoration:none;font-size:.82rem;padding:7px 10px;border-radius:7px;transition:background-color .12s ease,color .12s ease}.sub-link[data-v-b43bb824]:hover{background:#1a2333;color:#fff}.sub-link.active[data-v-b43bb824]{background:rgba(37,99,235,.22);color:#a9c6ff;font-weight:600}.topbar[data-v-f06545a8]{display:flex;align-items:center;gap:20px;padding:14px 24px;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:10}.page-title[data-v-f06545a8]{margin:0;font-size:1.15rem;white-space:nowrap}.search-wrap[data-v-f06545a8]{position:relative;flex:1;max-width:320px}.search-input[data-v-f06545a8]{width:100%}.search-results[data-v-f06545a8]{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:20;overflow:hidden}.search-result[data-v-f06545a8]{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:8px 12px;background:none;border:none;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;font-size:.85rem}.search-result[data-v-f06545a8]:last-child{border-bottom:none}.search-result[data-v-f06545a8]:hover{background:#f1f5f9}.topbar-actions[data-v-f06545a8]{display:flex;align-items:center;gap:20px;margin-left:auto}.alerts-wrap[data-v-f06545a8]{position:relative}.bell-btn[data-v-f06545a8]{position:relative;background:none;border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-sm);padding:7px 9px;cursor:pointer;display:flex;align-items:center;transition:background-color .15s ease,border-color .15s ease}.bell-btn[data-v-f06545a8]:hover{background:#f1f5f9}.alert-count[data-v-f06545a8]{position:absolute;top:-5px;right:-5px;background:var(--strong-sell);color:#fff;font-size:.68rem;font-weight:700;line-height:1;padding:3px 5px;border-radius:999px;min-width:16px;text-align:center}.alerts-dropdown[data-v-f06545a8]{position:absolute;top:calc(100% + 8px);right:0;width:320px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:20;overflow:hidden}.alerts-header[data-v-f06545a8]{padding:10px 14px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);border-bottom:1px solid var(--border)}.alerts-empty[data-v-f06545a8]{padding:16px 14px;font-size:.85rem}.alert-row[data-v-f06545a8]{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;background:none;border:none;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;font-size:.82rem}.alert-row[data-v-f06545a8]:last-child{border-bottom:none}.alert-row[data-v-f06545a8]:hover{background:#f1f5f9}.alert-symbol[data-v-f06545a8]{font-weight:700}.scrape-block[data-v-f06545a8]{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.scrape-msg[data-v-f06545a8]{font-size:.75rem}.user-area[data-v-f06545a8]{display:flex;align-items:center;gap:10px;font-size:.88rem;color:var(--text-muted);white-space:nowrap}.link-btn[data-v-f06545a8]{background:none;border:1px solid var(--border);color:var(--text-muted);padding:5px 10px;border-radius:var(--radius-sm);cursor:pointer;font-size:.82rem;transition:background-color .15s ease}.link-btn[data-v-f06545a8]:hover{background:#f1f5f9}.app-shell[data-v-1a0a21af]{min-height:100vh;display:flex}.main-column[data-v-1a0a21af]{flex:1;min-width:0;display:flex;flex-direction:column}.content[data-v-1a0a21af]{flex:1;padding:24px;width:100%;box-sizing:border-box}
