body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{background-color:#f5f5f5;min-height:100vh;width:100%}.app-loading{align-items:center;color:#666;display:flex;font-size:18px;height:100vh;justify-content:center}.backtest-modal-grid-section,.config-table-wrap,.contract-note-table-wrap,.downloads-table-wrap,.holdings-grid-simple .table-wrap,.holdings-table-wrap,.live-positions-table-wrap,.logs-table-wrap,.orders-grid-simple .table-wrap,.table-wrap{--cell-bg:var(--surface,#fff)}.backtest-modal-grid-section tr:hover,.config-table-wrap tr:hover,.contract-note-table-wrap tr:hover,.downloads-table-wrap tr:hover,.holdings-grid-simple .table-wrap tr:hover,.holdings-table-wrap tr:hover,.live-positions-table-wrap tr:hover,.logs-table-wrap tr:hover,.orders-grid-simple .table-wrap tr:hover,.table-wrap tr:hover{--cell-bg:var(--row-hover,#f9fafb)}.config-table-wrap table td:first-child,.config-table-wrap table th:first-child,.contract-note-table-wrap table td:first-child,.contract-note-table-wrap table th:first-child,.downloads-table-wrap table td:first-child,.downloads-table-wrap table th:first-child,.holdings-grid-simple .table-wrap table td:first-child,.holdings-grid-simple .table-wrap table th:first-child,.holdings-table-wrap table td:first-child,.holdings-table-wrap table th:first-child,.live-positions-table-wrap table td:first-child,.live-positions-table-wrap table th:first-child,.logs-table-wrap table td:first-child,.logs-table-wrap table th:first-child,.orders-grid-simple .table-wrap table td:first-child,.orders-grid-simple .table-wrap table th:first-child,.table-wrap table td:first-child,.table-wrap table th:first-child{background:var(--cell-bg);box-shadow:2px 0 4px #0000000f;left:0;position:-webkit-sticky;position:sticky;z-index:2}.config-table-wrap table th:first-child,.contract-note-table-wrap table th:first-child,.downloads-table-wrap table th:first-child,.holdings-grid-simple .table-wrap table th:first-child,.holdings-table-wrap table th:first-child,.live-positions-table-wrap table th:first-child,.logs-table-wrap table th:first-child,.orders-grid-simple .table-wrap table th:first-child,.table-wrap table th:first-child{--cell-bg:var(--th-bg,#f3f4f6);background:#f3f4f6;background:var(--th-bg,#f3f4f6);z-index:3}.config-table-wrap table td:last-child,.config-table-wrap table th:last-child,.contract-note-table-wrap table td:last-child,.contract-note-table-wrap table th:last-child,.downloads-table-wrap table td:last-child,.downloads-table-wrap table th:last-child,.holdings-grid-simple .table-wrap table td:last-child,.holdings-grid-simple .table-wrap table th:last-child,.holdings-table-wrap table td:last-child,.holdings-table-wrap table th:last-child,.live-positions-table-wrap table td:last-child,.live-positions-table-wrap table th:last-child,.orders-grid-simple .table-wrap table td:last-child,.orders-grid-simple .table-wrap table th:last-child,.table-wrap table td:last-child,.table-wrap table th:last-child{background:var(--cell-bg);box-shadow:-2px 0 4px #0000000f;position:-webkit-sticky;position:sticky;right:0;z-index:2}.config-table-wrap table th:last-child,.contract-note-table-wrap table th:last-child,.downloads-table-wrap table th:last-child,.holdings-grid-simple .table-wrap table th:last-child,.holdings-table-wrap table th:last-child,.live-positions-table-wrap table th:last-child,.orders-grid-simple .table-wrap table th:last-child,.table-wrap table th:last-child{--cell-bg:var(--th-bg,#f3f4f6);background:#f3f4f6;background:var(--th-bg,#f3f4f6);z-index:3}.table-wrap table td:first-child:last-child,.table-wrap table th:first-child:last-child{box-shadow:none}@media (max-width:1024px){.dashboard-content{gap:10px;padding:10px 12px}.header-sub{display:none}.config-toolbar{flex-wrap:wrap;gap:8px}.search-wrap{flex:1 1 200px;max-width:100%}.global-settings-body{flex-wrap:wrap}.algos-toolbar{flex-wrap:wrap;gap:8px}.grids-container{grid-template-columns:1fr}}@media (max-width:640px){.dashboard-tabs{display:none!important}.mobile-nav-bar{display:flex!important}.dashboard-content{gap:8px;padding:8px}.dashboard-header{padding:6px 10px}.header-sub{display:none}.logs-section .section-header{align-items:center;flex-wrap:nowrap;justify-content:flex-start;padding:10px 12px}.logs-section .section-header>div:first-child{flex:1 1;min-width:0}.logs-section .section-subtitle{font-size:.78rem;white-space:nowrap}.config-toolbar{flex-wrap:wrap;gap:6px;padding:8px 10px}.search-wrap{flex:1 1 100%;max-width:100%;order:1}.add-stock-btn{order:2}.config-toolbar .refresh-btn{order:3}.config-legend-inline{margin-left:0;order:4}.collapse-grid-btn{order:5}[data-mobile-icon]{align-items:center;display:inline-flex!important;font-size:0!important;justify-content:center;min-width:36px;padding:7px 10px!important}[data-mobile-icon]:before{content:attr(data-mobile-icon);font-size:15px;line-height:1}.downloads-table-wrap{-webkit-overflow-scrolling:touch;max-width:calc(100vw - 36px);overflow-x:auto;width:100%}.downloads-page{margin:0;width:100%}.downloads-table{min-width:430px}.downloads-table tbody td,.downloads-table thead th{font-size:12px;padding:8px}.downloads-table td:first-child,.downloads-table th:first-child{width:130px}.downloads-table td:nth-child(2),.downloads-table th:nth-child(2){width:65px}.downloads-table td:nth-child(3),.downloads-table th:nth-child(3){width:60px}.downloads-table td:nth-child(4),.downloads-table th:nth-child(4){width:100px}.downloads-table td:nth-child(5),.downloads-table th:nth-child(5){width:75px}.downloads-table-wrap table td:last-child,.downloads-table-wrap table th:last-child{box-shadow:none;position:static}.config-table{min-width:640px}.holdings-table,.live-positions-table,.logs-table{min-width:600px}.grids-container{gap:8px;grid-auto-rows:auto;grid-template-columns:1fr}}.mobile-nav-bar{align-items:center;background:#fff;background:var(--tab-bg,#fff);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--tab-border,#e5e7eb);display:none;height:44px;justify-content:space-between;padding:0 12px;position:relative;z-index:50}.hamburger-btn{background:none;border:none;border-radius:6px;cursor:pointer;display:flex;flex-direction:column;gap:5px;height:36px;justify-content:center;padding:6px;transition:background .15s;width:36px}.hamburger-btn.open,.hamburger-btn:hover{background:#f3f4f6;background:var(--tab-hover,#f3f4f6)}.hb-line{background:#1a1a2e;background:var(--text,#1a1a2e);border-radius:2px;display:block;height:2px;transition:transform .2s,opacity .2s;width:100%}.hamburger-btn.open .hb-line:first-child{transform:translateY(7px) rotate(45deg)}.hamburger-btn.open .hb-line:nth-child(2){opacity:0}.hamburger-btn.open .hb-line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-pnl{font-size:16px;font-weight:700}.mobile-pnl.positive{color:#10b981}.mobile-pnl.negative{color:#ef4444}.mobile-nav-dropdown{background:#fff;background:var(--surface,#fff);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border,#e5e7eb);box-shadow:0 8px 24px #00000026;left:0;overflow:hidden;position:absolute;right:0;top:100%;z-index:200}.mobile-nav-item{background:none;border:none;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border,#e5e7eb);color:#1a1a2e;color:var(--text,#1a1a2e);cursor:pointer;display:block;font-size:14px;font-weight:500;padding:14px 20px;text-align:left;transition:background .15s;width:100%}.mobile-nav-item:last-child{border-bottom:none}.mobile-nav-item:hover{background:#f9fafb;background:var(--row-hover,#f9fafb)}.mobile-nav-item.active{background:#3b82f60f;border-left:3px solid #3b82f6;border-left:3px solid var(--tab-active,#3b82f6);color:#3b82f6;color:var(--tab-active,#3b82f6);font-weight:700;padding-left:17px}.mobile-nav-divider{background:#e5e7eb;background:var(--border,#e5e7eb);height:1px;margin:4px 0}.mobile-nav-group-label{color:#6b7280;color:var(--text-muted,#6b7280);cursor:default;font-weight:700}.mobile-nav-group-label,.mobile-nav-group-label:hover{background:#f0f2f5;background:var(--bg,#f0f2f5)}.mobile-nav-subitem{font-size:.9em;padding-left:36px}.mobile-nav-subitem.active{padding-left:33px}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;height:100vh;justify-content:center}.login-box{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-width:400px;padding:40px;text-align:center;width:90%}.login-box h1{color:#333;font-size:28px;margin:0 0 10px}.subtitle{color:#999;font-size:14px;margin-bottom:30px}.login-button{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:4px;color:#fff;cursor:pointer;display:inline-block;font-weight:700;margin:20px 0;padding:12px 40px;text-decoration:none;transition:transform .2s}.login-button:hover{transform:translateY(-2px)}.error-message{background-color:#fee;border-radius:4px;color:#c33;font-size:14px;margin-bottom:20px;padding:10px}.info-text{color:#666;font-size:12px;margin-top:20px}.portfolio-view{display:flex;flex-direction:column;gap:12px}.profile-strip{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:7px;box-shadow:var(--shadow);display:flex;gap:16px;padding:8px 14px}.profile-name{color:var(--text);font-size:12px;font-weight:700}.profile-email{color:var(--text-muted);font-size:11px}.portfolio-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr}@media (min-width:900px){.portfolio-grid{align-items:start;grid-template-columns:1.8fr 1.5fr .9fr}}.portfolio-section{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);display:flex;flex-direction:column;min-height:0;overflow:hidden}.section-header{align-items:center;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;justify-content:space-between;padding:8px 12px}.positions-header-right{align-items:center;display:flex;gap:1rem}.grid-total{color:var(--text);font-size:12px;font-weight:700}.grid-total.pos{color:#10b981}.grid-total.charges,.grid-total.neg{color:#ef4444}.section-footer{align-items:center;border-top:1px solid var(--border);display:flex;flex-shrink:0;gap:8px;justify-content:flex-end;min-height:36px;padding:10px 12px}.page-size-select{background:var(--th-bg);color:var(--text-muted);font-size:10px;outline:none;padding:2px 4px}.add-cfg-btn,.page-size-select{border:1px solid var(--border);border-radius:4px;cursor:pointer}.add-cfg-btn{align-items:center;background:none;color:var(--tab-active);display:flex;font-size:11px;font-weight:700;height:22px;justify-content:center;padding:0;transition:all .15s;width:22px}.add-cfg-btn:hover:not(:disabled){background:#4f8ef71f}.add-cfg-btn.done{border-color:#10b981;color:#10b981;cursor:default}.section-header h3{align-items:center;color:var(--text);display:flex;font-size:12px;font-weight:700;gap:6px;margin:0}.count-badge{background:var(--tab-active);border-radius:10px;color:#fff;font-size:10px;font-weight:700;padding:1px 6px}.till-date-pnl{font-size:12px;font-weight:700;padding:0 8px}.till-date-pnl.positive{color:#10b981}.till-date-pnl.negative{color:#ef4444}.table-wrap{flex:1 1;max-height:calc(100vh - 180px);overflow-x:auto;overflow-y:auto}.portfolio-section table{border-collapse:collapse;font-size:11px;table-layout:fixed;width:100%}.portfolio-section td,.portfolio-section th{word-wrap:break-word;border-bottom:1px solid var(--border);color:var(--text);overflow-wrap:break-word;padding:6px 8px;text-align:right;white-space:normal}.portfolio-section td:first-child,.portfolio-section th:first-child{text-align:left}.portfolio-section th{background:var(--th-bg);color:var(--text-muted);font-size:10px;font-weight:600;letter-spacing:.4px;position:-webkit-sticky;position:sticky;text-transform:uppercase;top:0;z-index:1}.portfolio-section tr:hover td{background:var(--row-hover)}.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none}.sortable-th:hover{background:var(--tab-hover)!important}.sort-icon{display:inline-block;font-size:10px;margin-left:3px}.sort-icon.inactive{color:var(--border)}.sort-icon.active{color:var(--tab-active)}.section-orders table td:nth-child(2),.section-orders table th:nth-child(2){width:46px}.section-positions table td:last-child,.section-positions table th:last-child{padding:4px;width:34px}.section-positions table td:first-child,.section-positions table th:first-child{white-space:nowrap}.section-positions table td:first-child{overflow:hidden;text-overflow:ellipsis}.t1-cell{color:#ef4444;font-weight:600}.symbol-cell{color:var(--text)!important;font-weight:600;text-align:left!important}.buy-cell{color:#10b981;font-weight:600}.sell-cell{color:#ef4444;font-weight:600}.status-badge{border-radius:10px;display:inline-block;font-size:10px;font-weight:600;letter-spacing:.3px;padding:1px 7px;text-transform:uppercase}.status-complete{background:#10b9811f;color:#10b981}.status-rejected{background:#ef44441f;color:#ef4444}.status-cancelled{background:#6b72801f;color:#6b7280}.status-open,.status-pending{background:#f59e0b1f;color:#d97706}.status-trigger\ pending{background:#6366f11f;color:#6366f1}.pagination{gap:3px}.pagination,.pagination button{align-items:center;display:flex}.pagination button{background:var(--th-bg);border:1px solid var(--border);border-radius:4px;color:var(--text);cursor:pointer;font-size:12px;height:28px;justify-content:center;min-width:28px;padding:5px 10px;transition:background .15s}.pagination button:hover:not(:disabled){background:var(--tab-hover)}.pagination button:disabled{cursor:default;opacity:.35}.page-info{padding:0 6px}.page-info,.page-range{color:var(--text-muted);font-size:12px}.page-range{padding:0 4px}.refresh-charges-btn{background:#3b82f6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:11px;font-weight:600;padding:4px 10px;transition:background .2s;white-space:nowrap}.refresh-charges-btn:hover:not(:disabled){background:#2563eb}.refresh-charges-btn:disabled{cursor:not-allowed;opacity:.6}.charges-error{cursor:help;font-size:12px}.contract-note-grid{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);display:flex;flex:1 1;flex-direction:column;min-height:0;min-width:300px;overflow:hidden}.contract-note-grid .section-header{align-items:center;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;justify-content:space-between;padding:8px 12px}.contract-note-grid h3{align-items:center;color:var(--text);display:flex;font-size:12px;font-weight:700;gap:6px;margin:0}.contract-note-grid .count-badge{background:var(--tab-active);border-radius:10px;color:#fff;font-size:10px;font-weight:700;padding:1px 6px}.contract-note-grid .grid-total.charges{color:#ef4444;font-size:12px;font-weight:700}.contract-note-grid .table-wrap{flex:1 1;max-height:calc(100vh - 250px);overflow-x:auto;overflow-y:auto}.contract-note-grid table{border-collapse:collapse;font-size:11px;table-layout:fixed;width:100%}.contract-note-grid td,.contract-note-grid th{word-wrap:break-word;border-bottom:1px solid var(--border);color:var(--text);overflow-wrap:break-word;padding:6px 8px;text-align:right;white-space:normal}.contract-note-grid td:first-child,.contract-note-grid th:first-child{text-align:left}.contract-note-grid th{background:var(--th-bg);color:var(--text-muted);font-size:10px;font-weight:600;letter-spacing:.4px;position:-webkit-sticky;position:sticky;text-transform:uppercase;top:0;z-index:1}.contract-note-grid tr:hover td{background:var(--row-hover)}.contract-note-grid .sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none}.contract-note-grid .sortable-th:hover{background:var(--tab-hover)!important}.contract-note-grid .sort-icon{display:inline-block;font-size:10px;margin-left:3px}.contract-note-grid .sort-icon.inactive{color:var(--border)}.contract-note-grid .sort-icon.active{color:var(--tab-active)}.contract-note-grid .symbol-cell{color:var(--text)!important;font-weight:600}.contract-note-grid .buy-cell{color:#10b981;font-weight:600}.contract-note-grid .sell-cell,.contract-note-grid .total-cell{color:#ef4444;font-weight:600}.contract-note-grid .no-data{color:var(--text-muted);font-size:12px;padding:20px;text-align:center}.contract-note-grid .section-footer{align-items:center;border-top:1px solid var(--border);display:flex;flex-shrink:0;gap:8px;justify-content:flex-end;min-height:36px;padding:10px 12px}.contract-note-grid .page-size-select{background:var(--th-bg);border:1px solid var(--border);border-radius:3px;color:var(--text-muted);cursor:pointer;font-size:8px;height:18px;line-height:1;outline:none;padding:1px 3px}.contract-note-grid .pagination{align-items:center;display:flex;gap:1px}.contract-note-grid .pagination button{align-items:center;background:var(--th-bg);border:1px solid var(--border);border-radius:4px;color:var(--text);cursor:pointer;display:flex;font-size:12px;height:28px;justify-content:center;min-width:28px;padding:5px 10px;transition:background .15s}.contract-note-grid .pagination button:hover:not(:disabled){background:var(--tab-hover)}.contract-note-grid .pagination button:disabled{cursor:default;opacity:.35}.contract-note-grid .page-info{color:var(--text-muted);font-size:12px;padding:0 6px}.contract-note-grid .page-range{color:var(--text-muted);font-size:12px;padding:0 4px}.autopilot-modal-content{background:var(--surface);border-radius:12px;box-shadow:0 20px 60px #0000004d;color:var(--text);max-height:85vh;max-width:1400px;overflow-y:auto;padding:28px;width:95vw}.autopilot-modal-content h2{color:var(--text);font-size:18px;font-weight:600;margin:0 0 12px}.autopilot-modal-content>p{line-height:1.5;margin:0 0 16px}.ap-status,.autopilot-modal-content>p{color:var(--text-muted);font-size:13px}.ap-status{padding:16px 0}.ap-status.ap-error{color:#ef4444;font-weight:600}.ap-grid-wrap{border:1px solid var(--border);border-radius:8px;overflow-x:auto}.ap-grid{border-collapse:collapse;font-size:12px;white-space:nowrap;width:100%}.ap-grid th{background:#80808014;background:var(--surface-alt,#80808014);font-weight:600;padding:8px 10px;position:-webkit-sticky;position:sticky;text-align:left;top:0}.ap-grid td,.ap-grid th{border-bottom:1px solid var(--border)}.ap-grid td{padding:6px 10px}.ap-grid tr.ap-row-excluded{opacity:.45}.ap-grid tr.ap-row-invalid td{background:#ef444414}.ap-dir,.ap-symbol{font-weight:600}.ap-dir{font-size:10px;margin-left:4px;opacity:.7}.ap-pos{color:#22c55e;font-weight:600}.ap-neg{color:#ef4444;font-weight:600}.ap-grid input[type=number]{width:80px}.ap-grid input[type=number],.ap-grid select{background:var(--surface);border:1px solid var(--border);border-radius:4px;color:var(--text);font-size:12px;padding:4px 6px}.ap-grid input[type=checkbox]{accent-color:#3b82f6;accent-color:var(--tab-active,#3b82f6);height:16px;width:16px}.ap-confirm-row{align-items:center;background:#ef444414;border:1px solid #ef44444d;border-radius:8px;color:var(--text);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:8px;margin-top:16px;padding:10px 12px}.ap-confirm-row input[type=checkbox]{accent-color:#3b82f6;accent-color:var(--tab-active,#3b82f6);flex-shrink:0;height:16px;width:16px}.profile-page{display:flex;flex-direction:column;gap:14px;margin:0 auto;max-width:600px}.profile-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);overflow:hidden}.profile-card-header{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:16px;padding:20px}.profile-avatar{align-items:center;background:var(--tab-active);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:20px;font-weight:700;height:48px;justify-content:center;width:48px}.profile-fullname{color:var(--text);font-size:15px;font-weight:700}.profile-id{color:var(--text-muted);font-size:11px;margin-top:3px}.profile-fields{padding:8px 0}.profile-field{align-items:center;border-bottom:1px solid var(--border);display:flex;font-size:12px;justify-content:space-between;padding:9px 20px}.profile-field:last-child{border-bottom:none}.field-label{color:var(--text-muted);font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.field-value{color:var(--text);font-weight:500}.custom-section-header{align-items:center;border-bottom:1px solid var(--border);cursor:pointer;display:flex;justify-content:space-between;padding:12px 20px;transition:background .15s;-webkit-user-select:none;user-select:none}.custom-section-header:hover{background:var(--row-hover)}.custom-section-title{color:var(--text);font-size:12px;font-weight:700}.chevron{color:var(--text-muted);font-size:10px}.custom-section-body{display:flex;flex-direction:column;gap:8px;padding:14px 20px}.no-custom{color:var(--text-muted);font-size:12px;padding:10px 0;text-align:center}.custom-field-row{align-items:center;display:flex;gap:8px}.custom-input{background:var(--bg);border:1px solid var(--border);border-radius:5px;color:var(--text);font-size:12px;outline:none;padding:6px 10px;transition:border-color .15s}.custom-input:focus{border-color:var(--tab-active)}.label-input{width:35%}.value-input{flex:1 1}.remove-field-btn{background:none;border:1px solid var(--border);border-radius:5px;color:var(--text-muted);cursor:pointer;flex-shrink:0;font-size:11px;padding:5px 8px;transition:all .15s}.remove-field-btn:hover{background:#ef44441a;border-color:#ef4444;color:#ef4444}.custom-actions{align-items:center;border-top:1px solid var(--border);display:flex;justify-content:space-between;margin-top:4px;padding-top:10px}.add-field-btn{background:none;border:1px dashed var(--tab-active);border-radius:5px;color:var(--tab-active);cursor:pointer;font-size:12px;padding:5px 12px;transition:background .15s}.add-field-btn:hover{background:#4f8ef714}.save-row{align-items:center;display:flex;gap:10px}.save-btn{background:var(--tab-active);border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:6px 18px;transition:opacity .15s}.save-btn:disabled{cursor:default;opacity:.5}.save-btn:hover:not(:disabled){opacity:.85}.save-msg{font-size:11px;font-weight:600}.save-msg.success{color:#10b981}.save-msg.error{color:#ef4444}.config-page{display:flex;flex-direction:column;gap:16px}.config-section-header--toggle{align-items:center;cursor:pointer;display:flex;justify-content:space-between;-webkit-user-select:none;user-select:none}.config-section-header--toggle:hover{background:var(--tab-hover)}.collapse-icon{color:var(--text-muted);font-size:.75rem}.global-setting-toggle{align-items:center;cursor:pointer;display:flex;gap:.5rem}.global-setting-toggle input[type=checkbox]{accent-color:var(--tab-active);cursor:pointer;height:16px;width:16px}.global-setting-toggle-label{color:var(--text);font-size:.88rem}.config-toolbar{padding:.75rem 1.25rem}.config-legend-inline{align-items:center;color:var(--text-muted);display:flex;font-size:11px;gap:5px;margin-left:auto;white-space:nowrap}.refresh-btn{background:var(--surface);border:1px solid var(--border);border-radius:7px;color:var(--text);font-size:12px;font-weight:600;padding:8px 14px;transition:all .15s;white-space:nowrap}.refresh-btn:hover{border-color:var(--tab-active);color:var(--tab-active)}.refresh-btn:active{transform:rotate(180deg)}.bulk-pull-btn{background:var(--surface);border:1px solid var(--border);border-radius:7px;color:var(--text);cursor:pointer;font-size:12px;font-weight:600;padding:8px 14px;transition:all .15s;white-space:nowrap}.bulk-pull-btn:hover{border-color:var(--tab-active);color:var(--tab-active)}.collapse-grid-btn{background:var(--surface);border:1px solid var(--border);border-radius:7px;color:var(--text-muted);cursor:pointer;font-size:11px;font-weight:600;margin-left:auto;padding:8px 12px;transition:all .15s;white-space:nowrap}.collapse-grid-btn:hover{border-color:var(--tab-active);color:var(--tab-active)}.config-error{align-items:center;background:#ef44441a;border:1px solid #ef44444d;border-radius:6px;color:#ef4444;display:flex;font-size:12px;justify-content:space-between;padding:8px 14px}.config-error button{background:none;border:none;color:#ef4444;cursor:pointer;font-size:14px}.config-empty{background:var(--surface);border:1px dashed var(--border);border-radius:10px;color:var(--text-muted);font-size:13px;padding:60px 20px;text-align:center}.config-empty p{margin:6px 0}.config-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);overflow:auto}.config-table{border-collapse:collapse;font-size:12px;width:100%}.config-table th{background:var(--th-bg);color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.5px;padding:9px 12px;position:-webkit-sticky;position:sticky;text-align:left;text-transform:uppercase;top:0}.config-table td,.config-table th{border-bottom:1px solid var(--border);white-space:nowrap}.config-table td{color:var(--text);padding:8px 12px}.config-table tr:last-child td{border-bottom:none}.config-table tr:hover td{background:var(--row-hover)}.editable-cell{cursor:pointer;position:relative}.editable-cell:hover{background:#4f8ef70f!important}.edit-hint{color:var(--text-muted);font-size:9px;margin-left:4px;opacity:0;transition:opacity .15s}.editable-cell:hover .edit-hint{opacity:1}.editing-cell input,.editing-cell select{background:var(--bg);border:1px solid var(--tab-active);border-radius:4px;color:var(--text);font-size:12px;outline:none;padding:3px 6px;width:80px}.symbol-chip{background:#4f8ef71f;border-radius:5px;color:var(--tab-active);font-size:11px;font-weight:700;padding:2px 8px}.status-dot{align-items:center;display:inline-flex;font-size:11px;font-weight:600;gap:5px}.status-dot:before{border-radius:50%;content:"";height:6px;width:6px}.status-dot.active:before{background:#10b981}.status-dot.paused:before{background:#f59e0b}.status-dot.active{color:#10b981}.status-dot.paused{color:#f59e0b}.delete-btn{background:none;border:1px solid #0000;border-radius:5px;color:var(--text-muted);cursor:pointer;font-size:12px;padding:3px 7px;transition:all .15s}.delete-btn:hover{background:#ef44441a;border-color:#ef4444;color:#ef4444}.config-table tr.in-holding td{background:#10b9810f}.config-table tr.in-holding:hover td{background:#10b9811f}.config-table tr.in-holding td:first-child,.config-table tr.in-holding td:last-child{background:#f1fbf7}.config-table tr.in-holding:hover td:first-child,.config-table tr.in-holding:hover td:last-child{background:#e2f7f0}[data-theme=dark] .config-table tr.in-holding td:first-child,[data-theme=dark] .config-table tr.in-holding td:last-child{background:#19262c}[data-theme=dark] .config-table tr.in-holding:hover td:first-child,[data-theme=dark] .config-table tr.in-holding:hover td:last-child{background:#193032}.config-legend{align-items:center;color:var(--text-muted);display:flex;font-size:11px;gap:6px;margin-bottom:4px}.legend-holding{color:#10b981;font-size:14px}.config-table .profit{color:#10b981;font-weight:600}.config-table .loss{color:#ef4444;font-weight:600}.config-hint{color:var(--text-muted);font-size:11px;padding:4px 2px}.hist-chart-btn{background:none;border:1px solid #0000;border-radius:5px;cursor:pointer;font-size:14px;padding:3px 6px;transition:all .15s}.hist-chart-btn:hover{background:#4f8ef71f;border-color:var(--tab-active)}.hist-popup-overlay{align-items:flex-start;background:#0009;display:flex;inset:0;justify-content:center;overflow-y:hidden;padding:40px 16px 16px;position:fixed;z-index:1000}.hist-popup{background:var(--surface);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;gap:0;max-height:calc(100vh - 80px);max-width:900px;overflow-x:hidden;overflow-y:auto;width:100%}.hist-popup-header{align-items:center;background:var(--th-bg);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:.9rem 1.25rem}.hist-popup-title{color:var(--text);font-size:1rem;font-weight:700}.hist-popup-close{background:none;border:none;border-radius:5px;color:var(--text-muted);cursor:pointer;font-size:16px;padding:4px 8px;transition:all .15s}.hist-error,.hist-popup-close:hover{background:#ef44441a;color:#ef4444}.hist-error{align-items:center;border-bottom:1px solid #ef444433;display:flex;font-size:12px;justify-content:space-between;padding:8px 1.25rem}.hist-error button{background:none;border:none;color:#ef4444;cursor:pointer}.hist-loading{color:var(--text-muted);font-size:13px;padding:40px;text-align:center}.hist-pull-section{display:flex;flex-direction:column;gap:12px;padding:1.25rem}.hist-pull-hint{color:var(--text-muted);font-size:13px;margin:0}.hist-pull-form{align-items:flex-end;display:flex;flex-wrap:wrap;gap:10px}.hist-pull-form--inline{border-top:1px solid var(--border);padding:12px 1.25rem}.hist-pull-row{display:flex;flex-direction:column;gap:4px}.hist-pull-row label{color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.hist-pull-row input,.hist-pull-row select{background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.82rem;outline:none;padding:.4rem .6rem;transition:border-color .15s}.hist-pull-row input:focus,.hist-pull-row select:focus{border-color:var(--tab-active)}.hist-go-btn{align-self:flex-end;background:var(--tab-active);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:.4rem 1.2rem;transition:opacity .15s}.hist-go-btn:hover:not(:disabled){opacity:.85}.hist-go-btn:disabled{cursor:not-allowed;opacity:.5}.hist-content{display:flex;flex-direction:column}.hist-chart{box-sizing:border-box;height:380px;padding:8px 8px 0;width:100%}.hist-pull-toggle-row{align-items:center;border-bottom:1px solid var(--border);border-top:1px solid var(--border);display:flex;justify-content:space-between;padding:8px 1.25rem}.hist-pull-toggle-btn{background:none;border:1px solid var(--border);border-radius:5px;color:var(--text-muted);cursor:pointer;font-size:11px;padding:4px 10px;transition:all .15s}.hist-pull-toggle-btn:hover{border-color:var(--tab-active);color:var(--tab-active)}.hist-candle-count{color:var(--text-muted);font-size:11px}.hist-grid-wrap{overflow-x:auto}.hist-grid{border-collapse:collapse;font-size:11px;width:100%}.hist-grid th{background:var(--th-bg);color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.4px;padding:7px 10px;position:-webkit-sticky;position:sticky;text-align:left;text-transform:uppercase;top:0;z-index:1}.hist-grid td,.hist-grid th{border-bottom:1px solid var(--border);white-space:nowrap}.hist-grid td{color:var(--text);padding:5px 10px}.hist-grid tr.candle-green td:nth-child(6){color:#10b981;font-weight:600}.hist-grid tr.candle-red td:nth-child(6){color:#ef4444;font-weight:600}.hist-grid tr:hover td{background:var(--row-hover)}.algos-page{display:flex;flex-direction:column;gap:14px}.algos-toolbar{align-items:flex-start;display:flex;justify-content:space-between}.algos-title{color:var(--text);font-size:15px;font-weight:700;margin:0}.algos-sub{color:var(--text-muted);font-size:11px;margin:3px 0 0}.algos-toolbar-actions{align-items:center;display:flex;gap:8px}.new-algo-btn{background:var(--tab-active);border:none;border-radius:7px;color:#fff;cursor:pointer;font-size:12px;font-weight:700;padding:8px 18px;transition:opacity .15s;white-space:nowrap}.new-algo-btn:hover{opacity:.85}.my-trades-link-btn{background:#0000;border:1.5px solid var(--tab-active);border-radius:7px;color:var(--tab-active);cursor:pointer;font-size:12px;font-weight:700;padding:7px 16px;transition:background .15s,color .15s;white-space:nowrap}.my-trades-link-btn:hover{background:var(--tab-active);color:#fff}.backtest-header-btn{background:#4f8ef7;border:none;border-radius:7px;color:#fff;cursor:pointer;font-size:12px;font-weight:700;padding:8px 18px;transition:opacity .15s;white-space:nowrap}.backtest-header-btn:hover{opacity:.85}.algo-error{align-items:center;background:#ef44441a;border:1px solid #ef44444d;border-radius:6px;color:#ef4444;display:flex;font-size:12px;justify-content:space-between;padding:8px 14px}.algo-error button{background:none;border:none;color:#ef4444;cursor:pointer;font-size:14px}.algo-warning{background:#f59e0b14;border:1px solid #f59e0b4d;border-radius:8px;color:#d97706;font-size:12px;padding:10px 14px}.algo-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);overflow:hidden;transition:border-color .2s}.algo-card.active{border-color:#10b981;box-shadow:0 0 0 1px #10b98133,var(--shadow)}.algo-card-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;padding:14px 16px}.algo-name{align-items:center;color:var(--text);display:flex;flex-wrap:wrap;font-size:13px;font-weight:700;gap:8px}.algo-desc{color:var(--text-muted);font-size:11px;line-height:1.5;margin-top:4px}.default-badge{background:#4f8ef726;color:var(--tab-active);letter-spacing:.4px}.default-badge,.type-badge{border-radius:10px;font-size:9px;font-weight:700;padding:2px 7px;text-transform:uppercase}.type-intraday{background:#10b9811f;color:#10b981}.type-positional{background:#6366f11f;color:#6366f1}.type-scalping{background:#ef44441f;color:#ef4444}.type-swing{background:#f59e0b1f;color:#f59e0b}.algo-controls{align-items:center;display:flex;flex-shrink:0;gap:8px}.demo-btn,.expand-btn{background:var(--th-bg);border:1px solid var(--border);border-radius:5px;color:var(--text-muted);cursor:pointer;font-size:11px;padding:4px 10px;transition:all .15s;white-space:nowrap}.demo-btn:hover,.expand-btn:hover{background:var(--row-hover);color:var(--text)}.edit-btn{background:none;border:1px solid #0000;border-radius:5px;color:var(--text-muted);cursor:pointer;font-size:13px;padding:4px 8px;transition:all .15s}.edit-btn:hover{background:#4f8ef71a;border-color:#4f8ef7;color:#4f8ef7}.trades-btn{background:none;border:1px solid #0000;border-radius:5px;color:var(--text-muted);cursor:pointer;font-size:13px;padding:4px 8px;transition:all .15s}.trades-btn:hover{background:#10b9811a;border-color:#10b981;color:#10b981}.demo-btn{background:#6366f11f;border-color:#6366f1;color:#6366f1}.demo-btn:hover{background:#6366f1;color:#fff}.demo-btn:disabled{cursor:not-allowed;opacity:.5}.del-btn{background:none;border:1px solid #0000;border-radius:5px;color:var(--text-muted);cursor:pointer;font-size:12px;padding:4px 8px;transition:all .15s}.del-btn:hover{background:#ef44441a;border-color:#ef4444;color:#ef4444}.fav-btn{background:none;border:1px solid #0000;border-radius:5px;color:var(--text-muted);cursor:pointer;font-size:14px;opacity:.4;padding:4px 7px;transition:all .15s}.fav-btn--on,.fav-btn:hover{border-color:#f59e0b;color:#f59e0b;opacity:1}[data-theme=dark] .fav-btn--on{border-color:#fbbf24;color:#fbbf24}.active-toggle{cursor:pointer;display:inline-block;height:20px;position:relative;width:36px}.active-toggle input{height:0;opacity:0;width:0}.slider{background:var(--border);border-radius:20px;inset:0}.slider,.slider:before{position:absolute;transition:.2s}.slider:before{background:#fff;border-radius:50%;bottom:3px;content:"";height:14px;left:3px;width:14px}.active-toggle input:checked+.slider{background:#10b981}.active-toggle input:checked+.slider:before{transform:translateX(16px)}.algo-details{border-top:1px solid var(--border);padding:0}.how-it-works-grid{grid-gap:0;display:grid;gap:0;grid-template-columns:1fr 1fr}.how-it-works-left{border-right:1px solid var(--border);padding:14px 16px}.how-it-works-right{padding:14px 16px}.how-it-works-example-text{color:var(--text-muted);font-size:12px;line-height:1.6;margin:6px 0 0}.how-it-works-example-text+.how-it-works-example-text{margin-top:8px}.how-it-works-doc-link{color:var(--text-muted);font-size:11px;margin-top:12px}.how-it-works-doc-link a{color:#3b82f6;color:var(--accent,#3b82f6);text-decoration:underline}@media (max-width:700px){.how-it-works-grid{grid-template-columns:1fr}.how-it-works-left{border-bottom:1px solid var(--border);border-right:none}}.algo-steps{list-style:decimal;margin:0;padding-left:18px}.algo-step{border-bottom:1px solid #ffffff0d;color:var(--text);font-size:12px;line-height:1.55;padding:4px 0}.algo-step:last-child{border-bottom:none}.detail-title{color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.6px;margin-bottom:8px;text-transform:uppercase}.detail-title-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.detail-title-row .detail-title{margin-bottom:0}.trades-refresh-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;line-height:1;padding:0 2px;transition:color .15s,transform .2s}.trades-refresh-btn:hover:not(:disabled){color:var(--tab-active)}.trades-refresh-btn:disabled{cursor:default;opacity:.4}.trades-title-actions{align-items:center;display:flex;gap:8px}.trades-popout-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:13px;line-height:1;padding:0 2px;transition:color .15s}.trades-popout-btn:hover{color:var(--tab-active)}.trades-popout-modal{max-height:80vh;max-width:92vw;width:820px}.trades-popout-header{align-items:center;display:flex;gap:10px;justify-content:space-between}.trades-popout-header h3{flex-shrink:0}.trades-date-nav{align-items:center;display:flex;flex:1 1;gap:8px;justify-content:center}.trades-date-chevron{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:18px;line-height:1;padding:0 4px;transition:color .15s}.trades-date-chevron:hover:not(:disabled){color:var(--tab-active)}.trades-date-chevron:disabled{cursor:default;opacity:.3}.trades-date-label{color:var(--text-primary);font-size:13px;font-weight:600;white-space:nowrap}.trades-date-pnl{font-size:13px;font-weight:700;white-space:nowrap}.trades-date-pnl.profit{color:#10b981}.trades-date-pnl.loss{color:#ef4444}.trades-tab-bar{border-bottom:1px solid var(--border);display:flex;flex-shrink:0}.trades-tab-btn{background:none;border:none;border-bottom:2px solid #0000;color:var(--text-muted);cursor:pointer;font-size:12px;font-weight:600;letter-spacing:.2px;margin-bottom:-1px;padding:8px 18px;transition:color .15s,border-color .15s}.trades-tab-btn:hover{color:var(--text-primary)}.trades-tab-btn.active{border-bottom-color:var(--tab-active);color:var(--tab-active)}.trades-popout-body{flex:1 1;min-height:0;overflow-y:auto}.trades-popout-body .trades-list{column-count:2;column-gap:14px;display:block;max-height:none}.trades-popout-body .trades-list>*{break-inside:avoid;margin-bottom:6px;page-break-inside:avoid}@media (max-width:700px){.trades-popout-body .trades-list{column-count:1}}.detail-row{border-bottom:1px solid var(--border);color:var(--text);display:flex;font-size:11px;justify-content:space-between;padding:3px 0}.detail-row:last-child{border-bottom:none}.detail-row span:first-child{color:var(--text-muted)}.profit{color:#10b981}.loss,.profit{font-weight:600}.loss{color:#ef4444}.buy-type{color:#10b981;font-weight:600}.sell-type{color:#ef4444;font-weight:600}.algo-editor{background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);overflow:hidden}.editor-header{align-items:center;background:var(--th-bg);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:14px 20px}.editor-header h3{color:var(--text);font-size:14px;margin:0}.editor-body{display:flex;flex:1 1;flex-direction:column;gap:10px;min-height:0;overflow-y:auto;padding:16px 20px}.editor-row{align-items:flex-start;display:flex;gap:10px}.editor-row label{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.4px;min-width:90px;padding-top:8px;text-transform:uppercase}.editor-row input,.editor-row select,.editor-row textarea{background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);flex:1 1;font-family:inherit;font-size:12px;outline:none;padding:7px 10px;transition:border-color .15s}.editor-row input:focus,.editor-row select:focus,.editor-row textarea:focus{border-color:var(--tab-active)}.editor-row textarea{resize:vertical}.param-section{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:12px 14px}.param-section-subheader,.param-section-title{color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.6px;margin-bottom:10px;text-transform:uppercase}.param-section-subheader{grid-column:1/-1;margin-top:16px}.param-row{align-items:center;border-bottom:1px solid var(--border);display:flex;font-size:12px;gap:8px;padding:5px 0}.param-row:last-child{border-bottom:none}.param-label{color:var(--text-muted);font-size:11px;min-width:130px}.param-control{align-items:center;display:flex;flex:1 1;gap:6px}.param-control input[type=number],.param-control input[type=time]{background:var(--surface);border:1px solid var(--border);border-radius:5px;color:var(--text);font-size:12px;outline:none;padding:4px 8px;width:80px}.param-control input[type=time]{width:96px}.param-control select{background:var(--surface);border:1px solid var(--border);border-radius:5px;color:var(--text);flex:1 1;font-size:12px;outline:none;padding:4px 8px}.unit{color:var(--text-muted);font-size:11px;white-space:nowrap}.toggle-label{align-items:center;cursor:pointer;display:flex;gap:6px}.toggle-text{color:var(--text-muted);font-size:11px}.editor-footer{background:var(--th-bg);border-top:1px solid var(--border);display:flex;flex-shrink:0;gap:10px;justify-content:flex-end;padding:14px 20px}.btn-cancel{background:none;border:1px solid var(--border);border-radius:6px;color:var(--text-muted);cursor:pointer;font-size:12px;padding:7px 18px;transition:all .15s}.btn-cancel:hover{background:var(--row-hover);color:var(--text)}.btn-save{background:var(--tab-active);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:700;padding:7px 20px;transition:opacity .15s}.btn-save:hover{opacity:.85}.symbol-selector{grid-gap:8px;background:var(--row-hover);border-radius:6px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));margin-top:8px;padding:10px}.symbol-checkbox{align-items:center;border-radius:4px;cursor:pointer;display:flex;font-size:11px;gap:6px;padding:4px 8px;transition:background .1s}.symbol-checkbox:hover{background:var(--border)}.symbol-checkbox input{cursor:pointer}.no-stocks{color:var(--text-muted);font-size:11px;grid-column:1/-1;padding:8px}.selected-count{color:var(--text-muted);font-size:10px;margin-top:4px}.symbol-list{background:var(--row-hover);border-radius:4px;color:var(--text);font-size:11px;padding:8px}.no-symbols,.no-trades,.trade-loading{color:var(--text-muted);font-size:11px;padding:8px}.trades-list{display:flex;flex-direction:column;gap:6px;max-height:300px;overflow-y:auto}.trade-item{background:var(--row-hover);border-left:3px solid var(--border);border-radius:4px;display:flex;font-size:11px;gap:10px;padding:8px}.trade-item.open{border-left-color:#3b82f6}.trade-item.closed{opacity:.7}.trade-symbol{display:flex;flex-direction:column;font-weight:700;gap:1px;min-width:60px}.trade-date{color:var(--text-muted);font-size:9px;font-weight:400}.trade-info{display:flex;flex:1 1;flex-direction:column;gap:2px}.trade-entry,.trade-exit,.trade-target{color:var(--text)}.trade-pnl{font-weight:600}.trade-pnl.profit{color:#10b981}.trade-pnl.loss{color:#ef4444}.oob-trade-item{flex-direction:column;padding:6px 8px}.oob-trade-header{align-items:flex-start;display:flex;gap:8px}.oob-trade-chevron{background:none;border:none;color:var(--text-muted);cursor:pointer;flex-shrink:0;font-size:12px;line-height:1.4;padding:2px;transition:color .15s}.oob-trade-chevron:hover{color:var(--text)}.oob-trade-levels{display:flex;flex-wrap:wrap;gap:8px}.trade-maxloss{color:#ef4444;font-size:10px;font-weight:500}.trade-minprofit{color:#10b981;font-size:10px;font-weight:500}.trade-maxprofit{color:#2563eb;font-size:10px;font-weight:500}.oob-squareoff-btn{background:none;border:1px solid #ef444466;border-radius:5px;color:#ef4444;cursor:pointer;flex-shrink:0;font-size:10px;font-weight:600;padding:3px 8px;transition:all .15s;white-space:nowrap}.oob-squareoff-btn:hover:not(:disabled){background:#ef4444;color:#fff}.oob-squareoff-btn:disabled{cursor:default;opacity:.5}.oob-stoptrade-btn{background:none;border:1px solid #eab30880;border-radius:5px;color:#ca8a04;cursor:pointer;flex-shrink:0;font-size:10px;font-weight:600;padding:3px 8px;transition:all .15s;white-space:nowrap}.oob-stoptrade-btn:hover:not(:disabled){background:#ca8a04;color:#fff}.oob-stoptrade-btn:disabled{cursor:default;opacity:.5}.oob-manualmode-btn{background:none;border:1px solid #6366f180;border-radius:5px;color:#6366f1;cursor:pointer;flex-shrink:0;font-size:10px;font-weight:600;padding:3px 8px;transition:all .15s;white-space:nowrap}.oob-manualmode-btn:hover:not(:disabled){background:#6366f1;color:#fff}.oob-manualmode-btn:disabled{cursor:default;opacity:.5}.oob-noreverse-btn{background:none;border:1px solid #0d948880;border-radius:5px;color:#0d9488;cursor:pointer;flex-shrink:0;font-size:10px;font-weight:600;padding:3px 8px;transition:all .15s;white-space:nowrap}.oob-noreverse-btn:hover:not(:disabled){background:#0d9488;color:#fff}.oob-noreverse-btn:disabled{cursor:default;opacity:.5}.oob-noreverse-badge{color:#0d9488;flex-shrink:0;font-size:10px;font-weight:600;white-space:nowrap}.oob-checks-grid-wrap{margin-left:18px;margin-top:8px;overflow-x:auto}.oob-no-checks{color:var(--text-muted);font-size:10px;padding:4px 0}.oob-checks-grid{border-collapse:collapse;font-size:10px;width:100%}.oob-checks-grid th{border-bottom:1px solid var(--border);color:var(--text-muted);font-size:9px;font-weight:600;letter-spacing:.4px;padding:3px 6px;text-align:left;text-transform:uppercase;white-space:nowrap}.oob-checks-grid td{border-bottom:1px solid #ffffff0d;color:var(--text);padding:3px 6px;white-space:nowrap}.oob-checks-grid tr:last-child td{border-bottom:none}.demo-section{background:var(--surface);border:2px solid #6366f1;border-radius:10px;box-shadow:0 0 0 1px #6366f133,var(--shadow);margin-left:0;margin-top:12px;overflow:hidden}.demo-header{align-items:center;background:#6366f11a;border-bottom:1px solid #6366f1;display:flex;justify-content:space-between;padding:14px 16px}.demo-title{color:#6366f1;font-size:14px;font-weight:700;margin:0}.demo-subtitle{color:var(--text-muted);font-size:11px;margin:3px 0 0}.demo-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:16px;padding:4px 8px;transition:all .2s}.demo-close:hover{color:#ef4444}.demo-timer{align-items:center;background:#0003;border-radius:4px;display:flex;font-family:Courier New,monospace;gap:8px;padding:8px 12px}.timer-label{color:var(--text-muted);font-size:10px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.timer-value{color:#6366f1;font-size:16px;font-weight:700;min-width:60px;text-align:right}.timer-value.complete{animation:pulse 1s infinite;color:#10b981}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.demo-waiting{background:var(--surface);border:1px dashed var(--border);border-radius:4px;margin:14px 16px;padding:32px 16px;text-align:center}.demo-waiting p{color:var(--text-muted);font-size:12px;margin:0}.demo-stats-grid{grid-gap:10px;background:var(--surface);border-bottom:1px solid var(--border);display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.demo-grid-section,.demo-stats-grid{padding:14px 16px}.demo-grid-title{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.6px;margin-bottom:10px;text-transform:uppercase}.demo-grid-wrap{border:1px solid var(--border);border-radius:6px;overflow-x:auto}.demo-grid{background:var(--surface);border-collapse:collapse;font-size:11px;width:100%}.demo-grid thead{background:var(--th-bg);position:-webkit-sticky;position:sticky;top:0}.demo-grid th{color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.4px;text-align:left;text-transform:uppercase}.demo-grid td,.demo-grid th{border-bottom:1px solid var(--border);padding:8px 10px}.demo-grid td{color:var(--text)}.demo-grid-row:hover{background:var(--row-hover)}.demo-grid-row.profit{border-left:3px solid #10b981}.demo-grid-row.loss{border-left:3px solid #ef4444}.demo-grid-row td.demo-symbol{color:var(--tab-active);font-weight:700}.demo-grid-row td.demo-reason{color:var(--text-muted);font-size:9px}.demo-grid-row td.profit{color:#10b981;font-weight:600}.demo-grid-row td.loss{color:#ef4444;font-weight:600}.demo-summary{grid-gap:12px;border-bottom:1px solid var(--border);display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));margin-bottom:12px;padding-bottom:12px}.demo-stat{background:var(--surface);border:1px solid var(--border);border-radius:4px;display:flex;flex-direction:column;gap:4px;padding:8px}.stat-label{color:var(--text-muted);font-size:9px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.stat-value{color:var(--text);font-size:13px;font-weight:700}.stat-value.profit{color:#10b981}.stat-value.loss{color:#ef4444}.demo-trades-title{color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.6px;margin-bottom:8px;text-transform:uppercase}.demo-trades{display:flex;flex-direction:column;gap:6px;max-height:300px;overflow-y:auto}.demo-trade{align-items:center;background:var(--surface);border-left:3px solid var(--border);border-radius:4px;display:flex;font-size:10px;justify-content:space-between;padding:8px}.demo-trade.profit{border-left-color:#10b981}.demo-trade.loss{border-left-color:#ef4444}.demo-trade-info{align-items:center;display:flex;flex:1 1;gap:8px}.demo-symbol{color:var(--text);font-weight:700;min-width:50px}.demo-entry,.demo-exit,.demo-qty{color:var(--text-muted);font-size:9px}.demo-trade-result{align-items:flex-end;display:flex;flex-direction:column;gap:2px;text-align:right}.demo-pnl{font-size:11px;font-weight:700}.demo-pnl.profit{color:#10b981}.demo-pnl.loss{color:#ef4444}.demo-reason{color:var(--text-muted);font-size:8px}.backtest-prestart-modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 32px #00000059;max-width:95vw;width:420px}.backtest-prestart-header{align-items:center;background:var(--th-bg);border-bottom:1px solid var(--border);border-radius:12px 12px 0 0;display:flex;justify-content:space-between;padding:14px 16px}.backtest-prestart-title{color:var(--text);font-size:13px;font-weight:700}.backtest-prestart-body{padding:20px 16px}.backtest-prestart-row{align-items:center;display:flex;gap:10px}.backtest-prestart-footer{border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end;padding:12px 16px}.backtest-section{background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);overflow:hidden}.backtest-section .section-header{align-items:center;background:var(--th-bg);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:12px 14px}.backtest-section .section-header h3{color:var(--text);font-size:12px;font-weight:700;margin:0}.backtest-controls{align-items:flex-start;border-bottom:1px solid var(--border);display:flex;gap:16px;padding:14px}.backtest-data-list{align-items:center;display:flex;flex:1 1;flex-direction:row;flex-wrap:wrap;gap:16px}.backtest-label{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;white-space:nowrap}.backtest-checkbox{align-items:center;color:var(--text);cursor:pointer;display:flex;font-size:11px;gap:6px;white-space:nowrap}.backtest-checkbox input{cursor:pointer}.backtest-checkbox .data-info{display:none}.backtest-btn{align-self:flex-end;background:#4f8ef7;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:700;height:-webkit-fit-content;height:fit-content;padding:8px 16px;transition:opacity .15s;white-space:nowrap}.backtest-btn:hover:not(:disabled){opacity:.85}.backtest-btn:disabled{cursor:default;opacity:.45}.no-data-message{color:var(--text-muted);font-size:11px;font-style:italic;padding:8px}.backtest-date-picker{align-items:center;align-self:flex-end;display:flex;gap:8px;height:-webkit-fit-content;height:fit-content}.backtest-date-select{background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);cursor:pointer;font-size:11px;outline:none;padding:7px 10px;transition:border-color .15s}.backtest-date-select:focus{border-color:var(--tab-active)}.simulation-header{align-items:center;background:var(--th-bg);border-bottom:1px solid var(--border);display:flex;gap:16px;justify-content:space-between;padding:12px 14px}.simulation-header>div:first-child h3{color:var(--text);font-size:12px;font-weight:700;margin:0}.simulation-header>div:first-child p{color:var(--text-muted);font-size:10px;margin:2px 0 0}.simulation-buttons{display:flex;gap:8px}.ff-btn{background:#6366f1;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:6px 14px}.ff-btn:hover{opacity:.85}.ff-btn:disabled{cursor:default;opacity:.4}.more-symbols-link{background:none;border:none;color:var(--tab-active);cursor:pointer;font-size:12px;padding:0;text-decoration:underline}.all-symbols-popup{background:var(--card-bg);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #0000004d;color:var(--text-primary);font-size:12px;left:0;line-height:1.6;max-width:340px;padding:10px 12px;position:absolute;top:100%;z-index:100}.close-symbols-popup{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:12px;margin-left:8px;padding:0}.simulation-symbols{position:relative}.pause-btn{background:#f59e0b;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:700;padding:8px 16px;transition:all .15s}.pause-btn:hover{opacity:.85}.pause-btn.paused{background:#10b981}.stop-simulation-btn{background:#ef4444;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:700;padding:8px 16px;transition:opacity .15s}.stop-simulation-btn:hover{opacity:.85}.simulation-grids{display:flex;flex-direction:row;gap:16px;padding:14px}.grid-section{border:1px solid var(--border);border-radius:8px;display:flex;flex:1 1;flex-direction:column;min-width:0;overflow:hidden}.ctt-backtest-warnings{background:#ef44441a;border:1px solid #ef444473;border-radius:8px;margin:0 16px 12px;padding:10px 14px}.ctt-backtest-warnings-title{color:#ef4444;font-size:12px;font-weight:700;margin-bottom:6px}.ctt-backtest-warnings-list{color:#fca5a5;font-size:11.5px;line-height:1.7;margin:0;padding-left:18px}.backtest-modal-grids{box-sizing:border-box;display:flex!important;flex-direction:row!important;gap:16px;padding:14px;width:100%}.backtest-modal-grid-section{border:1px solid var(--border);border-radius:8px;display:flex;flex:1 1!important;flex-direction:column;min-width:0!important;overflow:hidden;width:0}.grid-title{align-items:center;background:var(--th-bg);border-bottom:1px solid var(--border);color:var(--text-muted);display:flex;flex-shrink:0;font-size:11px;font-weight:700;justify-content:space-between;letter-spacing:.5px;padding:10px 14px;text-transform:uppercase}.positions-pnl-total{font-size:12px;font-weight:700;letter-spacing:0;text-transform:none}.positions-pnl-total.profit{color:#10b981}.positions-pnl-total.loss{color:#ef4444}.positions-pnl-summary{align-items:center;display:flex;font-size:12px;font-weight:600;gap:4px;letter-spacing:0;text-transform:none}.positions-pnl-summary .charges-label{color:var(--text-muted)}.positions-pnl-summary .net-pnl-label{font-weight:700}.positions-pnl-summary .profit{color:#10b981}.positions-pnl-summary .loss{color:#ef4444}.simulation-grid-wrap{height:296px;overflow-y:auto}.simulation-grid{border-collapse:collapse;font-size:11px;width:100%}.simulation-grid th{background:var(--th-bg);border-bottom:1px solid var(--border);color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.5px;padding:8px 10px;position:-webkit-sticky;position:sticky;text-align:right!important;text-transform:uppercase;top:0;white-space:nowrap}.simulation-grid th:first-child{text-align:left!important}.simulation-grid td{border-bottom:1px solid var(--border);color:var(--text);padding:8px 10px;text-align:right!important}.simulation-grid td:first-child{text-align:left!important}.simulation-grid tr:last-child td{border-bottom:none}.simulation-grid tr.profit{background:#10b9810d}.simulation-grid tr.loss{background:#ef44440d}.simulation-grid tr.pos-closed td{color:var(--text-muted);opacity:.38}.simulation-grid tr.pos-closed{background:#0000}.simulation-grid tr:hover td{background:var(--row-hover)}.simulation-grid td.symbol{color:var(--tab-active);font-weight:700}.simulation-grid td.numeric,.simulation-grid td.price{font-family:Courier New,monospace;text-align:right}.simulation-grid td.price{color:#4f8ef7;font-weight:600}.simulation-grid td.profit{color:#10b981;font-weight:600;text-align:right}.simulation-grid td.loss{color:#ef4444;font-weight:600;text-align:right}.simulation-grid td.buy{color:#10b981;font-weight:600;text-align:right}.simulation-grid td.sell{color:#ef4444;font-weight:600;text-align:right}.simulation-grid td.no-data{color:var(--text-muted);font-style:italic;padding:16px;text-align:center}.algos-main{gap:14px}.algo-list,.algos-main{display:flex;flex-direction:column}.algo-list{gap:6px}.algo-card-row{align-items:center;cursor:pointer;display:flex;gap:10px;min-height:44px;padding:9px 14px}.algo-chevron{background:none;border:none;color:var(--text-muted);cursor:pointer;flex-shrink:0;font-size:13px;line-height:1;padding:2px 4px;transition:color .15s}.algo-chevron:hover{color:var(--text)}.algo-info{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:8px;min-width:0}.algo-name-text{color:var(--text);font-size:12px;font-weight:700;white-space:nowrap}.algo-desc-inline{color:var(--text-muted);cursor:default;font-size:11px;max-width:600px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.algo-editor-overlay{align-items:center;background:#000000a6;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1001}.algo-editor-modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 20px 60px #00000080;display:flex;flex-direction:column;max-height:85vh;overflow:hidden;width:92vw}.algo-editor-popup{display:flex;flex-direction:column;height:100%;min-height:0}.algo-editor-popup .editor-header{align-items:center;display:flex;flex-shrink:0;justify-content:space-between}.editor-close-btn{background:none;border:none;border-radius:4px;color:var(--text-muted);cursor:pointer;font-size:16px;padding:4px 8px;transition:all .15s}.editor-close-btn:hover{background:#ef44441a;color:#ef4444}.editor-inline-row{align-items:flex-start;display:flex;gap:12px}.editor-field{display:flex;flex-direction:column;gap:4px}.editor-field label{color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.4px;text-transform:uppercase}.editor-field input,.editor-field select,.editor-field textarea{background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-family:inherit;font-size:12px;outline:none;padding:7px 10px;transition:border-color .15s}.editor-field input:focus,.editor-field select:focus,.editor-field textarea:focus{border-color:var(--tab-active)}.editor-field textarea{resize:vertical}.editor-field-name{flex-shrink:0;width:180px}.editor-field-grow{flex:1 1}.editor-field-fixed{flex-shrink:0;width:140px}.editor-stocks-section{background:var(--bg);border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column;gap:6px;padding:12px 14px}.editor-stocks-label{align-items:center;color:var(--text-muted);display:flex;font-size:10px;font-weight:700;gap:10px;letter-spacing:.6px;text-transform:uppercase}.select-all-btn{background:none;border:1px solid var(--border);border-radius:4px;color:var(--tab-active);cursor:pointer;font-size:10px;font-weight:600;letter-spacing:0;padding:2px 7px;text-transform:none}.select-all-btn:hover{background:var(--hover-bg)}.stock-legend{border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:8px 16px;margin-bottom:8px;padding:6px 0 8px}.legend-item{align-items:center;color:var(--text-muted);display:inline-flex;font-size:10px;gap:5px}.legend-dot{border-radius:50%;display:inline-block;flex-shrink:0;height:8px;width:8px}.stock-item-wrap{align-items:flex-start;display:flex;flex-direction:column;gap:3px}.stock-item-wrap .editor-stock-chip{width:100%}.algo-dots-row{display:flex;flex-direction:row;flex-wrap:wrap;gap:3px;padding-left:6px}.algo-dot{border-radius:50%;flex-shrink:0;height:6px;opacity:.9;width:6px}.editor-stocks-list{grid-gap:5px;display:grid;gap:5px;grid-template-columns:repeat(auto-fill,minmax(88px,1fr))}.editor-stock-chip{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:16px;color:var(--text);cursor:pointer;display:inline-flex;font-size:11px;font-weight:600;gap:5px;overflow:hidden;padding:4px 8px;transition:all .15s;white-space:nowrap}.editor-stock-chip:hover{background:#4f8ef714;border-color:var(--tab-active)}.editor-stock-chip input[type=checkbox]{accent-color:var(--tab-active);cursor:pointer;flex-shrink:0}.config-toolbar{align-items:center;display:flex;gap:10px;padding:.5rem 0 .75rem}.search-wrap{flex:1 1;max-width:460px;position:relative}.stock-search-input{background:var(--surface);border:1px solid var(--border);border-radius:7px;box-sizing:border-box;color:var(--text);font-size:13px;outline:none;padding:8px 12px;transition:border-color .15s;width:100%}.stock-search-input:focus{border-color:var(--tab-active)}.suggestions-dropdown{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0000002e;left:0;overflow:hidden;position:absolute;right:0;top:calc(100% + 4px);z-index:100}.suggestion-item{align-items:center;border-bottom:1px solid var(--border);cursor:pointer;display:flex;font-size:12px;gap:10px;padding:9px 14px;transition:background .1s}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover{background:var(--row-hover)}.sug-symbol{color:var(--tab-active);font-size:12px;font-weight:700;min-width:90px}.sug-name{color:var(--text);flex:1 1;font-size:11px}.sug-type{background:var(--th-bg);border-radius:4px;color:var(--text-muted);font-size:10px;padding:1px 6px}.add-stock-btn{background:var(--tab-active);border:none;border-radius:7px;color:#fff;cursor:pointer;font-size:12px;font-weight:700;padding:8px 18px;transition:opacity .15s;white-space:nowrap}.add-stock-btn:disabled{cursor:default;opacity:.45}.add-stock-btn:hover:not(:disabled){opacity:.85}.sos-chip-remove{background:none;border:none;color:var(--text-muted);cursor:pointer;flex-shrink:0;font-size:10px;line-height:1;padding:0 0 0 6px}.sos-chip-remove:hover{color:#e05252;color:var(--danger,#e05252)}.stock-item-wrap:has(.sos-chip-remove){align-items:center;flex-direction:row}.stock-item-wrap:has(.sos-chip-remove) .editor-stock-chip{flex:1 1;width:auto}.editor-extra-symbols{margin-top:10px}.editor-extra-label{color:var(--text-muted);display:block;font-size:12px;margin-bottom:4px}.editor-extra-hint{font-weight:400;opacity:.7}.editor-extra-input{background:#1e2130;background:var(--input-bg,#1e2130);border:1px solid #2a2d3e;border:1px solid var(--border,#2a2d3e);border-radius:6px;box-sizing:border-box;color:#e2e8f0;color:var(--text,#e2e8f0);font-size:13px;padding:6px 10px;width:100%}.editor-extra-input:focus{border-color:#4f8ef7;border-color:var(--tab-active,#4f8ef7);outline:none}.param-grid{display:flex;flex-wrap:wrap;gap:12px}.pfield{display:flex;flex:1 1 130px;flex-direction:column;gap:4px;max-width:220px;min-width:130px}.pfield-label{color:var(--text-muted);display:flex;font-weight:700;gap:4px;letter-spacing:.4px;text-transform:uppercase}.pfield-help,.pfield-label{align-items:center;font-size:10px}.pfield-help{background:#facc15;border-radius:50%;color:#dc2626;cursor:pointer;display:inline-flex;flex-shrink:0;font-weight:800;height:16px;justify-content:center;line-height:1;position:relative;transition:box-shadow .15s;-webkit-user-select:none;user-select:none;width:16px}.pfield-help:hover{box-shadow:0 0 0 3px #facc1559}.pfield-popup{background:#fef9c3;border:1.5px solid #fbbf24;border-radius:8px;box-shadow:0 6px 20px #0000004d;color:#b91c1c;cursor:default;font-size:12px;font-style:normal;font-weight:500;letter-spacing:0;line-height:1.5;min-height:52px;padding:10px 14px;pointer-events:all;text-transform:none;white-space:normal;width:240px;z-index:99999}.pfield-popup:before{background:#fef9c3;border-bottom:1.5px solid #fbbf24;border-right:1.5px solid #fbbf24;bottom:-7px;content:"";height:12px;left:50%;position:absolute;transform:translateX(-50%) rotate(45deg);width:12px}.stocks-chip{align-items:center;background:var(--row-hover);border:1px solid var(--border);border-radius:12px;color:var(--tab-active);cursor:pointer;display:inline-flex;font-size:11px;font-weight:600;gap:4px;padding:4px 10px;position:relative;transition:background .15s,border-color .15s;-webkit-user-select:none;user-select:none}.stocks-chip:after{content:"▾";font-size:9px;opacity:.7}.stocks-chip.open,.stocks-chip:hover{background:#6366f11a;border-color:var(--tab-active)}.stocks-popout{background:var(--surface);border:1.5px solid var(--border);border-radius:10px;box-shadow:0 8px 32px #00000040;color:var(--text);font-size:12px;max-width:320px;min-width:200px;padding:12px 14px;z-index:99999}.stocks-popout:after{background:var(--surface);border-bottom:1.5px solid var(--border);border-right:1.5px solid var(--border);bottom:-7px;content:"";height:12px;left:50%;position:absolute;transform:translateX(-50%) rotate(45deg);width:12px}.stocks-popout-title{border-bottom:1px solid var(--border);color:var(--text);font-size:12px;font-weight:700;margin-bottom:8px;padding-bottom:6px}.stocks-popout-note{color:var(--text-muted);font-size:11px;line-height:1.4;margin-top:6px}.stocks-popout-grid{display:flex;flex-wrap:wrap;gap:4px;max-height:160px;overflow-y:auto}.stocks-popout-item{background:#6366f11a;border-radius:8px;font-size:10px;padding:2px 7px}.stocks-dl-btn,.stocks-popout-item{color:var(--tab-active);font-weight:600}.stocks-dl-btn{background:none;border:1px solid var(--tab-active);border-radius:6px;cursor:pointer;font-size:11px;margin-top:8px;padding:5px 10px;transition:background .15s;width:100%}.stocks-dl-btn:hover{background:#6366f11a}.trade-sl{color:#ef4444;font-size:10px;font-weight:500}.editor-stocks-hint{color:var(--text-muted);font-size:10px;font-weight:400;letter-spacing:0;text-transform:none}.pfield-control input,.pfield-control select{background:var(--surface);border:1px solid var(--border);border-radius:5px;box-sizing:border-box;color:var(--text);font-family:inherit;font-size:12px;outline:none;padding:6px 8px;transition:border-color .15s;width:100%}.pfield-control input:focus,.pfield-control select:focus{border-color:var(--tab-active)}.pfield-control .toggle-label{align-items:center;cursor:pointer;display:flex;gap:6px;padding-top:4px}.simulation-modal-overlay{align-items:center;background:#000000a6;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.simulation-modal-content{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 20px 60px #00000080;display:flex;flex-direction:column;max-height:88vh;overflow-y:auto;width:92vw}.simulation-modal-header{align-items:center;background:var(--th-bg);border-bottom:1px solid var(--border);border-radius:12px 12px 0 0;display:flex;flex-shrink:0;gap:16px;justify-content:space-between;padding:14px 20px}.simulation-modal-title h3{color:var(--text);font-size:13px;font-weight:700;margin:0}.simulation-header-date{align-items:center;display:flex;gap:8px;margin:0}.simulation-backtest-label{color:var(--text);font-size:13px;font-weight:700;white-space:nowrap}.simulation-date-select{font-size:12px!important;padding:2px 6px!important}.popup-reload-btn,.simulation-restart-btn{font-size:11px;padding:3px 10px}.popup-reload-btn{background:var(--tab-active);border:none;border-radius:5px;color:#fff;cursor:pointer;font-weight:600;transition:opacity .15s;white-space:nowrap}.popup-reload-btn:hover:not(:disabled){opacity:.85}.popup-reload-btn:disabled{cursor:not-allowed;opacity:.5}.simulation-modal-title p{color:var(--text-muted);font-size:11px;margin:3px 0 0}.algo-tabs{border-bottom:2px solid var(--border);display:flex;gap:0;margin-bottom:12px}.algo-tab-btn{background:none;border:none;border-bottom:2px solid #0000;color:var(--text-muted);cursor:pointer;font-size:12px;font-weight:600;letter-spacing:.3px;margin-bottom:-2px;padding:8px 20px;transition:all .15s}.algo-tab-btn:hover{color:var(--text)}.algo-tab-btn.active{border-bottom-color:var(--tab-active);color:var(--tab-active)}.conflict-overlay{align-items:center;background:#0009;display:flex;inset:0;justify-content:center;position:fixed;z-index:2000}.conflict-popup{background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 20px 50px #00000080;display:flex;flex-direction:column;max-height:55vh;max-width:90vw;overflow:hidden;width:320px}.conflict-popup-header{background:var(--th-bg);border-bottom:1px solid var(--border);border-radius:10px 10px 0 0;color:var(--text);flex-shrink:0;font-size:12px;font-weight:700;padding:11px 16px}.conflict-popup-body{display:flex;flex:1 1;flex-direction:column;gap:6px;min-height:0;overflow-y:auto;padding:12px 16px}.conflict-item{background:#ef444414;border:1px solid #ef444433;border-radius:5px;color:var(--text);font-size:12px;line-height:1.4;padding:6px 10px}.conflict-question{color:var(--text-muted);font-size:11px;margin-top:2px}.conflict-popup-actions{background:var(--th-bg);border-radius:0 0 10px 10px;border-top:1px solid var(--border);display:flex;flex-shrink:0;gap:8px;justify-content:flex-end;padding:10px 16px}.conflict-yes-btn{background:var(--tab-active);border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:6px 16px;transition:opacity .15s}.conflict-yes-btn:hover{opacity:.85}.conflict-no-btn{background:none;border:1px solid var(--border);border-radius:5px;color:var(--text-muted);cursor:pointer;font-size:12px;font-weight:600;padding:6px 16px;transition:all .15s}.conflict-no-btn:hover{border-color:var(--text-muted);color:var(--text)}.section-divider{align-items:center;display:flex;gap:10px;margin:18px 0 10px}.section-divider:after,.section-divider:before{background:var(--border);content:"";flex:1 1;height:1px}.section-divider-label{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.6px;padding:0 8px;text-transform:uppercase;white-space:nowrap}.strategy-type-badge{align-items:center;border-radius:4px;display:inline-flex;font-size:10px;font-weight:700;justify-content:center;letter-spacing:.5px;padding:2px 8px;text-transform:uppercase}.strategy-orb-badge{background:#f9731626;border:1px solid #f9731659;color:#f97316}.strategy-momentum-badge{background:#10b98126;border:1px solid #10b98159;color:#10b981}.strategy-vwap-badge{background:#8b5cf626;border:1px solid #8b5cf659;color:#8b5cf6}.strategy-not-configured{color:var(--text-muted);font-size:11px;font-style:italic}.strategy-editor-desc{color:var(--text-muted);font-size:12px;line-height:1.5;margin:0 0 14px}.algo-card.strategy-active-orb{border-color:#f9731673;box-shadow:0 0 0 1px #f9731633}.algo-card.strategy-active-momentum{border-color:#10b98173;box-shadow:0 0 0 1px #10b98133}.algo-card.strategy-active-vwap{border-color:#8b5cf673;box-shadow:0 0 0 1px #8b5cf633}.obm-snapshot-banner{background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;color:#f87171;display:flex;flex-direction:column;font-size:12px;gap:4px;margin-bottom:12px;padding:10px 14px}.obm-snapshot-banner strong{font-size:13px}.obm-snapshot-banner--ready{background:#10b9811a;border-color:#10b9814d;color:#6ee7b7}.obm-snapshot-banner--captured{animation:snapshot-pulse 1.2s ease-out 2;background:#10b9812e;border-color:#10b98199;color:#34d399}@keyframes snapshot-pulse{0%{box-shadow:0 0 0 0 #10b98180}60%{box-shadow:0 0 0 6px #10b98100}to{box-shadow:0 0 0 0 #10b98100}}.snapshot-trigger-btn{background:#58a6ff26;border:1px solid #58a6ff66;border-radius:6px;color:#58a6ff;cursor:pointer;display:inline-block;font-size:13px;font-weight:600;margin-top:10px;padding:6px 16px;transition:background .2s}.snapshot-trigger-btn:hover:not(:disabled){background:#58a6ff40}.snapshot-trigger-btn:disabled{cursor:not-allowed;opacity:.6}@media (max-width:640px){.editor-inline-row{flex-wrap:wrap}.editor-field-name{flex-shrink:1;width:100%}.editor-field-fixed{flex:1 1;width:auto}}.detail-group-oob-history{border-right:none;border-top:1px solid var(--border);flex:1 1 100%}.oob-hist-list{display:flex;flex-direction:column;gap:6px;margin-top:6px}.oob-hist-item{align-items:center;display:flex;font-size:12px;gap:10px}.oob-hist-date{color:var(--text);font-weight:600;min-width:90px}.oob-hist-size{color:var(--text-muted);font-size:11px;min-width:55px}.oob-hist-dl-btn{background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--text);cursor:pointer;font-size:11px;padding:2px 10px}.oob-hist-dl-btn:hover{background:#f3f4f6;background:var(--bg-hover,#f3f4f6)}.backtest-icon-btn{align-items:center;background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;height:26px;justify-content:center;padding:0;width:26px}.backtest-icon-btn:hover{background:#f3f4f6;background:var(--bg-hover,#f3f4f6);color:var(--text)}.oob-bt-modal{max-height:90vh;max-width:96vw;width:720px}.oob-bt-body,.oob-bt-modal{display:flex;flex-direction:column}.oob-bt-body{gap:16px;overflow-y:auto;padding:16px}.oob-bt-section{display:flex;flex-direction:column;gap:8px}.oob-bt-section-label{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.oob-bt-algo-list{display:flex;flex-wrap:wrap;gap:6px}.oob-bt-algo-item{align-items:center;background:var(--bg);border:1.5px solid var(--border);border-radius:6px;color:var(--text);cursor:pointer;display:flex;font-size:12px;gap:6px;padding:5px 10px 5px 6px;transition:border-color .15s}.oob-bt-algo-item:hover:not(.disabled){border-color:#6366f1}.oob-bt-algo-item.selected{background:#eef2ff;border-color:#6366f1}.oob-bt-algo-item.disabled{cursor:not-allowed;opacity:.4}.oob-bt-algo-badge{font-size:10px!important;padding:1px 5px!important}.oob-bt-algo-name{font-size:12px}.oob-bt-algo-na{color:var(--text-muted);font-size:10px}.oob-bt-upload-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.oob-bt-file-input{font-size:12px}.oob-bt-filename{color:#10b981;font-size:11px}.oob-bt-error{background:#fef2f2;border:1px solid #fecaca;border-radius:4px;color:#ef4444;font-size:12px;padding:6px 10px}.oob-bt-map-table{border-collapse:collapse;font-size:12px;width:100%}.oob-bt-map-table th{background:#f9fafb;background:var(--bg-alt,#f9fafb);border-bottom:1px solid var(--border);font-size:11px;font-weight:600;padding:5px 8px;text-align:left}.oob-bt-map-table td{border-bottom:1px solid var(--border);padding:3px 8px}.oob-bt-map-table tr:last-child td{border-bottom:none}.oob-map-row-error td{background:#fff5f5}.oob-map-required{color:#ef4444;font-weight:700;margin-right:3px}.oob-map-select{background:var(--bg);border:1px solid var(--border);border-radius:3px;color:var(--text);font-size:12px;max-width:200px;padding:2px 4px;width:100%}.oob-map-ok{color:#10b981}.oob-map-missing,.oob-map-ok{font-weight:700;text-align:center}.oob-map-missing{color:#ef4444}.oob-map-opt{color:var(--text-muted);text-align:center}.oob-bt-warn-list{display:flex;flex-direction:column;gap:5px}.oob-bt-warn{align-items:flex-start;border-left:3px solid #0000;border-radius:5px;display:flex;font-size:12px;gap:7px;line-height:1.45;padding:6px 10px}.oob-bt-warn-icon{flex-shrink:0;font-weight:700;margin-top:1px}.oob-bt-warn-info{background:#eff6ff;border-left-color:#3b82f6;color:#1e40af}.oob-bt-warn-info .oob-bt-warn-icon{color:#3b82f6}.oob-bt-warn-warn{background:#fffbeb;border-left-color:#f59e0b;color:#92400e}.oob-bt-warn-warn .oob-bt-warn-icon{color:#d97706}.oob-bt-warn-error{background:#fef2f2;border-left-color:#ef4444;color:#991b1b}.oob-bt-warn-error .oob-bt-warn-icon{color:#ef4444}.oob-bt-footer{align-items:center;display:flex;gap:12px}.oob-bt-map-hint{color:var(--text-muted);font-size:11px}.oob-bt-run-btn{white-space:nowrap}.oob-bt-results{display:flex;flex-direction:column;gap:8px}.oob-bt-summary{font-size:13px;font-weight:600}.oob-bt-table{border-collapse:collapse;font-size:12px;width:100%}.oob-bt-table th{background:#f9fafb;background:var(--bg-alt,#f9fafb);font-size:11px;font-weight:600;padding:5px 8px;text-align:left}.oob-bt-table td,.oob-bt-table th{border-bottom:1px solid var(--border)}.oob-bt-table td{padding:4px 8px}.oob-bt-table tr:last-child td{border-bottom:none}.bt-source-tabs{display:flex;gap:4px;margin-bottom:12px}.bt-source-tab{background:#f9fafb;background:var(--bg-alt,#f9fafb);border:1px solid #e5e7eb;border:1px solid var(--border,#e5e7eb);border-radius:4px;color:#6b7280;color:var(--text-muted,#6b7280);cursor:pointer;font-size:12px;padding:5px 14px;transition:all .15s}.bt-source-tab.active{background:#2563eb;background:var(--accent,#2563eb);border-color:#2563eb;border-color:var(--accent,#2563eb);color:#fff}.bt-source-tab:disabled{cursor:not-allowed;opacity:.45}.bt-algo-needs{background:#f9fafb;background:var(--bg-alt,#f9fafb);border:1px solid #e5e7eb;border:1px solid var(--border,#e5e7eb);border-radius:4px;color:#6b7280;color:var(--text-muted,#6b7280);padding:6px 10px}.bt-algo-needs,.bt-kite-ok{font-size:11px;margin-bottom:8px}.bt-kite-ok{color:#16a34a}.bt-no-kite{color:#d97706;font-size:11px;margin-bottom:8px}.bt-config-row{margin-bottom:10px}.bt-config-row label{color:#111827;color:var(--text,#111827);display:block;font-size:12px;margin-bottom:4px}.bt-config-symbols{color:#6b7280;color:var(--text-muted,#6b7280);font-size:11px;margin-top:2px}.bt-wizard-steps{align-items:center;display:flex;gap:0;padding:12px 20px 0}.bt-wizard-step{align-items:center;display:flex;flex:1 1;gap:6px}.bt-wizard-step-dot{align-items:center;background:#fff;background:var(--bg,#fff);border:2px solid #e5e7eb;border:2px solid var(--border,#e5e7eb);border-radius:50%;color:#9ca3af;color:var(--text-muted,#9ca3af);display:flex;flex-shrink:0;font-size:11px;font-weight:700;height:24px;justify-content:center;transition:all .2s;width:24px}.bt-wizard-step.active .bt-wizard-step-dot{background:#2563eb;background:var(--accent,#2563eb);border-color:#2563eb;border-color:var(--accent,#2563eb);color:#fff}.bt-wizard-step.done .bt-wizard-step-dot{background:#16a34a;border-color:#16a34a;color:#fff}.bt-wizard-step-label{color:#9ca3af;color:var(--text-muted,#9ca3af);font-size:11px;white-space:nowrap}.bt-wizard-step.active .bt-wizard-step-label{color:#111827;color:var(--text,#111827);font-weight:600}.bt-wizard-step.done .bt-wizard-step-label{color:#16a34a}.bt-wizard-step-line{background:#e5e7eb;background:var(--border,#e5e7eb);flex:1 1;height:2px;margin:0 6px}.bt-wizard-content{display:flex;flex-direction:column;gap:12px;min-height:180px}.bt-wizard-nav{align-items:center;border-top:1px solid #e5e7eb;border-top:1px solid var(--border,#e5e7eb);display:flex;flex-shrink:0;justify-content:space-between;padding:12px 16px}.bt-wizard-nav-btn{background:#f9fafb;background:var(--bg-alt,#f9fafb);border:1px solid #e5e7eb;border:1px solid var(--border,#e5e7eb);border-radius:6px;color:#111827;color:var(--text,#111827);cursor:pointer;font-size:13px;padding:7px 18px;transition:all .15s}.bt-wizard-nav-btn:hover:not(:disabled){background:#f3f4f6;background:var(--bg-hover,#f3f4f6)}.bt-wizard-nav-btn:disabled{cursor:not-allowed;opacity:.4}.bt-wizard-nav-next{background:#2563eb;background:var(--accent,#2563eb);border-color:#2563eb;border-color:var(--accent,#2563eb);color:#fff}.bt-wizard-nav-next:hover:not(:disabled){background:#1d4ed8}.bt-wizard-nav-counter{color:#9ca3af;color:var(--text-muted,#9ca3af);font-size:12px}.bt-source-hint{color:#6b7280;color:var(--text-muted,#6b7280);font-size:12px;margin:0}.bt-compat-result{margin-top:8px}.bt-compat-result,.ctc-scan-log-list{display:flex;flex-direction:column;gap:6px}.ctc-scan-log-list{padding:4px 0}.ctc-scan-card{background:var(--bg-card);border:1px solid var(--border);border-radius:7px;overflow:hidden}.ctc-scan-card-header{align-items:center;cursor:pointer;display:flex;flex-wrap:wrap;gap:8px;padding:8px 10px;-webkit-user-select:none;user-select:none}.ctc-scan-card-header:hover{background:#0000000a}.ctc-scan-chevron{color:var(--text-muted);flex-shrink:0;font-size:11px}.ctc-scan-time-label{color:var(--text);font-size:12px;font-weight:700;white-space:nowrap}.ctc-scan-meta{color:var(--text-muted);font-size:10px}.ctc-scan-confirmed-badges{display:flex;flex-wrap:wrap;gap:4px}.ctc-scan-confirm-badge{background:#10b98126;border-radius:4px;color:#10b981;font-size:9px;font-weight:600;padding:1px 5px}.ctc-scan-stock-list{border-top:1px solid var(--border);padding:4px 0}.ctc-scan-empty{color:var(--text-muted);font-size:11px;padding:8px 12px}.ctc-scan-stock-row{border-bottom:1px solid #0000000f;padding:0}.ctc-scan-stock-row:last-child{border-bottom:none}.ctc-scan-stock-row.passed{background:#10b9810d}.ctc-scan-stock-main{align-items:center;display:flex;flex-wrap:wrap;gap:8px;padding:5px 12px}.ctc-scan-rank{color:var(--text-muted);font-size:10px;min-width:22px}.ctc-scan-symbol{color:var(--text);font-size:11px;font-weight:600;min-width:80px}.ctc-scan-vol{font-feature-settings:"tnum";color:var(--text-muted);font-size:10px;font-variant-numeric:tabular-nums;min-width:90px}.ctc-scan-dir{font-size:10px;font-weight:700}.ctc-dir-buy{color:#10b981}.ctc-dir-sell{color:#ef4444}.ctc-scan-fail-reason{color:#f59e0b;font-size:10px;font-weight:500}.ctc-scan-no-check{color:var(--text-muted);font-size:10px;font-style:italic}.ctc-scan-passed-badge{background:#10b9811f;border-radius:4px;color:#10b981;font-size:9px;font-weight:700;padding:1px 5px}.ctc-scan-confirm-chevron{background:none;border:1px solid var(--border);border-radius:4px;color:var(--text-muted);cursor:pointer;font-size:10px;margin-left:auto;padding:2px 6px}.ctc-scan-confirm-chevron:hover{color:var(--text)}.ctc-confirm-checks{background:#00000005;border-top:1px dashed var(--border);display:flex;flex-direction:column;gap:3px;padding:4px 12px 6px 36px}.ctc-confirm-check-row{align-items:center;color:var(--text-muted);display:flex;font-size:10px;gap:10px}.ctc-confirm-check-row.last{color:#ef4444}.ctc-confirm-stage{color:inherit;font-weight:600;min-width:58px}.ctc-confirm-price,.ctc-confirm-time{min-width:60px}.ctc-confirm-price,.ctc-confirm-time,.ctc-confirm-vol{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ctc-confirm-vol{min-width:80px}.ctc-confirm-depth{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.config-section{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}.config-section-header{background:var(--th-bg);border-bottom:1px solid var(--border);padding:1rem 1.25rem .75rem}.config-section-title{color:var(--text);font-size:1rem;font-weight:600;margin:0}.config-section-sub{color:var(--text-muted);font-size:.82rem;margin:.3rem 0 0}.global-settings-body{display:flex;flex-direction:column;gap:.75rem;padding:.9rem 1.25rem}.global-settings-inputs{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1rem}.global-settings-actions{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.global-setting-row{display:flex;flex:1 1 120px;flex-direction:column;gap:.3rem;max-width:180px;min-width:120px}.global-setting-row--wide{flex:1.6 1 210px;max-width:270px;min-width:210px}.global-setting-label{align-items:center;color:var(--text-muted);display:flex;font-size:10px;font-weight:700;gap:4px;letter-spacing:.03em;line-height:1.3;text-transform:uppercase;white-space:normal}.global-setting-input{background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.85rem;outline:none;padding:.4rem .6rem;transition:border-color .15s;width:100%}.global-setting-input:focus{border-color:var(--tab-active)}.gs-help{align-items:center;background:#facc15;border-radius:50%;color:#dc2626;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:9px;font-weight:800;height:15px;justify-content:center;line-height:1;position:relative;transition:box-shadow .15s;-webkit-user-select:none;user-select:none;width:15px}.gs-help:hover{box-shadow:0 0 0 3px #facc1559}.gs-popup{background:#fef9c3;border:1.5px solid #fbbf24;border-radius:8px;box-shadow:0 6px 20px #0000004d;color:#b91c1c;font-size:12px;font-weight:500;letter-spacing:0;line-height:1.5;padding:10px 14px;pointer-events:none;text-transform:none;white-space:normal;width:220px;z-index:99999}.gs-popup:before{background:#fef9c3;border-bottom:1.5px solid #fbbf24;border-right:1.5px solid #fbbf24;bottom:-7px;content:"";height:12px;left:50%;position:absolute;transform:translateX(-50%) rotate(45deg);width:12px}.global-settings-save-btn{align-self:flex-end;background:var(--tab-active);border:none;border-radius:6px;box-sizing:border-box;color:#fff;cursor:pointer;font-size:.88rem;font-weight:600;height:34px;line-height:1;padding:.5rem .9rem;transition:opacity .15s}.global-settings-save-btn:hover:not(:disabled){opacity:.85}.global-settings-save-btn:disabled{cursor:not-allowed;opacity:.5}.global-squareoff-btn{align-self:flex-end;background:#0000;border:1.5px solid #b91c1c;border-radius:6px;box-sizing:border-box;color:#b91c1c;cursor:pointer;font-size:.88rem;font-weight:600;height:34px;line-height:1;padding:.5rem 1.25rem;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}.global-squareoff-btn:hover:not(:disabled){background:#b91c1c;color:#fff}.global-squareoff-btn:disabled{cursor:not-allowed;opacity:.4}[data-theme=dark] .global-squareoff-btn{border-color:#f87171;color:#f87171}[data-theme=dark] .global-squareoff-btn:hover:not(:disabled){background:#f87171;color:#1a1a1a}.squareoff-msg{border-radius:5px;font-size:.82rem;font-weight:600;padding:.3rem .6rem;white-space:nowrap}.squareoff-msg--banner{display:block;margin:.4rem 1.25rem 0;white-space:normal}.squareoff-msg--ok{background:#10b9811f;color:#10b981}.squareoff-msg--err{background:#ef44441f;color:#ef4444}.global-minprofit-status{align-items:center;align-self:flex-end;background:#10b98114;border-radius:6px;box-sizing:border-box;display:flex;font-size:.82rem;gap:8px;min-height:34px;padding:.4rem .9rem}.global-minprofit-status-text{display:flex;flex-direction:column;gap:2px}.global-minprofit-status-line{align-items:baseline;display:flex;gap:6px;white-space:nowrap}.global-minprofit-status-label{color:var(--text-muted);font-weight:600}.global-minprofit-status-value{color:#059669;font-weight:700}.global-minprofit-status-peak{color:var(--text-muted);font-size:.75rem}.global-minprofit-refresh-btn{align-self:center;background:#0000;border:none;border-radius:4px;color:var(--text-muted);cursor:pointer;font-size:1rem;line-height:1;padding:2px 5px;transition:color .15s}.global-minprofit-refresh-btn:hover:not(:disabled){color:#059669}.global-minprofit-refresh-btn:disabled{cursor:not-allowed;opacity:.5}[data-theme=dark] .global-minprofit-refresh-btn:hover:not(:disabled),[data-theme=dark] .global-minprofit-status-value{color:#34d399}.global-settings-btns-end{display:flex;gap:.5rem}@media (max-width:640px){.global-settings-body{gap:8px;padding:10px}.global-settings-inputs{grid-gap:8px 10px;align-items:end;display:grid;gap:8px 10px;grid-template-columns:1fr 1fr}.global-settings-actions{gap:8px}.global-minprofit-status,.global-settings-save-btn,.global-squareoff-btn{font-size:10px;height:auto;padding:5px 7px;white-space:nowrap}.global-setting-row,.global-setting-row--wide{max-width:none;min-width:0}}.analysis-page{padding:1rem 1.25rem}.an-header{align-items:center;display:flex;gap:.75rem;margin-bottom:.75rem}.an-header h2{color:var(--text);font-size:1.15rem;margin:0}.an-loading{color:var(--text-muted);font-size:.82rem}.an-banner{border-radius:6px;font-size:.85rem;font-weight:600;margin-bottom:.75rem;padding:.5rem .9rem}.an-banner-ok{background:#10b9811f;color:#10b981}.an-banner-err{background:#ef44441f;color:#ef4444}.an-banner-demo{background:#3b82f61f;color:var(--tab-active-text)}.an-suggestions-row{display:flex;gap:1rem;justify-content:space-between;margin-bottom:.9rem}.an-suggestion{align-items:center;border:1px solid var(--border);border-radius:8px;display:flex;flex:1 1;flex-wrap:wrap;gap:.6rem;padding:.6rem 1rem}.an-suggestion-left{justify-content:flex-start}.an-suggestion-right{flex-direction:row-reverse;justify-content:flex-end}.an-suggestion-dir-buy{background:#10b98114;border-color:#10b98159}.an-suggestion-dir-sell{background:#ef444414;border-color:#ef444459}.an-suggestion-label{color:var(--text-muted);font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.an-suggestion-symbol{color:var(--text);font-size:1rem;font-weight:800}.an-suggestion-move{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700}.an-suggestion-dir-buy .an-suggestion-move{color:#10b981}.an-suggestion-dir-sell .an-suggestion-move{color:#ef4444}.an-suggestion-price{font-feature-settings:"tnum";color:var(--text-muted);font-size:.8rem;font-variant-numeric:tabular-nums}.an-suggestion-tags{color:var(--text-muted);font-size:.72rem;font-style:italic}.an-suggestion-empty{opacity:.7}.an-suggestion-empty-text{color:var(--text-muted);font-size:.82rem}@media (max-width:640px){.an-suggestions-row{flex-direction:column}.an-suggestion-right{flex-direction:row;justify-content:flex-start}}.an-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow-x:auto}.an-table{border-collapse:collapse;font-size:.72rem;white-space:nowrap;width:100%}.an-table thead th{--cell-bg:var(--th-bg);background:var(--th-bg);border:1px solid var(--border);color:var(--text-muted);font-weight:700;padding:.35rem .5rem;position:-webkit-sticky;position:sticky;text-align:center;top:0;z-index:1}.an-table tbody td{text-align:center}.an-table td.an-symbol,.an-table thead th.an-symbol-header{text-align:left}.an-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.an-sortable:hover{color:var(--tab-active-text)}.an-sort-arrow{font-size:.7rem}.an-table td.an-chevron-col,.an-table th.an-chevron-col{min-width:32px;padding:.3rem;width:32px}.an-table td:nth-child(2),.an-table td:nth-child(3),.an-table td:nth-child(8){width:1%}.an-table th:nth-child(4),.an-table th:nth-child(5),.an-table th:nth-child(6),.an-table th:nth-child(7){line-height:1.25;max-width:230px;white-space:normal}.an-table td:nth-child(10),.an-table td:nth-child(9),.an-table th:nth-child(10),.an-table th:nth-child(9){min-width:45px}.an-table td:last-child,.an-table th:last-child{min-width:75px}@media (max-width:640px){.an-table-wrap{--cell-bg:var(--surface)}.an-table td.an-chevron-col,.an-table td.an-symbol,.an-table th.an-chevron-col,.an-table th.an-symbol-header{background:var(--cell-bg);left:32px;position:-webkit-sticky;position:sticky;z-index:2}.an-table td.an-chevron-col,.an-table th.an-chevron-col{left:0}.an-table td.an-symbol,.an-table th.an-symbol-header{max-width:80px;min-width:80px;overflow:hidden;text-overflow:ellipsis;width:80px}.an-table thead th.an-chevron-col,.an-table thead th.an-symbol-header{z-index:3}.an-table:not(.an-table-dropped) td:last-child,.an-table:not(.an-table-dropped) th:last-child{background:var(--cell-bg);position:-webkit-sticky;position:sticky;right:0;z-index:2}.an-table:not(.an-table-dropped) thead th:last-child{z-index:3}}.an-table tbody tr:hover{--cell-bg:var(--row-hover);background:var(--row-hover)}.an-table tbody td{border:1px solid var(--border);color:var(--text);padding:.25rem .5rem}.an-num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:center}.an-symbol{font-weight:700}.an-table td.an-pos{color:#10b981;font-weight:600}.an-table td.an-neg{color:#ef4444;font-weight:600}.an-row-position{--cell-bg:#10b9811a;background:#10b9811a}.an-row-position:hover{--cell-bg:#10b98129;background:#10b98129}.an-row-new{--cell-bg:#facc1559;background:#facc1559!important;transition:background 4s ease-out}.an-row-new:hover{--cell-bg:#facc1573;background:#facc1573!important}.an-chevron-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.7rem;line-height:1;padding:2px 4px}.an-chevron-btn:hover{color:var(--tab-active-text)}.an-subrow{--cell-bg:var(--bg);font-size:.68rem}.an-subrow,.an-subrow:hover{background:var(--bg)}.an-subrow td{color:var(--text-muted)}.an-subrow-time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:400}.an-dropped-header{align-items:baseline;display:flex;gap:.6rem;margin:1.25rem 0 .5rem}.an-dropped-header h3{color:var(--text);font-size:.95rem;margin:0}.an-dropped-sub{color:var(--text-muted);font-size:.72rem}.an-footer{display:flex;gap:.6rem;justify-content:flex-end;margin-top:.75rem}.an-btn-cleanup,.an-btn-download{border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;padding:.5rem 1rem}.an-btn-download{background:var(--surface);border:1px solid var(--tab-active);color:var(--tab-active-text)}.an-btn-download:hover{background:var(--tab-active);color:#fff}.an-btn-cleanup{background:var(--surface);border:1px solid var(--text-muted);color:var(--text-muted)}.an-btn-cleanup:hover:not(:disabled){background:var(--text-muted);color:var(--surface)}.an-btn-cleanup:disabled{cursor:not-allowed;opacity:.5}.an-no-data{color:var(--text-muted);padding:1.5rem;text-align:center}.an-actions{display:flex;flex-wrap:wrap;gap:.3rem;justify-content:center}.an-btn-close,.an-btn-create{background:var(--surface);border:1px solid var(--border);border-radius:5px;color:var(--text);cursor:pointer;font-size:.68rem;font-weight:600;padding:.2rem .55rem}.an-btn-create:hover{border-color:var(--tab-active);color:var(--tab-active-text)}.an-btn-close{border-color:#ef4444;color:#ef4444}.an-btn-close:hover:not(:disabled){background:#ef4444;color:#fff}.an-btn-close:disabled{cursor:not-allowed;opacity:.5}.an-modal-backdrop{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.an-modal{background:var(--surface);border-radius:10px;box-shadow:0 10px 40px #0000004d;padding:1.25rem;width:300px}.an-modal-title{color:var(--text);font-size:1rem;font-weight:700;margin-bottom:.9rem}.an-modal-row{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.75rem}.an-modal-row label{color:var(--text-muted);font-size:.75rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.an-modal-row input{background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.9rem;outline:none;padding:.4rem .6rem}.an-radio-group{display:flex;gap:.5rem}.an-radio-btn{background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);cursor:pointer;flex:1 1;font-size:.82rem;font-weight:700;padding:.4rem 0}.an-radio-active{background:var(--tab-active);border-color:var(--tab-active);color:#fff}.an-radio-buy-active{background:#10b981;border-color:#10b981;color:#fff}.an-radio-sell-active{background:#ef4444;border-color:#ef4444;color:#fff}.an-modal-error{color:#ef4444;font-size:.8rem;margin-bottom:.6rem}.an-modal-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.5rem}.an-modal-cancel{background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text)}.an-modal-cancel,.an-modal-submit{cursor:pointer;font-weight:600;padding:.45rem .9rem}.an-modal-submit{background:var(--tab-active);border:none;border-radius:6px;color:#fff}.an-modal-cancel:disabled,.an-modal-submit:disabled{cursor:not-allowed;opacity:.5}.downloads-page{color:var(--text);margin:0 auto;max-width:1100px;min-width:0;padding:24px}.downloads-header{margin-bottom:20px}.downloads-title-row{align-items:center;display:flex;gap:16px;margin-bottom:8px}.downloads-title{color:var(--text);font-size:22px;font-weight:600;margin:0}.btn-refresh{background:var(--th-bg);border:1px solid var(--border);border-radius:6px;color:var(--text);cursor:pointer;font-size:13px;padding:6px 14px;transition:background .15s}.btn-refresh:hover:not(:disabled){background:var(--row-hover)}.btn-refresh:disabled{cursor:default;opacity:.5}.downloads-summary{color:var(--text-muted);font-size:13px;margin-bottom:12px}.dl-stat-sep{margin:0 8px;opacity:.5}.downloads-filter{display:flex;gap:8px}.filter-btn{background:var(--th-bg);border:1px solid var(--border);border-radius:6px;color:var(--text-muted);cursor:pointer;font-size:12px;padding:5px 14px;transition:all .15s}.filter-btn:hover{border-color:var(--tab-active);color:var(--text)}.filter-btn.active{background:var(--tab-active);border-color:var(--tab-active);color:#fff}.dl-error{background:#ef44441f;border:1px solid #ef44444d;border-radius:8px;color:#f87171;font-size:13px;margin-bottom:16px;padding:12px 16px}.dl-empty{background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text-muted);font-size:14px;padding:32px;text-align:center}.downloads-table-wrap{-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:10px;margin-bottom:24px;overflow-x:auto;width:100%}.downloads-table{background:var(--surface);border-collapse:collapse;font-size:13px;min-width:600px;table-layout:fixed;width:100%}.downloads-table td:first-child,.downloads-table th:first-child{width:120px}.downloads-table td:nth-child(2),.downloads-table td:nth-child(3),.downloads-table th:nth-child(2),.downloads-table th:nth-child(3){width:80px}.downloads-table td:nth-child(4),.downloads-table th:nth-child(4){width:150px}.downloads-table td:last-child,.downloads-table th:last-child{display:none}.downloads-table thead th{background:var(--th-bg);border-bottom:1px solid var(--border);color:var(--text-muted);font-weight:500;padding:10px 14px;text-align:left;white-space:nowrap}.downloads-table tbody tr{border-bottom:1px solid var(--border);transition:background .1s}.downloads-table tbody tr:hover{background:var(--row-hover)}.downloads-table tbody tr.row-missing{opacity:.5}.downloads-table tbody td{padding:10px 14px;vertical-align:middle}.dl-filename{display:flex;flex-direction:column;gap:2px;max-width:120px}.dl-label{color:var(--text)}.dl-label,.dl-mobile-link{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-mobile-link{background:none;border:none;color:#ef4444;cursor:pointer;display:inline-block;font-size:11px;margin-top:4px;max-width:100px;padding:0;text-align:left}.dl-mobile-link:hover:not(:disabled){text-decoration:underline}.dl-mobile-link:disabled{cursor:default;opacity:.4}[data-theme=dark] .dl-mobile-link{color:#fbbf24}.dl-modified-cell{display:flex;flex-direction:column;gap:1px}.dl-date{color:var(--text);font-size:12px}.dl-time{color:var(--text-muted);font-size:11px}.dl-type-badge{display:inline-block;font-size:11px;font-weight:500}.dl-type-static{color:#1d4ed8}.dl-type-backtest{color:#15803d}[data-theme=dark] .dl-type-static{color:#818cf8}[data-theme=dark] .dl-type-backtest{color:#4ade80}.dl-status{display:inline-block;font-size:12px;font-weight:500}.status-complete{color:#16a34a}.status-incomplete{color:#ea580c}.status-missing{color:#94a3b8}[data-theme=dark] .status-complete{color:#4ade80}[data-theme=dark] .status-incomplete{color:#fb923c}.btn-download{background:var(--th-bg);border:1px solid var(--border);border-radius:6px;color:var(--text);cursor:pointer;font-size:12px;padding:5px 12px;transition:background .15s;white-space:nowrap}.btn-download:hover:not(:disabled){background:var(--tab-active);border-color:var(--tab-active);color:#fff}.btn-download:disabled{cursor:default;opacity:.35}.downloads-info{background:var(--surface);border:1px solid var(--border);border-radius:10px;max-width:100%;overflow-wrap:break-word;padding:20px 24px;word-break:break-word}.downloads-info h3{color:var(--text);font-size:15px;font-weight:600;margin:0 0 10px}.downloads-info p{color:var(--text-muted);font-size:13px;line-height:1.6;margin:0 0 10px}.downloads-info p:last-child{margin-bottom:0}@media (max-width:640px){.downloads-page{padding:12px 10px}.downloads-info{padding:14px}.downloads-info h3{font-size:13px}.downloads-info p{font-size:12px}}.logs-page{gap:2rem;padding:1rem}.logs-page,.logs-section{display:flex;flex-direction:column}.logs-section{background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);overflow:hidden}.logs-section .section-header{align-items:center;background:var(--th-bg);border-bottom:1px solid var(--border);display:flex;gap:16px;justify-content:space-between;padding:1rem 1.5rem}.logs-section .section-header>div:first-child{flex:1 1}.logs-section .section-title{color:var(--text);font-size:1.1rem;font-weight:600;margin:0}.logs-section .section-subtitle{color:var(--text-muted);font-size:.85rem;margin:.25rem 0 0}.header-actions{flex-shrink:0;gap:.75rem;margin-left:1.5rem}.clear-btn,.refresh-btn{background:var(--th-bg);border:1px solid var(--border);border-radius:4px;color:var(--text);cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .2s ease;white-space:nowrap}.clear-btn:hover:not(:disabled),.refresh-btn:hover:not(:disabled){background:var(--tab-hover);border-color:var(--tab-active);color:var(--tab-active)}.clear-btn:disabled,.refresh-btn:disabled{cursor:not-allowed;opacity:.5}.clear-btn:hover:not(:disabled){border-color:#ef4444;color:#ef4444}.logs-section .section-empty{color:var(--text-muted);font-size:.9rem;font-style:italic;padding:2rem 1.5rem;text-align:center}.logs-page .logs-table-wrap{overflow-x:auto}.logs-page .logs-table{background:var(--surface);border-collapse:collapse;font-size:.85rem;width:100%}.logs-page .logs-table thead{background:var(--th-bg);position:-webkit-sticky;position:sticky;top:0;z-index:10}.logs-page .logs-table th{font-size:.8rem;font-weight:600;letter-spacing:.02em;text-align:left;text-transform:uppercase;white-space:nowrap}.logs-page .logs-table td,.logs-page .logs-table th{border-bottom:1px solid var(--border);color:var(--text);padding:.6rem .9rem}.logs-page .logs-table td{font-size:.85rem}.logs-page .log-row:hover,.logs-page .logs-table tbody tr:hover{background:var(--row-hover)}.logs-page .timestamp-cell{color:var(--text-muted);font-size:.85rem;white-space:nowrap}.logs-page .service-cell{color:var(--tab-active);font-weight:600;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logs-page .status-cell{text-align:center}.logs-page .status-badge{border-radius:4px;color:#fff;display:inline-block;font-size:.85rem;font-weight:600;padding:.25rem .6rem}.logs-page .message-cell{color:#ef4444;max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logs-page .user-cell{color:var(--text-muted);font-size:.85rem}.logs-page .details-cell{text-align:center}.logs-page .expand-btn{background:none;border:1px solid var(--border);border-radius:4px;color:var(--text);cursor:pointer;font-size:.8rem;padding:.25rem .5rem;transition:all .2s}.logs-page .expand-btn:hover:not(:disabled){background:var(--tab-hover);border-color:var(--tab-active);color:var(--tab-active)}.logs-page .expand-btn:disabled{cursor:not-allowed;opacity:.3}.logs-page .expanded-row td{background:var(--th-bg);padding:1rem}.logs-page .stack-trace{background:var(--surface);border:1px solid var(--border);border-radius:4px;overflow-x:auto;padding:1rem}.logs-page .stack-trace strong{color:var(--text);display:block;margin-bottom:.5rem}.logs-page .stack-trace pre{word-wrap:break-word;color:#ef4444;font-family:Courier New,monospace;font-size:.8rem;line-height:1.4;margin:0;white-space:pre-wrap}.logs-page .sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.logs-page .sortable-th:hover{color:var(--tab-active)}.logs-page .sort-icon{font-size:.75rem;font-weight:700;margin-left:.25rem}.logs-page .sort-icon.inactive{opacity:.3}.logs-page .sort-icon.active{color:var(--tab-active);opacity:1}.logs-page .logs-footer{align-items:center;background:var(--th-bg);border-top:1px solid var(--border);display:flex;flex-wrap:wrap;font-size:.9rem;gap:1rem;padding:1rem 1.5rem}.logs-page .page-range{color:var(--text-muted);font-size:.9rem;margin-right:auto}.logs-page .page-size-select{background:var(--surface);border:1px solid var(--border);border-radius:4px;color:var(--text);cursor:pointer;font-size:.85rem;padding:.4rem .6rem}.logs-page .pagination{align-items:center;display:flex;gap:.5rem}.logs-page .pagination button{background:var(--surface);border:1px solid var(--border);border-radius:4px;color:var(--text);cursor:pointer;font-size:.85rem;font-weight:600;padding:.4rem .6rem;transition:all .2s ease}.logs-page .pagination button:hover:not(:disabled){background:var(--tab-hover);border-color:var(--tab-active);color:var(--tab-active)}.logs-page .pagination button:disabled{cursor:not-allowed;opacity:.4}.logs-page .page-info{color:var(--text-muted);font-size:.85rem;margin:0 .5rem}[data-theme=light]{--bg:#f0f2f5;--surface:#fff;--header-bg:#1a2332;--header-text:#fff;--text:#1a1a2e;--text-muted:#6b7280;--border:#e5e7eb;--tab-bg:#fff;--tab-border:#e5e7eb;--tab-active:#3b82f6;--tab-active-text:#3b82f6;--tab-hover:#f3f4f6;--error-bg:#fef2f2;--error-text:#dc2626;--error-border:#fca5a5;--row-hover:#f9fafb;--th-bg:#e5e7eb;--shadow:0 1px 3px #00000014}[data-theme=dark]{--bg:#0f1117;--surface:#1a1d27;--header-bg:#0d1117;--header-text:#e2e6f0;--text:#e2e6f0;--text-muted:#8892a4;--border:#2e3248;--tab-bg:#1a1d27;--tab-border:#2e3248;--tab-active:#4f8ef7;--tab-active-text:#4f8ef7;--tab-hover:#222637;--error-bg:#dc26261a;--error-text:#f87171;--error-border:#dc26264d;--row-hover:#222637;--th-bg:#222637;--shadow:0 1px 3px #0000004d}*{box-sizing:border-box}.dashboard{background-color:var(--bg);color:var(--text);font-size:13px;min-height:100vh;transition:background-color .2s,color .2s;width:100%}.dashboard-header{align-items:center;background-color:var(--header-bg);box-shadow:0 2px 8px #0003;color:var(--header-text);display:flex;justify-content:space-between;padding:5px 16px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-brand{align-items:center;display:flex;gap:8px}.header-title{color:var(--header-text);font-size:14px;font-weight:700;letter-spacing:.3px}.header-sub{border-left:1px solid #ffffff26;color:#8892a4;font-size:10px;letter-spacing:.3px;padding-left:8px}.menu-net-value{font-size:19px;font-weight:700;padding:10px 16px}.menu-net-value.positive{color:#10b981}.menu-net-value.negative{color:#ef4444}.header-actions{align-items:center;display:flex;gap:10px}.user-menu{position:relative}.user-menu-btn{align-items:center;background:#ffffff14;border:1px solid #ffffff26;border-radius:6px;color:var(--header-text);cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:6px;padding:5px 10px;transition:background .2s}.user-menu-btn:hover{background:#ffffff24}.menu-chevron{display:inline-block;font-size:11px;transition:transform .2s}.menu-chevron.open{transform:rotate(180deg)}.user-dropdown{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0003;min-width:160px;overflow:hidden;position:absolute;right:0;top:calc(100% + 6px);z-index:200}.dropdown-item{background:none;border:none;color:var(--text);cursor:pointer;display:block;font-size:12px;font-weight:500;padding:10px 16px;text-align:left;transition:background .15s;width:100%}.dropdown-item:hover{background:var(--row-hover)}.dropdown-item.danger{color:#ef4444}.dropdown-item.danger:hover{background:#ef444414}.dropdown-divider{background:var(--border);height:1px;margin:2px 0}.theme-toggle{background:#0000;border:1px solid #fff3;border-radius:6px;cursor:pointer;font-size:14px;line-height:1;padding:4px 8px;transition:background .2s}.theme-toggle:hover{background:#ffffff1a}.autopilot-switch{align-items:center;cursor:pointer;display:flex;gap:8px;-webkit-user-select:none;user-select:none}.autopilot-switch-text{color:var(--header-text);font-size:12px;font-weight:600;white-space:nowrap}.autopilot-switch-track{background:#cbd5e1;border-radius:999px;display:inline-block;flex-shrink:0;height:22px;position:relative;transition:background .2s;width:40px}.autopilot-switch-track.on{background:#14b8a6}.autopilot-switch-track input{cursor:pointer;inset:0;margin:0;opacity:0;position:absolute}.autopilot-switch-thumb{background:#fff;border-radius:50%;box-shadow:0 1px 3px #0000004d;height:18px;left:2px;pointer-events:none;position:absolute;top:2px;transition:transform .2s;width:18px}.autopilot-switch-track.on .autopilot-switch-thumb{transform:translateX(18px)}.session-status{align-items:center;display:flex;gap:8px}.status-indicator{font-size:10px;line-height:1}.status-indicator.valid{animation:pulse-green 2s infinite}@keyframes pulse-green{0%,to{opacity:1}50%{opacity:.6}}.reauth-btn{background:#ef4444;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:10px;font-weight:600;padding:4px 8px;transition:background .2s}.reauth-btn:hover{background:#dc2626}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:var(--surface);border-radius:12px;box-shadow:0 20px 60px #0000004d;color:var(--text);max-width:400px;padding:28px}.modal-content h2{color:#ef4444;font-size:18px;font-weight:600;margin:0 0 12px}.modal-content p{color:var(--text-muted);font-size:13px;line-height:1.5;margin:0 0 20px}.modal-actions{display:flex;gap:10px;justify-content:flex-end}.btn-primary{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:8px 16px;transition:background .2s}.btn-primary:hover{background:#2563eb}.btn-secondary{background:var(--tab-bg);border:1px solid var(--border);border-radius:6px;color:var(--text);cursor:pointer;font-size:12px;font-weight:600;padding:8px 16px;transition:background .2s}.btn-secondary:hover,.test-result-body{background:var(--row-hover)}.test-result-body{border-radius:8px;font-size:12px;line-height:1.8;margin:12px 0;padding:16px}.test-result-body p{color:var(--text);margin:8px 0}.test-result-body strong{color:var(--text);font-weight:600}.test-data{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.error-text{color:#dc2626!important;font-family:monospace;font-size:11px}.logout-btn{background-color:#dc2626;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:5px 14px;transition:background-color .2s}.logout-btn:hover{background-color:#b91c1c}.error-banner{background-color:var(--error-bg);border-bottom:1px solid var(--error-border);color:var(--error-text);font-size:12px;padding:10px 20px}.dashboard-tabs{align-items:center;background-color:var(--tab-bg);border-bottom:1px solid var(--tab-border);justify-content:space-between;padding:0 16px}.dashboard-tabs,.dashboard-tabs .tabs-left{display:flex;overflow-x:auto}.dashboard-tabs .tabs-right{align-items:center;display:flex;padding:10px 0;white-space:nowrap}.dashboard-tabs .till-date-pnl{font-size:13px;font-weight:700;padding:0 8px}.dashboard-tabs .till-date-pnl.positive{color:#10b981}.dashboard-tabs .till-date-pnl.negative{color:#ef4444}.tab-button{background-color:initial;border:none;border-bottom:2px solid #0000;color:var(--text-muted);cursor:pointer;font-size:12px;font-weight:600;padding:10px 16px;transition:all .2s;white-space:nowrap}.tab-button:hover{background-color:var(--tab-hover);color:var(--text)}.tab-button.active{border-bottom-color:var(--tab-active);color:var(--tab-active-text)}.dashboard-subtabs{background-color:var(--bg);border-bottom:1px solid var(--tab-border);display:flex;gap:4px;overflow-x:auto;padding:6px 16px}.subtab-button{background-color:initial;border:1px solid #0000;border-radius:6px;color:var(--text-muted);cursor:pointer;font-size:11px;font-weight:600;padding:6px 14px;transition:all .15s;white-space:nowrap}.subtab-button:hover{background-color:var(--tab-hover);color:var(--text)}.subtab-button.active{background-color:var(--tab-active);color:#fff}.dashboard-content{display:flex;flex-direction:column;gap:14px;margin:0 auto;max-width:1600px;padding:14px 16px}.grids-container{grid-gap:14px;display:grid;gap:14px;grid-auto-rows:1fr;grid-template-columns:1fr 1fr}@media (max-width:1200px){.grids-container{grid-auto-rows:auto;grid-template-columns:1fr}}.orders-grid-simple{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);display:flex;flex:1 1;flex-direction:column;min-height:0;min-width:300px;overflow:hidden}.orders-grid-simple .section-header{align-items:center;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;justify-content:space-between;padding:8px 12px}.orders-grid-simple h3{align-items:center;color:var(--text);display:flex;font-size:12px;font-weight:700;gap:6px;margin:0}.orders-grid-simple .count-badge{background:var(--tab-active);border-radius:10px;color:#fff;font-size:10px;font-weight:700;padding:1px 6px}.orders-grid-simple .table-wrap{flex:1 1;max-height:calc(100vh - 250px);overflow-x:auto;overflow-y:auto}.orders-grid-simple table{border-collapse:collapse;font-size:11px;table-layout:fixed;width:100%}.orders-grid-simple td,.orders-grid-simple th{word-wrap:break-word;border-bottom:1px solid var(--border);color:var(--text);overflow-wrap:break-word;padding:6px 8px;text-align:right;white-space:normal}.orders-grid-simple td:first-child,.orders-grid-simple th:first-child{text-align:left}.orders-grid-simple th{background:var(--th-bg);color:var(--text-muted);font-size:10px;font-weight:600;letter-spacing:.4px;position:-webkit-sticky;position:sticky;text-transform:uppercase;top:0;z-index:1}.orders-grid-simple tr:hover td{background:var(--row-hover)}.orders-grid-simple .symbol-cell{color:var(--text)!important;font-weight:600}.orders-grid-simple .buy-cell{color:#10b981;font-weight:600}.orders-grid-simple .sell-cell{color:#ef4444;font-weight:600}.orders-grid-simple .status-badge{border-radius:10px;display:inline-block;font-size:10px;font-weight:600;letter-spacing:.3px;padding:1px 7px;text-transform:uppercase}.orders-grid-simple .status-complete{background:#10b9811f;color:#10b981}.orders-grid-simple .status-rejected{background:#ef44441f;color:#ef4444}.orders-grid-simple .status-cancelled{background:#6b72801f;color:#6b7280}.orders-grid-simple .status-open,.orders-grid-simple .status-pending{background:#f59e0b1f;color:#d97706}.orders-grid-simple .no-data{color:var(--text-muted);font-size:12px;padding:20px;text-align:center}.orders-grid-simple .section-footer{align-items:center;border-top:1px solid var(--border);display:flex;flex-shrink:0;gap:8px;justify-content:flex-end;min-height:36px;padding:10px 12px}.orders-grid-simple .pagination{align-items:center;display:flex;gap:3px}.orders-grid-simple .pagination button{align-items:center;background:var(--th-bg);border:1px solid var(--border);border-radius:4px;color:var(--text);cursor:pointer;display:flex;font-size:12px;height:28px;justify-content:center;min-width:28px;padding:5px 10px;transition:background .15s}.orders-grid-simple .pagination button:hover:not(:disabled){background:var(--tab-hover)}.orders-grid-simple .pagination button:disabled{cursor:default;opacity:.35}.orders-grid-simple .page-info{color:var(--text-muted);font-size:12px;padding:0 6px}.orders-grid-simple .page-range{color:var(--text-muted);font-size:12px;padding:0 4px}.dashboard-loading{align-items:center;background:var(--bg);color:var(--text-muted);display:flex;font-size:14px;height:100vh;justify-content:center}.trades-list{background-color:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);padding:16px}.trades-list h2{color:var(--text);font-size:14px;margin:0 0 14px}.trades-table{border-collapse:collapse;font-size:12px;width:100%}.trades-table td,.trades-table th{border-bottom:1px solid var(--border);color:var(--text);padding:8px 10px;text-align:left}.trades-table th{background-color:var(--th-bg);color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.trades-table tr:hover td{background-color:var(--row-hover)}.no-data{color:var(--text-muted);font-size:12px;padding:20px;text-align:center}.refresh-btn{align-items:center;background:#0000;border:none;color:var(--tab-active);cursor:pointer;display:inline-flex;font-size:14px;justify-content:center;padding:2px 6px;transition:color .2s,transform .3s}.refresh-btn:hover{color:#2563eb;transform:rotate(180deg)}.refresh-btn:active{transform:rotate(180deg) scale(.95)}.holdings-grid-simple{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);display:flex;flex:1 1;flex-direction:column;min-height:0;min-width:300px;overflow:hidden}.holdings-grid-simple .section-header{align-items:center;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;justify-content:space-between;padding:8px 12px}.holdings-grid-simple h3{align-items:center;color:var(--text);display:flex;font-size:12px;font-weight:700;gap:6px;margin:0}.holdings-grid-simple .count-badge{background:var(--tab-active);border-radius:10px;color:#fff;font-size:10px;font-weight:700;padding:1px 6px}.holdings-grid-simple .table-wrap{flex:1 1;max-height:calc(100vh - 250px);overflow-x:auto;overflow-y:auto}.holdings-grid-simple table{border-collapse:collapse;font-size:11px;table-layout:fixed;width:100%}.holdings-grid-simple td,.holdings-grid-simple th{word-wrap:break-word;border-bottom:1px solid var(--border);color:var(--text);overflow-wrap:break-word;padding:6px 8px;text-align:right;white-space:normal}.holdings-grid-simple td:first-child,.holdings-grid-simple th:first-child{text-align:left;white-space:nowrap;width:24%}.holdings-grid-simple td:first-child{overflow:hidden;text-overflow:ellipsis}.holdings-grid-simple th{background:var(--th-bg);color:var(--text-muted);font-size:10px;font-weight:600;letter-spacing:.4px;position:-webkit-sticky;position:sticky;text-transform:uppercase;top:0;z-index:1}.holdings-grid-simple tr:hover td{background:var(--row-hover)}.holdings-grid-simple .symbol-cell{color:var(--text)!important;font-weight:600}.holdings-grid-simple .profit{color:#10b981;font-weight:600}.holdings-grid-simple .loss{color:#ef4444;font-weight:600}.holdings-grid-simple .no-data{color:var(--text-muted);font-size:12px;padding:20px;text-align:center}.holdings-grid-simple .section-footer{align-items:center;border-top:1px solid var(--border);display:flex;flex-shrink:0;gap:8px;justify-content:flex-end;min-height:36px;padding:10px 12px}.holdings-grid-simple .pagination{align-items:center;display:flex;gap:3px}.holdings-grid-simple .pagination button{align-items:center;background:var(--th-bg);border:1px solid var(--border);border-radius:4px;color:var(--text);cursor:pointer;display:flex;font-size:12px;height:28px;justify-content:center;min-width:28px;padding:5px 10px;transition:background .15s}.holdings-grid-simple .pagination button:hover:not(:disabled){background:var(--tab-hover)}.holdings-grid-simple .pagination button:disabled{cursor:default;opacity:.35}.holdings-grid-simple .page-info{color:var(--text-muted);font-size:12px;padding:0 6px}.holdings-grid-simple .page-range{color:var(--text-muted);font-size:12px;padding:0 4px}
/*# sourceMappingURL=main.6d67e575.css.map*/