/* ========================================
   BOOTSTRAP CUSTOM VARIABLES OVERRIDE
   ======================================== */

:root {
    /* Primary color - Navy Blue */
    --bs-primary: #1E3A5F;
    --bs-primary-rgb: 30, 58, 95;
    --bs-primary-text-emphasis: #0c1724;
    --bs-primary-bg-subtle: #d1d7df;
    --bs-primary-border-subtle: #a3b0bf;

    /* Success color - Emerald Green */
    --bs-success: #059669;
    --bs-success-rgb: 5, 150, 105;
    --bs-success-text-emphasis: #023c2a;
    --bs-success-bg-subtle: #ccf0e4;
    --bs-success-border-subtle: #99e1ca;

    /* Danger color - Red */
    --bs-danger: #DC2626;
    --bs-danger-rgb: 220, 38, 38;
    --bs-danger-text-emphasis: #580f0f;
    --bs-danger-bg-subtle: #f8d7d7;
    --bs-danger-border-subtle: #f1afaf;

    /* Warning color - Amber */
    --bs-warning: #F59E0B;
    --bs-warning-rgb: 245, 158, 11;
    --bs-warning-text-emphasis: #624004;
    --bs-warning-bg-subtle: #fdf3d7;
    --bs-warning-border-subtle: #fbe7af;

    /* Info color - Blue */
    --bs-info: #3B82F6;
    --bs-info-rgb: 59, 130, 246;
    --bs-info-text-emphasis: #183462;
    --bs-info-bg-subtle: #d9e7fe;
    --bs-info-border-subtle: #b3cffd;

    /* Secondary color - Gray */
    --bs-secondary: #6C757D;
    --bs-secondary-rgb: 108, 117, 125;
    --bs-secondary-text-emphasis: #2b2f32;
    --bs-secondary-bg-subtle: #e2e3e5;
    --bs-secondary-border-subtle: #c4c8cb;

    /* Light and Dark */
    --bs-light: #F7FAFC;
    --bs-light-rgb: 247, 250, 252;
    --bs-dark: #1A202C;
    --bs-dark-rgb: 26, 32, 44;

    /* Body colors */
    --bs-body-color: #2D3748;
    --bs-body-bg: #F7FAFC;

    /* Link colors */
    --bs-link-color: #1E3A5F;
    --bs-link-hover-color: #152a47;

    /* Border colors */
    --bs-border-color: #E2E8F0;
    --bs-border-radius: 0.5rem;
    --bs-border-radius-sm: 0.375rem;
    --bs-border-radius-lg: 0.75rem;
    --bs-border-radius-xl: 1rem;

    /* Button specific variables */
    --bs-btn-padding-y: 0.625rem;
    --bs-btn-padding-x: 1.25rem;
    --bs-btn-font-weight: 500;
    --bs-btn-border-radius: 0.5rem;

    /* Form controls */
    --bs-form-control-border-radius: 0.5rem;

    /* Shadows */
    --bs-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    --bs-box-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.05);
    --bs-box-shadow-lg: 0 10px 25px rgba(0, 0, 0, 0.1);
}

/* Button primary - ensure proper colors */
.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #1E3A5F;
    --bs-btn-border-color: #1E3A5F;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #152a47;
    --bs-btn-hover-border-color: #152a47;
    --bs-btn-focus-shadow-rgb: 30, 58, 95;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #0f1d2f;
    --bs-btn-active-border-color: #0f1d2f;
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #1E3A5F;
    --bs-btn-disabled-border-color: #1E3A5F;
}

/* Button success */
.btn-success {
    --bs-btn-color: #fff;
    --bs-btn-bg: #059669;
    --bs-btn-border-color: #059669;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #047857;
    --bs-btn-hover-border-color: #047857;
    --bs-btn-focus-shadow-rgb: 5, 150, 105;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #065f46;
    --bs-btn-active-border-color: #065f46;
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #059669;
    --bs-btn-disabled-border-color: #059669;
}

