/* Dark Theme Override Styles */
body {
    background: linear-gradient(180deg, #1a1a1a 0%, #111111 100%) !important;
    color: #ffffff !important;
}

/* Input and form elements */
.form-control,
.form-select,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
textarea,
select {
    background: #333 !important;
    border-color: #555 !important;
    color: #ffffff !important;
}

.form-control:focus,
.form-select:focus,
input:focus,
textarea:focus,
select:focus {
    background: #444 !important;
    border-color: #4a9eff !important;
    color: #ffffff !important;
}

/* Labels and text */
.form-label,
label,
.form-text {
    color: #ffffff !important;
}

/* Cards and containers */
.card,
.modal-content {
    background: #2a2a2a !important;
    border-color: #555 !important;
    color: #ffffff !important;
}

/* Tables */
.table {
    color: #ffffff !important;
}

.table thead th {
    background: rgba(42, 42, 42, 0.8) !important;
    border-color: #555 !important;
    color: #ffffff !important;
}

.table tbody tr:nth-child(even) {
    background: rgba(42, 42, 42, 0.5) !important;
}

.table tbody tr:hover {
    background: rgba(42, 42, 42, 0.8) !important;
}

.table td,
.table th {
    border-color: #555 !important;
    color: #ffffff !important;
}

/* Compact table density in dark theme */
.table > :not(caption) > * > * {
    padding: 0.4rem 0.55rem !important;
}

.table thead th {
    font-size: 13px !important;
    line-height: 1.2 !important;
}

/* Process add/delete modal dark theme alignment */
.modal-content-section {
    background: #1f2937 !important;
    border: 1px solid #374151 !important;
    color: #e5e7eb !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.45) !important;
}

.ingestion-name-section .title span,
.description-section .title span {
    color: #cbd5e1 !important;
}

.name-input-section,
.description-input-section {
    background: #111827 !important;
    border-color: #4b5563 !important;
}

.name-input-section input,
.description-input-section textarea {
    background: transparent !important;
    color: #e5e7eb !important;
}

.name-input-section input::placeholder,
.description-input-section textarea::placeholder {
    color: #94a3b8 !important;
}

.table tbody td,
.table tbody th {
    font-size: 13px !important;
    line-height: 1.3 !important;
}

.table tbody td small,
.table tbody th small {
    font-size: 12px !important;
}

/* Ensure consistent table text colors */
.table td span,
.table th span,
.table td .heading,
.table th .heading {
    color: #ffffff !important;
}

/* Bootstrap text utilities in dark theme */
.text-truncate {
    color: #ffffff !important;
}

.table .text-truncate {
    color: #ffffff !important;
}

/* Buttons */
.btn-secondary {
    background: #555 !important;
    border-color: #666 !important;
    color: #ffffff !important;
}

.btn-secondary:hover {
    background: #666 !important;
    border-color: #777 !important;
}

/* Primary buttons */
.btn-primary,
.btn-primary1 {
    background: #4a9eff !important;
    border-color: #4a9eff !important;
    color: #ffffff !important;
}

.btn-primary:hover,
.btn-primary1:hover,
.btn-primary:focus,
.btn-primary1:focus {
    background: #3b82f6 !important;
    border-color: #3b82f6 !important;
    color: #ffffff !important;
}

/* Success buttons */
.btn-success {
    background: #10b981 !important;
    border-color: #10b981 !important;
    color: #ffffff !important;
}

.btn-success:hover,
.btn-success:focus {
    background: #059669 !important;
    border-color: #059669 !important;
    color: #ffffff !important;
}

/* Warning buttons */
.btn-warning {
    background: #f59e0b !important;
    border-color: #f59e0b !important;
    color: #ffffff !important;
}

.btn-warning:hover,
.btn-warning:focus {
    background: #d97706 !important;
    border-color: #d97706 !important;
    color: #ffffff !important;
}

/* Danger buttons */
.btn-danger {
    background: #ef4444 !important;
    border-color: #ef4444 !important;
    color: #ffffff !important;
}

.btn-danger:hover,
.btn-danger:focus {
    background: #dc2626 !important;
    border-color: #dc2626 !important;
    color: #ffffff !important;
}

/* Info buttons */
.btn-info {
    background: #06b6d4 !important;
    border-color: #06b6d4 !important;
    color: #ffffff !important;
}

.btn-info:hover,
.btn-info:focus {
    background: #0891b2 !important;
    border-color: #0891b2 !important;
    color: #ffffff !important;
}

/* Light buttons */
.btn-light {
    background: #374151 !important;
    border-color: #4b5563 !important;
    color: #ffffff !important;
}

.btn-light:hover,
.btn-light:focus {
    background: #4b5563 !important;
    border-color: #6b7280 !important;
    color: #ffffff !important;
}

/* Dark buttons */
.btn-dark {
    background: #1f2937 !important;
    border-color: #374151 !important;
    color: #ffffff !important;
}

.btn-dark:hover,
.btn-dark:focus {
    background: #374151 !important;
    border-color: #4b5563 !important;
    color: #ffffff !important;
}

/* Outline buttons */
.btn-outline-primary {
    border-color: #4a9eff !important;
    color: #4a9eff !important;
    background: transparent !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
    background: #4a9eff !important;
    border-color: #4a9eff !important;
    color: #ffffff !important;
}

.btn-outline-secondary {
    border-color: #6b7280 !important;
    color: #6b7280 !important;
    background: transparent !important;
}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus {
    background: #6b7280 !important;
    border-color: #6b7280 !important;
    color: #ffffff !important;
}

.btn-outline-success {
    border-color: #10b981 !important;
    color: #10b981 !important;
    background: transparent !important;
}

.btn-outline-success:hover,
.btn-outline-success:focus {
    background: #10b981 !important;
    border-color: #10b981 !important;
    color: #ffffff !important;
}

.btn-outline-danger {
    border-color: #ef4444 !important;
    color: #ef4444 !important;
    background: transparent !important;
}

.btn-outline-danger:hover,
.btn-outline-danger:focus {
    background: #ef4444 !important;
    border-color: #ef4444 !important;
    color: #ffffff !important;
}

.btn-outline-warning {
    border-color: #f59e0b !important;
    color: #f59e0b !important;
    background: transparent !important;
}

.btn-outline-warning:hover,
.btn-outline-warning:focus {
    background: #f59e0b !important;
    border-color: #f59e0b !important;
    color: #ffffff !important;
}

.btn-outline-info {
    border-color: #06b6d4 !important;
    color: #06b6d4 !important;
    background: transparent !important;
}

.btn-outline-info:hover,
.btn-outline-info:focus {
    background: #06b6d4 !important;
    border-color: #06b6d4 !important;
    color: #ffffff !important;
}

/* Button disabled state */
.btn:disabled,
.btn.disabled {
    background: #374151 !important;
    border-color: #4b5563 !important;
    color: #6b7280 !important;
    opacity: 0.6 !important;
}

/* Button groups */
.btn-group .btn {
    border-color: #4b5563 !important;
}

.btn-group .btn:not(:last-child) {
    border-right-color: #4b5563 !important;
}

/* Close buttons */
.btn-close {
    filter: invert(1) brightness(2) !important;
    opacity: 0.7 !important;
}

.btn-close:hover {
    opacity: 1 !important;
}

/* Modal */
.modal-header {
    border-bottom-color: #555 !important;
}

.modal-footer {
    border-top-color: #555 !important;
}

/* Navigation and tabs */
.nav-link {
    color: #ccc !important;
}

.nav-link.active,
.nav-link:hover {
    color: #ffffff !important;
}

/* Badges and status indicators */
.badge-light {
    background: #555 !important;
    color: #ffffff !important;
}

/* Dropdown */
.dropdown-menu {
    background: #2a2a2a !important;
    border-color: #555 !important;
}

.dropdown-item {
    color: #ffffff !important;
}

.dropdown-item:hover {
    background: #374151 !important;
    color: #ffffff !important;
}

/* Alert */
.alert {
    border-color: #555 !important;
}

.alert-info {
    background: #1a3a52 !important;
    color: #b3d4fc !important;
    border-color: #2a5a82 !important;
}

.alert-warning {
    background: #5a4a1a !important;
    color: #ffecb5 !important;
    border-color: #8a6a2a !important;
}

.alert-danger {
    background: #5a1a1a !important;
    color: #f8d7da !important;
    border-color: #8a2a2a !important;
}

/* Text colors */
.text-muted {
    color: #a0a0a0 !important;
}

.text-primary {
    color: #4a9eff !important;
}

.text-success {
    color: #4CAF50 !important;
}

.text-warning {
    color: #ffc107 !important;
}

.text-danger {
    color: #f8d7da !important;
}

/* Code and pre elements */
pre,
code {
    background: #1e1e1e !important;
    color: #d4d4d4 !important;
    border-color: #555 !important;
}

/* Readonly inputs */
input[readonly],
textarea[readonly] {
    background: #222 !important;
    color: #999 !important;
}

/* Progress bars */
.progress {
    background: #333 !important;
}

.progress-bar {
    background: linear-gradient(135deg, #4a9eff 0%, #0066cc 100%) !important;
}

/* Additional specific overrides for table content */
#instanceTableBody td {
    color: #ffffff !important;
}

#instanceTableBody .text-truncate {
    color: #ffffff !important;
}

