/* Ultra Modern Color System - Override Bootstrap Colors */

:root {
    /* Primary Color Palette - Vibrant Magenta Pink */
    --bs-primary: #E91E63;
    --bs-primary-rgb: 233, 30, 99;
    --bs-primary-100: #FCE4EC;
    --bs-primary-200: #F8BBD9;
    --bs-primary-300: #F48FB1;
    --bs-primary-400: #F06292;
    --bs-primary-500: #E91E63;
    --bs-primary-600: #D81B60;
    --bs-primary-700: #C2185B;
    --bs-primary-800: #AD1457;
    --bs-primary-900: #880E4F;

    /* Secondary Color Palette - Sophisticated Purple */
    --bs-secondary: #7C3AED;
    --bs-secondary-rgb: 124, 58, 237;
    --bs-secondary-100: #F3EFFF;
    --bs-secondary-200: #E7DEFF;
    --bs-secondary-300: #CFBDFF;
    --bs-secondary-400: #B79CFF;
    --bs-secondary-500: #7C3AED;
    --bs-secondary-600: #6B21D4;
    --bs-secondary-700: #5B11BA;
    --bs-secondary-800: #4B05A1;
    --bs-secondary-900: #3C0087;

    /* Success Color Palette - Vibrant Emerald */
    --bs-success: #10B981;
    --bs-success-rgb: 16, 185, 129;
    --bs-success-100: #ECFDF5;
    --bs-success-200: #D1FAE5;
    --bs-success-300: #A7F3D0;
    --bs-success-400: #6EE7B7;
    --bs-success-500: #10B981;
    --bs-success-600: #059669;
    --bs-success-700: #047857;
    --bs-success-800: #065F46;
    --bs-success-900: #064E3B;

    /* Info Color Palette - Bright Cyan */
    --bs-info: #06B6D4;
    --bs-info-rgb: 6, 182, 212;
    --bs-info-100: #ECFEFF;
    --bs-info-200: #CFFAFE;
    --bs-info-300: #A5F3FC;
    --bs-info-400: #67E8F9;
    --bs-info-500: #06B6D4;
    --bs-info-600: #0891B2;
    --bs-info-700: #0E7490;
    --bs-info-800: #155E75;
    --bs-info-900: #164E63;

    /* Warning Color Palette - Golden Amber */
    --bs-warning: #F59E0B;
    --bs-warning-rgb: 245, 158, 11;
    --bs-warning-100: #FFFBEB;
    --bs-warning-200: #FEF3C7;
    --bs-warning-300: #FDE68A;
    --bs-warning-400: #FBBF24;
    --bs-warning-500: #F59E0B;
    --bs-warning-600: #D97706;
    --bs-warning-700: #B45309;
    --bs-warning-800: #92400E;
    --bs-warning-900: #78350F;

    /* Danger Color Palette - Modern Crimson */
    --bs-danger: #EF4444;
    --bs-danger-rgb: 239, 68, 68;
    --bs-danger-100: #FEF2F2;
    --bs-danger-200: #FECACA;
    --bs-danger-300: #FCA5A5;
    --bs-danger-400: #F87171;
    --bs-danger-500: #EF4444;
    --bs-danger-600: #DC2626;
    --bs-danger-700: #B91C1C;
    --bs-danger-800: #991B1B;
    --bs-danger-900: #7F1D1D;

    /* Light Color Palette - Ultra Clean */
    --bs-light: #F8FAFC;
    --bs-light-rgb: 248, 250, 252;

    /* Dark Color Palette - Deep Charcoal */
    --bs-dark: #1E293B;
    --bs-dark-rgb: 30, 41, 59;

    /* Neutral Grays - Modern Scale */
    --bs-gray-50: #F9FAFB;
    --bs-gray-100: #F3F4F6;
    --bs-gray-200: #E5E7EB;
    --bs-gray-300: #D1D5DB;
    --bs-gray-400: #9CA3AF;
    --bs-gray-500: #6B7280;
    --bs-gray-600: #4B5563;
    --bs-gray-700: #374151;
    --bs-gray-800: #1F2937;
    --bs-gray-900: #111827;

    /* Body and Text Colors */
    --bs-body-color: #1F2937;
    --bs-body-bg: #FFFFFF;
    --bs-emphasis-color: #111827;
    --bs-secondary-color: #6B7280;
    --bs-tertiary-color: #9CA3AF;

    /* Border Colors */
    --bs-border-color: #E5E7EB;
    --bs-border-color-translucent: rgba(229, 231, 235, 0.175);

    /* Link Colors */
    --bs-link-color: #2D5BFF;
    --bs-link-hover-color: #1A4AE6;

    /* Focus Colors */
    --bs-focus-ring-color: rgba(45, 91, 255, 0.25);
    --bs-form-valid-color: #10B981;
    --bs-form-invalid-color: #EF4444;
}

