:root {
    /* Primary Colors */
    --primary: #4F7CAC;
    --primary-50: #f0f4f8;
    --primary-100: #d9e5f0;
    --primary-200: #b6cde1;
    --primary-300: #8bb1d0;
    --primary-400: #6b94bf;
    --primary-500: #4F7CAC;
    --primary-600: #42658c;
    --primary-700: #35506d;
    --primary-800: #283c4e;
    --primary-900: #1b272f;

    /* Secondary Colors */
    --secondary: #52ADB5;
    --secondary-50: #f0f9fa;
    --secondary-100: #d6eff1;
    --secondary-200: #b0dde2;
    --secondary-300: #87c9d0;
    --secondary-400: #6cbbbd;
    --secondary-500: #52ADB5;
    --secondary-600: #45949a;
    --secondary-700: #397a7f;
    --secondary-800: #2c6064;
    --secondary-900: #204649;

    /* Success/Green Colors */
    --success: #5CB85C;
    --success-50: #f0f9f0;
    --success-100: #d4edda;
    --success-200: #a7d7a7;
    --success-300: #7ac17a;
    --success-400: #6cb96c;
    --success-500: #5CB85C;
    --success-600: #4e9c4e;
    --success-700: #408040;
    --success-800: #326432;
    --success-900: #244824;

    /* Danger/Error Colors */
    --danger: #D9534F;
    --danger-50: #fdf2f2;
    --danger-100: #f8d7da;
    --danger-200: #f1aeb5;
    --danger-300: #ea868f;
    --danger-400: #e36c6a;
    --danger-500: #D9534F;
    --danger-600: #b94543;
    --danger-700: #993736;
    --danger-800: #7a2928;
    --danger-900: #5b1b1a;

    /* Warning Colors */
    --warning: #F0AD4E;
    --warning-50: #fef8f0;
    --warning-100: #fcecc6;
    --warning-200: #f9d896;
    --warning-300: #f5c466;
    --warning-400: #f2b14e;
    --warning-500: #F0AD4E;
    --warning-600: #cd9142;
    --warning-700: #aa7636;
    --warning-800: #875a2a;
    --warning-900: #643e1e;

    /* Purple Colors */
    --purple: #7C3AED;
    --purple-50: #f5f3ff;
    --purple-100: #ede9fe;
    --purple-200: #ddd6fe;
    --purple-300: #c4b5fd;
    --purple-400: #a78bfa;
    --purple-500: #7C3AED;
    --purple-600: #6d28d9;
    --purple-700: #5b21b6;
    --purple-800: #4c1d95;
    --purple-900: #3b0764;

    /* Info Colors */
    --info: #0284c7;
    --info-50: #f0f9ff;
    --info-100: #e0f2fe;
    --info-200: #bae6fd;
    --info-300: #7dd3fc;
    --info-400: #38bdf8;
    --info-500: #0284c7;
    --info-600: #0369a1;
    --info-700: #0c4a6e;
    --info-800: #075985;
    --info-900: #0c4a6e;

    /* Gray Colors */
    --gray-50: #f9fafb;
    --gray-100: #f3f4f6;
    --gray-200: #e5e7eb;
    --gray-300: #d1d5db;
    --gray-400: #9ca3af;
    --gray-500: #6b7280;
    --gray-600: #4b5563;
    --gray-700: #374151;
    --gray-800: #1f2937;
    --gray-900: #111827;

    /* Black Shades */
    --black: #000000;
    --black-50: #f5f5f5;
    --black-100: #e5e5e5;
    --black-200: #cccccc;
    --black-300: #999999;
    --black-400: #666666;
    --black-500: #333333;
    --black-600: #1f1f1f;
    --black-700: #141414;
    --black-800: #0a0a0a;
    --black-900: #000000;

    /* whiete Colors */
    --white: #FFFFFF;

    /* Additional Utility Colors */
    --muted: var(--gray-500);
    --border: var(--gray-200);
    --input: var(--white);
    --ring: var(--primary-500);
    --background: var(--white);
    --foreground: var(--gray-900);
    --black-opacity: rgba(0, 0, 0, 0.5);
}

