:root{--bg: #0d1117;--bg-panel: #10161f;--bg-raised: #161b22;--border: #21262d;--text: #e6edf3;--text-dim: #8b949e;--up: #2ea043;--down: #f85149;--accent: #388bfd;--border-strong: #30363d}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow-x:hidden;max-width:100%}body{background:var(--bg);color:var(--text);font-family:-apple-system,PingFang HK,Microsoft YaHei,sans-serif;font-size:13px}.app{display:flex;flex-direction:column;height:100%}.auth-screen{height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-dim)}.auth-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;padding:32px 40px;text-align:center}.auth-btn{display:inline-block;margin-top:10px;background:var(--accent);color:#fff;text-decoration:none;border-radius:6px;padding:10px 20px}.topbar{display:flex;flex-direction:column;align-items:stretch;padding:8px 14px;background:var(--bg-panel);border-bottom:1px solid var(--border)}.topbar-main{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%}.brand{display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px;letter-spacing:.5px}.sync-status{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:999px;border:1px solid var(--border);font-size:12px;font-weight:600;line-height:1.4;letter-spacing:0;white-space:nowrap}.sync-status-ok{color:var(--up);border-color:color-mix(in srgb,var(--up) 55%,var(--border));background:color-mix(in srgb,var(--up) 16%,var(--bg))}.sync-status-busy{color:#d29922;border-color:color-mix(in srgb,#d29922 55%,var(--border));background:color-mix(in srgb,#d29922 16%,var(--bg))}.sync-status-bad{color:var(--down);border-color:color-mix(in srgb,var(--down) 55%,var(--border));background:color-mix(in srgb,var(--down) 16%,var(--bg))}.sync-status-wrap{display:inline-flex;flex-direction:column;align-items:stretch;gap:4px;min-width:0}.sync-force-refresh{margin:0;padding:2px 8px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--text-dim);font:inherit;font-size:12px;font-weight:600;line-height:1.4;letter-spacing:0;white-space:nowrap;cursor:pointer}.sync-force-refresh:hover:not(:disabled){color:var(--text);border-color:var(--border-strong)}.sync-force-refresh:disabled{cursor:progress;opacity:.7}.brand-stack{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-weight:700;font-size:13px;line-height:1.1;letter-spacing:.3px;min-width:72px;padding:6px 14px;border:1px solid var(--accent);border-radius:6px;background:var(--bg-raised);box-shadow:0 0 0 1px #388bfd33,inset 0 1px #ffffff0f;color:var(--text)}.brand-stack>.ws-dot{position:absolute;top:4px;left:4px;margin:0;padding:0;border:0;width:8px;height:8px}.brand-stack>span{display:block;width:100%;text-align:center;font-weight:700}.brand-switch{position:relative;display:inline-flex}button.brand-stack{font:inherit;color:inherit;cursor:pointer}.brand-switch>.ws-dot{position:absolute;top:4px;left:4px;z-index:2;margin:0;padding:0;border:0;width:8px;height:8px}.topbar-main.has-account-bar{justify-content:flex-start}.topbar-main.has-account-bar .brand{flex:none}.account-switch-bar{display:flex;align-items:stretch;gap:8px;min-width:0;flex:1;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.account-switch-bar::-webkit-scrollbar{display:none;height:0}.account-switch-card{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 auto;margin:0;padding:6px 14px;border:1px solid var(--border-strong);border-radius:6px;background:var(--bg-raised);color:var(--text);font:inherit;font-size:13px;font-weight:700;white-space:nowrap;cursor:pointer}.account-switch-card.has-robots{flex-direction:row;align-items:stretch;gap:6px;padding:4px 4px 4px 12px}.account-switch-main{display:flex;flex-direction:column;align-items:center;justify-content:center}.robot-count-bubble{display:flex;align-items:center;justify-content:center;align-self:stretch;flex:0 0 auto;min-width:2.4em;padding:0 6px;border-radius:6px;border:1px solid #9b6bff;background:#3b1f6e;color:#fff;font-size:12px;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none}.account-switch-id,.account-switch-power{display:block;width:100%;text-align:center;font-weight:700}.account-switch-power{font-variant-numeric:tabular-nums}.stat-wait{display:inline-block;width:12px;height:12px;border:2px solid var(--border);border-top-color:var(--text-dim);border-radius:50%;vertical-align:middle;animation:stat-spin .8s linear infinite}@keyframes stat-spin{to{transform:rotate(360deg)}}.account-switch-card.on{border-color:var(--accent);box-shadow:0 0 0 1px #388bfd33}.act-as-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:40;min-width:180px;margin:0;padding:4px;background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:6px;box-shadow:0 8px 24px #00000059}.act-as-menu button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;margin:0;padding:6px 8px;border:0;border-radius:4px;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.act-as-menu button.on,.act-as-menu button:hover{background:#1f2a38}.act-as-meta{color:var(--text-dim);font-size:11px}.acting-as-banner{margin:6px 0 0;padding:4px 10px;border-radius:6px;background:#9b2335;color:#fff;font-size:12px;font-weight:700;text-align:center}.act-as-connect{height:100%;display:flex;flex-direction:column}.act-as-connect .auth-screen{flex:1;height:auto;flex-direction:column;gap:12px}.act-as-gate{align-self:center}.gate-account-bar{display:flex;align-items:center;gap:8px;padding:8px 14px;min-width:0}.gate-account-bar.open .account-switch-bar{flex:1}.act-as-connect>.fleet-page,.act-as-connect>.group-admin{flex:1;min-height:0;overflow:auto}.act-as-connect>.group-admin{overflow:hidden}.topbar-right{display:flex;align-items:center;gap:8px}.env-pill{background:#9e6a03;color:#fff;border-radius:10px;padding:2px 10px;font-size:12px}.desk-switch{display:inline-flex;flex-direction:column;border:1px solid #9e6a03;border-radius:10px;overflow:hidden}.desk-switch button{background:transparent;color:#9e6a03;border:0;padding:2px 10px;font-size:12px;cursor:pointer}.desk-switch button.on{background:#9e6a03;color:#fff}.desk-switch button.on.real{background:#9b2335}.trade-unlock{position:relative;display:inline-flex;align-items:center}.trade-unlock-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:1px solid var(--border-strong);border-radius:6px;background:transparent;color:var(--text-dim);cursor:pointer}.trade-unlock-icon.unlocked{color:#238636;border-color:#238636}.trade-unlock-icon:disabled{opacity:.6;cursor:default}.trade-unlock-pop{position:absolute;top:calc(100% + 4px);right:0;z-index:30;display:flex;flex-wrap:wrap;align-items:center;gap:4px;width:max-content;max-width:16rem;padding:8px;background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:8px;box-shadow:0 8px 24px #00000059}.trade-unlock-pop input{width:8rem;background:var(--bg);color:var(--text);border:1px solid var(--border-strong);border-radius:8px;padding:2px 8px;font-size:12px}.trade-unlock-pop button{font-size:12px}.trade-unlock-err{flex-basis:100%;color:var(--down);font-size:11px}.water-alert-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;font-size:13px;line-height:1.4;border-bottom:1px solid var(--border)}.water-alert-banner-low{background:color-mix(in srgb,var(--down) 18%,var(--bg));color:var(--text)}.water-alert-banner-high{background:color-mix(in srgb,#c9a227 22%,var(--bg));color:var(--text)}.water-alert-card{margin-top:12px;padding-top:8px;border-top:1px solid var(--border)}.water-alert-form{display:flex;flex-direction:column;gap:8px;margin:8px 0}.water-alert-toggle{display:inline-flex;align-items:center;gap:6px;font-size:13px}.water-alert-fields{display:flex;flex-wrap:wrap;gap:10px}.water-alert-fields label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.water-alert-fields input{width:8rem;background:var(--bg);color:var(--text);border:1px solid var(--border-strong);border-radius:8px;padding:4px 8px;font-size:13px}.water-alert-form>button{align-self:flex-start;font-size:13px}.water-alert-err{color:var(--down);font-size:12px}.water-alert-status{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin-bottom:6px}.water-state-low,.water-state-high{color:var(--down);font-weight:600}.ws-dot{width:8px;height:8px;border-radius:50%}.ws-dot.on{background:var(--up)}.ws-dot.off{background:var(--down)}.ws-dot.error{background:var(--down);animation:ws-dot-flash 1s ease-in-out infinite}.ws-dot.stale{background:#d29922}.ws-dot.reconnecting{background:var(--down)}.ws-dot.connected{background:var(--up)}@keyframes ws-dot-flash{0%,to{opacity:1}50%{opacity:.25}}.ws-label{color:var(--text-dim);font-size:12px}.error-bar{background:#67060c;color:#ffdcd7;padding:6px 14px;cursor:pointer}.reload-banner{position:fixed;top:8px;left:50%;transform:translate(-50%);z-index:90;display:flex;gap:12px;align-items:center;max-width:min(520px,calc(100vw - 16px));padding:8px 12px;background:#1c2128;color:var(--text);border:1px solid var(--border-strong);border-radius:8px;box-shadow:0 8px 24px #00000073;font-size:13px}.layout{display:grid;grid-template-columns:248px 1fr 260px;flex:1;min-height:0;min-width:0;overflow-x:hidden}.left,.right{background:var(--bg-panel);overflow-y:auto}.left{border-right:1px solid var(--border)}.right{border-left:1px solid var(--border);display:flex;flex-direction:column;gap:10px;padding:10px 8px;background:var(--bg)}.rail-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;overflow:hidden}.rail-card .dom-panel{border-bottom:none}.rail-card .funds-side{border-top:none}.center{display:flex;flex-direction:column;min-width:0;min-height:0}.panel-title{padding:10px 12px 6px;color:var(--text-dim);font-size:12px;text-transform:uppercase;letter-spacing:1px}.split-divider{height:6px;flex:none;cursor:row-resize;background:var(--border);touch-action:none}.split-divider:hover,.split-divider:active{background:var(--accent)}.bots-panel{display:flex;flex-direction:column;gap:8px}.bots-toolbar{display:flex;gap:8px;padding:4px 0}.kill-btn{background:#5c1a1a;border:1px solid #a33;border-radius:4px;color:#ffb3b3;padding:0 12px;cursor:pointer;font-weight:600;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;height:24px}.kill-btn-text{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.05;font-size:9px;white-space:normal}.kill-btn:disabled{opacity:.4;cursor:default}.bot-params{color:var(--text-dim);font-size:11px}.bot-form{display:flex;flex-direction:column;gap:10px;background:var(--bg-raised);border:1px solid var(--border);border-radius:6px;padding:10px}.bot-form-rows{display:flex;flex-direction:column;gap:8px}.bot-form-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}.bot-form button[type=submit]{align-self:flex-start}.bot-form label{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--text-dim)}.bot-form input,.bot-form select{background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--text);padding:4px 6px;font-size:12px;width:110px}.bot-form select.code-select{width:168px}.bot-form-desc{flex-basis:100%;color:var(--text-dim);font-size:11px}.cond-block{flex-basis:100%;border:1px solid var(--border);border-radius:6px;padding:8px 10px;background:var(--bg)}.cond-title{color:var(--text-dim);font-size:11px;margin-bottom:4px}.cond-unit-note{color:var(--text-dim);font-size:11px;margin-bottom:6px}.cond-time{color:var(--text-dim);font-size:11px;white-space:nowrap}.cond-yesno{font-variant-numeric:tabular-nums}.cond-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:60}.cond-modal{background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;padding:12px 16px;min-width:360px;max-width:90vw;font-size:13px}.cond-modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-weight:600}.cond-modal-row{font-variant-numeric:tabular-nums;margin:4px 0}.cond-modal-row.ok{color:var(--up)}.cond-modal-row.fail{color:var(--down)}.bot-edit-modal{min-width:min(720px,92vw);max-height:80vh;overflow-y:auto}.bot-edit-block{margin-bottom:12px}.bot-edit-actions{margin-top:8px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.bot-edit-block label{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--text-dim)}.bot-edit-block input,.bot-edit-block select{background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--text);padding:4px 6px;font-size:12px;width:110px}.bot-edit-block .code-select{width:168px}.bot-edit-hint{color:var(--text-dim);font-size:11px;margin-top:6px;line-height:1.45}.cond-builder{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.cond-none{color:var(--text-dim);font-size:11px}.cond-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.cond-and{color:var(--accent);font-size:11px;font-weight:600}.cond-row select,.cond-row input{background:var(--bg-raised);border:1px solid var(--border);border-radius:4px;color:var(--text);padding:3px 6px;font-size:12px}.cond-row input{width:70px}.cond-op{font-weight:700}.operand{display:inline-flex;gap:4px;align-items:center}.bot-logs{border-top:1px solid var(--border);padding-top:6px;max-height:160px;overflow-y:auto;font-size:11px}.ladder-wrap{border-top:1px solid var(--border);padding:6px 0 8px}.ladder-table-scroll{max-height:220px;overflow-y:auto;margin:0 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg-raised)}.ladder-table{width:100%;font-size:12px;border-collapse:collapse}.ladder-table th,.ladder-table td{padding:3px 8px;text-align:right;border-bottom:1px solid var(--border)}.ladder-table th:nth-child(1),.ladder-table td:nth-child(1),.ladder-table th:nth-child(2),.ladder-table td:nth-child(2),.ladder-table th:nth-child(6),.ladder-table td:nth-child(6){text-align:center}.ladder-table th{position:sticky;top:0;background:var(--bg-raised);color:var(--text-dim);font-weight:600}.ladder-table tr.ladder-tp td{background:#2ea04322}.ladder-tp-actions{display:flex;flex-direction:column;gap:4px;margin:8px 12px 0}.ladder-tp-btn{min-height:34px;border-radius:6px;border:1px solid var(--border-strong);background:var(--bg-raised);color:var(--text);font:inherit;font-weight:700;cursor:pointer}.ladder-tp-btn:disabled{opacity:.5;cursor:not-allowed}.bot-status{border-top:1px solid var(--border);padding:4px 0 8px}.status-price{color:var(--text);text-transform:none;letter-spacing:0}.bot-status-grid{display:flex;flex-wrap:wrap;gap:10px;padding:0 12px}table.status-col{width:auto;flex:1 1 200px;background:var(--bg-raised);border:1px solid var(--border);border-radius:6px;font-size:12px}table.status-col td{padding:4px 10px;border-bottom:1px solid var(--border)}table.status-col tr:last-child td{border-bottom:none}.status-label{color:var(--text-dim);white-space:nowrap}.status-value{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.trades-toolbar{margin:8px 12px 4px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px}.n-ledger-bar{margin:8px 12px 4px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.n-ledger-filters{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.n-ledger-filters label{display:inline-flex;align-items:center;gap:4px;color:var(--text-dim);font-size:11px}.n-ledger-filters input,.n-ledger-filters select,.n-ledger-bar select{background:#2a2d32;color:#c8ccd0;border:1px solid #3a3e44;border-radius:3px;font-size:12px;padding:3px 6px;max-width:9em}.trades-title{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:2px;min-width:0}.trades-stats{color:var(--text-dim);font-size:11px}.trades-limit-btns{margin-left:auto;display:inline-flex;gap:4px}.btn-limit{display:inline-flex;align-items:center;justify-content:center;min-width:36px;padding:4px 8px;font-size:12px;line-height:1;border-radius:3px;border:1px solid #3a3e44;background:#2a2d32;color:#c8ccd0;cursor:pointer}.btn-limit:hover{background:#3a3e44;color:#e8ecef}.btn-limit:disabled,.small-btn:disabled{opacity:.45;color:#8b9096;cursor:default}.btn-limit.active{background:#3a5a7a;border-color:#4a6a8a;color:#e8ecef}.trades-chrome{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px;margin-left:auto}.trades-date{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:52px}.trades-date-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:8;display:flex;flex-direction:column;gap:2px;padding:4px;background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:4px;min-width:max-content;max-height:220px;overflow-y:auto}.trades-date-menu .btn-limit{width:100%;white-space:nowrap;text-align:left;font-variant-numeric:tabular-nums}.trades-pagesize{position:relative}.trades-pagesize-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:8;display:flex;flex-direction:column;gap:2px;padding:4px;background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:4px;min-width:56px}.trades-pagesize-menu .btn-limit{width:100%}.trades-page-nav{display:inline-flex;align-items:center;gap:4px}.trades-page-picker{position:relative}.trades-page-menu{position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%);z-index:8;display:flex;flex-direction:column;gap:2px;padding:4px;background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:4px;min-width:max-content;max-height:220px;overflow-y:auto}.trades-page-menu .btn-limit{width:100%;white-space:nowrap;text-align:left;font-variant-numeric:tabular-nums}.btn-page,.btn-page-num{min-width:32px}.btn-page:disabled{opacity:.35;cursor:default}.btn-page-num{min-width:36px;font-variant-numeric:tabular-nums}.trades-table-wrap{overflow-x:auto;margin:0 12px}.trades-table{width:100%;border-collapse:collapse;font-size:11px}.trades-table th,.trades-table td{padding:4px 8px;text-align:left;border-bottom:1px solid #3a3e44}.trades-table th{background:#25282d;color:#8a8e94;font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.02em}.trades-table .trade-b,.trades-table .pl-positive,.ladder-table .pl-positive,.pl-positive{color:#5b9bd5}.trades-table .trade-s,.trades-table .pl-negative,.ladder-table .pl-negative,.pl-negative{color:#c87c7c}.status-running{color:#5ab95a;font-weight:600}.status-paused{color:#e6c229;font-weight:600}.status-completed{color:#5b9bd5;font-weight:600}.trades-table tbody tr.cycle-row-selected td{background:#5a7db859}.metric-time{display:flex;flex-direction:column;line-height:1.25;white-space:nowrap}.spark-ledger .trades-table th{background:#25282d;color:#8a8e94;border-bottom:1px solid #3a3e44}.spark-ledger .trades-table td{border-bottom:1px solid #3a3e44}.spark-ledger .cycle-table{width:max-content;max-width:none}.spark-ledger .cycle-table th,.spark-ledger .cycle-table td{padding:2px 4px}.spark-ledger .cycle-table .col-num,.spark-ledger .cycle-table .col-id{width:1%;white-space:nowrap;font-variant-numeric:tabular-nums}.spark-ledger .cycle-table td.col-num{text-align:right}.spark-ledger .cycle-table .col-text{max-width:7.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spark-ledger .cycle-table .col-time{max-width:8.5rem;white-space:nowrap}.spark-ledger .cycle-table .col-action{max-width:11rem;white-space:nowrap}.spark-ledger .note-input{width:10rem;max-width:14rem}.spark-ledger .cycle-table input,.spark-ledger .cycle-table select{box-sizing:border-box;max-width:6.5rem;min-width:0;background:#2a2d32;color:#c8ccd0;border:1px solid #3a3e44;border-radius:3px;font-size:11px;padding:1px 2px}.spark-ledger .cycle-table .col-num input{width:3.25rem;text-align:right}.spark-ledger .cycle-table input.note-input{width:10rem;max-width:14rem}.spark-ledger .cycle-table .col-action select{width:6.5rem}.spark-ledger .cycle-table .cycle-filter-row th{text-transform:none;letter-spacing:0;font-weight:400;background:#1e2126;vertical-align:middle;overflow:visible}.spark-ledger .cycle-table .cycle-filter-row select{width:100%;max-width:6.5rem}.spark-ledger .cycle-table .cycle-filter-row .col-num select{width:3.4rem;max-width:3.6rem}.spark-ledger .trades-table .cycle-filter-row th{text-transform:none;letter-spacing:0;font-weight:400;background:#1e2126;vertical-align:middle;overflow:visible}.spark-ledger .trades-table .cycle-filter-row input,.spark-ledger .trades-table .cycle-filter-row select{box-sizing:border-box;width:100%;max-width:8rem;min-width:0;background:#2a2d32;color:#c8ccd0;border:1px solid #3a3e44;border-radius:3px;font-size:11px;padding:1px 2px}.spark-ledger .trades-table .cycle-filter-row .filter-box{display:flex;align-items:center;gap:1px;min-width:0}.spark-ledger .trades-table .cycle-filter-row .filter-box input,.spark-ledger .trades-table .cycle-filter-row .filter-box select{flex:1 1 auto;width:auto}.spark-ledger .trades-table .cycle-filter-row .filter-clear{flex:0 0 auto;margin:0;padding:0 2px;border:0;background:transparent;color:#8a8e94;font-size:12px;line-height:1;cursor:pointer}.spark-ledger .trades-table .cycle-filter-row .filter-clear:hover{color:#e8eaed}.spark-ledger .trades-table td.filter-pick{cursor:pointer}.spark-ledger .trades-table-wrap:has(>.trades-table.trading-fills){overflow-x:auto;max-width:100%}.spark-ledger .trades-table.trading-fills{width:100%;min-width:max-content}.spark-ledger .trades-table.trading-fills th,.spark-ledger .trades-table.trading-fills td{width:auto;padding:3px 6px;white-space:nowrap;border:1px solid #3a3e44}.spark-ledger .trades-table.trading-fills .cycle-filter-row .filter-box{width:0;min-width:100%}.spark-ledger .trades-table.trading-fills .cycle-filter-row .filter-box input,.spark-ledger .trades-table.trading-fills .cycle-filter-row .filter-box select{width:0;max-width:none;flex:1 1 auto;min-width:0}.spark-ledger .trades-table.trading-fills tbody tr.fill-pending,.spark-ledger .trades-table.trading-fills tbody tr.fill-pending td{color:#e6c229;font-weight:700;background:#e6c22929}.trades-table .col-product{width:1%;max-width:7.5em;white-space:nowrap}.trades-table .col-trade{min-width:12em}.trades-table tbody tr.row-latest-date{background:#22502880}.trades-table tbody tr.row-latest-date:hover{background:#225028a6}.trades-table tbody tr.row-within-3min{background:#2d8a3e80;animation:row-flash 1.2s ease-in-out infinite}.trades-table tbody tr.row-within-3min:hover{background:#2d8a3e99}@keyframes row-flash{0%,to{opacity:1}50%{opacity:.75}}.bot-log-row{display:flex;gap:8px;padding:1px 0}.bot-log-ts{color:var(--text-dim);white-space:nowrap}.bot-log-lvl{width:44px;color:var(--text-dim)}.bot-log-row.lvl-trade .bot-log-lvl{color:var(--up)}.bot-log-row.lvl-warn .bot-log-lvl{color:#e8b339}.bot-log-row.lvl-error .bot-log-lvl{color:var(--down)}.bot-log-row.lvl-info .bot-log-lvl{color:var(--text)}.watch-add{display:flex;gap:4px;padding:0 10px 8px}.watch-add input{flex:1;min-width:0;background:var(--bg-raised);border:1px solid var(--border);border-radius:4px;color:var(--text);padding:5px 8px;font-size:12px}.watch-add button{background:var(--bg-raised);border:1px solid var(--border);border-radius:4px;color:var(--text);padding:0 10px;cursor:pointer}.watch-err{color:var(--down);font-size:11px;padding:0 12px 6px}.watch-row{position:relative;display:flex;flex-direction:column;padding:8px 12px;cursor:pointer;border-left:2px solid transparent}.watch-main{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding-right:28px}.watch-bot-chip{display:inline-flex;align-items:center;align-self:flex-start;margin-top:6px;background:#12301c;color:var(--up);border:1px solid #238636;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;cursor:pointer;line-height:1.3}.watch-bot-chip:hover{background:#164422}.watch-del{position:absolute;right:4px;top:4px;display:none;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-dim);cursor:pointer;font-size:12px;width:28px;height:28px;padding:0;line-height:1}.watch-row:hover .watch-del{display:block}.watch-row:hover{background:var(--bg-raised)}.watch-row.active{background:var(--bg-raised);border-left-color:var(--accent)}.watch-code{color:var(--text-dim);font-size:11px}.watch-price{text-align:right;font-variant-numeric:tabular-nums}.bot-sidebar{display:flex;flex-direction:column;min-height:100%}.bot-sidebar-head{position:sticky;top:0;z-index:2;background:var(--bg-panel);border-bottom:1px solid var(--border);padding-bottom:8px}.kill-btn-block{display:flex;width:calc(100% - 20px);margin:0 10px 8px;padding:0 12px;font-size:13px;letter-spacing:.2px;height:34px}.kill-btn-block .kill-btn-text{font-size:11px;line-height:1.1}.bot-sidebar-tools{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:0 10px}.bot-filter{display:flex;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:2px;gap:2px}.bot-filter button{flex:1;background:transparent;border:none;color:var(--text-dim);padding:4px 10px;border-radius:6px;cursor:pointer;font-size:12px}.bot-filter button.active{background:var(--bg-raised);color:var(--text);font-weight:600}.bot-add-btn{width:100%;white-space:nowrap}.bot-sidebar-empty{padding:16px 12px}.bot-side-row{display:flex;flex-direction:column;gap:6px;padding:10px 12px;cursor:pointer;border-left:2px solid transparent;border-bottom:1px solid var(--border)}.bot-side-row:hover{background:var(--bg-raised)}.bot-side-row.active{background:var(--bg-raised);border-left-color:var(--accent)}.bot-side-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.bot-side-title{font-weight:600;font-size:13px}.bot-side-code{color:var(--text-dim);font-size:11px;margin-top:2px}.bot-pill{flex:none;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;line-height:1.3}.bot-pill-running{background:#12301c;color:var(--up);border:1px solid #238636}.bot-pill-stopped{background:var(--bg);color:var(--text-dim);border:1px solid var(--border)}.bot-pill-error{background:#2d0f0d;color:var(--down);border:1px solid #a33}.bot-pill-archived{background:var(--bg);color:var(--text-dim);border:1px solid var(--border)}.bot-side-meta{display:flex;justify-content:space-between;align-items:baseline;gap:8px;color:var(--text-dim);font-size:11px}.bot-side-quote{font-variant-numeric:tabular-nums}.bot-side-actions{display:flex;gap:6px}.bot-sidebar-create{border-top:1px solid var(--border);padding:8px 10px 16px}.ticket-manual-title{text-transform:none;display:flex;align-items:baseline;gap:8px;letter-spacing:0}.ticket-manual-hint{color:var(--text-dim);font-size:11px;font-weight:400}.ticket-manual-code{margin-left:auto;color:var(--text)}.watch-chg{font-size:11px}.up{color:var(--up)}.down{color:var(--down)}.chart-panel{position:relative;flex:1;display:flex;flex-direction:column;min-height:0}.chart-overlay{position:absolute;top:44px;left:8px;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:1px;pointer-events:none}.chart-overlay-code{font-size:12px;font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums;color:var(--text)}.chart-updated{font-size:12px;font-variant-numeric:tabular-nums;color:var(--text-dim);pointer-events:none}.chart-updated.warn{color:#d29922}.chart-toolbar{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;padding:6px 10px;border-bottom:1px solid var(--border);min-width:0;overflow:visible}.chart-code{font-weight:600;margin-right:4px;flex:none;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:42vw}.chart-ktypes{display:flex;flex-wrap:nowrap;align-items:center;gap:4px;min-width:0;flex:1 1 auto;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.chart-toolbar-right{display:flex;flex-wrap:nowrap;align-items:center;gap:4px;flex:none;margin-left:auto}.chart-ind-menu{position:relative;flex:none}.ind-menu-btn{background:transparent;border:1px solid var(--border);color:var(--text-dim);border-radius:4px;padding:2px 5px;cursor:pointer;font-size:11px;line-height:1.2;flex-shrink:0;white-space:nowrap}.ind-menu-btn.active{border-color:var(--accent);color:var(--text)}.ind-menu-pop{position:absolute;top:calc(100% + 4px);right:0;z-index:20;min-width:140px;background:var(--bg-raised);border:1px solid var(--border);border-radius:8px;padding:6px;box-shadow:0 8px 24px #0006}.ind-menu-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:4px;cursor:pointer;font-size:12px;color:var(--text-dim)}.ind-menu-item:hover,.ind-menu-item.active{background:var(--bg);color:var(--text)}.ind-menu-trades{margin-top:4px;border-top:1px solid var(--border);padding-top:8px}.ktype-btn{background:transparent;border:1px solid var(--border);color:var(--text-dim);border-radius:4px;padding:2px 5px;cursor:pointer;font-size:11px;line-height:1.2;flex-shrink:0}.ktype-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.toolbar-sep{width:1px;align-self:stretch;background:var(--border);margin:0 4px}.ind-btn{background:transparent;border:1px solid var(--border);color:var(--text-dim);border-radius:4px;padding:3px 8px;cursor:pointer;font-size:11px}.ind-btn.active{background:var(--bg-raised)}.chart-container{flex:1;min-height:0}.chart-container.gestures-off{touch-action:pan-y}.chart-gesture-btn{flex:none;display:inline-flex;align-items:center;justify-content:center;min-width:22px}.chart-gesture-icon{display:block;width:14px;height:14px}.chart-bars{position:relative;flex:none}.chart-bars-pop{position:absolute;top:calc(100% + 4px);right:0;left:auto;z-index:20;display:flex;align-items:center;gap:8px;box-sizing:border-box;max-width:min(228px,calc(100vw - 16px));padding:8px 16px;background:var(--bg-raised);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0006}.chart-bars-pop input[type=range]{width:140px;max-width:100%;display:block}.order-ticket{display:flex;flex-direction:column;gap:10px;padding:0 12px 12px}.order-ticket-body{display:flex;flex-direction:column;gap:10px}.order-ticket-cta .submit-btn{width:100%}.env-badge{background:#3d2c00;color:#d29922;border:1px solid #9e6a03;border-radius:4px;text-align:center;padding:4px;font-size:12px}.side-toggle{display:grid;grid-template-columns:1fr 1fr;gap:6px}.side-btn{padding:8px 0;border-radius:4px;border:1px solid var(--border);background:transparent;color:var(--text-dim);cursor:pointer;font-size:14px}.side-btn.buy.active{background:var(--up);border-color:var(--up);color:#fff}.side-btn.sell.active{background:var(--down);border-color:var(--down);color:#fff}.side-btn.close.active{background:#9e6a03;border-color:#9e6a03;color:#fff}.field{display:flex;flex-direction:column;gap:4px}.field span{color:var(--text-dim);font-size:12px}.field input,.field select{width:100%;min-width:0;background:var(--bg-raised);border:1px solid var(--border);border-radius:4px;color:var(--text);padding:8px;font-size:14px}.submit-btn{padding:10px 0;border:none;border-radius:4px;font-size:15px;font-weight:600;color:#fff;cursor:pointer}.submit-btn.buy{background:var(--up)}.submit-btn.sell{background:var(--down)}.submit-btn.close{background:#9e6a03;color:#fff}.submit-btn:disabled{opacity:.6}.ticket-msg{padding:6px 8px;border-radius:4px;font-size:12px}.ticket-msg.ok{background:#0f2818;color:var(--up)}.ticket-msg.err{background:#2d0f0d;color:var(--down)}.bottom-panel{height:240px;border-top:1px solid var(--border);background:var(--bg-panel);display:flex;flex-direction:column}.tab-chrome{display:flex;flex-direction:column;border-bottom:1px solid var(--border);flex:none}.tab-group-seg{display:inline-flex;align-self:flex-start;margin:6px 10px 0;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:2px;gap:2px}.tab-group-btn{background:transparent;border:none;color:var(--text-dim);padding:5px 12px;border-radius:6px;cursor:pointer;font-size:12px}.tab-group-btn.active{background:var(--bg-raised);color:var(--text);font-weight:600}.tab-bar{display:flex}.tab{background:transparent;border:none;color:var(--text-dim);padding:8px 16px;cursor:pointer;border-bottom:2px solid transparent;font-size:13px}.tab.active{color:var(--text);border-bottom-color:var(--accent)}.tab-content{flex:1;overflow:auto}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}th{text-align:left;color:var(--text-dim);font-weight:400;font-size:12px;padding:6px 10px;position:sticky;top:0;background:var(--bg-panel)}td{padding:6px 10px;border-top:1px solid var(--border)}td.empty{color:var(--text-dim);text-align:center;padding:20px}.cancel-btn{background:transparent;border:1px solid var(--down);color:var(--down);border-radius:4px;padding:2px 8px;cursor:pointer;font-size:12px}.modify-btn{background:transparent;border:1px solid var(--accent);color:var(--accent);border-radius:4px;padding:2px 8px;cursor:pointer;font-size:12px}.dom-panel{border-bottom:1px solid var(--border);padding-bottom:8px}.dom-row{position:relative;display:flex;justify-content:space-between;padding:3px 12px;cursor:pointer;font-variant-numeric:tabular-nums;overflow:hidden}.dom-row:hover{background:var(--bg-raised)}.dom-row .dom-price{font-weight:600}.dom-row.ask .dom-price{color:var(--down)}.dom-row.bid .dom-price{color:var(--up)}.dom-vol{color:var(--text-dim)}.dom-bar{position:absolute;right:0;top:0;bottom:0;opacity:.12;pointer-events:none}.dom-row.ask .dom-bar{background:var(--down)}.dom-row.bid .dom-bar{background:var(--up)}.dom-last{text-align:center;font-size:16px;font-weight:700;padding:6px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums;cursor:pointer}.dom-empty{color:var(--text-dim);text-align:center;padding:10px;font-size:12px}.trig-row{display:grid;grid-template-columns:1fr 1fr;gap:6px}.trig-row select,.trig-row input{background:var(--bg-raised);border:1px solid var(--border);border-radius:4px;color:var(--text);padding:8px;font-size:13px;min-width:0}.month-select{background:var(--bg-raised);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:3px 6px;font-size:12px;margin-right:6px;min-width:0;max-width:220px}.link-btn{background:none;border:none;padding:0;color:var(--text);text-align:left;cursor:pointer;font:inherit}.link-btn:hover div:first-child{text-decoration:underline}.pos-code{color:var(--text-dim);font-size:11px}.tab-note{color:var(--text-dim);font-size:12px;padding:8px 14px 0}.funds-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;padding:14px}.funds-side{border-top:1px solid var(--border);padding-bottom:8px}.funds-grid-side{grid-template-columns:1fr;gap:6px;padding:4px 10px 10px}.funds-grid-side .fund-item{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:6px 8px}.funds-grid-side .fund-value{font-size:15px;font-weight:700;margin-top:0;text-align:right;color:#f0f6fc}.funds-details-toggle{display:block;width:calc(100% - 20px);margin:0 10px 8px;background:transparent;border:1px dashed var(--border);color:var(--text-dim);border-radius:6px;padding:6px 8px;cursor:pointer;font-size:12px}.funds-details-toggle:hover{color:var(--text);border-color:var(--text-dim)}.template-list{display:flex;flex-direction:column;gap:8px}.template-card{background:var(--bg-raised);border:1px solid var(--border);border-radius:6px;padding:8px 10px;display:flex;flex-direction:column;gap:8px}.template-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.template-actions{display:flex;flex-direction:column;align-items:stretch;gap:6px;flex:none}.template-name{font-weight:600;font-size:13px;display:flex;align-items:center;gap:8px}.template-saved{font-weight:400;font-size:11px;color:var(--accent)}.template-summary{color:var(--text-dim);font-size:11px;margin-top:4px}.template-card .bot-form{background:var(--bg)}.bots-section-title{color:var(--text-dim);font-size:12px;text-transform:uppercase;letter-spacing:1px;padding-top:4px}.fund-item{background:var(--bg-raised);border:1px solid var(--border);border-radius:6px;padding:10px}.fund-label{color:var(--text-dim);font-size:12px}.fund-value{font-size:17px;font-weight:700;margin-top:4px;font-variant-numeric:tabular-nums;color:#f0f6fc}.app.is-mobile{height:100%;height:100dvh;overflow:hidden;overflow-x:hidden;max-width:100%}.app.is-mobile .topbar{padding:8px 12px;gap:8px;flex:none}.app.is-mobile .brand{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.app.is-mobile .sync-force-refresh{padding:1px 6px;font-size:11px}.app.is-mobile .brand-stack,.app.is-mobile .account-switch-card{flex:none;font-size:12px;line-height:1.1;padding:4px 10px}.app.is-mobile .account-switch-card.has-robots{padding:2px 2px 2px 8px}.app.is-mobile .topbar-main.has-account-bar .brand{flex:none}.app.is-mobile .topbar-nav,.app.is-mobile .desktop-only,.app.is-mobile .topbar-right .ws-label{display:none}.app.is-mobile .acting-as-banner{display:block}.app.is-mobile .topbar-right{flex:none;min-width:0}.app.is-mobile .env-pill{flex:none}.app.is-mobile .trade-unlock-pop input{width:7rem}.mobile-header-funds,.mobile-header-positions{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.mobile-header-positions{flex-wrap:nowrap;align-items:center;padding-top:2px}.header-sub-scroll{display:flex;flex:1;min-width:0;gap:6px;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.header-sub-scroll>.header-stat-card{flex:none}.header-sub-tools{display:flex;align-items:center;gap:6px;flex:none}.header-sub-card.active{border-color:var(--accent)}.header-trade-mode{min-height:32px;padding:4px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font:inherit;font-size:12px;cursor:pointer}.header-trade-mode.on{border-color:var(--accent);background:#152238}.header-stat-card{display:flex;flex-direction:column;gap:1px;min-width:72px;padding:3px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg)}button.header-stat-card{font:inherit;color:inherit;text-align:left;cursor:pointer}.header-sub-card{flex-direction:row;align-items:stretch;gap:4px;padding:3px 4px 3px 8px}.header-sub-main{display:flex;flex-direction:column;justify-content:center;gap:1px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;padding:0;cursor:pointer}.header-sub-x,.manual-tab-x{align-self:center;border:0;background:transparent;color:var(--text-dim);font:inherit;line-height:1;padding:0 2px;cursor:pointer}.header-sub-add{min-width:36px;align-items:center;justify-content:center;cursor:pointer}.header-stat-card .stat-value{font-weight:600;font-variant-numeric:tabular-nums;font-size:12px;line-height:1.25}.header-pos-empty .stat-value{color:var(--text-dim);font-weight:500}.app.is-mobile .layout{display:flex;flex-direction:column;min-height:0}.app.is-mobile .left,.app.is-mobile .right{border:none}.app.is-mobile .mobile-pane-watch .center,.app.is-mobile .mobile-pane-watch .right,.app.is-mobile .mobile-pane-bots .center,.app.is-mobile .mobile-pane-bots .right{display:none}.app.is-mobile .mobile-pane-watch .left,.app.is-mobile .mobile-pane-bots .left{flex:1;min-height:0;max-height:none;overflow-y:auto;-webkit-overflow-scrolling:touch}.app.is-mobile .mobile-pane-chart .left,.app.is-mobile .mobile-pane-chart .right,.app.is-mobile .mobile-pane-chart .split-divider,.app.is-mobile .mobile-pane-chart .bottom-panel{display:none}.app.is-mobile .mobile-pane-chart .center,.app.is-mobile .mobile-pane-desk .center,.app.is-mobile .mobile-pane-positions .center{flex:1;min-height:0}.app.is-mobile .mobile-pane-chart .chart-panel{flex:1;min-height:0;height:auto}.app.is-mobile .mobile-pane-trade .left,.app.is-mobile .mobile-pane-trade .center{display:none}.app.is-mobile .mobile-pane-trade .right{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}.app.is-mobile .mobile-pane-trade .order-ticket-cta{position:fixed;left:0;right:0;bottom:calc(48px + env(safe-area-inset-bottom,0px));z-index:20;background:var(--bg-panel);padding:8px 12px 10px;border-top:1px solid var(--border);box-shadow:0 -8px 16px #00000059}.app.is-mobile .mobile-pane-desk .left,.app.is-mobile .mobile-pane-desk .right,.app.is-mobile .mobile-pane-desk .chart-panel,.app.is-mobile .mobile-pane-desk .split-divider,.app.is-mobile .mobile-pane-positions .left,.app.is-mobile .mobile-pane-positions .right,.app.is-mobile .mobile-pane-positions .chart-panel,.app.is-mobile .mobile-pane-positions .split-divider{display:none}.app.is-mobile .mobile-pane-desk .bottom-panel,.app.is-mobile .mobile-pane-positions .bottom-panel{flex:1;height:auto!important;min-height:0;border-top:none}.app.is-mobile .mobile-pane-more .left,.app.is-mobile .mobile-pane-more .center,.app.is-mobile .mobile-pane-more .right{display:none}.app.is-mobile .mobile-pane-more .mobile-more{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.mobile-more{display:flex;flex-direction:column;gap:8px;padding:12px}.mobile-more-watch{background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:4px}.mobile-more-item{display:block;width:100%;text-align:left;background:var(--bg-raised);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:14px 16px;font-size:16px;cursor:pointer}.mobile-more-item.danger{color:var(--down);margin-top:8px}.mobile-more-meta{color:var(--text-dim);font-size:13px;padding:8px 4px 0}.mobile-nav{display:flex;flex:none;border-top:1px solid var(--border);background:var(--bg-panel);padding-bottom:env(safe-area-inset-bottom,0px)}.mobile-nav-btn{flex:1;background:none;border:none;color:var(--text-dim);padding:10px 0 8px;font-size:12px;min-height:48px;cursor:pointer;-webkit-tap-highlight-color:transparent}.mobile-nav-btn.active{color:var(--accent);font-weight:600}.app.is-mobile .watch-row,.app.is-mobile .bot-side-row{padding:12px 14px}.app.is-mobile .watch-main{padding-right:40px}.app.is-mobile .watch-del{display:flex;width:36px;height:36px;font-size:16px}.app.is-mobile .watch-bot-chip{padding:4px 10px;font-size:12px}.app.is-mobile .chart-toolbar{flex-wrap:nowrap;overflow:visible}.app.is-mobile .ktype-btn,.app.is-mobile .ind-menu-btn,.app.is-mobile .month-select{flex:none;padding:6px 8px;font-size:12px}.app.is-mobile .month-select{max-width:min(42vw,180px)}.app.is-mobile .ind-menu-item{min-height:40px}@media (max-width: 600px){.ind-btn{display:none}}.app.is-mobile .side-btn{padding:12px 0;font-size:16px}.app.is-mobile .submit-btn{padding:14px 0;min-height:48px}.app.is-mobile .dom-row{padding:8px 14px}.app.is-mobile .dom-last{font-size:22px;padding:10px 0}.app.is-mobile .tab-bar{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.app.is-mobile .tab-group-btn{padding:8px 14px;font-size:13px;min-height:36px}.app.is-mobile .tab{flex:none;padding:12px 14px;white-space:nowrap}.app.is-mobile .tab-content{overflow:auto;-webkit-overflow-scrolling:touch}.app.is-mobile .tab-content table{min-width:640px}.app.is-mobile .cancel-btn,.app.is-mobile .modify-btn{padding:8px 12px;min-height:36px}.app.is-mobile .trades-chrome .btn-limit{min-height:36px;min-width:40px;font-size:13px}.app.is-mobile .trades-toolbar{margin:8px 8px 4px;gap:6px}.app.is-mobile .field input,.app.is-mobile .field select,.app.is-mobile .trig-row input,.app.is-mobile .trig-row select,.app.is-mobile .watch-add input,.app.is-mobile .bot-form input,.app.is-mobile .bot-form select,.app.is-mobile .cond-row select,.app.is-mobile .cond-row input{font-size:16px}.app.is-mobile .watch-add input,.app.is-mobile .watch-add button{min-height:40px}.app.is-mobile .bot-form label{flex:1 1 40%}.app.is-mobile .bot-form input,.app.is-mobile .bot-form select{width:100%}.app.is-mobile .cond-modal-backdrop{align-items:stretch;justify-content:stretch;padding:0}.app.is-mobile .cond-modal,.app.is-mobile .bot-edit-modal{min-width:0;width:100%;max-width:100%;max-height:100%;border-radius:0;padding:16px 14px calc(16px + env(safe-area-inset-bottom,0px))}.app.is-mobile .robot-editor-panel{padding:16px 14px calc(24px + env(safe-area-inset-bottom,0px))}@media (max-width: 900px){.auth-screen{height:100%;height:100dvh;padding:16px;align-items:flex-start;padding-top:12vh}.auth-card{width:100%;max-width:400px;padding:24px 20px}.auth-card .field input{font-size:16px}.info-page{min-height:100dvh;padding:16px 16px calc(24px + env(safe-area-inset-bottom,0px));overflow-y:auto;-webkit-overflow-scrolling:touch}}.info-page{min-height:100%;padding:16px 20px 40px;max-width:900px;margin:0 auto}.info-header h1{margin:8px 0 4px;font-size:20px}.info-muted{color:var(--text-dim);margin:4px 0 16px}.link-btn,.nav-link{background:none;border:none;color:var(--accent);cursor:pointer;font-size:13px;padding:0}.topbar-nav{display:flex;gap:14px;margin-left:24px}.nav-link{padding:4px 0}.features-list{display:flex;flex-direction:column;gap:20px}.feature-section{background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;padding:14px 18px}.feature-section h2{margin:0 0 10px;font-size:15px;color:var(--accent)}.feature-section ul{margin:0;padding-left:20px;line-height:1.65}.feature-section li{margin-bottom:4px}.ops-metrics{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.metric-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;padding:10px 14px;min-width:120px}.metric-label{display:block;color:var(--text-dim);font-size:11px;margin-bottom:4px}.metric-value{font-size:18px;font-weight:600}.ops-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:12px}.ops-toolbar select{margin-left:6px;background:var(--bg-raised);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:4px 8px}.small-btn{background:var(--bg-raised);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:5px 12px;cursor:pointer}.ops-log-list{display:flex;flex-direction:column;gap:6px}.ops-row{background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-size:12px;display:grid;grid-template-columns:140px 64px 72px 1fr;gap:8px;align-items:start}.ops-ts{color:var(--text-dim);font-family:ui-monospace,monospace;font-size:11px}.ops-level{font-weight:600;font-size:11px}.ops-alert{color:#ff6b6b}.ops-error{color:var(--down)}.ops-warn{color:#d29922}.ops-action{color:var(--accent)}.ops-info{color:var(--text)}.ops-dim,.ops-cat{color:var(--text-dim)}.ops-msg{word-break:break-word}.ops-detail{grid-column:1 / -1;margin:4px 0 0;padding:6px 8px;background:var(--bg);border-radius:4px;font-size:11px;overflow-x:auto;white-space:pre-wrap}.shell-app{min-height:0}.shell-tabs{display:flex;gap:2px;padding:0 10px;background:var(--bg-panel);border-bottom:1px solid var(--border);overflow-x:auto;flex:none}.shell-tab{flex:none;display:flex;flex-direction:column;align-items:center;gap:1px;padding:8px 16px 7px;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--text-dim);cursor:pointer;font:inherit}.shell-tab-en{font-weight:600;font-size:13px}.shell-tab-hint{font-size:10px;letter-spacing:.04em}.shell-tab .robot-count-bubble{align-self:center;margin-top:2px}.shell-tab.active{color:var(--text);border-bottom-color:var(--accent)}.shell-tab:hover{color:var(--text)}.group-admin-tabs{display:flex;gap:4px;margin:8px 0 12px;flex:none;overflow-x:auto}.group-admin.spark-ledger{height:100%;max-height:100%;min-height:0;overflow:hidden}.shell-main:has(>.group-admin){display:flex;flex-direction:column;overflow:hidden}.shell-main>.group-admin{flex:1;min-height:0}.group-admin-tabs .shell-tab{flex-direction:row;align-items:center;gap:6px;padding:6px 10px 5px}.group-admin-tabs .shell-tab.split-open{color:var(--text);border-bottom-color:var(--accent)}.group-admin-tab-label{border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;padding:0}.group-admin-tab-check{margin:0;accent-color:var(--accent);cursor:pointer}.group-admin-split-tools{display:flex;gap:6px;margin:0 0 8px;flex:none}.group-admin-split{flex:1;min-height:0;display:flex;overflow:hidden}.group-admin-split.is-vertical{flex-direction:column}.group-admin-pane{min-width:0;min-height:0;overflow:auto}.group-admin-pane[hidden]{display:none!important}.group-admin-pane.is-focused{outline:1px solid var(--accent);outline-offset:-1px}.group-admin-pane-caption{position:sticky;top:0;z-index:2;padding:4px 8px;background:var(--bg-panel);border-bottom:1px solid var(--border);font-weight:600}.group-admin-split-divider{flex:0 0 10px;order:1;position:relative;background:var(--border-strong);cursor:col-resize;touch-action:none}.group-admin-split-divider:before{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px}.group-admin-split-divider:hover{background:var(--accent)}.group-admin-split.is-vertical .group-admin-split-divider{cursor:row-resize}.freq-catchup{margin:8px 0}.freq-table{width:100%;border-collapse:collapse;font-size:13px}.freq-table th,.freq-table td{border-bottom:1px solid var(--border);padding:6px 8px;text-align:left}.freq-table tr.is-locked{opacity:.55}.freq-lock{color:var(--muted, #8a8f98)}.group-admin .robot-settings-panel{min-height:70vh;margin-bottom:12px;border:1px solid var(--border)}.group-admin-form{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0}.group-admin-form input,.group-admin-form select{font:inherit;padding:4px 8px}.shell-main{flex:1;min-height:0;min-width:0;overflow:auto;-webkit-overflow-scrolling:touch}.shell-main:has(.shell-pane:not([hidden])>.manual-desk){display:flex;flex-direction:column;overflow:hidden}.shell-pane[hidden]{display:none!important}.shell-pane:not([hidden]){display:flex;flex-direction:column;flex:1;min-height:100%;min-width:0}.shell-main:has(.shell-pane:not([hidden])>.manual-desk)>.shell-pane:not([hidden]),.shell-main:has(.robots-page:not([hidden]) .robots-tab.is-editing)>.shell-pane:not([hidden]){min-height:0}.robots-tab,.robots-list-tab,.setting-tab,.cycle-tab,.history-tab{display:flex;flex-direction:column;min-height:100%}.robots-page{display:flex;flex-direction:column;min-height:100%;flex:1;min-width:0}.robots-page[hidden]{display:none!important}.shell-main:has(.robots-page:not([hidden]) .robots-tab.is-editing){overflow:hidden;display:flex;flex-direction:column}.robots-tab.is-editing{flex:1;min-height:0;overflow:hidden}.robot-subtabs{display:flex;gap:6px;padding:8px 10px;overflow-x:auto;border-bottom:1px solid var(--border);background:var(--bg-panel);flex:none}.robots-tab:not(.is-editing) .robot-subtabs{position:sticky;top:0;z-index:5}.robot-editor-panel{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:16px 16px 32px;background:var(--bg-panel)}.robot-subtab{flex:none;display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid #9b6bff;border-radius:6px;background:#3b1f6e;color:#fff;cursor:pointer;font:inherit}.robot-subtab.active{border-color:#d2b8ff;background:#542c96}.robot-subtab-name{font-weight:600}.robot-subtab-pos{color:var(--text);background:var(--bg);border:1px solid var(--border-strong);border-radius:999px;padding:1px 7px;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.3}.robot-subtab-add{color:var(--accent)}.robot-stack{display:flex;flex-direction:column;min-height:0}.robot-summary{padding:10px 12px 8px;border-bottom:1px solid var(--border);background:var(--bg-panel)}.robot-adjust-row{display:flex;gap:4%;width:100%;margin-bottom:8px}.robot-adjust-btn{flex:1 1 48%;min-height:40px;border-radius:6px;font-weight:700;cursor:pointer;border:1px solid var(--border-strong)}.robot-adjust-sell{background:#6e1b1b;border-color:#f85149;color:#ffdcd7}.robot-adjust-buy{background:#152a45;border-color:var(--accent);color:#79b8ff}.adjust-qty-row{display:flex;align-items:center;gap:10px;margin:8px 0}.adjust-qty-row input[type=number]{width:72px}.adjust-qty-row input[type=range]{flex:1}.adjust-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.adjust-chips button,.adjust-next{border:1px solid var(--border-strong);border-radius:6px;background:var(--bg-raised);color:var(--text);padding:4px 10px;cursor:pointer}.adjust-preview{display:grid;gap:4px;margin:8px 0 12px;font-variant-numeric:tabular-nums}.adjust-confirm{display:flex;flex-direction:column;gap:8px}.adjust-confirm button{min-height:40px;border-radius:6px;font-weight:700;cursor:pointer;border:1px solid var(--border-strong);background:var(--bg-raised);color:var(--text)}.adjust-error{color:var(--down);margin:6px 0}.adjust-target-dialog{border:1px solid var(--border);border-radius:12px;background:var(--bg-panel);color:var(--text);padding:14px 16px;width:min(420px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:min(80dvh,calc(100dvh - 32px));overflow:auto;margin:auto}.adjust-target-dialog::backdrop{background:#00000073}.adjust-target-dialog input{font-size:16px}.adjust-target-dialog.assign-cycle-dialog{width:min(720px,calc(100vw - 32px))}.adjust-target-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;font-weight:600}.robot-summary-row,.robot-summary-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.robot-box-row,.robot-stat-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;gap:0;width:calc(100% + 24px);margin-left:-12px;margin-right:-12px}.robot-box-row+.robot-box-row,.robot-stat-row{margin-top:8px}.robot-stat-card{min-width:0;min-height:52px;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:6px 8px;border:1px solid var(--border-strong, #30363d);border-radius:6px;background:var(--bg-raised);box-sizing:border-box}.robot-stat-card .stat-value{font-weight:700;font-variant-numeric:tabular-nums;font-size:14px;line-height:1.25}.robot-target-card{flex-direction:row;align-items:stretch;justify-content:space-between;gap:6px;padding:8px}.robot-target-main{display:flex;flex-direction:column;justify-content:center;gap:2px;flex:1 1 0;width:0;min-width:0}.robot-fill-delta{flex:1 1 0;width:0;min-width:0;box-sizing:border-box;min-height:22px;padding:1px 2px;border-radius:6px;border:1px solid var(--up);background:var(--up);color:#fff;font-size:11px;font-weight:700;line-height:1.15;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:center;cursor:pointer}.robot-fill-delta:disabled{background:var(--bg-raised);border-color:var(--border-strong);color:var(--text-dim);opacity:1;cursor:not-allowed}.robot-id-card,.robot-product-card,.robot-action-card{text-align:center;align-items:center}.robot-id-card .stat-value{font-size:22px;font-weight:800;line-height:1.1;letter-spacing:.02em}.robot-action-card{padding:5px;overflow:hidden}.robot-action-card .robot-action-btn{flex:1;width:100%;min-height:42px;height:100%;display:inline-flex;align-items:center;justify-content:center;padding:6px 8px;border:1px solid var(--border-strong);border-radius:6px;box-sizing:border-box;cursor:pointer;font-weight:700;box-shadow:inset 0 1px #ffffff0f;transition:background-color .12s ease,border-color .12s ease,filter .12s ease}.robot-action-card .robot-action-btn:hover:not(:disabled){filter:brightness(1.1)}.robot-action-card .robot-action-btn:active:not(:disabled){filter:brightness(.94);transform:translateY(1px)}.robot-action-card .robot-action-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.robot-action-card .kill-btn{height:auto;background:#6e1b1b;border-color:#f85149;color:#ffdcd7}.robot-action-card .kill-btn:hover:not(:disabled){background:#8b2222;border-color:#ff7b72;color:#fff}.robot-action-card .modify-btn{background:#152a45;border-color:var(--accent);color:#79b8ff}.robot-action-card .cancel-btn{background:#21262d;border-color:var(--border-strong);color:var(--text)}.robot-action-card .robot-action-btn:disabled{opacity:.42;cursor:not-allowed;filter:none;box-shadow:none}.robot-action-card .kill-btn-text{font-size:12px;font-weight:700}.robot-action-card .modify-btn,.robot-action-card .cancel-btn{font-size:13px;font-weight:700}.robot-summary-name{font-size:16px;font-weight:700}.robot-summary-code{margin-left:8px;color:var(--accent);font-weight:600}.robot-summary-sub{color:var(--text-dim);font-size:12px;margin-top:2px}.robot-summary-stat{display:flex;flex-direction:column;gap:2px;font-variant-numeric:tabular-nums}.stat-label{color:var(--text-dim);font-size:10px;text-transform:uppercase;letter-spacing:.04em}.robot-summary-actions{display:flex;flex-wrap:wrap;gap:6px}.robot-chart{height:510px;flex:none;display:flex;flex-direction:column;border-bottom:1px solid var(--border)}.robot-chart .chart-panel,.robot-chart .chart-container{flex:1;min-height:0}.robot-trades{padding-bottom:8px}.robot-log{border-top:1px solid var(--border);background:var(--bg-panel);padding-bottom:16px}.robot-log-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:40px;padding:8px 12px;border:0;background:transparent;color:var(--text);cursor:pointer;font:inherit;font-weight:600;text-align:left}.robot-log-toggle:hover{background:var(--bg-raised)}.robot-log-chevron{color:var(--text-dim);font-size:12px}.robot-log-body{margin:0 12px 8px;padding-top:0;max-height:min(40vh,280px)}.robot-log-body .bot-log-row{flex-wrap:wrap}.bot-log-msg{flex:1 1 12rem;min-width:0;overflow-wrap:anywhere}.robot-ladder{margin-top:8px}.cycle-picker{display:inline-flex;align-items:center;justify-content:flex-start;gap:6px;color:var(--text-dim);font-size:12px}.cycle-picker select{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:3px 6px}.list-toolbar,.cycle-create,.cycle-active-card,.setting-card{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px}.setting-card,.cycle-active,.cycle-create{border-bottom:1px solid var(--border)}.cycle-create{flex-direction:column;align-items:stretch;max-width:520px}.cycle-create label,.cycle-create input{display:block;width:100%}.cycle-create input{margin-top:4px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:6px 8px}.cycle-active-card{justify-content:space-between}.cycle-name{font-size:16px;font-weight:700}.robots-list-row{cursor:pointer}.robots-list-row:hover{background:#152238}.setting-h{margin:8px 12px;font-size:16px}.setting-row{display:flex;align-items:center;gap:8px;padding:0 12px 8px}.setting-links{display:flex;flex-direction:column;padding:0 4px 8px}.setting-link{text-align:left;background:none;border:none;color:var(--accent);padding:8px;cursor:pointer;font:inherit}.setting-link:hover{background:var(--bg-raised)}.robot-empty,.robot-create{padding:16px 12px}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:40;display:flex;justify-content:flex-end}.manual-desk-backdrop{justify-content:center;align-items:stretch;overflow:hidden;max-width:100%;min-width:0}.manual-drawer{width:min(360px,100%);height:100%;overflow:auto;background:var(--bg);border-left:1px solid var(--border);padding:8px 8px 24px;display:flex;flex-direction:column;gap:10px}.manual-drawer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.manual-desk{width:100%;max-width:100%;min-width:0;flex:1;min-height:0;height:auto;overflow:hidden;background:var(--bg);display:flex;flex-direction:column}.manual-desk-chrome{flex:none;z-index:5;background:var(--bg);min-width:0;max-width:100%}.manual-desk-scroll{flex:1;min-height:0;min-width:0;max-width:100%;overflow:hidden;display:flex;flex-direction:column}.manual-desk-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:8px 10px;border-bottom:1px solid var(--border);min-width:0}.manual-desk-head .info-muted{margin:2px 0 0}.manual-desk-actions{display:flex;align-items:center;gap:8px;flex:none}.manual-product-tabs{display:flex;flex-wrap:nowrap;gap:6px;padding:8px 10px;overflow-x:auto;-webkit-overflow-scrolling:touch;border-bottom:1px solid var(--border);min-width:0;max-width:100%}.manual-product-tab{flex:none;display:flex;flex-direction:row;align-items:flex-start;gap:4px;min-width:88px;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg-raised);color:var(--text);cursor:pointer}.manual-tab-main{display:flex;flex-direction:column;align-items:flex-start;gap:2px;border:0;background:transparent;color:inherit;font:inherit;padding:0;cursor:pointer;text-align:left}.manual-tab-add{min-width:36px;align-items:center;justify-content:center;font:inherit;font-size:16px}.manual-product-tab.active{border-color:var(--accent);background:#152238}.manual-tab-code{font-weight:700;font-size:13px}.manual-tab-meta{display:flex;gap:8px;color:var(--text-dim);font-size:11px}.manual-desk-main{flex:1;min-height:0;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 320px}.manual-desk-chart{min-height:0;min-width:0;display:flex;flex-direction:column}.manual-desk-chart .chart-panel,.manual-desk-chart .chart-container{flex:1;min-height:0}.manual-desk.trade-mode .manual-desk-scroll{overflow:hidden}.manual-desk.trade-mode .manual-desk-main{display:block;flex:0 0 50%;height:50%;max-height:50%;min-height:0}.manual-desk.trade-mode .manual-desk-chart{height:100%}.manual-trade-stack{flex:1 1 50%;min-height:0;overflow:auto;padding:6px 8px 12px;display:flex;flex-direction:column;gap:8px}.manual-desk-side{overflow:auto;border-left:1px solid var(--border);padding:8px;display:flex;flex-direction:column;gap:10px;min-width:0}.manual-quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.manual-quote-btn{background:var(--bg-raised);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:6px 4px;cursor:pointer;font-size:11px}.manual-quote-btn:disabled{opacity:.5;cursor:default}.manual-order-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:6px 0;border-bottom:1px solid var(--border);font-size:12px;min-width:0;max-width:100%}.manual-order-actions{margin-left:auto;display:flex;flex-wrap:wrap;gap:4px}.manual-pos-line{display:flex;align-items:center;gap:8px;font-size:12px;white-space:nowrap;overflow-x:auto;min-width:0}.manual-pos-card .manual-pos-line{padding:8px 10px}.manual-pos-actions{display:flex;gap:6px;margin-left:auto;flex:none}.manual-desk-form{border-top:1px solid var(--border);overflow:auto;max-height:42%;padding:8px 8px 16px;display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:10px;min-width:0;max-width:100%}.ticket-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.ticket-grid-span{grid-column:1 / -1}.order-ticket-desk{padding:0}.ticket-type-switch,.action-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.ticket-type-switch button,.ticket-type-switch select,.action-switch .side-btn{min-height:36px;border:1px solid var(--border);border-radius:6px;background:var(--bg-raised);color:var(--text);font:inherit;font-size:13px;cursor:pointer}.ticket-type-switch button.on,.ticket-type-switch select.on{border-color:var(--accent);background:#152238}.price-field{display:flex;gap:6px;min-width:0}.price-field input{flex:1;min-width:0}.price-pick-btn{flex:none;min-width:44px;border:1px solid var(--border);border-radius:6px;background:var(--bg-raised);color:var(--text);font:inherit;cursor:pointer}.price-picker{max-height:180px;overflow-y:auto;border:1px solid var(--border);border-radius:6px;background:var(--bg)}.price-picker button{display:block;width:100%;padding:8px 6px;border:0;border-bottom:1px solid var(--border);background:transparent;color:inherit;font:inherit;font-variant-numeric:tabular-nums;cursor:pointer}.price-picker button.on{background:#152238;color:var(--accent)}.pick-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#00000073;display:flex;align-items:center;justify-content:center}.pick-overlay .price-picker{width:min(240px,86vw);max-height:min(420px,70vh);background:var(--bg);box-shadow:0 8px 28px #00000073}.manual-desk-blotter{flex:none;max-height:40%;overflow:auto;border-top:1px solid var(--border);padding:0 8px 10px}.manual-records .trades-toolbar,.manual-records .trades-table-wrap{margin-left:0;margin-right:0}.manual-order-scroll{--manual-order-row: 24px;max-height:198px;overflow:auto}.manual-order-scroll tr:has(.record-actions)>td{height:calc(var(--manual-order-row) * 1.5)}.manual-order-scroll .trades-table th{position:sticky;top:0;z-index:1}.app.is-mobile .manual-desk-blotter{max-height:none;overflow:visible}.trades-table .col-trade .link-btn{font:inherit;color:inherit}.trades-table .record-detail{color:var(--text-dim);margin-left:6px}.trades-table .record-actions{display:inline-flex;gap:4px;margin-left:6px;vertical-align:middle;white-space:nowrap}.manual-order-scroll .record-actions .modify-btn,.manual-order-scroll .record-actions .cancel-btn{box-sizing:border-box;height:var(--manual-order-row);min-height:0;padding:0 6px;font-size:11px;line-height:calc(var(--manual-order-row) - 2px)}.manual-pos-compact{font-size:13px}.manual-funds{border-top:1px solid var(--border);padding-top:6px}.manual-funds>summary{cursor:pointer;color:var(--text-dim);font-size:12px}.app.is-mobile .shell-tabs{display:flex}.app.is-mobile .shell-tab{padding:8px 12px 7px}.app.is-mobile .robot-chart{height:360px}.account-tab{overflow:auto;min-height:0;padding-bottom:24px}.broker-block>summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none}.broker-block>summary::-webkit-details-marker{display:none}.broker-block>summary .panel-title{padding-bottom:10px}.broker-chevron:before{content:"▸";color:var(--text-dim);font-size:12px;padding-right:14px}.broker-block[open]>summary .broker-chevron:before{content:"▾"}.broker-accounts{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;padding:0 14px 4px}.broker-card{background:var(--bg-raised);border:1px solid var(--border);border-radius:8px;padding:10px 12px}.broker-card-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.broker-title{display:inline-flex;align-items:center;gap:6px}.broker-label{font-weight:700;font-size:15px}.broker-desk{font-weight:600;font-size:11px;line-height:1.4;border-radius:10px;padding:0 7px;background:#9e6a03;color:#fff}.broker-desk.real{background:#9b2335}.broker-sub{color:var(--text-dim);font-size:12px;margin-top:2px}.broker-active{color:var(--accent);font-size:11px}.broker-meta,.broker-note{color:var(--text-dim);font-size:12px;margin-top:4px}.broker-lines{display:flex;flex-direction:column;gap:4px;margin-top:8px}.broker-line{display:flex;justify-content:space-between;gap:8px;font-variant-numeric:tabular-nums}.broker-line span:first-child{color:var(--text-dim);font-size:12px}.account-summary-head{display:flex;align-items:center;gap:10px;padding:4px 0 0}.account-block{padding-bottom:12px}.account-actions{display:flex;flex-wrap:wrap;gap:4px}.robot-roll-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:10px;padding-top:8px;border-top:1px solid var(--border);position:relative}.robot-roll-toggle,.robot-roll-field{display:inline-flex;align-items:center;gap:4px;color:var(--text-dim);font-size:12px}.robot-roll-field input,.bot-form-roll input[type=number],.bot-form-roll input[type=time]{width:72px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:3px 6px}.robot-roll-due{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;color:var(--text-dim);font-size:12px}.robot-roll-cards{display:inline-flex;align-items:stretch;gap:4px}.robot-roll-card{display:flex;flex-direction:column;justify-content:center;min-width:48px;padding:2px 6px;border:1px solid var(--border);border-radius:4px;background:var(--bg-raised);font-size:11px;line-height:1.2;text-align:center;font-variant-numeric:tabular-nums}.robot-roll-card .roll-px{font-weight:700;color:var(--text)}.robot-roll-spread{min-width:36px}.help-q{width:20px;height:20px;border-radius:50%;border:1px solid var(--border);background:transparent;color:var(--text-dim);cursor:pointer;font-size:12px;line-height:1}.robot-roll-help{flex:1 1 100%;background:var(--bg-raised);border:1px solid var(--border);border-radius:6px;padding:8px 10px;color:var(--text-dim);font-size:12px;line-height:1.45}.bot-form-roll{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.app.is-mobile .account-tab .trades-table-wrap{overflow-x:auto}.app.is-mobile .account-actions{flex-direction:column;align-items:stretch}.app.is-mobile .robot-summary-actions{margin-left:0}.app.is-mobile .robot-roll-line{gap:6px}.app.is-mobile .robot-roll-card{min-width:40px;padding:2px 4px;font-size:10px}.app.is-mobile .robot-stat-card{min-width:52px;min-height:48px}.app.is-mobile .robot-stat-card .stat-value{font-size:12px}.app.is-mobile .robot-fill-delta{min-height:20px;padding:1px 2px;font-size:11px}.app.is-mobile .robot-id-card .stat-value{font-size:18px;font-weight:800}.app.is-mobile .robot-action-card .robot-action-btn{min-height:38px}.app.is-mobile .robot-action-card .kill-btn-text{font-size:11px}.app.is-mobile .robot-log-toggle{min-height:44px;padding:10px 12px}.app.is-mobile .robot-log-body{margin:0 10px 10px}.history-toolbar{display:flex;align-items:center;gap:10px;padding:8px 12px 0}.history-row{cursor:pointer}.history-row:hover{background:#152238}.app.is-mobile .manual-drawer{width:100%}.app.is-mobile .manual-desk{width:100%;max-width:100%;min-width:0;overflow:hidden;overflow-x:hidden}.app.is-mobile .manual-desk-scroll{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.app.is-mobile .manual-desk.trade-mode .manual-desk-scroll{overflow:hidden}.app.is-mobile .manual-desk-main{grid-template-columns:minmax(0,1fr);overflow:visible;flex:none;min-width:0;max-width:100%}.app.is-mobile .manual-desk-chart{height:320px;flex:none;min-width:0;max-width:100%}.app.is-mobile .manual-desk.trade-mode .manual-desk-main,.app.is-mobile .manual-desk.trade-mode .manual-desk-chart{height:160px;max-height:160px;flex:none}.app.is-mobile .manual-desk-side{border-left:none;border-top:1px solid var(--border);min-width:0;max-width:100%}.app.is-mobile .manual-desk-form{grid-template-columns:minmax(0,1fr);max-height:none;overflow:visible;min-width:0;max-width:100%}.app.is-mobile .manual-desk .chart-panel,.app.is-mobile .manual-desk .chart-container,.app.is-mobile .manual-desk .chart-toolbar{min-width:0;max-width:100%}.app.is-mobile .manual-order-actions{margin-left:0;flex:1 1 100%;justify-content:flex-end}.app.is-mobile .manual-product-tab{min-height:44px;padding:8px 12px}.app.is-mobile .manual-quote-btn{min-height:44px}.app.is-mobile .manual-desk-head .link-btn{min-height:44px;min-width:44px;padding:8px 10px}.manual-desk-error{margin:0 10px 8px;cursor:pointer}.app.is-mobile .info-page{min-height:0}.robot-settings-panel{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:var(--bg)}.robot-settings-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border);background:var(--bg-panel);flex:none}.robot-settings-head h2{margin:0;font-size:18px;font-weight:700}.robot-settings-error{flex:none;background:#5c1a1a;color:#ffd7d7;padding:10px 16px;cursor:pointer;font-size:13px}.robot-settings-form{flex:1;min-height:0;display:flex;flex-direction:column}.robot-settings-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:16px 16px 24px}.robot-settings-section{margin-bottom:12px;padding:12px 14px 14px;border:1px solid var(--border);border-radius:8px;background:var(--bg-panel)}.robot-settings-predict-link{display:inline-flex;margin:0 0 12px;padding:0;font-size:14px}.robot-settings-predict-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.robot-settings-predict-head .robot-settings-predict-title,.robot-settings-predict-head .robot-settings-predict-link{margin:0}.robot-settings-predict-page{display:flex;flex-direction:column}.robot-settings-predict-back{align-self:flex-start;margin-bottom:12px;padding:0}.robot-settings-predict-title{font-weight:600;margin-bottom:8px}.robot-settings-predict-levels{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--text-dim);margin:0 0 8px}.robot-settings-predict-levels input{width:100px;background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--text);padding:6px 8px;font-size:13px}.robot-settings-predict-controls{display:flex;flex-wrap:wrap;gap:12px 16px;margin:0 0 12px}.robot-settings-predict-controls label{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--text-dim)}.robot-settings-predict-controls input{width:140px;background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--text);padding:6px 8px;font-size:13px}.robot-settings-predict-scroll{max-height:240px;overflow:auto;-webkit-overflow-scrolling:touch}.robot-settings-predict-summary{font-size:13px;margin-bottom:10px}.robot-settings-predict-cols{display:grid;grid-template-columns:1fr;gap:14px}.robot-settings-predict-dir-title{font-weight:600;font-size:12px;margin-bottom:4px}.robot-settings-predict-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.robot-settings-predict-table{width:100%;min-width:520px;border-collapse:collapse;font-variant-numeric:tabular-nums}.robot-settings-predict-table th,.robot-settings-predict-table td{text-align:left;padding:4px 6px;border-bottom:1px solid var(--border);white-space:nowrap}.robot-settings-predict-table th{color:var(--text-dim);font-weight:600;font-size:11px}.robot-settings-section summary{font-weight:600;cursor:pointer;margin-bottom:10px}.robot-settings-section label{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--text-dim)}.robot-settings-section input,.robot-settings-section select{background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--text);padding:6px 8px;font-size:13px;width:140px}.robot-settings-section .code-select{width:200px}.robot-settings-foot{position:sticky;bottom:0;display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px 16px;border-top:1px solid var(--border);background:var(--bg-panel);flex:none}.app.is-mobile .robot-settings-panel{min-height:0}.app.is-mobile .robot-settings-body{padding:16px 14px}.app.is-mobile .robot-settings-foot{position:sticky;bottom:0;padding:12px 14px calc(12px + env(safe-area-inset-bottom,0px))}.app.is-mobile .robot-settings-section label{flex:1 1 40%}.app.is-mobile .robot-settings-section input,.app.is-mobile .robot-settings-section select{width:100%}.app.is-mobile .robot-settings-predict-cols{grid-template-columns:1fr}.app.is-mobile .robot-settings-predict-table{min-width:520px;font-size:12px}.app.is-mobile .robot-settings-predict-controls input{width:100%}.grid-entry-mode{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.grid-entry-mode-label{font-size:11px;color:var(--text-dim)}.grid-entry-mode-options{display:flex;flex-wrap:wrap;border:1px solid var(--border);border-radius:6px;overflow:hidden;width:fit-content;max-width:100%}.grid-entry-mode-btn{background:var(--bg);color:var(--text-dim);border:0;border-right:1px solid var(--border);padding:7px 12px;font-size:13px;cursor:pointer}.grid-entry-mode-btn:last-child{border-right:0}.grid-entry-mode-btn.is-active{background:var(--accent);color:#fff}.grid-flat-entry{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}.grid-flat-slider{width:min(360px,100%);accent-color:var(--accent)}.grid-entry-mode .bot-edit-hint{max-width:52rem;line-height:1.45}.info-page.fleet-page{max-width:1100px}.fleet-block{margin:0 0 28px}.fleet-block h2{font-size:16px;margin:0 0 8px}.fleet-block td input{width:9rem;max-width:100%}.fleet-actions{display:flex;flex-wrap:wrap;gap:6px}.conn-log-dialog{width:min(760px,calc(100vw - 32px));overflow:hidden}.conn-log-dialog .adjust-target-head span:last-child{display:flex;gap:6px}.conn-log-scroll{max-height:min(52dvh,440px);overflow:auto}
