/* Bot Configuration Component Styles */ .bot-config-container { max-width: 600px; margin: 0 auto; padding: 20px; background: #f8f9fa; border-radius: 8px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); } .bot-config-header { margin-bottom: 24px; padding-bottom: 16px; border-bottom: 1px solid #dee2e6; } .bot-config-title { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; } .bot-config-header h3 { margin: 0; color: #212529; font-size: 1.5rem; } .bot-config-header p { margin: 4px 0; color: #6c757d; font-size: 0.9rem; } .config-meta { font-style: italic; } .bot-config-form { margin-bottom: 24px; } .config-category { margin-bottom: 32px; } .category-title { margin: 0 0 16px 0; padding: 8px 12px; background: #e9ecef; border-radius: 4px; color: #495057; font-size: 1.1rem; font-weight: 600; } .category-parameters { padding-left: 16px; } .config-parameter { margin-bottom: 20px; padding: 16px; background: white; border-radius: 6px; border: 1px solid #dee2e6; } .config-label { display: block; margin-bottom: 8px; font-weight: 500; color: #495057; font-size: 0.95rem; } .config-label input[type="checkbox"] { margin-right: 8px; } .config-description { margin: 8px 0 0 0; font-size: 0.85rem; color: #6c757d; line-height: 1.4; } .config-input, .config-select { width: 100%; padding: 8px 12px; border: 1px solid #ced4da; border-radius: 4px; font-size: 0.9rem; transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } .config-input:focus, .config-select:focus { outline: none; border-color: #80bdff; box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } .range-container { display: flex; align-items: center; gap: 12px; } .config-range { flex: 1; height: 6px; background: #dee2e6; border-radius: 3px; outline: none; -webkit-appearance: none; } .config-range::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 20px; height: 20px; border-radius: 50%; background: #007bff; cursor: pointer; border: 2px solid white; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); } .config-range::-moz-range-thumb { width: 20px; height: 20px; border-radius: 50%; background: #007bff; cursor: pointer; border: 2px solid white; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); } .range-value { min-width: 40px; text-align: center; font-weight: 500; color: #495057; background: #f8f9fa; padding: 4px 8px; border-radius: 4px; border: 1px solid #dee2e6; } .bot-config-actions { text-align: center; padding-top: 16px; border-top: 1px solid #dee2e6; } .config-save-button { padding: 12px 24px; background: #007bff; color: white; border: none; border-radius: 6px; font-size: 1rem; font-weight: 500; cursor: pointer; transition: background-color 0.15s ease-in-out; } .config-save-button:hover:not(:disabled) { background: #0056b3; } .config-save-button:disabled { background: #6c757d; cursor: not-allowed; } .config-refresh-button { padding: 6px 12px; background: #28a745; color: white; border: none; border-radius: 4px; font-size: 0.875rem; font-weight: 500; cursor: pointer; transition: background-color 0.15s ease-in-out; display: flex; align-items: center; gap: 4px; } .config-refresh-button:hover:not(:disabled) { background: #1e7e34; } .config-refresh-button:disabled { background: #6c757d; cursor: not-allowed; } .bot-config-loading, .bot-config-error, .bot-config-unavailable { text-align: center; padding: 40px 20px; border-radius: 8px; margin: 20px 0; } .bot-config-loading { background: #d1ecf1; color: #0c5460; border: 1px solid #bee5eb; } .bot-config-error { background: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; } .bot-config-unavailable { background: #d4edda; color: #155724; border: 1px solid #c3e6cb; } /* Responsive design */ @media (max-width: 768px) { .bot-config-container { margin: 0 10px; padding: 16px; } .category-parameters { padding-left: 8px; } .config-parameter { padding: 12px; } .range-container { flex-direction: column; align-items: stretch; gap: 8px; } .range-value { align-self: center; } } /* Animation for smooth transitions */ .config-parameter { transition: box-shadow 0.15s ease-in-out; } .config-parameter:hover { box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); } /* Custom checkbox styling */ .config-label input[type="checkbox"] { width: 18px; height: 18px; accent-color: #007bff; }