 /* ------------------------------------------------------------------------------------------- */
 /* stylesPortal2025                                                                            */
 /* Estilos de nuevos objetos integrados en las mejoras del portal, junio 2025                  */
 /* es complementario a styles_elementia.css y styleListsAutocomp.css                           */
 /* La consulta de facturas se tomo como modelo para adaptaciones de la nueva versión           */
 /* Para identificar clases que aplican a objetos, se han dejado encapsulados entre tags <style>*/
 /* ------------------------------------------------------------------------------------------- */
 
  /*<style> ajustes a "select2" lista deplegable*/
    .select2-container {
      width: 100% !important;
      max-width: 440px !important;
      text-align: left;
    }
    .select2-container--default .select2-selection--single {
      border: 2px solid #000000;  /*color del borde*/
      height: 24px;     /* altura del campo visible */
      padding: 2px 6px; /* altura del campo visible */
      font-size: 13px;
      border-radius: 4px;
      box-shadow: none;
    }

    .select2-container--default .select2-selection--single .select2-selection__rendered {
      color: #000000;  /*color del texto visible*/
      line-height: 20px; /* ligeramente menor que el height */
    }

    .select2-container--default .select2-results__option {
      color: #222222;
    }

    .select2-container--default .select2-results__option--highlighted {
      background-color: #cce5ff;
      color: #000;
    }
    .select2-container--default .select2-results__option {
      padding-top: 2px;
      padding-bottom: 2px;
      font-size: 14px; /* opcional, si deseas texto más compacto */
    }
    .select2-container--default .select2-results > .select2-results__options {
      max-height: 160px;  /* altura del la lista que se despliega */
      overflow-y: auto;
    }  
  
  /*<style> estilos del botón "btn-base" */
    .btn-base {
        padding: 8px 18px; /* alto más bajo */
        font-size: 12px;
        font-family: 'Segoe UI', sans-serif;
        color: #ffffff;
        background-color: #119db7; /*#0056b3;*/
        border: none;
        border-radius: 6px;
        box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.3);
        cursor: pointer;
        transition: background-color 0.3s ease;
        text-decoration: none;
    }

    .btn-base:hover {
      background-color: #004094;
    }
  
  /*<style>  estilos del botón "btn-ManualUsuario" */
    .btn-ManualUsuario {
      display: inline-block;
      padding: 10px 18px;
      font-size: 12px;
      font-family: 'Segoe UI', sans-serif;
      color: #ffffff;
      background-color: #119db7;
      border: none;
      border-radius: 6px;
      box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.3);
      text-decoration: none;
      cursor: pointer;
      transition: background-color 0.3s ease;
      margin-left: 10px;
    }

    .btn-ManualUsuario:hover {
      background-color: #0051a8;
    }

/*<style> ajustar estilos de la clase Datepicker, campo de fechas nuevo para el portal*/
    input.hasDatepicker {
      width: 100px; /* ancho del campo fecha */
    }

