/* Custom Bootstrap Color Palette */
:root {
    --bs-white: #ffffff;
    --bs-light: #ded0c3;
    --bs-dark: #000f33;
    --bs-primary: #0c3d74;
    --bs-secondary: #e2264c;
    --bs-info: #f8313f;
    --bs-success: #0f9d59;
    --bs-warning: #e1c911;
    --bs-danger: #ef1506;
}

/* Override Bootstrap theme colors with higher specificity */
.card .card-header,
.modal .modal-header {
    background-color: #0c3d74 !important;
    background: #0c3d74 !important;
    color: white !important;
}

.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #0c3d74;
    --bs-btn-border-color: #0c3d74;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #0a3360;
    --bs-btn-hover-border-color: #0a3360;
    --bs-btn-focus-shadow-rgb: 12, 61, 116;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #0a3360;
    --bs-btn-active-border-color: #0a3360;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #0c3d74;
    --bs-btn-disabled-border-color: #0c3d74;
}

.btn-secondary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #e2264c;
    --bs-btn-border-color: #e2264c;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #c41e3f;
    --bs-btn-hover-border-color: #c41e3f;
    --bs-btn-focus-shadow-rgb: 226, 38, 76;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #c41e3f;
    --bs-btn-active-border-color: #c41e3f;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #e2264c;
    --bs-btn-disabled-border-color: #e2264c;
}

.btn-success {
    --bs-btn-color: #fff;
    --bs-btn-bg: #0f9d59;
    --bs-btn-border-color: #0f9d59;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #0d7a47;
    --bs-btn-hover-border-color: #0d7a47;
    --bs-btn-focus-shadow-rgb: 15, 157, 89;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #0d7a47;
    --bs-btn-active-border-color: #0d7a47;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #0f9d59;
    --bs-btn-disabled-border-color: #0f9d59;
}

.btn-danger {
    --bs-btn-color: #fff;
    --bs-btn-bg: #ef1506;
    --bs-btn-border-color: #ef1506;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #d11205;
    --bs-btn-hover-border-color: #d11205;
    --bs-btn-focus-shadow-rgb: 239, 21, 6;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #d11205;
    --bs-btn-active-border-color: #d11205;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #ef1506;
    --bs-btn-disabled-border-color: #ef1506;
}

.btn-warning {
    --bs-btn-color: #000;
    --bs-btn-bg: #e1c911;
    --bs-btn-border-color: #e1c911;
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: #c4b00e;
    --bs-btn-hover-border-color: #c4b00e;
    --bs-btn-focus-shadow-rgb: 225, 201, 17;
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: #c4b00e;
    --bs-btn-active-border-color: #c4b00e;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #000;
    --bs-btn-disabled-bg: #e1c911;
    --bs-btn-disabled-border-color: #e1c911;
}

.btn-info {
    --bs-btn-color: #fff;
    --bs-btn-bg: #f8313f;
    --bs-btn-border-color: #f8313f;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #e02a37;
    --bs-btn-hover-border-color: #e02a37;
    --bs-btn-focus-shadow-rgb: 248, 49, 63;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #e02a37;
    --bs-btn-active-border-color: #e02a37;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #f8313f;
    --bs-btn-disabled-border-color: #f8313f;
}

/* Background colors */
.bg-primary {
    --bs-bg-opacity: 1;
    background-color: rgba(12, 61, 116, var(--bs-bg-opacity)) !important;
}

.bg-secondary {
    --bs-bg-opacity: 1;
    background-color: rgba(226, 38, 76, var(--bs-bg-opacity)) !important;
}

.bg-success {
    --bs-bg-opacity: 1;
    background-color: rgba(15, 157, 89, var(--bs-bg-opacity)) !important;
}

.bg-danger {
    --bs-bg-opacity: 1;
    background-color: rgba(239, 21, 6, var(--bs-bg-opacity)) !important;
}

.bg-warning {
    --bs-bg-opacity: 1;
    background-color: rgba(225, 201, 17, var(--bs-bg-opacity)) !important;
}

