:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.auth-page{display:flex;flex-direction:column;height:100vh;background-color:#f5f5f5}.auth-container{max-width:400px;margin:2rem auto;padding:2rem;background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a}.auth-container h2{margin-top:0;color:#333;font-size:1.8rem}.auth-info{color:#666;margin-bottom:1.5rem}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-form .input-group{display:flex;flex-direction:column;gap:.5rem}.auth-form label{font-weight:500;color:#333}.auth-form input{padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.auth-form input:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 2px #4a90e233}.login-button{margin-top:1rem;padding:.75rem;background-color:#4a90e2;color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s}.login-button:hover{background-color:#3a80d2}.login-button:disabled{background-color:#a0c0e8;cursor:not-allowed}.error-message{color:#e74c3c;font-size:.9rem;margin-top:.5rem}.connection-page{display:flex;flex-direction:column;height:100vh}.connection-container{max-width:500px;margin:2rem auto;padding:2rem;background-color:#fff;border-radius:var(--border-radius);box-shadow:var(--box-shadow)}.connection-container h2{margin-top:0;color:var(--primary-color)}.connection-info{margin-bottom:1.5rem;color:var(--secondary-color)}.connection-form{display:flex;flex-direction:column;gap:1.5rem}.input-group{display:flex;flex-direction:column;gap:.5rem}.input-group label{font-weight:500;font-size:.9rem}.input-group input{padding:.75rem;border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:1rem}.input-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #4a90e233}.connect-button{background-color:var(--primary-color);color:#fff;padding:.75rem;font-size:1rem;margin-top:.5rem}.connect-button:disabled{background-color:var(--secondary-color);cursor:not-allowed;opacity:.7}.disconnect-button{background-color:var(--danger-color);color:#fff}.connecting-message{display:flex;align-items:center;gap:.75rem;margin-top:1rem;color:var(--primary-color)}.connection-info{display:flex;align-items:center;gap:1rem;font-size:.9rem}.device-id{font-weight:500}.last-update{color:var(--secondary-color);font-size:.8rem}.device-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.device-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:#fff;transition:all .2s ease;cursor:pointer}.device-item:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #0000001a}.device-info{flex:1}.device-info h3{margin:0 0 .5rem;font-size:1.1rem;color:var(--primary-color)}.device-info p{margin:.25rem 0;font-size:.9rem;color:var(--secondary-color)}.device-status{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--success-color)}.status-indicator{display:inline-block;width:10px;height:10px;border-radius:50%}.status-indicator.online{background-color:var(--success-color);box-shadow:0 0 0 2px #28a74533}.loading-devices,.no-devices-message{text-align:center;padding:2rem 0;color:var(--secondary-color)}.spinner{display:inline-block;width:20px;height:20px;border:2px solid rgba(0,0,0,.1);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}:root{--primary-color: #4a90e2;--primary-dark: #3a7bc8;--primary-light: #6aa5e8;--secondary-color: #6c757d;--success-color: #28a745;--danger-color: #dc3545;--warning-color: #ffc107;--light-color: #f8f9fa;--dark-color: #343a40;--text-color: #212529;--border-color: #dee2e6;--border-radius: 4px;--box-shadow: 0 2px 5px rgba(0, 0, 0, .1)}body{margin:0;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;color:var(--text-color);background-color:#f5f7fa}.app-container{width:100vw;margin:0 auto;min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background-color:#fff;box-shadow:var(--box-shadow);position:sticky;top:0;z-index:100}.header-center{flex:1;display:flex;justify-content:center}.main-nav{display:flex;gap:.5rem;background-color:var(--light-color);padding:.25rem;border-radius:var(--border-radius)}.nav-button{padding:.5rem 1rem;background-color:transparent;color:var(--text-color);border:none;border-radius:var(--border-radius);font-weight:500;transition:all .2s}.nav-button:hover{background-color:#4a90e21a;color:var(--primary-color)}.nav-button.active{background-color:var(--primary-color);color:#fff}.app-header h1{margin:0;font-size:1.5rem;color:var(--primary-color)}.app-main{flex:1;padding:2rem;max-width:1200px;margin:0 auto;width:100%;box-sizing:border-box}.status-badge{padding:.25rem .75rem;border-radius:1rem;font-size:.8rem;font-weight:500}.status-badge.connected{background-color:var(--success-color);color:#fff}.status-badge.disconnected{background-color:var(--secondary-color);color:#fff}button{cursor:pointer;padding:.5rem 1rem;border-radius:var(--border-radius);border:none;font-weight:500;transition:background-color .2s,transform .1s}button:hover{opacity:.9}button:active{transform:translateY(1px)}.primary-button{background-color:var(--primary-color);color:#fff}.secondary-button{background-color:var(--secondary-color);color:#fff}.danger-button{background-color:var(--danger-color);color:#fff}.success-button{background-color:var(--success-color);color:#fff}.error-message{color:var(--danger-color);margin:.5rem 0;font-size:.9rem}.spinner{width:20px;height:20px;border:2px solid rgba(0,0,0,.1);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.positive{color:var(--success-color)}.negative{color:var(--danger-color)}@media (max-width: 768px){.app-header,.app-main{padding:1rem}}.connection-info{display:flex;justify-content:end;align-items:start;flex-direction:column;gap:0px!important;margin-bottom:0}.device-id{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#666}.header-right{display:flex;align-items:center;gap:1rem}.connection-icon{width:10px;height:10px;border-radius:50%}.connection-icon.connected{background-color:var(--success-color)}.connection-icon.disconnected{background-color:var(--danger-color)}.last-update{font-size:.9rem;color:#666}.stocko-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:var(--border-radius);font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .2s ease,color .2s ease}.stocko-button svg{width:16px;height:16px}.stocko-button.connected{background-color:var(--success-color);color:#fff;border:1px solid var(--success-color)}.stocko-button.disconnected{background-color:var(--danger-color);color:#fff;border:1px solid var(--danger-color)}.disconnect-button{background-color:var(--warning-color);color:var(--dark-color);font-size:.9rem}.logout-button{background-color:var(--danger-color);color:#fff;font-size:.9rem}.header-menu{position:relative}.menu-button{background:none;border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:1.8rem;cursor:pointer;color:var(--text-color);padding:0 .5rem}.dropdown-menu{position:absolute;top:100%;right:0;background-color:#fff;border-radius:var(--border-radius);box-shadow:var(--box-shadow);padding:.5rem;display:flex;flex-direction:column;gap:.5rem;z-index:101}.dropdown-menu button{width:100%;text-align:left}.instruments-container{display:flex;flex-direction:column;gap:1.5rem}.instruments-header{display:flex;justify-content:space-between;align-items:center}.instruments-header h2{margin:0}.stop-all-container{display:flex;align-items:center}.stop-all-button{background-color:var(--danger-color);color:#fff;font-weight:500}.instruments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.no-instruments{text-align:center;padding:2rem;color:var(--secondary-color);background-color:#fff;border-radius:var(--border-radius);box-shadow:var(--box-shadow)}.instrument-card{background-color:#fff;border-radius:var(--border-radius);box-shadow:var(--box-shadow);padding:1.5rem;transition:transform .2s,box-shadow .2s;cursor:pointer}.instrument-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.instrument-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.instrument-name{margin:0;font-size:1.2rem;font-weight:600}.auto-trading-status{font-size:.8rem;padding:.25rem .5rem;border-radius:1rem;font-weight:500}.auto-trading-status.active{background-color:var(--success-color);color:#fff}.auto-trading-status.inactive{background-color:var(--secondary-color);color:#fff}.instrument-price{font-size:1.5rem;font-weight:700;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.price-change{font-size:1rem;font-weight:500}.instrument-values{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.value-item{display:flex;justify-content:space-between;font-size:.9rem}.value-name{color:var(--secondary-color)}.value-number{font-weight:500}.auto-trading-toggle{width:100%;padding:.75rem;border-radius:var(--border-radius);font-weight:500;margin-top:.5rem}.auto-trading-toggle.active{background-color:var(--danger-color);color:#fff}.auto-trading-toggle.inactive{background-color:var(--success-color);color:#fff}.exit-confirmation{background-color:#fff;border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1rem;margin-top:.5rem}.exit-confirmation p{margin-top:0;font-weight:500}.confirmation-buttons{display:flex;gap:.5rem}.confirmation-buttons button:nth-child(1){background-color:var(--success-color);color:#fff}.confirmation-buttons button:nth-child(2){background-color:var(--danger-color);color:#fff}.confirmation-buttons button:nth-child(3){background-color:var(--secondary-color);color:#fff}.algo-config-selector-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.algo-config-selector-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e0e0e0}.modal-header h3{margin:0;color:#333;font-size:1.2rem}.close-button{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.close-button:hover{color:#333}.modal-content{flex:1;padding:20px;overflow-y:auto}.loading-message,.error-message,.no-configs-message{text-align:center;padding:40px 20px;color:#666}.config-list{display:flex;flex-direction:column;gap:12px}.config-item{border:2px solid #e0e0e0;border-radius:8px;padding:16px;cursor:pointer;transition:all .2s ease}.config-item:hover{border-color:#2196f3;background-color:#f5f5f5}.config-item.selected{border-color:#2196f3;background-color:#e3f2fd}.config-item.default{border-color:#4caf50}.config-item.default.selected{border-color:#2196f3;background-color:#e3f2fd}.config-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.config-name{font-weight:600;color:#333;display:flex;align-items:center;gap:8px}.default-badge{background-color:#4caf50;color:#fff;font-size:.75rem;padding:2px 6px;border-radius:4px;font-weight:400}.config-selection input[type=radio]{width:18px;height:18px;cursor:pointer}.config-algos{background-color:#f8f9fa;border-radius:4px;padding:12px}.algos-label{font-weight:600;color:#333;margin-bottom:8px;font-size:.9rem}.algo-item{display:flex;justify-content:space-between;align-items:center;padding:4px 0;border-bottom:1px solid #e0e0e0}.algo-item:last-child{border-bottom:none}.algo-name{color:#555;font-size:.9rem}.algo-weight{font-weight:600;color:#2196f3;font-size:.9rem}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px;border-top:1px solid #e0e0e0}.cancel-button,.confirm-button{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-weight:600;transition:background-color .2s ease}.confirm-button{background-color:#2196f3;color:#fff}.confirm-button:hover:not(:disabled){background-color:#1976d2}.confirm-button:disabled{background-color:#ccc;cursor:not-allowed}.algo-config-manager{padding:20px;max-width:1200px;margin:0 auto}.create-button{background-color:#2196f3;color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;font-weight:600;transition:background-color .2s ease}.config-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.algo-config-form-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;width:90%;max-width:600px;max-height:90vh;display:flex;flex-direction:column}.algo-config-form{padding:20px;overflow-y:auto}.algos-section{border:1px solid #e0e0e0;border-radius:4px;padding:16px;background-color:#f8f9fa}.algo-input-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.algo-input-row:last-child{margin-bottom:0}.algo-input-row select{flex:1;margin:0}.weight-input{display:flex;align-items:center;gap:4px}.weight-input input{width:80px;margin:0}.weight-input span{font-weight:600;color:#666}.remove-algo-button{background-color:#f44336;color:#fff;border:none;padding:8px 12px;border-radius:4px;cursor:pointer;font-size:.9rem}.remove-algo-button:hover{background-color:#d32f2f}.add-algo-button{background-color:#2196f3;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:.9rem;margin-top:8px}.add-algo-button:hover{background-color:#1976d2}.weight-total{margin-top:12px;font-weight:600;text-align:center;padding:8px;border-radius:4px}.weight-total.success{background-color:#e8f5e8;color:#4caf50}.weight-total.error{background-color:#ffebee;color:#f44336}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #e0e0e0}.save-button{background-color:#2196f3;color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;font-weight:600}.confirmation-modal{background:#fff;border-radius:8px;padding:24px;max-width:400px;width:90%}@media (max-width: 768px){.algo-config-selector-modal,.algo-config-form-modal{width:95%;max-height:90vh}.modal-header,.modal-content,.modal-footer,.algo-config-form{padding:16px}.config-item{padding:12px}.modal-footer,.form-actions{flex-direction:column}.cancel-button,.confirm-button,.save-button{width:100%}.configs-grid{grid-template-columns:1fr}.manager-header{flex-direction:column;gap:16px;align-items:stretch}.algo-input-row{flex-direction:column;align-items:stretch}.weight-input{justify-content:center}}.instrument-details-page{display:flex;flex-direction:column;height:100%;width:100%}.details-header{display:flex;align-items:center;padding:1rem;background-color:#f5f5f5;border-bottom:1px solid #ddd;gap:1rem}.back-button{background-color:#007bff;color:#fff;border:none;border-radius:4px;padding:.5rem 1rem;cursor:pointer;font-weight:700;margin-right:1rem}.back-button:hover{background-color:#0069d9}.header-info{flex:1;display:flex;flex-direction:column}.header-info h1{margin:0;font-size:1.8rem}.connection-info{display:flex;gap:1rem;font-size:.9rem;color:#666}.details-content{flex:1;padding:1rem;overflow-y:auto;display:flex;flex-direction:column;width:95%;max-width:1600px;margin:0 auto;gap:1.5rem}.instrument-summary,.streamed-data-log{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1rem}.instrument-summary{width:100%}.summary-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.no-data-message{text-align:center;padding:2rem;color:#6c757d;font-style:italic;background-color:#f8f9fa;border-radius:8px;border:1px dashed #dee2e6}.price-display{display:flex;align-items:baseline;margin-bottom:1rem}.current-price{font-size:2.5rem;font-weight:700;margin-right:.5rem}.price-change{font-size:1.2rem;font-weight:700}.price-change.positive{color:#28a745}.price-change.negative{color:#dc3545}.indicator-tables{margin-top:1.5rem;width:100%}.horizontal-table{width:100%;border-collapse:collapse;margin-bottom:2rem;box-shadow:0 2px 8px #0000001a;border-radius:8px;overflow:hidden}.horizontal-table th{background-color:#f5f5f5;padding:.75rem 1rem;text-align:center;font-weight:500;color:#555;border-bottom:1px solid #ddd}.horizontal-table td{padding:.75rem 1rem;text-align:center;border-bottom:1px solid #eee;font-family:monospace;font-size:1rem}.horizontal-table tr:nth-child(2n){background-color:#f8f9fa}.horizontal-table tr:hover{background-color:#f8f8f8}.horizontal-table caption{font-size:1.1rem;font-weight:500;padding:.75rem;background-color:#f0f0f0;color:#555;text-align:center;border-bottom:1px solid #ddd}.indicator-table-container{background-color:#f8f9fa;border-radius:8px;padding:1rem;box-shadow:0 2px 4px #0000000d}.indicator-table-container h3{font-size:1.2rem;margin-bottom:.75rem;color:#333;border-bottom:1px solid #eee;padding-bottom:.5rem}.indicator-table{width:100%;border-collapse:collapse}.indicator-table th{text-align:left;padding:.5rem;font-weight:600;color:#555;background-color:#f0f0f0}.indicator-table td{padding:.5rem;border-bottom:1px solid #eee}.indicator-table .value-cell{font-family:monospace;text-align:right;font-weight:500}.value-item{display:flex;justify-content:space-between;padding:.5rem;background-color:#f8f9fa;border-radius:4px}.value-name{font-weight:700;color:#495057}.value-number{font-family:monospace}.log-container{background-color:#f8f9fa;border-radius:4px;padding:1rem;margin-top:1rem;max-height:500px;overflow-y:auto}.data-entries{display:flex;flex-direction:column;gap:.75rem}.data-entry{background-color:#fff;border-radius:4px;border-left:4px solid #007bff;box-shadow:0 1px 3px #0000001a;overflow:hidden}.entry-header{display:flex;justify-content:space-between;background-color:#f0f8ff;padding:.5rem;font-size:.85rem}.entry-time{font-weight:700;color:#555}.entry-type{background-color:#007bff;color:#fff;padding:.1rem .5rem;border-radius:3px;font-size:.75rem}.entry-content{padding:.75rem;display:flex;flex-direction:column;gap:.5rem}.entry-price,.entry-ohlc{font-family:monospace}.view-details-btn{align-self:flex-end;background-color:#6c757d;color:#fff;border:none;border-radius:3px;padding:.25rem .5rem;font-size:.75rem;cursor:pointer}.view-details-btn:hover{background-color:#5a6268}.no-data{color:#6c757d;font-style:italic;text-align:center;padding:2rem}.tab-selector{display:flex;margin-bottom:1.5rem;border-bottom:1px solid #dee2e6}.tab-button{padding:.75rem 1.5rem;background-color:transparent;border:none;border-bottom:3px solid transparent;font-weight:500;color:#495057;cursor:pointer;transition:all .2s ease}.tab-button:hover{color:#007bff}.tab-button.active{color:#007bff;border-bottom-color:#007bff}.tab-button:disabled{color:#adb5bd;cursor:not-allowed}.tab-content{width:100%}.auto-trade-info{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.status-value.mode-live{background-color:#28a745;color:#fff;padding:2px 8px;border-radius:4px;font-weight:700}.status-value.mode-paper{background-color:#007bff;color:#fff;padding:2px 8px;border-radius:4px;font-weight:700}.section-selector{display:flex;margin:1.5rem 0;border-bottom:1px solid #dee2e6}.section-button{padding:.75rem 1.5rem;background-color:transparent;border:none;border-bottom:3px solid transparent;font-weight:500;color:#495057;cursor:pointer;transition:all .2s ease}.section-button:hover{color:#007bff}.section-button.active{color:#007bff;border-bottom-color:#007bff}.section-button:disabled{color:#adb5bd;cursor:not-allowed}.auto-trade-summary{margin-bottom:2rem}.auto-trade-summary h3{margin-top:0;margin-bottom:1rem;font-size:1.3rem;color:#333}.session-status{display:flex;gap:2rem;margin-bottom:1rem}.status-item{display:flex;align-items:center;gap:.5rem}.status-label{font-weight:500;color:#555}.status-value{font-weight:600}.status-value.active{color:#28a745}.algo-list h3{margin-top:0;margin-bottom:1rem;font-size:1.2rem;color:#333}.algo-table{width:100%;border-collapse:collapse;margin-bottom:1rem;box-shadow:0 1px 3px #0000001a}.algo-table th{background-color:#f5f5f5;padding:.75rem 1rem;font-weight:500;color:#555;border-bottom:1px solid #ddd}.algo-table td{padding:.75rem 1rem;border-bottom:1px solid #eee}.algo-table tr:last-child td{border-bottom:none}.signal-value{font-weight:600}.positive{color:#28a745}.negative{color:#dc3545}.neutral{color:#6c757d}.orders-list{display:flex;flex-direction:column;gap:2rem}.orders-section{margin-bottom:1rem}.orders-section h3{margin-top:0;margin-bottom:1rem;font-size:1.2rem;color:#333}.orders-table{width:100%;border-collapse:collapse;margin-bottom:1rem;box-shadow:0 1px 3px #0000001a;border-radius:4px;overflow:hidden}.orders-table th{background-color:#f5f5f5;padding:.75rem 1rem;font-weight:500;color:#555;border-bottom:1px solid #ddd}.orders-table td{padding:.75rem 1rem;border-bottom:1px solid #eee;font-family:monospace;font-size:.9rem}.orders-table tr:last-child td{border-bottom:none}.orders-table tr:hover{background-color:#f8f9fa}.status-value.pending{color:#ffc107}.auto-trading-controls{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;margin-left:auto}.auto-trading-status{display:flex;align-items:center}.status-indicator{padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.status-indicator.active{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.status-indicator.inactive{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.auto-trading-toggle{padding:.75rem 1.5rem;border:none;border-radius:4px;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:150px}.auto-trading-toggle.start{background-color:#28a745;color:#fff}.auto-trading-toggle.start:hover{background-color:#218838}.auto-trading-toggle.stop{background-color:#dc3545;color:#fff}.auto-trading-toggle.stop:hover{background-color:#c82333}.confirmation-modal{background:#fff;border-radius:8px;padding:24px;max-width:500px;width:90%;box-shadow:0 4px 20px #00000026}.confirmation-modal h3{margin:0 0 16px;color:#333;font-size:1.2rem}.confirmation-modal p{margin:0 0 24px;color:#666;line-height:1.5}.confirmation-actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}.confirmation-actions button{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-weight:600;transition:background-color .2s ease}.secondary-button{background-color:#ffc107;color:#212529}.secondary-button:hover{background-color:#e0a800}.danger-button{background-color:#dc3545;color:#fff}.danger-button:hover{background-color:#c82333}@media (max-width: 768px){.details-content{padding:.5rem}.summary-card{padding:1rem}.details-header{flex-direction:column;align-items:stretch;gap:1rem}.auto-trading-controls{align-items:stretch;margin-left:0}.auto-trading-toggle{min-width:auto}.confirmation-actions{flex-direction:column}.confirmation-actions button{width:100%}}.indicator-config-manager{padding:20px;max-width:1200px;margin:0 auto}.manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.manager-header h2{margin:0;color:#333}.header-actions{display:flex;gap:12px}.create-button,.create-defaults-button{border:none;padding:10px 20px;border-radius:4px;cursor:pointer;font-weight:600;transition:background-color .2s ease}.create-button{background-color:#2196f3;color:#fff}.create-button:hover{background-color:#1976d2}.create-defaults-button{background-color:#4caf50;color:#fff}.create-defaults-button:hover{background-color:#45a049}.manager-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:16px;background-color:#f8f9fa;border-radius:8px}.filter-controls,.view-controls{display:flex;align-items:center;gap:12px}.filter-controls label,.view-controls label{font-weight:600;color:#333}.filter-controls select{padding:6px 12px;border:1px solid #ddd;border-radius:4px;background:#fff}.view-button{padding:6px 12px;border:1px solid #ddd;background:#fff;cursor:pointer;border-radius:4px;transition:all .2s ease}.view-button:hover{background-color:#f5f5f5}.view-button.active{background-color:#2196f3;color:#fff;border-color:#2196f3}.no-configs{text-align:center;padding:60px 20px;color:#666}.no-configs p{margin-bottom:20px;font-size:1.1rem}.no-configs-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.configs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.grouped-configs{display:flex;flex-direction:column;gap:32px}.type-group{border:1px solid #e0e0e0;border-radius:8px;padding:20px;background:#fff}.type-header{margin:0 0 16px;color:#333;font-size:1.2rem;padding-bottom:8px;border-bottom:2px solid #2196f3}.config-card{border:1px solid #e0e0e0;border-radius:8px;padding:20px;background:#fff;box-shadow:0 2px 4px #0000001a;transition:box-shadow .2s ease}.config-card:hover{box-shadow:0 4px 8px #00000026}.config-card.default{border-color:#4caf50;border-width:2px}.config-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.config-card-header h3{margin:0;color:#333;font-size:1.1rem}.config-badges{display:flex;gap:8px;flex-wrap:wrap}.type-badge{background-color:#e3f2fd;color:#1976d2;font-size:.75rem;padding:4px 8px;border-radius:4px;font-weight:600}.default-badge{background-color:#4caf50;color:#fff;font-size:.75rem;padding:4px 8px;border-radius:4px;font-weight:600}.config-description{color:#666;font-size:.9rem;margin-bottom:12px;line-height:1.4}.config-parameters{background-color:#f8f9fa;border-radius:4px;padding:12px;margin-bottom:16px}.config-parameters h4{margin:0 0 8px;color:#333;font-size:.9rem}.parameters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.parameter-item{display:flex;flex-direction:column;gap:2px}.parameter-name{font-weight:600;color:#555;font-size:.8rem}.parameter-value{color:#2196f3;font-weight:600;font-size:.9rem}.config-actions{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}.set-default-button,.edit-button,.delete-button{padding:6px 12px;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .2s ease}.set-default-button{background-color:#4caf50;color:#fff}.set-default-button:hover{background-color:#45a049}.edit-button{background-color:#ff9800;color:#fff}.edit-button:hover{background-color:#f57c00}.delete-button{background-color:#f44336;color:#fff}.delete-button:hover:not(:disabled){background-color:#d32f2f}.delete-button:disabled{background-color:#ccc;cursor:not-allowed}.indicator-config-form-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;width:90%;max-width:600px;max-height:90vh;display:flex;flex-direction:column}.indicator-config-form{padding:20px;overflow-y:auto}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:6px;font-weight:600;color:#333}.form-group input,.form-group textarea,.form-group select{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px;transition:border-color .2s ease}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#2196f3}.form-group input.error{border-color:#f44336}.error-text{color:#f44336;font-size:.9rem;margin-top:4px;display:block}.info-text{color:#666;font-size:.9rem;margin-top:4px;display:block}.parameters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;padding:16px;background-color:#f8f9fa;border-radius:4px}.parameter-input{display:flex;flex-direction:column;gap:4px}.parameter-input label{font-weight:600;color:#333;font-size:.9rem;margin-bottom:4px}.parameter-description{color:#666;font-size:.8rem;font-weight:400}.parameter-range{color:#666;font-size:.8rem;margin-top:2px}.no-parameters{text-align:center;color:#666;padding:20px;font-style:italic}.validation-errors{margin-top:8px;padding:8px;background-color:#ffebee;border-radius:4px}.validation-error{color:#f44336;font-size:.9rem;margin-bottom:4px}.validation-error:last-child{margin-bottom:0}.checkbox-label{display:flex!important;align-items:center;gap:8px;cursor:pointer}.checkbox-label input[type=checkbox]{width:auto!important;margin:0}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding:20px;border-top:1px solid #e0e0e0;margin-top:20px}.cancel-button,.save-button{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-weight:600;transition:background-color .2s ease}.cancel-button{background-color:#f5f5f5;color:#333}.cancel-button:hover{background-color:#e0e0e0}.save-button{background-color:#2196f3;color:#fff}.save-button:hover:not(:disabled){background-color:#1976d2}.save-button:disabled{background-color:#ccc;cursor:not-allowed}.indicator-config-selector{border:1px solid #e0e0e0;border-radius:8px;margin-bottom:16px;background:#fff}.indicator-config-selector-multiple{display:flex;flex-direction:column;gap:16px}.selector-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background-color:#f8f9fa;border-bottom:1px solid #e0e0e0}.selector-header label{font-weight:600;color:#333;margin:0}.expand-button{background-color:#2196f3;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .2s ease}.expand-button:hover:not(:disabled){background-color:#1976d2}.expand-button:disabled{background-color:#ccc;cursor:not-allowed}.selected-configs-summary{padding:12px 16px;background-color:#e3f2fd;border-bottom:1px solid #e0e0e0;display:flex;flex-wrap:wrap;gap:8px}.selected-config-tag{background-color:#2196f3;color:#fff;padding:4px 8px;border-radius:4px;font-size:.8rem;display:flex;align-items:center;gap:4px}.default-indicator{background-color:#ffffff4d;padding:2px 4px;border-radius:2px;font-size:.7rem}.selector-content{padding:16px}.no-configs-available{text-align:center;padding:20px;color:#666}.no-configs-available p{margin-bottom:12px}.configs-list{display:flex;flex-direction:column;gap:20px}.indicator-type-section{border:1px solid #e0e0e0;border-radius:6px;overflow:hidden}.indicator-type-section h4{margin:0;padding:12px 16px;background-color:#f8f9fa;color:#333;font-size:1rem;border-bottom:1px solid #e0e0e0}.no-configs-for-type{padding:16px;text-align:center;color:#666;font-style:italic}.config-option{padding:12px 16px;border-bottom:1px solid #f0f0f0;cursor:pointer;transition:background-color .2s ease}.config-option:last-child{border-bottom:none}.config-option:hover:not(.disabled){background-color:#f5f5f5}.config-option.selected{background-color:#e3f2fd}.config-option.disabled{opacity:.6;cursor:not-allowed}.config-option-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.config-name{font-weight:600;color:#333}.config-description{color:#666;font-size:.9rem;margin-bottom:8px;line-height:1.4}.config-parameters{display:flex;flex-wrap:wrap;gap:8px}.parameter-display{background-color:#f0f0f0;padding:2px 6px;border-radius:3px;font-size:.8rem;color:#555}.auto-select-hint{padding:12px 16px;background-color:#fff3e0;color:#f57c00;font-size:.9rem;text-align:center;border-top:1px solid #e0e0e0}.no-indicators-message{padding:16px;text-align:center;color:#666;font-style:italic}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.confirmation-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;width:90%;max-width:400px;padding:20px}.confirmation-modal h3{margin:0 0 16px;color:#333}.confirmation-modal p{margin:0 0 20px;color:#666;line-height:1.4}.confirmation-actions{display:flex;justify-content:flex-end;gap:12px}.loading-message,.error-message{text-align:center;padding:40px 20px;color:#666}.error-message{color:#d32f2f}.history-container{padding:20px}.sessions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}.session-card{background-color:#f9f9f9;border:1px solid #ddd;border-radius:8px;padding:15px;box-shadow:0 2px 4px #0000001a}.session-card h3{margin-top:0}.session-details-page{padding:20px;color:#333}.session-details-page h1,.session-details-page h2{color:#444}.card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px;margin-bottom:20px}.summary-stats-container{display:flex;gap:20px;margin-bottom:20px}.summary-stats-container>.card{flex:1;margin-bottom:0}.session-summary p,.session-stats p{margin:5px 0}.profit{color:#28a745}.loss{color:#dc3545}table{width:100%;border-collapse:collapse;margin-top:10px}th,td{text-align:left;padding:8px;border-bottom:1px solid #ddd}th{background-color:#f2f2f2}.loading,.error,.no-data{text-align:center;padding:20px;font-size:1.2em}