/*<style> otros textos en el formulario, nuevas clases*/
    .titulo-formulario {
      display: block;
      font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
      font-size: 25px;
      font-weight: bold;
      color: #2c3e50;
      margin-bottom: 0px;
      border: 1px;
    }
  
  /* para el <div id="mensajes">*/
    #mensajes{
      color: red;  
    }      
  
  /*<style> estilos del botón "btn-Portal" */
  .btn-Portal,
  .btn-Portal:visited {
      min-width: 120px;
      position: relative;
      z-index: 1;
      overflow: visible;
      display: inline-block;
      padding: 0.7em 0.6em 0.600em;
      border: 1px solid #999;
      border-bottom-color: #888;
      margin: 0;
      text-decoration: none;
      text-align: center;
      color: #fff;
      font: 12px/normal 'lucida grande', tahoma, verdana, arial, sans-serif;
      white-space: nowrap;
      cursor: pointer;
      /* outline: none; */
      background-color: #eee;
      background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0078d0), to(#02406e));
      background-image: -moz-linear-gradient(#0078d0, #02406e);
      background-image: -o-linear-gradient(#0078d0, #02406e);
      background-image: linear-gradient(#0078d0, #02406e);
      -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1), inset 0 1px 0 #fff;
      -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1), inset 0 1px 0 #fff;
      box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1), inset 0 1px 0 #fff;
      /* IE hacks */
      zoom: 1;
      width: 130px;
      *display: inline;
  }

  .btn-Portal-Azul {
    color: #fff;
    font: bold 12px/normal 'lucida grande', tahoma, verdana, arial, sans-serif;
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0078d0), to(#02406e));
    background-image: -moz-linear-gradient(#0078d0, #02406e);
    background-image: -o-linear-gradient(#0078d0, #02406e);
    background-image: linear-gradient(#0078d0, #02406e);
  }

  .btn-Portal:hover,
  .btn-Portal:focus,
  .btn-Portal:active {
      border-color: #777 #777 #666;
  }

  .btn-Portal:active {
      border-color: #aaa;
      background: #ddd;
      filter: none;
      -webkit-box-shadow: none;
      -moz-box-shadow: none;
      box-shadow: none;
  }

  /* overrides extra padding on button elements in Firefox */
  .btn-Portal::-moz-focus-inner {
      padding: 0;
      border: 0;
  }

  .btnHighlightedBorder {
      border: 1px solid orange !important;
      box-shadow: 0 0 5px rgba(255, 165, 0, 0.7); /* suave brillo naranja */
      outline: none;
  }

  .btn-Exportar {
  /* Herencia de estilos de btn-Portal */
  @extend .btn-Portal;

  min-width: 50px;
  width: 70px;
  height: 28px;
  padding: 0.2em 0.6em 0.2em 0.6em;
}

  /**/
 .div1exportar {
    text-align: left;
    width: 95%;
  }

  .div2exportar {
    display: inline-block;
  }

  .div1BotonesPortal {
    width: 100%;
    max-width: 1230px;
    box-shadow: 2px 2px 0px rgba(0, 0, 0, 0.3);
    padding: 7px;
    margin-top: 0; 
    width: 95%;
    padding: 0px 0px 4px 0px;
    /*border: 1px solid #e6094b;*/
  }

  .tdIzqBotones{
    width: 85%;
    text-align: center;
  }

  .tdDerBotones{
    width: 15%;
    min-width: 150px;
  }

  .tblBotonesPortal {
    border: 0px solid black;
    width: 100%;
    margin-top: 0px;
  }

  .tdTxtCriterios{
    width: 130px;
    text-align: right;
    padding-right: 10px;
  }

  .tdTxtform{
    width: 130px;
    min-width: 120px;
    text-align: right;
    padding-right: 10px;
  }

  .tdData{
    width: 150px;
    min-width: 150px;
    padding-right: 10px;
  }

  .wInputCriterios {
    width: 100%;
    max-width: 100px;
    /*border: 1px solid #e6094b;*/
  }

  .wSelectCriterios {
    width: 100%;
    max-width: 800px;
  }

  .spCriterios{
    font-weight: bold;
  } 

.wrap-checkbox {
  display: inline-block;
  padding: 0px 0px 4px 0px; /*6px 10px*/
  border: 2px solid #aaa;
  border-radius: 6px;
  /*background-color: #f9f9f9;*/
  height: 24px;
}

.input-fecha {
  background-image: url('https://cdn-icons-png.flaticon.com/512/747/747310.png'); /* ícono calendario */
  background-repeat: no-repeat;
  background-position: right 8px center;
  background-size: 18px 18px;  /* ajusta tamaño del ícono */
  padding-right: 28px;         /* deja espacio para que el texto no se sobreponga con la imagen */
  box-sizing: border-box;
}

.fieldBlocked {
  background-color: #e0e0e0;
  color: #666;
  border: 1px solid #ccc;
  pointer-events: none;      /* evita clics, selección */
  opacity: 1;                /* asegura que se vea bien */
}

.fieldDisable {
  background-color: #e0e0e0;
  border: 1px solid #ccc;
}

.cursor-espera {
  cursor: wait !important;
}

.fieldNumber {
    text-align: right !important;
}

.align-left {
    text-align: left !important;
}

.encabezado-tabla {
  background-color: #17609B;
  color: #FFFFFF;
}
.encabezado-th {
    background-color: #17609B;
    color: #FFFFFF;
}
/* === Botones: tamaño fijo + 2 por fila en ≤860px === */

/* Alturas configurables (puedes sobreescribirlas por página si quieres) */
.form-rowLim.buttons,
.section.buttons {
  --btnh-desktop: 30px;   /* altura de botón en desktop */
  --btnh-mobile:  24px;   /* altura de botón en ≤860px */
  --btn-gap:      10px;   /* separación entre botones */
}

/* Base: que los botones adopten una altura fija y se centren */
.form-rowLim.buttons .btn-Portal,
.section.buttons .btn-Portal {
  /* La clase global tenía min-width:120px; en desktop lo mantenemos,
     pero forzamos una altura fija y centrado vertical */
  display: inline-flex;            /* para centrar contenido */
  align-items: center;
  justify-content: center;
  height: var(--btnh-desktop);
  line-height: normal;             /* evita estirar por line-height */
  padding: 0 14px;                 /* anchura cómoda */
}

/* Enlaces con clase .btn-Portal (como el Manual) también se centran */
.form-rowLim.buttons a.btn-Portal,
.section.buttons a.btn-Portal {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: var(--btnh-desktop);
  line-height: normal;
  padding: 0 14px;
}

/* Responsive: dos botones por fila y alineados */
@media (max-width: 860px) {
  .form-rowLim.buttons,
  .section.buttons {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));  /* 2 por fila */
    gap: 4px;/*var(--btn-gap);*/
  }

  /* Los botones se expanden al 100% del grid y ajustan altura */
  .form-rowLim.buttons .btn-Portal,
  .section.buttons .btn-Portal,
  .form-rowLim.buttons a.btn-Portal,
  .section.buttons a.btn-Portal {
    width: 100%;
    min-width: 0;                 /* anula el min-width global en mobile */
    height: var(--btnh-mobile);
    white-space: normal;          /* permite salto de línea si el texto es largo */
    text-align: center;
  }
  .tdTxtCriterios{
    width: 85px;
    padding-right: 0px;
  }
  .titulo-formulario{
    font-size: 16px;
  }
}
/* === End Botones=== */