/* Super specific overrides for Job Instance table */
table#instanceTable tbody tr td {
    color: #ffffff !important;
}

table#instanceTable tbody tr td.text-truncate {
    color: #ffffff !important;
}

table.resizable-table tbody tr td {
    color: #ffffff !important;
}

/* Force all table cell content to be white */
.table tbody tr td,
.table tbody tr td *:not(.badge) {
    color: #ffffff !important;
}

/* Page title and section titles */
.title-section span,
.page-title-buttons-section .title-section span {
    color: #ffffff !important;
}

/* Form selects and filters */
.filter-section .form-select {
    background: #333 !important;
    border-color: #555 !important;
    color: #ffffff !important;
}

/* General text elements */
span, div, p {
    color: inherit;
}

.right-main-content span,
.ingestion-list-section span {
    color: #ffffff !important;
}

/* Log Modal Styles */
#logsContent {
    background: #1a1a1a !important;
    color: #ffffff !important;
    border-color: #555 !important;
}

.log-info {
    color: #ffffff !important;
}

.log-pagination {
    color: #ffffff !important;
}

.log-pagination .btn-outline-secondary {
    color: #ffffff !important;
    border-color: #555 !important;
    background: #333 !important;
}

.log-pagination .btn-outline-secondary:hover {
    background: #555 !important;
    border-color: #777 !important;
    color: #ffffff !important;
}

.log-pagination .btn-outline-secondary:disabled {
    color: #666 !important;
    border-color: #333 !important;
    background: #222 !important;
}

/* Unified compact controls for table pages */
.pagination-wrapper,
.pagination-section {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
}

.pagination-controls {
    gap: 6px !important;
}

.page-btn {
    min-width: 32px !important;
    height: 32px !important;
    padding: 4px 8px !important;
    border: 1px solid #4b5563 !important;
    background: #1f2937 !important;
    color: #d1d5db !important;
}

.page-btn:hover:not(.disabled) {
    border-color: #60a5fa !important;
    background: #2563eb !important;
    color: #ffffff !important;
}

