.stock-list[data-v-002156ee]{height:100%;color:var(--text-on-dark);background:transparent;overflow:hidden}.sidebar-head[data-v-002156ee]{display:flex;align-items:center;justify-content:space-between;padding:20px 18px 14px}.sidebar-head p[data-v-002156ee]{margin:0 0 4px;color:#e2e8f0a3;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.sidebar-head h3[data-v-002156ee]{margin:0;font-size:18px;font-weight:700}.count-badge[data-v-002156ee]{min-width:36px;padding:6px 10px;border-radius:999px;background:#94a3b824;color:#dbeafe;text-align:center;font-size:13px;font-weight:700}.search-panel[data-v-002156ee]{padding:0 14px 14px}.search-bar[data-v-002156ee]{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid rgba(148,163,184,.16);border-radius:16px;background:#0f172a38;box-shadow:inset 0 1px #ffffff0a}.search-bar input[data-v-002156ee]{width:100%;min-width:0;min-height:40px;padding:0 12px;border:1px solid rgba(148,163,184,.18);border-radius:10px;font-size:13px;color:var(--text-on-dark);background:#0f172a6b;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.search-bar input[data-v-002156ee]:focus{border-color:#60a5facc;box-shadow:0 0 0 4px #2563eb2e;background:#0f172a99}.search-actions[data-v-002156ee]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.search-bar select[data-v-002156ee]{min-height:38px;padding:0 12px;border:1px solid rgba(148,163,184,.18);border-radius:10px;font-size:13px;color:#e2e8f0;background:#0f172a6b}.search-bar button[data-v-002156ee]{min-height:38px;padding:0 16px;background:var(--brand-color);color:#fff;border-radius:10px;font-size:13px;font-weight:600;white-space:nowrap;transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease}.search-bar button[data-v-002156ee]:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px);box-shadow:0 10px 20px -14px #2563ebe6}.search-bar button[data-v-002156ee]:disabled{opacity:.45}.loading-text[data-v-002156ee],.empty-text[data-v-002156ee]{padding:24px;text-align:center;color:#e2e8f0a3;font-size:14px}.stock-items[data-v-002156ee]{list-style:none;margin:0;padding:6px 10px 12px;max-height:calc(100vh - 240px);overflow-y:auto}.stock-item[data-v-002156ee]{position:relative;display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;padding:14px 14px 14px 18px;cursor:pointer;border:1px solid transparent;border-radius:14px;transition:background-color .18s ease,border-color .18s ease,transform .18s ease}.stock-item[data-v-002156ee]:hover{background:#ffffff0f;border-color:#94a3b824;transform:translate(2px)}.stock-item.active[data-v-002156ee]{background:#2563eb1f;border-color:#60a5fa38}.item-indicator[data-v-002156ee]{position:absolute;left:6px;top:12px;bottom:12px;width:3px;border-radius:999px;background:transparent;transition:background-color .18s ease}.stock-item.active .item-indicator[data-v-002156ee]{background:#60a5fa}.stock-info[data-v-002156ee]{display:flex;flex-direction:column;gap:4px;min-width:0}.stock-name[data-v-002156ee]{font-size:14px;font-weight:600;color:#f8fafc}.stock-code[data-v-002156ee]{font-size:12px;color:#e2e8f09e}.stock-right[data-v-002156ee]{display:flex;align-items:center;gap:10px;flex-shrink:0}.stock-price[data-v-002156ee]{font-size:14px;font-weight:700;color:#f8fafc}.stock-price.na[data-v-002156ee]{color:#e2e8f07a;font-weight:400}.delete-btn[data-v-002156ee]{width:24px;height:24px;border-radius:999px;color:#e2e8f08f;font-size:18px;padding:0;line-height:1;transition:color .18s ease,background-color .18s ease}.delete-btn[data-v-002156ee]:hover{color:#fff;background:#ef444447}@media(max-width:900px){.stock-items[data-v-002156ee]{max-height:none}}@media(max-width:640px){.search-actions[data-v-002156ee]{grid-template-columns:1fr}}.app-layout[data-v-b7d6891e]{min-height:100vh;display:flex;flex-direction:column}.app-header[data-v-b7d6891e]{position:sticky;top:0;z-index:10;min-height:64px;padding:12px 28px;display:flex;justify-content:space-between;align-items:center;gap:24px;background:#ffffffe0;border-bottom:1px solid rgba(229,231,235,.9);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand-block[data-v-b7d6891e]{display:flex;align-items:center;gap:28px;min-width:0}.brand-mark[data-v-b7d6891e]{display:flex;align-items:center;gap:10px}.brand-dot[data-v-b7d6891e]{width:12px;height:12px;border-radius:999px;background:linear-gradient(135deg,var(--brand-color),#60a5fa);box-shadow:0 0 0 6px #2563eb1f}.app-header h1[data-v-b7d6891e]{font-size:20px;font-weight:700;color:var(--text-primary);white-space:nowrap}.top-nav[data-v-b7d6891e]{display:flex;align-items:center;gap:8px}.top-nav .nav-link[data-v-b7d6891e]{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:9px 12px;color:var(--text-secondary);border-radius:10px;font-size:13px;font-weight:500;text-decoration:none;transition:color .2s ease,background-color .2s ease,transform .2s ease,opacity .2s ease,box-shadow .2s ease,border-color .2s ease}.top-nav .nav-link[data-v-b7d6891e]:after{content:"";position:absolute;left:12px;right:12px;bottom:5px;height:2px;border-radius:999px;background:var(--brand-color);transform:scaleX(0);transform-origin:center;transition:transform .2s ease}.top-nav .nav-link[data-v-b7d6891e]:hover:not(:disabled){color:var(--text-primary);background:#94a3b81f}.top-nav .nav-link.active[data-v-b7d6891e]{color:var(--brand-color);background:#2563eb1f;box-shadow:inset 0 0 0 1px #2563eb14}.top-nav .nav-link.active[data-v-b7d6891e]:after{transform:scaleX(1)}.top-nav .nav-link.disabled[data-v-b7d6891e]{opacity:.5}.user-bar[data-v-b7d6891e]{display:flex;align-items:center;gap:12px;margin-left:auto}.user-avatar[data-v-b7d6891e]{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,var(--brand-color),#1d4ed8);color:#fff;font-size:13px;font-weight:700;box-shadow:var(--shadow-sm)}.username[data-v-b7d6891e]{font-size:14px;color:var(--text-primary);font-weight:600}.logout-btn[data-v-b7d6891e],.password-btn[data-v-b7d6891e]{min-height:36px;padding:0 16px;border-radius:10px;font-size:13px;font-weight:600;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}.logout-btn[data-v-b7d6891e]{background:var(--brand-color);color:#fff;box-shadow:var(--shadow-sm)}.password-btn[data-v-b7d6891e]{border:1px solid var(--border-light);background:#ffffffb8;color:var(--text-secondary)}.logout-btn[data-v-b7d6891e]:hover,.password-btn[data-v-b7d6891e]:hover{transform:translateY(-1px)}.logout-btn[data-v-b7d6891e]:hover{background:#1d4ed8}.password-btn[data-v-b7d6891e]:hover{border-color:#2563eb40;color:var(--brand-color);background:#fff}.app-body[data-v-b7d6891e]{display:flex;flex:1;max-width:1600px;width:100%;margin:0 auto;padding:20px 24px 24px;gap:20px}.app-body.no-sidebar[data-v-b7d6891e]{max-width:1600px}.sidebar[data-v-b7d6891e]{width:300px;flex-shrink:0;border-radius:var(--radius-lg);background:linear-gradient(180deg,var(--bg-dark) 0%,#172132 100%);box-shadow:var(--shadow-md);overflow:hidden}.main-content[data-v-b7d6891e]{flex:1;min-width:0}.modal-overlay[data-v-b7d6891e]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.modal-card[data-v-b7d6891e]{background:var(--bg-card);border-radius:var(--radius-md);padding:28px;width:360px;box-shadow:var(--shadow-md)}.modal-card h3[data-v-b7d6891e]{margin:0 0 18px;font-size:18px;color:var(--text-primary)}.modal-card form[data-v-b7d6891e]{display:flex;flex-direction:column;gap:12px}.modal-card input[data-v-b7d6891e]{padding:10px 14px;border:1px solid var(--border-light);border-radius:10px;font-size:14px;background:var(--bg-card);transition:border-color .2s ease,box-shadow .2s ease}.modal-card input[data-v-b7d6891e]:focus{border-color:var(--brand-color);box-shadow:0 0 0 4px #2563eb1f}.modal-btns[data-v-b7d6891e]{display:flex;gap:10px;margin-top:4px}.modal-btns button[type=submit][data-v-b7d6891e],.btn-cancel[data-v-b7d6891e]{flex:1;min-height:42px;border-radius:10px;font-size:14px;font-weight:600;transition:transform .2s ease,background-color .2s ease}.modal-btns button[type=submit][data-v-b7d6891e]{background:var(--brand-color);color:#fff}.modal-btns button[type=submit][data-v-b7d6891e]:disabled{opacity:.5;cursor:not-allowed}.btn-cancel[data-v-b7d6891e]{background:var(--bg-card-muted);color:var(--text-secondary);border:1px solid var(--border-light)}.error[data-v-b7d6891e]{color:var(--up-color);font-size:13px;margin:0}.success[data-v-b7d6891e]{color:var(--down-color);font-size:13px;margin:0}@media(max-width:1180px){.app-header[data-v-b7d6891e],.app-body[data-v-b7d6891e]{padding-left:18px;padding-right:18px}.app-body[data-v-b7d6891e]{gap:16px}.sidebar[data-v-b7d6891e]{width:280px}}@media(max-width:900px){.app-header[data-v-b7d6891e]{flex-direction:column;align-items:stretch}.brand-block[data-v-b7d6891e]{flex-wrap:wrap;gap:16px}.app-body[data-v-b7d6891e]{flex-direction:column;padding:16px;gap:12px}.sidebar[data-v-b7d6891e]{width:100%}.user-bar[data-v-b7d6891e]{justify-content:flex-end}}@media(max-width:640px){.app-header[data-v-b7d6891e]{padding-top:14px;padding-bottom:14px}.top-nav[data-v-b7d6891e]{flex-wrap:wrap}.user-bar[data-v-b7d6891e]{flex-wrap:wrap;justify-content:flex-start}}.portfolio-ai[data-v-ba9ea3ae]{background:var(--bg-card);border:1px solid rgba(229,231,235,.85);border-radius:var(--radius-md);padding:18px;margin-bottom:14px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow-sm)}.section-head[data-v-ba9ea3ae]{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.section-head h2[data-v-ba9ea3ae]{margin:0 0 4px;font-size:16px;color:var(--text-primary)}.section-head p[data-v-ba9ea3ae]{margin:0;color:var(--text-secondary);font-size:13px}.section-head button[data-v-ba9ea3ae]{flex-shrink:0;min-height:40px;padding:0 16px;background:var(--brand-color);color:#fff;border-radius:10px;font-size:13px;font-weight:600;transition:transform .18s ease,background-color .18s ease}.section-head button[data-v-ba9ea3ae]:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px)}.section-head button[data-v-ba9ea3ae]:disabled{opacity:.6}.ai-report[data-v-ba9ea3ae]{margin:0;padding:14px;background:var(--bg-card-muted);border:1px solid rgba(229,231,235,.85);border-radius:12px;color:#263238;font-size:13px;line-height:1.7;white-space:pre-wrap;word-break:break-word;font-family:inherit}.ai-empty[data-v-ba9ea3ae]{padding:18px;color:var(--text-secondary);background:var(--bg-card-muted);border-radius:12px;font-size:13px;text-align:center}.ai-error[data-v-ba9ea3ae]{padding:10px 12px;background:var(--danger-soft);color:var(--up-color);border-radius:12px;font-size:13px}@media(max-width:768px){.section-head[data-v-ba9ea3ae]{flex-direction:column;gap:10px}}.dashboard-overview[data-v-956d2c1b]{background:var(--bg-card);border:1px solid rgba(229,231,235,.7);border-radius:var(--radius-md);padding:20px;margin-bottom:14px;box-shadow:var(--shadow-sm)}.overview-head[data-v-956d2c1b]{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.overview-head h2[data-v-956d2c1b]{margin:0;color:var(--text-primary);font-size:22px;font-weight:700}.overview-head p[data-v-956d2c1b]{margin:6px 0 0;color:var(--text-secondary);font-size:14px}.overview-actions[data-v-956d2c1b]{display:flex;align-items:center;gap:12px}.meta-pill[data-v-956d2c1b]{display:inline-flex;align-items:center;gap:10px;min-height:42px;padding:0 14px;border:1px solid var(--border-light);border-radius:999px;background:var(--bg-card-muted);color:var(--text-secondary);font-size:13px}.meta-pill strong[data-v-956d2c1b]{color:var(--text-primary);font-size:15px}.demo-btn[data-v-956d2c1b],.onboarding button[data-v-956d2c1b]{flex-shrink:0;min-height:42px;padding:0 16px;background:var(--brand-color);color:#fff;border-radius:10px;font-size:13px;font-weight:600;transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease}.demo-btn[data-v-956d2c1b]:hover:not(:disabled),.onboarding button[data-v-956d2c1b]:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px);box-shadow:0 12px 24px -18px #2563ebe6}.demo-btn[data-v-956d2c1b]:disabled,.onboarding button[data-v-956d2c1b]:disabled{opacity:.6}.metric-grid[data-v-956d2c1b]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric-card[data-v-956d2c1b]{min-height:112px;display:grid;align-content:space-between;gap:10px;padding:16px 18px;background:var(--bg-card);border:1px solid rgba(229,231,235,.92);border-radius:14px;box-shadow:var(--shadow-sm)}.metric-card span[data-v-956d2c1b]{color:var(--text-secondary);font-size:12px;letter-spacing:.04em}.metric-card strong[data-v-956d2c1b]{color:var(--text-primary);font-size:28px;font-weight:700;line-height:1.1}.metric-card strong small[data-v-956d2c1b]{margin-left:6px;color:var(--text-muted);font-size:12px;font-weight:600}.metric-card>small[data-v-956d2c1b]{color:var(--text-secondary);font-size:13px}.metric-card.profit strong[data-v-956d2c1b],.metric-card.profit small[data-v-956d2c1b]{color:var(--up-color)}.metric-card.loss strong[data-v-956d2c1b],.metric-card.loss small[data-v-956d2c1b]{color:var(--down-color)}.metric-card.warning strong[data-v-956d2c1b]{color:var(--warning-color)}.profit-value[data-v-956d2c1b]{display:flex;align-items:baseline;gap:8px}.profit-arrow[data-v-956d2c1b]{font-style:normal;font-size:18px}.decision-grid[data-v-956d2c1b]{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);gap:14px;margin-top:16px}.risk-panel[data-v-956d2c1b],.task-panel[data-v-956d2c1b],.onboarding[data-v-956d2c1b]{padding:18px;background:var(--bg-card);border:1px solid rgba(229,231,235,.85);border-radius:14px;box-shadow:var(--shadow-sm)}.onboarding[data-v-956d2c1b]{display:flex;align-items:center;justify-content:space-between;gap:16px}.onboarding h3[data-v-956d2c1b],.risk-head h3[data-v-956d2c1b]{margin:0;font-size:16px;color:var(--text-primary)}.onboarding p[data-v-956d2c1b]{margin:5px 0 0;color:var(--text-secondary);font-size:13px}.risk-head[data-v-956d2c1b]{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.risk-head span[data-v-956d2c1b]{color:var(--text-secondary);font-size:12px}.risk-list[data-v-956d2c1b]{display:grid;gap:10px}.task-list[data-v-956d2c1b]{display:grid;gap:10px;margin:0;padding:0;list-style:none}.task-list li[data-v-956d2c1b],.quiet-state[data-v-956d2c1b]{padding:12px 14px;background:var(--bg-card-muted);border:1px solid rgba(229,231,235,.85);border-radius:12px;color:#374151;font-size:13px;line-height:1.5}.risk-item[data-v-956d2c1b]{position:relative;display:flex;align-items:center;gap:14px;width:100%;padding:14px 16px;background:linear-gradient(180deg,#fff,#fff8f8);border:1px solid rgba(248,113,113,.18);border-radius:14px;text-align:left;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.risk-item[data-v-956d2c1b]:hover{transform:translateY(-1px);border-color:#ef444457;box-shadow:0 16px 30px -24px #ef44448c}.risk-accent[data-v-956d2c1b]{align-self:stretch;width:4px;border-radius:999px;background:linear-gradient(180deg,var(--up-color),#f87171)}.risk-content[data-v-956d2c1b]{display:grid;gap:8px;width:100%;min-width:0}.risk-row[data-v-956d2c1b]{display:flex;align-items:center;justify-content:space-between;gap:12px}.risk-level[data-v-956d2c1b]{min-width:62px;padding:5px 10px;border-radius:999px;font-size:12px;text-align:center;font-weight:700}.risk-level.high[data-v-956d2c1b]{background:#fee2e2;color:#b91c1c}.risk-level.middle[data-v-956d2c1b]{background:#ffedd5;color:#c2410c}.risk-level.low[data-v-956d2c1b]{background:#dcfce7;color:#15803d}.risk-badges[data-v-956d2c1b]{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.risk-message[data-v-956d2c1b]{padding:5px 10px;border-radius:999px;background:var(--danger-soft);color:#991b1b;font-size:12px;font-weight:600}.risk-item strong[data-v-956d2c1b]{font-size:14px;color:var(--text-primary)}.risk-item small[data-v-956d2c1b]{color:var(--text-secondary);font-size:12px}.state-empty[data-v-956d2c1b],.state-error[data-v-956d2c1b],.state-success[data-v-956d2c1b]{margin-top:14px;padding:12px 14px;border-radius:12px;font-size:13px}.state-empty[data-v-956d2c1b]{color:var(--text-secondary);background:var(--bg-card-muted)}.state-error[data-v-956d2c1b]{color:#b91c1c;background:var(--danger-soft)}.state-success[data-v-956d2c1b]{color:#15803d;background:#ecfdf3}@media(max-width:1180px){.metric-grid[data-v-956d2c1b]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.overview-head[data-v-956d2c1b],.overview-actions[data-v-956d2c1b],.onboarding[data-v-956d2c1b],.risk-row[data-v-956d2c1b]{flex-direction:column;align-items:flex-start}.decision-grid[data-v-956d2c1b]{grid-template-columns:1fr}.metric-grid[data-v-956d2c1b]{grid-template-columns:repeat(2,minmax(0,1fr))}.risk-badges[data-v-956d2c1b]{justify-content:flex-start}}.health-panel[data-v-9a1ee0fa]{background:var(--bg-card);border:1px solid rgba(229,231,235,.85);border-radius:var(--radius-md);padding:18px;margin-bottom:14px;box-shadow:var(--shadow-sm)}.panel-head[data-v-9a1ee0fa]{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.eyebrow[data-v-9a1ee0fa]{margin:0 0 4px;color:#6b7280;font-size:12px;text-transform:uppercase}.panel-head h3[data-v-9a1ee0fa]{margin:0;color:var(--text-primary);font-size:16px}.panel-head button[data-v-9a1ee0fa]{flex-shrink:0;min-height:40px;padding:0 16px;background:var(--brand-color);color:#fff;border-radius:10px;font-size:13px;font-weight:600;transition:transform .18s ease,background-color .18s ease}.panel-head button[data-v-9a1ee0fa]:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px)}.panel-head button[data-v-9a1ee0fa]:disabled{opacity:.6}.health-content[data-v-9a1ee0fa]{display:grid;grid-template-columns:132px minmax(0,1fr);gap:16px;align-items:flex-start}.score-block[data-v-9a1ee0fa]{min-height:132px;display:grid;place-items:center;align-content:center;gap:4px;background:var(--bg-card-muted);border:1px solid rgba(229,231,235,.85);border-radius:14px}.score-block strong[data-v-9a1ee0fa]{font-size:40px;line-height:1}.score-block span[data-v-9a1ee0fa]{font-size:13px;color:#4b5563}.score-block.excellent strong[data-v-9a1ee0fa],.score-block.good strong[data-v-9a1ee0fa]{color:#0f8f5f}.score-block.watch strong[data-v-9a1ee0fa]{color:#b45309}.score-block.danger strong[data-v-9a1ee0fa]{color:#c62828}.summary[data-v-9a1ee0fa]{margin:0 0 12px;color:#374151;font-size:13px;line-height:1.7}.component-grid[data-v-9a1ee0fa]{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.component-item[data-v-9a1ee0fa]{min-height:118px;display:grid;align-content:start;gap:8px;padding:12px;background:var(--bg-card-muted);border:1px solid rgba(229,231,235,.85);border-radius:12px}.component-top[data-v-9a1ee0fa]{display:flex;align-items:center;justify-content:space-between;gap:8px}.component-top span[data-v-9a1ee0fa]{color:#374151;font-size:13px;font-weight:600}.component-top strong[data-v-9a1ee0fa]{color:#111827;font-size:18px;font-family:var(--font-mono)}.bar[data-v-9a1ee0fa]{height:6px;overflow:hidden;background:#e5e7eb;border-radius:999px}.bar i[data-v-9a1ee0fa]{display:block;height:100%;background:var(--brand-color);border-radius:inherit}.component-item small[data-v-9a1ee0fa]{color:#6b7280;font-size:12px;line-height:1.5}.action-list[data-v-9a1ee0fa]{margin-top:12px;padding:12px;background:var(--bg-card-muted);border:1px solid rgba(229,231,235,.85);border-radius:12px}.action-list h4[data-v-9a1ee0fa]{margin:0 0 8px;color:#111827;font-size:14px}.action-list ul[data-v-9a1ee0fa]{margin:0;padding-left:18px;color:#4b5563;font-size:13px;line-height:1.7}.state-empty[data-v-9a1ee0fa],.state-error[data-v-9a1ee0fa]{padding:18px;color:var(--text-secondary);background:var(--bg-card-muted);border-radius:12px;font-size:13px;text-align:center}.state-error[data-v-9a1ee0fa]{color:var(--up-color);background:var(--danger-soft)}@media(max-width:1100px){.component-grid[data-v-9a1ee0fa]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:768px){.health-content[data-v-9a1ee0fa],.component-grid[data-v-9a1ee0fa]{grid-template-columns:1fr}}.page-stack[data-v-38aa739d]{display:flex;flex-direction:column;gap:14px}.placeholder[data-v-38aa739d]{display:flex;align-items:center;justify-content:center;min-height:360px;background:var(--bg-card);border:1px solid rgba(229,231,235,.85);border-radius:var(--radius-md);padding:28px;box-shadow:var(--shadow-sm)}.placeholder-content[data-v-38aa739d]{width:min(720px,100%);text-align:center}.placeholder-content h2[data-v-38aa739d]{margin-bottom:10px;font-size:22px;color:var(--text-primary)}.placeholder-content>p[data-v-38aa739d]{margin-bottom:22px;color:var(--text-secondary);font-size:14px}.feature-grid[data-v-38aa739d]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.feature-item[data-v-38aa739d]{display:flex;flex-direction:column;gap:8px;padding:16px;background:var(--bg-card-muted);border:1px solid rgba(229,231,235,.85);border-radius:14px;text-align:left}.feature-item strong[data-v-38aa739d]{color:var(--text-primary);font-size:14px}.feature-item span[data-v-38aa739d]{color:var(--text-secondary);font-size:13px;line-height:1.6}@media(max-width:768px){.feature-grid[data-v-38aa739d]{grid-template-columns:1fr}}.login-shell[data-v-978edfe0]{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);background:radial-gradient(circle at top left,rgba(37,99,235,.2),transparent 32%),linear-gradient(180deg,#0f172a,#172554);color:#fff}.hero-panel[data-v-978edfe0]{display:flex;flex-direction:column;justify-content:center;gap:20px;padding:72px}.hero-badge[data-v-978edfe0]{display:inline-flex;align-items:center;gap:10px;width:fit-content;padding:8px 14px;border-radius:999px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:#ffffffd6;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.hero-badge-dot[data-v-978edfe0]{width:10px;height:10px;border-radius:999px;background:linear-gradient(135deg,#60a5fa,#2563eb);box-shadow:0 0 0 6px #60a5fa24}.hero-panel h1[data-v-978edfe0]{margin:0;font-size:clamp(40px,5vw,66px);line-height:1.02;letter-spacing:-.04em}.hero-copy[data-v-978edfe0]{max-width:640px;margin:0;color:#ffffffc7;font-size:18px;line-height:1.8}.hero-stats[data-v-978edfe0]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:860px}.stat-card[data-v-978edfe0]{min-height:128px;display:grid;align-content:start;gap:10px;padding:18px;border-radius:20px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.stat-card strong[data-v-978edfe0]{font-size:16px}.stat-card span[data-v-978edfe0]{color:#ffffffb8;font-size:13px;line-height:1.7}.hero-footer[data-v-978edfe0]{display:flex;flex-wrap:wrap;gap:10px;color:#ffffffb3;font-size:12px}.hero-footer span[data-v-978edfe0]{padding:7px 12px;border-radius:999px;background:#ffffff12;border:1px solid rgba(255,255,255,.1)}.auth-panel[data-v-978edfe0]{display:flex;align-items:center;justify-content:center;padding:28px;background:radial-gradient(circle at 20% 15%,rgba(37,99,235,.14),transparent 24%),linear-gradient(180deg,#f8fbff,#eef3f9)}.auth-card[data-v-978edfe0]{width:min(100%,460px);padding:32px;border-radius:24px;background:#ffffffe6;border:1px solid rgba(255,255,255,.75);box-shadow:var(--shadow-lg);color:var(--text-primary);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.auth-head[data-v-978edfe0]{margin-bottom:18px}.auth-kicker[data-v-978edfe0]{margin:0 0 8px;color:var(--brand-color-strong);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.auth-head h2[data-v-978edfe0]{margin:0 0 8px;font-size:30px;line-height:1.1}.auth-head p[data-v-978edfe0]{margin:0;color:var(--text-secondary);font-size:14px;line-height:1.7}.tabs[data-v-978edfe0]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:18px;padding:6px;background:var(--bg-card-muted);border-radius:16px}.tabs button[data-v-978edfe0]{min-height:42px;border-radius:12px;color:var(--text-secondary);font-size:14px;font-weight:600;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease}.tabs button.active[data-v-978edfe0]{background:#fff;color:var(--brand-color-strong);box-shadow:0 12px 24px -18px #0f172a3d}form[data-v-978edfe0]{display:grid;gap:14px}label[data-v-978edfe0]{display:grid;gap:8px}label span[data-v-978edfe0]{color:var(--text-secondary);font-size:13px;font-weight:600}form input[data-v-978edfe0]{min-height:46px;padding:0 14px;border:1px solid var(--border-light);border-radius:14px;font-size:14px;color:var(--text-primary);background:#fffffffa;transition:border-color .18s ease,box-shadow .18s ease}form input[data-v-978edfe0]:focus{border-color:#2563eb99;box-shadow:0 0 0 4px #2563eb1f}.submit-btn[data-v-978edfe0],.demo-btn[data-v-978edfe0]{min-height:46px;border-radius:14px;font-size:14px;font-weight:700;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}.submit-btn[data-v-978edfe0]{margin-top:4px;background:linear-gradient(135deg,var(--brand-color) 0%,var(--brand-color-strong) 100%);color:#fff;box-shadow:0 18px 30px -22px #2563ebf2}.submit-btn[data-v-978edfe0]:hover:not(:disabled),.demo-btn[data-v-978edfe0]:hover{transform:translateY(-1px)}.submit-btn[data-v-978edfe0]:disabled{opacity:.6}.demo-btn[data-v-978edfe0]{margin-top:12px;width:100%;border:1px solid rgba(37,99,235,.16);background:linear-gradient(135deg,#2563eb14,#fffffff5),#fff;color:var(--text-primary);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;text-align:left;box-shadow:0 16px 30px -24px #2563eb59;position:relative;overflow:hidden}.demo-btn[data-v-978edfe0]:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,var(--brand-accent),var(--brand-color-strong))}.demo-btn-main[data-v-978edfe0]{display:flex;align-items:center;gap:12px;min-width:0}.demo-badge[data-v-978edfe0]{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;background:var(--brand-color-soft);color:var(--brand-color-strong);font-size:11px;font-weight:800;letter-spacing:.08em}.demo-copy[data-v-978edfe0]{display:grid;gap:4px}.demo-copy strong[data-v-978edfe0]{color:var(--text-primary);font-size:14px}.demo-copy small[data-v-978edfe0]{color:var(--text-secondary);font-size:12px;font-weight:600}.demo-arrow[data-v-978edfe0]{color:var(--brand-color-strong);font-size:18px;font-weight:800}.error[data-v-978edfe0]{margin:0;color:#b91c1c;font-size:13px;line-height:1.6}@media(max-width:1080px){.login-shell[data-v-978edfe0]{grid-template-columns:1fr}.hero-panel[data-v-978edfe0]{padding:44px 28px 28px}.hero-stats[data-v-978edfe0]{grid-template-columns:1fr}}@media(max-width:640px){.hero-panel[data-v-978edfe0]{padding:32px 20px 20px}.auth-panel[data-v-978edfe0]{padding:16px 16px 24px}.auth-card[data-v-978edfe0]{padding:24px}}.quant-page[data-v-f1d0953e]{display:flex;flex-direction:column;gap:12px}.page-head[data-v-f1d0953e]{justify-content:space-between;align-items:flex-start}.page-head[data-v-f1d0953e]{display:flex;gap:16px}.page-head h2[data-v-f1d0953e]{margin:0;color:var(--text-primary);font-size:22px}.head-actions[data-v-f1d0953e]{display:flex;gap:8px;flex-wrap:wrap}button[data-v-f1d0953e]:disabled{opacity:.6;cursor:not-allowed}.run-status[data-v-f1d0953e]{display:flex;flex-wrap:wrap;gap:8px;padding:10px 12px;background:var(--bg-card);border:1px solid rgba(229,231,235,.85);border-radius:14px}.run-status span[data-v-f1d0953e]{padding:3px 8px;background:var(--bg-card-muted);border-radius:999px;color:var(--text-secondary);font-size:12px}.quant-layout[data-v-f1d0953e]{display:grid;grid-template-columns:280px minmax(0,1fr) 260px;gap:12px;align-items:start}.panel-title[data-v-f1d0953e]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.panel-title h3[data-v-f1d0953e]{margin:0;color:var(--text-primary);font-size:15px}.panel-title h3 small[data-v-f1d0953e]{color:var(--text-secondary);font-size:12px;font-weight:400}.panel-title span[data-v-f1d0953e]{color:var(--text-secondary);font-size:12px}.text-btn[data-v-f1d0953e]{padding:0;background:transparent;border:none;color:var(--brand-color);cursor:pointer;font-size:13px}.config-panel[data-v-f1d0953e]{display:flex;flex-direction:column;gap:12px}label[data-v-f1d0953e]{display:flex;flex-direction:column;gap:6px;color:var(--text-secondary);font-size:13px}input[data-v-f1d0953e],select[data-v-f1d0953e]{width:100%;min-height:36px;padding:8px 10px;border:1px solid var(--border-light);border-radius:12px;color:var(--text-primary);font-size:13px;outline:none;background:#fff}input[data-v-f1d0953e]:focus,select[data-v-f1d0953e]:focus{border-color:var(--brand-color);box-shadow:0 0 0 4px #2563eb1f}.param-grid[data-v-f1d0953e]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.divider[data-v-f1d0953e]{height:1px;background:#e5e7ebe6}.config-panel h4[data-v-f1d0953e],.commentary h4[data-v-f1d0953e],.auto-box h4[data-v-f1d0953e]{margin:0;color:var(--text-primary);font-size:14px}.switch-line[data-v-f1d0953e]{flex-direction:row;align-items:center}.switch-line input[data-v-f1d0953e]{width:16px;min-height:16px}.chart[data-v-f1d0953e]{width:100%;height:520px}.metric-list[data-v-f1d0953e]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.metric[data-v-f1d0953e]{min-height:72px;display:grid;align-content:center;gap:4px;padding:10px;background:var(--bg-card-muted);border:1px solid rgba(229,231,235,.85);border-radius:14px}.metric span[data-v-f1d0953e]{color:var(--text-secondary);font-size:12px}.metric strong[data-v-f1d0953e]{color:var(--text-primary);font-size:18px}.metric.profit strong[data-v-f1d0953e]{color:var(--up-color)}.metric.loss strong[data-v-f1d0953e]{color:var(--down-color)}.commentary[data-v-f1d0953e],.auto-box[data-v-f1d0953e]{margin-top:12px;padding:12px;background:var(--bg-card-muted);border:1px solid rgba(229,231,235,.85);border-radius:14px}.auto-box[data-v-f1d0953e]{background:linear-gradient(180deg,#2563eb0a,#fffffffa),var(--bg-card-muted)}.run-strategy-btn[data-v-f1d0953e]{width:100%;min-height:48px;margin-top:10px;padding:0 16px;border-radius:14px;background:linear-gradient(135deg,#0f4cc9,#2563eb 55%,#3b82f6);color:#fff;font-size:14px;font-weight:800;letter-spacing:.01em;box-shadow:0 18px 28px -22px #2563ebe6;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}.run-strategy-btn[data-v-f1d0953e]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 24px 34px -24px #2563ebf2}.run-strategy-btn[data-v-f1d0953e]:disabled{opacity:.6}.commentary p[data-v-f1d0953e],.auto-box p[data-v-f1d0953e]{margin:8px 0 0;color:var(--text-secondary);font-size:13px;line-height:1.7;white-space:pre-wrap}.auto-box button[data-v-f1d0953e]{width:100%;margin-top:10px}.poll-box[data-v-f1d0953e]{display:grid;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(229,231,235,.85)}.poll-box small[data-v-f1d0953e]{color:var(--text-secondary);font-size:12px;line-height:1.5}.bottom-grid[data-v-f1d0953e]{display:grid;grid-template-columns:320px minmax(0,1fr);gap:12px}.strategy-list[data-v-f1d0953e]{max-height:420px;overflow-y:auto;padding-right:4px}.strategy-item[data-v-f1d0953e]{display:grid;gap:5px;width:100%;margin-bottom:8px;padding:10px;background:var(--bg-card-muted);border:1px solid rgba(229,231,235,.85);border-radius:12px;text-align:left;cursor:pointer}.strategy-item.active[data-v-f1d0953e],.strategy-item[data-v-f1d0953e]:hover{border-color:#2563eb40}.strategy-item span[data-v-f1d0953e]{color:var(--text-secondary);font-size:12px}.strategy-item strong[data-v-f1d0953e]{color:var(--text-primary);font-size:13px}.strategy-item small[data-v-f1d0953e]{color:var(--text-secondary);font-size:12px}.execution-table[data-v-f1d0953e]{display:grid;gap:6px;max-height:520px;overflow-y:auto;padding-right:4px}.log-tools[data-v-f1d0953e]{display:flex;align-items:center;gap:10px}.scope-toggle[data-v-f1d0953e]{flex-direction:row;align-items:center;gap:5px;color:#6b7280;font-size:12px}.scope-toggle input[data-v-f1d0953e]{width:14px;min-height:14px}.table-row[data-v-f1d0953e]{display:grid;grid-template-columns:90px 1fr 100px 54px 90px minmax(160px,1.4fr);gap:8px;align-items:center;padding:8px 10px;background:var(--bg-card-muted);border:1px solid rgba(229,231,235,.85);border-radius:12px;color:var(--text-secondary);font-size:12px}.table-row.head[data-v-f1d0953e]{background:#2563eb0f;color:var(--text-primary);font-weight:600}.table-row .buy[data-v-f1d0953e]{color:var(--up-color);font-weight:600}.table-row .sell[data-v-f1d0953e]{color:var(--down-color);font-weight:600}.state-empty[data-v-f1d0953e],.state-error[data-v-f1d0953e],.state-success[data-v-f1d0953e],.empty-panel[data-v-f1d0953e]{padding:16px;border-radius:8px;font-size:13px;text-align:center}.state-empty[data-v-f1d0953e]{color:var(--text-secondary);background:var(--bg-card-muted)}.state-empty.large[data-v-f1d0953e]{min-height:520px;display:grid;place-items:center}.state-error[data-v-f1d0953e]{color:#b91c1c;background:var(--danger-soft)}.state-success[data-v-f1d0953e]{color:#047857;background:var(--success-soft)}.empty-panel h3[data-v-f1d0953e]{margin:0 0 8px;color:var(--text-primary)}.empty-panel p[data-v-f1d0953e]{margin:0;color:var(--text-secondary)}@media(max-width:1180px){.quant-layout[data-v-f1d0953e],.bottom-grid[data-v-f1d0953e]{grid-template-columns:1fr}}@media(max-width:680px){.page-head[data-v-f1d0953e]{flex-direction:column}.head-actions[data-v-f1d0953e]{width:100%}.head-actions button[data-v-f1d0953e]{flex:1}.param-grid[data-v-f1d0953e],.metric-list[data-v-f1d0953e],.table-row[data-v-f1d0953e]{grid-template-columns:1fr}}.reports-page[data-v-7d58267a]{display:flex;flex-direction:column;gap:12px}.page-head[data-v-7d58267a]{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.page-head h2[data-v-7d58267a]{margin:0;font-size:22px;color:var(--text-primary)}.actions[data-v-7d58267a]{display:flex;gap:8px;flex-wrap:wrap}.reports-shell[data-v-7d58267a]{display:grid;grid-template-columns:320px minmax(0,1fr);gap:12px}.report-list[data-v-7d58267a],.report-preview[data-v-7d58267a]{background:var(--bg-card);border:1px solid rgba(229,231,235,.85);border-radius:var(--radius-md);padding:16px;box-shadow:var(--shadow-sm)}.list-head[data-v-7d58267a]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.list-head h3[data-v-7d58267a]{margin:0;font-size:15px;color:var(--text-primary)}.report-list[data-v-7d58267a]{display:flex;flex-direction:column;gap:8px;align-self:start}.report-item[data-v-7d58267a]{display:grid;gap:5px;width:100%;padding:10px;background:var(--bg-card-muted);border:1px solid rgba(229,231,235,.85);border-radius:12px;text-align:left;cursor:pointer}.report-item.active[data-v-7d58267a],.report-item[data-v-7d58267a]:hover{border-color:#2563eb40}.report-item span[data-v-7d58267a]{width:fit-content;padding:2px 8px;background:#2563eb1a;color:var(--brand-color-strong);border-radius:999px;font-size:12px}.report-item strong[data-v-7d58267a]{color:var(--text-primary);font-size:13px;line-height:1.5}.report-item small[data-v-7d58267a]{color:var(--text-secondary);font-size:12px}.preview-head[data-v-7d58267a]{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}.preview-head span[data-v-7d58267a]{color:var(--text-secondary);font-size:12px}.preview-head h3[data-v-7d58267a]{margin:4px 0 0;color:var(--text-primary);font-size:16px}.report-preview pre[data-v-7d58267a]{margin:0;padding:16px;background:var(--bg-card-muted);border:1px solid rgba(229,231,235,.85);border-radius:14px;color:var(--text-primary);font-family:inherit;font-size:13px;line-height:1.75;white-space:pre-wrap;word-break:break-word}.state-empty[data-v-7d58267a],.state-error[data-v-7d58267a],.state-success[data-v-7d58267a]{padding:14px;border-radius:8px;font-size:13px;text-align:center}.state-empty[data-v-7d58267a]{color:var(--text-secondary);background:var(--bg-card-muted)}.state-empty.large[data-v-7d58267a]{min-height:320px;display:grid;place-items:center}.state-error[data-v-7d58267a]{color:#b91c1c;background:var(--danger-soft)}.state-success[data-v-7d58267a]{color:#047857;background:var(--success-soft)}@media(max-width:900px){.reports-shell[data-v-7d58267a]{grid-template-columns:1fr}}@media(max-width:640px){.page-head[data-v-7d58267a],.preview-head[data-v-7d58267a]{flex-direction:column}.actions[data-v-7d58267a]{width:100%}.actions button[data-v-7d58267a]{flex:1}}.assistant-section[data-v-c294f0bc]{display:flex;flex-direction:column;gap:12px}.messages[data-v-c294f0bc]{min-height:160px;max-height:360px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:12px;background:linear-gradient(180deg,#f8fafcf5,#f3f7fc);border:1px solid rgba(229,231,235,.9);border-radius:16px}.message[data-v-c294f0bc]{max-width:88%;display:grid;gap:4px}.message.user[data-v-c294f0bc]{align-self:flex-end}.message.assistant[data-v-c294f0bc]{align-self:flex-start}.message-role[data-v-c294f0bc]{color:var(--text-secondary);font-size:12px}.message pre[data-v-c294f0bc]{margin:0;padding:12px 14px;border-radius:14px;white-space:pre-wrap;word-break:break-word;font-family:inherit;font-size:13px;line-height:1.7}.message.user pre[data-v-c294f0bc]{background:linear-gradient(135deg,var(--brand-color) 0%,var(--brand-color-strong) 100%);color:#fff;box-shadow:0 18px 30px -24px #2563ebe0}.message.assistant pre[data-v-c294f0bc]{background:#fffffff5;color:var(--text-primary);border:1px solid rgba(229,231,235,.85)}.assistant-empty[data-v-c294f0bc]{margin:auto;color:var(--text-secondary);font-size:13px;text-align:center;line-height:1.7}.ask-row[data-v-c294f0bc]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.ask-row textarea[data-v-c294f0bc]{resize:vertical;min-height:54px;max-height:140px;padding:12px 14px;border:1px solid rgba(229,231,235,.9);border-radius:14px;font-size:13px;font-family:inherit;background:#fffffffa;transition:border-color .18s ease,box-shadow .18s ease}.ask-row textarea[data-v-c294f0bc]:focus{border-color:#2563eb99;box-shadow:0 0 0 4px #2563eb1f}.quick-prompts[data-v-c294f0bc]{display:flex;flex-wrap:wrap;gap:8px}.quick-prompts button[data-v-c294f0bc]{min-height:34px;padding:0 12px;background:#fffffff5;color:var(--text-secondary);border:1px solid rgba(148,163,184,.18);border-radius:999px;font-size:12px;font-weight:600;transition:border-color .18s ease,color .18s ease,transform .18s ease}.quick-prompts button[data-v-c294f0bc]:hover{transform:translateY(-1px);border-color:#2563eb3d;color:var(--brand-color-strong)}.quick-prompts button[data-v-c294f0bc]:disabled{opacity:.6}.ai-section[data-v-9062bcc7],.ai-section[data-v-ee6878ff],.insight-section[data-v-ad76def7]{display:flex;flex-direction:column;gap:12px}.insight-body[data-v-ad76def7]{display:grid;gap:12px}.score-row[data-v-ad76def7]{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;align-items:center}.score-pill[data-v-ad76def7]{min-height:84px;display:grid;place-items:center;align-content:center;gap:4px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px}.score-pill strong[data-v-ad76def7]{font-size:30px;line-height:1}.score-pill span[data-v-ad76def7]{color:#6b7280;font-size:12px}.score-pill.excellent strong[data-v-ad76def7],.score-pill.good strong[data-v-ad76def7]{color:#0f8f5f}.score-pill.watch strong[data-v-ad76def7]{color:#b45309}.score-pill.danger strong[data-v-ad76def7]{color:#c62828}.score-row p[data-v-ad76def7]{margin:0;color:#374151;font-size:13px;line-height:1.7}.tag-grid[data-v-ad76def7]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tag-item[data-v-ad76def7]{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 8px;align-items:start;padding:12px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px}.tag-item strong[data-v-ad76def7]{color:#111827;font-size:14px}.tag-item small[data-v-ad76def7]{grid-column:2;color:#6b7280;font-size:12px;line-height:1.6}.level-dot[data-v-ad76def7]{min-width:28px;padding:2px 6px;border-radius:999px;font-size:12px;text-align:center}.level-dot.high[data-v-ad76def7]{background:#ffebee;color:#c62828}.level-dot.middle[data-v-ad76def7]{background:#fff7ed;color:#b45309}.level-dot.low[data-v-ad76def7]{background:#edf7ed;color:#2e7d32}.action-box[data-v-ad76def7]{padding:12px;background:#fbfcfd;border:1px solid #e5e7eb;border-radius:8px}.action-box h4[data-v-ad76def7]{margin:0 0 8px;font-size:14px}.action-box ul[data-v-ad76def7]{margin:0;padding-left:18px;color:#4b5563;font-size:13px;line-height:1.7}@media(max-width:768px){.score-row[data-v-ad76def7],.tag-grid[data-v-ad76def7]{grid-template-columns:1fr}.tag-item small[data-v-ad76def7]{grid-column:1 / -1}}.ai-section[data-v-2fe587a0]{display:flex;flex-direction:column;gap:12px}.ai-tabbar[data-v-b020bbd5]{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:6px;border-radius:18px;background:linear-gradient(180deg,#f8fafcf5,#f1f5f9f5);border:1px solid rgba(226,232,240,.95)}.ai-tab[data-v-b020bbd5]{min-height:42px;padding:0 12px;border-radius:13px;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:700;letter-spacing:.01em;border:1px solid transparent;box-shadow:none;transition:transform .18s ease,background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease}.ai-tab[data-v-b020bbd5]:hover{transform:translateY(-1px);color:var(--text-primary);background:#ffffffc7;border-color:#94a3b838}.ai-tab.active[data-v-b020bbd5]{color:var(--brand-color-strong);background:linear-gradient(180deg,#fffffffa,#f8fafcfa);border-color:#2563eb2e;box-shadow:0 14px 24px -20px #0f172a47}.ai-chip-highlight[data-v-b020bbd5]{background:linear-gradient(135deg,#2563eb1a,#60a5fa14),#fff;color:var(--brand-color-strong);border-color:#2563eb29;box-shadow:0 10px 18px -16px #2563eb73}@media(max-width:900px){.ai-tabbar[data-v-b020bbd5]{grid-template-columns:repeat(2,minmax(0,1fr))}}.position-info[data-v-989fa927]{background:var(--bg-card);border:1px solid rgba(229,231,235,.85);border-radius:var(--radius-md);padding:18px;margin-bottom:14px;box-shadow:var(--shadow-sm)}.pos-row[data-v-989fa927]{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;align-items:stretch}.pos-item[data-v-989fa927]{display:flex;flex-direction:column;justify-content:center;gap:6px;min-height:92px;padding:14px 16px;border:1px solid rgba(229,231,235,.85);border-radius:14px;background:var(--bg-card-muted)}.label[data-v-989fa927]{font-size:12px;color:var(--text-secondary)}.value[data-v-989fa927]{font-size:18px;font-weight:700;color:var(--text-primary)}.positive[data-v-989fa927]{color:var(--up-color)}.negative[data-v-989fa927]{color:var(--down-color)}.refresh-btn[data-v-989fa927]{min-height:42px;padding:0 14px;background:var(--brand-color);color:#fff;border-radius:10px;font-size:13px;font-weight:600;transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease}.refresh-btn[data-v-989fa927]:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px);box-shadow:0 14px 24px -20px #2563ebf2}.refresh-btn[data-v-989fa927]:disabled{opacity:.6}.no-position[data-v-989fa927]{margin-top:8px;font-size:13px;color:var(--text-secondary)}.loading[data-v-989fa927],.error[data-v-989fa927]{padding:8px 0;font-size:14px;color:var(--text-secondary)}.error[data-v-989fa927]{color:var(--up-color)}@media(max-width:768px){.pos-row[data-v-989fa927]{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.value[data-v-989fa927]{font-size:14px}}.chart-wrapper[data-v-3b183b7b]{background:var(--bg-card);border:1px solid rgba(229,231,235,.85);border-radius:var(--radius-md);padding:18px;margin-bottom:14px;box-shadow:var(--shadow-md)}.chart-toolbar[data-v-3b183b7b]{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.toggle[data-v-3b183b7b]{display:flex;align-items:center;gap:8px;min-height:34px;padding:0 12px;border:1px solid rgba(229,231,235,.85);border-radius:999px;background:var(--bg-card-muted);color:var(--text-secondary);font-size:13px;-webkit-user-select:none;user-select:none;transition:border-color .18s ease,color .18s ease,background-color .18s ease}.toggle[data-v-3b183b7b]:hover{border-color:#2563eb3d;color:var(--brand-color)}.toggle input[data-v-3b183b7b]{cursor:pointer;accent-color:var(--brand-color)}.chart-container[data-v-3b183b7b]{width:100%;height:420px;border-radius:12px}.chart-loading[data-v-3b183b7b],.chart-error[data-v-3b183b7b]{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-secondary);font-size:14px}.chart-error[data-v-3b183b7b]{color:var(--up-color)}@media(max-width:768px){.chart-container[data-v-3b183b7b]{height:300px}}.detail-page[data-v-24b5d73a]{display:flex;flex-direction:column;gap:14px}.page-head[data-v-24b5d73a]{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px;background:var(--bg-card);border:1px solid rgba(229,231,235,.85);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.page-head p[data-v-24b5d73a]{margin:0 0 4px;color:var(--text-secondary);font-size:12px;text-transform:uppercase;letter-spacing:.06em}.page-head h2[data-v-24b5d73a]{margin:0;color:var(--text-primary);font-size:20px}.page-head a[data-v-24b5d73a]{min-height:40px;padding:10px 16px;background:var(--brand-color);color:#fff;border-radius:10px;font-size:13px;font-weight:600;text-decoration:none;transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease}.page-head a[data-v-24b5d73a]:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 14px 24px -20px #2563ebf2}.placeholder[data-v-24b5d73a]{min-height:360px;display:grid;place-items:center;gap:8px;align-content:center;background:var(--bg-card);border:1px solid rgba(229,231,235,.85);border-radius:var(--radius-md);color:var(--text-secondary);box-shadow:var(--shadow-sm)}.placeholder h2[data-v-24b5d73a]{color:var(--text-primary)}.trade-section[data-v-af69602a]{display:flex;flex-direction:column;gap:12px}.trade-panel[data-v-af69602a],.trade-list-panel[data-v-af69602a]{background:var(--bg-card);border:1px solid rgba(229,231,235,.85);border-radius:var(--radius-md);padding:18px;box-shadow:var(--shadow-sm)}.section-title[data-v-af69602a]{margin:0 0 14px;font-size:16px;font-weight:700;color:var(--text-primary)}.ai-trade-parser[data-v-af69602a]{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr) auto;gap:10px;align-items:stretch;margin-bottom:12px}.parser-copy[data-v-af69602a]{display:grid;align-content:start;gap:8px;padding:12px 14px;border-radius:14px;background:linear-gradient(180deg,#2563eb0d,#2563eb00);border:1px solid rgba(37,99,235,.1)}.parser-copy p[data-v-af69602a]{margin:0;color:var(--text-secondary);font-size:12px;line-height:1.7}.ai-trade-parser textarea[data-v-af69602a]{resize:vertical;min-height:68px;max-height:132px;padding:12px 14px;border:1px solid var(--border-light);border-radius:14px;font-size:13px;color:var(--text-primary);background:linear-gradient(180deg,#fffffffa,#f8fafcfa);font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease}.ai-trade-parser textarea[data-v-af69602a]:focus{border-color:var(--brand-color);box-shadow:0 0 0 4px #2563eb1f}.btn-ai[data-v-af69602a]{min-width:112px}.parse-message[data-v-af69602a],.parse-error[data-v-af69602a]{margin:0 0 10px;font-size:12px;line-height:1.5}.parse-message[data-v-af69602a],.parse-error[data-v-af69602a]{color:inherit}.form-row[data-v-af69602a]{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.form-row input[data-v-af69602a],.form-row select[data-v-af69602a]{min-height:40px;padding:0 12px;border:1px solid var(--border-light);border-radius:10px;font-size:13px;color:var(--text-primary);background:var(--bg-card);transition:border-color .2s ease,box-shadow .2s ease}.form-row input[data-v-af69602a]:focus,.form-row select[data-v-af69602a]:focus{border-color:var(--brand-color);box-shadow:0 0 0 4px #2563eb1f}.btn-primary[data-v-af69602a]{min-height:40px;padding:0 18px;background:var(--brand-color);color:#fff;border-radius:10px;font-size:13px;font-weight:600;transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease}.btn-primary[data-v-af69602a]:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px);box-shadow:0 14px 24px -20px #2563ebf2}.btn-primary[data-v-af69602a]:disabled{opacity:.6}.btn-cancel[data-v-af69602a]{min-height:40px;padding:0 14px;background:var(--bg-card-muted);color:var(--text-secondary);border:1px solid var(--border-light);border-radius:10px;font-size:13px;font-weight:600}.trade-table[data-v-af69602a]{width:100%;border-collapse:collapse;font-size:13px}.trade-table th[data-v-af69602a],.trade-table td[data-v-af69602a]{padding:11px 10px;text-align:left;border-bottom:1px solid rgba(229,231,235,.8)}.trade-table th[data-v-af69602a]{font-weight:600;color:var(--text-secondary);background:var(--bg-card-muted)}.trade-table tbody tr[data-v-af69602a]{transition:background-color .18s ease}.trade-table tbody tr[data-v-af69602a]:hover{background:#f8fafc}.tag-buy[data-v-af69602a]{color:var(--up-color);font-weight:600}.tag-sell[data-v-af69602a]{color:var(--down-color);font-weight:600}.tag-low[data-v-af69602a]{color:#fb8c00;font-weight:600}.tag-high[data-v-af69602a]{color:#8e24aa;font-weight:600}.btn-sm[data-v-af69602a]{min-height:30px;padding:0 10px;border:1px solid var(--border-light);background:var(--bg-card);border-radius:8px;font-size:12px;margin-right:4px;transition:color .18s ease,border-color .18s ease,background-color .18s ease}.btn-sm[data-v-af69602a]:hover{color:var(--brand-color);border-color:#2563eb4d;background:#2563eb0a}.btn-danger[data-v-af69602a]{color:var(--up-color);border-color:#ef444438}.btn-danger[data-v-af69602a]:hover{color:#b91c1c;background:var(--danger-soft)}.trade-loading[data-v-af69602a],.trade-empty[data-v-af69602a]{padding:20px;text-align:center;color:var(--text-secondary);font-size:14px}.input-date[data-v-af69602a]{width:130px}@media(max-width:768px){.ai-trade-parser[data-v-af69602a]{grid-template-columns:1fr}.btn-ai[data-v-af69602a]{min-height:36px}.form-row[data-v-af69602a]{flex-direction:column}.form-row input[data-v-af69602a],.form-row select[data-v-af69602a],.form-row button[data-v-af69602a]{width:100%}.trade-table[data-v-af69602a]{font-size:12px}.trade-table th[data-v-af69602a],.trade-table td[data-v-af69602a]{padding:6px 4px}}.trades-page[data-v-49d0c48e]{display:flex;flex-direction:column;gap:14px}.page-head[data-v-49d0c48e]{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px;background:var(--bg-card);border:1px solid rgba(229,231,235,.85);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.page-head p[data-v-49d0c48e]{margin:0 0 4px;color:var(--text-secondary);font-size:12px;text-transform:uppercase;letter-spacing:.06em}.page-head h2[data-v-49d0c48e]{margin:0;color:var(--text-primary);font-size:20px}.page-head select[data-v-49d0c48e]{min-width:240px;min-height:40px;padding:0 12px;border:1px solid var(--border-light);border-radius:10px;background:var(--bg-card);font-size:13px;transition:border-color .2s ease,box-shadow .2s ease}.page-head select[data-v-49d0c48e]:focus{border-color:var(--brand-color);box-shadow:0 0 0 4px #2563eb1f}.placeholder[data-v-49d0c48e]{min-height:360px;display:grid;place-items:center;gap:8px;align-content:center;background:var(--bg-card);border:1px solid rgba(229,231,235,.85);border-radius:var(--radius-md);color:var(--text-secondary);box-shadow:var(--shadow-sm)}.placeholder h2[data-v-49d0c48e]{color:var(--text-primary)}@media(max-width:720px){.page-head[data-v-49d0c48e]{flex-direction:column}.page-head select[data-v-49d0c48e]{width:100%;min-width:0}}.holdings-page[data-v-449b5e80]{display:flex;flex-direction:column;gap:14px}.page-head[data-v-449b5e80]{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px;background:var(--bg-card);border:1px solid rgba(229,231,235,.85);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.page-head p[data-v-449b5e80]{margin:0 0 4px;color:var(--text-secondary);font-size:12px;text-transform:uppercase;letter-spacing:.06em}.page-head h2[data-v-449b5e80]{margin:0;color:var(--text-primary);font-size:20px}.meta-pill[data-v-449b5e80]{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:999px;background:var(--brand-color-soft);color:var(--brand-color-strong);font-size:13px;font-weight:600}.holdings-panel[data-v-449b5e80]{background:var(--bg-card);border:1px solid rgba(229,231,235,.85);border-radius:var(--radius-md);padding:18px;box-shadow:var(--shadow-sm)}.holding-grid[data-v-449b5e80]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.holding-card[data-v-449b5e80]{display:grid;gap:14px;padding:18px;background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid rgba(229,231,235,.9);border-radius:16px;text-align:left;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.holding-card[data-v-449b5e80]:hover{transform:translateY(-1px);border-color:#2563eb38;box-shadow:0 18px 34px -26px #0f172a38}.holding-top[data-v-449b5e80]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.holding-top strong[data-v-449b5e80]{display:block;color:var(--text-primary);font-size:16px}.holding-top small[data-v-449b5e80]{color:var(--text-secondary);font-size:12px}.holding-market[data-v-449b5e80]{display:inline-flex;min-height:28px;align-items:center;padding:0 10px;border-radius:999px;background:var(--bg-card-muted);color:var(--text-secondary);font-size:12px}.holding-metrics[data-v-449b5e80]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.holding-metrics div[data-v-449b5e80]{display:grid;gap:4px}.holding-metrics span[data-v-449b5e80]{color:var(--text-secondary);font-size:12px}.holding-metrics strong[data-v-449b5e80]{font-size:15px}.positive[data-v-449b5e80]{color:var(--up-color)}.negative[data-v-449b5e80]{color:var(--down-color)}.state-empty[data-v-449b5e80],.state-error[data-v-449b5e80]{padding:18px;border-radius:14px;text-align:center}.state-empty[data-v-449b5e80]{color:var(--text-secondary);background:var(--bg-card-muted)}.state-empty.large[data-v-449b5e80]{min-height:260px;display:grid;place-items:center}.state-error[data-v-449b5e80]{color:#b91c1c;background:var(--danger-soft)}@media(max-width:860px){.holding-grid[data-v-449b5e80]{grid-template-columns:1fr}}:root{--bg-body: #f5f7fa;--bg-body-elevated: #eef3f9;--bg-card: #ffffff;--bg-card-muted: #f8fafc;--bg-card-strong: #f3f7fc;--bg-dark: #1e293b;--bg-dark-elevated: #273449;--text-primary: #1f2937;--text-secondary: #6b7280;--text-muted: #94a3b8;--text-on-dark: #f8fafc;--brand-color: #2563eb;--brand-color-strong: #1d4ed8;--brand-accent: #60a5fa;--brand-color-soft: rgba(37, 99, 235, .12);--up-color: #ef4444;--down-color: #10b981;--warning-color: #f97316;--danger-soft: #fef2f2;--success-soft: #ecfdf5;--warning-soft: #fff7ed;--border-light: #e5e7eb;--border-strong: #cbd5e1;--shadow-sm: 0 1px 2px 0 rgba(15, 23, 42, .05);--shadow-md: 0 12px 32px -16px rgba(15, 23, 42, .28);--shadow-lg: 0 28px 60px -34px rgba(15, 23, 42, .4);--radius-sm: 10px;--radius-md: 16px;--radius-lg: 20px;--font-sans: "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Microsoft YaHei", sans-serif;--font-mono: "Roboto Mono", "SFMono-Regular", "DIN Alternate", "Consolas", "Liberation Mono", monospace}*,*:before,*:after{box-sizing:border-box}html{min-height:100%;font-size:16px}body{min-height:100vh;margin:0;background:radial-gradient(circle at top left,rgba(37,99,235,.08),transparent 24%),radial-gradient(circle at right 18%,rgba(148,163,184,.12),transparent 24%),linear-gradient(180deg,#f8fafc 0%,var(--bg-body) 100%);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-variant-numeric:tabular-nums}body,button,input,select,textarea{font-family:inherit}#app{min-height:100vh}a{color:inherit}button,input,select,textarea{border:0;outline:none;background:none}button{color:inherit}button,select{cursor:pointer}button:disabled,select:disabled,input:disabled,textarea:disabled{cursor:not-allowed}input::placeholder,textarea::placeholder{color:var(--text-muted)}::selection{background:#2563eb2e}.numeric{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.page-fade-enter-active,.page-fade-leave-active{transition:opacity .22s ease,transform .22s ease}.page-fade-enter-from,.page-fade-leave-to{opacity:0;transform:translateY(6px)}.ai-card{display:flex;flex-direction:column;gap:14px;padding:20px;background:linear-gradient(180deg,#fff,#fbfdff);border:1px solid rgba(229,231,235,.9);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.ai-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.ai-card-copy{display:grid;gap:6px}.ai-kicker{display:inline-flex;align-items:center;width:fit-content;min-height:24px;padding:0 10px;border-radius:999px;background:#2563eb17;color:var(--brand-color-strong);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.ai-card-copy h2,.ai-card-copy h3{margin:0;color:var(--text-primary)}.ai-card-desc{margin:0;color:var(--text-secondary);font-size:13px;line-height:1.65}.ai-action-btn,.ai-ghost-btn{flex-shrink:0;min-height:40px;padding:0 16px;border-radius:12px;font-size:13px;font-weight:600;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,color .18s ease,border-color .18s ease}.ai-action-btn{background:linear-gradient(135deg,var(--brand-color) 0%,var(--brand-color-strong) 100%);color:#fff;box-shadow:0 14px 24px -20px #2563ebf2}.ai-action-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 20px 30px -24px #2563ebf2}.ai-ghost-btn{border:1px solid rgba(148,163,184,.32);background:#ffffffd1;color:var(--text-secondary)}.ai-ghost-btn:hover:not(:disabled){transform:translateY(-1px);color:var(--brand-color-strong);border-color:#2563eb38}.ai-action-btn:disabled,.ai-ghost-btn:disabled{opacity:.6}.ai-report-block{margin:0;padding:16px 18px;border:1px solid rgba(229,231,235,.9);border-radius:14px;background:linear-gradient(180deg,#2563eb05,#2563eb00),var(--bg-card-muted);color:var(--text-primary);font-size:13px;line-height:1.8;white-space:pre-wrap;word-break:break-word;font-family:inherit}.ai-empty-state,.ai-error-state,.ai-success-state{padding:16px 18px;border-radius:14px;font-size:13px;line-height:1.7}.ai-empty-state{border:1px dashed rgba(148,163,184,.32);background:linear-gradient(180deg,#f8fafce6,#f8fafc);color:var(--text-secondary);text-align:center}.ai-error-state{border:1px solid rgba(239,68,68,.16);background:var(--danger-soft);color:#b91c1c}.ai-success-state{border:1px solid rgba(16,185,129,.16);background:var(--success-soft);color:#047857}.ai-chip-row{display:flex;flex-wrap:wrap;gap:8px}.ai-chip{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;background:#fffffff0;border:1px solid rgba(148,163,184,.18);color:var(--text-secondary);font-size:12px;font-weight:600}.ai-chip-clickable{min-height:38px;padding:0 14px;border-radius:999px;box-shadow:var(--shadow-sm)}@media(max-width:768px){.ai-card-head{flex-direction:column}}
