/* Custom Bootstrap Theme Override */
/* Complete color palette customization */

:root {
  /* Primary: #08044D */
  --bs-primary: #08044D;
  --bs-primary-rgb: 8, 4, 77;
  --bs-primary-text-emphasis: #050229;
  --bs-primary-bg-subtle: #d1d0e6;
  --bs-primary-border-subtle: #a3a0cc;
  
  /* Secondary: #3c4f76 */
  --bs-secondary: #3c4f76;
  --bs-secondary-rgb: 60, 79, 118;
  --bs-secondary-text-emphasis: #181f2f;
  --bs-secondary-bg-subtle: #d7dce6;
  --bs-secondary-border-subtle: #afb9cd;
  
  /* Success: #20c997 */
  --bs-success: #20c997;
  --bs-success-rgb: 32, 201, 151;
  --bs-success-text-emphasis: #0d503c;
  --bs-success-bg-subtle: #d1f2e8;
  --bs-success-border-subtle: #a3e5d1;
  
  /* Warning: #ffd60a */
  --bs-warning: #ffd60a;
  --bs-warning-rgb: 255, 214, 10;
  --bs-warning-text-emphasis: #665504;
  --bs-warning-bg-subtle: #fff5cc;
  --bs-warning-border-subtle: #ffeb99;
  
  /* Danger: #e63946 */
  --bs-danger: #e63946;
  --bs-danger-rgb: 230, 57, 70;
  --bs-danger-text-emphasis: #5c171c;
  --bs-danger-bg-subtle: #f8d7da;
  --bs-danger-border-subtle: #f1aeb5;
  
  /* Info: #4682B4 */
  --bs-info: #4682B4;
  --bs-info-rgb: 70, 130, 180;
  --bs-info-text-emphasis: #1c3448;
  --bs-info-bg-subtle: #d6e7f0;
  --bs-info-border-subtle: #adcfe1;
  
  /* Light: #f8f9fa */
  --bs-light: #f8f9fa;
  --bs-light-rgb: 248, 249, 250;
  --bs-light-text-emphasis: #495057;
  --bs-light-bg-subtle: #fcfcfd;
  --bs-light-border-subtle: #e9ecef;
  
  /* Dark: #121212 */
  --bs-dark: #121212;
  --bs-dark-rgb: 18, 18, 18;
  --bs-dark-text-emphasis: #495057;
  --bs-dark-bg-subtle: #ced4da;
  --bs-dark-border-subtle: #adb5bd;
}

/* Primary button styles */
.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #08044D;
  --bs-btn-border-color: #08044D;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #060338;
  --bs-btn-hover-border-color: #050229;
  --bs-btn-focus-shadow-rgb: 41, 37, 109;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #050229;
  --bs-btn-active-border-color: #040122;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #08044D;
  --bs-btn-disabled-border-color: #08044D;
}

/* Primary outline button styles */
.btn-outline-primary {
  --bs-btn-color: #08044D;
  --bs-btn-border-color: #08044D;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #08044D;
  --bs-btn-hover-border-color: #08044D;
  --bs-btn-focus-shadow-rgb: 8, 4, 77;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #08044D;
  --bs-btn-active-border-color: #08044D;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #08044D;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #08044D;
}

/* Secondary button styles */
.btn-secondary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #3c4f76;
  --bs-btn-border-color: #3c4f76;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #324264;
  --bs-btn-hover-border-color: #2e3d5e;
  --bs-btn-focus-shadow-rgb: 84, 99, 138;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #2e3d5e;
  --bs-btn-active-border-color: #2a3858;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #3c4f76;
  --bs-btn-disabled-border-color: #3c4f76;
}

.btn-outline-secondary {
  --bs-btn-color: #3c4f76;
  --bs-btn-border-color: #3c4f76;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #3c4f76;
  --bs-btn-hover-border-color: #3c4f76;
  --bs-btn-focus-shadow-rgb: 60, 79, 118;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #3c4f76;
  --bs-btn-active-border-color: #3c4f76;
}