/* Bootstrap Background Color Classes */
.bg-primary {
    background-color: var(--primary) !important;
}

.bg-primary-50 {
    background-color: var(--primary-50) !important;
}

.bg-primary-100 {
    background-color: var(--primary-100) !important;
}

.bg-primary-200 {
    background-color: var(--primary-200) !important;
}

.bg-primary-300 {
    background-color: var(--primary-300) !important;
}

.bg-primary-400 {
    background-color: var(--primary-400) !important;
}

.bg-primary-500 {
    background-color: var(--primary-500) !important;
}

.bg-primary-600 {
    background-color: var(--primary-600) !important;
}

.bg-primary-700 {
    background-color: var(--primary-700) !important;
}

.bg-primary-800 {
    background-color: var(--primary-800) !important;
}

.bg-primary-900 {
    background-color: var(--primary-900) !important;
}

.bg-secondary {
    background-color: var(--secondary) !important;
}

.bg-secondary-50 {
    background-color: var(--secondary-50) !important;
}

.bg-secondary-100 {
    background-color: var(--secondary-100) !important;
}

.bg-secondary-200 {
    background-color: var(--secondary-200) !important;
}

.bg-secondary-300 {
    background-color: var(--secondary-300) !important;
}

.bg-secondary-400 {
    background-color: var(--secondary-400) !important;
}

.bg-secondary-500 {
    background-color: var(--secondary-500) !important;
}

.bg-secondary-600 {
    background-color: var(--secondary-600) !important;
}

.bg-secondary-700 {
    background-color: var(--secondary-700) !important;
}

.bg-secondary-800 {
    background-color: var(--secondary-800) !important;
}

.bg-secondary-900 {
    background-color: var(--secondary-900) !important;
}

.bg-success {
    background-color: var(--success) !important;
}

.bg-success-50 {
    background-color: var(--success-50) !important;
}

.bg-success-100 {
    background-color: var(--success-100) !important;
}

.bg-success-200 {
    background-color: var(--success-200) !important;
}

.bg-success-300 {
    background-color: var(--success-300) !important;
}

.bg-success-400 {
    background-color: var(--success-400) !important;
}

.bg-success-500 {
    background-color: var(--success-500) !important;
}

.bg-success-600 {
    background-color: var(--success-600) !important;
}

.bg-success-700 {
    background-color: var(--success-700) !important;
}

.bg-success-800 {
    background-color: var(--success-800) !important;
}

.bg-success-900 {
    background-color: var(--success-900) !important;
}

.bg-danger {
    background-color: var(--danger) !important;
}

.bg-danger-50 {
    background-color: var(--danger-50) !important;
}

.bg-danger-100 {
    background-color: var(--danger-100) !important;
}

.bg-danger-200 {
    background-color: var(--danger-200) !important;
}

.bg-danger-300 {
    background-color: var(--danger-300) !important;
}

.bg-danger-400 {
    background-color: var(--danger-400) !important;
}

.bg-danger-500 {
    background-color: var(--danger-500) !important;
}

.bg-danger-600 {
    background-color: var(--danger-600) !important;
}

.bg-danger-700 {
    background-color: var(--danger-700) !important;
}

.bg-danger-800 {
    background-color: var(--danger-800) !important;
}

.bg-danger-900 {
    background-color: var(--danger-900) !important;
}

.bg-warning {
    background-color: var(--warning) !important;
}

.bg-warning-50 {
    background-color: var(--warning-50) !important;
}

.bg-warning-100 {
    background-color: var(--warning-100) !important;
}

.bg-warning-200 {
    background-color: var(--warning-200) !important;
}

.bg-warning-300 {
    background-color: var(--warning-300) !important;
}

.bg-warning-400 {
    background-color: var(--warning-400) !important;
}

.bg-warning-500 {
    background-color: var(--warning-500) !important;
}

.bg-warning-600 {
    background-color: var(--warning-600) !important;
}

.bg-warning-700 {
    background-color: var(--warning-700) !important;
}

