:root{--bg:#0b0f14;--surface:#121820;--surface2:#1a2230;--border:#2a3444;--text:#e8edf5;--muted:#8b98ab;--accent:#3b82f6;--accent2:#22c55e;--danger:#ef4444;--warn:#f59e0b;color:var(--text);background:var(--bg);font-family:Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}body{background:var(--bg);min-height:100vh;margin:0}a{color:var(--accent);text-decoration:none}code{background:var(--surface2);border-radius:4px;padding:2px 6px}.app{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.mobile-topbar,.mobile-nav-backdrop{display:none}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;min-height:100vh;padding:1.5rem 1rem;display:flex;overflow:visible}.brand{align-items:flex-start;gap:.75rem;margin-bottom:2rem;display:flex}.brand h1{flex:1;margin:0;font-size:1.2rem}.brand p{color:var(--muted);margin:0;font-size:.8rem}.brand-icon{font-size:1.8rem}.brand-logo{border-radius:10px;flex-shrink:0;width:40px;height:40px;display:block}.brand-icon-wrap{display:inline-flex;position:relative}.login-brand{align-items:center;gap:.75rem;margin-bottom:.25rem;display:flex}.login-brand img{border-radius:12px}.login-brand h2{margin:0}.market-dot{border:2px solid var(--surface);border-radius:50%;width:10px;height:10px;position:absolute;bottom:2px;right:-2px}.market-dot.open{background:var(--accent2);box-shadow:0 0 8px var(--accent2);animation:2s infinite pulse}.market-dot.preopen{background:var(--warn)}.market-dot.closed{background:var(--danger)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}.market-panel{background:var(--surface2);border:1px solid var(--border);border-radius:10px;margin-bottom:1.25rem;padding:.75rem;font-size:.8rem}.market-session{margin-bottom:.25rem;font-weight:600}.market-session.open{color:var(--accent2)}.market-session.preopen{color:var(--warn)}.market-session.closed{color:var(--danger)}.market-clock{font-variant-numeric:tabular-nums;font-size:1.1rem;font-weight:700}.market-date,.market-hours,.market-next{font-size:.75rem;line-height:1.4}.market-holiday{border-top:1px solid var(--border);flex-direction:column;gap:.15rem;margin-top:.5rem;padding-top:.5rem;display:flex}.holiday-label{text-transform:uppercase;color:var(--warn);letter-spacing:.04em;font-size:.7rem}.holiday-list{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1rem}.holiday-list h4{color:var(--muted);text-transform:uppercase;margin:0 0 .5rem;font-size:.75rem}.holiday-list ul{margin:0;padding:0;list-style:none}.holiday-list li{flex-direction:column;padding:.35rem 0;font-size:.78rem;display:flex}.holiday-date{font-weight:600}.toolbar{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.toolbar select{background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:6px;margin-left:.35rem;padding:.4rem .6rem}.tabs{flex-wrap:wrap;gap:.35rem;display:flex}.btn.tab.active{border-color:var(--accent);background:var(--accent);color:#fff}.card.inner{margin-bottom:0;padding:1rem}.tag{border-radius:4px;padding:.15rem .45rem;font-size:.75rem;font-weight:600;display:inline-block}.tag.stcg{color:var(--warn);background:#f59e0b33}.tag.ltcg{color:var(--accent2);background:#22c55e26}.tag.buy{color:var(--accent);background:#3b82f633}.tag.sell{color:var(--danger);background:#ef444433}.tag.sector{color:#a5b4fc;background:#6366f133;font-size:.72rem}.sector-section{border-top:1px solid var(--border);margin-top:1.25rem;padding-top:1rem}.sector-section h4{margin:0 0 .75rem;font-size:.9rem}.fine{margin-top:1rem;font-size:.8rem}.warn{color:var(--warn)}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.section-head h3{margin:0}.diversification-panel{flex-direction:column;gap:1.25rem;display:flex}.div-metrics{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;display:grid}.div-metric{flex-direction:column;gap:.15rem;display:flex}.div-metric .label{color:var(--muted);text-transform:uppercase;font-size:.75rem}.div-metric .big{margin:0;font-size:1.25rem;font-weight:700}.div-score{font-size:1.5rem;font-weight:700}.div-score.good{color:var(--accent2)}.div-score.ok{color:var(--warn)}.div-score.warn{color:var(--danger)}.div-charts{grid-template-columns:1fr 1fr;align-items:start;gap:1rem;display:grid}@media (width<=900px){.div-charts{grid-template-columns:1fr}}.alloc-table{font-size:.85rem}.alloc-bar-wrap{align-items:center;gap:.5rem;min-width:100px;display:flex}.alloc-bar{background:var(--accent);border-radius:3px;max-width:80px;height:6px}.calc-form{flex-direction:column;gap:1.25rem;display:flex}.calc-inputs{flex-wrap:wrap;gap:1rem;display:flex}.calc-inputs label{color:var(--muted);flex-direction:column;gap:.35rem;font-size:.85rem;display:flex}.calc-inputs input,.calc-inputs select{background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:8px;min-width:180px;padding:.55rem .75rem;font-size:1rem}.horizon-picks .label{color:var(--muted);margin-bottom:.5rem;font-size:.85rem;display:block}.horizon-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.5rem;display:grid}.horizon-card{text-align:left;border:1px solid var(--border);background:var(--surface2);color:var(--text);cursor:pointer;border-radius:10px;flex-direction:column;gap:.25rem;padding:.75rem;display:flex}.horizon-card.active{border-color:var(--accent);background:#3b82f61f}.horizon-card strong{font-size:.95rem}.horizon-card .muted{font-size:.75rem;line-height:1.3}.risk-banner{border:1px solid var(--border);border-radius:10px;margin:.75rem 0;padding:.85rem 1rem}.risk-banner.good{border-color:var(--accent2);background:#22c55e1a}.risk-banner.moderate{border-color:var(--warn);background:#f59e0b1a}.risk-banner.risk{border-color:var(--danger);background:#ef44441a}.risk-head{flex-wrap:wrap;align-items:baseline;gap:.75rem;margin-bottom:.35rem;display:flex}.decision-score{flex-wrap:wrap;align-items:baseline;gap:.75rem;margin-bottom:.5rem;display:flex}.position-block{border-bottom:1px solid var(--border);padding:.75rem 0}.position-block table{margin-bottom:.5rem}.position-insight{background:var(--surface2);border-radius:8px;margin-top:.5rem;padding:.75rem}.position-insight-stack{flex-direction:column;gap:.75rem;margin-top:.5rem;display:flex}.position-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.position-signal-badge{text-align:center;flex-shrink:0;min-width:3.25rem}.paper-position-analytics{background:var(--surface2);border-radius:8px;padding:.75rem}.pattern-chips{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.insight-row{flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:.35rem;display:flex}.missed-exits h4{color:var(--warn);margin:.5rem 0 .35rem;font-size:.85rem}.missed-exits ul{margin:0;padding-left:1.1rem;font-size:.85rem}.missed-exits li{margin-bottom:.35rem}.tax-value{color:var(--warn);font-weight:700}.tax-value.big{margin:.5rem 0;font-size:1.6rem;display:block}.tax-summary-card .tax-value.big{text-shadow:0 0 20px #f59e0b26}.tax-rates{gap:1rem;display:grid}.tax-rates>div{flex-direction:column;gap:.35rem;font-size:.9rem;display:flex}.label-tip{cursor:help}.info-icon{color:var(--accent);margin-left:.15rem;font-size:.85rem}.ltcg-exempt-cell{color:var(--muted);align-items:center;gap:.25rem;display:inline-flex}.ltcg-exempt-tip{cursor:help;display:inline-flex;position:relative}.ltcg-exempt-tip .ltcg-exempt-popup{visibility:hidden;opacity:0;z-index:40;width:min(18rem,70vw);color:var(--text);pointer-events:none;background:#1a2230;border:1px solid #2a3444;border-radius:8px;padding:.55rem .65rem;font-size:.78rem;line-height:1.45;transition:opacity .15s;position:absolute;bottom:calc(100% + .35rem);right:0;box-shadow:0 8px 24px #00000059}.ltcg-exempt-tip:hover .ltcg-exempt-popup,.ltcg-exempt-tip:focus-within .ltcg-exempt-popup{visibility:visible;opacity:1}.dashboard-tabs{margin-bottom:1.25rem}.strategy-page-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.strategy-help-modal{max-height:min(90vh,860px);overflow-y:auto}.strategy-help-body section{margin-bottom:1.25rem}.strategy-help-body h4{margin:0 0 .4rem}.strategy-help-body p{color:var(--muted);margin:0 0 .5rem}.strategy-formula{background:var(--surface2);border-radius:8px;padding:.65rem .9rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--text)!important}.strategy-steps{margin:.35rem 0 .75rem;padding-left:1.25rem}.strategy-steps li{margin-bottom:.35rem}.muted-row td{opacity:.65}.bt-month-list{flex-direction:column;gap:.5rem;display:flex}.bt-month{border:1px solid var(--border);border-radius:8px;overflow:hidden}.bt-month-head{background:var(--surface2);width:100%;color:inherit;font:inherit;cursor:pointer;text-align:left;border:none;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.bt-month.open .bt-month-head{border-bottom:1px solid var(--border)}.bt-month-body{padding:.75rem 1rem 1rem}.bt-action-block{margin-top:.75rem}.bt-action-block h4{margin:0 0 .35rem;font-size:.9rem}.brokerage-form-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-top:1rem;display:grid}.brokerage-breakdown{margin:0}.brokerage-notes{margin:0;padding-left:1.25rem}.brokerage-notes li{margin-bottom:.5rem}.symbol-suggest-list{border:1px solid var(--border);border-radius:8px;margin:.5rem 0 0;padding:0;list-style:none;overflow:hidden}.symbol-suggest-btn{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;flex-direction:column;gap:.15rem;padding:.6rem .85rem;display:flex}.symbol-suggest-btn:hover{background:var(--surface2)}.symbol-suggest-list li+li{border-top:1px solid var(--border)}.btn-link{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.sidebar nav,.sidebar-nav{flex-direction:column;flex:1;gap:.25rem;display:flex}.sidebar nav a,.sidebar-nav a,.nav-top{color:var(--muted);border-radius:8px;padding:.65rem .9rem;text-decoration:none;display:block}.sidebar nav a.active,.sidebar nav a:hover,.sidebar-nav a.active,.sidebar-nav a:hover,.nav-top.active,.nav-top:hover{background:var(--surface2);color:var(--text)}.nav-group{margin-top:.15rem}.nav-group-toggle{width:100%;color:var(--text);font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;padding:.65rem .9rem;font-weight:600;display:flex}.nav-group-toggle:hover,.nav-group-active>.nav-group-toggle{background:var(--surface2)}.nav-chevron{color:var(--muted);font-size:.75rem}.nav-sub{border-left:2px solid var(--border);flex-direction:column;gap:.1rem;margin:.1rem 0 .35rem .5rem;padding-left:.5rem;display:flex}.nav-sub-link{font-size:.9rem;padding:.45rem .75rem!important}.nav-secondary{border-top:1px solid var(--border);margin-top:auto;padding-top:.75rem}.content{max-width:1200px;padding:2rem}.page-header h2{margin:0 0 .25rem}.page-header p{color:var(--muted);margin:0 0 1.5rem}.grid.cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.card-clickable{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;transition:border-color .15s,transform .15s}.card-clickable:hover{border-color:var(--accent);transform:translateY(-1px)}.card-clickable:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.paper-account-card .labeled-amounts{flex-direction:column;gap:.75rem;margin:0 0 1rem;display:flex}.labeled-amount{margin:0}.labeled-amount dt{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin:0;font-size:.75rem}.labeled-amount dd{margin:.15rem 0 0}.labeled-amount dd.big{margin-top:.25rem}.btn-link{color:var(--accent);cursor:pointer;font:inherit;text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline}.btn-link:hover{color:var(--text)}.instrument-sync-status-card{margin-bottom:1rem}.instrument-sync-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin:.75rem 0;display:grid}.sync-label{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.25rem;font-size:.75rem;display:block}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:1rem;padding:1.25rem}.card h3{margin-top:0}.big{margin:.5rem 0;font-size:1.6rem;font-weight:700}.muted{color:var(--muted)}.status.ok{color:var(--accent2)}.status.warn{color:var(--warn)}.error{color:var(--danger)}.up{color:var(--accent2)}.down{color:var(--danger)}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);padding:.6rem .5rem}th{color:var(--muted);font-size:.85rem;font-weight:600}.btn{border:1px solid var(--border);background:var(--surface2);color:var(--text);cursor:pointer;box-sizing:border-box;vertical-align:middle;border-radius:8px;justify-content:center;align-items:center;padding:.5rem 1rem;line-height:1.2;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--accent)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.secondary{margin-top:.75rem}.btn.warn{color:#fca5a5;border-color:#ef444473}.btn.warn:hover{border-color:var(--danger);background:#ef44441f}.paper-action-cell{white-space:nowrap;width:1%}.paper-action-cell .btn{text-decoration:none}.btn-sm{border-radius:6px;min-height:2rem;padding:.4rem .7rem;font-size:.82rem;line-height:1.15}.btn:disabled{opacity:.5;cursor:not-allowed}.toolbar,.form-row{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}input,select{background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:8px;min-width:180px;padding:.5rem .75rem}.form-card .form-row{margin-top:.75rem}.field-label{color:var(--muted);margin-bottom:.35rem;font-size:.85rem;display:block}.symbol-picker{margin-bottom:1rem;position:relative}.symbol-picker input{width:100%;min-width:0}.symbol-dropdown{z-index:20;background:var(--surface2);border:1px solid var(--border);border-radius:8px;max-height:280px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #00000059}.symbol-option{text-align:left;border:none;border-bottom:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;background:0 0;grid-template-columns:100px 1fr auto;align-items:center;gap:.5rem;padding:.65rem .75rem;display:grid}.symbol-option:hover,.symbol-option.active{background:#3b82f61f}.symbol-option-symbol{font-weight:700}.symbol-option-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.symbol-option-price{color:var(--accent2);font-size:.85rem}.price-panel{background:var(--surface2);border:1px solid var(--border);border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem}.price-row{justify-content:space-between;align-items:center;margin-top:.35rem;display:flex}.price-panel .big{margin:0;font-size:1.25rem}.badge{border-radius:999px;padding:.2rem .6rem;font-size:.75rem;font-weight:700}.badge.buy{color:var(--accent2);background:#22c55e33}.badge.sell{color:var(--danger);background:#ef444433}.badge.hold{color:var(--warn);background:#f59e0b33}.reason{color:var(--muted);max-width:280px;font-size:.85rem}.pager{align-items:center;gap:1rem;margin-top:1rem;display:flex}.highlight-card{border-color:var(--accent)}.modal-backdrop{z-index:100;background:#000000a6;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:min(480px,100%);max-height:90vh;padding:1.25rem;overflow-y:auto}.modal-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.modal-header h3{margin:0}.btn-icon{background:var(--surface2);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:.35rem .55rem;font-size:1rem}.btn-icon:hover{border-color:var(--accent)}.advice-body{flex-direction:column;gap:.75rem;display:flex}.advice-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.advice-metrics{background:var(--surface2);border-radius:8px;grid-template-columns:repeat(4,1fr);gap:.5rem;padding:.75rem;display:grid}.advice-metrics small{color:var(--muted);font-size:.75rem;display:block}.outlook-box{background:var(--surface2);border-radius:8px;padding:.75rem 1rem}.outlook-box h4{margin:0 0 .5rem;font-size:.9rem}.outlook-box p{color:var(--muted);margin:0;line-height:1.5}.steps{color:var(--muted);line-height:1.8}.limits ul{color:var(--muted);line-height:1.7}.center-page{place-items:center;min-height:100vh;display:grid}.not-found-page{padding:1.5rem}.not-found-card{text-align:center;flex-direction:column;align-items:center;gap:.65rem;width:min(420px,100%);display:flex}.not-found-card h1{margin:.25rem 0 0;font-size:1.5rem}.not-found-card .muted{max-width:28ch;margin:0}.not-found-code{letter-spacing:.08em;color:var(--accent,#3b82f6);opacity:.85;margin:0;font-size:3.5rem;font-weight:700;line-height:1}.not-found-actions{flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:.75rem;display:flex}.charts-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.chart-box{width:100%;margin-top:.5rem}.recharts-default-tooltip,.recharts-tooltip-wrapper .recharts-default-tooltip,.recharts-tooltip-item,.recharts-tooltip-item-name,.recharts-tooltip-item-value,.recharts-tooltip-item-separator,.recharts-tooltip-label{color:#e8edf4!important}.paper-reports-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.85rem;display:grid}.paper-report-stat{background:var(--surface2);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:.2rem;padding:.75rem;display:flex}.paper-report-stat strong{font-size:1.05rem;line-height:1.3}.candle-chart-panel{flex-direction:column;gap:.35rem;display:flex}.chart-toolbar{border-bottom:1px solid var(--border,#2a3444);flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:.25rem;padding:.35rem 0;display:flex}.chart-toolbar-group{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.chart-toolbar-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#8b98ab);margin-right:.15rem;font-size:.7rem}.btn-sm{min-height:1.6rem;padding:.2rem .45rem;font-size:.75rem}.chart-ohlc-tip{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:.5rem .75rem;font-size:.75rem;display:flex}.chart-draw-hint{color:#38bdf8;margin:0}.candle-chart{width:100%;min-height:400px}.candle-chart-drawing{cursor:crosshair}.modal-wide{width:min(720px,100%)}.bulk-purchase-modal{max-height:min(90vh,900px);overflow-y:auto}.bulk-purchase-meta{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.bulk-purchase-table .qty-input{background:var(--surface2);border:1px solid var(--border);width:4.5rem;color:var(--text);border-radius:6px;padding:.35rem .5rem;font-size:.9rem}.bulk-purchase-totals{margin-top:1rem}.bulk-total-row{border-bottom:1px solid var(--border);justify-content:space-between;gap:1rem;padding:.35rem 0;display:flex}.bulk-total-row.total{border-bottom:none;padding-top:.5rem;font-size:1.05rem}.bulk-purchase-errors{margin:.5rem 0 0;padding-left:1.25rem}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:1.25rem;display:flex}.tab-row{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.tab-row .btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.news-list{margin:0;padding:0;list-style:none}.news-list li{border-bottom:1px solid var(--border);padding:.65rem 0}.news-list li a{color:var(--text);font-weight:500}.news-list li a:hover{color:var(--accent)}.news-list small{margin-top:.25rem;display:block}.progress-wrap{margin:.75rem 0 1rem}.progress-track{background:var(--surface2);border:1px solid var(--border);border-radius:999px;height:10px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--accent), #60a5fa);border-radius:999px;height:100%;transition:width .25s}.progress-label{color:var(--muted);justify-content:space-between;gap:1rem;margin-top:.4rem;font-size:.85rem;display:flex}.progress-label strong{color:var(--accent)}.price-cell{color:var(--accent2);white-space:nowrap;font-weight:600}.buy-signals-cards{display:none}.buy-signals-desktop{width:100%;display:block;overflow-x:auto}@media (width<=900px){.buy-signals-desktop{display:none}.buy-signals-cards{flex-direction:column;gap:.75rem;display:flex}.buy-signal-card{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:12px;flex-direction:column;gap:.7rem;padding:.95rem 1rem;display:flex}.buy-signal-card:hover,.buy-signal-card:focus-visible{background:#3b82f60f;border-color:#3b82f68c;outline:none}.buy-signal-card-top{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.buy-signal-card-identity{align-items:flex-start;gap:.55rem;min-width:0;display:flex}.buy-signal-rank{color:var(--muted);flex-shrink:0;margin-top:.15rem;font-size:.78rem;font-weight:700}.buy-signal-symbol{font-size:1rem;line-height:1.2;display:block}.buy-signal-name{color:var(--muted);word-break:break-word;margin:.2rem 0 0;font-size:.8rem;line-height:1.3}.buy-signal-card-price{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.35rem;display:flex}.buy-signal-metrics{background:var(--surface2);border-radius:9px;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;padding:.55rem .65rem;display:grid}.buy-signal-metrics>div{flex-direction:column;gap:.15rem;min-width:0;display:flex}.buy-signal-metric-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.7rem}.buy-signal-metrics span:last-child{font-size:.9rem;font-weight:600}.buy-signal-reason{color:var(--muted);margin:0;font-size:.84rem;line-height:1.4}.buy-signal-card-actions{flex-wrap:wrap;align-items:stretch;gap:.5rem;display:flex}.buy-signal-card-actions .btn{text-align:center;flex:7.5rem;justify-content:center;align-items:center;min-height:2.35rem;padding:.55rem .75rem;line-height:1.15;text-decoration:none;display:inline-flex}}.portfolio-holding-cards{display:none}.portfolio-table-desktop{width:100%;display:block;overflow-x:auto}@media (width<=900px){.portfolio-table-desktop{display:none}.portfolio-holding-cards{flex-direction:column;gap:.8rem;display:flex}.portfolio-holding-card{border:1px solid var(--border);background:var(--surface2);border-radius:12px;flex-direction:column;gap:.75rem;padding:1rem 1.05rem;display:flex}.portfolio-holding-card-top{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.portfolio-holding-identity{min-width:0}.portfolio-holding-identity strong{font-size:1.02rem;display:block}.portfolio-holding-identity p{word-break:break-word;margin:.2rem 0 0;font-size:.8rem;line-height:1.3}.portfolio-holding-pnl{text-align:right;white-space:nowrap;flex-shrink:0;font-size:.92rem;font-weight:700;line-height:1.3}.portfolio-holding-metrics{background:#00000038;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .75rem;padding:.7rem .75rem;display:grid}.portfolio-holding-metrics>div{flex-direction:column;gap:.18rem;min-width:0;display:flex}.portfolio-metric-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.68rem}.portfolio-holding-metrics span:not(.portfolio-metric-label),.portfolio-holding-metrics .held-cell{font-size:.9rem;font-weight:600}.portfolio-holding-note{flex-direction:column;gap:.35rem;display:flex}.portfolio-holding-actions{flex-wrap:wrap;gap:.5rem;display:flex}.portfolio-holding-actions .btn{flex:7.5rem;min-height:2.35rem}}.pattern-count-cell{text-align:center;font-variant-numeric:tabular-nums;font-weight:600}.held-cell{flex-direction:column;gap:.15rem;line-height:1.35;display:flex}.held-duration{color:var(--muted);font-size:.78rem;font-weight:500}.takeaway-box{border:1px solid var(--accent);background:linear-gradient(135deg,#3b82f61f,#22c55e14);border-radius:10px;margin-bottom:1rem;padding:1rem 1.1rem}.takeaway-box h4{color:var(--accent);margin:0 0 .5rem;font-size:.9rem}.takeaway-text{margin:0;font-size:1.05rem;font-weight:500;line-height:1.55}.takeaway-callout{border-left-color:var(--accent2);margin-bottom:1rem}.trade-plan-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem 1rem;margin-bottom:.75rem;display:flex}.trade-plan-toolbar .trade-plan-controls{flex-wrap:wrap;gap:.75rem 1rem;margin-bottom:0;display:flex}.explain-subhead{margin:1rem 0 .5rem;font-size:.95rem}.highlight-row{background:#3b82f614}.horizon-custom{flex-wrap:wrap;gap:.75rem 1rem;display:flex}.trade-plan-summary{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.65rem;margin-bottom:1rem;display:grid}.trade-levels-table{margin:.75rem 0}.portfolio-note-callout{margin-bottom:.75rem}.portfolio-note-cell{flex-direction:column;gap:.2rem;max-width:220px;line-height:1.35;display:flex}.portfolio-note-cell strong{font-size:.82rem}.portfolio-note-cell small{color:var(--muted);font-size:.78rem}.portfolio-note-col{vertical-align:top}.portfolio-note-preview{max-width:200px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;align-items:flex-start;gap:.2rem;margin:-.35rem -.5rem;padding:.35rem .5rem;display:flex}.portfolio-note-preview:hover{border-color:var(--border);background:#3b82f61a}.note-preview-text{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.78rem;line-height:1.35;display:-webkit-box;overflow:hidden}.note-preview-link{color:var(--accent);font-size:.75rem}.holding-note-modal .modal-footer-actions{flex-wrap:wrap;gap:.5rem;margin:1rem 0 .5rem;display:flex}.oauth-setup-box{border:1px solid var(--border);background:#3b82f614;border-radius:8px;margin:.75rem 0;padding:.75rem}.oauth-setup-list{margin:.5rem 0 .5rem 1.1rem;font-size:.85rem}.oauth-setup-list code{word-break:break-all}.login-page .login-card{width:min(420px,92vw)}.login-card h2{margin-top:0}.form-card label{flex-direction:column;gap:.35rem;margin-bottom:.75rem;font-size:.9rem;display:flex}.form-card label.radio-row{flex-direction:row;align-items:center;gap:.5rem;margin-bottom:0}.form-card input,.form-card select{border:1px solid var(--border);background:var(--surface2);color:inherit;border-radius:8px;padding:.5rem .65rem}.password-input-wrap{width:100%;min-width:0;display:block;position:relative}.password-input-wrap .password-input-field{box-sizing:border-box;width:100%;padding-right:2.5rem}.password-toggle-btn{width:2rem;height:2rem;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;right:.35rem;transform:translateY(-50%)}.password-toggle-btn:hover:not(:disabled){color:var(--text);background:#ffffff0f}.password-toggle-btn:disabled{opacity:.45;cursor:not-allowed}.form-card input[type=radio],.form-card input[type=checkbox]{width:1rem;min-width:1rem;height:1rem;accent-color:var(--accent,#2563eb);flex-shrink:0;margin:0;padding:0}.sidebar-user{background:var(--surface2);border:1px solid var(--border);border-radius:10px;margin-bottom:1.25rem;padding:.75rem}.user-chip{flex-direction:column;gap:.45rem;min-width:0;margin-bottom:.6rem;display:flex}.user-tenant{text-transform:uppercase;letter-spacing:.04em;color:var(--accent);font-size:.7rem;font-weight:600;line-height:1.3}.user-detail{flex-direction:column;gap:.1rem;min-width:0;display:flex}.user-detail-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.68rem;font-weight:600;line-height:1.2}.user-name{word-break:break-word;font-size:.9rem;font-weight:600;line-height:1.3}.user-email{word-break:break-all;color:var(--text);font-size:.78rem;line-height:1.35}.user-role{color:var(--text);font-size:.82rem;line-height:1.3}.logout-btn{width:100%;padding:.35rem .5rem;font-size:.8rem}.admin-layout{grid-template-columns:minmax(240px,280px) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.admin-layout .card{margin-bottom:0}.admin-create-tenant{margin-bottom:1rem}.admin-inline-form{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.admin-field{flex-direction:column;gap:.35rem;min-width:0;display:flex}.admin-field>span{color:var(--muted);font-size:.78rem;font-weight:500}.admin-field-grow{flex:240px}.admin-field input,.admin-field select,.admin-field .password-input-wrap{width:100%;min-width:0}.admin-field-action{justify-content:flex-end;padding-top:1.15rem}.admin-tenant-list-card h3,.admin-tenant-detail h3,.admin-section h4{margin:0 0 .75rem}.tenant-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.tenant-pick{text-align:left;border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;font:inherit;background:0 0;border-radius:8px;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.7rem .8rem;display:flex}.tenant-pick:hover{background:var(--surface2);border-color:#3b82f673}.tenant-pick.active{border-color:var(--accent);background:#3b82f624}.tenant-pick strong{font-size:.92rem}.admin-empty-detail{justify-content:center;align-items:center;min-height:200px;display:flex}.admin-tenant-head{margin-bottom:.25rem}.admin-tenant-toolbar{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;display:flex}.admin-section{border-top:1px solid var(--border);margin-top:1.25rem;padding-top:1.25rem}.admin-add-user-form{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));align-items:end;gap:.75rem;display:grid}.admin-table-wrap{margin-top:.5rem;overflow-x:auto}.admin-users-table{border-collapse:collapse;width:100%}.admin-users-table th,.admin-users-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:.65rem .6rem}.admin-users-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;font-size:.78rem;font-weight:600}.admin-cell-email{word-break:break-all;min-width:12rem;font-size:.88rem}.admin-inline-input{border:1px solid var(--border);background:var(--surface2);width:100%;min-width:10rem;max-width:18rem;color:var(--text);font:inherit;box-sizing:border-box;border-radius:6px;padding:.35rem .5rem}.admin-role-select,.admin-users-table select{border:1px solid var(--border);background:var(--surface2);color:var(--text);border-radius:6px;min-width:120px;padding:.35rem .5rem;font-size:.85rem}.admin-users-table select option{background:var(--surface2);color:var(--text)}.admin-cell-actions{vertical-align:top;min-width:17rem}.admin-user-actions{flex-direction:column;align-items:stretch;gap:.55rem;min-width:15.5rem;display:flex}.admin-user-actions-row{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.admin-user-password-row{border-top:1px solid var(--border);padding-top:.45rem}.admin-password-input{border:1px solid var(--border);background:var(--surface2);min-width:8rem;max-width:14rem;color:var(--text);box-sizing:border-box;border-radius:6px;flex:9rem;padding:.4rem .55rem;font-size:.85rem}.admin-actions{flex-wrap:wrap;gap:.35rem;display:flex}@media (width<=900px){.admin-layout{grid-template-columns:1fr}.admin-cell-actions,.admin-user-actions{min-width:0}.admin-password-input{flex:100%;max-width:none}}.price-overview{align-items:baseline;gap:.75rem;margin-top:.35rem;display:flex}.price-overview .big{margin:0;font-size:1.35rem}.order-invoice{background:var(--surface2);border:1px solid var(--border);border-radius:10px;margin-top:.75rem;padding:.85rem 1rem}.order-invoice.compact{margin-top:.5rem;padding:.65rem .85rem}.invoice-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.5rem;display:flex}.invoice-table{border-collapse:collapse;width:100%;font-size:.88rem}.invoice-table td{border:none;padding:.3rem 0}.invoice-table td.num{text-align:right;font-variant-numeric:tabular-nums}.invoice-table tr.subtotal td{border-top:1px dashed var(--border);padding-top:.45rem;font-weight:600}.invoice-table tr.total td{border-top:1px solid var(--border);padding-top:.5rem;font-weight:700}.invoice-row td{background:var(--surface2);padding:.75rem 1rem!important}.order-result{border-color:var(--accent)}.orders-table{width:100%}.advice-metrics.extended{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:.65rem;display:grid}.patterns-panel{flex-direction:column;gap:.75rem;display:flex}.pattern-card{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:.75rem 1rem}.pattern-head{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.35rem;display:flex}.pattern-badge{background:var(--surface);text-transform:uppercase;letter-spacing:.04em;border-radius:4px;padding:2px 8px;font-size:.7rem}.modal-backdrop.modal-nested{z-index:110}.backtest-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem 1rem;margin-bottom:.75rem;display:flex}.backtest-toolbar .form-row{margin:0}.backtest-explain-table td:first-child{white-space:nowrap;width:1%}.backtest-explain-table td:nth-child(2){white-space:nowrap;font-weight:600}.backtest-explain-modal .callout{margin-bottom:1rem}.backtest-panel{padding:.25rem 0}.backtest-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.65rem;margin:.75rem 0;display:grid}.stat-card{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:.65rem .75rem}.stat-card small{color:var(--muted);font-size:.75rem;display:block}.stat-card strong{font-size:1.1rem}.page-tabs{margin-bottom:1.25rem}.pagination{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:1rem;padding-top:.75rem;display:flex}.pagination-controls{align-items:center;gap:.5rem;display:flex}.pagination-page{text-align:center;min-width:6rem;font-size:.9rem}.btn.link-btn,.link-btn{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.guide-page .guide-section{margin-bottom:1.25rem}.guide-table{border-collapse:collapse;width:100%;font-size:.9rem}.guide-table th,.guide-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:.5rem .65rem}.guide-table th{color:var(--muted);font-weight:600}.guide-list{margin:.5rem 0 0;padding-left:1.25rem;line-height:1.6}.example-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;margin:1rem 0;display:grid}.callout{background:var(--surface2);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:8px;padding:.85rem 1rem}.faq-list{flex-direction:column;gap:.5rem;display:flex}.faq-item{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:.65rem .85rem}.faq-item summary{cursor:pointer;font-weight:600;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item p{color:var(--muted);margin:.5rem 0 0;font-size:.9rem;line-height:1.5}.notification-bell-wrap{flex-shrink:0;position:relative}.notification-bell{border:1px solid var(--border);background:var(--surface2);color:var(--text);cursor:pointer;border-radius:8px;padding:.35rem .5rem;font-size:1rem;line-height:1;position:relative}.notification-badge{background:var(--danger);color:#fff;border-radius:999px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:.65rem;font-weight:700;display:grid;position:absolute;top:-4px;right:-4px}.notification-backdrop{z-index:40;cursor:default;background:0 0;border:none;position:fixed;inset:0}.notification-panel{z-index:50;background:var(--surface2);border:1px solid var(--border);border-radius:10px;max-height:min(360px,100vh - 5rem);padding:.65rem;position:fixed;overflow:auto;box-shadow:0 12px 32px #00000073}.market-carousel{background:var(--surface2);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;gap:.75rem;min-height:3.25rem;margin-bottom:1.25rem;padding:.65rem .85rem;display:flex}.market-carousel-slide{flex:1;align-items:center;gap:.65rem;min-width:0;display:flex}.market-carousel-dot{border:2px solid var(--surface2);border-radius:50%;flex-shrink:0;width:10px;height:10px}.market-carousel-dot.tone-open{background:var(--accent2);box-shadow:0 0 8px var(--accent2)}.market-carousel-dot.tone-preopen{background:var(--warn)}.market-carousel-dot.tone-closed{background:var(--danger)}.market-carousel-text{flex-direction:column;gap:.1rem;min-width:0;display:flex}.market-carousel-text strong{font-size:.92rem;line-height:1.3}.market-carousel-text .muted{white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;line-height:1.35;overflow:hidden}.market-carousel-controls{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.market-carousel-arrow{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:6px;width:1.6rem;height:1.6rem;padding:0;font-size:1rem;line-height:1}.market-carousel-arrow:hover{border-color:var(--accent)}.market-carousel-dots{align-items:center;gap:.25rem;display:flex}.market-carousel-pip{background:var(--border);cursor:pointer;border:none;border-radius:50%;width:6px;height:6px;padding:0}.market-carousel-pip.active{background:var(--accent);width:8px;height:8px}.notification-panel-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.notification-list{margin:0;padding:0;list-style:none}.notification-list li{border-bottom:1px solid var(--border);padding:.55rem 0}.notification-list li.unread{background:#3b82f614;border-radius:6px;margin:0 -.5rem;padding-left:.5rem;padding-right:.5rem}.notification-item p{margin:.2rem 0 0}.notification-item-meta{justify-content:space-between;align-items:center;gap:.5rem;margin-top:.35rem;display:flex}.notification-item-actions{align-items:center;gap:.5rem;display:flex}.toast-host{z-index:100;pointer-events:none;flex-direction:column;gap:.5rem;max-width:min(360px,92vw);display:flex;position:fixed;top:1rem;right:1rem}.toast{pointer-events:auto;background:var(--surface2);border:1px solid var(--border);border-left:4px solid var(--accent);cursor:pointer;border-radius:8px;padding:.65rem .85rem;box-shadow:0 8px 24px #00000059}.toast strong{margin-bottom:.2rem;display:block}.toast p{color:var(--muted);margin:0;font-size:.85rem}.toast-link{color:var(--accent);font-size:.78rem}.toast-success{border-left-color:var(--accent2)}.toast-warn{border-left-color:var(--warn)}.toast-error{border-left-color:var(--danger)}.paper-order-advanced{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.65rem;margin:.75rem 0;display:grid}.paper-order-advanced label{color:var(--muted);flex-direction:column;gap:.3rem;font-size:.78rem;display:flex}.paper-order-advanced input,.paper-order-advanced select{width:100%;min-width:0}.suggestion-from-banner{background:#3b82f61a;border:1px solid #3b82f659;border-radius:8px;margin:.5rem 0 .75rem;padding:.55rem .75rem;font-size:.85rem}.suggestion-track-diff.up{color:var(--accent2)}.suggestion-track-diff.down{color:var(--danger)}.docs-page{max-width:900px}.docs-toc ul{flex-wrap:wrap;gap:.35rem 1rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.docs-toc a{font-size:.88rem}.docs-section h4{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin:1rem 0 .4rem;font-size:.85rem}.docs-steps{color:var(--text);margin:.35rem 0 0;padding-left:1.25rem;line-height:1.55}.docs-steps li{margin-bottom:.35rem}.docs-list{margin:.35rem 0 0;padding-left:1.1rem;font-size:.9rem;line-height:1.5}.docs-list li{margin-bottom:.3rem}.docs-unlocks li{color:var(--accent2)}.docs-columns{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-top:.5rem;display:grid}.docs-status-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.65rem;margin-top:.75rem;display:grid}.docs-status-item{background:var(--surface2);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:.2rem;padding:.65rem .75rem;display:flex}.docs-status-item span{color:var(--muted);font-size:.75rem}.docs-status-item.ok{border-color:#22c55e73}.docs-status-item.warn{border-color:#f59e0b73}.trade-charts-grid{margin-bottom:1rem}.trade-chart-card h4{margin:0 0 .25rem;font-size:.95rem}.trade-outcome-summary{flex-wrap:wrap;gap:.75rem 1.25rem;margin-top:.5rem;font-size:.85rem;display:flex}.trade-side-filter{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.trade-side-filter .btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.tab-row-scroll{scrollbar-width:thin;flex-wrap:nowrap;padding-bottom:.25rem;overflow-x:auto}.fund-tab-row{margin-bottom:.75rem}.mf-category-filter{flex-direction:column;gap:.25rem;max-width:280px;margin-top:.75rem;display:flex}.mf-category-filter select{padding:.35rem .5rem}.mf-bullet-list{margin:0;padding-left:1.1rem}.mf-bullet-list li{margin-bottom:.35rem;font-size:.9rem}.mf-symbol{color:#38bdf8;background:#38bdf81f;border-radius:4px;padding:.1rem .35rem;font-family:ui-monospace,monospace;font-size:.72rem}.mf-action-btns{flex-wrap:wrap;gap:.25rem;display:flex}.mf-analysis-symbol-row{align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.mf-overview-card{align-items:center;gap:1rem;display:flex}.mf-score-ring{border:3px solid #38bdf8;border-radius:50%;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:4.5rem;height:4.5rem;display:flex}.mf-score-value{font-size:1.35rem;font-weight:700;line-height:1}.mf-overview-main{flex:1;min-width:0}.mf-metrics-overview{margin:.75rem 0}.mf-outlook-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.mf-paper-trade-box{margin-top:.75rem}.mf-trade-input{flex-direction:column;gap:.25rem;max-width:220px;margin:.5rem 0;display:flex}.mf-trade-actions{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.mf-dashboard .mf-symbol{font-size:.7rem}.mf-nav-chart-panel{padding-top:.25rem}.mf-nav-chart{min-height:260px}.mf-chart-score strong{margin-right:.35rem;font-size:.95rem}.mf-chart-actions{margin-left:auto}.mf-holdings-bar .recharts-bar-rectangle{cursor:pointer}.section-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.section-header-row h3{margin:0}.muted-box{background:#ffffff08}.clickable-row{cursor:pointer}.clickable-row:hover{background:#38bdf80f}.fundamentals-panel{min-height:200px}.fund-metrics-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.65rem;margin-bottom:1rem;display:grid}.fund-metric{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:.55rem .65rem}.fund-metric small{color:var(--muted);margin-bottom:.2rem;font-size:.72rem;display:block}.fund-metric strong{font-size:.9rem}.fund-section{margin-top:1rem}.fund-section h4{margin:0 0 .5rem;font-size:.9rem}.fund-about p{line-height:1.55}.fund-table-wrap{margin-top:.35rem;overflow-x:auto}.fund-table{min-width:480px;font-size:.82rem}.fund-table th,.fund-table td{white-space:nowrap}.fund-table .block{display:block}.corp-actions-list{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.corp-action-card{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:.65rem .75rem}.corp-action-head{flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem;margin-bottom:.35rem;display:flex}.corp-action-details{margin:0;padding-left:1.1rem;font-size:.8rem}.ipo-pick-banner{margin-bottom:1rem}.ipo-pick-head{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-top:.5rem;display:flex}.ipo-ranked-details{margin-top:.75rem;font-size:.85rem}.ipo-ranked-details ul{margin:.35rem 0 0;padding-left:1.1rem}.ipo-reasons{margin:.75rem 0 0;padding-left:1.2rem;font-size:.85rem}.fundamental-advice-box{background:var(--surface2);border:1px solid var(--border);border-radius:10px;margin-bottom:1rem;padding:.85rem 1rem}.fundamental-advice-box h4{margin:0 0 .35rem}.technical-indicators-panel h4{margin:0 0 .75rem}.tech-indicators-grid{grid-template-columns:1fr 1fr;gap:.5rem 1.25rem;margin-bottom:1.25rem;display:grid}.tech-indicator-row{border-bottom:1px solid var(--border);grid-template-columns:1fr auto auto;align-items:center;gap:.35rem .75rem;padding:.4rem 0;font-size:.85rem;display:grid}.tech-indicator-name{color:var(--text);font-weight:500}.tech-sentiment{white-space:nowrap;align-items:center;gap:.25rem;font-size:.78rem;display:inline-flex}.tech-sentiment.up{color:var(--accent2)}.tech-sentiment.down{color:var(--danger)}.tech-sentiment.neutral{color:#8b98ab}.tech-indicator-icon{font-weight:700}.tech-indicator-value{text-align:right;min-width:3.5rem;font-weight:600}.tech-gauge-section{margin-top:.5rem}.tech-gauge-bar{background:linear-gradient(90deg,#ef4444 0%,#f59e0b 50%,#22c55e 100%);border-radius:999px;height:10px;margin:.5rem 0 .35rem;position:relative}.tech-gauge-dot{background:#fff;border:2px solid #00000059;border-radius:50%;width:10px;height:10px;margin-left:-5px;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 1px 4px #00000059}.tech-gauge-labels{justify-content:space-between;margin-bottom:.65rem;font-size:.72rem;display:flex}.tech-gauge-counts{flex-wrap:wrap;gap:.75rem 1.25rem;font-size:.82rem;display:flex}.tech-count{align-items:center;gap:.35rem;display:inline-flex}.tech-count-badge{border-radius:999px;justify-content:center;align-items:center;min-width:1.35rem;height:1.35rem;padding:0 .35rem;font-size:.75rem;font-weight:700;display:inline-flex}.tech-count.bearish .tech-count-badge{color:#fca5a5;background:#ef444433}.tech-count.neutral .tech-count-badge{color:#cbd5e1;background:#8b98ab33}.tech-count.bullish .tech-count-badge{color:#86efac;background:#22c55e33}@media (width<=700px){.tech-indicators-grid{grid-template-columns:1fr}}@media (width<=900px){.app{grid-template-columns:1fr;padding-top:3.5rem}.mobile-topbar{z-index:60;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#121820f5;align-items:center;gap:.65rem;height:3.5rem;padding:0 .75rem;display:flex;position:fixed;top:0;left:0;right:0}.mobile-menu-btn{border:1px solid var(--border);background:var(--surface2);width:2.5rem;height:2.5rem;color:var(--text);cursor:pointer;border-radius:10px;flex-shrink:0;font-size:1.2rem;line-height:1}.mobile-topbar-brand{flex:1;align-items:center;gap:.55rem;min-width:0;display:flex}.mobile-topbar-brand .brand-logo{width:32px;height:32px}.mobile-topbar-titles{flex-direction:column;min-width:0;line-height:1.15;display:flex}.mobile-topbar-titles strong{white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;overflow:hidden}.mobile-session{font-size:.7rem;font-weight:600}.mobile-session.open{color:var(--accent2)}.mobile-session.preopen{color:var(--warn)}.mobile-session.closed{color:var(--danger)}.mobile-topbar-actions{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.mobile-nav-backdrop{z-index:70;cursor:pointer;background:#0000008c;border:none;margin:0;padding:0;display:block;position:fixed;inset:0}.sidebar{z-index:80;-webkit-overflow-scrolling:touch;border-right:1px solid var(--border);width:min(86vw,300px);height:100dvh;min-height:0;padding-top:1rem;padding-bottom:calc(1.25rem + env(safe-area-inset-bottom,0px));border-bottom:none;transition:transform .22s;position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-105%)}.sidebar.sidebar-open{transform:translate(0);box-shadow:12px 0 40px #00000073}.desktop-only-brand{display:none}.content{width:100%;max-width:none;padding:1rem .85rem 2rem}.page-header h2{font-size:1.35rem}.page-header p{margin-bottom:1rem;font-size:.9rem}.grid.cards{grid-template-columns:1fr;gap:.75rem}.card{padding:.9rem}table{-webkit-overflow-scrolling:touch;width:100%;display:block;overflow-x:auto}.section-head,.strategy-page-header{flex-direction:column;align-items:stretch;gap:.65rem}.btn,.btn.primary,.btn.secondary{min-height:2.5rem}.login-page{align-items:start;padding:2rem 1rem 1rem}.login-page .login-card{width:100%;max-width:none}.form-card input,.form-card select{font-size:16px}.charts-grid{grid-template-columns:1fr}.not-found-page{padding:4.5rem 1rem 1rem}}.landing-page{background:radial-gradient(ellipse 80% 50% at 50% -10%, #2563eb2e, transparent), var(--bg,#0b1220);min-height:100vh;color:var(--text,#e8eef7)}.landing-nav{box-sizing:border-box;justify-content:space-between;align-items:center;gap:.75rem;width:100%;max-width:1100px;margin:0 auto;padding:.85rem 1.25rem;display:flex}.landing-brand{align-items:center;gap:.55rem;min-width:0;display:flex}.landing-brand img{flex-shrink:0;display:block}.landing-brand strong{white-space:nowrap;line-height:1.2}.landing-nav-actions{flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:.4rem;display:flex}.landing-nav-actions .btn{white-space:nowrap;box-sizing:border-box;justify-content:center;align-items:center;min-height:2rem;line-height:1;text-decoration:none;display:inline-flex}.landing-mobile-tabs{display:none}.landing-sticky-header{width:100%}.landing-hero{max-width:760px;margin:2.5rem auto 2rem;padding:0 1.5rem}.landing-eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--muted,#94a3b8);margin-bottom:.75rem;font-size:.75rem}.landing-hero h1{margin:0 0 1rem;font-size:clamp(1.8rem,4vw,2.75rem);line-height:1.15}.landing-lead{color:var(--muted,#94a3b8);margin-bottom:1.5rem;font-size:1.05rem}.landing-cta-row{flex-wrap:wrap;gap:.75rem;display:flex}.landing-features{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;max-width:1100px;margin:0 auto 2.5rem;padding:0 1.5rem;display:grid}.landing-features article{background:#0f172a8c;border:1px solid #94a3b833;border-radius:12px;padding:1.1rem 1.2rem}.landing-features h3{margin:0 0 .4rem}.landing-pricing{max-width:1100px;margin:0 auto 3rem;padding:0 1.5rem}.landing-pricing h2{margin-bottom:.35rem}.pricing-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1.25rem;display:grid}@media (width>=900px){.pricing-grid{grid-template-columns:repeat(4,1fr)}}.pricing-card{background:#0f172ab3;border:1px solid #94a3b840;border-radius:12px;flex-direction:column;gap:.55rem;padding:1.25rem;display:flex}.pricing-card.featured{border-color:#2563ebb3;box-shadow:0 0 0 1px #2563eb40}.pricing-card-top{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.pricing-card-top h3{margin:0}.pricing-tags{flex-wrap:wrap;justify-content:flex-end;gap:.3rem;max-width:60%;display:flex}.pricing-tag,.pricing-save-badge{letter-spacing:.02em;border-radius:999px;flex-shrink:0;padding:.2rem .45rem;font-size:.72rem;font-weight:650}.pricing-tag{color:#bfdbfe;background:#2563eb38;border:1px solid #60a5fa66}.pricing-tag.warn{color:#fdba74;background:#ea580c29;border-color:#fb923c59}.pricing-save-badge{color:#bbf7d0;background:#16a34a33;border:1px solid #4ade8059}.pricing-promo-note{color:#86efac;margin:.1rem 0 0;font-size:.78rem}.landing-promo-banner{color:#dbeafe;background:#2563eb24;border:1px solid #60a5fa59;border-radius:10px;margin:.85rem 0 0;padding:.65rem .85rem;font-size:.9rem}.landing-promo-overlay{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#020617b8;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.landing-promo-modal{background:#0f172a;border:1px solid #94a3b847;border-radius:14px;flex-direction:column;gap:.65rem;width:min(26rem,100%);padding:1.35rem 1.4rem 1.25rem;display:flex;box-shadow:0 24px 60px #00000073}.landing-promo-kicker{letter-spacing:.06em;text-transform:uppercase;color:#93c5fd;margin:0;font-size:.75rem}.landing-promo-modal h2{margin:0;font-size:1.45rem}.landing-promo-body{color:var(--muted,#94a3b8);margin:0;line-height:1.45}.landing-promo-code-row{align-items:center;gap:.5rem;display:flex}.landing-promo-code{letter-spacing:.04em;text-align:center;background:#0f172ae6;border:1px dashed #60a5fa8c;border-radius:8px;flex:1;padding:.55rem .7rem;font-size:1.05rem}.landing-promo-actions{flex-wrap:wrap;gap:.45rem;margin-top:.25rem;display:flex}.landing-promo-actions .btn{flex:8rem}.pricing-price-block{flex-direction:column;gap:.15rem;display:flex}.pricing-compare{color:var(--muted,#94a3b8);opacity:.85;font-size:.95rem;text-decoration:line-through;text-decoration-thickness:1.5px}.pricing-amount{flex-wrap:wrap;align-items:baseline;gap:.35rem;margin:0;font-size:1.6rem;font-weight:700;line-height:1.15;display:flex}.pricing-amount-value{font-variant-numeric:tabular-nums}.pricing-amount-interval{color:var(--muted,#94a3b8);font-size:.85rem;font-weight:500}.pricing-equiv{color:#e2e8f0;margin:.15rem 0 0;font-size:.9rem;font-weight:600}.pricing-vs-monthly{color:#86efac;margin:.15rem 0 0;font-size:.78rem;line-height:1.35}.pricing-increase{color:#fdba74;background:#ea580c1f;border:1px solid #fb923c47;border-radius:8px;align-items:flex-start;gap:.4rem;margin:0;padding:.45rem .55rem;font-size:.78rem;line-height:1.35;display:flex}.pricing-increase-icon{color:#fff7ed;background:#ea580cbf;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:1.15rem;height:1.15rem;font-size:.7rem;font-weight:700;display:inline-flex}.pricing-desc{color:var(--muted,#94a3b8);flex:1;margin:0;font-size:.92rem;line-height:1.4}.pricing-card .btn{text-align:center;align-self:stretch;margin-top:.25rem}.landing-footer{max-width:1100px;color:var(--muted,#94a3b8);border-top:1px solid #94a3b826;flex-wrap:wrap;justify-content:space-between;gap:.75rem;margin:0 auto;padding:1.5rem;font-size:.85rem;display:flex}@media (width<=720px){.landing-page{padding-bottom:1.75rem}.landing-sticky-header{z-index:40;box-sizing:border-box;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0b1220f5;border-bottom:1px solid #94a3b824;width:100%;padding:.9rem 1.05rem 1rem;position:sticky;top:0}.landing-nav{width:100%;max-width:none;min-height:2.5rem;margin:0;padding:0}.landing-brand{gap:.7rem}.landing-brand img{width:32px;height:32px}.landing-brand strong{font-size:1rem}.landing-nav-actions{gap:.55rem}.landing-nav-actions .btn{padding:0;border-radius:8px;height:2.2rem;min-height:2.2rem;padding-inline:.85rem;font-size:.82rem}.landing-mobile-tabs{box-sizing:border-box;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;width:100%;margin:.9rem 0 0;padding:0;display:grid}.landing-mobile-tab{width:100%;min-width:0;color:var(--muted,#94a3b8);cursor:pointer;box-sizing:border-box;background:#0f172aa6;border:1px solid #94a3b838;border-radius:999px;padding:.6rem .35rem;font-size:.84rem;font-weight:600;line-height:1.15}.landing-mobile-tab.active{color:#fff;background:var(--accent,#3b82f6);border-color:var(--accent,#3b82f6)}.landing-panel{display:none}.landing-panel.is-active{display:block}.landing-features.landing-panel.is-active{display:grid}.landing-hero{margin:1.6rem auto 1.85rem;padding:0 1.15rem}.landing-eyebrow{margin-bottom:.9rem}.landing-hero h1{margin-bottom:.95rem;font-size:1.48rem;line-height:1.28}.landing-lead{margin-bottom:1.4rem;font-size:.96rem;line-height:1.55}.landing-cta-row{flex-direction:column;gap:.7rem}.landing-cta-row .btn{text-align:center;box-sizing:border-box;flex:auto;justify-content:center;align-items:center;width:100%;padding:.8rem 1rem;font-size:.94rem;text-decoration:none;display:inline-flex}.landing-features{grid-template-columns:1fr;gap:.9rem;margin:1.35rem auto 1.85rem;padding:0 1.15rem}.landing-features article{padding:1.15rem 1.2rem}.landing-features h3{margin-bottom:.5rem;font-size:1.05rem}.landing-features p{margin:0;font-size:.92rem;line-height:1.5}.landing-pricing{margin:1.35rem auto 1.85rem;padding:0 1.15rem}.landing-pricing h2{margin-bottom:.55rem;font-size:1.3rem}.landing-pricing>.muted{font-size:.92rem;line-height:1.5}.landing-promo-banner{margin:1rem 0 .35rem;padding:.85rem 1rem}.pricing-grid{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:.95rem;margin:.9rem -.2rem 0;padding:.9rem .2rem 1.1rem;display:flex;overflow-x:auto}.pricing-card{scroll-snap-align:start;flex:0 0 min(84vw,19rem);gap:.75rem;max-height:none;padding:1.35rem 1.25rem}.pricing-tags{max-width:55%}.landing-footer{flex-direction:column;gap:.7rem;padding:1.5rem 1.15rem 1.85rem;font-size:.84rem;line-height:1.5}.login-page .login-card,.login-page .card{width:min(420px,94vw);margin:1rem auto;padding:1.25rem 1.15rem 1.4rem}.center-page{align-items:flex-start;padding:1rem .75rem}.form-card label{gap:.5rem;margin-bottom:.9rem}}@media (width>=721px){.landing-panel{display:block!important}.landing-features.landing-panel{display:grid!important}}.signup-intent{border:1px solid #94a3b840;border-radius:10px;min-width:0;margin:.5rem 0 .85rem;padding:.75rem 1rem 1rem}.signup-intent legend{color:var(--muted,#94a3b8);padding:0 .35rem;font-size:.9rem}.signup-intent-options{flex-wrap:wrap;align-items:center;gap:.65rem 1.35rem;margin-top:.35rem;display:flex}.signup-intent-options .radio-row{flex:12rem;margin:0}.signup-intent-options .radio-row input{flex-shrink:0;width:auto;margin:0}.billing-tabs{gap:.4rem;margin-bottom:1rem}.billing-tabs .btn.tab{white-space:nowrap;min-height:2.4rem}.billing-form{gap:.65rem;display:grid}@media (width>=720px){.billing-form{grid-template-columns:1fr 1fr}.billing-form .billing-check-row,.billing-form .billing-row-actions{grid-column:1/-1}}.billing-check-row{flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;display:flex}.billing-check-row .radio-row{white-space:nowrap;margin:0}.radio-row{align-items:center;gap:.5rem;margin:.35rem 0;display:flex}.billing-row-actions{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.billing-extend-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.billing-extend-presets,.billing-extend-custom{flex-wrap:nowrap;align-items:center;gap:.35rem;display:inline-flex}.billing-date-input{width:10.5rem;min-width:10.5rem;max-width:10.5rem;color:inherit;font:inherit;box-sizing:border-box;background:#0f172ad9;border:1px solid #94a3b859;border-radius:6px;flex:none;padding:.35rem .5rem}.billing-form .billing-date-input{width:100%;min-width:0;max-width:100%}.admin-users-table tr.row-editing{background:#2563eb1f}.admin-billing-page .admin-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}
