
.dataTables_wrapper
{
  width: 100% !important;
}

.TablaDeRegistros_wrapper 
{
  /*
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  */
  /*width: 340px; */
  width: 100% !important;
}

@media (min-width: 1200px) 
{
  .dataTables_wrapper
    {
      width: 100% !important;
    }
    
  .TablaDeRegistros_wrapper 
    {
      width: 340px;
      /*width: 100% !important;*/
    }     
}

.TablaDeRegistros_wrapper .form-group label 
{
    display: block;
    margin-bottom: 5px; 
}


.DivContenedor 
{
  position: fixed;
  min-height: 96px;
  width: 96px;
  text-align: center;
  word-wrap: break-word;
  top:      20%;
  right:    45%; 
  z-index: 99999;
  visibility: hidden;
}

.DivWait 
{  
  width:      6rem; 
  height:     6rem;
  opacity: 0.4;
  animation: spinner-border .75s linear infinite !important;
  animation-iteration-count: 1;
}

.DivWait::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: 4px solid transparent;
  border-top-color: red;
  background-clip: content-box;
  box-sizing: border-box;
}

.DivWait:hover {
  animation-iteration-count: infinite;
}

@keyframes DivWait 
{
  0%    { transform: rotate(0deg);    }
  100%  { transform: rotate(360deg);  }
}

.Image-div
{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  /* Add the dimensions of your div */
  /*width: 50%;*/
  /*height: 50%;*/
 }

 .Image-div-Bottom
{
  position: absolute;
  left: 50%;
  transform: translate(-50%, -1%);
  bottom: 0;
  width: 96px;
  height: auto;
 }

 .center-div
{
  position: absolute;
  top: 95%;
  left: 50%;
  transform: translate(-50%, -50%);
  /* Add the dimensions of your div */
  width: 80%;
  /*height: 50%;*/
 }

 .SombraDivRol
 {
  -webkit-box-shadow: 6px 6px 10px -2px rgba(128, 128, 128, 0.6);
  -moz-box-shadow: 6px 6px 10px -2px rgba(128, 128, 128, 0.6);
  box-shadow: 6px 6px 10px -2px rgba(128,128,128,0.6);
 }

 .tx-red-shadow
 {
  color : #f00;
  font-size: 22px !important;
  -webkit-box-shadow: 4px 4px 6px -2px rgba(74, 74, 74, 0.9);
  -moz-box-shadow: 4px 4px 6px -2px rgba(74, 74, 74, 0.9);  
  box-shadow: 4px 4px 6px -2px rgba(74,74,74,0.9)
 }

 .div-stop
 {
  display: flex; /* Utiliza Flexbox para centrar los elementos */
  justify-content: center; /* Centra horizontalmente */
  align-items: center; /* Centra verticalmente */
  height: 80vh; /* Altura completa de la ventana del navegador */
  width: 90vw; /* Ancho completo de la ventana del navegador */
  background: url('../img/mano_stop.png') no-repeat center center; /* Añade la imagen de fondo */
  background-size: 480px 480px; /* Tamaño de la imagen de fondo */
}

  .columnas-3
  {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 16px;
    margin: 10px;
    padding-bottom: 4px;
    padding-top: 4px;
  }

  .columnas-4
  {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 16px;
    margin: 5px;
    padding-bottom: 4px;
    padding-top: 4px;
  }
  
  .columnas-4-item
  {
      background-color: #0168fa;
      color: white;
      font-size: 10px;
      text-align: center;
      padding: 2px;
      border-radius: 8px;
  }
  /*  ======================================  QR  ============================================ */
  .qr-video 
  {
    width: 99%;    /*width: 100%;*/
    height:240px;
    max-width: 400px;
    border-radius: 15px;
  }

  .qr-canvas 
  {
    display: none;
  }

  /*  ======================================================================================== */
  /* ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄*/
/* ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓  MEDIAS  ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ */
/* ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ */
/* ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ Mobile ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ */
@media (min-width: 320px) and (max-width: 481px)                /* Mobile (hasta 481px) */
{
  .no-space-lr  { padding-bottom: 10px !important;  }
  .select_font  {font-size: 8px; }
}
@media (min-width: 481px) and (max-width: 767px)                /* Mobile (hasta 767px) Precticamente todos */
{
  .no-space-lr  { padding-bottom: 10px !important;  }
  .select_font  {font-size: 8px; }
}
@media (min-width: 768px) and (max-width: 991px)                /* Tablet/Mobile grande - 768px a 991px */
{
  .select_font  {font-size: 8px; }
}

/* ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ Laptop ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ */
@media only screen and (min-width: 992px) and (max-width: 1023px)     /* Laptop pequeña (768px - 1023px) */
{
}
@media only screen and (min-width: 1024px) and (max-width: 1279px)    /* Laptop grande (1024px - 1279px) */
{
}

/* ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ Desktop ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ */
@media only screen and (min-width: 1280px) and (max-width: 1439px)    /* Desktop pequeño (1280px - 1439px) */
{

}
@media only screen and (min-width: 1440px)                            /* Desktop grande (1440px y superior) */
{

}

/* ===== SELECT BASE ===== */
.select-control {
  width: 100%;
  max-width: 100%;
  padding: 10px 36px 10px 12px;
  font-size: 16px; /* Evita zoom automático en iOS */
  line-height: 1.4;
  color: #333;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 8px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23666' d='M6 8L0 0h12z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 12px;
  box-sizing: border-box;
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;

  /* Texto largo: truncar con ellipsis en el select cerrado */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.select-control:focus {
  outline: none;
  border-color: #4a90e2;
  box-shadow: 0 0 0 3px rgba(74, 144, 226, 0.2);
}

/* ===== OPCIONES CON TEXTO LARGO ===== */
.select_font {
  font-size: 14px;
  white-space: normal;   /* Permite salto de línea en el dropdown */
  word-break: break-word;
  padding: 8px 4px;
  line-height: 1.5;
}

/* ===== MÓVILES ===== */
@media (max-width: 768px) {
  .select-control {
    font-size: 16px;      /* Crítico: evita zoom en iOS Safari */
    padding: 12px 40px 12px 14px;
    border-radius: 10px;
    min-height: 48px;     /* Área táctil mínima recomendada */
    max-width: 100%;
  }

  .select_font {
    font-size: 9px;
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
    max-width: 100%;
    padding: 10px 6px;
  }
}

/* ===== MÓVILES PEQUEÑOS ===== */
@media (max-width: 480px) {
  .select-control {
    font-size: 15px;
    padding: 10px 36px 10px 10px;
    border-radius: 8px;
  }

  .select_font {
    font-size: 8px;
    line-height: 1.4;
  }
}

/* ===== WRAPPER RECOMENDADO ===== */
.select-wrapper {
  position: relative;
  width: 100%;
  max-width: 100%;
  overflow: hidden;       /* Contiene el texto desbordado */
}