/* Button danger */
.btn-danger {
    --bs-btn-color: #fff;
    --bs-btn-bg: #DC2626;
    --bs-btn-border-color: #DC2626;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #B91C1C;
    --bs-btn-hover-border-color: #B91C1C;
    --bs-btn-focus-shadow-rgb: 220, 38, 38;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #991B1B;
    --bs-btn-active-border-color: #991B1B;
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #DC2626;
    --bs-btn-disabled-border-color: #DC2626;
}

/* Button warning */
.btn-warning {
    --bs-btn-color: #000;
    --bs-btn-bg: #F59E0B;
    --bs-btn-border-color: #F59E0B;
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: #D97706;
    --bs-btn-hover-border-color: #D97706;
    --bs-btn-focus-shadow-rgb: 245, 158, 11;
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: #B45309;
    --bs-btn-active-border-color: #B45309;
    --bs-btn-disabled-color: #000;
    --bs-btn-disabled-bg: #F59E0B;
    --bs-btn-disabled-border-color: #F59E0B;
}

/* Button info */
.btn-info {
    --bs-btn-color: #fff;
    --bs-btn-bg: #3B82F6;
    --bs-btn-border-color: #3B82F6;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #2563EB;
    --bs-btn-hover-border-color: #2563EB;
    --bs-btn-focus-shadow-rgb: 59, 130, 246;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #1D4ED8;
    --bs-btn-active-border-color: #1D4ED8;
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #3B82F6;
    --bs-btn-disabled-border-color: #3B82F6;
}

/* Button secondary */
.btn-secondary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #6C757D;
    --bs-btn-border-color: #6C757D;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #5C636A;
    --bs-btn-hover-border-color: #5C636A;
    --bs-btn-focus-shadow-rgb: 108, 117, 125;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #4E545B;
    --bs-btn-active-border-color: #4E545B;
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #6C757D;
    --bs-btn-disabled-border-color: #6C757D;
}

/* Outline buttons */
.btn-outline-primary {
    --bs-btn-color: #1E3A5F;
    --bs-btn-border-color: #1E3A5F;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #1E3A5F;
    --bs-btn-hover-border-color: #1E3A5F;
    --bs-btn-focus-shadow-rgb: 30, 58, 95;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #1E3A5F;
    --bs-btn-active-border-color: #1E3A5F;
}

.btn-outline-success {
    --bs-btn-color: #059669;
    --bs-btn-border-color: #059669;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #059669;
    --bs-btn-hover-border-color: #059669;
    --bs-btn-focus-shadow-rgb: 5, 150, 105;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #059669;
    --bs-btn-active-border-color: #059669;
}

.btn-outline-danger {
    --bs-btn-color: #DC2626;
    --bs-btn-border-color: #DC2626;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #DC2626;
    --bs-btn-hover-border-color: #DC2626;
    --bs-btn-focus-shadow-rgb: 220, 38, 38;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #DC2626;
    --bs-btn-active-border-color: #DC2626;
}

.btn-outline-warning {
    --bs-btn-color: #F59E0B;
    --bs-btn-border-color: #F59E0B;
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: #F59E0B;
    --bs-btn-hover-border-color: #F59E0B;
    --bs-btn-focus-shadow-rgb: 245, 158, 11;
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: #F59E0B;
    --bs-btn-active-border-color: #F59E0B;
}

.btn-outline-info {
    --bs-btn-color: #3B82F6;
    --bs-btn-border-color: #3B82F6;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #3B82F6;
    --bs-btn-hover-border-color: #3B82F6;
    --bs-btn-focus-shadow-rgb: 59, 130, 246;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #3B82F6;
    --bs-btn-active-border-color: #3B82F6;
}

/* Alert colors */
.alert-primary {
    --bs-alert-color: #0c1724;
    --bs-alert-bg: #d1d7df;
    --bs-alert-border-color: #a3b0bf;
}

.alert-success {
    --bs-alert-color: #023c2a;
    --bs-alert-bg: #ccf0e4;
    --bs-alert-border-color: #99e1ca;
}

.alert-danger {
    --bs-alert-color: #580f0f;
    --bs-alert-bg: #f8d7d7;
    --bs-alert-border-color: #f1afaf;
}

.alert-warning {
    --bs-alert-color: #624004;
    --bs-alert-bg: #fdf3d7;
    --bs-alert-border-color: #fbe7af;
}