/* Success button styles */
.btn-success {
  --bs-btn-color: #fff;
  --bs-btn-bg: #20c997;
  --bs-btn-border-color: #20c997;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #1ca085;
  --bs-btn-hover-border-color: #1a9479;
  --bs-btn-focus-shadow-rgb: 60, 209, 165;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #1a9479;
  --bs-btn-active-border-color: #18876d;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #20c997;
  --bs-btn-disabled-border-color: #20c997;
}

.btn-outline-success {
  --bs-btn-color: #20c997;
  --bs-btn-border-color: #20c997;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #20c997;
  --bs-btn-hover-border-color: #20c997;
  --bs-btn-focus-shadow-rgb: 32, 201, 151;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #20c997;
  --bs-btn-active-border-color: #20c997;
}

/* Warning button styles */
.btn-warning {
  --bs-btn-color: #000;
  --bs-btn-bg: #ffd60a;
  --bs-btn-border-color: #ffd60a;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #ffcd00;
  --bs-btn-hover-border-color: #ffc400;
  --bs-btn-focus-shadow-rgb: 217, 182, 9;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #ffc400;
  --bs-btn-active-border-color: #f5b800;
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #ffd60a;
  --bs-btn-disabled-border-color: #ffd60a;
}

.btn-outline-warning {
  --bs-btn-color: #ffd60a;
  --bs-btn-border-color: #ffd60a;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #ffd60a;
  --bs-btn-hover-border-color: #ffd60a;
  --bs-btn-focus-shadow-rgb: 255, 214, 10;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #ffd60a;
  --bs-btn-active-border-color: #ffd60a;
}

/* Danger button styles */
.btn-danger {
  --bs-btn-color: #fff;
  --bs-btn-bg: #e63946;
  --bs-btn-border-color: #e63946;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #dc2f3c;
  --bs-btn-hover-border-color: #d02a37;
  --bs-btn-focus-shadow-rgb: 234, 87, 102;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #d02a37;
  --bs-btn-active-border-color: #c42632;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #e63946;
  --bs-btn-disabled-border-color: #e63946;
}

.btn-outline-danger {
  --bs-btn-color: #e63946;
  --bs-btn-border-color: #e63946;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #e63946;
  --bs-btn-hover-border-color: #e63946;
  --bs-btn-focus-shadow-rgb: 230, 57, 70;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #e63946;
  --bs-btn-active-border-color: #e63946;
}

/* Info button styles */
.btn-info {
  --bs-btn-color: #fff;
  --bs-btn-bg: #4682B4;
  --bs-btn-border-color: #4682B4;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #3c6f9a;
  --bs-btn-hover-border-color: #396891;
  --bs-btn-focus-shadow-rgb: 96, 148, 192;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #396891;
  --bs-btn-active-border-color: #356088;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #4682B4;
  --bs-btn-disabled-border-color: #4682B4;
}

.btn-outline-info {
  --bs-btn-color: #4682B4;
  --bs-btn-border-color: #4682B4;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #4682B4;
  --bs-btn-hover-border-color: #4682B4;
  --bs-btn-focus-shadow-rgb: 70, 130, 180;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #4682B4;
  --bs-btn-active-border-color: #4682B4;
}

/* Light button styles */
.btn-light {
  --bs-btn-color: #000;
  --bs-btn-bg: #f8f9fa;
  --bs-btn-border-color: #f8f9fa;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #d3d4d5;
  --bs-btn-hover-border-color: #c6c7c8;
  --bs-btn-focus-shadow-rgb: 211, 212, 213;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #c6c7c8;
  --bs-btn-active-border-color: #babbbc;
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #f8f9fa;
  --bs-btn-disabled-border-color: #f8f9fa;
}

.btn-outline-light {
  --bs-btn-color: #f8f9fa;
  --bs-btn-border-color: #f8f9fa;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #f8f9fa;
  --bs-btn-hover-border-color: #f8f9fa;
  --bs-btn-focus-shadow-rgb: 248, 249, 250;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #f8f9fa;
  --bs-btn-active-border-color: #f8f9fa;
}

