body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}body{background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.App,body{min-height:100vh}.App{color:#333}.header{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 6px #0000001a;padding:1.25rem 2rem;text-align:center}.header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px}.header-content>div{flex:1 1}.header h1{color:#fff;font-size:2rem;margin-bottom:.25rem}.subtitle{color:#ffffffe6;font-size:1rem}.logout-button{background:#fff3;border:2px solid #fff;border-radius:25px;color:#fff;cursor:pointer;font-size:1em;font-weight:600;padding:10px 24px;transition:all .3s}.logout-button:hover{background:#fff;box-shadow:0 5px 15px #0003;color:#667eea;transform:translateY(-2px)}.container{margin:0 auto;max-width:1200px;padding:1.5rem}.section{margin-bottom:2rem}.section h2{align-items:center;color:#fff;display:flex;font-size:1.5rem;gap:.5rem;margin-bottom:1rem}.alerts-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.alert-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #00000014;padding:.75rem;transition:transform .2s,box-shadow .2s}.alert-card:hover{box-shadow:0 4px 8px #0000001f;transform:translateY(-2px)}.alert-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:.5rem;padding-bottom:.4rem}.alert-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:15px;color:#fff;font-size:.75rem;font-weight:600;padding:.3rem .75rem;text-transform:uppercase}.alert-time{color:#999;font-size:.75rem}.alert-body{display:flex;flex-direction:column;gap:.4rem}.alert-ticker{color:#333;font-size:1rem;font-weight:600}.alert-price{color:#667eea;font-size:.95rem;font-weight:500}.alert-message{color:#666;font-size:.85rem;line-height:1.3;margin-top:.25rem}.portfolio-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.portfolio-empty-placeholder{background:#fff;border:1px dashed #667eea33;border-radius:10px;box-shadow:0 2px 6px #00000014;color:#6b7280;font-size:.95rem;padding:1.5rem;text-align:center}.portfolio-empty-placeholder strong{color:#4c51bf}.portfolio-card{background:#fff;border-radius:10px;box-shadow:0 3px 5px #0000001a;padding:1rem;transition:transform .2s,box-shadow .2s}.portfolio-card:hover{box-shadow:0 6px 10px #00000026;transform:translateY(-3px)}.portfolio-card h3{color:#667eea;font-size:1.3rem;font-weight:700;margin-bottom:.75rem}.portfolio-asset-button{background:#0000;border:none;color:inherit;cursor:pointer;font:inherit;padding:0;transition:color .2s ease}.portfolio-asset-button:focus-visible,.portfolio-asset-button:hover:not(:disabled){color:#4338ca;outline:none}.portfolio-asset-button:disabled{cursor:not-allowed;opacity:.5}.portfolio-actions{display:flex;justify-content:flex-end;margin-top:1rem}.manual-trade-button{background:linear-gradient(135deg,#06b6d4,#3b82f6);border:none;border-radius:999px;box-shadow:0 6px 18px #3b82f640;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:.5rem 1rem;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.manual-trade-button:hover:not(:disabled){box-shadow:0 10px 24px #06b6d459;transform:translateY(-1px)}.manual-trade-button:disabled{box-shadow:none;cursor:not-allowed;opacity:.45}.balance-info{display:flex;flex-direction:column;gap:.5rem}.balance-item{align-items:center;display:flex;justify-content:space-between}.balance-item .label{color:#666;font-size:.85rem}.balance-item .value{color:#333;font-family:Courier New,monospace;font-size:.95rem;font-weight:600}.balance-item.emphasis .label{color:#4338ca}.balance-item.emphasis .value{color:#111827;font-size:1rem}.balance-item.subtle .label{color:#888}.balance-item.subtle .value{color:#4b5563;font-weight:500}.empty-state,.error-state{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:3rem 2rem;text-align:center}.empty-state p{color:#999}.error-state p{color:#e74c3c;font-size:1.1rem;margin-bottom:.5rem}.error-state .hint{color:#999;font-size:.9rem}.tabs-container{border-bottom:2px solid #fff3;display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:1.5rem;padding-bottom:.5rem}.tab-group{align-items:center;display:flex;gap:.25rem;position:relative}.tab-group-label{color:#fff9;font-size:.75rem;font-weight:600;letter-spacing:.5px;margin-right:.5rem;text-transform:uppercase;white-space:nowrap}.tabs{border-bottom:2px solid #fff3;display:flex;gap:.5rem;margin-bottom:1.5rem}.tab{background:#ffffff1a;border:none;border-radius:6px 6px 0 0;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.6rem 1rem;position:relative;transition:all .3s;white-space:nowrap}.tab:hover{background:#fff3;transform:translateY(-1px)}.tab.active{background:#fff;box-shadow:0 -2px 8px #667eea33;color:#667eea}.tab.active:after{background:#667eea;bottom:-2px;content:"";height:2px;left:0;position:absolute;right:0}.tab-content{min-height:300px}.tab-panel{animation:fadeIn .3s}.operations-filter{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;gap:1rem;margin-bottom:1.5rem;padding:1rem}.operations-list{display:flex;flex-direction:column;gap:.75rem}.operation-card{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:1.5rem;transition:transform .2s,box-shadow .2s}.operation-card.compact{border-radius:8px;box-shadow:0 2px 4px #00000014;padding:1rem}.operation-card:hover{box-shadow:0 6px 12px #00000026;transform:translateX(4px)}.operation-card.compact:hover{box-shadow:0 4px 8px #0000001f}.operation-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;gap:1rem;margin-bottom:1rem;padding-bottom:.75rem}.operation-card.compact .operation-header{border-bottom:1px solid #f0f0f0;margin-bottom:.5rem;padding-bottom:.5rem}.operation-type{border-radius:20px;font-size:.85rem;font-weight:600;padding:.4rem 1rem;text-transform:uppercase}.operation-card.compact .operation-type{font-size:.75rem;padding:.3rem .75rem}.operation-type.buy{background:#27ae60;color:#fff}.operation-type.sell{background:#e74c3c;color:#fff}.operation-type{background:#667eea;color:#fff}.operation-status{background:#f0f0f0;border-radius:15px;color:#666;font-size:.75rem;font-weight:600;padding:.3rem .8rem}.operation-card.compact .operation-status{font-size:.7rem;padding:.2rem .6rem}.operation-time{color:#999;font-size:.85rem;margin-left:auto}.operation-card.compact .operation-time{font-size:.75rem}.operation-details{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.operation-details.compact{display:flex;flex-wrap:wrap;font-size:.85rem;gap:1rem}.operation-details.compact .detail-item{color:#666;display:inline-flex;gap:.25rem}.operation-details p{color:#666;font-size:.9rem;margin:0}.operation-details strong{color:#333;font-weight:600}.operation-message{color:#667eea!important;font-style:italic;grid-column:1/-1;margin-top:.5rem}.operation-card.compact .operation-message{border-top:1px solid #f0f0f0;font-size:.85rem;margin-top:.5rem;padding-top:.5rem}.portfolio-summary{display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:1.5rem}.portfolio-total-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;box-shadow:0 12px 25px #667eea40;color:#fff;flex:1 1;min-width:260px;padding:1.75rem}.portfolio-total-label{font-size:.85rem;letter-spacing:.08em;opacity:.85;text-transform:uppercase}.portfolio-total-value{align-items:baseline;display:flex;font-size:2.25rem;font-weight:700;gap:.4rem;margin-top:.35rem}.portfolio-total-unit{font-size:1rem;font-weight:600;opacity:.9}.portfolio-total-subtext{font-size:.95rem;margin-top:.5rem;opacity:.85}.portfolio-change-info{align-items:center;background:linear-gradient(135deg,#f5f7fa,#f0f3f7);border-radius:6px;display:flex;flex-wrap:wrap;font-size:.85rem;gap:.5rem;margin-top:.75rem;padding:.5rem .75rem}.portfolio-label{color:#667eea;font-weight:600}.portfolio-value{color:#333;font-weight:600}.portfolio-arrow{color:#999;margin:0 .25rem}.portfolio-change{border-radius:4px;font-weight:700;margin-left:.5rem;padding:.2rem .5rem}.portfolio-change.positive{background:#27ae601a;color:#27ae60}.portfolio-change.negative{background:#e74c3c1a;color:#e74c3c}.config-placeholder{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:2rem}.config-section{display:flex;flex-direction:column;gap:2rem}.config-section h3{align-items:center;color:#667eea;display:flex;font-size:1.4rem;gap:.5rem;margin-bottom:1rem}.user-profile{background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;padding:2rem}.profile-card{align-items:center;background:linear-gradient(135deg,#667eea15,#764ba215);border-radius:12px;gap:1.5rem;padding:1.5rem}.profile-info h4{color:#333;font-size:1.5rem;margin:0 0 .5rem}.profile-email{color:#666;font-size:.95rem;margin:0 0 .5rem}.profile-created{color:#999;font-size:.85rem;margin:0}.api-config{background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;padding:2rem}.config-items{display:flex;flex-direction:column;gap:1rem}.config-item{align-items:center;background:#f8f9fa;border-radius:12px;display:flex;justify-content:space-between;padding:1.2rem 1.5rem;transition:all .3s}.config-item:hover{background:#f0f2f5;transform:translateX(4px)}.config-label{align-items:center;color:#333;display:flex;font-size:.95rem;font-weight:600;gap:.8rem}.config-icon{font-size:1.2rem}.config-value{background:#f0f4ff;border-radius:6px;color:#667eea;font-family:Monaco,Courier New,monospace;font-size:.9rem;padding:.4rem .8rem}.status-badge{letter-spacing:.5px;padding:.4rem 1rem}.status-badge.success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.status-badge.warning{background:#fff3cd;border:1px solid #ffeeba;color:#856404}.token-info{background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;padding:2rem}.token-card{background:#f8f9fa;border-left:4px solid #667eea;border-radius:12px;padding:1.5rem}.token-item{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.token-item:last-of-type{margin-bottom:1.5rem}.token-label{color:#666;font-weight:600}.token-value{color:#333;font-family:Monaco,Courier New,monospace;font-size:.9rem}.token-hint{border-top:1px solid #e0e0e0;color:#666;font-size:.9rem;margin:0;padding-top:1rem}.webhook-guide{background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;padding:2rem}.guide-content>p{color:#666;margin-bottom:1rem}.webhook-url-box{align-items:center;background:#f8f9fa;border:2px dashed #667eea;border-radius:12px;display:flex;gap:1rem;margin-bottom:1.5rem;padding:1.2rem}.webhook-url-box code{color:#667eea;flex:1 1;font-size:.95rem;font-weight:600;word-break:break-all}.copy-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.6rem 1.2rem;transition:all .3s;white-space:nowrap}.copy-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.guide-steps{display:flex;flex-direction:column;gap:1rem}.guide-step{align-items:center;background:#f8f9fa;border-radius:10px;display:flex;gap:1rem;padding:1rem;transition:all .3s}.guide-step:hover{background:#f0f2f5;transform:translateX(4px)}.step-number{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-weight:700;height:32px;justify-content:center;width:32px}.step-text{color:#333;font-size:.95rem}.config-placeholder h3{color:#667eea;font-size:1.5rem;margin-bottom:1rem}.config-placeholder>p{color:#666;margin-bottom:2rem}.status-indicator{align-items:center;color:#27ae60;display:flex;font-weight:600;gap:.5rem}@media (max-width:768px){.header h1{font-size:2rem}.alerts-grid,.portfolio-grid{grid-template-columns:1fr}.container{padding:1rem}.tabs{overflow-x:auto}.tab{font-size:.9rem;padding:.75rem 1rem}.operation-details{grid-template-columns:1fr}}.profile-container{grid-gap:2rem;display:grid;gap:2rem;margin:0 auto;max-width:800px}.profile-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2rem}.profile-section h3{align-items:center;color:#667eea;display:flex;font-size:1.5rem;gap:.5rem;margin-bottom:1.5rem}.profile-card{align-items:flex-start;display:flex;gap:2rem}.profile-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:2rem;font-weight:700;height:80px;justify-content:center;width:80px}.profile-info{display:flex;flex:1 1;flex-direction:column;gap:1rem}.profile-field{border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:.75rem 0}.profile-field:last-child{border-bottom:none}.profile-field label{color:#555;font-weight:600}.profile-field span{color:#333}.password-form{display:flex;flex-direction:column;gap:1.5rem;max-width:500px}.password-form .form-group{display:flex;flex-direction:column;gap:.5rem}.password-form label{color:#555;font-size:.95rem;font-weight:600}.password-form input{border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;padding:.75rem;transition:all .3s ease}.password-form input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.password-form input:disabled{background-color:#f5f5f5;cursor:not-allowed}.password-form .submit-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 2rem;transition:transform .2s ease,box-shadow .2s ease}.password-form .submit-button:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.password-form .submit-button:active:not(:disabled){transform:translateY(0)}.password-form .submit-button:disabled{cursor:not-allowed;opacity:.6}.password-form .message{border-radius:8px;margin-bottom:1rem;padding:1rem}.password-form .error-message{background-color:#fee;border:1px solid #fcc;color:#c33}.password-form .success-message{background-color:#efe;border:1px solid #cfc;color:#3c3}@media (max-width:768px){.profile-card{text-align:center}.profile-card,.profile-field{align-items:center;flex-direction:column}.profile-field{gap:.5rem}.password-form{max-width:100%}}.log-filters{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;flex-wrap:wrap;gap:1.5rem;margin-bottom:1.5rem;padding:1rem}.filter-group,.log-filters{align-items:center;display:flex}.filter-group{gap:.5rem}.filter-group label{color:#4a5568;font-size:.9rem;font-weight:600;white-space:nowrap}.filter-group select{-webkit-appearance:none;appearance:none;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%234a5568' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;border:2px solid #e2e8f0;border-radius:6px;color:#2d3748;cursor:pointer;font-size:.9rem;min-width:120px;padding:.5rem 2rem .5rem .75rem;transition:all .2s ease}.filter-group select:hover{border-color:#667eea}.filter-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.logs-list{display:flex;flex-direction:column;gap:.5rem;max-height:600px;overflow-y:auto;padding-right:.5rem}.log-row{grid-gap:1rem;align-items:center;background:#fff;border-left:4px solid #667eea;border-radius:6px;display:grid;font-size:.9rem;gap:1rem;grid-template-columns:80px 100px 1fr auto 160px;min-height:48px;padding:.75rem 1rem;transition:all .2s ease}.log-row:hover{box-shadow:0 2px 8px #0000001a;transform:translateX(2px)}.log-row.log-info{border-left-color:#3498db}.log-row.log-warning{border-left-color:#f39c12}.log-row.log-critical,.log-row.log-error{border-left-color:#e74c3c}.log-level{border-radius:4px;font-size:.75rem;font-weight:600;padding:.25rem .5rem;text-align:center;text-transform:uppercase;white-space:nowrap}.log-level.info{background-color:#e3f2fd;color:#1976d2}.log-level.warning{background-color:#fff3e0;color:#f57c00}.log-level.critical,.log-level.error{background-color:#ffebee;color:#c62828}.log-category{background-color:#f5f5f5;border-radius:4px;color:#555;font-size:.75rem;font-weight:500;padding:.25rem .5rem;text-align:center;white-space:nowrap}.log-category.auth{background-color:#e8f5e9;color:#2e7d32}.log-category.webhook{background-color:#fff3e0;color:#ef6c00}.log-category.trade{background-color:#e1f5fe;color:#0277bd}.log-category.api{background-color:#f3e5f5;color:#7b1fa2}.log-message{color:#333;font-size:.9rem;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-meta{color:#666;display:flex;font-size:.8rem;gap:1rem;white-space:nowrap}.log-meta-item{display:inline-flex;gap:.25rem}.log-meta-item strong{color:#888;font-weight:500}.log-time{color:#888;font-size:.8rem;text-align:right;white-space:nowrap}.log-error-inline{border-top:1px solid #ffebee;grid-column:1/-1;margin-top:.5rem;padding-top:.5rem}.log-error-inline summary{background-color:#ffebee;border-radius:4px;color:#c62828;cursor:pointer;font-size:.85rem;font-weight:600;list-style-position:inside;padding:.5rem}.log-error-inline summary:hover{background-color:#ffcdd2}.log-error-inline pre{word-wrap:break-word;background-color:#f5f5f5;border-radius:4px;color:#c62828;font-size:.8rem;margin-top:.5rem;overflow-x:auto;padding:1rem;white-space:pre-wrap}.logs-list::-webkit-scrollbar{width:8px}.logs-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.logs-list::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.logs-list::-webkit-scrollbar-thumb:hover{background:#555}@media (max-width:1200px){.log-filters{gap:1rem}.log-row{font-size:.85rem;gap:.75rem;grid-template-columns:70px 90px 1fr 140px}.log-meta{border-top:1px solid #f0f0f0;grid-column:1/-1;padding-top:.5rem}.log-time{grid-column:4;grid-row:1}}@media (max-width:768px){.log-filters{align-items:stretch;flex-direction:column;gap:.75rem}.filter-group{width:100%}.filter-group select{flex:1 1;min-width:auto}.log-row{gap:.5rem;grid-template-columns:1fr;padding:.75rem}.log-category,.log-level{display:inline-block;margin-right:.5rem}.log-message{margin-top:.5rem;white-space:normal}.log-meta{flex-direction:column;gap:.25rem}.log-time{text-align:left}.logs-list{max-height:500px}}.api-mode-config{margin-top:2rem}.api-mode-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2rem}.api-mode-message{animation:slideIn .3s ease;border-radius:8px;font-weight:500;margin-bottom:1.5rem;padding:1rem}.api-mode-message.success{background-color:#e8f5e9;border-left:4px solid #4caf50;color:#2e7d32}.api-mode-message.error{background-color:#ffebee;border-left:4px solid #f44336;color:#c62828}.api-mode-toggle{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;gap:2rem;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1.5rem}.api-mode-info h4{align-items:center;color:#333;display:flex;font-size:1.1rem;gap:1rem;margin-bottom:.5rem}.mode-badge{border-radius:8px;font-size:.9rem;font-weight:600;padding:.5rem 1rem}.mode-badge.test{background-color:#e3f2fd;color:#1976d2}.mode-badge.prod{animation:pulse 2s infinite;background-color:#ffebee;color:#c62828}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.api-mode-description{color:#666;font-size:.95rem;margin:0}.api-mode-button{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 2rem;transition:all .3s ease;white-space:nowrap}.api-mode-button.switch-to-prod{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff}.api-mode-button.switch-to-prod:hover:not(:disabled){background:linear-gradient(135deg,#f57c00,#e65100);box-shadow:0 4px 12px #ff980066;transform:translateY(-2px)}.api-mode-button.switch-to-test{background:linear-gradient(135deg,#4caf50,#2e7d32);color:#fff}.api-mode-button.switch-to-test:hover:not(:disabled){background:linear-gradient(135deg,#2e7d32,#1b5e20);box-shadow:0 4px 12px #4caf5066;transform:translateY(-2px)}.api-mode-button:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.api-mode-warning{background-color:#fff3e0;border-left:4px solid #ff9800;border-radius:8px;padding:1rem 1.5rem}.api-mode-warning strong{color:#f57c00;display:block;font-size:1rem;margin-bottom:.5rem}.api-mode-warning ul{color:#666;margin:0;padding-left:1.5rem}.api-mode-warning li{font-size:.9rem;margin-bottom:.25rem}.dry-run-config{margin-top:2rem}.dry-run-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2rem}.dry-run-message{animation:slideIn .3s ease;border-radius:8px;font-weight:500;margin-bottom:1.5rem;padding:1rem}.dry-run-message.success{background-color:#e8f5e9;border-left:4px solid #4caf50;color:#2e7d32}.dry-run-message.warning{background-color:#fff3e0;border-left:4px solid #ff9800;color:#f57c00}.dry-run-message.error{background-color:#ffebee;border-left:4px solid #f44336;color:#c62828}.dry-run-toggle{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;gap:2rem;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1.5rem}.dry-run-info h4{align-items:center;color:#333;display:flex;font-size:1.1rem;gap:1rem;margin-bottom:.5rem}.mode-badge.dry-run{background-color:#e8f5e9;color:#2e7d32}.mode-badge.live{animation:pulse 2s infinite;background-color:#ffebee;color:#c62828}.dry-run-description{color:#666;font-size:.95rem;margin:0}.dry-run-button{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 2rem;transition:all .3s ease;white-space:nowrap}.dry-run-button.switch-to-live{background:linear-gradient(135deg,#f44336,#c62828);color:#fff}.dry-run-button.switch-to-live:hover:not(:disabled){background:linear-gradient(135deg,#c62828,#b71c1c);box-shadow:0 4px 12px #f4433666;transform:translateY(-2px)}.dry-run-button.switch-to-dry{background:linear-gradient(135deg,#4caf50,#2e7d32);color:#fff}.dry-run-button.switch-to-dry:hover:not(:disabled){background:linear-gradient(135deg,#2e7d32,#1b5e20);box-shadow:0 4px 12px #4caf5066;transform:translateY(-2px)}.dry-run-button:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.dry-run-warning{background-color:#fff3e0;border-left:4px solid #ff9800;border-radius:8px;padding:1rem 1.5rem}.dry-run-warning strong{color:#f57c00;display:block;font-size:1rem;margin-bottom:.5rem}.dry-run-warning ul{color:#666;margin:0;padding-left:1.5rem}.dry-run-warning li{font-size:.9rem;margin-bottom:.25rem}.trading-actions-config{margin-top:2rem}.trading-actions-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2rem}.actions-description{color:#666;font-size:.95rem;margin-bottom:1.5rem}.actions-list{display:flex;flex-direction:column;gap:1rem}.action-item{align-items:center;background-color:#f9f9f9;border:2px solid #e0e0e0;border-radius:8px;display:flex;justify-content:space-between;padding:1.5rem;transition:all .3s ease}.action-item:hover{border-color:#2196f3;box-shadow:0 2px 8px #2196f31a}.action-info{flex:1 1}.action-pattern{align-items:center;display:flex;gap:.75rem;margin-bottom:.5rem}.action-pattern strong{color:#333;font-size:1rem}.action-type-badge{border-radius:6px;font-size:.75rem;font-weight:700;padding:.25rem .75rem;text-transform:uppercase}.action-type-badge.buy_all{background-color:#e8f5e9;color:#2e7d32}.action-type-badge.sell_all{background-color:#ffebee;color:#c62828}.action-description{color:#666;font-size:.85rem;margin:0}.action-toggle{display:inline-block;flex-shrink:0;height:34px;position:relative;width:60px}.action-toggle input{height:0;opacity:0;width:0}.toggle-slider{border-radius:34px}.toggle-slider:before{bottom:4px;height:26px;left:4px;width:26px}input:checked+.toggle-slider{background-color:#4caf50}input:checked+.toggle-slider:before{transform:translateX(26px)}input:focus+.toggle-slider{box-shadow:0 0 1px #4caf50}@media (max-width:768px){.api-mode-toggle{align-items:flex-start;flex-direction:column}.api-mode-button{width:100%}.dry-run-toggle{align-items:flex-start;flex-direction:column}.dry-run-button{width:100%}.action-item{align-items:flex-start;flex-direction:column;gap:1rem}.action-toggle{align-self:flex-end}}.config-grid{grid-gap:1rem;gap:1rem;grid-template-columns:repeat(2,1fr);margin-bottom:1rem}.config-grid.config-grid-3col{grid-template-columns:repeat(3,1fr)}.config-card{background:#fff;border-radius:10px;box-shadow:0 2px 8px #00000014;padding:1.25rem}.config-card.compact{padding:1rem}.config-card h3{color:#333;font-size:1rem;font-weight:600;margin:0 0 .75rem}.config-message{animation:slideIn .3s ease;font-size:.85rem;margin-bottom:.75rem;padding:.5rem .75rem}.config-message.success{background-color:#e8f5e9;border-left:3px solid #4caf50;color:#2e7d32}.config-message.warning{background-color:#fff3e0;border-left:3px solid #ff9800;color:#f57c00}.config-message.error{background-color:#ffebee;border-left:3px solid #f44336;color:#c62828}.mode-toggle-compact{align-items:center;display:flex;gap:.75rem;justify-content:space-between}.mode-info-compact{display:flex;flex-direction:column;gap:.25rem}.mode-status{color:#666;font-size:.8rem}.mode-button-compact{border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;min-width:80px;padding:.5rem 1rem;transition:all .3s ease;white-space:nowrap}.mode-button-compact.switch-to-prod{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff}.mode-button-compact.switch-to-prod:hover:not(:disabled){background:linear-gradient(135deg,#f57c00,#e65100);box-shadow:0 3px 8px #ff98004d;transform:translateY(-1px)}.mode-button-compact.switch-to-test{background:linear-gradient(135deg,#4caf50,#2e7d32);color:#fff}.mode-button-compact.switch-to-test:hover:not(:disabled){background:linear-gradient(135deg,#2e7d32,#1b5e20);box-shadow:0 3px 8px #4caf504d;transform:translateY(-1px)}.mode-button-compact.switch-to-live{background:linear-gradient(135deg,#f44336,#c62828);color:#fff}.mode-button-compact.switch-to-live:hover:not(:disabled){background:linear-gradient(135deg,#c62828,#b71c1c);box-shadow:0 3px 8px #f443364d;transform:translateY(-1px)}.mode-button-compact.switch-to-dry{background:linear-gradient(135deg,#4caf50,#2e7d32);color:#fff}.mode-button-compact.switch-to-dry:hover:not(:disabled){background:linear-gradient(135deg,#2e7d32,#1b5e20);box-shadow:0 3px 8px #4caf504d;transform:translateY(-1px)}.mode-button-compact.switch-to-on{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff}.mode-button-compact.switch-to-on:hover:not(:disabled){background:linear-gradient(135deg,#1976d2,#1565c0);box-shadow:0 3px 8px #2196f34d;transform:translateY(-1px)}.mode-button-compact.switch-to-off{background:linear-gradient(135deg,#9e9e9e,#757575);color:#fff}.mode-button-compact.switch-to-off:hover:not(:disabled){background:linear-gradient(135deg,#757575,#616161);box-shadow:0 3px 8px #9e9e9e4d;transform:translateY(-1px)}.mode-button-compact:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.refresh-interval-selector{align-items:center;border-top:1px solid #f0f0f0;display:flex;gap:.5rem;margin-top:.75rem;padding-top:.75rem}.refresh-interval-selector label{color:#666;font-size:.85rem;font-weight:600}.refresh-interval-selector select{background:#fff;border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;flex:1 1;font-size:.85rem;padding:.4rem .75rem;transition:all .2s ease}.refresh-interval-selector select:hover{border-color:#2196f3}.refresh-interval-selector select:focus{border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a;outline:none}.mode-badge.enabled{background:linear-gradient(135deg,#4caf50,#2e7d32)}.mode-badge.disabled{background:linear-gradient(135deg,#9e9e9e,#757575)}.actions-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr)}.action-item-compact{align-items:center;background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;display:flex;justify-content:space-between;padding:.75rem;transition:all .2s ease}.action-item-compact:hover{border-color:#2196f3;box-shadow:0 1px 4px #2196f31a}.action-info-compact{align-items:center;display:flex;flex:1 1;gap:.5rem;min-width:0}.action-pattern-compact{color:#333;font-size:.85rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trading-mode-grid{grid-gap:1rem;display:grid;gap:1rem;margin-bottom:1rem}.trading-mode-item{align-items:center;background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;display:flex;justify-content:space-between;padding:1rem;transition:all .2s ease}.trading-mode-item:hover{border-color:#2196f3;box-shadow:0 2px 6px #2196f31a}.mode-item-header{align-items:center;display:flex;flex:1 1;gap:1rem}.mode-icon{font-size:2rem;transition:transform .2s ease}.mode-icon.enabled{transform:scale(1.1)}.mode-icon.disabled{opacity:.5}.mode-item-info h4{color:#333;font-size:1rem;font-weight:600;margin:0 0 .25rem}.mode-description{color:#666;font-size:.85rem;margin:0}.mode-toggle-switch{display:inline-block;height:26px;position:relative;width:50px}.mode-toggle-switch input{height:0;opacity:0;width:0}.toggle-slider,.toggle-slider:before{transition:.3s}.mode-toggle-switch input:checked+.toggle-slider{background-color:#4caf50}.mode-toggle-switch input:checked+.toggle-slider:before{transform:translateX(24px)}.mode-toggle-switch input:disabled+.toggle-slider{cursor:not-allowed;opacity:.5}.trading-mode-warning{background:linear-gradient(135deg,#fff3cd,#ffeaa7);border:1px solid #ffc107;border-radius:6px;color:#856404;font-size:.85rem;padding:.75rem;text-align:center}.preferred-strategy-selector{background-color:#fdfcff;border:1px dashed #cfd5ff;border-radius:8px;display:flex;flex-direction:column;gap:.5rem;padding:1rem}.selector-header{align-items:center;display:flex;gap:.75rem;justify-content:space-between}.selector-header label{color:#333;font-weight:600}.selector-refresh{background:#fff;border:1px solid #667eea;border-radius:999px;color:#667eea;cursor:pointer;font-size:.8rem;padding:.2rem .75rem;transition:all .2s ease}.selector-refresh:hover:not(:disabled){background:#667eea;color:#fff}.selector-refresh:disabled{cursor:not-allowed;opacity:.5}.preferred-strategy-selector select{background:#fff;border:1px solid #dfe3ff;border-radius:6px;font-size:.9rem;padding:.5rem}.strategy-selector-hint{color:#666;font-size:.85rem}.strategy-selector-empty{background:#fff9e6;border:1px solid #ffe3a3;border-radius:6px;color:#5f4b00;font-size:.85rem;padding:.5rem .75rem}.strategy-selector-error,.strategy-selector-warning{border-radius:6px;font-size:.8rem;padding:.45rem .6rem}.strategy-selector-error{background:#fdecea;border:1px solid #f5c2c7;color:#a3212a}.strategy-selector-warning{background:#fff3cd;border:1px solid #ffeeba;color:#856404}.execution-interval-selector{align-items:center;background-color:#f0f7ff;border:1px solid #2196f3;border-radius:6px;display:flex;gap:1rem;margin-top:1rem;padding:1rem}.execution-interval-selector label{color:#333;font-size:.9rem;font-weight:600;white-space:nowrap}.execution-interval-selector select{background-color:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;flex:1 1;font-size:.9rem;padding:.5rem}.execution-interval-selector select:disabled{cursor:not-allowed;opacity:.6}.interval-hint{color:#666;font-size:.85rem;font-weight:500;white-space:nowrap}.config-grid-info{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr)}.config-info-item{align-items:center;background-color:#f9f9f9;border:1px solid #e8e8e8;border-radius:6px;display:flex;justify-content:space-between;padding:.75rem}.config-info-label{color:#666;font-size:.85rem;font-weight:500}.config-info-value{color:#333;font-size:.85rem;font-weight:600;max-width:200px;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.config-info-value code{background:#f0f0f0;border-radius:4px;font-family:Monaco,Courier New,monospace;font-size:.75rem;padding:.25rem .5rem}.webhook-url-compact{align-items:center;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;display:flex;gap:.5rem;padding:.75rem}.webhook-url{background:#f0f0f0;border-radius:4px;color:#333;flex:1 1;font-family:Monaco,Courier New,monospace;font-size:.8rem;overflow:hidden;padding:.5rem .75rem;text-overflow:ellipsis;white-space:nowrap}.copy-btn-compact{background:linear-gradient(135deg,#2196f3,#1976d2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:.5rem 1rem;transition:all .2s ease;white-space:nowrap}.copy-btn-compact:hover{background:linear-gradient(135deg,#1976d2,#1565c0);box-shadow:0 2px 6px #2196f34d;transform:translateY(-1px)}.copy-btn-compact:active{transform:translateY(0)}@media (max-width:1024px){.actions-grid,.config-grid,.config-grid-info,.config-grid.config-grid-3col{grid-template-columns:1fr}}@media (max-width:768px){.mode-toggle-compact{align-items:stretch;flex-direction:column}.mode-button-compact{width:100%}.webhook-url-compact{flex-direction:column}.copy-btn-compact{width:100%}}.market-data-status .panel-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.market-data-status .refresh-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:all .3s ease}.market-data-status .refresh-button:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.market-data-status .refresh-button:disabled{cursor:not-allowed;opacity:.6}.market-data-status .stats-overview{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.market-data-status .stat-card{background:linear-gradient(135deg,#667eea1a,#764ba21a);border:1px solid #667eea33;border-radius:12px;padding:1.5rem}.market-data-status .stat-card h3{color:#888;font-size:.9rem;letter-spacing:1px;margin:0 0 1rem;text-transform:uppercase}.market-data-status .stat-value{color:#667eea;font-size:2.5rem;font-weight:700}.market-data-status .recent-data,.market-data-status .symbols-list{margin-top:2rem}.market-data-status .recent-data h3,.market-data-status .symbols-list h3{color:#333;margin-bottom:1rem}.market-data-status .table-container{border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow-x:auto}.market-data-status .data-table{background:#fff;border-collapse:collapse;width:100%}.market-data-status .data-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.market-data-status .data-table th{font-size:.9rem;font-weight:600;letter-spacing:.5px;padding:1rem;text-align:left;text-transform:uppercase}.market-data-status .data-table td{border-bottom:1px solid #eee;padding:1rem}.market-data-status .data-table tbody tr:hover{background:#f8f9fa}.market-data-status .coverage-badge{border-radius:20px;font-size:.85rem;font-weight:600;padding:.25rem .75rem}.market-data-status .coverage-badge.high{background:#d4edda;color:#155724}.market-data-status .coverage-badge.medium{background:#fff3cd;color:#856404}.market-data-status .coverage-badge.low{background:#f8d7da;color:#721c24}.collector-status{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#fffffff2,#ffffffe6);border:1px solid #ffffff80;border-radius:12px;box-shadow:0 4px 12px #00000014;margin-bottom:24px;padding:24px}.collector-status h3{align-items:center;color:#2c3e50;display:flex;font-size:1.4rem;font-weight:700;gap:10px;margin-bottom:20px;margin-top:0}.collector-status h4{color:#6c757d;font-size:.75rem;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.collector-status .stats-overview{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:20px}.collector-status .stat-card{background:#fff;border:1px solid #e9ecef;border-radius:10px;box-shadow:0 2px 8px #0000000d;overflow:hidden;padding:20px;position:relative;transition:all .3s ease}.collector-status .stat-card:before{background:linear-gradient(180deg,#667eea,#764ba2);content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .3s ease;width:4px}.collector-status .stat-card:hover{border-color:#667eea;box-shadow:0 4px 16px #667eea26;transform:translateY(-2px)}.collector-status .stat-card:hover:before{opacity:1}.status-badge{border-radius:20px;box-shadow:0 2px 4px #0000001a;padding:6px 14px}.status-badge.running{animation:pulse-running 2s ease-in-out infinite;background:linear-gradient(135deg,#d4edda,#c3e6cb);border:1px solid #28a745;color:#155724}.status-badge.stopped{background:linear-gradient(135deg,#f8d7da,#f5c6cb);border:1px solid #dc3545;color:#721c24}@keyframes pulse-running{0%,to{box-shadow:0 2px 4px #28a74533}50%{box-shadow:0 4px 12px #28a74566}}.workers-info{background:#fff;border:1px solid #e9ecef;border-radius:10px;box-shadow:0 2px 8px #0000000d;margin-bottom:20px;padding:20px}.workers-info h4{color:#495057;font-size:1rem;font-weight:600;margin-bottom:16px;margin-top:0}.worker-card{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #dee2e6;border-radius:8px;display:flex;font-size:.85rem;gap:12px;margin-bottom:10px;padding:12px 16px;transition:all .3s ease}.worker-card:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea26;transform:translateX(4px)}.worker-name{flex:1 1;font-family:Monaco,Courier New,monospace;font-size:.8rem;font-weight:700}.worker-status{background:#d4edda;border-radius:10px;color:#28a745;font-size:.7rem;font-weight:700;padding:3px 8px;text-transform:uppercase}.worker-pool{background:#fff;border:1px solid #dee2e6;border-radius:10px;color:#6c757d;font-size:.75rem;padding:3px 10px}.collector-controls{display:flex;gap:12px;margin-top:20px}.collector-controls button{align-items:center;border:none;border-radius:8px;box-shadow:0 2px 8px #0000001a;cursor:pointer;display:flex;flex:1 1;font-size:.95rem;font-weight:700;gap:8px;justify-content:center;padding:14px 28px;transition:all .3s ease}.primary-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;overflow:hidden;position:relative}.primary-button:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.primary-button:hover:not(:disabled):before{left:100%}.primary-button:hover:not(:disabled){box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.primary-button:active:not(:disabled){box-shadow:0 2px 8px #667eea4d;transform:translateY(0)}.secondary-button{background:linear-gradient(135deg,#6c757d,#495057)}.secondary-button:hover:not(:disabled){background:linear-gradient(135deg,#5a6268,#343a40);box-shadow:0 6px 20px #6c757d66}button:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.collector-logs{animation:slideDown .3s ease-out;background:#fff;border:1px solid #dee2e6;border-radius:12px;box-shadow:0 4px 12px #00000014;margin-top:24px;padding:24px}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.collector-logs h3{color:#2c3e50;font-size:1.3rem;font-weight:700;gap:10px;margin-top:0}.collector-logs h3,.logs-controls{align-items:center;display:flex;margin-bottom:20px}.logs-controls{flex-wrap:wrap;gap:12px;justify-content:space-between}.log-level-select{background:#fff;border:2px solid #dee2e6;border-radius:8px;color:#495057;cursor:pointer;font-size:.9rem;font-weight:600;min-width:180px;padding:10px 16px;transition:all .3s ease}.log-level-select:hover{border-color:#667eea}.log-level-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.logs-container{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;max-height:500px;overflow-y:auto}.logs-container::-webkit-scrollbar{width:8px}.logs-container::-webkit-scrollbar-track{background:#f1f3f5;border-radius:4px}.logs-container::-webkit-scrollbar-thumb{background:#adb5bd;border-radius:4px}.logs-container::-webkit-scrollbar-thumb:hover{background:#6c757d}.logs-table{background:#fff;border-collapse:collapse;font-size:.85rem;width:100%}.logs-table thead{background:linear-gradient(135deg,#f8f9fa,#e9ecef);box-shadow:0 2px 4px #0000000d;position:-webkit-sticky;position:sticky;top:0;z-index:10}.logs-table th{border-bottom:2px solid #dee2e6;color:#495057;font-size:.7rem;font-weight:700;letter-spacing:.5px;padding:14px 16px;text-align:left;text-transform:uppercase}.logs-table td{border-bottom:1px solid #e9ecef;color:#495057;padding:12px 16px;vertical-align:middle}.logs-table tbody tr{transition:all .2s ease}.logs-table tbody tr:hover{background:#f1f3f5;transform:scale(1.01)}.level-badge{border-radius:12px;display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.3px;padding:4px 12px;text-transform:uppercase}.level-badge.info{background:linear-gradient(135deg,#d1ecf1,#bee5eb);border:1px solid #17a2b8;color:#0c5460}.level-badge.warning{background:linear-gradient(135deg,#fff3cd,#ffe69c);border:1px solid #ffc107;color:#856404}.level-badge.error{background:linear-gradient(135deg,#f8d7da,#f5c6cb);border:1px solid #dc3545;color:#721c24}.logs-table tr.log-warning{background:#fffbf0}.logs-table tr.log-warning:hover{background:#fff8e1}.logs-table tr.log-error{background:#fff5f5}.logs-table tr.log-error:hover{background:#ffe9e9}.empty-logs{color:#6c757d;font-size:1rem;font-style:italic;padding:60px 20px;text-align:center}.empty-logs:before{content:"📋";display:block;font-size:3rem;margin-bottom:16px;opacity:.5}.empty-state{background:#fff;border:2px dashed #dee2e6;color:#6c757d;padding:80px 20px;text-align:center}.empty-state:before{content:"📊";display:block;font-size:4rem;margin-bottom:20px;opacity:.5}.empty-state p{font-size:1.1rem;margin:12px 0}.empty-state .hint{color:#adb5bd;font-size:.95rem;font-style:italic}.refresh-button{align-items:center;background:linear-gradient(135deg,#667eea1a,#764ba21a);border:2px solid #667eea;color:#667eea;display:flex;font-size:.9rem;font-weight:700;gap:8px;padding:10px 20px}.refresh-button:hover:not(:disabled){background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 12px #667eea4d;color:#fff}.refresh-button:disabled{opacity:.5}@media (max-width:768px){.collector-status{padding:16px}.collector-status .stats-overview{gap:12px;grid-template-columns:1fr}.collector-controls{flex-direction:column}.collector-controls button{width:100%}.logs-controls{align-items:stretch;flex-direction:column}.log-level-select{width:100%}.logs-container{max-height:350px}.logs-table{font-size:.75rem}.logs-table td,.logs-table th{padding:10px 12px}.logs-table td:first-child,.logs-table th:first-child{display:none}.worker-card{align-items:flex-start;flex-direction:column;gap:8px}}@keyframes spinner{to{transform:rotate(1turn)}}.market-data-status{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#fffffff2,#ffffffe6);border-radius:12px;box-shadow:0 4px 12px #00000014;padding:24px}.market-data-status h2{color:#2c3e50;font-weight:700;text-shadow:0 2px 4px #0000000d}.backfill-config-section{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000000d;margin-top:20px;padding:20px}.backfill-config-section .section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.backfill-config-section h3{color:#667eea;font-size:1.3rem;margin:0}.backfill-config-panel{background:#f8f9fa;border-radius:8px;margin-top:15px;padding:20px}.config-row{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:15px}.config-item{flex:1 1;min-width:250px}.config-item label{color:#2c3e50;display:block;font-weight:600;margin-bottom:8px}.config-item input[type=checkbox]{cursor:pointer;margin-right:8px;transform:scale(1.2)}.time-input-group{align-items:center;display:flex;gap:10px}.time-input{border:2px solid #e1e8ed;border-radius:6px;font-size:1rem;padding:8px 12px;text-align:center;width:70px}.time-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.time-hint{color:#657786;font-size:.9rem;font-weight:500}.days-input{border:2px solid #e1e8ed;border-radius:6px;font-size:1rem;padding:8px 12px;width:100px}.days-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.config-actions{gap:10px;margin-top:20px}.backfill-progress-section{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000000d;margin-top:20px;padding:20px}.backfill-progress-section h3{color:#667eea;font-size:1.3rem;margin-bottom:20px}.progress-stats{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px}.progress-bar-container{background:#e1e8ed;border-radius:10px;height:30px;margin:20px 0}.progress-bar{align-items:center;background:linear-gradient(90deg,#667eea,#764ba2);color:#fff;display:flex;font-weight:600;height:100%;justify-content:center;min-width:50px;transition:width .5s ease}.current-symbol{background:#f0f3ff;border-left:4px solid #667eea}.current-symbol,.estimated-completion{border-radius:4px;font-size:.95rem;margin:15px 0;padding:12px}.estimated-completion{background:#fff7e6;border-left:4px solid orange}.backfill-errors{background:#fff0f0;border-left:4px solid #e74c3c;border-radius:4px;margin:15px 0;padding:15px}.backfill-errors h4{color:#e74c3c;font-size:1rem;margin-bottom:10px}.backfill-errors ul{margin:0;padding-left:20px}.backfill-errors li{color:#c0392b;font-size:.9rem;margin-bottom:5px}.progress-actions{display:flex;gap:10px;margin-top:20px}.status-badge.started{background:#3498db}.status-badge.started,.status-badge.success{border-radius:20px;color:#fff;font-size:.9rem;font-weight:600;padding:6px 12px}.status-badge.success{background:#27ae60}.status-badge.failure{background:#e74c3c;color:#fff}.status-badge.failure,.status-badge.pending{border-radius:20px;font-size:.9rem;font-weight:600;padding:6px 12px}.status-badge.pending{background:#95a5a6}.retention-config-section{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000000d;margin-top:20px;padding:20px}.retention-config-section .section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.retention-config-section h3{color:#667eea;font-size:1.3rem;margin:0}.retention-config-panel{background:#f8f9fa;border-radius:8px;margin-top:15px;padding:20px}.retention-config-panel .config-description{background:#e3f2fd;border-left:4px solid #2196f3;border-radius:4px;margin-bottom:20px;padding:12px}.retention-config-panel .config-description p{color:#1565c0;font-size:.95rem;margin:0}.retention-info{background:#fff;border:2px solid #e1e8ed;border-radius:8px;margin-top:20px;padding:15px}.retention-info h4{color:#2c3e50;font-size:1rem;margin-bottom:12px;margin-top:0}.retention-info ul{margin:0;padding-left:20px}.retention-info li{color:#34495e;margin-bottom:8px}.retention-info .warning-text{background:#fff3cd;border-left:4px solid #ffc107;border-radius:4px;color:#856404;font-size:.9rem;margin-bottom:0;margin-top:15px;padding:10px}.input-hint{color:#657786;font-size:.85rem;font-style:italic;margin-left:10px}.config-message{border-radius:6px;font-weight:500;margin-bottom:15px;padding:12px 15px}.config-message.success{background:#d4edda;border-left:4px solid #28a745;color:#155724}.config-message.error{background:#f8d7da;border-left:4px solid #dc3545;color:#721c24}.active-tasks-section{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000000d;margin-top:20px;padding:20px}.active-tasks-section h4{color:#667eea;font-size:1.3rem;margin-bottom:20px}.tasks-list{display:flex;flex-direction:column;gap:15px}.task-item{background:#f8f9fa;border:1px solid #e1e8ed;border-radius:8px;padding:15px;transition:all .2s ease}.task-item:hover{border-color:#667eea;box-shadow:0 4px 12px #00000014}.task-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:12px}.task-name{color:#2c3e50;font-size:1rem;font-weight:600;word-break:break-all}.task-id{background:#667eea;color:#fff;font-family:Monaco,Courier New,monospace;font-size:.85rem;font-weight:600;padding:4px 8px}.task-meta{color:#555;display:flex;flex-direction:column;font-size:.9rem;gap:8px}.task-meta span{align-items:center;border-bottom:1px solid #e8e8e8;display:flex;padding:6px 0}.task-meta span:last-child{border-bottom:none}.tasks-placeholder{color:#95a5a6;font-style:italic;padding:40px 20px;text-align:center}.tasks-placeholder p{font-size:1rem;margin:0}@media (max-width:768px){.config-row{flex-direction:column}.config-item{min-width:100%}.time-input-group{flex-wrap:wrap}.config-actions{flex-direction:column}.config-actions button{width:100%}}.task-management-container{margin:0 auto;max-width:1400px;padding:0 20px}.task-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:30px;padding:20px}.task-section h3{align-items:center;color:#2c3e50;display:flex;font-size:1.25rem;font-weight:600;gap:8px;margin:0 0 15px}.queue-stats-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:0}.queue-guard-card{background:linear-gradient(135deg,#667eea0d,#764ba20d);border:2px solid #dee2e6;border-radius:12px;margin-bottom:16px;padding:20px;transition:border-color .3s ease,box-shadow .3s ease}.queue-guard-card.protected{border-color:#2ecc71;box-shadow:0 4px 12px #2ecc7126}.queue-guard-card.shared{border-color:#f1c40f;box-shadow:0 4px 12px #f1c40f26}.queue-guard-card.critical{border-color:#e74c3c;box-shadow:0 4px 12px #e74c3c26}.queue-guard-header{align-items:center;display:flex;gap:20px;justify-content:space-between;margin-bottom:16px}.queue-guard-title{color:#2c3e50;font-size:1.05rem;font-weight:700;margin-bottom:4px}.queue-guard-message{color:#6c757d;font-size:.9rem;margin:0}.queue-guard-pill{align-items:center;border-radius:999px;display:inline-flex;font-size:.85rem;font-weight:600;gap:6px;padding:6px 14px;text-transform:uppercase}.queue-guard-pill.protected{background:#d4edda;color:#155724}.queue-guard-pill.shared{background:#fff3cd;color:#856404}.queue-guard-pill.critical{background:#f8d7da;color:#721c24}.queue-guard-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:12px}.queue-guard-metric{background:#fff;border:1px solid #e9ecef;border-radius:10px;box-shadow:0 2px 6px #0000000d;padding:14px}.queue-guard-metric strong{color:#2c3e50;display:block;font-size:1.5rem}.queue-guard-metric small{color:#95a5a6}.metric-label{color:#6c757d;letter-spacing:.5px;text-transform:uppercase}.queue-guard-alert{background:#fff3cd;border:1px solid #ffeeba;border-radius:8px;color:#856404;font-size:.9rem;margin-top:8px;padding:12px 16px}.queue-stat-card{background:linear-gradient(135deg,#f8f9fa,#fff);border:2px solid #e9ecef;border-radius:10px;cursor:pointer;overflow:hidden;padding:20px;position:relative;transition:all .3s ease}.queue-stat-card:before{background:linear-gradient(90deg,#667eea,#764ba2);content:"";height:4px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.queue-stat-card:hover:before{opacity:1}.queue-stat-card:hover{box-shadow:0 4px 12px #667eea26;transform:translateY(-2px)}.queue-stat-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.queue-name{color:#6c757d;font-size:.875rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.queue-count{font-size:2.5rem;font-weight:700;line-height:1;margin:8px 0}.queue-count.healthy{color:#27ae60}.queue-count.warning{color:#f39c12}.queue-count.critical{color:#e74c3c}.queue-label{color:#95a5a6;font-size:.813rem;margin-bottom:12px}.queue-clear-btn{align-items:center;background:#e74c3c;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.813rem;font-weight:600;gap:6px;padding:8px 16px;transition:all .2s ease}.queue-modal-overlay{align-items:flex-start;background:#0f172a8c;display:flex;inset:0;justify-content:center;overflow-y:auto;padding:40px 20px;position:fixed;z-index:9999}.queue-modal{background:#fff;border:1px solid #696cff26;border-radius:18px;box-shadow:0 20px 45px #0f172a40;padding:28px;width:min(1200px,100%)}.queue-modal-header{align-items:center;display:flex;gap:20px;justify-content:space-between;margin-bottom:20px}.queue-modal-header h3{color:#1f2937;font-size:1.5rem;margin:0}.queue-modal-subtitle{color:#6b7280;font-size:.9rem;margin:4px 0 0}.queue-modal-actions{display:flex;gap:10px}.queue-modal-error{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#991b1b;margin-bottom:16px;padding:12px 16px}.queue-modal-metrics{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:20px}.queue-metric-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:16px}.queue-metric-card strong{color:#111827;display:block;font-size:1.9rem;margin:4px 0}.queue-metric-card small{color:#94a3b8}.queue-modal-loading{align-items:center;background:#f0f9ff;border:1px solid #bae6fd;border-radius:12px;display:flex;gap:12px;margin-bottom:16px;padding:12px 16px}.queue-modal-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.queue-modal-section{background:#fff;border:1px solid #e5e7eb;border-radius:14px;display:flex;flex-direction:column;min-height:280px;padding:16px}.queue-modal-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.queue-modal-section-subtitle{color:#94a3b8;display:block;font-size:.85rem;margin-top:4px}.queue-modal-table-wrapper{flex:1 1;overflow-x:auto}.queue-modal-table{border-collapse:collapse;font-size:.9rem;width:100%}.queue-modal-table td,.queue-modal-table th{border-bottom:1px solid #f1f5f9;padding:8px 6px;text-align:left}.queue-modal-table thead th{color:#94a3b8;font-size:.8rem;letter-spacing:.5px;text-transform:uppercase}.queue-modal-empty{border:1px dashed #dbeafe;border-radius:12px;color:#94a3b8;padding:24px;text-align:center}.queue-task-name{color:#1e293b;font-weight:600}.queue-task-id{color:#94a3b8;font-size:.75rem}.queue-task-args{color:#0f172a;font-family:JetBrains Mono,Fira Code,monospace;font-size:.8rem;word-break:break-word}.queue-task-muted{color:#94a3b8}.queue-task-pill{align-items:center;background:#eef2ff;color:#4338ca;font-size:.85rem;justify-content:center;min-width:36px;padding:4px 8px}.queue-status-pill,.queue-task-pill{border-radius:999px;display:inline-flex;font-weight:600}.queue-status-pill{font-size:.78rem;padding:4px 10px;text-transform:capitalize}.queue-status-pill.status-completed{background:#dcfce7;color:#166534}.queue-status-pill.status-started{background:#e0f2fe;color:#075985}.queue-status-pill.status-failed{background:#fee2e2;color:#b91c1c}.queue-clear-btn:hover:not(:disabled){background:#c0392b;transform:scale(1.05)}.queue-clear-btn:disabled{cursor:not-allowed;opacity:.5}.modal-overlay{background:#0f172aa6;inset:0;z-index:10000}.manual-trade-modal{animation:modalPop .25s ease;background:#fff;border:1px solid #6366f126;border-radius:18px;box-shadow:0 25px 65px #0f172a4d;padding:24px;width:min(520px,100%)}.manual-trade-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.manual-trade-header h3{color:#1f2937;font-size:1.4rem;margin:0}.manual-trade-subtitle{color:#6b7280;margin:4px 0 0}.manual-trade-balance{color:#4b5563;font-size:.9rem;margin:6px 0 0}.manual-trade-body{display:flex;flex-direction:column;gap:18px}.manual-trade-body .form-group label{color:#374151;display:block;font-size:.95rem;font-weight:600;margin-bottom:6px}.manual-trade-body input[type=number]{border:1px solid #e2e8f0;border-radius:10px;color:#111827;font-size:1.05rem;font-weight:600;padding:.75rem;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.manual-trade-body input[type=number]:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f126;outline:none}.quick-fill-buttons{display:flex;gap:8px;margin-top:10px}.quick-fill-buttons button{background:#f1f5f9;border:none;border-radius:999px;color:#1e293b;cursor:pointer;flex:1 1;font-weight:600;padding:.45rem 0;transition:background .2s ease,transform .2s ease}.quick-fill-buttons button:hover{background:#dbeafe;transform:translateY(-1px)}.manual-trade-pricing{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:flex;justify-content:space-between;padding:12px 16px}.manual-trade-pricing strong{color:#111827;display:block;font-size:1.1rem}.manual-trade-pricing .refresh-button{background:linear-gradient(135deg,#10b981,#22d3ee);border:none;border-radius:999px;box-shadow:0 10px 25px #22d3ee59;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;margin-left:12px;padding:.5rem .9rem}.manual-trade-pricing .refresh-button:disabled{box-shadow:none;cursor:not-allowed;opacity:.5}.manual-trade-value{align-items:center;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:12px;color:#065f46;display:flex;font-weight:600;justify-content:space-between;padding:12px 16px}.manual-trade-warning{background:#fff7ed;border:1px solid #fdba74;border-radius:10px;color:#9a3412;font-size:.9rem;padding:.75rem 1rem}.manual-trade-error,.manual-trade-success{border:1px solid #0000;border-radius:10px;font-size:.9rem;padding:.75rem 1rem}.manual-trade-error{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.manual-trade-success{background:#ecfdf5;border-color:#a7f3d0;color:#047857}.manual-trade-actions{display:flex;gap:10px;margin-top:22px}.manual-trade-actions .primary-button,.manual-trade-actions .secondary-button{border-radius:12px;flex:1 1;font-size:1rem;font-weight:600;padding:.85rem 1rem}.manual-trade-actions .primary-button{background:linear-gradient(135deg,#f43f5e,#f97316);border:none;box-shadow:0 15px 35px #f9731659;color:#fff}.manual-trade-actions .primary-button:disabled{box-shadow:none;cursor:not-allowed;opacity:.6}.manual-trade-actions .secondary-button{background:#fff;border:1px solid #cbd5f5;color:#475569}.manual-trade-actions .secondary-button:disabled{cursor:not-allowed;opacity:.6}.modal-close{color:#94a3b8;font-size:1.5rem;transition:color .2s ease,transform .2s ease}.modal-close:hover{color:#1f2937;transform:rotate(90deg)}@keyframes modalPop{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.worker-stats-list{display:flex;flex-direction:column;gap:12px}.worker-stat-card{background:linear-gradient(135deg,#f8f9fa,#fff);border:1px solid #dee2e6;border-radius:10px;padding:18px;transition:all .2s ease}.worker-stat-card:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea1a}.worker-name{color:#2c3e50;font-size:1rem;font-weight:600;margin-bottom:10px}.worker-details{color:#6c757d;display:flex;flex-wrap:wrap;font-size:.875rem;gap:16px}.worker-details strong{color:#495057}.concurrency-control{background:linear-gradient(135deg,#e8f4f8,#f0f8ff);border:2px solid #3498db;border-radius:10px;margin-top:15px;padding:18px}.concurrency-control-title{align-items:center;color:#2c3e50;display:flex;font-weight:600;gap:6px;margin-bottom:12px}.concurrency-input-group{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.concurrency-input{border:2px solid #cbd5e0;border-radius:6px;font-size:1rem;padding:10px 14px;transition:border-color .2s ease;width:100px}.concurrency-input:focus{border-color:#3498db;outline:none}.concurrency-submit-btn{background:#3498db;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .2s ease}.concurrency-submit-btn:hover:not(:disabled){background:#2980b9;transform:translateY(-1px)}.concurrency-submit-btn:disabled{cursor:not-allowed;opacity:.5}.concurrency-note{color:#6c757d;font-size:.813rem;font-style:italic}.task-table-container{border:1px solid #dee2e6;border-radius:8px;overflow-x:auto}.task-table{background:#fff;border-collapse:collapse;font-size:.875rem;width:100%}.task-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.task-table thead th{font-size:.813rem;font-weight:600;letter-spacing:.5px;padding:14px 12px;text-align:left;text-transform:uppercase}.task-table tbody tr{border-bottom:1px solid #f1f3f5;transition:background-color .2s ease}.task-table tbody tr:hover{background-color:#f8f9fa}.task-table tbody tr:last-child{border-bottom:none}.task-table tbody td{color:#495057;padding:14px 12px}.task-id-cell{color:#6c757d;font-family:Courier New,monospace;font-size:.813rem}.task-status-badge{border-radius:12px;display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.3px;padding:4px 10px;text-transform:uppercase}.task-status-badge.scheduled{background:#e8f4f8;border:1px solid #3498db;color:#3498db}.task-status-badge.reserved{background:#fff3cd;border:1px solid #ffc107;color:#856404}.task-action-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:.813rem;font-weight:600;gap:4px;padding:6px 14px;transition:all .2s ease}.task-action-btn.terminate{background:#e74c3c;color:#fff}.task-action-btn.terminate:hover:not(:disabled){background:#c0392b;transform:scale(1.05)}.task-action-btn.revoke{background:#95a5a6;color:#fff}.task-action-btn.revoke:hover:not(:disabled){background:#7f8c8d;transform:scale(1.05)}.task-action-btn:disabled{cursor:not-allowed;opacity:.5}.compression-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.compression-header h2{margin:0}.compression-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;overflow:auto}.compression-table{border-collapse:collapse;min-width:980px;width:100%}.compression-table thead{background:#f8f9fa}.compression-table th{border-bottom:2px solid #e9ecef;color:#2c3e50;font-weight:700;padding:12px;text-align:left;white-space:nowrap}.compression-table td{border-bottom:1px solid #f1f3f5;color:#495057;padding:12px;vertical-align:top}.compression-table tbody tr:hover{background:#fbfcfe}.compression-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.compression-chunk-summary,.compression-policy,.compression-size-summary{display:flex;flex-direction:column;gap:.25rem}.compression-link-button{background:#0000;border:none;color:#4c51bf;cursor:pointer;font-size:.82rem;font-weight:700;margin-top:.35rem;padding:0;text-align:left}.compression-link-button:hover:not(:disabled){text-decoration:underline}.compression-link-button:disabled{cursor:not-allowed;opacity:.5}.compression-policy-card{background:linear-gradient(135deg,#f8fafc,#fff);border:1px solid #e9ecef;border-radius:10px;display:flex;flex-direction:column;gap:.5rem;padding:10px 12px}.compression-policy-top{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.compression-policy-job{color:#6b7280;font-size:.85rem;font-weight:700;white-space:nowrap}.compression-kv{grid-gap:.4rem .75rem;display:grid;gap:.4rem .75rem;grid-template-columns:1fr 1fr}.compression-kv-row{align-items:baseline;display:flex;gap:.5rem;justify-content:space-between}.compression-kv-label{color:#6b7280;font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.compression-kv-value{color:#111827;font-size:.85rem;font-weight:700;white-space:nowrap}.compression-policy-footer{margin-top:-.15rem}.compression-chunks-row td{background:#fbfbff;border-bottom:1px solid #f1f3f5;padding-top:0}.compression-chunks-panel{background:#fff;border:1px solid #e9ecef;border-radius:12px;margin:0 0 12px;overflow:hidden}.compression-chunks-panel-header{align-items:flex-start;background:linear-gradient(135deg,#f8f9fa,#fff);border-bottom:1px solid #eef2f7;display:flex;gap:1rem;justify-content:space-between;padding:12px 14px}.compression-chunks-title{color:#111827;font-size:.95rem;font-weight:800}.compression-chunks-actions{display:flex;flex-wrap:wrap;gap:.5rem}.compression-chunks-state{color:#6b7280;font-style:italic;padding:14px}.compression-chunks-error{background:#fef2f2;border-top:1px solid #fee2e2;color:#b91c1c;padding:14px}.compression-chunks-table-wrap{max-height:420px;overflow:auto}.compression-chunks-table{border-collapse:collapse;width:100%}.compression-chunks-table td,.compression-chunks-table th{border-bottom:1px solid #f1f5f9;padding:10px 12px;vertical-align:top}.compression-chunks-table thead th{background:#f8fafc;color:#334155;font-weight:800;position:-webkit-sticky;position:sticky;top:0;z-index:1}.compression-chunks-table tbody tr.is-compressed{background:linear-gradient(135deg,#22c55e0f,#fff0 55%)}.compression-chunks-table tbody tr.is-uncompressed{background:linear-gradient(135deg,#ef44440d,#fff0 55%)}.compression-chunk-badge{align-items:center;border:1px solid #0000;border-radius:999px;display:inline-flex;font-size:.75rem;font-weight:800;padding:4px 10px;white-space:nowrap}.compression-chunk-badge.compressed{background:#22c55e1f;border-color:#22c55e38;color:#166534}.compression-chunk-badge.uncompressed{background:#ef44441a;border-color:#ef44442e;color:#991b1b}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.task-empty-state{background:linear-gradient(135deg,#f8f9fa,#fff);border:2px dashed #dee2e6;border-radius:8px;color:#95a5a6;font-style:italic;padding:40px 20px;text-align:center}.task-table-note{background:#f8f9fa;border-radius:6px;color:#6c757d;font-size:.813rem;font-style:italic;margin-top:12px;padding:8px 12px}.task-notes-box{background:linear-gradient(135deg,#fff3cd,#fffef0);border:2px solid #ffc107;border-radius:10px;margin-top:20px;padding:20px}.task-notes-title{align-items:center;color:#856404;display:flex;font-weight:700;gap:6px;margin-bottom:10px}.task-notes-list{color:#6c757d;font-size:.875rem;margin:8px 0;padding-left:20px}.task-notes-list li{line-height:1.5;margin:6px 0}@media (max-width:1200px){.task-management-container{max-width:100%}.queue-stats-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}}@media (max-width:768px){.task-section{padding:15px}.queue-stats-grid{grid-template-columns:1fr}.task-table{font-size:.813rem}.task-table tbody td,.task-table thead th{padding:10px 8px}.queue-count{font-size:2rem}.concurrency-input-group{align-items:stretch;flex-direction:column}.concurrency-input,.concurrency-submit-btn{width:100%}}.websocket-collector-status{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem;padding:1.5rem}.websocket-collector-status .panel-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.websocket-collector-status .panel-header h2{color:#333;font-size:1.5rem;margin:0}.websocket-collector-status .header-actions{display:flex;gap:.5rem}.websocket-collector-status .stats-overview{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1.5rem}.websocket-collector-status .stat-card{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:8px;padding:1rem;text-align:center}.websocket-collector-status .stat-card h4{color:#666;font-size:.875rem;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.websocket-collector-status .stat-value{color:#333;font-size:1.75rem;font-weight:700;margin-bottom:.25rem}.websocket-collector-status .stat-hint{color:#999;font-size:.75rem;margin-top:.25rem}.websocket-collector-status .status-badge{border-radius:12px;display:inline-block;font-size:.875rem;font-weight:600;padding:.25rem .75rem}.websocket-collector-status .status-badge.running{background:#4caf50;color:#fff}.websocket-collector-status .status-badge.stopped{background:#f44;color:#fff}.websocket-config{background:#f8f9fa;border-radius:8px;margin-top:1.5rem;padding:1.5rem}.websocket-config h3{color:#333;font-size:1.125rem;margin-bottom:1rem}.websocket-config .config-form{max-width:600px}.websocket-config .form-group{margin-bottom:1rem}.websocket-config .form-group label{color:#555;display:block;font-weight:500;margin-bottom:.5rem}.websocket-config .input-group{display:flex;gap:.5rem}.websocket-config .input-group input[type=number]{border:2px solid #ddd;border-radius:4px;flex:1 1;font-size:1rem;padding:.5rem}.websocket-config .input-group input[type=number]:focus{border-color:#667eea;outline:none}.websocket-config .hint{color:#666;display:block;font-size:.813rem;line-height:1.5;margin-top:.5rem}.websocket-config .action-button{background:#667eea;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem 1.5rem;transition:all .3s;white-space:nowrap}.websocket-config .action-button:hover:not(:disabled){background:#5568d3;box-shadow:0 2px 8px #667eea4d;transform:translateY(-1px)}.websocket-config .action-button:disabled{cursor:not-allowed;opacity:.6}.websocket-config .action-button.warning{background:#ff9800}.websocket-config .action-button.warning:hover:not(:disabled){background:#f57c00}.loading-placeholder{color:#999;font-size:1rem;padding:2rem;text-align:center}.risk-presets{background:#f8f9fa;border-radius:8px;margin-bottom:2rem;padding:1rem}.risk-presets label{color:#333;display:block;font-weight:600;margin-bottom:.75rem}.preset-buttons{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}.preset-btn{border:2px solid #0000;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;padding:1rem;transition:all .3s}.preset-btn:hover:not(:disabled){box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.preset-btn:disabled{cursor:not-allowed;opacity:.6}.preset-btn.conservative{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff}.preset-btn.balanced{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff}.preset-btn.aggressive{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff}.risk-params-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr);margin-bottom:1.5rem}.risk-section{background:#f8f9fa;border-radius:8px;padding:1.25rem}.risk-section h4{border-bottom:2px solid #667eea;color:#333;font-size:1.125rem;padding-bottom:.5rem}.risk-param,.risk-section h4{margin-bottom:1rem}.risk-param:last-child{margin-bottom:0}.risk-param label{color:#555;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.risk-param input{border:2px solid #ddd;border-radius:4px;font-size:1rem;padding:.5rem;transition:border-color .3s;width:100%}.risk-param input:focus{border-color:#667eea;outline:none}.risk-param input:disabled{background:#f0f0f0;cursor:not-allowed}.risk-actions{border-top:2px solid #e0e0e0;margin-top:1.5rem;padding-top:1.5rem;text-align:center}.save-risk-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.125rem;font-weight:600;padding:1rem 3rem;transition:all .3s}.save-risk-btn:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.save-risk-btn:disabled{cursor:not-allowed;opacity:.6}@media (max-width:1024px){.risk-params-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.preset-buttons,.risk-params-grid{grid-template-columns:1fr}}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:20px;position:relative}.login-background{bottom:0;left:0;overflow:hidden;position:absolute;right:0;top:0;z-index:0}.floating-shape{animation:float 20s ease-in-out infinite;background:#ffffff1a;border-radius:50%;position:absolute}.shape1{animation-delay:0s;height:300px;left:-100px;top:-100px;width:300px}.shape2{animation-delay:5s;bottom:-50px;height:200px;right:-50px;width:200px}.shape3{animation-delay:10s;height:150px;right:10%;top:50%;width:150px}@keyframes float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}}.login-card{animation:slideUp .6s ease-out;background:#fff;border-radius:24px;box-shadow:0 20px 60px #0000004d;max-width:480px;padding:48px 40px;position:relative;width:100%;z-index:1}.login-header{margin-bottom:32px;text-align:center}.logo{animation:bounce 2s infinite;font-size:3.5em;margin-bottom:16px}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.login-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:2em;font-weight:700;margin:0 0 8px}.login-subtitle{color:#666;font-size:.95em;line-height:1.5;margin:0 0 24px}.auth-toggle{background:#f5f5f5;border-radius:12px;display:flex;gap:8px;margin-bottom:32px;padding:4px}.toggle-btn{border-radius:10px;color:#666;flex:1 1;font-size:1em;padding:12px;transition:all .3s}.toggle-btn.active{box-shadow:0 2px 8px #0000001a}.login-form{display:flex;flex-direction:column;gap:20px}.message{align-items:center;animation:slideIn .3s ease-out;border-radius:12px;display:flex;font-size:.9em;gap:8px;justify-content:center;padding:14px 16px;text-align:center}.error-message{background:#fee;border:1px solid #fcc;color:#c33}.success-message{background:#efe;border:1px solid #cfc;color:#2a7221}.form-group{gap:8px}.form-group label{align-items:center;display:flex;font-size:.9em;gap:8px}.label-icon{font-size:1.1em}.form-group input{border:2px solid #e0e0e0;border-radius:12px;font-family:inherit;font-size:1em;padding:14px 16px;transition:all .3s}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group input::placeholder{color:#aaa}.input-hint{color:#999;font-size:.85em;margin-top:-4px}.input-hint.success{color:#4caf50}.input-hint.error{color:#f44336}.password-input-wrapper{position:relative}.password-input-wrapper input{padding-right:48px}.password-toggle{background:none;border:none;cursor:pointer;font-size:1.2em;opacity:.6;padding:4px 8px;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:opacity .2s}.password-toggle:hover{opacity:1}.password-strength{display:flex;flex-direction:column;gap:6px;margin-top:4px}.strength-bar-container{background:#e0e0e0;border-radius:2px;height:4px;overflow:hidden}.strength-bar{border-radius:2px;height:100%;transition:all .3s ease}.login-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:1.05em;font-weight:600;gap:8px;justify-content:center;margin-top:8px;padding:16px;transition:all .3s}.login-button:hover:not(:disabled){box-shadow:0 12px 24px #667eea66;transform:translateY(-2px)}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{cursor:not-allowed;opacity:.7}.spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-top-color:#fff;height:16px;width:16px}.login-footer{margin-top:24px}.divider{align-items:center;display:flex;margin:24px 0 16px;text-align:center}.divider:after,.divider:before{border-bottom:1px solid #e0e0e0;content:"";flex:1 1}.divider span{color:#999;font-size:.9em;padding:0 16px}.footer-text{color:#666;font-size:.95em;margin:0;text-align:center}.link-button{background:none;border:none;color:#667eea;cursor:pointer;font-size:1em;font-weight:600;padding:0;text-decoration:none;transition:color .2s}.link-button:hover{color:#764ba2;text-decoration:underline}.feature-list{border-top:1px solid #e0e0e0;display:flex;gap:16px;justify-content:space-around;margin-top:32px;padding-top:24px}.feature-item{align-items:center;color:#666;display:flex;flex-direction:column;font-size:.85em;gap:8px;text-align:center}.feature-icon{font-size:1.8em;opacity:.8}@media (max-width:600px){.login-card{padding:32px 24px}.login-title{font-size:1.75em}.feature-list{flex-direction:column;gap:12px}.feature-item{flex-direction:row;justify-content:center}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.ai-models-container{padding:1rem}.ai-models-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.header-buttons{display:flex;gap:1rem}.ai-models-header h2{color:#fff;font-size:1.8rem;margin:0}.add-button{background:linear-gradient(135deg,#4caf50,#2e7d32);border:none;border-radius:8px;box-shadow:0 2px 8px #4caf504d;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.add-button:hover{box-shadow:0 4px 12px #4caf5066;transform:translateY(-2px)}.train-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 2px 8px #667eea4d;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.train-button:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.loading-state{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:3rem;text-align:center}.spinner{border:4px solid #f3f3f3;height:50px;margin:0 auto 1rem;width:50px}.error-message{background:#ffebee;border-left:4px solid #f44336;color:#c62828}.error-message,.test-result{border-radius:8px;margin-bottom:1rem;padding:1rem}.test-result{animation:slideIn .3s ease}.test-result.success{background:#e8f5e9;border-left:4px solid #4caf50;color:#2e7d32}.test-result.error{background:#ffebee;border-left:4px solid #f44336;color:#c62828}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.models-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.model-card{background:#fff;border:2px solid #0000;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1.5rem;transition:all .3s ease}.model-card.enabled{border-color:#4caf50}.model-card.disabled{border-color:#ccc;opacity:.7}.model-card:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-4px)}.model-header{justify-content:space-between;margin-bottom:1rem}.model-header,.model-title{align-items:center;display:flex}.model-title{gap:.5rem}.provider-icon{font-size:1.5rem}.model-title h3{color:#333;font-size:1.2rem;margin:0}.toggle-switch{display:inline-block;height:26px;position:relative;width:50px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background-color:#ccc;border-radius:26px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.4s}.toggle-slider:before{background-color:#fff;border-radius:50%;bottom:3px;content:"";height:20px;left:3px;position:absolute;transition:.4s;width:20px}.toggle-switch input:checked+.toggle-slider{background-color:#4caf50}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(24px)}.model-info{margin-bottom:1rem}.info-row{border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:.5rem 0}.info-row .label{color:#666;font-weight:600}.info-row .value{color:#333}.model-performance{background:#f8f9fa;border-radius:8px;margin-bottom:1rem;padding:1rem}.model-performance h4{color:#667eea;font-size:.95rem;margin:0 0 .75rem}.metrics-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(3,1fr)}.metric{align-items:center;display:flex;flex-direction:column;text-align:center}.metric-label{font-size:.8rem;margin-bottom:.25rem}.metric-value{color:#667eea;font-size:1.1rem}.model-actions{display:flex;gap:.5rem;margin-top:1rem}.model-actions button{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:600;padding:.6rem;transition:all .3s ease}.test-button{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff}.test-button:hover:not(:disabled){box-shadow:0 2px 8px #2196f366;transform:translateY(-2px)}.test-button:disabled{cursor:not-allowed;opacity:.6}.modal-overlay{animation:fadeIn .3s ease}.modal-content{animation:slideUp .3s ease;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid #e0e0e0;padding:1.5rem}.modal-header h3{color:#333;font-size:1.3rem}.close-button{align-items:center;background:none;border-radius:50%;color:#666;display:flex;font-size:1.5rem;height:30px;justify-content:center;padding:0;transition:all .3s ease;width:30px}.close-button:hover{background:#f0f0f0;color:#333}.model-form{padding:1.5rem}.form-group input,.form-group select{border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;padding:.75rem}.form-group input:focus,.form-group select:focus{box-shadow:0 0 0 3px #667eea1a}.form-hint{color:#666;display:block;font-size:.85rem;margin-top:.25rem}.training-info{background:#f8f9fa;border-left:4px solid #667eea;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.training-info h4{color:#667eea;font-size:1rem;margin:0 0 .75rem}.training-info ul{margin:0;padding-left:1.2rem}.training-info li{color:#555;font-size:.9rem;line-height:1.4;margin-bottom:.5rem}.training-info li:last-child{margin-bottom:0}@media (max-width:768px){.form-row,.metrics-grid,.models-grid{grid-template-columns:1fr}.modal-content{max-height:95vh;width:95%}}.strategy-builder-container{padding:1rem}.strategy-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.strategy-header h2{color:#fff;font-size:1.8rem;margin:0}.create-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 2px 8px #667eea4d;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.create-button:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.strategies-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.strategy-card{background:#fff;border:2px solid #0000;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1.5rem;transition:all .3s ease}.strategy-card.enabled{border-color:#4caf50}.strategy-card.disabled{border-color:#ccc;opacity:.7}.strategy-card:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-4px)}.strategy-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.strategy-title{flex:1 1}.strategy-title h3{color:#333;font-size:1.2rem;margin:0 0 .5rem}.status-badge{display:inline-block;font-size:.85rem;font-weight:600;padding:.25rem .75rem}.status-badge.active{background:#e8f5e9;color:#2e7d32}.status-badge.inactive{background:#f5f5f5;color:#666}.strategy-description{color:#666;font-size:.95rem;line-height:1.5;margin-bottom:1rem}.strategy-info{background:#f8f9fa;border-radius:8px;margin-bottom:1rem;padding:.75rem}.info-item{display:flex;justify-content:space-between;padding:.4rem 0}.info-item .label{color:#666;font-size:.9rem;font-weight:600}.info-item .value{color:#333;font-size:.9rem}.strategy-stats{grid-gap:.75rem;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:8px;display:grid;gap:.75rem;grid-template-columns:repeat(3,1fr);margin-bottom:1rem;padding:.75rem}.stat{align-items:center;display:flex;flex-direction:column;text-align:center}.stat-label{color:#666;margin-bottom:.25rem}.stat-value{color:#667eea;font-size:1.1rem;font-weight:700}.stat-value.profit{color:#4caf50}.stat-value.loss{color:#f44336}.strategy-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.strategy-actions button{align-items:center;border:none;cursor:pointer;display:flex;flex:1 1 110px;justify-content:center;line-height:1.1;min-height:56px;min-width:0;text-align:center;transition:all .3s ease}.strategy-actions .symbols-button,.strategy-actions button{border-radius:6px;font-size:.9rem;font-weight:600;padding:.6rem}.view-button{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff}.view-button:hover{box-shadow:0 2px 8px #2196f366;transform:translateY(-2px)}.edit-button{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff}.edit-button:hover{box-shadow:0 2px 8px #ff980066;transform:translateY(-2px)}.export-button{background:linear-gradient(135deg,#2ecc71,#27ae60)}.export-button:hover{box-shadow:0 2px 8px #2ecc7166;transform:translateY(-2px)}.delete-button{background:linear-gradient(135deg,#f44336,#c62828);color:#fff}.delete-button:hover{box-shadow:0 2px 8px #f4433666;transform:translateY(-2px)}.modal-content.large{max-width:800px}.import-section{background:#f8fffb;border:1px solid #dff5e6;border-radius:12px;padding:1rem}.import-file-row{grid-gap:.75rem;align-items:center;display:grid;gap:.75rem;grid-template-columns:160px 1fr;margin-bottom:.75rem}.import-file-label{color:#333;font-weight:600}.import-file-row input[type=file]{background:#fff;border:2px dashed #cfeedd;border-radius:8px;padding:.5rem;width:100%}@media (max-width:768px){.import-file-row{grid-template-columns:1fr}}.strategy-form{padding:1.5rem}.form-section{border-bottom:1px solid #e0e0e0;margin-bottom:2rem;padding-bottom:1.5rem}.form-section:last-of-type{border-bottom:none}.form-section h4{align-items:center;color:#667eea;display:flex;font-size:1.1rem;gap:.5rem;margin:0 0 1rem}.form-group{margin-bottom:1.25rem}.form-group label{color:#333;display:block;font-size:.95rem;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:1rem;padding:.75rem;transition:all .3s ease;width:100%}.form-group textarea{resize:vertical}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-row{grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.checkbox-group{display:flex;flex-direction:column;gap:.75rem}.strategy-presets{background:#f8f9ff;border:1px dashed #d0d4ff;border-radius:10px;margin-bottom:1.5rem;padding:1rem}.strategy-presets-header{align-items:baseline;color:#4b59c4;display:flex;font-weight:600;justify-content:space-between;margin-bottom:.75rem}.strategy-presets-header small{color:#7a7fa6;font-weight:500}.strategy-preset-buttons{display:flex;flex-wrap:wrap;gap:.75rem}.strategy-preset-button{border:none;border-radius:999px;box-shadow:0 2px 6px #00000026;color:#fff;cursor:pointer;flex:1 1;font-weight:600;min-width:140px;padding:.65rem 1rem;transition:transform .2s ease,box-shadow .2s ease}.strategy-preset-button:hover{transform:translateY(-2px)}.strategy-preset-button.aggressive{background:linear-gradient(135deg,#ff7043,#ff5722)}.strategy-preset-button.balanced{background:linear-gradient(135deg,#42a5f5,#1e88e5)}.strategy-preset-button.conservative{background:linear-gradient(135deg,#66bb6a,#43a047)}.preset-status{background:#eef2ff;border-radius:8px;color:#3949ab;font-weight:600;margin-top:.75rem;padding:.6rem .9rem}.checkbox-group label{align-items:center;cursor:pointer;display:flex;font-weight:400;gap:.5rem}.checkbox-group input[type=checkbox]{cursor:pointer;margin:0;width:auto}.smart-exit-options{background:#f8f9ff;border:1px solid #e0e0e0;border-radius:8px;margin-top:1rem;padding:1rem}.smart-exit-options h5{color:#4b59c4;font-size:.95rem;margin:0 0 .75rem}.smart-exit-grid{grid-gap:.5rem 1rem;display:grid;gap:.5rem 1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:.75rem}.smart-exit-grid label{align-items:center;display:flex;font-weight:500;gap:.5rem}.regime-filters-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:1rem}.regime-filter-card{background:#f9f9ff;border:1px solid #e0e0e0;border-radius:10px;box-shadow:0 1px 3px #0000000d;padding:.75rem;transition:border-color .2s ease,box-shadow .2s ease}.regime-filter-card:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea33}.regime-filter-header{align-items:center;color:#333;display:flex;font-weight:600;gap:.5rem}.regime-filter-card input[type=checkbox]{margin:0}.regime-filter-description{color:#555;font-size:.9rem;line-height:1.4;margin:.35rem 0 0}.form-actions{border-top:1px solid #e0e0e0;gap:1rem;margin-top:2rem;padding-top:1rem}.form-actions button{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:.75rem;transition:all .3s ease}.cancel-button{background:#f0f0f0;color:#666}.cancel-button:hover{background:#e0e0e0;color:#333}.submit-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.submit-button:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.strategy-details{padding:1.5rem}.detail-section{margin-bottom:2rem}.detail-section h4{color:#667eea;font-size:1.1rem;margin:0 0 1rem}.detail-grid{grid-gap:1rem;gap:1rem}.detail-item{background:#f8f9fa;border-radius:6px;display:flex;justify-content:space-between;padding:.75rem}.detail-label{color:#666}.detail-value{color:#333}.detail-value.profit{color:#4caf50;font-weight:700}.detail-value.loss{color:#f44336;font-weight:700}@media (max-width:768px){.detail-grid,.form-row,.strategies-grid,.strategy-stats{grid-template-columns:1fr}}.symbols-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.6rem 1.2rem;transition:all .3s ease}.symbols-button:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.symbols-management{padding:1.5rem}.add-symbol-section{margin-bottom:2rem}.add-symbol-section h4{color:#333;margin-bottom:1rem}.add-symbol-form{display:flex;gap:.5rem;margin-bottom:.5rem}.add-symbol-form input{border:2px solid #e0e0e0;border-radius:8px;flex:1 1;font-size:1rem;padding:.75rem;text-transform:uppercase}.add-symbol-form input:focus{border-color:#667eea;outline:none}.add-symbol-form button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:all .3s ease}.add-symbol-form button:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.symbols-list-section{margin-bottom:2rem}.symbols-list-section h4{color:#333;margin-bottom:1rem}.symbols-list{display:flex;flex-wrap:wrap;gap:.75rem}.symbol-chip{align-items:center;background:linear-gradient(135deg,#667eea1a,#764ba21a);border:1px solid #667eea4d;border-radius:20px;color:#667eea;display:flex;font-weight:500;gap:.5rem;padding:.5rem 1rem}.symbol-chip .remove-symbol{align-items:center;background:none;border:none;border-radius:50%;color:#dc3545;cursor:pointer;display:flex;font-size:1.2rem;height:20px;justify-content:center;padding:0;transition:all .2s ease;width:20px}.symbol-chip .remove-symbol:hover{background:#dc35451a}.modal-actions{border-top:1px solid #eee;display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem}.cancel-button{background:#6c757d;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:all .3s ease}.cancel-button:hover{background:#5a6268;transform:translateY(-2px)}.save-button{background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:all .3s ease}.save-button:hover{box-shadow:0 4px 12px #28a74566;transform:translateY(-2px)}.market-scan-config{background:#f8f9fa;border:2px dashed #667eea;border-radius:8px;margin-top:1rem;padding:1.5rem}.market-scan-config h5{color:#667eea;font-size:1.1rem;margin-bottom:1rem;margin-top:0}.field-hint{color:#6c757d;display:block;font-size:.85rem;font-style:italic;margin-top:.25rem}.form-group select[name=scan_mode]{font-weight:500}.form-group select[name=scan_mode] option{padding:.5rem}.market-scan-config .checkbox-group{border-top:1px solid #dee2e6;margin-top:1rem;padding-top:1rem}.market-scan-config .checkbox-group label{font-weight:500}@media (max-width:768px){.market-scan-config{padding:1rem}.market-scan-config .form-row{flex-direction:column}}.help-icon{background:#667eea;border-radius:50%;color:#fff;display:inline-block;font-size:.8rem;font-weight:700;height:20px;line-height:20px;text-align:center;width:20px}.slider-container{margin:1rem 0}.slider{border-radius:5px;height:8px}.slider::-webkit-slider-thumb{-webkit-transition:all .3s ease;transition:all .3s ease}.slider::-webkit-slider-thumb:hover{box-shadow:0 3px 6px #0000004d;transform:scale(1.2)}.slider::-moz-range-thumb{-moz-transition:all .3s ease;transition:all .3s ease}.slider::-moz-range-thumb:hover{box-shadow:0 3px 6px #0000004d;transform:scale(1.2)}.slider-labels{font-size:.85rem;margin-top:.5rem}.slider-label-left{color:#e53e3e;font-weight:500}.slider-label-right{color:#38a169;font-weight:500}.slider-value{font-size:1rem}.training-status{animation:fadeIn .3s ease;border-radius:6px;font-size:.9rem;font-weight:600;margin-top:.75rem;padding:.75rem}.training-status.success{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border:2px solid #4caf50;color:#2e7d32}.training-status.error{background:linear-gradient(135deg,#ffebee,#ffcdd2);border:2px solid #f44336;color:#c62828}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.secondary-button{background:linear-gradient(135deg,#4a90e2,#357abd);border:none;border-radius:6px;box-shadow:0 2px 6px #4a90e24d;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:.65rem 1.25rem;transition:all .3s ease}.secondary-button:hover:not(:disabled){box-shadow:0 4px 10px #4a90e266;transform:translateY(-2px)}.secondary-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.help-text{background:#f7fafc;border-left:3px solid #667eea;border-radius:4px;color:#4a5568;font-size:.9rem;line-height:1.5;margin-top:.75rem;padding:.75rem}.performance-container{padding:1.5rem}.performance-container.live{display:flex;flex-direction:column;gap:1.5rem}.performance-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.performance-header h2{color:#fff;font-size:1.9rem;margin:0}.header-subtitle{color:#ffffffbf;margin:.25rem 0 0}.live-controls{flex-wrap:wrap;gap:1rem;justify-content:flex-end}.live-controls,.toggle{align-items:center;display:flex}.toggle{color:#fff;font-weight:600;gap:.35rem}.toggle input[type=checkbox]{accent-color:#667eea;height:1.1rem;width:1.1rem}.refresh-button{border-radius:999px;padding:.55rem 1.4rem;transition:transform .2s ease,opacity .2s ease}.refresh-button:not(:disabled):hover{transform:translateY(-1px)}.last-updated{color:#fff9;font-size:.85rem}.error-message{background:#f443361f;border:1px solid #f4433666;border-radius:10px;color:#ff8a80;padding:.85rem 1rem}.action-feedback{align-items:center;border:1px solid #0000;border-radius:12px;display:flex;font-weight:600;gap:.75rem;justify-content:space-between;margin-top:.75rem;padding:.85rem 1rem}.action-feedback.success{background:#4caf501f;border-color:#4caf5059;color:#1b5e20}.action-feedback.error{background:#f443361f;border-color:#f4433659;color:#b71c1c}.dismiss-feedback{background:none;border:none;color:inherit;cursor:pointer;font-size:1.2rem;line-height:1;padding:.1rem .3rem}.dismiss-feedback:focus{outline:2px solid #0f172a33;outline-offset:2px}.strategy-overview{background:#fff;border-radius:16px;box-shadow:0 15px 45px #667eea14;display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem}.strategy-overview h3{color:#1f2937;font-size:1.4rem;margin:.35rem 0}.strategy-overview p{color:#4b5563;margin:0}.meta-label{color:#9ca3af;display:block;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.strategy-meta-grid{grid-gap:1.2rem;display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.strategy-meta-grid .full-width{grid-column:1/-1}.strategy-meta-grid strong{color:#111827;display:block;font-size:1rem;margin-top:.2rem}.live-metrics-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.metric-card{background:linear-gradient(145deg,#fff,#f3f6ff);border:1px solid #667eea14;border-radius:16px;box-shadow:0 15px 40px #667eea1f;display:flex;flex-direction:column;gap:.35rem;padding:1.25rem}.metric-card.positive{border-color:#4caf504d}.metric-card.negative{border-color:#f443364d}.metric-label{color:#6b7280;font-weight:600}.metric-value{color:#111827;font-size:1.6rem}.metric-value.small{font-size:1.1rem}.metric-subtext{color:#9ca3af;font-size:.85rem}.live-trade-panels{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.panel{background:#fff;border-radius:16px;box-shadow:0 15px 40px #0f172a14;display:flex;flex-direction:column;gap:1rem;padding:1.25rem}.panel-header{align-items:center;display:flex;justify-content:space-between}.panel-header h3{color:#111827;font-size:1.2rem;margin:0}.panel-header-button{align-items:flex-start;background:none;border:none;cursor:pointer;display:flex;flex-direction:column;gap:.15rem;padding:0;text-align:left}.panel-header-button:focus-visible{border-radius:6px;outline:2px solid #667eea59;outline-offset:3px}.panel-header-title{color:#111827;font-size:1.2rem;font-weight:700}.panel-header-hint{color:#64748b;font-size:.8rem}.near-miss-panel .panel-header{align-items:flex-start;gap:1rem}.near-miss-panel .panel-header p{color:#64748b;font-size:.9rem;margin:.2rem 0 0}.near-miss-badge{background:#667eea26;border-radius:999px;color:#4338ca;font-size:.8rem;font-weight:600;padding:.35rem .85rem}.near-miss-reason{color:#334155;font-size:.85rem;line-height:1.4}.near-miss-delta{color:#94a3b8;font-size:.75rem;margin-top:.25rem}.table-wrapper{max-height:380px;width:100%}.table-wrapper.full-height{height:100%;max-height:none}.trades-table{border-collapse:collapse;font-size:.9rem;width:100%}.trades-table td,.trades-table th{border-bottom:1px solid #eef2ff;padding:.75rem .6rem;text-align:left}.trades-table .notes-cell{color:#1f2937;font-family:IBM Plex Mono,SFMono-Regular,Menlo,Courier New,monospace;font-size:.85rem;min-width:220px;vertical-align:top;white-space:pre-wrap;word-break:break-word}.notes-preview-button{background:none;border:none;color:#4338ca;cursor:pointer;font:inherit;line-height:1.4;margin:0;padding:0;text-align:left}.notes-preview-button:focus,.notes-preview-button:hover{outline:none;text-decoration:underline}.trades-table th{background:#f8fafc;color:#6b7280;font-size:.8rem;letter-spacing:.04em;text-transform:uppercase}.trades-table tbody tr:hover{background:#667eea0d}.clickable-symbol{color:#667eea;cursor:pointer;font-weight:600;transition:all .2s ease;white-space:nowrap}.clickable-symbol:hover{background:#667eea1a;color:#4f46e5;text-decoration:underline}.actions-cell{min-width:140px}.close-trade-button{background:linear-gradient(135deg,#f87171,#ef4444);border:none;border-radius:999px;color:#fff;cursor:pointer;font-weight:600;padding:.35rem 1rem;transition:transform .2s ease,opacity .2s ease}.close-trade-button:disabled{cursor:not-allowed;opacity:.55}.close-trade-button:not(:disabled):hover{transform:translateY(-1px)}.pill{border-radius:999px;display:inline-flex;font-size:.75rem;font-weight:600;padding:.2rem .65rem;text-transform:uppercase}.pill.buy{background:#4caf501f;color:#2e7d32}.pill.sell{background:#f443361f;color:#c62828}.empty-state{background:#ffffff1f;border-radius:12px;color:#fffc;padding:1.25rem}.empty-state.small{background:#f1f5f9;color:#475569}.loading-state{align-items:center;display:flex;flex-direction:column;gap:.75rem;justify-content:center;padding:2rem}.spinner{border:4px solid #fff3;border-top-color:#667eea;height:48px;width:48px}.notes-modal-overlay{background:#0f172aa6;padding:1rem;z-index:1000}.executions-modal-overlay,.notes-modal-overlay{align-items:center;display:flex;inset:0;justify-content:center;position:fixed}.executions-modal-overlay{background:#0f172abf;padding:2rem 1rem;z-index:1100}.executions-modal{background:#fff;border-radius:20px;box-shadow:0 40px 90px #0f172a59;display:flex;flex-direction:column;gap:1rem;height:min(900px,92vh);padding:1.5rem;width:min(1600px,96vw)}.executions-modal-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.executions-modal-header h3{color:#0f172a;font-size:1.4rem;margin:0}.executions-modal-header p{color:#64748b;font-size:.95rem;margin:.2rem 0 0}.close-executions-modal{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:1.7rem;line-height:1;padding:.25rem;transition:color .2s ease}.close-executions-modal:focus-visible,.close-executions-modal:hover{color:#111827;outline:none}.modal-error{background:#f443361f;border:1px solid #f4433659;border-radius:12px;color:#b71c1c;font-weight:600;padding:.75rem 1rem}.executions-modal-body{display:flex;flex:1 1;flex-direction:column;min-height:0}.executions-modal-footer{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.executions-footer-meta{color:#475569;display:flex;flex-direction:column;font-size:.9rem}.executions-footer-meta strong{color:#0f172a;font-size:1rem}.pagination-controls{gap:.75rem}.pagination-controls button{background:#eef2ff;border:none;border-radius:999px;color:#312e81;cursor:pointer;font-weight:600;padding:.5rem 1.4rem;transition:background .2s ease,transform .2s ease}.pagination-controls button:disabled{cursor:not-allowed;opacity:.5}.pagination-controls button:not(:disabled):hover{background:#e0e7ff;transform:translateY(-1px)}.modal-loading-state{align-items:center;color:#475569;display:flex;flex:1 1;flex-direction:column;gap:.75rem;justify-content:center}.spinner.dark{border:4px solid #94a3b859;border-top-color:#6366f1}.notes-modal{background:#fff;border-radius:18px;box-shadow:0 30px 80px #0f172a4d;display:flex;flex-direction:column;gap:1rem;max-height:85vh;padding:1.5rem;width:min(640px,100%)}.notes-modal-header{align-items:center;display:flex;gap:1rem;justify-content:space-between}.notes-modal-header h4{color:#0f172a;font-size:1.1rem;margin:0}.close-notes-modal{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:1.5rem;line-height:1;padding:.25rem;transition:color .2s ease}.close-notes-modal:focus,.close-notes-modal:hover{color:#1f2937;outline:none}.notes-modal-body{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;flex:1 1;overflow:auto;padding:1rem}.notes-modal-body pre{color:#0f172a;font-family:IBM Plex Mono,SFMono-Regular,Menlo,Courier New,monospace;font-size:.9rem;line-height:1.5;margin:0;white-space:pre-wrap;word-break:break-word}.positive{color:#2e7d32}.negative{color:#c62828}.neutral{color:#4b5563}@media (max-width:768px){.performance-header{align-items:flex-start;flex-direction:column}.live-controls{justify-content:space-between;width:100%}.strategy-meta-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.live-metrics-grid,.live-trade-panels{grid-template-columns:1fr}.table-wrapper{max-height:none}}.backtesting-container{display:flex;flex-direction:column;gap:.5rem;min-height:calc(100vh - 60px);padding:.5rem}.backtesting-header{align-items:center;background:#ffffff0d;border-radius:8px;display:flex;flex-shrink:0;justify-content:space-between;padding:.5rem .75rem}.backtesting-header h2{color:#fff;font-size:1.3rem;margin:0}.view-toggle{background:#ffffff1a;border-radius:8px;display:flex;gap:.5rem;padding:.25rem}.toggle-btn{background:#0000;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:.4rem 1rem;transition:all .3s ease}.toggle-btn:hover{background:#ffffff26}.toggle-btn.active{background:#fff;box-shadow:0 2px 8px #0003;color:#667eea}.backtesting-layout{display:flex;flex:1 1;gap:.75rem;overflow:hidden}.backtest-form-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto;padding:.75rem;width:350px}.backtest-form-card h3{color:#333;flex-shrink:0;font-size:.95rem;font-weight:700;margin:0 0 .5rem}.backtest-form{gap:.5rem}.backtest-form,.form-group{display:flex;flex-direction:column}.form-group{gap:.2rem}.form-group label{color:#000;font-size:.75rem;font-weight:600}.form-group label .optional-note{color:#999;font-size:.7rem;font-style:italic;font-weight:400}.form-group input,.form-group select{border:1px solid #e0e0e0;border-radius:6px;font-size:.85rem;padding:.4rem;transition:all .3s ease;width:100%}.form-group input:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed}.form-group input:focus,.form-group select:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea1a;outline:none}.form-row{grid-gap:.4rem;display:grid;gap:.4rem;grid-template-columns:1fr 1fr}.run-backtest-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:.85rem;font-weight:600;gap:.5rem;justify-content:center;margin-top:.5rem;padding:.6rem .75rem;transition:all .3s ease}.run-backtest-button:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.run-backtest-button:disabled{cursor:not-allowed;opacity:.6}.spinner-small{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}.backtesting-main-content{display:flex;flex:1 1;gap:.75rem;overflow:hidden}.backtesting-main-content.no-results{justify-content:center}.form-column{display:flex;flex-direction:column;flex-shrink:0;width:350px}.backtest-results-wrapper{display:flex;flex:1 1;flex-direction:column;gap:.75rem;overflow-x:hidden;overflow-y:auto}.results-column,.results-split-view{flex-shrink:0}.trade-history-wrapper{flex:1 1;min-height:0;overflow:hidden}.results-section{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;flex-shrink:0;padding:.75rem}.results-header{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:.5rem}.results-header h3{color:#333;font-size:.95rem;font-weight:700;margin:0}.export-button{background:linear-gradient(135deg,#4caf50,#2e7d32);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.75rem;font-weight:600;padding:.3rem .75rem;transition:all .3s ease}.export-button:hover{box-shadow:0 2px 8px #4caf5066;transform:translateY(-1px)}.summary-grid{grid-gap:.4rem;display:grid;flex-shrink:0;gap:.4rem;grid-template-columns:repeat(4,1fr);margin-bottom:.75rem}.summary-card{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:6px;padding:.5rem;text-align:center}.summary-label{color:#666;font-size:.65rem;font-weight:600;margin-bottom:.2rem}.summary-value{color:#667eea;font-size:.95rem;font-weight:700}.summary-value.positive{color:#4caf50}.summary-value.negative{color:#f44336}.chart-section{flex-shrink:0;margin-bottom:1rem}.chart-section h4{color:#333;font-size:.95rem;font-weight:600;margin:0 0 .5rem}.equity-chart-fixed{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:.75rem}.chart-header{border-bottom:2px solid #e0e0e0;margin-bottom:.5rem;padding-bottom:.5rem}.chart-header h3{color:#2c3e50;font-size:.95rem;font-weight:700}.chart-controls{gap:.75rem}.chart-subtitle{color:#546e7a;font-size:.7rem;font-weight:500}.reset-zoom-btn{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:6px;box-shadow:0 2px 6px #667eea4d;font-size:.85rem;font-weight:600;padding:.4rem .8rem;transition:all .3s ease}.reset-zoom-btn:hover{box-shadow:0 4px 12px #667eea80;transform:translateY(-2px)}.chart-container{background:linear-gradient(135deg,#f8f9fa,#fff);border:2px solid #e9ecef;border-radius:10px;padding:1rem}.results-split-view{display:flex;flex-direction:column;gap:1.5rem}.trades-table-section{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.trades-table-section h4{color:#333;flex-shrink:0;font-size:.95rem;font-weight:600;margin:0 0 .5rem}.trades-table{flex:1 1;overflow-x:auto}.trades-table table{border-collapse:collapse;width:100%}.trades-table th,.trades-table thead{background:#f8f9fa}.trades-table th{border-bottom:2px solid #e0e0e0;color:#666;font-size:.75rem;font-weight:600;padding:.5rem;position:-webkit-sticky;position:sticky;text-align:left;top:0;z-index:1}.trades-table td{border-bottom:1px solid #f0f0f0;font-size:.8rem;padding:.5rem}.trades-table tbody tr:hover{background:#f8f9fa}.trade-action-badge{border-radius:10px;display:inline-block;font-size:.7rem;font-weight:600;padding:.15rem .5rem}.trade-action-badge.buy{background:#e8f5e9;color:#2e7d32}.trade-action-badge.sell{background:#ffebee;color:#c62828}.trades-table .positive{color:#4caf50;font-weight:600}.trades-table .negative{color:#f44336;font-weight:600}@media (max-width:1024px){.backtesting-layout{flex-direction:column}.backtest-form{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}@media (max-width:768px){.summary-grid{grid-template-columns:repeat(2,1fr)}.form-row{grid-template-columns:1fr}.results-header{align-items:stretch;flex-direction:column;gap:1rem}.backtest-form{grid-template-columns:1fr}}.backtest-progress{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;grid-column:1/-1;margin-top:.5rem;padding:.75rem}.progress-bar-container{background:#e0e0e0;border-radius:3px;height:6px;margin-bottom:.5rem}.progress-bar-fill{animation:progressPulse 1.5s ease-in-out infinite;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:4px}@keyframes progressPulse{0%,to{opacity:1}50%{opacity:.8}}.progress-text{color:#555;font-size:.75rem;font-weight:500;text-align:center}.progress-percentage{color:#667eea;font-weight:600}.trades-count{color:#28a745;font-weight:600}.ai-calls{color:#667eea;font-weight:600}.ai-cost{color:#ff9800;font-weight:600}.ai-section{border-top:1px solid #f0f0f0;display:flex;flex-direction:column;gap:.4rem;margin-top:.5rem;padding-top:.5rem}.ai-section h4{color:#667eea;font-size:.8rem;font-weight:700;margin:0 0 .3rem}.checkbox-label{align-items:center;color:#000;cursor:pointer;display:flex;font-size:.75rem;font-weight:500;gap:.4rem}.checkbox-label input[type=checkbox]{cursor:pointer;height:16px;width:16px}.help-text{color:#000;font-size:.65rem;line-height:1.2;margin:.1rem 0 0}.help-icon{color:#667eea;cursor:help;font-size:.9rem;margin-left:.5rem}.smart-exit-grid{display:flex;flex-direction:column;gap:.35rem;margin:.35rem 0 .5rem}.smart-exit-grid .checkbox-label{align-items:flex-start;gap:.3rem}.smart-exit-grid .checkbox-label span{align-items:center;display:flex;gap:.35rem}.smart-exit-config-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:1fr}@media (min-width:360px){.smart-exit-config-grid{grid-template-columns:1fr}}.smart-exit-config-grid .form-group{margin-bottom:0}.slider-container{display:flex;flex-direction:column;gap:.5rem}.slider{appearance:none;-webkit-appearance:none;background:linear-gradient(90deg,#f56565 0,gold 50%,#48bb78);border-radius:3px;cursor:pointer;height:6px;outline:none;width:100%}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#fff;border:2px solid #667eea;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:18px;width:18px}.slider::-moz-range-thumb{background:#fff;border:2px solid #667eea;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:18px;width:18px}.slider-labels{align-items:center;color:#666;display:flex;font-size:.8rem;justify-content:space-between}.slider-label-left,.slider-label-right{font-size:.75rem}.slider-value{color:#667eea;font-size:.95rem;font-weight:700}.cost-estimate{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:6px;color:#fff;font-size:.75rem;margin-top:.3rem;padding:.5rem .75rem}.cost-estimate strong{display:block;font-size:.8rem;margin-bottom:.15rem}.cost-breakdown{display:block;font-size:.7rem;margin-top:.15rem;opacity:.9}.backtest-progress.ai-mode{border-left:4px solid #667eea}.progress-bar-fill.ai-mode{background:linear-gradient(90deg,#667eea,#764ba2)}.ai-metrics-section{background:linear-gradient(135deg,#f5f7ff,#f0f4ff);border:2px solid #667eea;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.ai-metrics-section h4{color:#667eea;font-size:1.1rem;margin:0 0 1rem}.ai-metrics-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:1rem}.ai-metric-card{background:#fff;border:1px solid #e0e6ff;border-radius:8px;padding:1rem;text-align:center}.ai-metric-label{color:#666;font-size:.85rem;font-weight:500;margin-bottom:.5rem}.ai-metric-value{color:#667eea;font-size:1.5rem;font-weight:700}.ai-metric-value.cost{color:#ff9800}.enhanced-metrics-section{background:linear-gradient(135deg,#f0f8ff,#e6f3ff);border:2px solid #4a90e2;border-radius:12px;margin:1.5rem 0;padding:1.5rem}.enhanced-metrics-section h4{align-items:center;color:#4a90e2;display:flex;font-size:1.2rem;font-weight:700;gap:.5rem;margin:0 0 1rem}.enhanced-metrics-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1.5rem}.metric-group{background:#fff;border:1px solid #e6f3ff;border-radius:8px;box-shadow:0 2px 8px #4a90e21a;padding:1rem}.metric-group h5{color:#4a90e2;font-size:.95rem;font-weight:600;gap:.5rem;margin:0 0 .75rem}.metric-group h5,.metric-row{align-items:center;display:flex}.metric-row{border-bottom:1px solid #f0f8ff;justify-content:space-between;padding:.5rem 0}.metric-row:last-child{border-bottom:none}.metric-label{color:#666;font-size:.85rem;font-weight:500}.metric-value{color:#4a90e2;font-size:.9rem;font-weight:700}.strategy-breakdown{background:#fff;border:1px solid #e6f3ff;border-radius:8px;box-shadow:0 2px 8px #4a90e21a;padding:1rem}.strategy-breakdown h5{color:#4a90e2;font-size:.95rem;font-weight:600;margin:0 0 1rem}.breakdown-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.breakdown-item{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:6px;padding:.75rem;text-align:center}.strategy-name{color:#666;font-size:.8rem;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.strategy-stats{display:flex;flex-direction:column;gap:.25rem}.strategy-stats .stat{color:#333;font-size:.75rem;font-weight:500}.strategy-stats .stat.profit{color:#4caf50;font-weight:700}.strategy-stats .stat.loss{color:#f44336;font-weight:700}.history-section{background:#fffffffa;border-radius:12px;box-shadow:0 4px 20px #00000026;padding:1.5rem}.history-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.history-header h3{color:#2c3e50;font-size:1.5rem;font-weight:700;margin:0}.refresh-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 2px 8px #667eea4d;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:.45rem .9rem;transition:all .3s ease}.refresh-button:hover:not(:disabled){box-shadow:0 4px 15px #667eea80;transform:translateY(-2px)}.refresh-button:disabled{cursor:not-allowed;opacity:.6}.history-table-wrapper{border-radius:10px;box-shadow:0 2px 10px #00000014;overflow-x:auto}.history-table{background:#fff;border-collapse:initial;border-radius:10px;border-spacing:0;overflow:hidden;width:100%}.history-table thead{background:linear-gradient(135deg,#667eea,#764ba2);position:-webkit-sticky;position:sticky;top:0;z-index:10}.history-table th{border-bottom:3px solid #ffffff4d;color:#fff;font-size:.8rem;font-weight:700;letter-spacing:.5px;padding:.75rem .6rem;text-align:left;text-transform:uppercase}.history-table tbody tr{border-bottom:1px solid #f0f0f0;transition:all .2s ease}.history-table tbody tr:hover{background:linear-gradient(90deg,#667eea14,#764ba214);box-shadow:0 2px 8px #0000001a;transform:scale(1.01)}.history-table tbody tr:last-child{border-bottom:none}.history-table td{color:#2c3e50;font-size:.85rem;line-height:1.4;padding:.6rem;vertical-align:middle}.history-table td:first-child{color:#667eea;font-size:.95rem;font-weight:700}.status-badge{border-radius:16px;font-size:.75rem;font-weight:700;gap:.3rem;letter-spacing:.3px;line-height:1;padding:.3rem .7rem;text-transform:uppercase;transition:all .3s ease;vertical-align:middle}.status-badge.completed{background:linear-gradient(135deg,#4caf50,#66bb6a);box-shadow:0 2px 8px #4caf504d;color:#fff}.status-badge.running{animation:pulse-badge 2s ease-in-out infinite;background:linear-gradient(135deg,#ff9800,#ffb74d);box-shadow:0 2px 8px #ff98004d;color:#fff}.status-badge.error{background:linear-gradient(135deg,#f44336,#e57373);box-shadow:0 2px 8px #f443364d;color:#fff}.status-badge.pending{background:linear-gradient(135deg,#9e9e9e,#bdbdbd);box-shadow:0 2px 8px #9e9e9e4d;color:#fff}.status-badge.clickable:hover{cursor:pointer;transform:scale(1.05)}@keyframes pulse-badge{0%,to{box-shadow:0 2px 8px #ff98004d}50%{box-shadow:0 4px 15px #ff980099}}.history-table .positive{color:#4caf50;font-weight:700}.history-table .negative{color:#f44336;font-weight:700}.history-table .date-range{color:#546e7a;font-family:Courier New,monospace;font-size:.8rem;line-height:1.4}.history-table .timestamp{color:#78909c;font-size:.75rem;line-height:1.4}.view-results-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;box-shadow:0 2px 6px #667eea4d;color:#fff;cursor:pointer;display:inline-flex;font-size:.75rem;font-weight:600;gap:.3rem;line-height:1;padding:.3rem .6rem;transition:all .3s ease;vertical-align:middle}.view-results-btn:hover{box-shadow:0 4px 12px #667eea80;transform:translateY(-2px)}.reexecute-btn{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:6px;box-shadow:0 2px 6px #10b9814d;color:#fff;cursor:pointer;display:inline-flex;font-size:.75rem;font-weight:600;gap:.3rem;line-height:1;padding:.3rem .6rem;transition:all .3s ease;vertical-align:middle}.reexecute-btn:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 12px #10b98180;transform:translateY(-2px)}.actions-cell{gap:.4rem}.terminate-btn{align-items:center;background:linear-gradient(135deg,#f44336,#e57373);border:none;border-radius:6px;box-shadow:0 2px 6px #f443364d;color:#fff;cursor:pointer;display:inline-flex;font-size:.75rem;font-weight:600;gap:.3rem;line-height:1;padding:.3rem .6rem;transition:all .3s ease;vertical-align:middle}.terminate-btn:hover{box-shadow:0 4px 12px #f4433680;transform:translateY(-2px)}.terminate-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.cancelling-indicator{background:#9e9e9e1a;color:#757575}.cancelling-indicator,.error-indicator,.pending-indicator{align-items:center;border-radius:6px;display:inline-flex;font-size:.75rem;font-weight:600;gap:.3rem;line-height:1;padding:.3rem .6rem;vertical-align:middle}.error-indicator{background:#f443361a;color:#f44336}.pending-indicator{background:#9e9e9e1a;color:#757575}.loading-message,.no-data-message{background:#667eea0d;border:2px dashed #ccc;border-radius:10px;color:#546e7a;font-size:1.1rem;padding:3rem 2rem;text-align:center}.progress-info{background:linear-gradient(135deg,#ff980026,#ffb74d26);border:2px solid #ff980066;border-radius:8px;box-shadow:0 2px 8px #ff980033;margin-top:.75rem;padding:.75rem}.progress-text{color:#e65100;font-family:Courier New,monospace;font-size:.95rem;font-weight:700;letter-spacing:.5px;margin-bottom:.6rem;text-shadow:0 1px 2px #0000001a}.progress-bar-container{background:#00000026;border:2px solid #ff98004d;box-shadow:inset 0 2px 4px #0003;width:100%}.progress-bar-fill{animation:pulse-progress 2s ease-in-out infinite;background:linear-gradient(90deg,#ff9800,#ffb74d,#ffc107);box-shadow:0 0 20px #ff9800cc,0 0 40px #ff980066,inset 0 2px 0 #fff6,inset 0 -2px 0 #0003;position:relative;transition:width .5s ease}@keyframes pulse-progress{0%,to{box-shadow:0 0 20px #ff9800cc,0 0 40px #ff980066,inset 0 2px 0 #fff6,inset 0 -2px 0 #0003}50%{box-shadow:0 0 25px #ff9800,0 0 50px #ff980099,inset 0 2px 0 #ffffff80,inset 0 -2px 0 #0000004d}}.trade-history-wrapper{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;padding:1.5rem}.trade-history-section{display:flex;flex-direction:column;gap:1rem}.trade-history-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;padding-bottom:1rem}.trade-history-header h3{color:#2c3e50;font-size:1.3rem;font-weight:700;margin:0}.trade-history-title{display:flex;flex-direction:column;gap:.5rem}.trade-filter-controls{display:flex;flex-wrap:wrap;gap:.4rem}.trade-filter-btn{background:#fafafa;border:1px solid #cfd8dc;border-radius:999px;color:#455a64;cursor:pointer;font-size:.8rem;font-weight:600;padding:.25rem .75rem;transition:all .2s ease}.trade-filter-btn:hover{background:#eceff1}.trade-filter-btn.active{background:#667eea;border-color:#667eea;box-shadow:0 3px 8px #667eea4d;color:#fff}.pagination-info{color:#546e7a;font-size:.85rem;font-weight:500}.trades-list-container{display:flex;flex-direction:column;gap:.75rem;max-height:800px;overflow-y:auto;padding-right:.5rem}.trade-card{background:#fff;border:2px solid #e9ecef;border-radius:10px;box-shadow:0 2px 4px #0000000d;padding:.75rem 1rem;transition:all .2s ease}.trade-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateX(4px)}.trade-card.profitable{border-left:4px solid #4caf50}.trade-card.loss{border-left:4px solid #f44336}.trade-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;gap:.75rem;margin-bottom:.75rem;padding-bottom:.5rem}.trade-number{color:#667eea;font-size:.95rem;font-weight:700}.trade-side-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:.75rem;font-weight:700;letter-spacing:.5px;padding:.25rem .6rem;text-transform:uppercase}.trade-side-badge.buy{background:linear-gradient(135deg,#4caf50,#66bb6a);box-shadow:0 2px 4px #4caf504d;color:#fff}.trade-side-badge.sell{background:linear-gradient(135deg,#f44336,#e57373);box-shadow:0 2px 4px #f443364d;color:#fff}.trade-pnl{font-size:.95rem;font-weight:700;margin-left:auto}.trade-pnl.profit{color:#4caf50}.trade-pnl.loss{color:#f44336}.trade-details-grid{grid-gap:.5rem 1rem;display:grid;gap:.5rem 1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.trade-detail-group{display:flex;flex-direction:column;gap:.15rem}.detail-label{color:#78909c;font-size:.7rem;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.detail-value{color:#2c3e50;font-family:Courier New,monospace;font-size:.85rem;font-weight:500}.trade-reasons{border-top:1px solid #f0f0f0;margin-top:.75rem;padding-top:.75rem}.trade-reasons h5{color:#546e7a;font-size:.7rem;font-weight:600;margin:0 0 .3rem;text-transform:uppercase}.reason-item{align-items:center;color:#2c3e50;display:flex;font-family:Courier New,monospace;font-size:.75rem;font-weight:500;gap:.3rem;line-height:1.4;padding:.15rem 0}.reason-item:before{color:#667eea;content:"→";flex-shrink:0;font-weight:700}.no-trades-message{background:#667eea0d;border:2px dashed #ccc;border-radius:10px;padding:3rem 2rem;text-align:center}.no-trades-message p{color:#546e7a;font-size:1rem;margin:.5rem 0}.no-trades-message .suggestion{color:#78909c;font-size:.9rem;font-style:italic}.pagination-controls{align-items:center;border-top:1px solid #e0e0e0;display:flex;gap:.5rem;justify-content:center;margin-top:1rem;padding-top:1rem}.pagination-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:.4rem .8rem;transition:all .3s ease}.pagination-button:hover:not(:disabled){box-shadow:0 4px 12px #667eea80;transform:translateY(-2px)}.pagination-button:disabled{cursor:not-allowed;opacity:.4}.page-info{color:#546e7a;font-size:.9rem;font-weight:500;min-width:120px;text-align:center}.expand-btn{background:none;border:none;color:#667eea;cursor:pointer;font-size:.9rem;margin-right:.3rem;padding:.2rem .4rem;transition:transform .2s ease}.expand-btn:hover{transform:scale(1.2)}.backtest-details-row{background:#667eea0d!important;border-left:3px solid #667eea}.backtest-details-row:hover{background:#667eea14!important}.backtest-parameters{background:#f7f9ff;border:1px solid #d6dcff;border-radius:8px;margin:.5rem 0;max-width:100%;padding:2rem;width:100%}.backtest-parameters h4{color:#2c3e50;font-size:1.2rem;font-weight:600;margin:0 0 1.5rem;text-align:center}.parameters-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(4,1fr);width:100%}@media (max-width:1400px){.parameters-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.parameters-grid{grid-template-columns:1fr}}.param-section{background:#fff;border:1px solid #d6dcff;border-radius:8px;padding:1rem}.param-section h5{border-bottom:1px solid #667eea4d;color:#667eea;font-size:.95rem;font-weight:600;margin:0 0 .8rem;padding-bottom:.5rem}.param-item{align-items:center;border-bottom:1px solid #ffffff0d;display:flex;justify-content:space-between;padding:.4rem 0}.param-item:last-child{border-bottom:none}.param-label{color:#546e7a;font-size:.85rem;font-weight:500}.param-value{color:#1f2937;font-size:.85rem;font-weight:600;text-align:right}.history-table td:first-child{align-items:center;display:flex;gap:.2rem}.price-chart-modal{background:#000c;bottom:0;display:flex;flex-direction:column;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;left:0;position:fixed;right:0;top:0;z-index:1000}.chart-header{align-items:center;background:#2c3e50;box-shadow:0 2px 4px #0000001a;color:#fff;display:flex;justify-content:space-between;padding:15px 20px}.chart-header h3{font-size:1.4em;font-weight:600;margin:0}.chart-controls{align-items:center;display:flex;gap:10px}.candle-interval-selector{align-items:center;display:flex;gap:5px}.candle-interval-selector label{color:#fff;font-size:.85em;font-weight:500}.interval-select{background:#34495e;border:1px solid #4a5f73;border-radius:4px;color:#fff;cursor:pointer;font-size:.85em;padding:6px 8px;transition:all .2s}.interval-select:hover{background:#3d566e}.interval-select:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}.time-range-buttons{display:flex;flex-wrap:wrap;gap:5px}.time-range-btn{background:#34495e;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85em;padding:6px 12px;transition:all .2s}.time-range-btn:hover{background:#3d566e}.time-range-btn.active{background:#3498db;font-weight:700}.date-range-btn{background:#e74c3c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85em;padding:6px 12px;transition:all .2s}.date-range-btn:hover{background:#c0392b}.close-button{background:#95a5a6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1.2em;padding:8px 12px;transition:all .2s}.close-button:hover{background:#7f8c8d}.date-range-picker{background:#f8f9fa;border-bottom:1px solid #dee2e6;padding:15px 20px}.date-inputs{display:flex;gap:20px;margin-bottom:10px}.date-input-group{display:flex;flex-direction:column;gap:5px}.date-input-group label{color:#495057;font-size:.9em;font-weight:500}.date-input-group input{border:1px solid #ced4da;border-radius:4px;font-size:.9em;padding:8px 12px}.date-actions{display:flex;justify-content:flex-end}.clear-dates-btn{background:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85em;padding:6px 12px;transition:all .2s}.clear-dates-btn:hover{background:#5a6268}.chart-instructions{background:#e8f4f8;border-bottom:1px solid #bee5eb;color:#495057;font-size:.85em;padding:8px 20px;text-align:center}.chart-container{background:#fff;cursor:grab;flex:1 1;overflow:hidden;position:relative}.chart-container:active{cursor:grabbing}.chart-container canvas{display:block;height:100%;width:100%}.zoom-controls{align-items:center;background:#f8f9fa;border-top:1px solid #dee2e6;display:flex;gap:15px;justify-content:center;padding:10px 20px}.zoom-btn{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9em;padding:6px 10px;transition:all .2s}.zoom-btn:hover{background:#0056b3}.zoom-level{color:#495057;font-weight:700;min-width:50px;text-align:center}.reset-zoom-btn{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85em;padding:6px 12px;transition:all .2s}.reset-zoom-btn:hover{background:#218838}.chart-loading{align-items:center;background:#fff;color:#6c757d;display:flex;flex:1 1;flex-direction:column;justify-content:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#3498db;height:40px;margin-bottom:15px;width:40px}.chart-error{align-items:center;background:#fff;color:#dc3545;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:20px;text-align:center}.retry-button{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9em;margin-top:15px;padding:10px 20px;transition:all .2s}.retry-button:hover{background:#c82333}@media (max-width:768px){.chart-header{align-items:stretch;flex-direction:column;gap:10px}.chart-controls,.time-range-buttons{justify-content:center}.date-inputs{flex-direction:column;gap:10px}.zoom-controls{flex-wrap:wrap;gap:10px}}@media (max-width:480px){.time-range-buttons{align-items:stretch;flex-direction:column}.time-range-btn{text-align:center}.chart-instructions{font-size:.75em;padding:6px 10px}}.ml-training-manager{background:#12151f;border:1px solid #ffffff0d;border-radius:16px;color:#f5f6fb;padding:24px}.ml-training-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.ml-training-header h3{margin:0 0 8px}.ml-training-actions{display:flex;flex-wrap:wrap;gap:12px}.ml-training-actions button{border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 16px}.ml-training-actions .primary{background:linear-gradient(135deg,#7c4dff,#6a9cff)}.ml-training-actions .secondary{background:#ffffff14}.ml-banner{border-radius:10px;font-weight:600;margin-top:16px;padding:12px 16px}.ml-banner.success{background:#4caf501f;border:1px solid #4caf5066;color:#8ae093}.ml-banner.error{background:#f443361a;border:1px solid #f4433666;color:#ff8a80}.ml-banner.warning{background:#ffc1071f;border:1px solid #ffc10766;color:#ffe082}.ml-create-form{background:#11131ccc;border:1px solid #ffffff14;border-radius:12px;margin-top:20px;padding:20px}.ml-create-form h4{margin-top:0}.form-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:16px 0}.form-grid label{color:#b5bfd6;display:flex;flex-direction:column;font-size:.9rem;gap:6px}.form-grid input,.form-grid select,.ml-create-form textarea{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:8px;color:#f5f6fb;padding:10px}.quick-window-buttons{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.quick-window-buttons button{background:#ffffff14;border:none;border-radius:6px;color:#d5daf0;cursor:pointer;padding:6px 12px}.checkbox{align-items:center;color:#cdd5f5;display:flex;font-size:.9rem;gap:8px}.form-actions{display:flex;gap:12px}.form-actions .primary,.form-actions .secondary{border:none;border-radius:8px;cursor:pointer;font-weight:600;padding:10px 18px}.form-actions .primary{background:linear-gradient(135deg,#7c4dff,#6a9cff);color:#fff}.form-actions .secondary{background:#ffffff14;color:#fff}.ml-session-table-wrapper{margin-top:24px;overflow-x:auto}.ml-session-table{border-collapse:collapse;font-size:.9rem;width:100%}.ml-session-table td,.ml-session-table th{border-bottom:1px solid #ffffff0d;padding:12px;text-align:left}.ml-session-table tbody tr{cursor:pointer;transition:background .2s ease}.ml-session-table tbody tr:hover{background:#ffffff08}.strategy-name{color:#fdfdfd;font-weight:600}.muted{color:#7f8db5;font-size:.85rem}.status-pill{align-items:center;border-radius:20px;display:inline-flex;font-size:.8rem;font-weight:600;padding:4px 10px;text-transform:capitalize}.status-queued{background:#ffc10724;color:#ffca28}.ml-progress-cell{display:flex;flex-direction:column;gap:6px}.ml-progress-details{color:#cdd5f5;display:flex;flex-direction:column;font-size:.8rem;gap:2px}.status-running{background:#2196f32e;color:#81d4fa}.status-completed{background:#4caf502e;color:#9de89d}.status-failed{background:#f443362e;color:#ff8a80}.status-terminated{background:#9e9e9e2e;color:#e0e0e0}.ml-progress-track{background:#ffffff0d;border-radius:999px;height:8px;position:relative;width:140px}.ml-progress-bar{background:linear-gradient(90deg,#6a9cff,#7c4dff);border-radius:999px;bottom:0;left:0;position:absolute;top:0}.ml-progress-value{color:#c5d0f5;font-size:.8rem;margin-left:8px}.row-actions{display:flex;gap:8px}.row-actions button{border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.8rem;padding:6px 12px}.row-actions .danger{background:#f4433680}.row-actions .primary{background:linear-gradient(135deg,#7c4dff,#6a9cff);color:#fff}.row-actions .secondary{background:#ffffff1f}.row-actions button:disabled{cursor:not-allowed;opacity:.55}.ml-session-table tbody tr.selected{background:#ffffff08}.session-detail-row td{background:none;padding:0}.session-detail-row .ml-session-detail{margin-top:0}.ml-empty-state{background:#ffffff08;border-radius:12px;color:#95a1c4;padding:30px;text-align:center}.ml-pagination{align-items:center;display:flex;gap:16px;justify-content:center;margin-top:18px}.ml-pagination button{background:#ffffff14;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:6px 12px}.ml-session-detail{background:#0d1018cc;border:1px solid #ffffff14;border-radius:12px;margin-top:24px;padding:20px}.detail-header{align-items:center;display:flex;justify-content:space-between}.detail-grid{grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin:16px 0}.detail-section{margin-top:12px}.detail-section pre{background:#00000040;border-radius:8px;color:#dfe6ff;max-height:200px;overflow:auto;padding:12px}.ml-banner.compact{font-size:.85rem;margin-top:8px;padding:8px 12px}.ml-empty-state.compact{font-size:.9rem;padding:16px}.detail-header-actions{align-items:center;display:flex;gap:12px}.detail-pill{background:#7c4dff29;border-radius:999px;color:#bdaaff;font-size:.8rem;padding:4px 12px}.analysis-summary{background:#ffffff05;border:1px solid #ffffff0a;border-radius:10px;padding:16px}.analysis-summary p{color:#d7ddff;margin:0 0 12px}.analysis-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.analysis-grid span{color:#93a0c6;display:block;font-size:.75rem}.analysis-grid strong{color:#f5f6fb;font-size:1rem}.best-params-section{background:linear-gradient(135deg,#ffc83214,#ff96320a);border:1px solid #ffc83233;border-radius:10px;margin-top:16px;padding:16px}.best-params-section h5{color:#ffd866;margin:0 0 8px}.best-params-grid{grid-gap:8px 16px;display:grid;gap:8px 16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.best-param-item{align-items:center;background:#0003;border:1px solid #ffffff0d;border-radius:6px;display:flex;justify-content:space-between;padding:6px 10px}.best-param-item .param-name{color:#93a0c6;font-size:.8rem;text-transform:capitalize}.best-param-item .param-value{color:#ffd866;font-family:Monaco,Menlo,monospace;font-size:.9rem;font-weight:600}.iteration-section{margin-top:20px}.section-heading{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.iteration-list{display:flex;flex-direction:column;gap:12px}.iteration-card{background:#0003;border:1px solid #ffffff0d;border-radius:12px;padding:16px}.iteration-card.expanded{border-color:#7aa4ff80;box-shadow:0 0 12px #6a9cff40}.iteration-card-header{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.iteration-card-metrics{align-items:center;color:#dbe3ff;display:flex;flex-wrap:wrap;font-size:.85rem;gap:12px}.iteration-card-metrics .link{background:none;border:none;color:#7bb3ff;cursor:pointer;font-weight:600;padding:0}.iteration-card-metrics .link:hover{text-decoration:underline}.iteration-card-body{display:flex;flex-direction:column;gap:12px;margin-top:12px}.iteration-decision-context{background:#7c4dff14;border:1px solid #7c4dff40;border-radius:10px;color:#f1ecff;padding:12px}.decision-context-heading{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:6px}.decision-pill{align-items:center;background:#00000040;border-radius:999px;display:inline-flex;font-size:.75rem;font-weight:600;padding:4px 10px;text-transform:capitalize}.decision-meta{color:#d1c6ff;font-size:.8rem}.iteration-decision-context p{font-size:.9rem;margin:0}.iteration-change-summary{background:#ffffff05;border:1px dashed #ffffff14;border-radius:10px;padding:12px}.iteration-changes{display:flex;flex-direction:column;gap:8px}.iteration-change-row{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.iteration-change-name{color:#f7f9ff;font-weight:600}.iteration-change-values{color:#c6d2ff;font-size:.85rem}.iteration-change-delta{color:#ffe082;font-size:.85rem;font-weight:600}.iteration-change-delta.positive{color:#9de89d}.iteration-change-delta.negative{color:#ff8a80}.iteration-expanded{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.iteration-expanded pre{background:#00000059;border-radius:8px;max-height:180px;overflow:auto;padding:10px}.regime-training-container{color:#f2f4ff;margin:0 auto;max-width:1400px;padding:24px}.regime-training-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.regime-training-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#b07bff,#5fd0ff);-webkit-background-clip:text;background-clip:text;color:#fff;font-size:1.75rem;font-weight:600;margin:0}.regime-training-subtitle{color:#cfd6ff;font-size:.9rem;margin:8px 0 0}.regime-training-actions{display:flex;gap:12px}.regime-training-auth{background:#0a0e2099;border-radius:12px;color:#cfd6ff;font-size:1rem;padding:48px;text-align:center}.btn-primary{background:linear-gradient(135deg,#b07bff,#6e56cf);border:none;border-radius:8px;box-shadow:0 4px 12px #8d6eff59;color:#fff;cursor:pointer;font-size:.95rem;font-weight:500;padding:12px 24px;transition:all .2s ease}.btn-primary:hover:not(:disabled){box-shadow:0 6px 16px #8d6eff73;transform:translateY(-2px)}.btn-primary:disabled{cursor:not-allowed;opacity:.5}.btn-secondary{background:#11172ee6;border:1px solid #8a9bff73;border-radius:8px;color:#eef1ff;cursor:pointer;font-size:.95rem;font-weight:500;padding:12px 24px;transition:all .2s ease}.btn-secondary:hover:not(:disabled){background:#1b2446f2;border-color:#8a9bffa6}.btn-secondary:disabled{cursor:not-allowed;opacity:.5}.btn-small{border:none;border-radius:6px;cursor:pointer;font-size:.8rem;padding:6px 12px;transition:all .2s ease}.btn-activate{background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff}.btn-activate:hover{box-shadow:0 4px 12px #27ae6066}.btn-delete{background:#e74c3c33;border:1px solid #e74c3c4d;color:#e74c3c}.btn-delete:hover{background:#e74c3c4d}.btn-abort{background:#f39c1233;border:1px solid #f39c1259;color:#f39c12}.btn-abort:hover{background:#f39c124d}.active-model-banner{align-items:center;background:linear-gradient(135deg,#27ae6038,#2ecc7129);border:1px solid #2ecc7173;border-radius:12px;display:flex;gap:16px;margin-bottom:24px;padding:16px 20px}.active-model-icon{align-items:center;background:linear-gradient(135deg,#27ae60,#2ecc71);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.2rem;height:42px;justify-content:center;width:42px}.active-model-info{display:flex;flex-direction:column;gap:4px}.active-model-info strong{color:#2ecc71;font-size:1rem}.active-model-details{color:#cfe8d8;font-size:.85rem}.regime-banner{border-radius:8px;font-size:.9rem;margin-bottom:20px;padding:14px 20px}.regime-banner.error{background:#e74c3c33;border:1px solid #e74c3c80;color:#ff8c82}.regime-banner.success{background:#2ecc7133;border:1px solid #2ecc7173;color:#7dffb0}.training-config-form{background:#0a0e2099;border:1px solid #8a9bff33;border-radius:12px;margin-bottom:24px;padding:24px}.training-config-form h3{color:#fff;font-size:1.1rem;margin:0 0 20px}.config-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:24px}.config-field{display:flex;flex-direction:column;gap:8px}.config-field label{color:#d6dcff;font-size:.85rem;font-weight:500}.config-field input[type=number],.config-field select{background:#060a1acc;border:1px solid #8a9bff59;border-radius:8px;color:#eef1ff;font-size:.95rem;padding:10px 14px;transition:border-color .2s ease}.config-field input[type=number]:focus,.config-field select:focus{border-color:#5fd0ffbf;box-shadow:0 0 0 2px #5fd0ff33;outline:none}.config-field.checkbox{align-items:center;flex-direction:row}.config-field.checkbox label{align-items:center;color:#eef1ff;cursor:pointer;display:flex;gap:10px}.config-field.checkbox input[type=checkbox]{accent-color:#8f7bff;height:18px;width:18px}.config-actions{display:flex;flex-wrap:wrap;gap:12px}.training-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:24px}.stat-item{background:#0a0e2099;border:1px solid #8a9bff33;border-radius:12px;display:flex;flex-direction:column;gap:8px;padding:20px;text-align:center}.stat-value{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#b07bff,#5fd0ff);-webkit-background-clip:text;background-clip:text;color:#fff;font-size:1.5rem;font-weight:600}.stat-label{color:#cfd6ff;font-size:.8rem;letter-spacing:.5px;text-transform:uppercase}.training-history{background:#0a0e208c;border:1px solid #8a9bff33;border-radius:12px;padding:24px}.training-history h3{color:#fff;font-size:1.1rem;margin:0 0 20px}.empty-state,.loading-indicator{color:#cfd6ff;font-size:.95rem;padding:48px;text-align:center}.table-wrapper{overflow-x:auto}.training-table{border-collapse:collapse;font-size:.9rem;width:100%}.training-table td,.training-table th{border-bottom:1px solid #8a9bff2e;padding:14px 16px;text-align:left}.training-table td:nth-child(5),.training-table th:nth-child(5){max-width:220px;min-width:220px;width:220px}.training-table th{background:#060a1ad9;color:#d6dcff;font-size:.8rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.training-table th:first-child{border-radius:8px 0 0 0}.training-table th:last-child{border-radius:0 8px 0 0}.training-table tbody tr:hover{background:#5fd0ff0f}.training-table tbody tr.active-row{background:#2ecc7129}.training-table tbody tr.active-row:hover{background:#2ecc7138}.status-badge{align-items:center;border-radius:12px;color:#fff;display:inline-flex;font-size:.8rem;font-weight:500;gap:6px;padding:4px 10px;text-transform:capitalize}.status-progress{color:#cfd6ff;display:flex;flex-direction:column;font-size:.75rem;gap:2px;margin-top:6px}.status-progress-message{color:#aab4ff;display:block;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.active-badge{align-items:center;color:#2ecc71;display:inline-flex;font-size:.85rem;font-weight:500;gap:4px}.actions-cell{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.running-indicator{align-items:center;color:#5fd0ff;display:inline-flex;font-size:.85rem;gap:8px}.spinner{animation:spin 1s linear infinite;border:2px solid #5fd0ff40;border-radius:50%;border-top-color:#5fd0ff;height:14px;width:14px}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:768px){.regime-training-container{padding:16px}.regime-training-header{flex-direction:column;gap:16px}.regime-training-actions{justify-content:flex-end;width:100%}.config-grid{grid-template-columns:1fr}.training-stats{grid-template-columns:repeat(2,1fr)}.training-table{font-size:.8rem}.training-table td,.training-table th{padding:10px 12px}}.clickable-row{cursor:pointer;transition:background-color .15s ease}.clickable-row:hover{background-color:#5fd0ff1a!important}.modal-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.training-details-modal{background:linear-gradient(145deg,#1a1e2e,#0d1020);border:1px solid #5fd0ff33;border-radius:16px;box-shadow:0 20px 60px #00000080;display:flex;flex-direction:column;max-height:85vh;max-width:700px;width:100%}.modal-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:20px 24px}.modal-header h3{color:#fff;font-size:1.25rem;margin:0}.modal-close{background:none;border:none;color:#888;cursor:pointer;font-size:28px;line-height:1;padding:0;transition:color .2s}.modal-close:hover{color:#fff}.modal-body{flex:1 1;overflow-y:auto;padding:24px}.modal-footer{border-top:1px solid #ffffff1a;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.detail-section{margin-bottom:24px}.detail-section:last-child{margin-bottom:0}.detail-section h4{color:#5fd0ff;font-size:.9rem;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.detail-grid{grid-gap:8px 16px;display:grid;gap:8px 16px;grid-template-columns:repeat(2,1fr)}.detail-row{align-items:flex-start;display:flex;gap:8px;margin-bottom:8px}.detail-label{color:#888;font-size:.85rem;min-width:120px}.detail-value{color:#f2f4ff;font-size:.9rem}.progress-bar-container{background:#ffffff1a;border-radius:12px;height:24px;margin-bottom:12px;overflow:hidden;position:relative}.progress-bar-fill{background:linear-gradient(90deg,#5fd0ff,#b07bff);border-radius:12px;height:100%;transition:width .3s ease}.progress-bar-text{color:#fff;font-size:.8rem;font-weight:600;left:50%;position:absolute;text-shadow:0 1px 2px #00000080;top:50%;transform:translate(-50%,-50%)}.regime-distribution{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.regime-chip{background:#5fd0ff26;border:1px solid #5fd0ff4d;border-radius:16px;color:#5fd0ff;font-size:.8rem;padding:4px 12px}.stats-json{background:#0000004d;border-radius:8px;color:#aaa;font-size:.75rem;margin-top:8px;max-height:200px;overflow-x:auto;overflow-y:auto;padding:12px}.error-section h4{color:#f44336!important}.error-log{background:#f443361a;border:1px solid #f443364d;border-radius:8px;color:#ff8a80;font-size:.8rem;max-height:200px;overflow-y:auto;padding:12px;white-space:pre-wrap;word-break:break-word}.task-id{background:#0000004d;border-radius:4px;font-family:monospace;font-size:.8rem;padding:2px 8px;word-break:break-all}.portfolio-chart-card{background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000014;margin-bottom:1.5rem;padding:1.5rem}.portfolio-chart-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.portfolio-chart-header h3{color:#111827;margin-bottom:.35rem}.portfolio-chart-subtitle{color:#6b7280;font-size:.9rem}.portfolio-chart-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.portfolio-chart-status{color:#667eea;font-size:.85rem;font-weight:600}.chart-action-btn{background:#f9fafb;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:.9rem;font-weight:600;padding:.45rem .9rem;transition:all .2s ease}.chart-action-btn:hover:not(:disabled){background:#eef2ff;border-color:#c7d2fe;color:#4338ca}.chart-action-btn.primary{background:#667eea;border-color:#667eea;color:#fff}.chart-action-btn.primary:hover:not(:disabled){background:#5a67d8}.chart-action-btn:disabled{cursor:not-allowed;opacity:.6}.portfolio-chart-body{margin-top:1rem}.portfolio-chart-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:1rem}.portfolio-chart-stat{background:#f8fafc;border-radius:10px;display:flex;flex-direction:column;gap:.35rem;padding:1rem}.portfolio-chart-stat-label{color:#6b7280;font-size:.85rem;letter-spacing:.05em;text-transform:uppercase}.portfolio-chart-stat-value{color:#111827;font-size:1.35rem;font-weight:700}.portfolio-chart-stat-meta{color:#6b7280;font-size:.85rem}.portfolio-chart-stat.positive .portfolio-chart-stat-meta,.portfolio-chart-stat.positive .portfolio-chart-stat-value{color:#059669}.portfolio-chart-stat.negative .portfolio-chart-stat-meta,.portfolio-chart-stat.negative .portfolio-chart-stat-value{color:#dc2626}.portfolio-chart-empty{background:#f8f9ff;border:1px dashed #e0e7ff;border-radius:12px;color:#6b7280;padding:2rem;text-align:center}.portfolio-chart-empty.error{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.chart-zoom-controls{align-items:center;background:#f3f4f6;border-radius:8px;display:flex;gap:.25rem;padding:.25rem}.chart-action-btn.icon-btn{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;display:flex;font-size:1rem;font-weight:700;height:32px;justify-content:center;padding:0;width:32px}.chart-action-btn.icon-btn:hover:not(:disabled){background:#eef2ff;border-color:#c7d2fe;color:#4338ca}.chart-action-btn.icon-btn:disabled{background:#f9fafb;color:#9ca3af}.portfolio-chart-wrapper{border-radius:8px;cursor:grab;height:320px;overflow:hidden;position:relative;-webkit-user-select:none;user-select:none;width:100%}.portfolio-chart-wrapper:active{cursor:grabbing}.portfolio-chart-wrapper canvas{display:block;height:100%;width:100%}.portfolio-chart-loading-overlay{align-items:center;background:#fafbffe6;bottom:0;color:#667eea;display:flex;font-weight:600;justify-content:center;left:0;position:absolute;right:0;top:0}.portfolio-chart-instructions{color:#9ca3af;display:flex;font-size:.8rem;gap:1.5rem;justify-content:center;margin-top:.75rem}.portfolio-chart-instructions span{align-items:center;display:flex;gap:.35rem}@media (max-width:768px){.portfolio-chart-card{padding:1.1rem}.portfolio-chart-actions{justify-content:flex-start;width:100%}.chart-zoom-controls{order:-1}.portfolio-chart-wrapper{height:260px}}
/*# sourceMappingURL=main.d2723e32.css.map*/