.page-btn.active {
    border-color: #60a5fa !important;
    background: #2563eb !important;
    color: #ffffff !important;
}

.page-size-select,
.filter-section .form-select {
    padding: 6px 10px !important;
    font-size: 13px !important;
}

.lg-pagination-info {
    color: #a7bbd8 !important;
}

.lg-page-btn {
    border-color: #4b5563 !important;
    background: #1f2937 !important;
    color: #d1d5db !important;
}

.lg-page-btn:hover:not(.disabled) {
    border-color: #60a5fa !important;
    background: #2563eb !important;
    color: #ffffff !important;
}

.lg-page-btn.active {
    border-color: #60a5fa !important;
    background: #2563eb !important;
    color: #ffffff !important;
}

body.dark-theme .table tbody .clickable-row:hover,
[data-theme="dark"] .table tbody .clickable-row:hover {
    background: rgba(96, 165, 250, 0.16) !important;
}

.filter-section {
    padding: 8px !important;
}

.modal-title {
    color: #ffffff !important;
}

.modal-header .btn-close {
    filter: invert(1) brightness(2) !important;
}

/* Make sure modal backdrop doesn't interfere */
.modal-backdrop {
    background-color: rgba(0, 0, 0, 0.8) !important;
}

/* Diagram Page Dark Theme Adaptations */
/* Top bar and title */
body.dark-theme .diagram-top-bar,
[data-theme="dark"] .diagram-top-bar {
    background: #2a2a2a !important;
    border-bottom: 1px solid #555 !important;
}

body.dark-theme .diagram-top-bar .title-section span,
[data-theme="dark"] .diagram-top-bar .title-section span {
    color: #ffffff !important;
}

body.dark-theme .process-description,
[data-theme="dark"] .process-description {
    color: #cccccc !important;
}

/* Override inline styles for process description */
body.dark-theme .diagram-top-bar .process-description,
[data-theme="dark"] .diagram-top-bar .process-description {
    color: #cccccc !important;
}

/* Maximize button in modals */
.maximize-btn {
    color: #cccccc !important;
}

.maximize-btn:hover {
    color: #ffffff !important;
}

/* Readonly input fields */
input[readonly] {
    background-color: #444 !important;
    color: #cccccc !important;
}

/* Main content background */
.right-main-content,
.diagram-section {
    background: #1a1a1a !important;
}

/* Palette section */
body.dark-theme .sb-mobile-palette,
[data-theme="dark"] .sb-mobile-palette {
    background: #2a2a2a !important;
    border: 1px solid #555 !important;
}

body.dark-theme .palette-title,
[data-theme="dark"] .palette-title {
    color: #ffffff !important;
    border-bottom-color: #555 !important;
}

body.dark-theme .symbol-item,
[data-theme="dark"] .symbol-item {
    background: #333 !important;
    border-color: #555 !important;
    color: #ffffff !important;
}

body.dark-theme .symbol-item:hover,
[data-theme="dark"] .symbol-item:hover {
    border-color: #4a9eff !important;
    background: #444 !important;
}

body.dark-theme .symbol-item span,
[data-theme="dark"] .symbol-item span {
    color: #ffffff !important;
}

/* Search input in palette */
body.dark-theme .c-input,
[data-theme="dark"] .c-input {
    background: #333 !important;
    border-color: #555 !important;
    color: #ffffff !important;
}

body.dark-theme .c-input:focus,
[data-theme="dark"] .c-input:focus {
    background: #444 !important;
    border-color: #4a9eff !important;
}

body.dark-theme .c-input::placeholder,
[data-theme="dark"] .c-input::placeholder {
    color: #888 !important;
}

/* Diagram container */
body.dark-theme .diagram-container,
[data-theme="dark"] .diagram-container {
    background: #2a2a2a !important;
    border-color: #555 !important;
}

body.dark-theme .diagram-canvas,
[data-theme="dark"] .diagram-canvas {
    background: #1e1e1e !important;
}

body.dark-theme .diagram-placeholder,
[data-theme="dark"] .diagram-placeholder {
    color: #cccccc !important;
}

/* Compare overlay */
body.dark-theme .compare-top-bar,
[data-theme="dark"] .compare-top-bar {
    background: #2a2a2a;
    border-bottom: 1px solid #555;
}
body.dark-theme .compare-top-bar .fw-600,
[data-theme="dark"] .compare-top-bar .fw-600 {
    color: #ffffff !important;
}
body.dark-theme .compare-panel-header,
[data-theme="dark"] .compare-panel-header {
    background: #333 !important;
}

/* Diagram nodes */
body.dark-theme .diagram-node,
[data-theme="dark"] .diagram-node {
    background: #333 !important;
    border-color: #4a9eff !important;
    color: #ffffff !important;
}

body.dark-theme .diagram-node:hover,
[data-theme="dark"] .diagram-node:hover {
    background: #444 !important;
}

body.dark-theme .node-label,
[data-theme="dark"] .node-label {
    color: #ffffff !important;
}

/* Execute sidebar */
body.dark-theme .execute-sidebar,
[data-theme="dark"] .execute-sidebar {
    background: #2a2a2a !important;
    border-left-color: #555 !important;
}

body.dark-theme .execute-sidebar-header,
[data-theme="dark"] .execute-sidebar-header {
    border-bottom-color: #555 !important;
}

body.dark-theme .execute-sidebar-header h5,
[data-theme="dark"] .execute-sidebar-header h5 {
    color: #ffffff !important;
}

body.dark-theme .execute-sidebar-header .btn-close,
[data-theme="dark"] .execute-sidebar-header .btn-close {
    color: #cccccc !important;
}

