:root {
  --nv-navy: #062358;
  --nv-navy-700: #0a3a86;
  --nv-blue: #0d86fe;
  --nv-blue-600: #0b6fd1;
  --nv-bg: #f4f7fb;

  /* Mapear el azul electrico como color primario de Bootstrap */
  --bs-primary: var(--nv-blue);
  --bs-primary-rgb: 13, 134, 254;
  --bs-link-color: var(--nv-blue-600);
  --bs-link-color-rgb: 11, 111, 209;
  --bs-link-hover-color: var(--nv-navy);
}

body { background: var(--nv-bg); }

/* --- Navbar --- */
.navbar.bg-dark { background-color: var(--nv-navy) !important; }
.navbar-brand img { height: 30px; width: auto; display: block; }
.navbar .nav-link { font-weight: 500; }
.navbar .nav-link:hover { color: #fff; }

/* --- Botones primarios --- */
.btn-primary {
  --bs-btn-bg: var(--nv-blue);
  --bs-btn-border-color: var(--nv-blue);
  --bs-btn-hover-bg: var(--nv-blue-600);
  --bs-btn-hover-border-color: var(--nv-blue-600);
  --bs-btn-active-bg: var(--nv-blue-600);
  --bs-btn-active-border-color: var(--nv-blue-600);
}
.btn-outline-primary {
  --bs-btn-color: var(--nv-blue-600);
  --bs-btn-border-color: var(--nv-blue);
  --bs-btn-hover-bg: var(--nv-blue);
  --bs-btn-hover-border-color: var(--nv-blue);
  --bs-btn-active-bg: var(--nv-blue);
}

/* --- Tarjetas y acentos --- */
.card { border: none; box-shadow: 0 1px 3px rgba(6, 35, 88, .10); border-radius: .6rem; }
.text-bg-primary { background-color: var(--nv-blue) !important; }
.badge.text-bg-danger { background-color: #e23b4e !important; }
a { text-decoration: none; }
.table a:hover { text-decoration: underline; }
main { min-height: 70vh; }

h1, h2, .navbar-brand { color: var(--nv-navy); }
.navbar-brand { color: #fff !important; }

/* Cabecera de marca (login) */
.brand-hero { text-align: center; }
.brand-hero img { max-width: 220px; height: auto; }
.brand-slogan { color: var(--nv-blue); font-weight: 500; letter-spacing: .2px; }