.bg-warning-800 {
    background-color: var(--warning-800) !important;
}

.bg-warning-900 {
    background-color: var(--warning-900) !important;
}

.bg-info {
    background-color: var(--info) !important;
}

.bg-info-50 {
    background-color: var(--info-50) !important;
}

.bg-info-100 {
    background-color: var(--info-100) !important;
}

.bg-info-200 {
    background-color: var(--info-200) !important;
}

.bg-info-300 {
    background-color: var(--info-300) !important;
}

.bg-info-400 {
    background-color: var(--info-400) !important;
}

.bg-info-500 {
    background-color: var(--info-500) !important;
}

.bg-info-600 {
    background-color: var(--info-600) !important;
}

.bg-info-700 {
    background-color: var(--info-700) !important;
}

.bg-info-800 {
    background-color: var(--info-800) !important;
}

.bg-info-900 {
    background-color: var(--info-900) !important;
}

.bg-light {
    background-color: var(--light-gray) !important;
}

.bg-dark {
    background-color: var(--dark-gray) !important;
}

.bg-white {
    background-color: var(--white) !important;
}

.bg-black {
    background-color: var(--black) !important;
}

.bg-gray-50 {
    background-color: var(--gray-50) !important;
}

.bg-gray-100 {
    background-color: var(--gray-100) !important;
}

.bg-gray-200 {
    background-color: var(--gray-200) !important;
}

.bg-gray-300 {
    background-color: var(--gray-300) !important;
}

.bg-gray-400 {
    background-color: var(--gray-400) !important;
}

.bg-gray-500 {
    background-color: var(--gray-500) !important;
}

.bg-gray-600 {
    background-color: var(--gray-600) !important;
}

.bg-gray-700 {
    background-color: var(--gray-700) !important;
}

.bg-gray-800 {
    background-color: var(--gray-800) !important;
}

.bg-gray-900 {
    background-color: var(--gray-900) !important;
}

/* Legacy Background Classes */
.bg-accent-green {
    background-color: var(--success) !important;
}

.bg-accent-red {
    background-color: var(--danger) !important;
}

/* Bootstrap Text Color Classes */
.text-primary {
    color: var(--primary) !important;
}

.text-primary-50 {
    color: var(--primary-50) !important;
}

.text-primary-100 {
    color: var(--primary-100) !important;
}

.text-primary-200 {
    color: var(--primary-200) !important;
}

.text-primary-300 {
    color: var(--primary-300) !important;
}

.text-primary-400 {
    color: var(--primary-400) !important;
}

.text-primary-500 {
    color: var(--primary-500) !important;
}

.text-primary-600 {
    color: var(--primary-600) !important;
}

.text-primary-700 {
    color: var(--primary-700) !important;
}

.text-primary-800 {
    color: var(--primary-800) !important;
}

.text-primary-900 {
    color: var(--primary-900) !important;
}

.text-secondary {
    color: var(--secondary) !important;
}

.text-secondary-50 {
    color: var(--secondary-50) !important;
}

.text-secondary-100 {
    color: var(--secondary-100) !important;
}

.text-secondary-200 {
    color: var(--secondary-200) !important;
}

.text-secondary-300 {
    color: var(--secondary-300) !important;
}

.text-secondary-400 {
    color: var(--secondary-400) !important;
}

.text-secondary-500 {
    color: var(--secondary-500) !important;
}

.text-secondary-600 {
    color: var(--secondary-600) !important;
}

.text-secondary-700 {
    color: var(--secondary-700) !important;
}

.text-secondary-800 {
    color: var(--secondary-800) !important;
}

.text-secondary-900 {
    color: var(--secondary-900) !important;
}

.text-success {
    color: var(--success) !important;
}

.text-success-50 {
    color: var(--success-50) !important;
}

.text-success-100 {
    color: var(--success-100) !important;
}

.text-success-200 {
    color: var(--success-200) !important;
}

.text-success-300 {
    color: var(--success-300) !important;
}

.text-success-400 {
    color: var(--success-400) !important;
}

.text-success-500 {
    color: var(--success-500) !important;
}