body.dark-theme .execute-sidebar-header .btn-close:hover,
[data-theme="dark"] .execute-sidebar-header .btn-close:hover {
    color: #ffffff !important;
}

/* Modal content for node configuration */
.ingestion-modal .modal-content {
    background: #2a2a2a !important;
    border-color: #555 !important;
    color: #ffffff !important;
}

.ingestion-modal .close {
    color: #cccccc !important;
}

.ingestion-modal .close:hover {
    color: #ffffff !important;
}

/* Modal footer buttons */
.ingestion-modal .modal-footer .btn,
.modal-footer .btn {
    margin-right: 8px !important;
}

.ingestion-modal .modal-footer .btn-primary,
.modal-footer .btn-primary {
    background: #4a9eff !important;
    border-color: #4a9eff !important;
    color: #ffffff !important;
}

.ingestion-modal .modal-footer .btn-primary:hover,
.modal-footer .btn-primary:hover {
    background: #3b82f6 !important;
    border-color: #3b82f6 !important;
}

.ingestion-modal .modal-footer .btn-secondary,
.modal-footer .btn-secondary {
    background: #6b7280 !important;
    border-color: #6b7280 !important;
    color: #ffffff !important;
}

.ingestion-modal .modal-footer .btn-secondary:hover,
.modal-footer .btn-secondary:hover {
    background: #4b5563 !important;
    border-color: #4b5563 !important;
}

/* Component configuration modal buttons */
.node-config-modal .btn-success,
.component-modal .btn-success {
    background: #10b981 !important;
    border-color: #10b981 !important;
    color: #ffffff !important;
}

.node-config-modal .btn-success:hover,
.component-modal .btn-success:hover {
    background: #059669 !important;
    border-color: #059669 !important;
}

.node-config-modal .btn-danger,
.component-modal .btn-danger {
    background: #ef4444 !important;
    border-color: #ef4444 !important;
    color: #ffffff !important;
}

.node-config-modal .btn-danger:hover,
.component-modal .btn-danger:hover {
    background: #dc2626 !important;
    border-color: #dc2626 !important;
}

/* Add/Remove buttons in configuration forms */
.btn-add-param,
.btn-remove-param,
.btn-add-config {
    background: #4b5563 !important;
    border-color: #6b7280 !important;
    color: #ffffff !important;
}

.btn-add-param:hover,
.btn-remove-param:hover,
.btn-add-config:hover {
    background: #374151 !important;
    border-color: #4b5563 !important;
}

.form-font-label {
    color: #ffffff !important;
}

/* SQL Editor in dark theme */
.sql-editor {
    background: #1e1e1e !important;
    color: #d4d4d4 !important;
    border-color: #555 !important;
}

.sql-editor:focus {
    border-color: #4a9eff !important;
}

.sql-editor::placeholder {
    color: #888 !important;
}

.sql-highlight {
    background: #1e1e1e !important;
    color: #d4d4d4 !important;
    border-color: #555 !important;
}

/* Resize handle */
.sidebar-resize-handle {
    background: #555 !important;
}

.sidebar-resize-handle:hover {
    background: #4a9eff !important;
}

/* Component Dialog/Popup Button Adaptations */
/* Generic modal and dialog buttons */
.modal .btn,
.dialog .btn,
.popup .btn {
    transition: all 0.2s ease !important;
}

/* Save/Confirm buttons in component dialogs */
.modal .btn[onclick*="save"],
.modal .btn[onclick*="confirm"],
.modal .btn[onclick*="submit"],
.btn-save,
.btn-confirm,
.btn-submit {
    background: #10b981 !important;
    border-color: #10b981 !important;
    color: #ffffff !important;
}

.modal .btn[onclick*="save"]:hover,
.modal .btn[onclick*="confirm"]:hover,
.modal .btn[onclick*="submit"]:hover,
.btn-save:hover,
.btn-confirm:hover,
.btn-submit:hover {
    background: #059669 !important;
    border-color: #059669 !important;
}

/* Cancel/Close buttons in component dialogs */
.modal .btn[onclick*="cancel"],
.modal .btn[onclick*="close"],
.btn-cancel,
.btn-close-modal {
    background: #6b7280 !important;
    border-color: #6b7280 !important;
    color: #ffffff !important;
}

.modal .btn[onclick*="cancel"]:hover,
.modal .btn[onclick*="close"]:hover,
.btn-cancel:hover,
.btn-close-modal:hover {
    background: #4b5563 !important;
    border-color: #4b5563 !important;
}

/* Delete/Remove buttons in component dialogs */
.modal .btn[onclick*="delete"],
.modal .btn[onclick*="remove"],
.btn-delete,
.btn-remove {
    background: #ef4444 !important;
    border-color: #ef4444 !important;
    color: #ffffff !important;
}

.modal .btn[onclick*="delete"]:hover,
.modal .btn[onclick*="remove"]:hover,
.btn-delete:hover,
.btn-remove:hover {
    background: #dc2626 !important;
    border-color: #dc2626 !important;
}

/* Test/Validate buttons in component dialogs */
.modal .btn[onclick*="test"],
.modal .btn[onclick*="validate"],
.btn-test,
.btn-validate {
    background: #f59e0b !important;
    border-color: #f59e0b !important;
    color: #ffffff !important;
}

.modal .btn[onclick*="test"]:hover,
.modal .btn[onclick*="validate"]:hover,
.btn-test:hover,
.btn-validate:hover {
    background: #d97706 !important;
    border-color: #d97706 !important;
}

/* Small buttons in forms */
.btn-sm {
    padding: 4px 8px !important;
    font-size: 12px !important;
}

/* Button icons */
.btn i,
.btn .fa,
.btn .fas,
.btn .far {
    color: inherit !important;
}

