:root {
  --pv-primary: #212f52;
  --pv-primary-dark: #18223c;
  --pv-accent: #b09874;
  --pv-bg: #f7f6f2;
  --pv-bg-alt: #e8e7e1;
  --pv-text: #222222;
  --pv-muted: #6c757d;
}

/* Fondo general */
body.bg-app {
  background-color: var(--pv-bg);
  color: var(--pv-text);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.6;
}

/* Contenedor principal un poco más ancho y aireado */
.app-container {
  max-width: 1180px;
}

/* Navbar */
.navbar-primary {
  background-color: var(--pv-primary);
}

.navbar-primary .navbar-brand {
  letter-spacing: 0.06em;
}

.navbar-primary .nav-link {
  font-size: 0.98rem;
}

.navbar-primary .nav-link.active,
.navbar-primary .nav-link:hover,
.navbar-primary .dropdown-item:hover {
  background-color: rgba(255,255,255,0.08);
}

/* Texto suave en navbar */
.text-light-80 {
  opacity: 0.8;
}

/* Tarjetas */
.card {
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,0.03);
  box-shadow: 0 6px 18px rgba(0,0,0,0.04);
}

.card-header {
  background: linear-gradient(135deg, var(--pv-primary), var(--pv-accent));
  color: #fff;
}

/* Tablas: hacerlas más claras y legibles */
.table thead th {
  background-color: var(--pv-primary);
  color: #ffffff;
  border-color: var(--pv-primary-dark);
  font-size: 0.9rem;
}

.table tbody tr:nth-child(even) {
  background-color: var(--pv-bg-alt);
}

.table tbody td {
  vertical-align: middle;
  font-size: 0.92rem;
}

/* Formularios accesibles */
.form-label {
  font-weight: 600;
  font-size: 0.95rem;
}

.form-control,
.form-select {
  border-radius: 10px;
  border-color: #d0cec5;
  padding-top: 0.55rem;
  padding-bottom: 0.55rem;
  font-size: 0.96rem;
}

.form-control:focus,
.form-select:focus {
  border-color: var(--pv-accent);
  box-shadow: 0 0 0 0.15rem rgba(176,152,116,0.25);
}

/* Botones grandes y cómodos de pulsar */
.btn {
  border-radius: 999px;
  font-size: 0.95rem;
}

.btn-primary {
  background-color: var(--pv-primary);
  border-color: var(--pv-primary);
}

.btn-primary:hover {
  background-color: var(--pv-primary-dark);
  border-color: var(--pv-primary-dark);
}

.btn-success {
  background-color: var(--pv-accent);
  border-color: var(--pv-accent);
  color: #fff;
}

.btn-success:hover {
  background-color: #987f5d;
  border-color: #987f5d;
}

/* Badges */
.badge {
  border-radius: 999px;
}

/* Texto útil para personas mayores: buen contraste y tamaños ligeramente mayores en pantallas grandes */
@media (min-width: 992px) {
  body.bg-app {
    font-size: 17px;
  }
}

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

a:hover {
  color: var(--pv-primary-dark);
}

/* Pequeños helpers */
.text-muted {
  color: var(--pv-muted) !important;
}

/* Espaciado entre bloques */
section + section {
  margin-top: 1.5rem;
}
