/* FRA Prop HQ v7.9.32 — Strategy Lab layout polish */
#view-strategies{padding-bottom:0}
#view-strategies.strategy-lab-view.active{display:block;height:calc(100vh - 104px);min-height:720px;overflow:hidden}
.strategy-lab-shell{height:100%;min-height:0;display:grid;grid-template-columns:minmax(360px,430px) minmax(0,1fr);border:1px solid color-mix(in srgb,var(--border) 90%,rgba(255,255,255,.03));background:linear-gradient(180deg,rgba(14,16,20,.98),rgba(10,12,16,.98));border-radius:16px;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.24)}
.lab-builder{min-width:0;min-height:0;display:flex;flex-direction:column;background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 90%,#090b0e),color-mix(in srgb,var(--panel) 96%,#080a0c));border-right:1px solid var(--border)}
.lab-builder-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 18px 14px;border-bottom:1px solid var(--border);background:rgba(255,255,255,.015);backdrop-filter:blur(6px)}
.lab-builder-brand{display:flex;gap:12px;align-items:center;min-width:0}
.lab-builder-brand-mark{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--border-strong);border-radius:9px;color:var(--accent);font-weight:950;font-size:10px;letter-spacing:-.04em;background:var(--panel-2);box-shadow:inset 0 1px 0 rgba(255,255,255,.02)}
.lab-builder-brand div{min-width:0}.lab-builder-brand strong{display:block;font-size:14px}.lab-builder-brand span{display:block;margin-top:2px;color:var(--muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.lab-builder-tabs{display:flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--border);border-radius:10px;background:var(--panel-2)}
.lab-builder-tabs button{border:0;background:transparent;color:var(--muted);padding:7px 11px;border-radius:7px;font-size:10px;font-weight:850;cursor:pointer}
.lab-builder-tabs button.active{background:var(--panel-3);color:var(--text);box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.lab-builder-scroll{min-height:0;overflow:auto;padding:18px 18px 22px;scrollbar-gutter:stable}
.lab-builder-pane{display:none}.lab-builder-pane.active{display:block}
.lab-field{display:grid;gap:8px;margin-bottom:16px}
.lab-field>span,.lab-mini-label{font-size:10px;color:var(--muted);font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.lab-field select,.lab-field input,.lab-field textarea{width:100%;border:1px solid var(--border);background:var(--input,var(--panel-2));color:var(--text);border-radius:10px;outline:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.015)}
.lab-field select,.lab-field input{height:42px;padding:0 12px}
.lab-field textarea{min-height:138px;resize:vertical;padding:12px 14px 50px;line-height:1.58;font:inherit;font-size:12px}
.lab-field textarea:focus,.lab-field select:focus,.lab-field input:focus{border-color:color-mix(in srgb,var(--accent) 60%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent)}
.lab-prompt-wrap{position:relative}.lab-prompt-wrap textarea{padding-right:50px}
.lab-prompt-send{position:absolute;right:10px;bottom:10px;width:32px;height:32px;border:0;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink,#0b0d10);font-weight:950;cursor:pointer;box-shadow:0 10px 24px rgba(0,0,0,.22)}
.lab-prompt-send svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2}
.lab-helper-actions{display:flex;flex-wrap:wrap;gap:7px;margin:-2px 0 16px}
.lab-helper-actions button{border:1px solid var(--border);background:color-mix(in srgb,var(--panel-2) 85%,transparent);color:var(--muted);border-radius:999px;padding:7px 10px;font-size:9px;font-weight:800;cursor:pointer}
.lab-helper-actions button:hover{border-color:var(--border-strong);color:var(--text)}
.lab-rule-box{border:1px solid var(--border);background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,.01));border-radius:12px;padding:13px 13px 12px;margin-bottom:16px}
.lab-rule-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.lab-rule-head strong{font-size:11px}.lab-rule-head span{font-size:9px;color:var(--muted)}
.lab-rule-chips{display:flex;flex-wrap:wrap;gap:7px}
.lab-rule-chip{border:1px solid var(--border);background:transparent;color:var(--muted);padding:7px 9px;border-radius:8px;font-size:9px;font-weight:850;cursor:pointer}
.lab-rule-chip.active{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent)}
.lab-config-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lab-config-grid .lab-field{margin:0}.lab-config-grid .lab-field.full{grid-column:1/-1}
.lab-inline-unit{position:relative}.lab-inline-unit input{padding-right:40px}.lab-inline-unit i{position:absolute;right:12px;bottom:13px;font-style:normal;font-size:10px;color:var(--muted)}
.lab-run-row{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:16px}.lab-run-row .button{min-height:44px;border-radius:10px}.lab-square-btn{width:44px;padding:0!important;display:grid;place-items:center}
.lab-status{margin-top:11px;min-height:18px;color:var(--muted);font-size:10px;line-height:1.45}.lab-status.success{color:var(--positive)}.lab-status.error{color:var(--negative)}.lab-status.loading{color:var(--accent)}
.lab-library-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:12px}.lab-library-head h3{margin:0;font-size:15px}.lab-library-head p{margin:3px 0 0;color:var(--muted);font-size:10px}.lab-library-head .button{min-height:34px;padding:0 10px;font-size:10px}
.lab-builder #strategySummary{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.lab-builder #strategySummary>div{padding:10px;border-radius:9px}.lab-builder #strategySummary span{font-size:8px}.lab-builder #strategySummary strong{font-size:14px}
.lab-builder #strategyGrid{grid-template-columns:1fr;gap:8px}.lab-builder .strategy-card{padding:12px;border-radius:10px;box-shadow:none}.lab-builder .strategy-card h3{font-size:12px;margin:5px 0 3px}.lab-builder .strategy-card p{font-size:9px}.lab-builder .strategy-metrics{grid-template-columns:repeat(4,1fr);gap:5px;margin:9px 0}.lab-builder .strategy-metrics>div{padding:7px}.lab-builder .strategy-metrics strong{font-size:10px}.lab-builder .strategy-rules{padding:8px}.lab-builder .tag-row{margin-top:8px}.lab-builder .tag-row span{padding:4px 6px;font-size:7px}
.lab-chart-workspace{position:relative;min-width:0;min-height:0;display:flex;flex-direction:column;background:#0b0d10}
.lab-chart-topbar{min-height:64px;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px 12px 14px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.01));flex-wrap:wrap}
.lab-symbol-group,.lab-chart-actions{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}
.lab-symbol-select,.lab-date-input,.lab-timeframe-select{height:36px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);border-radius:9px;padding:0 10px;font-weight:800;font-size:11px}
.lab-symbol-select{min-width:96px}.lab-date-input{width:140px;color-scheme:dark}
.lab-timeframe-buttons{display:flex;border:1px solid var(--border);border-radius:9px;overflow:hidden;background:var(--panel-2)}
.lab-timeframe-buttons button{min-width:40px;height:34px;border:0;border-right:1px solid var(--border);background:transparent;color:var(--muted);font-size:10px;font-weight:850;cursor:pointer}
.lab-timeframe-buttons button:last-child{border-right:0}.lab-timeframe-buttons button.active{color:var(--text);background:var(--panel-3)}
.lab-load-btn{height:36px;padding:0 13px;border:1px solid var(--border-strong);background:var(--panel-2);color:var(--text);border-radius:9px;font-size:10px;font-weight:850;cursor:pointer}
.lab-load-btn:hover{border-color:var(--accent)}
.lab-drawing-rail{position:absolute;left:14px;top:84px;z-index:7;display:grid;gap:6px;padding:6px;border:1px solid var(--border);border-radius:10px;background:rgba(13,15,18,.92);backdrop-filter:blur(12px);box-shadow:0 16px 32px rgba(0,0,0,.22)}
.lab-drawing-rail button{width:32px;height:32px;border:0;border-radius:7px;background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer}
.lab-drawing-rail button:hover,.lab-drawing-rail button.active{background:var(--panel-3);color:var(--text)}.lab-drawing-rail button.active{color:var(--accent)}.lab-drawing-rail svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.7}
.lab-chart-wrap{position:relative;flex:1 1 auto;min-height:0}.lab-chart-stage{position:absolute;inset:0;background:#0b0d10}
.lab-svg-overlay{position:absolute;inset:0;z-index:5;pointer-events:none;width:100%;height:100%;overflow:visible}
.lab-chart-empty{position:absolute;inset:0;z-index:3;display:grid;place-content:center;text-align:center;padding:30px;pointer-events:none;background:radial-gradient(circle at 52% 45%,rgba(255,255,255,.025),transparent 36%)}.lab-chart-empty.hidden{display:none}.lab-chart-empty strong{font-size:15px}.lab-chart-empty p{margin:7px auto 0;max-width:430px;color:var(--muted);font-size:10px;line-height:1.55}
.lab-chart-loader{width:24px;height:24px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--accent);animation:labSpin .8s linear infinite;margin:0 auto 10px}@keyframes labSpin{to{transform:rotate(360deg)}}
.lab-click-hint{position:absolute;left:50%;top:14px;transform:translateX(-50%);z-index:6;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));background:rgba(11,13,16,.9);color:var(--accent);padding:7px 12px;border-radius:999px;font-size:9px;font-weight:850;pointer-events:none;box-shadow:0 10px 24px rgba(0,0,0,.2)}.lab-click-hint.hidden{display:none}
.lab-replay-bar{flex:0 0 auto;min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-top:1px solid var(--border);background:linear-gradient(180deg,rgba(255,255,255,.012),rgba(255,255,255,.006));flex-wrap:wrap}
.lab-replay-controls,.lab-trade-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.lab-icon-btn,.lab-replay-btn,.lab-trade-btn{height:36px;border:1px solid var(--border);background:var(--panel-2);color:var(--muted);border-radius:9px;padding:0 11px;font-size:10px;font-weight:850;cursor:pointer}
.lab-icon-btn{width:36px;padding:0;display:grid;place-items:center}
.lab-icon-btn:hover,.lab-replay-btn:hover,.lab-trade-btn:hover{color:var(--text);border-color:var(--border-strong)}
.lab-replay-btn.primary{background:var(--text);color:#0b0d10;border-color:var(--text);min-width:68px}
.lab-trade-btn.long.active{color:var(--positive);border-color:color-mix(in srgb,var(--positive) 50%,var(--border))}.lab-trade-btn.short.active{color:var(--negative);border-color:color-mix(in srgb,var(--negative) 50%,var(--border))}
.lab-replay-meta{font-size:9px;color:var(--muted);white-space:nowrap}.lab-speed-select{height:36px;border:1px solid var(--border);background:var(--panel-2);color:var(--muted);border-radius:9px;font-size:10px;padding:0 8px}
.lab-results-drawer{flex:0 0 0;min-height:0;overflow:hidden;border-top:0 solid var(--border);background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 82%,#090b0e),color-mix(in srgb,var(--panel) 88%,#080a0c));transition:flex-basis .22s ease,border-width .22s ease}
.lab-results-drawer.open{flex-basis:280px;border-top-width:1px}
.lab-results-inner{height:280px;display:grid;grid-template-columns:minmax(0,1fr) 300px;min-height:0}
.lab-results-main{min-width:0;padding:14px 15px 15px;overflow:auto}.lab-results-side{border-left:1px solid var(--border);padding:14px;overflow:auto}
.lab-results-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.lab-results-head div{display:flex;align-items:center;gap:8px}.lab-results-head strong{font-size:12px}.lab-results-head span{font-size:9px;color:var(--muted)}.lab-results-head button{border:0;background:transparent;color:var(--muted);font-size:16px;cursor:pointer}
.lab-result-kpis{display:grid;grid-template-columns:repeat(6,minmax(96px,1fr));gap:8px;margin-bottom:12px}
.lab-result-kpis article{border:1px solid var(--border);background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,.01));border-radius:9px;padding:10px 10px 9px}
.lab-result-kpis span{display:block;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.07em}.lab-result-kpis strong{display:block;margin-top:4px;font-size:13px;font-variant-numeric:tabular-nums}.lab-result-kpis strong.positive{color:var(--positive)}.lab-result-kpis strong.negative{color:var(--negative)}
.lab-equity-mini{height:76px;border:1px solid var(--border);border-radius:9px;background:var(--panel-2);overflow:hidden}.lab-equity-mini svg{width:100%;height:100%;display:block}
.lab-trade-list{display:grid;gap:7px}.lab-trade-row{display:grid;grid-template-columns:56px 1fr auto;gap:8px;align-items:center;border:1px solid var(--border);background:linear-gradient(180deg,rgba(255,255,255,.015),rgba(255,255,255,.008));border-radius:9px;padding:9px 10px;cursor:pointer}.lab-trade-row:hover{border-color:var(--border-strong)}
.lab-trade-row time{font-size:9px;color:var(--muted)}.lab-trade-row div{min-width:0}.lab-trade-row strong{display:block;font-size:10px}.lab-trade-row small{font-size:8px;color:var(--muted)}.lab-trade-row b{font-size:10px}.lab-trade-row b.win{color:var(--positive)}.lab-trade-row b.loss{color:var(--negative)}.lab-results-empty{height:100%;display:grid;place-content:center;text-align:center;color:var(--muted);font-size:10px}
.lab-backtest-marker-layer{position:absolute;inset:0;pointer-events:none;z-index:4;overflow:hidden}.lab-backtest-marker{position:absolute;transform:translate(-50%,-50%);width:9px;height:9px;border-radius:50%;border:2px solid #0b0d10;box-shadow:0 0 0 1px rgba(255,255,255,.25)}.lab-backtest-marker.win{background:var(--positive)}.lab-backtest-marker.loss{background:var(--negative)}
.lab-quick-note{padding:10px 11px;border:1px solid var(--border);border-radius:10px;background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,.012));color:var(--muted);font-size:9px;line-height:1.55;margin-top:14px}.lab-quick-note strong{color:var(--text)}
@media(max-width:1320px){.lab-result-kpis{grid-template-columns:repeat(3,1fr)}.lab-results-inner{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.lab-results-side{border-left:0;border-top:1px solid var(--border)}}
@media(max-width:1180px){#view-strategies.strategy-lab-view.active{height:auto;min-height:0;overflow:visible}.strategy-lab-shell{height:auto;min-height:780px;grid-template-columns:340px minmax(0,1fr)}}
@media(max-width:900px){.strategy-lab-shell{grid-template-columns:1fr;overflow:visible}.lab-builder{border-right:0;border-bottom:1px solid var(--border);max-height:none}.lab-builder-scroll{max-height:none}.lab-chart-workspace{height:760px}.lab-chart-topbar{padding:12px}.lab-drawing-rail{top:96px}.lab-chart-actions{justify-content:flex-start}.lab-date-input{width:128px}.lab-results-drawer.open{flex-basis:340px}.lab-results-inner{height:340px}}
@media(max-width:620px){#view-strategies{margin-left:-8px;margin-right:-8px}.strategy-lab-shell{border-radius:12px}.lab-chart-workspace{height:700px}.lab-builder-head{padding:16px 14px 12px}.lab-builder-scroll{padding:15px 14px 18px}.lab-chart-topbar{height:auto;min-height:0;align-items:flex-start;padding:10px 10px 12px}.lab-symbol-group,.lab-chart-actions{width:100%;justify-content:space-between}.lab-drawing-rail{top:116px;left:10px}.lab-replay-bar{align-items:flex-start;flex-direction:column}.lab-replay-controls,.lab-trade-tools{width:100%;overflow-x:auto}.lab-result-kpis{grid-template-columns:repeat(2,1fr)}.lab-config-grid{grid-template-columns:1fr}.lab-config-grid .lab-field.full{grid-column:auto}.lab-results-drawer.open{flex-basis:340px}.lab-results-inner{height:340px}}

/* v7.9.31 — Strategy section owns My Strategies + Strategy Lab */
.strategies-command-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px;padding:2px 0 16px;border-bottom:1px solid var(--border)}
.strategies-command-head h2{margin:4px 0 4px;font-size:24px;line-height:1.05}
.strategies-command-head p{margin:0;color:var(--muted);font-size:12px;max-width:620px}
.strategies-mode-tabs{display:flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--border);border-radius:11px;background:var(--panel-2);flex:0 0 auto}
.strategies-mode-tabs button{height:34px;padding:0 13px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:10px;font-weight:900;cursor:pointer}
.strategies-mode-tabs button:hover{color:var(--text)}
.strategies-mode-tabs button.active{background:var(--panel-3);color:var(--text);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.strategies-mode-pane{display:none}
.strategies-mode-pane.active{display:block}
.strategies-library-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
.strategies-library-toolbar>div{display:grid;gap:3px}.strategies-library-toolbar strong{font-size:14px}.strategies-library-toolbar span{font-size:10px;color:var(--muted)}
.strategies-lab-pane.active{height:calc(100vh - 210px);min-height:720px}
.strategies-lab-pane .strategy-lab-shell{height:100%}
@media(max-width:1180px){.strategies-lab-pane.active{height:auto;min-height:780px}}
@media(max-width:760px){.strategies-command-head{align-items:flex-start;flex-direction:column}.strategies-mode-tabs{width:100%}.strategies-mode-tabs button{flex:1}.strategies-library-toolbar{align-items:flex-start;flex-direction:column}.strategies-library-toolbar .button{width:100%}.strategies-lab-pane.active{min-height:0}}

/* v7.9.32 — TradingView-style draggable limit position tool */
.lab-trade-btn.order.active{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 52%,var(--border));background:color-mix(in srgb,var(--accent) 9%,var(--panel-2))}
.lab-position-overlay{position:absolute;inset:0;z-index:6;pointer-events:none;overflow:hidden;user-select:none}
.lab-position-overlay.hidden{display:none}
.lab-position-zone{position:absolute;border-left:1px solid;border-right:1px solid;pointer-events:none;transition:background .08s ease}
.lab-position-zone.reward{background:rgba(55,190,132,.17);border-color:rgba(72,210,150,.72);box-shadow:inset 0 0 0 1px rgba(72,210,150,.08)}
.lab-position-zone.risk{background:rgba(225,77,97,.17);border-color:rgba(240,93,109,.72);box-shadow:inset 0 0 0 1px rgba(240,93,109,.08)}
.lab-position-level{position:absolute;height:24px;transform:translateY(-50%);padding:0;border:0;background:transparent;color:var(--text);pointer-events:auto;cursor:ns-resize;outline:0;touch-action:none}
.lab-position-level::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;transform:translateY(-50%);background:currentColor;box-shadow:0 0 0 1px rgba(0,0,0,.22)}
.lab-position-level.target{color:#54d89c}
.lab-position-level.stop{color:#f26878}
.lab-position-level.entry{color:#d6dde5;cursor:ns-resize}
.lab-position-level.entry::before{height:2px;background:#d6dde5}
.lab-position-level b{position:absolute;right:6px;top:50%;transform:translateY(-50%);max-width:calc(100% - 34px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 7px;border-radius:5px;border:1px solid rgba(255,255,255,.10);background:rgba(10,12,15,.92);color:inherit;font-size:9px;font-weight:850;line-height:1;font-variant-numeric:tabular-nums;box-shadow:0 4px 12px rgba(0,0,0,.2)}
.lab-position-level.entry b{background:rgba(24,27,31,.96);color:#eef2f5;border-color:rgba(255,255,255,.16)}
.lab-position-grip{position:absolute;left:-5px;top:50%;width:10px;height:10px;transform:translateY(-50%);border-radius:2px;border:1px solid currentColor;background:#0b0d10;box-shadow:0 0 0 2px rgba(11,13,16,.65)}
.lab-position-level:hover .lab-position-grip,.lab-position-level:active .lab-position-grip{background:currentColor}
.lab-position-stats{position:absolute;height:26px;display:flex;align-items:center;justify-content:center;padding:0 10px;border:1px solid rgba(255,255,255,.10);border-radius:6px;background:rgba(10,12,15,.93);color:#cbd3db;font-size:9px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 8px 20px rgba(0,0,0,.22)}
.lab-position-overlay.invalid .lab-position-zone{background:rgba(161,169,178,.08);border-color:rgba(161,169,178,.36)}
.lab-position-overlay.invalid .lab-position-stats{color:#f2b65b;border-color:rgba(242,182,91,.32)}
.lab-position-overlay.hit-target .lab-position-zone.reward{background:rgba(55,190,132,.28)}
.lab-position-overlay.hit-stop .lab-position-zone.risk{background:rgba(225,77,97,.28)}
@media(max-width:760px){.lab-position-level b{font-size:8px;max-width:calc(100% - 28px);padding:4px 5px}.lab-position-stats{font-size:8px;padding:0 7px}}

/* v7.9.34 — Strategy templates */
.lab-template-section{margin-bottom:16px;padding:12px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,.008))}
.lab-template-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.lab-template-head>div{display:grid;gap:3px}.lab-template-head strong{font-size:11px}.lab-template-head button{border:0;background:transparent;color:var(--muted);font-size:9px;font-weight:850;cursor:pointer;padding:3px 0}.lab-template-head button:hover{color:var(--text)}
.lab-template-strip{display:grid;grid-template-columns:1fr 1fr;gap:7px}.lab-template-card{min-width:0;text-align:left;border:1px solid var(--border);background:var(--panel-2);border-radius:9px;padding:9px 10px;color:var(--text);cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}.lab-template-card:hover{border-color:var(--border-strong);transform:translateY(-1px)}.lab-template-card.active{border-color:color-mix(in srgb,var(--accent) 52%,var(--border));background:color-mix(in srgb,var(--accent) 9%,var(--panel-2));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent)}.lab-template-card strong{display:block;font-size:9px;line-height:1.25}.lab-template-card span{display:block;margin-top:4px;color:var(--muted-strong,var(--muted));font-size:8px;line-height:1.3}.lab-template-card small{display:block;margin-top:5px;color:var(--muted);font-size:7px;line-height:1.25}.lab-template-card.active strong{color:var(--accent)}
.lab-template-active{margin-top:9px;padding-top:8px;border-top:1px solid var(--border);font-size:8px;color:var(--muted)}
@media(max-width:1180px){.lab-template-strip{grid-template-columns:1fr}}
@media(max-width:900px){.lab-template-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.lab-template-strip{display:flex;overflow-x:auto;padding-bottom:4px}.lab-template-card{min-width:190px}}

/* v7.9.35 — larger TradingView-style chart workspace */
#view-strategies.lab-active{margin-left:-22px;margin-right:-22px;padding-bottom:0!important;overflow:visible}
#view-strategies.lab-active .strategies-command-head{min-height:42px;margin:0 0 4px;padding:0 22px 8px;border-bottom:0;align-items:center;justify-content:flex-end}
#view-strategies.lab-active .strategies-command-head>div:first-child{display:none}
#view-strategies.lab-active .strategies-mode-tabs{padding:2px;border-radius:7px;background:#131722;border-color:#2a2e39}
#view-strategies.lab-active .strategies-mode-tabs button{height:30px;border-radius:5px;color:#b2b5be}
#view-strategies.lab-active .strategies-mode-tabs button.active{background:#2a2e39;color:#f0f3fa;box-shadow:none}
.strategies-lab-pane.active{height:calc(100vh - 142px)!important;min-height:790px!important}
.strategies-lab-pane .strategy-lab-shell{height:100%;border-radius:0;border-color:#2a2e39;background:#131722;box-shadow:none;grid-template-columns:minmax(292px,318px) minmax(0,1fr);transition:grid-template-columns .18s ease}
.strategy-lab-shell.builder-collapsed{grid-template-columns:0 minmax(0,1fr)}
.strategy-lab-shell.builder-collapsed .lab-builder{opacity:0;pointer-events:none;overflow:hidden;border-right:0}
.lab-builder{background:#0f1117;border-right:1px solid #2a2e39;transition:opacity .14s ease}
.lab-builder-head{min-height:48px;padding:10px 12px;border-color:#2a2e39;background:#0f1117;backdrop-filter:none}
.lab-builder-brand-mark{width:28px;height:28px;border-radius:5px;border-color:#2a2e39;background:#131722;color:#d1d4dc}
.lab-builder-brand strong{font-size:12px;color:#f0f3fa}.lab-builder-brand span{font-size:8px;color:#787b86}
.lab-builder-scroll{padding:12px 12px 18px;background:#0f1117}
.lab-field{gap:6px;margin-bottom:12px}.lab-field>span,.lab-mini-label{font-size:9px;color:#787b86}
.lab-field select,.lab-field input,.lab-field textarea{border-color:#2a2e39;background:#131722;border-radius:5px;color:#d1d4dc}
.lab-field select,.lab-field input{height:36px}.lab-field textarea{min-height:112px;font-size:11px;padding:10px 38px 42px 10px}
.lab-field textarea:focus,.lab-field select:focus,.lab-field input:focus{border-color:#2962ff;box-shadow:0 0 0 1px #2962ff}
.lab-prompt-send{width:28px;height:28px;right:8px;bottom:8px;border-radius:5px;background:#2962ff;color:#fff;box-shadow:none}
.lab-template-section,.lab-rule-box,.lab-quick-note{border-color:#2a2e39;background:#131722;border-radius:6px}
.lab-template-section{padding:9px;margin-bottom:12px}.lab-template-head{margin-bottom:7px}.lab-template-strip{gap:5px}.lab-template-card{padding:7px 8px;border-radius:5px;border-color:#2a2e39;background:#171b26}.lab-template-card:hover{border-color:#434651;transform:none}.lab-template-card.active{border-color:#2962ff;background:rgba(41,98,255,.12);box-shadow:none}.lab-template-card.active strong{color:#7aa2ff}
.lab-template-card strong{font-size:8px}.lab-template-card span{font-size:7px}.lab-template-card small{font-size:6px}
.lab-rule-box{padding:9px;margin-bottom:12px}.lab-rule-chip{padding:5px 7px;border-radius:4px;border-color:#2a2e39;font-size:8px}.lab-rule-chip.active{border-color:#2962ff;background:rgba(41,98,255,.12);color:#7aa2ff}
.lab-config-grid{gap:7px}.lab-run-row{margin-top:10px}.lab-run-row .button{min-height:38px;border-radius:5px}.lab-run-row .button.primary{background:#2962ff!important;border-color:#2962ff!important;color:#fff!important}.lab-square-btn{width:38px}
.lab-status{font-size:8px;margin-top:8px}.lab-quick-note{font-size:8px;margin-top:10px;padding:8px}
.lab-chart-workspace{background:#131722;border:0}
.lab-chart-topbar{min-height:50px;height:50px;padding:0 8px;border-bottom:1px solid #2a2e39;background:#131722;flex-wrap:nowrap}
.lab-symbol-group,.lab-chart-actions{gap:3px;flex-wrap:nowrap}
.lab-tv-icon-btn{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:4px;background:transparent;color:#b2b5be;font-size:14px;cursor:pointer}.lab-tv-icon-btn:hover,.lab-tv-icon-btn.active{background:#2a2e39;color:#f0f3fa}
.lab-symbol-select,.lab-date-input{height:34px;border:0;background:transparent;border-radius:4px;color:#f0f3fa;font-size:12px;font-weight:650}.lab-symbol-select{min-width:64px;padding:0 7px}.lab-date-input{width:126px;padding:0 7px;color-scheme:dark}.lab-symbol-select:hover,.lab-date-input:hover{background:#2a2e39}
.lab-tv-market-label{display:flex;align-items:center;gap:6px;height:34px;padding:0 7px;border-left:1px solid #2a2e39;color:#b2b5be;white-space:nowrap}.lab-tv-market-label strong{font-size:12px;color:#f0f3fa}.lab-tv-market-label span{font-size:11px}.lab-tv-market-label em{font-style:normal;font-size:9px;color:#787b86}
.lab-timeframe-buttons{height:34px;border:0;border-radius:4px;background:transparent;overflow:visible}.lab-timeframe-buttons button{min-width:36px;height:34px;border:0!important;border-radius:4px;background:transparent;color:#b2b5be;font-size:11px}.lab-timeframe-buttons button:hover{background:#2a2e39;color:#f0f3fa}.lab-timeframe-buttons button.active{background:#2a2e39;color:#f0f3fa}
.lab-load-btn{height:34px;padding:0 11px;border:0;background:transparent;color:#b2b5be;border-radius:4px;font-size:10px}.lab-load-btn:hover{background:#2a2e39;color:#f0f3fa}
.lab-chart-wrap{margin-left:46px;background:#131722}.lab-chart-stage{background:#131722;overflow:hidden}
.lab-drawing-rail{left:0;top:50px;bottom:56px;width:46px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 5px;border:0;border-right:1px solid #2a2e39;border-radius:0;background:#131722;backdrop-filter:none;box-shadow:none}
.lab-drawing-rail button{width:34px;height:34px;border-radius:4px;color:#b2b5be}.lab-drawing-rail button:hover,.lab-drawing-rail button.active{background:#2a2e39;color:#f0f3fa}.lab-drawing-rail button.active{color:#7aa2ff}.lab-drawing-rail svg{width:17px;height:17px;stroke-width:1.6}
.lab-tv-ohlc{position:absolute;left:12px;top:9px;z-index:3;display:grid;gap:3px;pointer-events:none;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;text-shadow:0 1px 1px #131722}
.lab-tv-ohlc-title{display:flex;align-items:center;gap:6px}.lab-tv-ohlc-title strong{font-size:12px;color:#d1d4dc}.lab-tv-ohlc-title span{font-size:11px;color:#b2b5be}.lab-tv-ohlc-title em{font-size:9px;color:#787b86;font-style:normal}
.lab-tv-ohlc-values{display:flex;align-items:center;gap:7px;color:#787b86;font-size:10px;font-variant-numeric:tabular-nums}.lab-tv-ohlc-values b{font-weight:500;color:#b2b5be}.lab-tv-ohlc-values .up{color:#089981}.lab-tv-ohlc-values .down{color:#f23645}
.lab-click-hint{top:10px;border:0;background:#2962ff;color:#fff;border-radius:4px;padding:6px 9px;box-shadow:0 3px 10px rgba(0,0,0,.28)}
.lab-replay-bar{min-height:56px;height:56px;margin-left:46px;padding:0 10px;border-top:1px solid #2a2e39;background:#131722;flex-wrap:nowrap}
.lab-replay-controls,.lab-trade-tools{gap:3px;flex-wrap:nowrap}.lab-icon-btn,.lab-replay-btn,.lab-trade-btn,.lab-speed-select{height:34px;border:0;background:transparent;color:#b2b5be;border-radius:4px;font-size:10px}.lab-icon-btn{width:34px}.lab-icon-btn:hover,.lab-replay-btn:hover,.lab-trade-btn:hover{background:#2a2e39;color:#f0f3fa;border:0}.lab-replay-btn.primary{background:#2962ff;color:#fff;border:0;min-width:58px}.lab-replay-btn.primary:hover{background:#1e53e5}.lab-speed-select{border:0;background:#1e222d;padding:0 8px}.lab-trade-btn.order.active,.lab-trade-btn.long.active,.lab-trade-btn.short.active{background:#2a2e39}.lab-trade-btn.order.active{color:#7aa2ff}.lab-trade-btn.long.active{color:#089981}.lab-trade-btn.short.active{color:#f23645}.lab-replay-meta{font-size:9px;color:#787b86}
.lab-results-drawer{margin-left:46px;background:#131722;border-color:#2a2e39}.lab-results-drawer.open{flex-basis:220px}.lab-results-inner{height:220px;grid-template-columns:minmax(0,1fr) 280px}.lab-results-main{padding:10px 12px}.lab-results-side{border-color:#2a2e39;padding:10px;background:#11151f}.lab-results-head{margin-bottom:8px}.lab-result-kpis{gap:5px;margin-bottom:8px}.lab-result-kpis article{padding:7px 8px;border-radius:4px;border-color:#2a2e39;background:#171b26}.lab-result-kpis strong{font-size:12px}.lab-equity-mini{height:60px;border-radius:4px;border-color:#2a2e39;background:#171b26}.lab-trade-row{padding:7px 8px;border-radius:4px;border-color:#2a2e39;background:#171b26}
.lab-backtest-marker{width:8px;height:8px;border-color:#131722;box-shadow:0 0 0 1px #787b86}.lab-backtest-marker.win{background:#089981}.lab-backtest-marker.loss{background:#f23645}
.lab-position-zone.reward{background:rgba(8,153,129,.16);border-color:rgba(8,153,129,.8)}.lab-position-zone.risk{background:rgba(242,54,69,.16);border-color:rgba(242,54,69,.8)}
.lab-position-level.target{color:#089981}.lab-position-level.stop{color:#f23645}.lab-position-level.entry{color:#b2b5be}.lab-position-level b,.lab-position-stats{border-radius:3px;background:rgba(19,23,34,.96);border-color:#434651;color:#d1d4dc;box-shadow:none}
@media(max-width:1180px){#view-strategies.lab-active{margin-left:-14px;margin-right:-14px}.strategies-lab-pane.active{height:auto!important;min-height:820px!important}.strategies-lab-pane .strategy-lab-shell{grid-template-columns:285px minmax(0,1fr)}.strategy-lab-shell.builder-collapsed{grid-template-columns:0 minmax(0,1fr)}.lab-results-inner{grid-template-columns:1fr}.lab-results-side{display:none}}
@media(max-width:900px){#view-strategies.lab-active{margin-left:-14px;margin-right:-14px}.strategies-lab-pane .strategy-lab-shell{grid-template-columns:1fr}.strategy-lab-shell.builder-collapsed{grid-template-columns:1fr}.strategy-lab-shell.builder-collapsed .lab-builder{display:none}.lab-chart-workspace{height:760px}.lab-chart-wrap{margin-left:42px}.lab-drawing-rail{width:42px}.lab-replay-bar,.lab-results-drawer{margin-left:42px}.lab-tv-market-label{display:none}}
@media(max-width:620px){#view-strategies.lab-active{margin-left:-8px;margin-right:-8px}.lab-chart-topbar{height:auto;min-height:82px;padding:5px;align-items:flex-start;flex-wrap:wrap}.lab-symbol-group,.lab-chart-actions{width:100%;justify-content:flex-start}.lab-drawing-rail{top:82px;bottom:104px}.lab-chart-workspace{height:720px}.lab-replay-bar{height:auto;min-height:104px;align-items:flex-start;padding:6px;flex-direction:column}.lab-replay-controls,.lab-trade-tools{overflow-x:auto;width:100%}.lab-results-drawer.open{flex-basis:250px}.lab-results-inner{height:250px}.lab-tv-ohlc-values{gap:4px;font-size:8px}.lab-tv-ohlc-values span:nth-child(2),.lab-tv-ohlc-values span:nth-child(3){display:none}}
#view-strategies.lab-active{max-width:none!important;width:auto!important}
/* v7.9.36 exact-contract selector */
.lab-contract-select{height:34px;min-width:164px;max-width:210px;border:0;background:transparent;border-radius:4px;color:#f0f3fa;font-size:11px;font-weight:650;padding:0 8px}.lab-contract-select:hover{background:#2a2e39}.lab-contract-select:focus{outline:1px solid #2962ff;outline-offset:-1px}.lab-contract-select option{background:#1e222d;color:#f0f3fa}
@media(max-width:1050px){.lab-contract-select{min-width:138px;max-width:160px}}
@media(max-width:620px){.lab-contract-select{min-width:132px;max-width:150px}}

/* v7.9.37 — Latest TradingView / Replay split */
.lab-mode-buttons{display:flex;align-items:center;height:34px;padding:2px;border:1px solid #2a2e39;border-radius:6px;background:#0f1117}
.lab-mode-buttons button{height:28px;padding:0 11px;border:0;border-radius:4px;background:transparent;color:#b2b5be;font-size:10px;font-weight:700;cursor:pointer}
.lab-mode-buttons button:hover{background:#2a2e39;color:#f0f3fa}
.lab-mode-buttons button.active{background:#2962ff;color:#fff}
.lab-date-wrap{display:flex;align-items:center;gap:5px;height:34px;margin:0;padding:0 4px;border-radius:4px;color:#787b86}
.lab-date-wrap>span{display:none;font-size:8px;text-transform:uppercase;letter-spacing:.06em}
.lab-date-wrap.hidden{display:none!important}
.lab-tv-live{position:absolute;inset:0;z-index:8;background:#0f0f0f;overflow:hidden}
.lab-tv-live.hidden{display:none!important}
.lab-tv-widget-shell{height:100%;width:100%;background:#0f0f0f}
.lab-tv-credit{height:20px;display:flex;align-items:center;justify-content:flex-end;gap:3px;padding:0 8px;background:#0f0f0f;color:#787b86;font-size:8px;line-height:20px}
.lab-tv-credit a{color:#7aa2ff;text-decoration:none}
.lab-chart-workspace.latest-mode .lab-chart-topbar{height:42px;min-height:42px}
.lab-chart-workspace.latest-mode .lab-symbol-select,
.lab-chart-workspace.latest-mode .lab-contract-select,
.lab-chart-workspace.latest-mode .lab-tv-market-label,
.lab-chart-workspace.latest-mode .lab-date-wrap,
.lab-chart-workspace.latest-mode .lab-timeframe-buttons,
.lab-chart-workspace.latest-mode .lab-load-btn{display:none!important}
.lab-chart-workspace.latest-mode .lab-drawing-rail,
.lab-chart-workspace.latest-mode .lab-replay-bar,
.lab-chart-workspace.latest-mode .lab-results-drawer{display:none!important}
.lab-chart-workspace.latest-mode .lab-chart-wrap{margin-left:0!important}
.lab-chart-workspace.latest-mode .lab-chart-actions{margin-left:auto}
.lab-chart-workspace.replay-mode .lab-tv-live{display:none!important}
@media(max-width:620px){.lab-mode-buttons{height:32px}.lab-mode-buttons button{height:26px;padding:0 9px}.lab-chart-workspace.latest-mode .lab-chart-topbar{height:40px;min-height:40px}.lab-chart-workspace.latest-mode .lab-symbol-group{width:auto}.lab-chart-workspace.latest-mode .lab-chart-actions{width:auto;margin-left:auto}}

/* v7.9.38 — remove restricted TradingView embed; keep FRA chart visible in Latest available */
.lab-live-external-btn{height:34px;padding:0 11px;border:1px solid #2962ff;border-radius:5px;background:transparent;color:#7aa2ff;font-size:10px;font-weight:700;white-space:nowrap;cursor:pointer}
.lab-live-external-btn:hover{background:rgba(41,98,255,.12);color:#fff}
.lab-chart-workspace.latest-mode .lab-chart-topbar{height:46px;min-height:46px}
.lab-chart-workspace.latest-mode .lab-symbol-select,
.lab-chart-workspace.latest-mode .lab-contract-select,
.lab-chart-workspace.latest-mode .lab-tv-market-label,
.lab-chart-workspace.latest-mode .lab-timeframe-buttons,
.lab-chart-workspace.latest-mode .lab-load-btn,
.lab-chart-workspace.latest-mode .lab-live-external-btn{display:flex!important}
.lab-chart-workspace.latest-mode .lab-symbol-select,
.lab-chart-workspace.latest-mode .lab-contract-select{display:block!important}
.lab-chart-workspace.latest-mode .lab-drawing-rail{display:grid!important}
.lab-chart-workspace.latest-mode .lab-replay-bar,
.lab-chart-workspace.latest-mode .lab-results-drawer{display:none!important}
.lab-chart-workspace.latest-mode .lab-chart-wrap{margin-left:42px!important}
.lab-chart-workspace.latest-mode .lab-chart-actions{margin-left:auto}
.lab-chart-workspace.latest-mode .lab-date-wrap{display:none!important}
@media(max-width:1050px){.lab-live-external-btn{padding:0 8px;font-size:9px}.lab-chart-workspace.latest-mode .lab-tv-market-label{display:none!important}}
@media(max-width:760px){.lab-live-external-btn{width:100%;justify-content:center}.lab-chart-workspace.latest-mode .lab-chart-topbar{height:auto;min-height:84px}.lab-chart-workspace.latest-mode .lab-chart-actions{width:100%;margin-left:0}.lab-chart-workspace.latest-mode .lab-chart-wrap{margin-left:38px!important}}


/* v7.9.48 — Full replay backtester upgrade */
.lab-sim-card{margin-top:14px;padding:12px;border:1px solid #2a2e39;border-radius:8px;background:#11151f}
.lab-sim-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.lab-sim-head>div{display:grid;gap:3px}.lab-sim-head strong{font-size:11px;color:#f0f3fa}.lab-sim-head>span{font-size:8px;color:#787b86}
.lab-sim-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.lab-sim-grid .lab-field.full{grid-column:1/-1}.lab-sim-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.lab-sim-actions .button{min-height:34px;padding:0 8px;font-size:9px}
.lab-saved-sessions{display:grid;gap:5px;margin-top:9px}.lab-saved-row{display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:4px}.lab-saved-row>button:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:7px 8px;border:1px solid #2a2e39;border-radius:5px;background:#171b26;color:#d1d4dc;text-align:left;cursor:pointer}.lab-saved-row strong{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lab-saved-row span{font-size:7px;color:#787b86;white-space:nowrap}.lab-saved-row .delete{border:0;border-radius:5px;background:transparent;color:#787b86;cursor:pointer}.lab-saved-row .delete:hover{background:#2a2e39;color:#f23645}.lab-saved-empty{padding:7px 0 1px;color:#787b86;font-size:8px}
.lab-blind-btn{height:34px;padding:0 10px;border:1px solid #2a2e39;border-radius:5px;background:transparent;color:#b2b5be;font-size:9px;font-weight:750;cursor:pointer;white-space:nowrap}.lab-blind-btn:hover,.lab-blind-btn.active{background:#2a2e39;color:#f0f3fa}.lab-blind-btn.active{color:#f0b45d;border-color:rgba(240,180,93,.45)}.lab-blind-btn.reveal{color:#f0b45d}.lab-blind-btn.hidden{display:none!important}
.strategy-lab-shell.blind-mode .lab-date-wrap{display:none!important}.strategy-lab-shell.blind-mode #labResultsMeta{letter-spacing:.04em}.strategy-lab-shell.blind-mode .lab-tv-ohlc-title strong::after{content:" · BLIND";color:#f0b45d;font-size:8px}
.lab-session-jumps{display:flex;align-items:center;gap:2px}.lab-session-jumps button{height:28px;padding:0 7px;border:0;border-radius:4px;background:transparent;color:#787b86;font-size:8px;font-weight:750;cursor:pointer}.lab-session-jumps button:hover{background:#2a2e39;color:#d1d4dc}
.lab-trade-btn.market{border:1px solid transparent}.lab-trade-btn.long.market{color:#0fb89c}.lab-trade-btn.short.market{color:#ff6673}.lab-trade-btn.close{color:#f0b45d}
.lab-challenge-status{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:8px;padding:8px 10px;border:1px solid #2a2e39;border-radius:5px;background:#171b26}.lab-challenge-status>div{display:grid;gap:1px}.lab-challenge-status span{font-size:7px;letter-spacing:.08em;color:#787b86}.lab-challenge-status strong{font-size:10px;color:#d1d4dc}.lab-challenge-status p{margin:0;min-width:0;color:#787b86;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lab-challenge-status>b{font-size:9px;color:#b2b5be;font-variant-numeric:tabular-nums}.lab-challenge-status.pass{border-color:rgba(8,153,129,.45);background:rgba(8,153,129,.08)}.lab-challenge-status.pass strong{color:#23c9a9}.lab-challenge-status.fail{border-color:rgba(242,54,69,.45);background:rgba(242,54,69,.08)}.lab-challenge-status.fail strong{color:#ff6673}
.lab-result-kpis{grid-template-columns:repeat(5,minmax(92px,1fr))}
@media(max-width:1320px){.lab-result-kpis{grid-template-columns:repeat(3,minmax(92px,1fr))}.lab-session-jumps{display:none}}
@media(max-width:900px){.lab-blind-btn{height:32px}.lab-sim-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.lab-sim-grid{grid-template-columns:1fr}.lab-sim-grid .lab-field.full{grid-column:auto}.lab-sim-actions{grid-template-columns:1fr}.lab-challenge-status{grid-template-columns:1fr auto}.lab-challenge-status p{grid-column:1/-1;white-space:normal}.lab-result-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-trade-tools{padding-bottom:2px}}
