/* DFlasher Custom Theme - Override Radzen Colors */
:root {
    /* DFlasher Color Palette */
    --dflasher-primary: #FFC32B;
    --dflasher-primary-dark: #141414;
    --dflasher-text: #FFFFFF;
    --dflasher-success: #4CAF50;
    --dflasher-error: #D32F2F;
    --dflasher-warning: #FF9800;
    --dflasher-info: #87b4ea;
    --dflasher-light: #C5C6C7;
    --dflasher-dark: #1F1F1F;
    
    /* Override Radzen CSS Variables */
    --rz-primary: var(--dflasher-primary);
    --rz-primary-light: #FFD54F;
    --rz-primary-dark: #FFA000;
    --rz-primary-darker: #FF8F00;
    --rz-primary-lighter: #FFF176;
    
    --rz-secondary: var(--dflasher-light);
    --rz-secondary-light: #E0E0E0;
    --rz-secondary-dark: #9E9E9E;
    
    --rz-success: var(--dflasher-success);
    --rz-success-light: #66BB6A;
    --rz-success-dark: #388E3C;
    
    --rz-danger: var(--dflasher-error);
    --rz-danger-light: #EF5350;
    --rz-danger-dark: #C62828;
    
    --rz-warning: var(--dflasher-warning);
    --rz-warning-light: #FFB74D;
    --rz-warning-dark: #F57C00;
    
    --rz-info: var(--dflasher-info);
    --rz-info-light: #A3C4F3;
    --rz-info-dark: #5A9BD4;
    
    --rz-light: var(--dflasher-light);
    --rz-dark: var(--dflasher-dark);
    
    /* Button specific overrides */
    --rz-button-primary-background-color: var(--dflasher-primary);
    --rz-button-primary-border-color: var(--dflasher-primary);
    --rz-button-primary-color: var(--dflasher-primary-dark);
    
    --rz-button-primary-hover-background-color: #FFD54F;
    --rz-button-primary-hover-border-color: #FFD54F;
    --rz-button-primary-hover-color: var(--dflasher-primary-dark);
    
    --rz-button-success-background-color: var(--dflasher-success);
    --rz-button-success-border-color: var(--dflasher-success);
    --rz-button-success-color: white;
    
    --rz-button-danger-background-color: var(--dflasher-error);
    --rz-button-danger-border-color: var(--dflasher-error);
    --rz-button-danger-color: white;
}

/* Primary Button Styles */
.rz-button.rz-primary {
    background-color: var(--dflasher-primary) !important;
    border-color: var(--dflasher-primary) !important;
    color: var(--dflasher-primary-dark) !important;
    font-weight: 600;
}

.rz-button.rz-primary:hover {
    background-color: #FFD54F !important;
    border-color: #FFD54F !important;
    color: var(--dflasher-primary-dark) !important;
}

.rz-button.rz-primary:focus {
    box-shadow: 0 0 0 0.2rem rgba(255, 195, 43, 0.25) !important;
}

/* Success Button Styles */
.rz-button.rz-success {
    background-color: var(--dflasher-success) !important;
    border-color: var(--dflasher-success) !important;
    color: white !important;
}

.rz-button.rz-success:hover {
    background-color: #66BB6A !important;
    border-color: #66BB6A !important;
}

/* Danger Button Styles */
.rz-button.rz-danger {
    background-color: var(--dflasher-error) !important;
    border-color: var(--dflasher-error) !important;
    color: white !important;
}

.rz-button.rz-danger:hover {
    background-color: #EF5350 !important;
    border-color: #EF5350 !important;
}

/* Badge Styles */
.rz-badge.rz-success {
    background-color: var(--dflasher-success) !important;
    color: white !important;
}

.rz-badge.rz-danger {
    background-color: var(--dflasher-error) !important;
    color: white !important;
}

.rz-badge.rz-info {
    background-color: var(--dflasher-info) !important;
    color: white !important;
}

/* Alert Styles - Ensure proper text contrast */
.rz-alert.rz-info {
    color: white !important;
}

.rz-alert.rz-info .rz-alert-title,
.rz-alert.rz-info .rz-alert-text,
.rz-alert.rz-info strong,
.rz-alert.rz-info * {
    color: white !important;
}

/* Form Controls */
.rz-dropdown:focus,
.rz-textbox:focus,
.rz-textarea:focus {
    border-color: var(--dflasher-primary) !important;
    box-shadow: 0 0 0 0.2rem rgba(255, 195, 43, 0.25) !important;
}

/* Progress Bar */
.rz-progressbar-value {
    background-color: var(--dflasher-primary) !important;
}

/* Data Grid */
.rz-datatable-data td {
    border-color: var(--dflasher-dark) !important;
}

.rz-datatable-header th {
    background-color: var(--dflasher-dark) !important;
    border-color: var(--dflasher-dark) !important;
}

/* Links */
.rz-link {
    color: var(--dflasher-primary) !important;
}

.rz-link:hover {
    color: #FFD54F !important;
}

/* Remove purple/violet colors completely */
.rz-button:not(.rz-primary):not(.rz-success):not(.rz-danger):not(.rz-warning):not(.rz-info):not(.rz-light):not(.rz-dark) {
    background-color: var(--dflasher-light) !important;
    border-color: var(--dflasher-light) !important;
    color: var(--dflasher-primary-dark) !important;
}

/* Ensure no purple shows up anywhere */
*[style*="purple"], *[style*="violet"], *[style*="#6f42c1"], *[style*="#8e44ad"] {
    background-color: var(--dflasher-primary) !important;
    border-color: var(--dflasher-primary) !important;
}

/* Ensure white text on blue/purple backgrounds */
.rz-alert.rz-info,
.rz-alert.rz-info .rz-alert-title,
.rz-alert.rz-info .rz-alert-text {
    color: white !important;
}

/* RadzenAlert with blue/purple backgrounds should have white text */
.rz-alert[style*="background-color: #87b4ea"],
.rz-alert[style*="background-color: rgb(135, 180, 234)"],
.rz-alert[style*="background-color: blue"],
.rz-alert[style*="background-color: purple"],
.rz-alert[style*="background-color: #6f42c1"],
.rz-alert[style*="background-color: #8e44ad"] {
    color: white !important;
}

.rz-alert[style*="background-color: #87b4ea"] *,
.rz-alert[style*="background-color: rgb(135, 180, 234)"] *,
.rz-alert[style*="background-color: blue"] *,
.rz-alert[style*="background-color: purple"] *,
.rz-alert[style*="background-color: #6f42c1"] *,
.rz-alert[style*="background-color: #8e44ad"] * {
    color: white !important;
}

/* General rule for any component with blue/purple background */
*[style*="background-color: #87b4ea"],
*[style*="background-color: rgb(135, 180, 234)"],
*[style*="background-color: blue"],
*[style*="background-color: purple"],
*[style*="background-color: #6f42c1"],
*[style*="background-color: #8e44ad"] {
    color: white !important;
}

/* Ensure text elements within blue/purple backgrounds are white */
*[style*="background-color: #87b4ea"] *,
*[style*="background-color: rgb(135, 180, 234)"] *,
*[style*="background-color: blue"] *,
*[style*="background-color: purple"] *,
*[style*="background-color: #6f42c1"] *,
*[style*="background-color: #8e44ad"] * {
    color: white !important;
}
