/* =====================
   FONDO LOGIN - BASE
===================== */

#login-bg {
    position: fixed; /* POSICION FIJA */
    inset: 0; /* CENTRAR EN PANTALLA */

    background:/* linear-gradient PARA DECIR QUE LA DEGRADACION IRA EN UNA SOLA DIRECCIÓN */
        linear-gradient(
            to right,
            rgba(31,41,55,0) 0%,
            rgba(31,41,55,1) 60%
        ),
        url("/Vistas/img/saic_fondo.png");

    background-repeat: no-repeat;
    background-position: left center;
    background-size: cover;/* QUE LA IMAGEN CUBRA TODO EL ESPACIO, SI ES 
    NECESARIO QUE LA CORTE */

    z-index: 0;
}

.login-box {
    position: relative;
    z-index: 1;
}

.img-tabla {
  width: 45px;
  height: 45px;
  object-fit: cover;
  border-radius: 6px;
  cursor: pointer;

}
.contenedor-imagen-modal {
  width: 100%;
  height: 70vh;            /* tamaño uniforme */
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,0.004); 
  padding: 0;
}

.contenedor-imagen-modal img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

input.input-disabled-custom.form-control {
    background-color: #e9ecef;
    cursor: not-allowed;
    opacity: 0.7;
}

/* MENU SAIC */
.sidebar-menu .nav-link {
  border-radius: 10px;
  margin: 3px 8px;
  transition: all .2s ease-in-out;
}

.sidebar-menu .nav-link:hover {
  background: rgba(255, 255, 255, .08);
  transform: translateX(2px);
}

.sidebar-menu .nav-link.active {
  background: linear-gradient(90deg, #0d6efd, #0b5ed7);
  color: #fff !important;
  font-weight: 600;
  box-shadow: 0 4px 10px rgba(13, 110, 253, .25);
}

.sidebar-menu .nav-link.active i {
  color: #fff !important;
}

.sidebar-menu .nav-treeview .nav-link {
  padding-left: 28px;
  font-size: .94rem;
}

.sidebar-menu .nav-treeview .nav-link.active {
  background: rgba(13, 110, 253, .18);
  color: #fff !important;
  box-shadow: none;
  border-left: 3px solid #0d6efd;
}

.sidebar-menu .nav-header {
  font-size: .72rem;
  letter-spacing: .08rem;
  opacity: .75;
  margin-top: 10px;
}



/*  ESTILOS PARA PANTALLA DE INICIO  */

.saic-hero-inicio {
  background: linear-gradient(135deg, #0d6efd 0%, #084298 55%, #052c65 100%);
  color: #fff;
  position: relative;
  min-height: 190px;
}

.saic-hero-icon {
  width: 52px;
  height: 52px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.18);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.7rem;
}

.saic-hero-text {
  max-width: 620px;
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.88);
}

.saic-hero-bg-icon {
  font-size: 8rem;
  opacity: 0.18;
}



/* ==========================================================
   ACCORDION BODEGAS
========================================================== */

.accordion-button {
  background-color: #fff;
  color: #212529;
  box-shadow: none !important;
}

.accordion-button:not(.collapsed) {
  background-color: #f8f9fa !important;
  color: #212529 !important;
  box-shadow: none !important;
}

.accordion-button:focus {
  border-color: #dee2e6 !important;
  box-shadow: none !important;
}

.accordion-button:active {
  box-shadow: none !important;
}

.accordion-item {
  border: 1px solid #dee2e6;
}


/* ==========================================================
   TICKETS DE EMBARQUES CAPTURADOS HOY- REFLEJA EL ULTIMO AGREGADO
========================================================== */


tr.ticket-reciente > td {
  background-color: #eaf4ff !important;
}

tr.ticket-reciente > td:first-child {
  border-left: 4px solid #0d6efd !important;
}

tr.ticket-reciente {
  animation: ticketFlash 1.2s ease;
}

@keyframes ticketFlash {

  0% {
    transform: scale(1.01);
    opacity: 0.7;
  }

  100% {
    transform: scale(1);
    opacity: 1;
  }

}




.avance-buque-encabezado {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.avance-buque-datos {
  flex: 0 1 auto;
  min-width: 0;
}

.avance-progreso-contenedor {
  flex: 1;
  min-width: 100px;
}

.avance-progreso-general {
  width: 100%;
  height: 7px;
  margin: 0;
}

.avance-general {
  flex-shrink: 0;
  text-align: right;
}

.avance-general-porcentaje {
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1;
}

.avance-general small {
  display: block;
  margin-top: 0.2rem;
}

/* En celular vuelve a colocarse en varias líneas */
@media (max-width: 575.98px) {

  .avance-buque-encabezado {
    flex-wrap: wrap;
    gap: 0.6rem;
  }

  .avance-buque-datos {
    flex: 1;
  }

  .avance-progreso-contenedor {
    flex: 0 0 100%;
    order: 3;
  }

}














