/* ========================================================================
   portal_base_fase4.css

   PROPÓSITO
   ----------
   Estilos base y heredados del Portal de Clientes (legacy + comunes).
   Este archivo consolida reglas históricas y utilitarias necesarias para:
   - tablas de resultados (scroll, sticky headers)
   - contenedores legacy
   - layouts reutilizados por múltiples TPL
   - compatibilidad visual con módulos antiguos

   CONTENIDO
   ----------
   - Estilos heredados del portal original (Elementia / legacy)
   - Estilos comunes reutilizables (commonStyles)
   - Estilos específicos de tablas y contenedores con scroll
     (commonStylesTblResult)

   ALCANCE
   --------
   - NO contiene estilos específicos de negocio
   - NO contiene overrides de UI modernos
   - NO implementa diseño Figma

   NOTAS
   -----
   - Archivo estable (fase 1: reorganización interna)
   - No modificar reglas sin validar impacto global
   - Sirve como capa BASE sobre la cual se aplican overrides

   HISTORIAL
   ----------
   Fase 4 (2026): Consolidación y ordenamiento de estilos base
   ======================================================================== */

/* === LEGACY / BASE ORIGINAL === */
/* Contenido completo de:
   ./configs/styles_elementia.css
*/

/* === ESTILOS COMUNES DEL PORTAL === */
/* Contenido completo de:
   ./styles/commonStyles.css
*/

/* === TABLAS Y CONTENEDORES CON SCROLL === */
/* Contenido completo de:
   ./styles/commonStylesTblResult.css
*/

======================================================================== */

/* === LEGACY / BASE ORIGINAL === */
/* Contenido completo de:
   ./configs/styles_elementia.css
*/
body {
  font-family: "Arial", Times, serif;
  padding-top: 15px;
}

b {
  font-family: "Arial", Times, serif;
 
}
input, button,select {
  background-color:#FFFFFF;
  border:1px solid;
  color: #000000;
  font-family: "Arial"
}

td {
  font-family: Arial, Helvetica, sans-serif;
}

th {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  background-color:#17609B;
  color: #FFFFFF;
}

table {
  font-size: 9pt;
  color: #000000;
  font-family: Arial, Helvetica, sans-serif;
  text-transform: none;
  /*background-color:#EAEAEA;*/
  cellspacing: 3
}
.tableNormal {
  font-size: 9pt;
  color: #000000;
  font-family: Arial, Helvetica, sans-serif;
  text-transform: none;
  background-color: #FFFFFF;
  cellspacing: 3
}
.table2 {
  font-family: "Arial", Times, serif;
  background-color:#FFFFFF;
}

.table3 {
  font-family: "Arial", Times, serif;
  background-color:#666666;
}

.table4 {
  font-size: 9pt;
  color: #000000;
  font-family: Arial, Helvetica, sans-serif;
  text-transform: none;
  background-color:#FFFFFF;
  cellspacing: 3;
}

.th2{
  font-family: "Arial", Times, serif;
  font-size: 16px;
  
}

.style_marquee{
  color: #FFFFFF;
  background-color:#17609B;
  font-size: 16px;
  font-weight:bold;
  font-family: "Arial, Helvetica, sans-serif";
  border:1px solid #000000;
  visibility:hidden;
  height:22px;
  width:300px;
}

.style10{
  font-size: 9pt;
  color: #000000;
  font-family: "Arial"
}

.style11{
  font-size: 14pt;
  font-weight:bold;
  color: #000000;
  font-family: "Arial"
}

.style12{
  font-size: 5pt;
  font-weight:bold;
  color: #000000;
  font-family: "Arial"
}

.style13{
  font-size: 10pt;
  font-weight:normal;
  color: #000000;
  font-family: "Arial"
}

.style14{
  font-size: 10pt;
  font-weight:bold;
  color: #000000;
  font-family: "Arial"
}
.mensaje{
  font-size: 13pt;
  color: #005395;
  font-family: "Arial, Helvetica, sans-serif";
}

.mensajeError{
  font-size: 13pt;
  color: #FF0000;
  font-weight:bold;
  font-family: "Arial, Helvetica, sans-serif";
}


.mensajeCirc{
  font-size: 13pt;
  color: #B00000;
  font-family: "Arial, Helvetica, sans-serif";
}

