/* ========================================
   RADZEN DARK THEME OVERRIDES
   Complete fix for Radzen components in dark mode
   ======================================== */

/* Force all Radzen components to respect theme */
[data-theme="dark"] .rz-datatable,
[data-theme="dark"] .rz-grid,
[data-theme="dark"] .rz-datatable-table,
[data-theme="dark"] .rz-grid-table {
    background-color: #242424 !important;
    color: #e8e8e8 !important;
}

[data-theme="dark"] .rz-datatable-thead,
[data-theme="dark"] .rz-grid-thead {
    background-color: #2d2d2d !important;
}

    [data-theme="dark"] .rz-datatable-thead th,
    [data-theme="dark"] .rz-grid-thead th {
        background-color: #2d2d2d !important;
        color: #e8e8e8 !important;
        border-color: #4a4a4a !important;
    }

[data-theme="dark"] .rz-datatable-data tr,
[data-theme="dark"] .rz-grid-data tr {
    background-color: #242424 !important;
    color: #e8e8e8 !important;
}

    [data-theme="dark"] .rz-datatable-data tr:hover,
    [data-theme="dark"] .rz-grid-data tr:hover {
        background-color: #2d2d2d !important;
    }

[data-theme="dark"] .rz-datatable-data td,
[data-theme="dark"] .rz-grid-data td {
    background-color: transparent !important;
    color: #e8e8e8 !important;
    border-color: #4a4a4a !important;
}

/* Radzen Tabs - COMPLETE FIX WITH ALL SELECTORS */
[data-theme="dark"] .rz-tabview,
[data-theme="dark"] .rz-tabview-panels,
[data-theme="dark"] .rz-tabview-panel,
[data-theme="dark"] .rz-tabview-panel-content {
    background-color: #1a1a1a !important;
    color: #e8e8e8 !important;
}

[data-theme="dark"] .rz-tabview-nav,
[data-theme="dark"] .rz-tabview-nav-container,
[data-theme="dark"] .rz-tabview-header {
    background-color: #2d2d2d !important;
    border-bottom-color: #4a4a4a !important;
}

[data-theme="dark"] .rz-tabview-nav-link,
[data-theme="dark"] .rz-tabview-nav-item,
[data-theme="dark"] .rz-tabview-nav-link-label {
    color: #c0c0c0 !important;
    background-color: #2d2d2d !important;
}

    [data-theme="dark"] .rz-tabview-nav-link:hover,
    [data-theme="dark"] .rz-tabview-nav-item:hover {
        color: #e8e8e8 !important;
        background-color: #3a3a3a !important;
    }

    [data-theme="dark"] .rz-tabview-nav-link.rz-tabview-selected,
    [data-theme="dark"] .rz-tabview-nav-item.rz-tabview-nav-item-selected,
    [data-theme="dark"] .rz-tabview-nav-link[aria-selected="true"] {
        color: #e8e8e8 !important;
        background-color: #1a1a1a !important;
        border-bottom-color: #1a1a1a !important;
    }

/* Radzen TabStrip (alternative component) */
[data-theme="dark"] .rz-tabstrip,
[data-theme="dark"] .rz-tabstrip-panels {
    background-color: #1a1a1a !important;
}

[data-theme="dark"] .rz-tabstrip-nav {
    background-color: #2d2d2d !important;
}

[data-theme="dark"] .rz-tabstrip-nav-link {
    background-color: #2d2d2d !important;
    color: #c0c0c0 !important;
}

    [data-theme="dark"] .rz-tabstrip-nav-link:hover {
        background-color: #3a3a3a !important;
        color: #e8e8e8 !important;
    }

    [data-theme="dark"] .rz-tabstrip-nav-link.rz-state-active {
        background-color: #1a1a1a !important;
        color: #e8e8e8 !important;
    }

/* Additional specific selectors for tab headers */
[data-theme="dark"] .rz-tabview > ul,
[data-theme="dark"] .rz-tabview-nav > ul {
    background-color: #2d2d2d !important;
}

    [data-theme="dark"] .rz-tabview > ul > li,
    [data-theme="dark"] .rz-tabview-nav > ul > li {
        background-color: #2d2d2d !important;
    }

        [data-theme="dark"] .rz-tabview > ul > li > a,
        [data-theme="dark"] .rz-tabview-nav > ul > li > a {
            background-color: #2d2d2d !important;
            color: #c0c0c0 !important;
        }

            [data-theme="dark"] .rz-tabview > ul > li > a:hover {
                background-color: #3a3a3a !important;
                color: #e8e8e8 !important;
            }

        [data-theme="dark"] .rz-tabview > ul > li.rz-state-active > a,
        [data-theme="dark"] .rz-tabview-nav > ul > li.rz-state-active > a {
            background-color: #1a1a1a !important;
            color: #e8e8e8 !important;
        }

