.navigation{background:linear-gradient(135deg,#667eea,#764ba2);padding:0 2rem;box-shadow:0 2px 8px #0000004d;position:sticky;top:0;z-index:1000}.nav-brand h1{color:#fff;font-size:1.5rem;margin:0;padding:1rem 0}.nav-links{display:flex;list-style:none;gap:2rem;margin:0;padding:0}.nav-links li{position:relative}.nav-links a{display:block;color:#ffffffe6;text-decoration:none;padding:1rem 1.5rem;font-weight:600;font-size:1rem;transition:all .3s ease;border-radius:8px 8px 0 0}.nav-links a:hover{background:#ffffff1a;color:#fff}.nav-links a.active{background:#1a1a1a;color:#fff}@media (max-width: 768px){.navigation{padding:0 1rem}.nav-links{gap:.5rem}.nav-links a{padding:.75rem 1rem;font-size:.9rem}.nav-brand h1{font-size:1.2rem}}.backtest-form{display:flex;flex-direction:column;gap:0rem;max-width:100%;overflow-x:hidden}.backtest-form h2{margin:0 0 .3rem;font-size:1.3rem;color:#f5f5f5;font-weight:600}.form-group{display:flex;flex-direction:column;gap:0rem}.form-group label{font-weight:500;font-size:.85rem;color:#d1d4dc}.form-group input,.form-group select,.form-group textarea{padding:0rem;background-color:#2a2a2a;border:1px solid #444;border-radius:6px;color:#fff;font-size:.9rem;font-family:inherit;transition:all .2s}.form-group input:hover,.form-group select:hover,.form-group textarea:hover{border-color:#555;background-color:#333}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#667eea;background-color:#2a2a2a;box-shadow:0 0 0 2px #667eea1a}.form-group textarea{font-family:Courier New,monospace;resize:vertical}.radio-group{display:flex;gap:1rem;margin-top:.5rem}.radio-label{display:flex;align-items:center;gap:0;cursor:pointer;font-weight:400;font-size:.9rem;color:#f5f5f5}.radio-label input[type=radio]{cursor:pointer;width:auto;padding:0;margin:0 .75rem 0 0;flex-shrink:0}.btn-primary{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:.3rem}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea4d}.btn-primary:active{transform:translateY(0)}.backtest-results{background-color:#1a1a1a;border-radius:12px;padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem;max-width:100%;overflow-x:hidden}.backtest-results h2{margin:0;font-size:1.5rem;color:#667eea}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.metric-card{background-color:#0f0f0f;border:1px solid #333;border-radius:8px;padding:1rem;display:flex;flex-direction:column;gap:.5rem}.metric-label{font-size:.85rem;color:#999;text-transform:uppercase;letter-spacing:.5px}.metric-value{font-size:1.5rem;font-weight:700;color:#fff}.trades-table-container{display:flex;flex-direction:column;gap:1rem}.trades-table-container h3{margin:0;font-size:1.2rem}.trades-table-wrapper{overflow-x:auto;border:1px solid #333;border-radius:8px;max-width:100%;-webkit-overflow-scrolling:touch}.trades-table{width:100%;min-width:600px;border-collapse:collapse;font-size:.9rem}.trades-table thead{background-color:#0f0f0f;position:sticky;top:0}.trades-table th{padding:.75rem 1rem;text-align:left;font-weight:600;color:#ccc;border-bottom:2px solid #333}.trades-table td{padding:.75rem 1rem;border-bottom:1px solid #222}.trades-table tbody tr:hover{background-color:#0f0f0f}.direction-badge{padding:.25rem .75rem;border-radius:4px;font-size:.8rem;font-weight:600;text-transform:uppercase}.direction-badge.buy{background-color:#032;color:#0f8}.direction-badge.sell{background-color:#300;color:#f44}.trades-table .positive{color:#0f8}.trades-table .negative{color:#f44}.portfolio-backtest-results{background-color:#1a1a1a;border-radius:12px;padding:2rem;margin-bottom:2rem;max-width:100%;overflow-x:hidden}.portfolio-header{margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #667eea}.portfolio-header h2{margin:0 0 .5rem;color:#667eea;font-size:1.75rem}.portfolio-symbols{margin:0;color:#999;font-size:.95rem}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.metric-card{background-color:#252525;border:2px solid #333;border-radius:8px;padding:1.5rem;transition:all .2s ease}.metric-card:hover{border-color:#667eea;transform:translateY(-2px)}.metric-label{font-size:.9rem;color:#999;margin-bottom:.5rem;font-weight:600}.metric-value{font-size:1.75rem;font-weight:700;color:#d1d4dc;font-family:Monaco,Menlo,Courier New,monospace}.metric-value.positive{color:#0f8}.metric-value.negative{color:#f44}.symbol-results-container{margin-top:2rem}.symbol-results-container h3{margin:0 0 1.5rem;color:#667eea;font-size:1.4rem;font-weight:600}.symbol-results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.symbol-card{background-color:#252525;border:2px solid #333;border-radius:12px;padding:1.5rem;transition:all .3s ease;cursor:pointer;position:relative;overflow:hidden}.symbol-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2);transform:scaleX(0);transition:transform .3s ease}.symbol-card:hover{border-color:#667eea;transform:translateY(-4px);box-shadow:0 8px 24px #667eea4d}.symbol-card:hover:before{transform:scaleX(1)}.symbol-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #333}.symbol-header h4{margin:0;font-size:1.5rem;color:#667eea;font-weight:700}.symbol-pnl{font-size:1.25rem;font-weight:700;font-family:Monaco,Menlo,Courier New,monospace}.symbol-pnl.positive{color:#0f8}.symbol-pnl.negative{color:#f44}.symbol-stats{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem}.stat{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background-color:#1a1a1a;border-radius:6px}.stat-label{font-size:.85rem;color:#999;font-weight:600}.stat-value{font-size:.95rem;color:#d1d4dc;font-weight:700;font-family:Monaco,Menlo,Courier New,monospace}.stat-value.positive{color:#0f8}.stat-value.negative{color:#f44}.click-hint{text-align:center;color:#667eea;font-size:.85rem;font-weight:600;opacity:0;transition:opacity .3s ease;margin-top:.5rem}.symbol-card:hover .click-hint{opacity:1}.chart-container{background-color:#1a1a1a;border-radius:12px;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;max-width:100%}.chart-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.chart-header h2{margin:0;font-size:1.5rem;color:#667eea}.chart-info{display:flex;gap:1.5rem;font-size:.9rem;color:#999}.chart-legend{display:flex;gap:2rem;padding:.75rem;background-color:#0f0f0f;border-radius:6px;border:1px solid #333;font-size:.85rem;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:.5rem;color:#d1d4dc}.legend-color{width:16px;height:2px;border-radius:1px}.chart{border:1px solid #333;border-radius:8px;overflow:hidden;margin-bottom:1rem;width:100%;max-width:100%}.trades-legend{margin-top:2rem;padding:1.5rem;border:2px solid #667eea;border-radius:8px;background-color:#0f0f0f}.trades-legend h3{margin:0 0 1rem;font-size:1.2rem;color:#667eea;font-weight:600}.trades-legend-content{background-color:#1a1a1a;padding:1rem;border-radius:6px;margin-bottom:1.5rem;border-left:4px solid #667eea}.trades-legend-content p{margin:.5rem 0;color:#d1d4dc;font-size:.9rem}.trades-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.trade-item{background-color:#252525;border:2px solid #333;border-radius:8px;padding:1rem;display:flex;gap:1rem;transition:all .2s ease}.trade-item:hover{border-color:#667eea;background-color:#2a2a2a;transform:translateY(-2px)}.trade-item.buy{border-left:6px solid #00ff88}.trade-item.sell{border-left:6px solid #ff4444}.trade-marker{display:flex;align-items:center;justify-content:center;min-width:60px;font-weight:700}.marker-symbol{font-size:1.2rem;font-weight:700}.trade-item.buy .marker-symbol{color:#0f8}.trade-item.sell .marker-symbol{color:#f44}.trade-details{flex:1;display:flex;flex-direction:column;gap:.5rem}.trade-row{display:flex;justify-content:space-between;align-items:center;font-size:.95rem}.trade-row .label{color:#999;font-weight:600}.trade-row .value{color:#d1d4dc;font-weight:700;font-family:Monaco,Menlo,Courier New,monospace;text-align:right}.trade-row .value.profit{color:#0f8}.trade-row .value.loss{color:#f44}.live-trading-dashboard{padding:2rem;max-width:1400px;margin:0 auto;width:100%;overflow-x:hidden}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.dashboard-header h1{margin:0;color:#d1d4dc}.market-status{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;font-size:1rem}.market-status.open{background:#00ff881a;color:#0f8;border:2px solid #00ff88}.market-status.closed{background:#ff44441a;color:#f44;border:2px solid #ff4444}.status-dot{width:10px;height:10px;border-radius:50%;background:currentColor;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.paper-trading-banner{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1rem;border-radius:8px;margin-bottom:2rem;text-align:center;font-size:1.1rem}.account-summary{background:#2a2a2a;border-radius:12px;padding:2rem;margin-bottom:2rem}.account-summary h2{margin:0 0 1.5rem;color:#d1d4dc}.account-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.stat-card{background:#1a1a1a;padding:1.5rem;border-radius:8px;border:1px solid #333}.stat-label{color:#888;font-size:.9rem;margin-bottom:.5rem}.stat-value{color:#0f8;font-size:1.8rem;font-weight:700}.dashboard-grid{display:grid;grid-template-columns:400px 1fr;gap:2rem;margin-bottom:2rem}.order-form-section,.positions-section,.orders-section{background:#2a2a2a;border-radius:12px;padding:2rem}.bot-trades-section{background:#2a2a2a;border-radius:12px;padding:2rem;margin-bottom:2rem;border:2px solid #667eea}.bot-signals-table-wrapper{overflow-x:auto;margin-top:1rem}.side-badge.close{background:#fbbf2433;color:#fbbf24}.pulse-dot{width:8px;height:8px;background:#0f8;border-radius:50%;animation:pulse 2s infinite}.order-form-section h2,.positions-section h2,.orders-section h2,.bot-trades-section h2{margin:0 0 1.5rem;color:#d1d4dc}.order-form{display:flex;flex-direction:column;gap:1rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.order-form label{display:flex;flex-direction:column;gap:.5rem;color:#d1d4dc;font-weight:600}.order-form input,.order-form select{padding:.75rem;border-radius:6px;border:1px solid #444;background:#1a1a1a;color:#d1d4dc;font-size:1rem}.order-form input:focus,.order-form select:focus{outline:none;border-color:#667eea}.place-order-btn{padding:1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:transform .2s;margin-top:1rem}.place-order-btn:hover{transform:translateY(-2px)}.empty-message{color:#888;text-align:center;padding:2rem;font-style:italic}.positions-table-wrapper,.orders-table-wrapper,.bot-signals-table-wrapper{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}.positions-table,.orders-table{width:100%;min-width:600px;border-collapse:collapse}.positions-table th,.orders-table th{background:#1a1a1a;color:#d1d4dc;text-align:left;padding:1rem;font-weight:600;border-bottom:2px solid #444}.positions-table td,.orders-table td{padding:1rem;border-bottom:1px solid #333;color:#d1d4dc}.positions-table tr:hover,.orders-table tr:hover{background:#333}.positive{color:#0f8!important}.negative{color:#f44!important}.side-badge{padding:.25rem .75rem;border-radius:4px;font-size:.85rem;font-weight:600}.side-badge.buy{background:#0f83;color:#0f8}.side-badge.sell{background:#f443;color:#f44}.status-badge{padding:.25rem .75rem;border-radius:4px;font-size:.85rem;font-weight:600}.status-badge.new{background:#667eea33;color:#667eea}.status-badge.filled{background:#0f83;color:#0f8}.status-badge.cancelled,.status-badge.rejected{background:#f443;color:#f44}.cancel-btn{padding:.5rem 1rem;background:#f44;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600}.cancel-btn:hover{background:#f66}.error-banner{background:#2a2a2a;border:2px solid #ff4444;border-radius:12px;padding:2rem;text-align:center}.error-banner h3{color:#f44;margin-bottom:1rem}.error-banner p{color:#d1d4dc;margin-bottom:1rem}.error-hint{color:#888;font-size:.9rem}.error-hint code{background:#1a1a1a;padding:.25rem .5rem;border-radius:4px;color:#667eea}.error-banner button{padding:.75rem 2rem;background:#667eea;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;margin-top:1rem}@media (max-width: 1024px){.dashboard-grid{grid-template-columns:1fr}}.modal-content{background:#2a2a2a;border-radius:12px;border:1px solid #444;width:90%;max-width:500px;box-shadow:0 20px 60px #00000080;animation:slideUp .3s ease-out}.modal-header{padding:1.5rem;border-bottom:1px solid #444;display:flex;justify-content:space-between;align-items:center}.modal-header.confirm{background:linear-gradient(135deg,#667eea1a,#764ba21a);border-bottom-color:#667eea}.modal-header h3{margin:0;color:#d1d4dc;font-size:1.25rem}.modal-close{background:none;border:none;color:#888;font-size:2rem;line-height:1;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.modal-body{padding:2rem 1.5rem}.modal-footer{padding:1rem 1.5rem;border-top:1px solid #444;display:flex;justify-content:flex-end;gap:1rem}.modal-btn{padding:.75rem 2rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.modal-btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.modal-btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.modal-btn-confirm{background:linear-gradient(135deg,#0f8,#00cc6a);color:#000}.modal-btn-confirm:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0f86}.modal-btn-cancel{background:#444;color:#d1d4dc}.modal-btn-cancel:hover{background:#555}.delete-btn{padding:.5rem 1rem;background:#f44;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .2s}.delete-btn:hover{background:#f66;transform:translateY(-1px)}@media (max-width: 768px){.live-trading-dashboard{padding:1rem}.dashboard-header{flex-direction:column;gap:1rem;text-align:center}.account-stats,.form-row{grid-template-columns:1fr}.modal-content{width:95%;margin:1rem}.modal-footer{flex-direction:column}.modal-btn{width:100%}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#2a2a2a;border-radius:12px;border:1px solid #444;width:90%;max-width:500px;box-shadow:0 20px 60px #00000080;animation:slideUp .3s ease-out;overflow:hidden}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{padding:2rem 1.5rem 1.5rem;border-bottom:1px solid #444;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative}.modal-header.success{background:linear-gradient(135deg,#00ff881a,#00cc6a1a);border-bottom-color:#0f8}.modal-header.error{background:linear-gradient(135deg,#ff44441a,#cc00001a);border-bottom-color:#f44}.modal-header.confirm{background:linear-gradient(135deg,#fbbf241a,#f59e0b1a);border-bottom-color:#fbbf24}.modal-header.info{background:linear-gradient(135deg,#667eea1a,#764ba21a);border-bottom-color:#667eea}.modal-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;margin-bottom:1rem}.modal-header.success .modal-icon{background:linear-gradient(135deg,#0f8,#00cc6a);color:#000;box-shadow:0 4px 20px #0f86}.modal-header.error .modal-icon{background:linear-gradient(135deg,#f44,#c33);color:#fff;box-shadow:0 4px 20px #f446}.modal-header.confirm .modal-icon{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#000;box-shadow:0 4px 20px #fbbf2466}.modal-header.info .modal-icon{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 20px #667eea66}.modal-header h3{margin:0;color:#d1d4dc;font-size:1.5rem;font-weight:700}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:#888;font-size:2rem;line-height:1;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.modal-close:hover{background:#ffffff1a;color:#d1d4dc}.modal-body{padding:2rem 1.5rem;text-align:center}.modal-body p{margin:0;color:#d1d4dc;font-size:1rem;line-height:1.6}.modal-footer{padding:1rem 1.5rem;border-top:1px solid #444;display:flex;justify-content:center;gap:1rem}.modal-btn{padding:.75rem 2rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;min-width:100px}.modal-btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 15px #667eea4d}.modal-btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.modal-btn-confirm{background:linear-gradient(135deg,#0f8,#00cc6a);color:#000;box-shadow:0 4px 15px #00ff884d}.modal-btn-confirm:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0f86}.modal-btn-cancel{background:transparent;color:#d1d4dc;border:2px solid #444}.modal-btn-cancel:hover{background:#333;border-color:#555}@media (max-width: 768px){.modal-content{width:95%;margin:1rem}.modal-footer{flex-direction:column}.modal-btn{width:100%}.modal-icon{width:56px;height:56px;font-size:1.75rem}.modal-header h3{font-size:1.25rem}}.portfolio-management{padding:2rem;max-width:1400px;margin:0 auto;width:100%;overflow-x:hidden}.portfolio-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.portfolio-header h1{margin:0 0 .5rem;color:#d1d4dc;font-size:2rem}.portfolio-header p{margin:0;color:#888;font-size:1rem}.create-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s}.create-btn:hover{transform:translateY(-2px)}.error-banner{background:#ff44441a;border:2px solid #ff4444;border-radius:8px;padding:1rem;margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center}.error-banner p{color:#f44;margin:0}.error-banner button{padding:.5rem 1rem;background:#f44;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600}.portfolios-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem}.portfolio-card{background:#2a2a2a;border-radius:12px;padding:1.5rem;border:1px solid #333;transition:transform .2s,box-shadow .2s}.portfolio-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000004d}.portfolio-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.portfolio-card-header h3{margin:0;color:#d1d4dc;font-size:1.3rem}.portfolio-actions{display:flex;gap:.5rem}.edit-btn,.delete-btn{background:transparent;border:1px solid #667eea;color:#667eea;font-size:.85rem;font-weight:600;cursor:pointer;padding:.4rem .8rem;border-radius:4px;transition:all .2s}.edit-btn:hover{background:#667eea;color:#fff}.delete-btn{border-color:#f44;color:#f44}.delete-btn:hover{background:#f44;color:#fff}.portfolio-description{color:#888;margin:0 0 1rem;line-height:1.6}.portfolio-stats{display:flex;gap:1.5rem;margin-bottom:1rem;padding:.75rem;background:#1a1a1a;border-radius:6px}.stat{display:flex;gap:.5rem}.stat-label{color:#888;font-size:.9rem}.stat-value{color:#667eea;font-weight:600}.portfolio-symbols{display:flex;flex-wrap:wrap;gap:.5rem}.symbol-badge{padding:.25rem .75rem;background:#667eea33;color:#667eea;border-radius:4px;font-size:.85rem;font-weight:600;border:1px solid rgba(102,126,234,.3)}.empty-state{grid-column:1 / -1;text-align:center;padding:4rem 2rem;background:#2a2a2a;border-radius:12px;border:2px dashed #444}.modal-header h2{margin:0;color:#d1d4dc;font-size:1.5rem}.close-btn{background:transparent;border:none;color:#888;font-size:1.5rem;cursor:pointer;padding:.25rem .5rem;transition:color .2s}.form-group input,.form-group textarea{width:100%;padding:.75rem;background:#1a1a1a;border:1px solid #444;border-radius:6px;color:#d1d4dc;font-size:1rem;font-family:inherit}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#667eea}.form-group textarea{resize:vertical}.cancel-btn{padding:.75rem 1.5rem;background:transparent;color:#d1d4dc;border:1px solid #444;border-radius:6px;font-weight:600;cursor:pointer;transition:background .2s}.submit-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:transform .2s}@media (max-width: 768px){.portfolio-management{padding:1rem}.portfolio-header{flex-direction:column;gap:1rem}.portfolios-grid{grid-template-columns:1fr}.modal-content{max-height:95vh}}.strategy-bot-manager{margin-top:2rem;padding:2rem;background:#2a2a2a;border-radius:12px;max-width:100%;overflow-x:hidden}.bot-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.bot-header h2{margin:0 0 .5rem;color:#d1d4dc;font-size:1.5rem}.bot-header p{margin:0;color:#888}.create-bot-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:transform .2s}.create-bot-btn:hover{transform:translateY(-2px)}.bots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.bot-card{background:linear-gradient(145deg,#1a1a1a,#222);border:2px solid #333;border-radius:16px;padding:1.5rem;transition:all .3s ease;position:relative;overflow:hidden}.bot-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2);opacity:0;transition:opacity .3s}.bot-card:hover:before{opacity:1}.bot-card.active{border-color:#0f8;box-shadow:0 0 30px #00ff8826}.bot-card.active:before{background:linear-gradient(90deg,#0f8,#00cc6a);opacity:1}.bot-card:hover{transform:translateY(-5px);box-shadow:0 12px 40px #0006;border-color:#444}.bot-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #333}.bot-card-header h3{margin:0;color:#d1d4dc;font-size:1.2rem}.bot-status{display:flex;gap:.5rem}.status-badge{padding:.35rem .75rem;border-radius:4px;font-size:.85rem;font-weight:600}.status-badge.running{background:#0f83;color:#0f8;border:1px solid #00ff88}.status-badge.stopped{background:#8883;color:#888;border:1px solid #666}.bot-details{margin-bottom:1rem}.detail-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #2a2a2a}.detail-row .label{color:#888;font-size:.9rem}.detail-row .value{color:#d1d4dc;font-weight:600}.bot-performance{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.5rem 0;padding:0}.perf-stat{text-align:center;padding:1rem;background:linear-gradient(145deg,#252525,#2a2a2a);border-radius:12px;border:1px solid #333;transition:all .2s}.perf-stat:hover{transform:translateY(-2px);border-color:#444}.perf-label{color:#888;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem;font-weight:600}.perf-value{color:#d1d4dc;font-size:1.5rem;font-weight:700;font-family:Courier New,monospace}.perf-value.positive{color:#0f8;text-shadow:0 0 10px rgba(0,255,136,.3)}.perf-value.negative{color:#f44;text-shadow:0 0 10px rgba(255,68,68,.3)}.bot-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.5rem;margin-top:1.5rem}.start-btn,.stop-btn,.edit-btn,.delete-btn,.backtest-btn{padding:.75rem 1rem;border:none;border-radius:8px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s ease;text-align:center}.start-btn{background:linear-gradient(135deg,#0f8,#00cc6a);color:#1a1a1a;box-shadow:0 4px 15px #0f83}.start-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00ff884d}.stop-btn{background:linear-gradient(135deg,#f44,#c33);color:#fff;grid-column:1 / -1;box-shadow:0 4px 15px #f443}.stop-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff44444d}.edit-btn{background:transparent;color:#667eea;border:2px solid #667eea}.edit-btn:hover{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;transform:translateY(-2px)}.delete-btn{background:transparent;color:#f44;border:2px solid #ff4444}.delete-btn:hover{background:linear-gradient(135deg,#f44,#c33);color:#fff;transform:translateY(-2px)}.empty-state{grid-column:1 / -1;text-align:center;padding:4rem 2rem;background:#1a1a1a;border-radius:12px;border:2px dashed #444}.empty-state p{color:#888;margin:0 0 2rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.modal-content{background:#2a2a2a;border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;overflow-x:hidden;border:1px solid #444}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #444}.modal-header h2{margin:0;color:#d1d4dc}.close-btn{background:transparent;border:none;color:#888;font-size:1.5rem;cursor:pointer;padding:.25rem .5rem}.close-btn:hover{color:#d1d4dc}form{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;color:#d1d4dc;font-weight:600;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;background:#1a1a1a;border:1px solid #444;border-radius:6px;color:#d1d4dc;font-size:1rem;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#667eea}.form-group textarea{resize:vertical;font-family:Courier New,monospace}.form-group small{display:block;color:#888;font-size:.85rem;margin-top:.5rem}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid #444}.cancel-btn{padding:.75rem 1.5rem;background:transparent;color:#d1d4dc;border:1px solid #444;border-radius:6px;font-weight:600;cursor:pointer}.cancel-btn:hover{background:#333}.submit-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer}.submit-btn:hover{transform:translateY(-2px)}@media (max-width: 768px){.strategy-bot-manager{padding:1rem}.bot-header{flex-direction:column;gap:1rem}.bots-grid{grid-template-columns:1fr}}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100px)}}.confirm-modal{padding:2rem!important}.confirm-modal .modal-actions{border-top:none!important;margin-top:0!important}.bot-monitor{padding:2rem;max-width:1600px;margin:0 auto;width:100%;overflow-x:hidden}.monitor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.monitor-header h2{margin:0;color:#d1d4dc}.active-count{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.5rem;background:#00ff881a;border:1px solid #00ff88;border-radius:8px;color:#0f8;font-weight:600}.pulse-dot{width:12px;height:12px;background:#0f8;border-radius:50%;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.monitor-layout{display:grid;grid-template-columns:350px 1fr;gap:2rem;max-width:100%;overflow-x:hidden}.bots-sidebar{background:#2a2a2a;border-radius:12px;padding:1.5rem;max-height:calc(100vh - 200px);overflow-y:auto}.bots-sidebar h3{margin:0 0 1rem;color:#d1d4dc;font-size:1.2rem}.bot-item{padding:1rem;background:#1a1a1a;border:2px solid transparent;border-radius:8px;margin-bottom:1rem;cursor:pointer;transition:all .2s}.bot-item:hover{border-color:#667eea}.bot-item.selected{border-color:#0f8;background:#00ff880d}.bot-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.bot-name{color:#d1d4dc;font-weight:600;font-size:1.05rem}.status-indicator{width:10px;height:10px;border-radius:50%;background:#0f8;box-shadow:0 0 10px #0f8}.bot-item-info{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem}.bot-item-info .strategy,.bot-item-info .portfolio{color:#888;font-size:.85rem}.bot-item-stats{display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;border-top:1px solid #333}.bot-item-stats .pnl{font-weight:700;font-size:1.1rem}.bot-item-stats .trades{color:#888;font-size:.85rem}.bot-details-panel{display:flex;flex-direction:column;gap:1.5rem}.performance-card,.config-card,.signals-card{background:#2a2a2a;border-radius:12px;padding:1.5rem;border:1px solid #333}.performance-card h3,.config-card h3,.signals-card h3{margin:0 0 1.5rem;color:#d1d4dc;font-size:1.3rem}.perf-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:1.5rem}.perf-item{text-align:center;padding:1rem;background:#1a1a1a;border-radius:8px}.perf-label{color:#888;font-size:.9rem;margin-bottom:.5rem}.perf-value{color:#d1d4dc;font-size:1.8rem;font-weight:700}.perf-value.positive{color:#0f8}.perf-value.negative{color:#f44}.win-loss-bar{display:flex;height:40px;border-radius:8px;overflow:hidden}.bar-section{display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.9rem;transition:width .3s}.bar-section.wins{background:linear-gradient(135deg,#0f8,#00cc6a)}.bar-section.losses{background:linear-gradient(135deg,#f44,#c33)}.config-details{display:flex;flex-direction:column;gap:1rem}.config-row{display:flex;align-items:flex-start;padding:.75rem;background:#1a1a1a;border-radius:6px}.config-label{color:#888;font-weight:600;min-width:120px}.config-value{color:#d1d4dc;flex:1}.symbols-list{display:flex;flex-wrap:wrap;gap:.5rem}.symbol-tag{padding:.25rem .75rem;background:#667eea33;color:#667eea;border-radius:4px;font-size:.85rem;font-weight:600;border:1px solid rgba(102,126,234,.3)}.signals-list{display:flex;flex-direction:column;gap:1rem;max-height:500px;overflow-y:auto}.signal-item{padding:1rem;background:#1a1a1a;border-radius:8px;border:1px solid #333}.signal-header{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.signal-action{padding:.35rem .75rem;border-radius:4px;font-weight:700;font-size:.85rem;text-transform:uppercase}.signal-action.buy{background:#0f83;color:#0f8;border:1px solid #00ff88}.signal-action.sell{background:#f443;color:#f44;border:1px solid #ff4444}.signal-action.close{background:#8883;color:#888;border:1px solid #888}.signal-symbol{color:#667eea;font-weight:700;font-size:1.1rem}.signal-status{margin-left:auto;padding:.35rem .75rem;border-radius:4px;font-size:.75rem;font-weight:600}.signal-status.executed{background:#0f83;color:#0f8}.signal-status.pending{background:#f59e0b33;color:#f59e0b}.signal-details{display:flex;gap:1.5rem;margin-bottom:.5rem;color:#d1d4dc}.signal-price{font-weight:700}.signal-qty,.signal-time{color:#888;font-size:.9rem}.signal-reason{color:#888;font-size:.85rem;font-style:italic}.no-signals{text-align:center;padding:3rem;color:#888}.empty-state{text-align:center;padding:4rem 2rem;background:#2a2a2a;border-radius:12px;border:2px dashed #444}.empty-state h3{color:#d1d4dc;margin:0 0 .5rem}.empty-state p{color:#888;margin:0}.loading{text-align:center;padding:4rem;color:#888;font-size:1.2rem}@media (max-width: 1200px){.monitor-layout{grid-template-columns:1fr}.perf-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.bot-monitor{padding:1rem}.perf-grid{grid-template-columns:1fr}.signal-details{flex-direction:column;gap:.5rem}}.app{width:100%;min-height:100vh;background-color:#1a1a1a;display:flex;flex-direction:column;overflow-x:hidden}.app-header{background:linear-gradient(135deg,#667eea,#764ba2);padding:1.5rem 2rem;box-shadow:0 4px 6px #0000004d}.app-header h1{margin:0;font-size:2rem;font-weight:700}.app-header p{margin:.5rem 0 0;opacity:.9}.app-content{display:flex;flex:1;overflow:hidden;max-width:100%}.backtest-config-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #333}.backtest-config-header h2{margin:0 0 .25rem;color:#f5f5f5;font-size:1.3rem;font-weight:600}.backtest-config-header p{margin:.25rem 0 0;color:#999;font-size:.85rem;line-height:1.4}.sidebar{width:350px;min-width:350px;max-width:350px;background:#1a1a1a;padding:2rem 1.5rem;overflow-y:auto;overflow-x:hidden;border-right:1px solid #333}.main-content{flex:1;padding:1.5rem;overflow-y:auto;overflow-x:hidden;background:#1a1a1a;max-width:100%;min-width:0}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;gap:.75rem}.spinner{width:50px;height:50px;border:4px solid #333;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-spinner p{color:#d1d4dc;font-size:1.1rem}.error-message{background:linear-gradient(135deg,#ff44441a,#ff44440d);border:2px solid #ff4444;border-radius:12px;padding:1.5rem;margin:1rem 0}.error-message h3{color:#f44;margin:0 0 1rem}.error-message p{color:#d1d4dc;margin:0;line-height:1.6}.welcome-message{background:#2a2a2a;border-radius:12px;padding:2rem;text-align:center;margin:1rem 0}.welcome-message h2{color:#d1d4dc;margin:0 0 .75rem;font-size:1.75rem}.welcome-message p{color:#888;font-size:1rem;margin:0}.welcome-message h3{color:#667eea;margin:1rem 0 .75rem}.welcome-message ul{list-style:none;padding:0;text-align:left}.welcome-message li{padding:.5rem 0}@media (max-width: 1024px){.app-content{flex-direction:column}.sidebar{width:100%;border-right:none;border-bottom:1px solid #333}}*{margin:0;padding:0;box-sizing:border-box}html,body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#1a1a1a;color:#fff;overflow-x:hidden;width:100%;max-width:100%}#root{width:100%;min-height:100vh;overflow-x:hidden}