.inputRO {
  background-color:#D4D0C8; 
}

.inputMensaje {
  background-color:#D4D0C8;
  font-weight: bold;
  border-width:1px;
  font-family: "Arial"
}

#flotante
{
  position: absolute;
  display:none;
  font-family:Arial;
  font-size:0.8em;
  width:220px;
  border:1px solid #808080;
  background-color:#D7DF01;
}

.menu {
  font-family:Arial; 
  font-weight:bold;
}

.menu a{
text-decoration:none;
color:white;
font-size: 13pt;
}
  
/* scroll vertical, horizontal*/
/* define height and width of scrollable area. Add 16px to width for scrollbar */
div.tableContainer {
  clear: both;
  border: 1px solid #963;
  height: 400px;
  overflow-x: auto; 
  overflow-y: auto;
  width: 80%;
  font-family: "Arial";
  font-size: 9pt;
}

/* Reset overflow value to hidden for all non-IE browsers. */
html>body div.tableContainer {
  width: 80%
}

/* define width of table. IE browsers only */
div.tableContainer table {
  float: left;
  width: 100%
}

/* define width of table. Add 16px to width for scrollbar. */
/* All other non-IE browsers.                              */
html>body div.tableContainer table {
  width: 100%
}

/* set table header to a fixed position. WinIE 6.x only                                       */
/* In WinIE 6.x, any element with a position property set to relative and is a child of       */
/* an element that has an overflow property set, the relative value translates into fixed.    */
/* Ex: parent element DIV with a class of tableContainer has an overflow property set to auto */
thead.fixedHeader tr {
  position: relative
}

/* set THEAD element to have block level attributes. All other non-IE browsers            */
/* this enables overflow to work on TBODY element. All other non-IE, non-Mozilla browsers */
html>body thead.fixedHeader tr {
  display: compact;
}

/* make the TH elements pretty */
thead.fixedHeader th {
  background: #17609B;
  border-left: 1px solid #EB8;
  border-right: 1px solid #B74;
  border-top: 1px solid #EB8;
  font-weight: bold;
  padding: 4px 3px;
  text-align: left;
  font-family: "Arial";
  font-size: 9pt;
}

/* define the table content to be scrollable                                              */
/* set TBODY element to have block level attributes. All other non-IE browsers            */
/* this enables overflow to work on TBODY element. All other non-IE, non-Mozilla browsers */
/* induced side effect is that child TDs no longer accept width: auto                     */
html>body tbody.scrollContent {
  display: compact; /**/
  height: 30px;
  overflow-x: auto;
  overflow-y: auto;
  direction:rtl;
  width: 100%;
  direction:ltr;
}

/* make TD elements pretty. Provide alternating classes for striping the table */
/* http://www.alistapart.com/articles/zebratables/                             */
tbody.scrollContent td, tbody.scrollContent tr.normalRow td {
  background: #FFF;
  border-bottom: 1px;
  border-left: 1px;
  border-right: 1px solid #CCC;
  border-top: 1px solid #DDD;
  padding: 2px 3px 3px 4px;
  font-family: "Arial";
  font-size: 9pt;
}

tbody.scrollContent tr.alternateRow td {
  background: #EEE;
  border-bottom: 1px;
  border-left: 1px;
  border-right: 1px solid #CCC;
  border-top: 1px solid #DDD;
  padding: 2px 3px 3px 4px;
  font-family: "Arial";
  font-size: 9pt;
}

.rightJustified {
        text-align: right;
    } 
.centerJustified {
        text-align: center;
    }    
.FieldsFondoAzul {
  background-color: #B3D6F3;
}    

/* ------------------------------------------------------------------------------------------------------------- del portal Yii */
div.wide.form .buttons, div.wide.form .hint, div.wide.form .errorMessage
{
  clear: left;
  padding-left: 110px;
}

/* ------------------------------------------------------------------------------------------------------------- BUTTON */