/* Force white cards in dark mode to be dark */
[data-theme="dark"] .card,
[data-theme="dark"] .rz-card {
    background-color: #242424 !important;
    color: #e8e8e8 !important;
    border-color: #4a4a4a !important;
}

[data-theme="dark"] .card-header,
[data-theme="dark"] .rz-card-header {
    background-color: #2d2d2d !important;
    color: #e8e8e8 !important;
    border-bottom-color: #4a4a4a !important;
}

[data-theme="dark"] .card-body,
[data-theme="dark"] .rz-card-body {
    background-color: #242424 !important;
    color: #e8e8e8 !important;
}

/* Radzen Panel */
[data-theme="dark"] .rz-panel,
[data-theme="dark"] .rz-panel-content {
    background-color: #242424 !important;
    color: #e8e8e8 !important;
    border-color: #4a4a4a !important;
}

[data-theme="dark"] .rz-panel-titlebar {
    background-color: #2d2d2d !important;
    color: #e8e8e8 !important;
    border-bottom-color: #4a4a4a !important;
}

/* Radzen Forms - Enhanced Input Styling for Dark Mode */
[data-theme="dark"] .rz-textbox,
[data-theme="dark"] .rz-numeric,
[data-theme="dark"] .rz-datepicker,
[data-theme="dark"] .rz-dropdown,
[data-theme="dark"] .rz-spinner {
    background-color: #1a3a5c !important;
    color: #ffffff !important;
    border: 2px solid #5bc0de !important;
    border-radius: 6px !important;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(91, 192, 222, 0.3) !important;
}

    [data-theme="dark"] .rz-textbox:hover,
    [data-theme="dark"] .rz-numeric:hover,
    [data-theme="dark"] .rz-datepicker:hover,
    [data-theme="dark"] .rz-dropdown:hover,
    [data-theme="dark"] .rz-spinner:hover {
        background-color: #234b73 !important;
        border-color: #7dd3fc !important;
        box-shadow: 0 0 0 3px rgba(91, 192, 222, 0.5), inset 0 2px 4px rgba(0, 0, 0, 0.2) !important;
    }

    [data-theme="dark"] .rz-textbox:focus,
    [data-theme="dark"] .rz-textbox:focus-within,
    [data-theme="dark"] .rz-numeric:focus,
    [data-theme="dark"] .rz-numeric:focus-within,
    [data-theme="dark"] .rz-datepicker:focus,
    [data-theme="dark"] .rz-datepicker:focus-within,
    [data-theme="dark"] .rz-dropdown:focus,
    [data-theme="dark"] .rz-dropdown:focus-within,
    [data-theme="dark"] .rz-dropdown.rz-state-focused,
    [data-theme="dark"] .rz-spinner:focus,
    [data-theme="dark"] .rz-spinner:focus-within {
        background-color: #1e4976 !important;
        border-color: #7dd3fc !important;
        box-shadow: 0 0 0 4px rgba(91, 192, 222, 0.5), 0 0 12px rgba(125, 211, 252, 0.4) !important;
    }