.text-success-600 {
    color: var(--success-600) !important;
}

.text-success-700 {
    color: var(--success-700) !important;
}

.text-success-800 {
    color: var(--success-800) !important;
}

.text-success-900 {
    color: var(--success-900) !important;
}

.text-danger {
    color: var(--danger) !important;
}

.text-danger-50 {
    color: var(--danger-50) !important;
}

.text-danger-100 {
    color: var(--danger-100) !important;
}

.text-danger-200 {
    color: var(--danger-200) !important;
}

.text-danger-300 {
    color: var(--danger-300) !important;
}

.text-danger-400 {
    color: var(--danger-400) !important;
}

.text-danger-500 {
    color: var(--danger-500) !important;
}

.text-danger-600 {
    color: var(--danger-600) !important;
}

.text-danger-700 {
    color: var(--danger-700) !important;
}

.text-danger-800 {
    color: var(--danger-800) !important;
}

.text-danger-900 {
    color: var(--danger-900) !important;
}

.text-warning {
    color: var(--warning) !important;
}

.text-warning-50 {
    color: var(--warning-50) !important;
}

.text-warning-100 {
    color: var(--warning-100) !important;
}

.text-warning-200 {
    color: var(--warning-200) !important;
}

.text-warning-300 {
    color: var(--warning-300) !important;
}

.text-warning-400 {
    color: var(--warning-400) !important;
}

.text-warning-500 {
    color: var(--warning-500) !important;
}

.text-warning-600 {
    color: var(--warning-600) !important;
}

.text-warning-700 {
    color: var(--warning-700) !important;
}

.text-warning-800 {
    color: var(--warning-800) !important;
}

.text-warning-900 {
    color: var(--warning-900) !important;
}

.text-info {
    color: var(--info) !important;
}

.text-info-50 {
    color: var(--info-50) !important;
}

.text-info-100 {
    color: var(--info-100) !important;
}

.text-info-200 {
    color: var(--info-200) !important;
}

.text-info-300 {
    color: var(--info-300) !important;
}

.text-info-400 {
    color: var(--info-400) !important;
}

.text-info-500 {
    color: var(--info-500) !important;
}

.text-info-600 {
    color: var(--info-600) !important;
}

.text-info-700 {
    color: var(--info-700) !important;
}

.text-info-800 {
    color: var(--info-800) !important;
}

.text-info-900 {
    color: var(--info-900) !important;
}

.text-light {
    color: var(--light-gray) !important;
}

.text-dark {
    color: var(--dark-gray) !important;
}

.text-white {
    color: var(--white) !important;
}

.text-black {
    color: var(--black) !important;
}

.text-gray-50 {
    color: var(--gray-50) !important;
}

.text-gray-100 {
    color: var(--gray-100) !important;
}

.text-gray-200 {
    color: var(--gray-200) !important;
}

.text-gray-300 {
    color: var(--gray-300) !important;
}

.text-gray-400 {
    color: var(--gray-400) !important;
}

.text-gray-500 {
    color: var(--gray-500) !important;
}

.text-gray-600 {
    color: var(--gray-600) !important;
}

.text-gray-700 {
    color: var(--gray-700) !important;
}

.text-gray-800 {
    color: var(--gray-800) !important;
}

.text-gray-900 {
    color: var(--gray-900) !important;
}

.text-muted {
    color: var(--muted) !important;
}

.text-dark-gray {
    color: var(--dark-gray) !important;
}

/* Bootstrap Border Color Classes */
.border-primary {
    border-color: var(--primary) !important;
}

.border-primary-50 {
    border-color: var(--primary-50) !important;
}

.border-primary-100 {
    border-color: var(--primary-100) !important;
}

.border-primary-200 {
    border-color: var(--primary-200) !important;
}

.border-primary-300 {
    border-color: var(--primary-300) !important;
}

.border-primary-400 {
    border-color: var(--primary-400) !important;
}

.border-primary-500 {
    border-color: var(--primary-500) !important;
}

.border-primary-600 {
    border-color: var(--primary-600) !important;
}

