:root{--bg: #131722;--panel: #1e222d;--line: #2a2e39;--text: #d1d4dc;--muted: #787b86;--accent: #2962ff;--danger: #f23645;--up: #26a69a;--down: #ef5350;--warn: #f7a600;font-family:Trebuchet MS,Roboto,Ubuntu,sans-serif;font-size:13px;color:var(--text);background:var(--bg)}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--line) transparent}*::-webkit-scrollbar{width:8px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}*::-webkit-scrollbar-thumb:hover{background:var(--muted)}*::-webkit-scrollbar-corner{background:transparent}html,body,#root{margin:0;height:100%;max-width:100%;overflow:hidden}.snapshot{display:flex;flex-direction:column;gap:2px;height:100%;background:var(--line)}.snapshot-row{display:flex;gap:2px;flex:0 0 45%;min-height:0}.snapshot-main{display:flex;flex:1 1 auto;min-height:0}.snapshot-chart{position:relative;flex:1 1 0;min-width:0;display:flex;background:var(--bg)}.snapshot-chart>*{flex:1 1 auto}button,input,select,textarea{font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:3px 8px;-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=checkbox],input[type=radio]{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;width:auto;padding:0}button{cursor:pointer}button:hover{border-color:var(--muted)}button.active,button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button:disabled{opacity:.45;cursor:not-allowed}button:disabled:hover{border-color:var(--line)}button.primary:disabled:hover{border-color:var(--accent)}button.icon{border:none;background:transparent;padding:2px 4px}button.icon:has(>.power-icon){display:inline-flex;align-items:center;justify-content:center;align-self:stretch}.power-icon{display:block;transform:translateY(1px)}.select{display:inline-flex;min-width:0;max-width:100%;vertical-align:middle}.select-button{display:inline-flex;align-items:center;gap:6px;width:100%;min-width:0;text-align:left}.select-button>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-button i{flex:none;font-style:normal;color:var(--muted)}.select-menu{position:fixed;z-index:90;overflow:auto;padding:4px;background:var(--panel);border:1px solid var(--line);border-radius:6px;box-shadow:0 6px 24px #00000080}.select-menu button{display:block;width:100%;border:none;background:transparent;text-align:left;border-radius:4px}.select-menu button:hover{background:var(--line)}.select-menu button.active,.select-menu button.active:hover{background:var(--accent);color:#fff}.select-group{display:block;padding:6px 8px 2px;color:var(--muted);font-size:11px}.color-field{display:inline-flex;flex:none}button.color-swatch{width:36px;height:22px;padding:0;border-radius:4px;border:1px solid var(--line);position:relative;overflow:hidden}button.color-swatch>span,.color-preview>span{position:absolute;top:0;right:0;bottom:0;left:0}.checker{background-color:#fff;background-image:linear-gradient(45deg,#9aa0aa 25%,transparent 25%),linear-gradient(-45deg,#9aa0aa 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#9aa0aa 75%),linear-gradient(-45deg,transparent 75%,#9aa0aa 75%);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0}.color-palette{position:fixed;z-index:40;display:flex;flex-direction:column;gap:10px;width:248px;padding:10px;background:var(--panel);border:1px solid var(--line);border-radius:6px;box-shadow:0 8px 24px #00000073}.color-swatches{display:grid;grid-template-columns:repeat(8,1fr);gap:6px}.color-swatches>button{width:100%;aspect-ratio:1;padding:0;border-radius:3px;border:1px solid rgba(255,255,255,.16)}.color-swatches>button.on{outline:2px solid #fff;outline-offset:1px}.color-alpha{display:flex;flex-direction:column;gap:6px;padding-top:8px;border-top:1px solid var(--line)}.color-preview{position:relative;height:14px;border-radius:3px;border:1px solid var(--line);overflow:hidden}.color-alpha-label{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.color-alpha input[type=range]{width:100%;margin:0;accent-color:var(--accent)}.color-custom{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:8px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.color-custom input[type=color]{width:36px;height:22px;padding:0;border:none;background:none;cursor:pointer}.chart-table-stack{position:absolute;z-index:3;pointer-events:none}.chart-table.in-stack{width:100%}.app{display:flex;flex-direction:column;height:100%;min-width:0;max-width:100%}.toolbar{display:flex;align-items:center;flex-wrap:nowrap;gap:8px;min-width:0;max-width:100%;padding:6px 10px;border-bottom:1px solid var(--line)}.toolbar-scroll{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:8px;overflow-x:auto;overflow-y:hidden}.toolbar-side{display:flex;align-items:center;gap:8px;flex:none}.toolbar-side .user-menu{margin-left:0}.link{font-size:13px;white-space:nowrap}.user-menu{position:relative;flex:none}.user-pop{position:absolute;top:30px;right:0;z-index:20;min-width:160px;padding:8px;display:flex;flex-direction:column;gap:6px;background:var(--panel);border:1px solid var(--line);border-radius:4px;box-shadow:0 4px 16px #00000080}.login-screen{height:100%;display:flex;align-items:center;justify-content:center;padding:24px 16px}.login-status{margin:0;padding:16px 22px;background:var(--panel);border:1px solid var(--line);border-radius:8px}.dialog.login{width:min(400px,100%);border-radius:8px}.login-screen .dialog.login{width:min(400px,100%);max-width:100%;box-shadow:0 16px 48px #00000073}.dialog.login header{padding:18px 20px 0}.login-screen .dialog.login header b{font-size:18px}.dialog.login .dialog-body{display:flex;flex-direction:column;gap:14px;padding:16px 20px 4px}.dialog.login .field{flex:none;flex-direction:column;align-items:stretch;gap:6px}.dialog.login .field>span{flex:none;line-height:1.3;color:var(--text)}.dialog.login .field input{flex:none;width:100%;padding:8px 10px;background:var(--bg)}.dialog.login .field input:focus{outline:none;border-color:var(--accent)}.dialog.login p{margin:0;line-height:1.45}.dialog.login .dialog-body .error{padding:0;line-height:1.4}.dialog.login footer{padding:14px 20px 18px}.login-screen .dialog.login footer{flex-direction:column;align-items:stretch;gap:12px;border-top:none;padding:12px 20px 18px}.login-screen .dialog.login footer .primary{width:100%;padding:9px 12px}.login-links{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 16px}.login-links button{background:transparent;border:none;padding:2px 0;color:var(--accent)}.login-links button:hover{text-decoration:underline}.link-online{color:#089981}.link-connecting,.link-reconnecting{color:var(--warn)}.link-offline{color:var(--danger)}.crash{padding:24px}.crash pre{white-space:pre-wrap;color:var(--danger)}.toolbar .symbol{width:140px;font-weight:700;text-transform:uppercase}.symbol-search{position:relative;display:flex;gap:4px;align-items:center}.venue-switch{max-width:150px}.symbol-suggest{position:absolute;top:calc(100% + 4px);left:0;z-index:30;min-width:280px;background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:4px;display:flex;flex-direction:column}.symbol-suggest button{display:flex;gap:8px;text-align:left;background:transparent;border:0;color:inherit;padding:4px 6px;cursor:pointer}.symbol-suggest button:hover{background:var(--bg)}.tfs button:disabled{opacity:.35}.dialog.brokers-dialog{width:760px}.exec-venue{display:flex;flex-direction:column;gap:8px;margin:8px 8px 0;background:transparent}.exec-venue-head,.exec-venue-toggle{display:flex;align-items:center;gap:6px;width:100%;margin:0;padding:6px 8px;background:var(--panel);border:1px solid var(--line);color:inherit;font:inherit;border-radius:6px;text-align:left;cursor:pointer}.exec-venue-toggle:hover{background:#262b38;border-color:var(--line)}.exec-venue.folded .exec-venue-toggle{border-bottom:1px solid var(--line)}.exec-venue-count{margin-left:auto;color:var(--muted);font-size:11px;font-weight:400}.exec-group>.exec-card{margin:8px 8px 0}.tfs{display:flex;gap:2px;flex:none}main{flex:1;display:flex;min-height:0;min-width:0;max-width:100%}.chart-column{flex:1;min-width:0;max-width:100%;display:flex;flex-direction:column;overflow:hidden}.chart{flex:1;min-width:0;min-height:80px;position:relative;overflow:hidden;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.panes{flex:1;min-width:0;min-height:0;display:flex}.pane-split{flex:1;display:flex;min-width:0;min-height:0}.pane-split.col{flex-direction:column}.pane-split.row{align-items:stretch;flex-wrap:nowrap;gap:0}.pane-slot,.pane-cell{display:flex;min-width:0;min-height:0}.pane-slot{flex-shrink:1}.pane-cell{flex:1}.pane-divider{position:relative;flex:none;background:var(--line);touch-action:none}.pane-divider:before{content:"";position:absolute;z-index:2}.pane-divider.v{width:4px;cursor:col-resize}.pane-divider.v:before{top:0;bottom:0;left:-14px;right:-14px}.pane-divider.h{height:4px;cursor:row-resize}.pane-divider.h:before{left:0;right:0;top:-14px;bottom:-14px}.pane-divider:hover{background:var(--accent)}body.resizing,body.resizing *{-webkit-user-select:none;user-select:none;touch-action:none}.chart-pane{position:relative;flex:1;min-width:0;min-height:0;display:flex;border:1px solid transparent}.pane-slot.away,.pane-cell.away,.pane-divider.away,.pane-split.away{display:none}.chart-nav{position:absolute;left:50%;bottom:calc(var(--scale-bottom, 54px) + 6px);z-index:5;display:flex;gap:4px;transform:translate(-50%) translateY(6px);opacity:0;pointer-events:none;transition:opacity .22s ease,transform .22s ease}.chart-nav button{width:24px;height:22px;padding:0;display:flex;align-items:center;justify-content:center;border:none;border-radius:4px;background:#1e222df0;box-shadow:0 1px 4px #0006;color:#b2b5be;pointer-events:none}.chart-nav button:hover{background:#363a45f5;color:#fff}@media(hover:hover)and (pointer:fine){.chart-nav.hot,.chart-nav:focus-within{opacity:1;transform:translate(-50%) translateY(0)}.chart-nav.hot button,.chart-nav:focus-within button{pointer-events:auto}}.chart-pane.active{border-color:var(--accent)}.chart-pane.single{border:none}.legend-modules{display:flex;flex-direction:column;align-items:flex-start;align-self:flex-start;gap:1px;width:max-content;max-width:100%;font-size:12px;pointer-events:none}.legend-module>span:first-child{overflow:hidden;text-overflow:ellipsis;min-width:0}.legend-toggle{height:18px;padding:0 6px;font-size:11px;line-height:1;color:var(--muted);background:#131722b3;border:1px solid var(--line);pointer-events:auto}.legend-toggle:hover{color:var(--text)}.legend-module{display:flex;align-items:center;gap:6px;width:fit-content;max-width:100%;height:20px;padding:0 4px;border-radius:3px;border:1px solid transparent;white-space:nowrap;pointer-events:auto}.legend-module:hover{border-color:var(--line);background:#131722d9}.legend-module.off>span:first-child{opacity:.5}.legend-strategy{color:var(--warn)}.legend-tools{display:none;gap:1px}.legend-module:hover .legend-tools{display:flex}.legend-tools button.icon{padding:0 3px;font-size:11px;line-height:16px}.template-menu{position:relative}.template-menu>button{display:inline-flex;align-items:center;gap:4px}.template-pop{position:absolute;top:30px;left:0;z-index:20;width:260px;padding:10px;display:flex;flex-direction:column;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:4px;box-shadow:0 4px 16px #00000080}.template-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.template-grid button{height:34px;padding:4px;display:flex}.template-grid button.active{border-color:var(--accent)}.tpl-split{flex:1;display:flex;gap:2px;min-width:0}.template-menu>button{height:26px;overflow:hidden}.template-menu>button>.tpl-split,.template-menu>button>.tpl-cell{width:18px;height:14px;flex:none}.tpl-split,.tpl-cell{box-sizing:border-box}.tpl-split{min-height:0}.tpl-split.col{flex-direction:column}.tpl-cell{flex:1;min-width:2px;min-height:2px;border:1px solid currentColor;border-radius:1px;opacity:.8}.panel-window{padding:4px 10px;border-bottom:1px solid var(--line)}.panel-exchange-note,.exec-settings-note{display:flex;align-items:center;gap:8px}.panel-exchange-note{margin:6px 10px 0}.panel-exchange-note>span,.exec-settings-note>span{flex:1}.panel-exchange-note>button,.exec-settings-note>button{flex:none}.exec-changes td{vertical-align:top}.intg-add input{width:100%}.intg-steps{margin:2px 0;padding-left:18px;display:flex;flex-direction:column;gap:3px}.intg-steps code,.intg-tab code{padding:0 4px;border-radius:3px;background:var(--line)}.intg-code{display:flex;flex-direction:column;gap:4px;padding:6px 8px;border:1px dashed var(--line);border-radius:4px}.intg-code-value{font-size:15px;font-weight:700;letter-spacing:2px;-webkit-user-select:all;user-select:all}.intg-card>.exec-card-head{flex-wrap:nowrap}.intg-card .exec-title{flex:1 1 4em}.intg-card .exec-chip{max-width:7.5em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.intg-block{display:flex;flex-direction:column;gap:4px;padding-top:6px;border-top:1px solid var(--line)}.kicker,.intg-label,.exec-section,.form legend{color:var(--muted);font-size:11px;letter-spacing:.3px;text-transform:uppercase}.intg-chips,.intg-line{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.pill,.exec-badge,.exec-env,.exec-chip,.intg-chip,.badge.error{flex:none;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;height:18px;margin:0;padding:0 7px;border-radius:9px;font-size:11px;font-weight:600;line-height:1;white-space:nowrap}.intg-chip{font-weight:400;color:var(--muted)}.pill-caps{padding-top:1px;padding-bottom:0}.pill-lower{padding-top:0;padding-bottom:1px}.intg-chip.on,.intg-chip.on:hover{background:var(--accent);border-color:var(--accent);color:#fff}.intg-fields{display:flex;flex-direction:column;gap:6px}.intg-fields .field{min-width:0}.intg-fields .field>span:first-child{flex:none;width:7em}.intg-fields .field>.select{flex:1;min-width:0}.to-now{position:absolute;z-index:3;width:28px;height:28px;padding:0;border-radius:50%;font-size:16px;line-height:1;background:var(--panel);border:1px solid var(--line);box-shadow:0 1px 4px #0006}.to-now:hover{background:var(--accent);color:#fff}.hsplitter{position:relative;height:4px;flex:none;cursor:row-resize;background:var(--line);touch-action:none}.hsplitter:before{content:"";position:absolute;left:0;right:0;top:-14px;bottom:-14px}.hsplitter:hover{background:var(--accent)}.tester-wrap{flex:none;display:flex;min-height:0;min-width:0;max-width:100%;overflow:hidden;border-top:1px solid var(--line)}.tester{flex:1;width:100%;min-width:0;display:flex;flex-direction:column;min-height:0;overflow:hidden}.tester-head{display:flex;flex-direction:column;align-items:stretch;flex:none;min-width:0;border-bottom:1px solid var(--line)}.tester.collapsed .tester-head{border-bottom:none}.tester-tools{display:flex;align-items:center;gap:8px;min-width:0;height:32px;padding:0 8px}.tester-title{flex:0 1 auto;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tester-tabs{display:flex;flex-wrap:nowrap;align-items:stretch;min-width:0;width:100%;overflow-x:auto;border-bottom:1px solid var(--line)}.tester-tabs button{flex:none;border:none;border-bottom:2px solid transparent;border-radius:0;background:none;color:var(--muted);padding:6px 10px;white-space:nowrap}.tester-tabs button.active{color:var(--text);border-bottom-color:var(--accent)}.tester-tools>.small{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.tester-tools>.select{flex:none}.tester-body{flex:1;min-height:0;overflow:auto}.overview{display:flex;flex-direction:column;height:100%}.metrics{display:flex;flex-wrap:wrap;gap:4px 28px;padding:8px 12px;flex:none}.metric-v{font-size:15px;font-variant-numeric:tabular-nums}.equity-wrap{position:relative;flex:1;min-height:100px;display:flex}.equity-bars{position:absolute;z-index:5;top:6px;left:8px;display:flex;align-items:center;gap:6px;margin:0;padding:3px 8px;border-radius:4px;background:color-mix(in srgb,var(--panel) 88%,transparent);color:var(--muted);font-size:12px;pointer-events:auto}.equity-chart{flex:1;min-height:0;position:relative;z-index:0}.performance{display:flex;gap:20px;padding:0 12px 10px;align-items:flex-start}.performance>table{flex:2}.performance-side{flex:1;min-width:240px;padding-top:8px}.performance-side .card-title{margin-top:10px}.position-panel{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}table.grid tr.selected td{background:#2962ff2e}table.tester-trades tr.exit-row td{border-bottom-color:transparent}table.tester-trades td{vertical-align:top}.chart-canvas{position:absolute;top:0;right:0;bottom:28px;left:0}.ruler{position:absolute;pointer-events:none;z-index:3}.ruler.gain{background:#2962ff52}.ruler.loss{background:#f2364552}.ruler-cross{display:block;overflow:visible}.ruler.gain .ruler-cross{color:#3d7eff}.ruler.loss .ruler-cross{color:#f23645}.ruler-cross line{stroke:currentColor;stroke-width:1}.ruler-cross marker path{fill:currentColor}.ruler-label{position:absolute;pointer-events:none;z-index:4;padding:3px 6px;border-radius:2px;border:none;font-size:12px;line-height:15px;text-align:center;white-space:nowrap}.ruler-label.gain{background:#2962ff}.ruler-label.gain .ruler-change,.ruler-label.gain .ruler-meta{color:#fff}.ruler-label.loss{background:#f23645}.ruler-label.loss .ruler-change,.ruler-label.loss .ruler-meta{color:#fff}.chart-canvas.alert-hover,.chart-canvas.alert-hover *{cursor:ns-resize!important}.legend-box{position:absolute;top:6px;left:8px;z-index:3;display:flex;flex-direction:column;gap:4px;overflow:hidden;pointer-events:none}.legend{display:flex;flex-wrap:wrap;gap:0 8px;align-items:baseline;font-size:13px}.legend>span{white-space:nowrap}.legend .muted{margin-right:2px}.up,.ok,.notice{color:var(--up)}.down{color:var(--down)}.warn,.exec-warn{color:var(--warn)}.chart-table{position:absolute;z-index:3;border-collapse:separate;border-spacing:1px;pointer-events:none;line-height:1.25}.chart-table td{padding:2px 7px;text-align:center;white-space:nowrap}.chart-footer{position:absolute;left:0;right:0;bottom:0;height:28px;z-index:4;display:flex;align-items:center;gap:2px;padding:0 6px;border-top:1px solid var(--line);background:var(--bg);font-size:12px;white-space:nowrap;min-width:0;overflow:hidden}.footer-ranges{display:flex;align-items:center;gap:2px;flex:1 1 auto;min-width:0;overflow-x:auto}.chart-footer button{font-size:12px;padding:2px 6px;border:none;border-radius:3px;background:transparent;color:var(--muted)}.chart-footer button.on{color:var(--accent);font-weight:700}.chart-footer button:hover{color:var(--text);background:var(--line)}.footer-sep{width:1px;height:16px;margin:0 4px;background:var(--line)}.footer-clock{color:var(--muted);font-variant-numeric:tabular-nums;padding:0 4px}.goto{position:relative}.goto-pop{position:absolute;bottom:28px;left:0;display:flex;gap:6px;padding:8px;background:var(--panel);border:1px solid var(--line);border-radius:4px;box-shadow:0 2px 10px #00000080}.chart-footer .goto-pop button.primary{background:var(--accent);color:#fff}.chart-canvas.picking,.chart-canvas.picking *{cursor:crosshair!important}.chart-banner{position:absolute;top:34px;left:50%;transform:translate(-50%);z-index:5;padding:6px 12px;border-radius:4px;background:var(--panel);border:1px solid var(--accent);box-shadow:0 2px 10px #00000080;white-space:nowrap}.history-loading{position:absolute;top:34px;left:50%;transform:translate(-50%);z-index:5;padding:3px 10px;border-radius:4px;background:var(--panel);border:1px solid var(--line);font-size:12px;white-space:nowrap;max-width:calc(100% - 16px);overflow:hidden;text-overflow:ellipsis}.chart-veil{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;background:#080a0eb8}.replay-dock{position:absolute;left:8px;right:8px;bottom:calc(var(--scale-bottom, 54px) + 10px);z-index:5;display:flex;justify-content:center;container-type:inline-size;pointer-events:none}.chart:has(.replay-dock) .chart-nav{bottom:calc(var(--scale-bottom, 54px) + 52px)}.replay-bar{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;max-width:100%;padding:4px 8px;border-radius:6px;background:var(--panel);border:1px solid var(--line);box-shadow:0 2px 12px #0000008c;white-space:nowrap;font-size:12px;pointer-events:auto}.replay-bar button{min-width:30px}.replay-bar .replay-time{font-variant-numeric:tabular-nums;padding:0 6px}@container (max-width: 560px){.replay-bar .rb-title,.replay-bar .rb-label{display:none}}@container (max-width: 440px){.replay-bar .rb-wider,.replay-bar .rb-date{display:none}.replay-bar .replay-time{padding:0 2px}}@container (max-width: 340px){.replay-bar .rb-wide{display:none}.replay-bar{gap:2px;padding:3px 4px}.replay-bar button{min-width:26px}}.toolbar button.replay-on{background:var(--accent);border-color:var(--accent);color:#fff}.replay-split{display:inline-flex;flex:none;align-items:stretch}.replay-split>button{border-top-right-radius:0;border-bottom-right-radius:0;border-right-width:0}.replay-split .select-button{width:auto;min-width:0;padding:3px 5px;border-top-left-radius:0;border-bottom-left-radius:0;border-left-color:var(--line)}.replay-split .select-caret i{color:var(--text)}.replay-split.replay-on>button,.replay-split.replay-on .select-button{background:var(--accent);border-color:var(--accent);color:#fff}.replay-split.replay-on .select-button{border-left-color:#ffffff59}.replay-split.replay-on .select-caret i{color:#fff}.range-picker{display:flex;align-items:center;gap:6px;flex:0 1 auto;min-width:0;max-width:200px}.range-picker select,.range-picker .select{max-width:100%;min-width:0}.range-picker:has(.range-dates){max-width:340px}.range-dates{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}.range-pop{position:fixed;z-index:60;width:240px;display:flex;flex-direction:column;gap:10px;padding:12px;background:var(--panel);border:1px solid var(--line);border-radius:6px;box-shadow:0 6px 24px #00000080}.range-pop .range-date{flex:none}.range-pop .range-date>span{flex:0 0 24px}.range-pop .range-date input{flex:1;min-width:0;font-variant-numeric:tabular-nums}.range-pop input.bad{border-color:var(--danger)}.range-pop-tools{display:flex;justify-content:flex-end}.periods{padding:6px 12px 10px}.period-bar{display:inline-block;height:8px;vertical-align:middle;border-radius:2px}.context-menu{position:absolute;z-index:20;min-width:230px;display:flex;flex-direction:column;padding:4px 0;background:var(--panel);border:1px solid var(--line);border-radius:6px;box-shadow:0 6px 24px #00000080}.context-menu button{border:none;border-radius:0;background:transparent;text-align:left;padding:6px 14px}.context-menu button:hover{background:var(--line)}.tools{display:flex;gap:4px;flex:none}.toasts{position:fixed;top:52px;right:316px;z-index:30;width:300px;display:flex;flex-direction:column;gap:6px}.toast{background:var(--panel);border:1px solid var(--warn);border-left-width:4px;border-radius:6px;padding:8px 10px;box-shadow:0 6px 24px #00000080}.toast-head{display:flex;align-items:center;gap:8px;margin-bottom:4px}.toast-head button{margin-left:auto}.toast-all{align-self:flex-end}.error-notice{position:fixed;z-index:80;left:16px;bottom:16px;width:max-content;max-width:min(320px,calc(100% - 32px));padding:8px 12px;background:var(--panel);border:1px solid var(--danger);border-left-width:4px;border-radius:6px;box-shadow:0 6px 24px #00000080;pointer-events:none;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.alert-row{display:flex;align-items:center;gap:2px;padding:4px 6px;border-bottom:1px solid var(--line)}.alert-row.off .name{color:var(--muted)}.alert-text{flex:1;min-width:0}.alert-text .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-row{padding:2px 10px}.panel section+section{border-top:1px solid var(--line)}.splitter{position:relative;width:4px;cursor:col-resize;background:var(--line);flex:none;touch-action:none}.splitter:before{content:"";position:absolute;top:0;bottom:0;left:-8px;right:-8px}.splitter:hover{background:var(--accent)}.panel-tabs{display:flex;border-bottom:1px solid var(--line);flex:none;min-width:0;overflow-x:auto}.panel-tabs button{flex:1 0 auto;border:none;border-bottom:2px solid transparent;border-radius:0;background:none;padding:8px;color:var(--muted);white-space:nowrap}.panel-tabs button.active{color:var(--text);border-bottom-color:var(--accent)}.count{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;height:16px;margin-left:5px;padding-left:6px;padding-right:6px;border-radius:8px;background:var(--warn);color:#131722;font-size:11px;font-weight:600;line-height:1}.panel-body{flex:1;min-height:0;overflow-y:auto}.subtabs{display:flex;gap:4px;padding:6px 8px;border-bottom:1px solid var(--line)}.subtabs button{padding:3px 8px}.tab-tools{display:flex;align-items:center;gap:6px;padding:6px 8px;border-bottom:1px solid var(--line)}.tab-tools input:not([type=checkbox]){width:110px}.tab-tools select,.tab-tools .select{flex:1;min-width:0}.dialog.inline{width:auto;max-height:none;border:none;border-radius:0;background:none}.dialog.inline footer{position:sticky;bottom:0;background:var(--bg)}.card{padding:8px 10px 10px;border-bottom:1px solid var(--line)}.card-title{display:flex;justify-content:space-between;gap:8px;font-weight:700;margin-bottom:6px}.card-sub{margin-bottom:6px}.kv{display:flex;justify-content:space-between;gap:8px;padding:2px 0}.kv>span:last-child{text-align:right;font-variant-numeric:tabular-nums}.kv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));column-gap:14px}.banner{margin:4px 0 8px;padding:5px 8px;border-radius:4px;background:#2962ff26}.equity{width:100%;height:70px;margin-bottom:6px}.equity .zero{stroke:var(--line);stroke-dasharray:3 3}.equity polyline{fill:none;stroke-width:1.5;vector-effect:non-scaling-stroke}.equity .stroke-up{stroke:#089981}.equity .stroke-down{stroke:var(--danger)}.equity .fill-up{fill:#08998126}.equity .fill-down{fill:#f2364526}table.grid.compact th,table.grid.compact td{padding:3px 6px}table.grid.compact{margin-top:6px}table.grid tr.clickable{cursor:pointer}table.grid tr.legs td{white-space:normal;background:var(--panel)}table.grid.trades td .small{white-space:normal}table.grid{width:100%;border-collapse:collapse}table.grid th,table.grid td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}table.grid th{color:var(--muted);font-weight:400;font-size:11px;position:sticky;top:0;background:var(--bg)}table.grid .num{text-align:right;font-variant-numeric:tabular-nums}table.grid tr.off td{color:var(--muted)}table.grid tbody tr:hover{background:var(--panel)}table.grid .actions{text-align:right}a{color:#5b8def;text-decoration:none}a:hover{text-decoration:underline}.dialog.narrow{width:420px}.dialog.users-dialog{width:720px}.dialog.language-dialog{width:440px}.language-list{display:flex;flex-direction:column;gap:6px;margin:10px 0}.language-list .check{gap:8px}.language-editor-open{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.dialog.localization-dialog{width:min(1400px,calc(100vw - 24px));height:min(900px,calc(100dvh - 24px));max-height:none}.localization-dialog header .spacer{flex:1}.loc-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:0 14px 8px;border-bottom:1px solid var(--line)}.loc-search{flex:1 1 220px;min-width:160px}.loc-columns{display:inline-flex;gap:8px}.loc-toolbar .spacer{flex:1 1 0}.loc-panel{display:flex;flex-direction:column;gap:6px;padding:8px 14px;border-bottom:1px solid var(--line);max-height:40%;overflow:auto}.loc-panel .row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.loc-body{display:flex;flex:1;min-height:0}.loc-groups{display:flex;flex-direction:column;flex:0 0 210px;overflow-y:auto;border-right:1px solid var(--line);padding:6px;gap:2px}.loc-groups button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;border-color:transparent;background:transparent}.loc-groups button.active{background:var(--accent);color:#fff}.loc-groups button.active .muted{color:inherit;opacity:.85}.loc-table{flex:1;min-width:0;overflow:auto;padding:6px 10px}.loc-table table{width:100%;table-layout:fixed}.loc-table td{vertical-align:top;overflow-wrap:anywhere}.loc-key code{font-size:12px}.loc-key-actions{display:flex;gap:8px;margin-top:2px}.loc-link{padding:0;border:none;background:none;color:var(--accent);font-size:12px;cursor:pointer}.loc-link.danger-text{color:var(--danger)}.loc-badge,.loc-status{display:inline-block;margin-left:6px;padding:0 5px;border-radius:3px;font-size:11px;background:var(--line)}.loc-status.edited{background:color-mix(in srgb,var(--accent) 25%,transparent)}.loc-status.outdated,.loc-status.stale,.loc-row.stale .loc-badge{background:color-mix(in srgb,var(--warn) 30%,transparent)}.loc-cell{cursor:pointer;white-space:pre-wrap}.loc-cell:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.loc-cell.missing{background:color-mix(in srgb,var(--danger) 8%,transparent)}.loc-cell.editing{cursor:default;background:none}.loc-cell textarea,.loc-edit textarea{width:100%;box-sizing:border-box;resize:vertical;font:inherit}.loc-edit-actions{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.loc-history td{background:color-mix(in srgb,var(--line) 40%,transparent)}.loc-more{margin:8px 0}.loc-preview{display:flex;flex-direction:column;gap:3px}.loc-diff{display:grid;grid-template-columns:minmax(160px,1fr) 2fr 2fr;gap:8px}.loc-from{color:var(--danger);text-decoration:line-through}.loc-to{color:#089981}@media(max-width:760px){.loc-body{flex-direction:column}.loc-groups{flex:0 0 auto;flex-direction:row;overflow-x:auto;border-right:none;border-bottom:1px solid var(--line)}.loc-groups button{flex:0 0 auto}.loc-table table{table-layout:auto}}.dialog.security-dialog{width:560px}.dialog.audit-dialog{width:860px}.dialog.stats-dialog{width:980px}.dialog.server-dialog{width:760px}.server-dialog h4{margin:14px 0 0;font-size:13px}.server-grid{display:grid;gap:8px;margin:10px 0}.server-row{display:grid;grid-template-columns:7.2em 1fr;gap:8px}.server-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0}.server-log{max-height:240px;overflow:auto;padding:8px;background:var(--bg);border-radius:4px;font-family:Consolas,Courier New,monospace;font-size:11px;line-height:1.35;white-space:pre-wrap;overflow-wrap:anywhere}.server-log .err{color:var(--danger)}.server-log .wrn{color:var(--warn)}.stats-tools{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin-bottom:8px}.stats-buckets{display:flex;gap:4px}.stats-open{margin:0 0 8px;font-variant-numeric:tabular-nums}.stats-charts{display:flex;flex-direction:column;gap:6px}.pnl-chart{height:180px;position:relative}.stat-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0}.stat-tile{min-width:0;border:1px solid var(--line);border-radius:4px;padding:6px 8px}.stat-tile b{display:block;font-size:15px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.stat-tile span,.stats-note,.stats-reasons{color:var(--muted);font-size:11px}.pnl-up{color:#089981}.pnl-down{color:#f23645}.stats-table tr{cursor:pointer}.stats-table tr.on{background:#2962ff29}.stats-scroll{max-width:100%;overflow-x:auto}.strategy-wait{display:flex;align-items:center;gap:8px;color:var(--muted)}.wait-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--accent);animation:wait-pulse .9s ease-in-out infinite}@keyframes wait-pulse{50%{opacity:.25}}.security-dialog h4{margin:14px 0 6px;font-size:11px;text-transform:uppercase;color:var(--muted)}.security-dialog h4:first-child{margin-top:0}.security-dialog p{margin:0 0 8px}.qr{display:flex;gap:14px;align-items:center;margin-bottom:8px}.qr img{background:#fff;border-radius:4px;image-rendering:pixelated}.qr .secret{display:inline-block;margin-top:4px;word-break:break-all;-webkit-user-select:all;user-select:all}.recovery-codes{display:grid;grid-template-columns:repeat(2,max-content);gap:4px 24px;margin:6px 0 10px;font-size:14px;-webkit-user-select:all;user-select:all}.user-actions{display:flex;flex-wrap:wrap;gap:4px}.issued-code{font-size:15px;-webkit-user-select:all;user-select:all}.audit-bad td:nth-child(2){color:var(--danger)}.limit-field{display:inline-flex;gap:6px;margin-top:2px}.limit-field input{width:64px}input.invalid{border-color:var(--danger)}.panel{flex:none;display:flex;flex-direction:column;min-height:0;min-width:0;max-width:100%;overflow:hidden;background:var(--bg)}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid var(--line)}.instance{border-bottom:1px solid var(--line)}.instance.off .name{color:var(--muted);text-decoration:line-through}.instance-row{display:flex;align-items:center;gap:2px;padding:4px 6px}.instance-row .name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layers{padding:2px 10px 8px 28px;display:flex;flex-direction:column;gap:3px}.layers-note{display:flex;flex-direction:column;gap:1px;margin-top:4px}.layers-title{font-size:11px;font-weight:600}.check{display:flex;align-items:center;gap:6px}.muted{color:var(--muted)}.small{font-size:11px}.pad{padding:10px}.error,.exec-error{color:var(--danger)}.badge.error{background:var(--danger);color:#fff}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:10}.dialog-backdrop.ask-backdrop{z-index:100}.dialog{width:560px;max-height:85vh;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:6px}.dialog header b{font-size:15px;font-weight:600;line-height:1.2}.dialog header,.dialog footer{display:flex;align-items:center;gap:10px;padding:10px 14px}.dialog header button{margin-left:auto}.dialog footer{border-top:1px solid var(--line)}.dialog .error{padding:0 14px 8px;overflow-wrap:anywhere}.spacer{flex:1}.tabs{display:flex;gap:4px;padding:0 14px 8px;border-bottom:1px solid var(--line)}.dialog-body{overflow-y:auto;padding:10px 14px}.dialog-body.ask{padding-top:0}.dialog-body.ask p{margin:0}.ask-changes{margin:8px 0 0;padding-left:18px;max-height:240px;overflow:auto}.ask-changes li{margin:2px 0;overflow-wrap:anywhere}.sform{display:flex;flex-direction:column;gap:8px}.sform-empty{padding:8px 0}.sform-tools{display:flex;justify-content:flex-end;margin-bottom:-2px}button.sform-fold{border:none;background:none;color:var(--muted);padding:0 2px;font-size:12px}button.sform-fold:hover{color:var(--text)}.sgroup{border:1px solid var(--line);border-radius:6px;background:#ffffff04;min-width:0}.sgroup.plain{border:none;background:none}.sgroup-head{display:flex;align-items:center;gap:8px;width:100%;min-height:34px;padding:6px 10px;border:none;border-radius:6px;background:transparent;text-align:left}button.sgroup-head:hover{background:#ffffff09}.sgroup:not(.folded)>.sgroup-head{border-bottom:1px solid var(--line);border-radius:6px 6px 0 0}.sgroup-caret{flex:none;width:10px;color:var(--muted);font-size:10px;transition:transform .15s}.sgroup:not(.folded) .sgroup-caret{transform:rotate(90deg)}.sgroup-title{flex:1 1 auto;min-width:0;color:#b2b5be;font-size:11px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;overflow-wrap:anywhere}.sgroup-mark{flex:none;width:6px;height:6px;border-radius:50%;background:var(--accent)}.sgroup-count{flex:none;color:var(--muted);font-size:11px}.sgroup-body{display:flex;flex-direction:column;padding:4px 10px 6px}.sgroup.plain>.sgroup-body{padding:0}.srow{display:flex;align-items:center;gap:12px;min-height:32px;padding:3px 0}.srow+.srow{border-top:1px solid rgba(42,46,57,.6)}.srow.sub{position:relative;padding-left:16px}.srow.sub:before{content:"";position:absolute;left:4px;top:0;height:50%;width:7px;border-left:1px solid var(--line);border-bottom:1px solid var(--line);border-bottom-left-radius:3px}.srow.sub+.srow.sub{border-top-color:transparent}.srow-label{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:6px;line-height:1.3}.srow-label>span:first-child{overflow-wrap:anywhere}.srow.changed .srow-label>span:first-child{color:#fff}.srow-hint{flex:none;display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border:1px solid var(--line);border-radius:50%;color:var(--muted);font-size:10px;cursor:help}.srow-hint:hover{color:var(--text);border-color:var(--muted)}.srow-controls{flex:0 1 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px 10px;max-width:62%}.srow-pair{display:inline-flex;align-items:center;gap:6px}.srow-sublabel{color:var(--muted);font-size:12px}.srow-controls input.num{width:84px;text-align:right}.srow-controls input.text{width:160px;max-width:100%}.srow-controls .srow-select{min-width:150px;max-width:230px}input[type=checkbox].switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;flex:none;width:30px;height:16px;margin:0;border:none;border-radius:8px;background:var(--line);cursor:pointer;transition:background .15s}input[type=checkbox].switch:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#b2b5be;transition:transform .15s}input[type=checkbox].switch:checked{background:var(--accent)}input[type=checkbox].switch:checked:after{transform:translate(14px);background:#fff}input[type=checkbox].switch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.form fieldset{border:none;border-top:1px solid var(--line);margin:0 0 8px;padding:8px 0 0}.form legend{padding-right:8px}.row,.strategy-panel .row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.form .row{align-items:stretch;flex-wrap:nowrap;gap:12px;margin-bottom:6px}.field{display:flex;align-items:center;gap:8px;flex:1}.field>span{flex:1}.field input[type=number],.field input.num{width:90px}.field select,.field .select{min-width:min(180px,100%)}.field.color{justify-content:space-between;min-width:0}.field.color>span:not(.color-field){flex:1 1 auto;min-width:0}.field.color>.color-field{flex:none}.form .row:has(>.field.color+.field.color){display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;align-items:center}button.danger{background:var(--danger);border-color:var(--danger);color:#fff}button.exchange-on{border-color:var(--up);color:var(--up)}.count.count-ok{background:var(--up);color:#fff}.count.count-bad{background:var(--danger);color:#fff}.legend-exchange{color:#f7c600}.exec-server{margin:8px;padding:8px 10px;border:1px solid var(--line);border-left:3px solid var(--muted);border-radius:4px;background:var(--panel);display:flex;flex-direction:column;gap:3px}.exec-server.ok{border-left-color:var(--up)}.exec-server.warn{border-left-color:var(--warn)}.exec-server.bad,.exec-server.off{border-left-color:var(--danger)}.exec-server-head,.exec-card-head,.exec-group-head,.exec-link,.exec-actions{display:flex;align-items:center;gap:6px}.exec-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--muted)}.exec-dot.ok{background:var(--up);box-shadow:0 0 0 3px #26a69a33}.exec-dot.warn{background:var(--warn)}.exec-dot.bad,.exec-dot.off{background:var(--danger)}.exec-dot.idle{background:transparent;border:1px solid var(--muted)}.exec-error{overflow-wrap:anywhere}.exec-warn{margin-top:6px}.exec-group-head{position:sticky;top:0;z-index:1;padding:6px 10px;background:var(--bg);border-bottom:1px solid var(--line);letter-spacing:.3px}.exec-section-head{margin-top:10px;border-top:1px solid var(--line)}.exec-fold{display:inline-flex;align-items:center;gap:4px;padding:0;border:none;background:none;color:inherit;font:inherit;cursor:pointer}.exec-fold-caret{width:10px;color:var(--muted)}.exec-sort{flex-wrap:wrap}.exec-sort select{flex:1 1 110px;min-width:0}.exec-subhead{padding:4px 10px 0;letter-spacing:.3px}.exec-card{display:flex;flex-direction:column;gap:8px;padding:8px 10px 8px 12px;border:1px solid var(--line);border-left-width:3px;border-radius:6px;background:var(--panel)}.exec-card.here{background:linear-gradient(#2962ff0f,#2962ff0f),var(--panel)}.exec-card.ok{border-left-color:var(--up);background:linear-gradient(#26a69a12,#26a69a12),var(--panel)}.exec-card.bad{border-left-color:var(--danger);background:linear-gradient(#f2364512,#f2364512),var(--panel)}.exec-card-head{flex-wrap:wrap}.exec-conn-head{flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:8px}.exec-conn-main,.exec-conn-meta{display:flex;align-items:center;gap:6px;min-width:0}.exec-conn-main{flex-wrap:nowrap}.exec-conn-main>.exec-dot,.exec-conn-main>.exec-chip,.exec-conn-main>button{flex:none}.exec-conn-main>.exec-symbol{flex:0 1 auto;min-width:3.2em;overflow:hidden;text-overflow:ellipsis}.exec-symbol{white-space:nowrap}.exec-conn-main>.exec-title{flex:1 1 0}.exec-conn-meta{flex-wrap:nowrap}.exec-conn-meta .exec-account-chip{flex:1 1 auto;min-width:0}.exec-account-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1}.exec-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exec-pose-block{border:1px dashed var(--line);border-radius:6px;overflow:hidden}.exec-pose-block.pos-up{border-color:var(--up)}.exec-pose-block.pos-down{border-color:var(--down)}.exec-card.ok .exec-pose-block{border-color:#787b86}.exec-card.ok .exec-pose-block.pos-up{border-color:var(--up)}.exec-card.ok .exec-pose-block.pos-down{border-color:var(--down)}button.exec-pose{display:flex;align-items:center;gap:8px;width:100%;min-height:26px;margin:0;padding:3px 8px;border:none;border-radius:0;background:transparent;color:var(--muted);font:inherit;text-align:left;cursor:pointer}.exec-pose-block.pos-up button.exec-pose{color:var(--up)}.exec-pose-block.pos-down button.exec-pose{color:var(--down)}button.exec-pose:hover{border:none;background:#ffffff0a}.exec-pose-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exec-pose-queue{font-size:11px;font-weight:400}.exec-pose-caret{flex:none;color:var(--muted)}.exec-pose-pnl{flex:none;font-variant-numeric:tabular-nums}.exec-details{display:flex;flex-direction:column;border-top:1px dashed var(--line);background:#00000038;color:var(--muted)}.exec-pose-block.pos-up .exec-details{border-top-color:#26a69a8c}.exec-pose-block.pos-down .exec-details{border-top-color:#ef53508c}.exec-card.ok .exec-pose-block .exec-details{border-top-color:#787b86b3}.exec-card.ok .exec-pose-block.pos-up .exec-details{border-top-color:#26a69a8c}.exec-card.ok .exec-pose-block.pos-down .exec-details{border-top-color:#ef53508c}.exec-detail{padding:5px 8px;line-height:1.35}.exec-detail+.exec-detail{border-top:1px solid var(--line)}.exec-details .exec-event{display:block;margin:0;padding:5px 8px;border-bottom:none;border-radius:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exec-chip.exec-template-name{flex:0 1 auto;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis}.exec-chip{border:1px solid var(--line);color:var(--muted);font-weight:400}.exec-state.pos-up{color:var(--up)}.exec-state.pos-down{color:var(--down)}.exec-template{flex-wrap:wrap;gap:4px}.exec-card .exec-template,.exec-card .exec-actions{gap:8px 12px}.exec-card .exec-actions{flex-wrap:nowrap;column-gap:8px;min-width:0;max-width:100%}.exec-card .exec-actions>button{box-sizing:border-box;flex:none;height:26px;max-height:26px;padding:0 8px;line-height:24px;white-space:nowrap}.exec-card .exec-actions>button.exec-journal{flex:0 1 auto;min-width:82px;overflow:hidden;text-overflow:ellipsis}button.exec-gear{display:inline-flex;align-items:center;justify-content:center;flex:none;width:18px;height:18px;padding:0;color:var(--text)}button.exec-gear svg{display:block;width:14px;height:14px}button.exec-chip{background:none;cursor:pointer}.exec-card .exec-chip-custom{padding-left:6px;padding-right:6px}.exec-chip-custom{border-color:#7e57c2;color:#b39ddb}.exec-card .exec-chip-updated{width:18px;padding:0}.exec-chip-updated{border-color:var(--warn);color:var(--warn)}.exec-card .exec-chip-updated svg{display:block}.template-bar{display:flex;flex-direction:column;gap:4px;padding:6px 10px;border-bottom:1px solid var(--line)}.template-bar .row{gap:4px}.template-bar select{flex:1;min-width:120px}.test-bar{display:flex;flex-direction:column;gap:4px;padding:6px 10px;border-bottom:1px solid var(--line)}.test-bar .row{gap:4px;flex-wrap:wrap}.test-bar.active{background:color-mix(in srgb,var(--warn) 8%,transparent);border-left:3px solid var(--warn)}.legend-test{display:inline-block;padding:0 5px;border-radius:3px;background:var(--warn);color:#131722;font-size:10px;font-weight:700;letter-spacing:.04em;line-height:16px}.legend .legend-test{margin-right:6px;pointer-events:auto;cursor:help}.strategy-panel{display:flex;flex-direction:column}.strategy-panel>.pad+.pad,.strategy-panel>.pad+.dialog.inline,.strategy-panel>.dialog.inline+.pad{border-top:1px solid var(--line)}.strategy-panel>.pad{display:flex;flex-direction:column;gap:10px;padding:10px}.strategy-panel>.pad>.tab-tools{display:grid;grid-template-columns:1fr 1fr;padding:0;border:none;gap:8px}.strategy-panel>.pad>.tab-tools button:last-child:nth-child(odd){grid-column:1 / -1}.strategy-panel>.pad>.tab-tools button{min-width:0;overflow:hidden;white-space:nowrap}.fit-text{display:inline-block;white-space:nowrap;vertical-align:middle}.strategy-panel .dialog.inline .tabs{padding:10px;border-bottom:1px solid var(--line)}.strategy-panel .dialog.inline .dialog-body{padding:10px}.strategy-panel .dialog.inline footer{position:static;padding:10px;background:transparent}.strategy-panel .form fieldset{display:flex;flex-direction:column;gap:8px;border:none;margin:0;padding:0;min-inline-size:0}.strategy-panel .form legend,.strategy-panel .exec-section{display:block;width:100%;box-sizing:border-box;margin:0;padding:0;border:none}.strategy-panel .form{display:flex;flex-direction:column;gap:10px}.strategy-panel .form .row{margin:0}.strategy-panel .field{min-width:0}.strategy-panel .template-list{display:flex;flex-direction:column;gap:8px}.strategy-panel .template-list>div{display:flex;align-items:center;gap:8px;padding:0}.strategy-panel .template-list .name{flex:1}.exec-badge{background:var(--line)}.exec-badge.ok{background:#26a69a33;color:var(--up)}.exec-badge.bad{background:#f2364533;color:var(--danger)}.exec-link{flex-wrap:wrap}.exec-actions{margin-top:0}.exec-why{flex:1;min-width:0}.exec-event{display:flex;gap:6px;align-items:baseline;padding:3px 10px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.exec-event-mark{flex:none;width:12px;text-align:center}.exec-event-time{flex:none}.exec-event-text{flex:1;min-width:0}.exec-event.trade{color:#5b9cf6}.exec-event.orders{color:var(--muted)}.exec-log{margin:4px -10px -8px -12px;border-top:1px solid var(--line);max-height:320px;overflow-y:auto;background:var(--bg)}.exec-log-tools{position:sticky;top:0;display:flex;align-items:center;gap:4px;padding:4px 10px;background:var(--bg);border-bottom:1px solid var(--line)}.exec-log-tools button{padding:1px 8px;font-size:13px}.exec-tab>.exec-log{margin:0;max-height:none;border-top:none}.exec-last{display:block;padding:0;border:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exec-event.warn{color:var(--warn)}.exec-event.error{color:var(--danger)}.exec-dialog .dialog-body{display:flex;flex-direction:column;gap:8px}.exec-facts{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;margin:0}.exec-facts dt{color:var(--muted)}.exec-facts dd{margin:0}.exec-section{border-top:1px solid var(--line);padding-top:8px}.exec-orders{width:100%;border-collapse:collapse;font-size:13px}.exec-orders th{color:var(--muted);font-weight:400;text-align:left;border-bottom:1px solid var(--line)}.exec-orders td,.exec-orders th{padding:2px 6px 2px 0}.exec-orders td.buy{color:var(--up)}.exec-orders td.sell{color:var(--down)}.exec-note{border-top:1px solid var(--line);padding-top:8px}.exec-choice{display:flex;gap:8px;align-items:flex-start;padding:8px;border:1px solid var(--line);border-radius:4px;cursor:pointer}.exec-choice>span{display:flex;flex-direction:column;gap:2px}.exec-choice.on{border-color:var(--accent)}.exec-choice.on.warn{border-color:var(--warn)}.exec-choice.disabled{opacity:.5;cursor:default}.exec-env.demo{background:#5b9cf62e;color:#5b9cf6}.exec-env.live{background:var(--danger);color:#fff}.exec-account-chip{flex:none;display:inline-flex;align-items:center;height:18px;gap:4px;font-size:11px;line-height:18px;white-space:nowrap}.exec-form{display:flex;flex-direction:column;gap:10px}.exec-form label{display:flex;flex-direction:column;gap:3px}.exec-form label.exec-choice,.exec-form label.check{flex-direction:row}.exec-scale{color:var(--warn)}.exec-sizing{display:flex;flex-direction:column;gap:4px;padding:6px 8px;border:1px solid var(--line);border-radius:4px;background:var(--bg)}.exec-form-row{display:flex;gap:10px}.exec-form-row label{flex:1}.exec-env-pick{display:flex;flex-direction:column;gap:4px;margin-top:3px}.toolbar-break,.dock{display:none}@media(max-width:840px),(max-height:500px){.app.narrow{height:100dvh}.app.narrow .toolbar{flex-wrap:wrap;align-items:center;gap:6px;padding:6px 8px}.app.narrow .symbol-search{order:1;flex:1 1 0;min-width:0}.app.narrow .toolbar-side{order:2;flex:none;margin-left:8px;align-self:center}.app.narrow .toolbar-scroll{order:3;flex:1 0 100%}.app.narrow .venue-switch{max-width:88px;flex:none}.app.narrow .toolbar .symbol{width:auto;min-width:0;flex:1 1 0}.app.narrow .toolbar-side .link{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:7.5em}.app.narrow .toolbar-side .error{display:none}.app.narrow .user-menu>button{max-width:108px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app.narrow .tfs button,.app.narrow .tools button,.app.narrow .tools select{flex:none}.app.narrow .user-pop,.app.narrow .template-pop,.app.narrow .symbol-suggest{z-index:60}.app.narrow .template-pop{max-width:calc(100vw - 16px);max-height:calc(100dvh - 150px);overflow:auto}.app.narrow .user-pop{max-height:calc(100dvh - 140px);overflow:auto}.app.narrow{display:grid;grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);position:relative}.app.narrow>.toolbar{grid-row:1}.app.narrow>main{grid-row:2;position:relative;min-height:0}.app.narrow>.dock{grid-row:3}.app.narrow .splitter,.app.narrow .panel{display:none}.app.narrow.sheet-open .panel{display:flex;position:absolute;z-index:40;top:0;right:0;bottom:0;left:0;width:auto!important;height:auto;max-height:none;border-top:1px solid var(--line);box-shadow:0 -8px 24px #00000073}.app.narrow .panel-tabs{display:none}.app.narrow .sheet-close{align-self:flex-end;margin:6px 8px 0}.app.narrow .pane-switch{display:flex;gap:4px;padding:4px 8px;border-bottom:1px solid var(--line);flex:none}.app.narrow .pane-switch button{min-width:36px;min-height:32px}.app.narrow .dock{display:flex;position:static;z-index:50;flex:none;height:auto;padding:0 2px env(safe-area-inset-bottom);background:var(--panel);border-top:1px solid var(--line)}.app.narrow .dock button{flex:1 1 0;min-width:0;min-height:44px;border:none;border-radius:0;background:none;color:var(--muted);padding:4px 2px;font-size:11px;line-height:1.15;white-space:normal}.app.narrow .dock button.active{color:#fff;background:var(--accent);border-color:var(--accent)}.app.narrow>.toasts{grid-row:2;grid-column:1;position:absolute;left:8px;right:8px;top:auto;bottom:8px;width:auto;z-index:60}.app.narrow>.error-notice{grid-row:2;grid-column:1;position:absolute;left:8px;right:auto;top:8px;bottom:auto;width:max-content;max-width:min(240px,68%)}.app.narrow .tab-tools{flex-wrap:wrap}.app.narrow .tab-tools input:not([type=checkbox]){width:auto;flex:1 1 8em;min-width:0}.app.narrow .exec-section-head{flex-wrap:wrap;align-items:flex-start}.app.narrow .exec-section-head .muted.small{flex:1 1 100%;min-width:0;white-space:normal}.app.narrow .symbol-suggest{min-width:0;max-width:calc(100% - 16px)}.app.narrow .srow-controls .srow-select{min-width:0}.app.narrow .field select,.app.narrow .field .select,.app.narrow .dialog select,.app.narrow .dialog .select{min-width:0;max-width:100%}.app.narrow .tester-tools{overflow-x:auto}.app.narrow .range-picker:has(.range-dates){max-width:none;flex:0 0 auto}.dialog:not(.inline),.dialog.narrow,.dialog.login,.dialog.brokers-dialog,.dialog.users-dialog,.dialog.security-dialog,.dialog.audit-dialog,.dialog.stats-dialog,.dialog.server-dialog{width:calc(100% - 16px);max-width:calc(100% - 16px);min-width:0;max-height:min(90dvh,calc(100% - 16px));overflow:hidden}.dialog:not(.inline) .dialog-body{min-width:0;min-height:0;flex:1 1 auto;overflow:auto}.app.narrow .stat-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.dialog-backdrop{z-index:70}.server-row{grid-template-columns:1fr;gap:2px}}
