:root,
[data-bs-theme=light] {
  /* Primary Colors */
  --bs-primary: #002d3f !important;
  --bs-primary-rgb: 0, 45, 63 !important;
  --bs-primary-text-emphasis: #001018 !important;
  --bs-primary-bg-subtle: #e3f1f5 !important;
  --bs-primary-border-subtle: #c7e3eb !important;

  /* Secondary Colors */
  --bs-secondary: #51C0D3 !important;
  --bs-secondary-rgb: 81, 192, 211 !important;
  --bs-secondary-text-emphasis: #1f5f6d !important;
  --bs-secondary-bg-subtle: #e8f7fa !important;
  --bs-secondary-border-subtle: #d1eef3 !important;

  /* Link Colors */
  --bs-link-color: #002d3f !important;
  --bs-link-color-rgb: 0, 45, 63 !important;
  --bs-link-hover-color: #001f2b !important;
  --bs-link-hover-color-rgb: 0, 31, 43 !important;

  /* Additional Colors */
  --bs-success: #002d3f !important;
  --bs-info: #51C0D3 !important;
  --bs-warning: #002d3f7A !important;
  --bs-danger: #002d3f !important;
  --bs-light: #e3f1f5 !important;
  --bs-dark: #002d3f !important;
}

/* Button Colors */
.btn-primary {
  background-color: #3B6779 !important;
  border-color: #3B6779 !important;
}

.btn-primary:hover {
  background-color: #083348 !important;
  border-color: #083348 !important;
}

.btn-secondary {
  background-color: #51C0D3 !important;
  border-color: #51C0D3 !important;
}

.btn-secondary:hover {
  background-color: #41a0b3 !important;
  border-color: #41a0b3 !important;
}

.btn-success {
  background-color: #002d3f !important;
  border-color: #002d3f !important;
}

.btn-info {
  background-color: #51C0D3 !important;
  border-color: #51C0D3 !important;
}

.btn-warning {
  background-color: #002d3f7A !important;
  border-color: #002d3f7A !important;
  color: #fff !important;
}

.btn-danger {
  background-color: #002d3f !important;
  border-color: #002d3f !important;
}

/* Text Colors */
.text-primary {
  color: #002d3f !important;
}

.text-secondary {
  color: #51C0D3 !important;
}

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

.text-info {
  color: #51C0D3 !important;
}

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

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

/* Background Colors */
.bg-primary {
  background-color: #002d3f !important;
}

.bg-secondary {
  background-color: #51C0D3 !important;
}

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

.bg-info {
  background-color: #51C0D3 !important;
}

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

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

/* Border Colors */
.border-primary {
  border-color: #002d3f !important;
}

.border-secondary {
  border-color: #51C0D3 !important;
}

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

.border-info {
  border-color: #51C0D3 !important;
}

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

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

/* Alert Colors */
.alert-primary {
  background-color: #e3f1f5 !important;
  border-color: #c7e3eb !important;
  color: #002d3f !important;
}

.alert-secondary {
  background-color: #e8f7fa !important;
  border-color: #d1eef3 !important;
  color: #51C0D3 !important;
}

.alert-success {
  background-color: #e3f1f5 !important;
  border-color: #c7e3eb !important;
  color: #002d3f !important;
}

.alert-info {
  background-color: #e8f7fa !important;
  border-color: #d1eef3 !important;
  color: #51C0D3 !important;
}

.alert-warning {
  background-color: rgba(0, 45, 63, 0.1) !important;
  border-color: #002d3f7A !important;
  color: #002d3f7A !important;
}

.alert-danger {
  background-color: #e3f1f5 !important;
  border-color: #c7e3eb !important;
  color: #002d3f !important;
}

/* Badge Colors */
.badge.bg-primary {
  background-color: #002d3f !important;
}

.badge.bg-secondary {
  background-color: #51C0D3 !important;
}

.badge.bg-success {
  background-color: #002d3f !important;
}

.badge.bg-info {
  background-color: #51C0D3 !important;
}

.badge.bg-warning {
  background-color: #002d3f7A !important;
}