.border-primary-700 {
    border-color: var(--primary-700) !important;
}

.border-primary-800 {
    border-color: var(--primary-800) !important;
}

.border-primary-900 {
    border-color: var(--primary-900) !important;
}

.border-secondary {
    border-color: var(--secondary) !important;
}

.border-secondary-50 {
    border-color: var(--secondary-50) !important;
}

.border-secondary-100 {
    border-color: var(--secondary-100) !important;
}

.border-secondary-200 {
    border-color: var(--secondary-200) !important;
}

.border-secondary-300 {
    border-color: var(--secondary-300) !important;
}

.border-secondary-400 {
    border-color: var(--secondary-400) !important;
}

.border-secondary-500 {
    border-color: var(--secondary-500) !important;
}

.border-secondary-600 {
    border-color: var(--secondary-600) !important;
}

.border-secondary-700 {
    border-color: var(--secondary-700) !important;
}

.border-secondary-800 {
    border-color: var(--secondary-800) !important;
}

.border-secondary-900 {
    border-color: var(--secondary-900) !important;
}

.border-success {
    border-color: var(--success) !important;
}

.border-success-50 {
    border-color: var(--success-50) !important;
}

.border-success-100 {
    border-color: var(--success-100) !important;
}

.border-success-200 {
    border-color: var(--success-200) !important;
}

.border-success-300 {
    border-color: var(--success-300) !important;
}

.border-success-400 {
    border-color: var(--success-400) !important;
}

.border-success-500 {
    border-color: var(--success-500) !important;
}

.border-success-600 {
    border-color: var(--success-600) !important;
}

.border-success-700 {
    border-color: var(--success-700) !important;
}

.border-success-800 {
    border-color: var(--success-800) !important;
}

.border-success-900 {
    border-color: var(--success-900) !important;
}

.border-danger {
    border-color: var(--danger) !important;
}

.border-danger-50 {
    border-color: var(--danger-50) !important;
}

.border-danger-100 {
    border-color: var(--danger-100) !important;
}

.border-danger-200 {
    border-color: var(--danger-200) !important;
}

.border-danger-300 {
    border-color: var(--danger-300) !important;
}

.border-danger-400 {
    border-color: var(--danger-400) !important;
}

.border-danger-500 {
    border-color: var(--danger-500) !important;
}

.border-danger-600 {
    border-color: var(--danger-600) !important;
}

.border-danger-700 {
    border-color: var(--danger-700) !important;
}

.border-danger-800 {
    border-color: var(--danger-800) !important;
}

.border-danger-900 {
    border-color: var(--danger-900) !important;
}

.border-warning {
    border-color: var(--warning) !important;
}

.border-warning-50 {
    border-color: var(--warning-50) !important;
}

.border-warning-100 {
    border-color: var(--warning-100) !important;
}

.border-warning-200 {
    border-color: var(--warning-200) !important;
}

.border-warning-300 {
    border-color: var(--warning-300) !important;
}

.border-warning-400 {
    border-color: var(--warning-400) !important;
}

.border-warning-500 {
    border-color: var(--warning-500) !important;
}

.border-warning-600 {
    border-color: var(--warning-600) !important;
}

.border-warning-700 {
    border-color: var(--warning-700) !important;
}

.border-warning-800 {
    border-color: var(--warning-800) !important;
}

.border-warning-900 {
    border-color: var(--warning-900) !important;
}

.border-info {
    border-color: var(--info) !important;
}

.border-info-50 {
    border-color: var(--info-50) !important;
}

.border-info-100 {
    border-color: var(--info-100) !important;
}

.border-info-200 {
    border-color: var(--info-200) !important;
}

.border-info-300 {
    border-color: var(--info-300) !important;
}

.border-info-400 {
    border-color: var(--info-400) !important;
}

.border-info-500 {
    border-color: var(--info-500) !important;
}

.border-info-600 {
    border-color: var(--info-600) !important;
}

.border-info-700 {
    border-color: var(--info-700) !important;
}

.border-info-800 {
    border-color: var(--info-800) !important;
}

.border-info-900 {
    border-color: var(--info-900) !important;
}

