:root{--ink: #182229;--ink-strong: #0f171c;--ink-muted: #5d6b74;--ink-faint: #7d8b93;--surface: #ffffff;--surface-sunken: #f6f8f9;--surface-head: #f2f5f6;--line: #dbe2e6;--line-soft: #e9eef0;--accent: #0b675e;--accent-soft: #dff3ee;--danger: #9b2d25;--danger-soft: #ffe4df;--warn: #725212;--warn-soft: #fff3d6;--sp-1: 2px;--sp-2: 4px;--sp-3: 6px;--sp-4: 8px;--sp-5: 10px;--sp-6: 12px;--row-h: 30px;--head-h: 24px;--control-h: 28px;--radius: 5px;--fs-xs: 11px;--fs-sm: 12px;--fs-md: 13px;--fs-lg: 15px;color:var(--ink);background:var(--surface-sunken);--font-num: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--fs-md);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-panel{width:min(360px,100%);display:grid;gap:18px;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 12px 28px #18222914}.auth-error{color:var(--danger);font-weight:700;overflow-wrap:anywhere}.user-floating{position:fixed;top:18px;right:18px;z-index:20}.app-shell{display:grid;grid-template-columns:172px minmax(0,1fr);align-items:start;min-height:100vh}.workspace{min-width:0;padding:var(--sp-4)}@media (max-width: 900px){.app-shell{grid-template-columns:minmax(0,1fr)}.side-nav{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;border-right:0;border-bottom:1px solid var(--line)}.side-nav-brand{padding:0 var(--sp-4) 0 0}.side-nav-foot{flex:1 1 auto;grid-auto-flow:column;justify-content:flex-end;margin:0;padding:0;border-top:0}}h1,h2,h3,p{margin:0}h1{font-size:18px;line-height:1.2}h2{font-size:var(--fs-md);line-height:1.2;letter-spacing:.02em;text-transform:uppercase}p{color:var(--ink-muted);font-size:var(--fs-sm);line-height:1.35}.status-badge,.error-note{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:var(--control-h);border-radius:var(--radius);padding:0 var(--sp-4);font-size:var(--fs-sm);font-weight:600;white-space:nowrap}.status-connecting{color:var(--warn);background:var(--warn-soft)}.status-open{color:var(--accent);background:var(--accent-soft)}.status-closed,.error-note{color:var(--danger);background:var(--danger-soft)}.market-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}.market-panel+.market-panel{margin-top:var(--sp-4)}.market-state-config{margin-top:24px;border-top:1px solid var(--line);padding:var(--sp-5)}.market-state-config-list{display:grid;gap:var(--sp-5)}.market-state-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-bottom:20px}.market-state-card{display:grid;gap:12px;border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-5)}.market-state-card>header,.market-state-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.market-state-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.direction{border-radius:var(--radius);padding:4px 8px;font-size:12px;font-weight:800}.direction-up{color:#176b4d;background:#dcf4e8}.direction-down{color:var(--danger);background:var(--danger-soft)}.direction-flat{color:var(--ink-muted);background:#edf2f4}.direction-unready{color:#805b10;background:#fff1cc}.market-state-section-head{margin:20px 0 10px}.market-state-profile-head,.market-state-binding{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:12px}.market-state-bindings{display:grid;gap:10px}.market-state-binding{border-top:1px solid var(--line-soft);padding-top:10px}.market-state-config-item{display:grid;gap:var(--sp-4);border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-5)}.account-balance-bar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--sp-5);min-height:34px;margin-bottom:var(--sp-4);padding:var(--sp-2) var(--sp-5);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.account-balance-summary{display:flex;align-items:baseline;gap:var(--sp-3);min-width:0;white-space:nowrap}.account-balance-summary span{color:var(--ink-muted);font-size:var(--fs-sm);font-weight:700}.account-balance-summary strong{color:var(--ink-strong);font-size:var(--fs-md);line-height:1.2}.account-balance-list{display:flex;align-items:center;gap:var(--sp-4);min-width:0;overflow-x:auto}.account-balance-item{flex:0 0 auto;display:inline-flex;align-items:baseline;gap:var(--sp-2);min-height:22px;padding:0 var(--sp-4) 0 0;border-right:1px solid var(--line-soft);white-space:nowrap}.account-balance-item span{color:var(--ink-muted);font-size:var(--fs-xs);font-weight:700}.account-balance-item strong{min-width:0;color:var(--ink-strong);font-size:var(--fs-sm);font-family:var(--font-num);line-height:1.2}.account-balance-empty{display:grid;align-items:center;min-height:22px;color:var(--ink-faint);font-size:var(--fs-sm)}.account-balance-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:var(--sp-3);min-width:0}.side-nav{position:sticky;top:0;align-self:start;display:flex;flex-direction:column;gap:var(--sp-1);height:100vh;padding:var(--sp-4) var(--sp-3);border-right:1px solid var(--line);background:var(--surface)}.side-nav-brand{padding:0 var(--sp-4) var(--sp-4);color:var(--ink-strong);font-size:var(--fs-lg);font-weight:800;letter-spacing:.02em}.side-nav-foot{display:grid;gap:var(--sp-2);margin-top:auto;padding-top:var(--sp-4);border-top:1px solid var(--line-soft)}.feature-tab{display:grid;gap:1px;width:100%;min-height:34px;padding:var(--sp-3) var(--sp-4);border:0;border-radius:var(--radius);color:var(--ink-muted);background:transparent;cursor:pointer;text-align:left}.feature-tab:hover{background:var(--surface-sunken)}.feature-tab span{color:inherit;font-size:var(--fs-md);font-weight:700;line-height:1.2}.feature-tab strong{color:var(--ink-faint);font-size:var(--fs-xs);font-weight:600;font-family:var(--font-num);line-height:1.2}.feature-tab-active{color:var(--accent);background:var(--accent-soft)}.feature-tab-active strong{color:var(--accent)}.panel-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-5);min-height:32px;padding:var(--sp-2) var(--sp-5);border-bottom:1px solid var(--line-soft);background:var(--surface-head)}.toolbar-title>div{display:flex;align-items:baseline;gap:var(--sp-4);min-width:0}.toolbar-title p{color:var(--ink-faint);font-size:var(--fs-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.config-panel{margin-bottom:var(--sp-4);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}.config-toolbar{min-height:32px}.toolbar-title{display:inline-flex;align-items:center;gap:var(--sp-4);min-width:0}.toolbar-title>svg{flex:0 0 auto;color:var(--accent)}.config-actions{display:inline-flex;align-items:center;gap:8px}.order-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}button{border:0;font:inherit}.icon-button,.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-3);height:var(--control-h);border-radius:var(--radius);cursor:pointer;font-size:var(--fs-sm);font-weight:700}.icon-button{width:var(--control-h);color:var(--ink-muted);background:transparent;border:1px solid var(--line)}.icon-button:hover:not(:disabled){color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.primary-button{min-width:72px;padding:0 var(--sp-5);color:var(--surface);background:var(--accent)}.icon-button:disabled,.primary-button:disabled{cursor:not-allowed;opacity:.55}.config-grid{padding:var(--sp-5);display:grid;gap:var(--sp-5)}.input-field,.switch-field{display:grid;gap:var(--sp-2);min-width:0}.input-field span,.switch-field span{color:var(--ink-muted);font-size:var(--fs-xs);font-weight:700}.input-field input,.input-field select,.input-field textarea,.config-field-row input,.config-field-row select{width:100%;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink-strong);background:var(--surface);font:inherit;font-size:var(--fs-md);font-variant-numeric:tabular-nums;outline:none}.input-field input,.input-field select,.config-field-row input,.config-field-row select{height:var(--control-h);padding:0 var(--sp-4)}.input-field textarea{min-height:82px;padding:10px;resize:vertical}.input-field input:focus,.input-field select:focus,.input-field textarea:focus,.config-field-row input:focus,.config-field-row select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0b675e1f}.config-field-row input[readonly],.config-field-row select:disabled{color:var(--ink-muted);background:#f4f7f8;cursor:default}.switch-field{align-content:start}.switch-field input{width:44px;height:24px;margin:0;accent-color:var(--accent)}.config-footer{display:flex;align-items:center;gap:12px;min-height:28px;padding:0 18px 14px;font-size:13px}.config-state{color:var(--ink-muted);font-weight:700}.config-section,.asset-config-editor{display:grid;gap:8px;width:100%}.config-section-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;min-height:28px}.config-section-title h3{margin:0;color:var(--ink-strong);font-size:14px;line-height:1.3}.config-section-title span{color:var(--ink-faint);font-size:12px;font-weight:700}.config-field-table{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.config-field-groups{display:grid;gap:var(--sp-4)}.config-field-group{display:grid;gap:8px}.config-field-row{position:relative;display:grid;gap:7px;min-width:0}.computed-output{display:flex;align-items:center;width:100%;min-height:38px;border:1px solid var(--line);border-radius:var(--radius);padding:0 10px;color:var(--ink-strong);background:#f4f7f8;font-size:14px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.config-field-row[data-tooltip]:hover:after,.config-field-row[data-tooltip]:focus-within:after{position:absolute;z-index:20;left:0;bottom:calc(100% + 8px);width:max-content;max-width:min(320px,90vw);padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink-strong);background:#fff;content:attr(data-tooltip);font-size:12px;font-weight:700;line-height:1.45;white-space:normal;pointer-events:none}.config-field-row span{color:var(--ink-muted);font-size:12px;font-weight:700}.tooltip-label{cursor:help;text-decoration:underline dotted #8fa0a9;text-underline-offset:3px}.config-field-row .config-field-hint{color:#176b4d;font-size:11px;font-weight:800;line-height:1.3}.strategy-account-layout{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-5);align-items:start;padding:var(--sp-6) var(--sp-6)}.strategy-account-list-section{min-width:0}.strategy-account-table{min-width:620px}.asset-config-table{min-width:860px}.strategy-account-table th,.strategy-account-table td,.asset-config-table th,.asset-config-table td{padding-top:7px;padding-bottom:7px;font-size:13px}.strategy-account-table td,.asset-config-table td{vertical-align:middle}.strategy-account-table tbody>tr:not(.strategy-account-assets-row)>td:first-child,.asset-config-table tbody>tr:not(.asset-config-details-row)>td:first-child{display:flex;align-items:center;gap:7px}.strategy-account-table td:nth-child(5){max-width:520px;overflow-wrap:anywhere}.strategy-account-table-wrap{margin-bottom:10px}.strategy-account-expand-button{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--line);border-radius:7px;color:var(--ink-muted);background:#fff;cursor:pointer}.strategy-account-assets-row>td{display:table-cell;padding:0 12px 12px 16px;border-top:0;background:#f2f6f8}.strategy-account-history-table{min-width:560px;border:1px solid #d6e0e5;border-radius:var(--radius);background:#f8fbfc;overflow:hidden}.strategy-account-history-table th,.strategy-account-history-table td{padding-top:6px;padding-bottom:6px;font-size:12px;background:transparent}.strategy-account-assets-list{display:grid;width:100%;border:1px solid #d6e0e5;border-radius:var(--radius);background:#f8fbfc;overflow:hidden}.strategy-account-assets-header,.strategy-account-assets-item{display:grid;grid-template-columns:minmax(80px,.7fr) minmax(100px,1fr) minmax(100px,1fr) minmax(120px,1fr) minmax(150px,auto);gap:10px;align-items:center;min-height:24px;padding:0 12px;font-size:12px}.strategy-account-assets-header{color:var(--ink-faint);background:#eef4f6;font-weight:800}.strategy-account-assets-item+.strategy-account-assets-item{border-top:1px solid #e1e8ec}.strategy-account-assets-actions{display:flex;gap:6px}.strategy-account-assets-empty{padding:10px;color:var(--ink-faint);font-size:12px;font-weight:800}.asset-config-details-row>td{display:table-cell;padding:0 12px 12px 16px;border-top:0;background:#f2f6f8}.asset-config-details{display:grid;gap:10px;border:1px solid #d6e0e5;border-radius:var(--radius);padding:10px;background:#f8fbfc}.asset-config-row-actions{display:flex;gap:6px}.strategy-account-history{display:grid;gap:8px;border:1px solid var(--line);border-radius:var(--radius);padding:10px;background:#fff}.strategy-account-create{display:grid;grid-template-columns:1fr;gap:var(--sp-5);align-items:end;border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-6);background:var(--surface)}.strategy-create-hint{color:var(--ink-muted);font-size:var(--fs-xs)}.balance-movement-panel{display:grid;grid-template-columns:1fr;gap:10px;align-items:end;border:1px solid var(--line);border-radius:var(--radius);padding:12px;background:#fff}.balance-reason-field{grid-column:auto}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:20px;background:#17202657}.balance-movement-modal,.balance-history-modal,.strategy-account-create-modal,.asset-config-modal{display:grid;gap:12px;width:min(520px,100%);max-height:calc(100vh - 40px);overflow:auto;border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-5);background:#fff;box-shadow:0 18px 50px #1720263d}.balance-history-modal{width:min(760px,100%)}.asset-config-modal{width:min(1120px,100%)}.asset-config-modal-actions{display:flex;justify-content:flex-end;gap:8px}.asset-config-columns{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:12px;align-items:start}.asset-config-column{display:grid;gap:12px;min-width:0}.asset-config-column-computed{position:sticky;top:12px}.config-block{display:grid;gap:10px;min-width:0;border:1px solid var(--line);border-radius:var(--radius);padding:12px;background:#fff}.asset-config-column-computed .config-block{border-color:#cfdfe7;background:#f7fafb}.strategy-preview{display:grid;gap:10px}.strategy-preview-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.strategy-preview-metric{display:grid;gap:4px;padding:8px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.strategy-preview-metric span,.strategy-preview-quote span{color:var(--ink-muted);font-size:11px;font-weight:800}.strategy-preview-metric strong{color:var(--ink-strong);font-size:13px;overflow-wrap:anywhere}.inventory-scale{display:grid;gap:6px;padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.inventory-scale-head,.inventory-scale-labels{display:flex;justify-content:space-between;gap:8px;color:var(--ink-muted);font-size:11px;font-weight:800}.inventory-scale-head strong{color:var(--ink-strong)}.inventory-scale-track{position:relative;display:grid;grid-template-columns:1fr 1fr;height:12px;overflow:visible;border-radius:var(--radius);background:#e8eef1}.inventory-scale-zone{min-width:0}.inventory-scale-zone.zone-low{border-radius:var(--radius) 0 0 8px;background:var(--accent-soft)}.inventory-scale-zone.zone-target{border-radius:0 8px 8px 0;background:#fdecc8}.inventory-scale-marker,.inventory-scale-current{position:absolute;top:-4px;width:2px;height:20px;border-radius:2px;background:var(--ink-muted)}.inventory-scale-marker.marker-soft-min{left:0}.inventory-scale-marker.marker-target{left:50%}.inventory-scale-marker.marker-soft-max{right:0}.inventory-scale-current{width:10px;height:10px;top:1px;transform:translate(-50%);border:2px solid #ffffff;background:var(--ink-strong);box-shadow:0 0 0 1px var(--ink-strong)}.strategy-preview-impact{padding:8px 10px;border-radius:var(--radius);color:#31515e;background:#eef3f5;font-size:12px;font-weight:800}.strategy-preview-flags{display:flex;flex-wrap:wrap;gap:8px}.strategy-preview-flags span{min-height:24px;border-radius:var(--radius);padding:4px 8px;font-size:12px;font-weight:800}.strategy-preview-flags .allowed{color:#0f5f45;background:var(--accent-soft)}.strategy-preview-flags .blocked{color:#9b2c2c;background:#fde8e8}.strategy-preview-quotes{display:grid;gap:6px}.strategy-preview-quote{display:grid;grid-template-columns:70px 1fr 1fr;gap:8px;align-items:center;min-height:28px;border-bottom:1px solid #e8eef1}.strategy-preview-quote strong,.strategy-preview-quote em{color:var(--ink-strong);font-size:12px;font-style:normal;overflow-wrap:anywhere}.strategy-preview-empty,.strategy-preview-error{padding:8px;border-radius:var(--radius);font-size:12px;font-weight:800}.strategy-preview-empty{color:var(--ink-muted);background:#eef3f5}.strategy-preview-error{color:#9b2c2c;background:#fde8e8}.config-block-title{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:24px}.config-block-title span{color:var(--ink-strong);font-size:13px;font-weight:800}.config-block-title strong{min-height:22px;border-radius:var(--radius);display:inline-grid;place-items:center;padding:0 8px;color:var(--accent);background:var(--accent-soft);font-size:12px;font-weight:800}.asset-subsection-title{color:var(--ink-muted);font-size:12px;font-weight:800}.asset-edit-head{display:grid;grid-template-columns:minmax(160px,1fr) minmax(120px,160px) minmax(180px,220px);gap:10px}.asset-save-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:104px;height:34px;border-radius:var(--radius);padding:0 10px;color:#fff;background:var(--accent);cursor:pointer;font-size:13px;font-weight:700;white-space:nowrap}.asset-save-button:disabled{cursor:not-allowed;opacity:.55}.asset-secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:74px;height:34px;border-radius:var(--radius);padding:0 10px;color:var(--ink-muted);background:#edf2f4;cursor:pointer;font-size:13px;font-weight:700;white-space:nowrap}.asset-secondary-button:disabled{cursor:not-allowed;opacity:.55}.asset-summary-sections{display:grid;gap:var(--sp-4)}.asset-summary-section{display:grid;gap:8px}.asset-summary-note{border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;color:var(--ink-muted);background:#f4f7f8;font-size:13px;font-weight:700;line-height:1.45}.asset-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.asset-summary-item{display:grid;align-content:center;gap:5px;min-height:28px;border:1px solid var(--line-soft);border-radius:var(--radius);padding:10px;background:#fff}.asset-summary-item span{color:var(--ink-muted);font-size:12px;font-weight:800}.asset-summary-item strong{color:var(--ink-strong);font-size:13px;line-height:1.25;overflow-wrap:anywhere}.price-reference{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;min-height:24px;color:var(--ink-muted);font-size:12px;font-weight:700}.price-reference span{display:inline-flex;align-items:baseline;gap:4px;min-width:0}.price-reference strong{color:var(--ink-strong);font-size:12px}.price-reference-error{color:var(--danger)}.asset-config-empty{display:grid;place-items:center;min-height:74px;border:1px dashed var(--line);border-radius:var(--radius);color:var(--ink-faint);background:#fbfcfd;font-size:13px}.state-saved{color:var(--accent)}.state-error,.config-error{color:var(--danger)}@media (max-width: 860px){.asset-config-columns{grid-template-columns:1fr}.asset-config-column-computed{position:static}.strategy-account-assets-header,.strategy-account-assets-item{grid-template-columns:1fr;height:auto;padding:10px 12px}}.table-wrap{width:100%;max-height:min(60vh,620px);overflow:auto;overscroll-behavior:contain}table{width:100%;min-width:720px;border-collapse:collapse;table-layout:fixed}.order-table{min-width:940px}th,td{height:var(--row-h);padding:0 var(--sp-5);border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:middle;font-size:var(--fs-sm)}th{position:sticky;top:0;z-index:1;height:var(--head-h);color:var(--ink-muted);background:var(--surface-head);font-size:var(--fs-xs);font-weight:700;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}tbody tr:nth-child(2n){background:#fbfcfd}tbody tr:hover{background:var(--accent-soft)}tbody tr:last-child td{border-bottom:0}.symbol-cell{display:grid;gap:3px}.symbol-cell strong{color:var(--ink-strong);font-size:14px;line-height:1.2}.symbol-cell span{color:var(--ink-faint);font-size:12px;line-height:1.2}.numeric{font-family:var(--font-num);font-variant-numeric:tabular-nums}td.numeric,th.numeric{text-align:right}.muted{color:var(--ink-faint)}.empty-state{height:72px;color:var(--ink-faint);text-align:center}.order-side,.order-state{display:inline-grid;place-items:center;min-width:58px;min-height:26px;border-radius:var(--radius);padding:0 8px;font-size:12px;font-weight:800;white-space:nowrap}.order-side-buy{color:var(--accent);background:var(--accent-soft)}.order-side-sell{color:var(--danger);background:var(--danger-soft)}.order-side-warning{color:var(--warn);background:var(--warn-soft)}.order-state{color:var(--ink-muted);background:#edf2f4}.order-state-new{color:var(--accent);background:var(--accent-soft)}.order-state-partially-filled{color:var(--warn);background:var(--warn-soft)}.order-state-pending-new{color:var(--ink-muted);background:#e8edf7}.order-state-filled{color:var(--accent);background:var(--accent-soft)}.order-state-canceled,.order-state-expired{color:var(--ink-muted);background:#edf2f4}.order-state-rejected{color:var(--danger);background:var(--danger-soft)}.order-history-panel .table-wrap{border-top:1px solid var(--line-soft)}.order-history-table{min-width:880px}.trade-history-table{min-width:900px}.order-value-pair{display:grid;gap:3px;line-height:1.2}.order-value-pair strong{color:var(--ink-strong);font-size:14px}.order-value-pair span{color:var(--ink-faint);font-size:12px}.cost-status{min-height:24px;border-radius:var(--radius);display:inline-grid;place-items:center;padding:0 7px;font-size:11px;font-weight:800;white-space:nowrap}.cost-status-ok{color:var(--accent);background:var(--accent-soft)}.cost-status-warning{color:var(--warn);background:var(--warn-soft)}.stacked-value{display:grid;gap:3px;line-height:1.2}.stacked-value span{color:var(--ink-faint)}.stacked-value .pnl-positive{color:var(--accent)}.stacked-value .pnl-negative{color:var(--danger)}.inventory-cost-wrap{border-top:1px solid var(--line-soft)}.inventory-cost-table{min-width:1080px}.inventory-cost-table th,.inventory-cost-table td{height:36px;padding:0 10px;font-size:12px}.inventory-cost-table th{height:32px;font-size:11px}.order-event-strip{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;min-height:26px;padding:10px 18px;background:#fff}.order-event-title{display:inline-flex;align-items:center;gap:7px;color:var(--ink-muted);font-size:12px;font-weight:800;white-space:nowrap}.order-event-title svg{color:var(--accent)}.order-event-latest{display:flex;align-items:center;gap:8px;min-width:0;color:var(--ink-muted);font-size:13px;font-weight:700;overflow-x:auto}.order-event-latest strong{color:var(--ink-strong)}.order-event-latest span{flex:0 0 auto}.order-event-empty{color:var(--ink-faint);font-size:13px}.overview-error{min-height:20px;border-radius:var(--radius);display:grid;align-items:center;padding:var(--sp-1) var(--sp-3);color:var(--danger);background:var(--danger-soft);font-size:var(--fs-xs);overflow-wrap:anywhere}.symbol-order-books{display:grid;gap:var(--sp-4);padding:var(--sp-5)}.symbol-order-book{min-width:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}.symbol-order-book-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:28px;padding:12px 14px;border-bottom:1px solid var(--line-soft);background:#fbfcfd}.symbol-order-book-header h3{color:var(--ink-strong);font-size:15px;line-height:1.3}.symbol-order-book-header span{color:var(--ink-faint);font-size:12px;font-weight:700}.symbol-order-badge{min-height:26px;border-radius:var(--radius);display:inline-grid;place-items:center;padding:0 8px;color:var(--ink-muted);background:#edf2f4;font-size:12px;font-weight:800;white-space:nowrap}.execution-market-state{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;min-height:24px;padding:8px 14px;border-bottom:1px solid var(--line-soft);background:#fff}.execution-market-state-metrics{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;color:var(--ink-faint);font-size:12px}.execution-market-state-metrics strong{margin-left:4px;color:#25343c;font-variant-numeric:tabular-nums}.execution-market-state time{margin-left:auto;color:var(--ink-faint);font-size:12px;white-space:nowrap}.execution-market-state-empty{color:var(--ink-faint);font-size:12px}.exchange-order-config-error,.exchange-order-empty{display:grid;place-items:center;min-height:64px;color:var(--ink-faint);font-size:13px}.exchange-order-config-error{min-height:120px;border-top:1px solid var(--line-soft)}.exchange-order-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-4);width:100%;padding:var(--sp-5);border-top:1px solid var(--line-soft);background:#fbfcfd}.order-book-bucket-panel,.order-note-panel{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.order-book-bucket-head,.order-note-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:26px;padding:10px 12px;border-bottom:1px solid var(--line-soft);background:#fff}.order-book-bucket-head h3,.order-note-head h3{color:var(--ink-strong);font-size:14px;line-height:1.25}.order-book-bucket-head span,.order-note-head span{color:var(--ink-faint);font-size:12px;font-weight:800}.book-depth-row{display:grid;grid-template-columns:minmax(68px,.62fr) minmax(112px,1fr) minmax(58px,.52fr) minmax(112px,1fr) minmax(68px,.62fr);align-items:center;gap:8px;min-height:24px;padding:0 12px;border-bottom:1px solid var(--line-soft);font-size:13px}.book-depth-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-depth-row span:nth-child(5){text-align:right}.book-depth-row span:first-child{text-align:left}.book-depth-row span:nth-child(2),.book-depth-row span:nth-child(3),.book-depth-row span:nth-child(4){text-align:center}.book-depth-head{min-height:34px;color:var(--ink-faint);background:#f7f9fa;font-size:11px;font-weight:900;text-transform:uppercase}.book-depth-row .price-bid,.book-depth-row .price-ask{font-size:14px;font-weight:900;text-align:center}.book-depth-spread{color:var(--ink-muted);font-size:12px;font-weight:900;text-align:center}.book-depth-qty{min-height:28px;padding:5px 0;font-weight:800}.book-depth-price-depth{position:relative;isolation:isolate;min-height:28px;padding:5px 8px}.book-depth-price-depth:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;width:var(--depth-width, 0%);opacity:1;transition:width .22s ease-out}.book-depth-bid-qty{color:var(--ink-strong);text-align:left}.book-depth-bid-price-depth:before{right:0;left:auto;background:#0b675e2e}.book-depth-ask-qty{color:var(--ink-strong);text-align:right}.book-depth-ask-price-depth:before{right:auto;left:0;background:#9b2d252e}@media (prefers-reduced-motion: reduce){.book-depth-price-depth:before{transition:none}.order-note-filled.order-note-buy,.order-note-filled.order-note-sell,.order-note-canceled{animation:none}}.book-depth-table{display:grid;padding:0}.order-book-bucket-mid{display:grid;grid-template-columns:minmax(100px,.8fr) minmax(160px,1.2fr);gap:10px;align-items:center;min-width:0;min-height:70px;padding:10px 12px;border-bottom:1px solid var(--line-soft);background:#fff}.order-book-bucket-mid>div:first-child{display:grid;gap:2px}.order-book-bucket-mid>div:first-child span{color:var(--ink-faint);font-size:11px;font-weight:900}.order-book-bucket-mid>div:first-child em{color:var(--ink-faint);font-size:11px;font-style:normal;font-weight:800}.order-book-bucket-mid>div:nth-child(2){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.order-book-bucket-mid>div:nth-child(2) span{display:grid;gap:2px;min-width:0;color:var(--ink-faint);font-size:11px;font-weight:900}.order-book-bucket-mid>div:nth-child(2) strong{min-width:0;overflow:hidden;color:var(--ink-strong);font-size:13px;text-overflow:ellipsis}.order-book-bucket-mid>div:nth-child(2) .market-bid{color:var(--accent)}.order-book-bucket-mid>div:nth-child(2) .market-ask{color:var(--danger)}.order-book-bucket-alerts{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:6px}.order-note-panel{display:grid;align-content:start}.order-note-group{display:grid;gap:8px;padding:10px 12px 12px}.order-note-group+.order-note-group{border-top:1px solid var(--line-soft)}.order-note-group-title{display:flex;align-items:center;justify-content:space-between;color:var(--ink-faint);font-size:12px;font-weight:900}.order-note-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:10px}.order-note-card{display:grid;gap:8px;min-width:0;border:1px solid var(--line);border-left-width:4px;border-radius:var(--radius);padding:10px;background:#fff}.order-note-buy{border-left-color:var(--accent);background:#f4fbf9}.order-note-sell{border-left-color:var(--danger);background:#fff6f4}.order-note-card header,.order-note-card footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.order-note-card header strong{color:var(--ink-faint);font-size:12px;font-weight:900}.order-note-time{min-width:0;overflow:hidden;color:var(--ink-faint);font-size:11px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.order-note-filled.order-note-buy{animation:order-note-fill-buy .9s ease-out}.order-note-filled.order-note-sell{animation:order-note-fill-sell .9s ease-out}.order-note-canceled{border-color:#d6dde1;border-left-color:#9aa6ad;background:#f5f7f8;animation:order-note-cancel .9s ease-out forwards}.order-note-canceled .order-note-price,.order-note-canceled dd,.order-note-canceled .order-note-time,.order-note-canceled header strong{color:#8a969d}@keyframes order-note-fill-buy{0%{background:var(--accent-soft);box-shadow:0 0 0 1px #0b675e47,0 10px 22px #0b675e24}to{background:#f4fbf9}}@keyframes order-note-fill-sell{0%{background:var(--danger-soft);box-shadow:0 0 0 1px #9b2d253d,0 10px 22px #9b2d251f}to{background:#fff6f4}}@keyframes order-note-cancel{0%{opacity:1;transform:translateY(0)}to{opacity:.46;transform:translateY(-2px)}}.order-note-price{color:var(--ink-strong);font-size:20px;font-weight:900;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.order-note-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.order-note-card dl div{display:grid;gap:2px;min-width:0}.order-note-card dt{color:var(--ink-faint);font-size:11px;font-weight:900}.order-note-card dd{min-width:0;margin:0;overflow:hidden;color:var(--ink-muted);font-size:13px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.order-note-empty{display:grid;min-height:78px;place-items:center;border:1px dashed #d6e0e5;border-radius:var(--radius);color:var(--ink-faint);font-size:12px;font-weight:800}.market-micro{color:var(--ink-strong);font-size:16px;font-weight:900}.market-bid,.market-ask{min-width:0;overflow:hidden;font-size:11px;font-weight:900;text-overflow:ellipsis}.market-bid{color:var(--accent)}.market-ask{color:var(--danger)}.market-time{color:var(--ink-faint);font-size:11px;font-weight:800;line-height:1.2;white-space:nowrap}.market-warning{color:var(--danger);font-size:11px;font-weight:800;text-align:center;overflow-wrap:anywhere}.orphan-alert{min-height:24px;border-radius:var(--radius);display:inline-grid;place-items:center;padding:0 8px;color:var(--danger);background:var(--danger-soft)}.inventory-metric-cell{min-width:0;display:grid;gap:3px;padding:7px 8px;border:1px solid var(--line-soft);border-radius:var(--radius);background:#fbfcfd}.inventory-metric-cell span{color:var(--ink-faint);font-size:11px;font-weight:700}.inventory-metric-cell strong{min-width:0;color:var(--ink-strong);font-size:12px;overflow-wrap:anywhere}.quote-head{color:var(--ink-faint);background:#f7f9fa;border-top:0;font-size:12px;font-weight:800}.quote-empty{min-width:520px;padding:12px;border-top:1px solid #f0f3f5;color:var(--ink-faint);font-size:12px;font-weight:700}.quote-side{font-weight:800}.quote-buy{color:var(--accent)}.quote-sell{color:var(--danger)}.order-book-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--sp-4);padding:var(--sp-5)}.order-book-card{min-width:0;border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden}.order-book-header,.order-book-meta,.book-side-title,.book-level{display:grid;grid-template-columns:minmax(0,1fr) minmax(112px,auto);align-items:center;gap:10px}.order-book-header{min-height:28px;padding:12px 14px;border-bottom:1px solid var(--line-soft)}.book-status{justify-self:end;min-width:72px;min-height:28px;border-radius:var(--radius);display:inline-grid;place-items:center;padding:0 8px;font-size:12px;font-weight:800}.book-ready{color:var(--accent);background:var(--accent-soft)}.book-initializing{color:var(--warn);background:var(--warn-soft)}.book-stale{color:var(--danger);background:var(--danger-soft)}.subscription-strip{display:flex;align-items:center;gap:10px;min-height:24px;padding:8px 18px;border-bottom:1px solid var(--line-soft);color:var(--ink-muted);background:#fff;font-size:12px;font-weight:700;overflow-x:auto}.subscription-strip span,.subscription-strip strong{flex:0 0 auto}.subscription-strip strong{color:var(--danger);overflow-wrap:anywhere}.subscription-status{min-height:26px;border-radius:var(--radius);display:inline-grid;place-items:center;padding:0 8px;font-size:12px;font-weight:800;white-space:nowrap}.subscription-ok{color:var(--accent);background:var(--accent-soft)}.subscription-pending,.subscription-mismatch{color:var(--warn);background:var(--warn-soft)}.subscription-error{color:var(--danger);background:var(--danger-soft)}.order-book-meta{min-height:34px;padding:0 14px;color:var(--ink-faint);background:#fbfcfd;font-size:12px}.order-book-meta span:last-child{justify-self:end}.book-sides{display:grid;grid-template-columns:1fr 1fr;gap:0}.book-side{min-width:0;border-top:1px solid var(--line-soft)}.book-side+.book-side{border-left:1px solid var(--line-soft)}.book-side-title{min-height:34px;padding:0 12px;color:var(--ink-faint);background:#f7f9fa;font-size:12px;font-weight:800}.book-side-title span:last-child,.book-level span:last-child{justify-self:end}.book-levels{max-height:360px;overflow-y:auto}.book-level{min-height:30px;padding:0 12px;border-top:1px solid #f0f3f5;font-size:13px}.price-bid{color:var(--accent)}.price-ask{color:var(--danger)}.pnl-positive{color:var(--accent)}.pnl-negative{color:var(--danger)}.empty-level{grid-template-columns:1fr;color:var(--ink-faint)}.book-warning{min-height:34px;padding:8px 14px;color:var(--danger);background:#fff7f5;border-top:1px solid var(--danger-soft);font-size:12px}.empty-order-books{display:grid;place-items:center;min-height:88px;color:var(--ink-faint);font-size:14px}@media (max-width: 640px){.app-shell{padding:16px}.workspace-header{flex-wrap:wrap;justify-content:flex-start}.panel-toolbar{align-items:flex-start;flex-direction:column}.account-balance-bar{grid-template-columns:1fr}.account-balance-actions{width:100%;justify-content:space-between}.config-grid{padding:var(--sp-5)}.config-actions{width:100%}.order-actions{width:100%;justify-content:space-between}.signal-grid,.exchange-order-board{grid-template-columns:1fr}.exchange-order-board{padding:10px}.market-micro{font-size:15px}.primary-button{flex:1}.config-field-table,.asset-edit-head,.book-sides,.market-state-profile-head,.market-state-binding{grid-template-columns:1fr}.book-side+.book-side{border-left:0}}.kpi-strip{display:flex;flex-wrap:wrap;align-items:stretch;gap:0;margin-bottom:var(--sp-4);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}.kpi-item{flex:1 1 auto;display:grid;gap:1px;min-width:96px;padding:var(--sp-3) var(--sp-5)}.kpi-item+.kpi-item{border-left:1px solid var(--line-soft)}.kpi-item span{color:var(--ink-muted);font-size:var(--fs-xs);font-weight:700;white-space:nowrap}.kpi-item strong{color:var(--ink-strong);font-size:var(--fs-lg);font-family:var(--font-num);line-height:1.15}.kpi-buy strong{color:var(--accent)}.kpi-sell strong{color:var(--danger)}.table-wrap{width:100%;overflow-x:auto}.dense-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.dense-table th{position:sticky;top:0;z-index:1;height:var(--head-h);padding:0 var(--sp-4);border-bottom:1px solid var(--line);color:var(--ink-muted);background:var(--surface-head);font-size:var(--fs-xs);font-weight:700;text-align:left;white-space:nowrap}.dense-table td{height:var(--row-h);padding:0 var(--sp-4);border-bottom:1px solid var(--line-soft);white-space:nowrap}.dense-table tbody tr:hover>td{background:var(--surface-sunken)}.dense-table .numeric{font-family:var(--font-num);text-align:right}.dense-table .muted{color:var(--ink-muted)}.dense-table .col-toggle{width:26px;padding:0 0 0 var(--sp-2)}.row-toggle{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:0;border-radius:var(--radius);color:var(--ink-muted);background:transparent;cursor:pointer}.row-toggle:hover{color:var(--accent);background:var(--accent-soft)}.dense-table .row-expanded>td{background:var(--surface-sunken);border-bottom-color:transparent}.dense-table .detail-row>td{height:auto;padding:var(--sp-4) var(--sp-5) var(--sp-5);background:var(--surface-sunken)}.dense-table .empty-state{color:var(--ink-faint);text-align:center}.side-flags{display:flex;gap:var(--sp-2)}.side-flags span{padding:0 var(--sp-2);border-radius:var(--radius);font-size:var(--fs-xs);font-weight:700}.side-flags .allowed{color:var(--accent);background:var(--accent-soft)}.side-flags .blocked{color:var(--ink-faint);background:var(--surface-head)}.signal-detail{display:grid;gap:var(--sp-4)}.detail-note{display:flex;gap:var(--sp-5);color:var(--ink-muted);font-size:var(--fs-xs)}.nested-table{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--surface)}.nested-table th{background:var(--surface)}.detail-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:var(--sp-2) var(--sp-5)}.quote-side{font-weight:700}.quote-bid{color:var(--accent)}.quote-ask{color:var(--danger)}
