/*
 * Saksham ERP System - Official Branding Colors
 * This file contains the official color scheme and branding guidelines
 * for the Saksham ERP system to ensure consistent visual identity.
 */

:root {
    /* Primary Brand Colors - Based on Official Saksham Branding */
    --saksham-primary: #2E7D32;         /* Deep Green - Main brand color */
    --saksham-primary-light: #4CAF50;   /* Light Green - Accent color */
    --saksham-primary-dark: #1B5E20;    /* Dark Green - Deep accent */
    
    /* Secondary Brand Colors */
    --saksham-secondary: #1976D2;       /* Blue - Professional tone */
    --saksham-secondary-light: #2196F3; /* Light Blue - Interactive elements */
    --saksham-secondary-dark: #0D47A1;  /* Dark Blue - Headers */
    
    /* Academic Colors */
    --saksham-academic: #FF6F00;        /* Orange - Academic modules */
    --saksham-academic-light: #FF8F00;  /* Light Orange */
    --saksham-academic-dark: #E65100;   /* Dark Orange */
    
    /* Status Colors */
    --saksham-success: #2E7D32;         /* Green - Success states */
    --saksham-warning: #F57C00;         /* Orange - Warning states */
    --saksham-error: #D32F2F;           /* Red - Error states */
    --saksham-info: #1976D2;            /* Blue - Information states */
    
    /* Neutral Colors */
    --saksham-white: #FFFFFF;
    --saksham-light-gray: #F5F5F5;
    --saksham-gray: #9E9E9E;
    --saksham-dark-gray: #424242;
    --saksham-black: #212121;
    
    /* Background Gradients */
    --saksham-bg-primary: linear-gradient(135deg, #2E7D32 0%, #1B5E20 100%);
    --saksham-bg-secondary: linear-gradient(135deg, #1976D2 0%, #0D47A1 100%);
    --saksham-bg-academic: linear-gradient(135deg, #FF6F00 0%, #E65100 100%);
    --saksham-bg-neutral: linear-gradient(135deg, #666 0%, #333 100%);
    
    /* Card/Module Background */
    --saksham-card-bg: rgba(255, 255, 255, 0.1);
    --saksham-card-border: rgba(255, 255, 255, 0.2);
    --saksham-card-hover: rgba(255, 255, 255, 0.15);
    
    /* Text Colors */
    --saksham-text-primary: #FFFFFF;
    --saksham-text-secondary: rgba(255, 255, 255, 0.9);
    --saksham-text-muted: rgba(255, 255, 255, 0.7);
    --saksham-text-dark: #212121;
    
    /* Shadow Values */
    --saksham-shadow-light: 0 2px 8px rgba(46, 125, 50, 0.2);
    --saksham-shadow-medium: 0 4px 16px rgba(46, 125, 50, 0.3);
    --saksham-shadow-heavy: 0 8px 32px rgba(46, 125, 50, 0.4);
    
    /* Border Radius */
    --saksham-radius-small: 4px;
    --saksham-radius-medium: 8px;
    --saksham-radius-large: 12px;
    --saksham-radius-xlarge: 16px;
    
    /* Spacing */
    --saksham-spacing-xs: 0.25rem;
    --saksham-spacing-sm: 0.5rem;
    --saksham-spacing-md: 1rem;
    --saksham-spacing-lg: 1.5rem;
    --saksham-spacing-xl: 2rem;
    --saksham-spacing-xxl: 3rem;
}

/* Official Samarth Background Styles */
body.saksham-theme {
    background: var(--saksham-bg-primary);
    color: var(--saksham-text-primary);
    font-family: 'Segoe UI', 'Roboto', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* Navbar Styling */
.saksham-navbar {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--saksham-card-border);
    box-shadow: var(--saksham-shadow-light);
}

.saksham-logo {
    color: var(--saksham-text-primary);
    font-size: 1.5rem;
    font-weight: bold;
    text-decoration: none;
}

.saksham-nav-link {
    color: var(--saksham-text-secondary);
    transition: all 0.3s ease;
    padding: var(--saksham-spacing-sm) var(--saksham-spacing-md);
    border-radius: var(--saksham-radius-medium);
}

.saksham-nav-link:hover {
    background: var(--saksham-card-hover);
    color: var(--saksham-text-primary);
}

/* Module Header Styling */
.saksham-module-header {
    background: var(--saksham-card-bg);
    backdrop-filter: blur(10px);
    border: 1px solid var(--saksham-card-border);
    border-radius: var(--saksham-radius-xlarge);
    padding: var(--saksham-spacing-xl);
    margin-bottom: var(--saksham-spacing-xl);
    text-align: center;
    box-shadow: var(--saksham-shadow-medium);
}

/* Service Cards */
.saksham-service-card {
    background: var(--saksham-card-bg);
    backdrop-filter: blur(10px);
    border: 1px solid var(--saksham-card-border);
    border-radius: var(--saksham-radius-large);
    padding: var(--saksham-spacing-lg);
    transition: all 0.3s ease;
    box-shadow: var(--saksham-shadow-light);
}

.saksham-service-card:hover {
    transform: translateY(-2px);
    background: var(--saksham-card-hover);
    box-shadow: var(--saksham-shadow-medium);
}

/* Button Styles */
.saksham-btn-primary {
    background: var(--saksham-bg-primary);
    color: var(--saksham-text-primary);
    border: none;
    padding: var(--saksham-spacing-sm) var(--saksham-spacing-md);
    border-radius: var(--saksham-radius-medium);
    font-weight: 500;
    transition: all 0.3s ease;
    box-shadow: var(--saksham-shadow-light);
}

.saksham-btn-primary:hover {
    transform: translateY(-1px);
    box-shadow: var(--saksham-shadow-medium);
}

.saksham-btn-secondary {
    background: var(--saksham-bg-secondary);
    color: var(--saksham-text-primary);
    border: none;
    padding: var(--saksham-spacing-sm) var(--saksham-spacing-md);
    border-radius: var(--saksham-radius-medium);
    font-weight: 500;
    transition: all 0.3s ease;
    box-shadow: var(--saksham-shadow-light);
}

.saksham-btn-secondary:hover {
    transform: translateY(-1px);
    box-shadow: var(--saksham-shadow-medium);
}

.saksham-btn-academic {
    background: var(--saksham-bg-academic);
    color: var(--saksham-text-primary);
    border: none;
    padding: var(--saksham-spacing-sm) var(--saksham-spacing-md);
    border-radius: var(--saksham-radius-medium);
    font-weight: 500;
    transition: all 0.3s ease;
    box-shadow: var(--saksham-shadow-light);
}

.saksham-btn-academic:hover {
    transform: translateY(-1px);
    box-shadow: var(--saksham-shadow-medium);
}

/* Status Badges */
.saksham-badge-success {
    background: var(--saksham-success);
    color: var(--saksham-text-primary);
    padding: var(--saksham-spacing-xs) var(--saksham-spacing-sm);
    border-radius: var(--saksham-radius-large);
    font-size: 0.8rem;
    font-weight: 500;
}

.saksham-badge-warning {
    background: var(--saksham-warning);
    color: var(--saksham-text-primary);
    padding: var(--saksham-spacing-xs) var(--saksham-spacing-sm);
    border-radius: var(--saksham-radius-large);
    font-size: 0.8rem;
    font-weight: 500;
}

.saksham-badge-error {
    background: var(--saksham-error);
    color: var(--saksham-text-primary);
    padding: var(--saksham-spacing-xs) var(--saksham-spacing-sm);
    border-radius: var(--saksham-radius-large);
    font-size: 0.8rem;
    font-weight: 500;
}

.saksham-badge-info {
    background: var(--saksham-info);
    color: var(--saksham-text-primary);
    padding: var(--saksham-spacing-xs) var(--saksham-spacing-sm);
    border-radius: var(--saksham-radius-large);
    font-size: 0.8rem;
    font-weight: 500;
}

/* Module-Specific Backgrounds */
.saksham-academic-module {
    background: linear-gradient(135deg, #FF6F00 0%, #E65100 100%);
}

.saksham-hr-module {
    background: linear-gradient(135deg, #1976D2 0%, #0D47A1 100%);
}

.saksham-finance-module {
    background: linear-gradient(135deg, #2E7D32 0%, #1B5E20 100%);
}

.saksham-governance-module {
    background: linear-gradient(135deg, #7B1FA2 0%, #4A148C 100%);
}

.saksham-communication-module {
    background: linear-gradient(135deg, #00695C 0%, #004D40 100%);
}

/* Responsive Design */
@media (max-width: 768px) {
    .saksham-module-header {
        padding: var(--saksham-spacing-lg);
        margin-bottom: var(--saksham-spacing-lg);
    }
    
    .saksham-service-card {
        padding: var(--saksham-spacing-md);
    }
}

/* Print Styles */
@media print {
    body.saksham-theme {
        background: white;
        color: black;
    }
    
    .saksham-module-header,
    .saksham-service-card {
        background: white;
        border: 1px solid #ccc;
        box-shadow: none;
    }
}

/* Dark Mode Support */
@media (prefers-color-scheme: dark) {
    :root {
        --saksham-card-bg: rgba(255, 255, 255, 0.05);
        --saksham-card-border: rgba(255, 255, 255, 0.1);
        --saksham-card-hover: rgba(255, 255, 255, 0.1);
    }
}

/* Animation Keyframes */
@keyframes saksham-fade-in {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes saksham-slide-in {
    from {
        opacity: 0;
        transform: translateX(-20px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Utility Classes */
.saksham-fade-in {
    animation: saksham-fade-in 0.6s ease-out;
}

.saksham-slide-in {
    animation: saksham-slide-in 0.6s ease-out;
}

.saksham-text-center {
    text-align: center;
}

.saksham-shadow {
    box-shadow: var(--saksham-shadow-medium);
}

.saksham-rounded {
    border-radius: var(--saksham-radius-large);
}

.saksham-mb {
    margin-bottom: var(--saksham-spacing-lg);
}

.saksham-mt {
    margin-top: var(--saksham-spacing-lg);
}

.saksham-p {
    padding: var(--saksham-spacing-lg);
}

/* Fix dropdown option visibility issues - ensure options are visible */
select option {
    background-color: #2a2a2a !important;
    color: #ffffff !important;
    border: none !important;
}

/* Style select elements for better visibility */
select {
    background-color: rgba(255, 255, 255, 0.1) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
}

select:focus {
    background-color: rgba(255, 255, 255, 0.15) !important;
    border-color: rgba(255, 255, 255, 0.5) !important;
    outline: none !important;
}

/* Ensure dropdown menu visibility in Bootstrap contexts */
.dropdown-menu select option,
.form-select option,
.form-control option {
    background-color: #2a2a2a !important;
    color: #ffffff !important;
}

/* Fix specific form controls */
.form-select {
    background-color: rgba(255, 255, 255, 0.1) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
}

.form-control {
    background-color: rgba(255, 255, 255, 0.1) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
}

/* Ensure contrast for better readability */
select option:hover,
select option:focus {
    background-color: #3a3a3a !important;
    color: #ffffff !important;
}

/* Fix any modal dropdown issues */
.modal select option,
.modal .form-select option,
.modal .form-control option {
    background-color: #2a2a2a !important;
    color: #ffffff !important;
}

/* Global Card Styling - Ensure all cards match Samarth theme */
.card {
    background: var(--saksham-card-bg) !important;
    border: 1px solid var(--saksham-card-border) !important;
    color: var(--saksham-text-primary) !important;
    backdrop-filter: blur(10px);
    border-radius: var(--saksham-radius-large) !important;
    box-shadow: var(--saksham-shadow-light);
}

.card-header {
    background: rgba(255, 255, 255, 0.05) !important;
    border-bottom: 1px solid var(--saksham-card-border) !important;
    color: var(--saksham-text-primary) !important;
}

.card-body {
    color: var(--saksham-text-primary) !important;
}

.card-footer {
    background: rgba(255, 255, 255, 0.05) !important;
    border-top: 1px solid var(--saksham-card-border) !important;
    color: var(--saksham-text-primary) !important;
}

.card:hover {
    background: var(--saksham-card-hover) !important;
    box-shadow: var(--saksham-shadow-medium);
    transition: all 0.3s ease;
    transform: translateY(-2px);
}

/* Stat cards for analytics and dashboard modules */
.stat-card {
    background: var(--saksham-card-bg) !important;
    border: 1px solid var(--saksham-card-border) !important;
    border-radius: var(--saksham-radius-large) !important;
    padding: var(--saksham-spacing-lg) !important;
    text-align: center;
    backdrop-filter: blur(10px);
    box-shadow: var(--saksham-shadow-light);
    color: var(--saksham-text-primary) !important;
}

.stat-card:hover {
    background: var(--saksham-card-hover) !important;
    box-shadow: var(--saksham-shadow-medium);
    transition: all 0.3s ease;
    transform: translateY(-2px);
}

.real-time-card {
    background: var(--saksham-card-bg) !important;
    border: 1px solid var(--saksham-card-border) !important;
    border-radius: var(--saksham-radius-large) !important;
    padding: var(--saksham-spacing-lg) !important;
    backdrop-filter: blur(10px);
    box-shadow: var(--saksham-shadow-light);
    color: var(--saksham-text-primary) !important;
    border-left: 4px solid var(--saksham-primary-light) !important;
}

.real-time-card:hover {
    background: var(--saksham-card-hover) !important;
    box-shadow: var(--saksham-shadow-medium);
    transition: all 0.3s ease;
    transform: translateY(-2px);
}

/* List group items for consistency */
.list-group-item {
    background: var(--saksham-card-bg) !important;
    border: 1px solid var(--saksham-card-border) !important;
    color: var(--saksham-text-primary) !important;
}

.list-group-item:hover {
    background: var(--saksham-card-hover) !important;
}

/* Fix for specific service cards used in modules */
.service-card {
    background: var(--saksham-card-bg) !important;
    border: 1px solid var(--saksham-card-border) !important;
    color: var(--saksham-text-primary) !important;
    backdrop-filter: blur(10px);
    border-radius: var(--saksham-radius-large) !important;
    padding: var(--saksham-spacing-lg) !important;
    box-shadow: var(--saksham-shadow-light);
}

.service-card:hover {
    background: var(--saksham-card-hover) !important;
    box-shadow: var(--saksham-shadow-medium);
    transform: translateY(-2px);
    transition: all 0.3s ease;
}

/* Override Bootstrap text-muted to use theme colors */
.text-muted {
    color: var(--saksham-text-muted) !important;
}

/* Force theme consistency on all card-like elements */
.notification-card, .payment-due-card, .due-card-header, .due-card-content {
    background: var(--saksham-card-bg) !important;
    border: 1px solid var(--saksham-card-border) !important;
    color: var(--saksham-text-primary) !important;
    backdrop-filter: blur(10px);
    border-radius: var(--saksham-radius-large) !important;
}

.notification-card:hover, .payment-due-card:hover {
    background: var(--saksham-card-hover) !important;
    transform: translateY(-2px);
    transition: all 0.3s ease;
}

/* Fix timeline and progress elements */
.timeline-item, .progress-item, .step-item {
    background: var(--saksham-card-bg) !important;
    border: 1px solid var(--saksham-card-border) !important;
    color: var(--saksham-text-primary) !important;
}

/* Fix modal content to use theme */
.modal-content {
    background: var(--saksham-card-bg) !important;
    border: 1px solid var(--saksham-card-border) !important;
    color: var(--saksham-text-primary) !important;
    backdrop-filter: blur(10px);
}

.modal-header, .modal-footer {
    border-color: var(--saksham-card-border) !important;
    background: rgba(255, 255, 255, 0.05) !important;
}

/* Fix badges to use consistent colors */
.badge {
    background: var(--saksham-primary) !important;
    color: var(--saksham-text-primary) !important;
}

/* Fix buttons to use theme consistently */
.btn-primary {
    background: var(--saksham-primary) !important;
    border-color: var(--saksham-primary-light) !important;
    color: var(--saksham-text-primary) !important;
}

.btn-primary:hover {
    background: var(--saksham-primary-light) !important;
    border-color: var(--saksham-primary-light) !important;
    transform: translateY(-1px);
    box-shadow: var(--saksham-shadow-medium);
}

/* Override ALL Bootstrap button variants to use consistent theme colors */
/* Success buttons - use primary green instead of Bootstrap's green */
.btn-success {
    background: var(--saksham-primary) !important;
    border-color: var(--saksham-primary) !important;
    color: var(--saksham-text-primary) !important;
}

.btn-success:hover, .btn-success:focus, .btn-success:active {
    background: var(--saksham-primary-light) !important;
    border-color: var(--saksham-primary-light) !important;
    color: var(--saksham-text-primary) !important;
    transform: translateY(-1px);
    box-shadow: var(--saksham-shadow-medium);
}

/* Info buttons - use secondary blue */
.btn-info {
    background: var(--saksham-secondary) !important;
    border-color: var(--saksham-secondary) !important;
    color: var(--saksham-text-primary) !important;
}

.btn-info:hover, .btn-info:focus, .btn-info:active {
    background: var(--saksham-secondary-light) !important;
    border-color: var(--saksham-secondary-light) !important;
    color: var(--saksham-text-primary) !important;
    transform: translateY(-1px);
    box-shadow: var(--saksham-shadow-medium);
}

/* Warning buttons - use academic orange */
.btn-warning {
    background: var(--saksham-academic) !important;
    border-color: var(--saksham-academic) !important;
    color: var(--saksham-text-primary) !important;
}

.btn-warning:hover, .btn-warning:focus, .btn-warning:active {
    background: var(--saksham-academic-light) !important;
    border-color: var(--saksham-academic-light) !important;
    color: var(--saksham-text-primary) !important;
    transform: translateY(-1px);
    box-shadow: var(--saksham-shadow-medium);
}

/* Danger buttons - keep red for critical actions */
.btn-danger {
    background: var(--saksham-error) !important;
    border-color: var(--saksham-error) !important;
    color: var(--saksham-text-primary) !important;
}

.btn-danger:hover, .btn-danger:focus, .btn-danger:active {
    background: #B71C1C !important;
    border-color: #B71C1C !important;
    color: var(--saksham-text-primary) !important;
    transform: translateY(-1px);
    box-shadow: var(--saksham-shadow-medium);
}

/* Secondary buttons - neutral gray */
.btn-secondary {
    background: var(--saksham-dark-gray) !important;
    border-color: var(--saksham-gray) !important;
    color: var(--saksham-text-primary) !important;
}

.btn-secondary:hover, .btn-secondary:focus, .btn-secondary:active {
    background: var(--saksham-gray) !important;
    border-color: var(--saksham-gray) !important;
    color: var(--saksham-text-primary) !important;
    transform: translateY(-1px);
    box-shadow: var(--saksham-shadow-medium);
}

/* Outline button variants */
.btn-outline-primary {
    color: var(--saksham-primary) !important;
    border-color: var(--saksham-primary) !important;
}

.btn-outline-primary:hover {
    background: var(--saksham-primary) !important;
    border-color: var(--saksham-primary) !important;
    color: var(--saksham-text-primary) !important;
}

.btn-outline-success {
    color: var(--saksham-primary) !important;
    border-color: var(--saksham-primary) !important;
}

.btn-outline-success:hover {
    background: var(--saksham-primary) !important;
    border-color: var(--saksham-primary) !important;
    color: var(--saksham-text-primary) !important;
}

.btn-outline-info {
    color: var(--saksham-secondary) !important;
    border-color: var(--saksham-secondary) !important;
}

.btn-outline-info:hover {
    background: var(--saksham-secondary) !important;
    border-color: var(--saksham-secondary) !important;
    color: var(--saksham-text-primary) !important;
}

/* Override Bootstrap Nav Tabs to use consistent theme colors with proper contrast */
.nav-tabs {
    border-bottom: 2px solid rgba(255, 255, 255, 0.3) !important;
}

.nav-tabs .nav-link {
    color: var(--saksham-text-secondary) !important;  /* White with slight transparency */
    background-color: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid transparent !important;
    border-bottom: 2px solid transparent !important;
    transition: all 0.3s ease;
}

.nav-tabs .nav-link:hover {
    color: var(--saksham-text-primary) !important;  /* Full white on hover */
    background-color: rgba(255, 255, 255, 0.2) !important;
    border-color: transparent !important;
    border-bottom: 2px solid var(--saksham-text-primary) !important;
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
    color: var(--saksham-text-primary) !important;  /* White text for active */
    background-color: rgba(255, 255, 255, 0.25) !important;  /* Slightly more opaque white bg */
    border-color: rgba(255, 255, 255, 0.5) rgba(255, 255, 255, 0.5) transparent !important;
    border-bottom: 3px solid var(--saksham-text-primary) !important;  /* White underline */
    font-weight: 600;
}

/* Nav Pills styling with proper contrast */
.nav-pills .nav-link {
    color: var(--saksham-text-secondary) !important;
    background-color: rgba(255, 255, 255, 0.1) !important;
    transition: all 0.3s ease;
}

.nav-pills .nav-link:hover {
    color: var(--saksham-text-primary) !important;
    background-color: rgba(255, 255, 255, 0.2) !important;
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
    color: var(--saksham-primary-dark) !important;  /* Dark green text on white bg for contrast */
    background-color: var(--saksham-text-primary) !important;  /* White background */
    font-weight: 600;
}

/* Tab content styling */
.tab-content {
    background-color: transparent !important;
    padding: 1rem 0;
}

.tab-pane {
    animation: fadeIn 0.3s ease-in;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Fix small box colors on legal case page */
.small-box.bg-info {
    background: var(--saksham-secondary) !important;
}

.small-box.bg-success {
    background: var(--saksham-primary) !important;
}

.small-box.bg-warning {
    background: var(--saksham-academic) !important;
}

.small-box.bg-danger {
    background: var(--saksham-error) !important;
}

/* Ensure text is readable on all backgrounds */
.small-box .inner h3,
.small-box .inner p {
    color: var(--saksham-text-primary) !important;
}

.btn-secondary {
    background: var(--saksham-secondary) !important;
    border-color: var(--saksham-secondary-light) !important;
    color: var(--saksham-text-primary) !important;
}

.btn-secondary:hover {
    background: var(--saksham-secondary-light) !important;
    border-color: var(--saksham-secondary-light) !important;
    transform: translateY(-1px);
    box-shadow: var(--saksham-shadow-medium);
}

/* Fix any remaining inline styled divs */
div[style*="background: rgba(255,255,255,0.1)"],
div[style*="background: rgba(255,255,255,0.15)"] {
    background: var(--saksham-card-bg) !important;
    border: 1px solid var(--saksham-card-border) !important;
    backdrop-filter: blur(10px);
}

/* GLOBAL FIX: Prevent white-on-white text visibility issues */
/* Ensure white/light backgrounds always have dark text */
.card-body[style*="background: white"],
.card-body[style*="background-color: white"],
.modal-content[style*="background: white"],
.modal-body[style*="background: white"],
.bg-white,
.bg-light,
[style*="background: white"],
[style*="background-color: white"],
[style*="background: #fff"],
[style*="background-color: #fff"] {
    color: #333 !important;
}

/* Fix headings in white background sections */
.card-body[style*="background: white"] h1,
.card-body[style*="background: white"] h2,
.card-body[style*="background: white"] h3,
.card-body[style*="background: white"] h4,
.card-body[style*="background: white"] h5,
.card-body[style*="background: white"] h6,
.modal-content[style*="background: white"] h1,
.modal-content[style*="background: white"] h2,
.modal-content[style*="background: white"] h3,
.modal-content[style*="background: white"] h4,
.modal-content[style*="background: white"] h5,
.modal-content[style*="background: white"] h6,
.bg-white h1, .bg-white h2, .bg-white h3, .bg-white h4, .bg-white h5, .bg-white h6,
.bg-light h1, .bg-light h2, .bg-light h3, .bg-light h4, .bg-light h5, .bg-light h6,
[style*="background: white"] h1,
[style*="background: white"] h2,
[style*="background: white"] h3,
[style*="background: white"] h4,
[style*="background: white"] h5,
[style*="background: white"] h6 {
    color: #2c3e50 !important;
}

/* Fix form labels in white backgrounds */
.card-body[style*="background: white"] .form-label,
.modal-content[style*="background: white"] .form-label,
.bg-white .form-label,
.bg-light .form-label,
[style*="background: white"] .form-label {
    color: #2c3e50 !important;
}

/* Fix any text in white background containers */
.card-body[style*="background: white"] p,
.modal-content[style*="background: white"] p,
.bg-white p,
.bg-light p,
[style*="background: white"] p {
    color: #333 !important;
}

/* ========================================
   GLOBAL BUTTON CONTRAST FIXES
   Ensures all buttons have proper contrast 
   against the Saksham green gradient background
   ======================================== */

/* Primary Outline Button Fix - Most Common Issue */
.btn-outline-primary {
    background-color: rgba(255, 255, 255, 0.95) !important;
    border-color: var(--saksham-primary) !important;
    color: var(--saksham-primary) !important;
    font-weight: 500 !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active {
    background-color: var(--saksham-primary) !important;
    border-color: var(--saksham-primary) !important;
    color: white !important;
    box-shadow: 0 4px 8px rgba(46, 125, 50, 0.3) !important;
}

/* Secondary Outline Button Fix */
.btn-outline-secondary {
    background-color: rgba(255, 255, 255, 0.95) !important;
    border-color: var(--saksham-dark-gray) !important;
    color: var(--saksham-dark-gray) !important;
    font-weight: 500 !important;
}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus,
.btn-outline-secondary:active {
    background-color: var(--saksham-dark-gray) !important;
    border-color: var(--saksham-dark-gray) !important;
    color: white !important;
    box-shadow: 0 4px 8px rgba(66, 66, 66, 0.3) !important;
}

/* Success Outline Button Fix */
.btn-outline-success {
    background-color: rgba(255, 255, 255, 0.95) !important;
    border-color: var(--saksham-success) !important;
    color: var(--saksham-success) !important;
    font-weight: 500 !important;
}

.btn-outline-success:hover,
.btn-outline-success:focus,
.btn-outline-success:active {
    background-color: var(--saksham-success) !important;
    border-color: var(--saksham-success) !important;
    color: white !important;
    box-shadow: 0 4px 8px rgba(46, 125, 50, 0.3) !important;
}

/* Info Outline Button Fix */
.btn-outline-info {
    background-color: rgba(255, 255, 255, 0.95) !important;
    border-color: var(--saksham-info) !important;
    color: var(--saksham-info) !important;
    font-weight: 500 !important;
}

.btn-outline-info:hover,
.btn-outline-info:focus,
.btn-outline-info:active {
    background-color: var(--saksham-info) !important;
    border-color: var(--saksham-info) !important;
    color: white !important;
    box-shadow: 0 4px 8px rgba(25, 118, 210, 0.3) !important;
}

/* Warning Outline Button Fix */
.btn-outline-warning {
    background-color: rgba(255, 255, 255, 0.95) !important;
    border-color: var(--saksham-warning) !important;
    color: var(--saksham-warning) !important;
    font-weight: 500 !important;
}

.btn-outline-warning:hover,
.btn-outline-warning:focus,
.btn-outline-warning:active {
    background-color: var(--saksham-warning) !important;
    border-color: var(--saksham-warning) !important;
    color: white !important;
    box-shadow: 0 4px 8px rgba(245, 124, 0, 0.3) !important;
}

/* Danger Outline Button Fix */
.btn-outline-danger {
    background-color: rgba(255, 255, 255, 0.95) !important;
    border-color: var(--saksham-error) !important;
    color: var(--saksham-error) !important;
    font-weight: 500 !important;
}

.btn-outline-danger:hover,
.btn-outline-danger:focus,
.btn-outline-danger:active {
    background-color: var(--saksham-error) !important;
    border-color: var(--saksham-error) !important;
    color: white !important;
    box-shadow: 0 4px 8px rgba(211, 47, 47, 0.3) !important;
}

/* Light Outline Button Fix */
.btn-outline-light {
    background-color: rgba(255, 255, 255, 0.95) !important;
    border-color: rgba(255, 255, 255, 0.8) !important;
    color: var(--saksham-black) !important;
    font-weight: 500 !important;
}

.btn-outline-light:hover,
.btn-outline-light:focus,
.btn-outline-light:active {
    background-color: white !important;
    border-color: white !important;
    color: var(--saksham-black) !important;
    box-shadow: 0 4px 8px rgba(255, 255, 255, 0.3) !important;
}

/* Dark Outline Button Fix */
.btn-outline-dark {
    background-color: rgba(255, 255, 255, 0.95) !important;
    border-color: var(--saksham-black) !important;
    color: var(--saksham-black) !important;
    font-weight: 500 !important;
}

.btn-outline-dark:hover,
.btn-outline-dark:focus,
.btn-outline-dark:active {
    background-color: var(--saksham-black) !important;
    border-color: var(--saksham-black) !important;
    color: white !important;
    box-shadow: 0 4px 8px rgba(33, 33, 33, 0.3) !important;
}

/* Solid Button Enhancements for Better Visibility */
.btn-primary {
    background-color: var(--saksham-primary) !important;
    border-color: var(--saksham-primary) !important;
    color: white !important;
    font-weight: 500 !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: var(--saksham-primary-dark) !important;
    border-color: var(--saksham-primary-dark) !important;
    color: white !important;
    box-shadow: 0 4px 8px rgba(46, 125, 50, 0.4) !important;
}

.btn-secondary {
    background-color: var(--saksham-dark-gray) !important;
    border-color: var(--saksham-dark-gray) !important;
    color: white !important;
    font-weight: 500 !important;
}

.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary:active {
    background-color: var(--saksham-black) !important;
    border-color: var(--saksham-black) !important;
    color: white !important;
    box-shadow: 0 4px 8px rgba(66, 66, 66, 0.4) !important;
}

/* Button Group Fixes */
.btn-group .btn-outline-primary,
.btn-group .btn-outline-secondary,
.btn-group .btn-outline-success,
.btn-group .btn-outline-info,
.btn-group .btn-outline-warning,
.btn-group .btn-outline-danger {
    background-color: rgba(255, 255, 255, 0.95) !important;
}

/* Small Button Size Fixes */
.btn-sm.btn-outline-primary,
.btn-sm.btn-outline-secondary,
.btn-sm.btn-outline-success,
.btn-sm.btn-outline-info,
.btn-sm.btn-outline-warning,
.btn-sm.btn-outline-danger {
    background-color: rgba(255, 255, 255, 0.95) !important;
    font-weight: 500 !important;
}

/* Large Button Size Fixes */
.btn-lg.btn-outline-primary,
.btn-lg.btn-outline-secondary,
.btn-lg.btn-outline-success,
.btn-lg.btn-outline-info,
.btn-lg.btn-outline-warning,
.btn-lg.btn-outline-danger {
    background-color: rgba(255, 255, 255, 0.95) !important;
    font-weight: 600 !important;
}