.install-btn[data-v-5afddc0f]{display:flex;align-items:center;gap:6px;font-size:13px;padding:4px 10px;border:1px solid var(--border);border-radius:6px}.app-layout[data-v-5afddc0f]{display:flex;height:100%;position:relative}.sidebar[data-v-5afddc0f]{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-width);background:var(--surface);border-right:1px solid var(--border);z-index:150;display:flex;flex-direction:column;transform:translate(-100%);transition:transform .22s cubic-bezier(.4,0,.2,1);overflow-y:auto}.desktop-sidebar .sidebar[data-v-5afddc0f]{transform:translate(0);box-shadow:none}.app-layout:not(.desktop-sidebar).sidebar-open .sidebar[data-v-5afddc0f]{transform:translate(0);box-shadow:var(--shadow-lg)}.sidebar-backdrop[data-v-5afddc0f]{position:fixed;inset:0;background:#00000080;z-index:140;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.sidebar-header[data-v-5afddc0f]{display:flex;align-items:center;justify-content:space-between;padding:18px 16px 16px;background:linear-gradient(135deg,var(--surface) 0%,var(--surface-2) 100%)}.sidebar-logo[data-v-5afddc0f]{display:flex;align-items:center;gap:10px}.logo-icon[data-v-5afddc0f]{width:34px;height:34px;background:linear-gradient(135deg,#3b82f633,#6366f133);border:1px solid rgba(96,165,250,.35);border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 8px #3b82f626}.logo-text[data-v-5afddc0f]{display:flex;flex-direction:column}.logo-title[data-v-5afddc0f]{font-size:14px;font-weight:700;color:var(--text);letter-spacing:-.01em;line-height:1.2}.logo-subtitle[data-v-5afddc0f]{font-size:10px;color:var(--text-faint);letter-spacing:.02em;line-height:1.4}.sidebar-close[data-v-5afddc0f]{color:var(--text-faint)}.sidebar-divider[data-v-5afddc0f]{height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent);margin:0 16px;flex-shrink:0}.sidebar-nav[data-v-5afddc0f]{padding:14px 10px 10px;display:flex;flex-direction:column;gap:2px;flex:1}.nav-section-label[data-v-5afddc0f]{font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--text-faint);padding:4px 10px 8px;text-transform:uppercase}.nav-link[data-v-5afddc0f]{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius-sm);color:var(--text-muted);text-decoration:none;font-size:13px;font-weight:500;transition:all var(--transition);position:relative}.nav-link[data-v-5afddc0f]:hover{background:var(--surface-hover);color:var(--text)}.nav-link-active[data-v-5afddc0f]{background:var(--primary-dim);color:var(--primary)!important;font-weight:600}.nav-link-active[data-v-5afddc0f]:before{content:"";position:absolute;left:0;top:20%;bottom:20%;width:3px;background:var(--primary);border-radius:0 2px 2px 0}.sidebar-footer[data-v-5afddc0f]{padding:12px 10px;border-top:1px solid var(--border);flex-shrink:0}.theme-toggle-btn[data-v-5afddc0f]{display:flex;align-items:center;gap:9px;width:100%;padding:8px 12px;border-radius:var(--radius-sm);background:none;border:none;color:var(--text-muted);font-size:13px;font-family:inherit;cursor:pointer;transition:all var(--transition)}.theme-toggle-btn[data-v-5afddc0f]:hover{background:var(--surface-hover);color:var(--text)}.app-main[data-v-5afddc0f]{flex:1;display:flex;flex-direction:column;height:100%;min-height:0;transition:margin-left .22s cubic-bezier(.4,0,.2,1)}.desktop-sidebar .app-main[data-v-5afddc0f]{margin-left:var(--sidebar-width)}.sidebar-collapsed .sidebar[data-v-5afddc0f]{width:56px}.sidebar-collapsed .app-main[data-v-5afddc0f]{margin-left:56px}.sidebar-collapsed .logo-text[data-v-5afddc0f],.sidebar-collapsed .logo-subtitle[data-v-5afddc0f],.sidebar-collapsed .nav-section-label[data-v-5afddc0f],.sidebar-collapsed .nav-link span[data-v-5afddc0f],.sidebar-collapsed .theme-toggle-btn span[data-v-5afddc0f]{display:none}.sidebar-collapsed .sidebar-logo[data-v-5afddc0f]{justify-content:center}.sidebar-collapsed .sidebar-header[data-v-5afddc0f]{justify-content:center;flex-direction:column;gap:8px;padding:14px 8px}.sidebar-collapsed .sidebar-collapse-btn[data-v-5afddc0f]{margin:0}.sidebar-collapsed .nav-link[data-v-5afddc0f]{justify-content:center;padding:9px}.sidebar-collapsed .nav-link[data-v-5afddc0f]:before{display:none}.sidebar-collapsed .theme-toggle-btn[data-v-5afddc0f]{justify-content:center;padding:8px}.sidebar-collapsed .sidebar-nav[data-v-5afddc0f],.sidebar-collapsed .sidebar-footer[data-v-5afddc0f]{padding:10px 6px}.topbar[data-v-5afddc0f]{height:var(--topbar-height);background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;padding:0 20px;padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right));position:sticky;top:0;z-index:50}.desktop-sidebar .menu-btn[data-v-5afddc0f]{display:none}.topbar-brand[data-v-5afddc0f]{flex:1}.topbar-route[data-v-5afddc0f]{font-size:15px;font-weight:600;color:var(--text)}.topbar-right[data-v-5afddc0f]{display:flex;align-items:center;gap:4px}.desktop-sidebar .topbar-right[data-v-5afddc0f]{display:none}.app-content[data-v-5afddc0f]{flex:1;min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto}.app-content--fill[data-v-5afddc0f]{overflow:hidden}.login-overlay[data-v-5afddc0f]{position:fixed;inset:0;background:var(--bg);display:flex;align-items:center;justify-content:center;z-index:9999}.login-card[data-v-5afddc0f]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:36px 32px;width:100%;max-width:340px;display:flex;flex-direction:column;gap:24px;box-shadow:var(--shadow-lg)}.login-logo[data-v-5afddc0f]{display:flex;align-items:center;gap:12px;justify-content:center}.login-form[data-v-5afddc0f]{display:flex;flex-direction:column;gap:10px}.login-field[data-v-5afddc0f]{display:flex;flex-direction:column}.login-input[data-v-5afddc0f]{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:14px;font-family:inherit;padding:10px 14px;outline:none;transition:border-color var(--transition)}.login-input[data-v-5afddc0f]:focus{border-color:var(--primary)}.login-input-error[data-v-5afddc0f]{border-color:var(--danger, #ef4444)!important}.login-error[data-v-5afddc0f]{font-size:12px;color:var(--danger, #ef4444)}.login-btn[data-v-5afddc0f]{background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);padding:10px;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:opacity var(--transition)}.login-btn[data-v-5afddc0f]:hover{opacity:.88}@media(max-width:480px){.login-card[data-v-5afddc0f]{padding:28px 20px;margin:0 16px;max-width:100%}.login-input[data-v-5afddc0f]{font-size:16px;padding:12px 14px}}.modal-sm[data-v-ca9dd269]{max-width:440px}.required[data-v-ca9dd269]{color:var(--red)}.input-error[data-v-ca9dd269]{border-color:var(--red)!important}.input-error[data-v-ca9dd269]:focus{box-shadow:0 0 0 3px #ef444433!important}.dialog-overlay[data-v-e5258d24]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200}.dialog[data-v-e5258d24]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);width:480px;max-width:95vw;max-height:80vh;display:flex;flex-direction:column}.dialog-header[data-v-e5258d24]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid var(--border)}.dialog-title[data-v-e5258d24]{font-weight:600;font-size:14px}.dialog-body[data-v-e5258d24]{padding:14px 16px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.empty-msg[data-v-e5258d24]{color:var(--text-faint);font-size:13px;text-align:center;padding:16px 0}section[data-v-e5258d24]{display:flex;flex-direction:column;gap:6px}.section-label[data-v-e5258d24]{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);padding-bottom:2px}.triggered-label[data-v-e5258d24]{color:var(--primary)}.alerts-list[data-v-e5258d24]{display:flex;flex-direction:column;gap:5px}.alert-row[data-v-e5258d24]{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);font-size:13px}.alert-row.triggered[data-v-e5258d24]{border-color:var(--primary);background:var(--primary-dim)}.ticker-badge[data-v-e5258d24]{font-size:12px;font-weight:700;color:var(--text);min-width:48px}.alert-badge[data-v-e5258d24]{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);white-space:nowrap}.alert-value[data-v-e5258d24]{font-weight:600;color:var(--text);flex:1}.triggered-tag[data-v-e5258d24]{font-size:11px;color:var(--primary);font-weight:600;white-space:nowrap}.danger-icon[data-v-e5258d24]{color:var(--text-faint);margin-left:auto}.danger-icon[data-v-e5258d24]:hover{color:#f87171}.controls-bar[data-v-a70413a5]{display:flex;align-items:center;gap:6px;padding:0}.select-wrapper[data-v-a70413a5]{position:relative;min-width:190px;max-width:240px}.custom-select[data-v-a70413a5]{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:13px;font-family:inherit;cursor:pointer;transition:border-color var(--transition),box-shadow var(--transition);text-align:left;line-height:1.4}.custom-select[data-v-a70413a5]:hover,.custom-select.open[data-v-a70413a5]{border-color:var(--primary)}.custom-select.open[data-v-a70413a5]{box-shadow:0 0 0 3px var(--primary-dim)}.select-value[data-v-a70413a5]{display:flex;align-items:center;gap:6px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-placeholder[data-v-a70413a5]{flex:1;color:var(--text-faint)}.select-chevron[data-v-a70413a5]{flex-shrink:0;color:var(--text-faint);transition:transform .15s}.select-chevron.rotated[data-v-a70413a5]{transform:rotate(180deg)}.star-icon[data-v-a70413a5]{color:var(--text-faint);display:flex;align-items:center}.star-icon.active[data-v-a70413a5]{color:var(--yellow)}.select-dropdown[data-v-a70413a5]{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:100;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);max-height:240px;overflow-y:auto;animation:slideUp .1s ease}.select-option[data-v-a70413a5]{display:flex;align-items:center;gap:8px;padding:9px 12px;cursor:pointer;font-size:13px;color:var(--text);transition:background var(--transition)}.select-option[data-v-a70413a5]:hover{background:var(--surface-hover)}.select-option.selected[data-v-a70413a5]{background:var(--primary-dim);color:var(--primary)}.select-empty[data-v-a70413a5]{padding:12px;text-align:center;color:var(--text-faint);font-size:13px}.fav-btn[data-v-a70413a5]{background:none;border:none;cursor:pointer;color:var(--text-faint);display:flex;align-items:center;padding:2px;border-radius:3px;transition:color var(--transition);flex-shrink:0}.fav-btn[data-v-a70413a5]:hover,.fav-btn.active[data-v-a70413a5]{color:var(--yellow)}.option-name[data-v-a70413a5]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-wrapper[data-v-a70413a5]{position:relative}.menu-dropdown[data-v-a70413a5]{top:calc(100% + 4px);right:0}.modal-md[data-v-6e90cc99]{max-width:560px}.autocomplete-wrapper[data-v-6e90cc99]{position:relative;display:flex;flex-direction:column;gap:10px}.chips-row[data-v-6e90cc99]{display:flex;flex-wrap:wrap;gap:6px}.input-wrapper[data-v-6e90cc99]{position:relative}.input-wrapper .input[data-v-6e90cc99]{padding-left:34px;padding-right:36px}.input-icon[data-v-6e90cc99]{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-faint);pointer-events:none;display:flex;align-items:center}.input-spinner[data-v-6e90cc99]{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:flex;align-items:center}.ac-dropdown[data-v-6e90cc99]{position:absolute;top:calc(100% + 2px);left:0;right:0;z-index:300;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);max-height:240px;overflow-y:auto}.ac-item[data-v-6e90cc99]{display:flex;align-items:center;gap:6px;padding:10px 12px;cursor:pointer;transition:background var(--transition);border-bottom:1px solid var(--border)}.ac-item[data-v-6e90cc99]:last-child{border-bottom:none}.ac-item[data-v-6e90cc99]:hover,.ac-item.selected[data-v-6e90cc99]{background:var(--surface-hover)}.ac-item-main[data-v-6e90cc99]{flex:1;font-size:13px;color:var(--text);font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ac-item-sub[data-v-6e90cc99]{font-size:11px;color:var(--text-faint);white-space:nowrap}.ac-check[data-v-6e90cc99]{color:var(--primary);flex-shrink:0}.ac-empty[data-v-6e90cc99]{padding:16px;text-align:center;color:var(--text-faint);font-size:13px}.source-tabs[data-v-6e90cc99]{display:flex;gap:4px;background:var(--surface-alt, var(--surface));border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px}.source-tab[data-v-6e90cc99]{flex:1;padding:5px 10px;font-size:12px;font-weight:500;border:none;border-radius:calc(var(--radius-sm) - 2px);cursor:pointer;background:transparent;color:var(--text-faint);transition:background var(--transition),color var(--transition)}.source-tab.active[data-v-6e90cc99]{background:var(--primary);color:#fff}.ac-item-type[data-v-6e90cc99]{margin-left:4px;font-size:10px;background:var(--surface-alt, var(--border));border-radius:3px;padding:1px 4px;color:var(--text-faint);text-transform:uppercase}.file-input[data-v-6e90cc99]{padding:10px 12px;cursor:pointer}.file-input[data-v-6e90cc99]::file-selector-button{padding:4px 10px;background:var(--primary);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px;margin-right:10px}.modal-notes[data-v-228c9f18]{max-width:500px}.modal-confirm[data-v-228c9f18]{max-width:360px}.modal-view[data-v-228c9f18]{max-width:560px}.title-icon[data-v-228c9f18]{margin-right:6px;vertical-align:middle}.note-add-group[data-v-228c9f18]{margin-bottom:16px}.note-edit-input[data-v-228c9f18]{flex:1}.icon-success[data-v-228c9f18]{color:var(--green)}.icon-danger[data-v-228c9f18]{color:var(--red)}.confirm-msg[data-v-228c9f18]{color:var(--text-muted);font-size:13px}.footer-error[data-v-228c9f18]{margin-right:auto}.notes-section-label[data-v-228c9f18]{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);margin-bottom:10px}.notes-list[data-v-228c9f18]{display:flex;flex-direction:column;gap:8px}.note-item[data-v-228c9f18]{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color var(--transition)}.note-item.editing[data-v-228c9f18]{border-color:var(--primary)}.note-body[data-v-228c9f18]{flex:1;min-width:0}.note-text[data-v-228c9f18]{font-size:13px;color:var(--text);line-height:1.5;word-break:break-word;margin-bottom:4px}.note-date[data-v-228c9f18]{font-size:11px;color:var(--text-faint)}.note-edit-row[data-v-228c9f18]{display:flex;align-items:center;gap:6px;width:100%}.note-actions-wrapper[data-v-228c9f18]{position:relative;flex-shrink:0}.note-menu[data-v-228c9f18]{top:calc(100% + 2px);right:0}.note-meta[data-v-228c9f18]{font-size:12px;color:var(--text-muted);margin-bottom:10px}.note-full-text[data-v-228c9f18]{font-size:14px;color:var(--text);line-height:1.7;white-space:pre-wrap;word-break:break-word}.dialog-overlay[data-v-a1c0d798]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200}.dialog[data-v-a1c0d798]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);width:420px;max-width:95vw;max-height:80vh;display:flex;flex-direction:column}.dialog-header[data-v-a1c0d798]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid var(--border)}.dialog-title[data-v-a1c0d798]{font-weight:600;font-size:14px}.dialog-body[data-v-a1c0d798]{padding:14px 16px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.alerts-list[data-v-a1c0d798]{display:flex;flex-direction:column;gap:6px}.alert-row[data-v-a1c0d798]{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);font-size:13px}.alert-row.triggered[data-v-a1c0d798]{border-color:var(--primary);background:var(--primary-dim)}.alert-badge[data-v-a1c0d798]{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);white-space:nowrap}.alert-value[data-v-a1c0d798]{font-weight:600;color:var(--text);flex:1}.triggered-tag[data-v-a1c0d798]{font-size:11px;color:var(--primary);font-weight:600;white-space:nowrap}.no-alerts[data-v-a1c0d798]{color:var(--text-faint);font-size:13px;text-align:center;padding:8px 0}.add-alert-form[data-v-a1c0d798]{border-top:1px solid var(--border);padding-top:12px;display:flex;flex-direction:column;gap:8px}.form-row[data-v-a1c0d798]{display:flex;gap:8px;align-items:center}.select-input[data-v-a1c0d798]{flex:2;min-width:0}.value-input[data-v-a1c0d798]{flex:1;min-width:0}.form-error[data-v-a1c0d798]{color:#f87171;font-size:12px}.danger-icon[data-v-a1c0d798]{color:var(--text-faint);margin-left:auto}.danger-icon[data-v-a1c0d798]:hover{color:#f87171}.info-wrap[data-v-912c3b23]{display:inline-flex;align-items:center}.info-btn[data-v-912c3b23]{background:none;border:none;cursor:pointer;font-size:12px;color:var(--text-faint, #6b7280);padding:0 0 0 3px;line-height:1;transition:color .15s;vertical-align:middle}.info-btn[data-v-912c3b23]:hover{color:var(--primary, #3b82f6)}.info-popover{position:absolute;z-index:9999;width:260px;background:var(--surface, #1a1d2a);border:1px solid var(--border, #2a2f3d);border-radius:6px;box-shadow:0 8px 24px #00000080;padding:10px 12px;pointer-events:auto}.info-title{font-size:12px;font-weight:700;color:var(--text, #e2e8f0);margin-bottom:5px}.info-body{font-size:11px;color:var(--text-muted, #9ca3af);line-height:1.55}.chart-shell[data-v-be1c4d8d]{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--surface, #131722);border:1px solid var(--border, #2a2f3d);border-radius:var(--radius, 8px);overflow:hidden}.chart-toolbar[data-v-be1c4d8d],.drawing-toolbar[data-v-be1c4d8d]{display:flex;align-items:center;flex-wrap:nowrap;flex-shrink:0;overflow-x:auto;scrollbar-width:none;gap:4px;padding:6px 12px;background:var(--surface, #131722);border-bottom:1px solid var(--border, #2a2f3d)}.chart-toolbar[data-v-be1c4d8d]::-webkit-scrollbar,.drawing-toolbar[data-v-be1c4d8d]::-webkit-scrollbar{display:none}.chart-toolbar[data-v-be1c4d8d]{min-height:44px;gap:6px}.drawing-toolbar[data-v-be1c4d8d]{min-height:36px;padding:4px 12px;background:var(--surface-2, #0f1320)}.toolbar-group[data-v-be1c4d8d]{display:flex;align-items:center;gap:4px}.toolbar-divider[data-v-be1c4d8d]{width:1px;height:16px;background:var(--border, #2a2f3d);flex-shrink:0}.vertical-soft[data-v-be1c4d8d]{opacity:.5}.toolbar-spacer[data-v-be1c4d8d]{flex:1}.symbol-input-wrap[data-v-be1c4d8d]{position:relative;display:flex;align-items:center}.symbol-icon[data-v-be1c4d8d]{position:absolute;left:8px;color:var(--text-faint, #4b5563);pointer-events:none}.symbol-input[data-v-be1c4d8d]{background:var(--surface-2, #1c2035);border:1px solid var(--border, #2a2f3d);border-radius:5px;color:var(--text, #e2e8f0);font-size:12px;font-family:inherit;font-weight:600;letter-spacing:.04em;padding:5px 10px 5px 26px;width:120px;outline:none;transition:border-color .15s}.symbol-input[data-v-be1c4d8d]:focus{border-color:var(--primary, #3b82f6)}.symbol-input[data-v-be1c4d8d]::placeholder{color:var(--text-faint, #4b5563);font-weight:400}.btn-load[data-v-be1c4d8d]{display:flex;align-items:center;justify-content:center;background:var(--surface-2, #1c2035);border:1px solid var(--border, #2a2f3d);border-radius:5px;color:var(--text-muted, #9ca3af);cursor:pointer;padding:5px 8px;transition:all .15s}.btn-load[data-v-be1c4d8d]:hover:not(:disabled){border-color:var(--primary, #3b82f6);color:var(--primary, #3b82f6)}.btn-load[data-v-be1c4d8d]:disabled{opacity:.5;cursor:default}.spinning[data-v-be1c4d8d]{animation:spin-be1c4d8d .8s linear infinite}@keyframes spin-be1c4d8d{to{transform:rotate(360deg)}}.btn-tf[data-v-be1c4d8d]{background:transparent;border:1px solid transparent;border-radius:4px;color:var(--text-muted, #9ca3af);cursor:pointer;font-size:11px;font-family:inherit;font-weight:500;padding:4px 7px;transition:all .15s}.btn-tf[data-v-be1c4d8d]:hover{background:var(--surface-hover, #1e2330);color:var(--text, #e2e8f0)}.btn-tf.active[data-v-be1c4d8d]{background:var(--primary-dim, rgba(59,130,246,.12));border-color:var(--primary, #3b82f6);color:#60a5fa;font-weight:600}.btn-indicator[data-v-be1c4d8d]{background:transparent;border:1px solid transparent;border-radius:4px;color:var(--text-muted, #6b7280);cursor:pointer;font-size:11px;font-family:inherit;font-weight:500;padding:4px 7px;transition:all .15s}.btn-indicator[data-v-be1c4d8d]:hover{background:var(--surface-hover, #1e2330);color:var(--text, #e2e8f0)}.btn-indicator.active[data-v-be1c4d8d]{background:#10b9811a;border-color:#10b981;color:#34d399;font-weight:600}.btn-dqtq.active[data-v-be1c4d8d]{background:#26a69a1a;border-color:#26a69a;color:#26a69a;font-weight:700}.btn-draw[data-v-be1c4d8d]{display:flex;align-items:center;gap:5px;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--text-muted, #6b7280);cursor:pointer;font-size:11px;font-family:inherit;font-weight:500;padding:3px 7px;transition:all .15s}.btn-draw[data-v-be1c4d8d]:hover:not(:disabled){background:var(--surface-hover, #1e2330);color:var(--text, #e2e8f0)}.btn-draw.active[data-v-be1c4d8d]{background:#f59e0b1a;border-color:#f59e0b;color:#fbbf24;font-weight:600}.btn-draw.danger[data-v-be1c4d8d]:not(:disabled):hover{border-color:#ef4444;color:#f87171}.btn-draw[data-v-be1c4d8d]:disabled{opacity:.3;cursor:default}.draw-label[data-v-be1c4d8d]{font-size:11px}.save-badge[data-v-be1c4d8d]{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:#34d399;padding:2px 6px;background:#10b9811a;border-radius:3px}.btn-live[data-v-be1c4d8d]{display:flex;align-items:center;gap:6px;background:transparent;border:1px solid var(--border, #2a2f3d);border-radius:4px;color:var(--text-muted, #6b7280);cursor:pointer;font-size:11px;font-family:inherit;font-weight:500;padding:4px 9px;transition:all .15s}.btn-live[data-v-be1c4d8d]:hover{border-color:#ef4444;color:#f87171}.btn-live.active[data-v-be1c4d8d]{background:#ef44441a;border-color:#ef4444;color:#f87171}.live-dot[data-v-be1c4d8d]{width:6px;height:6px;border-radius:50%;background:var(--border, #4b5563);flex-shrink:0;transition:background .3s}.live-dot.connected[data-v-be1c4d8d]{background:#22c55e;box-shadow:0 0 6px #22c55e80;animation:pulse-dot-be1c4d8d 1.8s ease-in-out infinite}@keyframes pulse-dot-be1c4d8d{0%,to{opacity:1}50%{opacity:.5}}.chart-area[data-v-be1c4d8d]{flex:1;position:relative;min-height:0}.kline-container[data-v-be1c4d8d]{width:100%;height:100%;min-height:200px}.tool-hint[data-v-be1c4d8d]{position:absolute;top:8px;left:50%;transform:translate(-50%);background:#0f1320e6;border:1px solid #f59e0b55;border-radius:5px;padding:4px 12px;font-size:11px;color:#9ba4b5;white-space:nowrap;z-index:20;pointer-events:none}.tool-hint strong[data-v-be1c4d8d]{color:#fbbf24}kbd[data-v-be1c4d8d]{display:inline-block;padding:1px 4px;background:var(--surface-2, #1c2035);border:1px solid #374151;border-radius:3px;font-size:10px;font-family:inherit}.chart-overlay[data-v-be1c4d8d]{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#0d111ebf;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:10;color:var(--text-muted, #9ca3af);font-size:13px}.chart-overlay.error[data-v-be1c4d8d]{color:#f87171}.btn-retry[data-v-be1c4d8d]{margin-top:4px;padding:6px 16px;background:transparent;border:1px solid #ef4444;border-radius:5px;color:#f87171;font-size:12px;font-family:inherit;cursor:pointer;transition:all .15s}.btn-retry[data-v-be1c4d8d]:hover{background:#ef44441a}.spinner[data-v-be1c4d8d]{width:22px;height:22px;border:2px solid var(--border, #2a2f3d);border-top-color:var(--primary, #3b82f6);border-radius:50%;animation:spin-be1c4d8d .7s linear infinite}.fade-enter-active[data-v-be1c4d8d],.fade-leave-active[data-v-be1c4d8d]{transition:opacity .2s ease}.fade-enter-from[data-v-be1c4d8d],.fade-leave-to[data-v-be1c4d8d]{opacity:0}.slide-up-enter-active[data-v-be1c4d8d],.slide-up-leave-active[data-v-be1c4d8d]{transition:opacity .15s ease,transform .15s ease}.slide-up-enter-from[data-v-be1c4d8d],.slide-up-leave-to[data-v-be1c4d8d]{opacity:0;transform:translateY(8px)}.preset-modal-overlay[data-v-be1c4d8d]{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#0009;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000}.preset-modal[data-v-be1c4d8d]{background:var(--surface, #131722);border:1px solid var(--border, #2a2f3d);border-radius:8px;box-shadow:0 12px 40px #000c;max-width:420px;width:90vw;max-height:80vh;display:flex;flex-direction:column}.preset-modal-header[data-v-be1c4d8d]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border, #2a2f3d);flex-shrink:0}.preset-modal-header h3[data-v-be1c4d8d]{margin:0;font-size:13px;color:var(--text, #e2e8f0);font-weight:600}.preset-close[data-v-be1c4d8d]{background:none;border:none;color:var(--text-muted, #6b7280);cursor:pointer;font-size:18px;padding:0;transition:color .15s}.preset-close[data-v-be1c4d8d]:hover{color:var(--text, #e2e8f0)}.preset-modal-body[data-v-be1c4d8d]{overflow-y:auto;padding:12px;flex:1;min-height:0}.preset-section[data-v-be1c4d8d]{margin-bottom:16px}.preset-section h4[data-v-be1c4d8d]{margin:0 0 8px;font-size:11px;color:var(--text-muted, #9ca3af);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.preset-input-row[data-v-be1c4d8d]{display:flex;gap:6px}.preset-input[data-v-be1c4d8d]{flex:1;background:var(--surface-2, #1c2035);border:1px solid var(--border, #2a2f3d);border-radius:5px;color:var(--text, #e2e8f0);font-size:11px;font-family:inherit;padding:5px 8px;outline:none;transition:border-color .15s}.preset-input[data-v-be1c4d8d]:focus{border-color:var(--primary, #3b82f6)}.preset-input[data-v-be1c4d8d]::placeholder{color:var(--text-faint, #4b5563)}.preset-btn[data-v-be1c4d8d]{background:var(--surface-2, #1c2035);border:1px solid var(--border, #2a2f3d);border-radius:5px;color:var(--text-muted, #9ca3af);font-size:11px;font-family:inherit;font-weight:500;padding:5px 10px;cursor:pointer;transition:all .15s}.preset-btn[data-v-be1c4d8d]:hover:not(:disabled){border-color:var(--primary, #3b82f6);color:#60a5fa}.preset-btn[data-v-be1c4d8d]:disabled{opacity:.5;cursor:default}.preset-btn-save[data-v-be1c4d8d]{padding:5px 12px}.preset-loading[data-v-be1c4d8d],.preset-empty[data-v-be1c4d8d]{padding:8px;font-size:11px;color:var(--text-faint, #4b5563);text-align:center}.preset-list[data-v-be1c4d8d]{display:flex;flex-direction:column;gap:6px}.preset-item[data-v-be1c4d8d]{display:flex;align-items:center;justify-content:space-between;background:var(--surface-2, #1c2035);border:1px solid var(--border, #2a2f3d);border-radius:5px;padding:8px;font-size:11px}.preset-info[data-v-be1c4d8d]{flex:1;min-width:0}.preset-name[data-v-be1c4d8d]{color:var(--text, #e2e8f0);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preset-meta[data-v-be1c4d8d]{color:var(--text-faint, #4b5563);font-size:10px}.preset-actions[data-v-be1c4d8d]{display:flex;gap:4px;flex-shrink:0;margin-left:8px}.preset-btn-apply[data-v-be1c4d8d]{padding:4px 8px}.preset-btn-delete[data-v-be1c4d8d]{padding:4px 6px;min-width:28px;text-align:center}.preset-btn-delete[data-v-be1c4d8d]:hover:not(:disabled){border-color:#ef4444;color:#f87171}.rsi-settings-modal[data-v-be1c4d8d]{max-width:280px}.rsi-setting-row[data-v-be1c4d8d]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 0}.rsi-setting-label[data-v-be1c4d8d]{font-size:12px;color:var(--text, #e2e8f0);flex:1}.rsi-setting-input[data-v-be1c4d8d]{width:80px;background:var(--surface-2, #1c2035);border:1px solid var(--border, #2a2f3d);border-radius:5px;color:var(--text, #e2e8f0);font-size:12px;font-family:inherit;padding:5px 8px;outline:none;text-align:center;transition:border-color .15s}.rsi-setting-input[data-v-be1c4d8d]:focus{border-color:var(--primary, #3b82f6)}.rsi-settings-footer[data-v-be1c4d8d]{display:flex;justify-content:flex-end;gap:6px;padding:10px 12px;border-top:1px solid var(--border, #2a2f3d)}.ma-setting-hint[data-v-be1c4d8d]{font-size:11px;color:#6b7280;margin-top:4px;padding:0 2px}.float-draw-btn[data-v-be1c4d8d],.float-draw-panel[data-v-be1c4d8d]{display:none}@media(max-width:640px){.float-draw-btn[data-v-be1c4d8d]{display:flex;align-items:center;justify-content:center;position:absolute;bottom:12px;right:12px;z-index:30;width:38px;height:38px;border-radius:50%;background:var(--surface, #131722);border:1px solid var(--border, #2a2f3d);color:var(--text-muted, #9ca3af);cursor:pointer;box-shadow:0 4px 12px #00000080;transition:all .15s}.float-draw-btn[data-v-be1c4d8d]:hover,.float-draw-btn.active[data-v-be1c4d8d]{border-color:var(--primary, #3b82f6);color:#60a5fa;background:var(--primary-dim, rgba(59,130,246,.12))}.float-draw-panel[data-v-be1c4d8d]{display:block;position:absolute;bottom:58px;right:8px;z-index:30;background:var(--surface, #131722);border:1px solid var(--border, #2a2f3d);border-radius:8px;box-shadow:0 8px 24px #0009;padding:6px}.float-panel-row[data-v-be1c4d8d]{display:flex;flex-wrap:wrap;gap:4px;max-width:220px}.float-panel-row .btn-draw[data-v-be1c4d8d]{padding:7px;border-radius:6px;min-width:32px;min-height:32px;justify-content:center}.float-panel-row .toolbar-divider[data-v-be1c4d8d]{width:100%;height:1px;background:var(--border, #2a2f3d)}.chart-shell[data-v-be1c4d8d]{min-height:0}.chart-toolbar[data-v-be1c4d8d]{padding:4px 6px;min-height:36px;gap:4px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.chart-toolbar[data-v-be1c4d8d]::-webkit-scrollbar{display:none}.symbol-input[data-v-be1c4d8d]{width:80px;font-size:11px;padding:4px 6px 4px 22px}.symbol-icon[data-v-be1c4d8d]{left:6px}.btn-tf[data-v-be1c4d8d],.btn-indicator[data-v-be1c4d8d]{padding:3px 5px;font-size:10px}.btn-live[data-v-be1c4d8d]{padding:3px 7px;font-size:10px}.toolbar-group[data-v-be1c4d8d]{flex-shrink:0;gap:2px}.toolbar-divider[data-v-be1c4d8d]{height:14px}.chart-area[data-v-be1c4d8d],.kline-container[data-v-be1c4d8d]{min-height:0}.tool-hint[data-v-be1c4d8d]{font-size:10px;padding:3px 8px}}.chart-body[data-v-be1c4d8d]{display:flex;flex:1;min-height:0;overflow:hidden}.chart-main[data-v-be1c4d8d]{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.drawing-sidebar[data-v-be1c4d8d]{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:36px;padding:4px 2px;background:var(--surface-2, #0f1320);border-right:1px solid var(--border, #2a2f3d);gap:1px;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}.drawing-sidebar[data-v-be1c4d8d]::-webkit-scrollbar{display:none}.sidebar-divider[data-v-be1c4d8d]{width:20px;height:1px;background:var(--border, #2a2f3d);flex-shrink:0;margin:2px 0}.sidebar-spacer[data-v-be1c4d8d]{flex:1}.sidebar-saved[data-v-be1c4d8d]{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:#34d399;font-size:11px}.btn-draw-v[data-v-be1c4d8d]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:4px;background:transparent;border:1px solid transparent;color:var(--text-muted, #6b7280);cursor:pointer;flex-shrink:0;transition:all .15s}.btn-draw-v[data-v-be1c4d8d]:hover:not(:disabled){background:var(--surface-hover, #1e2330);color:var(--text, #e2e8f0)}.btn-draw-v.active[data-v-be1c4d8d]{background:#f59e0b1a;border-color:#f59e0b;color:#fbbf24}.btn-draw-v.danger[data-v-be1c4d8d]:not(:disabled):hover{border-color:#ef4444;color:#f87171}.btn-draw-v[data-v-be1c4d8d]:disabled{opacity:.3;cursor:default}.btn-ind-picker[data-v-be1c4d8d]{letter-spacing:.02em}.ind-picker-modal[data-v-be1c4d8d]{max-width:500px;width:92vw;max-height:75vh}.ind-picker-search[data-v-be1c4d8d]{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border, #2a2f3d);flex-shrink:0}.ind-search-icon[data-v-be1c4d8d]{color:var(--text-faint, #4b5563);flex-shrink:0}.ind-search-input[data-v-be1c4d8d]{flex:1;background:none;border:none;outline:none;color:var(--text, #e2e8f0);font-size:12px;font-family:inherit}.ind-search-input[data-v-be1c4d8d]::placeholder{color:var(--text-faint, #4b5563)}.ind-picker-body[data-v-be1c4d8d]{padding:8px 12px}.ind-category[data-v-be1c4d8d]{margin-bottom:14px}.ind-category-label[data-v-be1c4d8d]{font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint, #4b5563);margin-bottom:6px}.ind-grid[data-v-be1c4d8d]{display:flex;flex-wrap:wrap;gap:6px}.ind-chip[data-v-be1c4d8d]{display:flex;flex-direction:column;align-items:flex-start;padding:5px 9px;background:var(--surface-2, #1c2035);border:1px solid var(--border, #2a2f3d);border-radius:5px;cursor:pointer;transition:all .12s;min-width:68px}.ind-chip[data-v-be1c4d8d]:hover{border-color:var(--primary, #3b82f6);background:var(--primary-dim, rgba(59,130,246,.06))}.ind-chip.active[data-v-be1c4d8d]{background:#10b98114;border-color:#10b981}.ind-chip-name[data-v-be1c4d8d]{font-size:12px;font-weight:600;color:var(--text, #e2e8f0);font-family:inherit}.ind-chip.active .ind-chip-name[data-v-be1c4d8d]{color:#34d399}.ind-chip-desc[data-v-be1c4d8d]{font-size:10px;color:var(--text-faint, #4b5563);margin-top:1px;white-space:nowrap}@media(max-width:640px){.drawing-sidebar[data-v-be1c4d8d]{display:none}}.chart-shell[data-v-be1c4d8d]:fullscreen,.chart-shell[data-v-be1c4d8d]:-webkit-full-screen,.chart-shell[data-v-be1c4d8d]:-moz-full-screen{width:100vw;height:100vh;border-radius:0;border:none}.btn-icon[data-v-be1c4d8d]{display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--text-muted, #6b7280);cursor:pointer;padding:4px 6px;transition:all .15s}.btn-icon[data-v-be1c4d8d]:hover{background:var(--surface-hover, #1e2330);color:var(--text, #e2e8f0);border-color:var(--border, #2a2f3d)}.chart-context-menu[data-v-be1c4d8d]{position:absolute;z-index:200;background:var(--surface, #1a1d2a);border:1px solid var(--border, #2a2f3d);border-radius:6px;box-shadow:0 8px 24px #000000b3;padding:4px;min-width:140px}.ctx-item[data-v-be1c4d8d]{display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px;background:none;border:none;border-radius:4px;font-size:12px;font-family:inherit;color:var(--text-muted, #9ca3af);cursor:pointer;transition:all .12s}.ctx-item[data-v-be1c4d8d]:hover{background:var(--surface-hover, #1e2330);color:var(--text, #e2e8f0)}.ctx-item-danger[data-v-be1c4d8d]:hover{background:#ef44441a;color:#f87171}.chart-status-bar[data-v-be1c4d8d]{display:flex;align-items:center;flex-wrap:nowrap;gap:6px;flex-shrink:0;overflow:hidden;padding:3px 12px;background:var(--surface-2, #0f1320);border-top:1px solid var(--border, #2a2f3d);font-size:11px;color:var(--text-muted, #6b7280);min-height:22px}.stat-date[data-v-be1c4d8d]{color:#9ba4b5;font-weight:500;margin-right:2px}.stat-sep[data-v-be1c4d8d]{color:var(--border, #374151);margin:0 2px}.stat-item[data-v-be1c4d8d]{display:inline-flex;align-items:center;gap:3px}.stat-val[data-v-be1c4d8d]{font-weight:500;color:#d1d5db}.stat-green[data-v-be1c4d8d]{color:#26a69a}.stat-red[data-v-be1c4d8d]{color:#ef5350}.modal-overlay[data-v-3492c72c]{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200}.modal[data-v-3492c72c]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);width:680px;max-width:95vw;max-height:85vh;display:flex;flex-direction:column}.modal-header[data-v-3492c72c]{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-title[data-v-3492c72c]{font-size:15px;font-weight:600;color:var(--text);margin:0}.tab-group[data-v-3492c72c]{display:flex;background:var(--surface-2);border-radius:var(--radius-sm);padding:2px;gap:2px}.tab-btn[data-v-3492c72c]{background:transparent;border:none;border-radius:calc(var(--radius-sm) - 2px);padding:4px 12px;font-size:12px;font-weight:500;color:var(--text-muted);cursor:pointer;font-family:inherit;transition:background .15s,color .15s}.tab-btn.active[data-v-3492c72c]{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0003}.modal-header .btn-icon[data-v-3492c72c]{margin-left:auto}.modal-body[data-v-3492c72c]{padding:20px;overflow-y:auto}.scan-loading[data-v-3492c72c]{display:flex;align-items:center;gap:10px;color:var(--text-muted);padding:40px 0;justify-content:center}.scan-empty[data-v-3492c72c]{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 0}.scan-summary[data-v-3492c72c]{display:flex;align-items:center;gap:8px;margin-bottom:14px;flex-wrap:wrap}.ml-auto[data-v-3492c72c]{margin-left:auto}.scan-table-wrap[data-v-3492c72c]{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-sm)}.scan-table[data-v-3492c72c]{width:100%;border-collapse:collapse;font-size:13px}.scan-table th[data-v-3492c72c]{padding:8px 12px;text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);background:var(--surface-2);border-bottom:1px solid var(--border)}.scan-table td[data-v-3492c72c]{padding:8px 12px;border-bottom:1px solid rgba(51,65,85,.4);color:var(--text)}.scan-table tbody tr:last-child td[data-v-3492c72c]{border-bottom:none}.row-vcp td[data-v-3492c72c]{background:#22c55e0f}.td-ticker[data-v-3492c72c]{font-weight:600}.badge[data-v-3492c72c]{font-size:11px;font-weight:600;padding:2px 7px;border-radius:10px}.badge-green[data-v-3492c72c]{background:#22c55e26;color:#22c55e}.badge-blue[data-v-3492c72c]{background:#3b82f626;color:#3b82f6}.badge-dim[data-v-3492c72c]{background:var(--surface-2);color:var(--text-faint)}.badge-cached[data-v-3492c72c]{background:#eab30826;color:#ca8a04}.text-faint[data-v-3492c72c]{color:var(--text-faint);font-size:12px}.pct-green[data-v-3492c72c]{color:#22c55e}.btn-primary[data-v-3492c72c]{background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);padding:8px 20px;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer}.btn-primary[data-v-3492c72c]:hover{opacity:.88}.ticker-link[data-v-3492c72c]{background:none;border:none;color:var(--text);font-weight:600;font-family:inherit;font-size:inherit;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:3px}.ticker-link[data-v-3492c72c]:hover{color:var(--primary)}.chart-modal-overlay[data-v-3492c72c]{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:300}.chart-modal[data-v-3492c72c]{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);width:900px;max-width:96vw;max-height:90vh;overflow:auto}.chart-modal-close[data-v-3492c72c]{position:absolute;top:10px;right:14px;background:none;border:none;color:var(--text-muted);font-size:18px;cursor:pointer;z-index:1}.chart-modal-close[data-v-3492c72c]:hover{color:var(--text)}.modal-overlay[data-v-7886fb2a]{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200}.modal[data-v-7886fb2a]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);width:460px;max-width:95vw}.modal-header[data-v-7886fb2a]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-title[data-v-7886fb2a]{font-size:15px;font-weight:600;color:var(--text);margin:0}.modal-body[data-v-7886fb2a]{padding:20px}.form-grid[data-v-7886fb2a]{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.field[data-v-7886fb2a]{display:flex;flex-direction:column;gap:5px}.field label[data-v-7886fb2a]{font-size:12px;font-weight:500;color:var(--text-muted)}.optional[data-v-7886fb2a]{font-size:11px;color:var(--text-faint);font-weight:400}.results[data-v-7886fb2a]{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px;display:flex;flex-direction:column;gap:10px}.result-row[data-v-7886fb2a]{display:flex;justify-content:space-between;align-items:center}.result-label[data-v-7886fb2a]{font-size:13px;color:var(--text-muted)}.result-value[data-v-7886fb2a]{font-size:13px;font-weight:600;color:var(--text)}.result-value.big[data-v-7886fb2a]{font-size:22px;color:var(--primary)}.highlight[data-v-7886fb2a]{padding:8px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.good[data-v-7886fb2a]{color:#22c55e!important}.ok[data-v-7886fb2a]{color:#f59e0b!important}.bad[data-v-7886fb2a]{color:#ef4444!important}.calc-hint[data-v-7886fb2a]{text-align:center;color:var(--text-faint);font-size:13px;padding:20px 0}.modal-overlay[data-v-33a04c78]{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200}.modal[data-v-33a04c78]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);width:820px;max-width:96vw;max-height:88vh;display:flex;flex-direction:column}.modal-header[data-v-33a04c78]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.modal-title[data-v-33a04c78]{font-size:15px;font-weight:600;color:var(--text);margin:0}.modal-body[data-v-33a04c78]{padding:16px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.controls[data-v-33a04c78]{display:flex;flex-direction:column;gap:10px}.filter-row[data-v-33a04c78]{display:flex;align-items:center;gap:10px}.seg-group[data-v-33a04c78]{display:flex;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0}.seg[data-v-33a04c78]{padding:5px 12px;font-size:12px;font-weight:600;cursor:pointer;background:transparent;border:none;color:var(--text-muted);font-family:inherit}.seg-active[data-v-33a04c78]{background:var(--primary);color:#fff}.search-input[data-v-33a04c78]{flex:1;padding:5px 10px;font-size:13px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:inherit;outline:none}.tag-list[data-v-33a04c78]{display:flex;flex-wrap:wrap;gap:6px}.tag[data-v-33a04c78]{padding:3px 10px;font-size:11px;font-weight:500;border-radius:20px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);cursor:pointer;font-family:inherit}.tag[data-v-33a04c78]:hover{border-color:var(--primary);color:var(--text)}.tag-active[data-v-33a04c78]{background:var(--primary);border-color:var(--primary);color:#fff}.state-msg[data-v-33a04c78]{color:var(--text-faint);font-size:13px;text-align:center;padding:32px 0;display:flex;align-items:center;justify-content:center;gap:8px}.result-header[data-v-33a04c78]{display:flex;align-items:center;gap:10px;margin-bottom:8px}.text-faint[data-v-33a04c78]{color:var(--text-faint);font-size:12px;display:flex;align-items:center;gap:5px}.table-wrap[data-v-33a04c78]{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-sm);max-height:50vh;overflow-y:auto}.scan-table[data-v-33a04c78]{width:100%;border-collapse:collapse;font-size:13px}.scan-table th[data-v-33a04c78]{padding:7px 12px;text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);background:var(--surface-2);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:1}.th-num[data-v-33a04c78]{text-align:right}.scan-table td[data-v-33a04c78]{padding:7px 12px;border-bottom:1px solid rgba(51,65,85,.4);color:var(--text)}.scan-table tbody tr:last-child td[data-v-33a04c78]{border-bottom:none}.scan-table tbody tr:hover td[data-v-33a04c78]{background:var(--surface-2)}.td-ticker[data-v-33a04c78]{font-weight:600}.td-tag[data-v-33a04c78]{font-size:12px;color:var(--text-muted);max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.td-num[data-v-33a04c78],.td-action[data-v-33a04c78]{text-align:right}.wl-select[data-v-33a04c78]{font-size:12px;padding:3px 6px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-family:inherit}.wl-select[data-v-33a04c78]:hover{border-color:var(--primary)}.pct-green[data-v-33a04c78]{color:#22c55e}.pct-red[data-v-33a04c78]{color:#ef4444}.pct-zero[data-v-33a04c78]{color:var(--text-faint)}.spinner[data-v-33a04c78]{width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin-33a04c78 .7s linear infinite;display:inline-block}.spinner-sm[data-v-33a04c78]{width:10px;height:10px}@keyframes spin-33a04c78{to{transform:rotate(360deg)}}.table-section[data-v-902bb6c0]{padding:0 20px 20px}.table-toolbar[data-v-902bb6c0]{display:flex;align-items:center;gap:8px;padding:12px 0 14px;border-bottom:1px solid var(--border);margin-bottom:0}.toolbar-sep[data-v-902bb6c0]{width:1px;height:22px;background:var(--border);flex-shrink:0}.search-input[data-v-902bb6c0]{flex:1;min-width:140px;max-width:280px}.menu-wrapper[data-v-902bb6c0]{position:relative}.actions-dropdown[data-v-902bb6c0]{top:calc(100% + 4px);right:0}.table-wrapper[data-v-902bb6c0]{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--border);margin-top:14px}.stocks-table[data-v-902bb6c0]{width:100%;border-collapse:collapse;font-size:13px}.stocks-table thead tr[data-v-902bb6c0]{background:var(--surface-2);border-bottom:1px solid var(--border)}.stocks-table th[data-v-902bb6c0]{padding:10px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);white-space:nowrap;text-align:left}.th-check[data-v-902bb6c0]{width:36px}.th-color[data-v-902bb6c0]{width:40px;text-align:center}.th-num[data-v-902bb6c0]{text-align:left}.th-actions[data-v-902bb6c0]{width:48px;text-align:center}.th-sortable[data-v-902bb6c0]{cursor:pointer;-webkit-user-select:none;user-select:none;display:table-cell}.th-sortable[data-v-902bb6c0]:hover{color:var(--text-muted)}.stocks-table td[data-v-902bb6c0]{padding:9px 12px;border-bottom:1px solid rgba(51,65,85,.5);color:var(--text);white-space:nowrap}.stocks-table tbody tr:last-child td[data-v-902bb6c0]{border-bottom:none}.stocks-table tbody tr:hover td[data-v-902bb6c0]{background:var(--surface-hover)}.stocks-table tbody tr.row-selected td[data-v-902bb6c0]{background:var(--primary-dim)}.td-num[data-v-902bb6c0]{text-align:left}.td-sector[data-v-902bb6c0]{color:var(--text-muted);max-width:120px;overflow:hidden;text-overflow:ellipsis}.td-actions[data-v-902bb6c0]{text-align:center}.td-check[data-v-902bb6c0]{width:36px}.td-color[data-v-902bb6c0]{text-align:center;width:40px}.td-loading[data-v-902bb6c0],.td-empty[data-v-902bb6c0]{text-align:center;padding:40px;color:var(--text-faint)}.td-loading[data-v-902bb6c0]{display:flex;align-items:center;justify-content:center;gap:10px}.check[data-v-902bb6c0]{width:15px;height:15px;cursor:pointer;accent-color:var(--primary)}.color-cell[data-v-902bb6c0]{position:relative;display:flex;justify-content:center}.color-dot-btn[data-v-902bb6c0]{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.2);cursor:pointer;transition:transform var(--transition),border-color var(--transition)}.color-dot-btn[data-v-902bb6c0]:hover{transform:scale(1.3);border-color:#ffffff80}.color-picker-popup[data-v-902bb6c0]{position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%);z-index:80;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);padding:8px;display:flex;flex-wrap:wrap;gap:4px;width:112px}.color-swatch[data-v-902bb6c0]{width:20px;height:20px;border-radius:50%;border:2px solid transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform var(--transition);color:#fff}.color-swatch[data-v-902bb6c0]:hover,.color-swatch.active[data-v-902bb6c0]{transform:scale(1.2);border-color:#fff9}.ticker-cell[data-v-902bb6c0]{display:flex;align-items:center;gap:5px}.ticker-link[data-v-902bb6c0]{background:none;border:none;padding:0;cursor:pointer;color:var(--text);text-decoration:none;font-weight:600;font-size:13px}.ticker-link[data-v-902bb6c0]:hover{color:var(--primary);text-decoration:underline}.note-indicator[data-v-902bb6c0]{background:none;border:none;color:var(--primary);cursor:pointer;display:flex;align-items:center;padding:2px;border-radius:3px;opacity:.8}.note-indicator[data-v-902bb6c0]:hover{opacity:1;background:var(--primary-dim)}.alert-active[data-v-902bb6c0]{color:var(--primary)!important}.selection-bar[data-v-902bb6c0]{display:flex;align-items:center;gap:8px;padding:8px 0 10px;border-bottom:1px solid var(--border)}.selection-count[data-v-902bb6c0]{font-size:12px;color:var(--text-muted);flex:1}.btn-danger[data-v-902bb6c0]{background:var(--red, #ef4444);color:#fff;border:none;border-radius:var(--radius-sm);padding:4px 10px;font-size:12px;cursor:pointer;display:flex;align-items:center;gap:4px}.btn-danger[data-v-902bb6c0]:hover{opacity:.85}.pct-orange[data-v-902bb6c0]{color:#f59e0b}.institutional-flag[data-v-902bb6c0]{display:inline-block;font-size:11px;font-weight:700;color:#fbbf24;letter-spacing:.05em}.ath-badge[data-v-902bb6c0]{display:inline-block;margin-left:4px;font-size:10px;color:#fbbf24;vertical-align:middle}.td-swing[data-v-902bb6c0]{white-space:nowrap}.swing-badge[data-v-902bb6c0]{display:inline-block;font-size:11px;font-weight:600;padding:1px 5px;border-radius:3px;letter-spacing:.03em}.swing-up[data-v-902bb6c0]{background:#26a69a26;color:#26a69a}.swing-down[data-v-902bb6c0]{background:#ef535026;color:#ef5350}.swing-sideways[data-v-902bb6c0]{background:#6b728026;color:#9ca3af}.swing-unstable[data-v-902bb6c0]{opacity:.55;border:1px dashed currentColor}.swing-coc[data-v-902bb6c0]{margin-left:5px;font-size:11px;color:var(--text-muted)}.data-source-badge[data-v-902bb6c0]{margin-left:4px;font-size:9px;font-weight:600;color:#888;border:1px solid #555;border-radius:3px;padding:0 3px;vertical-align:middle;letter-spacing:.02em}.sort-icon[data-v-902bb6c0]{color:var(--primary);margin-left:2px}.sort-placeholder[data-v-902bb6c0]{display:inline-block;width:12px}.chart-modal-overlay[data-v-902bb6c0]{position:fixed;inset:0;background:#0009;z-index:1000;display:flex;align-items:center;justify-content:center}.chart-modal[data-v-902bb6c0]{position:relative;width:min(1600px,99vw);height:min(1000px,95vh);background:var(--bg-card);border-radius:8px;overflow:hidden;display:flex;flex-direction:column}.chart-modal .chart-shell[data-v-902bb6c0]{flex:1;min-height:0}.chart-modal-close[data-v-902bb6c0]{position:absolute;top:8px;right:8px;z-index:10;background:var(--bg-card);border:1px solid var(--border);border-radius:4px;color:var(--text-muted);cursor:pointer;padding:2px 7px;font-size:14px;line-height:1.4}.chart-modal-close[data-v-902bb6c0]:hover{color:var(--text)}@media(max-width:767px){.table-section[data-v-902bb6c0]{padding:0 8px 20px}.table-toolbar[data-v-902bb6c0]{flex-wrap:wrap;gap:6px;padding:10px 0 12px}.search-input[data-v-902bb6c0]{max-width:none;flex:1 1 120px;order:2}.table-wrapper[data-v-902bb6c0]{max-width:calc(100vw - 16px)}.stocks-table th[data-v-902bb6c0],.stocks-table td[data-v-902bb6c0]{padding:8px 6px;font-size:12px}}.filter-icon[data-v-870845f9]{color:var(--text-faint);flex-shrink:0}.type-placeholder[data-v-870845f9]{color:var(--text-faint)}.all-types-label[data-v-870845f9]{color:var(--text-faint);font-style:italic}.empty-icon[data-v-870845f9]{opacity:.3}.page-header[data-v-870845f9]{margin-bottom:20px}.page-title[data-v-870845f9]{font-size:18px;font-weight:600;color:var(--text)}.filters-row[data-v-870845f9]{display:flex;align-items:center;gap:10px;margin-bottom:20px;flex-wrap:wrap}.filter-search[data-v-870845f9]{flex:1;min-width:200px;max-width:280px}.filter-search .input[data-v-870845f9]{padding-left:34px}.filter-search .input-icon[data-v-870845f9]{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-faint);display:flex;pointer-events:none}.filter-select-wrapper[data-v-870845f9]{position:relative;min-width:180px}.custom-select[data-v-870845f9]{display:flex;align-items:center;gap:6px;width:100%;padding:8px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:13px;font-family:inherit;cursor:pointer;transition:border-color var(--transition)}.custom-select[data-v-870845f9]:hover,.custom-select.open[data-v-870845f9]{border-color:var(--primary)}.select-chevron[data-v-870845f9]{margin-left:auto;color:var(--text-faint);transition:transform .15s;flex-shrink:0}.select-chevron.rotated[data-v-870845f9]{transform:rotate(180deg)}.select-dropdown[data-v-870845f9]{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:100;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);max-height:240px;overflow-y:auto}.select-option[data-v-870845f9]{padding:9px 12px;cursor:pointer;font-size:13px;color:var(--text);transition:background var(--transition)}.select-option[data-v-870845f9]:hover{background:var(--surface-hover)}.select-option.selected[data-v-870845f9]{background:var(--primary-dim);color:var(--primary)}.date-range-group[data-v-870845f9]{display:flex;align-items:center;gap:6px}.date-sep[data-v-870845f9]{color:var(--text-faint);font-size:12px}.date-input[data-v-870845f9]{width:150px}.date-input .input[data-v-870845f9]{padding-left:34px}.date-input .input-icon[data-v-870845f9]{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-faint);display:flex;pointer-events:none}.date-input-plain[data-v-870845f9]{width:140px;padding:8px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:13px;font-family:inherit;outline:none}.date-input-plain[data-v-870845f9]:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-dim)}.announcements-grid[data-v-870845f9]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-bottom:24px}.announcement-card[data-v-870845f9]{display:flex;flex-direction:column;padding:16px;transition:border-color var(--transition),box-shadow var(--transition)}.announcement-card[data-v-870845f9]:hover{border-color:var(--border-light);box-shadow:var(--shadow-lg)}.card-header[data-v-870845f9]{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.card-company[data-v-870845f9]{font-size:14px;font-weight:600;color:var(--text);line-height:1.3}.card-symbol[data-v-870845f9]{font-size:11px;color:var(--primary);font-weight:500;margin-top:2px}.card-date[data-v-870845f9]{font-size:11px;color:var(--text-faint);white-space:nowrap;flex-shrink:0}.card-desc[data-v-870845f9]{font-size:13px;color:var(--text-muted);line-height:1.5;flex:1;margin-bottom:14px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-footer[data-v-870845f9]{display:flex;justify-content:flex-end}.pagination[data-v-870845f9]{display:flex;align-items:center;justify-content:center;gap:6px;padding-top:8px}.page-numbers[data-v-870845f9]{display:flex;align-items:center;gap:4px}.page-btn[data-v-870845f9]{min-width:32px;height:32px;padding:0 6px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition);font-family:inherit}.page-btn[data-v-870845f9]:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.page-btn.active[data-v-870845f9]{background:var(--primary);border-color:var(--primary);color:#fff}.page-btn.ellipsis[data-v-870845f9]{cursor:default;border-color:transparent;background:transparent}.page-info[data-v-870845f9]{font-size:12px;color:var(--text-faint);margin-left:6px}@media(max-width:767px){.filters-row[data-v-870845f9]{gap:8px}.filter-search[data-v-870845f9]{min-width:0;max-width:none;flex:1 1 100%}.filter-select-wrapper[data-v-870845f9]{min-width:0;flex:1}}.breadth-panel[data-v-b8aedf82]{padding:20px;max-width:900px;margin:0 auto}.breadth-header[data-v-b8aedf82]{display:flex;align-items:baseline;gap:12px;margin-bottom:20px}.breadth-title[data-v-b8aedf82]{font-size:18px;font-weight:700;color:var(--text);margin:0}.breadth-date[data-v-b8aedf82]{font-size:12px;color:var(--text-faint)}.breadth-loading[data-v-b8aedf82],.breadth-error[data-v-b8aedf82],.breadth-empty[data-v-b8aedf82]{padding:40px;text-align:center;color:var(--text-muted);font-size:14px}.breadth-error[data-v-b8aedf82]{color:var(--danger, #ef4444)}.breadth-stats[data-v-b8aedf82]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.stat-card[data-v-b8aedf82]{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;display:flex;flex-direction:column;gap:4px}.stat-label[data-v-b8aedf82]{font-size:11px;color:var(--text-faint);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.stat-value[data-v-b8aedf82]{font-size:22px;font-weight:700;color:var(--text);line-height:1}.stat-hint[data-v-b8aedf82]{font-size:11px;color:var(--text-faint)}.breadth-chart-wrap[data-v-b8aedf82]{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:12px 12px 8px;margin-bottom:12px}.chart-legend[data-v-b8aedf82]{display:flex;gap:16px;margin-bottom:8px}.legend-item[data-v-b8aedf82]{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}.legend-dot[data-v-b8aedf82]{width:12px;height:3px;border-radius:2px}.dot-50[data-v-b8aedf82]{background:#60a5fa}.dot-200[data-v-b8aedf82]{background:#f97316}.breadth-svg[data-v-b8aedf82]{width:100%;height:160px;display:block}.grid-line[data-v-b8aedf82]{stroke:var(--border);stroke-width:.5;stroke-dasharray:3 3}.axis-label[data-v-b8aedf82]{font-size:8px;fill:var(--text-faint)}.line-50[data-v-b8aedf82]{stroke:#60a5fa;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}.line-200[data-v-b8aedf82]{stroke:#f97316;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}.breadth-osc-wrap[data-v-b8aedf82]{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:12px 12px 8px}.osc-title[data-v-b8aedf82]{font-size:12px;color:var(--text-muted);font-weight:600;margin-bottom:6px}.osc-svg[data-v-b8aedf82]{width:100%;height:80px;display:block}.osc-bar-pos[data-v-b8aedf82]{fill:#22c55e;opacity:.8}.osc-bar-neg[data-v-b8aedf82]{fill:#ef4444;opacity:.8}@media(max-width:600px){.breadth-stats[data-v-b8aedf82]{grid-template-columns:repeat(2,1fr)}}.chart-view[data-v-8a770ed5]{display:flex;height:100%;overflow:visible;background:var(--bg, #0d1117)}.wl-sidebar[data-v-8a770ed5]{width:200px;flex-shrink:0;display:flex;flex-direction:column;background:var(--surface, #131722);border-right:1px solid var(--border, #2a2f3d);overflow:hidden}.wl-header[data-v-8a770ed5]{padding:8px 8px 6px;border-bottom:1px solid var(--border, #2a2f3d)}.wl-select-wrap[data-v-8a770ed5]{position:relative}.wl-select-btn[data-v-8a770ed5]{display:flex;align-items:center;width:100%;padding:5px 8px;background:var(--surface-2, #1c2035);border:1px solid var(--border, #2a2f3d);border-radius:4px;color:var(--text, #e2e8f0);font-size:12px;font-family:inherit;font-weight:600;cursor:pointer;text-align:left;transition:border-color .15s;gap:4px}.wl-select-btn[data-v-8a770ed5]:hover,.wl-select-btn.open[data-v-8a770ed5]{border-color:var(--primary, #3b82f6)}.wl-select-name[data-v-8a770ed5]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wl-chevron[data-v-8a770ed5]{flex-shrink:0;color:var(--text-faint, #4b5563);transition:transform .15s}.wl-chevron.rotated[data-v-8a770ed5]{transform:rotate(180deg)}.wl-dropdown[data-v-8a770ed5]{position:absolute;top:calc(100% + 3px);left:0;right:0;z-index:200;background:var(--surface, #131722);border:1px solid var(--border, #2a2f3d);border-radius:4px;box-shadow:0 8px 24px #00000080;max-height:200px;overflow-y:auto}.wl-dropdown-item[data-v-8a770ed5]{display:flex;align-items:center;gap:5px;padding:7px 10px;font-size:12px;color:var(--text, #e2e8f0);cursor:pointer;transition:background .1s}.wl-dropdown-item[data-v-8a770ed5]:hover{background:var(--surface-hover, #1e2330)}.wl-dropdown-item.active[data-v-8a770ed5]{background:var(--primary-dim, rgba(59, 130, 246, .12));color:#60a5fa}.wl-fav-icon[data-v-8a770ed5]{color:#f59e0b;flex-shrink:0}.wl-empty-hint[data-v-8a770ed5]{padding:10px;font-size:11px;color:var(--text-faint, #4b5563);text-align:center}.wl-stocks[data-v-8a770ed5]{flex:1;overflow-y:auto;padding:4px 0}.wl-state-msg[data-v-8a770ed5]{padding:16px 10px;font-size:11px;color:var(--text-faint, #4b5563);text-align:center}.wl-stock-row[data-v-8a770ed5]{display:flex;align-items:center;width:100%;padding:6px 10px;background:transparent;border:none;color:var(--text, #e2e8f0);font-family:inherit;font-size:12px;cursor:pointer;transition:background .1s;text-align:left;gap:4px}.wl-stock-row[data-v-8a770ed5]:hover{background:var(--surface-hover, #1e2330)}.wl-stock-row.active[data-v-8a770ed5]{background:var(--primary-dim, rgba(59, 130, 246, .12));border-left:2px solid var(--primary, #3b82f6);padding-left:8px}.wl-ticker[data-v-8a770ed5]{font-weight:700;font-size:12px;letter-spacing:.03em;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wl-right[data-v-8a770ed5]{display:flex;flex-direction:column;align-items:flex-end;gap:1px;flex-shrink:0}.wl-price[data-v-8a770ed5]{font-size:11px;color:var(--text, #e2e8f0);font-variant-numeric:tabular-nums}.wl-change[data-v-8a770ed5]{font-size:10px;font-weight:600;font-variant-numeric:tabular-nums}.wl-change.pos[data-v-8a770ed5]{color:#26a69a}.wl-change.neg[data-v-8a770ed5]{color:#ef5350}.wl-stocks[data-v-8a770ed5]::-webkit-scrollbar{width:4px}.wl-stocks[data-v-8a770ed5]::-webkit-scrollbar-track{background:transparent}.wl-stocks[data-v-8a770ed5]::-webkit-scrollbar-thumb{background:var(--border, #2a2f3d);border-radius:2px}.chart-main[data-v-8a770ed5]{flex:1;min-width:0;min-height:0;padding:12px;display:flex;flex-direction:column;gap:8px}.chart-main[data-v-8a770ed5]>:first-child{flex:1;min-height:0}.swing-panel[data-v-8a770ed5]{flex-shrink:0;background:var(--surface, #131722);border:1px solid var(--border, #2a2f3d);border-radius:6px;padding:8px 12px;display:flex;align-items:center;gap:16px;font-size:12px}.swing-panel--loading[data-v-8a770ed5]{color:var(--text-faint, #4b5563);font-size:11px}.swing-panel-header[data-v-8a770ed5]{display:flex;align-items:center;gap:8px;flex-shrink:0}.swing-trend-badge[data-v-8a770ed5]{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;padding:2px 7px;border-radius:3px;letter-spacing:.04em}.swing-tag[data-v-8a770ed5]{font-size:9px;font-weight:500;opacity:.8;text-transform:uppercase;letter-spacing:.05em}.swing-meta[data-v-8a770ed5]{font-size:11px;color:var(--text-faint, #4b5563);white-space:nowrap}.swing-levels[data-v-8a770ed5]{display:flex;gap:16px;flex-wrap:wrap}.swing-level-row[data-v-8a770ed5]{display:flex;align-items:baseline;gap:4px}.swing-label[data-v-8a770ed5]{font-size:10px;font-weight:600;color:var(--text-faint, #4b5563);text-transform:uppercase;letter-spacing:.06em}.swing-value[data-v-8a770ed5]{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.swing-coc-val[data-v-8a770ed5]{color:#f59e0b}.swing-up-val[data-v-8a770ed5]{color:#26a69a}.swing-down-val[data-v-8a770ed5]{color:#ef5350}.swing-date[data-v-8a770ed5]{font-size:10px;color:var(--text-faint, #4b5563)}.swing-up[data-v-8a770ed5]{background:#26a69a26;color:#26a69a}.swing-down[data-v-8a770ed5]{background:#ef535026;color:#ef5350}.swing-sideways[data-v-8a770ed5]{background:#6b728026;color:#9ca3af}@media(max-width:640px){.chart-view[data-v-8a770ed5]{flex-direction:column}.wl-sidebar[data-v-8a770ed5]{width:100%;height:auto;flex-direction:row;border-right:none;border-top:1px solid var(--border, #2a2f3d);order:2;flex-shrink:0;overflow:visible}.wl-header[data-v-8a770ed5]{width:120px;flex-shrink:0;padding:6px;border-bottom:none;border-right:1px solid var(--border, #2a2f3d);display:flex;align-items:flex-start;overflow:visible;z-index:300}.wl-select-wrap[data-v-8a770ed5]{width:100%}.wl-dropdown[data-v-8a770ed5]{top:auto;bottom:calc(100% + 4px);left:0;min-width:180px;max-height:240px}.wl-dropdown-item[data-v-8a770ed5]{padding:11px 12px;font-size:13px}.wl-stocks[data-v-8a770ed5]{flex:1;display:flex;flex-direction:row;overflow-x:auto;overflow-y:hidden;padding:4px 0}.wl-stock-row[data-v-8a770ed5]{flex-direction:column;align-items:flex-start;width:auto;min-width:72px;padding:5px 8px;border-bottom:none;border-right:1px solid var(--border, #2a2f3d);white-space:nowrap;gap:2px;flex-shrink:0}.wl-stock-row.active[data-v-8a770ed5]{border-left:none;border-bottom:2px solid var(--primary, #3b82f6);padding-left:8px;background:var(--primary-dim, rgba(59, 130, 246, .12))}.wl-right[data-v-8a770ed5]{align-items:flex-start}.wl-sidebar[data-v-8a770ed5]{max-height:88px;overflow:visible}.wl-header[data-v-8a770ed5]{align-self:stretch}.chart-main[data-v-8a770ed5]{flex:1;min-height:0;padding:4px;order:1}}.journal[data-v-f33879be]{padding:0 20px 20px}.stats-bar[data-v-f33879be]{display:flex;gap:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:16px 0;overflow:hidden}.stat[data-v-f33879be]{flex:1;padding:14px 16px;border-right:1px solid var(--border);text-align:center}.stat[data-v-f33879be]:last-child{border-right:none}.stat-value[data-v-f33879be]{font-size:18px;font-weight:700;color:var(--text)}.stat-label[data-v-f33879be]{font-size:11px;color:var(--text-faint);margin-top:2px;text-transform:uppercase;letter-spacing:.05em}.toolbar[data-v-f33879be]{display:flex;align-items:center;justify-content:space-between;padding:12px 0 14px;border-bottom:1px solid var(--border)}.filter-tabs[data-v-f33879be]{display:flex;gap:4px}.filter-tab[data-v-f33879be]{padding:5px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:none;color:var(--text-muted);font-size:12px;font-family:inherit;cursor:pointer;transition:all var(--transition)}.filter-tab[data-v-f33879be]:hover{background:var(--surface-hover);color:var(--text)}.filter-tab.active[data-v-f33879be]{background:var(--primary-dim);color:var(--primary);border-color:var(--primary);font-weight:600}.table-wrap[data-v-f33879be]{border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto;margin-top:14px}.journal-table[data-v-f33879be]{width:100%;border-collapse:collapse;font-size:13px}.journal-table th[data-v-f33879be]{padding:9px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap;text-align:left}.journal-table td[data-v-f33879be]{padding:9px 12px;border-bottom:1px solid rgba(51,65,85,.4);color:var(--text);white-space:nowrap}.journal-table tbody tr:last-child td[data-v-f33879be]{border-bottom:none}.journal-table tbody tr:hover td[data-v-f33879be]{background:var(--surface-hover)}.row-closed td[data-v-f33879be]{opacity:.85}.row-stopped td[data-v-f33879be]{opacity:.7}.td-center[data-v-f33879be]{text-align:center;padding:40px}.td-empty[data-v-f33879be]{color:var(--text-faint)}.td-ticker[data-v-f33879be]{font-weight:600}.td-actions-cell[data-v-f33879be]{display:flex;gap:4px;align-items:center}.dir-long[data-v-f33879be]{color:#22c55e;font-weight:700}.dir-short[data-v-f33879be]{color:#ef4444;font-weight:700}.status-open[data-v-f33879be]{color:var(--primary);font-weight:600}.status-closed[data-v-f33879be]{color:#22c55e}.status-stopped[data-v-f33879be]{color:#ef4444}.good[data-v-f33879be]{color:#22c55e}.ok[data-v-f33879be]{color:#f59e0b}.bad[data-v-f33879be]{color:#ef4444}.danger-btn[data-v-f33879be]{color:#ef4444!important}.modal-overlay[data-v-f33879be]{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200}.modal[data-v-f33879be]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);width:540px;max-width:95vw;max-height:90vh;overflow-y:auto}.modal-sm[data-v-f33879be]{width:380px}.modal-header[data-v-f33879be]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-title[data-v-f33879be]{font-size:15px;font-weight:600;color:var(--text);margin:0}.modal-body[data-v-f33879be]{padding:20px}.form-grid[data-v-f33879be]{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.field[data-v-f33879be]{display:flex;flex-direction:column;gap:5px}.field.full[data-v-f33879be]{grid-column:1 / -1}.field label[data-v-f33879be]{font-size:12px;font-weight:500;color:var(--text-muted)}.textarea[data-v-f33879be]{resize:vertical;min-height:56px}.rr-preview[data-v-f33879be]{text-align:center;font-size:13px;color:var(--text-muted);margin-bottom:14px;padding:8px;background:var(--surface-2);border-radius:var(--radius-sm)}.full-btn[data-v-f33879be]{width:100%;justify-content:center}.btn-primary[data-v-f33879be]{display:flex;align-items:center;gap:6px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);padding:9px 16px;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer}.btn-primary[data-v-f33879be]:hover{opacity:.88}@media(max-width:767px){.journal[data-v-f33879be]{padding:0 10px 20px}.stats-bar[data-v-f33879be]{flex-wrap:wrap}.stat[data-v-f33879be]{flex:1 1 45%}.toolbar[data-v-f33879be]{flex-wrap:wrap;gap:8px}.filter-tabs[data-v-f33879be]{flex-wrap:wrap}.form-grid[data-v-f33879be]{grid-template-columns:1fr}.field.full[data-v-f33879be]{grid-column:1}.journal-table th[data-v-f33879be]:nth-child(8),.journal-table td[data-v-f33879be]:nth-child(8),.journal-table th[data-v-f33879be]:nth-child(9),.journal-table td[data-v-f33879be]:nth-child(9){display:none}.modal[data-v-f33879be]{width:100%!important;max-width:100%!important;border-radius:var(--radius) var(--radius) 0 0}.modal-overlay[data-v-f33879be]{align-items:flex-end}}.guide-wrap[data-v-7770ddf8]{padding:28px 24px;max-width:820px;margin:0 auto}.guide-content[data-v-7770ddf8]{display:flex;flex-direction:column;gap:32px}.guide-hero[data-v-7770ddf8]{display:flex;align-items:center;gap:16px}.hero-icon[data-v-7770ddf8]{width:52px;height:52px;background:linear-gradient(135deg,#3b82f626,#6366f126);border:1px solid rgba(96,165,250,.3);border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.guide-title[data-v-7770ddf8]{font-size:20px;font-weight:700;color:var(--text);margin:0 0 4px}.guide-subtitle[data-v-7770ddf8]{font-size:13px;color:var(--text-muted);margin:0}.guide-section[data-v-7770ddf8]{display:flex;flex-direction:column;gap:14px}.section-heading[data-v-7770ddf8]{font-size:14px;font-weight:700;color:var(--text);text-transform:uppercase;letter-spacing:.06em;margin:0;padding-bottom:8px;border-bottom:1px solid var(--border)}.prose[data-v-7770ddf8]{font-size:13px;color:var(--text-muted);line-height:1.7;margin:0}.prose strong[data-v-7770ddf8]{color:var(--text)}.diagram-box[data-v-7770ddf8]{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px 20px;overflow-x:auto}.diagram[data-v-7770ddf8]{font-family:Courier New,Courier,monospace;font-size:12px;color:var(--text-muted);margin:0;white-space:pre;line-height:1.5}.cards-row[data-v-7770ddf8]{display:flex;flex-direction:column;gap:10px}.info-card[data-v-7770ddf8]{display:flex;gap:14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px}.card-num[data-v-7770ddf8]{font-size:18px;font-weight:800;color:var(--primary);min-width:24px;line-height:1;padding-top:2px}.card-title[data-v-7770ddf8]{font-size:13px;font-weight:600;color:var(--text);margin-bottom:4px}.card-desc[data-v-7770ddf8]{font-size:12px;color:var(--text-muted);line-height:1.6}.card-desc em[data-v-7770ddf8]{color:var(--text);font-style:normal;font-weight:600}.guide-table[data-v-7770ddf8]{width:100%;border-collapse:collapse;font-size:13px;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.guide-table th[data-v-7770ddf8]{background:var(--surface-2);padding:9px 14px;text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);border-bottom:1px solid var(--border)}.guide-table td[data-v-7770ddf8]{padding:10px 14px;color:var(--text-muted);border-bottom:1px solid rgba(51,65,85,.4)}.guide-table tbody tr:last-child td[data-v-7770ddf8]{border-bottom:none}.guide-table td strong[data-v-7770ddf8]{color:var(--text)}.interp-list[data-v-7770ddf8]{display:flex;flex-direction:column;gap:10px}.interp-row[data-v-7770ddf8]{display:flex;align-items:flex-start;gap:12px;padding:10px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.interp-text[data-v-7770ddf8]{font-size:13px;color:var(--text-muted);line-height:1.5;flex:1}.badge[data-v-7770ddf8]{font-size:11px;font-weight:600;padding:3px 8px;border-radius:10px;white-space:nowrap;flex-shrink:0}.badge-green[data-v-7770ddf8]{background:#22c55e26;color:#22c55e}.badge-blue[data-v-7770ddf8]{background:#3b82f626;color:#3b82f6}.badge-dim[data-v-7770ddf8]{background:var(--surface-2);color:var(--text-faint);border:1px solid var(--border)}.callout[data-v-7770ddf8]{display:flex;gap:12px;background:#facc1512;border:1px solid rgba(250,204,21,.25);border-radius:var(--radius-sm);padding:14px 16px}.callout-icon[data-v-7770ddf8]{flex-shrink:0;padding-top:2px}.callout-title[data-v-7770ddf8]{font-size:13px;font-weight:600;color:var(--text);margin-bottom:4px}.callout-body[data-v-7770ddf8]{font-size:12px;color:var(--text-muted);line-height:1.6}.callout-body strong[data-v-7770ddf8]{color:var(--text)}.guide-wrap[data-v-4440d368]{padding:28px 24px;max-width:820px;margin:0 auto}.guide-content[data-v-4440d368]{display:flex;flex-direction:column;gap:32px}.guide-hero[data-v-4440d368]{display:flex;align-items:center;gap:16px}.hero-icon[data-v-4440d368]{width:52px;height:52px;background:linear-gradient(135deg,#26a69a26,#6366f126);border:1px solid rgba(38,166,154,.3);border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.guide-title[data-v-4440d368]{font-size:20px;font-weight:700;color:var(--text);margin:0 0 4px}.guide-subtitle[data-v-4440d368]{font-size:13px;color:var(--text-muted);margin:0}.guide-section[data-v-4440d368]{display:flex;flex-direction:column;gap:14px}.section-heading[data-v-4440d368]{font-size:14px;font-weight:700;color:var(--text);text-transform:uppercase;letter-spacing:.06em;margin:0;padding-bottom:8px;border-bottom:1px solid var(--border)}.prose[data-v-4440d368]{font-size:13px;color:var(--text-muted);line-height:1.7;margin:0}.prose strong[data-v-4440d368]{color:var(--text)}.cards-row[data-v-4440d368]{display:flex;flex-direction:column;gap:10px}.info-card[data-v-4440d368]{display:flex;gap:14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px}.info-card.compact[data-v-4440d368]{gap:12px;padding:12px 14px}.ratio-name[data-v-4440d368]{font-size:16px;font-weight:800;min-width:32px;line-height:1;padding-top:2px}.ratio-desc[data-v-4440d368]{flex:1}.ratio-title[data-v-4440d368]{font-size:13px;font-weight:600;color:var(--text);margin-bottom:2px}.ratio-detail[data-v-4440d368]{font-size:12px;color:var(--text-muted);line-height:1.5}.interpretation[data-v-4440d368]{display:flex;flex-direction:column;gap:12px}.interp-item[data-v-4440d368]{padding:12px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.interp-label[data-v-4440d368]{font-size:13px;color:var(--text);margin-bottom:6px;display:block}.interp-label strong[data-v-4440d368]{font-weight:600}.interp-desc[data-v-4440d368]{font-size:12px;color:var(--text-muted);line-height:1.6}.callout[data-v-4440d368]{display:flex;gap:12px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px}.callout.highlight[data-v-4440d368]{background:#26a69a12;border-color:#26a69a40}.callout-icon[data-v-4440d368]{flex-shrink:0;padding-top:2px}.callout-title[data-v-4440d368]{font-size:13px;font-weight:600;color:var(--text);margin-bottom:4px}.callout-body[data-v-4440d368]{font-size:12px;color:var(--text-muted);line-height:1.6}.callout-body strong[data-v-4440d368]{color:var(--text)}.usecases[data-v-4440d368]{display:flex;flex-direction:column;gap:12px}.usecase[data-v-4440d368]{display:flex;gap:14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px}.uc-num[data-v-4440d368]{font-size:18px;font-weight:800;color:var(--primary);min-width:24px;line-height:1;padding-top:2px}.uc-body[data-v-4440d368]{flex:1}.uc-title[data-v-4440d368]{font-size:13px;font-weight:600;color:var(--text);margin-bottom:4px}.uc-desc[data-v-4440d368]{font-size:12px;color:var(--text-muted);line-height:1.6}.guide-table[data-v-4440d368]{width:100%;border-collapse:collapse;font-size:13px;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.guide-table th[data-v-4440d368]{background:var(--surface-2);padding:9px 14px;text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);border-bottom:1px solid var(--border)}.guide-table td[data-v-4440d368]{padding:10px 14px;color:var(--text-muted);border-bottom:1px solid rgba(51,65,85,.4)}.guide-table tbody tr:last-child td[data-v-4440d368]{border-bottom:none}.guide-table td strong[data-v-4440d368]{color:var(--text)}.note-box[data-v-4440d368]{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px}.note-label[data-v-4440d368]{font-size:12px;font-weight:600;color:var(--text);margin-bottom:8px}.note-body[data-v-4440d368]{font-size:12px;color:var(--text-muted);line-height:1.6}.note-body p[data-v-4440d368]{margin:0 0 8px}.note-body p[data-v-4440d368]:last-child{margin-bottom:0}.note-body strong[data-v-4440d368]{color:var(--text)}.guide-wrap[data-v-61d3a239]{padding:24px 16px;max-width:860px;margin:0 auto}.guide-content[data-v-61d3a239]{display:flex;flex-direction:column;gap:32px}.guide-hero[data-v-61d3a239]{display:flex;align-items:center;gap:16px;padding:24px;background:var(--color-surface-2, #1e293b);border-radius:12px;border:1px solid var(--color-border, #334155)}.hero-icon[data-v-61d3a239]{flex-shrink:0;width:48px;height:48px;background:#60a5fa1a;border-radius:10px;display:flex;align-items:center;justify-content:center}.guide-title[data-v-61d3a239]{font-size:1.25rem;font-weight:600;color:var(--color-text, #f1f5f9);margin:0 0 4px}.guide-subtitle[data-v-61d3a239]{font-size:.85rem;color:var(--color-text-muted, #94a3b8);margin:0}.guide-section[data-v-61d3a239]{display:flex;flex-direction:column;gap:12px}.section-heading[data-v-61d3a239]{font-size:1rem;font-weight:600;color:var(--color-text, #f1f5f9);border-bottom:1px solid var(--color-border, #334155);padding-bottom:8px;margin:0}.subsection-heading[data-v-61d3a239]{font-size:.875rem;font-weight:600;color:var(--color-text-muted, #94a3b8);margin:8px 0 0}.prose[data-v-61d3a239]{font-size:.875rem;color:var(--color-text-secondary, #cbd5e1);line-height:1.6;margin:0}.table-wrap[data-v-61d3a239]{overflow-x:auto}.guide-table[data-v-61d3a239]{width:100%;border-collapse:collapse;font-size:.8125rem}.guide-table th[data-v-61d3a239]{text-align:left;padding:8px 12px;background:var(--color-surface-2, #1e293b);color:var(--color-text-muted, #94a3b8);font-weight:500;border-bottom:1px solid var(--color-border, #334155)}.guide-table td[data-v-61d3a239]{padding:7px 12px;color:var(--color-text-secondary, #cbd5e1);border-bottom:1px solid var(--color-border-subtle, #1e293b);vertical-align:top}.guide-table td[data-v-61d3a239]:first-child{color:var(--color-text, #f1f5f9);font-weight:500;white-space:nowrap}.guide-table code[data-v-61d3a239]{font-family:monospace;font-size:.8em;background:#60a5fa1a;color:#93c5fd;padding:1px 5px;border-radius:4px}.cards-row[data-v-61d3a239]{display:flex;flex-wrap:wrap;gap:12px}.info-card[data-v-61d3a239]{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:var(--color-surface-2, #1e293b);border:1px solid var(--color-border, #334155);border-radius:8px;flex:1 1 200px}.card-num[data-v-61d3a239]{flex-shrink:0;min-width:28px;height:28px;border-radius:6px;background:#60a5fa26;color:#60a5fa;font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center}.color-dot[data-v-61d3a239]{flex-shrink:0;width:14px;height:14px;border-radius:50%;margin-top:3px}.card-title[data-v-61d3a239]{font-size:.8125rem;font-weight:600;color:var(--color-text, #f1f5f9);margin-bottom:4px}.card-desc[data-v-61d3a239]{font-size:.775rem;color:var(--color-text-muted, #94a3b8);line-height:1.5}.tip-box[data-v-61d3a239]{padding:12px 16px;background:#60a5fa14;border-left:3px solid #60a5fa;border-radius:0 6px 6px 0;font-size:.8125rem;color:var(--color-text-secondary, #cbd5e1);line-height:1.6}.workflow-steps[data-v-61d3a239]{display:flex;flex-direction:column;gap:10px}.workflow-step[data-v-61d3a239]{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;background:var(--color-surface-2, #1e293b);border:1px solid var(--color-border, #334155);border-radius:8px}.step-num[data-v-61d3a239]{flex-shrink:0;width:24px;height:24px;background:#60a5fa;color:#0f172a;font-size:.75rem;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center}.step-text[data-v-61d3a239]{font-size:.8125rem;color:var(--color-text-secondary, #cbd5e1);line-height:1.5}.alerts-page[data-v-d8cbf75a]{padding:20px;max-width:700px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.page-header[data-v-d8cbf75a]{display:flex;align-items:center;justify-content:space-between;gap:12px}.tabs[data-v-d8cbf75a]{display:flex;gap:4px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px}.tab[data-v-d8cbf75a]{display:flex;align-items:center;gap:6px;padding:6px 14px;border-radius:calc(var(--radius-sm) - 2px);background:none;border:none;color:var(--text-muted);font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:all var(--transition)}.tab.active[data-v-d8cbf75a]{background:var(--surface);color:var(--text);font-weight:600;box-shadow:0 1px 3px #00000026}.badge[data-v-d8cbf75a]{font-size:11px;font-weight:700;background:var(--surface-hover);color:var(--text-muted);border-radius:10px;padding:1px 6px}.triggered-badge[data-v-d8cbf75a]{background:var(--primary-dim);color:var(--primary)}.empty-msg[data-v-d8cbf75a]{color:var(--text-faint);font-size:13px;text-align:center;padding:32px 0}.watchlist-group[data-v-d8cbf75a]{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.group-header[data-v-d8cbf75a]{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint);padding:0 2px 2px;border-bottom:1px solid var(--border)}.alerts-list[data-v-d8cbf75a]{display:flex;flex-direction:column;gap:5px}.alert-row[data-v-d8cbf75a]{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);font-size:13px}.alert-row.triggered[data-v-d8cbf75a]{border-color:var(--primary);background:var(--primary-dim)}.ticker[data-v-d8cbf75a]{font-weight:700;color:var(--text);min-width:52px;font-size:13px}.alert-type[data-v-d8cbf75a]{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);white-space:nowrap}.alert-val[data-v-d8cbf75a]{font-weight:600;color:var(--text);flex:1}.triggered-tag[data-v-d8cbf75a]{font-size:11px;color:var(--primary);font-weight:600;white-space:nowrap}.danger-icon[data-v-d8cbf75a]{color:var(--text-faint);margin-left:auto}.danger-icon[data-v-d8cbf75a]:hover{color:#f87171}@keyframes spin-d8cbf75a{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinning[data-v-d8cbf75a]{animation:spin-d8cbf75a .7s linear infinite}.heatmap-page[data-v-38314f91]{padding:20px;max-width:1100px;margin:0 auto}.heatmap-header[data-v-38314f91]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.heatmap-title[data-v-38314f91]{font-size:16px;font-weight:600;display:flex;align-items:center;gap:8px}.as-of-label[data-v-38314f91]{font-size:11px;font-weight:400;color:var(--text-secondary, #888)}.header-controls[data-v-38314f91]{display:flex;align-items:center;gap:12px}.period-tabs[data-v-38314f91]{display:flex;gap:4px}.period-tab[data-v-38314f91]{background:transparent;border:1px solid transparent;border-radius:4px;color:var(--text-muted);cursor:pointer;font-size:11px;font-family:inherit;font-weight:500;padding:3px 8px;transition:all .15s}.period-tab[data-v-38314f91]:hover{background:var(--surface-hover);color:var(--text)}.period-tab.active[data-v-38314f91]{background:var(--primary-dim);border-color:var(--primary);color:#60a5fa;font-weight:600}.state-msg[data-v-38314f91]{color:var(--text-faint);font-size:13px;text-align:center;padding:24px 0;display:flex;align-items:center;justify-content:center;gap:8px}.state-msg.error[data-v-38314f91]{color:#ef5350}.spinner[data-v-38314f91]{width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;display:inline-block;animation:spin-38314f91 .8s linear infinite}@keyframes spin-38314f91{to{transform:rotate(360deg)}}.heatmap-grid[data-v-38314f91]{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.sector-tile[data-v-38314f91]{border-radius:var(--radius-sm);border:1px solid var(--border);padding:14px 16px;display:flex;flex-direction:column;gap:4px;transition:opacity .15s;cursor:pointer}.sector-tile[data-v-38314f91]:hover{opacity:.85}.sector-tile.expanded[data-v-38314f91]{border-color:var(--primary)}.stock-panel[data-v-38314f91]{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);padding:12px 16px;margin-top:-2px}.stock-row[data-v-38314f91]{display:flex;align-items:center;justify-content:space-between;font-size:12px;padding:3px 0}.stock-symbol[data-v-38314f91]{color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.stock-symbol[data-v-38314f91]:hover{color:#60a5fa;text-decoration:underline}.stock-pct[data-v-38314f91]{font-weight:600;font-variant-numeric:tabular-nums}.chart-modal-overlay[data-v-38314f91]{position:fixed;inset:0;background:#0009;z-index:1000;display:flex;align-items:center;justify-content:center}.chart-modal[data-v-38314f91]{position:relative;width:min(1600px,99vw);height:min(1000px,95vh);background:var(--bg-card);border-radius:8px;overflow:hidden;display:flex;flex-direction:column}.chart-modal-close[data-v-38314f91]{position:absolute;top:8px;right:8px;z-index:10;background:var(--bg-card);border:1px solid var(--border);border-radius:4px;color:var(--text-muted);cursor:pointer;padding:2px 7px;font-size:14px;line-height:1.4}.chart-modal-close[data-v-38314f91]:hover{color:var(--text)}.tile-sector[data-v-38314f91]{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile-pct[data-v-38314f91]{font-size:20px;font-weight:700}.pos[data-v-38314f91]{color:#26a69a}.neg[data-v-38314f91]{color:#ef5350}.tile-meta[data-v-38314f91]{font-size:10px;color:var(--text-faint)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0f172a;--surface: #1e293b;--surface-2: #1a2438;--surface-hover: #2d3f57;--border: #334155;--border-light: #475569;--primary: #3b82f6;--primary-hover: #2563eb;--primary-dim: rgba(59, 130, 246, .15);--text: #e2e8f0;--text-muted: #94a3b8;--text-faint: #64748b;--green: #22c55e;--red: #ef4444;--yellow: #eab308;--radius: 10px;--radius-sm: 6px;--sidebar-width: 240px;--topbar-height: 56px;--transition: .15s ease;--shadow: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -2px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 25px -5px rgba(0, 0, 0, .5), 0 4px 10px -5px rgba(0, 0, 0, .4)}html.light{--bg: #f1f5f9;--surface: #ffffff;--surface-2: #f8fafc;--surface-hover: #f1f5f9;--border: #e2e8f0;--border-light: #cbd5e1;--text: #0f172a;--text-muted: #64748b;--text-faint: #94a3b8;--shadow: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1)}html{height:100%;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--bg);color:var(--text);height:100%}#app{height:100%}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:var(--radius-sm);border:1px solid transparent;font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition);white-space:nowrap;text-decoration:none;line-height:1.4}.btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn-secondary{background:var(--surface-2);color:var(--text);border-color:var(--border)}.btn-secondary:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-light)}.btn-ghost{background:transparent;color:var(--text-muted);border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.btn-danger{background:transparent;color:var(--red);border-color:transparent}.btn-danger:hover:not(:disabled){background:#ef44441a}.btn-danger-solid{background:var(--red);color:#fff;border-color:var(--red)}.btn-danger-solid:hover:not(:disabled){background:#dc2626;border-color:#dc2626}.btn-icon{padding:6px;line-height:1}.btn-sm{padding:4px 10px;font-size:12px}.input{display:block;width:100%;padding:8px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:13px;font-family:inherit;transition:border-color var(--transition),box-shadow var(--transition);outline:none}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-dim)}.input::placeholder{color:var(--text-faint)}.input:disabled{opacity:.5;cursor:not-allowed}textarea.input{resize:vertical;min-height:90px;line-height:1.6}.input-wrapper{position:relative}.input-wrapper .input{padding-left:34px}.input-wrapper .input-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-faint);pointer-events:none;display:flex;align-items:center}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:12px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.form-error{font-size:12px;color:var(--red)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.modal-backdrop{position:fixed;inset:0;background:#000000a6;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:200;display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .12s ease}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);width:100%;max-height:90vh;overflow-y:auto;animation:slideUp .15s ease}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-title{font-size:15px;font-weight:600;color:var(--text)}.modal-body{padding:20px}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--border)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.dropdown-menu{position:absolute;z-index:100;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);min-width:160px;overflow:hidden;animation:slideUp .1s ease}.dropdown-item{display:flex;align-items:center;gap:8px;padding:9px 14px;cursor:pointer;color:var(--text);font-size:13px;transition:background var(--transition);border:none;background:transparent;width:100%;text-align:left}.dropdown-item:hover{background:var(--surface-hover)}.dropdown-item.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.dropdown-item.danger{color:var(--red)}.dropdown-divider{height:1px;background:var(--border);margin:4px 0}.chip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:var(--primary-dim);color:var(--primary);border:1px solid rgba(59,130,246,.3);border-radius:999px;font-size:12px;font-weight:500}.chip-remove{cursor:pointer;opacity:.7;display:flex;align-items:center;background:none;border:none;color:inherit;padding:0}.chip-remove:hover{opacity:1}.spinner{display:inline-block;width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .6s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.spinner-lg{width:28px;height:28px}.pct-green{color:var(--green);font-weight:600}.pct-red{color:var(--red);font-weight:600}.pct-zero{color:var(--text-muted)}.page-container{padding:20px;max-width:100%}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:48px 20px;color:var(--text-faint);font-size:14px}.divider{height:1px;background:var(--border);margin:12px 0}@media(max-width:767px){input,textarea,select{font-size:16px!important}body{padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.modal-backdrop{align-items:flex-end;padding:0}.modal{border-radius:var(--radius) var(--radius) 0 0;max-height:92vh}.btn{min-height:40px}.btn-icon{min-width:40px;min-height:40px}}
