/* V Profile brand — colors sampled from logo (cyan → azure → navy) */
:root,
[data-bs-theme=light] {
  --vp-cyan: #5EC0E8;
  --vp-azure: #2F8FD4;
  --vp-mid: #3068B0;
  --vp-navy: #304098;
  --vp-soft: #E3F4FC;
  --vp-soft-2: #EAF6FC;
  --vp-gradient: linear-gradient(135deg, #5EC0E8 0%, #2F8FD4 48%, #304098 100%);

  --bs-primary: #2F8FD4;
  --bs-primary-rgb: 47, 143, 212;
  --bs-primary-text-emphasis: #1E3A6E;
  --bs-primary-bg-subtle: #E3F4FC;
  --bs-primary-border-subtle: #A6E0F4;
  --bs-link-color: #2F8FD4;
  --bs-link-hover-color: #304098;
  --bs-info: #5EC0E8;
  --bs-info-rgb: 94, 192, 232;
}

.btn-primary {
  --bs-btn-bg: #2F8FD4;
  --bs-btn-border-color: #2F8FD4;
  --bs-btn-hover-bg: #287EC0;
  --bs-btn-hover-border-color: #287EC0;
  --bs-btn-active-bg: #304098;
  --bs-btn-active-border-color: #304098;
  --bs-btn-disabled-bg: #2F8FD4;
  --bs-btn-disabled-border-color: #2F8FD4;
  background-image: var(--vp-gradient);
  border: 0;
}

.btn-primary:hover,
.btn-primary:focus {
  background-image: linear-gradient(135deg, #4BB5E2 0%, #287EC0 50%, #2A3888 100%);
}

.btn-outline-primary {
  --bs-btn-color: #2F8FD4;
  --bs-btn-border-color: #2F8FD4;
  --bs-btn-hover-bg: #2F8FD4;
  --bs-btn-hover-border-color: #2F8FD4;
  --bs-btn-active-bg: #304098;
  --bs-btn-active-border-color: #304098;
}

.bg-primary { background-color: #2F8FD4 !important; }
.text-primary { color: #2F8FD4 !important; }
.border-primary { border-color: #2F8FD4 !important; }
.bg-label-primary {
  background-color: #E3F4FC !important;
  color: #304098 !important;
}

/* Sidebar / menu brand cues */
.app-brand .app-brand-text { color: #304098 !important; }
.bg-menu-theme .menu-inner > .menu-item.active > .menu-link {
  background: linear-gradient(72.47deg, #2F8FD4 22.16%, rgba(47, 143, 212, 0.7) 76.47%) !important;
  box-shadow: 0 2px 6px rgba(47, 143, 212, 0.35);
  color: #fff !important;
}
.bg-menu-theme .menu-inner > .menu-item.active > .menu-link .menu-icon {
  color: #fff !important;
}
/* Expanded parent (open) should stay readable — not white-on-light */
.bg-menu-theme .menu-inner > .menu-item.open:not(.active) > .menu-link {
  color: #304098 !important;
  background: #E3F4FC !important;
}
.bg-menu-theme .menu-inner > .menu-item.open:not(.active) > .menu-link .menu-icon {
  color: #2F8FD4 !important;
}
.bg-menu-theme .menu-inner > .menu-item.open > .menu-sub .menu-link {
  color: #444050 !important;
}
.bg-menu-theme .menu-inner > .menu-item.open > .menu-sub .menu-link:hover {
  color: #2F8FD4 !important;
}
.bg-menu-theme .menu-inner > .menu-item.open > .menu-sub .menu-item.active > .menu-link {
  color: #fff !important;
  background: #2F8FD4 !important;
  box-shadow: 0 2px 6px rgba(47, 143, 212, 0.28);
}
.bg-menu-theme .menu-inner > .menu-item.open > .menu-sub .menu-item.active > .menu-link:hover {
  color: #fff !important;
}

/* Auth / page accents */
.auth-cover-brand .app-brand-text { color: #304098 !important; }
.page-item.active .page-link,
.pagination .page-item.active .page-link {
  background-color: #2F8FD4 !important;
  border-color: #2F8FD4 !important;
}

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

.form-control:focus,
.form-select:focus {
  border-color: #5EC0E8 !important;
  box-shadow: 0 0 0 0.2rem rgba(47, 143, 212, 0.2) !important;
}

/* Soft brand wash behind content */
body.light-style {
  background:
    radial-gradient(1200px 420px at 0% -10%, rgba(94, 192, 232, 0.18), transparent 60%),
    radial-gradient(900px 380px at 100% 0%, rgba(48, 64, 152, 0.08), transparent 55%),
    #f5f9fc;
}

.layout-navbar.navbar-detached {
  box-shadow: 0 4px 18px rgba(48, 64, 152, 0.06);
}

/* Vuexy zeros .card-body top padding after .card-header; keep a consistent 15px */
.card-body,
.card .card-header + .card-body,
.card .card-header + .card-content > .card-body:first-of-type {
  padding-top: 15px;
}
