@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Syne:wght@600;700;800&display=swap";:root{--font-sans: "Inter", "Segoe UI", "Open Sans", system-ui, sans-serif;--font-display: "Plus Jakarta Sans", var(--font-sans);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 14px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--surface-elevated: var(--bg-card);--surface-border: var(--border-light);--shadow-sm: 0 1px 2px rgba(26, 31, 43, .06);--shadow-card: 0 1px 2px rgba(26, 31, 43, .04), 0 6px 16px rgba(26, 31, 43, .07);--shadow-card-hover: 0 8px 22px rgba(26, 31, 43, .1);--shadow-md: 0 4px 20px rgba(26, 31, 43, .08);--badge-ready-bg: #e8f4f2;--badge-ready-fg: #0f766e;--badge-muted-bg: #f0f2f5;--badge-muted-fg: #5b6472;--badge-success-bg: #ecfdf5;--badge-success-fg: #047857;--label-muted: #334155}html.theme-dark{--surface-elevated: var(--bg-card);--surface-border: var(--border-light);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow-card: 0 2px 8px rgba(0, 0, 0, .35), 0 8px 24px rgba(0, 0, 0, .25);--shadow-md: 0 8px 28px rgba(0, 0, 0, .45);--badge-ready-bg: rgba(20, 184, 166, .18);--badge-ready-fg: #5eead4;--badge-muted-bg: rgba(42, 49, 64, .65);--badge-muted-fg: #9aa4b2;--badge-success-bg: rgba(52, 211, 153, .14);--badge-success-fg: #6ee7b7;--label-muted: #9aa4b2}.ui-card{background:var(--surface-elevated);border:1px solid var(--surface-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);color:var(--text-primary)}html:not(.theme-dark) .ui-card{border-color:var(--border-light)}html:not(.theme-dark) .ui-btn-primary{box-shadow:0 1px 2px #1d4ed833}.ui-card__title{margin:0;font-size:.9375rem;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.ui-card__desc{margin:4px 0 0;font-size:.8125rem;color:var(--text-secondary);line-height:1.45}.ui-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:6px;font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;line-height:1}.ui-badge--ready{background:var(--badge-ready-bg);color:var(--badge-ready-fg)}.ui-badge--muted{background:var(--badge-muted-bg);color:var(--badge-muted-fg)}.ui-badge--success{background:var(--badge-success-bg);color:var(--badge-success-fg)}.ui-btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:9px 14px;border:none;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:600;cursor:pointer;background:var(--primary);color:var(--btn-primary-fg, #fff);box-shadow:var(--shadow-sm);transition:filter .15s ease,transform .15s ease}.ui-btn-primary:hover:not(:disabled){filter:brightness(1.06)}.ui-btn-primary:disabled{opacity:.55;cursor:not-allowed;background:var(--badge-muted-bg);color:var(--badge-muted-fg);box-shadow:none}.ui-btn-ghost{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:var(--radius-sm);border:1px solid var(--surface-border);background:var(--surface-elevated);color:var(--text-primary);font-size:.8125rem;font-weight:500;cursor:pointer}.ui-btn-ghost:hover:not(:disabled){background:var(--bg-muted)}.ui-meta-line{font-size:.8125rem;color:var(--text-secondary)}.ui-meta-line strong{color:var(--text-primary);font-weight:600}.app-page{color:var(--text-primary)}html:not(.theme-dark) .page-header-subtitle,html:not(.theme-dark) .app-message--loading,html:not(.theme-dark) .app-message--empty{color:var(--text-secondary);font-weight:500}html:not(.theme-dark) .page-header{border-bottom-color:var(--border-light)}.app-page h1,.app-page h2,.app-page h3,.app-page h4,.app-page strong{color:var(--text-primary)}.app-page p{color:var(--text-secondary)}.app-page td,.app-page th{color:inherit}html:not(.theme-dark) .app-page span:not([class]){color:var(--text-secondary);opacity:1}html:not(.theme-dark) .app-page p{opacity:1}.app-page .settings-v2-page label{color:var(--text-label, var(--text-primary))}html:not(.theme-dark) .app-page .settings-v2-page .settings-v2-field-hint,html:not(.theme-dark) .app-page .settings-v2-page .settings-v2-signals-panel__desc,html:not(.theme-dark) .app-page .settings-v2-page .settings-v2-toggle-row p{color:var(--text-secondary)}.app-page table thead{background:var(--bg-muted)}.app-page table thead th{color:var(--text-label, var(--text-secondary));font-weight:600;border-bottom:1px solid var(--border-light)}html:not(.theme-dark) .app-page table thead th{color:var(--text-label);background:var(--bg-muted)}.app-page table tbody td{color:var(--text-primary);border-bottom:1px solid var(--border-light)}.app-page table tbody tr:hover{background:var(--bg-muted)}.app-page svg.lucide,.settings-v2-page svg.lucide{color:var(--icon-fg);stroke:currentColor}.app-header svg.lucide{color:var(--header-icon-fg);stroke:var(--header-icon-fg);fill:none}.app-header .search-wrapper svg.lucide{color:var(--header-icon-fg);stroke:var(--header-icon-fg)}.app-page .settings-v2-btn svg.lucide,.app-page .settings-v2-tab.active svg.lucide,.app-page .settings-v2-avatar{color:var(--icon-on-primary)}.app-page .settings-v2-input-group label svg.lucide,.app-page .alerts-header svg.lucide,.app-page .settings-v2-security-icon svg.lucide,.app-page .settings-v2-client-badge svg.lucide{color:var(--primary)}.app-page .settings-v2-delete-btn svg.lucide{color:var(--danger)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box;font-family:var(--font-main)}html,body{width:100%;height:100%}body{font-family:var(--font-main);background-color:var(--bg-main);color:var(--text-primary)}.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}:root{--font-main: "Inter", "Segoe UI", "Open Sans", system-ui, sans-serif;--bg-main: #eef2f7;--bg-card: #ffffff;--bg-muted: #e8edf4;--bg-subtle: #f4f7fb;--text-primary: #0f172a;--text-secondary: #161616;--text-muted: #5b6472;--text-label: #1e293b;--text-inverse: #ffffff;--border-light: #c5d0de;--border: #8b9cb0;--primary: #0f766e;--primary-hover: #0d655e;--btn-primary-fg: #ffffff;--accent: #b45309;--header-bg: rgba(255, 255, 255, .97);--header-border: #e5e9f0;--header-text: #0f172a;--input-bg: #ffffff;--input-text: #0f172a;--input-placeholder: #5b6472;--input-border: #e5e9f0;--glass-bg: #ffffff;--glass-border: #e5e9f0;--sidebar-bg: #ffffff;--sidebar-border: #e5e9f0;--sidebar-text: #334155;--sidebar-text-active: #0f172a;--sidebar-active-bg: #e8f4f2;--sidebar-brand: #0f766e;--accent-blue: #2563eb;--accent-blue-100: #e8effc;--success: #047857;--success-100: #ecfdf5;--danger: #b91c1c;--danger-100: #fef2f2;--warning: #b45309;--warning-100: #fffbeb;--chart-1: #2563eb;--chart-2: #0f766e;--chart-3: #b45309;--area-fill: #e5e9f0;--btn-cta-bg: linear-gradient(135deg, #0f766e 0%, #0d655e 100%);--btn-cta-text: #ffffff;--icon-fg: #334155;--icon-on-primary: #ffffff;--positive: #047857;--negative: #b91c1c;--color-emerald-500: #0f766e;--header-icon-bg: #f4f7fb;--header-icon-fg: #1e293b;--header-icon-border: #b8c5d6}html.theme-dark{--bg-main: #0f1115;--bg-card: #171a21;--bg-muted: #1c1f26;--bg-subtle: #121417;--text-primary: #e6eaf2;--text-secondary: #9aa4b2;--text-muted: #9aa4b2;--text-label: #c5cdd8;--text-inverse: #1a1f2b;--border-light: #2a3140;--border: #3a4354;--primary: #14b8a6;--primary-hover: #0f766e;--btn-primary-fg: #ffffff;--accent: #fbbf24;--header-bg: rgba(23, 26, 33, .96);--header-border: #2a3140;--header-text: #e6eaf2;--input-bg: #1c1f26;--input-text: #e6eaf2;--input-placeholder: #9aa4b2;--input-border: #2a3140;--glass-bg: #171a21;--glass-border: #2a3140;--sidebar-bg: #171a21;--sidebar-border: #2a3140;--sidebar-text: #9aa4b2;--sidebar-text-active: #e6eaf2;--sidebar-active-bg: rgba(15, 118, 110, .22);--sidebar-brand: #14b8a6;--accent-blue: #3b82f6;--accent-blue-100: rgba(37, 99, 235, .14);--success: #34d399;--success-100: rgba(52, 211, 153, .12);--danger: #f87171;--danger-100: rgba(248, 113, 113, .12);--warning: #fbbf24;--warning-100: rgba(251, 191, 36, .12);--chart-1: #3b82f6;--chart-2: #14b8a6;--chart-3: #fbbf24;--area-fill: rgba(154, 164, 178, .12);--btn-cta-bg: linear-gradient(135deg, #14b8a6 0%, #0f766e 100%);--btn-cta-text: #ffffff;--icon-fg: #9aa4b2;--icon-on-primary: #ffffff;--positive: #34d399;--negative: #f87171;--color-emerald-500: #14b8a6;--header-icon-bg: #1c1f26;--header-icon-fg: #e6eaf2;--header-icon-border: #2a3140}*:not(pre):not(code){transition-property:background-color,color,border-color,box-shadow,fill,stroke;transition-duration:.22s;transition-timing-function:cubic-bezier(.2,.8,.2,1)}@media(prefers-reduced-motion:reduce){*:not(pre):not(code){transition:none!important}}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:var(--border);border-radius:10px;border:2px solid var(--bg-main)}::-webkit-scrollbar-thumb:hover{background:var(--primary)}*{scrollbar-width:none}.route-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:40vh;color:var(--text-secondary);font-size:.9rem}.route-loading-spinner{width:28px;height:28px;border:3px solid var(--border-light);border-top-color:var(--primary);border-radius:50%;animation:route-spin .8s linear infinite}@keyframes route-spin{to{transform:rotate(360deg)}}html:not(.theme-dark) body{background-color:var(--bg-main);color:var(--text-primary)}html:not(.theme-dark) .app-layout,html:not(.theme-dark) .app-layout__main{background-color:var(--bg-main)}html:not(.theme-dark) .app-page{color:var(--text-primary)}html:not(.theme-dark) .page-header-title{color:var(--text-primary)}html:not(.theme-dark) .page-header-subtitle{color:var(--text-secondary);font-weight:500}html:not(.theme-dark) .user-plan,html:not(.theme-dark) .user-email{color:var(--text-label)}html:not(.theme-dark) .app-page .filter-btn:not(.active){color:var(--text-label);background:var(--bg-muted);border:1px solid var(--border-light)}html:not(.theme-dark) .app-page .filter-btn:not(.active):hover{color:var(--primary);background:var(--accent-blue-100);border-color:var(--border)}html:not(.theme-dark) .app-page .filter-btn.active{color:var(--btn-primary-fg);background:var(--primary)}html:not(.theme-dark) .orders-container{color:var(--text-primary)}html:not(.theme-dark) .orders-container .osc-value{color:var(--text-primary)}html:not(.theme-dark) .orders-container .orders-empty,html:not(.theme-dark) .orders-container .orders-loading,html:not(.theme-dark) .orders-container .orders-empty span{color:var(--text-secondary)}html:not(.theme-dark) .orders-container .orders-table th{color:var(--text-label)}html:not(.theme-dark) .view-alerts-container .alerts-empty,html:not(.theme-dark) .view-alerts-container .alerts-loading,html:not(.theme-dark) .view-alerts-container .alerts-empty-desc{color:var(--text-secondary)}html:not(.theme-dark) .settings-v2-input,html:not(.theme-dark) .settings-v2-alert-form input{border-color:var(--input-border, var(--border-light));background:var(--input-bg);color:var(--input-text)}html:not(.theme-dark) .settings-v2-input:focus,html:not(.theme-dark) .settings-v2-alert-form input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--accent-blue-100)}html:not(.theme-dark) .settings-v2-signals-panel{background:var(--bg-subtle);border-color:var(--border);border-left:3px solid var(--primary)}html:not(.theme-dark) .settings-v2-tab:not(.active){color:var(--text-label);background:var(--bg-muted);border-color:var(--border-light)}html:not(.theme-dark) .settings-v2-tab:not(.active):hover{background:var(--bg-card);border-color:var(--border);color:var(--text-primary)}html:not(.theme-dark) .settings-v2-company-card span{color:var(--text-label);font-weight:600}html:not(.theme-dark) .ui-card{border-color:var(--border-light);box-shadow:var(--shadow-card)}html:not(.theme-dark) .ui-card__desc,html:not(.theme-dark) .ui-meta-line{color:var(--text-secondary)}html:not(.theme-dark) .ui-btn-ghost{color:var(--text-label);border-color:var(--border-light);background:var(--bg-card)}html:not(.theme-dark) .ui-btn-ghost:hover:not(:disabled){background:var(--bg-muted);border-color:var(--border)}html:not(.theme-dark) .app-page p{color:var(--text-secondary);font-weight:400}html:not(.theme-dark) .app-page h1,html:not(.theme-dark) .app-page h2,html:not(.theme-dark) .app-page h3,html:not(.theme-dark) .app-page h4,html:not(.theme-dark) .app-page strong{color:var(--text-primary)}html:not(.theme-dark) .dashboard-container .page-header-subtitle,html:not(.theme-dark) .dashboard-enterprise .dash-welcome-meta{color:#334155;font-weight:600}html:not(.theme-dark) .dashboard-container .stat-label,html:not(.theme-dark) .dashboard-container .engine-block-label,html:not(.theme-dark) .dashboard-container .ticker-name,html:not(.theme-dark) .dashboard-container .ticker-delayed-label,html:not(.theme-dark) .dashboard-container .loading-alerts,html:not(.theme-dark) .dashboard-container .loading-alerts span,html:not(.theme-dark) .dashboard-container .no-alerts,html:not(.theme-dark) .dashboard-container .no-alerts span,html:not(.theme-dark) .dashboard-container .quick-btn,html:not(.theme-dark) .dashboard-container .engine-broker-count,html:not(.theme-dark) .dashboard-container .engine-last-conf,html:not(.theme-dark) .dashboard-container .alert-conf,html:not(.theme-dark) .dashboard-container .alert-strength,html:not(.theme-dark) .dashboard-enterprise .pill-action,html:not(.theme-dark) .dashboard-enterprise .pill-conf,html:not(.theme-dark) .dashboard-enterprise .dash-stripe-title,html:not(.theme-dark) .dashboard-enterprise .dash-ops-label,html:not(.theme-dark) .dashboard-enterprise .dash-h-ex{color:var(--text-label);opacity:1}html:not(.theme-dark) .dashboard-enterprise .pill-conf,html:not(.theme-dark) .dashboard-enterprise .dash-stripe-empty,html:not(.theme-dark) .dashboard-enterprise .dash-panel-empty,html:not(.theme-dark) .dashboard-enterprise .dash-broker-chip:not(.is-active){color:#334155;opacity:1}html:not(.theme-dark) .dashboard-enterprise .dash-signal-pill{background:#fff;border-color:#94a3b8;color:#0f172a}html:not(.theme-dark) .dashboard-container .broker-setup-banner{background:var(--accent-blue-100);border-color:var(--border)}html:not(.theme-dark) .dashboard-container .broker-setup-banner strong{color:var(--text-primary)}html:not(.theme-dark) .dashboard-container .broker-setup-banner p,html:not(.theme-dark) .dashboard-container .broker-setup-banner__text p{color:#334155;font-weight:600}html:not(.theme-dark) .dashboard-container .engine-mode-none,html:not(.theme-dark) .dashboard-container .at-off,html:not(.theme-dark) .dashboard-container .toggle-off{color:#334155}html:not(.theme-dark) .dashboard-container .quick-btn svg{color:var(--text-label);stroke:var(--text-label)}html:not(.theme-dark) .dashboard-container .no-alerts svg,html:not(.theme-dark) .dashboard-container .loading-alerts svg{color:var(--text-label);stroke:var(--text-label)}html:not(.theme-dark) .trades-page .trade-stat-card span,html:not(.theme-dark) .holdings-page .holdings-stat span,html:not(.theme-dark) .trades-page .trades-table thead th,html:not(.theme-dark) .holdings-page .holdings-table th{color:var(--text-label)}html:not(.theme-dark) .trades-page .no-data,html:not(.theme-dark) .holdings-page .holdings-empty{color:#334155}html:not(.theme-dark) .orders-container .orders-table th{color:var(--text-label);background:var(--bg-muted);border-bottom-color:var(--border)}html:not(.theme-dark) .orders-container .orders-table td,html:not(.theme-dark) .orders-container .order-symbol,html:not(.theme-dark) .orders-container .order-price{color:var(--text-primary)}html:not(.theme-dark) .orders-container .osc-label{color:var(--text-label)}html:not(.theme-dark) .orders-container .order-broker-name,html:not(.theme-dark) .orders-container .order-time,html:not(.theme-dark) .orders-container .src-manual{color:#334155}html:not(.theme-dark) .orders-container .broker-icon,html:not(.theme-dark) .orders-container .src-auto{color:var(--primary)}html:not(.theme-dark) .pf-page .pf-label,html:not(.theme-dark) .pf-page .pf-muted,html:not(.theme-dark) .pf-page .pf-exchange{color:var(--text-label)}html:not(.theme-dark) .view-alerts-container .alerts-table thead th,html:not(.theme-dark) .view-alerts-container .alert-conf,html:not(.theme-dark) .view-alerts-container .alert-strength{color:var(--text-label)}html:not(.theme-dark) .view-alerts-container .alerts-table tbody td,html:not(.theme-dark) .view-alerts-container .alert-time,html:not(.theme-dark) .view-alerts-container .alert-exchange{color:var(--text-primary)}html:not(.theme-dark) .view-alerts-container .alert-action-btn{color:var(--text-label)}html:not(.theme-dark) .screener-page .filter-label,html:not(.theme-dark) .screener-container .filter-label,html:not(.theme-dark) .screener-container .screener-message,html:not(.theme-dark) .screener-page .stocks-table th{color:var(--text-label)}html:not(.theme-dark) .screener-page .stocks-table td{color:var(--text-primary)}html:not(.theme-dark) .screener-page .search-box svg{color:var(--text-muted)}html:not(.theme-dark) .sip-page .summary-label,html:not(.theme-dark) .sip-page .slider-range span,html:not(.theme-dark) .sip-page .projected-title,html:not(.theme-dark) .sip-page .sip-reset-btn{color:var(--text-label)}html:not(.theme-dark) .sip-page .sip-inputs,html:not(.theme-dark) .sip-page .gains-card,html:not(.theme-dark) .sip-page .projected-card{background:var(--bg-card);border:1px solid var(--border)}html:not(.theme-dark) .trading-calls-page .trade-meta,html:not(.theme-dark) .trading-calls-page .trade-targets-label,html:not(.theme-dark) .trading-calls-page .target-label{color:var(--text-label);opacity:1}html:not(.theme-dark) .broker-setup-container .broker-card--unavailable{opacity:1;border-style:dashed}html:not(.theme-dark) .settings-shell .settings-card__title,html:not(.theme-dark) .upgrade-page .upgrade-card__limits,html:not(.theme-dark) .support-page .support-ticket footer{color:var(--text-label)}html:not(.theme-dark) .app-page .stat-label,html:not(.theme-dark) .app-page .engine-block-label,html:not(.theme-dark) .app-page .osc-label,html:not(.theme-dark) .app-page .filter-label{color:var(--text-label);opacity:1}html:not(.theme-dark) .app-page .page-header-subtitle{color:#334155;font-weight:600}html:not(.theme-dark) .sidebar .nav-item{color:var(--sidebar-text)}html:not(.theme-dark) .sidebar .nav-item.active{color:var(--sidebar-text-active)}.oauth-side-panel-backdrop{position:fixed;inset:0;z-index:140;background:#07172647;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:auto}@media(min-width:769px){.oauth-side-panel-backdrop{right:min(420px,44vw)}}.oauth-side-panel--embedded{width:min(420px,44vw)}.oauth-side-panel{position:fixed;top:0;right:0;bottom:0;width:min(360px,42vw);z-index:150;display:flex;flex-direction:column;background:var(--bg-card, #0f172a);border-left:1px solid var(--border-light, rgba(255, 255, 255, .12));box-shadow:-12px 0 40px #00000059;color:var(--text-primary, #e2eaf4);animation:oauth-panel-in .22s ease-out}@keyframes oauth-panel-in{0%{transform:translate(100%);opacity:.6}to{transform:translate(0);opacity:1}}.oauth-side-panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 20px 12px;border-bottom:1px solid var(--border-light, rgba(255, 255, 255, .08))}.oauth-side-panel__kicker{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--primary, #38bdf8);margin-bottom:4px}.oauth-side-panel__header h2{font-size:1.15rem;font-weight:600;margin:0}.oauth-side-panel__header-note{margin:6px 0 0;font-size:.78rem;color:var(--text-secondary);line-height:1.4;max-width:280px}.oauth-side-panel__close{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:8px}.oauth-side-panel__close:hover{background:#ffffff14}.oauth-side-panel__body{flex:1;overflow-y:auto;padding:16px 20px}.oauth-side-panel__visual{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin-bottom:16px}.oauth-side-panel__app-block,.oauth-side-panel__auth-block{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 10px;border-radius:12px;font-size:.8rem;text-align:center}.oauth-side-panel__app-block{background:#3b82f61f;border:1px solid rgba(59,130,246,.25)}.oauth-side-panel__auth-block{background:#10d08e1a;border:1px solid rgba(16,208,142,.25)}.oauth-side-panel__app-block small,.oauth-side-panel__auth-block small{font-size:.65rem;color:var(--text-secondary)}.oauth-side-panel__arrow{font-size:1.4rem;color:var(--primary)}.oauth-side-panel__subtitle{font-size:.88rem;color:var(--text-secondary);line-height:1.5;margin-bottom:14px}.oauth-side-panel__steps{margin:0;padding-left:1.2rem;font-size:.82rem;color:var(--text-secondary);line-height:1.65}.oauth-side-panel__iframe-loading{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#0a0f1a;color:var(--text-secondary);font-size:.88rem}.oauth-side-panel__spin{animation:oauth-panel-spin .9s linear infinite;color:var(--primary, #38bdf8)}@keyframes oauth-panel-spin{to{transform:rotate(360deg)}}.oauth-side-panel__iframe-wrap{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;background:#0a0f1a}.oauth-side-panel__iframe{flex:1;width:100%;border:none;min-height:320px}.oauth-side-panel__footer{padding:14px 20px 20px;border-top:1px solid var(--border-light, rgba(255, 255, 255, .08));display:flex;flex-direction:column;gap:8px}.oauth-side-panel__footer-hint{margin:0;font-size:.78rem;color:var(--text-secondary);line-height:1.4}.oauth-side-panel__secondary-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:9px 14px;border-radius:10px;border:1px solid var(--border-light);background:#ffffff0a;color:var(--text-primary);cursor:pointer;font-size:.85rem}.oauth-side-panel__secondary-btn:hover{background:#ffffff14}.oauth-side-panel__primary-open{background:var(--primary);color:var(--btn-primary-fg, #fff);border-color:var(--primary);font-weight:600}.oauth-side-panel__primary-open:hover{opacity:.92;background:var(--primary)}.oauth-side-panel__cancel-btn{width:100%;padding:10px 16px;border-radius:10px;border:1px solid var(--border-light);background:transparent;color:var(--text-primary);cursor:pointer;font-weight:500}.oauth-side-panel__cancel-btn:hover{background:#ffffff0f}@media(max-width:768px){.oauth-side-panel{width:min(100%,100vw)}}.sidebar-mobile-btn{position:fixed;top:1rem;left:1rem;z-index:50;background:#11182799;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text-primary);padding:.5rem;border-radius:.75rem;border:1px solid rgba(255,255,255,.1);display:none}@media(max-width:1024px){.sidebar-mobile-btn{display:block}}.sidebar-overlay{position:fixed;inset:0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:40;opacity:0;pointer-events:none;transition:.3s ease}.sidebar-overlay.active{opacity:1;pointer-events:all}.sidebar{position:fixed;top:0;left:-100%;z-index:50;height:100vh;height:100dvh;width:16rem;background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);box-shadow:var(--shadow-md);display:flex;flex-direction:column;transition:background .2s ease,border-color .2s ease}.sidebar.open{left:0}.sidebar.collapsed{width:5rem}@media(min-width:1024px){.sidebar{position:static;left:0}}.sidebar-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--sidebar-border)}.user-sidebar-brand{height:4.5rem;display:flex;align-items:center;padding:20px 10px;gap:14px}.logo-wrapper{display:flex;align-items:left;justify-content:center}.sidebar-logo{width:42px;height:42px;-o-object-fit:contain;object-fit:contain;border-radius:50%}.sidebar-title{font-size:1.25rem;font-weight:800;color:var(--sidebar-brand);margin:0;line-height:1;letter-spacing:-.02em}.collapse-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;display:none;align-items:center;justify-content:center}@media(min-width:1024px){.collapse-btn{display:flex}}.rotated{transform:rotate(180deg);transition:transform .2s ease}.sidebar-nav{flex:1;min-height:0;padding:.75rem .5rem;display:flex;flex-direction:column;gap:.25rem;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}.sidebar-nav::-webkit-scrollbar{width:4px}.nav-item{display:flex;align-items:center;gap:.65rem;padding:.5rem .65rem;flex-shrink:0;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;color:var(--sidebar-text);text-decoration:none;transition:background .15s ease,color .15s ease}.nav-item:hover{background:var(--bg-muted);color:var(--text-primary)}.nav-item.active{background:var(--sidebar-active-bg);color:var(--sidebar-text-active);font-weight:600}.nav-item.centered{justify-content:center}.pro-card{background:var(--btn-cta-bg);border-radius:.75rem;padding:1rem}.pro-header{display:flex;gap:.5rem;color:#fde047;margin-bottom:.75rem}.connection-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--border-light);background:var(--glass-bg);color:var(--text-secondary)}.connection-pill--connected{color:var(--positive);border-color:#22c55e59}.connection-pill--connecting{color:var(--warning)}.connection-pill--disconnected{color:var(--text-secondary)}.connection-pill-spin{animation:connection-spin 1s linear infinite}@keyframes connection-spin{to{transform:rotate(360deg)}}.app-header{height:4.5rem;position:sticky;top:0;z-index:40;display:flex;align-items:center;padding:0 1rem;background:var(--header-bg);border-bottom:1px solid var(--header-border);box-shadow:var(--shadow-sm);color:var(--header-text)}@media(min-width:640px){.app-header{padding:0 2rem}}.header-search{flex:1;max-width:28rem;display:none}@media(min-width:640px){.header-search{display:block}}.search-wrapper{position:relative}.search-wrapper svg{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--header-icon-fg);stroke:var(--header-icon-fg);fill:none;pointer-events:none}.app-header .icon-btn svg,.app-header .search-wrapper svg{transition:color .15s ease,background-color .15s ease,border-color .15s ease}.search-wrapper input{width:100%;padding:.5rem 1rem .5rem 2.5rem;background:var(--input-bg);border:1px solid var(--header-icon-border);border-radius:var(--radius-sm);font-size:.875rem;color:var(--input-text);outline:none}.search-wrapper input::-moz-placeholder{color:var(--input-placeholder)}.search-wrapper input::placeholder{color:var(--input-placeholder)}.search-wrapper input:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--accent-blue-100)}.header-actions{display:flex;align-items:center;gap:.75rem;margin-left:auto}.app-header .icon-btn{padding:.5rem;border-radius:var(--radius-sm);background:var(--header-icon-bg);border:1px solid var(--header-icon-border);color:var(--header-icon-fg);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease,border-color .15s ease,color .15s ease}.app-header .icon-btn .header-action-icon,.app-header .icon-btn svg,.app-header .icon-btn i svg{color:var(--header-icon-fg);stroke:var(--header-icon-fg);fill:none;flex-shrink:0}.app-header .icon-btn:hover{background:var(--accent-blue-100);border-color:var(--primary);color:var(--primary)}.app-header .icon-btn:hover .header-action-icon,.app-header .icon-btn:hover svg{color:var(--primary);stroke:var(--primary)}html.theme-dark .app-header .icon-btn,html[data-theme=dark] .app-header .icon-btn{background:var(--header-icon-bg);border-color:var(--header-icon-border);color:var(--header-icon-fg)}html.theme-dark .app-header .icon-btn .header-action-icon,html.theme-dark .app-header .icon-btn svg,html[data-theme=dark] .app-header .icon-btn .header-action-icon,html[data-theme=dark] .app-header .icon-btn svg{color:var(--header-icon-fg);stroke:var(--header-icon-fg)}.mobile-only{display:block}@media(min-width:640px){.mobile-only{display:none}}.notification-btn{position:relative}.notification-dot{position:absolute;top:.25rem;right:.25rem;width:.5rem;height:.5rem;background:var(--danger);border-radius:50%;border:1px solid var(--header-bg)}.profile-wrapper{position:relative}.profile-btn{display:flex;align-items:center;gap:.75rem;padding-left:1rem;border-left:1px solid var(--header-border);background:none;border-top:none;border-right:none;border-bottom:none;cursor:pointer;color:var(--header-text)}.user-info{text-align:right;display:none}@media(min-width:640px){.user-info{display:block}}.user-email{font-size:.875rem;font-weight:600;color:var(--header-text)}.user-plan{font-size:.75rem;color:var(--text-secondary);font-weight:500}html:not(.theme-dark) .user-plan{color:var(--text-label, var(--text-secondary))}.avatar{width:36px;height:36px;border-radius:999px;background:linear-gradient(135deg,var(--color-emerald-500),var(--primary));display:flex;align-items:center;justify-content:center;color:var(--icon-on-primary);border:1px solid var(--header-icon-border)}.avatar svg{color:var(--icon-on-primary);stroke:currentColor}.profile-dropdown{position:absolute;right:0;margin-top:.75rem;width:12rem;background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-md);overflow:hidden;z-index:50}.dropdown-item{width:100%;padding:.75rem 1rem;display:flex;align-items:center;gap:.75rem;font-size:.875rem;background:none;border:none;cursor:pointer;color:var(--text-primary);transition:background .15s ease}.dropdown-item svg{color:var(--icon-fg);stroke:currentColor;flex-shrink:0}.dropdown-item:hover{background:var(--bg-muted)}.dropdown-item:hover svg{color:var(--primary)}.dropdown-item.logout{color:var(--danger)}.dropdown-item.logout svg{color:var(--danger)}.dropdown-item.logout:hover{background:var(--danger-100)}.maint-gate{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:24px;background:color-mix(in srgb,var(--bg-page, #0f1419) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.maint-gate__card{max-width:420px;width:100%;padding:28px 24px;border-radius:16px;border:1px solid var(--border-light);background:var(--bg-card);box-shadow:var(--shadow-lg, 0 24px 48px rgba(0, 0, 0, .2));text-align:center}.maint-gate__icon{width:56px;height:56px;margin:0 auto 14px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--warning) 15%,var(--bg-card));color:var(--warning)}.maint-gate__card h2{margin:0 0 8px;font-size:1.25rem;font-weight:800}.maint-gate__card p{margin:0;font-size:.875rem;color:var(--text-secondary);line-height:1.5}.maint-gate__hint{margin-top:12px!important;font-size:.75rem!important;color:var(--text-muted)!important}.broker-setup-prompt{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:1200}.broker-setup-prompt__card{background:var(--surface, #071021);color:var(--text, #fff);padding:22px;border-radius:12px;box-shadow:0 10px 30px #020617b3;width:420px;max-width:92%}.broker-setup-prompt__actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.btn{padding:8px 14px;border-radius:8px;border:1px solid transparent;cursor:pointer}.btn-primary{background:#19c6b2;color:#062425}.btn-ghost{background:transparent;border:1px solid rgba(255,255,255,.08);color:inherit}.app-layout{height:100vh;display:flex;position:relative;color:var(--text-primary);background-color:var(--bg-main)}.app-layout__main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0;background:var(--bg-main)}.app-main{flex:1;min-height:0;overflow-y:auto;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.app-main--dashboard{overflow:hidden;display:flex;flex-direction:column}.app-page--dashboard{flex:1;min-height:0;padding:10px 14px 12px;overflow:hidden;display:flex;flex-direction:column}.app-page--dashboard>*{flex:1;min-height:0}.app-page{min-height:100%}.app-message{padding:12px 14px;border-radius:var(--radius-md);font-size:.875rem;border:1px solid var(--border-light)}.app-message--loading{background:var(--accent-blue-100);color:var(--text-secondary)}.app-message--error{background:var(--danger-100);color:var(--danger);border-color:#dc262640}.app-message--empty{background:var(--bg-muted);color:var(--text-secondary);text-align:center}.app-spin{animation:app-shell-spin .85s linear infinite}@keyframes app-shell-spin{to{transform:rotate(360deg)}}.app-main--viewport{overflow:hidden;display:flex;flex-direction:column}.app-page--viewport{flex:1;min-height:0;padding:10px 14px 12px;overflow:hidden;display:flex;flex-direction:column;color:var(--text-primary);background:transparent}.app-page--viewport>*{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden}.app-page--viewport .page-header,.app-page--viewport .settings-shell__head,.app-page--viewport .admin-shell__header{flex-shrink:0;margin-bottom:0;padding-bottom:8px;border-bottom:1px solid var(--border-light)}.app-page--viewport .page-header-title{font-size:1.25rem;font-weight:800;letter-spacing:-.02em;color:var(--text-primary)}.app-page--viewport .page-header-subtitle{font-size:.75rem;color:var(--text-secondary)}.app-page--viewport .trades-page,.app-page--viewport .holdings-page,.app-page--viewport .screener-page,.app-page--viewport .view-alerts-container,.app-page--viewport .otp-container,.app-page--viewport .orders-container,.app-page--viewport .pf-page,.app-page--viewport .trading-calls-page,.app-page--viewport .sip-page,.app-page--viewport .bh-page,.app-page--viewport .broker-setup-container,.app-page--viewport .dashboard-container,.app-page--viewport .settings-shell,.app-page--viewport .upgrade-page,.app-page--viewport .support-page,.app-page--viewport .admin-shell{height:100%;min-height:0;padding:0;overflow:hidden;display:flex;flex-direction:column;gap:8px;color:var(--text-primary)}.app-page--viewport .trades-stats-grid,.app-page--viewport .holdings-stats,.app-page--viewport .holdings-toolbar,.app-page--viewport .trade-filter-bar,.app-page--viewport .otp-tabs,.app-page--viewport .otp-banner,.app-page--viewport .dash-header,.app-page--viewport .dash-live-stripe,.app-page--viewport .dash-market-stripe,.app-page--viewport .dash-broker-chips,.app-page--viewport .dash-ops-bar,.app-page--viewport .screener-header,.app-page--viewport .filters-panel,.app-page--viewport .screener-filters,.app-page--viewport .fin-stat-grid,.app-page--viewport .admin-kpi-strip,.app-page--viewport .settings-note,.app-page--viewport .settings-kyc-steps,.app-page--viewport .settings-plan-row,.app-page--viewport .upgrade-grid>.settings-note,.app-page--viewport .bh-topbar,.app-page--viewport .bh-recommendation{flex-shrink:0}.app-page--viewport .otp-stats,.app-page--viewport .otp-filterbar,.app-page--viewport .otp-state-box,.app-page--viewport .otp-table-wrap,.app-page--viewport .pf-page-header,.app-page--viewport .pf-stats-row{flex-shrink:0}.app-page--viewport .broker-setup-grid,.app-page--viewport .settings-shell__body,.app-page--viewport .admin-shell__body,.app-page--viewport .fin-page-stack,.app-page--viewport .upgrade-grid,.app-page--viewport .orders-table-wrap,.app-page--viewport .trading-calls-container,.app-page--viewport .sip-container,.app-page--viewport .bh-grid,.app-page--viewport .pf-table-wrap,.app-page--viewport .pf-broker-grid-view,.app-page--viewport .pf-detail,.app-page--viewport .pf-center-state,.app-page--viewport .trades-table-wrapper,.app-page--viewport .holdings-table-wrap,.app-page--viewport .alerts-table-wrapper{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.app-page--viewport .screener-content{flex:1;min-height:0;overflow:hidden}.app-page--viewport .dash-main{flex:1;min-height:0;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;gap:10px;align-content:stretch}.app-page--viewport .screener-container{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.app-page--viewport .table-wrapper{flex:1;min-height:0;overflow-y:auto;overflow-x:auto}@media(max-width:960px){.app-page--viewport .dash-main{grid-template-columns:1fr}}.app-page--viewport .dash-panel{min-height:0;overflow:hidden;display:flex;flex-direction:column}.app-page--viewport .dash-signals-grid,.app-page--viewport .dash-holdings-table-wrap{flex:1;min-height:0;overflow-y:auto}.app-page--viewport .bh-workspace{flex:1;min-height:0;overflow:hidden}.app-page--viewport .fin-table-wrap,.app-page--viewport .kyc-table-container,.app-page--viewport .settings-table-wrap{flex:1;min-height:0;overflow:auto}.app-page--viewport .fin-table-card{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.app-page--viewport .user-management,.app-page--viewport .kyc-page,.app-page--viewport .pricing-page{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;gap:8px}.app-main--dashboard,.app-main--settings-fit,.app-main--admin{overflow:hidden;display:flex;flex-direction:column}.app-page--dashboard,.app-page--settings-fit,.app-page--admin{flex:1;min-height:0;padding:10px 14px 12px;overflow:hidden;display:flex;flex-direction:column}.app-page--dashboard>*,.app-page--settings-fit>*,.app-page--admin>*{flex:1;min-height:0}.app-main--admin{overflow:hidden;display:flex;flex-direction:column}.app-page--admin{flex:1;min-height:0;padding:10px 14px 12px;overflow:hidden;display:flex;flex-direction:column}.app-page--admin>*{flex:1;min-height:0;min-width:0}.admin-shell{height:100%;min-height:0;display:flex;flex-direction:column;gap:10px;overflow:hidden;color:var(--text-primary)}.admin-shell__header{flex-shrink:0;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}.admin-shell__header h2{margin:0;font-size:1.25rem;font-weight:700;letter-spacing:-.02em;color:var(--text-primary)}.admin-shell__header p{margin:2px 0 0;font-size:.75rem;color:var(--text-secondary)}.admin-shell__body{flex:1;min-height:0;display:flex;flex-direction:column;gap:10px;overflow:hidden}.admin-shell__body--scroll{overflow-y:auto;padding-right:2px}.admin-kpi-strip{flex-shrink:0;display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;padding-bottom:2px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.admin-kpi-strip::-webkit-scrollbar{height:4px}.admin-kpi-card{flex:0 0 auto;scroll-snap-align:start;min-width:132px;max-width:148px;padding:10px 12px;border-radius:10px;border:1px solid var(--border-light);background:var(--bg-card);box-shadow:var(--shadow-sm)}.admin-kpi-card__label{font-size:.625rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-kpi-card__value{font-size:1.125rem;font-weight:700;line-height:1.2;color:var(--text-primary)}.admin-kpi-card__meta{margin-top:4px;font-size:.625rem;color:var(--text-muted, var(--text-secondary));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-split{flex:1;min-height:0;display:grid;grid-template-columns:1fr 300px;gap:10px;overflow:hidden}@media(max-width:1100px){.admin-split{grid-template-columns:1fr;overflow-y:auto}}.admin-split__main,.admin-split__side{min-height:0;display:flex;flex-direction:column;gap:10px;overflow:hidden}.admin-panel{flex:1;min-height:0;display:flex;flex-direction:column;border-radius:12px;border:1px solid var(--border-light);background:var(--bg-card);box-shadow:var(--shadow-sm);overflow:hidden}.admin-panel--fixed{flex:0 0 auto;max-height:42%}.admin-panel__head{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border-light)}.admin-panel__head h3{margin:0;font-size:.8125rem;font-weight:600;color:var(--text-primary)}.admin-panel__body{flex:1;min-height:0;overflow-y:auto;padding:10px 12px}.admin-panel__body--chart{display:flex;align-items:flex-end;gap:4px;min-height:100px}.admin-panel__body--chart .bar{flex:1;min-width:6px;border-radius:4px 4px 0 0;background:var(--accent-blue, #3b82f6);opacity:.55}.admin-mini-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--border-light);font-size:.75rem}.admin-mini-row:last-child{border-bottom:none}.admin-feed-row{display:flex;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px solid var(--border-light);font-size:.75rem}.admin-feed-row:last-child{border-bottom:none}.admin-status-dot{width:6px;height:6px;border-radius:50%;margin-top:5px;flex-shrink:0}.admin-status-dot--buy{background:#22c55e}.admin-status-dot--sell{background:#ef4444}.admin-empty{font-size:.75rem;color:var(--text-secondary);text-align:center;padding:16px 8px}.admin-table-wrap{flex:1;min-height:0;overflow:auto;border-radius:12px;border:1px solid var(--border-light);background:var(--bg-card)}.admin-table-wrap table{width:100%;border-collapse:collapse;font-size:.75rem}.admin-table-wrap th,.admin-table-wrap td{padding:9px 11px;text-align:left;border-bottom:1px solid var(--border-light);white-space:nowrap}.admin-table-wrap th{position:sticky;top:0;z-index:1;background:var(--bg-subtle);font-weight:600;color:var(--text-secondary)}.app-page--admin .admin-stub-page,.app-page--admin .user-management,.app-page--admin .kyc-page,.app-page--admin .pricing-page{height:100%;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:0}.app-page--admin .user-management{gap:10px}.app-page--admin .user-management__header h2{font-size:1.25rem}.app-page--admin .table-card{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.app-page--admin .table-wrapper{flex:1;min-height:0;overflow:auto}.app-page--admin .fin-stat-grid{flex-shrink:0}.app-page--admin .kyc-table-container{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.app-page--admin .kyc-table-container .kyc-table{display:block;overflow:auto;flex:1}.app-page--admin .admin-health-grid{overflow-y:auto;max-height:100%}.admin-pill{display:inline-block;padding:3px 8px;border-radius:999px;font-size:.625rem;font-weight:600;width:-moz-fit-content;width:fit-content}.pill-ok{background:#22c55e26;color:#22c55e}.pill-warn{background:#eab30826;color:#eab308}.pill-bad{background:#ef444426;color:#ef4444}.admin-form{display:flex;flex-direction:column;gap:8px;flex-shrink:0}.admin-form input,.admin-form textarea,.admin-form select{width:100%;padding:8px 10px;border-radius:8px;border:1px solid var(--border-light);background:var(--bg-subtle);color:inherit;font:inherit;font-size:.8125rem}.admin-toggle-row{display:flex;align-items:center;gap:8px;font-size:.8125rem}.tx-buy{color:#22c55e}.tx-sell{color:#ef4444}.review-btn{padding:4px 10px;border-radius:6px;border:1px solid var(--border-light);background:var(--bg-subtle);font-size:.6875rem;cursor:pointer;color:var(--text-primary)}.review-btn:hover{background:var(--bg-muted)}.app-page--admin{--fin-surface: var(--bg-card);--fin-surface-2: var(--bg-subtle);--fin-border: var(--border-light);--fin-glow: color-mix(in srgb, var(--primary) 18%, transparent);--fin-num: var(--font-main), ui-monospace, "SF Mono", monospace}.fin-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;flex-shrink:0}@media(max-width:900px){.fin-stat-grid{grid-template-columns:1fr}}.fin-stat{position:relative;padding:12px 14px;border-radius:12px;border:1px solid var(--fin-border);background:linear-gradient(145deg,var(--fin-surface) 0%,color-mix(in srgb,var(--fin-surface) 92%,var(--primary) 8%) 100%);box-shadow:var(--shadow-sm);overflow:hidden}.fin-stat:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--stat-accent, var(--primary));border-radius:3px 0 0 3px}.fin-stat--teal{--stat-accent: var(--primary)}.fin-stat--blue{--stat-accent: var(--accent-blue, #2563eb)}.fin-stat--amber{--stat-accent: var(--warning)}.fin-stat__head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.fin-stat__label{font-size:.625rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.fin-stat__icon{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:var(--fin-glow);color:var(--stat-accent, var(--primary))}.fin-stat__value{font-family:var(--fin-num);font-size:1.375rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-primary);line-height:1.1}.fin-stat__meta{margin-top:4px;font-size:.6875rem;color:var(--text-muted)}.fin-stat__trend{display:inline-flex;align-items:center;gap:4px;margin-top:6px;padding:2px 8px;border-radius:999px;font-size:.625rem;font-weight:600}.fin-stat__trend--up{background:var(--success-100);color:var(--success)}.fin-stat__trend--neutral{background:var(--bg-muted);color:var(--text-secondary)}.fin-toolbar{flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;border:1px solid var(--fin-border);background:var(--fin-surface)}.fin-search{flex:1;min-width:180px;display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;border:1px solid var(--fin-border);background:var(--input-bg, var(--fin-surface-2));color:var(--input-text, var(--text-primary))}.fin-search input{flex:1;border:none;background:transparent;color:inherit;font-size:.8125rem;outline:none}.fin-search input::-moz-placeholder{color:var(--input-placeholder, var(--text-muted))}.fin-search input::placeholder{color:var(--input-placeholder, var(--text-muted))}.fin-search svg{color:var(--text-muted);flex-shrink:0}.fin-chip{padding:6px 12px;border-radius:999px;border:1px solid var(--fin-border);background:var(--fin-surface-2);font-size:.6875rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.fin-chip:hover,.fin-chip--active{border-color:color-mix(in srgb,var(--primary) 45%,var(--fin-border));background:var(--fin-glow);color:var(--primary)}.fin-table-card{flex:1;min-height:0;display:flex;flex-direction:column;border-radius:12px;border:1px solid var(--fin-border);background:var(--fin-surface);box-shadow:var(--shadow-sm);overflow:hidden}.fin-table-card__head{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--fin-border);background:var(--fin-surface-2)}.fin-table-card__head h3{margin:0;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.fin-table-wrap{flex:1;min-height:0;overflow:auto}.fin-table{width:100%;border-collapse:collapse;font-size:.8125rem}.fin-table thead th{position:sticky;top:0;z-index:2;padding:10px 14px;text-align:left;font-size:.625rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);background:var(--fin-surface-2);border-bottom:1px solid var(--fin-border);white-space:nowrap}.fin-table tbody tr{border-bottom:1px solid var(--fin-border);transition:background .12s ease}.fin-table tbody tr:nth-child(2n){background:color-mix(in srgb,var(--fin-surface-2) 55%,transparent)}.fin-table tbody tr:hover{background:var(--fin-glow)}.fin-table td{padding:10px 14px;vertical-align:middle;color:var(--text-primary)}.fin-table__id{font-family:var(--fin-num);font-size:.6875rem;color:var(--text-muted);letter-spacing:.02em}.fin-table__user{display:flex;align-items:center;gap:10px;min-width:0}.fin-avatar{width:34px;height:34px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.6875rem;font-weight:800;color:var(--primary);background:var(--fin-glow);border:1px solid color-mix(in srgb,var(--primary) 25%,var(--fin-border))}.fin-table__name{font-weight:600;font-size:.8125rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fin-table__email{font-size:.6875rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fin-mono{font-family:var(--fin-num);font-variant-numeric:tabular-nums;font-weight:600}.fin-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:.625rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border:1px solid transparent}.fin-badge__dot{width:5px;height:5px;border-radius:50%;background:currentColor}.fin-badge--active{background:var(--success-100);color:var(--success);border-color:color-mix(in srgb,var(--success) 25%,transparent)}.fin-badge--suspended{background:var(--danger-100);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 25%,transparent)}.fin-plan{display:inline-block;padding:2px 8px;border-radius:6px;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:var(--bg-muted);color:var(--text-secondary);border:1px solid var(--fin-border)}.fin-plan--premium{background:color-mix(in srgb,var(--primary) 15%,var(--fin-surface));color:var(--primary);border-color:color-mix(in srgb,var(--primary) 30%,var(--fin-border))}.fin-plan--pro{background:color-mix(in srgb,var(--warning) 18%,var(--fin-surface));color:var(--warning);border-color:color-mix(in srgb,var(--warning) 35%,var(--fin-border))}.fin-action-btn{padding:5px 12px;border-radius:8px;border:1px solid var(--fin-border);background:var(--fin-surface-2);color:var(--text-secondary);font-size:.6875rem;font-weight:600;cursor:pointer;transition:all .15s}.fin-action-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--fin-glow)}.fin-table-foot{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-top:1px solid var(--fin-border);background:var(--fin-surface-2);font-size:.75rem;color:var(--text-muted)}.fin-table-foot strong{color:var(--text-primary);font-weight:600}.fin-pager{display:flex;align-items:center;gap:4px}.fin-pager button{width:32px;height:32px;border-radius:8px;border:1px solid var(--fin-border);background:var(--fin-surface);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.fin-pager button:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.fin-pager button.active{background:var(--primary);border-color:var(--primary);color:var(--btn-primary-fg)}.fin-pager button:disabled{opacity:.35;cursor:not-allowed}.app-page--admin .admin-kpi-card{background:linear-gradient(160deg,var(--bg-card) 0%,color-mix(in srgb,var(--bg-card) 90%,var(--primary) 10%) 100%);border:1px solid var(--border-light);box-shadow:var(--shadow-sm)}.app-page--admin .admin-kpi-card__value{font-family:var(--fin-num);font-variant-numeric:tabular-nums}.app-page--admin .admin-panel{background:var(--bg-card);border-color:var(--border-light)}.app-page--admin .admin-panel__head{background:var(--bg-subtle)}.app-page--admin .bar{background:linear-gradient(180deg,var(--primary) 0%,color-mix(in srgb,var(--primary) 40%,transparent) 100%);opacity:.85}.fin-empty{padding:32px 16px;text-align:center;font-size:.8125rem;color:var(--text-muted)}.fin-skeleton{animation:fin-pulse 1.2s ease-in-out infinite;background:var(--bg-muted);border-radius:8px;height:120px}@keyframes fin-pulse{0%,to{opacity:.55}50%{opacity:1}}.pricing-layout{flex:1;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:10px;overflow:hidden}.fin-plan-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;flex-shrink:0;overflow:hidden;align-items:stretch}@media(max-width:960px){.fin-plan-row{grid-template-columns:1fr;overflow-y:auto;max-height:42vh}}.fin-plan-card{--plan-accent: var(--primary);--plan-tint: color-mix(in srgb, var(--plan-accent) 12%, var(--fin-surface));position:relative;display:flex;flex-direction:column;border-radius:12px;border:1px solid color-mix(in srgb,var(--plan-accent) 28%,var(--fin-border));background:linear-gradient(165deg,var(--fin-surface) 0%,var(--plan-tint) 100%);box-shadow:var(--shadow-sm);overflow:hidden;min-height:0}.fin-plan-card:before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:var(--plan-accent)}.fin-plan-card--free{--plan-accent: var(--text-muted);--plan-tint: color-mix(in srgb, var(--bg-muted) 80%, var(--fin-surface))}.fin-plan-card--premium{--plan-accent: var(--primary);--plan-tint: color-mix(in srgb, var(--primary) 14%, var(--fin-surface))}.fin-plan-card--pro{--plan-accent: var(--warning);--plan-tint: color-mix(in srgb, var(--warning) 16%, var(--fin-surface))}.fin-plan-card--featured{border-color:color-mix(in srgb,var(--plan-accent) 55%,var(--fin-border));box-shadow:0 0 0 1px color-mix(in srgb,var(--plan-accent) 22%,transparent),0 8px 24px color-mix(in srgb,var(--plan-accent) 12%,transparent);transform:translateY(-2px)}html.theme-dark .fin-plan-card--free{--plan-accent: #6b7280}html.theme-dark .fin-plan-card--pro{--plan-accent: #fbbf24}.fin-plan-card__ribbon{position:absolute;top:10px;right:-28px;width:110px;padding:4px 0;text-align:center;font-size:.5625rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--btn-primary-fg);background:linear-gradient(135deg,var(--primary),var(--primary-hover));transform:rotate(45deg);pointer-events:none}.fin-plan-card__head{padding:12px 12px 8px;border-bottom:1px solid color-mix(in srgb,var(--plan-accent) 15%,var(--fin-border));background:color-mix(in srgb,var(--plan-tint) 70%,var(--fin-surface-2))}.fin-plan-card__tier{font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.fin-plan-card__name{margin:4px 0 0;font-size:1rem;font-weight:700;color:var(--text-primary)}.fin-plan-card__status{margin-top:8px}.fin-plan-card__body{flex:1;padding:10px 12px;display:flex;flex-direction:column;gap:8px;min-height:0}.fin-plan-card__price{font-family:var(--fin-num);font-size:1.5rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--plan-accent);line-height:1}.fin-plan-card__price span{font-size:.75rem;font-weight:600;color:var(--text-muted);margin-left:4px}.fin-plan-card__limits{display:flex;flex-wrap:wrap;gap:6px}.fin-limit-pill{padding:3px 8px;border-radius:6px;font-size:.625rem;font-weight:600;background:color-mix(in srgb,var(--plan-accent) 10%,var(--bg-muted));color:var(--text-secondary);border:1px solid color-mix(in srgb,var(--plan-accent) 20%,var(--fin-border))}.fin-plan-card__features{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.fin-plan-card__features li{display:flex;align-items:flex-start;gap:8px;font-size:.75rem;color:var(--text-secondary);line-height:1.35}.fin-plan-card__features li:before{content:"";width:5px;height:5px;margin-top:6px;border-radius:50%;background:var(--plan-accent);flex-shrink:0}.fin-plan-card__features--clamp{flex:1;min-height:0;overflow:hidden}.fin-plan-card__more{font-size:.6875rem;color:var(--text-muted);font-weight:600}.fin-plan-card__foot{padding:8px 12px;border-top:1px solid color-mix(in srgb,var(--plan-accent) 12%,var(--fin-border));background:color-mix(in srgb,var(--plan-tint) 50%,var(--fin-surface-2));display:flex;justify-content:space-between;align-items:center;gap:8px;flex-shrink:0}.pricing-layout .fin-table-card{min-height:0;overflow:hidden}.fin-plan-card__foot span{font-size:.6875rem;color:var(--text-muted)}.fin-stat-grid--2{grid-template-columns:repeat(2,1fr)}.fin-stat-grid--4{grid-template-columns:repeat(4,1fr)}@media(max-width:1100px){.fin-stat-grid--4{grid-template-columns:repeat(2,1fr)}}.fin-kpi-scroll{flex-shrink:0;display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scroll-snap-type:x proximity}.fin-kpi-scroll .fin-stat{flex:0 0 148px;min-width:148px;scroll-snap-align:start}.fin-admin-split{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:10px;overflow:hidden}@media(max-width:960px){.fin-admin-split{grid-template-columns:1fr;overflow-y:auto}}.fin-admin-split__main,.fin-admin-split__side{min-height:0;display:flex;flex-direction:column;gap:10px;overflow:hidden}.fin-mini-list{display:flex;flex-direction:column}.fin-mini-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--fin-border);font-size:.8125rem;color:var(--text-secondary)}.fin-mini-row:last-child{border-bottom:none}.fin-mini-row strong{font-family:var(--fin-num);font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.fin-feed-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--fin-border);font-size:.8125rem}.fin-feed-row:last-child{border-bottom:none}.fin-feed-row__title{font-weight:600;color:var(--text-primary)}.fin-feed-row__meta{font-size:.6875rem;color:var(--text-muted);margin-top:2px}.fin-chart-bars{display:flex;align-items:flex-end;gap:3px;height:100%;min-height:100px;padding:12px 14px}.fin-chart-bars .bar{flex:1;min-width:4px;max-width:12px;border-radius:4px 4px 0 0;background:linear-gradient(180deg,var(--primary) 0%,color-mix(in srgb,var(--primary) 35%,transparent) 100%);opacity:.9;transition:opacity .15s}.fin-chart-bars .bar:hover{opacity:1}.fin-side-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:5px}.fin-side-dot--buy{background:var(--success);box-shadow:0 0 0 3px var(--success-100)}.fin-side-dot--sell{background:var(--danger);box-shadow:0 0 0 3px var(--danger-100)}.fin-form-card{flex-shrink:0;padding:14px;border-radius:12px;border:1px solid var(--fin-border);background:var(--fin-surface);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:10px}.fin-form-card label{font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.fin-form-card input,.fin-form-card textarea,.fin-form-card select{width:100%;padding:9px 12px;border-radius:10px;border:1px solid var(--fin-border);background:var(--input-bg, var(--fin-surface-2));color:var(--input-text, var(--text-primary));font-size:.8125rem;font-family:inherit}.fin-form-card textarea{resize:vertical;min-height:72px}.fin-form-card input:focus,.fin-form-card textarea:focus,.fin-form-card select:focus{outline:none;border-color:color-mix(in srgb,var(--primary) 50%,var(--fin-border));box-shadow:0 0 0 3px var(--fin-glow)}.fin-toggle-row{display:flex;align-items:center;gap:10px;font-size:.8125rem;font-weight:600;color:var(--text-primary);cursor:pointer}.fin-toggle-row input{width:auto;accent-color:var(--primary)}.fin-badge.fin-priority--high{background:var(--danger-100);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 25%,transparent)}.fin-badge.fin-priority--medium{background:var(--warning-100);color:var(--warning);border-color:color-mix(in srgb,var(--warning) 25%,transparent)}.fin-badge.fin-priority--low{background:var(--bg-muted);color:var(--text-secondary);border-color:var(--fin-border)}.fin-doc-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;border:1px solid var(--fin-border);background:var(--fin-surface-2);color:var(--text-muted)}.fin-doc-icon--on{border-color:color-mix(in srgb,var(--success) 35%,var(--fin-border));background:var(--success-100);color:var(--success)}.fin-page-stack{flex:1;min-height:0;display:flex;flex-direction:column;gap:10px;overflow:hidden}.fin-page-stack--scroll{overflow-y:auto;padding-right:2px}.app-main--settings-fit{overflow:hidden}.app-page--settings-fit{flex:1;min-height:0;padding:10px 14px 12px;overflow:hidden;display:flex;flex-direction:column}.app-page--settings-fit>*{flex:1;min-height:0}.settings-shell{height:100%;min-height:0;display:flex;flex-direction:column;gap:10px;overflow:hidden}.settings-shell__head{flex-shrink:0;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}.settings-shell__head h1{margin:0;font-size:1.25rem;font-weight:800;letter-spacing:-.02em}.settings-shell__head p{margin:2px 0 0;font-size:.75rem;color:var(--text-secondary)}.settings-shell__tabs{display:flex;gap:6px;flex-wrap:wrap}.settings-shell__tab{padding:7px 14px;border-radius:999px;border:1px solid var(--border-light);background:var(--bg-muted);color:var(--text-secondary);font-size:.75rem;font-weight:700;cursor:pointer;transition:all .15s}.settings-shell__tab:hover{border-color:var(--primary);color:var(--primary)}.settings-shell__tab.active{background:var(--primary);border-color:var(--primary);color:var(--btn-primary-fg, #fff)}.settings-shell__body{flex:1;min-height:0;overflow:hidden}.settings-panel{height:100%;min-height:0;display:flex;flex-direction:column;gap:8px;overflow:hidden}.settings-panel__grid{flex:1;min-height:0;display:grid;grid-template-columns:220px minmax(0,1fr);gap:10px;overflow:hidden}@media(max-width:860px){.settings-panel__grid{grid-template-columns:1fr;overflow-y:auto}}.settings-card{border-radius:12px;border:1px solid var(--border-light);background:var(--bg-card);box-shadow:var(--shadow-sm);padding:12px 14px;min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:8px}.settings-card--scroll{overflow-y:auto}.settings-card__title{margin:0;font-size:.6875rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);display:flex;align-items:center;gap:6px}.settings-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}@media(max-width:600px){.settings-form-grid{grid-template-columns:1fr}}.settings-field label{display:flex;align-items:center;gap:4px;font-size:.625rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}.settings-field input,.settings-field select,.settings-field textarea{width:100%;padding:8px 10px;border-radius:8px;border:1px solid var(--border-light);background:var(--input-bg, var(--bg-subtle));color:var(--text-primary);font-size:.8125rem;outline:none}.settings-field input:focus,.settings-field textarea:focus{border-color:var(--primary)}.settings-field input:disabled{opacity:.7;cursor:not-allowed}.settings-actions{display:flex;gap:8px;justify-content:flex-end;flex-shrink:0}.settings-btn{padding:8px 14px;border-radius:8px;border:none;background:var(--primary);color:var(--btn-primary-fg, #fff);font-size:.8125rem;font-weight:700;cursor:pointer}.settings-btn:disabled{opacity:.5;cursor:not-allowed}.settings-btn--ghost{background:transparent;border:1px solid var(--border-light);color:var(--text-secondary)}.settings-profile-mini{text-align:center;padding:8px 0}.settings-avatar{width:52px;height:52px;margin:0 auto 8px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1rem;color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,var(--bg-card));border:1px solid color-mix(in srgb,var(--primary) 25%,var(--border-light))}.settings-tags{display:flex;flex-wrap:wrap;gap:4px}.settings-tag{padding:2px 8px;border-radius:999px;font-size:.625rem;font-weight:700;background:var(--bg-muted);border:1px solid var(--border-light)}.settings-tag--blue{color:var(--accent-blue, #2563eb)}.settings-tag--green{color:var(--success)}.settings-chip-row{display:flex;flex-wrap:wrap;gap:6px;max-height:72px;overflow-y:auto}.settings-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:8px;font-size:.6875rem;font-weight:700;background:var(--bg-subtle);border:1px solid var(--border-light)}.settings-chip button{border:none;background:transparent;color:var(--danger);cursor:pointer;padding:0;display:flex}.settings-kyc-steps{display:flex;gap:4px;flex-shrink:0}.settings-kyc-step{flex:1;padding:6px 8px;border-radius:8px;border:1px solid var(--border-light);background:var(--bg-subtle);font-size:.625rem;font-weight:700;text-align:center;color:var(--text-muted);cursor:pointer}.settings-kyc-step.active{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--bg-card));color:var(--primary)}.settings-kyc-step.done{color:var(--success)}.settings-progress{height:4px;border-radius:999px;background:var(--bg-muted);overflow:hidden;flex-shrink:0}.settings-progress__fill{height:100%;background:var(--primary);transition:width .25s}.settings-plan-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;flex-shrink:0}@media(max-width:720px){.settings-plan-row{grid-template-columns:1fr}}.settings-plan-card{padding:10px 12px;border-radius:10px;border:1px solid var(--border-light);background:var(--bg-subtle);display:flex;flex-direction:column;gap:4px}.settings-plan-card.current{border-color:var(--primary);box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 20%,transparent)}.settings-plan-card strong{font-size:.875rem}.settings-plan-card span{font-size:.6875rem;color:var(--text-muted)}.settings-plan-card button{margin-top:4px;padding:6px 10px;border-radius:8px;border:none;background:var(--primary);color:var(--btn-primary-fg, #fff);font-size:.6875rem;font-weight:700;cursor:pointer}.settings-plan-card button:disabled{opacity:.45;cursor:not-allowed}.settings-table-wrap{flex:1;min-height:0;overflow:auto;border-radius:10px;border:1px solid var(--border-light)}.settings-table{width:100%;border-collapse:collapse;font-size:.75rem}.settings-table th,.settings-table td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--border-light)}.settings-table th{font-size:.625rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);background:var(--bg-subtle);position:sticky;top:0}.settings-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.625rem;font-weight:700;text-transform:uppercase}.settings-badge--verified{background:var(--success-100);color:var(--success)}.settings-badge--pending{background:var(--warning-100);color:var(--warning)}.settings-badge--rejected{background:var(--danger-100);color:var(--danger)}.settings-note{font-size:.6875rem;color:var(--text-muted);padding:8px 10px;border-radius:8px;background:var(--bg-subtle);border:1px dashed var(--border-light);flex-shrink:0}.settings-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--border-light)}.settings-toggle-row h4{margin:0 0 2px;font-size:.8125rem}.settings-toggle-row p{margin:0;font-size:.6875rem;color:var(--text-muted)}.settings-empty{padding:24px;text-align:center;font-size:.8125rem;color:var(--text-muted)}.google-signin-wrap{position:relative;width:100%}.google-signin-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:.65rem 1rem;background:#fff;color:#3c4043;font-family:Roboto,Inter,system-ui,sans-serif;font-size:.9rem;font-weight:500;letter-spacing:.01em;border:1px solid #dadce0;border-radius:8px;cursor:pointer;transition:background .15s ease,box-shadow .15s ease,border-color .15s ease;box-shadow:0 1px 2px #3c40431f}.google-signin-btn:hover:not(:disabled){background:#f8f9fa;border-color:#d2e3fc;box-shadow:0 1px 3px #3c404333}.google-signin-btn:active:not(:disabled){background:#f1f3f4}.google-signin-btn:disabled,.google-signin-btn--loading{opacity:.85;cursor:wait}.google-signin-btn__logo{width:20px;height:20px;flex-shrink:0}.auth-google-overlay{position:absolute;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;border-radius:inherit;background:#071726c7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.auth-google-overlay__card{text-align:center;padding:1.25rem 1.5rem;max-width:280px}.auth-google-overlay__spinner{display:inline-block;width:40px;height:40px;border:3px solid rgba(255,255,255,.2);border-top-color:#22d3ee;border-radius:50%;animation:google-signin-spin .8s linear infinite;margin-bottom:.85rem}.auth-google-overlay__title{margin:0 0 .35rem;color:#e6f7fb;font-size:1rem;font-weight:600}.auth-google-overlay__hint{margin:0;color:#cfeff6bf;font-size:.8rem;line-height:1.45}@keyframes google-signin-spin{to{transform:rotate(360deg)}}.login-page-container{min-height:100vh;display:flex;justify-content:center;align-items:center;font-family:Inter,sans-serif;padding:1rem}.login-card{position:relative;width:100%;width:400px;height:auto;border-radius:1.5rem;overflow:hidden;background:#ffffff14;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 40px #0006}.login-card{position:relative}.login-close-btn{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;border:none;background:#ffffff14;color:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s ease}.login-close-btn:hover{background:#fff3;transform:rotate(90deg)}.login-form-section{width:100%;padding:2rem;display:flex;flex-direction:column;justify-content:center}.login-form-wrapper{width:100%;max-width:22rem;margin:0 auto;display:flex;flex-direction:column;gap:1rem}.login-title{font-size:1.5em;font-weight:800;color:#fff}.login-subtitle{font-size:.9rem;color:#fff9}.login-divider{display:flex;align-items:center;gap:1rem;margin:1rem 0}.login-options{display:flex;justify-content:space-between}.divider-text{font-size:.75rem;color:#ffffff80}.input-label,.password-label{font-size:.8rem;color:#ffffffb3}.input-field,.password-field{width:100%;padding:.6rem 1rem;background:#ffffff0f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:.6rem;color:#fff;font-size:.85rem;outline:none;transition:all .2s ease}.input-field::-moz-placeholder,.password-field::-moz-placeholder{color:#fff6}.input-field::placeholder,.password-field::placeholder{color:#fff6}.input-field:focus,.password-field:focus{border-color:#22d3eeb3;box-shadow:0 0 0 2px #22d3ee33}.checkbox-text{color:#ffffffb3}.primary-button{width:100%;background:linear-gradient(135deg,#22d3ee,#3b82f6);color:#fff;padding:10px;border-radius:.6rem;font-size:.85rem;font-weight:600;border:none;cursor:pointer;transition:all .2s ease}.primary-button:hover{transform:translateY(-1px);box-shadow:0 6px 20px #3b82f666}.text-link-button{color:#22d3ee;font-size:.85rem;background:none;border:none}.register-page-container{min-height:100vh;display:flex;justify-content:center;align-items:center;font-family:Inter,sans-serif;padding:1rem}.register-card{position:relative;width:100%;max-width:800px;border-radius:1.5rem;overflow:hidden;background:#ffffff14;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 40px #0006}.register-form-section{padding:2rem;gap:1rem}.register-form{display:flex;flex-direction:column;gap:1rem}.form-row{display:flex;gap:.8rem}.form-row .input-group{flex:1}@media(max-width:600px){.form-row{flex-direction:column}}.register-title{font-size:1.6rem;font-weight:800;color:#fff;margin-bottom:10px}.register-subtitle{font-size:.85rem;color:#fff9;margin-bottom:10px}.input-label{font-size:.75rem;color:#ffffffb3}.input-field,.password-field{width:100%;padding:.6rem 1rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:.6rem;color:#fff;font-size:.85rem;outline:none}.input-field:focus,.password-field:focus{border-color:#22d3ee;box-shadow:0 0 0 2px #22d3ee33}.password-wrapper{position:relative}.password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#aaa;cursor:pointer}.password-strength{font-size:.7rem;font-weight:600}.password-strength.weak{color:#ef4444}.password-strength.medium{color:#f59e0b}.password-strength.strong{color:#22c55e}.email-otp-row{display:flex;gap:.5rem;align-items:end}.label-row{display:flex;justify-content:space-between;align-items:center}.verified-label{font-size:.7rem;color:#22c55e;font-weight:600}.otp-verification-container{display:flex;gap:.5rem;margin-top:6px}@media(max-width:600px){.otp-verification-container{flex-direction:row}}.get-otp-btn{height:38px;padding:0 10px;border-radius:.5rem;border:none;background:linear-gradient(135deg,#22d3ee,#3b82f6);color:#fff;font-size:.75rem;cursor:pointer}.otp-verification-container{display:flex;gap:.5rem}.otp-input-field{flex:1}.checkbox-field{display:flex;align-items:center;gap:.5rem}.checkbox-text{font-size:.8rem;color:#ffffffb3}.primary-button{width:100%;padding:10px;border-radius:.6rem;border:none;background:linear-gradient(135deg,#22d3ee,#3b82f6);color:#fff;font-weight:600;cursor:pointer}.primary-button:hover{box-shadow:0 6px 20px #3b82f666}.register-divider{display:flex;align-items:center;margin:1rem 0}.divider-line{flex:1;height:1px;background:#ffffff1a}.divider-text{margin:0 10px;font-size:.7rem;color:#ffffff80}.google-oauth-button{width:100%;padding:.6rem;border-radius:.6rem;background:#ffffff14;border:1px solid rgba(255,255,255,.1);color:#fff;cursor:pointer}.email-otp-inline{display:flex;gap:.4rem}.email-otp-inline .input-field{flex:1}.get-otp-btn{padding:0 10px;font-size:.75rem;white-space:nowrap}.verified-badge{display:flex;align-items:center;justify-content:center;padding:0 10px;color:#22c55e;font-weight:600}.modal-overlay{position:fixed;inset:0;z-index:1400;display:flex;align-items:center;justify-content:center;background:#020a1673;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-content{max-width:90%;max-height:90%;overflow-y:hidden}.modal-close-btn{position:fixed;top:20px;right:20px;z-index:60;background:none;border:none;cursor:pointer;font-size:24px;color:var(--danger, #ef4444)}.modal-close-btn:hover{opacity:1}:root{--bg-deep: #0e3a5c;--bg-mid: #165a82;--bg-bright: #1e6b96;--bg-panel: rgba(255, 255, 255, .1);--neon: #00f0ff;--neon-soft: rgba(0, 240, 255, .45);--accent: #e8c547;--coral: #ff8f6b;--magenta: #e11d48;--violet: #9333ea;--link: #a5f3fc;--text: #ffffff;--text-secondary: #e2e8f0;--text-muted: #cbd5e1;--positive: #4ade80;--negative: #fda4af;--glass-border: rgba(255, 255, 255, .22);--radius: 14px}.page-bg{position:fixed;inset:0;z-index:-2;background:radial-gradient(ellipse 110% 85% at 50% -15%,rgba(100,200,230,.45),transparent 52%),radial-gradient(ellipse 55% 50% at 95% 25%,rgba(255,140,100,.18),transparent 48%),radial-gradient(ellipse 50% 45% at 5% 65%,rgba(0,240,255,.2),transparent 45%),linear-gradient(185deg,#1a6a90 0%,var(--bg-mid) 35%,var(--bg-deep) 72%,#0a2840 100%)}.page-bg:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:36px 36px;-webkit-mask-image:radial-gradient(ellipse 92% 82% at 50% 32%,black 20%,transparent 78%);mask-image:radial-gradient(ellipse 92% 82% at 50% 32%,black 20%,transparent 78%);pointer-events:none}.header{position:sticky;top:0;z-index:100;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#0e3a5ce0;border-bottom:1px solid var(--glass-border)}.header-container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.header-inner{height:64px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.logo{display:flex;align-items:center;gap:8px;text-decoration:none}.logo-image{width:42px;height:42px;border-radius:50%}.logo-text{font-family:Plus Jakarta Sans,sans-serif;font-weight:800;font-size:1.28rem;letter-spacing:.03em;margin:0}.logo-primary{color:var(--text)}.logo-accent{background:linear-gradient(135deg,var(--neon),#5eead4);-webkit-background-clip:text;background-clip:text;color:transparent}.nav-desktop{display:none;gap:1.35rem;align-items:center}.nav-desktop a{color:var(--text-muted);text-decoration:none;font-size:.88rem;font-weight:500;transition:color .2s}.nav-desktop a:hover{color:var(--neon)}.actions-desktop{display:none;align-items:center;gap:.75rem}.login-btn{display:inline-flex;align-items:center;justify-content:center;padding:.58rem 1.2rem;font-family:inherit;font-weight:600;font-size:.88rem;border-radius:999px;border:none;background:linear-gradient(105deg,var(--coral) 0%,var(--magenta) 55%,var(--violet) 100%);color:#fff;cursor:pointer;box-shadow:0 4px 28px #ff7e5f59;transition:transform .2s,box-shadow .2s}.login-btn:hover{transform:translateY(-2px);box-shadow:0 8px 36px #c9184a66}.login-btn.full-width{width:100%}.mobile-menu-btn{background:none;border:none;cursor:pointer;padding:8px;color:var(--text)}.mobile-menu{border-top:1px solid var(--glass-border);padding:16px 0;background:#0e3a5cf2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.nav-mobile{display:flex;flex-direction:column;gap:16px}.nav-mobile a{text-decoration:none;color:var(--text-muted);font-weight:500;transition:color .2s}.nav-mobile a:hover{color:var(--neon)}@media(min-width:768px){.nav-desktop,.actions-desktop{display:flex}.mobile-menu-btn,.mobile-menu{display:none}}.hero{position:relative;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;justify-content:flex-start;padding:.5rem 0 .75rem;overflow:hidden}.hero-fin-grid-slow{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(0,240,255,.55) 1px,transparent 1px);background-size:17px 17px;opacity:.22;-webkit-mask-image:radial-gradient(ellipse 80% 68% at 48% 42%,black 10%,transparent 75%);mask-image:radial-gradient(ellipse 80% 68% at 48% 42%,black 10%,transparent 75%);pointer-events:none;animation:grid-drift-b 32s linear infinite reverse}.hero-layout{position:relative;z-index:2;flex:1 1 auto;display:flex;flex-direction:column;min-height:0;width:100%;max-width:1200px;margin-inline:auto;padding:0 1.5rem;box-sizing:border-box}.hero-mid-gap{flex:1 1 auto;min-height:clamp(72px,10vh,220px);pointer-events:none}.hero-banner{position:relative;border-radius:10px;overflow:hidden;border:1px solid rgba(0,232,255,.2);box-shadow:0 16px 40px #00000059,0 0 0 1px #ffffff0d inset,0 0 48px #00e8ff0f;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.hero-banner:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#041830eb,#061c34f5);z-index:0}.hero-banner>*{position:relative;z-index:1}.hero-market-strip{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .9rem;padding:.38rem 1.15rem;border-bottom:1px solid rgba(255,255,255,.12);background:#00000047;font-size:.72rem;font-variant-numeric:tabular-nums}.hero-market-strip span{white-space:nowrap;color:var(--text-muted)}.hero-market-strip .lbl{font-weight:600;text-transform:uppercase;font-size:.65rem;letter-spacing:.08em;color:var(--neon-soft);margin-right:.3rem}.hero-market-strip .px{color:var(--text);font-weight:700}.hero-market-strip .up{color:var(--positive)}.hero-market-strip .down{color:var(--negative)}.hero-banner-inner{padding:.48rem 1.15rem .45rem}.hero-chip-row{display:flex;flex-wrap:wrap;gap:.3rem .45rem;margin-top:.4rem;margin-bottom:.4rem;align-items:center}.hero-chip{display:inline-flex;align-items:center;gap:.28rem;font-size:.6rem;font-weight:600;letter-spacing:.03em;color:var(--text-secondary);padding:.18rem .5rem;border-radius:999px;background:#ffffff14;border:1px solid rgba(255,255,255,.14);line-height:1.2}.hero-chip--accent{color:#0c1e30;background:linear-gradient(135deg,#a5f3fc,#67e8f9);border:none;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.55rem;padding:.2rem .5rem}.hero-chip--accent .dot{width:4px;height:4px;border-radius:50%;background:var(--magenta);box-shadow:0 0 6px var(--magenta);display:inline-block}.hero-banner h1{font-family:Plus Jakarta Sans,sans-serif;font-weight:800;font-size:clamp(1rem,2.2vw,1.45rem);line-height:1.18;letter-spacing:-.02em;margin:0 0 .22rem;color:var(--text);text-shadow:0 2px 24px rgba(0,0,0,.4)}@media(min-width:900px){.hero-banner h1{font-size:clamp(1.1rem,1.85vw,1.5rem)}}.hero-banner p.tag{margin:0;width:100%;font-size:clamp(.74rem,1.15vw,.88rem);line-height:1.28;color:#e8f4fc;text-align:justify;-moz-text-align-last:left;text-align-last:left}#hero-heading{font-size:2rem;font-weight:700;line-height:1.1;letter-spacing:-.025em;color:var(--text);margin-bottom:2rem;font-family:YourHeadlineFont,sans-serif}@media(min-width:640px){#hero-heading{font-size:1rem}}@media(min-width:1024px){#hero-heading{font-size:2.5rem}}.tag{font-size:1rem;color:var(--text-secondary);max-width:36rem;font-weight:300;line-height:1.625;margin-bottom:2.5rem}@media(min-width:768px){.tag{font-size:1.125rem}}@media(min-width:1024px){.tag{font-size:1.25rem}}.hero-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.42rem}.hero-banner-inner .btn-cta,.hero-banner-inner .btn-solid{padding:.45rem 1rem;font-size:.8rem}.btn-cta{display:inline-flex;align-items:center;justify-content:center;padding:.68rem 1.4rem;font-family:inherit;font-weight:600;font-size:.9rem;border-radius:999px;border:none;cursor:pointer;text-decoration:none;background:linear-gradient(105deg,var(--coral) 0%,var(--magenta) 55%,var(--violet) 100%);color:#fff;box-shadow:0 4px 28px #ff7e5f59;transition:transform .2s,box-shadow .2s}.btn-cta:hover{transform:translateY(-2px);box-shadow:0 8px 36px #c9184a66}.btn-solid{display:inline-flex;align-items:center;justify-content:center;padding:.68rem 1.4rem;font-family:inherit;font-weight:600;font-size:.9rem;border-radius:999px;border:1px solid rgba(255,255,255,.25);cursor:pointer;text-decoration:none;background:linear-gradient(180deg,#063252,#042538);color:#fff;box-shadow:0 0 28px #00f0ff33;transition:transform .2s,box-shadow .2s}.btn-solid:hover{transform:translateY(-1px);box-shadow:0 0 32px #00e8ff47}.hero-banner-bar{padding:.32rem .85rem .38rem;background:linear-gradient(105deg,#ff9a76 0%,var(--magenta) 48%,var(--violet) 100%);border-radius:10px;border:1px solid rgba(255,255,255,.14);box-shadow:0 8px 28px #00000038;margin-bottom:.5rem;margin-top:.5rem}.hero-banner-bar p{margin:0;font-family:Plus Jakarta Sans,sans-serif;font-weight:800;font-size:clamp(.52rem,1.05vw,.68rem);line-height:1.22;text-transform:uppercase;letter-spacing:.06em;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.25)}.hero-banner-bar .sub{display:block;margin-top:.15rem;font-weight:600;font-size:.55rem;letter-spacing:.14em;opacity:.95}.chart-bars{width:100%;height:100px;display:flex;align-items:flex-end;justify-content:center;gap:6px;padding:0 4%;opacity:.92;pointer-events:none}.chart-bars span{position:relative;width:9px;border-radius:2px;background:linear-gradient(180deg,#b8fff0,var(--neon),rgba(0,200,220,.5));box-shadow:0 0 18px #00f0ff8c;animation:bar-h 3.5s ease-in-out infinite}.chart-bars span:before{content:"";position:absolute;left:50%;bottom:100%;width:1px;height:40%;transform:translate(-50%);background:linear-gradient(180deg,#ffa078a6,#00e8ff4d)}.chart-bars span:nth-child(odd){animation-delay:-.8s}.chart-bars span:nth-child(3n){animation-delay:-1.6s}@keyframes bar-h{0%,to{height:15%;opacity:.5}50%{height:100%;opacity:1}}.stats{width:100%;margin:.35rem 0 0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:.45rem;position:relative;z-index:2}@media(min-width:520px){.stats{grid-template-columns:repeat(4,1fr)}}.stat-card{border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:.55rem .45rem;text-align:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .2s,border-color .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-3px);border-color:#00e8ff59;box-shadow:0 12px 40px #00000059}.stat-card .num{font-family:Plus Jakarta Sans,sans-serif;font-size:clamp(1.1rem,2.8vw,1.35rem);font-weight:800;background:linear-gradient(135deg,#fff,var(--neon));-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1.1}.stat-card .lbl{font-size:.62rem;color:var(--text-muted);margin-top:.2rem;line-height:1.25}.ticker-wrap{position:relative;z-index:2;border:1px solid rgba(255,255,255,.2);background:linear-gradient(180deg,#061e34eb,#04162af5);box-shadow:0 12px 40px #0003;overflow:hidden}.ticker-label{display:flex;align-items:center;gap:.35rem;padding:.32rem .65rem;font-size:.58rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--neon);border-bottom:1px solid rgba(255,255,255,.1);background:#0003}.ticker-label span{opacity:.85}.ticker{display:flex;gap:2rem;padding:.45rem .65rem;white-space:nowrap;animation:scroll-ticker 38s linear infinite;font-size:.68rem;font-variant-numeric:tabular-nums;color:var(--text-muted)}.ticker strong{color:var(--neon);font-weight:600;margin-right:.35rem}.ticker .up{color:var(--positive);font-weight:600}.ticker .down{color:var(--negative);font-weight:600}@keyframes scroll-ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}.hero-column{position:relative;z-index:2;width:100%;padding:0}.hero-column--top{flex-shrink:0;padding-bottom:.35rem}.hero-column--bottom{flex-shrink:0;padding-top:.15rem}.landing-section{max-width:1200px;margin:0 auto;padding:3.5rem 1.5rem}.section-kicker{font-size:1.2rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--neon);margin:0 0 .5rem}.section-title{font-family:Plus Jakarta Sans,sans-serif;font-size:clamp(1.55rem,3.2vw,2.05rem);font-weight:700;margin:0 0 .5rem;color:var(--text)}.section-lead{color:var(--text-secondary);max-width:640px;margin:0 0 2rem;font-size:1.02rem;line-height:1.6}.section--mesh{position:relative}.section--mesh:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(0,232,255,.06),transparent 55%);pointer-events:none;z-index:-1}.cards-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:640px){.cards-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.cards-grid{grid-template-columns:repeat(3,1fr)}}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:1.5rem}.card{width:100%;padding:1.5rem 1.45rem;border-radius:var(--radius);background:#051c30b8;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(148,163,184,.12);box-shadow:0 8px 32px #00000040;transition:border-color .2s,transform .2s,box-shadow .2s;position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--neon),transparent);opacity:.5}.card:hover{border-color:#00e8ff4d;transform:translateY(-4px);box-shadow:0 16px 48px #00283c59}.card .icon{font-size:1.75rem;line-height:1;margin-bottom:.65rem;display:block}.card h3{font-family:Plus Jakarta Sans,sans-serif;font-size:1.08rem;margin:0 0 .45rem;color:var(--text)}.card p{margin:0;color:var(--text-secondary);font-size:.95rem;line-height:1.55}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;counter-reset:step}.step{position:relative;padding:1.5rem 1.5rem 1.5rem 4.25rem;background:#051c30b8;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--glass-border);border-radius:var(--radius);transition:border-color .2s,transform .2s}.step:hover{border-color:#00e8ff4d;transform:translateY(-3px)}.step:before{counter-increment:step;content:counter(step);position:absolute;left:1.25rem;top:1.35rem;width:2.25rem;height:2.25rem;border-radius:10px;background:linear-gradient(135deg,var(--coral),var(--magenta));color:#fff;font-family:Plus Jakarta Sans,sans-serif;font-weight:800;font-size:1rem;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #c9184a59}.step h3{margin:0 0 .4rem;font-size:1.05rem;color:var(--text)}.step p{margin:0;color:var(--text-secondary);font-size:.94rem;line-height:1.55}.pricing{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;align-items:stretch}.price-card{background:#051c30c7;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(148,163,184,.15);border-radius:var(--radius);padding:1.75rem 1.5rem;display:flex;flex-direction:column;transition:transform .2s,border-color .2s}.price-card:hover{transform:translateY(-3px);border-color:#00e8ff40}.price-card.featured{border-color:#ff7e5f73;box-shadow:0 0 40px #ff7e5f1f;background:linear-gradient(180deg,#28142366,#0a1c30d9)}.price-card .tag-pill{display:inline-block;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--coral);margin-bottom:.5rem}.price-card h3{margin:0 0 .25rem;font-size:1.2rem;color:var(--text)}.price-card .amt{font-size:2rem;font-weight:800;font-family:Plus Jakarta Sans,sans-serif;margin:.5rem 0;color:var(--text)}.price-card .amt small{font-size:1rem;font-weight:500;color:var(--text-muted)}.price-card ul{list-style:none;margin:1rem 0 1.25rem;padding:0;flex:1}.price-card li{padding:.4rem 0 .4rem 1.35rem;position:relative;color:var(--text-secondary);font-size:.92rem}.price-card li:before{content:"✓";position:absolute;left:0;color:var(--positive);font-weight:700}.faq-section{max-width:1200px;margin:0 auto;padding:3.5rem 1.5rem}.faq-section details{background:#051c30b8;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(148,163,184,.12);border-radius:10px;margin-bottom:.65rem;overflow:hidden;transition:border-color .2s}.faq-section details:hover{border-color:#00e8ff33}.faq-section summary{padding:1rem 1.15rem;cursor:pointer;font-weight:600;color:var(--text);list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem}.faq-section summary::-webkit-details-marker{display:none}.faq-section summary:after{content:"+";font-size:1.25rem;color:var(--neon);font-weight:300;transition:transform .2s}.faq-section details[open] summary:after{transform:rotate(45deg)}.faq-answer{padding:0 1.15rem 1.1rem;color:var(--text-secondary);font-size:.95rem;line-height:1.55}.cta-band{margin:2rem 1.5rem 3rem;max-width:1200px;margin-left:auto;margin-right:auto;padding:2.75rem 2rem;border-radius:var(--radius);text-align:center;position:relative;overflow:hidden;border:1px solid rgba(0,232,255,.2);background:linear-gradient(135deg,#14325080,#081220f2);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.cta-band:before{content:"";position:absolute;inset:-50%;background:conic-gradient(from 180deg at 50% 50%,transparent,rgba(0,232,255,.06),transparent 40%);animation:cta-spin 14s linear infinite}@keyframes cta-spin{to{transform:rotate(360deg)}}.cta-band h2,.cta-band p,.cta-band .btn-wrap{position:relative;z-index:1}.cta-band h2{font-family:Plus Jakarta Sans,sans-serif;margin:0 0 .65rem;font-size:clamp(1.35rem,3vw,1.75rem);color:var(--text)}.cta-band p{color:var(--text-secondary);margin:0 0 1.35rem;max-width:520px;margin-left:auto;margin-right:auto;line-height:1.55}.footer{border-top:1px solid rgba(0,232,255,.12);background:#08182899;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.footer-container{max-width:1200px;margin:0 auto;padding:1.5rem 1.5rem 0rem}.footer-grid{display:grid;gap:60px}@media(min-width:768px){.footer-grid{grid-template-columns:repeat(4,1fr)}}.footer-brand{width:360px}.brand-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.brand-logo{width:42px;height:42px;display:flex;align-items:center;justify-content:center}.brand-logo img{width:40px;height:40px;border-radius:50%}.brand-name{font-family:Plus Jakarta Sans,sans-serif;font-size:20px;font-weight:800;color:var(--text)}.brand-description{font-size:.88rem;color:var(--text-muted);line-height:1.6}.footer-column h4{color:var(--text);font-size:.95rem;font-weight:600;margin-bottom:16px}.footer-column ul{list-style:none;padding:0;margin:0}.footer-column li{margin-bottom:12px}.footer-column span,.footer-column a{color:var(--text-muted);font-size:.88rem;text-decoration:none;cursor:pointer;transition:color .2s}.footer-column span:hover,.footer-column a:hover{color:var(--neon)}.footer-bottom{margin-top:20px;padding:10px 0;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:24px;align-items:center;justify-content:space-between}@media(min-width:768px){.footer-bottom{flex-direction:row}}.copyright{font-size:.85rem;color:var(--text-muted)}.social-icons{display:flex;gap:16px}.social-icon{width:36px;height:36px;border-radius:50%;background:#ffffff14;border:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:all .2s;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.social-icon svg{width:16px;height:16px;fill:currentColor}.social-icon:hover{background:#00f0ff26;border-color:var(--neon);color:var(--neon)}@media(prefers-reduced-motion:reduce){.hero-bokeh i,.chart-bars span,.hero-scan,.ticker,.hero-beams,.hero-fin-grid,.hero-fin-grid-slow,.cta-band:before{animation:none!important}}@media(max-width:768px){.nav-desktop,.actions-desktop{display:none}}.hero-visual{position:absolute;inset:0;z-index:0;background:radial-gradient(ellipse 95% 70% at 50% 36%,rgba(0,100,130,.35) 0%,transparent 58%)}.hero-bokeh{position:absolute;inset:-12% -8%;pointer-events:none}.hero-bokeh i{position:absolute;display:block;border-radius:50%;filter:blur(52px);mix-blend-mode:screen;opacity:.62;animation:bokeh-drift 16s ease-in-out infinite}.hero-bokeh i:nth-child(1){left:5%;top:12%;width:220px;height:220px;background:#ff5c4d}.hero-bokeh i:nth-child(2){right:8%;top:6%;width:180px;height:180px;background:#ffb020;animation-delay:-2.5s}.hero-bokeh i:nth-child(3){left:38%;top:18%;width:140px;height:140px;background:var(--violet);opacity:.48;animation-delay:-5s}.hero-bokeh i:nth-child(4){right:22%;bottom:32%;width:280px;height:280px;background:#2ee8ff;opacity:.42;animation-delay:-8s}.hero-bokeh i:nth-child(5){left:15%;bottom:20%;width:160px;height:160px;background:#f46;animation-delay:-11s}.hero-bokeh i:nth-child(6){right:2%;bottom:12%;width:200px;height:200px;background:#5dffc4;opacity:.32;animation-delay:-14s}@keyframes bokeh-drift{0%,to{transform:translate(0) scale(1)}33%{transform:translate(2.5%,-2.5%) scale(1.06)}66%{transform:translate(-2%,2%) scale(.95)}}.hero-fin-grid{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.9) 1.3px,transparent 1.3px);background-size:11px 11px;opacity:.42;-webkit-mask-image:radial-gradient(ellipse 85% 72% at 50% 38%,black 8%,transparent 78%);mask-image:radial-gradient(ellipse 85% 72% at 50% 38%,black 8%,transparent 78%);pointer-events:none;animation:grid-drift-a 24s linear infinite}.hero-fin-grid--slow{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(0,240,255,.55) 1px,transparent 1px);background-size:17px 17px;opacity:.22;-webkit-mask-image:radial-gradient(ellipse 80% 68% at 48% 42%,black 10%,transparent 75%);mask-image:radial-gradient(ellipse 80% 68% at 48% 42%,black 10%,transparent 75%);pointer-events:none;animation:grid-drift-b 32s linear infinite reverse}@keyframes grid-drift-a{0%{background-position:0 0}to{background-position:55px 55px}}@keyframes grid-drift-b{0%{background-position:0 0}to{background-position:-51px 34px}}.hero-beams{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent,transparent 118px,rgba(255,255,255,.04) 118px,rgba(255,255,255,.1) 120px,transparent 120px,transparent 200px);animation:beam-shift 25s linear infinite;pointer-events:none;opacity:.85}@keyframes beam-shift{0%{transform:translate(0)}to{transform:translate(200px)}}.hero-mesh{position:absolute;inset:0;background:radial-gradient(circle at 28% 38%,rgba(0,240,255,.22) 0%,transparent 42%),radial-gradient(circle at 75% 25%,rgba(255,160,120,.16) 0%,transparent 38%);-webkit-mask-image:radial-gradient(ellipse 88% 78% at 50% 42%,black 18%,transparent 76%);mask-image:radial-gradient(ellipse 88% 78% at 50% 42%,black 18%,transparent 76%);pointer-events:none}.hero-fin-icons{position:absolute;inset:0;pointer-events:none;z-index:1}.fi-ico{position:absolute;width:22px;height:22px;display:flex;align-items:center;justify-content:center;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.fi-ico svg{width:100%;height:100%;overflow:visible}.fi-ico--sm{width:18px;height:18px}.fi-ico--lg{width:28px;height:28px}.fi-ico:nth-child(1){left:6%;top:22%;animation-delay:0s}.fi-ico:nth-child(2){right:7%;top:26%;animation-delay:-.8s}.fi-ico:nth-child(3){left:11%;top:42%;animation-delay:-1.6s}.fi-ico:nth-child(4){right:12%;top:46%;animation-delay:-2.4s}.fi-ico:nth-child(5){left:18%;top:14%;animation-delay:-1.1s}.fi-ico:nth-child(6){right:20%;top:16%;animation-delay:-2.9s}.fi-ico:nth-child(7){left:4%;top:56%;animation-delay:-.5s}.fi-ico:nth-child(8){right:5%;top:58%;animation-delay:-3.5s}.fi-ico:nth-child(9){left:28%;top:34%;animation-delay:-2s}.fi-ico:nth-child(10){right:26%;top:38%;animation-delay:-4s}@keyframes fi-drift{0%,to{transform:translate(0) rotate(-4deg)}50%{transform:translate(5px,-12px) rotate(4deg)}}@keyframes fi-pulse-ico{0%,to{transform:scale(1);opacity:.82;filter:drop-shadow(0 0 3px rgba(255,255,255,.35))}50%{transform:scale(1.12);opacity:1;filter:drop-shadow(0 0 10px rgba(0,240,255,.55))}}@keyframes fi-sway{0%,to{transform:translate(0) rotate(0)}50%{transform:translate(8px) rotate(10deg)}}@keyframes fi-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}@keyframes fi-spin-soft{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fi-ico:nth-child(1),.fi-ico:nth-child(5),.fi-ico:nth-child(10){animation-name:fi-drift;animation-duration:5.8s}.fi-ico:nth-child(2),.fi-ico:nth-child(6){animation-name:fi-pulse-ico;animation-duration:3.4s}.fi-ico:nth-child(3),.fi-ico:nth-child(7){animation-name:fi-sway;animation-duration:5s}.fi-ico:nth-child(4),.fi-ico:nth-child(8){animation-name:fi-bob;animation-duration:4s}.fi-ico:nth-child(9){animation-name:fi-spin-soft;animation-duration:18s;animation-timing-function:linear}.hero-globe{position:absolute;left:50%;top:min(38vh,340px);width:min(120%,1400px);transform:translate(-50%,-50%);opacity:.92;pointer-events:none}.hero-infra{position:absolute;left:50%;top:min(38vh,340px);width:min(115%,1300px);height:min(48vh,420px);transform:translate(-50%,-50%);pointer-events:none;z-index:0;opacity:.72}.hero-infra .flow-line{fill:none;stroke:#00f0ff59;stroke-width:1.2;stroke-dasharray:6 10;animation:flow-dash 4s linear infinite}.hero-infra .flow-line--b{animation-duration:5.5s;animation-direction:reverse;stroke:#ffb4784d}@keyframes flow-dash{to{stroke-dashoffset:-64}}.hero-waves{position:absolute;left:0;right:0;bottom:16%;height:48%;width:100%;min-height:150px;opacity:.88;pointer-events:none}.hero-waves path{fill:none;stroke:url(#waveStroke);stroke-width:2;stroke-linecap:round;stroke-dasharray:14 12;animation:wave-dash 20s linear infinite}.hero-waves path:nth-child(2){animation-duration:26s;animation-direction:reverse;opacity:.75}.hero-waves path:nth-child(3){animation-duration:32s;opacity:.5}@keyframes wave-dash{to{stroke-dashoffset:-420}}.hero-formulas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.hero-formulas text{fill:#ffffff24;font-family:ui-monospace,monospace;font-size:12px}.hero-scan{position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(255,255,255,.07) 50%,transparent 65%);background-size:100% 200%;animation:hero-scan-move 6s ease-in-out infinite;pointer-events:none;mix-blend-mode:overlay}@keyframes hero-scan-move{0%,to{background-position:0 0}50%{background-position:0 100%}}.hero-vignette{position:absolute;inset:0;background:radial-gradient(ellipse 82% 72% at 50% 44%,transparent 35%,rgba(8,40,65,.38) 100%);pointer-events:none}.hero-charts-row{position:relative;z-index:2;width:100%;min-height:56px;display:flex;align-items:flex-end;justify-content:center;padding:0 .25rem .15rem;pointer-events:none}.sparkline{position:absolute;right:5%;top:clamp(150px,30vh,240px);width:min(140px,22vw);height:48px;opacity:.85;z-index:1;pointer-events:none}.card-head{display:flex;align-items:center;gap:20px}.oauth-success-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#071726,#0a2540,#071726);padding:1.5rem}.oauth-success-card{text-align:center;max-width:360px;padding:2rem 2.25rem;background:#051c30e6;border:1px solid rgba(255,255,255,.08);border-radius:16px;box-shadow:0 24px 48px #00000059}.oauth-success-spinner{width:44px;height:44px;margin:0 auto 1.25rem;border:3px solid rgba(34,211,238,.2);border-top-color:#22d3ee;border-radius:50%;animation:oauth-spin .85s linear infinite}.oauth-success-title{margin:0 0 .5rem;color:#e6f7fb;font-size:1.15rem;font-weight:600}.oauth-success-subtitle{margin:0;color:#cfeff6b3;font-size:.875rem}@keyframes oauth-spin{to{transform:rotate(360deg)}}.la-page{min-height:100vh;padding:14px clamp(12px,2.4vw,28px) 28px;background:radial-gradient(circle at top left,rgba(37,99,235,.2),transparent 34rem),radial-gradient(circle at top right,rgba(34,197,94,.14),transparent 28rem),#07111f;color:#e5eefb}.la-hero{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;max-width:1320px;margin:0 auto 12px}.la-kicker{margin:0 0 4px;color:#60a5fa;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.la-hero h1{margin:0;color:#f8fafc;font-size:clamp(1rem,2vw,1.45rem)}.la-copy{margin:6px 0 0;max-width:720px;color:#94a3b8;font-size:.82rem;line-height:1.45}.la-link-btn{display:inline-flex;padding:8px 12px;border:1px solid rgba(96,165,250,.35);border-radius:12px;color:#93c5fd;font-size:.74rem;font-weight:700;text-decoration:none}.la-panel{max-width:1320px;margin:0 auto 12px;padding:12px;border:1px solid rgba(148,163,184,.18);border-radius:15px;background:#0f172ac2}.la-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.la-controls label,.la-day-picker{display:inline-flex;flex-direction:column;gap:4px;color:#94a3b8;font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.la-controls input,.la-controls select,.la-day-picker input{min-width:150px;padding:6px 8px;border:1px solid rgba(148,163,184,.18);border-radius:10px;background:#02061761;color:#f8fafc}.la-notice{flex:1 1 100%;color:#93c5fd}.la-panel-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:10px}.la-panel-head--full{flex:1 1 100%;margin-bottom:4px}.la-panel-head h2{margin:0;color:#f8fafc;font-size:.95rem}.la-panel-actions{display:flex;align-items:flex-end;gap:8px}.la-export-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border:1px solid rgba(96,165,250,.28);border-radius:11px;background:#2563eb29;color:#bfdbfe;cursor:pointer;font-size:.68rem;font-weight:800}.la-export-btn:disabled{opacity:.45;cursor:not-allowed}.la-export-btn:not(:disabled):hover{background:#2563eb47}.la-table{width:100%;border-collapse:collapse;font-size:.74rem}.la-table th,.la-table td{padding:8px 10px;border-bottom:1px solid rgba(148,163,184,.12);text-align:left;white-space:nowrap}.la-table th{color:#94a3b8;font-size:.62rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.la-table tr.is-active{background:#2563eb1f}.la-symbol-btn,.la-mini-btn{border:0;background:transparent;color:#93c5fd;cursor:pointer;font-weight:800}.la-mini-btn{display:inline-flex;align-items:center;gap:2px;font-size:.68rem}.is-up{color:#4ade80}.is-down{color:#f87171}.la-day-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.la-leader-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;margin-top:14px}.la-day-card{display:grid;gap:4px;padding:10px;border:1px solid rgba(148,163,184,.14);border-radius:12px;background:#02061747;color:#94a3b8;text-align:left;cursor:pointer}.la-day-card.is-active{border-color:#60a5fa73;background:#2563eb24}.la-day-card strong{color:#f8fafc;font-size:1rem}.la-detail-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.la-detail-stats article{display:flex;gap:10px;align-items:center;padding:10px;border-radius:12px;background:#02061747}.la-detail-stats span{display:block;color:#94a3b8;font-size:.62rem;text-transform:uppercase}.la-detail-stats strong{color:#f8fafc;font-size:1rem}.la-chart{margin-bottom:12px;padding:8px;border-radius:12px;background:#02061747}.la-chart-title{margin:0 0 6px;color:#94a3b8;font-size:.72rem}.la-pill{display:inline-flex;padding:3px 8px;border-radius:999px;font-size:.65rem;font-weight:800}.la-pill.sma-pill--buy{background:#22c55e24;color:#4ade80}.la-pill.sma-pill--sell{background:#ef444424;color:#f87171}.la-pill.sma-pill--hold{background:#94a3b824;color:#cbd5e1}.la-outcome{color:#94a3b8;font-weight:700}.la-outcome.is-hit{color:#4ade80}.la-outcome.is-miss{color:#f87171}.la-empty-row,.la-state{padding:18px;color:#94a3b8;text-align:center}.la-state--error{color:#f87171}.la-detail--empty p{margin:0;color:#94a3b8;text-align:center}.la-decision-panel{border-color:#22c55e38}.la-decision-copy{margin:4px 0 0;max-width:760px;color:#94a3b8;font-size:.76rem;line-height:1.4}.la-decision-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin-bottom:12px}.la-decision-kpis article{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid rgba(148,163,184,.16);border-radius:12px;background:#02061773}.la-decision-kpis span{color:#94a3b8;font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.la-decision-kpis strong{color:#f8fafc;font-size:1.05rem}.la-decision-kpis .is-up strong{color:#4ade80}.la-decision-kpis .is-down strong{color:#f87171}.la-decision-remark{margin:0 0 12px;padding:10px 12px;border-left:3px solid rgba(96,165,250,.55);border-radius:0 10px 10px 0;background:#1e293b8c;color:#cbd5e1;font-size:.8rem;line-height:1.45}.la-decision-chart{margin-bottom:12px}.la-chart-title--spaced{margin-top:14px}.la-table--compact th,.la-table--compact td{font-size:.72rem;padding:7px 8px}.la-decision-tooltip{padding:8px 10px;border:1px solid rgba(148,163,184,.25);border-radius:10px;background:#0f172af5;color:#e2e8f0;font-size:.72rem}.la-decision-tooltip p{margin:2px 0}.la-verdict-panel{border-color:#60a5fa38}.la-mood{display:inline-flex;padding:3px 8px;border-radius:999px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.la-mood.is-bullish{background:#22c55e2e;color:#4ade80}.la-mood.is-bearish{background:#ef44442e;color:#f87171}.la-mood.is-neutral{background:#94a3b82e;color:#cbd5e1}.la-mood.is-mixed{background:#fbbf242e;color:#fbbf24}.la-verdict-line{max-width:280px;color:#e2e8f0;font-size:.72rem;line-height:1.35}.la-hint-cell{max-width:220px;color:#94a3b8;font-size:.7rem;line-height:1.35}.la-historical-panel{border-color:#a78bfa38}.la-historical-compare h3{margin:0 0 6px;color:#e2e8f0;font-size:.86rem}.la-historical-compare p{margin:0 0 6px;color:#94a3b8;font-size:.76rem}.la-sequence-panel{border-color:#38bdf840}.la-side{display:inline-flex;padding:3px 8px;border-radius:999px;font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.la-side.is-long{background:#22c55e2e;color:#4ade80}.la-side.is-short{background:#ef44442e;color:#f87171}.la-panel-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.la-context-panel{border-color:#facc1540}.la-context-badge-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px}.la-trust-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;font-size:.74rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;background:#94a3b829;color:#cbd5e1;white-space:nowrap}.la-table .la-trust-badge{padding:3px 8px;font-size:.64rem;gap:4px}.la-table .la-verdict-line{max-width:280px;font-size:.72rem;color:#94a3b8;line-height:1.35}.la-trust-badge.is-trusted{background:#22c55e2e;color:#4ade80}.la-trust-badge.is-caution{background:#facc1529;color:#fbbf24}.la-trust-badge.is-avoid{background:#ef44442e;color:#f87171}.la-context-hint{color:#94a3b8;font-size:.76rem;line-height:1.4}.la-context-mood-strip{margin:12px 0 0;color:#94a3b8;font-size:.76rem}.la-mood--bullish{color:#4ade80}.la-mood--bearish{color:#f87171}.la-mood--mixed{color:#fbbf24}.la-mood--neutral,.la-mood--unknown{color:#cbd5e1}.la-side-cell{min-width:150px;vertical-align:top}.la-side-call{display:inline-flex;padding:3px 8px;border-radius:999px;font-size:.64rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;background:#94a3b829;color:#cbd5e1}.la-side-call.is-prefer-buy{background:#22c55e2e;color:#4ade80}.la-side-call.is-prefer-sell{background:#ef44442e;color:#f87171}.la-side-call.is-either{background:#38bdf829;color:#38bdf8}.la-side-call.is-caution{background:#facc1529;color:#fbbf24}.la-side-call.is-avoid,.la-side-call.is-insufficient{background:#94a3b824;color:#94a3b8}.la-side-detail{display:block;margin-top:4px;color:#94a3b8;font-size:.66rem;line-height:1.35}.la-hub-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:1320px;width:100%;margin:0 auto 12px}.la-hub-tab{display:flex;flex-direction:row;align-items:center;gap:12px;padding:14px 16px;border-radius:12px;border:1px solid rgba(148,163,184,.22);background:#0f172a8c;color:#94a3b8;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease,color .15s ease}.la-hub-tab:hover{border-color:#94a3b866;background:#1e293bb3;color:#cbd5e1}.la-hub-tab-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;border-radius:10px;background:#94a3b81f;color:#94a3b8}.la-hub-tab-text{display:flex;flex-direction:column;gap:4px;min-width:0}.la-hub-tab-text strong{font-size:.95rem;color:#e2e8f0}.la-hub-tab-text span{font-size:.72rem;line-height:1.35;color:inherit}.la-hub-tab.is-active{border-color:#38bdf8a6;background:linear-gradient(135deg,#0ea5e938,#38bdf81a);color:#e0f2fe;box-shadow:0 0 0 1px #38bdf859,0 8px 20px #0ea5e91f}.la-hub-tab.is-active .la-hub-tab-icon{background:#38bdf838;color:#38bdf8}.la-hub-tab.is-active .la-hub-tab-text strong{color:#f0f9ff}.la-hub-tab.is-active .la-hub-tab-text span{color:#bae6fd}.la-hub-tab-body{display:grid;gap:12px;max-width:1320px;width:100%;margin:0 auto}.la-hub-tab-body>.la-panel,.la-hub-tab-body>.sma-panel,.la-hub-tab-body>.la-state{max-width:none;width:100%;margin-left:0;margin-right:0;margin-bottom:0}.la-hub-tab-body>.sma-panel,.la-hub-tab-body .sma-live-panel,.la-hub-tab-body .sma-comparison-section{margin-top:0;padding:12px;border-radius:15px;box-shadow:none}.la-hub-tab-body .la-advanced-body>.sma-panel,.la-hub-tab-body .sma-advanced-stack>.sma-panel{max-width:none;width:100%;margin:0;padding:12px;border-radius:15px;box-shadow:none}.la-hub-tab-body .sma-comparison-card{max-width:none;width:100%;margin-left:0;margin-right:0;margin-bottom:0;padding:12px;border-radius:15px;box-shadow:none}.la-hub-tab-body .sma-dual-charts{gap:12px}.la-hub-crosslinks{display:flex;flex-wrap:wrap;gap:10px;max-width:1320px;width:100%}@media(max-width:760px){.la-hub-tabs{grid-template-columns:1fr}}.la-advanced{padding:0;overflow:hidden}.la-advanced-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.la-advanced-toggle h2{margin:0;font-size:.95rem;font-weight:650;color:#e2e8f0}.la-advanced-toggle .la-kicker{margin-bottom:4px}.la-advanced-body{display:grid;gap:16px;padding:0 16px 16px}.la-advanced-body>.la-panel{margin:0}@media(max-width:760px){.la-detail-stats{grid-template-columns:1fr}}.sma-page{min-height:100vh;padding:14px clamp(12px,2.4vw,28px);background:radial-gradient(circle at top left,rgba(37,99,235,.22),transparent 34rem),radial-gradient(circle at top right,rgba(34,197,94,.16),transparent 28rem),#07111f;color:#e5eefb}.sma-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,280px);gap:12px;align-items:center;margin:0 auto 10px;max-width:1320px}.sma-kicker,.sma-section-kicker{margin:0 0 4px;color:#60a5fa;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.sma-section-kicker--inline{margin-top:14px}.sma-hero h1{max-width:none;margin:0;color:#f8fafc;font-size:clamp(.78rem,1.28vw,1.05rem);line-height:1.05;letter-spacing:-.01em;white-space:nowrap}.sma-hero-copy{max-width:none;margin:5px 0 0;color:#94a3b8;font-size:.54rem;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sma-method-card,.sma-stat-card,.sma-panel{border:1px solid rgba(148,163,184,.18);background:#0f172ac2;box-shadow:0 24px 80px #0000003d;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.sma-method-card{display:flex;gap:8px;padding:9px 10px;border-radius:14px}.sma-method-card svg{flex:0 0 auto;color:#22c55e}.sma-method-card strong,.sma-method-card span{display:block}.sma-method-card strong{color:#f8fafc;font-size:.58rem}.sma-method-card span{margin-top:3px;color:#94a3b8;line-height:1.25;font-size:.5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sma-inline-link{display:inline-block;margin-top:6px;color:#93c5fd;font-size:.58rem;font-weight:700;text-decoration:none;white-space:nowrap}.sma-stats-grid,.sma-grid,.sma-panel{max-width:1320px;margin-left:auto;margin-right:auto}.sma-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px}.sma-stat-card{display:flex;gap:8px;padding:8px 10px;border-radius:13px}.sma-stat-icon{display:grid;width:26px;height:26px;flex:0 0 auto;place-items:center;border-radius:14px;background:#60a5fa26;color:#60a5fa}.sma-stat-card p,.sma-stat-card span{margin:0;color:#94a3b8;font-size:.62rem;line-height:1.15}.sma-stat-card strong{display:block;margin:1px 0;color:#f8fafc;font-size:.82rem;line-height:1.15}.sma-grid{display:grid;gap:12px;margin-bottom:12px}.sma-grid--overview{grid-template-columns:minmax(0,1.5fr) minmax(320px,.8fr)}.sma-grid--symbols{grid-template-columns:minmax(300px,.8fr) minmax(0,1.4fr);align-items:stretch}.sma-comparison-column{display:grid;gap:16px}.sma-comparison-section{margin-top:-2px}.sma-comparison-head{display:grid;grid-template-columns:minmax(180px,1fr) minmax(260px,420px)}.sma-comparison-symbol-search{display:flex;align-items:center;gap:8px;min-width:0;padding:7px 8px;border:1px solid rgba(148,163,184,.18);border-radius:13px;background:#02061757;color:#94a3b8}.sma-comparison-symbol-search input{width:100%;min-width:100px;border:0;outline:0;background:transparent;color:#f8fafc;font-size:.76rem;font-weight:800;text-transform:uppercase}.sma-comparison-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.sma-dual-charts{display:grid;grid-template-columns:1fr;gap:16px}.sma-comparison-card{width:100%}.sma-comparison-card .sma-chart--comparison{width:100%;min-height:420px}.sma-comparison-card.is-expanded .sma-chart--comparison{min-height:580px}.sma-panel{margin-bottom:12px;padding:11px;border-radius:15px}.sma-panel--compact{color:#94a3b8;line-height:1.7}.sma-panel--compact p{margin:0}.sma-disclaimer{margin:8px 0 0;text-align:center;color:#64748b;font-size:.85rem}.sma-advanced-stack{display:grid;gap:16px;margin-top:8px}.sma-panel-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:9px;align-items:center}.sma-comparison-column>.sma-panel--compact .sma-panel-head{display:grid;grid-template-columns:minmax(120px,1fr) auto}.sma-panel-head h2{margin:0;color:#f8fafc;font-size:.86rem}.sma-panel-head svg{color:#60a5fa}.sma-card-actions{display:flex;align-items:center;gap:8px}.sma-horizon-toggle{display:inline-flex;gap:6px;padding:3px;border:1px solid rgba(148,163,184,.16);border-radius:14px;background:#02061742}.sma-horizon-toggle button,.sma-export-btn,.sma-clear-btn,.sma-icon-btn{border:0;border-radius:11px;color:#cbd5e1;cursor:pointer;font-weight:800}.sma-horizon-toggle button{padding:6px 10px;background:transparent;font-size:.68rem}.sma-horizon-toggle button.is-active{background:#2563eb;color:#fff}.sma-export-btn{padding:8px 11px;background:#22c55e24;color:#4ade80}.sma-icon-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;background:#60a5fa1f;color:#93c5fd}.sma-export-btn:disabled{cursor:not-allowed;opacity:.45}.sma-chart-controls{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin:-4px 0 10px}.sma-comparison-column>.sma-panel--compact .sma-chart-controls{display:flex;flex-wrap:nowrap;margin:0 0 8px;overflow-x:auto}.sma-chart-controls label{display:inline-flex;align-items:center;gap:5px;color:#94a3b8;font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.sma-chart-controls input{min-width:118px;padding:5px 7px;border:1px solid rgba(148,163,184,.18);border-radius:12px;background:#02061761;color:#e5eefb}.sma-clear-btn{padding:7px 10px;background:#94a3b81f;font-size:.68rem}.sma-monthly-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:10px}.sma-monthly-controls label{display:inline-flex;flex-direction:column;gap:4px;color:#94a3b8;font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.sma-monthly-controls select,.sma-monthly-controls input{min-width:150px;padding:5px 7px;border:1px solid rgba(148,163,184,.18);border-radius:12px;background:#02061761;color:#e5eefb;font-size:.68rem}.sma-chart{min-height:240px}.sma-chart--financial{min-height:300px}.sma-chart--comparison{min-height:420px}.sma-empty-chart{display:grid;min-height:220px;place-items:center;gap:7px;padding:24px;border:1px dashed rgba(148,163,184,.22);border-radius:14px;background:#02061733;color:#94a3b8;text-align:center}.sma-empty-chart svg{color:#60a5fa}.sma-empty-chart strong{color:#e5eefb}.sma-empty-chart p{margin:0;color:#cbd5e1}.sma-empty-chart span{font-size:.72rem}.sma-comparison-card.is-expanded{position:relative;z-index:5;border-color:#60a5fa7a;background:#080d1af5;box-shadow:0 28px 100px #0000006b}.sma-chart-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.sma-chart-toolbar label{display:inline-flex;align-items:center;gap:8px;color:#94a3b8;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.sma-chart-toolbar select{min-width:132px;padding:7px 9px;border:1px solid rgba(148,163,184,.18);border-radius:11px;background:#0206176b;color:#e5eefb}.sma-live-panel{overflow:hidden;border-color:#22c55e38;background:radial-gradient(circle at 16% 0%,rgba(34,197,94,.12),transparent 28%),#0f172ab8}.sma-live-kicker{display:inline-flex;align-items:center;gap:7px}.sma-live-dot{width:8px;height:8px;border-radius:999px;background:#22c55e;box-shadow:0 0 #22c55ea6;animation:sma-live-pulse 1.5s ease-out infinite}.sma-live-dot.is-market-closed{background:#94a3b8;box-shadow:none;animation:none}.sma-market-status.is-open{color:#4ade80;font-weight:600}.sma-market-status.is-closed{color:#94a3b8;font-weight:600}.sma-live-updated{display:block;margin-top:3px;color:#94a3b8;font-size:.72rem}.sma-live-actions{display:inline-flex;align-items:center;gap:8px}.is-spinning{animation:sma-spin .8s linear infinite}.sma-live-market-card{margin-bottom:10px}.sma-live-symbol-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px}.sma-live-symbol-search{display:flex;align-items:center;gap:8px;flex:1 1 260px;min-width:0;padding:7px 10px;border:1px solid rgba(148,163,184,.18);border-radius:13px;background:#02061757;color:#94a3b8}.sma-live-symbol-active{color:#94a3b8;font-size:.72rem;white-space:nowrap}.sma-live-symbol-active strong{color:#e5eefb}.sma-live-symbol-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#f8fafc;font-size:.76rem;font-weight:800;text-transform:uppercase}.sma-mini-market{border:1px solid rgba(148,163,184,.13);border-radius:14px;background:#02061752;min-width:0;padding:8px 10px 4px}.sma-mini-market-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:2px}.sma-mini-market-head strong,.sma-mini-market-head span,.sma-mini-market-head small{display:block}.sma-mini-market-head strong{color:#f8fafc;font-size:.88rem}.sma-mini-market-head span,.sma-mini-market-head small{color:#94a3b8;font-size:.66rem}.sma-mini-market-head .is-up,.sma-mini-market-head .is-down,.sma-mini-market-head .is-flat{color:#e5eefb;font-size:.8rem;font-weight:900;text-align:right}.sma-mini-market-head .is-up small{color:#22c55e}.sma-mini-market-head .is-down small{color:#ef4444}.sma-mini-signal-legend{display:inline-flex;gap:10px;margin:2px 0 0;color:#94a3b8;font-size:.62rem;font-weight:800}.sma-mini-signal-legend span{display:inline-flex;align-items:center;gap:4px}.sma-mini-signal-legend i{width:7px;height:7px;border-radius:999px}.sma-mini-signal-legend .is-buy{background:#22c55e}.sma-mini-signal-legend .is-sell{background:#ef4444}.sma-mini-signal-legend .is-hold{background:#cbd5e1}.sma-mini-time-note{margin-left:auto;color:#64748b;font-weight:600}.sma-live-tag{display:inline-block;margin-right:6px;padding:1px 6px;border-radius:4px;background:#22c55e2e;color:#4ade80;font-size:.58rem;font-weight:800;letter-spacing:.04em;animation:sma-live-pulse 1.5s ease-out infinite}.sma-mini-chart-wrap{margin-top:4px;border-radius:10px;background:#02061738;padding:4px 2px 0}.sma-mini-market.is-chart-pulse .sma-mini-chart-wrap{animation:sma-chart-flash .55s ease-out}.sma-live-last-dot{animation:sma-live-pulse 1.2s ease-out infinite}@keyframes sma-chart-flash{0%{box-shadow:inset 0 0 #22c55e00}40%{box-shadow:inset 0 0 0 1px #22c55e59}to{box-shadow:inset 0 0 #22c55e00}}.sma-mini-empty{display:grid;min-height:120px;place-items:center;color:#94a3b8;font-size:.75rem}.sma-today-grid{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:12px}.sma-today-primary,.sma-today-metrics span{border-radius:12px;background:#02061747}.sma-today-primary{padding:12px}.sma-today-primary strong{display:block;color:#f8fafc;font-size:1.35rem}.sma-today-primary span,.sma-today-primary p{color:#94a3b8;font-size:.76rem}.sma-today-primary p{margin:6px 0 0}.sma-today-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.sma-today-metrics span{padding:10px;color:#94a3b8;font-size:.68rem;font-weight:800;text-transform:uppercase}.sma-today-metrics strong{display:block;margin-top:4px;color:#e5eefb;font-size:.9rem}.sma-live-ticker{position:relative;margin-top:10px;overflow:hidden;border:1px solid rgba(148,163,184,.12);border-radius:12px;background:#02061752}.sma-live-ticker:before,.sma-live-ticker:after{position:absolute;top:0;z-index:1;width:42px;height:100%;content:"";pointer-events:none}.sma-live-ticker:before{left:0;background:linear-gradient(90deg,rgba(2,6,23,.9),transparent)}.sma-live-ticker:after{right:0;background:linear-gradient(270deg,rgba(2,6,23,.9),transparent)}.sma-live-ticker-track{display:inline-flex;min-width:-moz-max-content;min-width:max-content;animation:sma-ticker 34s linear infinite}.sma-live-ticker:hover .sma-live-ticker-track{animation-play-state:paused}.sma-live-ticker span,.sma-live-ticker button{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border:0;background:transparent;color:#94a3b8;font-size:.72rem;white-space:nowrap;cursor:pointer}.sma-live-ticker button:hover,.sma-live-ticker button.is-active{color:#e5eefb;background:#2563eb24;border-radius:999px}.sma-live-ticker strong{color:#e5eefb}.sma-collapse-summary{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px dashed rgba(148,163,184,.16);border-radius:12px;background:#02061738;color:#94a3b8;font-size:.74rem}.sma-collapse-summary.is-running{border-color:#60a5fa59;background:#2563eb1f;color:#dbeafe}.sma-inline-spinner{width:12px;height:12px;flex:0 0 auto;border:2px solid rgba(147,197,253,.28);border-top-color:#93c5fd;border-radius:999px;animation:sma-spin .8s linear infinite}.sma-signal-insight{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(0,1.4fr);gap:10px;align-items:center;margin:8px 0 10px;padding:10px 12px;border:1px solid rgba(148,163,184,.18);border-radius:14px;background:#0f172ab8}.sma-signal-insight span{color:#94a3b8;font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.sma-signal-insight strong{display:block;margin-top:2px;color:#f8fafc;font-size:.9rem}.sma-signal-insight p{margin:4px 0 0;color:#cbd5e1;font-size:.72rem}.sma-signal-insight.insight-good{border-color:#22c55e59;background:linear-gradient(90deg,#22c55e24,#0f172ab8)}.sma-signal-insight.insight-watch{border-color:#facc1559;background:linear-gradient(90deg,#facc151f,#0f172ab8)}.sma-signal-insight.insight-bad{border-color:#ef444459;background:linear-gradient(90deg,#ef444421,#0f172ab8)}.sma-insight-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.sma-insight-metrics span{padding:7px 8px;border-radius:10px;background:#02061747}.sma-insight-metrics strong{font-size:.78rem}.sma-chart text{fill:#94a3b8;font-size:.72rem}.sma-signal-legend{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:8px;color:#94a3b8;font-size:.74rem}.sma-legend-dot{width:10px;height:10px;border-radius:999px}.sma-legend-dot--price{width:18px;height:3px;background:#60a5fa}.sma-legend-dot--buy{background:#22c55e}.sma-legend-dot--sell{background:#ef4444}.sma-legend-dot--hold{background:#cbd5e1}.sma-legend-dot--signal{background:#facc15}.sma-legend-note{margin-left:auto;color:#cbd5e1;font-weight:700}.sma-tooltip{display:grid;gap:6px;min-width:190px;padding:10px 12px;border:1px solid rgba(148,163,184,.2);border-radius:14px;background:#020617f0;color:#e5eefb;box-shadow:0 18px 50px #00000057}.sma-tooltip strong{color:#f8fafc}.sma-tooltip span{color:#cbd5e1;font-size:.82rem}.sma-tooltip-signals{display:grid;gap:4px;padding-top:6px;border-top:1px solid rgba(148,163,184,.16)}.sma-tooltip-signals b{color:#f8fafc}.sma-tooltip-remark{display:block;margin-top:3px;max-width:280px;color:#94a3b8;font-size:.68rem;line-height:1.25;white-space:normal}.sma-confidence-list,.sma-symbol-list{display:grid;gap:10px}.sma-confidence-row{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:10px;border-radius:14px;background:#94a3b814}.sma-confidence-row span{font-weight:700}.sma-confidence-row strong{font-size:1rem}.sma-confidence-row small{grid-column:1 / -1;color:#94a3b8}.sma-confidence--high{color:#22c55e}.sma-confidence--medium{color:#f59e0b}.sma-confidence--low{color:#ef4444}.sma-confidence--unknown{color:#94a3b8}.sma-search{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding:9px 10px;border:1px solid rgba(148,163,184,.18);border-radius:16px;background:#0206175c;color:#94a3b8}.sma-search input{width:100%;border:0;outline:0;background:transparent;color:#e5eefb}.sma-symbol-list{height:calc(100vh - 360px);min-height:520px;max-height:920px;overflow:auto;padding-right:4px}.sma-symbol-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;width:100%;padding:9px 10px;border:1px solid rgba(148,163,184,.12);border-radius:16px;background:#0f172a99;color:#e5eefb;text-align:left;cursor:pointer}.sma-symbol-row:hover,.sma-symbol-row.is-active{border-color:#60a5fa8c;background:#2563eb24}.sma-symbol-row strong,.sma-symbol-row small{display:block}.sma-symbol-row small{margin-top:3px;color:#94a3b8}.sma-pill,.sma-confidence-chip,.sma-outcome{display:inline-flex;align-items:center;justify-content:center;min-width:62px;padding:4px 8px;border-radius:999px;font-size:.68rem;font-weight:800}.sma-pill--buy{background:#22c55e24;color:#4ade80}.sma-pill--sell{background:#ef444424;color:#f87171}.sma-pill--hold{background:#94a3b824;color:#cbd5e1}.sma-detail-summary{display:flex;flex-wrap:nowrap;gap:7px;margin-top:8px;overflow-x:auto}.sma-detail-summary span{padding:6px 8px;border-radius:10px;background:#94a3b814;color:#94a3b8;font-size:.68rem;white-space:nowrap}.sma-detail-summary strong{color:#f8fafc}.sma-table-wrap{overflow-x:auto}.sma-table-wrap--ten-rows{max-height:390px;overflow:auto;border:1px solid rgba(148,163,184,.08);border-radius:12px}.sma-table-wrap--ten-rows .sma-table thead th{position:sticky;top:0;z-index:2;background:#0f172a}.sma-table{width:100%;min-width:820px;border-collapse:collapse}.sma-table th,.sma-table td{padding:9px 10px;border-bottom:1px solid rgba(148,163,184,.12);text-align:left}.sma-table th{color:#94a3b8;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.sma-table td{color:#dbeafe;font-size:.78rem}.sma-table--compact{min-width:980px}.sma-table--compact th,.sma-table--compact td{padding:7px 8px;white-space:nowrap}.sma-remark-cell{max-width:360px;color:#94a3b8!important;white-space:normal}.sma-outcome.is-hit{background:#22c55e24;color:#4ade80}.sma-outcome.is-miss{background:#ef444424;color:#f87171}.sma-outcome.is-pending{background:#facc1524;color:#fde047}.sma-state{display:grid;min-height:220px;place-items:center;gap:12px;color:#94a3b8;text-align:center}.sma-spinner{width:34px;height:34px;border:3px solid rgba(148,163,184,.24);border-top-color:#60a5fa;border-radius:999px;animation:sma-spin .9s linear infinite}@keyframes sma-spin{to{transform:rotate(360deg)}}@keyframes sma-live-pulse{70%{box-shadow:0 0 0 7px #22c55e00}to{box-shadow:0 0 #22c55e00}}@keyframes sma-ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}@media(max-width:1100px){.sma-hero,.sma-grid--overview,.sma-grid--symbols,.sma-dual-charts{grid-template-columns:1fr}.sma-hero h1,.sma-hero-copy,.sma-method-card span{white-space:normal}.sma-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sma-signal-insight,.sma-insight-metrics,.sma-comparison-head,.sma-today-grid,.sma-live-market-card{grid-template-columns:1fr}.sma-today-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}.sma-show-more{display:flex;justify-content:center;margin-top:10px}@media(max-width:640px){.sma-page{padding:22px 12px}.sma-stats-grid{grid-template-columns:1fr}.sma-panel,.sma-method-card,.sma-stat-card{border-radius:18px}.sma-today-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.sma-live-actions,.sma-card-actions{flex-wrap:wrap;justify-content:flex-end}}*{margin:0;padding:0;box-sizing:border-box}.dashboard-container{max-width:1600px;margin:0 auto;display:flex;flex-direction:column;gap:24px}.dashboard-enterprise{height:100%;max-height:100%;overflow:hidden;gap:10px;padding:10px 14px 8px;box-sizing:border-box;width:100%}.dash-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0}.dash-welcome h1{font-size:1rem;font-weight:600;color:var(--text-primary);line-height:1.2;margin:0}.dash-welcome-meta{font-size:.72rem;margin-top:2px;display:block}.dash-kpis{display:flex;gap:8px}.dash-kpi{background:var(--bg-card);border:1px solid var(--border-light);border-radius:10px;padding:6px 12px;min-width:110px;display:flex;flex-direction:column;gap:2px}.dash-kpi span{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em}.dash-kpi strong{font-size:.95rem;font-weight:700;color:var(--text-primary)}.dash-kpi.up strong{color:var(--positive)}.dash-kpi.down strong{color:var(--negative)}.dash-live-stripe{display:flex;align-items:center;gap:10px;flex-shrink:0;background:linear-gradient(90deg,color-mix(in srgb,var(--positive) 14%,var(--bg-card)),var(--bg-card) 28%);border:1px solid color-mix(in srgb,var(--positive) 35%,var(--border-light));border-left:4px solid var(--positive);border-radius:10px;padding:8px 12px;min-height:46px;box-shadow:0 4px 18px color-mix(in srgb,var(--positive) 12%,transparent)}.dash-stripe-head{display:flex;align-items:center;gap:6px;flex-shrink:0}.dash-live-dot{width:7px;height:7px;border-radius:50%;background:var(--positive);animation:pulse 1.5s infinite}.dash-stripe-title{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-label)}.dash-stripe-count{font-size:.75rem;font-weight:700;color:var(--text-primary);background:var(--bg-muted);padding:1px 7px;border-radius:999px}.dash-stripe-scroll{flex:1;display:flex;gap:8px;overflow-x:auto;min-width:0;scrollbar-width:none}.dash-stripe-scroll::-webkit-scrollbar{display:none}.dash-signal-pill{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border-light);border-radius:999px;padding:4px 10px;background:var(--bg-muted);cursor:pointer;font-size:.75rem;color:var(--text-primary);transition:border-color .15s,transform .15s}.dash-signal-pill:hover{transform:translateY(-1px);border-color:var(--primary)}.dash-signal-pill.buy{border-left:3px solid var(--positive)}.dash-signal-pill.sell{border-left:3px solid var(--negative)}.pill-symbol{font-weight:700}.pill-action{font-weight:600;font-size:.68rem;opacity:.85}.pill-conf{font-size:.68rem}.pill-time{display:inline-block;margin-left:8px;font-size:.68rem}.alert-mid-right{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.alert-time-small{font-size:.72rem;color:var(--text-secondary)}.dash-stripe-empty{font-size:.78rem;color:var(--text-secondary);white-space:nowrap}.dash-stripe-link{flex-shrink:0;border:none;background:transparent;color:var(--primary);font-size:.72rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:3px}.dash-market-stripe{flex-shrink:0;padding:5px 0;min-height:38px;border-left:4px solid #3b82f6;background:linear-gradient(90deg,color-mix(in srgb,#3b82f6 10%,var(--bg-card)),var(--bg-card) 30%)}.dash-market-stripe .ticker-name{font-size:11px}.dash-market-stripe .ticker-value{font-size:13px}.dash-market-stripe .ticker-change{font-size:11px;padding:3px 8px}.dash-ops-bar{display:grid;grid-template-columns:1.4fr 1fr .8fr 1.2fr;align-items:center;gap:10px;flex-shrink:0;background:var(--bg-card);border:1px solid var(--border-light);border-radius:10px;padding:10px 14px;box-shadow:var(--shadow-sm)}.dash-ops-cell{display:flex;align-items:center;gap:8px;flex-shrink:0}.dash-ops-broker{min-width:180px}.dash-ops-label{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-label)}.dash-broker-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dash-broker-dot.connected{background:var(--positive);box-shadow:0 0 8px color-mix(in srgb,var(--positive) 50%,transparent)}.dash-broker-info{display:flex;flex-direction:column;gap:1px}.dash-broker-name{font-size:.78rem;font-weight:600;color:var(--text-primary);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-connect-btn{height:30px;padding:0 12px;border:none;border-radius:8px;background:var(--primary);color:#fff;font-size:.72rem;font-weight:600;display:inline-flex;align-items:center;gap:6px;cursor:pointer}.dash-ops-link{border:none;background:transparent;color:var(--primary);font-size:.72rem;font-weight:600;cursor:pointer;padding:0}.dash-autotrade-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;border:1px solid var(--border-light);font-size:.72rem;font-weight:700;cursor:pointer;background:var(--bg-muted)}.dash-autotrade-chip.on{background:color-mix(in srgb,var(--positive) 12%,transparent);border-color:color-mix(in srgb,var(--positive) 35%,transparent);color:var(--positive)}.dash-last-compact{display:flex;align-items:center;gap:6px;font-size:.78rem}.dash-last-conf{font-size:.72rem;color:var(--text-secondary)}.dash-main{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.dash-panel{min-height:0;display:flex;flex-direction:column;background:var(--bg-card);border:1px solid var(--border-light);border-radius:12px;padding:10px 12px;overflow:hidden}.dash-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;flex-shrink:0}.dash-panel-head h2{font-size:.82rem;font-weight:600;display:flex;align-items:center;gap:6px;margin:0;color:var(--text-primary)}.dash-panel-head .view-all-btn{padding:4px 10px;font-size:.72rem}.dash-panel-empty{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;font-size:.8rem}.dash-panel-cta{flex-direction:column;gap:10px}.dash-signals-grid{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;overflow:hidden}.dash-signal-card{padding:10px 12px;gap:6px;text-align:left;border:1px solid var(--border-light)}.dash-holdings-table-wrap{flex:1;min-height:0;overflow:auto}.dash-holdings-table{width:100%;border-collapse:collapse;font-size:.78rem}.dash-holdings-table th,.dash-holdings-table td{padding:6px 8px;text-align:left;border-bottom:1px solid var(--border-light)}.dash-holdings-table th{font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-label)}.dash-h-ex{display:block;font-size:.65rem;color:var(--text-secondary);font-weight:400}@media(max-width:960px){.dashboard-enterprise{max-height:none;overflow:auto}.dash-main{grid-template-columns:1fr}.dash-ops-bar{grid-template-columns:1fr 1fr;row-gap:14px}.dash-ops-broker{min-width:0}}.dashboard-top-stats{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.broker-setup-banner{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap;padding:14px 18px;border-radius:var(--radius-md);background:color-mix(in srgb,var(--primary) 10%,var(--bg-card));border:1px solid color-mix(in srgb,var(--primary) 28%,var(--border-light));box-shadow:var(--shadow-sm);color:var(--text-primary)}.broker-setup-banner__icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--bg-card);border:1px solid var(--border-light);color:var(--primary)}.broker-setup-banner__text{flex:1;min-width:200px}.broker-setup-banner strong{color:var(--text-primary)}.broker-setup-banner p{margin:4px 0 0;font-size:.875rem;font-weight:500;color:var(--text-secondary);line-height:1.55}.broker-setup-banner-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border:none;border-radius:var(--radius-md);background:var(--primary);color:var(--btn-cta-text, #fff);font-weight:600;cursor:pointer;transition:opacity .15s ease,transform .15s ease}.broker-setup-banner-btn:hover{opacity:.92;transform:translateY(-1px)}.ticker-delayed-label{position:absolute;top:6px;right:12px;font-size:.65rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}.welcome-subtitle{margin-top:8px;color:var(--text-secondary);display:flex;align-items:center;gap:8px;font-size:.87rem}.primary-icon{color:var(--primary)}.top-stats{display:flex;gap:14px;flex-wrap:wrap}.mini-stat-card{background:var(--bg-card);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);border-radius:var(--radius-md);padding:12px 16px;min-width:140px}.stat-label{font-size:.75rem;font-weight:600;color:var(--text-label);margin-bottom:4px;text-transform:uppercase;letter-spacing:.05em}.stat-value{font-size:1.125rem;font-weight:700;color:var(--text-primary)}.pnl-positive{border-color:#10d08e40}.pnl-negative{border-color:#ef444440}.text-green{color:var(--positive)}.text-red{color:var(--negative)}.engine-status-bar{display:flex;align-items:center;gap:0;background:var(--bg-card);border:1px solid var(--border-light);border-radius:14px;padding:12px 16px;box-shadow:var(--shadow-card);overflow-x:auto}.engine-divider{width:1px;height:48px;background:var(--border-light);margin:0 16px;flex-shrink:0}.engine-hero-live{min-width:120px;display:flex;flex-direction:column;gap:4px}.engine-hero-live-top{display:flex;align-items:center;gap:6px}.engine-live-pulse{width:8px;height:8px;border-radius:999px;background:var(--positive);box-shadow:0 0 10px color-mix(in srgb,var(--positive) 55%,transparent);animation:pulse 1.5s infinite}.engine-hero-label{font-size:.68rem;font-weight:700;letter-spacing:.08em;color:var(--text-label)}.engine-hero-count{font-size:1.7rem;font-weight:800;line-height:1;color:var(--text-primary)}.engine-hero-sub{font-size:.72rem;color:var(--text-secondary)}.engine-block{display:flex;flex-direction:column;gap:6px;min-width:150px}.engine-block-label{font-size:.68rem;font-weight:700;letter-spacing:.08em;color:var(--text-label);text-transform:uppercase}.engine-last-alert-block{min-width:220px}.engine-last-alert-row{display:flex;flex-direction:column;gap:6px}.engine-last-alert-main{display:flex;align-items:center;gap:8px}.engine-last-alert-meta{display:flex;align-items:center;gap:10px}.engine-last-symbol{font-size:.95rem;font-weight:700;color:var(--text-primary)}.engine-last-time{font-size:.74rem;color:var(--text-secondary)}.engine-last-conf{font-size:.74rem;color:var(--text-label)}.engine-last-action{font-size:.68rem;font-weight:700;border-radius:999px;padding:3px 9px}.sig-buy{background:var(--success-100);color:var(--positive)}.sig-sell{background:var(--danger-100);color:var(--negative)}.engine-broker-block{min-width:260px}.engine-broker-stack{display:flex;flex-direction:column;gap:8px}.engine-broker-connected{display:flex;align-items:center;gap:7px}.engine-broker-dot{width:8px;height:8px;border-radius:999px}.dot-connected{background:var(--positive);box-shadow:0 0 8px color-mix(in srgb,var(--positive) 55%,transparent)}.engine-broker-connected-text{font-size:.82rem;font-weight:600;color:var(--text-primary)}.engine-broker-tags{display:flex;flex-wrap:wrap;gap:6px}.engine-broker-tag{padding:4px 10px;border-radius:999px;background:var(--bg-muted);border:1px solid var(--border-light);font-size:.72rem;font-weight:600;color:var(--text-primary)}.engine-connect-main-btn{height:34px;padding:0 14px;border-radius:10px;border:none;background:var(--primary);color:#fff;font-size:.78rem;font-weight:600;display:inline-flex;align-items:center;gap:7px;cursor:pointer;transition:.2s ease}.engine-connect-main-btn:hover{opacity:.92;transform:translateY(-1px)}.engine-hierarchy-btn{display:inline-flex;align-items:center;gap:5px;width:-moz-fit-content;width:fit-content;border:none;background:transparent;color:var(--primary);font-size:.74rem;font-weight:600;cursor:pointer;padding:0}.engine-mode-chip{width:-moz-fit-content;width:fit-content;display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:color-mix(in srgb,var(--mc) 10%,transparent);border:1px solid color-mix(in srgb,var(--mc) 30%,transparent);font-size:.78rem;font-weight:700}.engine-mode-none{font-size:.8rem;color:var(--text-secondary)}@media(max-width:768px){.engine-status-bar{gap:14px;flex-direction:column;align-items:stretch}.engine-divider{width:100%;height:1px;margin:0}.engine-block,.engine-last-alert-block,.engine-broker-block{min-width:unset}.engine-hero-count{font-size:1.5rem}}.section-header{display:flex;align-items:center;justify-content:space-between}.section-title{font-size:1.05rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.view-all-btn{display:flex;align-items:center;gap:6px;background:none;border:1px solid color-mix(in srgb,var(--primary) 35%,transparent);border-radius:8px;color:var(--primary);font-size:.82rem;padding:7px 14px;cursor:pointer;transition:background .2s}.loading-alerts,.no-alerts{display:flex;align-items:center;gap:10px;color:var(--text-label);padding:32px;justify-content:center;font-size:.9rem}.spin-icon{animation:spin 1s linear infinite}.alerts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}.alert-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:16px;cursor:pointer;transition:transform .15s,border-color .15s,background .15s;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden}.alert-card:hover{transform:translateY(-2px);border-color:var(--primary);box-shadow:var(--shadow-card-hover)}.alert-buy{border-left:3px solid var(--positive)}.alert-sell{border-left:3px solid var(--negative)}.alert-card-top{display:flex;justify-content:space-between;align-items:center}.alert-symbol{font-size:1rem;font-weight:700;color:var(--text-primary)}.alert-signal-badge{font-size:.72rem;font-weight:700;border-radius:6px;padding:3px 9px;letter-spacing:.04em}.badge-buy{background:var(--success-100);color:var(--positive)}.badge-sell{background:var(--danger-100);color:var(--negative)}.alert-card-mid{display:flex;justify-content:space-between;align-items:baseline}.alert-price{font-size:1.1rem;font-weight:700;color:var(--text-primary)}.alert-conf{font-size:.78rem;color:var(--text-label)}.alert-card-bottom{display:flex;justify-content:space-between}.alert-strength{font-size:.75rem;color:var(--text-label)}.alert-exchange{font-size:.72rem;color:var(--text-secondary)}.alert-conf-bar{height:3px;background:var(--bg-muted);border-radius:2px;overflow:hidden}.alert-conf-fill{height:100%;border-radius:2px;transition:width .5s ease}.fill-buy{background:linear-gradient(90deg,var(--positive),var(--color-emerald-500))}.fill-sell{background:linear-gradient(90deg,var(--negative),#ef4444)}.quick-actions{display:flex;gap:12px;flex-wrap:wrap;padding-top:4px}.quick-btn{display:flex;align-items:center;gap:8px;background:var(--bg-card);border:1px solid var(--border-light);border-radius:10px;color:var(--text-label);font-weight:500;font-size:.85rem;padding:10px 16px;cursor:pointer;transition:all .2s}@media(max-width:768px){.dashboard-container{padding:16px}.engine-status-bar{flex-direction:column;align-items:flex-start}.engine-divider{width:100%;height:1px;margin:10px 0}.alerts-grid{grid-template-columns:1fr}}.live-market-ticker{width:100%;overflow:hidden;position:relative;border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border-light);box-shadow:var(--shadow-card);padding:6px 0}.ticker-track{display:flex;align-items:center;gap:18px;width:-moz-max-content;width:max-content}.live-market-ticker:hover .ticker-track{animation-play-state:paused}.ticker-card{display:flex;align-items:center;gap:14px;min-width:-moz-fit-content;min-width:fit-content;transition:transform .25s ease,background .25s ease,border .25s ease}.ticker-card:hover{transform:translateY(-2px);background:var(--bg-muted)}.ticker-name{font-size:13px;font-weight:700;letter-spacing:.4px;color:var(--text-label);text-transform:uppercase}.ticker-value{font-size:15px;font-weight:700;color:var(--text-primary)}.ticker-change{font-size:13px;font-weight:700;display:flex;align-items:center;gap:4px;padding:5px 10px;border-radius:999px}.ticker-up{color:var(--positive);background:var(--success-100);border:1px solid color-mix(in srgb,var(--positive) 28%,transparent)}.ticker-down{color:var(--negative);background:var(--danger-100);border:1px solid color-mix(in srgb,var(--negative) 28%,transparent)}@keyframes tickerMove{0%{transform:translate(0)}to{transform:translate(-50%)}}@media(max-width:768px){.live-market-ticker{border-radius:14px;padding:12px 0}.ticker-track{gap:12px}.ticker-card{padding:10px 14px;gap:10px}.ticker-name{font-size:11px}.ticker-value{font-size:13px}.ticker-change{font-size:11px;padding:4px 8px}}.dash-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0}.sidebar-pro{padding:1rem;border-top:1px solid var(--sidebar-border)}.pro-card{background:var(--btn-cta-bg);border-radius:.75rem;padding:3px;display:flex}.pro-header{display:flex;gap:.2rem;color:#fde047;margin-bottom:.75rem}.pro-title{font-size:.75rem;font-weight:700;color:var(--btn-primary-fg)}.pro-desc{font-size:.75rem;color:#ffffffe0}.pro-btn{width:100%;background:var(--bg-card);color:var(--text-primary);font-weight:600;padding:.5rem;border-radius:.75rem;border:none;font-size:.75rem;cursor:pointer}.pro-btn:hover{background:var(--bg-muted)}.pill-action.buy{color:#22c55e;font-weight:600}.pill-action.sell{color:#ef4444;font-weight:600}.pill-action.hold{color:#eab308;font-weight:600}.badge-hold{background-color:#ffe8752d;color:#eab308}@media(max-width:640px){.dashboard-enterprise{padding:10px 12px 24px;gap:14px}.dash-header{flex-direction:column;align-items:stretch;gap:12px}.dash-head{flex-direction:column;align-items:stretch;gap:10px}.dash-welcome h1{font-size:1.15rem}.pro-card{width:100%;justify-content:space-between}.dash-kpis{width:100%}.dash-kpi{flex:1 1 0;min-width:0;padding:8px 10px}.dash-kpi strong{font-size:1.05rem}.dash-live-stripe{flex-wrap:wrap;padding:10px;min-height:unset}.dash-stripe-scroll{flex-basis:100%;order:3}.dash-stripe-link{margin-left:auto}.dash-market-stripe{padding:8px 0}.dash-market-stripe .ticker-card{padding:6px 10px;gap:8px}.dash-ops-bar{grid-template-columns:1fr;padding:6px 14px;row-gap:0}.dash-ops-cell{width:100%;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border-light)}.dash-ops-cell:last-child,.dash-ops-last{border-bottom:none}.dash-broker-name{max-width:55vw}.dash-ops-broker .broker-expired-banner{width:100%;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.dash-main{gap:14px}.dash-panel{padding:12px}.dash-panel-head h2{font-size:.9rem}.dash-signals-grid{grid-template-columns:1fr}.dash-signal-card{padding:12px 14px}.dash-holdings-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.dash-holdings-table{min-width:420px}.dash-connect-btn,.view-all-btn,.dash-autotrade-chip,.engine-connect-main-btn{min-height:40px}.alert-card,.dash-signal-pill{min-height:44px}}@media(max-width:380px){.dash-welcome h1{font-size:1.05rem}.dash-kpi strong{font-size:.95rem}.engine-hero-count{font-size:1.35rem}.dash-broker-name{max-width:42vw}}.dashboard-container{color:var(--text-primary)}.engine-status-bar{background:var(--bg-card);border:1px solid var(--border-light);box-shadow:var(--shadow-card);border-radius:var(--radius-md)}.engine-divider{background:var(--border-light)}.engine-block-label{color:var(--text-label)}.engine-signal-count,.engine-broker-name,.engine-last-symbol,.engine-mode-name{color:var(--text-primary)}.engine-broker-count,.engine-last-conf{color:var(--text-secondary)}.engine-mode-none,.at-off,.toggle-off{color:var(--text-muted, var(--text-secondary))}.engine-config-link,.view-all-btn{color:var(--primary);border-color:color-mix(in srgb,var(--primary) 35%,transparent)}.view-all-btn:hover{background:var(--accent-blue-100)}.engine-connect-btn{background:var(--accent-blue-100);border-color:color-mix(in srgb,var(--primary) 40%,transparent);color:var(--primary)}.section-title{color:var(--text-primary)}.loading-alerts,.no-alerts{color:var(--text-secondary)}.alert-card{background:var(--bg-card);border:1px solid var(--border-light);box-shadow:var(--shadow-sm)}.alert-card:hover{border-color:var(--primary);box-shadow:var(--shadow-card-hover)}.alert-symbol,.alert-price{color:var(--text-primary)}.alert-conf,.alert-strength{color:var(--text-secondary)}.alert-exchange{color:var(--text-muted, var(--text-secondary))}.alert-conf-bar{background:var(--bg-muted)}.quick-btn{background:var(--bg-card);border:1px solid var(--border-light);color:var(--text-secondary)}.quick-btn:hover{background:var(--accent-blue-100);border-color:var(--primary);color:var(--primary)}.live-market-ticker{background:var(--bg-card);border:1px solid var(--border-light);box-shadow:var(--shadow-card)}.ticker-name{color:var(--text-secondary)}.ticker-value{color:var(--text-primary)}.ticker-card:hover{background:var(--bg-muted)}.dashboard-container .text-green,.dashboard-container .at-on,.dashboard-container .toggle-on{color:var(--positive)}.dashboard-container .text-red{color:var(--negative)}.dashboard-container .at-off,.dashboard-container .toggle-off,.dashboard-container .engine-mode-none{color:var(--text-muted, var(--text-secondary))}.tsp-drawer-root{position:fixed;inset:0;z-index:1200;pointer-events:none}.tsp-drawer-root.is-open,.tsp-drawer-root.is-closing{pointer-events:auto}.tsp-drawer-backdrop{position:absolute;inset:0;border:none;background:#020a1673;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);cursor:pointer;animation:tsp-fade-in .2s ease}.tsp-drawer-panel{position:absolute;top:0;right:0;bottom:0;width:min(420px,100vw);display:flex;flex-direction:column;background:var(--bg-card);border-left:1px solid var(--border-light);box-shadow:-16px 0 48px #0000004d;color:var(--text-primary);font-family:var(--font-main);overflow:hidden;animation:tsp-slide-in .24s cubic-bezier(.22,1,.36,1)}.tsp-drawer-root.is-closing .tsp-drawer-panel{transform:translate(100%);transition:transform .22s ease}.tsp-drawer-root.is-closing .tsp-drawer-backdrop{opacity:0;transition:opacity .22s ease}@keyframes tsp-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes tsp-fade-in{0%{opacity:0}to{opacity:1}}.tsp-drawer-panel--buy{border-top:3px solid var(--success)}.tsp-drawer-panel--sell{border-top:3px solid var(--danger)}.tsp-drawer-panel--hold{border-top:3px solid var(--warning)}.tsp-drawer-header{flex-shrink:0;padding:12px 14px 10px;border-bottom:1px solid var(--border-light)}.tsp-header-row{display:flex;align-items:center;gap:10px}.tsp-header-identity{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0;flex:1}.tsp-header-price-block{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;text-align:right}.tsp-symbol{margin:0;font-size:1.125rem;font-weight:800;letter-spacing:.02em}.tsp-exchange{font-size:.625rem;font-weight:700;color:var(--text-muted);background:var(--bg-muted);border:1px solid var(--border-light);border-radius:5px;padding:1px 5px}.tsp-signal-pill{padding:2px 8px;border-radius:999px;font-size:.625rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.tsp-signal-pill--buy{color:var(--success);background:var(--success-100);border:1px solid color-mix(in srgb,var(--success) 35%,transparent)}.tsp-signal-pill--sell{color:var(--danger);background:var(--danger-100);border:1px solid color-mix(in srgb,var(--danger) 35%,transparent)}.tsp-signal-pill--hold{color:var(--warning);background:var(--warning-100)}.tsp-price-value{font-size:1.25rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.1}.tsp-pivot-mini{font-size:.625rem;font-weight:600;color:var(--text-muted)}.tsp-company{display:block;margin-top:4px;font-size:.6875rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tsp-close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;border:1px solid var(--header-icon-border);background:var(--header-icon-bg);color:var(--icon-fg);cursor:pointer}.tsp-close:hover{background:var(--bg-muted)}.tsp-drawer-body{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:7px;padding:10px 14px}.tsp-verdict{flex-shrink:0;display:flex;gap:10px;padding:8px 10px;border-radius:10px;border:1px solid var(--border-light)}.tsp-verdict--pass{background:color-mix(in srgb,var(--success) 7%,var(--bg-card));border-color:color-mix(in srgb,var(--success) 30%,var(--border-light))}.tsp-verdict--caution{background:color-mix(in srgb,var(--warning) 8%,var(--bg-card));border-color:color-mix(in srgb,var(--warning) 30%,var(--border-light))}.tsp-verdict-score{position:relative;width:44px;height:44px;flex-shrink:0}.tsp-score-ring{width:100%;height:100%;transform:rotate(-90deg)}.tsp-score-ring__bg{fill:none;stroke:var(--bg-muted);stroke-width:3}.tsp-score-ring__fill{fill:none;stroke-width:3;stroke-linecap:round}.tsp-score-ring__fill--pass{stroke:var(--success)}.tsp-score-ring__fill--caution{stroke:var(--warning)}.tsp-score-ring__num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:800;font-variant-numeric:tabular-nums}.tsp-verdict-copy{min-width:0;flex:1}.tsp-verdict-title{display:flex;align-items:center;flex-wrap:wrap;gap:5px;font-size:.8125rem;font-weight:800}.tsp-verdict--pass .tsp-verdict-title{color:var(--success)}.tsp-verdict--caution .tsp-verdict-title{color:var(--warning)}.tsp-verdict-badge{font-size:.625rem;font-weight:700;padding:1px 6px;border-radius:999px;background:var(--bg-muted);color:var(--text-muted)}.tsp-verdict-summary{margin:3px 0 0;font-size:.6875rem;line-height:1.35;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tsp-stats-row{flex-shrink:0;display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.tsp-stat-pill{display:flex;flex-direction:column;align-items:center;gap:1px;padding:5px 3px;border-radius:8px;background:var(--bg-subtle);border:1px solid var(--border-light);text-align:center;min-width:0}.tsp-stat-pill__lbl{font-size:.5625rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap}.tsp-stat-pill strong{font-size:.6875rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.tsp-stat-pill--strong strong{color:var(--success)}.tsp-stat-pill--moderate strong{color:var(--warning)}.tsp-stat-pill--weak strong{color:var(--text-muted)}.tsp-stat-pill--up strong{color:var(--success)}.tsp-stat-pill--down strong{color:var(--danger)}.tsp-levels-compact{flex-shrink:0;padding:8px 10px;border-radius:10px;background:var(--bg-subtle);border:1px solid var(--border-light)}.tsp-levels-compact__head{display:flex;align-items:center;gap:5px;margin-bottom:8px;font-size:.625rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary)}.tsp-levels-compact__head svg{color:var(--primary)}.tsp-levels-compact__rr{margin-left:auto;font-size:.5625rem;font-weight:600;text-transform:none;letter-spacing:0;color:var(--text-muted);font-variant-numeric:tabular-nums}.tsp-levels-track{position:relative;height:28px}.tsp-levels-track__bg{position:absolute;left:0;right:0;top:50%;height:6px;transform:translateY(-50%);border-radius:999px;background:linear-gradient(90deg,var(--success) 0%,var(--bg-muted) 40%,var(--bg-muted) 60%,var(--danger) 100%);opacity:.4}.tsp-levels-pin{position:absolute;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;z-index:1}.tsp-levels-pin span{font-size:.5625rem;font-weight:800;margin-top:2px;color:var(--text-muted);white-space:nowrap}.tsp-levels-pin:before{content:"";width:8px;height:8px;border-radius:50%;border:2px solid var(--bg-card)}.tsp-levels-pin--s:before{background:var(--success);box-shadow:0 0 0 1px var(--success)}.tsp-levels-pin--p:before{background:var(--accent-blue, #2563eb);box-shadow:0 0 0 1px var(--accent-blue, #2563eb)}.tsp-levels-pin--r:before{background:var(--danger);box-shadow:0 0 0 1px var(--danger)}.tsp-levels-pin--ltp:before{width:12px;height:12px;background:var(--primary);box-shadow:0 0 0 2px var(--primary)}.tsp-levels-pin--ltp span{color:var(--primary);font-weight:800}.tsp-checks-panel{flex:1;min-height:0;display:flex;flex-direction:column;padding:8px 10px;border-radius:10px;background:var(--bg-subtle);border:1px solid var(--border-light);overflow:hidden}.tsp-checks-panel__head{flex-shrink:0;display:flex;align-items:center;gap:5px;margin-bottom:6px;font-size:.625rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary)}.tsp-checks-panel__head svg{color:var(--primary)}.tsp-checks-grid{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:3px;align-content:start;overflow:hidden}.tsp-check{display:flex;align-items:center;gap:4px;padding:4px 6px;border-radius:6px;background:var(--bg-card);border:1px solid var(--border-light);min-width:0}.tsp-check.is-pass{border-color:color-mix(in srgb,var(--success) 25%,var(--border-light))}.tsp-check.is-fail{opacity:.8}.tsp-check.is-pass svg{color:var(--success);flex-shrink:0}.tsp-check.is-fail svg{color:var(--danger);flex-shrink:0}.tsp-check__label{flex:1;font-size:.625rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tsp-check__pts{font-size:.5625rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--text-muted);flex-shrink:0}.tsp-check.is-pass .tsp-check__pts{color:var(--success)}.tsp-decision-reason{flex-shrink:0;margin:6px 0 0;font-size:.625rem;color:var(--text-muted);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tsp-text-pass{color:var(--success)}.tsp-text-fail{color:var(--danger)}.tsp-hold-notice,.tsp-autotrade-note{flex-shrink:0;display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;font-size:.6875rem;font-weight:600}.tsp-hold-notice{color:var(--warning);background:var(--warning-100)}.tsp-autotrade-note{color:var(--primary);background:var(--sidebar-active-bg)}.tsp-trade-footer{flex-shrink:0;padding:8px 14px 12px;border-top:1px solid var(--border-light);background:var(--bg-card);display:flex;flex-direction:column;gap:6px}.tsp-footer-row{display:grid;grid-template-columns:56px 1fr auto auto;gap:6px;align-items:end}.tsp-field{display:flex;flex-direction:column;gap:2px;min-width:0}.tsp-field label{display:flex;align-items:center;gap:3px;font-size:.5625rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.tsp-field input,.tsp-field select{width:100%;height:34px;padding:0 8px;border-radius:8px;border:1px solid var(--input-border);background:var(--input-bg);color:var(--input-text);font-size:.8125rem;font-weight:600;outline:none}.tsp-broker-name,.tsp-broker-none,.tsp-broker-loading{display:flex;align-items:center;height:34px;padding:0 8px;border-radius:8px;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tsp-broker-name{border:1px solid var(--border-light);background:var(--bg-muted);font-weight:700}.tsp-broker-none{border:1px dashed var(--border);color:var(--text-muted)}.tsp-broker-loading{border:1px solid var(--border-light);justify-content:center}.tsp-side-btn{display:flex;align-items:center;justify-content:center;gap:4px;height:34px;padding:0 10px;border-radius:8px;border:1px solid var(--border-light);background:var(--bg-muted);color:var(--text-secondary);font-size:.75rem;font-weight:800;cursor:pointer;white-space:nowrap}.tsp-side-btn--buy.is-active{color:var(--success);background:var(--success-100);border-color:var(--success)}.tsp-side-btn--sell.is-active{color:var(--danger);background:var(--danger-100);border-color:var(--danger)}.tsp-place-btn{display:flex;align-items:center;justify-content:center;gap:6px;height:38px;border-radius:9px;border:none;font-size:.8125rem;font-weight:800;color:var(--btn-cta-text);cursor:pointer}.tsp-place-btn--buy{background:linear-gradient(135deg,var(--success),var(--positive))}.tsp-place-btn--sell{background:linear-gradient(135deg,var(--danger),var(--negative))}.tsp-place-btn:disabled{background:var(--bg-muted);color:var(--text-muted);border:1px solid var(--border-light);cursor:not-allowed}.tsp-broker-warning{display:flex;align-items:center;justify-content:center;gap:4px;font-size:.6875rem;color:var(--warning)}.tsp-spin{animation:tsp-spin .8s linear infinite}@keyframes tsp-spin{to{transform:rotate(360deg)}}.tsp-confirm{position:absolute;inset:0;display:flex;align-items:flex-end;padding:14px;background:#00000080;z-index:2}.tsp-confirm-card{width:100%;padding:16px;border-radius:12px;background:var(--bg-card);border:1px solid var(--border-light)}.tsp-confirm-card h3{margin:0 0 4px;font-size:.9375rem;font-weight:800}.tsp-confirm-hint{margin:0 0 10px;font-size:.6875rem;color:var(--text-muted)}.tsp-confirm-rows{margin:0 0 12px;display:grid;gap:6px}.tsp-confirm-rows div{display:flex;justify-content:space-between;font-size:.75rem}.tsp-confirm-rows dt{color:var(--text-muted);font-weight:600}.tsp-confirm-rows dd{margin:0;font-weight:700}.tsp-confirm-actions{display:grid;grid-template-columns:1fr 1.2fr;gap:6px}.tsp-confirm-cancel{height:40px;border-radius:8px;border:1px solid var(--border-light);background:var(--bg-muted);font-weight:700;cursor:pointer}.tsp-confirm-go{height:40px;border-radius:8px;border:none;font-weight:800;color:var(--btn-cta-text);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}@media(max-width:480px){.tsp-drawer-panel{width:100vw}.tsp-stats-row{grid-template-columns:repeat(3,1fr)}.tsp-footer-row{grid-template-columns:52px 1fr}.tsp-footer-row .tsp-side-btn{grid-column:span 1}}@media(max-height:700px){.tsp-verdict-score{width:38px;height:38px}.tsp-checks-grid{gap:2px}.tsp-check{padding:3px 5px}}.settings-v2-page{max-width:1400px;margin:0 auto;color:var(--text-primary);font-size:13px;padding:10px 14px 12px}.page-header-actions .settings-v2-tabs{flex-wrap:wrap;justify-content:flex-end}.settings-v2-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.settings-v2-title h1{font-size:30px;font-weight:800;line-height:1;margin:0}.settings-v2-title p{margin-top:6px;color:var(--text-secondary);font-size:13px}.settings-v2-tabs{display:flex;gap:8px}.settings-v2-tab{border:none;outline:none;height:34px;padding:0 16px;border-radius:10px;background:var(--bg-muted);color:var(--text-primary);border:1px solid var(--border-light);font-size:12px;font-weight:600;cursor:pointer;transition:.2s ease}.settings-v2-tab:hover{background:var(--bg-card);border-color:var(--border)}.settings-v2-tab.active{background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;box-shadow:0 4px 12px #2563eb4d}.settings-v2-grid{display:grid;grid-template-columns:220px 1fr;gap:12px;align-items:start}.settings-v2-sidebar{display:flex;flex-direction:column;gap:10px}.settings-v2-profile-card{background:linear-gradient(180deg,#ffffff14,#ffffff0a);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:14px 12px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:flex;flex-direction:column;align-items:center;text-align:center}.settings-v2-avatar{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#06b6d4);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:#fff;margin-bottom:10px}.settings-v2-profile-card h2{font-size:16px;font-weight:700;margin:0}.settings-v2-profile-card p{margin-top:5px;color:var(--text-secondary);font-size:12px;line-height:1.4;word-break:break-word}.settings-v2-client-badge{margin-top:10px;height:28px;padding:0 11px;border-radius:9px;background:#2563eb24;display:inline-flex;align-items:center;gap:6px;color:#60a5fa;font-size:12px;font-weight:700}.settings-v2-mini-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:10px 12px}.settings-v2-mini-card h3{font-size:12px;margin:0 0 8px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-weight:700}.settings-v2-tags{display:flex;flex-wrap:wrap;gap:6px}.settings-v2-tag{height:24px;padding:0 10px;border-radius:999px;display:inline-flex;align-items:center;font-size:11px;font-weight:600}.settings-v2-tag.blue{background:#3b82f626;color:#60a5fa}.settings-v2-tag.green{background:#22c55e24;color:#4ade80}.settings-v2-content{display:flex;flex-direction:column;gap:10px}.settings-v2-card{background:linear-gradient(180deg,#ffffff0f,#ffffff08);border:1px solid rgba(255,255,255,.08);border-radius:16px;flex:1;padding:14px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.settings-v2-card-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.settings-v2-card-title h3{margin:0;font-size:15px;font-weight:700}.settings-v2-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.settings-v2-input-group{display:flex;flex-direction:column;gap:5px}.settings-v2-input-group label{display:flex;align-items:center;gap:6px;color:var(--text-label, var(--text-primary));font-size:12px;font-weight:600;letter-spacing:.01em}.settings-v2-input{width:100%;height:36px;border:1px solid var(--input-border, var(--border-light));border-radius:10px;background:var(--input-bg);padding:0 12px;color:var(--input-text);font-size:13px;outline:none;cursor:text;pointer-events:auto;transition:border-color .2s ease,box-shadow .2s ease}.settings-v2-input:focus{border-color:#00bfff59;box-shadow:0 0 0 3px #00bfff14}.settings-v2-input:disabled{opacity:1;cursor:not-allowed;background:var(--bg-muted);color:var(--text-secondary)}.settings-v2-profile-note{margin:0 0 12px;padding:9px 11px;font-size:.78rem;line-height:1.4;color:var(--text-secondary);background:var(--bg-muted);border:1px solid var(--border-light);border-radius:var(--radius-sm)}.settings-v2-field-hint{margin:3px 0 0;font-size:11px;color:var(--text-secondary);line-height:1.35}.settings-v2-input--editable:not(:disabled){border-color:var(--primary);box-shadow:0 0 0 1px var(--accent-blue-100)}.settings-v2-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border-light)}.settings-v2-btn--secondary:hover{background:var(--bg-card)}.settings-v2-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.settings-v2-toggle-row h3{margin:0;font-size:14px}.settings-v2-toggle-row p{margin-top:4px;color:var(--text-secondary);font-size:12px}.settings-v2-security{display:flex;align-items:center;gap:12px}.settings-v2-security-icon{width:40px;height:40px;border-radius:11px;background:#22c55e26;color:#4ade80;display:flex;align-items:center;justify-content:center;flex-shrink:0}.settings-v2-security h3{margin:0 0 5px;font-size:14px}.settings-v2-security p{margin:2px 0;color:var(--text-secondary);font-size:12px}.settings-v2-alert-form{display:flex;gap:10px}.settings-v2-alert-form input{flex:1;height:36px;border:1px solid var(--input-border, var(--border-light));border-radius:10px;background:var(--input-bg);padding:0 12px;color:var(--input-text);font-size:13px;cursor:text;pointer-events:auto}.settings-v2-btn{border:none;outline:none;height:36px;padding:0 14px;border-radius:10px;background:var(--primary);color:var(--btn-primary-fg, #fff);font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}.settings-v2-btn:disabled{opacity:.55;cursor:not-allowed}.settings-v2-company-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.settings-v2-company-card{padding:10px;border-radius:14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);transition:all .2s ease;min-height:90px}.settings-v2-company-card:hover{transform:translateY(-2px)}.settings-v2-company-card.autotrade-active{border-color:#10b981;background:#10b98114}.company-card-header{display:flex;justify-content:space-between;align-items:center}.symbol-title{display:flex;align-items:center;gap:6px}.symbol-title h4{margin:0;font-size:14px;font-weight:700}.company-subtitle{padding:2px 6px;border-radius:6px;font-size:10px;font-weight:600;background:#ffffff14;color:var(--text-secondary)}.settings-v2-delete-btn{width:20px;height:20px;border:none;border-radius:6px;background:#ef444426;color:#ef4444;cursor:pointer}.company-card-body{display:flex;justify-content:space-between;align-items:center;margin-top:10px}.settings-v2-qty-field{display:flex;align-items:center;gap:6px}.settings-v2-qty-field label{font-size:12px;font-weight:600}.settings-v2-qty-input{width:45px;height:28px;border-radius:6px;border:1px solid rgba(255,255,255,.15);background:var(--input-bg);color:var(--input-text);text-align:center;font-size:12px;padding:0}.company-auto-trade{display:flex;align-items:center;gap:6px}.company-auto-trade span{display:flex;align-items:center;gap:3px;font-size:11px;font-weight:600;white-space:nowrap}@media(max-width:1200px){.settings-v2-company-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.settings-v2-company-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.settings-v2-company-grid{grid-template-columns:1fr}}.settings-v2-signals-panel{margin-bottom:14px;padding:14px;border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border-light);box-shadow:var(--shadow-card)}.settings-v2-signals-panel__head{margin-bottom:10px}.alerts-header{display:flex;align-items:flex-start;gap:10px}.settings-v2-signals-panel__title{margin:0;font-size:1rem;font-weight:700;color:var(--text-primary)}.settings-v2-signals-panel__desc{margin:4px 0 0;font-size:.8rem;color:var(--text-secondary);line-height:1.4;max-width:58ch}.settings-v2-signals-panel__desc strong{color:var(--text-primary);font-weight:600}.settings-v2-broker-warning{color:#f59e0b;font-weight:600}.settings-v2-signals-list-wrap{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-light)}.settings-v2-signals-list-title{margin:0 0 8px;font-size:.8125rem;font-weight:600;color:var(--text-primary)}.settings-v2-empty{padding:16px;border-radius:12px;text-align:center;color:var(--text-secondary);font-size:12.5px;background:#ffffff0a;border:1px dashed rgba(255,255,255,.08)}.settings-v2-empty span{display:block;margin-top:4px;font-size:11.5px;opacity:.8}@media(max-width:980px){.settings-v2-grid{grid-template-columns:1fr}.settings-v2-sidebar{flex-direction:row;flex-wrap:wrap}.settings-v2-profile-card{flex:1;min-width:200px}.settings-v2-mini-card{flex:1;min-width:160px}}@media(max-width:768px){.settings-v2-header{flex-direction:column;align-items:flex-start}.settings-v2-form-grid{grid-template-columns:1fr}.settings-v2-alert-form{flex-direction:column}.settings-v2-toggle-row{flex-direction:column;align-items:flex-start}}@media(max-width:520px){.settings-v2-page{padding:10px}.settings-v2-title h1{font-size:26px}.settings-v2-tabs{width:100%;overflow-x:auto}.settings-v2-tab{flex-shrink:0}.settings-v2-profile-card h2,.settings-v2-card-title h3{font-size:14px}.settings-v2-company-grid{grid-template-columns:1fr 1fr}}.settings-v2-page{color:var(--text-primary)}.settings-v2-title p,.settings-v2-profile-card p,.settings-v2-toggle-row p,.settings-v2-security p,.settings-v2-empty,.alerts-subheader{color:var(--text-secondary)}.settings-v2-title h1,.settings-v2-profile-card h2,.settings-v2-card-title h3,.settings-v2-mini-card h3,.settings-v2-toggle-row h3,.settings-v2-security h3,.alerts-header h3,.settings-v2-company-card span{color:var(--text-primary)}.settings-v2-tab{background:var(--bg-muted);border:1px solid var(--border-light);color:var(--text-secondary)}.settings-v2-tab:hover{background:var(--bg-card);color:var(--text-primary);border-color:var(--border)}.settings-v2-tab.active{background:var(--primary);color:var(--btn-primary-fg);border-color:transparent;box-shadow:var(--shadow-sm)}.settings-v2-profile-card,.settings-v2-mini-card,.settings-v2-card{background:var(--bg-card);border:1px solid var(--border-light);box-shadow:var(--shadow-card);-webkit-backdrop-filter:none;backdrop-filter:none}.settings-v2-avatar{background:linear-gradient(135deg,var(--primary),var(--accent-blue));color:var(--icon-on-primary)}.settings-v2-client-badge{background:var(--accent-blue-100);color:var(--primary);border:1px solid var(--border-light)}.settings-v2-tag.blue{background:var(--badge-ready-bg);color:var(--badge-ready-fg)}.settings-v2-tag.green{background:var(--badge-success-bg);color:var(--badge-success-fg)}.settings-v2-input-group label,.settings-v2-signals-list-title,.settings-v2-signals-panel__title,.settings-v2-mini-card h3,.settings-v2-card-title h3,.settings-v2-toggle-row h3{color:var(--text-label, var(--text-primary));font-weight:600}.settings-v2-empty span{color:var(--text-muted)}.settings-v2-input,.settings-v2-alert-form input{background:var(--input-bg);border:1px solid var(--border-light);color:var(--input-text)}.settings-v2-input::-moz-placeholder,.settings-v2-alert-form input::-moz-placeholder{color:var(--input-placeholder)}.settings-v2-input::placeholder,.settings-v2-alert-form input::placeholder{color:var(--input-placeholder)}.settings-v2-input:focus,.settings-v2-alert-form input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--accent-blue-100)}.settings-v2-input:disabled{background:var(--bg-muted);color:var(--text-muted)}.settings-v2-security-icon{background:var(--success-100);color:var(--success)}.settings-v2-btn{background:var(--primary);color:var(--btn-primary-fg)}.settings-v2-btn:hover:not(:disabled){background:var(--primary-hover)}.settings-v2-btn--secondary{background:var(--bg-muted);color:var(--text-primary);border:1px solid var(--border-light)}.settings-v2-btn--secondary:hover:not(:disabled){background:var(--bg-card)}.settings-v2-company-card{background:var(--bg-muted);border:1px solid var(--border-light)}.settings-v2-delete-btn{background:var(--danger-100);color:var(--danger)}.settings-v2-empty{background:var(--bg-muted);border:1px dashed var(--border-light);color:var(--text-secondary)}.settings-v2-empty span{display:block;margin-top:6px;font-size:12px;color:var(--text-muted)}.settings-loader{color:var(--text-secondary)}.alerts-header{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px}.alerts-header h3{margin:0}.settings-v2-signals-panel .alerts-header{margin-bottom:0}.settings-v2-signals-panel .alerts-header svg{color:var(--primary);flex-shrink:0;margin-top:2px}.settings-v2-security strong{color:var(--text-primary)}.switch{--default: #D1D6EE;--hover: #CACFE6;--active: #275EFE;--dot: #fff;position:relative;display:inline-block}.switch input{-webkit-tap-highlight-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;display:block;border:none;background:var(--b, var(--default));width:40px;height:22px;padding:0;margin:0;border-radius:11px;cursor:pointer;transition:background .3s linear}.switch input:hover{--b: var(--hover)}.switch input:checked{--b: var(--active)}.switch svg{fill:var(--dot);display:block;width:36px;height:18px;position:absolute;left:2px;top:2px;pointer-events:none;filter:drop-shadow(0 .5px .5px rgba(0,9,61,.1))}.switch.active input,.switch.checked input{--b: var(--active)}.switch.checked svg{transform:scaleX(-1)}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;flex-wrap:wrap;gap:.75rem}.page-header-content{flex:1;min-width:0}.page-header-title{font-size:1.375rem;font-weight:700;color:var(--text-primary);margin:0;line-height:1.25;letter-spacing:-.02em}@media(min-width:640px){.page-header-title{font-size:1.5rem}}.page-header-subtitle{font-size:.8125rem;color:var(--text-secondary);margin:4px 0 0;line-height:1.5;max-width:52ch;font-weight:500}html:not(.theme-dark) .page-header-title{color:var(--text-primary);font-weight:800}html:not(.theme-dark) .page-header-subtitle{color:var(--text-secondary);font-weight:500;opacity:1}.page-header-actions{display:flex;gap:.5rem;flex-shrink:0;align-items:center}.broker-setup-container{width:100%;max-width:880px;margin:0 auto;padding:10px 14px 12px}.broker-setup-summary{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0 0 16px;padding:10px 14px;border-radius:var(--radius-sm);background:var(--bg-muted);border:1px solid var(--border-light);font-size:.8125rem}.broker-setup-summary strong{color:var(--text-primary);font-weight:600}.broker-setup-summary__dot{opacity:.4}.broker-setup-grid{display:grid;gap:12px;grid-template-columns:1fr}@media(min-width:640px){.broker-setup-grid{grid-template-columns:repeat(2,1fr)}}.broker-card{display:flex;flex-direction:column;gap:12px;padding:16px}.broker-card--unavailable{opacity:.88}.broker-card--unavailable .broker-card__logo{filter:grayscale(.4)}.broker-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.broker-card__identity{display:flex;gap:12px;align-items:center;min-width:0}.broker-card__logo{flex-shrink:0;width:40px;height:40px;border-radius:10px;background:var(--bg-muted);border:1px solid var(--border-light);display:flex;align-items:center;justify-content:center;padding:6px}.broker-card__logo img{width:100%;height:auto;-o-object-fit:contain;object-fit:contain}.broker-card__hint{display:flex;align-items:center;gap:6px;margin:0;font-size:.75rem}.broker-card__meta{margin:0;font-size:.75rem;color:var(--text-secondary)}.broker-card__done{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:9px;font-size:.8125rem;font-weight:600;color:var(--badge-success-fg);background:var(--badge-success-bg);border-radius:var(--radius-sm);border:1px solid transparent}.broker-card--skeleton{pointer-events:none;min-height:128px}.broker-card__sk-logo,.broker-card__sk-line,.broker-card__sk-btn{background:linear-gradient(90deg,var(--bg-muted) 25%,var(--border-light) 50%,var(--bg-muted) 75%);background-size:200% 100%;animation:broker-shimmer 1.2s infinite;border-radius:6px}.broker-card__sk-logo{width:40px;height:40px}.broker-card__sk-line{height:10px;margin-top:12px;width:55%}.broker-card__sk-line--wide{width:75%}.broker-card__sk-btn{height:36px;margin-top:16px}@keyframes broker-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.broker-connect-overlay{position:fixed;inset:0;z-index:130;display:flex;align-items:center;justify-content:center;background:#0f172a8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none}.broker-connect-overlay-card{text-align:center;padding:24px 28px;border-radius:var(--radius-lg);background:var(--bg-card);border:1px solid var(--border-light);color:var(--text-primary);max-width:320px;box-shadow:var(--shadow-md)}.broker-connect-spinner{display:inline-block;width:28px;height:28px;margin-bottom:10px;border:3px solid var(--border-light);border-top-color:var(--primary);border-radius:50%;animation:broker-spin .8s linear infinite}.broker-connect-overlay-hint{margin-top:6px;font-size:.8125rem;color:var(--text-secondary)}@keyframes broker-spin{to{transform:rotate(360deg)}}.broker-auth-fallback-btn{margin-left:6px;text-decoration:underline;color:var(--primary);background:none;border:none;cursor:pointer;font:inherit}.broker-setup-refresh--spin{animation:broker-spin .8s linear infinite}.alerts-header-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--border-light);padding-bottom:10px;margin-bottom:12px;flex-wrap:wrap}.date-range-filter{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:12px}.date-range-group{display:flex;align-items:center}.date-range-input{height:38px;padding:0 10px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-primary);font-size:13px;font-weight:500}.date-range-input:focus{outline:none;border-color:var(--primary)}.date-range-separator{color:var(--text-secondary);font-size:13px;padding:0 2px}.date-range-clear{width:26px;height:26px;border-radius:50%;border:none;background:var(--bg-hover);color:var(--danger);font-size:13px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.date-range-clear:hover{filter:brightness(.95)}.alerts-table thead{background:var(--bg-muted);border-bottom:1px solid var(--border-light)}.alerts-table tbody tr{border-bottom:1px solid var(--border-light);transition:background-color .2s ease-in-out}.alert-symbol{font-weight:500;color:var(--text-primary)}.alert-symbol--clickable{cursor:pointer}.alert-symbol--clickable:hover{color:var(--primary);text-decoration:underline}.alert-time-date{color:var(--text-primary);font-size:.8rem;font-weight:500}.alert-time-only{color:var(--text-secondary);font-size:.72rem;margin-top:2px}.alerts-loading{padding:2.5rem;text-align:center;font-size:.875rem;color:var(--text-secondary)}.alerts-empty{padding:2.5rem 1.5rem;text-align:center;border-radius:var(--radius-md);background:var(--bg-muted);border:1px dashed var(--border-light);color:var(--text-secondary)}.filter-select{cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:42px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:12px 12px}.confidence-container{display:flex;align-items:center;gap:8px}.confidence-label{font-size:.7rem;font-weight:700;letter-spacing:.02em}.confidence-label.confidence-high,.confidence-badge.confidence-high{color:var(--signal-buy)}.confidence-label.confidence-medium,.confidence-badge.confidence-medium{color:var(--signal-hold)}.confidence-label.confidence-low,.confidence-badge.confidence-low{color:var(--signal-sell)}.confidence-badge{padding:.125rem .5rem;border-radius:6px;font-size:.6875rem;font-weight:600;background:var(--bg-muted)}.confidence-badge.confidence-high{background:var(--signal-buy-bg)}.confidence-badge.confidence-medium{background:var(--signal-hold-bg)}.confidence-badge.confidence-low{background:var(--signal-sell-bg)}.strength-badge{padding:.2rem .65rem;border-radius:999px;font-size:.7rem;font-weight:600;background:var(--bg-muted);color:var(--text-secondary);text-transform:capitalize}.strength-badge.strength-strong,.strength-badge.strength-extreme{background:color-mix(in srgb,var(--primary) 15%,transparent);color:var(--primary)}.strength-badge.strength-moderate{background:var(--signal-hold-bg);color:var(--signal-hold)}.strength-badge.strength-weak{background:var(--bg-muted);color:var(--text-secondary)}.validity-badge{padding:.2rem .65rem;border-radius:999px;font-size:.7rem;font-weight:600;background:var(--bg-muted);color:var(--text-secondary);white-space:nowrap}.validity-badge.validity-shortterm{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent)}.validity-badge.validity-longterm{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success)}.pagination-btn{background:var(--text-primary);color:var(--bg-card)}.pagination-page-btn.active{background:var(--primary);color:#fff}@media(max-width:768px){.desktop-view{display:none!important}.mobile-view{display:block}}.mobile-chip[data-active=true]{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.mobile-chip-select:focus{outline:none;border-color:var(--primary)}.mobile-chip-select option{background:var(--surface-container-low);color:var(--on-surface)}.mobile-date-panel{display:flex;align-items:center;gap:8px;margin-top:10px;padding:10px;border-radius:12px;background:var(--surface-container-low);border:1px solid var(--outline-variant)}.mobile-date-panel input[type=date]{flex:1;height:38px;padding:0 8px;border-radius:8px;border:1px solid var(--outline-variant);background:var(--surface);color:var(--on-surface);font-size:12.5px}.mobile-date-panel input[type=date]:focus{outline:none;border-color:var(--primary)}.mobile-date-panel .sep{color:var(--on-surface-variant);font-size:13px}.mobile-date-clear{width:30px;height:30px;border-radius:50%;border:none;background:var(--surface-container-high);color:var(--danger);font-weight:700;font-size:13px;cursor:pointer;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.mobile-note{margin:12px 16px 0;padding:8px 12px;border-radius:10px;border:1px dashed var(--primary);color:var(--primary);font-size:12.5px}.mobile-signal-card{background:var(--surface-container-low);border:1px solid var(--outline-variant);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:12px;transition:transform .1s}.mobile-card-symbol:active{opacity:.7}.mobile-card-price-row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.mobile-card-field-value .sub-time{display:block;font-size:11px;font-weight:500;color:var(--on-surface-variant);margin-top:2px}.mobile-confidence-pct{margin-top:4px;font-size:11px;color:var(--on-surface-variant)}.mobile-strength-pill,.mobile-validity-pill{padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:600;background:var(--surface-container-high);color:var(--on-surface-variant);text-transform:capitalize;display:inline-flex;align-items:center;gap:4px}.mobile-strength-pill.strong,.mobile-strength-pill.extreme{background:color-mix(in srgb,var(--primary) 18%,transparent);color:var(--primary)}.mobile-strength-pill.moderate{background:var(--signal-hold-bg);color:var(--signal-hold)}.mobile-validity-pill.shortterm{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}.mobile-validity-pill.longterm{background:color-mix(in srgb,var(--success) 18%,transparent);color:var(--success)}.mobile-action-btn:disabled{opacity:.4;cursor:not-allowed}.view-alerts-container{color:var(--text-primary);padding:0}.alert-exchange,.alert-time{color:var(--text-secondary)}.alerts-empty{text-align:center;padding:3rem 1.5rem;color:var(--text-secondary)}.alerts-empty-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.alerts-empty-desc{font-size:.875rem;margin:0;color:var(--text-secondary)}.alerts-empty-desc strong{color:var(--text-primary)}.alert-actions button{color:var(--text-secondary)}.scm-backdrop{--scm-bg: var(--bg-main);--scm-surface: var(--bg-card);--scm-surface-2: color-mix(in srgb, var(--bg-card) 92%, var(--text-primary) 8%);--scm-surface-3: color-mix(in srgb, var(--bg-card) 84%, var(--text-primary) 16%);--scm-border: var(--border-light);--scm-border-hi: var(--border);--scm-text-primary: var(--text-primary);--scm-text-secondary: var(--text-secondary);--scm-text-muted: var(--text-muted);--scm-accent: var(--primary);--scm-accent-dim: color-mix(in srgb, var(--primary) 18%, transparent);--scm-buy: var(--success);--scm-buy-bg: var(--success-100);--scm-sell: var(--danger);--scm-sell-bg: var(--danger-100);--scm-hold: var(--warning);--scm-hold-bg: var(--warning-100);--scm-shadow: color-mix(in srgb, var(--text-primary) 45%, transparent);--scm-shadow-soft: color-mix(in srgb, var(--text-primary) 25%, transparent);--scm-radius: 12px;--scm-radius-sm: 6px;--scm-radius-pill: 999px;--scm-font-mono: "DM Mono", "Fira Mono", monospace;--scm-font-display: "Syne", sans-serif}.scm-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:2px;background:transparent;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(6px);animation:scm-fade-in .18s ease}@keyframes scm-fade-in{0%{opacity:0}to{opacity:1}}.scm-modal{position:relative;width:100%;max-width:960px;max-height:92vh;overflow-y:auto;background:var(--scm-surface);border:1px solid var(--scm-border-hi);border-radius:var(--scm-radius);box-shadow:0 0 0 1px color-mix(in srgb,var(--scm-accent) 8%,transparent),0 3px 8px var(--scm-shadow),0 3px 2px var(--scm-shadow-soft);padding:10px;animation:scm-slide-up .22s cubic-bezier(.22,1,.36,1);scrollbar-width:thin;scrollbar-color:var(--scm-surface-3) transparent}.scm-modal::-webkit-scrollbar{width:5px}.scm-modal::-webkit-scrollbar-track{background:transparent}.scm-modal::-webkit-scrollbar-thumb{background:var(--scm-surface-3);border-radius:3px}@keyframes scm-slide-up{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.scm-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px;flex-wrap:wrap;row-gap:10px}.scm-header-left{display:flex;flex-direction:column;gap:6px}.scm-symbol-badge{display:flex;align-items:baseline;gap:8px}.scm-symbol{font-family:var(--scm-font-display);font-size:26px;font-weight:700;color:var(--scm-text-primary);letter-spacing:-.5px;line-height:1}.scm-exchange{font-family:var(--scm-font-mono);font-size:11px;font-weight:500;color:var(--scm-text-muted);letter-spacing:.08em;text-transform:uppercase;background:var(--scm-surface-3);border:1px solid var(--scm-border);border-radius:var(--scm-radius-sm);padding:2px 7px}.scm-price-block{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.scm-price{font-family:var(--scm-font-mono);font-size:22px;font-weight:500;color:var(--scm-accent);letter-spacing:-.3px}.scm-signal-pill{font-family:var(--scm-font-mono);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:3px 11px;border-radius:var(--scm-radius-pill)}.scm-change-pill{font-family:var(--scm-font-mono);font-size:11px;color:var(--scm-text-secondary);background:var(--scm-surface-3);border:1px solid var(--scm-border-hi);border-radius:var(--scm-radius-pill);padding:3px 10px;letter-spacing:.04em}.scm-timestamp{font-family:var(--scm-font-mono);font-size:11px;color:var(--scm-text-muted);letter-spacing:.04em}.scm-close-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:34px;height:34px;background:var(--scm-surface-2);border:1px solid var(--scm-border);border-radius:var(--scm-radius-sm);color:var(--scm-text-secondary);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.scm-close-btn:hover{background:var(--scm-surface-3);border-color:var(--scm-border-hi);color:var(--scm-text-primary)}.scm-meta-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.scm-meta-chip{display:flex;align-items:center;gap:6px;background:var(--scm-surface-2);border:1px solid var(--scm-border);border-radius:var(--scm-radius-sm);padding:5px 12px}.scm-meta-key{font-family:var(--scm-font-mono);font-size:10px;font-weight:500;color:var(--scm-text-muted);text-transform:uppercase;letter-spacing:.1em}.scm-meta-val{font-family:var(--scm-font-mono);font-size:11px;font-weight:500;color:var(--scm-text-primary);letter-spacing:.06em}.scm-chart-section{background:var(--scm-bg);border:1px solid var(--scm-border);border-radius:var(--scm-radius);padding:8px 6px}.scm-chart-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:4px}.scm-chart-title{font-family:var(--scm-font-display);font-size:13px;font-weight:700;color:var(--scm-text-secondary);text-transform:uppercase;letter-spacing:.12em;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.scm-chart-subtitle{font-family:var(--scm-font-mono);font-size:10px;font-weight:400;color:var(--scm-text-muted);text-transform:none;letter-spacing:.03em;display:flex;align-items:center;gap:8px}.scm-data-count{background:var(--scm-surface-3);border:1px solid var(--scm-border);border-radius:var(--scm-radius-pill);padding:1px 8px;font-size:10px;color:var(--scm-text-muted)}.scm-date-filter{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}.scm-date-group{display:flex;flex-direction:column;gap:4px}.scm-date-label{font-family:var(--scm-font-mono);font-size:10px;font-weight:500;color:var(--scm-text-muted);text-transform:uppercase;letter-spacing:.09em}.scm-date-input{font-family:var(--scm-font-mono);font-size:12px;color:var(--scm-text-primary);background:var(--scm-surface-2);border:1px solid var(--scm-border-hi);border-radius:var(--scm-radius-sm);padding:6px 10px;outline:none;cursor:pointer;transition:border-color .15s,background .15s;color-scheme:light dark}.scm-date-input:focus,.scm-date-input:hover{border-color:var(--scm-accent);background:var(--scm-surface-3)}.scm-date-sep{font-family:var(--scm-font-mono);font-size:14px;color:var(--scm-text-muted);padding-bottom:6px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.scm-apply-btn{font-family:var(--scm-font-display);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--btn-primary-fg);background:var(--scm-accent);border:none;border-radius:var(--scm-radius-sm);padding:7px 18px;cursor:pointer;transition:opacity .15s,transform .1s;display:flex;align-items:center;justify-content:center;gap:6px;min-width:70px;height:34px}.scm-apply-btn:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.scm-apply-btn:disabled{opacity:.4;cursor:not-allowed}.scm-same-date-hint{font-family:var(--scm-font-mono);font-size:11px;color:var(--scm-hold);background:var(--scm-hold-bg);border:1px solid color-mix(in srgb,var(--scm-hold) 30%,transparent);border-radius:var(--scm-radius-sm);padding:6px 12px;margin-bottom:12px}.scm-spinner{display:inline-block;width:14px;height:14px;border:2px solid color-mix(in srgb,var(--btn-primary-fg) 30%,transparent);border-top-color:var(--scm-bg);border-radius:50%;animation:scm-spin .7s linear infinite}.scm-spinner--lg{width:28px;height:28px;border-width:3px;border-top-color:var(--scm-accent)}@keyframes scm-spin{to{transform:rotate(360deg)}}.scm-chart-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:64px 0;font-family:var(--scm-font-mono);font-size:13px;color:var(--scm-text-muted)}.scm-chart-error{display:flex;align-items:center;gap:10px;font-family:var(--scm-font-mono);font-size:12px;color:var(--scm-sell);background:var(--scm-sell-bg);border:1px solid color-mix(in srgb,var(--scm-sell) 25%,transparent);border-radius:var(--scm-radius-sm);padding:12px 16px;margin:8px 0}.scm-no-chart{font-family:var(--scm-font-mono);font-size:13px;color:var(--scm-text-muted);text-align:center;padding:56px 0;line-height:1.8}.scm-stats-bar{display:flex;flex-wrap:wrap;gap:0;margin-bottom:14px;background:var(--scm-surface-2);border:1px solid var(--scm-border);border-radius:var(--scm-radius-sm);overflow:hidden}.scm-stat{display:flex;flex-direction:column;gap:3px;padding:8px 16px;border-right:1px solid var(--scm-border);flex:1;min-width:90px}.scm-stat:last-child{border-right:none}.scm-stat-key{font-family:var(--scm-font-mono);font-size:9px;font-weight:500;color:var(--scm-text-muted);text-transform:uppercase;letter-spacing:.1em}.scm-stat-val{font-family:var(--scm-font-mono);font-size:13px;font-weight:500;color:var(--scm-text-primary)}.scm-stat-buy{color:var(--scm-buy)}.scm-stat-sell{color:var(--scm-sell)}.scm-canvas-wrap{position:relative;width:100%}.scm-tooltip{position:absolute;z-index:10;pointer-events:none;background:var(--scm-surface);border:1px solid var(--scm-border-hi);border-radius:var(--scm-radius-sm);padding:10px 14px;min-width:164px;box-shadow:0 8px 24px var(--scm-shadow-soft)}.scm-tooltip-price{font-family:var(--scm-font-mono);font-size:16px;font-weight:500;color:var(--scm-accent);margin-bottom:8px;letter-spacing:-.2px}.scm-tooltip-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:4px}.scm-tooltip-label{font-family:var(--scm-font-mono);font-size:10px;color:var(--scm-text-muted);text-transform:uppercase;letter-spacing:.08em}.scm-tooltip-row span:last-child{font-family:var(--scm-font-mono);font-size:11px;color:var(--scm-text-primary)}.scm-tooltip-signal{font-family:var(--scm-font-mono);font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:2px 8px;border-radius:var(--scm-radius-pill)}.scm-levels{display:flex;flex-wrap:wrap;gap:14px}.scm-level-group{flex:1;min-width:180px;background:var(--scm-surface-2);border:1px solid var(--scm-border);border-radius:var(--scm-radius);padding:14px 16px}.scm-level-support{border-left:3px solid var(--scm-buy)}.scm-level-resistance{border-left:3px solid var(--scm-sell)}.scm-level-pivot{border-left:3px solid var(--scm-accent)}.scm-level-label{font-family:var(--scm-font-display);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--scm-text-muted);margin-bottom:10px}.scm-level-chips{display:flex;flex-wrap:wrap;gap:6px}.scm-level-chip{font-family:var(--scm-font-mono);font-size:11px;font-weight:500;padding:3px 10px;border-radius:var(--scm-radius-pill);border:1px solid transparent}.scm-chip-support{color:var(--scm-buy);background:var(--scm-buy-bg);border-color:color-mix(in srgb,var(--scm-buy) 25%,transparent)}.scm-chip-resistance{color:var(--scm-sell);background:var(--scm-sell-bg);border-color:color-mix(in srgb,var(--scm-sell) 25%,transparent)}.scm-chip-pivot{color:var(--scm-accent);background:var(--scm-accent-dim);border-color:color-mix(in srgb,var(--scm-accent) 25%,transparent)}@media(max-width:680px){.scm-modal{padding:20px 16px 24px;max-height:95vh}.scm-symbol{font-size:20px}.scm-price{font-size:18px}.scm-chart-header{flex-direction:column;align-items:flex-start}.scm-date-filter{width:100%;flex-wrap:wrap}.scm-date-group{flex:1;min-width:120px}.scm-level-group{min-width:100%}.scm-stats-bar{flex-direction:column}.scm-stat{border-right:none;border-bottom:1px solid var(--scm-border)}.scm-stat:last-child{border-bottom:none}}.scm-view-toggle{display:flex;gap:4px;align-items:center}.scm-toggle-btn{display:inline-flex;align-items:center;padding:6px 14px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;border:1px solid var(--scm-border-hi);background:transparent;color:var(--scm-text-secondary);transition:all .15s ease;white-space:nowrap}.scm-toggle-btn:hover{background:var(--scm-surface-3);color:var(--scm-text-primary)}.scm-toggle-btn--active{background:var(--scm-accent-dim);border-color:color-mix(in srgb,var(--scm-accent) 40%,transparent);color:var(--scm-accent)}.scm-toggle-btn--active:hover{background:color-mix(in srgb,var(--scm-accent) 24%,transparent)}.scm-table-wrap{overflow-x:auto;margin-top:12px;border-radius:8px;border:1px solid var(--scm-border)}.scm-table{width:100%;border-collapse:collapse;font-size:12.5px;color:var(--scm-text-primary)}.scm-table thead tr{background:var(--scm-surface-2);border-bottom:1px solid var(--scm-border-hi)}.scm-table th{padding:10px 14px;text-align:left;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--scm-text-muted);white-space:nowrap}.scm-table tbody tr{border-bottom:1px solid var(--scm-border);transition:background .1s ease}.scm-table tbody tr:last-child{border-bottom:none}.scm-table tbody tr:hover{background:var(--scm-surface-2)}.scm-table td{padding:9px 14px;white-space:nowrap}.scm-td-idx{color:var(--scm-text-muted);font-size:11px;width:36px}.scm-td-price{font-family:DM Mono,monospace;font-size:12px}.scm-td-empty{color:var(--scm-text-muted)}.scm-table-signal{display:inline-block;padding:2px 9px;border-radius:4px;font-size:11px;font-weight:600;letter-spacing:.04em}.scm-td-tag{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;background:var(--scm-surface-3);color:var(--scm-text-secondary)}.scm-chart-type-picker{position:relative}.scm-chart-type-btn{display:flex;align-items:center;gap:6px;padding:5px 10px;background:var(--scm-surface-2);border:1px solid var(--scm-border-hi);border-radius:var(--scm-radius-sm);color:var(--scm-text-primary);font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s;height:32px}.scm-chart-type-btn:hover{background:var(--scm-surface-3);border-color:var(--scm-accent)}.scm-chart-type-label{max-width:100px;overflow:hidden;text-overflow:ellipsis}.scm-chart-type-caret{transition:transform .2s ease;opacity:.6;flex-shrink:0}.scm-chart-type-caret.open{transform:rotate(180deg)}.scm-chart-type-dropdown{position:absolute;top:calc(100% + 6px);left:0;z-index:1001;background:var(--scm-surface-2);border:1px solid var(--scm-border-hi);border-radius:8px;padding:4px;min-width:190px;box-shadow:0 8px 24px var(--scm-shadow-soft);animation:scm-dropdown-in .12s ease}@keyframes scm-dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.scm-chart-type-divider{height:1px;background:var(--scm-border-hi);margin:3px 4px}.scm-chart-type-option{display:flex;align-items:center;gap:9px;width:100%;padding:7px 10px;background:none;border:none;border-radius:5px;color:var(--scm-text-secondary);font-size:12.5px;cursor:pointer;text-align:left;transition:background .12s,color .12s}.scm-chart-type-option:hover{background:var(--scm-surface-3);color:var(--scm-text-primary)}.scm-chart-type-option--active{color:var(--scm-accent);background:var(--scm-accent-dim)}.scm-chart-type-option--active:hover{background:var(--scm-accent-dim)}.scm-chart-type-opt-icon{display:flex;align-items:center;opacity:.8;flex-shrink:0}.scm-chart-type-check{margin-left:auto;flex-shrink:0;color:var(--scm-accent)}.scm-charts-row{display:flex;gap:12px;min-height:340px}.scm-chart-panel{flex:1 1 0;display:flex;flex-direction:column;min-width:0;background:var(--scm-surface-2);border:1px solid var(--scm-border);border-radius:var(--scm-radius-sm);overflow:hidden}.scm-chart-panel-header{display:flex;align-items:center;gap:8px;padding:8px 14px;border-bottom:1px solid var(--scm-border);flex-shrink:0}.scm-chart-panel-title{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--scm-text-muted)}.scm-chart-panel-body{flex:1;min-height:300px;position:relative;display:flex;flex-direction:column}.scm-spinner--sm{width:12px;height:12px;border-width:2px}@media(max-width:760px){.scm-charts-row{flex-direction:column}.scm-chart-panel{min-height:300px}}.bh-page{padding:10px 14px 12px;min-height:auto;color:var(--text-primary)}.bh-topbar{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:16px}.bh-topbar .page-header{flex:1;margin-bottom:0;padding-bottom:0;border-bottom:none}.bh-refresh-btn{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);border:1px solid var(--border-light);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;box-shadow:var(--shadow-sm);transition:background .2s,color .2s,border-color .2s}.bh-refresh-btn:hover{background:var(--bg-muted);color:var(--primary);border-color:var(--primary)}.bh-grid{display:grid;grid-template-columns:2fr 1fr;gap:24px}.bh-left,.bh-right{display:flex;flex-direction:column;gap:24px}.bh-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:24px;box-shadow:var(--shadow-card)}.bh-card-title{display:flex;align-items:center;gap:10px;margin-bottom:20px;color:var(--primary);font-weight:600;font-size:1rem}.bh-empty-hint{margin:0;padding:12px 0;font-size:.875rem;color:var(--text-secondary);line-height:1.5}.bh-modes{display:flex;flex-direction:column;gap:16px}.bh-mode{padding:20px;border-radius:var(--radius-md);border:1px solid var(--border-light);background:var(--bg-muted);cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s}.bh-mode:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.bh-mode.active{border-color:var(--primary);background:var(--accent-blue-100);box-shadow:var(--shadow-card)}.bh-mode-header{display:flex;gap:16px}.bh-mode-header h3{font-size:1.05rem;font-weight:600;color:var(--text-primary);margin:0}.bh-mode-icon{width:46px;height:46px;border-radius:14px;background:var(--accent-blue-100);display:flex;align-items:center;justify-content:center;color:var(--primary);flex-shrink:0}.bh-mode p{color:var(--text-secondary);margin-top:6px;font-size:14px;line-height:1.5}.bh-mode-tags{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap}.bh-mode-tags span{background:var(--bg-card);border:1px solid var(--border-light);color:var(--text-secondary);padding:6px 12px;border-radius:999px;font-size:11px;font-weight:500}.bh-flow{display:flex;align-items:center;justify-content:space-between}.bh-node{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--text-secondary);text-align:center;font-size:.8rem;font-weight:500}.bh-node span{color:var(--text-secondary)}.bh-node.primary{color:var(--primary)}.bh-node.primary span{color:var(--primary);font-weight:600}.bh-line{flex:1;height:2px;background:var(--border-light);margin:0 16px}.bh-priority-list{display:flex;flex-direction:column;gap:14px}.bh-priority-item{display:flex;align-items:center;justify-content:space-between;background:var(--bg-muted);border:1px solid var(--border-light);padding:14px;border-radius:var(--radius-md)}.bh-rank{font-size:20px;font-weight:700;color:var(--text-muted);min-width:28px}.bh-priority-info{flex:1;margin-left:14px}.bh-priority-info h4{margin:0;font-size:.95rem;font-weight:600;color:var(--text-primary);text-transform:capitalize}.bh-priority-top{display:flex;align-items:center;gap:10px}.bh-primary{font-size:10px;font-weight:600;padding:4px 8px;border-radius:999px;background:var(--accent-blue-100);color:var(--primary)}.bh-actions{display:flex;flex-direction:column;gap:6px}.bh-actions button{width:30px;height:30px;border:1px solid var(--border-light);background:var(--bg-card);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}.bh-actions button:hover{background:var(--accent-blue-100);color:var(--primary);border-color:var(--primary)}.bh-status{display:inline-flex;align-items:center;gap:6px;font-size:11px;margin-top:6px;padding:4px 10px;border-radius:999px;font-weight:500}.bh-status.success{background:var(--success-100);color:var(--success)}.bh-status.warning{background:var(--warning-100);color:var(--warning)}.bh-status.danger{background:var(--danger-100);color:var(--danger)}.bh-setting{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px}.bh-setting:last-child{margin-bottom:0}.bh-setting h4{margin:0 0 4px;font-size:.95rem;font-weight:600;color:var(--text-primary)}.bh-setting p{color:var(--text-secondary);font-size:13px;margin:0;line-height:1.45}.bh-setting select{background:var(--bg-card);border:1px solid var(--border-light);color:var(--text-primary);padding:8px 12px;border-radius:10px;font-size:14px;min-width:72px;cursor:pointer;box-shadow:var(--shadow-sm)}.bh-setting select:focus{outline:2px solid var(--primary);outline-offset:1px}.bh-toggle{border:none;background:transparent;padding:0;cursor:pointer;color:var(--text-muted);display:flex;align-items:center}.bh-toggle .on{color:var(--primary)}.bh-toggle .off{color:var(--text-muted)}.bh-recommendation{margin-bottom:20px;padding:12px 16px;border-radius:var(--radius-md);background:var(--accent-blue-100);border:1px solid var(--border-light);color:var(--text-primary);display:flex;align-items:center;gap:8px;font-size:.9rem}.bh-recommendation strong{color:var(--primary)}.bh-footer{position:sticky;bottom:20px;margin-top:24px;display:flex;justify-content:flex-end}.bh-save{border:1px solid var(--border-light);padding:14px 22px;border-radius:var(--radius-md);background:var(--bg-muted);color:var(--text-muted);display:flex;gap:10px;align-items:center;cursor:not-allowed;font-weight:600;font-size:.9rem;transition:background .2s,color .2s,box-shadow .2s}.bh-save.active{background:linear-gradient(90deg,var(--primary),var(--accent-blue));color:var(--btn-primary-fg);border-color:transparent;cursor:pointer;box-shadow:var(--shadow-md)}.bh-save.active:hover:not(:disabled){filter:brightness(1.05)}.bh-loader{min-height:40vh;display:flex;justify-content:center;align-items:center;color:var(--text-secondary)}@media(max-width:992px){.bh-grid{grid-template-columns:1fr}.bh-flow{flex-direction:column;gap:20px}.bh-line{width:2px;height:50px;margin:0}}html.theme-dark .bh-mode.active{box-shadow:0 0 0 1px var(--primary),var(--shadow-card)}html.theme-dark .bh-save.active{background:var(--btn-cta-bg)}.btn{margin-top:12px;width:100%;padding:8px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:500;border-radius:.5rem;cursor:pointer;transition:all .2s ease;border:none;outline:none}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:linear-gradient(105deg,var(--coral) 0%,var(--magenta) 55%,var(--violet) 100%);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--primary-dark, #2563eb)}.btn-secondary{background-color:var(--bg-muted, #f1f5f9);color:var(--text-primary, #1e293b);border:1px solid var(--border, #e2e8f0)}.btn-secondary:hover:not(:disabled){background-color:var(--bg-hover, #e2e8f0)}.btn-danger{background-color:var(--danger, #ef4444);color:#fff}.btn-danger:hover:not(:disabled){background-color:var(--danger-dark, #dc2626)}.btn-ghost{background-color:transparent;color:var(--text-primary, #1e293b)}.btn-ghost:hover:not(:disabled){background-color:var(--bg-muted, #f1f5f9)}.btn-sm{padding:.375rem .75rem;font-size:.875rem}.btn-md{padding:.5rem 1rem;font-size:.875rem}.btn-lg{padding:.75rem 1.5rem;font-size:1rem}.btn-full{width:100%}.btn-loading{position:relative;color:transparent}.btn-spinner{position:absolute;width:1rem;height:1rem;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.btn-icon{flex-shrink:0}.stat-card{border-radius:.75rem;padding:1.25rem;box-shadow:0 1px 3px #0000001a;border:1px solid var(--border, #e2e8f0)}.stat-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.stat-card-title{font-size:.875rem;color:var(--text-secondary, #64748b);font-weight:500}.stat-card-icon{width:2.25rem;height:2.25rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center}.stat-card-icon--blue{background-color:var(--accent-blue-100, rgba(59,130,246,.1));color:var(--accent-blue, #3b82f6)}.stat-card-icon--green{background-color:var(--success-100, rgba(34,197,94,.1));color:var(--success, #22c55e)}.stat-card-icon--red{background-color:var(--danger-100, rgba(239,68,68,.1));color:var(--danger, #ef4444)}.stat-card-icon--yellow{background-color:var(--warning-100, rgba(234,179,8,.1));color:var(--warning, #eab308)}.stat-card-body{display:flex;align-items:baseline;gap:.5rem}.stat-card-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.stat-card-badge{font-size:.75rem;font-weight:500;padding:.125rem .5rem;border-radius:9999px}.stat-card-badge--green{background-color:var(--success-100, rgba(34,197,94,.1));color:var(--success, #22c55e)}.stat-card-badge--red{background-color:var(--danger-100, rgba(239,68,68,.1));color:var(--danger, #ef4444)}.stat-card-badge--neutral{background-color:#f1f5f947;color:var(--text-secondary, #64748b)}.stat-card-subtitle{font-size:.75rem;color:var(--text-secondary, #64748b);margin:.5rem 0 0}.input-field{display:flex;flex-direction:column;gap:.375rem;margin-bottom:1rem}.input-required{color:var(--danger, #ef4444);margin-left:.25rem}.input-control{width:100%;padding:.625rem .875rem;font-size:.875rem;border:1px solid var(--border, #e2e8f0);border-radius:.5rem;background-color:#fff;color:var(--text-primary, #1e293b);transition:border-color .2s ease,box-shadow .2s ease}.input-control:focus{outline:none;border-color:var(--primary, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.input-control:disabled{background-color:var(--bg-muted, #f1f5f9);cursor:not-allowed}.input-control::-moz-placeholder{color:var(--text-muted, #94a3b8)}.input-control::placeholder{color:var(--text-muted, #94a3b8)}.input-control.input-error{border-color:var(--danger, #ef4444)}.input-error-text{font-size:.75rem;color:var(--danger, #ef4444)}.pricing-kpi-row{grid-template-columns:repeat(4,1fr)}@media(max-width:1100px){.pricing-kpi-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.pricing-kpi-row{grid-template-columns:1fr}}.edit-plan-root{position:fixed;inset:0;z-index:1300;display:flex;align-items:center;justify-content:center;padding:16px}.edit-plan-backdrop{position:absolute;inset:0;border:none;background:#00000073;cursor:pointer}.edit-plan-modal{position:relative;width:min(440px,100%);padding:16px;border-radius:14px;background:var(--bg-card);border:1px solid var(--border-light);box-shadow:var(--shadow-lg, 0 20px 40px rgba(0, 0, 0, .2));display:flex;flex-direction:column;gap:12px}.edit-plan-modal header{display:flex;align-items:center;justify-content:space-between}.edit-plan-modal header h3{margin:0;font-size:1rem}.edit-plan-modal header button{border:none;background:transparent;cursor:pointer;color:var(--text-muted)}.edit-plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.edit-plan-grid label,.edit-plan-features{display:flex;flex-direction:column;gap:4px;font-size:.6875rem;font-weight:700;text-transform:uppercase;color:var(--text-muted)}.edit-plan-grid input,.edit-plan-features textarea{padding:8px 10px;border-radius:8px;border:1px solid var(--border-light);background:var(--input-bg, var(--bg-subtle));font-size:.8125rem;text-transform:none;font-weight:400}.edit-plan-check{flex-direction:row!important;align-items:center;text-transform:none!important;font-size:.8125rem!important;color:var(--text-primary)!important}.edit-plan-features{grid-column:1 / -1}.edit-plan-modal footer{display:flex;justify-content:flex-end;gap:8px}.edit-plan-modal footer button[type=submit]{padding:8px 14px;border-radius:8px;border:none;background:var(--primary);color:var(--btn-primary-fg, #fff);font-weight:700;cursor:pointer}.edit-plan-ghost{padding:8px 14px;border-radius:8px;border:1px solid var(--border-light);background:transparent;cursor:pointer}.user-management{flex:1;min-height:0;display:flex;flex-direction:column;gap:10px;overflow:hidden}.user-drawer-root{position:fixed;inset:0;z-index:1300;pointer-events:auto}.user-drawer-backdrop{position:absolute;inset:0;border:none;background:#020a1673;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:pointer}.user-drawer-panel{position:absolute;top:0;right:0;bottom:0;width:min(400px,100vw);display:flex;flex-direction:column;background:var(--bg-card);border-left:1px solid var(--border-light);box-shadow:-12px 0 40px #00000040;color:var(--text-primary);animation:user-drawer-in .22s ease}@keyframes user-drawer-in{0%{transform:translate(100%)}to{transform:translate(0)}}.user-drawer-head{flex-shrink:0;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px;border-bottom:1px solid var(--border-light);background:var(--bg-subtle)}.user-drawer-eyebrow{margin:0 0 4px;font-size:.625rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.user-drawer-head h2{margin:0;font-size:1.125rem;font-weight:700}.user-drawer-close{border:1px solid var(--border-light);background:var(--bg-card);border-radius:8px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary)}.user-drawer-body{flex:1;overflow-y:auto;padding:14px 18px 24px}.user-drawer-section{margin-bottom:18px}.user-drawer-section h3{margin:0 0 10px;font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.user-drawer-row{display:flex;align-items:center;gap:8px;font-size:.8125rem;color:var(--text-secondary);margin-bottom:6px}.user-drawer-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.user-drawer-meta{font-size:.75rem;color:var(--text-muted);margin:0}.user-drawer-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.user-drawer-stats div{padding:10px;border-radius:10px;border:1px solid var(--border-light);background:var(--bg-subtle);text-align:center}.user-drawer-stats strong{display:block;font-family:ui-monospace,monospace;font-size:1.125rem;color:var(--text-primary)}.user-drawer-stats span{font-size:.625rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.user-drawer-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.user-drawer-label{display:block;font-size:.6875rem;font-weight:600;color:var(--text-muted);margin-bottom:6px}.user-drawer-select{width:100%;padding:8px 10px;border-radius:8px;border:1px solid var(--border-light);background:var(--input-bg, var(--bg-subtle));color:var(--text-primary);font-size:.8125rem}.fin-badge--kyc-verified{background:var(--success-100);color:var(--success)}.fin-badge--kyc-pending{background:var(--warning-100);color:var(--warning)}.fin-badge--kyc-rejected{background:var(--danger-100);color:var(--danger)}.add-user-modal{width:min(420px,92vw);padding:24px;border-radius:16px;border:1px solid var(--border-light);background:var(--bg-card);color:var(--text-primary);box-shadow:var(--shadow-md)}.add-user-modal h2{margin:0 0 4px;font-size:1.25rem}.add-user-sub{margin:0 0 20px;font-size:.8125rem;color:var(--text-muted)}.add-user-modal label{display:block;margin-bottom:14px;font-size:.75rem;font-weight:600;color:var(--text-secondary)}.add-user-modal input,.add-user-modal select{display:block;width:100%;margin-top:6px;padding:10px 12px;border-radius:10px;border:1px solid var(--border-light);background:var(--input-bg, var(--bg-subtle));color:var(--text-primary);font-size:.875rem}.add-user-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.simple-header{background:transparent;padding:16px 0;display:flex;justify-content:space-between;position:sticky;top:0;z-index:1}.legal-page{background:var(--bg-deep);min-height:100vh;padding:40px 20px}.legal-container{max-width:900px;margin:auto;background:#ffffff73;border:1px solid #ffffff;padding:40px;border-radius:12px;box-shadow:0 10px 30px #0000000d}.legal-container h1{font-size:32px;margin-bottom:10px;color:#111827}.last-updated{color:#6b7280;margin-bottom:30px}.legal-container h2{margin-top:25px;font-size:20px;color:#1f2937}.legal-container p,.legal-container li{color:#4b5563;line-height:1.6;margin-top:10px}.legal-container ul{padding-left:20px}.back-btn{margin-bottom:20px;background:none;border:none;color:#10b981;cursor:pointer;font-weight:500}.trades-page{width:100%;min-height:100vh;color:#fff;padding:10px 14px 12px}.trades-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.trades-topbar h2{font-size:28px;font-weight:700;margin-bottom:4px}.trades-topbar p{color:#8a93a5;font-size:14px}.refresh-btn{height:44px;padding:0 18px;border-radius:14px;border:1px solid #243046;display:flex;align-items:center;gap:10px;cursor:pointer;transition:.2s ease}.refresh-btn:hover{border-color:#20c9b0;transform:translateY(-1px)}.trades-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.trade-stat-card{background:var(--bg-card);border:1px solid #1f2937;border-radius:20px;padding:24px}.trade-stat-card span{color:#8c96aa;font-size:14px}.trade-stat-card h1{margin-top:12px;font-size:40px;font-weight:700}.buy-text{color:#16c784}.sell-text{color:#ff5b6e}.trade-filter-bar{background:var(--bg-card);border:1px solid #1d2636;border-radius:24px;padding:20px;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.trade-search-box{flex:1;height:50px;border-radius:16px;border:1px solid #253047;display:flex;align-items:center;gap:10px;padding:0 16px}.trade-search-box input{width:100%;background:transparent;border:none;outline:none;color:#fff;font-size:14px}.trade-search-box svg{color:#8a93a5}.trade-filter-actions{display:flex;align-items:center;gap:12px}.trade-filter-actions button{height:42px;padding:0 22px;border-radius:14px;border:1px solid #253047;background:transparent;color:#d2d8e3;font-weight:600;cursor:pointer;transition:.2s ease}.trade-filter-actions button:hover{border-color:#20c9b0}.trade-filter-actions button.active{background:#19c6b2;color:#07131c;border-color:#19c6b2}.trades-table-wrapper{width:100%;overflow-x:auto;background:var(--bg-card);border:1px solid #1d2636;border-radius:24px}.trades-table{width:100%;border-collapse:collapse}.trades-table thead{background:#0e1522}.trades-table th{text-align:left;padding:18px 20px;font-size:13px;font-weight:600;color:#8f99ad;border-bottom:1px solid #1d2636}.trades-table td{padding:18px 20px;border-bottom:1px solid #151d2c;font-size:14px}html:not(.theme-dark) .trades-page{color:#0b1320}html:not(.theme-dark) .trades-table thead{background:#f6f8fa}html:not(.theme-dark) .trades-table th{color:#4b5563;border-bottom:1px solid #e6edf3}html:not(.theme-dark) .trades-table td{color:#0b1320;border-bottom:1px solid #eef3f7;background:transparent}.trades-table tbody tr{transition:.2s ease}.trades-table tbody tr:hover{background:#20c9b00d}.symbol-cell{font-weight:700;color:#fff}.side-badge{width:-moz-fit-content;width:fit-content;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:700;display:flex;align-items:center;gap:6px}.side-badge.buy{background:#16c7841f;color:#16c784}.side-badge.sell{background:#ff5b6e1f;color:#ff5b6e}.price-cell,.time-cell{display:flex;align-items:center;gap:6px}.no-data{width:100%;padding:80px 20px;text-align:center;color:#8892a6;font-size:15px}@media(max-width:1100px){.trades-stats-grid{grid-template-columns:repeat(2,1fr)}.trade-filter-bar{flex-direction:column;align-items:stretch}}@media(max-width:700px){.trades-stats-grid{grid-template-columns:1fr}.trades-page{padding:16px}.trades-topbar{flex-direction:column;align-items:flex-start;gap:14px}.trade-filter-actions{flex-wrap:wrap}}.holdings-page{padding:0 0 2rem}.holdings-refresh-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .85rem;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:inherit;cursor:pointer;font-size:.85rem}.holdings-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin:1rem 0 1.25rem}.holdings-stat{padding:.85rem 1rem;border-radius:12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:.25rem}.holdings-stat span{font-size:.75rem;opacity:.7}.holdings-stat strong{font-size:1.1rem}.holdings-stat.up strong{color:#22c55e}.holdings-stat.down strong{color:#ef4444}.holdings-toolbar{margin-bottom:1rem}.holdings-search{display:flex;align-items:center;gap:.5rem;max-width:320px;padding:.5rem .75rem;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#00000026}.holdings-search input{flex:1;border:none;background:transparent;color:inherit;outline:none;font-size:.9rem}.holdings-table-wrap{overflow-x:auto;border-radius:14px;border:1px solid rgba(255,255,255,.08)}.holdings-table{width:100%;border-collapse:collapse;font-size:.875rem}.holdings-table th,.holdings-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid rgba(255,255,255,.06)}.holdings-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;opacity:.65}.holdings-symbol{font-weight:600}.pnl-up,.pnl-down{display:inline-flex;align-items:center;gap:.25rem;font-weight:600}.pnl-up{color:#22c55e}.pnl-down{color:#ef4444}.holdings-loading,.holdings-empty{text-align:center;padding:2.5rem 1rem;opacity:.75}.holdings-empty{display:flex;flex-direction:column;align-items:center;gap:.5rem;border:1px dashed rgba(255,255,255,.15);border-radius:14px}.spin{animation:holdings-spin .8s linear infinite}@keyframes holdings-spin{to{transform:rotate(360deg)}}.pf-page{min-height:100vh;color:var(--text-primary);font-family:Inter,SF Pro Text,system-ui,-apple-system,sans-serif;transition:background .2s,color .2s}.pf-page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:22px 28px 18px;border-bottom:1px solid var(--border)}.pf-title{font-size:22px;font-weight:700;letter-spacing:-.03em;color:var(--text-primary);margin:0;line-height:1.2}.pf-subtitle{font-size:12px;color:var(--text-secondary);margin:2px 0 0}.pf-header-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pf-broker-chips{display:flex;gap:8px;flex-wrap:wrap}.pf-broker-chip{display:flex;align-items:center;gap:7px;background:var(--bg-card);border:1px solid var(--border);border-radius:20px;padding:4px 12px 4px 5px;font-size:12px;font-weight:500;color:var(--text-primary);cursor:pointer;transition:border-color .15s,background .15s}.pf-broker-chip.chip-connected{border-color:#22c55e4d}.pf-broker-chip.chip-connected:hover{background:var(--bg-card-hover);border-color:var(--green)}.pf-broker-chip.chip-unlinked{opacity:.5;cursor:default}.chip-check{color:var(--green)}.pf-icon-btn{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);cursor:pointer;transition:color .15s,border-color .15s}.pf-icon-btn:hover{color:var(--text-primary);border-color:var(--border-accent)}.pf-center-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:100px 24px;color:var(--text-secondary);font-size:14px}.pf-no-broker{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:80px 24px;text-align:center}.nb-icon{color:var(--text-muted);margin-bottom:4px}.pf-no-broker h2{font-size:20px;font-weight:700;margin:0}.pf-no-broker p{font-size:14px;color:var(--text-secondary);margin:0;max-width:320px}.pf-connect-cta{display:flex;align-items:center;gap:6px;margin-top:8px;background:var(--primary);color:#fff;border:none;border-radius:9px;padding:10px 22px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s}.pf-connect-cta:hover{background:var(--accent-hover)}.pf-broker-grid-view{padding:24px 28px}.pf-broker-grid-hint{font-size:13px;color:var(--text-secondary);margin:0 0 16px}.pf-broker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;max-width:700px}.pf-broker-card{display:flex;align-items:center;gap:12px;background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:16px;cursor:pointer;text-align:left;transition:border-color .15s,box-shadow .15s,background .15s;width:100%}.pf-broker-card.bc-connected:hover{border-color:var(--border-accent);box-shadow:var(--shadow-card);background:var(--bg-card-hover)}.pf-broker-card.bc-unlinked{opacity:.55;cursor:default}.broker-avatar{border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;flex-shrink:0;letter-spacing:-.02em}.pf-broker-info{flex:1;min-width:0}.pf-broker-name{display:block;font-size:14px;font-weight:600;color:var(--text-primary)}.pf-broker-status{display:flex;align-items:center;gap:4px;font-size:11px;margin-top:3px;font-weight:500}.st-connected{color:var(--green)}.st-unlinked{color:var(--text-muted)}.bc-arrow{color:var(--text-muted);transform:rotate(180deg);flex-shrink:0}.pf-detail{padding:0 0 24px}.pf-back-btn{display:flex;align-items:center;gap:4px;background:transparent;border:none;color:var(--text-secondary);font-size:13px;cursor:pointer;padding:14px 28px 4px;transition:color .15s}.pf-back-btn:hover{color:var(--text-primary)}.pf-profile-strip{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 28px 20px;border-bottom:1px solid var(--border)}.pf-profile-avatar{flex-shrink:0}.pf-profile-meta{flex:1;min-width:140px;display:flex;flex-direction:column;gap:2px}.pf-profile-name{font-size:17px;font-weight:700;color:var(--text-primary)}.pf-profile-sub{font-size:12px;color:var(--text-secondary)}.pf-profile-broker{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--green);font-weight:500;margin-top:1px}.pf-sync-time{font-size:11px;color:var(--text-muted);margin-left:auto}.pf-refresh-btn{display:flex;align-items:center;gap:6px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);font-size:13px;padding:7px 14px;cursor:pointer;transition:border-color .15s,color .15s}.pf-refresh-btn:hover{border-color:var(--border-accent);color:var(--accent)}.pf-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.pf-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:20px 28px}@media(max-width:900px){.pf-stats-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:500px){.pf-stats-row{grid-template-columns:1fr}}.pf-stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:16px 18px;display:flex;gap:12px;align-items:flex-start;box-shadow:var(--shadow-card);transition:border-color .15s}.pf-stat-card:hover{border-color:var(--border-accent)}.pf-stat-card.accent-green{border-left:3px solid var(--green)}.pf-stat-card.accent-red{border-left:3px solid var(--red)}.pf-stat-icon{color:var(--text-muted);flex-shrink:0;margin-top:2px}.pf-stat-body{display:flex;flex-direction:column;gap:3px}.pf-stat-label{font-size:11px;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.04em}.pf-stat-value{font-size:20px;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;line-height:1.1}.pf-stat-sub{font-size:12px;color:var(--text-secondary)}.positive{color:var(--green)!important}.negative{color:var(--red)!important}.pf-holdings-section{padding:0 28px}.pf-holdings-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:14px}.pf-section-title{font-size:15px;font-weight:700;color:var(--text-primary);margin:0}.pf-holdings-actions{display:flex;align-items:center;gap:8px}.pf-search-box{display:flex;align-items:center;gap:7px;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;padding:6px 12px;color:var(--text-secondary)}.pf-search-box input{background:transparent;border:none;outline:none;font-size:13px;color:var(--text-primary);width:160px}.pf-search-box input::-moz-placeholder{color:var(--text-muted)}.pf-search-box input::placeholder{color:var(--text-muted)}.pf-export-btn{display:flex;align-items:center;gap:5px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);font-size:12px;font-weight:500;padding:6px 12px;cursor:pointer;transition:border-color .15s,color .15s}.pf-export-btn:hover{border-color:var(--border-accent);color:var(--accent)}.pf-table-wrap{border:1px solid var(--border);border-radius:12px;overflow:auto}.pf-table{width:100%;border-collapse:collapse;font-size:13px}.pf-table thead tr{background:var(--bg-surface)}.pf-table th{padding:10px 14px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap;text-align:left}.pf-table th.right{text-align:right}.pf-table tbody tr{border-bottom:1px solid var(--border);transition:background .1s}.pf-table tbody tr:last-child{border-bottom:none}.pf-table tbody tr:hover{background:var(--bg-card-hover)}.pf-table td{padding:12px 14px;color:var(--text-primary);white-space:nowrap}.pf-table td.right{text-align:right;font-variant-numeric:tabular-nums}.pf-symbol-cell{display:flex;flex-direction:column;gap:1px}.pf-symbol{font-weight:600;font-size:13px;color:var(--text-primary)}.pf-exchange{font-size:10px;color:var(--text-muted);letter-spacing:.03em}.pnl-cell{font-weight:600}.pf-skeleton{display:inline-block;height:14px;border-radius:6px;background:linear-gradient(90deg,var(--border) 25%,var(--bg-surface) 50%,var(--border) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}.w-120{width:120px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.pf-holdings-empty{display:flex;align-items:center;justify-content:center;gap:10px;padding:48px 24px;color:var(--text-secondary);font-size:14px;border:1px solid var(--border);border-radius:12px}@media(max-width:640px){.pf-page-header,.pf-profile-strip,.pf-holdings-section{padding-left:16px;padding-right:16px}.pf-stats-row{padding:16px}.pf-holdings-header{flex-direction:column;align-items:flex-start}.pf-sync-time{display:none}}.otp-container{padding:10px 14px 12px;min-height:100vh;display:flex;flex-direction:column;gap:0}.otp-banner{display:flex;align-items:center;justify-content:space-between;background:#ef44441f;border:1px solid rgba(239,68,68,.35);border-radius:8px;padding:10px 16px;margin:12px 24px 0;font-size:13px;color:#f87171}.otp-reconnect-btn{background:#ef4444;color:#fff;border:none;border-radius:6px;padding:5px 14px;font-size:12px;font-weight:600;cursor:pointer}.otp-reconnect-btn:hover{background:#dc2626}.otp-refresh-btn{display:flex;align-items:center;gap:6px;background:transparent;border:1px solid var(--border-color, rgba(255,255,255,.12));color:var(--text-secondary, #9ca3af);border-radius:7px;padding:7px 14px;font-size:13px;cursor:pointer;transition:border-color .15s,color .15s}.otp-refresh-btn:hover{border-color:var(--accent, #6366f1);color:var(--accent, #6366f1)}.otp-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.otp-tabs{display:flex;gap:4px;padding:16px 24px 0;border-bottom:1px solid var(--border-color, rgba(255,255,255,.08))}.otp-tab{display:flex;align-items:center;gap:6px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary, #9ca3af);font-size:13px;font-weight:500;padding:8px 14px 10px;cursor:pointer;transition:color .15s,border-color .15s;margin-bottom:-1px}.otp-tab:hover{color:var(--text-primary, #f3f4f6)}.otp-tab.active{color:var(--accent, #6366f1);border-bottom-color:var(--accent, #6366f1)}.otp-tab-count{background:var(--surface-2, rgba(255,255,255,.07));border-radius:20px;padding:1px 7px;font-size:11px;font-weight:600}.otp-tab.active .otp-tab-count{background:#6366f12e;color:var(--accent, #6366f1)}.otp-stats{display:flex;gap:10px;flex-wrap:wrap;padding:18px 24px 0}.otp-stat{flex:1;min-width:90px;background:var(--surface-1, rgba(255,255,255,.04));border:1px solid var(--border-color, rgba(255,255,255,.08));border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}.otp-stat-label{font-size:11px;color:var(--text-secondary, #9ca3af);font-weight:500;display:flex;align-items:center;gap:3px}.otp-stat-value{font-size:22px;font-weight:700;color:var(--text-primary, #f3f4f6);line-height:1}.otp-stat.accent-buy .otp-stat-value{color:#34d399}.otp-stat.accent-sell .otp-stat-value{color:#f87171}.otp-stat.accent-green .otp-stat-value{color:#34d399}.otp-stat.accent-yellow .otp-stat-value{color:#fbbf24}.otp-stat.accent-red .otp-stat-value{color:#f87171}.otp-stat.accent-blue .otp-stat-value{color:#818cf8}.otp-filterbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:14px 24px 0}.otp-search{display:flex;align-items:center;gap:8px;background:var(--surface-1, rgba(255,255,255,.04));border:1px solid var(--border-color, rgba(255,255,255,.1));border-radius:8px;padding:7px 12px;color:var(--text-secondary, #9ca3af);min-width:220px}.otp-search input{background:transparent;border:none;outline:none;font-size:13px;color:var(--text-primary, #f3f4f6);width:100%}.otp-search input::-moz-placeholder{color:var(--text-secondary, #6b7280)}.otp-search input::placeholder{color:var(--text-secondary, #6b7280)}.otp-filter-sep{width:1px;height:24px;background:var(--border-color, rgba(255,255,255,.1))}.otp-filter-icon{color:var(--text-secondary, #9ca3af)}.otp-filter-group{display:flex;align-items:center;gap:4px}.otp-filter-btn{background:transparent;border:1px solid var(--border-color, rgba(255,255,255,.1));color:var(--text-secondary, #9ca3af);border-radius:6px;padding:5px 12px;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}.otp-filter-btn:hover{border-color:var(--accent, #6366f1);color:var(--text-primary, #f3f4f6)}.otp-filter-btn.active{background:var(--accent, #6366f1);border-color:var(--accent, #6366f1);color:#fff}.otp-filter-btn.sig-filter-buy.active{background:#059669;border-color:#059669}.otp-filter-btn.sig-filter-sell.active{background:#dc2626;border-color:#dc2626}.otp-table-wrap{margin:14px 24px 0;border:1px solid var(--border-color, rgba(255,255,255,.08));border-radius:12px;overflow:auto}.otp-table{width:100%;border-collapse:collapse;font-size:13px}.otp-table thead tr{background:var(--surface-1, rgba(255,255,255,.04))}.otp-table th{padding:11px 14px;text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary, #6b7280);white-space:nowrap;border-bottom:1px solid var(--border-color, rgba(255,255,255,.08))}.otp-table tbody tr{border-bottom:1px solid var(--border-color, rgba(255,255,255,.05));transition:background .1s}.otp-table tbody tr:last-child{border-bottom:none}.otp-table tbody tr:hover{background:var(--surface-hover, rgba(255,255,255,.04))}.otp-table td{padding:11px 14px;color:var(--text-primary, #e5e7eb);white-space:nowrap}.col-symbol{font-weight:600;color:var(--text-primary, #f9fafb)!important}.col-exchange{color:var(--text-secondary, #9ca3af)!important;font-size:12px}.col-num{font-variant-numeric:tabular-nums;text-align:right}.col-time{color:var(--text-secondary, #9ca3af)!important;font-size:12px}.col-broker{font-size:12px;color:var(--text-secondary, #9ca3af)!important}.col-id{font-family:monospace;font-size:11px;color:var(--text-secondary, #6b7280)!important}.signal-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:5px;font-size:11px;font-weight:700;letter-spacing:.03em}.sig-buy{background:#34d3991f;color:#34d399}.sig-sell{background:#f871711f;color:#f87171}.sig-neutral{background:#9ca3af1f;color:#9ca3af}.status-badge{display:inline-block;padding:3px 9px;border-radius:5px;font-size:11px;font-weight:600}.badge-green{background:#34d3991f;color:#34d399}.badge-yellow{background:#fbbf241f;color:#fbbf24}.badge-red{background:#f871711f;color:#f87171}.badge-grey{background:#9ca3af1a;color:#9ca3af}.pending-dot{display:inline-flex;align-items:center;gap:5px;color:#fbbf24;font-size:12px}.pending-dot:before{content:"";width:7px;height:7px;border-radius:50%;background:#fbbf24;animation:pulse 1.4s ease-in-out infinite}.otp-state-box{display:flex;align-items:center;justify-content:center;gap:10px;padding:60px 24px;color:var(--text-secondary, #6b7280);font-size:14px}.otp-empty{color:var(--text-secondary, #4b5563)}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.75)}}@media(max-width:768px){.otp-tabs,.otp-stats,.otp-filterbar{padding-left:14px;padding-right:14px}.otp-table-wrap{margin-left:14px;margin-right:14px}.otp-stats{gap:8px}.otp-stat{min-width:70px;padding:10px}.otp-stat-value{font-size:18px}.otp-filterbar{flex-direction:column;align-items:flex-start}.otp-filter-sep{display:none}}.upgrade-page{max-width:960px;margin:0 auto}.upgrade-grid{flex:1;min-height:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-content:start;overflow-y:auto}@media(max-width:900px){.upgrade-grid{grid-template-columns:1fr}}.upgrade-card{position:relative;padding:16px;border-radius:14px;border:1px solid var(--border-light);background:var(--bg-card);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:10px}.upgrade-card--premium{border-color:color-mix(in srgb,var(--primary) 40%,var(--border-light));background:linear-gradient(165deg,var(--bg-card),color-mix(in srgb,var(--primary) 8%,var(--bg-card)))}.upgrade-card--pro{border-color:color-mix(in srgb,var(--warning) 40%,var(--border-light));background:linear-gradient(165deg,var(--bg-card),color-mix(in srgb,var(--warning) 10%,var(--bg-card)))}.upgrade-card.is-current{box-shadow:0 0 0 2px var(--primary)}.upgrade-card__ribbon{position:absolute;top:10px;right:10px;font-size:.5625rem;font-weight:800;text-transform:uppercase;padding:2px 8px;border-radius:999px;background:var(--primary);color:var(--btn-primary-fg, #fff)}.upgrade-card h2{margin:0;font-size:1.125rem}.upgrade-card__price{margin:0;font-size:1.75rem;font-weight:800;font-variant-numeric:tabular-nums}.upgrade-card__price span{font-size:.75rem;font-weight:600;color:var(--text-muted)}.upgrade-card ul{margin:0;padding:0;list-style:none;flex:1;font-size:.8125rem;color:var(--text-secondary)}.upgrade-card li{padding:4px 0;border-bottom:1px solid var(--border-light)}.upgrade-card li:last-child{border-bottom:none}.upgrade-card__limits{margin:0;font-size:.6875rem;color:var(--text-muted)}.upgrade-card button{padding:10px;border-radius:10px;border:none;background:var(--primary);color:var(--btn-primary-fg, #fff);font-weight:800;cursor:pointer}.upgrade-card button:disabled{opacity:.5;cursor:not-allowed}.upgrade-card--pro button{background:var(--warning);color:#1a1a1a}.support-page{max-width:720px;margin:0 auto;padding:10px 14px 12px}.support-form{flex-shrink:0}.support-form textarea{width:100%;padding:8px 10px;border-radius:8px;border:1px solid var(--border-light);background:var(--input-bg, var(--bg-subtle));color:var(--text-primary);font-size:.8125rem;resize:vertical;font-family:inherit}.support-list{flex:1}.support-tickets{display:flex;flex-direction:column;gap:8px}.support-ticket{padding:10px 12px;border-radius:10px;border:1px solid var(--border-light);background:var(--bg-subtle)}.support-ticket__head{display:flex;align-items:center;justify-content:space-between;gap:8px}.support-ticket__head strong{font-size:.875rem}.support-ticket p{margin:6px 0 0;font-size:.8125rem;color:var(--text-secondary);line-height:1.45}.support-ticket footer{display:flex;justify-content:space-between;margin-top:8px;font-size:.6875rem;color:var(--text-muted);text-transform:capitalize}.support-badge{padding:2px 8px;border-radius:999px;font-size:.625rem;font-weight:700;text-transform:uppercase}.support-badge--open{background:var(--primary-100, #dbeafe);color:var(--primary)}.support-badge--pending{background:var(--warning-100, #fef3c7);color:var(--warning)}.support-badge--resolved{background:var(--success-100, #dcfce7);color:var(--success)}.support-badge--closed{background:var(--bg-muted);color:var(--text-muted)}.callback-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg-main, #071726);font-family:var(--font-sans, "Inter", system-ui, sans-serif)}.callback-card{width:100%;max-width:400px;padding:32px 28px;text-align:center;border-radius:var(--radius-lg, 16px);background:var(--bg-card, rgba(5, 28, 48, .92));border:1px solid var(--border-light, rgba(255, 255, 255, .1));box-shadow:var(--shadow-card, 0 8px 32px rgba(0, 0, 0, .35));color:var(--text-primary, #e2eaf4)}.callback-card--success{border-color:#10b98159}.callback-card--error{border-color:#ef444459}.callback-card__icon-wrap{display:flex;justify-content:center;margin-bottom:16px}.callback-card--processing .callback-card__icon-wrap{color:var(--primary, #38bdf8)}.callback-card--success .callback-card__icon-wrap{color:#34d399}.callback-card--error .callback-card__icon-wrap{color:#f87171}.callback-card__icon--spin{animation:callback-spin .9s linear infinite}@keyframes callback-spin{to{transform:rotate(360deg)}}.callback-card__title{margin:0 0 8px;font-size:1.25rem;font-weight:600}.callback-card__message{margin:0;font-size:.95rem;color:var(--text-secondary, #94a3b8);line-height:1.5}.callback-card__hint,.callback-card__redirect{margin:16px 0 0;font-size:.85rem;color:var(--text-secondary)}.callback-card__redirect strong{color:var(--primary, #38bdf8)}.callback-card__retry{margin-top:20px;padding:10px 20px;border-radius:var(--radius-sm, 8px);border:1px solid var(--border-light);background:#ffffff0f;color:var(--text-primary);font-size:.9rem;font-weight:500;cursor:pointer}.callback-card__retry:hover{background:#ffffff1a}@media(max-width:420px){.callback-page{padding:24px 12px 12px;align-items:flex-start}.callback-card{padding:20px 16px}.callback-card__title{font-size:1.05rem}}.wl-root{display:flex;height:calc(100vh - 60px);overflow:hidden;background:var(--bg-main);color:var(--text-primary);font-family:var(--font-main)}.wl-state-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:calc(100vh - 60px);gap:14px;color:var(--text-muted);text-align:center;background:var(--bg-main)}.wl-state-screen h3{font-size:17px;font-weight:600;color:var(--text-primary);margin:0}.wl-state-screen p{font-size:13px;margin:0}.wl-state-screen--error{color:var(--danger)}.wl-empty-icon{font-size:40px}.wl-spinner{width:28px;height:28px;border:3px solid var(--border-light);border-top-color:var(--primary);border-radius:50%;animation:wl-spin .7s linear infinite;flex-shrink:0}@keyframes wl-spin{to{transform:rotate(360deg)}}.wl-left{width:240px;min-width:200px;max-width:260px;display:flex;flex-direction:column;border-right:1px solid var(--sidebar-border);background:var(--sidebar-bg);flex-shrink:0}.wl-left-header{display:flex;align-items:center;justify-content:space-between;padding:14px 14px 10px;flex-shrink:0}.wl-left-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted)}.wl-count{background:color-mix(in srgb,var(--primary) 16%,transparent);color:var(--primary);font-size:11px;font-weight:700;padding:2px 7px;border-radius:10px}.wl-search{padding:0 10px 10px;flex-shrink:0}.wl-search input{width:100%;background:var(--input-bg);border:1px solid var(--input-border);border-radius:6px;color:var(--input-text);font-size:12px;padding:6px 10px;outline:none;box-sizing:border-box}.wl-search input::-moz-placeholder{color:var(--input-placeholder)}.wl-search input::placeholder{color:var(--input-placeholder)}.wl-search input:focus{border-color:var(--primary)}.wl-items{flex:1;overflow-y:auto;overflow-x:hidden}.wl-items::-webkit-scrollbar{width:3px}.wl-items::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:2px}.wl-item{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;cursor:pointer;border-bottom:1px solid var(--sidebar-border);transition:background .12s;gap:6px}.wl-item:hover{background:var(--bg-subtle)}.wl-item--active{background:var(--sidebar-active-bg)!important;border-left:2px solid var(--primary)}.wl-item-left{flex:1;min-width:0}.wl-item-sym{font-size:12px;font-weight:700;color:var(--sidebar-text-active);display:flex;align-items:center;gap:5px}.wl-item-exch{font-size:10px;color:var(--text-muted);margin-top:2px}.wl-item-right{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex-shrink:0}.wl-item-price{font-size:11px;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.wl-sig{font-size:9px;font-weight:700;padding:1px 5px;border-radius:3px;text-transform:uppercase}.wl-sig--buy{background:var(--success-100);color:var(--success)}.wl-sig--sell{background:var(--danger-100);color:var(--danger)}.wl-sig--hold{background:var(--warning-100);color:var(--warning)}.wl-conf{font-size:9px;font-weight:600;padding:1px 5px;border-radius:3px;text-transform:uppercase}.wl-conf--high{background:var(--success-100);color:var(--success)}.wl-conf--medium{background:var(--warning-100);color:var(--warning)}.wl-conf--low{background:var(--danger-100);color:var(--danger)}.wl-rm{background:transparent;border:none;color:var(--text-muted);font-size:14px;line-height:1;cursor:pointer;padding:1px 4px;border-radius:3px;opacity:0;transition:color .12s,background .12s,opacity .12s}.wl-item:hover .wl-rm{opacity:1}.wl-rm:hover{color:var(--danger);background:var(--danger-100)}.wl-rm--busy{opacity:1!important;color:var(--text-muted);cursor:not-allowed}.wl-right{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden;background:var(--bg-main)}.wl-topbar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--header-border);background:var(--header-bg);flex-shrink:0;gap:14px;flex-wrap:wrap}.wl-topbar-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.wl-sym-name{font-size:16px;font-weight:700;color:var(--text-primary)}.wl-sym-exch{font-size:11px;color:var(--text-muted);font-weight:500}.wl-ltp{font-size:15px;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.wl-badge{font-size:11px;font-weight:700;padding:3px 9px;border-radius:5px}.wl-badge--buy{background:var(--success-100);color:var(--success)}.wl-badge--sell{background:var(--danger-100);color:var(--danger)}.wl-badge--hold{background:var(--warning-100);color:var(--warning)}.wl-skeleton{height:28px;width:200px;background:linear-gradient(90deg,var(--bg-muted) 25%,var(--bg-subtle) 50%,var(--bg-muted) 75%);background-size:200% 100%;border-radius:6px;animation:wl-shimmer 1.2s infinite}@keyframes wl-shimmer{to{background-position:-200% 0}}.wl-topbar-right{display:flex;align-items:center;gap:7px;flex-shrink:0}.wl-chart-toggle{display:flex;background:var(--bg-muted);border:1px solid var(--border-light);border-radius:6px;overflow:hidden}.wl-toggle-btn{background:transparent;border:none;color:var(--text-muted);font-size:11px;font-weight:600;padding:5px 12px;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}.wl-toggle-btn:hover{color:var(--text-primary)}.wl-toggle-btn--active{background:var(--primary);color:var(--btn-primary-fg)}.wl-periods{display:flex;gap:2px;background:var(--bg-muted);border:1px solid var(--border-light);border-radius:6px;padding:2px}.wl-period-btn{background:transparent;border:none;color:var(--text-muted);font-size:11px;font-weight:600;padding:4px 9px;border-radius:4px;cursor:pointer;transition:background .12s,color .12s}.wl-period-btn:hover{color:var(--text-primary)}.wl-period-btn--active{background:color-mix(in srgb,var(--primary) 18%,transparent);color:var(--primary)}.wl-chart-area{flex:1;min-height:0;position:relative;overflow:hidden;background:var(--bg-card)}.wl-chart-area>*{height:100%!important}.wl-chart-area [ref]{height:100%!important}.wl-chart-loading,.wl-chart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:10px;color:var(--text-muted);font-size:13px}.wl-levels{display:flex;gap:20px;padding:8px 16px;border-top:1px solid var(--header-border);flex-shrink:0;flex-wrap:wrap;background:var(--bg-subtle)}.wl-levels-group{display:flex;align-items:center;gap:8px}.wl-levels-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);white-space:nowrap}.wl-levels-vals{display:flex;gap:5px;flex-wrap:wrap}.wl-lvl{font-size:10px;font-weight:600;padding:2px 7px;border-radius:4px;font-variant-numeric:tabular-nums;white-space:nowrap}.wl-lvl--sup{background:var(--danger-100);color:var(--danger)}.wl-lvl--res{background:var(--success-100);color:var(--success)}.wl-lvl--pivot{background:var(--accent-blue-100);color:var(--accent-blue)}.wl-lvl-none{color:var(--text-muted);font-size:11px}.wl-date-filter{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}.wl-date-group{display:flex;flex-direction:column;gap:4px}.wl-date-label{font-family:var(--font-main);font-size:10px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.09em}.wl-date-input{font-family:var(--font-main);font-size:12px;color:var(--input-text);background:var(--input-bg);border:1px solid var(--input-border);border-radius:6px;padding:5px;outline:none;cursor:pointer;transition:border-color .15s,background .15s;color-scheme:light dark}.wl-date-input:focus,.wl-date-input:hover{border-color:var(--primary);background:var(--bg-subtle)}.wl-date-sep{font-family:var(--font-main);font-size:14px;color:var(--text-muted);padding-bottom:6px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.wl-charts-row{display:flex;flex:1;min-height:0}.wl-chart-panel{flex:1 1 0;display:flex;flex-direction:column;min-width:0;background:var(--bg-card);border-right:1px solid var(--border-light)}.wl-chart-panel:last-child{border-right:none}.wl-chart-panel-header{display:flex;align-items:center;gap:8px;padding:8px 14px;border-bottom:1px solid var(--border-light);background:var(--bg-subtle);flex-shrink:0}.wl-chart-panel-title{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.wl-chart-panel-body{flex:1;min-height:0;position:relative;display:flex;flex-direction:column;background:var(--bg-card)}.wl-spinner--sm{width:12px;height:12px;border-width:2px}@media(max-width:900px){.wl-charts-row{flex-direction:column}.wl-chart-panel{min-height:280px;border-right:none;border-bottom:1px solid var(--border-light)}.wl-chart-panel:last-child{border-bottom:none}}.wl-chart-type-picker{position:relative}.wl-chart-type-btn{display:flex;align-items:center;gap:6px;padding:5px 10px;background:var(--bg-card);border:1px solid var(--border-light);border-radius:6px;color:var(--text-primary);font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s;height:32px}.wl-chart-type-btn:hover{background:var(--bg-subtle);border-color:var(--border)}.wl-chart-type-label{max-width:100px;overflow:hidden;text-overflow:ellipsis}.wl-chart-type-caret{transition:transform .2s ease;opacity:.6;flex-shrink:0;color:var(--icon-fg)}.wl-chart-type-caret.open{transform:rotate(180deg)}.wl-chart-type-dropdown{position:absolute;top:calc(100% + 6px);left:0;z-index:999;background:var(--bg-card);border:1px solid var(--border-light);border-radius:8px;padding:4px;min-width:190px;box-shadow:0 8px 24px color-mix(in srgb,var(--text-primary) 20%,transparent);animation:wl-dropdown-in .12s ease}@keyframes wl-dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.wl-chart-type-divider{height:1px;background:var(--border-light);margin:3px 4px}.wl-chart-type-option{display:flex;align-items:center;gap:9px;width:100%;padding:7px 10px;background:none;border:none;border-radius:5px;color:var(--text-muted);font-size:12.5px;cursor:pointer;text-align:left;transition:background .12s,color .12s}.wl-chart-type-option:hover{background:var(--bg-subtle);color:var(--text-primary)}.wl-chart-type-option--active{color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent)}.wl-chart-type-option--active:hover{background:color-mix(in srgb,var(--primary) 15%,transparent)}.wl-chart-type-opt-icon{display:flex;align-items:center;opacity:.85;flex-shrink:0;color:var(--icon-fg)}.wl-chart-type-check{margin-left:auto;flex-shrink:0;color:var(--primary)}:root{--bg-page: #f6f8fb;--bg-card: #ffffff;--bg-muted: #f1f5f9;--bg-subtle: #f4f7fb;--bg-hover: #f3f4f6;--text-primary: #0f172a;--text-secondary: #6b7280;--text-muted: #94a3b8;--text-label: #111827;--border-light: #e5e7eb;--border-color: #e5e7eb;--shadow-card: 0 1px 3px rgba(15, 23, 42, .06);--primary: #2563eb;--accent: #6366f1;--danger: #dc2626;--success: #16a34a;--warning: #d97706;--icon-fg: #374151;--signal-buy: #16a34a;--signal-buy-bg: #d1fae5;--signal-sell: #dc2626;--signal-sell-bg: #fee2e2;--signal-hold: #a16207;--signal-hold-bg: #fde68a;--radius-md: 10px;--radius-lg: 16px;--surface: #ffffff;--surface-container-low: #f1f5f9;--surface-container-high: #e9edf3;--surface-container-highest: #ffffff;--outline-variant: #e5e7eb;--on-surface: #0f172a;--on-surface-variant: #64748b;--on-primary: #ffffff}html.theme-dark{--bg-page: #0b0f17;--bg-card: #181c25;--bg-muted: #151a23;--bg-subtle: #11151d;--bg-hover: #1f2430;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--text-label: #f1f5f9;--border-light: #2a2f3a;--border-color: #2a2f3a;--shadow-card: 0 1px 3px rgba(0, 0, 0, .35);--primary: #38bdf8;--accent: #818cf8;--danger: #ef4444;--success: #22c55e;--warning: #facc15;--icon-fg: #cbd5e1;--signal-buy: #22c55e;--signal-buy-bg: rgba(34, 197, 94, .1);--signal-sell: #ef4444;--signal-sell-bg: rgba(239, 68, 68, .1);--signal-hold: #facc15;--signal-hold-bg: rgba(250, 204, 21, .1);--surface: #0b0f17;--surface-container-low: #181c25;--surface-container-high: #202634;--surface-container-highest: #1a1f2b;--outline-variant: #2a2f3a;--on-surface: #ffffff;--on-surface-variant: #94a3b8;--on-primary: #0b0f17}@media(prefers-color-scheme:dark){html:not(.theme-light):not(.theme-dark){color-scheme:dark}}.view-alerts-container{color:var(--text-primary);padding:10px 14px 12px}.alerts-table-wrapper{background:var(--bg-card);border:1px solid var(--border-light);box-shadow:var(--shadow-card)}.alerts-table thead{background:var(--bg-muted);opacity:1}.alerts-table thead th{color:var(--text-secondary)}.alerts-table tbody td,.alert-symbol{color:var(--text-primary)}.alert-exchange{color:var(--text-secondary)}.alerts-table tbody tr{border-bottom:1px solid var(--border-light)}.alert-time{color:var(--text-muted)}.alert-actions button{color:var(--icon-fg)}.alerts-empty-desc strong{color:var(--text-label, var(--text-primary));font-weight:600}html:not(.theme-dark) .view-alerts-container .alerts-empty-desc,html:not(.theme-dark) .view-alerts-container .alerts-empty,html:not(.theme-dark) .view-alerts-container .alerts-loading{color:var(--text-secondary)}html:not(.theme-dark) .view-alerts-container .alerts-empty-title{color:var(--text-primary)}html:not(.theme-dark) .view-alerts-container .alerts-empty-desc strong{color:var(--text-label)}.pagination-btn{background:#1e293b;color:#fff}.pagination-page-btn{background:#e2e8f0;color:#0f172a;min-width:42px}.pagination-page-btn.active{background:#2563eb;color:#fff}.view-alerts-container{color:var(--text-primary);padding:10px 14px 12px;min-height:100vh;background:var(--bg-page)}.alerts-table-wrapper{background:var(--bg-card);border:1px solid var(--border-light);border-radius:1rem;overflow:hidden;box-shadow:var(--shadow-card)}.alerts-table{width:100%;table-layout:auto;border-collapse:collapse}.alerts-table thead{background:var(--bg-muted);opacity:1;border-bottom:1px solid var(--border-light)}.alerts-table thead th{padding:.5rem 1rem;font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--text-secondary);text-align:left}.alerts-table thead th:hover{color:var(--text-primary)}.alerts-table tbody td{padding:.5rem 1rem;font-size:.875rem;color:var(--text-primary);vertical-align:middle}.alerts-table tbody tr{border-bottom:1px solid var(--border-light);cursor:pointer;transition:background-color .2s ease-in-out}.alerts-table tbody tr:hover{background:var(--bg-muted)}.alerts-table tbody tr.alert-row--new{animation:row-flash 1.6s ease-out}@keyframes row-flash{0%{background:#2563eb2e}to{background:transparent}}.alert-symbol{font-weight:500;color:var(--text-primary);cursor:pointer}.alert-exchange{font-size:.75rem;color:var(--text-secondary)}.alert-badge{padding:.125rem .625rem;border-radius:9999px;font-size:.625rem;font-weight:600;display:inline-block}.alert-badge.buy{background:var(--signal-buy-bg);color:var(--signal-buy)}.alert-badge.sell{background:var(--signal-sell-bg);color:var(--signal-sell)}.alert-badge.hold{background:var(--signal-hold-bg);color:var(--signal-hold)}.alert-time{color:var(--text-secondary);font-size:.75rem}.alert-actions{display:flex;justify-content:flex-end;gap:1rem}.alert-actions button{background:none;border:none;padding:0;cursor:pointer;color:var(--icon-fg);transition:color .2s}.alert-actions button:hover{color:var(--primary)}.alerts-loading,.alerts-error{padding:2.5rem;text-align:center;font-size:.875rem}.alerts-loading{color:var(--text-secondary)}.alerts-error{color:var(--danger)}.alerts-empty,.alerts-loading{padding:2.5rem 1.5rem;text-align:center;border-radius:var(--radius-md);background:var(--bg-muted);border:1px dashed var(--border-light);color:var(--text-secondary)}.alerts-empty-title{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0 0 .5rem}.alerts-empty-desc{font-size:.9375rem;line-height:1.55;color:var(--text-secondary);max-width:42rem;margin:0 auto}.alerts-empty-desc strong{color:var(--text-label);font-weight:600}.alerts-empty--error .alerts-empty-title{color:var(--danger)}.alerts-filters{display:flex;align-items:center;gap:12px;width:100%;margin-bottom:24px;padding:16px;border-radius:16px;background:var(--bg-subtle);border:1px solid var(--border-light);box-shadow:var(--shadow-card);overflow-x:auto;flex-wrap:nowrap}.alerts-filters::-webkit-scrollbar{height:6px}.alerts-filters::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:10px}.filter-input,.filter-select{min-width:170px;height:44px;padding:0 14px;border-radius:12px;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-primary);font-size:14px;font-weight:500;transition:all .25s ease;box-sizing:border-box}.filter-input::-moz-placeholder{color:var(--text-muted)}.filter-input::placeholder{color:var(--text-muted)}.filter-select{cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:42px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:12px 12px}.filter-input:focus,.filter-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #38bdf826}.filter-input:hover,.filter-select:hover{border-color:var(--primary)}.filter-select option{background:var(--bg-card);color:var(--text-primary);font-weight:500;padding:10px}.filter-reset-btn{height:44px;padding:0 20px;border-radius:12px;border:none;cursor:pointer;font-size:14px;font-weight:600;color:#fff;white-space:nowrap;background:linear-gradient(135deg,var(--danger),#b91c1c);transition:all .25s ease}.filter-reset-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #ef44444d}@media(max-width:1200px){.alerts-filters{overflow-x:auto;padding-bottom:12px}.filter-input,.filter-select{min-width:160px}}.signal-timeline-time{font-size:11px;color:var(--text-secondary);margin-top:4px;text-align:center;letter-spacing:.3px}.signal-change-item{display:flex;flex-direction:column;align-items:center}.signal-change-row{display:flex;align-items:center;gap:8px}.signal-change-arrow{font-size:16px;font-weight:600;color:var(--text-secondary)}.signal-change-time{margin-top:4px;font-size:11px;color:var(--text-secondary)}.signal-change-none{color:var(--text-muted)}.confidence-badge{display:inline-block;padding:.125rem .5rem;border-radius:6px;font-size:.6875rem;font-weight:700;letter-spacing:.02em}.confidence-high{background:var(--signal-buy-bg);color:var(--signal-buy)}.confidence-medium{background:var(--signal-hold-bg);color:var(--signal-hold)}.confidence-low{background:var(--signal-sell-bg);color:var(--signal-sell)}.confidence-score-text{color:var(--text-secondary);font-size:.75rem}.alert-note{margin:2px;border:1px dashed var(--danger);padding:4px 10px;border-radius:10px}.alert-note-title{font-size:15px;color:var(--danger)}.watchlist-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.watchlist-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;border:none;transition:opacity .15s,background .15s;white-space:nowrap}.watchlist-btn:disabled{opacity:.5;cursor:not-allowed}.watchlist-btn--create{background:var(--primary);color:#fff}.watchlist-btn--create:hover:not(:disabled){filter:brightness(.92)}.watchlist-btn--add-more{background:var(--accent);color:#fff}.watchlist-btn--add-more:hover:not(:disabled){filter:brightness(.92)}.watchlist-btn--add{background:var(--success);color:#fff}.watchlist-btn--add:hover:not(:disabled){filter:brightness(.92)}.watchlist-btn--cancel{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color)}.watchlist-btn--cancel:hover:not(:disabled){background:var(--bg-hover)}.watchlist-checkbox-col{width:40px;text-align:center;padding:0 8px}.watchlist-checkbox{width:16px;height:16px;cursor:pointer;accent-color:var(--primary)}.watchlist-already-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background:var(--signal-buy-bg);color:var(--signal-buy);border-radius:50%;font-size:11px;font-weight:700}.alert-row--selected{background:#2563eb14!important}.watchlist-toast{position:fixed;bottom:24px;right:24px;z-index:9999;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:500;box-shadow:0 4px 16px #0003;animation:toast-in .25s ease;color:#fff}.watchlist-toast--success{background:var(--success)}.watchlist-toast--error{background:var(--danger)}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.alerts-page-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-light);padding-bottom:10px;margin-bottom:12px;flex-wrap:wrap;gap:12px}.socket-status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.03em;border:1px solid transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.socket-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.socket-status-badge--connected{background:#22c55e1a;border-color:#22c55e4d;color:var(--success)}.socket-status-badge--connected .socket-status-dot{background:var(--success);animation:socket-pulse 2s infinite}.socket-status-badge--connecting{background:#eab3081a;border-color:#eab3084d;color:var(--warning)}.socket-status-badge--connecting .socket-status-dot{background:var(--warning);animation:socket-pulse 1s infinite}.socket-status-badge--disconnected{background:#6b72801a;border-color:#6b728033;color:var(--text-secondary)}.socket-status-badge--disconnected .socket-status-dot{background:var(--text-muted)}.socket-status-badge--error{background:#ef44441a;border-color:#ef44444d;color:var(--danger)}.socket-status-badge--error .socket-status-dot{background:var(--danger)}@keyframes socket-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.new-alert-banner{background:var(--signal-buy-bg);color:var(--signal-buy);border:1px solid var(--success);border-radius:10px;padding:8px 14px;font-size:13px;font-weight:600;margin-bottom:10px;text-align:center}.alerts-table-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;flex-wrap:wrap}.alerts-table-actions-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.alerts-row-count{color:var(--text-secondary);font-size:13px;font-weight:600}.rows-per-page-control{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary);white-space:nowrap}.rows-per-page-select{min-width:90px;height:40px}.export-excel-btn{height:44px;padding:0 20px;border:none;border-radius:12px;cursor:pointer;font-size:14px;font-weight:700;color:#fff;white-space:nowrap;background:linear-gradient(135deg,var(--success),#15803d);transition:all .25s ease}.export-excel-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #16a34a4d}.export-excel-btn:disabled{opacity:.5;cursor:not-allowed}.alerts-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:24px;flex-wrap:wrap}.pagination-pages{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pagination-btn,.pagination-page-btn{border:none;outline:none;cursor:pointer;padding:10px 16px;border-radius:10px;font-size:14px;font-weight:600;transition:all .2s ease}.pagination-btn{color:var(--bg-card)}.pagination-btn:hover:not(:disabled){opacity:.9}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-page-btn{background:var(--bg-muted);color:var(--text-primary);min-width:42px}.pagination-page-btn.active{background:linear-gradient(135deg,var(--success),#15803d);color:#fff}.pagination-page-btn:hover{transform:translateY(-1px)}.desktop-view{display:block}@media(max-width:768px){.desktop-view{display:none!important}}.mobile-view{display:none}@media(max-width:768px){.mobile-view{display:block}}.mobile-alerts{background:var(--surface);color:var(--on-surface);min-height:100vh;padding-bottom:96px}.mobile-alerts-header{position:sticky;top:0;z-index:30;background:var(--surface);border-bottom:1px solid var(--outline-variant);padding:14px 16px 10px}.mobile-alerts-header-row{display:flex;align-items:center;justify-content:space-between}.mobile-alerts-header-left{display:flex;align-items:center;gap:10px}.mobile-icon-btn{display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--primary);padding:6px;border-radius:999px;cursor:pointer;transition:background-color .15s,transform .1s}.mobile-icon-btn:active{transform:scale(.92)}.mobile-icon-btn:hover{background:var(--surface-container-high)}.mobile-alerts-title{font-size:20px;font-weight:700;color:var(--on-surface);margin:0}.mobile-alerts-subtitle{font-size:13px;color:var(--on-surface-variant);margin:4px 0 0}.mobile-search-wrap{position:relative;margin-top:14px}.mobile-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--on-surface-variant);pointer-events:none}.mobile-search-input{width:100%;height:48px;padding:0 16px 0 42px;background:var(--surface-container-low);border:1px solid var(--outline-variant);border-radius:14px;color:var(--on-surface);font-size:14px;box-sizing:border-box}.mobile-search-input::-moz-placeholder{color:var(--on-surface-variant)}.mobile-search-input::placeholder{color:var(--on-surface-variant)}.mobile-search-input:focus{outline:none;border-color:var(--primary)}.mobile-filter-row{display:flex;gap:8px;overflow-x:auto;margin-top:12px;padding-bottom:4px;scrollbar-width:none}.mobile-filter-row::-webkit-scrollbar{display:none}.mobile-chip{white-space:nowrap;padding:7px 14px;border-radius:999px;font-size:12px;font-weight:500;background:var(--surface-container-low);border:1px solid var(--outline-variant);color:var(--on-surface-variant);display:inline-flex;align-items:center;gap:4px;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none}.mobile-chip.active,.mobile-chip[data-active=true]{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.mobile-chip--reset{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 50%,transparent);background:transparent}.mobile-chip-select{border:1px solid var(--outline-variant);background:var(--surface-container-low);color:var(--on-surface-variant);border-radius:999px;padding:7px 26px 7px 14px;font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap}.mobile-note{margin:12px 16px 0;padding:8px 12px;border-radius:10px;border:1px dashed var(--danger);color:var(--danger);font-size:12.5px}.mobile-toast{position:fixed;bottom:150px;left:16px;right:16px;z-index:70;padding:12px 16px;border-radius:12px;font-size:13px;font-weight:600;color:#fff;text-align:center;box-shadow:0 8px 24px #00000040}.mobile-toast--success{background:var(--success)}.mobile-toast--error{background:var(--danger)}.mobile-flash-banner{margin:10px 16px 0;padding:8px 12px;border-radius:10px;background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success);font-size:12.5px;text-align:center}.mobile-signal-list{padding:16px;display:flex;flex-direction:column;gap:12px}.mobile-signal-card{background:var(--surface-container-low);border:1px solid var(--outline-variant);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:12px;transition:transform .1s,border-color .15s}.mobile-signal-card:active{transform:scale(.98)}.mobile-signal-card--selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--surface-container-low))}.mobile-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.mobile-card-title-group{display:flex;align-items:center;gap:10px}.mobile-card-symbol{font-size:20px;font-weight:700;color:var(--on-surface);line-height:1.1;cursor:pointer}.mobile-card-exchange{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--on-surface-variant);margin-top:2px}.mobile-signal-pill{padding:4px 12px;border-radius:999px;font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.mobile-signal-pill.buy{background:var(--signal-buy-bg);color:var(--signal-buy)}.mobile-signal-pill.sell{background:var(--signal-sell-bg);color:var(--signal-sell)}.mobile-signal-pill.hold{background:var(--signal-hold-bg);color:var(--signal-hold)}.mobile-card-price-row{display:flex;align-items:baseline;gap:8px}.mobile-card-price{font-size:20px;font-weight:700;color:var(--on-surface)}.mobile-card-price-time{font-size:12px;color:var(--on-surface-variant)}.mobile-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;padding-top:10px;border-top:1px solid var(--outline-variant)}.mobile-card-field-label{font-size:10.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--on-surface-variant);display:block;margin-bottom:6px}.mobile-card-field-value{font-size:13.5px;font-weight:600;color:var(--on-surface);display:flex;align-items:center;gap:5px}.mobile-confidence-track{display:flex;gap:2px}.mobile-confidence-segment{height:6px;flex:1;border-radius:2px;background:var(--outline-variant)}.mobile-confidence-segment.filled.buy{background:var(--signal-buy)}.mobile-confidence-segment.filled.sell{background:var(--signal-sell)}.mobile-confidence-segment.filled.hold{background:var(--signal-hold)}.mobile-signal-change{display:flex;align-items:center;gap:6px;font-size:12px}.mobile-signal-change .arrow{color:var(--on-surface-variant)}.mobile-card-checkbox{width:20px;height:20px;cursor:pointer;accent-color:var(--primary);flex-shrink:0}.mobile-card-already{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;background:var(--signal-buy-bg);color:var(--signal-buy);font-size:12px;font-weight:700;flex-shrink:0}.mobile-empty{margin:40px 16px;padding:32px 20px;text-align:center;border-radius:14px;border:1px dashed var(--outline-variant);background:var(--surface-container-low)}.mobile-empty-title{color:var(--on-surface);font-weight:700;font-size:15px;margin:0 0 6px}.mobile-empty-desc{color:var(--on-surface-variant);font-size:13px;margin:0;line-height:1.5}.mobile-load-more{margin:4px 16px 0;width:calc(100% - 32px);padding:14px;background:var(--surface-container-high);border:1px solid var(--outline-variant);color:var(--primary);font-size:14px;font-weight:600;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}.mobile-load-more:active{transform:scale(.97)}.mobile-load-more:disabled{opacity:.5;cursor:not-allowed}.mobile-action-bar-wrap{position:fixed;bottom:0;left:0;width:100%;padding:0 16px 16px;z-index:40;pointer-events:none}.mobile-action-bar{pointer-events:auto;background:var(--surface-container-highest);border:1px solid var(--outline-variant);box-shadow:0 12px 32px #00000040;border-radius:18px;padding:10px 6px;display:flex;align-items:center;justify-content:space-around}.mobile-action-btn{display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--on-surface);background:none;border:none;cursor:pointer;padding:4px 8px}.mobile-action-btn:active{transform:scale(.9)}.mobile-action-btn.active{color:var(--primary)}.mobile-action-btn span.label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:-.01em}.mobile-action-divider{width:1px;height:24px;background:var(--outline-variant)}.mobile-watchlist-bar{position:sticky;top:0;z-index:31;display:flex;gap:8px;padding:10px 16px;background:var(--surface);border-bottom:1px solid var(--outline-variant)}.mobile-watchlist-bar button{flex:1;padding:10px;border-radius:10px;font-size:13px;font-weight:700;border:none;cursor:pointer}.mobile-watchlist-bar .cancel-btn{background:transparent;border:1px solid var(--outline-variant);color:var(--on-surface-variant)}.mobile-watchlist-bar .add-btn{background:var(--success);color:#fff}.mobile-watchlist-bar .add-btn:disabled{opacity:.5}.socket-status{display:inline-flex;align-items:center;gap:6px;font-size:12px}.socket-dot{width:8px;height:8px;border-radius:50%}.socket-status--connected .socket-dot{background:#22c55e}.socket-status--connecting .socket-dot{background:#eab308}.socket-status--disconnected .socket-dot{background:#ef4444}