.border-light {
    border-color: var(--light-gray) !important;
}

.border-dark {
    border-color: var(--dark-gray) !important;
}

.border-white {
    border-color: var(--white) !important;
}

.border-black {
    border-color: var(--black) !important;
}

.border-gray-50 {
    border-color: var(--gray-50) !important;
}

.border-gray-100 {
    border-color: var(--gray-100) !important;
}

.border-gray-200 {
    border-color: var(--gray-200) !important;
}

.border-gray-300 {
    border-color: var(--gray-300) !important;
}

.border-gray-400 {
    border-color: var(--gray-400) !important;
}

.border-gray-500 {
    border-color: var(--gray-500) !important;
}

.border-gray-600 {
    border-color: var(--gray-600) !important;
}

.border-gray-700 {
    border-color: var(--gray-700) !important;
}

.border-gray-800 {
    border-color: var(--gray-800) !important;
}

.border-gray-900 {
    border-color: var(--gray-900) !important;
}

/* ============================= */
/* Bootstrap Button Color Classes */
/* ============================= */

.btn-primary {
    color: #fff !important;
    background-color: var(--primary) !important;
    border-color: var(--primary) !important;
}

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

.btn-primary:focus,
.btn-primary:active {
    background-color: var(--primary-700) !important;
    border-color: var(--primary-700) !important;
}

.btn-secondary {
    color: #fff !important;
    background-color: var(--secondary) !important;
    border-color: var(--secondary) !important;
}

.btn-secondary:hover {
    background-color: var(--secondary-600) !important;
    border-color: var(--secondary-600) !important;
}

.btn-secondary:focus,
.btn-secondary:active {
    background-color: var(--secondary-700) !important;
    border-color: var(--secondary-700) !important;
}

.btn-success {
    color: #fff !important;
    background-color: var(--success) !important;
    border-color: var(--success) !important;
}

.btn-success:hover {
    background-color: var(--success-600) !important;
    border-color: var(--success-600) !important;
}

.btn-success:focus,
.btn-success:active {
    background-color: var(--success-700) !important;
    border-color: var(--success-700) !important;
}

.btn-danger {
    color: #fff !important;
    background-color: var(--danger) !important;
    border-color: var(--danger) !important;
}

.btn-danger:hover {
    background-color: var(--danger-600) !important;
    border-color: var(--danger-600) !important;
}

.btn-danger:focus,
.btn-danger:active {
    background-color: var(--danger-700) !important;
    border-color: var(--danger-700) !important;
}

.btn-warning {
    color: #212529 !important;
    background-color: var(--warning) !important;
    border-color: var(--warning) !important;
}

.btn-warning:hover {
    background-color: var(--warning-600) !important;
    border-color: var(--warning-600) !important;
}

.btn-warning:focus,
.btn-warning:active {
    background-color: var(--warning-700) !important;
    border-color: var(--warning-700) !important;
}

.btn-info {
    color: #fff !important;
    background-color: var(--info) !important;
    border-color: var(--info) !important;
}

.btn-info:hover {
    background-color: var(--info-600) !important;
    border-color: var(--info-600) !important;
}

.btn-info:focus,
.btn-info:active {
    background-color: var(--info-700) !important;
    border-color: var(--info-700) !important;
}

.btn-light {
    color: #212529 !important;
    background-color: var(--light-gray) !important;
    border-color: var(--light-gray) !important;
}

.btn-light:hover {
    background-color: var(--gray-200) !important;
    border-color: var(--gray-200) !important;
}

.btn-light:focus,
.btn-light:active {
    background-color: var(--gray-300) !important;
    border-color: var(--gray-300) !important;
}

.btn-dark {
    color: #fff !important;
    background-color: var(--dark-gray) !important;
    border-color: var(--dark-gray) !important;
}

.btn-dark:hover {
    background-color: var(--gray-800) !important;
    border-color: var(--gray-800) !important;
}

.btn-dark:focus,
.btn-dark:active {
    background-color: var(--gray-900) !important;
    border-color: var(--gray-900) !important;
}