body {
  margin: 0;
  overflow-x: hidden;
  padding-top: 0; /* altura del navbar */
}

body.login-page {
  background-color: #0d6efd;
  background-image: url('../img/fondo-login.jpg');
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  padding-top: 0; /* Sin navbar */
}

body.app-page {
  padding-top: 56px; /* navbar height */
  background-color: #e8f9fc;
}

body.reporte-page {
  padding-top: 56px; /* navbar height */
}

body.frm-page {
  padding-top: 56px; /* navbar height */
  padding-bottom: 2rem;
  background-color: #87bafc48;
}

.sticky-summary {
  position: sticky;
  top: 60px; /* Ajusta según la altura del menú fijo */
  z-index: 1020; /* Mayor que la tabla o encabezados */
  background-color: #fff;
  border-radius: 0.75rem;
}

.content {
  margin-left: 220px;
  padding: 2rem;
  padding-bottom: 5rem;
  transition: margin-left 0.3s ease;
}

#loader-overlay {
  backdrop-filter: blur(2px);
  transition: opacity 0.3s ease;
}
#loader-overlay.hidden {
  opacity: 0;
  pointer-events: none;
}

aside {
  width: 250px;
  background-color: #343a40;
  color: white;
}

.nav-link,
.accordion-button {
  color: white;
}

.nav-link:hover {
  background-color: #495057;
}

.accordion-button:not(.collapsed) {
  background-color: #495057;
  color: white;
}

.sidebar {
  height: 100vh;
  position: fixed;
  top: 56px; /* debajo del navbar */
  left: 0;
  width: 220px;
  background-color: #343a40;
  padding-top: 1rem;
  padding-bottom: 1rem;
  z-index: 1030;
  transition: transform 0.3s ease;
}

#sidebar .btn {
  text-align: left; /* Opcional: alinear ícono y texto */
  padding: 0.75rem 1rem;
  font-size: 1rem;
}

.sidebar a {
  color: #fff;
  display: block;
  padding: 12px 20px;
  text-decoration: none;
}

.sidebar a:hover {
  background-color: #495057;
}

/* ===================== */
/* Móviles: usar offcanvas */
/* ===================== */
@media (max-width: 767.98px) {
  .sidebar {
    display: none !important; /* Oculta el sidebar fijo */
  }

  .content {
    margin-left: 0; /* contenido ocupa todo el ancho */
  }
}

/* ===================== */
/* Escritorio */
/* ===================== */
@media (min-width: 768px) {
  .sidebar {
    display: block;
    transform: none !important;
  }

  .content {
    margin-left: 220px;
  }
}

.bg-login {
  background: #508bfc url('../img/simedi.png') no-repeat center center;
  background-size: cover;
  min-height: 100vh;
  position: relative;
}

.bg-login::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4); /* Negro con opacidad */
  z-index: 0;
}

.bg-login > * {
  position: relative;
  z-index: 1;
}

/* Asegura que el contenido esté por encima del overlay */
.container {
  position: relative;
  z-index: 2;
}

.card-custom {
  background-color: rgba(255, 255, 255, 0.95); /* Blanco semitransparente */
  border-radius: 1rem;
}

.imagen-lateral img {
  max-height: 300px;
}

.btn-enlace {
  background-color: #f8f9fa; /* Gris claro */
  color: #0d6efd; /* Azul Bootstrap */
  border: 1px solid #0d6efd;
  transition: all 0.3s ease;
}

.btn-enlace:hover {
  background-color: #0d6efd; /* Azul Bootstrap */
  color: white;
  border: 1px solid #0d6efd;
}

/* ==== Ajustes formulario remisión ==== */
#form-remision .form-control {
  width: 100%;
}

#form-remision .row {
  margin-bottom: 15px;
}

#form-remision .col-md-3,
#form-remision .col-md-4,
#form-remision .col-md-6 {
  padding-right: 10px;
  padding-left: 10px;
}

/* ==== Alineación Sidebar íconos + texto ==== */
.sidebar .nav-link,
.sidebar button.nav-link {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 10px 20px;
  text-align: left;
  gap: 0.5rem; /* Espacio entre ícono y texto */
}

.sidebar .nav-link i,
.sidebar button.nav-link i {
  min-width: 20px; /* Asegura que todos los íconos ocupen el mismo ancho */
}