/* Input text styling */
[data-theme="dark"] .rz-textbox input,
[data-theme="dark"] .rz-numeric input,
[data-theme="dark"] .rz-spinner input,
[data-theme="dark"] .rz-datepicker input {
    color: #ffffff !important;
    font-weight: 600 !important;
    background-color: transparent !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .rz-textbox input::placeholder,
[data-theme="dark"] .rz-numeric input::placeholder {
    color: #9ecbeb !important;
    font-weight: 400 !important;
    text-shadow: none;
}

/* Dropdown label and trigger */
[data-theme="dark"] .rz-dropdown .rz-dropdown-label {
    color: #ffffff !important;
    font-weight: 600 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .rz-dropdown .rz-dropdown-trigger,
[data-theme="dark"] .rz-dropdown .rz-dropdown-trigger .rzi {
    color: #7dd3fc !important;
    background-color: transparent !important;
}

/* Radzen Dialog */
[data-theme="dark"] .rz-dialog,
[data-theme="dark"] .rz-dialog-content {
    background-color: #242424 !important;
    color: #e8e8e8 !important;
}

[data-theme="dark"] .rz-dialog-titlebar {
    background-color: #2d2d2d !important;
    color: #e8e8e8 !important;
    border-bottom-color: #4a4a4a !important;
}

/* Radzen Dropdown Panel - Enhanced Styling */
[data-theme="dark"] .rz-dropdown-panel,
[data-theme="dark"] .rz-dropdown-items-wrapper {
    background-color: #1a3a5c !important;
    border: 2px solid #5bc0de !important;
    border-radius: 6px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4) !important;
}

[data-theme="dark"] .rz-dropdown-item {
    color: #ffffff !important;
}

    [data-theme="dark"] .rz-dropdown-item:hover {
        background-color: #234b73 !important;
    }

    [data-theme="dark"] .rz-dropdown-item.rz-state-highlight {
        background-color: #1e4976 !important;
        color: #7dd3fc !important;
    }

/* Radzen Calendar */
[data-theme="dark"] .rz-calendar,
[data-theme="dark"] .rz-calendar-panel {
    background-color: #242424 !important;
    color: #e8e8e8 !important;
    border-color: #4a4a4a !important;
}

[data-theme="dark"] .rz-calendar-header {
    background-color: #2d2d2d !important;
    color: #e8e8e8 !important;
}

[data-theme="dark"] .rz-calendar-day {
    color: #e8e8e8 !important;
}

    [data-theme="dark"] .rz-calendar-day:hover {
        background-color: #2d2d2d !important;
    }

/* Ensure all text in Radzen components is visible */
[data-theme="dark"] .rz-datatable *,
[data-theme="dark"] .rz-grid *,
[data-theme="dark"] .rz-tabview *,
[data-theme="dark"] .rz-panel *,
[data-theme="dark"] .rz-card * {
    color: #e8e8e8;
}

/* Nuclear option - override ANY inline white/light background */
[data-theme="dark"] [style*="background: white"],
[data-theme="dark"] [style*="background: #fff"],
[data-theme="dark"] [style*="background: #ffffff"],
[data-theme="dark"] [style*="background:white"],
[data-theme="dark"] [style*="background:#fff"],
[data-theme="dark"] [style*="background:#ffffff"],
[data-theme="dark"] [style*="background-color: white"],
[data-theme="dark"] [style*="background-color: #fff"],
[data-theme="dark"] [style*="background-color: #ffffff"],
[data-theme="dark"] [style*="background-color:white"],
[data-theme="dark"] [style*="background-color:#fff"],
[data-theme="dark"] [style*="background-color:#ffffff"] {
    background: #1a1a1a !important;
    background-color: #1a1a1a !important;
}

/* Fix for light gray backgrounds (like #f0f0f0, #e0e0e0, etc) */
[data-theme="dark"] [style*="background: #f"],
[data-theme="dark"] [style*="background: #e"],
[data-theme="dark"] [style*="background: #d"],
[data-theme="dark"] [style*="background-color: #f"],
[data-theme="dark"] [style*="background-color: #e"],
[data-theme="dark"] [style*="background-color: #d"] {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
}

/* Specific fix for light gray (#e8e8e8, #eeeeee, #f5f5f5, etc) */
[data-theme="dark"] [style*="background-color: rgb(232"],
[data-theme="dark"] [style*="background-color: rgb(238"],
[data-theme="dark"] [style*="background-color: rgb(245"],
[data-theme="dark"] [style*="background-color: rgb(240"],
[data-theme="dark"] [style*="background-color: rgb(248"],
[data-theme="dark"] [style*="background-color: rgb(250"],
[data-theme="dark"] [style*="background-color: rgb(255"] {
    background-color: #2d2d2d !important;
}

/* Fix for rgba light backgrounds */
[data-theme="dark"] [style*="background-color: rgba(255"],
[data-theme="dark"] [style*="background-color: rgba(240"],
[data-theme="dark"] [style*="background-color: rgba(250"] {
    background-color: #2d2d2d !important;
}

/* Radzen Button */
.rz-button {
    background-color: var(--button-primary) !important;
    border-color: var(--button-primary) !important;
    color: #ffffff !important;
}

    .rz-button:hover {
        background-color: var(--button-primary-hover) !important;
        color: #ffffff !important;
    }

.rz-button-secondary {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
}

/* Force white text on all Radzen buttons in dark mode */
[data-theme="dark"] .rz-button,
[data-theme="dark"] .rz-button-primary,
[data-theme="dark"] .rz-button-info,
[data-theme="dark"] .rz-button-success,
[data-theme="dark"] .rz-button-warning,
[data-theme="dark"] .rz-button-danger,
[data-theme="dark"] button.rz-button {
    color: #ffffff !important;
    background-color: var(--button-primary) !important;
}

    [data-theme="dark"] .rz-button:hover,
    [data-theme="dark"] .rz-button-primary:hover {
        color: #ffffff !important;
        background-color: var(--button-primary-hover) !important;
    }

    /* Ensure button text is always visible */
    [data-theme="dark"] .rz-button span,
    [data-theme="dark"] .rz-button-text {
        color: #ffffff !important;
    }

/* ========================================
   PULSE ANIMATION FOR DARK MODE INPUTS
   ======================================== */

@keyframes input-pulse-dark {
    0%, 100% {
        box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(91, 192, 222, 0.3);
    }
    50% {
        box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.3), 0 0 0 6px rgba(91, 192, 222, 0.4), 0 0 15px rgba(125, 211, 252, 0.3);
    }
}

[data-theme="dark"] td .rz-numeric:not(:focus-within),
[data-theme="dark"] td .rz-textbox:not(:focus-within),
[data-theme="dark"] th .rz-numeric:not(:focus-within),
[data-theme="dark"] th .rz-textbox:not(:focus-within) {
    animation: input-pulse-dark 2.5s ease-in-out infinite;
}
