/* EPDB brand override — applied after Velzon CSS, before page-level overrides. */

:root,
[data-bs-theme="light"] {
  --epdb-burgundy: #89022B;
  --epdb-burgundy-600: #6E0223;
  --epdb-burgundy-100: #F5E0E5;
  --epdb-green-dark: #005126;
  --epdb-green-light: #4CB748;
  --epdb-green-light-100: #E1F4DE;
  --epdb-mauve: #AD6569;
  --epdb-ink: #1F2937;
  --epdb-paper: #F8F7F5;
  --epdb-line: #E5E1DA;

  --vz-primary: #89022B;
  --vz-primary-rgb: 137, 2, 43;
  --vz-link-color: #89022B;
  --vz-link-hover-color: #6E0223;
  --vz-success: #4CB748;
  --vz-success-rgb: 76, 183, 72;
  --vz-info: #AD6569;
  --vz-info-rgb: 173, 101, 105;
  --vz-secondary: #005126;
  --vz-secondary-rgb: 0, 81, 38;
  --vz-body-bg: #F8F7F5;
  --vz-body-bg-rgb: 248, 247, 245;
  --vz-border-color: #E5E1DA;
  --vz-border-color-translucent: rgba(31, 41, 55, 0.1);
}

/* Sidebar (Velzon dark sidebar) — pull in dark green from EPDB */
.navbar-menu,
[data-sidebar="dark"] .navbar-menu {
  background-color: #0A2E18;
}
[data-sidebar="dark"] .navbar-brand-box {
  background-color: #062012;
}
[data-sidebar="dark"] .navbar-nav .nav-link.active,
[data-sidebar="dark"] .navbar-nav .nav-link:hover {
  color: #FFFFFF;
  background-color: rgba(76, 183, 72, 0.18);
}
[data-sidebar="dark"] .navbar-nav .nav-sm .nav-link.active {
  color: #4CB748;
}
[data-sidebar="dark"] .menu-title {
  color: rgba(255, 255, 255, 0.55);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* Buttons & links — burgundy primary */
.btn-primary {
  --vz-btn-bg: #89022B;
  --vz-btn-border-color: #89022B;
  --vz-btn-hover-bg: #6E0223;
  --vz-btn-hover-border-color: #6E0223;
  --vz-btn-active-bg: #57001B;
  --vz-btn-active-border-color: #57001B;
}
.btn-success {
  --vz-btn-bg: #4CB748;
  --vz-btn-border-color: #4CB748;
  --vz-btn-hover-bg: #3E9A3A;
  --vz-btn-hover-border-color: #3E9A3A;
}
.btn-soft-primary {
  background-color: rgba(137, 2, 43, 0.10);
  color: #89022B;
}
.btn-soft-primary:hover {
  background-color: #89022B;
  color: #FFFFFF;
}

/* Cards — softer borders, subtle paper feel */
.card {
  border: 1px solid var(--vz-border-color);
  box-shadow: 0 1px 2px rgba(31, 41, 55, 0.04);
}
.card-header {
  background-color: transparent;
  border-bottom-color: var(--vz-border-color);
}

/* Page title strip — thin burgundy→green accent (decorative brand cue) */
.page-title-box {
  position: relative;
  padding-top: 0.5rem;
}

/* Tables — tabular numerals for monetary / count columns */
.table {
  font-variant-numeric: tabular-nums;
}

/* Status badges aligned to brand semantics */
.badge.bg-primary { background-color: #89022B !important; }
.badge.bg-success { background-color: #4CB748 !important; }
.badge.bg-info    { background-color: #AD6569 !important; }
.badge.bg-secondary { background-color: #005126 !important; }

/* Auth screens — clean paper background, brand gradient strip on card */
.auth-page-wrapper {
  background-color: var(--epdb-paper) !important;
  background-image: none !important;
}
.auth-page-wrapper .auth-one-bg,
.auth-page-wrapper .bg-overlay,
.auth-page-wrapper .shape {
  display: none !important;
}
.auth-page-wrapper .card {
  border-top: 4px solid transparent;
  border-image: linear-gradient(90deg, #89022B 0%, #AD6569 50%, #4CB748 100%) 1;
}
.auth-page-wrapper .text-white-50 {
  color: var(--epdb-ink) !important;
}
.auth-page-wrapper .text-white-50 p {
  color: #6B7280 !important;
}

/* Focus ring — burgundy with safe contrast */
.form-control:focus,
.form-select:focus,
.btn:focus-visible {
  border-color: #C44560;
  box-shadow: 0 0 0 0.2rem rgba(137, 2, 43, 0.20);
}

/* Topbar logo box — give the brand mark room to breathe */
.navbar-brand-box .logo img {
  max-height: 28px;
  width: auto;
}