/* Dropdown toggle buttons */
.dropdown-toggle {
    background: #374151 !important;
    border-color: #4b5563 !important;
    color: #ffffff !important;
}

.dropdown-toggle:hover,
.dropdown-toggle:focus {
    background: #4b5563 !important;
    border-color: #6b7280 !important;
    color: #ffffff !important;
}

/* Button focus states */
.btn:focus,
.btn:active:focus,
.btn.active:focus {
    box-shadow: 0 0 0 0.2rem rgba(74, 158, 255, 0.25) !important;
}

/* ==================== Asset Detail Page Specific Dark Theme ==================== */

/* Asset header in dark theme */
body.dark-theme .asset-header,
[data-theme="dark"] .asset-header {
    background: #2d2d2d !important;
    background-image: none !important;
}

/* Asset meta content in dark theme */
body.dark-theme .asset-meta-content h6,
body.dark-theme .asset-meta-content p,
[data-theme="dark"] .asset-meta-content h6,
[data-theme="dark"] .asset-meta-content p {
    color: #ffffff !important;
}

/* Navigation tabs in dark theme */
body.dark-theme .nav-tabs,
[data-theme="dark"] .nav-tabs {
    background: #2a2a2a !important;
    border-bottom: 1px solid #444444 !important;
}

body.dark-theme .nav-tabs .nav-link,
[data-theme="dark"] .nav-tabs .nav-link {
    color: #cccccc !important;
}

body.dark-theme .nav-tabs .nav-link:hover,
[data-theme="dark"] .nav-tabs .nav-link:hover {
    color: #4a9eff !important;
    background: rgba(74, 158, 255, 0.1) !important;
}

body.dark-theme .nav-tabs .nav-link.active,
[data-theme="dark"] .nav-tabs .nav-link.active {
    color: #4a9eff !important;
    border-bottom-color: #4a9eff !important;
}

/* Content sections in dark theme */
body.dark-theme .content-section,
[data-theme="dark"] .content-section {
    background: #333333 !important;
    border-color: #444444 !important;
}

body.dark-theme .section-title,
[data-theme="dark"] .section-title {
    color: #ffffff !important;
}

body.dark-theme .section-title i,
[data-theme="dark"] .section-title i {
    color: #4a9eff !important;
}

/* Table container in dark theme */
body.dark-theme .table-container,
[data-theme="dark"] .table-container {
    background: #2a2a2a !important;
    border-color: #444444 !important;
}

/* Loading and error states in dark theme */
body.dark-theme .loading-spinner,
[data-theme="dark"] .loading-spinner {
    color: #cccccc !important;
}

body.dark-theme .error-message,
[data-theme="dark"] .error-message {
    background: rgba(239, 68, 68, 0.1) !important;
    border-color: rgba(239, 68, 68, 0.3) !important;
    color: #ef4444 !important;
}

/* Status badges in dark theme */
body.dark-theme .status-badges .badge,
[data-theme="dark"] .status-badges .badge {
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
}

/* Filter controls in dark theme */
body.dark-theme .filter-controls .form-select,
body.dark-theme .filter-controls .form-control,
[data-theme="dark"] .filter-controls .form-select,
[data-theme="dark"] .filter-controls .form-control {
    background: #333333 !important;
    border-color: #555555 !important;
    color: #ffffff !important;
}

body.dark-theme .filter-controls .form-select:focus,
body.dark-theme .filter-controls .form-control:focus,
[data-theme="dark"] .filter-controls .form-select:focus,
[data-theme="dark"] .filter-controls .form-control:focus {
    background: #444444 !important;
    border-color: #4a9eff !important;
    color: #ffffff !important;
    box-shadow: 0 0 0 0.2rem rgba(74, 158, 255, 0.25) !important;
}

/* Pagination in dark theme */
body.dark-theme .pagination .page-link,
[data-theme="dark"] .pagination .page-link {
    background: #2a2a2a !important;
    border-color: #444444 !important;
    color: #cccccc !important;
}

body.dark-theme .pagination .page-link:hover,
[data-theme="dark"] .pagination .page-link:hover {
    background: #333333 !important;
    border-color: #555555 !important;
    color: #4a9eff !important;
}

body.dark-theme .pagination .page-item.active .page-link,
[data-theme="dark"] .pagination .page-item.active .page-link {
    background: #4a9eff !important;
    border-color: #4a9eff !important;
    color: #ffffff !important;
}

body.dark-theme .pagination .page-item.disabled .page-link,
[data-theme="dark"] .pagination .page-item.disabled .page-link {
    background: #222222 !important;
    border-color: #333333 !important;
    color: #666666 !important;
}

/* ==================== Asset Detail Sub-Tabs Enhanced Dark Theme ==================== */

/* Force dark theme for asset detail specific elements */
body.dark-theme #assetContent,
[data-theme="dark"] #assetContent {
    background: #2a2a2a !important;
    color: #ffffff !important;
}

/* Navigation tabs strong override */
body.dark-theme #assetTabs,
body.dark-theme .nav-tabs,
[data-theme="dark"] #assetTabs,
[data-theme="dark"] .nav-tabs {
    background: #2a2a2a !important;
    border-bottom: 1px solid #444444 !important;
}

body.dark-theme #assetTabs .nav-link,
body.dark-theme .nav-tabs .nav-link,
[data-theme="dark"] #assetTabs .nav-link,
[data-theme="dark"] .nav-tabs .nav-link {
    background: transparent !important;
    color: #cccccc !important;
    border: none !important;
}

body.dark-theme #assetTabs .nav-link:hover,
body.dark-theme .nav-tabs .nav-link:hover,
[data-theme="dark"] #assetTabs .nav-link:hover,
[data-theme="dark"] .nav-tabs .nav-link:hover {
    background: rgba(74, 158, 255, 0.1) !important;
    color: #4a9eff !important;
    border: none !important;
}