/* Dark button styles */
.btn-dark {
  --bs-btn-color: #fff;
  --bs-btn-bg: #121212;
  --bs-btn-border-color: #121212;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #0f0f0f;
  --bs-btn-hover-border-color: #0a0a0a;
  --bs-btn-focus-shadow-rgb: 48, 48, 48;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #0a0a0a;
  --bs-btn-active-border-color: #050505;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #121212;
  --bs-btn-disabled-border-color: #121212;
}

.btn-outline-dark {
  --bs-btn-color: #121212;
  --bs-btn-border-color: #121212;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #121212;
  --bs-btn-hover-border-color: #121212;
  --bs-btn-focus-shadow-rgb: 18, 18, 18;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #121212;
  --bs-btn-active-border-color: #121212;
}

/* Badge styles for all colors */
.badge.bg-primary { background-color: #08044D !important; }
.badge.bg-secondary { background-color: #3c4f76 !important; }
.badge.bg-success { background-color: #20c997 !important; }
.badge.bg-warning { background-color: #ffd60a !important; color: #000 !important; }
.badge.bg-danger { background-color: #e63946 !important; }
.badge.bg-info { background-color: #4682B4 !important; }
.badge.bg-light { background-color: #f8f9fa !important; color: #000 !important; }
.badge.bg-dark { background-color: #121212 !important; }

/* Background utilities */
.bg-primary { background-color: #08044D !important; }
.bg-secondary { background-color: #3c4f76 !important; }
.bg-success { background-color: #20c997 !important; }
.bg-warning { background-color: #ffd60a !important; }
.bg-danger { background-color: #e63946 !important; }
.bg-info { background-color: #4682B4 !important; }
.bg-light { background-color: #f8f9fa !important; }
.bg-dark { background-color: #121212 !important; }

/* Text utilities */
.text-primary { color: #08044D !important; }
.text-secondary { color: #3c4f76 !important; }
.text-success { color: #20c997 !important; }
.text-warning { color: #ffd60a !important; }
.text-danger { color: #e63946 !important; }
.text-info { color: #4682B4 !important; }
.text-light { color: #f8f9fa !important; }
.text-dark { color: #121212 !important; }

/* Border utilities */
.border-primary { border-color: #08044D !important; }
.border-secondary { border-color: #3c4f76 !important; }
.border-success { border-color: #20c997 !important; }
.border-warning { border-color: #ffd60a !important; }
.border-danger { border-color: #e63946 !important; }
.border-info { border-color: #4682B4 !important; }
.border-light { border-color: #f8f9fa !important; }
.border-dark { border-color: #121212 !important; }

/* Primary link styles */
.link-primary {
  color: #08044D !important;
}

.link-primary:hover,
.link-primary:focus {
  color: #060338 !important;
}

/* Alert styles for all colors */
.alert-primary {
  --bs-alert-color: #050229;
  --bs-alert-bg: #d1d0e6;
  --bs-alert-border-color: #a3a0cc;
  --bs-alert-link-color: #040122;
}

.alert-secondary {
  --bs-alert-color: #181f2f;
  --bs-alert-bg: #d7dce6;
  --bs-alert-border-color: #afb9cd;
  --bs-alert-link-color: #141a26;
}

.alert-success {
  --bs-alert-color: #0d503c;
  --bs-alert-bg: #d1f2e8;
  --bs-alert-border-color: #a3e5d1;
  --bs-alert-link-color: #0a4030;
}

.alert-warning {
  --bs-alert-color: #665504;
  --bs-alert-bg: #fff5cc;
  --bs-alert-border-color: #ffeb99;
  --bs-alert-link-color: #524403;
}

.alert-danger {
  --bs-alert-color: #5c171c;
  --bs-alert-bg: #f8d7da;
  --bs-alert-border-color: #f1aeb5;
  --bs-alert-link-color: #4a1317;
}

.alert-info {
  --bs-alert-color: #1c3448;
  --bs-alert-bg: #d6e7f0;
  --bs-alert-border-color: #adcfe1;
  --bs-alert-link-color: #162a3a;
}

.alert-light {
  --bs-alert-color: #495057;
  --bs-alert-bg: #fcfcfd;
  --bs-alert-border-color: #e9ecef;
  --bs-alert-link-color: #3a4046;
}

.alert-dark {
  --bs-alert-color: #495057;
  --bs-alert-bg: #ced4da;
  --bs-alert-border-color: #adb5bd;
  --bs-alert-link-color: #3a4046;
}

/* Primary form control focus */
.form-control:focus,
.form-select:focus {
  border-color: #08044D;
  box-shadow: 0 0 0 0.25rem rgba(8, 4, 77, 0.25);
}

/* Primary checkbox and radio */
.form-check-input:checked {
  background-color: #08044D;
  border-color: #08044D;
}

.form-check-input:focus {
  border-color: #08044D;
  box-shadow: 0 0 0 0.25rem rgba(8, 4, 77, 0.25);
}

/* Progress bar styles for all colors */
.progress-bar { background-color: #08044D; }
.progress-bar.bg-secondary { background-color: #3c4f76; }
.progress-bar.bg-success { background-color: #20c997; }
.progress-bar.bg-warning { background-color: #ffd60a; }
.progress-bar.bg-danger { background-color: #e63946; }
.progress-bar.bg-info { background-color: #4682B4; }
.progress-bar.bg-light { background-color: #f8f9fa; }
.progress-bar.bg-dark { background-color: #121212; }

/* Link styles for all colors */
.link-primary { color: #08044D !important; }
.link-primary:hover, .link-primary:focus { color: #060338 !important; }

.link-secondary { color: #3c4f76 !important; }
.link-secondary:hover, .link-secondary:focus { color: #324264 !important; }

.link-success { color: #20c997 !important; }
.link-success:hover, .link-success:focus { color: #1ca085 !important; }

.link-warning { color: #ffd60a !important; }
.link-warning:hover, .link-warning:focus { color: #ffcd00 !important; }

.link-danger { color: #e63946 !important; }
.link-danger:hover, .link-danger:focus { color: #dc2f3c !important; }

.link-info { color: #4682B4 !important; }
.link-info:hover, .link-info:focus { color: #3c6f9a !important; }

.link-light { color: #f8f9fa !important; }
.link-light:hover, .link-light:focus { color: #d3d4d5 !important; }

.link-dark { color: #121212 !important; }
.link-dark:hover, .link-dark:focus { color: #0f0f0f !important; }

/* Primary pagination */
.page-link {
  color: #08044D;
}

.page-link:hover {
  color: #060338;
  background-color: #d1d0e6;
  border-color: #a3a0cc;
}

.page-item.active .page-link {
  background-color: #08044D;
  border-color: #08044D;
}

/* Primary dropdown */
.dropdown-item.active,
.dropdown-item:active {
  background-color: #08044D;
}

/* Primary navbar brand and nav links */
.navbar-brand {
  color: #08044D !important;
}

.nav-link.active {
  color: #08044D !important;
}

/* Primary table styles */
.table-primary {
  --bs-table-color: #050229;
  --bs-table-bg: #d1d0e6;
  --bs-table-border-color: #a3a0cc;
  --bs-table-striped-bg: #c7c5df;
  --bs-table-striped-color: #050229;
  --bs-table-active-bg: #bdb9d8;
  --bs-table-active-color: #050229;
  --bs-table-hover-bg: #c1bfdd;
  --bs-table-hover-color: #050229;
}

/* Primary list group */
.list-group-item.active {
  background-color: #08044D;
  border-color: #08044D;
}

/* Primary accordion */
.accordion-button:not(.collapsed) {
  color: #050229;
  background-color: #d1d0e6;
}

.accordion-button:focus {
  border-color: #08044D;
  box-shadow: 0 0 0 0.25rem rgba(8, 4, 77, 0.25);
}

/* Primary modal header */
.modal-header {
  border-bottom-color: #a3a0cc;
}

/* Primary close button focus */
.btn-close:focus {
  box-shadow: 0 0 0 0.25rem rgba(8, 4, 77, 0.25);
}

/* Primary spinner */
.spinner-border.text-primary {
  color: #08044D !important;
}

.spinner-grow.text-primary {
  color: #08044D !important;
}

/* Primary toast */
.toast-header {
  background-color: #d1d0e6;
  border-bottom-color: #a3a0cc;
}

/* Primary offcanvas */
.offcanvas-header {
  border-bottom-color: #a3a0cc;
}