:root{--bg:#090c11;--bg-panel:#11161f;--bg-soft:#161d29;--line:#223047;--text:#d3dbe8;--muted:#8ea2bf;--accent:#38bdf8;--accent-soft:#38bdf81f;--up:#35d399;--down:#ff7b7b;--font-main:"DM Sans", "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--font-main);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-5px)}}.ticker-table tbody tr{animation:.2s ease-out fadeIn}.ticker-table tbody tr.removing{animation:.2s ease-out forwards fadeOut}.page-loading-overlay{-webkit-backdrop-filter:blur(4px);z-index:9999;cursor:wait;background:#090c1199;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.page-loading-spinner{color:var(--text);flex-direction:column;align-items:center;gap:12px;font-size:14px;font-weight:500;display:flex}*{box-sizing:border-box}html,body,#root{min-height:100%}body{color:var(--text);background:radial-gradient(circle at 15% 0%, #1a2333 0%, #1a233300 45%), radial-gradient(circle at 85% 100%, #111e2b 0%, #111e2b00 40%), var(--bg);margin:0}body.modal-open{overflow:hidden}h1,h2,p{margin:0}button,input{color:inherit;font:inherit}.app-shell{grid-template-columns:220px 1fr;min-height:100svh;transition:grid-template-columns .2s;display:grid}.app-shell--collapsed{grid-template-columns:56px 1fr}.sidebar{border-right:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0e14e6;flex-direction:column;min-height:100svh;padding:10px;display:flex}.sidebar-footer{z-index:5;border-top:1px solid var(--line);background:#0a0e14f7;margin-top:auto;padding-top:10px;position:sticky;bottom:0}.sidebar-toggle-btn{grid-template-columns:14px 1fr;align-items:center;gap:8px;width:100%;height:30px;padding:0 8px;font-size:11px;display:grid}.sidebar--collapsed .sidebar-brand{justify-content:center;padding:0}.sidebar--collapsed .sidebar-brand h1{display:none}.sidebar--collapsed .sidebar-link{grid-template-columns:14px;justify-content:center;padding:0}.sidebar--collapsed .sidebar-link span,.sidebar--collapsed .sidebar-link small{display:none}.sidebar--collapsed .sidebar-toggle-btn{grid-template-columns:14px;justify-content:center;padding:0}.sidebar--collapsed .sidebar-toggle-btn span{display:none}.sidebar-brand{border:1px solid var(--line);color:#e4ebf8;border-radius:8px;align-items:center;gap:8px;height:34px;padding:0 8px;display:flex}.sidebar-brand h1{letter-spacing:.03em;font-size:12px;font-weight:700}.sidebar-nav{gap:6px;margin-top:10px;display:grid}.sidebar-link{height:34px;color:var(--muted);border:1px solid #0000;border-radius:8px;grid-template-columns:14px 1fr auto;align-items:center;gap:8px;padding:0 10px;font-size:12px;font-weight:600;text-decoration:none;display:grid}.sidebar-link:hover{border-color:var(--line);color:var(--text)}.sidebar-link.active{background:var(--accent-soft);color:#e3f6ff;border-color:#38bdf859}.sidebar-link small{color:#7ea2bf;text-transform:uppercase;letter-spacing:.08em;font-size:9px}.sidebar-link.pending{opacity:.9}.app-main{padding:10px}.page{border:1px solid var(--line);background:#0e141dd6;border-radius:10px;min-height:calc(100svh - 20px);padding:10px}.page-center{text-align:center;place-content:center;gap:8px;display:grid}.page-center p{color:var(--muted);font-size:13px}.page-header{justify-content:space-between;align-items:center;gap:12px;min-height:38px;display:flex}.page-header-meta{align-items:center;gap:8px;margin-left:auto;display:inline-flex}.page-header h2{font-size:15px;line-height:1}.page-header p{color:var(--muted);margin-top:4px;font-size:12px}.refresh-state{border:1px solid var(--line);height:30px;color:var(--muted);border-radius:7px;align-items:center;gap:7px;padding:0 8px;font-size:11px;display:inline-flex}.refresh-state small{font-family:var(--font-mono);color:#9bb1cb}.time-state{border:1px solid var(--line);height:30px;color:var(--muted);border-radius:7px;align-items:center;gap:7px;padding:0 8px;font-size:11px;display:inline-flex}.time-state small{font-family:var(--font-mono);color:#b7cee7}.time-state.et-time{background:#35557a2e;border-color:#35557a}.api-badge{border:1px solid var(--line);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;height:24px;padding:0 8px;font-size:10px;font-weight:700;display:inline-flex}.api-badge.loading{color:#8fb0cc;background:#35557a33;border-color:#35557a}.api-badge.error{color:#ffc0c0;background:#9b4f4f33;border-color:#9b4f4f}.api-badge.ok{color:#95e8c8;background:#2f725c33;border-color:#2f725c}.pulse-dot{color:#4f6789;display:inline-flex}.pulse-dot.on{color:var(--accent);animation:.9s pulse}.control-row{justify-content:space-between;align-items:center;gap:8px;margin-top:10px;display:flex}.strategy-control-row{align-items:flex-start}.add-form{flex-wrap:wrap;gap:6px;display:flex}.strategy-form{flex-wrap:wrap;flex:1;gap:6px;display:flex}.add-form input,.add-form select,.add-form textarea,.strategy-form input,.strategy-form select,.strategy-form textarea,.search-box input,.strategy-cell-input,.strategy-cell-textarea{border:1px solid var(--line);background:var(--bg-soft);border-radius:7px;min-width:100px;height:30px;padding:0 9px;font-size:12px}.add-form textarea,.strategy-form textarea,.strategy-cell-textarea{resize:vertical;min-height:64px;padding:7px 9px;line-height:1.35}.strategy-cell-input,.strategy-cell-textarea{width:100%;min-width:0}.add-form input:focus,.add-form select:focus,.add-form textarea:focus,.strategy-form input:focus,.strategy-form select:focus,.strategy-form textarea:focus,.search-box input:focus{border-color:#2f98bf;outline:none}.add-form select{min-width:170px;color:var(--text)}.add-form button,.ghost-btn{border:1px solid var(--line);color:#cae7f4;cursor:pointer;background:#182435;border-radius:7px;align-items:center;gap:6px;height:30px;padding:0 10px;font-size:12px;display:inline-flex}.add-form button:hover,.ghost-btn:hover{border-color:#2c8bb0}.add-form button:disabled{opacity:.45;cursor:not-allowed;border-color:var(--line)}.add-form button:disabled:hover{border-color:var(--line)}.spin{animation:.85s linear infinite spin}.search-box{border:1px solid var(--line);background:var(--bg-soft);border-radius:7px;align-items:center;gap:6px;height:30px;padding:0 8px;display:inline-flex}.search-box input{background:0 0;border:0;min-width:90px;padding:0}.auto-exposure-row{background:#0e151fc7;border:1px solid #2a3b54;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;min-height:34px;margin-top:8px;padding:6px 8px;display:flex}.auto-exposure-head-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.auto-exposure-head-row>.auto-exposure-tooltip-wrap{flex:none;align-items:center;display:inline-flex}.auto-exposure-mode-stack{flex-direction:column;gap:4px;width:100%;margin-top:4px;display:flex}.auto-exposure-mode-stack>.auto-exposure-tooltip-wrap{align-items:center;min-width:0;display:inline-flex;position:relative}.auto-exposure-mode-row{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.auto-exposure-mode-tag{text-transform:uppercase;letter-spacing:.06em;color:#8eb0d5;font-size:10px;font-family:var(--font-mono);min-width:38px}.auto-exposure-mode-row[data-mode=market] .auto-exposure-mode-tag{color:#b6c7e6}.auto-exposure-mode-row[data-mode=live] .auto-exposure-mode-tag{color:#9fd2c8}.auto-exposure-mode-row[data-mode=paper] .auto-exposure-mode-tag{color:#d6c69a}.auto-exposure-mode-pill{font-family:var(--font-mono);color:#d4e5f8;white-space:normal;text-align:left;cursor:help;background:#142030b3;border:1px solid #364a66;max-width:100%;padding:3px 8px;font-size:10px;line-height:1.35}.auto-exposure-mode-pill-live{color:#c8ecea;background:#1f4e5c8c;border-color:#2f6b7a}.auto-exposure-row-main{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.auto-exposure-item{color:#9ab0ca;align-items:center;gap:5px;font-size:11px;display:inline-flex}.auto-exposure-item strong{color:#e3effc;font-family:var(--font-mono);font-size:11px;font-weight:600}.auto-exposure-tooltip-wrap{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex;position:relative}.auto-exposure-tooltip{color:#cfe1f4;opacity:0;visibility:hidden;pointer-events:auto;overflow-wrap:anywhere;z-index:40;background:#090e16f5;border:1px solid #364a66;border-radius:8px;gap:4px;width:min(400px,100vw - 24px);max-width:calc(100vw - 24px);padding:8px 9px;font-size:11px;line-height:1.35;transition:opacity .16s,transform .16s,visibility .16s;display:grid;position:absolute;top:calc(100% - 1px);left:0;right:auto;transform:translateY(-4px);box-shadow:0 10px 24px #00000073}.auto-exposure-tooltip-section+.auto-exposure-tooltip-section{border-top:1px solid #58729247;margin-top:6px;padding-top:6px}.auto-exposure-tooltip-title{text-transform:uppercase;letter-spacing:.06em;color:#8eb0d5;margin-bottom:4px;font-size:10px}.auto-exposure-tooltip-row{color:#d4e5f8;line-height:1.4}.auto-exposure-tooltip-wrap:hover .auto-exposure-tooltip,.auto-exposure-tooltip-wrap:focus-within .auto-exposure-tooltip,.auto-exposure-tooltip:hover{opacity:1;visibility:visible;transform:translateY(0)}.swing-stats-tabs{background:#0e151fc7;border:1px solid #2a3b54;border-radius:8px;flex-direction:column;gap:0;margin-top:12px;padding:0;display:flex}.swing-stats-tab-bar{background:#14203066;border-bottom:1px solid #2a3b54;border-radius:8px 8px 0 0;flex-wrap:wrap;align-items:stretch;gap:0;padding:4px 6px 0;display:flex}.swing-stats-tab-button{color:#9ab0ca;font-size:11px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:4px 4px 0 0;margin:0 2px 0 0;padding:8px 14px 7px;transition:color .15s,border-color .15s,background .15s}.swing-stats-tab-button:hover{color:#d4e5f8;background:#283c5659}.swing-stats-tab-button.active{color:#e3effc;background:#283c5673;border-bottom-color:#6ea8fe}.swing-stats-tab-panel{flex-direction:column;gap:12px;padding:12px 8px 8px;display:flex}.swing-stats-strategies-view{flex-direction:column;gap:12px;display:flex}.swing-stats-panel{flex-direction:column;gap:14px;display:flex}.swing-stats-panel-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.swing-stats-panel-title{color:#e3effc;font-size:13px;font-weight:600;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.swing-stats-range-dropdown{color:#9ab0ca;font-size:11px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:6px;display:inline-flex}.swing-stats-range-dropdown select{color:#d4e5f8;font-size:11px;font-family:var(--font-mono);cursor:pointer;background:#142030d9;border:1px solid #364a66;border-radius:4px;min-width:72px;padding:3px 6px}.swing-stats-range-dropdown select:disabled{opacity:.6;cursor:not-allowed}.swing-stats-subpanel{background:#14203066;border:1px solid #2a3b54;border-radius:6px;flex-direction:column;gap:6px;padding:8px 10px 10px;display:flex}.equity-curve-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.equity-curve-summary{align-items:baseline;gap:8px;font-size:12px;display:flex}.equity-curve-current{font-family:var(--font-mono);color:#e8ebf0;font-size:16px;font-weight:700}.equity-curve-change{font-family:var(--font-mono);font-size:11px}.equity-curve-change.positive{color:#3ecf8e}.equity-curve-change.negative{color:#d64545}.equity-curve-qqq{font-family:var(--font-mono);color:#9aa4b2;font-size:11px}.equity-curve-legend{color:#8b93a3;flex-wrap:wrap;gap:16px;font-size:11px;display:flex}.equity-curve-legend-item{align-items:center;gap:6px;display:flex}.equity-curve-legend-line{border-radius:1px;width:18px;height:2px;display:inline-block}.equity-curve-legend-line.paper{background:#4f8cff}.equity-curve-legend-line.live{background:#e0a33c}.equity-curve-legend-line.qqq{background:repeating-linear-gradient(90deg,#9aa4b2 0 5px,#0000 5px 9px)}.equity-curve-note{color:#6b7f99;align-items:center;gap:6px;font-size:11px;display:flex}.equity-curve-rebuild-dot{background:#d64545;border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.equity-curve-breakdown{color:#8b93a3;flex-wrap:wrap;gap:16px;font-size:11px;display:flex}.equity-curve-breakdown strong{color:#e8ebf0;font-family:var(--font-mono)}.swing-stats-subtitle{font-size:11px;font-family:var(--font-mono);color:#8eb0d5;text-transform:uppercase;letter-spacing:.06em;margin:0;font-weight:600}.swing-stats-empty{color:#6b7f99;text-align:center;padding:10px 4px;font-size:12px;font-style:italic}.swing-stats-error{color:#ffc8d1;background:#6f22312e;border:1px solid #bd4a5d66;border-radius:4px;padding:8px 10px;font-style:normal}.swing-stats-strategy-aggregates-table,.swing-stats-trade-detail-table,.swing-stats-open-positions-table{font-size:11px}.swing-stats-strategy-aggregates-table .num-cell,.swing-stats-trade-detail-table .num-cell,.swing-stats-open-positions-table .num-cell{text-align:right;font-family:var(--font-mono)}.swing-stats-trade-detail-table th:first-child{width:4%}.swing-stats-trade-detail-table th:nth-child(2){width:5%}.swing-stats-trade-detail-table th:nth-child(3){width:8%}.swing-stats-trade-detail-table th:nth-child(4){width:4%}.swing-stats-trade-detail-table th:nth-child(5){width:11%}.swing-stats-trade-detail-table th:nth-child(6),.swing-stats-trade-detail-table th:nth-child(7),.swing-stats-trade-detail-table th:nth-child(8){width:7%}.swing-stats-trade-detail-table th:nth-child(9){width:6%}.swing-stats-trade-detail-table th:nth-child(10){width:5%}.swing-stats-trade-detail-table th:nth-child(11),.swing-stats-trade-detail-table th:nth-child(12){width:8%}.swing-stats-trade-detail-table th:nth-child(13){width:14%}.swing-stats-pnl-positive{color:#5ad19a}.swing-stats-pnl-negative{color:#ff8a99}.swing-stats-pnl-flat{color:#9ab0ca}.strategy-pill-row{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.strategy-filter-pill{--strategy-pill-accent:#2f98bf;border:1px solid color-mix(in srgb, var(--strategy-pill-accent) 50%, #223247);background:color-mix(in srgb, var(--strategy-pill-accent) 18%, #111a28);color:#e5f2ff;letter-spacing:.02em;cursor:pointer;border-radius:999px;align-items:center;gap:7px;height:28px;padding:0 11px;font-size:11px;transition:transform .14s,border-color .14s,background .14s;display:inline-flex}.strategy-filter-pill:hover{border-color:color-mix(in srgb, var(--strategy-pill-accent) 78%, #2f3e52);transform:translateY(-1px)}.strategy-filter-pill.active{border-color:color-mix(in srgb, var(--strategy-pill-accent) 88%, #3b4b61);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--strategy-pill-accent) 62%, #1c2938)}.strategy-filter-pill-count{border:1px solid color-mix(in srgb, var(--strategy-pill-accent) 45%, #233348);background:#0a1018c7;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;line-height:1;display:inline-flex}.strategy-table td{vertical-align:top}.strategy-table th:nth-child(6),.strategy-table td:nth-child(6),.strategy-table th:nth-child(7),.strategy-table td:nth-child(7){white-space:normal;text-overflow:clip;overflow:visible}.strategy-row-actions{flex-wrap:wrap;gap:6px;display:flex}.strategy-row-actions .ghost-btn{min-width:76px}.action-notice{opacity:0;pointer-events:none;z-index:1200;border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;width:min(640px,100vw - 24px);padding:7px 10px;font-size:11px;transition:transform .2s,opacity .2s,border-color .2s;display:flex;position:fixed;top:14px;left:50%;transform:translate(-50%,-10px);box-shadow:0 8px 24px #00000059}.action-notice.show{opacity:1;pointer-events:auto;transform:translate(-50%)}.action-notice.error{color:#ffc8d1;background:#6f223147;border-color:#bd4a5d80}.action-notice.success{color:#b3f1d8;background:#23614a40;border-color:#34806380}.action-notice-close{border:1px solid var(--line);height:24px;color:var(--text);cursor:pointer;background:#111924bf;border-radius:6px;padding:0 7px;font-size:10px}.action-notice-close:hover{border-color:#3b5373}.table-shell{border:1px solid var(--line);border-radius:8px;margin-top:10px;overflow:hidden}.review-required-shell{background:linear-gradient(#5c380a6b 0%,#141310e6 100%);border-color:#9b6a19}.review-required-shell .table-title-row{background:linear-gradient(#74480cc7 0%,#4a2e08c7 100%);border-bottom-color:#8f631b}.review-required-shell .table-title-row h3{color:#ffe0a5}.review-required-shell .table-title-row .pill{color:#ffdca0;background:#442d0dd9;border-color:#d4972d}.review-required-shell .ticker-table th{color:#f4cb84;background:#3f2a0f}.table-title-row{background:#0b111ae0;border-bottom:1px solid #1b2b3f;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.table-title-row h3{letter-spacing:.03em;text-transform:uppercase;color:#cfe4ff;margin:0;font-size:12px}.table-title-actions{align-items:center;gap:8px;display:inline-flex}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px;display:grid}.settings-card{border:1px solid var(--line);background:#0a101894;border-radius:10px;padding:10px}.settings-card-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.settings-actions{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.settings-card-head h3{margin:0;font-size:13px}.settings-card-head .ghost-btn{height:26px}.settings-kv-list{gap:8px;margin:0;display:grid}.settings-kv-row{border:1px solid var(--line);background:#0f151eeb;border-radius:8px;grid-template-columns:150px 1fr;align-items:center;gap:8px;padding:8px 9px;display:grid}.settings-kv-row-wide{grid-template-columns:150px 1fr}.settings-kv-row dt,.settings-kv-row dd{min-width:0;margin:0}.settings-kv-row dt{text-transform:uppercase;letter-spacing:.06em;color:#84a0c0;font-size:9px}.settings-kv-row dd{color:#edf5ff;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.35;overflow:hidden}.settings-form{gap:10px;display:grid}.settings-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.settings-field{gap:5px;min-width:0;display:grid}.settings-field span{text-transform:uppercase;letter-spacing:.06em;color:#84a0c0;font-size:9px}.settings-field input,.settings-field select{border:1px solid var(--line);background:var(--bg-soft);min-width:0;height:30px;color:inherit;border-radius:7px;padding:0 9px;font-size:12px}.settings-field input:focus,.settings-field select:focus{border-color:#2f98bf;outline:none}.settings-field-wide{grid-column:span 2}.settings-hint{color:var(--muted);margin:0;font-size:11px}.settings-hint code{font-family:var(--font-mono);color:#bcd4ee;background:#141e2cb3;border-radius:4px;padding:1px 5px;font-size:10.5px}.lock-status{align-items:center;gap:5px;font-size:11px;font-weight:500;display:inline-flex}.lock-status-hard{color:#f4a8a8}.lock-status-open{color:#9fd2c8}.settings-card-wide{grid-column:span 2}@media (width<=980px){.settings-card-wide{grid-column:span 2}}@media (width<=720px){.settings-grid{grid-template-columns:1fr}.settings-card-wide,.settings-field-wide{grid-column:span 1}.settings-kv-row,.settings-form-grid{grid-template-columns:1fr}}.ticker-table{border-collapse:collapse;table-layout:fixed;width:100%}@media (width<=768px){.table-shell{-webkit-overflow-scrolling:touch;overflow-x:auto}.ticker-table{min-width:1200px}.ticker-table th,.ticker-table td{padding:5px;font-size:10px}}.ticker-table th,.ticker-table td{white-space:nowrap;border-bottom:1px solid #192536;padding:6px 8px;font-size:12px}.ticker-table td{text-overflow:ellipsis;overflow:hidden}.ticker-table td:last-child{white-space:nowrap;overflow:visible}.ticker-table th{color:#88a6c9;letter-spacing:.03em;text-transform:uppercase;text-align:left;background:#0f1622;font-size:10px;font-weight:700}.ticker-table tr:hover td{background:#37496233}@property --review-flash{syntax:"<number>";inherits:true;initial-value:0}.review-required-table tbody{animation:1.25s ease-in-out infinite review-flash-clock}@keyframes review-flash-clock{0%,to{--review-flash:0}50%{--review-flash:1}}.ticker-table tr.review-required-row:not(.review-required-row--deferred) td{background:rgb(calc(123 + (174 - 123) * var(--review-flash)), calc(68 + (89 - 68) * var(--review-flash)), calc(45 + (55 - 45) * var(--review-flash)), calc(.12 + (.34 - .12) * var(--review-flash)))}.review-required-table tr:hover td,.review-required-table tr.review-required-row--deferred:hover td{background:#38bdf814}.review-required-table tr:hover td:first-child{box-shadow:inset 3px 0 #38bdf8b3}.ticker-table tr.review-required-row--deferred td{background:#3749621a}.deferred-label{color:var(--text-subdued,#7a8ba6);white-space:nowrap;margin-left:4px;font-size:.78rem}.review-action-cluster .review-action-defer{color:#b0b0b0;border-color:#b0b0b033}.review-action-cluster .review-action-defer:hover:not(:disabled){color:#d0d0d0;border-color:#b0b0b073}.review-action-cluster .review-action-undefer{color:#c8d8e8;background:#b4c8dc0d;border-color:#b4c8dc59}.review-action-cluster .review-action-undefer:hover:not(:disabled){color:#e8f4ff;background:#b4c8dc1f;border-color:#b4c8dcb3}.review-action-cluster .review-action-undefer:disabled{opacity:.6}.ticker-table td.symbol{font-family:var(--font-mono);color:#e8f4ff;width:5%;font-weight:700}.review-required-table th:first-child{width:5%}.review-required-table th:nth-child(2){width:15%}.review-required-table th:nth-child(3){width:10%}.review-required-table th:nth-child(4){width:30%}.review-required-table th:nth-child(5){white-space:nowrap;width:25%;min-width:20%;overflow:visible}.reject-monitor-from-row{align-items:center;gap:10px;margin-top:10px;display:flex}.reject-monitor-from-label{color:var(--muted);white-space:nowrap;font-size:12px}.reject-monitor-from-input{border:1px solid var(--line);background:var(--bg-soft);height:30px;color:var(--text);font-size:12px;font-family:var(--font-mono);border-radius:6px;padding:0 8px}.reject-monitor-from-input:focus{border-color:#2f98bf;outline:none}.add-form select{border:1px solid var(--line);background:var(--bg-soft);height:30px;color:var(--text);border-radius:6px;padding:0 8px;font-family:inherit;font-size:12px}.add-form select:focus{border-color:#2f98bf;outline:none}.market-exposure-override{gap:2px;margin-left:6px;display:flex}.market-exposure-override-btn{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:4px;padding:2px 6px;font-family:inherit;font-size:10px;transition:all .15s}.market-exposure-override-btn:hover{color:var(--text);border-color:#2f98bf}.market-exposure-override-btn.active{color:#85d4f0;background:#2f98bf1f;border-color:#2f98bf}.market-exposure-override-btn:disabled{opacity:.5;cursor:not-allowed}.muted-cell{color:#88a6c9;text-align:center;padding:12px 8px}.pill{color:#99bde4;border:1px solid #355273;border-radius:999px;align-items:center;height:20px;padding:0 8px;font-size:10px;display:inline-flex}.pill.hot{color:#7ff1c6;background:#35d3991f;border-color:#35d39973}.pill.pill-init{color:#c8d4e3;background:#161d29f0;border-style:solid;border-color:#8ca2bf8c}.sell-rule-pill{height:16px;padding:0 6px;font-size:9px}.sell-rule-pill--10sma_runner{color:#6ee7b7;background:#10b98126;border-color:#10b98180}.sell-rule-pill--trim{color:#fcd34d;background:#f59e0b26;border-color:#f59e0b80}.trail-stop-info{color:#89a;margin-top:2px;font-size:10px}.trail-stop-label{color:#678}.trail-stop-gap{font-size:9px}.trail-stop-triggered{color:#ef4444;font-weight:600}.status-pill{border-color:var(--status-pill-border,#355273);background:var(--status-pill-bg,transparent);color:var(--status-pill-color,#99bde4)}.auto-trade-pill{letter-spacing:.04em;height:18px;padding:0 7px;font-size:9px}.auto-trade-mode-pill{color:#b9c8da;background:#131b27eb;border-style:solid;border-color:#5e7a9c8c}.auto-trade-mode-pill-live{color:#ffd2d2;background:#5a0f0fe0;border-color:#e35858b3}.auto-order-status-pill{letter-spacing:.04em;color:#b9c8da;height:18px;font-size:9px;font-family:var(--font-mono);text-transform:uppercase;background:#142030b3;border:1px solid #364a66;align-items:center;margin-top:4px;padding:0 7px;display:inline-flex}.auto-order-status-pending{color:#f1d99b;background:#4e3c128c;border-color:#caa24aa6}.auto-order-status-filled{color:#c1ebd3;background:#104e3299;border-color:#2ea060b3}.auto-order-status-rejected{color:#ffd2d2;background:#5a0f0fb3;border-color:#e35858b3}.strategy-name-with-pill{align-items:center;gap:6px;min-width:0;display:inline-flex}.working-table .strategy-name-with-pill{flex-direction:column;align-items:flex-start;gap:2px}.strategy-title-with-pill{align-items:center;gap:6px;display:inline-flex}.up{color:var(--up)}.down{color:var(--down)}.ghost-btn{border-radius:6px;height:23px;padding:0 7px;font-size:10px}.row-actions{align-items:center;gap:6px;display:inline-flex}.ghost-btn.review-btn{color:#c8dbff;background:#2745793d;border-color:#5f88d473;align-items:center;gap:5px;display:inline-flex}.ghost-btn.review-btn:hover{background:#31528d52;border-color:#7ca4eea6}.ghost-btn.remove-btn{color:#ffc6cf;background:#842b3a38;border-color:#c9637273}.ghost-btn.remove-btn:hover{background:#9b354747;border-color:#e87888a6}.ghost-btn.reviewed-btn{color:#c9f7df;background:#2262424d;border-color:#50ac7980;align-items:center;gap:5px;display:inline-flex}.ghost-btn.reviewed-btn:hover{background:#2f75525c;border-color:#6ecd99b3}.review-action-cluster{flex-wrap:nowrap;align-items:center;gap:6px;display:inline-flex}.review-action-cluster .ghost-btn{white-space:nowrap;padding:4px 9px;font-size:.78rem}.ghost-btn.review-action-arm{color:#d6f5e6;background:#266e4957;border-color:#5bc4918c;align-items:center;gap:5px;display:inline-flex}.ghost-btn.review-action-arm:hover{background:#3682586b;border-color:#7ddcafc7}.ghost-btn.review-action-arm:disabled{opacity:.55;cursor:not-allowed}.ghost-btn.review-action-reject{color:#e8b04a;background:#a06e1438;border-color:#e8b04a73}.ghost-btn.review-action-reject:hover:not(:disabled){color:#f0c46a;background:#a06e146b;border-color:#e8b04ac7}.ghost-btn.review-action-reject:disabled{opacity:.55;cursor:not-allowed}.review-action-modal-body{gap:6px;margin:0;display:grid}.review-action-reason{color:#d6e0f0db;margin:0;font-size:.86rem;line-height:1.35}.review-action-hint{color:#bec8dca6;margin:0;font-size:.82rem;line-height:1.35}.review-action-select-label{letter-spacing:.04em;text-transform:uppercase;color:#bec8dcc7;font-size:.78rem;display:block}.review-action-select{color:#e8f4ff;background:#141c28d9;border:1px solid #96afd252;border-radius:6px;width:100%;padding:6px 8px;font-family:inherit;font-size:.88rem}.review-action-select:disabled{opacity:.6;cursor:not-allowed}.review-action-size-buttons{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;width:100%;display:grid}.review-action-size-buttons[aria-disabled=true]{opacity:.6;pointer-events:none}.review-action-size-buttons-empty{color:#bec8dcb3;padding:6px 0;font-size:.82rem;font-style:italic}.review-action-size-button{appearance:none;color:#d6e0f0eb;cursor:pointer;text-align:center;white-space:nowrap;background:#141c28b3;border:1px solid #96afd252;border-radius:6px;width:100%;padding:7px 4px;font-family:inherit;font-size:.88rem;font-weight:500;transition:background .12s,border-color .12s,color .12s}.review-action-size-button:hover:not(:disabled):not(.review-action-size-button--active){color:#e8f4ff;background:#263244d9;border-color:#aac3e180}.review-action-size-button:focus-visible{outline-offset:1px;outline:2px solid #7dc8ff8c}.review-action-size-button:disabled{cursor:not-allowed;opacity:.6}.review-action-size-button--active{color:#e8f4ff;background:#266e498c;border-color:#7ddcafd9;box-shadow:inset 0 0 0 1px #7ddcaf59}.review-action-size-button--active:hover:not(:disabled){background:#3682589e;border-color:#8ce6bef2}.review-action-preview{color:#c6d2e6c7;font-size:.8rem;font-family:var(--font-mono);border-top:1px dashed #8ca0c333;margin:0;padding:4px 0 0}.confirm-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:80;background:#070b1273;place-items:center;animation:.18s fade-in;display:grid;position:fixed;inset:0}.confirm-modal{border:1px solid var(--line);background:#0e141df5;border-radius:10px;gap:10px;width:min(340px,100vw - 24px);padding:12px;animation:.2s modal-in;display:grid;box-shadow:0 16px 38px #0006}.confirm-modal h3{margin:0;font-size:14px}.confirm-modal p{color:var(--muted);margin:0;font-size:12px}.confirm-modal strong{color:#e9f3ff;font-family:var(--font-mono)}.strategy-edit-modal{width:min(820px,100vw - 24px);max-height:calc(100vh - 24px);overflow:auto}.strategy-edit-form{gap:12px;display:grid}.strategy-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.strategy-edit-field{gap:5px;display:grid}.strategy-edit-field span{color:var(--muted);font-size:11px}.strategy-edit-field input,.strategy-edit-field select,.strategy-edit-field textarea{border:1px solid var(--line);background:var(--bg-soft);height:32px;color:var(--text);border-radius:7px;padding:0 9px;font-size:12px}.strategy-edit-field textarea{resize:vertical;height:auto;min-height:230px;line-height:1.4;font-family:var(--font-mono);padding:8px 10px}.strategy-edit-field input:focus,.strategy-edit-field select:focus,.strategy-edit-field textarea:focus{border-color:#2f98bf;outline:none}.strategy-edit-field-wide{grid-column:1/-1}.strategy-edit-rules{min-height:300px}.confirm-actions{justify-content:flex-end;gap:7px;display:flex}.confirm-actions .ghost-btn{min-width:64px;height:28px;font-size:11px}@media (width<=840px){.strategy-edit-grid{grid-template-columns:1fr}.strategy-edit-field-wide{grid-column:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes pulse{0%{opacity:.45;transform:scale(.88)}to{opacity:1;transform:scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=980px){.app-shell,.app-shell--collapsed{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line);min-height:0}.sidebar--collapsed .sidebar-brand h1,.sidebar--collapsed .sidebar-link span,.sidebar--collapsed .sidebar-link small,.sidebar--collapsed .sidebar-toggle-btn span{display:revert}.sidebar--collapsed .sidebar-brand{justify-content:flex-start;padding:0 8px}.sidebar--collapsed .sidebar-link,.sidebar--collapsed .sidebar-toggle-btn{justify-items:revert;grid-template-columns:14px 1fr auto;padding:0 10px}.sidebar--collapsed .sidebar-toggle-btn{grid-template-columns:14px 1fr}.sidebar-footer{z-index:auto;background:0 0;border-top:0;margin-top:0;padding-top:10px;position:static}.sidebar-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.control-row{flex-direction:column;align-items:stretch}.page-header{flex-wrap:wrap}.page-header-meta{flex-wrap:wrap;justify-content:flex-end;width:100%}.search-box,.search-box input{width:100%}.auto-exposure-row{align-items:flex-start}.auto-exposure-tooltip{width:min(400px,100vw - 24px);max-width:calc(100vw - 24px);left:0;right:auto}}.working-shell{background:linear-gradient(#0a1c0e8c 0%,#0c140ce6 100%);border-color:#1a6b2a}.working-shell .table-title-row{background:linear-gradient(#1a6b2ac7 0%,#103c18c7 100%);border-bottom-color:#1a6b2a}.working-shell .table-title-row h3{color:#7ee0a0}.working-shell .table-title-row .pill{color:#a0f0b8;background:#1a6b23d9;border-color:#35d366}.working-table th{color:#7ee0a0;background:#0a1f0f}.working-table th:first-child{width:6%}.working-table th:nth-child(2){width:10%}.working-table th:nth-child(3){width:5.5%}.working-table th:nth-child(4),.working-table th:nth-child(5){width:9%}.working-table th:nth-child(6){width:6%}.working-table th:nth-child(7){width:10%}.working-table th:nth-child(8){width:11%}.working-table th:nth-child(9){width:6%}.working-table th:nth-child(10){width:20%}.working-table td:nth-child(10) .latest-log-cell{flex-direction:column;display:flex;overflow:hidden}.working-table th:nth-child(11){width:11.5%}.working-table td:nth-child(10) .latest-log-message{-webkit-line-clamp:1;text-overflow:ellipsis;white-space:normal;word-break:break-word;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.working-table .latest-log-time{opacity:.5;font-size:.75em;display:block}.ticker-table .latest-log-text{-webkit-line-clamp:1;text-overflow:ellipsis;white-space:normal;word-break:break-word;-webkit-box-orient:vertical;max-width:220px;display:-webkit-box;overflow:hidden}.review-reason-time{opacity:.5;font-size:.75em;display:block}.working-row td{border-bottom-color:#1a6b2a40}.working-row:hover td{background:#1a6b2a1f}.position-info{flex-direction:column;gap:2px;font-size:11px;display:flex}.position-state{text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-weight:600}.position-open{color:#4ade80}.position-closed{color:#f87171}.position-pending{color:#fbbf24}.position-none{color:var(--muted)}.position-quantity{color:#e0e0e0;font-family:var(--font-mono)}.position-entry{color:#a0a0a0;font-family:var(--font-mono);font-size:10px}.position-entry-date{color:var(--muted);margin-top:2px;font-size:10px;display:block}.position-pnl{font-family:var(--font-mono);font-size:11px;font-weight:600}.position-pnl-positive{color:#4ade80}.position-pnl-negative{color:#f87171}.unarm-btn{color:#f59e0b;border-color:#f59e0b66}.unarm-btn:hover{background:#f59e0b26;border-color:#f59e0b99}.cancel-entry-btn{color:#f87171;border-color:#f8717166}.cancel-entry-btn:hover{background:#f8717126;border-color:#f8717199}.review-action-10sma-runner{color:#10b981;border-color:#10b98166}.review-action-10sma-runner:hover{background:#10b98126;border-color:#10b98199}.review-action-trim{color:#f59e0b;border-color:#f59e0b66}.review-action-trim:hover{background:#f59e0b26;border-color:#f59e0b99}.review-action-defer-position{color:#6b7280;border-color:#6b728066}.review-action-defer-position:hover{background:#6b728026;border-color:#6b728099}.price-with-override{flex-direction:column;gap:2px;display:flex}.price-override-row{align-items:center;gap:4px;display:flex}.price-calculated{color:#a0f0d8;font-family:var(--font-mono);font-size:11px}.override-btn{color:#7ee0c0;cursor:pointer;background:#1a6b5a4d;border:1px solid #80e0c066;border-radius:3px;justify-content:center;align-items:center;width:16px;height:16px;padding:0;line-height:1;transition:background .15s,border-color .15s;display:inline-flex}.override-btn:hover{background:#1a6b5a99;border-color:#7ee0c0}.override-btn-clear{color:#ff9b9b;border-color:#ff9b9b4d}.override-btn-clear:hover{background:#ff9b9b26;border-color:#ff9b9b}.price-override-display{color:#d4a84a;font-family:var(--font-mono);font-size:10px}.override-modal-input{border:1px solid var(--line);background:var(--bg-soft);width:100%;height:32px;color:var(--text);font-size:13px;font-family:var(--font-mono);border-radius:6px;margin-bottom:12px;padding:0 10px}.override-modal-input:focus{border-color:#2f98bf;outline:none}.override-modal-save{color:#7ff1c6!important;border-color:#35d39980!important}.override-modal-save:hover{border-color:#35d399!important}.inline-price-edit{align-items:center;gap:4px;display:inline-flex}.inline-price-input{color:#d3dbe8;width:80px;height:26px;font-size:12px;font-family:var(--font-mono);background:#0a1c18e6;border:1px solid #1a6b5a;border-radius:6px;padding:0 6px}.inline-price-input:focus{border-color:#35d399;outline:none}.inline-price-btn{height:26px;padding:0 7px;font-size:10px}.inline-price-cancel{color:#ff9b9b;border-color:#ff9b9b4d}.inline-price-cancel:hover{color:#ffb8b8;border-color:#ff9b9b}.page-spinner-overlay{background:var(--bg);z-index:9999;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.page-spinner-content{color:var(--muted);flex-direction:column;align-items:center;gap:12px;display:flex}.page-spinner-message{color:var(--muted);font-size:13px}.ghost-btn .spin{vertical-align:middle;margin:0}.logs-btn{padding:2px 6px;font-size:11px}.size-cell{flex-direction:column;display:flex}.size-value{color:var(--muted);margin-top:1px;font-size:10px}.exit-orders-cell{flex-direction:column;gap:2px;display:flex}.exit-order-row{cursor:default;align-items:center;gap:4px;font-size:10px;display:flex}.exit-order-tooltip{border:1px solid var(--line);color:#e9f3ff;z-index:9999;pointer-events:none;background:#0e141dfa;border-radius:8px;min-width:250px;padding:0;font-size:12px;position:fixed;box-shadow:0 8px 24px #0006}.tooltip-header{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);border-bottom:1px solid var(--line);padding:10px 14px;font-size:11px;font-weight:600}.tooltip-row{border-bottom:1px solid #ffffff0a;justify-content:space-between;align-items:center;padding:8px 14px;display:flex}.tooltip-row:last-child{border-bottom:none}.tooltip-label{color:var(--muted);font-size:11px}.tooltip-value{font-family:var(--font-mono);color:#e9f3ff;font-size:12px}.tooltip-log-message{color:#e9f3ff;word-wrap:break-word;max-width:400px;padding:12px 14px;font-size:12px;line-height:1.5}.tooltip-log-time{color:var(--muted);border-top:1px solid var(--line);padding:8px 14px;font-size:11px}.exit-order-type{text-align:center;border-radius:3px;min-width:24px;padding:1px 4px;font-size:9px;font-weight:600}.exit-order-type--stop_limit{color:#fb923c;background:#fb923c26}.exit-order-type--stop_market,.exit-order-type--market{color:#60a5fa;background:#60a5fa26}.exit-order-type--limit{color:#34d399;background:#34d39926}.exit-order-type--oco_break_even,.exit-order-type--oco_hard_stop{color:#fb923c;background:#fb923c26}.exit-order-price{font-family:var(--font-mono);font-size:10px}.exit-order-status{border-radius:3px;padding:1px 4px;font-size:9px}.exit-order-status--WORKING{color:#fbbf24;background:#fbbf2426}.exit-order-status--FILLED{color:#34d399;background:#34d39926}.exit-order-status--submitted{color:#60a5fa;background:#60a5fa26}.exit-order-status--open{color:#fbbf24;background:#fbbf2426}.trading-session-toggle{cursor:pointer;border:1px solid #0000;border-radius:3px;width:fit-content;margin-top:2px;padding:1px 5px;font-size:9px;font-weight:600;transition:opacity .15s;display:block}.trading-session-toggle:hover{opacity:.8}.trading-session-toggle--day{color:#60a5fa;background:#60a5fa26;border-color:#60a5fa4d}.trading-session-toggle--ext{color:#a78bfa;background:#a78bfa26;border-color:#a78bfa4d}.share-size-selector{align-items:center;gap:2px;display:inline-flex}.share-size-selector--disabled{opacity:.45}.share-size-option{cursor:pointer;color:#94a3b8;background:#94a3b814;border:1px solid #94a3b840;border-radius:3px;padding:1px 6px;font-size:9px;font-weight:600;transition:opacity .15s}.share-size-option:hover:not(:disabled){opacity:.8}.share-size-option--active{color:#60a5fa;background:#60a5fa26;border-color:#60a5fa4d}.log-modal{border:1px solid var(--line);background:#0e141df5;border-radius:10px;flex-direction:column;width:min(720px,100vw - 24px);max-height:calc(100vh - 48px);padding:0;animation:.2s modal-in;display:flex;overflow:hidden;box-shadow:0 16px 38px #0006}.log-modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.log-modal-header h3{margin:0;font-size:14px}.log-modal-close{min-height:unset;padding:4px}.log-modal-meta{color:var(--muted);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:8px 16px;font-size:11px;display:flex}.log-modal-body{flex:1;min-height:200px;max-height:calc(100vh - 160px);overflow-y:auto}.log-modal-loading{color:var(--muted);justify-content:center;align-items:center;gap:8px;padding:40px;font-size:13px;display:flex}.log-modal-error{color:#ff6b6b;text-align:center;padding:20px;font-size:13px}.log-modal-empty{color:var(--muted);text-align:center;padding:40px;font-size:13px}.log-modal-table{border-collapse:collapse;width:100%;font-size:12px}.log-modal-table th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--line);z-index:1;background:#0e141dfa;padding:8px 12px;font-size:11px;font-weight:600;position:sticky;top:0}.log-modal-table td{vertical-align:top;border-bottom:1px solid #ffffff0a;padding:6px 12px}.log-modal-table tbody tr:hover{background:#ffffff05}.log-col-time{white-space:nowrap;width:150px;color:var(--muted);font-family:var(--font-mono);font-size:11px}.log-col-level{width:80px}.log-col-strategy{width:110px}.log-strategy-tag{text-overflow:ellipsis;white-space:nowrap;color:#94a3b8;vertical-align:middle;background:#94a3b81f;border:1px solid #94a3b840;border-radius:4px;max-width:100%;padding:1px 6px;font-size:10px;font-weight:600;display:inline-block;overflow:hidden}.log-modal-meta-debug strong{color:var(--text,inherit);font-weight:600}.log-modal-meta-sep{color:var(--muted)}.log-modal-meta-retention{color:var(--muted);opacity:.75;font-style:italic}.log-history-toggle{cursor:pointer;color:#60a5fa;background:#60a5fa1f;border:1px solid #60a5fa4d;border-radius:3px;padding:1px 6px;font-size:10px;font-weight:600;transition:opacity .15s}.log-history-toggle:hover{opacity:.8}.log-history-toggle--active{background:#60a5fa33}.log-col-message{word-break:break-word}.log-level-pill{text-transform:uppercase;letter-spacing:.3px;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-block}.log-level--info{color:#60a5fa;background:#3b82f626}.log-level--debug{color:#94a3b8;background:#94a3b826}.log-level--warning{color:#fbbf24;background:#fbbf2426}.log-level--error{color:#f87171;background:#ef444426}.log-modal-pagination{border-top:1px solid var(--line);justify-content:center;align-items:center;gap:16px;padding:10px 16px;display:flex}.log-modal-page-info{color:var(--muted);font-size:12px}.auto-trading-strategy-select{background:var(--bg-panel);border:1px solid var(--line);color:var(--text);border-radius:6px;padding:6px 10px;font-size:13px}.auto-trading-stat-row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-bottom:16px;display:grid}.auto-trading-stat-card{background:var(--bg-panel);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.auto-trading-stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.auto-trading-stat-value{font-family:var(--font-mono);font-size:20px;font-weight:600}.auto-trading-stat-up{color:var(--up)}.auto-trading-stat-down{color:var(--down)}.auto-trading-stat-flat{color:var(--muted)}.auto-trading-chart{background:var(--bg-panel);border:1px solid var(--line);border-radius:8px;margin-bottom:16px;padding:14px 16px}.auto-trading-chart h3,.auto-trading-trades h3{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 10px;font-size:13px}.auto-trading-empty{text-align:center;color:var(--muted);padding:24px;font-size:13px}.auto-trading-order-id{font-family:var(--font-mono);font-size:11px}.auto-trading-trades-summary{color:var(--muted);flex-wrap:wrap;gap:10px 16px;margin-bottom:12px;font-size:12px;display:flex}.auto-trading-summary-item{font-weight:500}.auto-trading-summary-up{color:var(--up)}.auto-trading-summary-down{color:var(--down)}.auto-trading-summary-muted{color:var(--muted)}.auto-trading-pnl-up{color:var(--up)}.auto-trading-pnl-down{color:var(--down)}.auto-trading-pnl-flat{color:var(--muted)}.auto-trading-row-canceled{opacity:.55}.auto-trading-status-pill,.auto-trading-exit-pill{text-transform:lowercase;letter-spacing:.02em;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.auto-trading-status-filled{color:var(--up);background:#35d39926;border:1px solid #35d3994d}.auto-trading-status-canceled,.auto-trading-status-expired,.auto-trading-status-replaced{color:var(--muted);border:1px solid var(--line);background:#8ea2bf1f}.auto-trading-status-partially_filled{color:var(--accent);background:#38bdf826;border:1px solid #38bdf84d}.auto-trading-exit-tp{color:var(--up);background:#35d39926;border:1px solid #35d3994d}.auto-trading-exit-sl{color:var(--down);background:#ff7b7b26;border:1px solid #ff7b7b4d}.auto-trading-exit-force_close{color:var(--muted);border:1px solid var(--line);background:#8ea2bf1f}.scanner-panel{gap:10px}.scanner-header-meta{color:var(--muted);align-items:center;gap:10px;font-size:12px;display:flex}.scanner-columns{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;display:grid}@media (width<=900px){.scanner-columns{grid-template-columns:1fr}}.scanner-column,.scanner-section{min-width:0}.scanner-column-title{align-items:center;gap:6px;margin:0 0 6px;padding-left:2px;font-size:12px;font-weight:600;display:flex}.scanner-section-body{border:1px solid var(--line);border-radius:6px;max-height:260px;overflow:hidden auto}.scanner-section-body .scanner-table{table-layout:fixed;width:100%;margin-bottom:0}.scanner-section-body .scanner-table th:first-child,.scanner-section-body .scanner-table td:first-child{width:4%}.scanner-section-body .scanner-table th:nth-child(2),.scanner-section-body .scanner-table td:nth-child(2){width:24%}.scanner-section-body .scanner-table th:nth-child(3),.scanner-section-body .scanner-table td:nth-child(3),.scanner-section-body .scanner-table th:nth-child(4),.scanner-section-body .scanner-table td:nth-child(4),.scanner-section-body .scanner-table th:nth-child(5),.scanner-section-body .scanner-table td:nth-child(5),.scanner-section-body .scanner-table th:nth-child(6),.scanner-section-body .scanner-table td:nth-child(6){width:10%}.scanner-section-body .scanner-table th:nth-child(7),.scanner-section-body .scanner-table td:nth-child(7){width:26%}.scanner-section-body .scanner-table thead th{z-index:1;background:#0f1622;position:sticky;top:0}.scanner-table td{padding:5px 10px;font-size:11px}.scanner-table td:last-child{overflow:visible}.scanner-table td.symbol{white-space:normal;width:auto}.scanner-table td.symbol .pill{vertical-align:middle;margin-left:4px}.scanner-gain-cell{font-weight:600}.scanner-actions{align-items:center;gap:4px;display:flex}.scanner-actions .ghost-btn{padding:2px 7px;font-size:10px}.scanner-add-btn:not(:disabled){color:#22c55e;background:#22c55e1f;border-color:#22c55e4d}.scanner-reject-btn:not(:disabled){color:#ef4444;background:#ef44441a;border-color:#ef444440}.scanner-reset-btn:not(:disabled){color:#fbbf24;background:#fbbf241a;border-color:#fbbf2440}.scanner-new-pill{color:#34d399;background:#34d39926;border:1px solid #34d3994d;border-radius:3px;padding:0 4px;font-size:9px;font-weight:700}.scanner-monitored-pill{color:#94a3b8;background:#94a3b81f;border:1px solid #94a3b840;border-radius:3px;padding:0 4px;font-size:9px;font-weight:600}.scanner-rejection-pill{color:#fbbf24;background:#fbbf241f;border:1px solid #fbbf244d;border-radius:3px;padding:0 4px;font-size:9px;font-weight:600}.scanner-rejection-pill--triggered{color:#34d399;background:#34d3992e;border-color:#34d39966;animation:1.25s ease-in-out infinite review-flash-clock}.scanner-row--new td{background:#34d3990a}.scanner-empty{border:1px dashed var(--line);text-align:center;border-radius:6px;padding:12px}.scanner-reject-dialog{width:min(420px,100vw - 24px)}.scanner-reject-label{color:var(--muted);flex-direction:column;gap:6px;margin:12px 0;font-size:12px;display:flex}.scanner-reject-input,.scanner-add-input{border:1px solid var(--line);background:var(--bg,transparent);color:inherit;border-radius:6px;padding:6px 8px;font-size:13px}.scanner-add-input{width:100%}.scanner-add-input-label{color:var(--muted);flex-direction:column;gap:4px;margin:8px 0;font-size:12px;display:flex}.scanner-add-manual-inputs{flex-direction:column;gap:2px;display:flex}.scanner-event-modal .scanner-event-pill{color:#60a5fa;background:#60a5fa1f;border:1px solid #60a5fa40;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:600}.login-page{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--bg-panel);border:1px solid var(--line);border-radius:10px;width:100%;max-width:360px;padding:28px 24px}.login-brand{color:var(--text);align-items:center;gap:10px;margin-bottom:24px;display:flex}.login-brand h1{letter-spacing:.02em;font-size:16px;font-weight:600}.login-brand svg{color:var(--accent)}.login-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:6px;font-size:11px;font-weight:600;display:block}.login-input{border:1px solid var(--line);background:var(--bg-soft);width:100%;height:36px;color:var(--text);font-size:13px;font-family:var(--font-mono);border-radius:6px;margin-bottom:16px;padding:0 10px}.login-input:focus{border-color:var(--accent);outline:none}.login-error{color:var(--down);background:#ff7b7b14;border:1px solid #ff7b7b66;border-radius:6px;margin-bottom:16px;padding:8px 10px;font-size:12px}.login-submit{background:var(--accent-soft);width:100%;height:36px;color:var(--accent);cursor:pointer;border:1px solid #38bdf880;border-radius:6px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s}.login-submit:hover:not(:disabled){border-color:var(--accent);background:#38bdf833}.login-submit:disabled{opacity:.5;cursor:not-allowed}.auth-loading{background:var(--bg);min-height:100vh}.sidebar-user{justify-content:space-between;align-items:center;gap:8px;width:100%;margin-bottom:8px;display:flex}.sidebar-user-email{color:var(--muted);font-size:10px;font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sidebar-logout-btn{color:var(--down);border-color:#ff7b7b59;flex-shrink:0}.sidebar-logout-btn:hover{border-color:#ff7b7bb3}.sidebar--collapsed .sidebar-user{justify-content:center}.sidebar--collapsed .sidebar-user-email{display:none}.sidebar--collapsed .sidebar-logout-btn{background:0 0;border-color:#0000}