body.dark-theme #assetTabs .nav-link.active,
body.dark-theme .nav-tabs .nav-link.active,
[data-theme="dark"] #assetTabs .nav-link.active,
[data-theme="dark"] .nav-tabs .nav-link.active {
    background: transparent !important;
    color: #4a9eff !important;
    border: none !important;
    border-bottom: 3px solid #4a9eff !important;
}

/* Tab content areas */
body.dark-theme #assetTabsContent,
body.dark-theme .tab-content,
[data-theme="dark"] #assetTabsContent,
[data-theme="dark"] .tab-content {
    background: #2a2a2a !important;
    color: #ffffff !important;
}

body.dark-theme .tab-pane,
[data-theme="dark"] .tab-pane {
    background: transparent !important;
    color: #ffffff !important;
    padding: 20px !important;
    /* Let Bootstrap handle display logic */
}

/* Content sections in tabs */
body.dark-theme .content-section,
[data-theme="dark"] .content-section {
    background: #333333 !important;
    border: 1px solid #444444 !important;
    color: #ffffff !important;
}

body.dark-theme .section-title,
[data-theme="dark"] .section-title {
    color: #ffffff !important;
}

body.dark-theme .section-title i,
[data-theme="dark"] .section-title i {
    color: #4a9eff !important;
}

/* Table containers and tables */
body.dark-theme .table-container,
[data-theme="dark"] .table-container {
    background: #2a2a2a !important;
    border: 1px solid #444444 !important;
}

body.dark-theme .table-container .table,
body.dark-theme #schemaTableBody,
body.dark-theme #dataTableContainer,
[data-theme="dark"] .table-container .table,
[data-theme="dark"] #schemaTableBody,
[data-theme="dark"] #dataTableContainer {
    background: #2a2a2a !important;
    color: #ffffff !important;
}

body.dark-theme .table thead th,
[data-theme="dark"] .table thead th {
    background: rgba(42, 42, 42, 0.9) !important;
    border-color: #444444 !important;
    color: #ffffff !important;
}

body.dark-theme .table tbody td,
[data-theme="dark"] .table tbody td {
    background: transparent !important;
    border-color: #444444 !important;
    color: #ffffff !important;
}

body.dark-theme .table tbody tr:nth-child(even),
[data-theme="dark"] .table tbody tr:nth-child(even) {
    background: rgba(255, 255, 255, 0.05) !important;
}

body.dark-theme .table tbody tr:hover,
[data-theme="dark"] .table tbody tr:hover {
    background: rgba(74, 158, 255, 0.1) !important;
}

/* Filter controls */
body.dark-theme .filter-controls .form-select,
body.dark-theme .filter-controls .form-control,
body.dark-theme #filterColumnSelect,
body.dark-theme #filterValueInput,
body.dark-theme #pageSizeSelect,
[data-theme="dark"] .filter-controls .form-select,
[data-theme="dark"] .filter-controls .form-control,
[data-theme="dark"] #filterColumnSelect,
[data-theme="dark"] #filterValueInput,
[data-theme="dark"] #pageSizeSelect {
    background: #333333 !important;
    border-color: #555555 !important;
    color: #ffffff !important;
}

body.dark-theme .filter-controls .form-select:focus,
body.dark-theme .filter-controls .form-control:focus,
[data-theme="dark"] .filter-controls .form-select:focus,
[data-theme="dark"] .filter-controls .form-control:focus {
    background: #444444 !important;
    border-color: #4a9eff !important;
    color: #ffffff !important;
    box-shadow: 0 0 0 0.2rem rgba(74, 158, 255, 0.25) !important;
}

/* Status badges */
body.dark-theme .badge,
body.dark-theme #statusBadges .badge,
[data-theme="dark"] .badge,
[data-theme="dark"] #statusBadges .badge {
    background: #4b5563 !important;
    color: #ffffff !important;
    border: 1px solid #6b7280 !important;
}

/* Loading states */
body.dark-theme .spinner-border,
[data-theme="dark"] .spinner-border {
    border-color: #4a9eff transparent #4a9eff transparent !important;
}

body.dark-theme .text-muted,
[data-theme="dark"] .text-muted {
    color: #cccccc !important;
}

/* Pagination specific for data tables */
body.dark-theme #dataPagination .page-link,
[data-theme="dark"] #dataPagination .page-link {
    background: #333333 !important;
    border-color: #444444 !important;
    color: #ffffff !important;
}

body.dark-theme #dataPagination .page-link:hover,
[data-theme="dark"] #dataPagination .page-link:hover {
    background: #444444 !important;
    border-color: #4a9eff !important;
    color: #4a9eff !important;
}

body.dark-theme #dataPagination .page-item.active .page-link,
[data-theme="dark"] #dataPagination .page-item.active .page-link {
    background: #4a9eff !important;
    border-color: #4a9eff !important;
    color: #ffffff !important;
}

/* Text content in tables */
body.dark-theme .table td strong,
body.dark-theme .table th strong,
body.dark-theme .column-type,
body.dark-theme .nullable-badge,
[data-theme="dark"] .table td strong,
[data-theme="dark"] .table th strong,
[data-theme="dark"] .column-type,
[data-theme="dark"] .nullable-badge {
    color: #ffffff !important;
}

/* Icons in dark theme */
body.dark-theme .table th i,
body.dark-theme .table td i,
body.dark-theme .section-title i,
[data-theme="dark"] .table th i,
[data-theme="dark"] .table td i,
[data-theme="dark"] .section-title i {
    color: #4a9eff !important;
}