.badge.bg-danger {
  background-color: #002d3f !important;
}

/* Progress Bar Colors */
.progress-bar.bg-primary {
  background-color: #002d3f !important;
}

.progress-bar.bg-secondary {
  background-color: #51C0D3 !important;
}

.progress-bar.bg-success {
  background-color: #002d3f !important;
}

.progress-bar.bg-info {
  background-color: #51C0D3 !important;
}

.progress-bar.bg-warning {
  background-color: #002d3f7A !important;
}

.progress-bar.bg-danger {
  background-color: #002d3f !important;
}

/* Table Colors */
.table-primary {
  background-color: #e3f1f5 !important;
  color: #002d3f !important;
}

.table-secondary {
  background-color: #e8f7fa !important;
  color: #51C0D3 !important;
}

/* Nav Tabs */
.nav-tabs .nav-link.active {
  border-color: #51C0D3 !important;
  color: #51C0D3 !important;
}

.nav-link.active {
  background-color: #51C0D3 !important;
  color: #fff !important;
}

.nav-pills .nav-link.active {
  background-color: #51C0D3 !important;
  color: #fff !important;
}

.nav-tabs .nav-link:hover {
  border-color: #51C0D3 !important;
  color: #51C0D3 !important;
}

/* Form Controls */
.form-control:focus {
  border-color: #51C0D3 !important;
  box-shadow: 0 0 0 0.25rem rgba(81, 192, 211, 0.25) !important;
}

.form-check-input:checked {
  background-color: #002d3f !important;
  border-color: #002d3f !important;
}

/* Custom Scrollbar */
::-webkit-scrollbar-thumb {
  background: #002d3f !important;
}

::-webkit-scrollbar-track {
  background: #e3f1f5 !important;
}

/* Custom Colors */
:root {
  --bs-primary: #002d3f;
  --bs-secondary: #51C0D3;
  --bs-primary-transparent: #002d3f7A;
}

/* Hide template customizer modal */
#template-customizer {
  display: none !important;
  visibility: hidden !important;
}

/* Primary Color (#002d3f) */
.btn-primary {
  background-color: var(--bs-primary) !important;
  border-color: var(--bs-primary) !important;
}

.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
  background-color: #001f2b !important;
  border-color: #001f2b !important;
}

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

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

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

/* Secondary Color (#51C0D3) */
.btn-secondary {
  background-color: var(--bs-secondary) !important;
  border-color: var(--bs-secondary) !important;
}

.btn-secondary:hover, .btn-secondary:focus, .btn-secondary:active {
  background-color: #3db0c3 !important;
  border-color: #3db0c3 !important;
}

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

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

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

/* Semi-transparent Primary (#002d3f7A) */
.bg-primary-transparent {
  background-color: var(--bs-primary-transparent) !important;
}

/* Additional UI Elements */
.alert-primary {
  background-color: var(--bs-primary) !important;
  border-color: var(--bs-primary) !important;
  color: white !important;
}

.alert-secondary {
  background-color: var(--bs-secondary) !important;
  border-color: var(--bs-secondary) !important;
  color: white !important;
}

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

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

.progress-bar.bg-primary {
  background-color: var(--bs-primary) !important;
}

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

/* Form Controls */
.form-check-input:checked {
  background-color: var(--bs-primary) !important;
  border-color: var(--bs-primary) !important;
}

.form-control:focus {
  border-color: var(--bs-secondary) !important;
  box-shadow: 0 0 0 0.25rem rgba(81, 192, 211, 0.25) !important;
}

/* Navigation */
.nav-tabs .nav-link.active {
  border-color: var(--bs-secondary) !important;
  color: var(--bs-secondary) !important;
}

.nav-link.active {
  background-color: var(--bs-secondary) !important;
  color: white !important;
}

.nav-pills .nav-link.active {
  background-color: var(--bs-secondary) !important;
}

/* Scrollbar */
::-webkit-scrollbar-thumb {
  background-color: var(--bs-primary) !important;
}

/* Links */
a {
  color: var(--bs-primary);
}