/* Override Bootstrap Color Classes */
.text-primary { color: var(--bs-primary) !important; }
.text-secondary { color: var(--bs-secondary) !important; }
.text-success { color: var(--bs-success) !important; }
.text-danger { color: var(--bs-danger) !important; }
.text-warning { color: var(--bs-warning) !important; }
.text-info { color: var(--bs-info) !important; }
.text-light { color: var(--bs-light) !important; }
.text-dark { color: var(--bs-dark) !important; }

.bg-primary { background-color: var(--bs-primary) !important; }
.bg-secondary { background-color: var(--bs-secondary) !important; }
.bg-success { background-color: var(--bs-success) !important; }
.bg-danger { background-color: var(--bs-danger) !important; }
.bg-warning { background-color: var(--bs-warning) !important; }
.bg-info { background-color: var(--bs-info) !important; }
.bg-light { background-color: var(--bs-light) !important; }
.bg-dark { background-color: var(--bs-dark) !important; }

.border-primary { border-color: var(--bs-primary) !important; }
.border-secondary { border-color: var(--bs-secondary) !important; }
.border-success { border-color: var(--bs-success) !important; }
.border-danger { border-color: var(--bs-danger) !important; }
.border-warning { border-color: var(--bs-warning) !important; }
.border-info { border-color: var(--bs-info) !important; }

/* Button Color Overrides */
.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--bs-primary-600);
    --bs-btn-hover-border-color: var(--bs-primary-600);
    --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bs-primary-700);
    --bs-btn-active-border-color: var(--bs-primary-700);
}

.btn-secondary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--bs-secondary);
    --bs-btn-border-color: var(--bs-secondary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--bs-secondary-600);
    --bs-btn-hover-border-color: var(--bs-secondary-600);
    --bs-btn-focus-shadow-rgb: var(--bs-secondary-rgb);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bs-secondary-700);
    --bs-btn-active-border-color: var(--bs-secondary-700);
}

.btn-success {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--bs-success);
    --bs-btn-border-color: var(--bs-success);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--bs-success-600);
    --bs-btn-hover-border-color: var(--bs-success-600);
    --bs-btn-focus-shadow-rgb: var(--bs-success-rgb);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bs-success-700);
    --bs-btn-active-border-color: var(--bs-success-700);
}

.btn-danger {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--bs-danger);
    --bs-btn-border-color: var(--bs-danger);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--bs-danger-600);
    --bs-btn-hover-border-color: var(--bs-danger-600);
    --bs-btn-focus-shadow-rgb: var(--bs-danger-rgb);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bs-danger-700);
    --bs-btn-active-border-color: var(--bs-danger-700);
}

.btn-warning {
    --bs-btn-color: #000;
    --bs-btn-bg: var(--bs-warning);
    --bs-btn-border-color: var(--bs-warning);
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: var(--bs-warning-600);
    --bs-btn-hover-border-color: var(--bs-warning-600);
    --bs-btn-focus-shadow-rgb: var(--bs-warning-rgb);
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: var(--bs-warning-700);
    --bs-btn-active-border-color: var(--bs-warning-700);
}

.btn-info {
    --bs-btn-color: #000;
    --bs-btn-bg: var(--bs-info);
    --bs-btn-border-color: var(--bs-info);
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: var(--bs-info-600);
    --bs-btn-hover-border-color: var(--bs-info-600);
    --bs-btn-focus-shadow-rgb: var(--bs-info-rgb);
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: var(--bs-info-700);
    --bs-btn-active-border-color: var(--bs-info-700);
}

/* Outline Button Styles - Light Background Matching Text Color */
.btn-outline-primary {
    --bs-btn-color: var(--bs-primary);
    --bs-btn-bg: var(--bs-primary-100);
    --bs-btn-border-color: var(--bs-primary-300);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--bs-primary);
    --bs-btn-hover-border-color: var(--bs-primary);
    --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bs-primary-600);
    --bs-btn-active-border-color: var(--bs-primary-600);
}

.btn-outline-secondary {
    --bs-btn-color: var(--bs-secondary);
    --bs-btn-bg: var(--bs-secondary-100);
    --bs-btn-border-color: var(--bs-secondary-300);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--bs-secondary);
    --bs-btn-hover-border-color: var(--bs-secondary);
    --bs-btn-focus-shadow-rgb: var(--bs-secondary-rgb);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bs-secondary-600);
    --bs-btn-active-border-color: var(--bs-secondary-600);
}

.btn-outline-success {
    --bs-btn-color: var(--bs-success);
    --bs-btn-bg: var(--bs-success-100);
    --bs-btn-border-color: var(--bs-success-300);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--bs-success);
    --bs-btn-hover-border-color: var(--bs-success);
    --bs-btn-focus-shadow-rgb: var(--bs-success-rgb);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bs-success-600);
    --bs-btn-active-border-color: var(--bs-success-600);
}