/* Small text and descriptions */
body.dark-theme .table td small,
body.dark-theme .table th small,
body.dark-theme small.text-muted,
[data-theme="dark"] .table td small,
[data-theme="dark"] .table th small,
[data-theme="dark"] small.text-muted {
    color: #cccccc !important;
}

/* Asset Detail Page Enhanced Theme Fixes */
body.dark-theme #assetContent,
[data-theme="dark"] #assetContent {
    background: #1a1a1a !important;
    color: #ffffff !important;
    min-height: 100vh !important;
}

/* Navigation tabs - Bootstrap 5 compatibility */
body.dark-theme .nav-tabs,
[data-theme="dark"] .nav-tabs {
    background: #2a2a2a !important;
    border-bottom: 1px solid #444444 !important;
}

body.dark-theme .nav-tabs .nav-link,
[data-theme="dark"] .nav-tabs .nav-link {
    background: transparent !important;
    color: #cccccc !important;
    border: 1px solid transparent !important;
    margin-bottom: -1px !important;
}

body.dark-theme .nav-tabs .nav-link:hover,
[data-theme="dark"] .nav-tabs .nav-link:hover {
    background: rgba(74, 158, 255, 0.1) !important;
    color: #4a9eff !important;
    border-color: transparent transparent #444444 transparent !important;
}

body.dark-theme .nav-tabs .nav-link.active,
[data-theme="dark"] .nav-tabs .nav-link.active {
    background: #2a2a2a !important;
    color: #4a9eff !important;
    border-color: #444444 #444444 #2a2a2a !important;
}

/* Tab content */
body.dark-theme .tab-content,
[data-theme="dark"] .tab-content {
    background: #2a2a2a !important;
    border: 1px solid #444444 !important;
    border-top: none !important;
    color: #ffffff !important;
}

body.dark-theme .tab-pane,
[data-theme="dark"] .tab-pane {
    background: transparent !important;
    color: #ffffff !important;
    padding: 20px !important;
    /* Let Bootstrap handle display logic */
}

/* Override any forcing rules for tab panes */
body.dark-theme .tab-pane:not(.active),
[data-theme="dark"] .tab-pane:not(.active) {
    display: none !important;
}

body.dark-theme .tab-pane.active,
[data-theme="dark"] .tab-pane.active {
    display: block !important;
}

/* Content sections */
body.dark-theme .content-section,
[data-theme="dark"] .content-section {
    background: #333333 !important;
    border: 1px solid #444444 !important;
    border-radius: 8px !important;
    padding: 20px !important;
    margin-bottom: 20px !important;
}

/* Section titles */
body.dark-theme .section-title,
[data-theme="dark"] .section-title {
    color: #ffffff !important;
    border-bottom: 2px solid #4a9eff !important;
    padding-bottom: 10px !important;
    margin-bottom: 20px !important;
}

body.dark-theme .section-title i,
[data-theme="dark"] .section-title i {
    color: #4a9eff !important;
    margin-right: 10px !important;
}

/* Table containers */
body.dark-theme .table-container,
[data-theme="dark"] .table-container {
    background: #1e1e1e !important;
    border: 1px solid #444444 !important;
    border-radius: 8px !important;
    overflow-y: auto !important;
    max-height: 600px;
}

/* Custom scrollbars for table containers in dark theme */
body.dark-theme .table-container::-webkit-scrollbar,
[data-theme="dark"] .table-container::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

body.dark-theme .table-container::-webkit-scrollbar-track,
[data-theme="dark"] .table-container::-webkit-scrollbar-track {
    background: #3a3a3a;
    border-radius: 4px;
}

body.dark-theme .table-container::-webkit-scrollbar-thumb,
[data-theme="dark"] .table-container::-webkit-scrollbar-thumb {
    background: #666666;
    border-radius: 4px;
}

body.dark-theme .table-container::-webkit-scrollbar-thumb:hover,
[data-theme="dark"] .table-container::-webkit-scrollbar-thumb:hover {
    background: #888888;
}

/* Tables */
body.dark-theme .table,
[data-theme="dark"] .table {
    background: #1e1e1e !important;
    color: #ffffff !important;
    margin-bottom: 0 !important;
}

body.dark-theme .table thead th,
[data-theme="dark"] .table thead th {
    background: #0d1117 !important;
    border-color: #444444 !important;
    color: #ffffff !important;
    font-weight: 600 !important;
}

body.dark-theme .table tbody td,
[data-theme="dark"] .table tbody td {
    background: transparent !important;
    border-color: #333333 !important;
    color: #ffffff !important;
}

body.dark-theme .table tbody tr:nth-child(even),
[data-theme="dark"] .table tbody tr:nth-child(even) {
    background: rgba(255, 255, 255, 0.03) !important;
}

body.dark-theme .table tbody tr:hover,
[data-theme="dark"] .table tbody tr:hover {
    background: rgba(74, 158, 255, 0.1) !important;
}

/* Filter controls */
body.dark-theme .filter-controls .form-select,
body.dark-theme .filter-controls .form-control,
[data-theme="dark"] .filter-controls .form-select,
[data-theme="dark"] .filter-controls .form-control {
    background: #333333 !important;
    border-color: #555555 !important;
    color: #ffffff !important;
}

body.dark-theme .filter-controls .form-select:focus,
body.dark-theme .filter-controls .form-control:focus,
[data-theme="dark"] .filter-controls .form-select:focus,
[data-theme="dark"] .filter-controls .form-control:focus {
    background: #444444 !important;
    border-color: #4a9eff !important;
    color: #ffffff !important;
    box-shadow: 0 0 0 0.2rem rgba(74, 158, 255, 0.25) !important;
}

/* Ensure loading and error states are visible */
body.dark-theme .loading-spinner,
[data-theme="dark"] .loading-spinner {
    color: #4a9eff !important;
}