.bg-info {
    --bs-bg-opacity: 1;
    background-color: rgba(248, 49, 63, var(--bs-bg-opacity)) !important;
}

.bg-light {
    --bs-bg-opacity: 1;
    background-color: rgba(222, 208, 195, var(--bs-bg-opacity)) !important;
}

.bg-dark {
    --bs-bg-opacity: 1;
    background-color: rgba(0, 15, 51, var(--bs-bg-opacity)) !important;
}

/* Text colors */
.text-primary {
    --bs-text-opacity: 1;
    color: rgba(12, 61, 116, var(--bs-text-opacity)) !important;
}

.text-secondary {
    --bs-text-opacity: 1;
    color: rgba(226, 38, 76, var(--bs-text-opacity)) !important;
}

.text-success {
    --bs-text-opacity: 1;
    color: rgba(15, 157, 89, var(--bs-text-opacity)) !important;
}

.text-danger {
    --bs-text-opacity: 1;
    color: rgba(239, 21, 6, var(--bs-text-opacity)) !important;
}

.text-warning {
    --bs-text-opacity: 1;
    color: rgba(225, 201, 17, var(--bs-text-opacity)) !important;
}

.text-info {
    --bs-text-opacity: 1;
    color: rgba(248, 49, 63, var(--bs-text-opacity)) !important;
}

.text-light {
    --bs-text-opacity: 1;
    color: rgba(222, 208, 195, var(--bs-text-opacity)) !important;
}

.text-dark {
    --bs-text-opacity: 1;
    color: rgba(0, 15, 51, var(--bs-text-opacity)) !important;
}

/* Alert colors */
.alert-primary {
    --bs-alert-color: #0a3360;
    --bs-alert-bg: #d1e7dd;
    --bs-alert-border-color: #badbcc;
}

.alert-secondary {
    --bs-alert-color: #c41e3f;
    --bs-alert-bg: #f8d7da;
    --bs-alert-border-color: #f5c2c7;
}

.alert-success {
    --bs-alert-color: #0d7a47;
    --bs-alert-bg: #d1e7dd;
    --bs-alert-border-color: #badbcc;
}

.alert-danger {
    --bs-alert-color: #d11205;
    --bs-alert-bg: #f8d7da;
    --bs-alert-border-color: #f5c2c7;
}

.alert-warning {
    --bs-alert-color: #c4b00e;
    --bs-alert-bg: #fff3cd;
    --bs-alert-border-color: #ffecb5;
}

.alert-info {
    --bs-alert-color: #e02a37;
    --bs-alert-bg: #d1ecf1;
    --bs-alert-border-color: #bee5eb;
}

/* Border colors */
.border-primary {
    --bs-border-opacity: 1;
    border-color: rgba(12, 61, 116, var(--bs-border-opacity)) !important;
}

.border-secondary {
    --bs-border-opacity: 1;
    border-color: rgba(226, 38, 76, var(--bs-border-opacity)) !important;
}

.border-success {
    --bs-border-opacity: 1;
    border-color: rgba(15, 157, 89, var(--bs-border-opacity)) !important;
}

.border-danger {
    --bs-border-opacity: 1;
    border-color: rgba(239, 21, 6, var(--bs-border-opacity)) !important;
}

.border-warning {
    --bs-border-opacity: 1;
    border-color: rgba(225, 201, 17, var(--bs-border-opacity)) !important;
}

.border-info {
    --bs-border-opacity: 1;
    border-color: rgba(248, 49, 63, var(--bs-border-opacity)) !important;
}

/* Form control focus colors */
.form-control:focus,
.form-select:focus {
    border-color: #0c3d74;
    box-shadow: 0 0 0 0.2rem rgba(12, 61, 116, 0.25);
}

/* Spinner colors */
.spinner-border-primary {
    color: #0c3d74;
}

.spinner-border-secondary {
    color: #e2264c;
}

.spinner-border-success {
    color: #0f9d59;
}

.spinner-border-danger {
    color: #ef1506;
}

.spinner-border-warning {
    color: #e1c911;
}

.spinner-border-info {
    color: #f8313f;
}