.alert-info {
    --bs-alert-color: #183462;
    --bs-alert-bg: #d9e7fe;
    --bs-alert-border-color: #b3cffd;
}

/* Badge colors */
.badge.bg-primary {
    background-color: #1E3A5F !important;
    color: #fff !important;
}

.badge.bg-success {
    background-color: #059669 !important;
    color: #fff !important;
}

.badge.bg-danger {
    background-color: #DC2626 !important;
    color: #fff !important;
}

.badge.bg-warning {
    background-color: #F59E0B !important;
    color: #000 !important;
}

.badge.bg-info {
    background-color: #3B82F6 !important;
    color: #fff !important;
}

.badge.bg-secondary {
    background-color: #6C757D !important;
    color: #fff !important;
}

/* Background colors */
.bg-primary {
    background-color: #1E3A5F !important;
}

.bg-success {
    background-color: #059669 !important;
}

.bg-danger {
    background-color: #DC2626 !important;
}

.bg-warning {
    background-color: #F59E0B !important;
}

.bg-info {
    background-color: #3B82F6 !important;
}

.bg-secondary {
    background-color: #6C757D !important;
}

/* Text colors */
.text-primary {
    color: #1E3A5F !important;
}

.text-success {
    color: #059669 !important;
}

.text-danger {
    color: #DC2626 !important;
}

.text-warning {
    color: #F59E0B !important;
}

.text-info {
    color: #3B82F6 !important;
}

.text-secondary {
    color: #6C757D !important;
}

/* Border colors */
.border-primary {
    border-color: #1E3A5F !important;
}

.border-success {
    border-color: #059669 !important;
}

.border-danger {
    border-color: #DC2626 !important;
}

.border-warning {
    border-color: #F59E0B !important;
}

.border-info {
    border-color: #3B82F6 !important;
}

.border-secondary {
    border-color: #6C757D !important;
}

/* Ensure white text on primary backgrounds */
.bg-primary,
.bg-primary h1,
.bg-primary h2,
.bg-primary h3,
.bg-primary h4,
.bg-primary h5,
.bg-primary h6,
.bg-primary p,
.bg-primary span,
.bg-primary div,
.bg-primary small,
.card-header.bg-primary,
.card-header.bg-primary *,
.card-header.bg-primary h1,
.card-header.bg-primary h2,
.card-header.bg-primary h3,
.card-header.bg-primary h4,
.card-header.bg-primary h5,
.card-header.bg-primary h6,
.table-primary,
.table-primary th,
.table-primary td,
.list-group-item-primary {
    color: #ffffff !important;
}

/* Ensure white text for icons on primary backgrounds */
.bg-primary i,
.card-header.bg-primary i {
    color: #ffffff !important;
}

/* Links on primary backgrounds should be white with underline */
.bg-primary a:not(.btn):not(.badge),
.card-header.bg-primary a:not(.btn):not(.badge) {
    color: #ffffff !important;
    text-decoration: underline;
}

.bg-primary a:not(.btn):not(.badge):hover,
.card-header.bg-primary a:not(.btn):not(.badge):hover {
    color: rgba(255, 255, 255, 0.85) !important;
}

/* Nav tabs custom styling */
.nav-tabs {
    border-bottom-color: #E2E8F0;
}

.nav-tabs .nav-link {
    color: #6C757D;
    border: 1px solid transparent;
    border-top-left-radius: 0.5rem;
    border-top-right-radius: 0.5rem;
    transition: all 0.2s ease;
}

.nav-tabs .nav-link:hover {
    color: #1E3A5F;
    border-color: #E2E8F0 #E2E8F0 transparent;
    background-color: #F7FAFC;
}

.nav-tabs .nav-link.active {
    color: #1E3A5F;
    background-color: #fff;
    border-color: #E2E8F0 #E2E8F0 #fff;
    font-weight: 500;
}

.nav-tabs .nav-link .badge {
    font-weight: 500;
}

/* Remove bottom padding from card-header when it contains nav-tabs */
.card-header:has(.nav-tabs) {
    padding-bottom: 0;
}

.card-header .nav-tabs {
    margin-bottom: 0;
}
