/**
 * Bootstrap 5.3+ Absolute Custom Color Theme (100% Coverage)
 * Covers: Root, Utilities, Buttons, Alerts, Badges, Tables, List Groups,
 * Links (.link-*), Forms (Inputs, Checkboxes, Switches), Accordions,
 * Pagination, Navs, Dropdowns, Progress Bars, and Focus Rings.
 *
 * Base Primary Color: #19398A (Deep Blue)
 */

:root,
[data-bs-theme="light"] {
  /* 1. Base Theme Colors */
  --bs-primary: #19398A;
  --bs-secondary: #64748B;
  --bs-success: #10B981;
  --bs-info: #0EA5E9;
  --bs-warning: #F59E0B;
  --bs-danger: #E11D48;
  --bs-light: #F8FAFC;
  --bs-dark: #0F172A;

  /* 2. RGB Variables */
  --bs-primary-rgb: 25, 57, 138;
  --bs-secondary-rgb: 100, 116, 139;
  --bs-success-rgb: 16, 185, 129;
  --bs-info-rgb: 14, 165, 233;
  --bs-warning-rgb: 245, 158, 11;
  --bs-danger-rgb: 225, 29, 72;
  --bs-light-rgb: 248, 250, 252;
  --bs-dark-rgb: 15, 23, 42;

  /* 3. Text Emphasis Colors */
  --bs-primary-text-emphasis: #0a1737;
  --bs-secondary-text-emphasis: #282e38;
  --bs-success-text-emphasis: #064a34;
  --bs-info-text-emphasis: #06425d;
  --bs-warning-text-emphasis: #623f04;
  --bs-danger-text-emphasis: #5a0c1d;

  /* 4. Background Subtle Colors */
  --bs-primary-bg-subtle: #d1d8ec;
  --bs-secondary-bg-subtle: #e0e4e8;
  --bs-success-bg-subtle: #cff1e6;
  --bs-info-bg-subtle: #cfeedb;
  --bs-warning-bg-subtle: #fdecce;
  --bs-danger-bg-subtle: #f9d2db;

  /* 5. Border Subtle Colors */
  --bs-primary-border-subtle: #a3b0d9;
  --bs-secondary-border-subtle: #c1c9d1;
  --bs-success-border-subtle: #9fe3cd;
  --bs-info-border-subtle: #9fddf6;
  --bs-warning-border-subtle: #fbd99d;
  --bs-danger-border-subtle: #f4a5b7;

  /* 6. Global Typography & Links */
  --bs-body-color: #334155;
  --bs-body-bg: #FFFFFF;
  --bs-link-color: #19398A;
  --bs-link-hover-color: #122a67;
  --bs-link-color-rgb: 25, 57, 138;
  --bs-link-hover-color-rgb: 18, 42, 103;
}

/* ==========================================================================
   1. Utilities Override (Text, Background, Border)
   ========================================================================== */
