/* Footer fijo abajo */
.footer {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  background: #f8f9fa;
  border-top: 1px solid #dee2e6;
  z-index: 1030;
}
body { padding-bottom: 70px; }
.fade-in {
  animation: fadeIn 120ms ease-in;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(2px); }
  to { opacity: 1; transform: translateY(0); }
}

.sae-navbar .navbar-brand {
  letter-spacing: 0.2px;
  font-weight: 700;
}

.sae-navbar .nav-link {
  border-radius: 0.6rem;
  padding: 0.45rem 0.75rem;
  margin-right: 0.15rem;
}

.sae-navbar .nav-link:hover:not(.active):not(.disabled) {
  background-color: rgba(var(--bs-light-rgb), 0.18);
}

.sae-navbar .nav-link.active {
  background-color: var(--bs-warning);
  color: var(--bs-dark) !important;
}
