.ip{flex-shrink:0;display:inline-flex;position:relative}.ip-btn{min-width:22px;height:22px;color:var(--color-text-muted);cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;gap:1px;padding:0 3px;display:inline-flex;position:relative}.ip-btn:hover{color:var(--color-text);background:var(--color-border)}.ip-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.ip-btn:disabled,.ip-btn:disabled:hover{opacity:.4;cursor:not-allowed;background:0 0}.ip-btn--on{color:var(--color-accent);border-color:var(--color-accent);background:#667eea1f}.ip-icon{flex:none;width:14px;height:14px}.ip-arrow{font-size:10px;line-height:1}.ip-mark{letter-spacing:.04em;margin-left:2px;font-size:9px;font-weight:700}.ip-dot{background:var(--color-drawdown);border-radius:50%;width:6px;height:6px;position:absolute;top:-3px;right:-3px}.ip--md .ip-btn{min-width:30px;height:30px;padding:0 6px}.ip--md .ip-icon{width:16px;height:16px}.ip--md .ip-arrow{font-size:12px}.ip--md .ip-mark{font-size:10px}.ip-menu{z-index:20;background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;gap:2px;padding:3px;display:grid;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 6px 16px #00000080}.ov-group .ip-menu,.ov-sort .ip-menu{left:0;right:auto}.instance-card{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);border-radius:8px;padding:16px 18px;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .1s;display:block}a.instance-card{cursor:pointer}a.instance-card:hover{text-decoration:none;transform:translateY(-1px);box-shadow:0 4px 20px #0000004d}.card--online{border-left:3px solid var(--color-online)}.card--warning{border-left:3px solid var(--color-warning);background:#ecc94b0a}.card--offline{border-left:3px solid var(--color-offline);background:#fc81810a}.status-badge{letter-spacing:.06em;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:700}.symbol-ea-badge{color:var(--color-text-muted);background:#a0aec026}.symbol-card .positions-grid{grid-template-columns:repeat(3,1fr)}.status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.card-header-row{align-items:center;gap:8px;display:flex}.card-instance-name{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;font-weight:600;overflow:hidden}.balance-equity-row{gap:12px;margin-top:10px;display:flex}.balance-equity-col{flex:1}.balance-equity-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:2px;font-size:10px}.balance-equity-amount{font-size:15px;font-weight:700;font-family:var(--font-mono);color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.pnl--profit{color:var(--color-profit)}.pnl--loss{color:var(--color-loss)}.pnl--neutral{color:var(--color-neutral)}.metrics-pills{align-items:center;gap:8px;margin-top:10px;display:flex}.metric-pill{font-size:11px;font-family:var(--font-mono);white-space:nowrap;background:#ffffff0d;border-radius:999px;padding:2px 8px}.metric-pill--roi{color:var(--color-teal)}.metric-pill--rom{color:var(--color-accent)}.metric-pill--dd{color:var(--color-drawdown);margin-left:auto}.profit-table{grid-template-columns:auto 1fr 1fr 1fr;align-items:baseline;gap:2px 8px;margin-top:10px;display:grid}.profit-row{display:contents}.profit-table-head{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);font-size:10px}.profit-table-group-head{text-align:center;border-bottom:1px solid var(--color-border);grid-column:2/span 2;padding-bottom:1px}.profit-table-sub-head{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);font-size:9px}.profit-row-label{color:var(--color-text-muted);font-size:11px}.profit-divider{border-top:1px solid var(--color-border);grid-column:1/-1;margin:2px 0}.money-pct{font-size:11px;font-family:var(--font-mono);white-space:nowrap}.money-pct-usd{font-weight:700}.money-pct-pct{opacity:.85;font-size:10px}.profit-total-empty{font-family:var(--font-mono);font-size:11px}.projected-row{color:var(--color-text-muted);font-size:11px;font-family:var(--font-mono);gap:10px;margin-top:8px;display:flex}.projected-label{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.positions-grid{border-top:1px solid var(--color-border);grid-template-columns:repeat(4,1fr);gap:4px;margin-top:10px;padding-top:8px;display:grid}.pos-cell{cursor:pointer;border-radius:4px;flex-direction:column;gap:2px;min-width:0;padding:5px 6px;display:flex;overflow:hidden}.pos-cell:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.pos-cell--profit{background:#48bb7838}.pos-cell--loss{background:#fc818138}.pos-cell--flat{border:1px dashed var(--color-border);background:#a0aec01a;padding:4px 5px}.pos-symbol-row{align-items:center;gap:4px;min-width:0;display:flex;overflow:hidden}.pos-symbol{color:var(--color-text);white-space:nowrap;flex:none;font-size:11px;font-weight:700;line-height:1.2}.pos-ea-inline{white-space:nowrap;align-items:center;gap:3px;width:100%;min-width:0;margin-top:2px;font-size:9px;line-height:1.2;display:flex;overflow:hidden}.pos-ea-dot{border-radius:50%;flex:none;width:6px;height:6px}.pos-ea-dot--on{background:var(--color-online)}.pos-ea-dot--off{background:var(--color-text-muted)}.pos-ea-name{color:var(--color-text);text-overflow:ellipsis;font-weight:600;overflow:hidden}.pos-ea-tf{font-family:var(--font-mono);color:var(--color-text-muted)}.pos-ea-ver{font-family:var(--font-mono);color:var(--color-accent);flex:none}.pos-ea-more{color:var(--color-text-muted);font-family:var(--font-mono)}.pos-dir{flex-direction:column;gap:1px;display:flex}.pos-dir-buy{font-size:9px;font-family:var(--font-mono);color:var(--color-profit);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.pos-dir-sell{font-size:9px;font-family:var(--font-mono);color:var(--color-loss);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.pos-profit{font-family:var(--font-mono);margin-top:1px;font-size:10px;line-height:1.2}.pos-profit--positive{color:var(--color-profit)}.pos-profit--negative{color:var(--color-loss)}.pos-dir-flat{font-size:9px;font-family:var(--font-mono);color:var(--color-text-muted);white-space:nowrap}.positions-empty{color:var(--color-text-muted);text-align:center;grid-column:1/-1;padding:4px 0;font-size:11px;font-style:italic}.positions-grid--stale .pos-cell,.pos-cell--stale{opacity:.45;filter:grayscale(.7)}.positions-snap-note{font-size:10px;font-family:var(--font-mono);color:var(--color-text-muted);text-align:left;grid-column:1/-1}.positions-snap-note--stale{color:var(--color-loss);font-weight:600}.overview{max-width:1400px}.overview-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.page-title{color:var(--color-text);margin:0 0 4px;font-size:24px;font-weight:700}.overview-actions{align-items:center;gap:12px;display:flex}.btn-refresh{color:var(--color-accent);background:#667eea26;border:1px solid #667eea4d;border-radius:6px;padding:6px 16px;font-size:13px;transition:background .15s}.btn-refresh:hover:not(:disabled){background:#667eea40}.last-refresh{color:var(--color-text-muted);font-size:11px;font-family:var(--font-mono)}.ws-indicator{font-size:11px;font-family:var(--font-mono);letter-spacing:.04em;border-radius:4px;padding:3px 8px;font-weight:600}.ws-indicator--live{color:var(--color-online);background:#48bb781f;animation:2s ease-in-out infinite ws-pulse}.ws-indicator--poll{color:var(--color-text-muted);background:#7180961a}@keyframes ws-pulse{0%,to{opacity:1}50%{opacity:.6}}.financial-summary{gap:12px;margin-bottom:12px;display:flex}.financial-card{background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid #3b82f6;border-radius:8px;flex:1;padding:14px 18px;transition:background .5s}.financial-card--flash{background:#3b82f61f}.financial-label{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin-bottom:6px;font-size:10px}.financial-value{font-size:22px;font-weight:700;font-family:var(--font-mono);color:var(--color-text);margin-bottom:4px;line-height:1}.financial-sub{color:var(--color-text-muted);font-size:11px}.status-strip{background:var(--color-border);border:1px solid var(--color-border);border-radius:8px;gap:1px;margin-bottom:24px;display:flex;overflow:hidden}.strip-item{background:var(--color-surface);flex-direction:column;flex:1;align-items:center;gap:2px;padding:12px 8px;display:flex}.strip-count{font-size:22px;font-weight:700;font-family:var(--font-mono);color:var(--color-text)}.strip-label{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);font-size:10px}.strip-online .strip-count{color:var(--color-online)}.strip-warning .strip-count{color:var(--color-warning)}.strip-offline .strip-count{color:var(--color-offline)}.strip-pnl-profit .strip-count{color:var(--color-profit)}.strip-pnl-loss .strip-count{color:var(--color-loss)}.instance-grid,.loading-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;display:grid}.card-skeleton{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;height:280px;animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.empty-icon{color:var(--color-accent);opacity:.5;margin-bottom:16px;font-size:48px}.empty-state code{font-family:var(--font-mono);background:#ffffff0f;border-radius:3px;padding:1px 5px;font-size:12px}.instance-group{margin-bottom:20px}.group-header{background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid var(--color-accent);width:100%;color:var(--color-text);text-align:left;cursor:pointer;border-radius:6px;align-items:baseline;gap:16px;margin-bottom:12px;padding:8px 14px;font-size:13px;display:flex}.group-header:hover{background:#667eea14}.group-header--collapsed{opacity:.8;margin-bottom:0}.group-caret{color:var(--color-text-muted);width:10px}.group-tag{letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent);font-size:10px;font-weight:700}.group-title{font-family:var(--font-mono);font-weight:700}.group-stat{font-family:var(--font-mono);color:var(--color-text-muted);font-size:12px}.equity-curve{background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;width:100%;overflow:hidden}.equity-curve__canvas{width:100%}.equity-curve--empty{background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;justify-content:center;align-items:center;display:flex}.equity-curve__empty-text{color:var(--color-text-muted);font-size:13px}.equity-curve--skeleton{background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;position:relative;overflow:hidden}.skeleton-wave{background:linear-gradient(90deg,#0000 0%,#667eea14 50%,#0000 100%) 0 0/200% 100%;animation:1.6s ease-in-out infinite skeleton-sweep;position:absolute;inset:0}@keyframes skeleton-sweep{0%{background-position:200% 0}to{background-position:-200% 0}}.vps-editor{color:var(--color-text-muted);font-size:11px;font-family:var(--font-mono);align-items:center;gap:4px;display:inline-flex}.vps-editor__ip{color:var(--color-text-muted)}.vps-editor__custom{color:var(--color-text)}.vps-editor__placeholder{opacity:.5}.vps-editor__btn{cursor:pointer;color:var(--color-text-muted);opacity:.6;background:0 0;border:none;padding:0 2px;font-size:11px;line-height:1;transition:opacity .15s}.vps-editor__btn:hover{opacity:1;color:var(--color-accent)}.vps-editor__btn:disabled{cursor:not-allowed;opacity:.3}.vps-editor__edit{font-family:var(--font-mono);align-items:center;gap:4px;font-size:11px;display:inline-flex}.vps-editor__input{background:var(--color-surface);border:1px solid var(--color-accent);color:var(--color-text);font-family:var(--font-mono);border-radius:3px;outline:none;width:130px;padding:1px 4px;font-size:11px}.vps-editor__input--error{border-color:var(--color-loss)}.vps-editor__input:disabled{opacity:.5}.vps-editor__save-btn,.vps-editor__cancel-btn{cursor:pointer;background:0 0;border:none;padding:0 3px;font-size:11px;line-height:1;transition:opacity .15s}.vps-editor__save-btn{color:var(--color-profit);opacity:.8}.vps-editor__save-btn:hover{opacity:1}.vps-editor__cancel-btn{color:var(--color-text-muted);opacity:.7}.vps-editor__cancel-btn:hover{opacity:1}.vps-editor__save-btn:disabled,.vps-editor__cancel-btn:disabled{cursor:not-allowed;opacity:.3}.vps-editor__err{color:var(--color-loss);font-size:10px;font-family:var(--font-mono);margin-top:2px;display:block}.vps-editor--full{flex-wrap:wrap;gap:3px}.vps-editor__auto-label,.vps-editor__custom-label{color:var(--color-text-muted);opacity:.7;font-family:inherit}.vps-editor__sep{color:var(--color-text-muted);opacity:.4;margin:0 2px}.sync-chip{text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;border-radius:10px;align-items:center;gap:5px;padding:1px 8px;font-size:10px;font-weight:700;display:inline-flex}.sync-chip--compact{padding:1px 6px;font-size:10px}.sync-chip-glyph{font-size:10px}.sync-chip--synced{color:var(--color-profit);background:#48bb781f}.sync-chip--pending{color:var(--color-pending);background:var(--color-pending-bg)}.sync-chip--stale{color:var(--color-neutral);background:#7180961f}.sync-chip--unsupported{color:var(--color-drawdown);background:#ecc94b1f}.sync-chip--none{color:var(--color-text-muted);background:0 0}.sync-chip-spinner{border:2px solid #f6ad5540;border-top-color:var(--color-pending);border-radius:50%;width:9px;height:9px;animation:.8s linear infinite sync-chip-spin}@keyframes sync-chip-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.sync-chip-spinner{animation:none}}.cic-total{font-size:11px;font-family:var(--font-mono);color:var(--color-text-muted)}.cic-loading,.cic-muted{color:var(--color-text-muted);font-size:12px}.cic-error{border:1px solid var(--color-loss);color:var(--color-loss);border-radius:6px;padding:10px 12px;font-size:12px}.cic-retry{border:1px solid var(--color-border);color:var(--color-text);background:0 0;border-radius:4px;margin-left:10px;padding:3px 10px;font-size:11px}.cic-table td,.cic-table th{vertical-align:middle}.cic-ovr{color:var(--color-accent);font-weight:700}.cic-dot{border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.cic-dot--on{background:var(--color-online)}.cic-dot--off{background:var(--color-text-muted)}.cic-empty{padding:8px 0 0}.cic-empty p{margin:0 0 4px}.cic-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px;display:flex}.cic-readonly-note{margin-top:12px}.cic-btn--danger{background:var(--color-drawdown);border:1px solid var(--color-drawdown);color:var(--color-bg);border-radius:6px;padding:6px 14px;font-size:12px;font-weight:700}.cic-btn--ghost{border:1px solid var(--color-border);color:var(--color-text);background:0 0;border-radius:6px;padding:6px 14px;font-size:12px}.cic-btn--danger:disabled,.cic-btn--ghost:disabled{cursor:not-allowed;opacity:.5}.cic-result{border-top:1px solid var(--color-border);margin-top:16px;padding-top:12px}.cic-result-sum{align-items:center;gap:14px;margin:0 0 8px;font-size:13px;display:flex}.cic-ok{color:var(--color-profit);font-weight:700}.cic-err{color:var(--color-loss);font-weight:700}.cic-rrow--err td{background:var(--color-neg-bg)}.cic-rmsg{color:var(--color-text-muted);white-space:normal;font-size:11px}.cic-orphan{border:1px solid var(--color-border);color:var(--color-text-muted);text-transform:uppercase;border-radius:4px;margin-right:8px;padding:1px 6px;font-size:10px}.cic-scrim{z-index:60;background:#0f1117b8;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cic-modal{background:var(--color-surface);border:1px solid var(--color-drawdown);border-radius:10px;width:calc(100% - 48px);max-width:680px;max-height:82vh;padding:18px 22px;overflow-y:auto}.cic-modal-head{margin:0 0 4px;font-size:17px;font-weight:700}.cic-modal-head b{color:var(--color-drawdown);font-family:var(--font-mono)}.cic-modal-sub{color:var(--color-text-muted);margin:0 0 14px;font-size:11px}.cic-modal-section{color:var(--color-text-muted);letter-spacing:.6px;margin:14px 0 6px;font-size:11px;font-weight:700}.cic-targets{border:1px solid var(--color-border);border-radius:6px;max-height:220px;padding:8px 10px;overflow-y:auto}.cic-target{align-items:center;gap:10px;margin:0 0 4px;font-size:12px;display:flex}.cic-target-sym{min-width:72px;font-weight:600}.cic-warns{margin:14px 0 0}.cic-warn{color:var(--color-drawdown);margin:6px 0;font-size:11px}.cic-warn--grid b{color:var(--color-text)}.cic-warn--muted{color:var(--color-text-muted);margin:6px 0;font-size:11px}.cic-typed{flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;font-size:12px;display:flex}.cic-typed b{font-family:var(--font-mono)}.cic-typed-input{border:1px solid var(--color-border);color:var(--color-text);font-family:var(--font-mono);background:#0003;border-radius:4px;min-width:220px;padding:4px 6px}.cic-modal-error{color:var(--color-loss);margin:10px 0 0;font-size:12px}.cic-modal-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:16px;display:flex}.flc-result-sum,.iec-result-sum{align-items:center;gap:14px;margin-bottom:8px;font-size:13px;font-weight:600;display:flex}.flc-ok,.iec-ok{color:var(--color-profit)}.flc-err,.iec-err{color:var(--color-loss)}.flc-retry-btn,.iec-retry-btn{border:1px solid var(--color-loss);color:var(--color-loss);background:0 0;border-radius:6px;padding:4px 10px;font-size:12px}.flc-rrow--err .flc-cell,.iec-rrow--err .iec-cell{color:var(--color-loss)}.flc-rerror,.iec-rerror{white-space:normal;font-size:11px}.esp-input,.esp-select{border:1px solid var(--color-border);color:var(--color-text);font-size:12px;font-family:var(--font-mono);background:#0003;border-radius:4px;width:140px;padding:4px 6px}.esp-input--error{border-color:var(--color-loss)}.esp-bool{border:1px solid var(--color-border);border-radius:4px;display:inline-flex;overflow:hidden}.esp-bool-btn{color:var(--color-text-muted);background:0 0;border:none;padding:3px 10px;font-size:11px}.esp-bool-btn--active{color:var(--color-accent);background:#667eea2e;font-weight:700}.flc-input,.flc-select{border:1px solid var(--color-border);color:var(--color-text);font-family:var(--font-mono);background:#0003;border-radius:4px;width:130px;padding:3px 6px;font-size:12px}.flc-input--error{border-color:var(--color-loss)}.flc-val,.iec-val{font-family:var(--font-mono);color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;flex:0 0 104px;align-items:baseline;gap:5px;font-size:12px;display:inline-flex;overflow:hidden}.flc-val--input,.iec-val--input{color:var(--color-warning)}.flc-val-tag,.iec-val-tag{letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--color-warning);opacity:.85;border-radius:3px;padding:0 4px;font-family:inherit;font-size:9px}.flc-val--mixed,.iec-val--mixed{color:var(--color-text-muted);opacity:.8;font-style:italic}.flc-val--none,.iec-val--none{color:var(--color-text-muted);opacity:.7}.flc-bounds,.flc-rebuild,.iec-bounds,.iec-rebuild{color:var(--color-text-muted);font-size:11px}.flc-persym,.iec-persym{color:var(--color-drawdown);font-size:11px}.flc-frow,.iec-frow{border-left:2px solid #0000;flex-wrap:wrap;align-items:center;gap:10px;padding:3px 8px;display:flex}.flc-frow--skip,.iec-frow--skip{opacity:.72}.flc-frow--set,.iec-frow--set{border-left-color:var(--color-accent);opacity:1}.flc-frow--reset,.iec-frow--reset{border-left-color:var(--color-drawdown);opacity:1}.flc-flabel,.iec-flabel{flex:0 0 190px;font-size:13px}.flc-seg,.iec-seg{border:1px solid var(--color-border);border-radius:4px;display:inline-flex;overflow:hidden}.flc-seg-btn,.iec-seg-btn{color:var(--color-text-muted);background:0 0;border:none;padding:2px 10px;font-size:11px}.flc-seg-btn--active,.iec-seg-btn--active{color:var(--color-accent);background:#667eea2e;font-weight:700}.flc-untouched,.iec-untouched{color:var(--color-text-muted);font-size:11px;font-style:italic}.flc-resetnote,.iec-resetnote{color:var(--color-drawdown);font-size:11px}.flc-invalid,.iec-invalid{color:var(--color-loss);flex-basis:100%;font-size:11px}.flc-derived,.iec-derived,.esp-derived{border:1px solid var(--color-border);background:#71809612;border-radius:4px;flex-wrap:wrap;align-items:baseline;gap:8px;margin:0 0 12px;padding:7px 10px;display:flex}.flc-derived-label,.iec-derived-label,.esp-derived-label{font-size:12px;font-weight:600}.flc-derived-value,.iec-derived-value,.esp-derived-value{font-family:var(--font-mono);color:var(--color-text);font-size:13px}.flc-derived-growth,.iec-derived-growth,.esp-derived-growth{font-family:var(--font-mono);border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:10px;padding:0 6px;font-size:12px}.flc-derived-capped,.iec-derived-capped,.esp-derived-capped{letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--color-warning);color:var(--color-warning);border-radius:3px;padding:0 4px;font-size:9px}.flc-derived-note,.iec-derived-note,.esp-derived-note{color:var(--color-text-muted);font-size:11px}.flc-derived--danger,.iec-derived--danger,.esp-derived--danger{border-color:var(--color-offline);background:var(--color-neg-bg)}.flc-derived--danger .flc-derived-value,.iec-derived--danger .iec-derived-value,.esp-derived--danger .esp-derived-value,.flc-derived--danger .flc-derived-growth,.iec-derived--danger .iec-derived-growth,.esp-derived--danger .esp-derived-growth,.flc-derived--danger .flc-derived-note,.iec-derived--danger .iec-derived-note,.esp-derived--danger .esp-derived-note{color:var(--color-offline)}.flc-derived--danger .flc-derived-growth,.iec-derived--danger .iec-derived-growth,.esp-derived--danger .esp-derived-growth{border-color:var(--color-offline);font-weight:600}.flc-changes,.iec-changes{background:var(--color-surface);z-index:1;flex-wrap:wrap;align-items:center;gap:8px;padding:4px 0;display:flex;position:sticky;top:0}.flc-changes-title,.iec-changes-title{font-size:12px;font-weight:600}.flc-change-chip,.iec-change-chip{font-family:var(--font-mono);color:var(--color-accent);background:#667eea1f;border-radius:10px;align-items:center;gap:6px;padding:2px 8px;font-size:11px;display:inline-flex}.flc-chip-x,.iec-chip-x{color:var(--color-text-muted);background:0 0;border:none;padding:0;font-size:10px}.flc-changes-help,.iec-changes-help{margin:4px 0 12px}.flc-values-scope,.iec-values-scope{margin:-8px 0 12px}.flc-group,.iec-group{border-top:1px solid var(--color-border);padding:6px 0}.flc-group-head,.iec-group-head{align-items:center;gap:10px;display:flex}.flc-group-toggle,.iec-group-toggle{color:var(--color-text-muted);letter-spacing:.6px;text-transform:uppercase;background:0 0;border:none;padding:2px 0;font-size:11px;font-weight:700}.flc-group-toggle:disabled,.iec-group-toggle:disabled{opacity:.5;cursor:not-allowed}.flc-group-changes,.iec-group-changes{color:var(--color-drawdown);font-size:10px}.flc-diff,.iec-diff{margin:0;padding:0;list-style:none}.flc-diff li,.iec-diff li{align-items:center;gap:10px;padding:2px 0;font-size:12px;display:flex}.flc-diff-label,.iec-diff-label{min-width:190px}.flc-diff-verb,.iec-diff-verb{font-family:var(--font-mono);color:var(--color-text)}.iec-head-right{margin-left:auto}.iec-fleet-link{color:var(--color-accent);font-size:11px}.iec-intro{margin:0 0 10px}.iec-muted{color:var(--color-text-muted);font-size:11px}.iec-skeleton{height:140px}.iec-error{border:1px solid var(--color-offline);color:var(--color-text);background:#fc81811a;border-radius:6px;margin:8px 0;padding:10px 12px;font-size:12px}.iec-retry{border:1px solid var(--color-border);color:var(--color-text);background:0 0;border-radius:6px;margin-left:10px;padding:3px 10px;font-size:11px}.iec-table{font-size:12px}.iec-cell{padding:4px 8px}.iec-mono{font-family:var(--font-mono)}.iec-row--selected{background:#667eea1a}.iec-dot{border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.iec-dot--on{background:var(--color-online)}.iec-dot--off{background:var(--color-text-muted)}.iec-ovr{color:var(--color-accent)}.iec-count{margin:8px 0 4px;font-size:12px;font-weight:600}.iec-unreachable{border-left:2px solid var(--color-drawdown);color:var(--color-text);background:#f6ad551a;margin:4px 0 12px;padding:6px 10px;font-size:11px}.iec-actions{justify-content:flex-end;align-items:center;gap:12px;margin-top:14px;display:flex}.iec-btn--primary{background:var(--color-accent);color:#fff;border:none;border-radius:6px;padding:6px 14px;font-size:12px;font-weight:600}.iec-btn--ghost{border:1px solid var(--color-border);color:var(--color-text);background:0 0;border-radius:6px;padding:4px 10px;font-size:12px}.iec-btn--primary:disabled,.iec-btn--ghost:disabled{opacity:.5;cursor:not-allowed}.iec-ack{align-items:center;gap:8px;display:flex}.iec-result{margin-top:14px}.iec button:focus-visible,.iec input:focus-visible,.iec select:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.rea-total{font-size:11px;font-family:var(--font-mono);color:var(--color-text-muted)}.rea-muted{color:var(--color-text-muted);font-size:12px}.rea-fresh{color:var(--color-text-muted);align-items:center;gap:6px;margin:0 0 10px;font-size:11px;display:flex}.rea-fresh--stale{color:var(--color-loss)}.rea-dot{border-radius:50%;flex:none;width:7px;height:7px;display:inline-block}.rea-dot--ok{background:var(--color-profit)}.rea-dot--warn{background:var(--color-warning,var(--color-accent))}.rea-dot--stale{background:var(--color-loss)}.rea-dot--none{background:var(--color-text-muted)}.rea-warn{border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:6px;margin:0 0 10px;padding:8px 10px;font-size:12px}.rea-retry{border:1px solid var(--color-border);color:var(--color-text);background:0 0;border-radius:4px;margin-left:10px;padding:3px 10px;font-size:11px}.rea-table td,.rea-table th{vertical-align:middle}.rea-flat{color:var(--color-text-muted);font-size:12px}.rea-pos{color:var(--color-text);font-family:var(--font-mono)}.rea-amb{color:var(--color-text-muted);font-family:var(--font-sans,inherit);font-size:11px}.rea-off{margin-top:14px}.rea-off-head{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:10px}.rea-row--off td{opacity:.6}.rea-off-note{margin:6px 0 0}.ril-lead{color:var(--color-text-muted);max-width:78ch;margin:0 0 12px;font-size:12px;line-height:1.6}.ril-lead b{color:var(--color-text)}.ril-chip{border:1px solid var(--color-border);color:var(--color-text-muted);font-family:var(--font-mono);border-radius:10px;padding:2px 10px;font-size:11px}.ril-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ril-inline-confirm{border:1px solid var(--color-border);border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 10px;display:inline-flex}.ril-inline-text{font-size:12px}.ril-btn{border-radius:6px;padding:6px 14px;font-size:12px;font-weight:600}.ril-btn--primary{background:var(--color-accent);border:1px solid var(--color-accent);color:var(--color-bg)}.ril-btn--ghost{border:1px solid var(--color-border);color:var(--color-text);background:0 0}.ril-btn--danger{border:1px solid var(--color-drawdown);color:var(--color-drawdown);background:0 0;font-weight:700}.ril-btn:disabled{cursor:not-allowed;opacity:.5}.ril-blocked{color:var(--color-text-muted);max-width:78ch;margin:10px 0 0;font-size:12px}.ril-error{color:var(--color-loss);max-width:78ch;margin:10px 0 0;font-size:12px}.ril-purging,.ril-readonly{color:var(--color-text-muted);margin:0;font-size:12px}.ril-purging b{color:var(--color-text)}.snap-age{color:var(--color-text-muted);align-items:center;gap:6px;margin:0 0 8px;font-size:12px;display:flex}.snap-age--warn{color:var(--color-drawdown)}.snap-age--stale{color:var(--color-loss);font-weight:600}.snap-age--none{font-style:italic}.snap-age__dot{border-radius:50%;flex:none;width:7px;height:7px;display:inline-block}.snap-age__dot--ok{background:var(--color-profit)}.snap-age__dot--warn{background:var(--color-drawdown)}.snap-age__dot--stale{background:var(--color-loss)}.snap-age__dot--none{background:var(--color-text-muted)}.ptc__toolbar{align-items:center;gap:12px;margin-bottom:8px;display:flex}.ptc__toolbar .snap-age{min-width:0;margin:0}.ptc__toolbar .ptc-columns{margin-left:auto}.ptc--stale tbody td{opacity:.55}.ptc-sort{color:inherit;font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:4px;padding:0;display:inline-flex}.ptc-sort:hover,.ptc-th--sorted .ptc-sort{color:var(--color-accent)}.ptc-sort:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.ptc-sort__arrow{min-width:8px;font-size:9px}.ptc-columns{position:relative}.ptc-columns__btn,.ptc-columns__reset{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);font:inherit;cursor:pointer;border-radius:4px;padding:4px 10px;font-size:12px}.ptc-columns__btn:hover,.ptc-columns__reset:hover{border-color:var(--color-accent)}.ptc-columns__btn:focus-visible,.ptc-columns__reset:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.ptc-columns__panel{z-index:20;background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;width:320px;max-height:420px;padding:8px;position:absolute;top:calc(100% + 4px);right:0;overflow-y:auto;box-shadow:0 6px 20px #00000059}.ptc-columns__list{margin:0 0 8px;padding:0;list-style:none}.ptc-columns__item{cursor:pointer;grid-template-columns:auto 1fr;align-items:baseline;column-gap:8px;padding:4px 2px;font-size:12px;display:grid}.ptc-columns__item input{grid-row:span 2}.ptc-columns__label{color:var(--color-text)}.ptc-columns__hint{color:var(--color-text-muted);font-size:11px}.mdp-chip{text-transform:uppercase;letter-spacing:.4px;border-radius:10px;padding:1px 8px;font-size:10px;font-weight:700;display:inline-block}.mdp-chip--pending,.mdp-chip--running{color:var(--color-pending);background:var(--color-pending-bg)}.mdp-chip--delivered{color:var(--color-accent);background:#667eea1f}.mdp-chip--completed{color:var(--color-profit);background:#48bb781f}.mdp-chip--partial{color:var(--color-warning);background:#ecc94b1f}.mdp-chip--failed{color:var(--color-loss);background:#fc81811f}.mdp-chip--expired,.mdp-chip--cancelled{color:var(--color-text-muted);background:#a0a0a01a}.mdp{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;margin-bottom:20px;padding:16px 20px}.mdp-header{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.mdp-title{color:var(--color-text);margin:0;font-size:15px;font-weight:600}.mdp-hint{color:var(--color-text-muted);font-size:11px}.mdp-form{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:14px;display:flex}.mdp-field{flex-direction:column;gap:4px;display:flex}.mdp-label{color:var(--color-text-muted);font-size:11px;font-weight:600}.mdp-input,.mdp-select{border:1px solid var(--color-border);color:var(--color-text);font-size:12px;font-family:var(--font-mono);background:#0003;border-radius:4px;width:130px;padding:6px 8px}.mdp-select{width:80px;font-family:inherit}.mdp-input--error{border-color:var(--color-loss)}.mdp-submit{background:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:7px 14px;font-size:12px;font-weight:600}.mdp-submit:disabled{opacity:.5;cursor:not-allowed}.mdp-error{color:var(--color-loss);flex-basis:100%;margin:0 0 10px;font-size:12px}.mdp-empty{color:var(--color-text-muted);margin:0;font-size:12px;font-style:italic}.mdp-table-wrap{max-height:420px;overflow:auto}.mdp-table{border-collapse:collapse;width:100%;font-size:12px}.mdp-table th{text-align:left;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);white-space:nowrap;background:var(--color-surface);padding:5px 10px;font-weight:600;position:sticky;top:0}.mdp-table td{color:var(--color-text);white-space:nowrap;border-bottom:1px solid #2a2d3a99;padding:6px 10px}.mdp-table tr:last-child td{border-bottom:none}.mdp-mono{font-family:var(--font-mono);font-size:11px}.mdp-row-error{color:var(--color-loss);font-family:var(--font-mono);text-overflow:ellipsis;max-width:280px;font-size:11px;overflow:hidden}.mdp-cancel-btn{border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:4px;padding:2px 8px;font-size:11px}.mdp-cancel-btn:hover{color:var(--color-text);border-color:var(--color-text-muted)}.rk [data-tip]{position:relative}.rk [data-tip]:hover:after,.rk [data-tip]:focus-visible:after{content:attr(data-tip);background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);white-space:pre-line;z-index:60;pointer-events:none;text-align:left;border-radius:6px;width:max-content;max-width:320px;padding:8px 10px;font:400 12px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 4px 14px #00000059}.rk .rk-tip-r[data-tip]:hover:after,.rk .rk-tip-r[data-tip]:focus-visible:after{left:auto;right:0}.rk [data-tip=""]:hover:after{display:none}.rk-info{width:18px;height:18px;color:var(--color-text-muted);cursor:help;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.rk-info:hover,.rk-info:focus-visible{color:var(--color-text);outline:none}.rk-ibtn{border:1px solid var(--color-border);background:var(--color-surface);min-width:32px;min-height:32px;color:var(--color-text);border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:13px;display:inline-flex}.rk-ibtn:hover{border-color:var(--color-accent)}.rk-ibtn[aria-pressed=true]{border-color:var(--color-accent);background:#667eea24}.rk-mono{font-family:var(--font-mono)}.rk-muted{color:var(--color-text-muted)}.rk-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:14px;display:flex}.rk-head-tools,.rk-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rk-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;margin-bottom:16px;padding:14px 16px}.rk-section-title{margin:0 0 8px;font-size:15px;font-weight:600}.rk-section--stale{opacity:.5}.rk-strip{border-radius:6px;height:32px;margin:8px 0;display:flex;overflow:visible}.rk-strip>div{align-items:center;min-width:0;padding:0 8px;font-size:12px;font-weight:600;display:flex}.rk-strip span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.rk-z-calm{color:var(--color-profit);background:#48bb7824}.rk-z-worry{color:var(--color-drawdown);background:#ecc94b38}.rk-z-danger{color:var(--color-loss);background:#fc818138}.rk-z-end{background:var(--color-bg);color:var(--color-loss);border:1px solid var(--color-loss)}.rk-events{flex-wrap:wrap;gap:6px 20px;font-size:13px;display:flex}.rk-event{align-items:center;gap:6px;display:inline-flex}.rk-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.rk-kpis{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px;display:grid}.rk-kpi{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.rk-kpi-label{color:var(--color-text-muted);font-size:12px}.rk-kpi-value{font-family:var(--font-mono);font-size:20px;font-weight:600}.rk-kpi-sub{color:var(--color-text-muted);font-size:12px}.rk-c-worry{color:var(--color-drawdown)}.rk-c-danger,.rk-c-loss{color:var(--color-loss)}.rk-c-ok{color:var(--color-profit)}.rk-c-a{color:var(--color-accent)}.rk-c-b{color:var(--color-pending)}.rk-layout{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.rk-config{flex-direction:column;flex:300px;gap:10px;max-width:360px;display:flex}.rk-main{flex:999 640px;min-width:0}.rk-config-bar{align-items:center;gap:6px;display:flex}.rk-config-bar>span{color:var(--color-text-muted);flex:auto;font-weight:600}.rk-group{margin-bottom:0;padding:6px 14px}.rk-summary.pr-filters{margin-bottom:16px;padding:8px 12px}.rk-group-head{width:100%;min-height:32px;color:var(--color-text);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:0;font-size:14px;font-weight:600;display:flex}.rk-group-brief{font:11px var(--font-mono);color:var(--color-text-muted)}.rk-group-body{flex-direction:column;gap:10px;padding:8px 0 6px;display:flex}.rk-param-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.rk-param-label{color:var(--color-text-muted);align-items:center;gap:4px;font-size:13px;display:inline-flex}.rk-param-label--changed{color:var(--color-pending)}.rk-num{background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border);width:100px;font:13px var(--font-mono);text-align:right;border-radius:6px;padding:4px 6px}.rk-num:focus{border-color:var(--color-accent);outline:none}.rk-range{width:100%;accent-color:var(--color-accent);margin:0}.rk-unit{color:var(--color-text-muted);min-width:18px;font-size:11px}.rk-summary{flex-wrap:wrap;flex:100%;align-items:center;gap:6px;display:flex}.rk-chip{border:1px solid var(--color-border);background:var(--color-bg);min-height:28px;color:var(--color-text);font:12px var(--font-mono);border-radius:14px;padding:0 10px}.rk-chip--changed{border-color:var(--color-pending)}.rk-chip>span{color:var(--color-text-muted)}.rk-table-wrap{overflow-x:auto}.rk-table td,.rk-table th{white-space:nowrap}.rk-table td.num,.rk-table th.num{text-align:right;font-family:var(--font-mono)}.rk-tr--trim{background:#ecc94b14}.rk-tr--refused{background:#fc81811a}.rk-tr--live{background:#667eea12}.rk-matrix{overflow-x:auto}.rk-matrix table{border-collapse:separate;border-spacing:2px;font:12px var(--font-mono);width:100%;min-width:640px}.rk-matrix th{color:var(--color-text-muted);padding:4px;font-weight:500}.rk-cell{text-align:center;border-radius:4px;min-width:34px;height:26px;padding:0 2px;font-size:10.5px}.rk .rk-sticky,.rk .rk-sticky[data-tip]{background:var(--color-surface);text-align:right;z-index:1;width:64px;min-width:64px;position:sticky}.rk-sticky-1{right:0}.rk-sticky-2{right:66px}.rk-sticky-3{right:132px}.rk-pill{align-items:center;gap:5px;display:inline-flex}.rk-cell--calm{background:#48bb7824}.rk-cell--worry{background:#ecc94b38}.rk-cell--danger{background:#fc818138}.rk-cell--none{background:var(--color-bg);color:var(--color-text-muted)}.rk-pair-btn{color:var(--color-text);font:600 12px var(--font-mono);text-align:left;background:0 0;border:none;padding:4px 6px}.rk-pair-btn[aria-pressed=true]{color:var(--color-accent)}.rk-cellinfo{background:var(--color-bg);border:1px solid var(--color-border);font:12px var(--font-mono);border-radius:6px;min-height:20px;margin-top:8px;padding:8px 12px}.rk-chart{width:100%;height:340px}.rk-chart--small{height:240px}.rk-legend{color:var(--color-text-muted);flex-wrap:wrap;gap:6px 14px;font-size:12px;display:flex}.rk-swatch{border-radius:2px;width:10px;height:10px;margin-right:4px;display:inline-block}.rk-swatch--0{background:var(--color-accent)}.rk-swatch--1{background:var(--color-pending)}.rk-swatch--2{background:var(--color-teal)}.rk-swatch--3{background:var(--color-profit)}.rk-swatch--4{background:var(--color-drawdown)}.rk-swatch--5{background:var(--color-loss)}.rk-swatch--6{background:var(--color-neutral)}.pr-page{max-width:1800px;padding:24px}.pr-header{margin-bottom:16px}.pr-page .page-title{margin:0 0 4px;font-size:24px;font-weight:700}.pr-page .page-subtitle{color:var(--color-text-muted);max-width:900px;margin:0;font-size:13px}.pr-banner{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;margin-bottom:14px;padding:12px 16px;font-size:13px;line-height:1.55}.pr-banner--regime{border-color:var(--color-warning);background:#ecc94b17}.pr-banner--stale{border-color:var(--color-pending);background:var(--color-pending-bg)}.pr-banner-split{font-family:var(--font-mono);flex-wrap:wrap;gap:8px 28px;margin-top:8px;font-size:12px;display:flex}.pr-pos{color:var(--color-profit)}.pr-neg{color:var(--color-loss)}.pr-note{border:1px solid var(--color-border);border-left:3px solid var(--color-accent);color:var(--color-text-muted);border-radius:6px;margin-bottom:12px;padding:10px 14px;font-size:12.5px}.pr-error{border:1px solid var(--color-loss);background:var(--color-neg-bg);color:var(--color-loss);border-radius:6px;margin-bottom:12px;padding:10px 14px;font-size:13px}.pr-loading,.pr-empty{color:var(--color-text-muted);padding:18px 0;font-size:13px}.pr-filters{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;margin-bottom:18px;padding:14px 16px}.pr-presets{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.pr-preset{color:var(--color-text-muted);border:1px solid var(--color-border);background:0 0;border-radius:999px;padding:5px 13px;font-size:12.5px}.pr-preset:hover{border-color:var(--color-accent)}.pr-preset--on{color:var(--color-text);border-color:var(--color-accent);background:#667eea24}.pr-filter-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;display:grid}.pr-field{color:var(--color-text-muted);flex-direction:column;gap:5px;font-size:12px;display:flex}.pr-field input,.pr-field select{background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border);border-radius:6px;width:100%;padding:7px 9px;font-family:inherit;font-size:13px}.pr-field--check{flex-direction:row;align-self:end;align-items:center;gap:8px;padding-bottom:7px}.pr-field--check input{width:auto}.pr-filter-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;display:flex}.pr-saved{color:var(--color-text-muted);font-size:11.5px}.pr-btn{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:6px;padding:7px 14px;font-size:13px}.pr-btn:hover:not(:disabled){border-color:var(--color-accent)}.pr-btn:disabled{opacity:.4;cursor:not-allowed}.pr-btn--primary{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.pr-btn--ghost{padding:3px 9px;font-size:11.5px}.pr-section{margin-bottom:30px}.pr-section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.pr-section-head h2{margin:0;font-size:17px}.pr-section-actions{gap:8px;display:flex}.pr-table-wrap{-webkit-overflow-scrolling:touch;border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;max-width:100%;overflow-x:auto}.pr-table{border-collapse:separate;border-spacing:0;width:100%;font-size:12.5px;font-family:var(--font-mono);white-space:nowrap}.pr-table th,.pr-table td{text-align:right;border-bottom:1px solid var(--color-border);padding:7px 10px}.pr-table thead th{background:var(--color-surface);color:var(--color-text-muted);z-index:2;font-weight:600;position:sticky;top:0}.pr-group-row th{letter-spacing:.04em;text-transform:uppercase;text-align:center;z-index:3;font-size:11px}.pr-group--money{color:var(--color-profit);border-left:2px solid var(--color-border)}.pr-group--risk{color:var(--color-drawdown);border-left:2px solid var(--color-drawdown)}.pr-group--trust{color:var(--color-neutral);border-left:2px solid var(--color-neutral)}.pr-group--stress{color:var(--color-teal);border-left:2px solid var(--color-teal)}.pr-table td.pr-cell--groupstart{border-left:2px solid var(--color-border)}.pr-table td.pr-cell--risk.pr-cell--groupstart{border-left-color:var(--color-drawdown)}.pr-table td.pr-cell--trust.pr-cell--groupstart{border-left-color:var(--color-neutral)}.pr-table td.pr-cell--stress.pr-cell--groupstart{border-left-color:var(--color-teal)}.pr-th--primary{color:var(--color-text)}.pr-th--sorted{color:var(--color-accent)}.pr-sort{color:inherit;font:inherit;background:0 0;border:none;align-items:center;gap:4px;padding:0;display:inline-flex}.pr-sort:hover{color:var(--color-accent)}.pr-sort-arrow{min-width:8px;font-size:9px}.pr-th-symbol,.pr-cell-symbol{text-align:left;background:var(--color-surface);z-index:1;border-right:1px solid var(--color-border);position:sticky;left:0}.pr-table thead th.pr-th-symbol{z-index:4}.pr-row:hover td{background:#667eea0f}.pr-cell--primary{color:var(--color-text);font-weight:600}.pr-cell--flag{color:var(--color-loss);background:var(--color-neg-bg);font-weight:700}.pr-expand{color:var(--color-text);font:inherit;background:0 0;border:none;align-items:center;gap:6px;padding:0;display:inline-flex}.pr-expand:hover{color:var(--color-accent)}.pr-expand-caret{color:var(--color-text-muted);font-size:10px}.pr-chip{white-space:nowrap;border-radius:999px;margin-left:8px;padding:1px 7px;font-size:10px;display:inline-block}.pr-chip--mixed{color:var(--color-pending);background:var(--color-pending-bg);border:1px solid var(--color-pending)}.pr-total td{border-top:2px solid var(--color-border);z-index:2;background:#161923;font-weight:700;position:sticky;bottom:0}.pr-total td.pr-cell-symbol{z-index:3}.pr-table--compact{font-size:12px}.pr-cell-key{text-align:left}.pr-caption{color:var(--color-text-muted);margin:8px 2px 0;font-size:11.5px;line-height:1.6}.pr-footnotes{color:var(--color-text-muted);margin:10px 0 0;padding-left:18px;font-size:11.5px;line-height:1.6}.pr-footnotes li{margin-bottom:5px}.pr-stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:14px;display:grid}.pr-stat{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.pr-stat--flag{border-color:var(--color-loss)}.pr-stat-label{color:var(--color-text-muted);font-size:11px}.pr-stat-value{font-family:var(--font-mono);font-size:17px}.pr-stat--flag .pr-stat-value{color:var(--color-loss)}.pr-chart{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;margin-bottom:14px;padding:10px 6px 0}.pr-detail-row td{background:var(--color-bg);padding:0}.pr-detail{white-space:normal;padding:14px 16px 18px}.pr-detail-controls{flex-wrap:wrap;gap:12px;margin-bottom:14px;display:flex}.pr-detail-controls label{color:var(--color-text-muted);flex-direction:column;gap:4px;font-size:11.5px;display:flex}.pr-detail-controls select,.pr-detail-controls input{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:6px;padding:6px 8px;font-size:12.5px}.pr-detail-stat{margin-bottom:12px;font-size:13px}.pr-detail-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;display:grid}.pr-detail-block{margin-bottom:14px}.pr-detail-block h4{color:var(--color-text-muted);margin:0 0 8px;font-size:13px}.pr-detail-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.pr-detail-head h4{margin:0 0 8px}@media (width<=768px){.pr-page{padding:14px}.pr-filter-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.pr-table th,.pr-table td{padding:6px 8px}.pr-detail{padding:10px}}.performance-page{max-width:1400px;padding:24px}.perf-retired-toggle{color:var(--color-text-muted);-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:13px;display:inline-flex}.perf-ea-cell{align-items:center;gap:8px;display:inline-flex}.perf-retired-chip{border:1px solid var(--color-border);color:var(--color-text-muted);letter-spacing:.04em;white-space:nowrap;border-radius:10px;padding:1px 8px;font-size:10px}.perf-row--retired td{color:var(--color-text-muted)}.perf-sample{font-family:var(--font-mono);font-size:11px}.summary-item--note{justify-content:flex-end}.summary-note{color:var(--color-text-muted);font-size:12px}.perf-footnote{color:var(--color-text-muted);max-width:88ch;margin:10px 2px 0;font-size:11px;line-height:1.6}.perf-header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.perf-summary-strip{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;flex-wrap:wrap;gap:24px;margin-bottom:20px;padding:16px 24px;display:flex}.summary-item{flex-direction:column;gap:4px;display:flex}.summary-label{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);font-size:11px}.summary-value{font-size:20px;font-weight:600;font-family:var(--font-mono)}.perf-filters{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.filter-select{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:6px;min-width:160px;padding:8px 12px;font-size:13px}.btn-refresh{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:6px;padding:8px 16px;font-size:13px;transition:border-color .15s}.btn-refresh:hover:not(:disabled){border-color:var(--color-accent)}.perf-table{border-collapse:collapse;width:100%;font-size:13px}.perf-table th{background:var(--color-surface);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;border-bottom:1px solid var(--color-border);text-align:left;padding:10px 12px;font-size:11px}.perf-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.perf-table th.sortable:hover{color:var(--color-text)}.perf-table th.sorted-asc,.perf-table th.sorted-desc{color:var(--color-accent)}.sort-arrow{margin-left:2px;font-size:10px}.perf-table td{border-bottom:1px solid var(--color-border);white-space:nowrap;font-family:var(--font-mono);padding:10px 12px;font-size:12px}.perf-row:last-child td{border-bottom:none}.perf-row:hover td{background:#667eea0d}.cell-green{color:var(--color-online)}.cell-red{color:var(--color-offline)}.perf-skeleton{flex-direction:column;gap:8px;display:flex}.dpnl-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;margin-bottom:16px;padding:16px}.dpnl-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.dpnl-title{color:var(--color-text);margin:0;font-size:14px;font-weight:600}.dpnl-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dpnl-pills{background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;gap:4px;padding:2px;display:inline-flex}.dpnl-pills .pill{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 10px;font-size:12px}.dpnl-pills .pill.active{background:var(--color-accent);color:#fff}.dpnl-empty{text-align:center;color:var(--color-text-muted);padding:60px 0}.dpnl-tooltip{background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;padding:8px 10px;font-size:12px}.dpnl-tooltip-date{color:var(--color-text-muted);margin-bottom:2px}.te-legend{color:var(--color-text-muted);align-items:center;gap:16px;margin:4px 0 8px;font-size:12px;display:flex}.te-legend-item{align-items:center;gap:6px;display:inline-flex}.te-tooltip-row{align-items:center;gap:6px;display:flex}.te-legend-dot{border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.te-dot-equity{background:var(--color-accent)}.te-dot-balance{background:var(--color-profit)}.detail-page{max-width:1400px;padding:24px}.detail__back{color:var(--color-text-muted);margin-bottom:12px;font-size:13px;display:inline-block}.detail__back:hover{color:var(--color-accent);text-decoration:none}.detail__header{margin-bottom:28px}.detail__title-row{align-items:center;gap:12px;margin-bottom:6px;display:flex}.detail__title{font-size:22px;font-weight:700;font-family:var(--font-mono);margin:0}.detail__title-skeleton{background:var(--color-surface);border-radius:4px;width:260px;height:28px;margin-bottom:6px}.detail__meta{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:4px;font-size:13px;display:flex}.detail__meta-sep{opacity:.4}.muted{color:var(--color-text-muted)}.badge{letter-spacing:.5px;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:700}.badge--online{color:var(--color-online);background:#48bb7826}.badge--warning{color:var(--color-warning);background:#ecc94b26}.badge--offline{color:var(--color-offline);background:#fc818126}.badge-cent{letter-spacing:.07em;color:#d69e2e;vertical-align:middle;background:#d69e2e2e;border:1px solid #d69e2e59;border-radius:3px;padding:2px 7px;font-size:9px;font-weight:700;line-height:1.4;display:inline-block}.badge-retired{letter-spacing:.07em;color:var(--color-text-muted);border:1px solid var(--color-border);vertical-align:middle;background:0 0;border-radius:3px;padding:2px 7px;font-size:9px;font-weight:700;line-height:1.4;display:inline-block}.detail__ws-badge{font-size:11px;font-family:var(--font-mono);color:var(--color-text-muted);background:#7180961a;border-radius:4px;padding:2px 8px;font-weight:600}.detail__ws-badge--live{color:var(--color-online);background:#48bb781f;animation:2s ease-in-out infinite ws-pulse}.detail__card-wrap{max-width:420px;margin-bottom:20px}@media (width<=768px){.detail__card-wrap{max-width:none}}.detail__section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;margin-bottom:20px;padding:20px}.detail__section-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.detail__section-title{color:var(--color-text);margin:0 0 16px;font-size:15px;font-weight:600}.detail__section-header .detail__section-title{margin-bottom:0}.day-selector{gap:6px;display:flex}.day-btn{border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:4px;padding:4px 10px;font-size:12px;transition:all .15s}.day-btn:hover{border-color:var(--color-accent);color:var(--color-text)}.day-btn--active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.detail__two-col{grid-template-columns:1fr 1fr;gap:20px;display:grid}@media (width<=900px){.detail__two-col{grid-template-columns:1fr}}.detail__section--half{margin-bottom:0}.detail__error{border:1px solid var(--color-offline);color:var(--color-offline);background:#fc81811a;border-radius:8px;padding:20px;line-height:1.8}.detail__empty{color:var(--color-text-muted);text-align:center;margin:0;padding:24px 0;font-size:13px}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:12px}.data-table th{text-align:left;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);white-space:nowrap;padding:6px 10px;font-weight:600}.data-table td{color:var(--color-text);white-space:nowrap;border-bottom:1px solid #2a2d3a99;padding:7px 10px}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:#667eea0d}.symbol-link{color:var(--color-text)}.symbol-link:hover{color:var(--color-accent);text-decoration:underline}.dir--buy{color:var(--color-online);font-weight:600}.dir--sell{color:var(--color-offline);font-weight:600}.profit--pos{color:var(--color-online);font-weight:600}.profit--neg{color:var(--color-offline);font-weight:600}.skeleton{background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;width:100%;position:relative;overflow:hidden}.skeleton__wave{background:linear-gradient(90deg,#0000 0%,#667eea14 50%,#0000 100%) 0 0/200% 100%;animation:1.6s ease-in-out infinite skeleton-sweep;position:absolute;inset:0}.ooc{background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid var(--color-accent);border-radius:8px;margin-bottom:20px;padding:16px 20px}.ooc-header{align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.ooc-title{color:var(--color-text);margin:0;font-size:15px;font-weight:600}.ooc-ea-hint{color:var(--color-text-muted);font-size:11px;font-family:var(--font-mono)}.ooc-form{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:14px;display:flex}.ooc-field{flex-direction:column;gap:4px;display:flex}.ooc-label{color:var(--color-text-muted);font-size:11px;font-weight:600}.ooc-input,.ooc-select{border:1px solid var(--color-border);color:var(--color-text);font-size:12px;font-family:var(--font-mono);background:#0003;border-radius:4px;width:170px;padding:6px 8px}.ooc-select{width:100px;font-family:inherit}.ooc-input--error{border-color:var(--color-loss)}.ooc-submit,.ooc-confirm-btn{background:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:7px 14px;font-size:12px;font-weight:600}.ooc-submit:disabled,.ooc-confirm-btn:disabled{opacity:.5;cursor:not-allowed}.ooc-error{color:var(--color-loss);font-size:12px}.ooc-confirm{border:1px solid var(--color-accent);border-radius:6px;margin-bottom:14px;padding:12px 16px}.ooc-confirm-title{color:var(--color-text);margin:0 0 8px;font-size:13px;font-weight:600}.ooc-confirm-details{margin:0 0 10px}.ooc-confirm-row{gap:8px;padding:2px 0;font-size:12px;display:flex}.ooc-confirm-row dt{color:var(--color-text-muted);flex-shrink:0;width:80px}.ooc-confirm-row dd{color:var(--color-text);margin:0}.ooc-confirm-actions{gap:8px;display:flex}.ooc-back-btn,.ooc-cancel-btn{border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:4px;padding:6px 12px;font-size:12px}.ooc-back-btn:hover,.ooc-cancel-btn:hover{color:var(--color-text);border-color:var(--color-text-muted)}.ooc-cancel-btn{padding:2px 8px;font-size:11px}.ooc-list-empty{color:var(--color-text-muted);margin:0;font-size:12px;font-style:italic}.ooc-table-wrap{overflow-x:auto}.ooc-table{border-collapse:collapse;width:100%;font-size:12px}.ooc-table th{text-align:left;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);white-space:nowrap;padding:5px 10px;font-weight:600}.ooc-table td{color:var(--color-text);white-space:nowrap;border-bottom:1px solid #2a2d3a99;padding:6px 10px}.ooc-table tr:last-child td{border-bottom:none}.ooc-mono{font-family:var(--font-mono);font-size:11px}.ooc-chip{text-transform:uppercase;letter-spacing:.4px;border-radius:10px;padding:1px 8px;font-size:10px;font-weight:700;display:inline-block}.ooc-chip--pending{color:var(--color-pending);background:var(--color-pending-bg)}.ooc-chip--delivered{color:var(--color-accent);background:#667eea1f}.ooc-chip--executed{color:var(--color-profit);background:#48bb781f}.ooc-chip--failed{color:var(--color-loss);background:#fc81811f}.ooc-chip--expired,.ooc-chip--cancelled{color:var(--color-text-muted);background:#a0a0a01a}.ooc-result-error{color:var(--color-loss);font-size:11px;font-family:var(--font-mono);margin-left:8px}.ooc-result-ticket{color:var(--color-text-muted);font-size:11px;font-family:var(--font-mono);margin-left:8px}.pc{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;margin-bottom:20px;padding:16px 20px}.pc-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.pc-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.pc-history{align-items:center;gap:8px;display:flex}.pc-history-status{align-items:center;gap:6px;display:inline-flex}.pc-history-bars{color:var(--color-text-muted);font-size:11px;font-family:var(--font-mono)}.pc-history-btn{border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:4px;padding:3px 10px;font-size:12px}.pc-history-btn:hover:not(:disabled){color:var(--color-text);border-color:var(--color-accent)}.pc-history-btn:disabled{opacity:.5;cursor:not-allowed}.pc-history-error{color:var(--color-loss);max-width:360px;font-size:12px}.pc-fill-status{color:var(--color-text-muted);font-size:11px}.pc-title{color:var(--color-text);font-size:15px;font-weight:600}.pc-periods{gap:4px;display:flex}.pc-period{border:1px solid var(--color-border);color:var(--color-text-muted);font-size:12px;font-family:var(--font-mono);cursor:pointer;background:0 0;border-radius:4px;padding:3px 10px}.pc-period:hover{color:var(--color-text);border-color:var(--color-accent)}.pc-period--active{color:var(--color-accent);border-color:var(--color-accent);background:#667eea1a}.pc-canvas{width:100%}.pc-empty{justify-content:center;align-items:center;display:flex}.pc-empty-text{color:var(--color-text-muted);font-size:13px;font-style:italic}.esp{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;margin-bottom:20px;padding:12px 16px}.esp-header{flex-wrap:wrap;align-items:center;gap:10px;min-height:24px;display:flex}.esp-toggle{color:var(--color-text);background:0 0;border:none;align-items:center;gap:8px;padding:0;display:inline-flex}.esp-toggle:disabled{opacity:.6;cursor:not-allowed}.esp-caret{color:var(--color-text-muted);font-size:11px}.esp-title{font-size:15px;font-weight:600}.esp-count{font-family:var(--font-mono);letter-spacing:.4px;text-transform:uppercase;color:var(--color-accent);background:#667eea1f;border-radius:10px;padding:1px 8px;font-size:10px;font-weight:700}.esp-count--refused{color:var(--color-loss);background:#fc81811f}.esp-count--ignored{color:var(--color-drawdown);background:#ecc94b1f}.esp-chip-skeleton{background:#667eea1a;border-radius:10px;width:110px;height:14px;display:inline-block}.esp-outdated,.esp-readonly-note{color:var(--color-text-muted);font-size:11px}.esp-header-right{align-items:center;gap:8px;margin-left:auto;display:inline-flex}.esp-edit-btn{color:var(--color-accent);border:1px solid var(--color-accent);background:0 0;border-radius:6px;padding:3px 12px;font-size:12px;font-weight:600}.esp-meta{font-family:var(--font-mono);color:var(--color-text-muted);flex-wrap:wrap;gap:10px;margin-top:6px;font-size:11px;display:flex}.esp-stale-line,.esp-notice{color:var(--color-text-muted);margin:6px 0 0;font-size:11px}.esp-retry{color:var(--color-accent);background:0 0;border:none;padding:0 0 0 6px;font-size:11px;text-decoration:underline}.esp-body{border-top:1px solid var(--color-border);margin-top:10px;padding-top:10px}.esp-filter{color:var(--color-text-muted);cursor:pointer;align-items:center;gap:6px;margin-bottom:8px;font-size:11px;display:inline-flex}.esp-group{border-top:1px solid var(--color-border);padding:6px 0}.esp-group:first-of-type{border-top:none}.esp-group-head{align-items:center;gap:10px;display:flex}.esp-group-toggle{color:var(--color-text-muted);letter-spacing:.6px;text-transform:uppercase;background:0 0;border:none;padding:2px 0;font-size:11px;font-weight:700}.esp-group-count{color:var(--color-accent);margin-left:auto;font-size:10px}.esp-row{border-left:2px solid #0000;flex-wrap:wrap;align-items:center;gap:10px;padding:4px 8px;display:flex}.esp-row--override{border-left-color:var(--color-accent)}.esp-row--reset{border-left-color:var(--color-drawdown)}.esp-row--rejected{border-left-color:var(--color-loss)}.esp-row--unsupported{border-left-color:var(--color-drawdown)}.esp-row--conflict{background:#fc81810f}.esp-label{color:var(--color-text);flex:180px;font-size:13px}.esp-value{font-family:var(--font-mono);color:var(--color-text);text-align:right;min-width:90px;font-size:13px}.esp-value--empty{color:var(--color-text-muted)}.esp-diff-old{font-family:var(--font-mono);color:var(--color-text-muted)}.esp-diff-arrow{color:var(--color-text-muted);padding:0 4px}.esp-diff-new{font-family:var(--font-mono);color:var(--color-drawdown)}.esp-src{text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;border-radius:10px;padding:1px 8px;font-size:10px;font-weight:700}.esp-src--argus{color:var(--color-accent);background:#667eea1f}.esp-src--input{color:var(--color-text-muted);background:#7180961f}.esp-bounds{color:var(--color-text-muted);min-width:110px;font-size:11px}.esp-rebuild{color:var(--color-text-muted);font-size:11px}.esp-note--refused{color:var(--color-loss);font-size:11px;font-weight:600}.esp-note--ignored{color:var(--color-drawdown);font-size:11px;font-weight:600}.esp-invalid{color:var(--color-loss);flex-basis:100%;font-size:11px}.esp-clamp-hint{color:var(--color-drawdown);flex-basis:100%;font-size:11px}.esp-act{gap:4px;display:inline-flex}.esp-act-btn{color:var(--color-text-muted);background:0 0;border:1px solid #0000;border-radius:4px;padding:1px 6px;font-size:12px}.esp-act-btn:hover:not(:disabled){color:var(--color-text);border-color:var(--color-border)}.esp-act-btn:disabled{opacity:.4;cursor:not-allowed}.esp-staged{border-top:1px dashed var(--color-drawdown);background:#ecc94b0f;border-radius:0 0 6px 6px;margin-top:12px;padding:11px 14px}.esp-staged-title{color:var(--color-text);margin:0 0 2px;font-size:13px;font-weight:600}.esp-staged-target{color:var(--color-text-muted);margin:0 0 8px;font-size:11px}.esp-staged-icon{color:var(--color-drawdown);font-size:15px}.esp-diff{margin:0 0 8px;padding:0;list-style:none}.esp-diff-item{align-items:center;gap:8px;padding:2px 0;font-size:12px;display:flex}.esp-diff-label{min-width:170px;color:var(--color-text)}.esp-help,.esp-staged-caveat{color:var(--color-drawdown);margin:0 0 8px;font-size:11px}.esp-staged-caveat{color:var(--color-text-muted)}.esp-staged-error:not(:empty){color:var(--color-loss);margin-bottom:8px;font-size:11px}.esp-staged-actions{justify-content:flex-end;gap:8px;display:flex}.esp-btn--ghost{color:var(--color-text-muted);border:1px solid var(--color-border);background:0 0;border-radius:6px;padding:5px 13px;font-size:12px}.esp-btn--ghost:hover:not(:disabled){color:var(--color-text);border-color:var(--color-text-muted)}.esp-btn--primary{color:#fff;background:var(--color-accent);border:1px solid var(--color-accent);border-radius:6px;padding:5px 13px;font-size:12px;font-weight:600}.esp-btn--primary:disabled,.esp-btn--ghost:disabled{opacity:.5;cursor:not-allowed}.esp button:focus-visible,.esp input:focus-visible,.esp select:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media (width<=720px){.esp-row{align-items:flex-start}.esp-label{flex-basis:100%}.esp-value{text-align:left;min-width:0}.esp-staged-actions{justify-content:stretch}}.gp-value--hedge{color:var(--color-accent)}.gp-value--maxlot{color:var(--color-pending)}.symd-page{max-width:900px;padding:24px}.symd-back{color:var(--color-text-muted);margin-bottom:12px;font-size:13px;display:inline-block}.symd-back:hover{color:var(--color-accent);text-decoration:none}.symd-header{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;margin-bottom:20px;padding:16px 20px}.symd-header--profit{border-left:3px solid var(--color-profit)}.symd-header--loss{border-left:3px solid var(--color-loss)}.symd-symbol-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.symd-symbol{font-size:22px;font-weight:700;font-family:var(--font-mono);margin:0}.symd-ea{white-space:nowrap;align-items:center;gap:5px;font-size:11px;display:inline-flex}.symd-ea-dot{border-radius:50%;width:7px;height:7px}.symd-ea-dot--on{background:var(--color-online)}.symd-ea-dot--off{background:var(--color-text-muted)}.symd-ea-name{color:var(--color-text);font-weight:600}.symd-ea-tf{font-family:var(--font-mono);color:var(--color-text-muted)}.symd-ea-ver{font-family:var(--font-mono);color:var(--color-accent)}.symd-ea-more{font-family:var(--font-mono);color:var(--color-text-muted)}.symd-account-row{color:var(--color-text-muted);align-items:center;gap:6px;margin-top:4px;font-size:12px;display:flex}.symd-broker{font-weight:600}.symd-account{font-family:var(--font-mono)}.symd-account-sep{opacity:.6}.symd-price-row{flex-wrap:wrap;align-items:baseline;gap:18px;margin-top:10px;font-size:13px;display:flex}.symd-price-item{align-items:baseline;gap:6px;display:inline-flex}.symd-price-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);font-size:11px}.symd-price-value{font-family:var(--font-mono);color:var(--color-text);font-size:14px}.symd-price-note{color:var(--color-text-muted);font-size:11px;font-style:italic}.symd-agg-row{font-family:var(--font-mono);align-items:baseline;gap:14px;margin-top:10px;font-size:14px;display:flex}.symd-agg-buy{color:var(--color-profit)}.symd-agg-sell{color:var(--color-loss)}.symd-agg-net{color:var(--color-text-muted);font-size:12px}.symd-agg-profit{margin-left:auto;font-size:16px;font-weight:700}.symd-agg-split{color:var(--color-text-muted);margin-top:6px;font-size:12px}.symd-money--profit{color:var(--color-profit)}.symd-money--loss{color:var(--color-loss)}.symd-conn{align-items:center;gap:5px;display:inline-flex}.symd-conn--ok{color:var(--color-profit)}.symd-conn--warn{color:var(--color-drawdown)}.symd-conn--stale{color:var(--color-loss)}.symd-conn-dot{border-radius:50%;width:7px;height:7px;display:inline-block}.symd-conn-dot--ok{background:var(--color-profit)}.symd-conn-dot--warn{background:var(--color-drawdown)}.symd-conn-dot--stale{background:var(--color-loss)}.symd-money-pct{opacity:.85;font-size:.85em}.symd-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;margin-bottom:20px;padding:20px}.symd-section--profit{border-left:3px solid var(--color-profit)}.symd-section--loss{border-left:3px solid var(--color-loss)}.symd-section-header{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.symd-section-title{color:var(--color-text);margin:0;font-size:15px;font-weight:600}.symd-section-subtotal{font-size:12px;font-family:var(--font-mono);color:var(--color-text-muted)}.symd-table-wrap{overflow-x:auto}.symd-table{border-collapse:collapse;width:100%;font-size:12px}.symd-table th{text-align:left;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);white-space:nowrap;padding:6px 10px;font-weight:600}.symd-table td{color:var(--color-text);white-space:nowrap;border-bottom:1px solid #2a2d3a99;padding:7px 10px}.symd-table tr:last-child td{border-bottom:none}.symd-table tr:hover td{background:#667eea0d}.symd-mono{font-family:var(--font-mono);font-size:11px}.symd-dir--buy{color:var(--color-profit);font-weight:600}.symd-dir--sell{color:var(--color-loss);font-weight:600}.symd-table th.symd-close-col,.symd-table td.symd-close-col{text-align:right;white-space:nowrap;width:1%}.cob{flex-direction:column;align-items:flex-end;gap:3px;display:inline-flex}.cob-close-btn{color:var(--color-loss);border:1px solid var(--color-loss);background:0 0;border-radius:6px;padding:3px 12px;font-size:12px;font-weight:600;transition:background .12s,color .12s}.cob-close-btn:hover:not(:disabled){background:var(--color-loss);color:#fff}.cob-close-btn:disabled,.cob-retry:disabled{opacity:.45;cursor:not-allowed}.symd-positions--stale .symd-table tbody td{opacity:.55}.cob-close-btn:focus-visible,.cob-retry:focus-visible,.symd-confirm-btn:focus-visible,.symd-back-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.cob-closing{color:var(--color-drawdown);align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.cob-spinner{border:2px solid #ecc94b40;border-top-color:var(--color-drawdown);border-radius:50%;width:12px;height:12px;animation:.7s linear infinite cob-spin}@keyframes cob-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.cob-spinner{animation:none}}.cob-done{color:var(--color-profit);align-items:center;gap:5px;font-size:12px;font-weight:600;display:inline-flex}.cob-done-ticket{font-family:var(--font-mono);color:var(--color-text-muted);font-size:11px}.cob-failed{color:var(--color-loss);cursor:help;align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.cob-failed-reason{font-family:var(--font-mono);color:var(--color-loss);background:#fc81811f;border-radius:4px;padding:1px 6px;font-size:10.5px}.cob-retry{color:var(--color-accent);background:0 0;border:none;padding:0;font-size:11px;text-decoration:underline}.symd-confirm-row>td{border-top:1px dashed var(--color-drawdown);background:#ecc94b0f;padding:0}.symd-confirm{text-align:left;flex-wrap:wrap;align-items:center;gap:12px;padding:11px 14px;display:flex}.symd-confirm-icon{color:var(--color-drawdown);font-size:15px}.symd-confirm-txt{color:var(--color-text);font-size:12px;line-height:1.5}.symd-confirm-txt b{font-family:var(--font-mono);font-weight:600}.symd-dim{color:var(--color-text-muted)}.symd-confirm-actions{gap:8px;margin-left:auto;display:flex}.symd-confirm-btn{color:#fff;background:var(--color-loss);border:1px solid var(--color-loss);border-radius:6px;padding:5px 13px;font-size:12px;font-weight:600}.symd-confirm-btn:hover:not(:disabled){filter:brightness(1.08)}.symd-confirm-btn:disabled{opacity:.5;cursor:not-allowed}.symd-back-btn{color:var(--color-text-muted);border:1px solid var(--color-border);background:0 0;border-radius:6px;padding:5px 12px;font-size:12px}.symd-back-btn:hover:not(:disabled){color:var(--color-text);border-color:var(--color-text-muted)}.symd-confirm-error{color:var(--color-loss);flex-basis:100%;font-size:11px}.symd-empty{color:var(--color-text-muted);text-align:center;margin:0;padding:16px 0;font-size:13px;font-style:italic}.symd-empty-page{background:var(--color-surface);border:1px solid var(--color-border);text-align:center;border-radius:8px;padding:24px 20px}.symd-empty-page .symd-back{margin-bottom:0}.symd-error{border:1px solid var(--color-offline);color:var(--color-offline);background:#fc81811a;border-radius:8px;padding:20px;line-height:1.8}.symd-page .skeleton{background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;width:100%;position:relative;overflow:hidden}.symd-page .skeleton__wave{background:linear-gradient(90deg,#0000 0%,#667eea14 50%,#0000 100%) 0 0/200% 100%;animation:1.6s ease-in-out infinite symd-skeleton-sweep;position:absolute;inset:0}@keyframes symd-skeleton-sweep{0%{background-position:200% 0}to{background-position:-200% 0}}.journal-page{max-width:1600px;padding:24px}.journal-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.journal-header-actions{align-items:center;gap:10px;display:flex}.page-title{margin:0 0 4px;font-size:24px;font-weight:700}.page-subtitle{color:var(--color-text-muted);margin:0;font-size:13px}.btn-toggle-filters{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);cursor:pointer;border-radius:6px;padding:8px 14px;font-size:13px;transition:border-color .15s}.btn-toggle-filters:hover{border-color:var(--color-accent)}.btn-export{background:var(--color-accent);color:#fff;cursor:pointer;opacity:1;border:none;border-radius:6px;padding:8px 16px;font-size:13px;transition:opacity .15s}.btn-export:disabled{opacity:.4;cursor:not-allowed}.filter-bar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;margin-bottom:16px;padding:16px 20px}.filter-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:14px;display:grid}.filter-group{flex-direction:column;gap:4px;display:flex}.filter-group label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);font-size:11px}.filter-input{background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border);border-radius:5px;width:100%;padding:7px 10px;font-size:13px}.filter-input:focus{border-color:var(--color-accent);outline:none}.filter-actions{gap:10px;display:flex}.btn-apply{background:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:8px 18px;font-size:13px}.btn-apply:hover{opacity:.9}.btn-reset{color:var(--color-text-muted);border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:6px;padding:8px 14px;font-size:13px}.btn-reset:hover{color:var(--color-text);border-color:var(--color-text-muted)}.results-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.results-count{color:var(--color-text-muted);font-size:13px}.pagination{align-items:center;gap:10px;display:flex}.pagination-bottom{justify-content:center;margin-top:16px}.btn-page{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);cursor:pointer;border-radius:5px;padding:6px 14px;font-size:13px;transition:border-color .15s}.btn-page:hover:not(:disabled){border-color:var(--color-accent)}.journal-table{border-collapse:collapse;width:100%;font-size:12px}.journal-table th{background:var(--color-surface);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border-bottom:1px solid var(--color-border);text-align:left;padding:9px 10px;font-size:11px}.journal-table td{border-bottom:1px solid var(--color-border);white-space:nowrap;font-family:var(--font-mono);padding:9px 10px}.journal-row:last-child td{border-bottom:none}.journal-row:hover td{background:#667eea0d}.col-time{min-width:130px;color:var(--color-text-muted);font-size:11px}.col-symbol{font-weight:600}.col-num{text-align:right}.col-profit{font-weight:600}.col-instance{color:var(--color-text-muted);font-size:11px}.dir-badge{border-radius:4px;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:inline-flex}.dir-buy{color:var(--color-online);background:#48bb7826}.dir-sell{color:var(--color-offline);background:#fc818126}.source-badge{letter-spacing:.04em;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600;display:inline-block}.source-live{color:#a5b4fc;background:#667eea33}.source-hist{color:var(--color-text-muted);background:#71809633}.profit-pos{color:var(--color-online)}.profit-neg{color:var(--color-offline)}.journal-skeleton{flex-direction:column;gap:8px;display:flex}.empty-icon{margin-bottom:16px;font-size:48px}.empty-state h3{color:var(--color-text);margin:0 0 8px;font-size:18px}.error-banner{border:1px solid var(--color-offline);color:var(--color-offline);background:#fc81811a;border-radius:6px;margin-bottom:16px;padding:12px 16px;font-size:13px}.pa-page{max-width:1800px;padding:24px}.pa-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px;display:flex}.pa-page .page-title{margin:0 0 4px;font-size:24px;font-weight:700}.pa-page .page-subtitle{color:var(--color-text-muted);max-width:760px;margin:0;font-size:13px}.pa-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);font-size:11px}.pa-mono{font-family:var(--font-mono)}.pa-muted{color:var(--color-text-muted)}.pa-small{font-size:11.5px}.pa-pos{color:var(--color-profit)}.pa-neg{color:var(--color-loss)}.pa-pending{color:var(--color-pending)}.pa-out{color:var(--color-loss);font-family:var(--font-mono)}.pa-in{color:var(--color-profit);font-family:var(--font-mono);font-weight:600}.pa-sym{font-family:var(--font-mono);font-weight:600}.pa-tabs{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;gap:4px;padding:4px;display:flex}.pa-tab{min-height:44px;color:var(--color-text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:0 18px;font-weight:600}.pa-tab--on{background:var(--color-accent);color:var(--color-bg)}.pa-controls{flex-wrap:wrap;align-items:flex-end;gap:16px 24px;margin-bottom:14px;display:flex}.pa-field{flex-direction:column;gap:6px;display:flex}.pa-field select,.pa-field input{background:var(--color-bg);min-height:44px;color:var(--color-text);border:1px solid var(--color-border);font:inherit;font-family:var(--font-mono);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:8px;padding:0 12px}.pa-field select{min-width:260px}.pa-presets{border:1px solid var(--color-border);border-radius:8px;display:flex;overflow:hidden}.pa-preset{border:0;border-right:1px solid var(--color-border);background:var(--color-bg);min-height:44px;color:var(--color-text);font:inherit;cursor:pointer;padding:0 14px;font-size:13px}.pa-preset:last-child{border-right:0}.pa-preset--on{background:var(--color-accent);color:var(--color-bg);font-weight:600}.pa-custom{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.pa-range-notes{flex-direction:column;align-self:center;gap:2px;display:flex}.pa-range-note{color:var(--color-text-muted);font-size:12px}.pa-range-warn{color:var(--color-warning);font-size:12px}.pa-strong{font-weight:600}.pa-snap{color:var(--color-pending);white-space:nowrap;font-family:inherit;font-size:11px}.pa-kpi .pa-snap{font-size:11.5px}.pa-btn{border:1px solid var(--color-border);background:var(--color-bg);min-height:36px;color:var(--color-text);font:inherit;cursor:pointer;border-radius:8px;padding:0 14px;font-size:13px}.pa-btn:hover:not(:disabled){border-color:var(--color-accent)}.pa-btn:disabled{opacity:.45;cursor:not-allowed}.pa-btn--big{min-height:44px;padding:0 16px;font-size:14px;font-weight:600}.pa-custom .pa-btn{min-height:44px}.pa-btn--primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg)}.pa-cache{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-bottom:14px;padding:12px 16px;display:flex}.pa-cache-dot{background:var(--color-online);border-radius:50%;flex:none;width:10px;height:10px}.pa-cache-text{flex-direction:column;flex:320px;gap:2px;min-width:0;display:flex}.pa-cache-title{font-weight:600}.pa-cache-detail{color:var(--color-text-muted);font-size:12.5px}.pa-cache-warn{color:var(--color-warning);font-size:12.5px}.pa-cache--stale{border-color:var(--color-pending);background:var(--color-pending-bg)}.pa-cache--stale .pa-cache-dot{background:var(--color-pending)}.pa-cache--running{border-color:var(--color-accent)}.pa-cache--running .pa-cache-dot{background:var(--color-accent)}.pa-cache--empty .pa-cache-dot{background:var(--color-neutral)}.pa-progress{background:var(--color-border);border-radius:2px;flex:160px;max-width:240px;height:4px;overflow:hidden}.pa-progress>div{background:var(--color-accent);width:40%;height:100%;animation:1.4s ease-in-out infinite pa-slide}@keyframes pa-slide{0%{transform:translate(-100%)}to{transform:translate(250%)}}@media (prefers-reduced-motion:reduce){.pa-progress>div{opacity:.5;width:100%;animation:none}}.pa-state{color:var(--color-text-muted);padding:16px 0}.pa-error,.pa-notice,.pa-stuck{border-radius:8px;margin-bottom:14px;padding:10px 14px;font-size:13px}.pa-error{border:1px solid var(--color-loss);background:var(--color-neg-bg)}.pa-notice{border:1px solid var(--color-accent);background:var(--color-surface)}.pa-stuck{border:1px solid var(--color-loss);background:var(--color-neg-bg);color:var(--color-loss);font-weight:600}.pa-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;min-width:0;padding:14px}.pa-panel-title{margin-bottom:10px;font-size:15px;font-weight:600}.pa-panel-subtitle{margin:14px 0 8px;font-size:13px;font-weight:600}.pa-panel>.pa-panel-subtitle:first-child{margin-top:0}.pa-rank{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:16px;display:grid}.pa-table-wrap{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.pa-table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:13px}.pa-table th{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);text-align:right;border-bottom:1px solid var(--color-border);padding:9px 10px;font-size:11px;font-weight:500}.pa-table td{border-bottom:1px solid var(--color-border);text-align:right;padding:7px 10px}.pa-table .pa-left{text-align:left}.pa-num{font-family:var(--font-mono);text-align:right;white-space:nowrap}.pa-row--running{background:#667eea14}.pa-row--add{background:var(--color-pos-bg)}.pa-chip{white-space:nowrap;background:var(--color-border);color:var(--color-text);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.pa-chip--keep,.pa-slot--keep{color:var(--color-profit);background:#48bb7826}.pa-chip--watch,.pa-slot--watch{color:var(--color-warning);background:#ecc94b26}.pa-chip--avoid,.pa-chip--stuck,.pa-slot--replace{color:var(--color-loss);background:#fc818126}.pa-slot--stuck_here{background:var(--color-loss);color:var(--color-bg)}.pa-slot--unknown{background:var(--color-border);color:var(--color-text-muted)}.pa-cell--lag{outline:2px dashed var(--color-pending);outline-offset:-2px}.pa-mark--lag{-webkit-text-decoration:underline dotted var(--color-pending);text-decoration:underline dotted var(--color-pending)}.pa-chip--nodata{background:var(--color-border);color:var(--color-text-muted)}.pa-chip--orphan{background:var(--color-pending-bg);color:var(--color-pending)}.pa-mark{color:var(--color-text-muted);white-space:nowrap;font-size:12px}.pa-mark--add{color:var(--color-profit);font-weight:600;font-family:var(--font-mono)}.pa-mark--out{color:var(--color-loss)}.pa-cards{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.pa-card{border:1px solid var(--color-border);border-radius:8px;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;min-height:44px;padding:10px 12px;display:grid}.pa-card-sym{font-family:var(--font-mono);font-weight:600}.pa-card .pa-card-net{text-align:left}.pa-side-text{margin:0 0 10px;font-size:13px}.pa-swaplist,.pa-swapcards{margin:0;padding:0;list-style:none}.pa-swaplist li{border-bottom:1px solid var(--color-border);justify-content:space-between;padding:6px 0;font-size:13px;display:flex}.pa-swapcards li{border:1px solid var(--color-border);border-radius:8px;margin-bottom:8px;padding:8px 10px;font-size:12.5px}.pa-slotchips{flex-wrap:wrap;gap:6px;margin-bottom:4px;display:flex}.pa-slotchip{font-family:var(--font-mono);border-radius:6px;padding:5px 8px;font-size:12px}.pa-link{margin-top:6px;font-size:13px;display:inline-block}.pa-matrix-scroll{-webkit-overflow-scrolling:touch;margin-bottom:8px;overflow-x:auto}.pa-matrix{flex-direction:column;gap:4px;min-width:100%;display:inline-flex}.pa-mrow{border:1px solid #0000;border-radius:8px;align-items:center;gap:4px;padding:3px 4px;display:flex}.pa-mbody{color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0}.pa-mbody:hover{border-color:var(--color-border)}.pa-mrow--on{border-color:var(--color-accent);background:#667eea24}.pa-mrow--dim{opacity:.55}.pa-mid{flex-direction:column;flex:none;width:200px;font-size:12px;display:flex}.pa-mnet{text-align:right;flex:none;width:76px;font-size:12px}.pa-mcol{width:42px;color:var(--color-text-muted);flex:none;justify-content:center;display:flex}.pa-mcol--keep{color:var(--color-profit)}.pa-msep{margin-right:8px}.pa-colh{writing-mode:vertical-rl;font-family:var(--font-mono);white-space:nowrap;padding:6px 0;font-size:11px;transform:rotate(180deg)}.pa-cell{width:42px;height:32px;font-family:var(--font-mono);border-radius:5px;flex:none;justify-content:center;align-items:center;font-size:11px;display:flex}.pa-cell--empty{border:1px dashed var(--color-border)}.pa-cell--zero{background:var(--color-border);color:var(--color-text-muted)}.pa-cell--pos{color:var(--color-text);background:#48bb7859}.pa-cell--good{background:var(--color-profit);color:var(--color-bg)}.pa-cell--warn{background:var(--color-pending-bg);color:var(--color-pending);border:1px solid var(--color-pending)}.pa-cell--stuck{background:var(--color-loss);color:var(--color-bg);font-weight:600}.pa-cell--orphan{border:1px dashed var(--color-pending);color:var(--color-pending)}.pa-cell--snap{outline:2px dotted var(--color-pending);outline-offset:-2px}.pa-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.pa-kpi{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.pa-kpi-value{font-family:var(--font-mono);font-size:20px}.pa-account-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:16px;display:grid}.pa-side-col{flex-direction:column;gap:16px;display:flex}.pa-slots{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;display:grid}.pa-slot{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;flex-direction:column;gap:8px;padding:12px;display:flex}.pa-slotcard--replace,.pa-slotcard--stuck_here{border-color:var(--color-loss)}.pa-slotcard--orphan{border-style:dashed;border-color:var(--color-pending)}.pa-slot-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.pa-slot-kv{grid-template-columns:auto 1fr;gap:2px 10px;margin:0;font-size:12.5px;display:grid}.pa-slot-kv dt{color:var(--color-text-muted)}.pa-slot-kv dd{text-align:right;font-family:var(--font-mono);margin:0}.pa-slot-swap{font-size:12.5px}.pa-basket-note{color:var(--color-pending);font-family:inherit;font-size:12px}.pa-swapline{white-space:nowrap}.pa-depth-unknown{color:var(--color-pending);margin:0 0 10px;font-size:12.5px}.pa-other-eas{margin:12px 0 0}.pa-ccy-head{justify-content:space-between;display:flex}.pa-ccy{grid-template-columns:40px 1fr 44px;align-items:center;gap:10px;padding:4px 0;font-size:12.5px;display:grid}.pa-ccy-bars{flex-direction:column;gap:3px;display:flex}.pa-segs{gap:2px;display:flex}.pa-seg{background:var(--color-bg);border-radius:2px;flex:1;height:6px}.pa-seg--now{background:var(--color-neutral)}.pa-seg--after{background:var(--color-accent)}@media (width<=899px){.pa-page{padding:16px}.pa-rank,.pa-account-grid,.pa-kpis,.pa-slots{grid-template-columns:minmax(0,1fr)}.pa-controls,.pa-custom{flex-direction:column;align-items:stretch}.pa-field select{width:100%;min-width:0}.pa-presets{width:100%}.pa-preset{white-space:nowrap;flex:1;padding:0 6px;font-size:12.5px}.pa-tabs{width:100%}.pa-tab{flex:1}.pa-btn{min-height:44px}.pa-cache .pa-btn{justify-content:center;width:100%}}.rk .page-title{margin:0 0 4px;font-size:24px;font-weight:700}.rk .page-subtitle{color:var(--color-text-muted);max-width:900px;margin:0;font-size:13px}.rk-dot--worry,.rk-dot--closeAll{background:var(--color-drawdown)}.rk-dot--danger,.rk-dot--stopOut{background:var(--color-loss)}.rk-dot--marginCall{background:var(--color-pending)}.system-health{max-width:1400px}.sh-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:24px;display:flex}.sh-header-right{align-items:center;gap:12px;display:flex}.sh-section-title{text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);align-items:center;gap:12px;margin-bottom:12px;font-size:11px;font-weight:600;display:flex}.sh-cards{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:8px;display:grid}.sh-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:16px}.sh-card--skeleton{height:88px;animation:1.5s ease-in-out infinite pulse}.sh-card-label{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin-bottom:8px;font-size:10px}.sh-card-value{color:var(--color-text);align-items:center;gap:6px;margin-bottom:4px;font-size:18px;font-weight:700;display:flex}.sh-card-sub{color:var(--color-text-muted);font-size:11px;font-family:var(--font-mono)}.status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.status-dot--online{background:var(--color-online);box-shadow:0 0 4px var(--color-online)}.status-dot--warning{background:var(--color-warning)}.status-dot--offline{background:var(--color-offline)}.latency{font-family:var(--font-mono);font-size:18px;font-weight:700}.latency--good{color:var(--color-online)}.latency--warn{color:var(--color-warning)}.latency--bad{color:var(--color-offline)}.latency-na{color:var(--color-text-muted)}.sh-instance-counts{text-transform:none;letter-spacing:0;gap:8px;font-size:11px;font-weight:600;display:flex}.sh-count{font-family:var(--font-mono);border-radius:10px;padding:2px 8px}.sh-count--online{color:var(--color-online);background:#48bb781f}.sh-count--warning{color:var(--color-warning);background:#edb5441f}.sh-count--offline{color:var(--color-offline);background:#fc81811f}.sh-table-wrap{border:1px solid var(--color-border);border-radius:8px;overflow-x:auto}.sh-table{border-collapse:collapse;width:100%;font-size:13px}.sh-table th{background:var(--color-surface);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.07em;text-align:left;border-bottom:1px solid var(--color-border);white-space:nowrap;padding:10px 14px;font-size:10px;font-weight:600}.sh-table td{color:var(--color-text);white-space:nowrap;border-bottom:1px solid #ffffff0a;padding:12px 14px}.sh-row:last-child td{border-bottom:none}.sh-row--online{border-left:3px solid var(--color-online)}.sh-row--warning{border-left:3px solid var(--color-warning)}.sh-row--offline{border-left:3px solid var(--color-offline);opacity:.75}.sh-instance-link{color:var(--color-accent);font-family:var(--font-mono);font-size:12px;text-decoration:none}.sh-instance-link:hover{text-decoration:underline}.mono{font-family:var(--font-mono);font-size:12px}.status-badge{text-transform:capitalize;border-radius:10px;align-items:center;gap:5px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.status-badge--online{color:var(--color-online);background:#48bb781f}.status-badge--warning{color:var(--color-warning);background:#edb5441f}.status-badge--offline{color:var(--color-offline);background:#fc81811f}.uptime-wrap{align-items:center;gap:8px;min-width:100px;display:flex}.uptime-bar{background:var(--color-border);border-radius:3px;flex:1;height:6px;position:relative;overflow:hidden}.uptime-bar:after{content:"";width:var(--pct);background:var(--color);border-radius:3px;transition:width .4s;position:absolute;top:0;bottom:0;left:0}.uptime-pct{font-family:var(--font-mono);color:var(--color-text-muted);min-width:38px;font-size:12px}.sh-skeleton-row{background:var(--color-surface);border-bottom:1px solid var(--color-border);height:48px;animation:1.5s ease-in-out infinite pulse}.error-banner{color:var(--color-offline);background:#fc81811a;border:1px solid #fc81814d;border-radius:6px;margin-bottom:20px;padding:10px 16px;font-size:13px}.empty-state{min-height:280px;color:var(--color-text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state h3{color:var(--color-text);margin-bottom:8px;font-size:18px}.empty-state p{max-width:380px;font-size:13px;line-height:1.6}@media (width<=768px){.sh-cards{grid-template-columns:repeat(2,1fr)}.sh-header{flex-direction:column}}@media (width<=480px){.sh-cards{grid-template-columns:1fr 1fr}}.alert-log{max-width:1400px}.alert-log-header{justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;display:flex}.alert-filters{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.filter-select{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;border-radius:6px;min-width:160px;padding:.4rem .75rem;font-size:13px}.filter-select:focus{border-color:var(--color-accent);outline:none}.alert-table{border-collapse:collapse;width:100%;font-size:13px}.alert-table thead tr{background:var(--color-surface);border-bottom:2px solid var(--color-border)}.alert-table th{text-align:left;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;padding:.7rem 1rem;font-size:11px;font-weight:600}.alert-table td{border-bottom:1px solid var(--color-border);vertical-align:top;padding:.65rem 1rem}.alert-table tbody tr:last-child td{border-bottom:none}.alert-table tbody tr:hover{background:#ffffff08}.severity-row-critical{border-left:3px solid var(--color-offline)}.severity-row-warning{border-left:3px solid var(--color-warning)}.severity-row-info{border-left:3px solid var(--color-online)}.col-time{white-space:nowrap;color:var(--color-text-muted);min-width:165px}.col-instance{min-width:160px;font-family:var(--font-mono);font-size:12px}.col-type{white-space:nowrap;min-width:120px}.col-severity{min-width:90px}.col-message{word-break:break-word;min-width:300px}.severity-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:4px;padding:.2rem .55rem;font-size:11px;font-weight:700;display:inline-block}.severity-critical{color:var(--color-offline);background:#fc818133}.severity-warning{color:var(--color-warning);background:#ecc94b33}.severity-info{color:var(--color-online);background:#48bb7833}.pagination{justify-content:center;align-items:center;gap:1rem;margin-top:1.25rem;display:flex}.btn-page{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);border-radius:6px;padding:.4rem 1rem;font-size:13px}.btn-page:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.btn-page:disabled{opacity:.4;cursor:not-allowed}.page-info{color:var(--color-text-muted);font-size:13px}.log-skeleton{flex-direction:column;gap:.5rem;margin-top:1rem;display:flex}.skeleton-row{background:var(--color-surface);border-radius:6px;height:44px;animation:1.5s ease-in-out infinite pulse}.empty-state{text-align:center;color:var(--color-text-muted);padding:4rem 2rem}.empty-icon{opacity:.4;margin-bottom:1rem;font-size:3rem}.empty-state h3{color:var(--color-text);margin-bottom:.5rem}.error-banner{border:1px solid var(--color-offline);color:var(--color-offline);background:#fc81811a;border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem}.btn-refresh{background:var(--color-accent);color:#fff;border:none;border-radius:6px;padding:.4rem 1rem;font-size:13px}.btn-refresh:hover:not(:disabled){opacity:.85}.btn-refresh:disabled{opacity:.5;cursor:not-allowed}.flc-page{padding:20px 24px 120px}.flc-title{margin:0 0 4px;font-size:22px;font-weight:700}.flc-sub{color:var(--color-text-muted);max-width:780px;margin:0 0 16px;font-size:12px}.flc-readonly-note{color:var(--color-text-muted);margin:-10px 0 16px;font-size:11px}.flc-too-narrow{text-align:center;max-width:460px;color:var(--color-text-muted);margin:80px auto;font-size:13px}.flc-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;margin-bottom:18px;padding:14px 18px}.flc-section-title{text-transform:uppercase;letter-spacing:.6px;color:var(--color-text-muted);margin:0 0 12px;font-size:13px;font-weight:700}.flc-filters{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:12px;display:flex}.flc-filter{flex-direction:column;gap:3px;display:flex}.flc-filter-label{text-transform:uppercase;letter-spacing:.4px;color:var(--color-text-muted);font-size:10px;font-weight:600}.flc-filter select,.flc-filter input{border:1px solid var(--color-border);color:var(--color-text);background:#0003;border-radius:4px;min-width:120px;padding:4px 6px;font-size:12px}.flc-showing{color:var(--color-text-muted);margin-left:auto;font-size:11px}.flc-clear-filters,.flc-retry{color:var(--color-accent);background:0 0;border:none;padding:0 0 0 8px;font-size:11px;text-decoration:underline}.flc-table-wrap{overflow-x:auto}.flc-table{border-collapse:collapse;width:100%;font-size:12px}.flc-th{text-align:left;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);white-space:nowrap;cursor:pointer;padding:5px 10px;font-weight:600}.flc-cell{white-space:nowrap;border-bottom:1px solid #2a2d3a99;padding:5px 10px}.flc-row{cursor:pointer;border-left:2px solid #0000}.flc-row--selected{border-left-color:var(--color-accent);background:#667eea1a}.flc-mono{font-family:var(--font-mono)}.flc-symbol{font-weight:600}.flc-muted{color:var(--color-text-muted);font-size:11px}.flc-ovr{color:var(--color-accent)}.flc-dot{border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.flc-dot--on{background:var(--color-online)}.flc-dot--off{background:var(--color-text-muted)}.flc-table-foot{gap:10px;padding-top:10px;display:flex}.flc-selectall-btn{border:1px solid var(--color-border);color:var(--color-text);background:0 0;border-radius:6px;padding:4px 10px;font-size:11px}.flc-loading,.flc-empty{color:var(--color-text-muted);text-align:center;padding:18px 0;font-size:12px}.flc-error{border:1px solid var(--color-offline);color:var(--color-text);background:#fc81811a;border-radius:6px;padding:10px 12px;font-size:12px}.flc-actionbar{background:var(--color-surface);border:1px solid var(--color-border);z-index:20;border-radius:8px 8px 0 0;align-items:center;gap:14px;padding:10px 16px;display:flex;position:fixed;bottom:0;left:240px;right:24px;box-shadow:0 -4px 12px #00000059}.flc-count{font-size:12px;font-weight:600}.flc-count--warn{color:var(--color-drawdown)}.flc-actionbar-right{align-items:center;gap:10px;margin-left:auto;display:inline-flex}.flc-blocked-reason{font-style:italic}.flc-btn--ghost{border:1px solid var(--color-border);color:var(--color-text-muted);background:0 0;border-radius:6px;padding:5px 12px;font-size:12px}.flc-btn--ghost:hover:not(:disabled){color:var(--color-text);border-color:var(--color-text-muted)}.flc-btn--primary{background:var(--color-accent);border:1px solid var(--color-accent);color:#fff;border-radius:6px;padding:5px 13px;font-size:12px;font-weight:600}.flc-btn--danger{background:var(--color-drawdown);border:1px solid var(--color-drawdown);color:#0f1117;border-radius:6px;padding:5px 13px;font-size:12px;font-weight:700}.flc-btn--primary:disabled,.flc-btn--danger:disabled,.flc-btn--ghost:disabled,.flc-selectall-btn:disabled{opacity:.5;cursor:not-allowed}.flc-scrim{z-index:60;background:#0f1117b8;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.flc-modal{background:var(--color-surface);border:1px solid var(--color-drawdown);border-radius:10px;width:calc(100% - 48px);max-width:760px;max-height:82vh;padding:18px 22px;overflow-y:auto}.flc-modal-head{margin:0 0 4px;font-size:18px;font-weight:700}.flc-modal-head b{color:var(--color-drawdown)}.flc-modal-sub{color:var(--color-text-muted);font-size:11px;font-family:var(--font-mono);margin:0 0 14px}.flc-modal-section{letter-spacing:.6px;color:var(--color-text-muted);margin:14px 0 6px;font-size:11px;font-weight:700}.flc-mixed{border:1px solid var(--color-drawdown);background:#ecc94b0f;border-radius:6px;padding:10px 12px}.flc-mixed-head{color:var(--color-drawdown);margin:0 0 4px;font-size:12px;font-weight:700}.flc-mixed-bd{font-family:var(--font-mono);margin:0 0 4px;font-size:12px}.flc-mixed-note{color:var(--color-text-muted);margin:0 0 8px;font-size:11px}.flc-ack{cursor:pointer;align-items:center;gap:8px;font-size:12px;display:flex}.flc-targets{border:1px solid var(--color-border);border-radius:6px;max-height:34vh;padding:6px 10px;overflow-y:auto}.flc-target-head{background:var(--color-surface);color:var(--color-text-muted);margin:0;padding:4px 0;font-size:11px;font-weight:700;position:sticky;top:0}.flc-target{align-items:center;gap:10px;margin:0;padding:2px 0 2px 8px;font-size:11px;display:flex}.flc-target-inst{min-width:190px}.flc-warns{margin-top:12px}.flc-warn,.flc-warn--muted{color:var(--color-drawdown);margin:3px 0;font-size:11px}.flc-warn--muted{color:var(--color-text-muted)}.flc-typed{align-items:center;gap:8px;margin-top:12px;font-size:12px;display:flex}.flc-typed-input{border:1px solid var(--color-border);color:var(--color-text);font-family:var(--font-mono);background:#0003;border-radius:4px;width:70px;padding:4px 6px}.flc-modal-error{color:var(--color-loss);margin:10px 0 0;font-size:12px}.flc-modal-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:16px;display:flex}.flc-spinner{border:2px solid #f6ad5540;border-top-color:var(--color-pending);border-radius:50%;width:10px;height:10px;margin-right:6px;animation:.8s linear infinite flc-spin;display:inline-block}@keyframes flc-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.flc-spinner{animation:none}}.flc-page button:focus-visible,.flc-page input:focus-visible,.flc-page select:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.badge-auto{color:#63b3ed;vertical-align:middle;letter-spacing:.03em;background:#63b3ed26;border-radius:3px;margin-left:6px;padding:1px 5px;font-size:10px;font-weight:600;display:inline-block}.settings-page{max-width:1100px;position:relative}.settings-header{margin-bottom:2rem}.settings-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;margin-bottom:1.5rem;padding:1.5rem}.section-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.section-title{margin:0;font-size:1.05rem;font-weight:600}.btn-primary{background:var(--color-accent);color:#fff;border:none;border-radius:6px;padding:.45rem 1rem;font-size:13px;font-weight:500}.btn-primary:hover:not(:disabled){opacity:.85}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{border:1px solid var(--color-border);color:var(--color-text,#e2e8f0);cursor:pointer;background:0 0;border-radius:6px;padding:.45rem 1rem;font-size:13px;font-weight:500}.btn-secondary:hover:not(:disabled){background:#ffffff0a}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-edit{border:1px solid var(--color-accent);color:var(--color-accent);background:0 0;border-radius:4px;padding:.25rem .6rem;font-size:12px}.btn-save{background:var(--color-online);color:#000;border:none;border-radius:4px;padding:.25rem .6rem;font-size:12px}.btn-cancel{border:1px solid var(--color-border);color:var(--color-text-muted);background:0 0;border-radius:4px;padding:.25rem .6rem;font-size:12px}.btn-delete{border:1px solid var(--color-offline);color:var(--color-offline);background:0 0;border-radius:4px;padding:.25rem .6rem;font-size:12px}.btn-remove{border:1px solid var(--color-offline);color:var(--color-offline);cursor:pointer;background:0 0;border-radius:4px;padding:.25rem .6rem;font-size:12px}.btn-edit:hover{background:#667eea1f}.btn-delete:hover,.btn-remove:hover{background:#fc81811f}.action-btns{gap:.4rem;display:flex}.toggle-btn{border:none;border-radius:4px;padding:.2rem .6rem;font-size:11px;font-weight:700}.toggle-on{color:var(--color-online);background:#48bb7833}.toggle-off{color:var(--color-text-muted);background:#ffffff0d}.table-wrapper{border:1px solid var(--color-border);border-radius:6px;overflow-x:auto}.settings-table{border-collapse:collapse;width:100%;font-size:13px}.settings-table thead tr{border-bottom:2px solid var(--color-border);background:#00000040}.settings-table th{text-align:left;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;padding:.6rem .85rem;font-size:11px;font-weight:600}.settings-table td{border-bottom:1px solid var(--color-border);vertical-align:middle;padding:.6rem .85rem}.settings-table tbody tr:last-child td{border-bottom:none}.settings-table tbody tr:hover{background:#ffffff06}.add-rule-form{border:1px solid var(--color-border);background:#0003;border-radius:8px;flex-direction:column;gap:.75rem;margin-bottom:1.25rem;padding:1.25rem;display:flex}.form-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.form-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;min-width:110px;font-size:12px;font-weight:600}.form-control{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);border-radius:6px;flex:1;min-width:180px;padding:.4rem .75rem;font-size:13px}.form-control:focus{border-color:var(--color-accent);outline:none}.form-control-sm{flex:none;max-width:120px}.form-hint{color:var(--color-text-muted);font-size:11px}.form-actions{margin-top:.25rem}.mono-text{font-family:var(--font-mono);font-size:12px}.text-muted{color:var(--color-text-muted)}.extra-json{font-family:var(--font-mono);color:var(--color-text-muted);font-size:11px}.loading-text{color:var(--color-text-muted);padding:1rem 0}.empty-text{color:var(--color-text-muted)}.badge-global{color:var(--color-accent);background:#667eea26;border-radius:4px;padding:.15rem .45rem;font-size:11px;font-weight:600;display:inline-block}.badge-override{color:var(--color-warning);background:#ecc94b26;border-radius:4px;padding:.15rem .45rem;font-size:11px;font-weight:600;display:inline-block}.rule-note{color:var(--color-text-muted);margin-top:2px;font-size:11px;display:block}.pair-dd-extra{flex-direction:column;gap:.35rem;display:flex}.inline-field{color:var(--color-text-muted);align-items:center;gap:.4rem;font-size:12px;display:flex}.telegram-status{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:1rem;display:flex}.input-with-action{flex:1;gap:8px;min-width:180px;display:flex}.input-with-action .form-control{flex:1}.form-error{color:var(--color-loss,var(--color-offline));margin:4px 0 8px;font-size:12px}.form-actions{gap:.5rem;margin-top:.5rem;display:flex}.telegram-info{flex-direction:column;gap:.75rem;margin-bottom:1rem;display:flex}.info-row{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.info-label{font-family:var(--font-mono);color:var(--color-text-muted);min-width:200px;font-size:12px}.info-value.masked{color:var(--color-text-muted);letter-spacing:.1em}.info-hint{color:var(--color-text-muted);font-size:11px;font-style:italic}.telegram-note{color:var(--color-text-muted);margin-bottom:1rem;font-size:13px;line-height:1.6}.telegram-note code{font-family:var(--font-mono);background:#ffffff12;border-radius:3px;padding:.1rem .35rem;font-size:12px}.toast-stack{z-index:1000;flex-direction:column-reverse;gap:.5rem;display:flex;position:fixed;bottom:1.5rem;right:1.5rem}.toast{border-radius:8px;align-items:center;gap:.75rem;min-width:260px;max-width:420px;padding:.65rem 1rem;font-size:13px;font-weight:500;animation:.2s slide-in;display:flex;box-shadow:0 4px 16px #00000080}@keyframes slide-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.toast-success{border:1px solid var(--color-online);color:var(--color-online);background:#1a3326}.toast-error{border:1px solid var(--color-offline);color:var(--color-offline);background:#2d1515}.toast-info{border:1px solid var(--color-accent);color:var(--color-accent);background:#1a2040}.toast-close{color:inherit;opacity:.6;background:0 0;border:none;margin-left:auto;padding:0;font-size:14px;line-height:1}.toast-close:hover{opacity:1}.api-key-reveal{border-left:3px solid var(--color-warning,#f6ad55);background:#f6ad5512;border-radius:4px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;padding:10px 12px;display:flex}.api-key-label{color:var(--color-warning,#f6ad55);white-space:nowrap;font-size:11px;font-weight:600}.api-key-input{min-width:200px;font-family:var(--font-mono,monospace);background:var(--bg-input,#1a1d27);border:1px solid var(--color-border);color:var(--color-text,#e2e8f0);border-radius:4px;flex:1;padding:4px 8px;font-size:11px}.api-key-warning{color:var(--color-text-muted,#718096);width:100%;font-size:11px}.btn-copy{white-space:nowrap;background:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:4px 10px;font-size:12px;font-weight:500}.btn-copy:hover{opacity:.85}.status-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:4px;padding:.15rem .5rem;font-size:11px;font-weight:700;display:inline-block}.status-online{color:var(--color-online);background:#48bb7826}.status-warning{color:var(--color-warning,#f6ad55);background:#f6ad5526}.status-offline{color:var(--color-offline);background:#fc818126}.api-key-row td{border-bottom:1px solid var(--color-border);background:#f6ad5508}.login-page{background:var(--color-bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--color-surface);border:1px solid var(--color-border);text-align:center;border-radius:12px;width:100%;max-width:380px;padding:40px 36px}.login-logo{justify-content:center;align-items:center;gap:10px;margin-bottom:6px;display:flex}.login-logo-eye{color:var(--color-accent);font-size:28px}.login-logo-text{letter-spacing:.05em;color:var(--color-text);font-size:26px;font-weight:700}.login-subtitle{color:var(--color-text-muted);margin:0 0 28px;font-size:13px}.login-form{text-align:left;flex-direction:column;gap:16px;display:flex}.login-field{flex-direction:column;gap:6px;display:flex}.login-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:600}.login-input{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);border-radius:6px;outline:none;width:100%;padding:10px 12px;font-size:14px;transition:border-color .15s}.login-input:focus{border-color:var(--color-accent)}.login-error{color:var(--color-offline);background:#fc81811a;border:1px solid #fc81814d;border-radius:6px;padding:8px 12px;font-size:13px}.login-btn{background:var(--color-accent);color:#fff;border:none;border-radius:6px;min-height:44px;margin-top:4px;padding:11px 20px;font-size:14px;font-weight:600;transition:opacity .15s}.login-btn:hover:not(:disabled){opacity:.88}.login-btn:disabled{opacity:.45;cursor:not-allowed}.sidebar-pin{display:none}@media (width>=769px){.sidebar-slot{flex-shrink:0;width:56px;position:relative}.sidebar-slot--pinned{width:212px}.sidebar-slot>.sidebar{height:100vh;min-height:0;overflow:hidden auto}.sidebar--pinned{position:sticky;top:0}.sidebar--rail{z-index:50;transition:width .18s;position:fixed;top:0;left:0}.sidebar--rail:not(.sidebar--collapsed){box-shadow:8px 0 24px #00000073}.sidebar-pin{color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;border-radius:5px;flex:none;justify-content:center;align-items:center;padding:4px;display:inline-flex}.sidebar-pin:hover{color:var(--color-text);background:#ffffff0a}.sidebar-pin--on{color:var(--color-accent)}.sidebar-pin:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.sidebar.sidebar--collapsed{width:56px}.sidebar--collapsed .logo-text,.sidebar--collapsed .nav-label,.sidebar--collapsed .nav-section,.sidebar--collapsed .sidebar-username,.sidebar--collapsed .btn-logout-label,.sidebar--collapsed .sidebar-pin{display:none}.sidebar--collapsed .sidebar-logo{flex-direction:column;gap:4px;padding:12px 0}.sidebar--collapsed .sidebar-logo .version{margin:0;font-size:9px}.sidebar--collapsed .nav-divider{background:var(--color-border);height:1px;margin:8px 14px;display:block}.sidebar--collapsed .nav-group:first-child .nav-divider{display:none}.sidebar--collapsed .nav-link{justify-content:center;padding:8px 0}.sidebar--collapsed .nav-badge{min-width:14px;margin:0;padding:0 3px;font-size:9px;line-height:13px;position:absolute;top:1px;right:2px}.sidebar--collapsed .sidebar-footer{align-items:center;padding:10px 0}.sidebar--collapsed .sidebar-user{flex-direction:column;gap:8px}.sidebar--collapsed .btn-logout{padding:4px 6px}}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--color-surface);border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;width:212px;min-height:100vh;padding:0;display:flex}.sidebar-logo{border-bottom:1px solid var(--color-border);white-space:nowrap;align-items:center;gap:10px;padding:18px 12px 14px 20px;display:flex}.logo-eye{color:var(--color-accent);font-size:22px}.logo-text{letter-spacing:.05em;color:var(--color-text);font-size:18px;font-weight:700}.sidebar-logo .version{margin-left:auto}.version{color:var(--color-text-muted);font-size:11px;font-family:var(--font-mono)}.nav-groups{flex:1;padding:4px 0 12px}.nav-section{letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);white-space:nowrap;padding:12px 20px 4px;font-size:10px}.nav-divider{display:none}.nav-list{margin:0;padding:0 8px;list-style:none}.nav-list li{margin:0}.nav-link{color:var(--color-text-muted);white-space:nowrap;border-radius:6px;align-items:center;gap:12px;padding:8px 12px;font-size:13px;transition:color .15s,background .15s;display:flex;position:relative}.nav-icon{flex:none;width:18px;height:18px}.nav-link:hover{color:var(--color-text);background:#ffffff0a;text-decoration:none}.nav-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.nav-link--active{color:var(--color-accent);background:#667eea1f;font-weight:600}.nav-badge{background:var(--color-loss);min-width:18px;color:var(--color-bg);font-family:var(--font-mono);text-align:center;border-radius:9px;margin-left:auto;padding:0 5px;font-size:10px;font-weight:700;line-height:16px}.sidebar-footer{border-top:1px solid var(--color-border);flex-direction:column;gap:8px;padding:10px 12px;display:flex}.sidebar-user{align-items:center;gap:10px;display:flex}.sidebar-avatar{background:var(--color-bg);border:1px solid var(--color-border);width:24px;height:24px;color:var(--color-text);border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:600;display:grid}.sidebar-username{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-text);flex:1;font-size:12px;font-weight:500;overflow:hidden}.sidebar-role-badge{color:var(--color-accent);font-size:11px;font-weight:400}.btn-logout{color:var(--color-offline);cursor:pointer;background:#fc81811a;border:1px solid #fc818140;border-radius:4px;align-items:center;gap:6px;min-height:28px;padding:4px 8px;font-size:11px;transition:background .15s;display:inline-flex}.btn-logout .nav-icon{width:14px;height:14px}.btn-logout:hover{background:#fc818133}.content-column{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.top-bar{display:none}.main-content{flex:1;min-width:0;padding:24px 28px;overflow-y:auto}.placeholder-page{height:60vh;color:var(--color-text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.placeholder-page h2{color:var(--color-text);margin-bottom:8px;font-size:22px}.placeholder-page p{max-width:340px;font-size:14px}*,:before,:after{box-sizing:border-box}:root{--color-bg:#0f1117;--color-surface:#1a1d27;--color-border:#2a2d3a;--color-text:#e2e8f0;--color-text-muted:#718096;--color-online:#48bb78;--color-warning:#ecc94b;--color-offline:#fc8181;--color-accent:#667eea;--font-mono:"JetBrains Mono", "Fira Code", "Consolas", monospace;--color-profit:#48bb78;--color-loss:#fc8181;--color-drawdown:#ecc94b;--color-teal:#38b2ac;--color-neutral:#718096;--color-pending:#f6ad55;--color-pending-bg:#f6ad551f;--color-pos-bg:#48bb7812;--color-neg-bg:#fc818112}body{background-color:var(--color-bg);color:var(--color-text);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{margin-top:0}button{cursor:pointer}.hamburger{color:var(--color-text);cursor:pointer;background:0 0;border:none;min-width:44px;min-height:44px;padding:8px;font-size:22px;line-height:1;display:none}.sidebar-backdrop{z-index:99;background:#0000008c;display:none;position:fixed;inset:0}@media (width<=768px){.app-shell{flex-direction:column}.sidebar{z-index:100;border-right:1px solid var(--color-border);width:240px;height:100vh;transition:transform .25s;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.sidebar--open{transform:translate(0)}.sidebar-backdrop.sidebar-backdrop--open{display:block}.top-bar{background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:90;align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;top:0}.hamburger{justify-content:center;align-items:center;display:flex}.top-bar-title{color:var(--color-text);font-size:16px;font-weight:700}.main-content{padding:16px}.instance-grid,.loading-grid{grid-template-columns:1fr}.table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.data-table{min-width:600px}.detail__two-col{flex-direction:column}.equity-curve-container{width:100%}.strip-item{padding:8px 4px}.strip-count{font-size:18px}.btn-refresh,.btn,.day-btn,.page-btn,button{min-height:44px}.nav-link{align-items:center;min-height:44px;display:flex}.performance-table-wrap,.journal-table-wrap,.alert-log-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.performance-table,.journal-table,.alert-log-table{min-width:700px}.filter-bar,.filter-row,.controls-row{flex-direction:column;align-items:stretch}.filter-bar>*,.filter-row>*,.controls-row>*{width:100%}.settings-form-row,.settings-row{flex-direction:column;align-items:stretch}.alertlog-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (width<=480px){.main-content{padding:12px}.page-title{font-size:20px}.instance-card{padding:12px}.equity-curve-container,.equity-chart-wrap{height:200px!important}.strip-count{font-size:16px}.strip-label{font-size:9px}.detail__section{padding:12px}.detail__section-title{font-size:14px}.filter-panel{padding:12px}.data-table th,.data-table td{padding:6px 8px;font-size:12px}}