a:hover {
  color: #083a4d;
}

/* ========== Override theme purple everywhere (use primary teal #002d3f) ========== */
/* Higher specificity (body) so these win over theme regardless of load order */

/* ---- Outline primary button: all states ---- */
body .btn-outline-primary,
.btn-outline-primary {
  color: #002d3f !important;
  border-color: #002d3f !important;
  background: transparent !important;
}
body .btn-outline-primary:hover,
body .btn-outline-primary:focus,
.btn-outline-primary:hover,
.btn-outline-primary:focus,
body .btn-check:focus + .btn-outline-primary,
body .btn-check:checked + .btn-outline-primary,
body .btn-check:active + .btn-outline-primary,
body .btn-outline-primary:active,
body .btn-outline-primary.active,
body .show > .btn-outline-primary.dropdown-toggle {
  color: #fff !important;
  background-color: #002d3f !important;
  border-color: #002d3f !important;
}
body .btn-outline-primary:active,
body .btn-outline-primary.active,
.btn-outline-primary:active,
.btn-outline-primary.active {
  background-color: #083348 !important;
  border-color: #083348 !important;
}
body .btn-outline-primary.waves-effect .waves-ripple,
.btn-outline-primary.waves-effect .waves-ripple {
  background: radial-gradient(rgba(0, 45, 63, 0.2) 0, rgba(0, 45, 63, 0.3) 40%, rgba(0, 45, 63, 0.4) 50%, rgba(0, 45, 63, 0.5) 60%, rgba(255, 255, 255, 0) 70%) !important;
}
body .btn-outline-primary .badge,
body .btn-outline-primary:hover .badge,
body .btn-outline-primary:focus .badge,
body .btn-outline-primary:active .badge,
.btn-outline-primary .badge {
  background: #002d3f !important;
  border-color: #002d3f !important;
  color: #fff !important;
}
body .btn-outline-primary i,
body .btn-outline-primary .ti,
.btn-outline-primary i,
.btn-outline-primary .ti {
  color: inherit !important;
}

/* ---- Label primary (card headers, badges, etc.) ---- */
body .bg-label-primary,
body .card-header.bg-label-primary,
.bg-label-primary,
.card-header.bg-label-primary {
  background-color: #e3f1f5 !important;
  color: #002d3f !important;
}
body .bg-label-primary *,
body .bg-label-primary .mb-0,
.bg-label-primary .mb-0 {
  color: #002d3f !important;
}

body .bg-label-hover-primary,
.bg-label-hover-primary {
  background-color: #e3f1f5 !important;
  color: #002d3f !important;
}
body .bg-label-hover-primary:hover,
.bg-label-hover-primary:hover {
  background-color: #002d3f !important;
  color: #fff !important;
}

/* ---- Button label primary ---- */
body .btn-label-primary,
.btn-label-primary {
  background-color: #e3f1f5 !important;
  border-color: transparent !important;
  color: #002d3f !important;
}
body .btn-label-primary:hover,
body .btn-label-primary:focus,
.btn-label-primary:hover,
.btn-label-primary:focus {
  background-color: #c7e3eb !important;
  color: #002d3f !important;
}
body .btn-label-primary:active,
body .btn-label-primary.active,
.btn-label-primary:active,
.btn-label-primary.active {
  background-color: #002d3f !important;
  color: #fff !important;
}

/* Page title and any .text-primary (theme overrides these with purple) */
body .text-primary,
body h4.text-primary,
body h5.text-primary,
body .fw-bold.text-primary,
body .mb-0.text-primary {
  color: #002d3f !important;
}

/* Embed code block: force teal tint (theme .bg-primary can be solid purple) */
pre.bg-primary,
pre#embed-code,
#embed-code.bg-primary,
pre.bg-primary.bg-opacity-10,
#embed-code {
  background-color: rgba(0, 45, 63, 0.12) !important;
  border-color: rgba(0, 45, 63, 0.25) !important;
  color: #002d3f !important;
}
pre#embed-code code,
#embed-code code {
  color: #002d3f !important;
}