.btn-outline-danger {
    --bs-btn-color: var(--bs-danger);
    --bs-btn-bg: var(--bs-danger-100);
    --bs-btn-border-color: var(--bs-danger-300);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--bs-danger);
    --bs-btn-hover-border-color: var(--bs-danger);
    --bs-btn-focus-shadow-rgb: var(--bs-danger-rgb);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bs-danger-600);
    --bs-btn-active-border-color: var(--bs-danger-600);
}

.btn-outline-warning {
    --bs-btn-color: var(--bs-warning);
    --bs-btn-bg: var(--bs-warning-100);
    --bs-btn-border-color: var(--bs-warning-300);
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: var(--bs-warning);
    --bs-btn-hover-border-color: var(--bs-warning);
    --bs-btn-focus-shadow-rgb: var(--bs-warning-rgb);
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: var(--bs-warning-600);
    --bs-btn-active-border-color: var(--bs-warning-600);
}

.btn-outline-info {
    --bs-btn-color: var(--bs-info);
    --bs-btn-bg: var(--bs-info-100);
    --bs-btn-border-color: var(--bs-info-300);
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: var(--bs-info);
    --bs-btn-hover-border-color: var(--bs-info);
    --bs-btn-focus-shadow-rgb: var(--bs-info-rgb);
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: var(--bs-info-600);
    --bs-btn-active-border-color: var(--bs-info-600);
}

.btn-outline-light {
    --bs-btn-color: var(--bs-gray-600);
    --bs-btn-bg: var(--bs-light);
    --bs-btn-border-color: var(--bs-gray-300);
    --bs-btn-hover-color: var(--bs-dark);
    --bs-btn-hover-bg: var(--bs-gray-200);
    --bs-btn-hover-border-color: var(--bs-gray-300);
    --bs-btn-focus-shadow-rgb: var(--bs-light-rgb);
    --bs-btn-active-color: var(--bs-dark);
    --bs-btn-active-bg: var(--bs-gray-300);
    --bs-btn-active-border-color: var(--bs-gray-400);
}

.btn-outline-dark {
    --bs-btn-color: var(--bs-dark);
    --bs-btn-bg: var(--bs-gray-100);
    --bs-btn-border-color: var(--bs-gray-400);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--bs-dark);
    --bs-btn-hover-border-color: var(--bs-dark);
    --bs-btn-focus-shadow-rgb: var(--bs-dark-rgb);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bs-gray-800);
    --bs-btn-active-border-color: var(--bs-gray-800);
}


/* Gradient Backgrounds */
.bg-gradient-primary {
    background: linear-gradient(135deg, var(--bs-primary) 0%, var(--bs-secondary) 100%) !important;
}

.bg-gradient-success {
    background: linear-gradient(135deg, var(--bs-success) 0%, var(--bs-info) 100%) !important;
}

.bg-gradient-warning {
    background: linear-gradient(135deg, var(--bs-warning) 0%, var(--bs-danger) 100%) !important;
}

/* Modern Shadow Colors */
.shadow-primary {
    box-shadow: 0 0.5rem 1rem rgba(45, 91, 255, 0.15) !important;
}

.shadow-secondary {
    box-shadow: 0 0.5rem 1rem rgba(124, 58, 237, 0.15) !important;
}

.shadow-success {
    box-shadow: 0 0.5rem 1rem rgba(16, 185, 129, 0.15) !important;
}

/* Alert Color Overrides */
.alert-primary {
    --bs-alert-color: var(--bs-primary-800);
    --bs-alert-bg: var(--bs-primary-100);
    --bs-alert-border-color: var(--bs-primary-200);
}

.alert-secondary {
    --bs-alert-color: var(--bs-secondary-800);
    --bs-alert-bg: var(--bs-secondary-100);
    --bs-alert-border-color: var(--bs-secondary-200);
}

.alert-success {
    --bs-alert-color: var(--bs-success-800);
    --bs-alert-bg: var(--bs-success-100);
    --bs-alert-border-color: var(--bs-success-200);
}

.alert-danger {
    --bs-alert-color: var(--bs-danger-800);
    --bs-alert-bg: var(--bs-danger-100);
    --bs-alert-border-color: var(--bs-danger-200);
}

.alert-warning {
    --bs-alert-color: var(--bs-warning-800);
    --bs-alert-bg: var(--bs-warning-100);
    --bs-alert-border-color: var(--bs-warning-200);
}

.alert-info {
    --bs-alert-color: var(--bs-info-800);
    --bs-alert-bg: var(--bs-info-100);
    --bs-alert-border-color: var(--bs-info-200);
}