.text-primary { color: #19398A !important; }
.text-secondary { color: #64748B !important; }
.text-success { color: #10B981 !important; }
.text-info { color: #0EA5E9 !important; }
.text-warning { color: #F59E0B !important; }
.text-danger { color: #E11D48 !important; }

.bg-primary { background-color: #19398A !important; }
.bg-secondary { background-color: #64748B !important; }
.bg-success { background-color: #10B981 !important; }
.bg-info { background-color: #0EA5E9 !important; }
.bg-warning { background-color: #F59E0B !important; }
.bg-danger { background-color: #E11D48 !important; }

.text-bg-primary { color: #fff !important; background-color: #19398A !important; }
.text-bg-secondary { color: #fff !important; background-color: #64748B !important; }
.text-bg-success { color: #fff !important; background-color: #10B981 !important; }
.text-bg-info { color: #fff !important; background-color: #0EA5E9 !important; }
.text-bg-warning { color: #000 !important; background-color: #F59E0B !important; }
.text-bg-danger { color: #fff !important; background-color: #E11D48 !important; }

.border-primary { border-color: #19398A !important; }
.border-secondary { border-color: #64748B !important; }
.border-success { border-color: #10B981 !important; }
.border-info { border-color: #0EA5E9 !important; }
.border-warning { border-color: #F59E0B !important; }
.border-danger { border-color: #E11D48 !important; }

/* ==========================================================================
   2. Link Utilities (.link-*)
   ========================================================================== */
.link-primary { color: #19398A !important; }
.link-primary:hover, .link-primary:focus { color: #122a67 !important; }
.link-secondary { color: #64748B !important; }
.link-secondary:hover, .link-secondary:focus { color: #475569 !important; }
.link-success { color: #10B981 !important; }
.link-success:hover, .link-success:focus { color: #059669 !important; }
.link-info { color: #0EA5E9 !important; }
.link-info:hover, .link-info:focus { color: #0284c7 !important; }
.link-warning { color: #F59E0B !important; }
.link-warning:hover, .link-warning:focus { color: #b45309 !important; }
.link-danger { color: #E11D48 !important; }
.link-danger:hover, .link-danger:focus { color: #9f1239 !important; }

/* ==========================================================================
   3. Forms (Inputs, Checkboxes, Radios, Switches, Validations)
   ========================================================================== */
.form-control:focus, .form-select:focus {
  border-color: #a3b0d9;
  box-shadow: 0 0 0 0.25rem rgba(25, 57, 138, 0.25);
}
.form-check-input:checked {
  background-color: #19398A;
  border-color: #19398A;
}
.form-check-input:focus {
  border-color: #a3b0d9;
  box-shadow: 0 0 0 0.25rem rgba(25, 57, 138, 0.25);
}
/* Form Validation overriding */
.valid-feedback, .valid-tooltip { color: #10B981; }
.invalid-feedback, .invalid-tooltip { color: #E11D48; }

/* ==========================================================================
   4. Accordions
   ========================================================================== */
.accordion-button:not(.collapsed) {
  color: #0a1737;
  background-color: #d1d8ec;
}
.accordion-button:focus {
  border-color: #a3b0d9;
  box-shadow: 0 0 0 0.25rem rgba(25, 57, 138, 0.25);
}

/* ==========================================================================
   5. Pagination
   ========================================================================== */
.page-link {
  color: #19398A;
}
.page-link:hover {
  color: #122a67;
  background-color: #e2e8f0;
}
.page-link:focus {
  box-shadow: 0 0 0 0.25rem rgba(25, 57, 138, 0.25);
}
.page-item.active .page-link {
  color: #fff;
  background-color: #19398A;
  border-color: #19398A;
}

/* ==========================================================================
   6. Navs, Pills, Dropdowns, Progress
   ========================================================================== */
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: #fff;
  background-color: #19398A;
}
.dropdown-item.active,
.dropdown-item:active {
  color: #fff;
  background-color: #19398A;
}
.progress-bar {
  background-color: #19398A;
}

/* ==========================================================================
   7. Alerts, List Groups, Tables, Badges, Buttons (Previous Complete set)
   ========================================================================== */
.alert-primary { --bs-alert-color: #0a1737; --bs-alert-bg: #d1d8ec; --bs-alert-border-color: #a3b0d9; --bs-alert-link-color: #0a1737; }
.alert-secondary { --bs-alert-color: #282e38; --bs-alert-bg: #e0e4e8; --bs-alert-border-color: #c1c9d1; --bs-alert-link-color: #282e38; }
.alert-success { --bs-alert-color: #064a34; --bs-alert-bg: #cff1e6; --bs-alert-border-color: #9fe3cd; --bs-alert-link-color: #064a34; }
.alert-info { --bs-alert-color: #06425d; --bs-alert-bg: #cfeedb; --bs-alert-border-color: #9fddf6; --bs-alert-link-color: #06425d; }
.alert-warning { --bs-alert-color: #623f04; --bs-alert-bg: #fdecce; --bs-alert-border-color: #fbd99d; --bs-alert-link-color: #623f04; }
.alert-danger { --bs-alert-color: #5a0c1d; --bs-alert-bg: #f9d2db; --bs-alert-border-color: #f4a5b7; --bs-alert-link-color: #5a0c1d; }

.list-group-item-primary { --bs-list-group-color: #0a1737; --bs-list-group-bg: #d1d8ec; --bs-list-group-border-color: #a3b0d9; }
.list-group-item-secondary { --bs-list-group-color: #282e38; --bs-list-group-bg: #e0e4e8; --bs-list-group-border-color: #c1c9d1; }
.list-group-item-success { --bs-list-group-color: #064a34; --bs-list-group-bg: #cff1e6; --bs-list-group-border-color: #9fe3cd; }
.list-group-item-info { --bs-list-group-color: #06425d; --bs-list-group-bg: #cfeedb; --bs-list-group-border-color: #9fddf6; }
.list-group-item-warning { --bs-list-group-color: #623f04; --bs-list-group-bg: #fdecce; --bs-list-group-border-color: #fbd99d; }
.list-group-item-danger { --bs-list-group-color: #5a0c1d; --bs-list-group-bg: #f9d2db; --bs-list-group-border-color: #f4a5b7; }

.table-primary { --bs-table-color: #0a1737; --bs-table-bg: #d1d8ec; --bs-table-border-color: #a3b0d9; }
.table-secondary { --bs-table-color: #282e38; --bs-table-bg: #e0e4e8; --bs-table-border-color: #c1c9d1; }
.table-success { --bs-table-color: #064a34; --bs-table-bg: #cff1e6; --bs-table-border-color: #9fe3cd; }
.table-info { --bs-table-color: #06425d; --bs-table-bg: #cfeedb; --bs-table-border-color: #9fddf6; }
.table-warning { --bs-table-color: #623f04; --bs-table-bg: #fdecce; --bs-table-border-color: #fbd99d; }
.table-danger { --bs-table-color: #5a0c1d; --bs-table-bg: #f9d2db; --bs-table-border-color: #f4a5b7; }

.badge.bg-primary, .badge.bg-secondary, .badge.bg-success, .badge.bg-info, .badge.bg-danger { color: #fff !important; }
.badge.bg-warning { color: #000 !important; }

/* Buttons */
.btn-primary { --bs-btn-color: #fff; --bs-btn-bg: #19398A; --bs-btn-border-color: #19398A; --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #122a67; --bs-btn-hover-border-color: #0e2253; --bs-btn-active-bg: #0e2253; --bs-btn-active-border-color: #0a1737; --bs-btn-focus-shadow-rgb: 25, 57, 138; }
.btn-outline-primary { --bs-btn-color: #19398A; --bs-btn-border-color: #19398A; --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #19398A; --bs-btn-hover-border-color: #19398A; --bs-btn-active-color: #fff; --bs-btn-active-bg: #19398A; --bs-btn-focus-shadow-rgb: 25, 57, 138; }
.btn-secondary { --bs-btn-color: #fff; --bs-btn-bg: #64748B; --bs-btn-border-color: #64748B; --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #475569; --bs-btn-hover-border-color: #334155; --bs-btn-active-bg: #334155; --bs-btn-focus-shadow-rgb: 100, 116, 139; }
.btn-outline-secondary { --bs-btn-color: #64748B; --bs-btn-border-color: #64748B; --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #64748B; --bs-btn-hover-border-color: #64748B; --bs-btn-active-color: #fff; --bs-btn-active-bg: #64748B; --bs-btn-focus-shadow-rgb: 100, 116, 139; }
.btn-success { --bs-btn-color: #fff; --bs-btn-bg: #10B981; --bs-btn-border-color: #10B981; --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #059669; --bs-btn-hover-border-color: #047857; --bs-btn-active-bg: #047857; --bs-btn-focus-shadow-rgb: 16, 185, 129; }
.btn-outline-success { --bs-btn-color: #10B981; --bs-btn-border-color: #10B981; --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #10B981; --bs-btn-hover-border-color: #10B981; --bs-btn-active-color: #fff; --bs-btn-active-bg: #10B981; --bs-btn-focus-shadow-rgb: 16, 185, 129; }
.btn-info { --bs-btn-color: #fff; --bs-btn-bg: #0EA5E9; --bs-btn-border-color: #0EA5E9; --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #0284c7; --bs-btn-hover-border-color: #0369a1; --bs-btn-active-bg: #0369a1; --bs-btn-focus-shadow-rgb: 14, 165, 233; }
.btn-outline-info { --bs-btn-color: #0EA5E9; --bs-btn-border-color: #0EA5E9; --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #0EA5E9; --bs-btn-hover-border-color: #0EA5E9; --bs-btn-active-color: #fff; --bs-btn-active-bg: #0EA5E9; --bs-btn-focus-shadow-rgb: 14, 165, 233; }
.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: #b45309; --bs-btn-active-bg: #b45309; --bs-btn-focus-shadow-rgb: 245, 158, 11; }
.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-active-color: #000; --bs-btn-active-bg: #F59E0B; --bs-btn-focus-shadow-rgb: 245, 158, 11; }
.btn-danger { --bs-btn-color: #fff; --bs-btn-bg: #E11D48; --bs-btn-border-color: #E11D48; --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #be123c; --bs-btn-hover-border-color: #9f1239; --bs-btn-active-bg: #9f1239; --bs-btn-focus-shadow-rgb: 225, 29, 72; }
.btn-outline-danger { --bs-btn-color: #E11D48; --bs-btn-border-color: #E11D48; --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #E11D48; --bs-btn-hover-border-color: #E11D48; --bs-btn-active-color: #fff; --bs-btn-active-bg: #E11D48; --bs-btn-focus-shadow-rgb: 225, 29, 72; }