ul.pagination {
    overflow-x: unset !important;
}
.vh-50 {
  height: 50vh !important;
  min-height: 50vh !important;
  max-height: 50vh !important;
}
.vh-25 {
  height: 25vh !important;
  min-height: 25vh !important;
  max-height: 25vh !important;
}
.h300 {
  height: 300px !important;
  min-height: 300px !important;
  max-height: 300px !important;
}
/* Loader */
.load {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  background-color: rgba(255, 255, 255, 0.75) !important;
  width: 100% !important;
  height: 100vh !important;
  z-index: 9999  !important;
}
.loaderfix {
  text-align: center !important;
  margin: 25% auto !important;
}
/* Modifica el tamño de los logos en main */
.logo-mini-fix {
  padding: 0 !important;
  margin: auto !important;
}
.logo-normal-fix {
  padding: 0 0 0 2.25rem !important;
  margin: auto !important;
}
.normal-fix {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 70px !important;
  padding: .5rem !important;
}
.mini-fix {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 70px !important;
  padding: .5rem !important;
}
.bs-nav-c {
  background: linear-gradient(89deg, #5e7188, #3e4b5b) !important;
}

.twtw {
  word-wrap: break-word !important;
  white-space: normal !important;
}

.resize {
  resize: vertical !important;
}

.accordion .card .card-header a[aria-expanded="false"]::before {
  content: "\f0140"!important;
}

.accordion .card .card-header a[aria-expanded="true"]::before {
  content: "\f0143"!important;
}
.outl {
  outline: none !important;
}

@media (max-width: 991px) {
  .logo-mini-fix {
    padding: 0 !important;
    margin: auto !important;
    text-align: center !important;
  }
  .mini-fix {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 70px !important;
    padding: .5rem !important;
  }
  .bs-nav-c {
    background: linear-gradient(89deg, #5e7188, #3e4b5b) !important;
  }
}
  .soft-bottom {
    position: fixed !important;
    bottom: 0 !important;
    width: 100% !important;
  }
/* MODIFICA EL ANCHO DE LA ETIQUETA EN EL CALENDARIO */
.fc .fc-event {
  padding: .025rem !important;
}

/* TAMAÑO DE FUENTE EN BOTONES ASISTENCIA */
.xsmall {
  font-size: .75rem !important;
  padding: .35rem .55rem !important;
}
.fs55 {
  font-size: .55rem !important;
}
.fs65 {
  font-size: .65rem !important;
}
.fs75 {
  font-size: .75rem !important;
}
.fs85 {
  font-size: .85rem !important;
}
.fs90 {
  font-size: .90rem !important;
}
.fs100 {
  font-size: 1rem !important;
}
.fwN {
  font-family: "ubuntu-regular",sans-serif !important;
  font-weight: initial !important;
}

@media (max-width:768px){
  .p0-sm {
    padding: 0 !important;
    margin: 0 !important;
    position: fixed;
    top:0 !important;
  }
  .hmaxC {
    height: fit-content !important;
  }
  .col-12-mob {
    flex: 0 0 auto !important;
    width: 100% !important;
  }
  .d-none-mob {
    display: none !important;
  }
  .text-center-mob {
    text-align: center !important;
  }
  .wauto-mh60mob {
    width: auto !important;
    max-height: 60px !important;
    margin-bottom: 1rem;
  }
  .w100-mob {
    width: 100% !important;
  }
  .img-lg-mob {
    width: 46px !important;
    height: 46px !important;
  }
}

@media (min-width:768px){
  .text-end-mob {
    text-align: right !important;
  }
  .wauto-mh60mob {
    width: auto !important;
    max-height: 60px !important;
  }
  .bs-nav-c {
  background: linear-gradient(89deg, #5e7188, #3e4b5b) !important;
  }
  .w50-mob {
    width: 50% !important;
  }
}

table.dataTable thead .sorting::before {
    content: "▲"/"" !important;
    line-height: .6rem !important;
    right: 0 !important;
}
table.dataTable thead .sorting::after {
    content: "▼"/"" !important;
    line-height: .6rem !important;
    right: 0 !important;
}
ul.pagination {
    overflow-x: unset !important;
}
button.buttons-print:hover {
    background: #b66dfa;
  border-color: #fff;
  color: #ffffff;
}
button.buttons-print {
    background: #b66dff;
  border-color: #b66dff;
  color: #ffffff;
    font-size: 0.875rem;
  --bs-btn-padding-y: 0.5rem;
  --bs-btn-padding-x: 0.81rem;
  --bs-btn-font-size: 0.875rem;
  --bs-btn-border-radius: 0.1875rem;
}
button.buttons-pdf:hover {
    background: #b66dfa;
  border-color: #fff
  color: #ffffff;
}
button.buttons-pdf {
    background: #b66dff;
  border-color: #b66dff;
  color: #ffffff;
    font-size: 0.875rem;
  --bs-btn-padding-y: 0.5rem;
  --bs-btn-padding-x: 0.81rem;
  --bs-btn-font-size: 0.875rem;
  --bs-btn-border-radius: 0.1875rem;
}
button.buttons-excel:hover {
  background: #b66dfa;
  border-color: #fff;
  color: #ffffff;
}
button.buttons-excel {
  background: #b66dff;
  border-color: #b66dff;
  color: #ffffff;
  font-size: 0.875rem;
  --bs-btn-padding-y: 0.5rem;
  --bs-btn-padding-x: 0.81rem;
  --bs-btn-font-size: 0.875rem;
  --bs-btn-border-radius: 0.1875rem;
}
.white {
  color: white !important;
}

/* ESTILOS TORTAS */
/* ==============================================
   FIX: LOGIN MÓVIL TIPO APP (Sobrescribe style.css)
   ============================================== */

/* 1. REGLAS PARA MÓVIL (Por defecto) */

/* Forzamos fondo blanco en todas las capas contenedoras para eliminar bordes grises */
body, 
.container-scroller, 
.page-body-wrapper, 
.content-wrapper {
    background-color: #ffffff !important; 
    min-height: 50dvh; /* Altura dinámica para navegadores móviles */
}

/* El contenedor principal */
.content-wrapper {
    padding: 0 !important; /* Eliminamos el relleno gigante de la plantilla */
    display: flex !important;
    flex-direction: column;
    
    /* AQUÍ ESTÁ EL TRUCO DEL POSICIONAMIENTO: */
    justify-content: flex-start !important; /* Empuja todo hacia ARRIBA */
    padding-top: 10% !important; /* Baja el formulario un poco para que no toque el borde superior */
}

/* La caja del formulario */
.auth .auth-form-light {
    background: #ffffff !important;
    border: none !important; /* Quitamos bordes si los hubiera */
    box-shadow: none !important; /* Quitamos sombras en móvil para que se vea plano */
    
    /* Ajuste de ancho y márgenes internos */
    width: 100% !important;
    padding-left: 25px !important;
    padding-right: 25px !important;
    padding-bottom: 20px !important;
    padding-top: 10px !important; 
    margin: 0 !important;
}

/* Hacemos el logo un poco más pequeño en móvil para que no ocupe toda la pantalla */
.brand-logo img {
    width: 150px !important; 
}

/* ==============================================
   2. REGLAS PARA PC / TABLET (Pantallas grandes)
   ============================================== */
@media (min-width: 992px) {
    
    /* Regresamos el color gris de fondo solo en PC */
    .content-wrapper {
        background-color: #f2edf3 !important;
        justify-content: center !important; /* En PC sí lo queremos centrado verticalmente */
        padding-top: 0 !important; /* Quitamos el margen superior de móvil */
    }

    /* Regresamos el estilo de "Tarjeta" flotante */
    .auth .auth-form-light {
        width: 450px !important; /* Ancho fijo */
        margin: 0 auto !important; /* Centrado horizontal */
        padding: 40px !important; /* Relleno grande original */
        border-radius: 8px; /* Bordes redondeados */
        box-shadow: 0px 0px 15px rgba(0,0,0,0.1) !important; /* Sombra suave */
    }
}
/* TERMINA TORTAS */