.uibutton,
.uibutton:visited {
    position: relative;
    z-index: 1;
    overflow: visible;
    display: inline-block;
    padding: 0.3em 0.6em 0.375em;
    border: 1px solid #999;
    border-bottom-color: #888;
    margin: 0;
    text-decoration: none;
    text-align: center;
    font: bold 11px/normal 'lucida grande', tahoma, verdana, arial, sans-serif;
    white-space: nowrap;
    cursor: pointer;
    /* outline: none; */
    color: #333;
    background-color: #eee;
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f6f6), to(#e4e4e3));
    background-image: -moz-linear-gradient(#f5f6f6, #e4e4e3);
    background-image: -o-linear-gradient(#f5f6f6, #e4e4e3);
    background-image: linear-gradient(#f5f6f6, #e4e4e3);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#f5f6f6', EndColorStr='#e4e4e3'); /* for IE 6 - 9 */
    -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;
    *display: inline;
}

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

.uibutton: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 */
.uibutton::-moz-focus-inner {
    padding: 0;
    border: 0;
}
.main {
  flex: 1;
  padding: 2px;
}
.topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
}
.topbar h2 {
  font-size: 2rem;
  color: #004080;
  font-weight: 600;
  font-family: 'Segoe UI', 'Helvetica Neue', sans-serif;
  letter-spacing: 0.5px;
  margin: 0;
}
======================================================================== */
/* === ESTILOS COMUNES DEL PORTAL === */
/* Contenido completo de:
   ./styles/commonStyles.css
*/
a.butt{background-image:url('../images/fondoBoton.png');display:block;padding:0 10px;color:white;font-size:11px;font-weight:bold;cursor:pointer;max-width:200px;text-align:center;margin:2px 5px;text-decoration:none;}
img.butt{cursor:pointer;margin:2px 0 0 2px;float:right;}
img{border:none;}

thead th {
  position: sticky;
  top: 0;
  background: #f2f2f2;
  z-index: 2;
}

.height200 {
        height: 200px;
        overflow-x: auto;
        overflow-y: auto;
}

.height250 {
        height: 250px;
        overflow-x: auto;
        overflow-y: auto;
}

.height350 {
        height: 350px;
        width: 95%;
        overflow-x: auto;
        overflow-y: auto;
        border: 0px solid black;
        box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
}

.height400 {
        height: 400px;
        width: 95%;
        overflow-x: auto;
        overflow-y: auto;
        border: 0px solid black;
        box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
}

.container_Fixed_Header
{
  margin-left: auto;
  margin-right: auto;
  width: 960px;
}

.container_Fixed_Header_90Porciento
{
        margin-left: auto;
        margin-right: auto;
        width: 90%;
}

.container_Fixed_Header_100Porciento
{
        margin: 0 auto;
        width: 100%;
        border: 1px;
        max-width: 1250px; 
        border: 0px solid black;
}
.container_Fixed_Header500px
{
        margin-left: auto;
        margin-right: auto;
        width: 100%;
}

.error
{
  color: red;
  font-size: 15px;  
}

.buttonWompi{
    background : #8B8E8F;  /* #8B8E8F=gris  #027DA1=contraste habilitado */
    color: #FFFFFF;
    font-weight : bold;
    height : 20px;
    width : 120px;
    text-shadow : 0 0px #000 
}
======================================================================== */        
/* === TABLAS Y CONTENEDORES CON SCROLL === */
/* Contenido completo de:
   ./styles/commonStylesTblResult.css
*/
    /* HEADER SUPERIOR */
    header.header-principal {
      background: #191970;
      color: white;
      padding: 10px 20px;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }

    .header-principal .titulo-app {
      font-size: 20px;
      font-weight: bold;
    }

    .header-principal .usuario {
      font-size: 14px;
      font-style: italic;
    }

    .form-container {
      max-width: 1250px;      
      margin: 0px auto;
      margin-top: 0;
      margin-bottom: 0;
      padding: 0px;      
      /*box-shadow: 0 2px 6px rgba(0,0,0,0.1);*/
      /*border: 1px solid #0419d4;*/
    }

    h2.titulo {
      margin-top: 0;
      color: #191970;
    }

    h3.subtitulo {
      margin-top: 30px;
      margin-bottom: 10px;
      color: #333;
    }

    .divExterno {
      width: 100%;
      max-width: 1230px; /* el mismo que "container_external_table" */
      margin-top: 1;
      justify-content: center;
      align-items: center;
      border-top: 0;
      /*border: 1px solid #00ff00;*/
    }

    .div-criterios {
      margin-top: 10px;
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      align-items: flex-end;
      /*border: 1px solid #e6094b;*/
    }

    .div-criterios label {
      display: block;
      font-weight: bold;
      margin-bottom: 5px;
    }

    .div-criterios .campo {
      display: flex;
      flex-direction: column;
    }

    .div-criterios input {
      padding: 6px 10px;
      width: 200px;
      border-radius: 4px;
      /*border: 1px solid #ccc;*/
    }

    .div-criterios button {
      padding: 8px 20px;
      border: none;
      background: #1e90ff;
      color: white;
      border-radius: 4px;
      cursor: pointer;
    }

    .div-criterios button:hover {
      background: #0e75d6;
    }

    .div-ConBorde {
      border: 1px solid #ccc;
      border-radius: 4px;
      box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.05);
    }

    .div-borde-tabla {
      border: 1px solid #ccc;
      border-radius: 4px;
      padding: 5px 5px 5px 0px;
      margin-top: 20px;
      margin-bottom: 20px;  
      border-top: 1px solid #ccc;
      border-right: 1px solid #ccc;
      box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.15);
    }


    .container_external_table {
      width: 100%;    /*100%*/
      max-width: 1230px;   /* mismo que la tabla */
      height: 250px;
      margin-top: 1px;
      margin-left: auto;
      margin-right: auto;
      /*border: 1px solid #404aa8;*/
    }

    .container_scroll_table {
        /*NO forzar max-width, porque ya está limitado por el padre .sticky-table-wrapper*/
      margin: 0 auto;      /* centrar */
      width: 100%;  /**/
      height: 250px;
      overflow-x: auto; /*activa el scroll, activarlo solo en el contenedor interno*/
      overflow-y: auto; /*activa el scroll, activarlo solo en el contenedor interno*/
      box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
      /*border: 3px solid #00ff00;*/
    }

    .container_external {
      width: 100%;    /*100%*/
      max-width: 1230px;   /* mismo que la tabla */
      margin-top: 1px;
      margin-left: auto;
      margin-right: auto;
      /*border: 1px solid #e6092e;*/
    }

    .container_scroll {
      /*NO forzar max-width, porque ya está limitado por el padre .sticky-table-wrapper*/
      margin: 0 auto;      /* centrar */
      width: 100%;
      overflow-x: auto; /*activa el scroll, activarlo solo en el contenedor interno*/
      overflow-y: auto; /*activa el scroll, activarlo solo en el contenedor interno*/
      border: 3px solid #0c06c4;
    }    

    .tblResult {
      width: 100%;
      border-collapse: collapse;
    }

    .tblResult th,
    .tblResult td {
      padding: 3px;
      text-align: left;
      border-right: 1px solid #ccc;
      //border: 1px solid #aaa;*/
    }

    .tblResult thead th {
      position: sticky;
      top: 0;
      z-index: 2;
      text-align: center;
      font-family: Arial, Helvetica, sans-serif;
                        font-size: 13px;
                        background-color:#17609B;
                        color: #FFFFFF;
    }

    .tblCriterios {
      width: 100%;
      margin: 0 auto;
    }

    .tblCriterios th,
    .tblCriterios td {
      height: 26px;
      /*padding: 6px 10px;*/
      vertical-align: middle; /* centra el contenido verticalmente */
    }
    
    .tblCriterios input{
      height: 24px;
      padding: 1px;
    }

    .tblCriterios input[type="text"] {
      width: 100%;
      height: 24px;
      padding: 1px 4px;
      box-sizing: border-box; /* importante para que el padding no rompa el 100% */
    }

    .cont-alineado {
      display: flex; /* O display: inline-flex; */
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      /* Si quieres que los elementos se alineen en una fila */
      /*  flex-direction: row; */
    }

    .bloque1-izquierda {
      flex: 0 0 auto;
    }

    .bloque1-centro {
      flex: 1;
      text-align: center;
    }

    .col-fecha {
      width: 70px;
      text-align: center !important;
      white-space: nowrap;   /* evita que se parta */
    }
    .col-number {
      text-align: right !important;
      white-space: nowrap;
    }

    .col-center {
      text-align: center !important;
    }

    .col-widthmin100 {
      min-width: 100px;
      white-space: nowrap;   /* evita que se parta */
    }
======================================================================== */

