.login-page[data-v-9c77db11]{background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 50%,#bfdbfe 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-container[data-v-9c77db11]{background:#fff;border:1px solid #e5e7eb;border-radius:16px;width:400px;padding:48px 40px;box-shadow:0 4px 24px #00000014}.login-header[data-v-9c77db11]{text-align:center;margin-bottom:36px}.logo-icon[data-v-9c77db11]{margin-bottom:16px;font-size:48px}.login-header h1[data-v-9c77db11]{color:#111827;margin:0 0 8px;font-size:24px;font-weight:700}.login-header p[data-v-9c77db11]{color:#6b7280;margin:0;font-size:14px}.login-form[data-v-9c77db11]{flex-direction:column;gap:20px;display:flex}.form-group[data-v-9c77db11]{flex-direction:column;gap:6px;display:flex}.form-group label[data-v-9c77db11]{color:#374151;font-size:14px;font-weight:500}.form-group input[data-v-9c77db11]{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:8px;outline:none;padding:12px 16px;font-size:15px;transition:border-color .2s,box-shadow .2s}.form-group input[data-v-9c77db11]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group input[data-v-9c77db11]::placeholder{color:#9ca3af}.error-msg[data-v-9c77db11]{color:#dc2626;text-align:center;font-size:13px}.success-msg[data-v-9c77db11]{color:#059669;text-align:center;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;margin-bottom:16px;padding:10px 12px;font-size:13px}.login-btn[data-v-9c77db11]{color:#fff;letter-spacing:2px;cursor:pointer;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;margin-top:4px;padding:12px;font-size:15px;font-weight:600;transition:opacity .2s,transform .1s}.login-btn[data-v-9c77db11]:hover{opacity:.9}.login-btn[data-v-9c77db11]:disabled{opacity:.6;cursor:not-allowed}.login-btn[data-v-9c77db11]:active{transform:scale(.98)}.sidebar[data-v-78f7fc65]{background:#fff;border-right:1px solid #e5e7eb;flex-direction:column;flex-shrink:0;width:240px;height:100vh;display:flex;overflow-y:auto}.sidebar-brand[data-v-78f7fc65]{border-bottom:1px solid #e5e7eb;align-items:center;gap:12px;padding:20px;display:flex}.brand-icon[data-v-78f7fc65]{font-size:28px}.brand-text[data-v-78f7fc65]{color:#111827;letter-spacing:.5px;font-size:18px;font-weight:700}.sidebar-nav[data-v-78f7fc65]{flex-direction:column;flex:1;gap:2px;padding:12px 0;display:flex}.nav-group[data-v-78f7fc65]{flex-direction:column;display:flex}.nav-item[data-v-78f7fc65]{color:#111827;cursor:pointer;letter-spacing:.3px;-webkit-user-select:none;user-select:none;border-radius:0;align-items:center;gap:12px;padding:10px 16px;font-size:14px;font-weight:600;transition:background .15s;display:flex}.nav-item[data-v-78f7fc65]:hover{background:#f3f4f6}.nav-item.active[data-v-78f7fc65]{color:#111827;background:0 0}.nav-icon[data-v-78f7fc65]{flex-shrink:0;font-size:18px}.nav-arrow[data-v-78f7fc65]{color:#9ca3af;margin-left:auto;font-size:14px;transition:transform .2s}.nav-arrow.open[data-v-78f7fc65]{transform:rotate(90deg)}.nav-sub[data-v-78f7fc65]{max-height:0;transition:max-height .25s;overflow:hidden}.nav-sub.open[data-v-78f7fc65]{max-height:240px}.nav-sub-item[data-v-78f7fc65]{color:#111827;letter-spacing:.2px;cursor:pointer;border-radius:0;padding:8px 16px 8px 48px;font-size:13px;font-weight:400;transition:background .15s}.nav-sub-item[data-v-78f7fc65]:hover{background:#e5e7eb}.nav-sub-item.active[data-v-78f7fc65]{color:#111827;background:0 0}.nav-sub-item.active[data-v-78f7fc65]:hover{background:#e5e7eb}.sidebar-footer[data-v-78f7fc65]{border-top:1px solid #e5e7eb;padding:16px 12px}.user-info[data-v-78f7fc65]{align-items:center;gap:10px;margin-bottom:12px;padding:0 8px;display:flex}.user-avatar[data-v-78f7fc65]{color:#fff;background:#374151;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:600;display:flex}.user-name[data-v-78f7fc65]{color:#374151;font-size:13px;font-weight:500}.logout-btn[data-v-78f7fc65]{color:#6b7280;cursor:pointer;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:0;width:100%;padding:10px;font-size:13px;font-weight:500;transition:background .15s,color .15s}.logout-btn[data-v-78f7fc65]:hover{color:#374151;background:#e5e7eb}.dashboard-layout[data-v-a1ba1bb3]{background:#f9fafb;width:100%;min-width:0;height:100vh;display:flex;overflow:hidden}.main-content[data-v-a1ba1bb3]{flex:1;min-width:0;overflow-y:auto}.dashboard[data-v-8d5a87a2]{height:100%;padding:16px}.page-header[data-v-8d5a87a2]{margin-bottom:16px}.page-header h1[data-v-8d5a87a2]{color:#111827;margin:0 0 4px;font-size:28px;font-weight:700}.greeting[data-v-8d5a87a2]{color:#6b7280;margin:0;font-size:15px}.stats-grid[data-v-8d5a87a2]{grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:20px;display:grid}.stat-card[data-v-8d5a87a2]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;align-items:flex-start;gap:16px;padding:24px;display:flex}.stat-icon[data-v-8d5a87a2]{font-size:32px}.stat-info[data-v-8d5a87a2]{flex-direction:column;gap:4px;display:flex}.stat-label[data-v-8d5a87a2]{color:#6b7280;font-size:13px}.stat-value[data-v-8d5a87a2]{color:#111827;letter-spacing:.5px;font-size:24px;font-weight:700}.stat-change[data-v-8d5a87a2]{font-size:13px}.stat-change.up[data-v-8d5a87a2]{color:#16a34a}.stat-change.down[data-v-8d5a87a2]{color:#dc2626}.up[data-v-8d5a87a2]{color:#16a34a}.down[data-v-8d5a87a2]{color:#dc2626}.content-grid[data-v-8d5a87a2]{grid-template-columns:1fr 1fr;gap:20px;display:grid}.card[data-v-8d5a87a2]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px}.card h2[data-v-8d5a87a2]{color:#111827;margin:0 0 20px;font-size:18px;font-weight:600}.stock-table[data-v-8d5a87a2]{border-collapse:collapse;width:100%}.stock-table th[data-v-8d5a87a2]{color:#6b7280;text-align:left;border-bottom:1px solid #e5e7eb;padding:8px 0;font-size:13px;font-weight:500}.stock-table td[data-v-8d5a87a2]{color:#374151;border-bottom:1px solid #f3f4f6;padding:10px 0;font-size:14px}.stock-table .code[data-v-8d5a87a2]{color:#2563eb;font-weight:600}.news-list[data-v-8d5a87a2]{flex-direction:column;gap:12px;display:flex}.news-item[data-v-8d5a87a2]{align-items:flex-start;gap:12px;display:flex}.news-time[data-v-8d5a87a2]{color:#9ca3af;flex-shrink:0;min-width:50px;font-size:13px}.news-text[data-v-8d5a87a2]{color:#374151;font-size:14px;line-height:1.4}.etf-page[data-v-7784e3f4]{height:100%;padding:16px}.page-header[data-v-7784e3f4]{margin-bottom:8px}.page-header h1[data-v-7784e3f4]{color:#111827;margin:0;font-size:28px;font-weight:700}.card[data-v-7784e3f4]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px;overflow-x:auto}.etf-table[data-v-7784e3f4]{border-collapse:collapse;white-space:nowrap;width:100%}.etf-table th[data-v-7784e3f4]{color:#6b7280;text-align:left;border-bottom:1px solid #e5e7eb;padding:8px 12px;font-size:13px;font-weight:500}.etf-table tbody tr[data-v-7784e3f4]{transition:background-color .15s}.etf-table tbody tr.hover[data-v-7784e3f4]{background-color:#f0f5ff}.etf-table tbody tr.selected[data-v-7784e3f4]{background-color:#dbeafe}.etf-table td[data-v-7784e3f4]{color:#374151;border-bottom:1px solid #f3f4f6;padding:10px 12px;font-size:14px}.etf-table .code[data-v-7784e3f4]{color:#2563eb;font-weight:600}.etf-table td.up[data-v-7784e3f4]{color:#dc2626}.etf-table td.down[data-v-7784e3f4]{color:#16a34a}.etf-table th[data-v-7784e3f4]:nth-child(9),.etf-table td[data-v-7784e3f4]:nth-child(9){text-align:right;font-variant-numeric:tabular-nums;width:96px}.toggle-btn[data-v-7784e3f4]{cursor:pointer;border:none;border-radius:4px;padding:4px 12px;font-size:12px;font-weight:500;transition:opacity .2s;display:inline-block}.toggle-btn[data-v-7784e3f4]:hover{opacity:.8}.toggle-btn.active[data-v-7784e3f4]{color:#dc2626;background:#fee2e2}.toggle-btn.inactive[data-v-7784e3f4]{color:#9ca3af;background:#f3f4f6}.link-btns[data-v-7784e3f4]{gap:6px;display:flex}.link-btn[data-v-7784e3f4]{color:#111827;cursor:pointer;background:#d1d5db;border-radius:4px;padding:4px 10px;font-size:12px;font-weight:400;text-decoration:none;transition:opacity .2s;display:inline-block}.link-btn[data-v-7784e3f4]:hover{opacity:.8}.loading[data-v-7784e3f4]{text-align:center;color:#6b7280;padding:48px 0;font-size:15px}.error-msg[data-v-7784e3f4]{color:#dc2626;text-align:center;padding:48px 0;font-size:14px}.show-btn[data-v-7784e3f4]{color:#fff;background:#2563eb}.drawer-overlay[data-v-7784e3f4]{z-index:900;opacity:0;pointer-events:none;background:#0000004d;transition:opacity .3s;position:fixed;inset:0}.drawer-overlay.open[data-v-7784e3f4]{opacity:1;pointer-events:auto}.drawer[data-v-7784e3f4]{z-index:910;background:#fff;flex-direction:column;width:800px;max-width:90vw;height:100vh;transition:transform .3s;display:flex;position:fixed;top:0;right:0;transform:translate(100%);box-shadow:-2px 0 12px #00000026}.drawer.open[data-v-7784e3f4]{transform:translate(0)}.drawer-header[data-v-7784e3f4]{border-bottom:1px solid #e5e7eb;flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.drawer-header h2[data-v-7784e3f4]{color:#111827;margin:0;font-size:18px;font-weight:600}.drawer-close[data-v-7784e3f4]{color:#6b7280;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:20px}.drawer-close[data-v-7784e3f4]:hover{color:#111827}.drawer-body[data-v-7784e3f4]{flex:1;padding:16px 20px;overflow-y:auto}.constituent-record[data-v-7784e3f4]{margin-bottom:24px}.record-date[data-v-7784e3f4]{color:#6b7280;margin-bottom:8px;font-size:13px}.constituent-record h3[data-v-7784e3f4]{color:#374151;margin:12px 0 6px;font-size:15px;font-weight:600}.sub-table[data-v-7784e3f4]{border-collapse:collapse;white-space:nowrap;width:100%;font-size:14px}.sub-table th[data-v-7784e3f4]{color:#6b7280;text-align:left;border-bottom:1px solid #e5e7eb;padding:8px 12px;font-size:13px;font-weight:500}.sub-table td[data-v-7784e3f4]{color:#374151;border-bottom:1px solid #f3f4f6;padding:10px 12px;font-size:14px}.sub-table .code[data-v-7784e3f4]{color:#2563eb;font-weight:600}.sub-table td.up[data-v-7784e3f4]{color:#dc2626}.sub-table td.down[data-v-7784e3f4]{color:#16a34a}.stat-badge[data-v-7784e3f4]{color:#4338ca;cursor:default;background:#e0e7ff;border-radius:2px;margin-left:4px;padding:1px 6px;font-size:11px;font-weight:500;display:inline-block}.etf-constituent-page[data-v-f9620f63]{padding:16px}.page-header[data-v-f9620f63]{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.page-header h1[data-v-f9620f63]{color:#111827;margin:0 0 6px;font-size:28px;font-weight:700}.page-header p[data-v-f9620f63]{color:#6b7280;margin:0;font-size:14px}.header-meta[data-v-f9620f63]{color:#1d4ed8;white-space:nowrap;background:#eff6ff;border-radius:999px;padding:10px 14px;font-size:13px;font-weight:600}.card[data-v-f9620f63]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:16px;padding:16px}.toolbar-card[data-v-f9620f63]{padding:12px 16px}.search-input[data-v-f9620f63]{border:1px solid #d1d5db;border-radius:8px;outline:none;width:min(420px,100%);padding:10px 14px;font-size:14px}.search-input[data-v-f9620f63]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.table-card[data-v-f9620f63]{overflow-x:auto}.constituent-table[data-v-f9620f63]{border-collapse:collapse;width:100%}.constituent-table th[data-v-f9620f63],.constituent-table td[data-v-f9620f63]{text-align:left;vertical-align:top;border-bottom:1px solid #e5e7eb;padding:12px 10px}.constituent-table tbody tr[data-v-f9620f63]{transition:background-color .15s}.constituent-table tbody tr[data-v-f9620f63]:hover{background-color:#f0f5ff}.constituent-table th[data-v-f9620f63]:nth-child(3),.constituent-table th[data-v-f9620f63]:nth-child(4),.constituent-table th[data-v-f9620f63]:nth-child(5),.constituent-table th[data-v-f9620f63]:nth-child(6),.constituent-table th[data-v-f9620f63]:nth-child(7),.constituent-table th[data-v-f9620f63]:nth-child(8),.constituent-table th[data-v-f9620f63]:nth-child(9),.constituent-table th[data-v-f9620f63]:nth-child(10),.constituent-table td[data-v-f9620f63]:nth-child(3),.constituent-table td[data-v-f9620f63]:nth-child(4),.constituent-table td[data-v-f9620f63]:nth-child(5),.constituent-table td[data-v-f9620f63]:nth-child(6),.constituent-table td[data-v-f9620f63]:nth-child(7),.constituent-table td[data-v-f9620f63]:nth-child(8),.constituent-table td[data-v-f9620f63]:nth-child(9),.constituent-table td[data-v-f9620f63]:nth-child(10){text-align:right}.constituent-table th[data-v-f9620f63]{color:#6b7280;font-size:13px;font-weight:600}.constituent-table td[data-v-f9620f63]{color:#374151;font-size:14px}.code[data-v-f9620f63]{color:#2563eb;font-weight:700}.code-cell[data-v-f9620f63]{width:120px}.code-link[data-v-f9620f63]{color:#2563eb;cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-size:14px;font-weight:700}.code-link[data-v-f9620f63]:hover{text-decoration:underline}.constituent-table td[data-v-f9620f63]:first-child,.constituent-table td[data-v-f9620f63]:nth-child(2){text-align:left}.state-text[data-v-f9620f63]{color:#6b7280;padding:16px;font-size:14px}.state-text.error[data-v-f9620f63]{color:#dc2626}.detail-row td[data-v-f9620f63]{background:#f9fafb;padding:0}.detail-card[data-v-f9620f63]{box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;gap:10px;width:calc(100% - 20px);margin:12px 10px;padding:14px 16px;display:flex}.detail-title[data-v-f9620f63]{color:#111827;font-size:13px;font-weight:600}.detail-tags[data-v-f9620f63]{flex-wrap:wrap;gap:8px;display:flex}.detail-tag[data-v-f9620f63]{color:#3730a3;background:#e0e7ff;border-radius:999px;align-items:center;padding:5px 10px;font-size:12px;display:inline-flex}.change-up[data-v-f9620f63]{color:#dc2626;font-weight:600}.change-down[data-v-f9620f63]{color:#16a34a;font-weight:600}.change-flat[data-v-f9620f63]{color:#111827;font-weight:600}.settings-page[data-v-1f0ba363]{justify-content:center;align-items:flex-start;min-height:100%;padding:32px 24px;display:flex}.settings-card[data-v-1f0ba363]{background:#fff;border:1px solid #e5e7eb;border-radius:16px;width:min(560px,100%);padding:32px;box-shadow:0 4px 24px #0000000f}.page-header[data-v-1f0ba363]{margin-bottom:28px}.page-header h1[data-v-1f0ba363]{color:#111827;margin:0 0 8px;font-size:24px;font-weight:700}.page-header p[data-v-1f0ba363]{color:#6b7280;margin:0;font-size:14px;line-height:1.6}.password-form[data-v-1f0ba363]{flex-direction:column;gap:18px;display:flex}.form-group[data-v-1f0ba363]{flex-direction:column;gap:6px;display:flex}.form-group label[data-v-1f0ba363]{color:#374151;font-size:14px;font-weight:500}.form-group input[data-v-1f0ba363]{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:8px;outline:none;padding:12px 16px;font-size:15px;transition:border-color .2s,box-shadow .2s}.form-group input[data-v-1f0ba363]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group input[data-v-1f0ba363]::placeholder{color:#9ca3af}.error-msg[data-v-1f0ba363]{color:#dc2626;text-align:center;font-size:13px}.submit-btn[data-v-1f0ba363]{color:#fff;letter-spacing:1px;cursor:pointer;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;margin-top:6px;padding:12px;font-size:15px;font-weight:600;transition:opacity .2s,transform .1s}.submit-btn[data-v-1f0ba363]:hover{opacity:.9}.submit-btn[data-v-1f0ba363]:disabled{opacity:.6;cursor:not-allowed}.submit-btn[data-v-1f0ba363]:active{transform:scale(.98)}.drawer-overlay[data-v-54e4ba15]{opacity:0;pointer-events:none;z-index:40;background:#0f172a73;transition:opacity .2s;position:fixed;inset:0}.drawer-overlay.open[data-v-54e4ba15]{opacity:1;pointer-events:auto}.drawer[data-v-54e4ba15]{z-index:50;background:#f8fafc;flex-direction:column;width:min(980px,92vw);height:100vh;transition:transform .25s;display:flex;position:fixed;top:0;right:0;transform:translate(100%);box-shadow:-24px 0 48px #0f172a2e}.drawer.open[data-v-54e4ba15]{transform:translate(0)}.drawer-header[data-v-54e4ba15]{color:#f8fafc;background:linear-gradient(135deg,#0f172a,#1e293b);border-bottom:1px solid #94a3b833;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px;display:flex}.drawer-header h2[data-v-54e4ba15]{margin:0 0 6px;font-size:20px}.drawer-header p[data-v-54e4ba15]{color:#cbd5e1;margin:0;font-size:13px}.drawer-close[data-v-54e4ba15]{color:#fff;cursor:pointer;background:#ffffff1f;border:none;border-radius:999px;flex:none;width:36px;height:36px}.drawer-body[data-v-54e4ba15]{background:#f8fafc;flex:1;padding:16px 18px 24px;overflow:auto}.drawer-state[data-v-54e4ba15]{color:#475569;padding:24px 20px}.drawer-state.error[data-v-54e4ba15]{color:#dc2626}.summary-grid[data-v-54e4ba15]{grid-template-columns:minmax(0,1fr);gap:12px;margin-bottom:16px;display:grid}.summary-card[data-v-54e4ba15]{background:#fff;border:1px solid #e2e8f0;border-radius:14px;grid-template-columns:repeat(7,minmax(0,1fr));gap:16px;padding:14px 16px;display:grid}.summary-item[data-v-54e4ba15]{flex-direction:column;gap:8px;display:flex}.summary-item span[data-v-54e4ba15]{color:#64748b;font-size:12px}.summary-item strong[data-v-54e4ba15]{color:#0f172a;font-size:18px}.summary-item strong.change-up[data-v-54e4ba15]{color:#dc2626}.summary-item strong.change-down[data-v-54e4ba15]{color:#059669}.summary-item strong.change-flat[data-v-54e4ba15]{color:#111827}.chart-panel[data-v-54e4ba15],.tech-section[data-v-54e4ba15]{background:#fff;border:1px solid #e2e8f0;border-radius:14px;margin-bottom:14px;padding:14px}.section-title.compact[data-v-54e4ba15]{margin-bottom:10px}.section-title.compact h3[data-v-54e4ba15]{color:#0f172a;margin:0;font-size:16px}.section-title.compact span[data-v-54e4ba15]{color:#64748b;font-size:12px}.tech-chart[data-v-54e4ba15]{background:#fff;border:none;border-radius:12px;width:100%;height:320px;margin-top:10px}.tech-chart.short[data-v-54e4ba15]{height:220px}@media (width<=768px){.drawer[data-v-54e4ba15]{width:100vw}.summary-card[data-v-54e4ba15]{grid-template-columns:repeat(2,minmax(0,1fr))}.tech-chart[data-v-54e4ba15]{height:260px}.tech-chart.short[data-v-54e4ba15]{height:200px}}.modal-overlay[data-v-be835975]{z-index:1000;background:#0f172a8c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card[data-v-be835975]{background:#fff;border-radius:16px;width:min(520px,100%);overflow:hidden;box-shadow:0 20px 45px #0f172a33}.modal-header[data-v-be835975]{border-bottom:1px solid #e5e7eb;justify-content:space-between;gap:16px;padding:20px 20px 16px;display:flex}.modal-header h3[data-v-be835975]{color:#111827;margin:0 0 6px;font-size:20px;font-weight:700}.modal-header p[data-v-be835975]{color:#6b7280;margin:0;font-size:14px}.close-btn[data-v-be835975]{color:#6b7280;cursor:pointer;background:0 0;border:none;padding:0;font-size:18px}.modal-body[data-v-be835975]{flex-direction:column;gap:12px;padding:20px;display:flex}.field-group[data-v-be835975]{flex-direction:column;gap:8px;display:flex}.empty-msg[data-v-be835975]{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;padding:10px 12px;font-size:13px}.field-group label[data-v-be835975]{color:#374151;font-size:14px;font-weight:600}.field-group select[data-v-be835975]{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:10px;outline:none;padding:12px 14px;font-size:15px}.field-group select[data-v-be835975]:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.selection-hint[data-v-be835975]{color:#065f46;background:#ecfdf5;border:1px solid #d1fae5;border-radius:10px;padding:10px 12px;font-size:13px}.error-msg[data-v-be835975]{color:#dc2626;font-size:13px}.modal-footer[data-v-be835975]{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:12px;padding:16px 20px 20px;display:flex}.secondary-btn[data-v-be835975],.primary-btn[data-v-be835975]{cursor:pointer;border:none;border-radius:10px;padding:12px 18px;font-size:14px;font-weight:600}.secondary-btn[data-v-be835975]{color:#374151;background:#e5e7eb}.primary-btn[data-v-be835975]{color:#fff;background:linear-gradient(135deg,#10b981,#059669)}.primary-btn[data-v-be835975]:disabled{opacity:.6;cursor:not-allowed}.tracked-page[data-v-177ce678]{padding:16px}.page-header[data-v-177ce678]{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.page-header h1[data-v-177ce678]{color:#111827;margin:0 0 6px;font-size:28px;font-weight:700}.page-header p[data-v-177ce678]{color:#6b7280;margin:0;font-size:14px}.card[data-v-177ce678]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:16px;padding:20px}.list-card[data-v-177ce678]{overflow-x:auto}.add-form[data-v-177ce678]{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.form-group[data-v-177ce678]{flex-direction:column;flex:0 0 240px;gap:6px;display:flex}.form-group label[data-v-177ce678]{color:#374151;font-size:14px;font-weight:500}.form-group input[data-v-177ce678]{color:#111827;border:1px solid #d1d5db;border-radius:8px;outline:none;padding:12px 14px;font-size:15px}.form-group input[data-v-177ce678]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.add-btn[data-v-177ce678],.delete-btn[data-v-177ce678]{cursor:pointer;border:none;border-radius:8px;font-size:14px;font-weight:600}.add-btn[data-v-177ce678]{color:#fff;background:linear-gradient(135deg,#3b82f6,#2563eb);padding:12px 18px}.add-btn[data-v-177ce678]:disabled{opacity:.6;cursor:not-allowed}.member-add-btn[data-v-177ce678]{cursor:pointer;color:#fff;white-space:nowrap;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;margin-right:8px;padding:8px 12px;font-size:13px;font-weight:600}.member-add-btn[data-v-177ce678]:disabled{opacity:.6;cursor:not-allowed}.delete-btn[data-v-177ce678]{color:#b91c1c;background:#fee2e2;padding:8px 12px}.section-title[data-v-177ce678]{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.section-title h2[data-v-177ce678]{color:#111827;margin:0;font-size:18px}.section-title span[data-v-177ce678]{color:#6b7280;font-size:13px}.tracked-table[data-v-177ce678]{border-collapse:collapse;width:100%}.tracked-table th[data-v-177ce678],.tracked-table td[data-v-177ce678]{text-align:left;border-bottom:1px solid #e5e7eb;padding:12px 10px}.tracked-table tbody tr[data-v-177ce678]{transition:background-color .15s}.tracked-table tbody tr[data-v-177ce678]:hover{background-color:#f0f5ff}.tracked-table th[data-v-177ce678]{color:#6b7280;font-size:13px;font-weight:600}.tracked-table td[data-v-177ce678]{color:#374151;font-size:14px}.tracked-table th[data-v-177ce678],.tracked-table td[data-v-177ce678]{white-space:nowrap}.tracked-table th[data-v-177ce678]:nth-child(3),.tracked-table th[data-v-177ce678]:nth-child(4),.tracked-table th[data-v-177ce678]:nth-child(5),.tracked-table th[data-v-177ce678]:nth-child(6),.tracked-table th[data-v-177ce678]:nth-child(7),.tracked-table th[data-v-177ce678]:nth-child(8),.tracked-table th[data-v-177ce678]:nth-child(9),.tracked-table th[data-v-177ce678]:nth-child(10),.tracked-table td[data-v-177ce678]:nth-child(3),.tracked-table td[data-v-177ce678]:nth-child(4),.tracked-table td[data-v-177ce678]:nth-child(5),.tracked-table td[data-v-177ce678]:nth-child(6),.tracked-table td[data-v-177ce678]:nth-child(7),.tracked-table td[data-v-177ce678]:nth-child(8),.tracked-table td[data-v-177ce678]:nth-child(9),.tracked-table td[data-v-177ce678]:nth-child(10){text-align:right}.tracked-table th[data-v-177ce678]:nth-child(11),.tracked-table td[data-v-177ce678]:nth-child(11){text-align:center}.code-cell[data-v-177ce678]{width:120px}.code-btn[data-v-177ce678]{color:#2563eb;cursor:pointer;background:0 0;border:none;padding:0;font-weight:700}.code-btn[data-v-177ce678]:hover{text-decoration:underline}.tracked-table .code[data-v-177ce678]{color:#2563eb;font-weight:700}.change-up[data-v-177ce678]{color:#dc2626;font-weight:600}.change-down[data-v-177ce678]{color:#059669;font-weight:600}.change-flat[data-v-177ce678]{color:#111827;font-weight:600}.state-text[data-v-177ce678]{color:#6b7280;padding:8px 0;font-size:14px}.error-msg[data-v-177ce678]{color:#dc2626;margin-top:12px;font-size:13px}.success-msg[data-v-177ce678]{color:#059669;margin-top:12px;font-size:13px}.sector-page[data-v-2155a587]{padding:16px}.page-header[data-v-2155a587]{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.page-header h1[data-v-2155a587]{color:#111827;margin:0 0 6px;font-size:28px;font-weight:700}.page-header p[data-v-2155a587]{color:#6b7280;margin:0;font-size:14px}.card[data-v-2155a587]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:16px;padding:20px}.add-form[data-v-2155a587]{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.form-group[data-v-2155a587]{flex-direction:column;flex:0 0 280px;gap:6px;display:flex}.form-group-wide[data-v-2155a587]{flex-basis:360px}.form-group label[data-v-2155a587]{color:#374151;font-size:14px;font-weight:500}.form-group input[data-v-2155a587]{color:#111827;border:1px solid #d1d5db;border-radius:8px;outline:none;padding:12px 14px;font-size:15px}.form-group input[data-v-2155a587]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.add-btn[data-v-2155a587],.delete-btn[data-v-2155a587]{cursor:pointer;border:none;border-radius:8px;font-size:14px;font-weight:600}.add-btn[data-v-2155a587]{color:#fff;background:linear-gradient(135deg,#3b82f6,#2563eb);padding:12px 18px}.cancel-btn[data-v-2155a587],.edit-btn[data-v-2155a587],.move-btn[data-v-2155a587],.member-btn[data-v-2155a587],.member-add-btn[data-v-2155a587]{cursor:pointer;border:none;border-radius:8px;font-size:14px;font-weight:600}.cancel-btn[data-v-2155a587]{color:#374151;background:#e5e7eb;padding:12px 18px}.edit-btn[data-v-2155a587]{color:#1d4ed8;background:#dbeafe;margin-right:8px;padding:8px 12px}.move-btn[data-v-2155a587]{color:#6d28d9;background:#ede9fe;margin-right:8px;padding:8px 12px}.member-btn[data-v-2155a587]{color:#15803d;background:#dcfce7;margin-right:8px;padding:8px 12px}.member-add-btn[data-v-2155a587]{color:#fff;background:linear-gradient(135deg,#10b981,#059669);padding:12px 18px}.delete-btn[data-v-2155a587]{color:#b91c1c;background:#fee2e2;padding:8px 12px}.section-title[data-v-2155a587]{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.section-title h2[data-v-2155a587]{color:#111827;margin:0;font-size:18px}.section-title span[data-v-2155a587]{color:#6b7280;font-size:13px}.sector-table[data-v-2155a587]{border-collapse:collapse;width:100%}.sector-table th[data-v-2155a587],.sector-table td[data-v-2155a587]{text-align:left;white-space:nowrap;border-bottom:1px solid #e5e7eb;padding:12px 10px}.sector-table th[data-v-2155a587]{color:#6b7280;font-size:13px;font-weight:600}.sector-table td[data-v-2155a587]{color:#374151;font-size:14px}.sector-table tbody tr[data-v-2155a587]{transition:background-color .15s}.sector-table tbody tr[data-v-2155a587]:hover{background-color:#f0f5ff}.sector-table th[data-v-2155a587]:nth-child(3),.sector-table td[data-v-2155a587]:nth-child(3),.sector-table th[data-v-2155a587]:nth-child(4),.sector-table td[data-v-2155a587]:nth-child(4){text-align:center}.actions-cell[data-v-2155a587]{white-space:nowrap}.sector-name[data-v-2155a587]{color:#111827;font-size:15px;font-weight:600}.sector-description[data-v-2155a587]{color:#374151;font-size:14px}.member-row td[data-v-2155a587]{background:#f8fafc}.member-panel[data-v-2155a587]{flex-direction:column;gap:12px;padding:4px 2px 6px;display:flex}.member-form[data-v-2155a587]{flex-direction:column;gap:8px;display:flex}.member-form label[data-v-2155a587]{color:#374151;font-size:13px;font-weight:600}.member-form-row[data-v-2155a587]{flex-wrap:wrap;gap:10px;display:flex}.member-form-row input[data-v-2155a587]{color:#111827;border:1px solid #d1d5db;border-radius:8px;outline:none;flex:0 260px;padding:12px 14px;font-size:14px}.member-form-row input[data-v-2155a587]:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.member-empty[data-v-2155a587]{color:#6b7280;font-size:13px}.member-list[data-v-2155a587]{flex-wrap:wrap;gap:10px;display:flex}.member-chip[data-v-2155a587]{color:#065f46;cursor:grab;-webkit-user-select:none;user-select:none;background:#ecfdf5;border:1px solid #d1fae5;border-radius:999px;align-items:center;gap:10px;padding:8px 12px;font-size:13px;display:inline-flex}.member-chip.is-dragging[data-v-2155a587]{opacity:.55}.member-chip.is-drop-target[data-v-2155a587]{border-color:#10b981;box-shadow:0 0 0 2px #10b9812e}.member-chip-text[data-v-2155a587]{white-space:nowrap}.member-chip button[data-v-2155a587]{cursor:pointer;color:#dc2626;background:0 0;border:none;padding:0;font-size:12px;font-weight:600}.state-text[data-v-2155a587]{color:#6b7280;padding:8px 0;font-size:14px}.error-msg[data-v-2155a587]{color:#dc2626;margin-top:12px;font-size:13px}.success-msg[data-v-2155a587]{color:#059669;margin-top:12px;font-size:13px}@media (width<=768px){.form-group[data-v-2155a587],.form-group-wide[data-v-2155a587]{flex-basis:100%}.sector-table[data-v-2155a587]{min-width:100%}.delete-btn[data-v-2155a587],.edit-btn[data-v-2155a587],.move-btn[data-v-2155a587],.member-btn[data-v-2155a587]{padding:8px 12px}.cancel-btn[data-v-2155a587]{padding:12px 18px}.member-form-row input[data-v-2155a587]{flex:100%}.member-chip[data-v-2155a587]{border-radius:16px;flex-wrap:wrap;justify-content:space-between;width:100%}}.strategy-page[data-v-dd2be7d6]{padding:16px}.page-header[data-v-dd2be7d6]{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.page-header h1[data-v-dd2be7d6]{color:#111827;margin:0 0 6px;font-size:28px;font-weight:700}.page-header p[data-v-dd2be7d6]{color:#6b7280;margin:0;font-size:14px}.card[data-v-dd2be7d6]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:16px;padding:20px}.list-card[data-v-dd2be7d6]{overflow-x:auto}.section-title[data-v-dd2be7d6]{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.tracked-table[data-v-dd2be7d6]{border-collapse:collapse;width:100%}.tracked-table th[data-v-dd2be7d6],.tracked-table td[data-v-dd2be7d6]{text-align:left;border-bottom:1px solid #e5e7eb;padding:12px 10px}.tracked-table tbody tr[data-v-dd2be7d6]{transition:background-color .15s}.tracked-table tbody tr[data-v-dd2be7d6]:hover{background-color:#f0f5ff}.tracked-table th[data-v-dd2be7d6]{color:#6b7280;font-size:13px;font-weight:600}.tracked-table td[data-v-dd2be7d6]{color:#374151;font-size:14px}.tracked-table th[data-v-dd2be7d6],.tracked-table td[data-v-dd2be7d6]{white-space:nowrap}.tracked-table th[data-v-dd2be7d6]:nth-child(3),.tracked-table th[data-v-dd2be7d6]:nth-child(4),.tracked-table th[data-v-dd2be7d6]:nth-child(5),.tracked-table th[data-v-dd2be7d6]:nth-child(6),.tracked-table th[data-v-dd2be7d6]:nth-child(7),.tracked-table th[data-v-dd2be7d6]:nth-child(8),.tracked-table th[data-v-dd2be7d6]:nth-child(9),.tracked-table th[data-v-dd2be7d6]:nth-child(10),.tracked-table td[data-v-dd2be7d6]:nth-child(3),.tracked-table td[data-v-dd2be7d6]:nth-child(4),.tracked-table td[data-v-dd2be7d6]:nth-child(5),.tracked-table td[data-v-dd2be7d6]:nth-child(6),.tracked-table td[data-v-dd2be7d6]:nth-child(7),.tracked-table td[data-v-dd2be7d6]:nth-child(8),.tracked-table td[data-v-dd2be7d6]:nth-child(9),.tracked-table td[data-v-dd2be7d6]:nth-child(10){text-align:right}.tracked-table th[data-v-dd2be7d6]:nth-child(11),.tracked-table td[data-v-dd2be7d6]:nth-child(11){text-align:center}.code-cell[data-v-dd2be7d6]{width:120px}.code-btn[data-v-dd2be7d6]{color:#2563eb;cursor:pointer;background:0 0;border:none;padding:0;font-weight:700}.code-btn[data-v-dd2be7d6]:hover{text-decoration:underline}.change-up[data-v-dd2be7d6]{color:#dc2626;font-weight:600}.change-down[data-v-dd2be7d6]{color:#059669;font-weight:600}.change-flat[data-v-dd2be7d6]{color:#111827;font-weight:600}.state-text[data-v-dd2be7d6]{color:#6b7280;padding:8px 0;font-size:14px}.error-msg[data-v-dd2be7d6]{color:#dc2626;margin-top:12px;font-size:13px}.success-msg[data-v-dd2be7d6]{color:#059669;margin-top:12px;font-size:13px}.add-track-btn[data-v-dd2be7d6]{cursor:pointer;color:#fff;white-space:nowrap;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;padding:8px 12px;font-size:13px;font-weight:600}.add-track-btn[data-v-dd2be7d6]:disabled{opacity:.6;cursor:not-allowed}.action-row[data-v-dd2be7d6]{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.add-category-btn[data-v-dd2be7d6]{cursor:pointer;color:#fff;white-space:nowrap;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;margin-right:8px;padding:8px 12px;font-size:13px;font-weight:600}.action-row .add-track-btn[data-v-dd2be7d6],.action-row .add-category-btn[data-v-dd2be7d6]{margin-right:0}.add-category-btn[data-v-dd2be7d6]:disabled{opacity:.6;cursor:not-allowed}.price-chart-card[data-v-c6d2057c]{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:14px}.price-chart-row[data-v-c6d2057c]{align-items:center;gap:16px;display:flex}.price-chart-header[data-v-c6d2057c]{text-align:center;flex:0 0 120px;justify-content:center;align-items:center;display:flex}.price-name-wrap[data-v-c6d2057c]{width:100%}.stock-code[data-v-c6d2057c]{color:#0f172a;margin:0;font-size:16px;font-weight:700;line-height:1.2}.stock-name[data-v-c6d2057c]{color:#475569;margin-top:4px;font-size:14px;font-weight:600;line-height:1.2}.price-chart-body[data-v-c6d2057c]{flex:1;min-width:0}.price-chart[data-v-c6d2057c]{width:100%;height:360px}.chart-empty[data-v-c6d2057c]{color:#6b7280;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;justify-content:center;align-items:center;min-height:360px;font-size:14px;display:flex}@media (width<=768px){.price-chart-row[data-v-c6d2057c]{flex-direction:column;align-items:stretch}.price-chart-header[data-v-c6d2057c]{flex:none}.price-chart[data-v-c6d2057c]{height:300px}.chart-empty[data-v-c6d2057c]{min-height:300px}}.strategy-category-page[data-v-2b6ea84a]{padding:16px}.page-header[data-v-2b6ea84a]{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.page-header h1[data-v-2b6ea84a]{color:#111827;margin:0 0 6px;font-size:28px;font-weight:700}.page-header p[data-v-2b6ea84a]{color:#6b7280;margin:0;font-size:14px}.card[data-v-2b6ea84a]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:16px;padding:20px}.selector-row[data-v-2b6ea84a]{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.selector-group[data-v-2b6ea84a]{flex:0 0 320px}.form-group[data-v-2b6ea84a]{flex-direction:column;gap:6px;display:flex}.form-group label[data-v-2b6ea84a]{color:#374151;font-size:14px;font-weight:500}.form-group select[data-v-2b6ea84a]{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:8px;outline:none;padding:12px 14px;font-size:15px}.form-group select[data-v-2b6ea84a]:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.selector-hint[data-v-2b6ea84a]{color:#6b7280;font-size:13px}.state-text[data-v-2b6ea84a]{color:#6b7280;padding:8px 0;font-size:14px}.error-msg[data-v-2b6ea84a]{color:#dc2626;margin-bottom:12px;font-size:13px}.success-msg[data-v-2b6ea84a]{color:#059669;margin-bottom:12px;font-size:13px}.member-list[data-v-2b6ea84a]{flex-direction:column;gap:14px;display:flex}.member-row[data-v-2b6ea84a]{width:100%}@media (width<=768px){.selector-group[data-v-2b6ea84a]{flex-basis:100%}.member-list[data-v-2b6ea84a]{gap:12px}}.strategy-page[data-v-bc259646]{padding:16px}.page-header[data-v-bc259646]{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.page-header h1[data-v-bc259646]{color:#111827;margin:0 0 6px;font-size:28px;font-weight:700}.page-header p[data-v-bc259646]{color:#6b7280;margin:0;font-size:14px}.card[data-v-bc259646]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:16px;padding:20px}.list-card[data-v-bc259646]{overflow-x:auto}.filter-bar[data-v-bc259646]{align-items:center;gap:12px;margin-bottom:16px;display:flex}.filter-label[data-v-bc259646]{color:#374151;white-space:nowrap;font-size:14px;font-weight:600}.week-select[data-v-bc259646]{color:#374151;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:180px;padding:8px 12px;font-size:14px}.week-select[data-v-bc259646]:disabled{opacity:.6;cursor:not-allowed}.meta-info[data-v-bc259646]{color:#6b7280;margin-bottom:12px;font-size:13px}.tracked-table[data-v-bc259646]{border-collapse:collapse;width:100%}.tracked-table th[data-v-bc259646],.tracked-table td[data-v-bc259646]{text-align:left;white-space:nowrap;border-bottom:1px solid #e5e7eb;padding:12px 10px}.tracked-table tbody tr[data-v-bc259646]:hover{background-color:#f0f5ff}.tracked-table th[data-v-bc259646]{color:#6b7280;font-size:13px;font-weight:600}.tracked-table td[data-v-bc259646]{color:#374151;font-size:14px}.tracked-table th[data-v-bc259646]:nth-child(3),.tracked-table th[data-v-bc259646]:nth-child(4),.tracked-table th[data-v-bc259646]:nth-child(5),.tracked-table th[data-v-bc259646]:nth-child(6),.tracked-table th[data-v-bc259646]:nth-child(7),.tracked-table th[data-v-bc259646]:nth-child(8),.tracked-table th[data-v-bc259646]:nth-child(9),.tracked-table th[data-v-bc259646]:nth-child(10),.tracked-table th[data-v-bc259646]:nth-child(11),.tracked-table td[data-v-bc259646]:nth-child(3),.tracked-table td[data-v-bc259646]:nth-child(4),.tracked-table td[data-v-bc259646]:nth-child(5),.tracked-table td[data-v-bc259646]:nth-child(6),.tracked-table td[data-v-bc259646]:nth-child(7),.tracked-table td[data-v-bc259646]:nth-child(8),.tracked-table td[data-v-bc259646]:nth-child(9),.tracked-table td[data-v-bc259646]:nth-child(10),.tracked-table td[data-v-bc259646]:nth-child(11){text-align:right}.code-cell[data-v-bc259646]{color:#2563eb;font-weight:700}.change-up[data-v-bc259646]{color:#dc2626;font-weight:600}.change-down[data-v-bc259646]{color:#059669;font-weight:600}.change-flat[data-v-bc259646]{color:#111827;font-weight:600}.state-text[data-v-bc259646]{color:#6b7280;padding:8px 0;font-size:14px}.error-msg[data-v-bc259646]{color:#dc2626;padding:8px 0;font-size:13px}.success-msg[data-v-bc259646]{color:#059669;padding:8px 0;font-size:13px}.tracked-table th[data-v-bc259646]:nth-child(12),.tracked-table td[data-v-bc259646]:nth-child(12){text-align:center}.action-row[data-v-bc259646]{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.add-track-btn[data-v-bc259646]{cursor:pointer;color:#fff;white-space:nowrap;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;padding:8px 12px;font-size:13px;font-weight:600}.add-track-btn[data-v-bc259646]:disabled{opacity:.6;cursor:not-allowed}.add-category-btn[data-v-bc259646]{cursor:pointer;color:#fff;white-space:nowrap;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;padding:8px 12px;font-size:13px;font-weight:600}.add-category-btn[data-v-bc259646]:disabled{opacity:.6;cursor:not-allowed}
