:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#18202a;font-synthesis:none;text-rendering:optimizelegibility;background:#f4f6f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(#ffffffbd,#f4f6f8f0),#f4f6f8;min-width:320px;margin:0}button,select{font:inherit}button{cursor:pointer}.app-frame{grid-template-columns:248px minmax(0,1fr);min-height:100vh;transition:grid-template-columns .18s;display:grid}.app-frame.sidebar-collapsed{grid-template-columns:76px minmax(0,1fr)}.app-sidebar{background:#fff;border-right:1px solid #d7dfe7;flex-direction:column;gap:16px;height:100vh;padding:16px 12px;display:flex;position:sticky;top:0;overflow:hidden}.sidebar-head{justify-content:space-between;align-items:center;gap:8px;min-height:40px;display:flex}.sidebar-brand{align-items:center;gap:10px;min-width:0;display:flex}.sidebar-brand strong,.sidebar-brand span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.sidebar-brand strong{color:#18202a;font-size:14px;line-height:1.2}.sidebar-brand span{color:#657282;font-size:11px}.sidebar-toggle{flex:none}.sidebar-nav{flex:1;grid-auto-rows:max-content;align-content:start;gap:16px;display:grid}.sidebar-account{border-top:1px solid #e4e9ef;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:8px;margin-top:auto;padding:10px 8px;display:grid}.sidebar-account>img,.sidebar-account-avatar{color:#174d69;object-fit:cover;background:#e9f2f8;border-radius:50%;place-items:center;width:34px;height:34px;font-size:13px;font-weight:900;display:grid}.sidebar-account-copy{gap:2px;min-width:0;display:grid}.sidebar-account-copy strong,.sidebar-account-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-account-copy strong{color:#263646;font-size:11px}.sidebar-account-copy small{color:#7b8794;text-transform:uppercase;font-size:9px}.sidebar-collapsed .sidebar-account{justify-content:center;padding-inline:0;display:flex}.sidebar-collapsed .sidebar-account>img,.sidebar-collapsed .sidebar-account-avatar,.sidebar-collapsed .sidebar-account-copy{display:none}.sidebar-nav-group{gap:5px;display:grid}.sidebar-nav-label{color:#8a96a3;letter-spacing:.12em;text-transform:uppercase;padding:0 10px 3px;font-size:9px;font-weight:800}.sidebar-nav button{color:#4b5968;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;width:100%;min-height:50px;padding:7px 9px;font-size:13px;font-weight:700;display:flex;position:relative}.sidebar-nav button>svg{flex:none}.sidebar-nav-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.sidebar-nav-copy strong,.sidebar-nav-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-nav-copy strong{font-size:12px;line-height:1.2}.sidebar-nav-copy small{color:#8995a2;font-size:10px;font-weight:500}.sidebar-nav button.active .sidebar-nav-copy small{color:#ffffffb8}.sidebar-nav-count{color:#177245;background:#dff7e9;border-radius:999px;flex:none;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 6px;font-size:10px;font-weight:900;display:inline-flex}.sidebar-nav button.active .sidebar-nav-count{color:#176b41;background:#fff}.sidebar-nav button:hover{color:#18202a;background:#f7fafc;border-color:#d7dfe7}.sidebar-nav button.active{color:#fff;background:#18384c;border-color:#18384c}.sidebar-collapsed .sidebar-head{justify-content:center}.sidebar-collapsed .sidebar-brand{display:none}.sidebar-collapsed .sidebar-nav button{justify-content:center;min-height:46px;padding:0}.sidebar-collapsed .sidebar-nav-label,.sidebar-collapsed .sidebar-nav-copy{display:none}.sidebar-collapsed .sidebar-nav-count{border:2px solid #fff;min-width:16px;height:16px;padding:0 4px;font-size:8px;position:absolute;top:3px;right:3px}.app-shell{width:min(1680px,100%);margin:0 auto;padding:20px 16px 28px}.empty-page{min-height:calc(100vh - 112px)}.topbar{justify-content:space-between;align-items:center;gap:16px;min-height:64px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand-mark,.metric-icon{color:#1c5a7a;background:#fff;border:1px solid #cad3df;border-radius:8px;place-items:center;width:38px;height:38px;display:grid}.brand h1,.panel h2{letter-spacing:0;margin:0;font-size:18px;line-height:1.2}.brand p,.panel-head span,.metric-label,.chart-subtitle{color:#657282;margin:0;font-size:12px}.toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.segmented{background:#fff;border:1px solid #cbd5df;border-radius:8px;display:inline-flex;overflow:hidden}.segmented button{color:#4b5968;background:0 0;border:0;border-right:1px solid #dbe2e9;min-width:58px;height:36px;font-size:12px}.segmented button:last-child{border-right:0}.segmented button.active{color:#fff;background:#18384c}.select-wrap{color:#4b5968;background:#fff;border:1px solid #cbd5df;border-radius:8px;align-items:center;gap:7px;height:36px;padding:0 10px;display:inline-flex}.select-wrap select{color:#18202a;background:0 0;border:0;outline:0;min-width:180px}.icon-button{color:#263646;background:#fff;border:1px solid #cbd5df;border-radius:8px;place-items:center;width:36px;height:36px;display:grid}.process-button{color:#fff;background:#237c72;border:1px solid #1f6f66;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-width:104px;height:36px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.process-button.secondary{color:#263646;background:#fff;border-color:#cbd5df}.process-button.compact-action{min-width:56px;height:30px;padding:0 10px}.process-button:disabled{cursor:wait;opacity:.76}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-strip{color:#983232;background:#fff0f0;border:1px solid #e2a1a1;border-radius:8px;margin:12px 0;padding:10px 12px}.process-strip{color:#536273;background:#f7fafc;border:1px solid #d7dfe7;border-radius:8px;margin:12px 0;padding:10px 12px;font-size:13px}.process-strip.complete{color:#176b41;background:#effaf3;border-color:#b8dec9}.process-progress-panel{gap:10px;display:grid}.process-progress-head,.process-progress-foot{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.process-progress-head strong{overflow-wrap:anywhere;color:#263646;min-width:0}.process-progress-head span,.process-progress-foot span{color:#657282;font-size:12px}.process-strip.complete .process-progress-head strong,.process-strip.complete .process-progress-head span,.process-strip.complete .process-progress-foot span{color:#176b41}.process-progress-track{background:#dfe7ee;border-radius:999px;height:10px;overflow:hidden}.process-progress-bar{border-radius:inherit;background:#18384c;height:100%;transition:width .25s}.process-strip.complete .process-progress-track{background:#d5eddf}.process-strip.complete .process-progress-bar{background:#23945b}.active-buy-panel{background:#fff;border:1px solid #cbd8df;border-radius:10px;margin:14px 0;overflow:hidden;box-shadow:0 1px 3px #1422300d}.active-buy-panel.has-active{border-color:#9fd4bd;box-shadow:0 4px 16px #17724514}.active-buy-head{background:linear-gradient(110deg,#f0faf4 0%,#fbfdfc 62%,#fff 100%);border-bottom:1px solid #e2ece7;justify-content:space-between;align-items:center;gap:20px;padding:15px 16px;display:flex}.active-buy-title{align-items:center;gap:12px;min-width:0;display:flex}.active-buy-icon{color:#fff;background:#177245;border-radius:9px;flex:none;place-items:center;width:40px;height:40px;display:grid}.active-buy-heading-row{align-items:center;gap:9px;display:flex}.active-buy-heading-row h2,.active-buy-title p{margin:0}.active-buy-heading-row h2{font-size:17px}.active-buy-title p{color:#657282;margin-top:3px;font-size:12px}.live-status{color:#176b41;letter-spacing:.08em;background:#dff7e9;border-radius:999px;align-items:center;gap:5px;padding:3px 7px;font-size:9px;font-weight:900;display:inline-flex}.live-status i{background:#22a967;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #22a96726}.active-buy-summary{flex:none;gap:10px;display:flex}.active-buy-summary>div{background:#fffc;border:1px solid #d6e7dd;border-radius:8px;min-width:118px;padding:8px 11px}.active-buy-summary strong,.active-buy-summary span{display:block}.active-buy-summary strong{font-size:18px}.active-buy-summary span{color:#73808d;margin-top:2px;font-size:10px}.active-buy-grid{grid-template-columns:repeat(3,minmax(230px,1fr));gap:10px;padding:12px;display:grid}.active-buy-card{color:#263646;text-align:left;background:#fff;border:1px solid #dce7e1;border-radius:8px;gap:9px;min-width:0;padding:12px;transition:border-color .15s,box-shadow .15s,transform .15s;display:grid}.active-buy-card:hover{border-color:#72bd98;transform:translateY(-1px);box-shadow:0 5px 16px #1772451a}.active-buy-card.pending-position{background:#fffdf7;border-color:#e4d7ac}.active-buy-card.pending-position:hover{border-color:#c7a84e;box-shadow:0 5px 16px #9a650f1a}.active-buy-card-top,.active-buy-card-top>div,.active-buy-card-foot{align-items:center;display:flex}.active-buy-card-top,.active-buy-card-foot{justify-content:space-between;gap:10px}.active-buy-card-top>div{gap:8px}.active-buy-card-top>div>strong{font-size:19px}.active-buy-pso-tag{color:#245f91;letter-spacing:.02em;white-space:nowrap;background:#edf6ff;border:1px solid #a9c8e5;border-radius:999px;justify-content:center;align-items:center;min-height:22px;padding:0 7px;font-size:9px;font-weight:900;display:inline-flex}.active-buy-pnl{border-radius:6px;padding:5px 7px;font-size:12px;font-weight:900}.active-buy-pnl.up{color:#177245;background:#e8f7ef}.active-buy-pnl.down{color:#a53e3e;background:#fff0f0}.active-buy-pnl.pending{color:#8a5c0b;background:#fff3cf}.active-buy-strategy{color:#667483;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.active-buy-performance{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.active-buy-performance>div{background:#f8fafb;border:1px solid #dde6ec;border-radius:6px;min-width:0;padding:7px}.active-buy-performance span,.active-buy-performance strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.active-buy-performance span{color:#758290;font-size:9px}.active-buy-performance strong{color:#263646;margin-top:3px;font-size:12px}.active-buy-performance strong.change.up{color:#177245}.active-buy-performance strong.change.down{color:#a53e3e}.active-buy-cycle{grid-template-columns:minmax(0,1.25fr) repeat(2,minmax(0,1fr));gap:6px;display:grid}.active-buy-cycle>div{background:#f4faf7;border:1px solid #dbe7e1;border-radius:6px;min-width:0;padding:7px}.active-buy-cycle>div>span,.active-buy-cycle>div>strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.active-buy-cycle>div>span{color:#758290;font-size:9px}.active-buy-cycle>div>strong{margin-top:3px;font-size:11px}.active-buy-cycle>div>strong.change.up{color:#177245}.active-buy-cycle>div>strong.change.down{color:#a53e3e}.active-buy-prices{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.active-buy-prices div{background:#f7faf8;border-radius:6px;min-width:0;padding:7px}.active-buy-prices span,.active-buy-prices strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.active-buy-prices span{color:#7b8793;font-size:9px}.active-buy-prices strong{margin-top:3px;font-size:11px}.active-buy-card-foot{color:#788490;border-top:1px solid #edf2ef;padding-top:7px;font-size:10px}.active-buy-card-foot strong{color:#177245;white-space:nowrap}.active-buy-card-foot span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.active-buy-empty{color:#657282;text-align:center;padding:24px 16px;font-size:13px}.active-buy-more{color:#176b41;background:#f8fbf9;border:0;border-top:1px solid #e2ece7;width:100%;min-height:36px;font-size:11px;font-weight:800}.buy-signal-modal-backdrop{z-index:60;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0c161f9e;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.buy-signal-modal{background:#f7faf9;border:1px solid #cbd7df;border-radius:12px;flex-direction:column;width:min(1500px,100%);height:min(920px,100vh - 48px);min-height:620px;display:flex;overflow:hidden;box-shadow:0 28px 80px #08121b59}.buy-signal-modal-backdrop.maximized{padding:0}.buy-signal-modal-head{background:#fff;border-bottom:1px solid #dce5e1;flex:none;justify-content:space-between;align-items:center;gap:20px;min-height:78px;padding:14px 16px;display:flex}.buy-signal-modal-identity{gap:3px;min-width:0;display:grid}.buy-signal-modal-symbol-row{align-items:center;gap:9px;display:flex}.buy-signal-modal-symbol-row h2{margin:0;font-size:25px;line-height:1}.buy-signal-modal-identity>strong,.buy-signal-modal-identity>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.buy-signal-modal-identity>strong{font-size:13px}.buy-signal-modal-identity>span{color:#657282;font-size:11px}.buy-signal-position-status{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;min-height:23px;padding:0 8px;font-size:9px;font-weight:900;display:inline-flex}.buy-signal-position-status.open{color:#176b41;background:#dff7e9}.buy-signal-position-status.pending{color:#8a5c0b;background:#fff3cf}.buy-signal-modal-actions{flex:none;align-items:center;gap:8px;display:flex}.buy-signal-modal-levels{background:#f4f8f6;border-bottom:1px solid #dce5e1;flex:none;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;padding:10px 12px;display:grid}.buy-signal-modal-levels>div{background:#fff;border:1px solid #dce6e1;border-radius:7px;min-width:0;padding:8px 10px}.buy-signal-modal-levels>div.entry{background:#f2faf6;border-color:#9bcbb8}.buy-signal-modal-levels>div.stop{background:#fff7f7;border-color:#e7bcbc}.buy-signal-modal-levels>div.target{background:#f1faf5;border-color:#a8dabb}.buy-signal-modal-levels span,.buy-signal-modal-levels strong,.buy-signal-modal-levels small{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.buy-signal-modal-levels span{color:#71808d;text-transform:uppercase;font-size:9px;font-weight:700}.buy-signal-modal-levels strong{color:#263646;margin-top:3px;font-size:15px}.buy-signal-modal-levels small{color:#7b8793;margin-top:2px;font-size:9px}.buy-signal-modal-chart{background:#fff;flex:auto;min-height:0;overflow:auto}.buy-signal-modal-chart .chart-shell{min-height:100%;padding:14px 18px}.buy-signal-modal-chart .candle-chart{width:100%;max-height:none}.buy-signal-modal-loading{color:#657282;justify-content:center;align-items:center;gap:9px;min-height:420px;font-size:13px;display:flex}.buy-signal-modal-chart>.error-strip{margin:16px}.buy-signal-modal-foot{color:#657282;background:#fff;border-top:1px solid #dce5e1;flex:none;justify-content:space-between;align-items:center;gap:18px;min-height:43px;padding:9px 14px;font-size:10px;display:flex}.buy-signal-modal-foot span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.buy-signal-modal-foot strong{color:#445565;white-space:nowrap;flex:none}.metrics-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:14px 0;display:grid}.metric-tile,.panel{background:#fff;border:1px solid #d7dfe7;border-radius:8px;box-shadow:0 1px 2px #1422300a}.metric-tile{align-items:center;gap:12px;min-height:76px;padding:14px;display:flex}.metric-tile.green .metric-icon{color:#177245}.metric-tile.amber .metric-icon{color:#9a650f}.metric-tile.red .metric-icon{color:#a53e3e}.metric-value{font-size:22px;font-weight:700;line-height:1.1}.dashboard-grid{grid-template-columns:360px minmax(0,1fr) 320px;align-items:start;gap:14px;display:grid}.panel{min-width:0}.panel-head{border-bottom:1px solid #e7edf2;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:13px 14px;display:flex}.panel-head.wide{align-items:flex-start}.price-stack{text-align:right}.chart-panel-actions{align-items:center;gap:10px;display:flex}.price-stack strong{font-size:24px;display:block}.stock-table{max-height:calc(100vh - 238px);overflow:auto}.stock-row{color:#263646;text-align:left;background:#fff;border:0;border-bottom:1px solid #edf1f5;grid-template-columns:58px 92px 62px 74px 42px;align-items:center;gap:8px;width:100%;min-height:42px;padding:7px 10px;display:grid}.stock-row:hover,.stock-row.selected{background:#edf6f5}.stock-header{z-index:1;color:#6d7a88;text-transform:uppercase;cursor:default;background:#f7fafc;min-height:32px;font-size:11px;font-weight:800;position:sticky;top:0}.stock-header:hover{background:#f7fafc}.ticker,.rank-symbol{font-weight:700}.stock-price,.score,.rank-score{font-variant-numeric:tabular-nums}.change{font-size:12px;font-weight:700}.change.up,.chart-change.up{color:#147a4b}.change.down,.chart-change.down{color:#b34343}.signal-badge{letter-spacing:0;border-radius:6px;justify-content:center;align-items:center;min-width:58px;height:22px;padding:0 8px;font-size:11px;font-weight:800;display:inline-flex}.signal-badge.buy{color:#12683e;background:#dff5e9}.signal-badge.watch{color:#875b0f;background:#fff0cf}.signal-badge.hold{color:#4e5d6c;background:#e9eef4}.signal-badge.sell{color:#9b3434;background:#ffe3e3}.signal-badge.none{color:#788391;background:#eceff3}.main-column{gap:14px;display:grid}.chart-panel{overflow:hidden}.chart-shell{padding:14px}.chart-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.chart-title{font-weight:700}.chart-change{font-size:18px;font-weight:800}.candle-chart{cursor:crosshair;width:100%;height:auto;max-height:560px;display:block}.chart-navigation-toolbar{background:#f7faf9;border:1px solid #dce5e1;border-radius:7px;justify-content:space-between;align-items:center;gap:12px;min-height:38px;margin-bottom:8px;padding:5px 7px;display:flex}.chart-navigation-actions{align-items:center;gap:4px;display:flex}.chart-navigation-actions button{color:#445565;cursor:pointer;background:#fff;border:1px solid #cfdbd6;border-radius:5px;justify-content:center;align-items:center;min-width:29px;height:27px;padding:0 7px;display:inline-flex}.chart-navigation-actions button:hover:not(:disabled){color:#176b41;background:#eef8f3;border-color:#8db7a5}.chart-navigation-actions button:disabled{cursor:not-allowed;opacity:.42}.chart-navigation-actions .chart-latest-button{color:#176b41;width:auto;padding-inline:10px;font-size:10px;font-weight:800}.chart-navigation-divider{background:#d7e1dc;width:1px;height:20px;margin:0 3px}.chart-zoom-value{color:#445565;font-variant-numeric:tabular-nums;text-align:center;min-width:42px;font-size:10px;font-weight:800}.chart-navigation-hint{color:#748190;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.candle-chart-viewport{overscroll-behavior-x:contain;scrollbar-color:#9caaa3 #edf2ef;scrollbar-width:thin;background:#fbfcfd;border:1px solid #e1e8e4;width:100%;max-width:100%;overflow:auto hidden}.candle-chart-viewport::-webkit-scrollbar{height:10px}.candle-chart-viewport::-webkit-scrollbar-track{background:#edf2ef}.candle-chart-viewport::-webkit-scrollbar-thumb{background:#9caaa3;border:2px solid #edf2ef;border-radius:999px}.candle-chart-viewport.interactive{cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none}.candle-chart-viewport.interactive .candle-chart{cursor:grab}.candle-chart-viewport.dragging,.candle-chart-viewport.dragging .candle-chart{cursor:grabbing}.chart-bg{fill:#fbfcfd}.grid-line{stroke:#e2e8ee;stroke-width:1px}.grid-line.oscillator{stroke-dasharray:4 5}.range-start-line{stroke:#2f6fbb;stroke-dasharray:5 4;stroke-width:2px}.range-start-label{fill:#245f9f;paint-order:stroke;stroke:#fbfcfd;stroke-width:3px;font-size:11px;font-weight:900}.panel-divider{stroke:#cbd5df;stroke-width:1px}.axis-label{fill:#7a8794;font-size:11px}.chart-date-tick line{stroke:#aab6bf;stroke-width:1px}.chart-date-tick text{fill:#748190;text-anchor:middle;font-size:9px}.chart-crosshair{pointer-events:none}.chart-crosshair-line{stroke:#536273;stroke-dasharray:4 4;stroke-width:1px;vector-effect:non-scaling-stroke}.chart-crosshair-point{fill:#fff;stroke:#263646;stroke-width:1.5px;vector-effect:non-scaling-stroke}.chart-crosshair-label-bg{fill:#263646;stroke:#263646;stroke-width:1px}.chart-crosshair-label-text{fill:#fff;font-size:10px;font-weight:800}.chart-crosshair-label-text.price{text-anchor:end}.chart-crosshair-label-text.date{text-anchor:middle}.candle.up .wick,.candle.up .body{stroke:#168a56}.candle.up .body,.candle.up .volume{fill:#20a46a}.candle.down .wick,.candle.down .body{stroke:#c84a4a}.candle.down .body,.candle.down .volume{fill:#d95b5b}.volume{opacity:.24}.indicator-line{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.indicator-line.ema10{stroke:#256f8f}.indicator-line.ema20{stroke:#6f58b8}.indicator-line.ema30{stroke:#a76a14}.indicator-line.ema40{stroke:#4d5968}.indicator-line.ema50{stroke:#0f766e}.indicator-line.ema100{stroke:#9b4d1f}.indicator-line.ema200{stroke:#263646;stroke-dasharray:8 5}.indicator-line.prior-high{stroke:#8c6a13;stroke-dasharray:7 5}.indicator-line.fractal-ceiling{stroke:#1f6f9a;stroke-dasharray:10 4;stroke-width:2.3px}.indicator-line.fractal-floor{stroke:#9a3f3f;stroke-dasharray:10 4;stroke-width:2.3px}.indicator-line.trailing-stop{stroke:#b42318;stroke-dasharray:none;stroke-width:3px}.trailing-stop-dot{fill:#b42318;stroke:#fff;stroke-width:2px}.trailing-stop-label{fill:#9d3030;paint-order:stroke;stroke:#fff;stroke-linejoin:round;stroke-width:4px;text-anchor:end;font-size:12px;font-weight:800}.price-indicator-dot{stroke:#fff;stroke-width:2px}.price-indicator-tag-bg{fill:#2f62ff}.price-indicator-label{fill:#fff;letter-spacing:0;text-anchor:end;font-size:11px;font-weight:800}.price-indicator-marker.fractal-ceiling .price-indicator-dot,.price-indicator-tag-bg.fractal-ceiling{fill:#22a967}.price-indicator-marker.fractal-floor .price-indicator-dot,.price-indicator-tag-bg.fractal-floor{fill:#ff525f}.price-indicator-marker.supertrend .price-indicator-dot,.price-indicator-tag-bg.supertrend{fill:#2f62ff}.indicator-line.supertrend{stroke:#168a56;stroke-width:2.4px}.indicator-line.volume-sma{stroke:#7b8794;stroke-dasharray:3 4;stroke-width:1.8px}.indicator-line.rsi{stroke:#256f8f}.indicator-line.cci{stroke:#7c4d9d}.indicator-line.macd{stroke:#1f6f9a}.indicator-line.macd-signal{stroke:#b36b1f}.macd-hist-bar{opacity:.68;shape-rendering:crispedges}.macd-hist-bar.positive{fill:#168a56}.macd-hist-bar.negative{fill:#c84a4a}.indicator-line.stoch-k{stroke:#168a56}.indicator-line.stoch-d{stroke:#b34343}.risk-line{stroke-dasharray:9 5;stroke-width:2px}.risk-line.entry{stroke:#0f6f4f}.risk-line.stop-loss{stroke:#c84a4a}.risk-line.take-profit{stroke:#168a56}.risk-dot.entry{fill:#0f6f4f;stroke:#fff;stroke-width:2px}.risk-label{paint-order:stroke;stroke:#fff;stroke-linejoin:round;stroke-width:4px;text-anchor:end;font-size:12px;font-weight:800}.risk-label.entry{fill:#0f513b}.risk-label.stop-loss{fill:#9d3030}.risk-label.take-profit{fill:#176b41}.entry-line{stroke:#0f6f4f;stroke-dasharray:9 5;stroke-width:2px}.entry-dot{fill:#0f6f4f;stroke:#fff;stroke-width:2px}.entry-label{fill:#0f513b;paint-order:stroke;stroke:#fff;stroke-linejoin:round;stroke-width:4px;text-anchor:end;font-size:12px;font-weight:800}.indicator-legend{color:#586676;flex-wrap:wrap;gap:7px 12px;padding:2px 2px 0;font-size:11px;display:flex}.legend-item{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.legend-item i{background:#7b8794;border-radius:999px;width:16px;height:3px;display:block}.legend-item.ema10 i,.legend-item.rsi i{background:#256f8f}.legend-item.cci i{background:#7c4d9d}.legend-item.macd i{background:#1f6f9a}.legend-item.macd-signal i{background:#b36b1f}.legend-item.macd-hist i{background:linear-gradient(90deg,#c84a4a 0 48%,#0000 48% 52%,#168a56 52% 100%);border-radius:2px;height:9px}.legend-item.ema20 i{background:#6f58b8}.legend-item.ema30 i{background:#a76a14}.legend-item.ema40 i{background:#4d5968}.legend-item.ema50 i{background:#0f766e}.legend-item.ema100 i{background:#9b4d1f}.legend-item.ema200 i{background:repeating-linear-gradient(90deg,#263646 0 8px,#0000 8px 13px)}.legend-item.prior-high i{background:repeating-linear-gradient(90deg,#8c6a13 0 7px,#0000 7px 11px)}.legend-item.fractal-ceiling i{background:repeating-linear-gradient(90deg,#1f6f9a 0 8px,#0000 8px 12px)}.legend-item.fractal-floor i{background:repeating-linear-gradient(90deg,#9a3f3f 0 8px,#0000 8px 12px)}.legend-item.supertrend i,.legend-item.stoch-k i{background:#168a56}.legend-item.stoch-d i{background:#b34343}.indicator-lamps{grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:7px;padding:8px 2px 0;display:grid}.lamp-item{background:#f8fafb;border:1px solid #dce5ed;border-radius:7px;grid-template-rows:auto auto;grid-template-columns:10px minmax(0,1fr);align-items:center;gap:1px 6px;min-width:0;padding:7px 8px;display:grid}.lamp-item i{border-radius:999px;grid-row:1/3;width:10px;height:10px;box-shadow:0 0 0 3px #0f172a0d}.lamp-item strong,.lamp-item small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lamp-item strong{color:#263646;font-size:11px}.lamp-item small{color:#6d7a88;font-size:11px}.lamp-item.green{background:#effaf3;border-color:#b8dec9}.lamp-item.green i{background:#168a56}.lamp-item.yellow{background:#fff9e8;border-color:#ead99b}.lamp-item.yellow i{background:#c4891b}.lamp-item.red{background:#fff1f1;border-color:#efc2c2}.lamp-item.red i{background:#c84a4a}.risk-note{color:#176b41;background:#effaf3;border:1px solid #b8dec9;border-radius:6px;flex-wrap:wrap;align-self:flex-start;align-items:center;gap:8px;margin-top:8px;padding:5px 8px;font-size:12px;display:inline-flex}.risk-note span{align-items:center;gap:5px;display:inline-flex}.risk-note strong{text-transform:uppercase;font-size:11px}.chart-empty{color:#748190;place-items:center;height:320px;display:grid}.chart-fullscreen{width:100vw;height:100vh;margin:0;padding:12px;overflow:hidden}.chart-fullscreen .topbar,.chart-fullscreen .metrics-grid,.chart-fullscreen .ranking-panel,.chart-fullscreen .research-grid,.chart-fullscreen .lower-grid,.chart-fullscreen .error-strip,.chart-fullscreen .process-strip{display:none}.chart-fullscreen .dashboard-grid{grid-template-columns:minmax(300px,360px) minmax(0,1fr);align-items:stretch;gap:12px;height:calc(100vh - 24px)}.chart-fullscreen .stock-panel,.chart-fullscreen .chart-panel{flex-direction:column;height:100%;min-height:0;display:flex}.chart-fullscreen .stock-table{flex:1;max-height:none}.chart-fullscreen .main-column{min-height:0}.chart-fullscreen .chart-shell{flex-direction:column;flex:1;min-height:0;display:flex}.chart-fullscreen .candle-chart{flex:1;min-height:0;max-height:none}.lower-grid{grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:14px;display:grid}.signals-list,.sector-list,.ranking-list{max-height:430px;overflow:auto}.signal-item{border-bottom:1px solid #edf1f5;padding:12px 14px}.signal-top{grid-template-columns:66px minmax(0,1fr) 42px;align-items:center;gap:10px;display:grid}.signal-top strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.signal-item p{color:#536273;margin:8px 0;font-size:13px;line-height:1.45}.risk-row{flex-wrap:wrap;gap:8px;display:flex}.risk-row span{color:#526070;border:1px solid #dce4ec;border-radius:6px;padding:4px 7px;font-size:12px}.risk-source{color:#667584;flex-wrap:wrap;gap:7px;margin-top:8px;font-size:11px;display:flex}.risk-source span{background:#f2f6f8;border-radius:5px;padding:3px 6px}.sector-row{border-bottom:1px solid #edf1f5;grid-template-columns:minmax(0,1fr) 96px;align-items:center;gap:12px;padding:10px 14px;display:grid}.sector-row strong,.sector-row span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.sector-row span{color:#6d7a88;font-size:12px}.sector-bar{background:#e8edf2;border-radius:6px;height:8px;overflow:hidden}.sector-bar i{background:#2b8a7e;height:100%;display:block}.ranking-list button{text-align:left;background:#fff;border:0;border-bottom:1px solid #edf1f5;grid-template-columns:30px 54px 68px 38px minmax(0,1fr);align-items:center;gap:8px;width:100%;min-height:44px;padding:8px 12px;display:grid}.ranking-list button:hover{background:#f5f9fa}.rank{color:#748190;font-weight:700}.ranking-list small{color:#667584;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.research-grid{grid-template-columns:minmax(420px,1fr) minmax(0,1.6fr);align-items:start;gap:14px;margin-top:14px;display:grid}.backtest-detail-panel{grid-row:span 2}.strategy-table,.trade-table,.outcome-table,.forward-table,.run-stock-table,.fit-list{overflow:auto}.strategy-table{max-height:430px}.strategy-row{color:#263646;text-align:left;background:#fff;border:0;border-bottom:1px solid #edf1f5;grid-template-columns:46px minmax(160px,1fr) 58px 64px 54px 76px 72px 62px;align-items:center;gap:10px;width:100%;min-height:44px;padding:8px 12px;display:grid}.strategy-row.header,.trade-row.header,.outcome-row.header{z-index:1;color:#697786;text-transform:uppercase;background:#f7fafc;min-height:36px;font-size:11px;font-weight:800;position:sticky;top:0}.strategy-row:not(.header):hover,.strategy-row.selected{background:#edf6f5}.strategy-row strong,.trade-row strong,.forward-row strong,.run-stock-row strong,.outcome-row strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.forward-stats{border-bottom:1px solid #edf1f5;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px;display:grid}.forward-stats div{background:#f8fafb;border:1px solid #e1e8ef;border-radius:7px;min-width:0;padding:8px}.forward-stats span,.forward-stats strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.forward-stats span{color:#6d7a88;font-size:11px}.forward-stats strong{color:#263646;margin-top:3px;font-size:15px}.forward-table{max-height:310px}.forward-row{color:#263646;text-align:left;background:#fff;border:0;border-bottom:1px solid #edf1f5;grid-template-columns:58px minmax(116px,1fr) 82px 82px 72px minmax(112px,1fr) 58px 42px;align-items:center;gap:8px;width:100%;min-height:40px;padding:7px 12px;display:grid}.forward-row.header{z-index:1;color:#6d7a88;text-transform:uppercase;background:#f8fafb;min-height:34px;font-size:11px;font-weight:800;position:sticky;top:0}.forward-row:not(.header):hover{background:#f5f9fa}.forward-row span{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.run-strip{border-bottom:1px solid #edf1f5;gap:8px;padding:10px 12px;display:flex;overflow:auto}.run-pill{color:#263646;text-align:left;background:#fff;border:1px solid #d7dfe7;border-radius:8px;flex-direction:column;justify-content:center;align-items:flex-start;gap:3px;min-width:190px;min-height:48px;padding:7px 10px;display:inline-flex}.run-pill.selected{background:#edf6f5;border-color:#2b8a7e}.run-pill strong{text-overflow:ellipsis;white-space:nowrap;max-width:168px;overflow:hidden}.run-pill span{color:#687685;text-overflow:ellipsis;white-space:nowrap;max-width:168px;font-size:11px;overflow:hidden}.selected-run-summary{background:#fbfcfd;border-bottom:1px solid #edf1f5;grid-template-columns:minmax(160px,1.2fr) minmax(190px,1.4fr) repeat(3,minmax(92px,.8fr));gap:8px;padding:12px;display:grid}.selected-run-summary div{background:#fff;border:1px solid #e1e8ef;border-radius:7px;min-width:0;padding:8px}.selected-run-summary span,.selected-run-summary strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.selected-run-summary span{color:#6d7a88;font-size:11px}.selected-run-summary strong{margin-top:3px;font-size:14px}.equity-chart-shell{padding:12px 14px}.equity-chart{cursor:crosshair;width:100%;height:auto;max-height:260px;display:block}.equity-path{fill:none;stroke:#2b6f8f;stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.trade-table{border-top:1px solid #edf1f5;max-height:332px}.run-stock-table{border-top:1px solid #edf1f5;max-height:300px}.run-stock-row{color:#263646;text-align:left;background:#fff;border:0;border-bottom:1px solid #edf1f5;grid-template-columns:62px 54px 58px 72px 72px 72px 72px 52px;align-items:center;gap:8px;width:100%;min-height:38px;padding:7px 12px;display:grid}.run-stock-row.header{z-index:1;color:#6d7a88;text-transform:uppercase;background:#f8fafb;min-height:34px;font-size:11px;font-weight:800;position:sticky;top:0}.run-stock-row:not(.header):hover{background:#f5f9fa}.run-stock-row.selected{background:#edf6f5}.run-stock-row span{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.trade-row{border-bottom:1px solid #edf1f5;grid-template-columns:62px 82px 82px 82px 82px 72px 46px minmax(100px,1fr);align-items:center;gap:9px;min-height:38px;padding:7px 12px;font-size:12px;display:grid}.stock-performance-panel,.outcome-panel{min-height:320px}.fit-list{max-height:360px}.fit-list button{text-align:left;background:#fff;border:0;border-bottom:1px solid #edf1f5;grid-template-columns:58px minmax(0,1fr) 70px 70px;align-items:center;gap:8px;width:100%;min-height:40px;padding:7px 12px;display:grid}.fit-list button:hover{background:#f5f9fa}.fit-list span,.fit-list small{color:#667584;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.outcome-table{max-height:360px}.outcome-row{border-bottom:1px solid #edf1f5;grid-template-columns:minmax(130px,1fr) 58px 72px 72px 62px;align-items:center;gap:8px;min-height:38px;padding:7px 12px;font-size:12px;display:grid}@media (width<=1280px){.metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid{grid-template-columns:320px minmax(0,1fr)}.ranking-panel{grid-column:1/-1}.research-grid{grid-template-columns:1fr}.backtest-detail-panel{grid-row:auto}}@media (width<=900px){.app-shell{width:min(100vw - 20px,760px);padding-top:12px}.topbar{flex-direction:column;align-items:flex-start}.toolbar,.segmented,.select-wrap,.process-button{width:100%}.segmented button,.select-wrap select{flex:1;min-width:0}.metrics-grid,.dashboard-grid,.lower-grid,.research-grid{grid-template-columns:1fr}.stock-table,.signals-list,.sector-list,.ranking-list{max-height:none}.stock-row{grid-template-columns:56px minmax(82px,1fr) 58px 70px 36px}.strategy-row{grid-template-columns:40px minmax(130px,1fr) 52px 56px 48px 66px 66px 54px;min-width:640px}.trade-row{min-width:720px}.run-stock-row{min-width:650px}.selected-run-summary{grid-template-columns:1fr}.forward-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.forward-row{min-width:760px}.outcome-row{min-width:460px}.fit-list button{grid-template-columns:54px minmax(0,1fr) 64px 62px}}.decision-metrics{grid-template-columns:repeat(6,minmax(0,1fr))}.decision-grid{grid-template-columns:1fr;align-items:start;gap:14px;display:grid}.strategy-sidebar{position:static}.strategy-strip{overflow:hidden}.decision-grid .main-column{grid-template-columns:minmax(520px,.92fr) minmax(0,1.35fr);align-items:start;gap:14px;display:grid}.decision-grid .main-column>.shortlist-panel{min-width:0}.chart-decision-column{align-content:start;gap:14px;min-width:0;display:grid}.strategy-card-list{scrollbar-width:thin;grid-auto-columns:minmax(250px,1fr);grid-auto-flow:column;max-height:none;display:grid;overflow:auto hidden}.strategy-card{color:#263646;text-align:left;background:#fff;border:0;border-right:1px solid #edf1f5;gap:9px;width:100%;min-height:88px;padding:12px 14px;display:grid}.strategy-card:last-child{border-right:0}.strategy-card:hover,.strategy-card.selected{background:#edf6f5}.strategy-card strong,.strategy-card span{text-overflow:ellipsis;display:block;overflow:hidden}.strategy-card strong{line-height:1.25}.strategy-card>div>span{color:#657282;margin-top:3px;font-size:12px}.strategy-card-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.strategy-card-metrics span{color:#526070;text-align:center;white-space:nowrap;background:#f8fafb;border:1px solid #dce5ed;border-radius:6px;padding:5px 6px;font-size:11px;font-weight:700}.shortlist-panel{overflow:hidden}.watchlist-controls{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.segmented.compact button{min-width:54px;height:32px;font-size:11px}.shortlist-summary{background:#fbfcfd;border-bottom:1px solid #edf1f5;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px 14px;display:grid}.shortlist-summary div{background:#fff;border:1px solid #e1e8ef;border-radius:7px;min-width:0;padding:8px}.shortlist-summary span,.shortlist-summary strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.shortlist-summary span{color:#6d7a88;font-size:11px}.shortlist-summary strong{margin-top:3px;font-size:17px}.recommendation-table{height:clamp(460px,100vh - 360px,760px);overflow:auto}.recommendation-row{color:#263646;text-align:left;background:#fff;border:0;border-bottom:1px solid #edf1f5;grid-template-columns:36px minmax(96px,1fr) 72px 110px 96px 72px 64px 66px 56px 56px 82px;align-items:center;gap:9px;width:100%;min-width:920px;min-height:44px;padding:8px 12px;display:grid}.recommendation-row.header{z-index:2;color:#697786;text-transform:uppercase;cursor:default;background:#f7fafc;min-height:36px;font-size:11px;font-weight:800;position:sticky;top:0}.recommendation-row:not(.header):hover,.recommendation-row.selected{background:#edf6f5}.recommendation-row strong,.recommendation-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ticker-cell{align-items:center;gap:5px;min-width:0;display:inline-flex}.ticker-symbol{min-width:0}.pso-ticker-tag{color:#176b63;text-overflow:clip;background:#effaf8;border:1px solid #b7d8d3;border-radius:5px;flex:none;justify-content:center;align-items:center;height:18px;padding:0 5px;font-size:9px;font-weight:900;line-height:1;display:inline-flex;overflow:visible}.empty-state{color:#6d7a88;place-items:center;min-height:120px;font-size:13px;display:grid}.decision-body{gap:14px;padding:14px;display:grid}.decision-symbol{justify-content:space-between;align-items:center;gap:12px;display:flex}.decision-symbol strong{font-size:28px;line-height:1}.decision-body p{color:#536273;margin:0;font-size:13px;line-height:1.45}.decision-stats,.risk-plan{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.decision-stats div,.risk-plan div{background:#f8fafb;border:1px solid #e1e8ef;border-radius:7px;min-width:0;padding:9px}.decision-stats span,.decision-stats strong,.risk-plan span,.risk-plan strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.decision-stats span,.risk-plan span{color:#6d7a88;font-size:11px}.decision-stats strong,.risk-plan strong{margin-top:4px;font-size:15px}.signal-stack{gap:8px;display:grid}.signal-mini{background:#fff;border:1px solid #e1e8ef;border-radius:7px;grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:8px;padding:8px;display:grid}.signal-mini.active{background:#effaf8;border-color:#93cfc7}.signal-mini div{align-items:center;gap:8px;min-width:0;display:flex}.signal-mini strong,.signal-mini span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.signal-mini strong{font-size:12px}.evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;margin-top:14px;display:grid}.recent-trades-panel{grid-column:2}.compact-row{grid-template-columns:58px minmax(118px,1fr) 58px 72px minmax(114px,1fr) 64px}.compact-trade-row{grid-template-columns:62px 82px 82px 82px 82px 72px minmax(100px,1fr)}.backtest-page,.ai-quantz-page,.ai-cycle-stock-page,.ai-riged-regression-page{gap:14px;margin-top:14px;display:grid}.ai-quantz-control-panel,.ai-quantz-prediction-panel,.ai-quantz-metrics-panel,.ai-quantz-table-panel,.ai-cycle-stock-panel,.ai-cycle-stock-saved-panel,.ai-cycle-stock-table-panel,.ai-riged-regression-panel,.ai-riged-regression-table-panel{overflow:hidden}.ai-quantz-controls{background:#fbfcfd;flex-wrap:wrap;align-items:center;gap:10px;padding:12px;display:flex}.ai-quantz-controls .select-wrap{flex:300px}.ai-quantz-controls .select-wrap select{width:100%;min-width:0}.process-button.ai-quantz-predict-all-button{background:#2d6386;border-color:#285a7a}.process-button.ai-cycle-stock-predict-button{background:#2d6386;border-color:#285a7a;min-width:184px}.ai-cycle-stock-predict-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.process-button.ai-cycle-stock-pickle-button{min-width:172px}.process-button.ai-riged-regression-predict-button{background:#2d6386;border-color:#285a7a;min-width:146px}.process-button.ai-cycle-stock-predict-button span,.process-button.ai-riged-regression-predict-button span{color:#fff}.ai-riged-regression-controls{background:#fbfcfd;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;padding:12px;display:flex}.ai-riged-regression-refresh-toggle{color:#263646;background:#fff;border:1px solid #cbd5df;border-radius:8px;align-items:center;gap:8px;min-height:32px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.ai-riged-regression-refresh-toggle input{accent-color:#237c72;width:15px;height:15px;margin:0}.ai-riged-regression-progress-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.ai-riged-regression-progress-grid div{background:#fff;border:1px solid #dfe6ee;border-radius:8px;gap:3px;min-width:0;padding:8px;display:grid}.ai-riged-regression-progress-grid span,.ai-riged-regression-symbol-chip span,.ai-riged-regression-symbol-chip em{color:#657282;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-style:normal;font-weight:800;overflow:hidden}.ai-riged-regression-progress-grid strong{color:#18202a;text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.ai-riged-regression-symbol-progress{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.ai-riged-regression-symbol-chip{background:#fff;border:1px solid #dfe6ee;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;min-width:0;padding:8px;display:grid}.ai-riged-regression-symbol-chip strong{color:#18202a;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.ai-riged-regression-symbol-chip span{justify-self:end}.ai-riged-regression-symbol-chip em{grid-column:1/3}.ai-riged-regression-symbol-chip.synced{background:#edf8f5;border-color:#94d0c5}.ai-riged-regression-symbol-chip.skipped{background:#fff9e8;border-color:#d7c89a}.ai-riged-regression-symbol-chip.cached{background:#eef6ff;border-color:#9ab9d7}.ai-riged-regression-symbol-chip.failed{background:#fff1f0;border-color:#e3aaa5}.ai-quantz-table-actions,.ai-cycle-stock-table-actions{justify-content:flex-end;align-items:center;gap:10px;display:inline-flex}.process-button.ai-quantz-save-button,.process-button.ai-cycle-stock-save-button{background:#2d6f9f;border-color:#245e8c;min-width:82px;height:32px}.process-button.ai-quantz-save-button span,.process-button.ai-cycle-stock-save-button span{color:#fff}.ai-cycle-stock-filters{background:#fbfcfd;border-top:1px solid #edf1f5;flex-wrap:wrap;align-items:center;gap:10px;padding:12px;display:flex}.ai-cycle-stock-filters .select-wrap{flex:220px}.ai-cycle-stock-filters .select-wrap select{width:100%;min-width:0}.ai-cycle-detail-page{gap:14px;padding:16px;display:grid}.ai-cycle-detail-hero{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px 18px;padding:16px;display:grid}.ai-cycle-detail-hero>p{color:#536170;grid-column:2;max-width:900px;margin:0;font-size:13px;line-height:1.6}.ai-cycle-detail-identity{justify-content:space-between;align-items:center;gap:16px;display:flex}.ai-cycle-detail-identity div{gap:2px;display:grid}.ai-cycle-detail-identity span{color:#6b7785;letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:800}.ai-cycle-detail-identity h2{color:#15212c;margin:0;font-size:30px}.ai-cycle-detail-layout{grid-template-columns:minmax(0,1.65fr) minmax(310px,.7fr);gap:14px;min-height:680px;display:grid}.ai-cycle-detail-chart-panel{flex-direction:column;min-width:0;display:flex;overflow:hidden}.ai-cycle-detail-chart{flex:auto;min-height:590px;padding:10px}.ai-cycle-detail-chart .chart-shell{height:100%;min-height:570px}.ai-cycle-detail-sidebar{align-content:start;gap:14px;min-width:0;display:grid}.ai-cycle-detail-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px;display:grid}.ai-cycle-detail-metric-grid>div{background:#fbfdfc;border:1px solid #e0e8ee;border-radius:8px;gap:3px;min-width:0;padding:10px;display:grid}.ai-cycle-detail-metric-grid span,.ai-cycle-detail-metric-grid small{color:#6a7683;text-overflow:ellipsis;font-size:10px;font-weight:800;overflow:hidden}.ai-cycle-detail-metric-grid strong{color:#1b2833;text-overflow:ellipsis;font-size:13px;overflow:hidden}.ai-cycle-probability-list{gap:10px;padding:12px;display:grid}.ai-cycle-probability-list>div{color:#64717e;grid-template-columns:92px minmax(60px,1fr) 48px;align-items:center;gap:8px;font-size:11px;font-weight:800;display:grid}.ai-cycle-probability-list>div.selected{color:#176b58}.ai-cycle-probability-list>div>div{background:#e6ecef;border-radius:999px;height:7px;overflow:hidden}.ai-cycle-probability-list i{border-radius:inherit;background:#7d93a5;height:100%;display:block}.ai-cycle-probability-list .selected i{background:#21806d}.ai-cycle-probability-list strong{text-align:right}.ai-cycle-smoothing-note{color:#286554;background:#f0f8f5;border:1px solid #cfe2dc;border-radius:8px;gap:9px;margin:0 12px 12px;padding:10px;display:flex}.ai-cycle-smoothing-note div{gap:3px;display:grid}.ai-cycle-smoothing-note strong{font-size:11px}.ai-cycle-smoothing-note span{color:#56736a;font-size:10px;line-height:1.45}.ai-cycle-xai-evidence{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:12px;display:grid}.ai-cycle-xai-evidence article{background:#fbfcfd;border:1px solid #e0e7ec;border-radius:9px;gap:8px;padding:12px;display:grid}.ai-cycle-xai-evidence article.supports{background:#f2faf7;border-color:#a9d3c7}.ai-cycle-xai-evidence article>div{color:#667482;align-items:center;gap:7px;display:flex}.ai-cycle-xai-evidence article.supports>div{color:#23715e}.ai-cycle-xai-evidence article strong,.ai-cycle-xai-evidence article small{font-size:10px}.ai-cycle-xai-evidence article b{color:#17232e;font-size:15px}.ai-cycle-xai-evidence article p{color:#65727f;min-height:34px;margin:0;font-size:11px;line-height:1.5}.ai-cycle-xai-evidence article small{color:#788490;font-weight:800}.ai-cycle-evidence-dot{border:2px solid #9ca8b3;border-radius:50%;width:9px;height:9px}.ai-cycle-xai-caveat{color:#75818d;margin:0;padding:0 12px 12px;font-size:10px;line-height:1.5}.error-strip.inline{margin:0 12px 12px}.ai-quantz-status-grid,.ai-cycle-stock-status-grid,.ai-riged-regression-status-grid,.ai-quantz-metric-grid,.ai-quantz-prediction-detail{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px;display:grid}.ai-quantz-status-grid,.ai-cycle-stock-status-grid,.ai-riged-regression-status-grid{border-top:1px solid #e7edf2}.ai-riged-regression-status-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ai-quantz-progress-panel{color:#4f5420;background:#fafbe9;border:1px solid #d8dcba;border-radius:8px;gap:12px;margin:0 12px 12px;padding:10px 12px;font-size:12px;display:grid}.ai-quantz-progress-head,.ai-quantz-progress-foot{justify-content:space-between;align-items:center;gap:12px;display:flex}.ai-quantz-progress-head span,.ai-quantz-progress-foot span{color:#6d7140}.ai-quantz-progress-actions{justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:inline-flex}.ai-quantz-stop-button{color:#fff;background:#9d3d3d;border:1px solid #8b3434;border-radius:6px;justify-content:center;align-items:center;gap:5px;min-width:68px;height:28px;padding:0 10px;font-size:11px;font-weight:700;display:inline-flex}.ai-quantz-stop-button:disabled{cursor:not-allowed;opacity:.68}.ai-quantz-stop-button span,.ai-quantz-progress-panel.prediction .ai-quantz-stop-button span{color:#fff}.ai-quantz-progress-track{background:#e8ebcb;border-radius:999px;height:10px;overflow:hidden}.ai-quantz-progress-bar{border-radius:inherit;background:#666b31;height:100%;transition:width .25s}.ai-quantz-progress-panel.ohlc{color:#176457;background:#eef8f6;border-color:#b8d8d1}.ai-quantz-progress-panel.ohlc .ai-quantz-progress-head span,.ai-quantz-progress-panel.ohlc .ai-quantz-progress-foot span{color:#467970}.ai-quantz-progress-panel.ohlc .ai-quantz-progress-track{background:#d2ece7}.ai-quantz-progress-bar.ohlc{background:#1d7768}.ai-quantz-progress-panel.prediction{color:#285a7a;background:#f0f7fb;border-color:#c3d8e5}.ai-quantz-progress-panel.prediction .ai-quantz-progress-head span,.ai-quantz-progress-panel.prediction .ai-quantz-progress-foot span{color:#4f738a}.ai-quantz-progress-panel.prediction .ai-quantz-progress-track{background:#d8e8f1}.ai-quantz-progress-bar.prediction{background:#2d6386}.ai-quantz-status-grid div,.ai-cycle-stock-status-grid div,.ai-riged-regression-status-grid div,.ai-quantz-metric-grid div,.ai-quantz-prediction-detail div,.ai-quantz-prediction-main div{background:#fff;border:1px solid #dfe6ee;border-radius:8px;gap:6px;min-width:0;padding:12px;display:grid}.ai-quantz-status-grid span,.ai-cycle-stock-status-grid span,.ai-riged-regression-status-grid span,.ai-quantz-metric-grid span,.ai-quantz-prediction-detail span,.ai-quantz-prediction-main span{color:#657282;font-size:12px;font-weight:700}.ai-quantz-status-grid strong,.ai-cycle-stock-status-grid strong,.ai-riged-regression-status-grid strong,.ai-quantz-metric-grid strong,.ai-quantz-prediction-detail strong,.ai-quantz-prediction-main strong{color:#18202a;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ai-quantz-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:14px;display:grid}.ai-cycle-stock-table{border-top:1px solid #edf1f5;overflow-x:auto}.ai-cycle-stock-saved-batch-table{background:#fff;border-top:1px solid #edf1f5;max-height:260px;overflow:auto}.ai-cycle-stock-saved-batch-row{color:#263646;text-align:left;background:#fff;border:0;border-bottom:1px solid #edf1f5;grid-template-columns:112px 78px 78px 78px 88px 104px;align-items:center;gap:8px;width:100%;min-width:600px;min-height:40px;padding:7px 12px;font-size:12px;display:grid}.ai-cycle-stock-saved-batch-row.header{z-index:1;color:#6d7a88;text-transform:uppercase;background:#f8fafb;min-height:36px;font-size:11px;font-weight:800;position:sticky;top:0}.ai-cycle-stock-saved-batch-row:not(.header):hover,.ai-cycle-stock-saved-batch-row.selected{background:#edf6f5}.ai-cycle-stock-saved-batch-row strong,.ai-cycle-stock-saved-batch-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ai-cycle-stock-row{background:#fff;border-bottom:1px solid #edf1f5;grid-template-columns:104px 98px 100px 104px 82px 136px 128px 112px 112px 104px 104px 220px 112px;align-items:center;min-width:1516px;min-height:48px;display:grid}.ai-cycle-stock-row.header{background:#f8fafc;min-height:42px}.ai-cycle-stock-row:not(.header){cursor:pointer;transition:background .14s,box-shadow .14s}.ai-cycle-stock-row:not(.header):hover{z-index:1;background:#f2f8ff;position:relative;box-shadow:inset 3px 0 #3478bd}.ai-cycle-stock-row:not(.header):focus-visible{z-index:2;outline-offset:-2px;background:#f2f8ff;outline:2px solid #3478bd;position:relative}.ai-cycle-stock-row strong,.ai-cycle-stock-row span{color:#18202a;text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:0 10px;font-size:12px;overflow:hidden}.ai-cycle-stock-symbol-cell{align-items:center;gap:6px;min-width:0;padding:0 10px;display:flex}.ai-cycle-stock-symbol-cell>strong{padding:0}.ai-cycle-stock-symbol-cell>.ai-cycle-stock-new-tag{color:#175f9f;letter-spacing:.05em;background:#e9f4ff;border:1px solid #83b5e8;border-radius:999px;flex:none;padding:3px 6px;font-size:8px;font-weight:900}.ai-cycle-stock-row .model-grade{color:#4b5968;background:#eef2f6;border-radius:999px;justify-content:center;justify-self:start;align-items:center;min-width:44px;height:24px;margin-left:10px;padding:0 8px;font-weight:800;display:inline-flex}.ai-cycle-stock-row .cycle-phase,.portfolio-transaction-row .cycle-phase,.active-buy-cycle .cycle-phase,.recommendation-row .cycle-phase{color:#4b5968;background:#eef2f6;border-radius:999px;justify-content:center;justify-self:start;align-items:center;max-width:calc(100% - 20px);height:24px;margin-left:10px;padding:0 8px;font-weight:800;display:inline-flex}.active-buy-cycle .cycle-phase,.recommendation-row .cycle-phase{max-width:100%;margin-left:0}.recommendation-row .cycle-phase{height:20px;padding:0 6px;font-size:11px;line-height:20px}.ai-cycle-stock-row .cycle-phase.accumulation,.portfolio-transaction-row .cycle-phase.accumulation,.active-buy-cycle .cycle-phase.accumulation,.recommendation-row .cycle-phase.accumulation{color:#16633d;background:#e7f6ee}.ai-cycle-stock-row .cycle-phase.markup,.portfolio-transaction-row .cycle-phase.markup,.active-buy-cycle .cycle-phase.markup,.recommendation-row .cycle-phase.markup{color:#205ea8;background:#e8f2ff}.ai-cycle-stock-row .cycle-phase.distribution,.portfolio-transaction-row .cycle-phase.distribution,.active-buy-cycle .cycle-phase.distribution,.recommendation-row .cycle-phase.distribution{color:#98620f;background:#fff2d9}.ai-cycle-stock-row .cycle-phase.markdown,.portfolio-transaction-row .cycle-phase.markdown,.active-buy-cycle .cycle-phase.markdown,.recommendation-row .cycle-phase.markdown{color:#ae2f2f;background:#ffe7e7}.ai-cycle-stock-row .cycle-phase.sideways,.portfolio-transaction-row .cycle-phase.sideways,.active-buy-cycle .cycle-phase.sideways,.recommendation-row .cycle-phase.sideways{color:#536273;background:#eef1f5}.cycle-stock-modal-phase{color:#536273;letter-spacing:.04em;text-transform:uppercase;background:#eef1f5;border-radius:999px;align-items:center;min-height:24px;padding:0 9px;font-size:10px;font-weight:900;display:inline-flex}.cycle-stock-modal-phase.accumulation{color:#16633d;background:#e7f6ee}.cycle-stock-modal-phase.markup{color:#205ea8;background:#e8f2ff}.cycle-stock-modal-phase.distribution{color:#98620f;background:#fff2d9}.cycle-stock-modal-phase.markdown{color:#ae2f2f;background:#ffe7e7}.ai-cycle-stock-row .model-grade.good{color:#16814b;background:#e8f7ef}.ai-cycle-stock-row .model-grade.neutral{color:#9b6500;background:#fff7e6}.ai-cycle-stock-row .model-grade.bad{color:#b42318;background:#ffecec}.ai-riged-regression-table{border-top:1px solid #edf1f5;max-height:620px;overflow:auto}.ai-riged-regression-row{color:#263646;background:#fff;border-bottom:1px solid #edf1f5;grid-template-columns:94px 54px 78px 166px 72px 90px 100px 88px 78px 86px 76px minmax(240px,1fr);align-items:center;gap:8px;min-width:1280px;min-height:42px;padding:7px 12px;font-size:12px;display:grid}.ai-riged-regression-row.header{z-index:1;color:#6d7a88;text-transform:uppercase;background:#f8fafb;min-height:36px;font-size:11px;font-weight:800;position:sticky;top:0}.ai-riged-regression-row strong,.ai-riged-regression-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ai-riged-regression-signal{color:#4b5968;background:#eef2f6;border-radius:6px;justify-content:center;justify-self:start;align-items:center;max-width:calc(100% - 2px);min-height:24px;padding:0 8px;font-size:11px;font-weight:800;display:inline-flex}.ai-riged-regression-signal.buy{color:#16814b;background:#e8f7ef}.ai-riged-regression-signal.cash{color:#9b6500;background:#fff7e6}.ai-riged-regression-signal.blocked{color:#b42318;background:#ffecec}.ai-riged-regression-progress{color:#285a7a;background:#f0f7fb;border-color:#c3d8e5}.ai-riged-regression-retrain{background:#fff;border:1px solid #dfe6ee;border-radius:8px;gap:12px;margin:0 12px 12px;padding:12px;display:grid}.ai-riged-regression-retrain-head{grid-template-columns:.9fr 1fr 1.05fr 1fr 1fr 1.35fr;gap:10px;display:grid}.ai-riged-regression-retrain-head>div{background:#f8fafb;border:1px solid #e3eaf0;border-radius:8px;gap:5px;min-width:0;padding:10px;display:grid}.ai-riged-regression-retrain-head span,.ai-riged-regression-retrain-head small,.ai-riged-regression-retrain-item span,.ai-riged-regression-retrain-item em{color:#657282;font-size:12px;font-style:normal;font-weight:700}.ai-riged-regression-retrain-head small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ai-riged-regression-retrain-head strong{color:#18202a;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:16px;overflow:hidden}.ai-riged-regression-retrain-select{appearance:auto;color:#536273;cursor:pointer;background:#fff;border:1px solid #d8e2ea;border-radius:7px;width:100%;min-width:0;min-height:34px;padding:5px 8px;font-size:13px;font-weight:900}.ai-riged-regression-retrain-progress{background:#e7edf2;border-radius:999px;height:10px;overflow:hidden}.ai-riged-regression-retrain-progress div{border-radius:inherit;background:linear-gradient(90deg,#237c72,#2d6386);height:100%;transition:width .25s}.ai-riged-regression-retrain-list{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.ai-riged-regression-retrain-item{background:#fff;border:1px solid #dfe6ee;border-radius:8px;grid-template-rows:auto auto auto;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:5px 8px;min-height:118px;padding:9px;display:grid}.ai-riged-regression-retrain-marker{color:#4b5968;background:#eef2f6;border-radius:999px;grid-row:1/4;justify-content:center;align-items:center;width:28px;height:28px;font-weight:900;display:inline-flex}.ai-riged-regression-retrain-item div{gap:2px;min-width:0;display:grid}.ai-riged-regression-retrain-item strong,.ai-riged-regression-retrain-item span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ai-riged-regression-retrain-item strong{color:#18202a;font-size:13px}.ai-riged-regression-retrain-item em{color:#536273;background:#eef2f6;border-radius:999px;grid-column:2;justify-self:start;min-height:22px;padding:3px 7px;line-height:1.3}.ai-riged-regression-retrain-pnl{background:#fff;border:1px solid #e0e7ef;border-radius:7px;grid-template-columns:minmax(0,1fr);gap:3px;min-width:0;padding:5px 6px;display:grid}.ai-riged-regression-retrain-pnl span{color:#657282;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11px;font-weight:800;overflow:hidden}.ai-riged-regression-retrain-pnl span:first-child{grid-column:1}.ai-riged-regression-retrain-pnl-value{color:#18202a;text-align:left;white-space:normal;cursor:pointer;background:0 0;border:0;flex-wrap:wrap;align-items:baseline;gap:2px 6px;min-width:0;padding:0;font-size:12px;font-weight:900;line-height:1.15;display:flex;overflow:visible}.ai-riged-regression-retrain-pnl-value span,.ai-riged-regression-retrain-pnl-cum span{min-width:max-content;font-size:inherit;line-height:inherit;text-overflow:clip;white-space:nowrap;overflow:visible}.ai-riged-regression-retrain-pnl-value:disabled{color:#657282;cursor:default}.ai-riged-regression-retrain-pnl-value:not(:disabled):hover{text-underline-offset:3px;text-decoration:underline}.ai-riged-regression-retrain-pnl-cum{white-space:normal;flex-wrap:wrap;justify-self:start;gap:2px 6px;line-height:1.15;display:flex;overflow:visible}.ai-riged-regression-retrain-head .change.up,.ai-riged-regression-retrain-pnl-value.change.up,.ai-riged-regression-retrain-pnl-value.change.up span,.ai-riged-regression-retrain-pnl-cum.change.up,.ai-riged-regression-retrain-pnl-cum.change.up span,.ai-riged-regression-retrain-detail-head .change.up,.ai-riged-regression-retrain-stock-chip .change.up{color:#0f8a4b}.ai-riged-regression-retrain-head .change.down,.ai-riged-regression-retrain-pnl-value.change.down,.ai-riged-regression-retrain-pnl-value.change.down span,.ai-riged-regression-retrain-pnl-cum.change.down,.ai-riged-regression-retrain-pnl-cum.change.down span,.ai-riged-regression-retrain-detail-head .change.down,.ai-riged-regression-retrain-stock-chip .change.down{color:#c0393d}.ai-riged-regression-retrain-pnl.cash{background:#fff9e8;border-color:#d7c89a}.ai-riged-regression-retrain-pnl.open{background:#f0f7fb;border-color:#a8c7da}.ai-riged-regression-retrain-pnl.pending,.ai-riged-regression-retrain-pnl.missing{background:#f8fafb;border-color:#d8e0e8}.ai-riged-regression-retrain-modal-backdrop{z-index:30;background:#1118275c;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.ai-riged-regression-retrain-modal{background:#f8fbfd;border:1px solid #dbe6ee;border-radius:8px;gap:10px;width:min(720px,100%);max-height:min(680px,100vh - 48px);padding:14px;display:grid;overflow:auto;box-shadow:0 20px 48px #11182738}.ai-riged-regression-retrain-detail-head{grid-template-columns:minmax(0,1.2fr) repeat(3,minmax(0,.8fr)) auto;align-items:center;gap:8px;display:grid}.ai-riged-regression-retrain-detail-head div{gap:3px;min-width:0;display:grid}.ai-riged-regression-retrain-detail-head span,.ai-riged-regression-retrain-stock-chip span,.ai-riged-regression-retrain-empty{color:#657282;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800;overflow:hidden}.ai-riged-regression-retrain-detail-head strong{color:#18202a;text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.ai-riged-regression-retrain-stock-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.ai-riged-regression-retrain-stock-chip{background:#fff;border:1px solid #e0e7ef;border-radius:7px;gap:6px;min-width:0;padding:8px;display:grid}.ai-riged-regression-retrain-stock-main{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.ai-riged-regression-retrain-stock-chip strong{color:#18202a;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.ai-riged-regression-retrain-stock-prices{gap:4px;display:grid}.ai-riged-regression-retrain-stock-prices span{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.ai-riged-regression-retrain-stock-prices strong{color:#18202a;font-size:12px}.ai-riged-regression-retrain-empty{background:#fff;border:1px solid #e0e7ef;border-radius:7px;padding:8px}.ai-riged-regression-retrain-item.completed{background:#f5f7f9;border-color:#d2dae2}.ai-riged-regression-retrain-item.completed .ai-riged-regression-retrain-marker,.ai-riged-regression-retrain-item.completed em{color:#5f6d7a;background:#dfe5eb}.ai-riged-regression-retrain-item.today{background:#edf8f5;border-color:#94d0c5}.ai-riged-regression-retrain-item.today .ai-riged-regression-retrain-marker,.ai-riged-regression-retrain-item.today em{color:#fff;background:#237c72}.ai-riged-regression-retrain-item.open{background:#f0f7fb;border-color:#a8c7da}.ai-riged-regression-retrain-item.open .ai-riged-regression-retrain-marker,.ai-riged-regression-retrain-item.open em{color:#fff;background:#2d6386}.ai-riged-regression-retrain-item.next{background:#f0f7fb;border-color:#a8c7da}.ai-riged-regression-retrain-item.next .ai-riged-regression-retrain-marker,.ai-riged-regression-retrain-item.next em{color:#fff;background:#2d6386}.ai-quantz-prediction-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px 12px 0;display:grid}.ai-quantz-prediction-main strong{font-size:22px}.ai-quantz-prediction-table{border-top:1px solid #edf1f5;max-height:620px;overflow:auto}.ai-quantz-prediction-row{color:#263646;text-align:left;background:#fff;border:0;border-bottom:1px solid #edf1f5;grid-template-columns:80px 86px 70px 72px 92px 104px 94px 72px 128px 96px;align-items:center;gap:8px;width:100%;min-width:960px;min-height:40px;padding:7px 12px;font-size:12px;display:grid}.ai-quantz-prediction-row.header{z-index:1;color:#6d7a88;text-transform:uppercase;background:#f8fafb;min-height:36px;font-size:11px;font-weight:800;position:sticky;top:0}.ai-quantz-prediction-row:not(.header):hover,.ai-quantz-prediction-row.selected{background:#edf6f5}.ai-quantz-prediction-row strong,.ai-quantz-prediction-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ai-quantz-prediction-row .model-grade{color:#52606d;background:#f7fafc;border:1px solid #dbe6ee;border-radius:6px;justify-content:center;justify-self:start;align-items:center;min-width:38px;height:24px;padding:0 8px;font-weight:800;line-height:1;display:inline-flex}.ai-quantz-prediction-row .model-grade.good{color:#187044;background:#ecf9f1;border-color:#ccebdc}.ai-quantz-prediction-row .model-grade.neutral{color:#334a5f;background:#f3f6f9;border-color:#d9e3ec}.ai-quantz-prediction-row .model-grade.bad{color:#b42318;background:#fff1f1;border-color:#f3d1d1}.ai-quantz-saved-panel{overflow:hidden}.ai-quantz-saved-batch-table,.ai-quantz-saved-signal-table{background:#fff;max-height:520px;overflow:auto}.ai-quantz-saved-batch-table{border-top:1px solid #edf1f5;max-height:260px}.ai-quantz-saved-signal-table{border-top:1px solid #edf1f5}.ai-quantz-saved-batch-row,.ai-quantz-saved-signal-row{color:#263646;text-align:left;background:#fff;border:0;border-bottom:1px solid #edf1f5;align-items:center;gap:8px;width:100%;min-height:40px;padding:7px 12px;font-size:12px;display:grid}.ai-quantz-saved-batch-row{grid-template-columns:112px 72px 70px 70px 76px 94px 104px;min-width:640px}.ai-quantz-saved-signal-row{grid-template-columns:78px 86px 70px 72px 92px 104px 94px 72px 128px 70px 84px;min-width:1060px}.ai-quantz-saved-batch-row.header,.ai-quantz-saved-signal-row.header{z-index:1;color:#6d7a88;text-transform:uppercase;background:#f8fafb;min-height:36px;font-size:11px;font-weight:800;position:sticky;top:0}.ai-quantz-saved-batch-row:not(.header):hover,.ai-quantz-saved-batch-row.selected,.ai-quantz-saved-signal-row:not(.header):hover,.ai-quantz-saved-signal-row.selected{background:#edf6f5}.ai-quantz-saved-batch-row strong,.ai-quantz-saved-batch-row span,.ai-quantz-saved-signal-row strong,.ai-quantz-saved-signal-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ai-quantz-saved-signal-row .model-grade{color:#52606d;background:#f7fafc;border:1px solid #dbe6ee;border-radius:6px;justify-content:center;justify-self:start;align-items:center;min-width:38px;height:24px;padding:0 8px;font-weight:800;line-height:1;display:inline-flex}.ai-quantz-saved-signal-row .model-grade.good{color:#187044;background:#ecf9f1;border-color:#ccebdc}.ai-quantz-saved-signal-row .model-grade.neutral{color:#334a5f;background:#f3f6f9;border-color:#d9e3ec}.ai-quantz-saved-signal-row .model-grade.bad{color:#b42318;background:#fff1f1;border-color:#f3d1d1}.portfolio-page{gap:14px;width:100%;margin:14px auto 0;display:grid}.portfolio-metrics{margin-top:0}.portfolio-form{gap:14px;display:grid}.portfolio-entry-workspace{grid-template-columns:minmax(0,1fr) minmax(340px,.42fr);align-items:start;gap:14px;display:grid}.portfolio-transaction-panel,.portfolio-signal-panel,.portfolio-entry-panel,.portfolio-order-panel{overflow:hidden}.portfolio-transaction-table{border-top:1px solid #edf1f5;overflow:auto}.portfolio-transaction-row{color:#263646;background:#fff;border-bottom:1px solid #edf1f5;grid-template-columns:82px 94px 84px 88px minmax(150px,1fr) 88px 92px 78px 92px;align-items:center;gap:8px;min-width:870px;min-height:44px;padding:8px 12px;font-size:12px;display:grid}.portfolio-transaction-row.header{z-index:1;color:#6d7a88;text-transform:uppercase;background:#f8fafb;min-height:36px;font-size:11px;font-weight:800;position:sticky;top:0}.portfolio-transaction-row strong,.portfolio-transaction-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.portfolio-compact-panel{width:100%;max-width:none;margin-inline:auto}.portfolio-transaction-filter-bar{background:#fbfcfd;border-top:1px solid #edf1f5;grid-template-columns:minmax(180px,1.35fr) repeat(3,minmax(128px,1fr)) 36px;align-items:center;gap:8px;padding:10px 12px;display:grid}.portfolio-transaction-search{color:#6d7a88;background:#fff;border:1px solid #d6dfe7;border-radius:8px;align-items:center;gap:7px;min-width:0;height:36px;padding:0 10px;display:flex}.portfolio-transaction-search input{color:#263646;background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:12px;font-weight:700}.portfolio-stretch-table{width:100%;overflow-x:hidden}.portfolio-transaction-row.portfolio-stretch-row{grid-template-columns:minmax(0,1.25fr) minmax(0,.68fr) 42px minmax(0,.88fr) repeat(3,minmax(0,.62fr)) 54px minmax(0,.82fr) minmax(0,.72fr) 70px minmax(0,.9fr) minmax(0,.84fr) 68px 46px 58px 96px;gap:4px;width:100%;min-width:0;min-height:46px;padding:7px 8px;font-size:11px}.portfolio-transaction-row.portfolio-stretch-row.header{min-height:36px;padding-block:5px;font-size:10px}.portfolio-stretch-row .portfolio-sort-button{gap:2px;font-size:9px}.portfolio-stretch-row .portfolio-sort-button svg{width:11px;height:11px}.portfolio-transaction-row.portfolio-stretch-row:not(.header):hover{background:#f7fbfa}.portfolio-transaction-row.portfolio-stretch-row:not(.header){cursor:pointer;outline:none}.portfolio-transaction-row.portfolio-stretch-row:not(.header):focus-visible{background:#f7fbfa;box-shadow:inset 0 0 0 2px #177c626b}.portfolio-compact-table{overflow-x:auto}.portfolio-transaction-row.portfolio-compact-row{grid-template-columns:minmax(126px,1.35fr) repeat(3,minmax(76px,.72fr)) minmax(100px,.88fr) 76px 72px;min-width:720px;min-height:46px;padding:7px 14px}.portfolio-transaction-row.portfolio-compact-row.header{min-height:34px;padding-block:5px}.portfolio-stock-cell,.portfolio-price-cell{gap:2px;min-width:0;display:grid}.portfolio-stock-cell strong,.portfolio-price-cell strong{color:#18202a;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.portfolio-stock-cell small,.portfolio-price-cell small{color:#7a8794;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:700;overflow:hidden}.portfolio-row-actions{justify-content:flex-end;gap:5px;display:flex;overflow:visible!important}.portfolio-action-button{color:#355064;cursor:pointer;background:#f7fafc;border:1px solid #d5dee6;border-radius:7px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:inline-flex}.portfolio-action-button:hover:not(:disabled){color:#17675f;background:#edf7f5;border-color:#237c72}.portfolio-action-button.close{color:#187044;background:#eefaf4;border-color:#bfe5d2}.portfolio-action-button.close:hover:not(:disabled){color:#0f6037;background:#dcf4e7;border-color:#68bd91}.portfolio-action-button.danger{color:#b13b3b;background:#fff7f7;border-color:#f0d3d3}.portfolio-action-button.danger:hover:not(:disabled){color:#982929;background:#fdeaea;border-color:#df8585}.portfolio-action-button:disabled{cursor:not-allowed;opacity:.55}.portfolio-batch-row{color:#263646;text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #edf1f5;grid-template-columns:minmax(140px,1fr) minmax(150px,1fr) 84px 92px minmax(150px,1fr) 92px 76px 76px 78px 92px 94px;align-items:center;gap:8px;width:100%;min-width:1180px;min-height:44px;padding:8px 12px;font-size:12px;display:grid}.portfolio-batch-row.header{z-index:1;color:#6d7a88;text-transform:uppercase;cursor:default;background:#f8fafb;min-height:36px;font-size:11px;font-weight:800;position:sticky;top:0}.portfolio-batch-row:not(.header):hover,.portfolio-batch-row.selected{background:#edf6f5}.portfolio-batch-row strong,.portfolio-batch-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.portfolio-batch-actions{justify-content:flex-start;align-items:center;display:flex}.portfolio-close-button{color:#b42318;cursor:pointer;background:#fff1f1;border:1px solid #f3d1d1;border-radius:6px;justify-content:center;align-items:center;gap:5px;min-width:72px;height:26px;padding:0 8px;font-size:11px;font-weight:800;display:inline-flex}.portfolio-close-button:disabled{cursor:not-allowed;opacity:.58}.status-pill{color:#52606d;background:#f7fafc;border:1px solid #dbe6ee;border-radius:6px;justify-content:center;justify-self:start;align-items:center;min-width:58px;height:24px;padding:0 8px;font-size:11px;font-weight:800;display:inline-flex}.status-pill.open{color:#187044;background:#ecf9f1;border-color:#ccebdc}.status-pill.closed{color:#334a5f;background:#f3f6f9;border-color:#d9e3ec}.status-pill.cancelled{color:#b42318;background:#fff1f1;border-color:#f3d1d1}.portfolio-signal-actions{align-items:center;gap:8px;display:flex}.portfolio-signal-filter-bar{background:#fbfcfd;border-top:1px solid #edf1f5;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));align-items:end;gap:10px;padding:12px;display:grid}.portfolio-signal-filter{gap:6px;min-width:0;display:grid}.portfolio-signal-filter span{color:#657282;text-transform:uppercase;font-size:11px;font-weight:800}.portfolio-signal-filter input,.portfolio-signal-filter select{color:#18202a;background:#fff;border:1px solid #cbd5df;border-radius:8px;width:100%;min-width:0;height:34px;padding:0 9px;font-size:12px;font-weight:700}.portfolio-filter-clear{height:34px}.portfolio-unified-signal-table{border-top:1px solid #edf1f5;max-height:650px;overflow:auto}.portfolio-unified-signal-row{color:#263646;background:#fff;border-bottom:1px solid #edf1f5;grid-template-columns:32px 78px 92px 82px 72px 104px 104px 76px 96px 76px 104px 72px;align-items:center;gap:8px;min-width:1130px;min-height:44px;padding:8px 12px;font-size:12px;display:grid}.portfolio-unified-signal-row.header{z-index:1;color:#6d7a88;text-transform:uppercase;background:#f8fafb;min-height:36px;font-size:11px;font-weight:800;position:sticky;top:0}.portfolio-unified-signal-row:not(.header):hover,.portfolio-unified-signal-row.selected{background:#edf6f5}.portfolio-unified-signal-row strong,.portfolio-unified-signal-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.portfolio-signal-check{place-items:center;display:grid}.portfolio-signal-check input{accent-color:#237c72;width:16px;height:16px}.portfolio-unified-signal-row .model-grade{color:#52606d;background:#f7fafc;border:1px solid #dbe6ee;border-radius:6px;justify-content:center;justify-self:start;align-items:center;min-width:38px;height:24px;padding:0 8px;font-weight:800;line-height:1;display:inline-flex}.portfolio-unified-signal-row .model-grade.good{color:#187044;background:#ecf9f1;border-color:#ccebdc}.portfolio-unified-signal-row .model-grade.neutral{color:#334a5f;background:#f3f6f9;border-color:#d9e3ec}.portfolio-unified-signal-row .model-grade.bad{color:#b42318;background:#fff1f1;border-color:#f3d1d1}.portfolio-signal-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}.portfolio-signal-table{border-top:1px solid #edf1f5;max-height:560px;overflow:auto}.portfolio-signal-row{color:#263646;text-align:left;background:#fff;border:0;border-bottom:1px solid #edf1f5;align-items:center;gap:8px;width:100%;min-height:42px;padding:8px 12px;font-size:12px;display:grid}.portfolio-signal-row.dashboard{grid-template-columns:76px minmax(150px,1fr) 78px 54px 86px 86px 86px 50px;min-width:720px}.portfolio-signal-row.ai{grid-template-columns:76px 72px 78px 64px 64px 92px 104px 96px;min-width:660px}.portfolio-signal-row.header{z-index:1;color:#6d7a88;text-transform:uppercase;cursor:default;background:#f8fafb;min-height:36px;font-size:11px;font-weight:800;position:sticky;top:0}.portfolio-signal-row:not(.header):hover,.portfolio-signal-row.selected{background:#edf6f5}.portfolio-signal-row strong,.portfolio-signal-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.portfolio-sort-button{width:100%;min-width:0;height:24px;color:inherit;text-align:left;text-transform:uppercase;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-size:11px;font-weight:800;display:inline-flex}.portfolio-sort-button span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.portfolio-sort-button svg{color:#8793a0;flex:none}.portfolio-sort-button:hover,.portfolio-sort-button.active,.portfolio-sort-button.active svg{color:#18384c}.portfolio-signal-row .model-grade{color:#52606d;background:#f7fafc;border:1px solid #dbe6ee;border-radius:6px;justify-content:center;justify-self:start;align-items:center;min-width:38px;height:24px;padding:0 8px;font-weight:800;line-height:1;display:inline-flex}.portfolio-signal-row .model-grade.good{color:#187044;background:#ecf9f1;border-color:#ccebdc}.portfolio-signal-row .model-grade.neutral{color:#334a5f;background:#f3f6f9;border-color:#d9e3ec}.portfolio-signal-row .model-grade.bad{color:#b42318;background:#fff1f1;border-color:#f3d1d1}.portfolio-selected-grid{background:#fbfcfd;border-top:1px solid #edf1f5;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;padding:12px;display:grid}.portfolio-selected-grid div{background:#fff;border:1px solid #dfe6ee;border-radius:8px;min-width:0;padding:10px}.portfolio-selected-grid span,.portfolio-selected-grid strong,.portfolio-selected-grid small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.portfolio-selected-grid span{color:#657282;text-transform:uppercase;font-size:11px;font-weight:800}.portfolio-selected-grid strong{color:#18202a;margin-top:4px;font-size:14px}.portfolio-selected-grid small{color:#657282;margin-top:4px;font-size:11px;font-weight:700}.portfolio-entry-reason{color:#536273;margin:0;padding:0 12px 12px;font-size:13px;line-height:1.45}.portfolio-entry-grid{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);align-items:start;gap:14px;display:grid}.portfolio-order-body{gap:14px;padding:14px;display:grid}.portfolio-compact-form{width:100%;max-width:780px;margin-inline:auto}.portfolio-form-card{width:100%;overflow:visible}.portfolio-form-grid.portfolio-level-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.portfolio-stock-picker{z-index:4;min-width:0;position:relative}.portfolio-stock-search-control{color:#657282;background:#fff;border:1px solid #cbd5df;border-radius:8px;align-items:center;gap:8px;height:38px;padding:0 10px;display:flex}.portfolio-stock-search-control:focus-within{border-color:#3a8c7e;box-shadow:0 0 0 3px #3a8c7e1f}.portfolio-field .portfolio-stock-search-control input{background:0 0;border:0;outline:0;height:36px;padding:0}.portfolio-stock-search-results{z-index:20;background:#fff;border:1px solid #d8e1e9;border-radius:10px;max-height:290px;padding:5px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 16px 36px #1f304029}.portfolio-stock-search-results button{color:#263646;text-align:left;background:0 0;border:0;border-radius:7px;grid-template-columns:72px minmax(0,1fr) minmax(110px,.45fr);align-items:center;gap:10px;min-height:42px;padding:7px 9px;display:grid}.portfolio-stock-search-results button:hover,.portfolio-stock-search-results button:focus-visible{background:#edf7f4;outline:0}.portfolio-stock-search-results button strong{color:#176b5d;font-size:13px}.portfolio-stock-search-results button span,.portfolio-stock-search-results button small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.portfolio-stock-search-results button span{font-size:12px;font-weight:700}.portfolio-stock-search-results button small{color:#71808f;font-size:11px}.portfolio-form-actions{justify-content:flex-end;padding-top:2px}.portfolio-selected-summary{background:#fbfcfd;border:1px solid #dfe6ee;border-radius:8px;gap:4px;min-width:0;padding:10px;display:grid}.portfolio-selected-summary span{color:#657282;text-transform:uppercase;font-size:11px;font-weight:800}.portfolio-selected-summary strong{color:#18202a;text-overflow:ellipsis;white-space:nowrap;min-height:20px;font-size:13px;overflow:hidden}.portfolio-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.portfolio-field{gap:6px;min-width:0;display:grid}.portfolio-batch-name-field{grid-column:1/-1}.portfolio-field span,.portfolio-exit-control>span{color:#657282;text-transform:uppercase;font-size:11px;font-weight:800}.portfolio-field input,.portfolio-field select{color:#18202a;background:#fff;border:1px solid #cbd5df;border-radius:8px;width:100%;min-width:0;height:38px;padding:0 10px;font-size:13px;font-weight:700}.portfolio-field input:disabled,.portfolio-field select:disabled{color:#8a96a3;background:#f2f5f7}.portfolio-readonly-field{color:#263646;background:#f7fafc;border:1px solid #dbe2e9;border-radius:8px;align-items:center;min-width:0;height:38px;padding:0 10px;font-size:13px;display:flex}.portfolio-percent-field>div{background:#fff;border:1px solid #cbd5df;border-radius:8px;align-items:center;display:flex}.portfolio-percent-field input{border:0}.portfolio-percent-field b{color:#657282;flex:none;padding:0 10px;font-size:12px}.portfolio-exit-control{justify-content:space-between;align-items:center;gap:12px;display:flex}.portfolio-check-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.portfolio-check{color:#263646;background:#f9fbfc;border:1px solid #dbe2e9;border-radius:8px;align-items:center;gap:8px;min-height:38px;padding:0 10px;font-size:13px;font-weight:700;display:flex}.portfolio-check input{accent-color:#237c72;width:16px;height:16px}.portfolio-submit-button{width:100%}.portfolio-save-progress{gap:6px;display:grid}.portfolio-save-progress>div{background:#dbe6ee;border-radius:999px;height:4px;position:relative;overflow:hidden}.portfolio-close-button.danger{color:#a83232;background:#fde8e8}.portfolio-save-progress>div i{border-radius:inherit;background:#237c72;width:0;transition:width .25s;display:block;position:absolute;inset:0 auto 0 0}.portfolio-save-progress span{color:#657282;font-size:12px;font-weight:700}.portfolio-batch-detail-panel{overflow:hidden}.portfolio-position-table{border-top:1px solid #edf1f5;overflow:auto}.portfolio-position-row{color:#263646;background:#fff;border-bottom:1px solid #edf1f5;grid-template-columns:82px 74px 88px 88px 92px 98px 76px 88px 96px 76px 104px 104px 82px 82px minmax(150px,1fr);align-items:center;gap:8px;min-width:1510px;min-height:40px;padding:8px 12px;font-size:12px;display:grid}.portfolio-position-row.header{z-index:1;color:#6d7a88;text-transform:uppercase;background:#f8fafb;min-height:34px;font-size:11px;font-weight:800;position:sticky;top:0}.portfolio-position-row strong,.portfolio-position-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.portfolio-batch-preview{background:#fff;border:1px solid #dfe6ee;border-radius:8px;overflow:hidden}.portfolio-batch-preview-row{color:#263646;border-bottom:1px solid #edf1f5;grid-template-columns:64px 82px 58px repeat(2,minmax(0,1fr));align-items:center;gap:8px;min-height:34px;padding:7px 10px;font-size:12px;display:grid}.portfolio-batch-preview-row:last-child{border-bottom:0}.portfolio-batch-preview-row.header{color:#6d7a88;text-transform:uppercase;background:#f8fafb;font-size:11px;font-weight:800}.portfolio-batch-preview-row strong,.portfolio-batch-preview-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.backtest-strategy-panel,.backtest-equity-panel,.backtest-stock-panel,.backtest-trade-panel,.tp-sl-panel{overflow:hidden}.backtest-run-grid{background:#fbfcfd;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px;display:grid}.backtest-run-card{color:#263646;text-align:left;background:#fff;border:1px solid #d7dfe7;border-radius:8px;gap:10px;min-height:96px;padding:12px;display:grid}.backtest-run-card:hover,.backtest-run-card.selected{background:#edf6f5;border-color:#2b8a7e}.backtest-run-card strong,.backtest-run-card span{text-overflow:ellipsis;display:block;overflow:hidden}.backtest-run-card>div>span{color:#657282;white-space:nowrap;margin-top:4px;font-size:12px}.backtest-run-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.backtest-run-metrics span{color:#526070;text-align:center;white-space:nowrap;background:#f8fafb;border:1px solid #dce5ed;border-radius:6px;padding:5px 6px;font-size:11px;font-weight:700}.pso-panel{overflow:hidden}.pso-panel-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.pso-profile-tabs{background:#f8fafb;border:1px solid #cbd5df;border-radius:8px;align-items:center;min-height:32px;padding:3px;display:inline-flex}.pso-profile-tabs button{color:#526070;background:0 0;border:0;border-radius:6px;min-height:24px;padding:0 9px;font-size:11px;font-weight:800}.pso-profile-tabs button.active{color:#fff;background:#237c72}.pso-profile-tabs button:disabled{cursor:wait;opacity:.7}.watchlist-pso-tabs button{padding:0 8px}.pso-refresh-button{color:#263646;background:#fff;border:1px solid #cbd5df;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:32px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.pso-refresh-button:disabled{cursor:wait;opacity:.6}.pso-strategy-grid{background:#fbfcfd;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px;display:grid}.pso-strategy-card{background:#fff;border:1px solid #d7dfe7;border-radius:8px;min-width:0;overflow:hidden}.pso-strategy-card.maximized{grid-column:1/-1}.pso-strategy-card.selected{border-color:#2b8a7e;box-shadow:inset 0 0 0 1px #2b8a7e1f}.pso-strategy-head{background:#fff;border-bottom:1px solid #edf1f5;justify-content:space-between;align-items:flex-start;gap:10px;padding:11px 12px;display:flex}.pso-strategy-head strong,.pso-strategy-head span{text-overflow:ellipsis;display:block;overflow:hidden}.pso-strategy-head strong{color:#18202a;line-height:1.25}.pso-strategy-head span{color:#657282;white-space:nowrap;font-size:11px}.card-head-actions,.combo-result-actions{flex:none;justify-content:flex-end;align-items:center;gap:6px;min-width:0;display:inline-flex}.card-tool-button{color:#526070;background:#fff;border:1px solid #cbd5df;border-radius:7px;flex:none;place-items:center;width:28px;height:28px;display:grid}.card-tool-button:hover{color:#176b63;background:#effaf8;border-color:#93cfc7}.pso-result-table{max-height:436px;display:grid;overflow:auto}.pso-strategy-card.maximized .pso-result-table{width:100%;max-height:620px}.pso-result-row{color:#263646;text-align:left;background:#fff;border:0;border-bottom:1px solid #edf1f5;grid-template-columns:42px minmax(168px,1fr) 48px 72px 112px 74px 72px 52px;align-items:center;gap:8px;min-width:674px;min-height:42px;padding:8px 10px;display:grid}.pso-strategy-card.maximized .pso-result-row{grid-template-columns:56px minmax(280px,2fr) minmax(70px,.5fr) minmax(92px,.65fr) minmax(136px,.9fr) minmax(92px,.65fr) minmax(92px,.65fr) minmax(66px,.45fr);width:100%;min-width:100%}.pso-result-row.header{z-index:1;color:#6d7a88;text-transform:uppercase;background:#f8fafb;min-height:34px;font-size:11px;font-weight:800;position:sticky;top:0}.pso-result-row:not(.header):hover,.pso-result-row.selected{background:#effaf8}.pso-result-row strong,.pso-result-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pso-symbol-list{color:#405064;font-size:12px}.combination-panel{overflow:hidden}.combo-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.combo-actions button{color:#263646;background:#fff;border:1px solid #cbd5df;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:32px;padding:0 9px;font-size:12px;font-weight:700;display:inline-flex}.combo-actions button:disabled{cursor:default;opacity:.46}.combination-builder{background:#fbfcfd;border-bottom:1px solid #edf1f5;grid-template-columns:minmax(240px,.34fr) minmax(0,.66fr);gap:12px;padding:12px;display:grid}.combo-search{color:#657282;background:#fff;border:1px solid #cbd5df;border-radius:8px;align-items:center;gap:8px;height:38px;padding:0 10px;display:flex}.combo-search input{color:#18202a;background:0 0;border:0;outline:0;flex:1;min-width:0}.combo-option-grid{grid-column:2;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;max-height:136px;display:grid;overflow:auto}.combo-option-grid button{color:#263646;text-align:left;background:#fff;border:1px solid #dce5ed;border-radius:7px;min-width:0;min-height:54px;padding:8px}.combo-option-grid button:hover{background:#effaf8;border-color:#93cfc7}.combo-option-grid strong,.combo-option-grid span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.combo-option-grid strong{font-size:12px}.combo-option-grid span{color:#657282;margin-top:3px;font-size:10px}.combo-chip-list{flex-wrap:wrap;grid-column:1/-1;gap:7px;min-height:31px;display:flex}.combo-chip{color:#176b63;background:#effaf8;border:1px solid #93cfc7;border-radius:7px;align-items:center;gap:6px;min-height:28px;padding:0 8px;font-size:12px;font-weight:800;display:inline-flex}.combo-empty{color:#6d7a88;align-items:center;font-size:12px;display:inline-flex}.combo-result-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px;display:grid}.combo-result-card{background:#fff;border:1px solid #d7dfe7;border-radius:8px;min-width:0;padding:12px}.combo-result-card.maximized{grid-column:1/-1}.combo-result-card.best{background:#f2fbf8;border-color:#2b8a7e}.combo-result-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.combo-result-card.maximized .combo-result-metrics{grid-template-columns:repeat(6,minmax(0,1fr))}.combo-result-head strong,.combo-result-head span{text-overflow:ellipsis;display:block;overflow:hidden}.combo-result-head strong{line-height:1.25}.combo-result-head div>span{color:#657282;white-space:nowrap;margin-top:3px;font-size:12px}.best-label{color:#12683e;background:#dff5e9;border-radius:6px;flex:none;padding:4px 7px;font-size:11px;font-weight:800}.combo-result-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.combo-result-metrics div{background:#f8fafb;border:1px solid #e1e8ef;border-radius:7px;min-width:0;padding:8px}.combo-result-metrics span,.combo-result-metrics strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.combo-result-metrics>div>span,.combo-result-metrics>div>strong{display:block}.combo-result-metrics>div>span{color:#6d7a88;font-size:11px}.combo-result-metrics>div>strong{color:#263646;margin-top:4px;font-size:15px}.monthly-return-box{background:#fbfcfd;border:1px solid #e1e8ef;border-radius:7px;min-width:0;margin-top:12px;overflow:hidden}.monthly-return-title{border-bottom:1px solid #e1e8ef;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.monthly-return-title strong,.monthly-return-title span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.monthly-return-title strong{color:#263646;font-size:12px}.monthly-return-title span{color:#6d7a88;font-size:11px}.monthly-return-table{overflow-x:auto}.monthly-return-row{border-bottom:1px solid #edf1f5;grid-template-columns:54px repeat(12,62px) 68px;align-items:center;min-width:866px;display:grid}.combo-result-card.maximized .monthly-return-table{width:100%}.combo-result-card.maximized .monthly-return-row{grid-template-columns:64px repeat(12,minmax(66px,1fr)) 78px;width:100%;min-width:100%}.monthly-return-row:last-child{border-bottom:0}.monthly-return-row.header{z-index:1;color:#6d7a88;text-transform:uppercase;background:#f4f7f9;font-size:10px;font-weight:800;position:sticky;top:0}.monthly-return-row span,.monthly-return-row strong{text-align:right;text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:7px 6px;overflow:hidden}.monthly-return-row strong:first-child,.monthly-return-row.header span:first-child{text-align:left}.monthly-return-row:not(.header){background:#fff;font-size:11px;font-weight:700}.monthly-return-empty{color:#6d7a88;padding:10px;font-size:12px}.empty-state.compact{background:#fff;border:1px dashed #d7dfe7;border-radius:7px;min-height:54px}.backtest-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.backtest-kpi{background:#fff;border:1px solid #d7dfe7;border-radius:8px;min-width:0;min-height:104px;padding:13px;box-shadow:0 1px 2px #1422300a}.backtest-kpi>span,.backtest-kpi>strong,.backtest-kpi>small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.backtest-kpi>span{color:#6d7a88;text-transform:uppercase;font-size:11px;font-weight:700}.backtest-kpi>strong{color:#263646;margin-top:9px;font-size:21px;line-height:1.12}.backtest-kpi>small{color:#657282;margin-top:7px;font-size:11px}.backtest-analysis-grid{grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);align-items:stretch;gap:14px;display:grid}.tp-sl-guide{border-bottom:1px solid #edf1f5;gap:10px;padding:14px;display:grid}.tp-sl-guide div{grid-template-columns:92px minmax(0,1fr);align-items:center;gap:10px;display:grid}.tp-sl-guide span{color:#536273;font-size:12px;line-height:1.35}.guide-token{white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;min-height:26px;padding:0 8px;font-size:11px;font-weight:800;display:inline-flex}.guide-token.tp{color:#12683e;background:#dff5e9}.guide-token.sl{color:#9b3434;background:#ffe3e3}.guide-token.collision{color:#875b0f;background:#fff0cf}.tp-sl-counts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px;display:grid}.tp-sl-counts div{background:#f8fafb;border:1px solid #e1e8ef;border-radius:7px;min-width:0;padding:9px}.tp-sl-counts span,.tp-sl-counts strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.tp-sl-counts span{color:#6d7a88;font-size:11px}.tp-sl-counts strong{color:#263646;margin-top:4px;font-size:16px}.backtest-lower-grid{grid-template-columns:minmax(360px,.68fr) minmax(0,1.32fr);align-items:start;gap:14px;display:grid}.backtest-stock-table{max-height:560px}.backtest-trade-table{border-top:1px solid #edf1f5;max-height:640px;overflow:auto}.backtest-trade-row{color:#263646;text-align:left;background:#fff;border:0;border-bottom:1px solid #edf1f5;grid-template-columns:72px 90px 90px 84px 84px 84px 84px 52px 70px 86px 48px minmax(128px,1fr);align-items:center;gap:8px;width:100%;min-height:40px;padding:7px 12px;font-size:12px;display:grid}.backtest-trade-row.header{z-index:1;color:#6d7a88;text-transform:uppercase;background:#f8fafb;min-height:36px;font-size:11px;font-weight:800;position:sticky;top:0}.backtest-trade-row:not(.header):hover{background:#f5f9fa}.backtest-trade-row strong,.backtest-trade-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.exit-chip{border-radius:6px;justify-content:center;align-items:center;min-height:24px;padding:0 7px;font-size:11px;font-weight:800;display:inline-flex}.exit-chip.good{color:#12683e;background:#dff5e9}.exit-chip.bad{color:#9b3434;background:#ffe3e3}.exit-chip.neutral{color:#4e5d6c;background:#e9eef4}.dashboard-footnote{color:#7a8794;padding:14px 2px 0;font-size:11px}.auth-loading,.login-page{background:#edf2f5;place-items:center;min-height:100vh;padding:24px;display:grid}.auth-loading-mark{border:3px solid #cdd8e0;border-top-color:#18384c;border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}.login-panel{background:#fff;border:1px solid #d5dee6;border-radius:8px;gap:24px;width:min(420px,100%);padding:30px;display:grid;box-shadow:0 18px 50px #2536441f}.login-brand{border-bottom:1px solid #e7ebef;align-items:center;gap:11px;padding-bottom:20px;display:flex}.login-brand-mark{color:#fff;background:#18384c;border-radius:8px;place-items:center;width:42px;height:42px;display:grid}.login-brand>div,.login-copy{gap:3px;display:grid}.login-brand strong{color:#18202a;font-size:16px}.login-brand span,.login-footnote{color:#74818e;font-size:11px}.login-security-label{color:#267154;text-transform:uppercase;justify-self:start;align-items:center;gap:5px;font-size:10px;font-weight:800;display:inline-flex}.login-copy h1{color:#18202a;letter-spacing:0;margin:6px 0 2px;font-size:24px}.login-copy p{color:#657282;margin:0;font-size:13px}.login-alert{color:#31546b;background:#f3f8fb;border:1px solid #cfdde8;border-radius:6px;padding:10px 12px;font-size:12px;line-height:1.45}.login-alert.error{color:#9a3131;background:#fff2f2;border-color:#edc7c7}.google-login-button{color:#20313f;background:#fff;border:1px solid #b8c4ce;border-radius:6px;justify-content:center;align-items:center;gap:9px;width:100%;min-height:44px;font-size:13px;font-weight:800;display:flex}.google-login-button:hover:not(:disabled){background:#f7fafc;border-color:#71899a}.google-login-button:disabled{cursor:wait;opacity:.65}.login-footnote{text-align:center}.user-management-panel{margin-top:14px;overflow:hidden}.user-management-actions{align-items:center;gap:8px;display:flex}.user-management-actions .user-create-toggle,.user-management-actions .user-create-toggle span{color:#fff}.user-create-form{background:#f8fafb;border-top:1px solid #e3e9ee;grid-template-columns:minmax(220px,1.2fr) minmax(220px,1fr) 120px auto;align-items:end;gap:12px;padding:14px;display:grid}.user-create-title{align-self:center;align-items:center;gap:9px;display:flex}.user-create-title>div,.user-create-form>label{gap:4px;display:grid}.user-create-title strong,.user-create-title span{display:block}.user-create-title strong{font-size:12px}.user-create-title span,.user-create-form>label>span,.managed-user-field>span{color:#6f7c89;font-size:10px}.user-create-form input[type=email],.user-create-form select,.managed-user-field select{color:#263646;width:100%;min-width:0;height:36px;font:inherit;background:#fff;border:1px solid #cbd5de;border-radius:6px;outline:0;padding:0 9px;font-size:12px}.user-create-form input:focus,.user-create-form select:focus,.managed-user-field select:focus{border-color:#4c829e;box-shadow:0 0 0 2px #4c829e24}.user-access-editor{background:#fff;border:1px solid #cbd5de;border-radius:6px;min-width:0;margin:0;padding:10px}.user-create-access{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.user-access-editor legend{color:#6f7c89;padding:0 4px;font-size:9px}.user-access-group{background:#f8fafb;border:1px solid #e3e9ee;border-radius:5px;align-content:start;gap:7px;min-width:0;padding:8px;display:grid}.user-access-menu,.user-access-actions label,.managed-user-active{color:#3e4f5e;white-space:nowrap;align-items:center;gap:5px;font-size:10px;display:inline-flex}.user-access-menu{color:#263646}.user-access-actions{flex-wrap:wrap;gap:6px 12px;min-width:0;padding-left:19px;display:flex}.user-access-actions label{white-space:normal}.user-access-editor input,.managed-user-active input{accent-color:#1c6f61;width:14px;height:14px;margin:0}.user-management-table{border-top:1px solid #e3e9ee;overflow-x:auto}.user-management-row{background:#fff;border-bottom:1px solid #edf1f4;grid-template-columns:minmax(230px,1.2fr) 100px 105px minmax(620px,2fr) 90px 42px;align-items:center;gap:12px;min-width:1260px;min-height:76px;padding:9px 14px;display:grid}.user-management-row.header{z-index:1;color:#6f7c89;text-transform:uppercase;background:#f7f9fb;min-height:36px;font-size:10px;font-weight:800;position:sticky;top:0}.user-management-row.header>span{align-items:center;gap:5px;display:flex}.user-management-row:not(.header):hover{background:#f8fbfc}.managed-user-identity{align-items:center;gap:9px;min-width:0;display:flex}.managed-user-identity>img,.managed-user-identity>span{color:#24536d;object-fit:cover;background:#e7eff4;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:12px;font-weight:900;display:grid}.managed-user-identity>div{gap:2px;min-width:0;display:grid}.managed-user-identity strong,.managed-user-identity small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.managed-user-identity strong{color:#263646;font-size:12px}.managed-user-identity small{color:#7b8794;font-size:10px}.google-account-state{text-transform:uppercase;border-radius:999px;justify-self:start;align-items:center;gap:5px;min-height:24px;padding:0 7px;font-size:9px;font-weight:800;display:inline-flex}.google-account-state.connected{color:#17623f;background:#e4f4eb}.google-account-state.pending{color:#5d6b78;background:#eef2f5}.managed-user-field{gap:3px;display:grid}.managed-user-access{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0;padding:7px;display:grid}.app-frame.chart-fullscreen{display:block}.app-frame.chart-fullscreen .app-sidebar,.chart-fullscreen .decision-metrics,.chart-fullscreen .strategy-sidebar,.chart-fullscreen .shortlist-panel,.chart-fullscreen .decision-panel,.chart-fullscreen .evidence-grid,.chart-fullscreen .dashboard-footnote{display:none}.chart-fullscreen .decision-grid{height:calc(100vh - 24px);display:block}.chart-fullscreen .main-column{height:100%;display:block}.chart-fullscreen .chart-decision-column{height:100%}.chart-fullscreen .chart-panel{flex-direction:column;height:100%;display:flex}.app-frame.dashboard-table-maximized{display:block}.app-frame.dashboard-table-maximized .app-sidebar,.dashboard-table-maximized .topbar,.dashboard-table-maximized .active-buy-panel,.dashboard-table-maximized .process-strip,.dashboard-table-maximized .decision-metrics,.dashboard-table-maximized .strategy-sidebar,.dashboard-table-maximized .chart-decision-column,.dashboard-table-maximized .dashboard-footnote{display:none}.dashboard-table-maximized .decision-grid,.dashboard-table-maximized .main-column{height:100%;display:block}.app-shell.dashboard-table-maximized{height:100vh;padding:12px;overflow:hidden}.dashboard-table-maximized .shortlist-panel{flex-direction:column;height:calc(100vh - 24px);display:flex}.dashboard-table-maximized .recommendation-table{flex:auto;height:auto;min-height:0}@media (width<=1400px){.decision-grid .main-column{grid-template-columns:minmax(480px,.95fr) minmax(0,1.15fr)}}@media (width<=1100px){.user-create-form{grid-template-columns:repeat(2,minmax(0,1fr))}.user-create-title,.user-create-access{grid-column:1/-1}.user-create-access{grid-template-columns:1fr}.portfolio-transaction-filter-bar{grid-template-columns:repeat(3,minmax(0,1fr))}.portfolio-transaction-search{grid-column:span 2}.buy-signal-modal-levels{grid-template-columns:repeat(4,minmax(0,1fr))}.active-buy-head{flex-direction:column;align-items:flex-start}.active-buy-summary{width:100%}.active-buy-summary>div{flex:1}.active-buy-grid{grid-template-columns:repeat(2,minmax(230px,1fr))}.decision-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.decision-grid,.decision-grid .main-column,.evidence-grid,.ai-quantz-grid,.ai-quantz-saved-layout,.portfolio-entry-workspace,.portfolio-entry-grid,.portfolio-signal-grid,.pso-strategy-grid,.backtest-analysis-grid,.backtest-lower-grid{grid-template-columns:1fr}.backtest-run-grid,.backtest-kpi-grid,.combo-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.combination-builder{grid-template-columns:1fr}.combo-option-grid{grid-column:1;grid-template-columns:repeat(4,minmax(0,1fr))}.combo-result-card.maximized .combo-result-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.recommendation-table{height:520px}.recent-trades-panel{grid-column:auto}.ai-quantz-saved-batch-table{border-bottom:1px solid #edf1f5;border-right:0}.ai-riged-regression-retrain-list{grid-template-columns:repeat(4,minmax(0,1fr))}.ai-riged-regression-retrain-stock-list{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-riged-regression-progress-grid,.ai-riged-regression-symbol-progress{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=900px){.app-frame,.app-frame.sidebar-collapsed{grid-template-columns:1fr}.app-sidebar{z-index:5;border-bottom:1px solid #d7dfe7;border-right:0;flex-direction:row;align-items:center;height:auto;padding:10px 12px;position:sticky}.sidebar-head{display:none}.sidebar-nav{flex:1;gap:6px;display:flex;overflow-x:auto}.sidebar-nav-group{display:contents}.sidebar-nav-label{display:none}.sidebar-nav button{justify-content:center;min-width:148px;min-height:46px}.sidebar-collapsed .sidebar-nav-copy{display:flex}.sidebar-collapsed .sidebar-nav-count{border:0;min-width:22px;height:22px;padding:0 6px;font-size:10px;position:static}.sidebar-account{border-top:0;border-left:1px solid #e4e9ef;flex:none;justify-content:center;margin-top:0;padding:0 0 0 8px;display:flex}.sidebar-account>img,.sidebar-account-avatar,.sidebar-account-copy{display:none}}@media (width<=720px){.login-page{align-items:start;padding:14px}.login-panel{margin-top:8vh;padding:22px}.user-create-form{grid-template-columns:1fr}.user-create-title,.user-create-access{grid-column:auto}.user-create-access{grid-template-columns:1fr}.portfolio-transaction-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-transaction-search{grid-column:1/-1}.buy-signal-modal-backdrop{padding:0}.buy-signal-modal{border:0;border-radius:0;width:100%;height:100vh;min-height:0}.buy-signal-modal-head{flex-direction:column;align-items:flex-start;gap:10px}.buy-signal-modal-actions{justify-content:space-between;width:100%}.buy-signal-modal-levels{grid-template-columns:repeat(2,minmax(0,1fr));max-height:190px;overflow:auto}.buy-signal-modal-chart .chart-shell{min-width:680px}.chart-navigation-toolbar{flex-direction:column;align-items:flex-start;gap:5px}.chart-navigation-actions,.chart-navigation-hint{width:100%}.buy-signal-modal-foot{flex-direction:column;align-items:flex-start;gap:3px}.buy-signal-modal-foot strong{white-space:normal}.active-buy-head{flex-direction:column;align-items:flex-start}.active-buy-summary{width:100%}.active-buy-summary>div{flex:1;min-width:0}.active-buy-grid{grid-template-columns:1fr}.active-buy-prices{grid-template-columns:repeat(2,minmax(0,1fr))}.decision-metrics,.shortlist-summary,.decision-stats,.risk-plan,.ai-quantz-status-grid,.ai-cycle-stock-status-grid,.ai-riged-regression-status-grid,.ai-riged-regression-retrain-head,.ai-quantz-metric-grid,.ai-quantz-prediction-detail,.ai-quantz-prediction-main,.portfolio-selected-grid,.portfolio-form-grid,.portfolio-check-row,.backtest-run-grid,.backtest-kpi-grid,.combo-result-grid,.tp-sl-counts,.portfolio-form-grid.portfolio-level-grid{grid-template-columns:1fr}.portfolio-form-actions{flex-direction:column-reverse;align-items:stretch}.portfolio-form-actions .process-button{justify-content:center;width:100%}.combo-actions{justify-content:flex-start}.combo-actions button{flex:1;min-width:120px}.combo-option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.combo-result-card.maximized .combo-result-metrics{grid-template-columns:1fr}.ai-riged-regression-retrain-list,.ai-riged-regression-retrain-detail-head{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-riged-regression-retrain-stock-list{grid-template-columns:1fr}.ai-riged-regression-retrain-detail-head .icon-button{justify-self:start}.ai-riged-regression-progress-grid,.ai-riged-regression-symbol-progress{grid-template-columns:repeat(2,minmax(0,1fr))}.tp-sl-guide div{grid-template-columns:1fr}.strategy-card-list{grid-auto-flow:row;grid-auto-columns:initial;grid-template-columns:1fr;overflow:visible}.recommendation-row{grid-template-columns:30px 86px 70px 104px 88px 66px 58px 60px 52px 52px 72px;min-width:860px}.compact-row{min-width:560px}.compact-trade-row{min-width:620px}.backtest-trade-row{min-width:1060px}.ai-quantz-prediction-row{min-width:960px}.ai-quantz-progress-head,.ai-quantz-progress-foot{flex-direction:column;align-items:flex-start}.ai-quantz-progress-actions{justify-content:flex-start;width:100%}.process-progress-head,.process-progress-foot{flex-direction:column;align-items:flex-start}}@media (width<=1180px){.ai-cycle-detail-layout{grid-template-columns:1fr}.ai-cycle-detail-sidebar,.ai-cycle-xai-evidence{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.ai-cycle-detail-page{padding:10px}.ai-cycle-detail-hero{grid-template-columns:1fr}.ai-cycle-detail-hero>p{grid-column:1}.ai-cycle-detail-identity{align-items:flex-start}.ai-cycle-detail-sidebar,.ai-cycle-xai-evidence{grid-template-columns:1fr}.ai-cycle-detail-chart{min-height:500px}}