body.dark-theme .error-message,
[data-theme="dark"] .error-message {
    background: rgba(220, 53, 69, 0.1) !important;
    border: 1px solid rgba(220, 53, 69, 0.3) !important;
    color: #f8d7da !important;
    padding: 15px !important;
    border-radius: 8px !important;
}

/* FORCE VISIBLE SUB-TABS - ULTIMATE OVERRIDE */
html body.dark-theme #assetTabs,
html body.dark-theme #assetTabs *,
html body.dark-theme #assetTabsContent,
html body.dark-theme #assetTabsContent * {
    visibility: visible !important;
    opacity: 1 !important;
}

/* Asset Detail Tab Navigation */
html body.dark-theme #assetTabs {
    background-color: #2a2a2a !important;
    border-bottom: 1px solid #444444 !important;
    display: flex !important;
}

html body.dark-theme #assetTabs .nav-item {
    display: block !important;
}

html body.dark-theme #assetTabs .nav-link {
    color: #cccccc !important;
    background-color: transparent !important;
    border: 1px solid transparent !important;
    border-radius: 4px 4px 0 0 !important;
    padding: 12px 20px !important;
    margin-bottom: -1px !important;
    display: block !important;
}

html body.dark-theme #assetTabs .nav-link:hover {
    color: #4a9eff !important;
    background-color: rgba(74, 158, 255, 0.1) !important;
    border-color: transparent !important;
}

html body.dark-theme #assetTabs .nav-link.active {
    color: #4a9eff !important;
    background-color: #333333 !important;
    border-color: #444444 #444444 transparent !important;
}

/* Asset Detail Tab Content */
html body.dark-theme #assetTabsContent {
    background-color: #333333 !important;
    color: #ffffff !important;
    border: 1px solid #444444 !important;
    border-top: none !important;
    padding: 20px !important;
    display: block !important;
    min-height: 400px !important;
}

html body.dark-theme #assetTabsContent .tab-pane {
    background-color: transparent !important;
    color: #ffffff !important;
    padding: 0 !important;
    /* Remove display: block - let Bootstrap handle visibility */
}

html body.dark-theme #assetTabsContent .tab-pane.active {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

html body.dark-theme #assetTabsContent .tab-pane:not(.active) {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* Bootstrap 5 Tab Pane Display Fix */
html body.dark-theme .tab-pane {
    display: none !important;
    opacity: 0 !important;
}

html body.dark-theme .tab-pane.active {
    display: block !important;
    opacity: 1 !important;
}

html body.dark-theme .tab-pane.fade {
    transition: opacity 0.15s linear !important;
    display: none !important;
}

html body.dark-theme .tab-pane.fade.show {
    display: block !important;
    opacity: 1 !important;
}

html body.dark-theme .tab-pane.fade.show.active {
    display: block !important;
    opacity: 1 !important;
}

/* Ensure only active tab content is visible */
html body.dark-theme #assetTabsContent .tab-pane:not(.active) {
    display: none !important;
    visibility: hidden !important;
}

html body.dark-theme #assetTabsContent .tab-pane.active {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Fix tab switching */
html body.dark-theme .nav-tabs .nav-link {
    cursor: pointer !important;
}

html body.dark-theme .nav-tabs .nav-link:not(.active) {
    background-color: rgba(255, 255, 255, 0.05) !important;
}

html body.dark-theme .nav-tabs .nav-link.active {
    background-color: #333333 !important;
    color: #4a9eff !important;
}

/* Asset Detail Page Layout Fixes */
html body.dark-theme .asset-detail-container {
    background: #1a1a1a !important;
    color: #ffffff !important;
}

html body.dark-theme .asset-detail-card {
    background: #2a2a2a !important;
    border-color: #444444 !important;
    color: #ffffff !important;
}

html body.dark-theme .asset-title {
    color: #ffffff !important;
}

html body.dark-theme .asset-meta-content {
    color: #ffffff !important;
}

html body.dark-theme .asset-meta-content .badge {
    background: rgba(74, 158, 255, 0.2) !important;
    color: #4a9eff !important;
    border: 1px solid #4a9eff !important;
}

/* Loading and Error States */
html body.dark-theme #loadingSpinner {
    background: #2a2a2a !important;
    color: #4a9eff !important;
    border: 1px solid #444444 !important;
    border-radius: 8px !important;
    padding: 40px !important;
    text-align: center !important;
}

html body.dark-theme #errorMessage {
    background: rgba(220, 53, 69, 0.1) !important;
    border: 1px solid rgba(220, 53, 69, 0.3) !important;
    color: #f8d7da !important;
    border-radius: 8px !important;
    padding: 20px !important;
}

/* Table improvements */
html body.dark-theme .table-responsive {
    background: #1e1e1e !important;
    border: 1px solid #444444 !important;
    border-radius: 8px !important;
}

html body.dark-theme .table-responsive .table {
    margin-bottom: 0 !important;
}

/* Pagination improvements */
html body.dark-theme .pagination {
    background: #333333 !important;
    padding: 15px !important;
    border-top: 1px solid #444444 !important;
    margin: 0 !important;
    justify-content: center !important;
}

html body.dark-theme .pagination .page-item .page-link {
    background: #2a2a2a !important;
    border-color: #444444 !important;
    color: #cccccc !important;
    margin: 0 2px !important;
}

html body.dark-theme .pagination .page-item:hover .page-link {
    background: #444444 !important;
    border-color: #4a9eff !important;
    color: #4a9eff !important;
}

html body.dark-theme .pagination .page-item.active .page-link {
    background: #4a9eff !important;
    border-color: #4a9eff !important;
    color: #ffffff !important;
}
