/* ===== CORPORATE THEME CONTRAST AND READABILITY FIXES ===== */

/* CRITICAL: Force white text on ALL gradient backgrounds */
.gradient-primary, .gradient-primary *, 
.gradient-secondary, .gradient-secondary *,
.gradient-success, .gradient-success *,
.gradient-warning, .gradient-warning *,
.gradient-info, .gradient-info *,
.gradient-dark, .gradient-dark * {
    color: #ffffff !important;
}

/* Stats card fixes */
.stats-card, .stats-card *,
.stats-card-secondary, .stats-card-secondary *,
.stats-card-success, .stats-card-success *,
.stats-card-warning, .stats-card-warning * {
    color: #ffffff !important;
    text-shadow: 0 2px 4px rgba(0,0,0,0.4);
}

/* Corporate Theme Gradient Backgrounds - Enhanced Contrast */
.card-header.gradient-primary,
.card-header.gradient-primary *,
.gradient-primary h1,
.gradient-primary h2,
.gradient-primary h3,
.gradient-primary h4,
.gradient-primary h5,
.gradient-primary h6 {
    color: #ffffff !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
    font-weight: 600;
}

.card-header.gradient-secondary,
.card-header.gradient-secondary *,
.gradient-secondary h1,
.gradient-secondary h2,
.gradient-secondary h3,
.gradient-secondary h4,
.gradient-secondary h5,
.gradient-secondary h6 {
    color: #ffffff !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
    font-weight: 600;
}

/* Badge contrast on gradient backgrounds */
.gradient-primary .badge.bg-light,
.gradient-secondary .badge.bg-light,
.gradient-success .badge.bg-light,
.gradient-warning .badge.bg-light,
.gradient-info .badge.bg-light {
    background-color: rgba(255, 255, 255, 0.9) !important;
    color: #2d3748 !important;
    font-weight: var(--font-semibold) !important;
}

/* Dark badges on light backgrounds */
.badge.bg-light {
    background-color: rgba(45, 55, 72, 0.9) !important;
    color: #ffffff !important;
}

/* Information Cards Contrast - All stats cards regardless of background */
.stats-card,
.stats-card *,
.stats-card h1,
.stats-card h2,
.stats-card h3,
.stats-card h4,
.stats-card h5,
.stats-card h6,
.stats-card .card-title,
.stats-card .stats-number,
.stats-card .card-text,
.stats-card small,
.stats-card i {
    color: #ffffff !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

/* Information/Guidance Cards with gradient-info background */
.gradient-info,
.gradient-info *,
.gradient-info h1,
.gradient-info h2,
.gradient-info h3,
.gradient-info h4,
.gradient-info h5,
.gradient-info h6,
.gradient-info .card-title,
.gradient-info .card-text,
.gradient-info p,
.gradient-info small,
.gradient-info strong,
.gradient-info i {
    color: #ffffff !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5) !important;
    font-weight: inherit !important;
}

/* Specific styling for navigation/help cards */
.gradient-info .card-body h6 {
    color: #ffffff !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.6) !important;
    font-weight: var(--font-bold) !important;
    margin-bottom: 0.75rem !important;
}

.gradient-info .card-body p {
    color: rgba(255, 255, 255, 0.95) !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4) !important;
    line-height: var(--leading-relaxed) !important;
}

/* Ensure all cards with any gradient background have white text */
.card[style*="background: linear-gradient"],
.card[style*="background: linear-gradient"] *,
.card[style*="background: linear-gradient"] h1,
.card[style*="background: linear-gradient"] h2,
.card[style*="background: linear-gradient"] h3,
.card[style*="background: linear-gradient"] h4,
.card[style*="background: linear-gradient"] h5,
.card[style*="background: linear-gradient"] h6,
.card[style*="background: linear-gradient"] .card-title,
.card[style*="background: linear-gradient"] .stats-number,
.card[style*="background: linear-gradient"] .card-text,
.card[style*="background: linear-gradient"] small,
.card[style*="background: linear-gradient"] i {
    color: #ffffff !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.stats-card-secondary,
.stats-card-secondary *,
.stats-card-secondary h1,
.stats-card-secondary h2,
.stats-card-secondary h3,
.stats-card-secondary h4,
.stats-card-secondary h5,
.stats-card-secondary h6,
.stats-card-secondary .card-title {
    color: #ffffff !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.stats-card-success,
.stats-card-success *,
.stats-card-success h1,
.stats-card-success h2,
.stats-card-success h3,
.stats-card-success h4,
.stats-card-success h5,
.stats-card-success h6,
.stats-card-success .card-title {
    color: #ffffff !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.stats-card-warning,
.stats-card-warning *,
.stats-card-warning h1,
.stats-card-warning h2,
.stats-card-warning h3,
.stats-card-warning h4,
.stats-card-warning h5,
.stats-card-warning h6,
.stats-card-warning .card-title {
    color: #ffffff !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
}

/* Table Headers on Gradient Backgrounds */
.gradient-primary table th,
.gradient-secondary table th,
.gradient-success table th,
.gradient-warning table th,
.gradient-info table th {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.1) !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

/* Table Headers in Cards with Gradient Headers */
.card .card-header.gradient-primary ~ .card-body table th,
.card .card-header.gradient-secondary ~ .card-body table th,
.card .card-header.gradient-success ~ .card-body table th {
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.1) 0%, rgba(118, 75, 162, 0.1) 100%) !important;
    color: #2d3748 !important;
    border-bottom: 2px solid rgba(102, 126, 234, 0.3) !important;
}

/* Improve link contrast on gradient backgrounds */
.gradient-primary a,
.gradient-secondary a,
.gradient-success a,
.gradient-warning a,
.gradient-info a,
.stats-card a,
.stats-card-secondary a,
.stats-card-success a,
.stats-card-warning a {
    color: rgba(255, 255, 255, 0.9) !important;
    text-decoration: underline !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

.gradient-primary a:hover,
.gradient-secondary a:hover,
.gradient-success a:hover,
.gradient-warning a:hover,
.gradient-info a:hover,
.stats-card a:hover,
.stats-card-secondary a:hover,
.stats-card-success a:hover,
.stats-card-warning a:hover {
    color: #ffffff !important;
    text-decoration: underline !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

/* Form labels on gradient backgrounds */
.gradient-primary label,
.gradient-secondary label,
.gradient-success label,
.gradient-warning label,
.gradient-info label {
    color: rgba(255, 255, 255, 0.95) !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

/* Button contrast improvements */
.btn-outline-light {
    border-color: rgba(255, 255, 255, 0.8) !important;
    color: rgba(255, 255, 255, 0.9) !important;
    background: rgba(255, 255, 255, 0.1) !important;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.3);
}

.btn-outline-light:hover {
    background: rgba(255, 255, 255, 0.2) !important;
    color: #ffffff !important;
    border-color: rgba(255, 255, 255, 1) !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
}

/* Enhanced visibility for buttons on gradient backgrounds */
.gradient-primary .btn-outline-light,
.gradient-secondary .btn-outline-light,
.gradient-success .btn-outline-light,
.gradient-warning .btn-outline-light,
.gradient-info .btn-outline-light {
    border: 2px solid rgba(255, 255, 255, 0.9) !important;
    color: rgba(255, 255, 255, 0.95) !important;
    background: rgba(255, 255, 255, 0.15) !important;
    backdrop-filter: blur(10px);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
    font-weight: var(--font-semibold) !important;
}

.gradient-primary .btn-outline-light:hover,
.gradient-secondary .btn-outline-light:hover,
.gradient-success .btn-outline-light:hover,
.gradient-warning .btn-outline-light:hover,
.gradient-info .btn-outline-light:hover {
    background: rgba(255, 255, 255, 0.25) !important;
    color: #ffffff !important;
    border-color: rgba(255, 255, 255, 1) !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

/* Icons on gradient backgrounds */
.gradient-primary i,
.gradient-secondary i,
.gradient-success i,
.gradient-warning i,
.gradient-info i,
.stats-card i,
.stats-card-secondary i,
.stats-card-success i,
.stats-card-warning i {
    color: rgba(255, 255, 255, 0.95) !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

/* Small text on gradient backgrounds */
.gradient-primary small,
.gradient-secondary small,
.gradient-success small,
.gradient-warning small,
.gradient-info small,
.stats-card small,
.stats-card-secondary small,
.stats-card-success small,
.stats-card-warning small {
    color: rgba(255, 255, 255, 0.85) !important;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.3);
}

/* Dropdown items on gradient backgrounds */
.gradient-primary .dropdown-menu,
.gradient-secondary .dropdown-menu,
.gradient-success .dropdown-menu,
.gradient-warning .dropdown-menu,
.gradient-info .dropdown-menu {
    background: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
}

.gradient-primary .dropdown-item,
.gradient-secondary .dropdown-item,
.gradient-success .dropdown-item,
.gradient-warning .dropdown-item,
.gradient-info .dropdown-item {
    color: #2d3748 !important;
}

/* Text input contrast on gradient backgrounds */
.gradient-primary input,
.gradient-primary select,
.gradient-primary textarea,
.gradient-secondary input,
.gradient-secondary select,
.gradient-secondary textarea {
    background: rgba(255, 255, 255, 0.9) !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    color: #2d3748 !important;
}

.gradient-primary input:focus,
.gradient-primary select:focus,
.gradient-primary textarea:focus,
.gradient-secondary input:focus,
.gradient-secondary select:focus,
.gradient-secondary textarea:focus {
    background: rgba(255, 255, 255, 0.95) !important;
    border-color: rgba(255, 255, 255, 0.6) !important;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.2) !important;
}

/* Pagination on gradient backgrounds */
.gradient-primary .pagination,
.gradient-secondary .pagination {
    --bs-pagination-bg: rgba(255, 255, 255, 0.1);
    --bs-pagination-border-color: rgba(255, 255, 255, 0.3);
    --bs-pagination-color: rgba(255, 255, 255, 0.9);
    --bs-pagination-hover-bg: rgba(255, 255, 255, 0.2);
    --bs-pagination-hover-border-color: rgba(255, 255, 255, 0.4);
    --bs-pagination-hover-color: #ffffff;
}

/* Ensure sufficient contrast for all text elements */
.text-muted {
    color: #6c757d !important;
}

.gradient-primary .text-muted,
.gradient-secondary .text-muted,
.stats-card .text-muted,
.stats-card-secondary .text-muted {
    color: rgba(255, 255, 255, 0.7) !important;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.3);
}

/* CRITICAL: Final sidebar text override - loaded last to ensure it takes precedence */
.sidebar,
.sidebar *,
.sidebar .nav-link,
.sidebar .nav-link *,
.sidebar .nav-link span,
.sidebar .nav-link i,
nav.sidebar *,
nav.sidebar .nav-link,
nav.sidebar .nav-link *,
#sidebar *,
#sidebar .nav-link,
#sidebar .nav-link *,
#sidebar .nav-link span,
#sidebar .nav-link i,
body .sidebar .nav-link,
body .sidebar .nav-link *,
body .sidebar .nav-link span,
body .sidebar .nav-link i {
    color: #ffffff !important;
    text-shadow: none !important;
}

/* Override any Bootstrap nav-link defaults specifically for sidebar */
.sidebar .nav .nav-item .nav-link,
.sidebar .nav .nav-item .nav-link:hover,
.sidebar .nav .nav-item .nav-link:focus,
.sidebar .nav .nav-item .nav-link:active,
.sidebar .nav .nav-item .nav-link:visited {
    color: #ffffff !important;
}

/* Preserve category text with slight transparency */
.sidebar .nav-category,
#sidebar .nav-category {
    color: rgba(255, 255, 255, 0.6) !important;
}