body {
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}

#iniciarsesion {
  width: 30%;
}

#principal {
  width: 90%;
  margin: 7% 5% 5% 10%;
  box-sizing: border-box;
}

#principal div {
  box-sizing: border-box;
}

/*cuerpo*/
#principal h3 {
  color: #fff;
  font-size: 130%;
  text-align: center;
  margin-bottom: 2%;
}

#tabla {
  width: 100%;
  margin-top: 8vh;
}
/*#tablaCobranza{
    background-color: rgba(13, 115, 240, 0.45);
}*/

.encabezadotabla,
td {
  border: 2px solid #fff;
  padding: 1%;
  background-color: rgba(0, 68, 255, 0.185);
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  font-size: 110%;
  font-family: "Roboto", "Times New Roman", Times, serif, "Times New Roman",
    Times, serif, "Gill Sans", "Gill Sans MT";
  color: #fff;
}

.encabezadotabla {
  width: max-content;
  background-color: rgba(0, 68, 255, 0.359);
  font-size: 120%;
  text-align: center;
}

td input {
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  background: none;
  border: none;
  color: #fff;
  width: 80%;
  text-align: center;
}
.tablatotales {
  width: 100%;
}
.tablatotales td {
  text-align: center;
  width: 40vw;
}

.totales {
  font-size: 120%;
  background-color: rgba(0, 68, 255, 0.359);
  float: right;
}
/*#totalcobrado, #totalproyectado{
    width: 50%;
}*/

/*estructura*/
#contenedor {
  display: grid;
  -moz-column-gap: 5px;
  column-gap: 5px;
  grid-template-columns: 90%;
}
#vista {
  padding-bottom: 5vh;
}
.botonvista {
  background-color: rgba(252, 252, 252, 0.359);
}
#informes {
  min-height: 400px;
  border-radius: 15px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  background-color: rgb(255, 255, 255);
}
#informes h3 {
  color: #ffffff;
  font-size: 1.5rem;
  font-weight: 500;
  text-align: center;
  margin: 1%;
}
#sectionTituloInforme {
  background-color: #437ed6;
  border-radius: 15px 15px 2px 2px;
  padding: 1%;
  border-bottom: #116fce 2px solid;
}
.config-section {
  margin-bottom: 24px;
}

.period-tabs {
  display: flex;
  gap: 8px;
  margin-bottom: 20px;
  justify-content: center;
}
.period-tab {
  padding: 10px 24px;
  background: #f8f9fa;
  border: 2px solid #e9ecef;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
  font-weight: 500;
  color: #2c3e50;
}
.period-tab.active {
  background: linear-gradient(135deg, #66afea 0%, #0b3796 100%);
  color: #fff;
  border-color: #1e3fd3;
}
.period-tab:hover {
  background: #e9ecef;
  color: #2c3e50;
}
.btn-tipoInforme {
  text-align: start;
}
.filter-section {
  display: none;
  animation: fadeIn 0.3s ease;
  background: #f8f9fa;
  border-radius: 10px;
  padding: 20px 16px 10px 16px;
  margin-bottom: 16px;
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.04);
}
.filter-section.active {
  display: block;
}
.form-group label {
  color: #2c3e50;
  font-weight: 500;
  margin-bottom: 6px;
}
.form-group select:not([multiple]),
.form-group input[type="date"] {
  width: 100%;
  padding: 10px;
  border: 2px solid #e9ecef;
  border-radius: 8px;
  font-size: 15px;
  margin-bottom: 10px;
  background: #fff;
  color: #2c3e50;
  transition: border-color 0.3s;
}
.form-group select:not([multiple]):focus,
.form-group input[type="date"]:focus {
  border-color: #0c34e5;
  outline: none;
}
.form-group select[multiple] {
  width: 100%;
  padding: 8px;
  border: 2px solid #e9ecef;
  border-radius: 8px;
  font-size: 15px;
  background: #fff;
  min-height: 100px;
  color: #2c3e50;
  margin-bottom: 10px;
}
.form-group select[multiple] option:checked {
  background: linear-gradient(135deg, #073fd7 0%, #eeeef1 100%);
  color: #fff;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  padding: 4px;
}
.preview-section {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  padding: 15px;
  border-radius: 8px;
  margin-top: 20px;
  border-left: 4px solid #305df0;
  margin-bottom: 16px;
}
.preview-section h5 {
  color: #2c3e50;
  margin-bottom: 10px;
  font-size: 15px;
  font-weight: 600;
}
.preview-text {
  color: #6c757d;
  font-size: 15px;
  line-height: 1.4;
}
.clear-btn {
  background: #6c757d;
  color: white;
  padding: 8px 20px;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.3s ease;
  margin-left: 10px;
  margin-top: 20px;
}
.clear-btn:hover {
  background: #5a6268;
  transform: translateY(-1px);
}
@media (max-width: 900px) {
  .period-tabs {
    flex-wrap: wrap;
  }
}
@media (max-width: 600px) {
  .filter-section {
    padding: 10px 4px 6px 4px;
  }
  .period-tab {
    padding: 8px 10px;
    font-size: 14px;
  }
}
#sectionParametrosInformes {
  display: grid;
  grid-template-columns: 1fr 3fr;
  gap: 10px;
  min-height: 600px;
}
#fechasInforme {
  padding: 1%;
  color: #fff;
  font-size: 90%;
  margin-bottom: 2%;
  text-align: center;
}
#infoInformes {
  color: #fff;
  font-size: 90%;
  text-align: center;
  display: grid;
  border-right: #83a8d33b 2px solid;
  padding: 3%;
  background-color: rgba(133, 178, 236, 0.158);
}
#infoInformes button {
  padding: 30%;
}
#tituloInfoInforme {
  font-size: 110%;
  margin: 1rem 0;
  color: #000000;
}
#buttomProyeccion input:checked ~ #textSelecProyeccion {
  transform: translateX(3px);
  transition: transform 0.2s;
  -webkit-transform: translateX(3px);
  -moz-transform: translateX(3px);
  -ms-transform: translateX(3px);
  -o-transform: translateX(3px);
  background: linear-gradient(135deg, #66afea 0%, #0b3796 100%);
  color: #fff;
}
#buttomProyeccionAtrasada input:checked ~ #textSelecProyeccionAtrasada {
  transform: translateX(3px);
  transition: transform 0.2s;
  -webkit-transform: translateX(3px);
  -moz-transform: translateX(3px);
  -ms-transform: translateX(3px);
  -o-transform: translateX(3px);
  background: linear-gradient(135deg, #66afea 0%, #0b3796 100%);
  color: #fff;
}
#buttomPagosAtrasados input:checked ~ #textSelecPagosAtrasados {
  transform: translateX(3px);
  transition: transform 0.2s;
  -webkit-transform: translateX(3px);
  -moz-transform: translateX(3px);
  -ms-transform: translateX(3px);
  -o-transform: translateX(3px);
  background: linear-gradient(135deg, #66afea 0%, #0b3796 100%);
  color: #fff;

}
#buttomCobrado input:checked ~ #textSelecCobrado {
  transform: translateX(3px);
  transition: transform 0.2s;
  -webkit-transform: translateX(3px);
  -moz-transform: translateX(3px);
  -ms-transform: translateX(3px);
  -o-transform: translateX(3px);
  background: linear-gradient(135deg, #66afea 0%, #0b3796 100%);
  color: #fff;

}
#buttomAcreditado input:checked ~ #textSelecAcreditado {
  transform: translateX(3px);
  transition: transform 0.2s;
  -webkit-transform: translateX(3px);
  -moz-transform: translateX(3px);
  -ms-transform: translateX(3px);
  -o-transform: translateX(3px);
  background: linear-gradient(135deg, #66afea 0%, #0b3796 100%);
  color: #fff;

}
#buttomFacturasPendientes input:checked ~ #textSelecFacturasPendientes {
  transform: translateX(3px);
  transition: transform 0.2s;
  -webkit-transform: translateX(3px);
  -moz-transform: translateX(3px);
  -ms-transform: translateX(3px);
  -o-transform: translateX(3px);
  background: linear-gradient(135deg, #66afea 0%, #0b3796 100%);
  color: #fff;

}
#fecha-hasta,
#fecha-desde {
  max-width: 80%;
}

.fechas {
  background-color: rgb(34, 112, 202);
  border-color: rgb(34, 112, 202);
  padding: 3%;
  margin: 2%;
  color: #fff;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
}

#avisoErrorFecha {
  color: red;
}

#razonsocial {
  height: 60px;
  margin-top: 25px;
  margin-right: 8px;
  float: right;
  text-align: center;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  background-color: rgb(34, 112, 202);
  border-color: rgb(34, 112, 202);
  color: #fff;
  border: none;
}
::placeholder {
  color: #fff;
}
#empresa {
  height: 40px;

  text-align: center;
  border-radius: 8px;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  -ms-border-radius: 8px;
  -o-border-radius: 8px;
}

#buscar {
  border-radius: 5px;

  border-color: rgba(10, 10, 100, 0.009);
  padding: 1%;
}
.buscaractivado {
  color: #fff;
}

.buscaractivado {
  background: linear-gradient(135deg, #66afea 0%, #0b3796 100%);
  border: none;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  margin-top: 20px;
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.08);
}
.buscaractivado:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 20px rgba(102, 126, 234, 0.18);
}

#textovista {
  float: right;
  color: #fff;
  margin-top: 2%;
  font-size: 100%;
  width: max-content;
}

.botonvista {
  width: max-content;
  color: #fff;
  cursor: pointer;
  float: right;
  margin: 1%;
  padding: 1%;

  background-color: rgb(34, 112, 202);
  border-radius: 5px;
  width: 8%;
  border-color: rgba(10, 10, 100, 0.009);
}
.botonvista:hover {
  background-color: rgba(8, 144, 185, 0.795);
  border-color: rgb(77, 118, 231);
}
.btn-print,
.btn-Excel,
.btn-PDF {
  width: 50px;
  background-color: rgba(255, 255, 255, 0);
  border: none;
}
.btn-print {
  color: rgb(19, 84, 237);
}
.btn-Excel {
  color: rgb(11, 119, 54);
}
.btn-PDF {
  color: rgb(150, 10, 10);
}
/*buscar de tabla datatable*/
#tablaCobranza,
#tablaProyeccion,
#tablaProyeccionAtrasadas,
#tablaPagosAtrasados,
#tablaFacturas,
#tablaAcreditacion {
  width: 100% !important;
  margin-top: 2vh;
  text-align: center;
}
#tablaCobranza_filter,
#tablaProyeccion_filter,
#tablaProyeccionAtrasadas_filter,
#tablaPagosAtrasados_filter,
#tablaFacturas_filter,
#tablaAcreditacion_filter {
  color: #fff;
  padding-bottom: 10px;
}
.btn-group {
  font-size: 25px;
  float: left;
}
#celdacuit {
  width: 10%;
}
#tablaCobranza_length,
#tablaProyeccion_length,
#tablaProyeccionAtrasadas_length,
#tablaPagosAtrasados_length,
#tablaFacturas_length,
#tablaAcreditacion_length {
  margin-top: 10px;
  color: #fff;
}
#tablaCobranza_info,
#tablaProyeccion_info,
#tablaProyeccionAtrasadas_info,
#tablaPagosAtrasados_info,
#tablaFacturas_info,
#tablaAcreditacion_info {
  color: #fff;
  margin-bottom: 5%;
}
#tablaCobranza_paginate ul,
#tablaProyeccion_paginate ul,
#tablaProyeccionAtrasadas_paginate ul,
#tablaPagosAtrasados_paginate ul,
#tablaFacturas_paginate ul,
#tablaAcreditacion_paginate ul {
  margin-top: -10px;
}
#tablaCobranza_paginate ul li a,
#tablaProyeccion_paginate ul li a,
#tablaProyeccionAtrasadas_paginate ul li a,
#tablaPagosAtrasados_paginate ul li a,
#tablaFacturas_paginate ul li a,
#tablaAcreditacion_paginate ul li a {
  text-decoration: none;
  color: #fff;
}
#tablaCobranza_paginate ul li:hover,
#tablaProyeccion_paginate ul li:hover,
#tablaProyeccionAtrasadas_paginate ul li:hover,
#tablaPagosAtrasados_paginate ul li:hover,
#tablaFacturas_paginate ul li:hover,
#tablaAcreditacion_paginate ul li:hover {
  background-color: rgba(8, 144, 185, 0.795);
  border-color: rgb(77, 118, 231);
}
.botonesCobranzas {
  visibility: hidden;
}

.botonesinferiores {
  color: #fff;
  float: right;
  margin: 1%;
  padding: 1%;
  background-color: rgb(34, 112, 202);
  border-radius: 5px;
  text-align: center;
  border-color: rgba(10, 10, 100, 0.009);
}
.botonesinferiores:hover {
  background-color: rgba(8, 144, 185, 0.795);
  border-color: rgb(77, 118, 231);
}

#tabla section {
  display: none;
}
#totalesCobrados,
#totalesProyectados,
#totalesProyectadosAtrasados,
#totalesPagosAtrasados,
#totalesAcreditados,
#totalesFacturas {
  display: none;
  margin-bottom: 2vh;
}

/*secciones de grafico y tabla*/
.titulosGrafico {
  font-size: 200%;
  color: #fff;
  text-align: center;
  margin-top: 5%;
}

#eChartCobranzasanual {
  width: 100%;
  max-width: 800px;
  max-height: 800px;
  margin: auto;
}

#eChartAvanceSemanal {
  width: 50vw !important;
  height: 50vw !important;
  margin: auto;
  max-height: 400px;
}
#echartSemanalCobrado {
  width: 40vw !important;
  height: 40vw !important;
  margin: auto;
  max-height: 400px;
}

/*tablas de graficos*/

#tablaCobranzaAnual th {
  font-size: 170%;
  text-align: center;
}

#tablaCobranzaAnual tr {
  font-size: 110%;
  text-align: center;
}
/*buscar*/
#tablaCobranzaAnual_filter {
  color: #fff;
  padding-bottom: 10px;
}

#tablaCobranzaAnual_length {
  color: #fff;
}
#tablaCobranzaAnual_paginate ul li a,
#tablaProyeccion_paginate ul li a {
  text-decoration: none;
  color: #fff;
}
#tablaCobranzaAnual_paginate ul li:hover {
  background-color: rgba(8, 144, 185, 0.795);
  border-color: rgb(77, 118, 231);
}
#tablaCobranzaAnual_info {
  color: #fff;
  margin-bottom: 5%;
}

/*formulariodecontacto*/
.container.contactenos {
  text-align: center;
  font-size: 130%;
  font-family: "Helvetica", Arial, serif;
}

.container.contactenos h2 {
  margin-bottom: 25px;
}

.container.contactenos h5 {
  font-size: 100%;
}

#nombre {
  width: 80%;
  height: 35px;
  margin-bottom: 30px;
  border-radius: 4px;
  max-width: 550px;
  padding-left: 10px;
  font-family: "Helvetica", Arial, serif;
}

#telefono {
  width: 80%;
  height: 35px;
  margin-bottom: 30px;
  border-radius: 4px;
  max-width: 550px;
  padding-left: 10px;
  font-family: "Helvetica", Arial, serif;
}

#email {
  width: 80%;
  height: 35px;
  margin-bottom: 30px;
  border-radius: 4px;
  max-width: 550px;
  padding-left: 10px;
  font-family: "Helvetica", Arial, serif;
}

#mensaje {
  width: 80%;
  height: 145px;
  margin-bottom: 30px;
  border-radius: 4px;
  max-width: 550px;
  padding-left: 10px;
  padding-top: 10px;
  font-family: "Helvetica", Arial, serif;
}

#boton {
  background-color: rgb(18, 106, 207);
  width: 25%;
  max-width: 200px;
  border-radius: 4px;
  border-color: rgba(10, 10, 100, 0.521);
  font-size: 100%;
  cursor: pointer;
  color: #fff;
  height: 40px;
}

#boton:hover {
  background-color: rgba(8, 144, 185, 0.795);
  border-color: rgb(77, 118, 231);
}
.g-recaptcha {
  margin-bottom: 4vh;
  display: grid;
  justify-content: center !important;
}

/*tamaÃ±o compu o tele*/
@media screen and (min-width: 1350px) {
  /*formulariodecontacto*/
  .container.contactenos {
    margin-top: -5%;
  }

  #seccionGraficosAnual {
    display: grid;
    grid-template-columns: 70% 30%;
    margin: 2% 1% 2% 1%;
  }
  #seccionGraficosMensual {
    display: grid;
    grid-template-columns: 80% 20%;
    margin-top: 2%;
  }
}

/*tamaÃ±o tablet*/
@media screen and (min-width: 800px) and (max-width: 1350px) {
  #principal {
    width: 100%;
    margin: 0;
  }

  #contenedor {
    display: grid;
    -moz-column-gap: 1px;
    column-gap: 1px;
    grid-template-columns: 100%;
    margin: 8% 3% 2% 3%;
    box-sizing: border-box;
  }
  #infoInformes {
    padding: 3% 7% 3% 7%;
  }
  .botonvista {
    width: max-content;
  }
  .encabezadotabla {
    width: max-content;
    font-size: 100%;
  }
  #encabezadotablacuit {
    display: none;
  }
  .celdacuit-column,
  th.encabezadotabla.encabezadotablacuit.sorting {
    display: none;
  }

  #tablaCobranzaAnual {
    position: relative;
    width: 2vw !important;
    left: 15vw;
  }
  #seccionGraficosAnual {
    display: grid;
    grid-template-rows: auto;
    margin: 2% 0% 2% 0%;
  }
  #seccionGraficosMensual {
    display: grid;
    grid-template-rows: auto;
    margin: 2% 1% 2% 1%;
  }
}

/*para tamaÃ±o telefono*/
@media screen and (max-width: 800px) {
  .acordeon__contenido {
    padding: 85% 0 12% 0;
  }
  #principal {
    width: 100%;
    margin: 0;
    box-sizing: border-box;
    font-size: 70%;
  }
  #contenedor {
    display: grid;
    -moz-column-gap: 1px;
    column-gap: 1px;
    grid-template-columns: 100%;
    margin: 15% 3% 2% 3%;
    box-sizing: border-box;
  }
  #principal h3 {
    font-size: 100%;
  }
  .botonvista {
    width: max-content;
  }
  .encabezadotabla {
    width: max-content;
    font-size: 90%;
  }
  #encabezadotablacuit {
    display: none;
  }
  .celdacuit-column,
  th.encabezadotabla.encabezadotablacuit.sorting {
    display: none;
  }
  #encabezadotablafechafactura {
    display: none;
  }
  #celdafechafactura {
    display: none;
  }

  /*formulariodecontacto*/
  .container.contactenos {
    margin-top: 10vh;
  }
  #myChartmensual {
    width: 80vw !important;
  }
  #seccionGraficosAnual {
    display: grid;
    grid-template-rows: auto;
    margin: 2% 0% 2% 0%;
  }
  #seccionGraficosMensual {
    display: grid;
    grid-template-rows: auto;
    margin: 2% 1% 2% 1%;
  }
}
@media screen and (max-width: 600px) {
  #fechasInforme {
    width: 100%;
  }
  #infoInformes {
    width: 100%;
  }
  #infoInformes {
    width: 100%;
    padding: 3% 1% 3% 1%;
  }
  .input {
    width: 70vw !important;
  }
  #empresa {
    width: 90vw;
  }

  /*formulariodecontacto*/
  .container.contactenos {
    margin-top: 10vh;
  }
  #myChartmensual {
    width: 80vw !important;
  }
  #seccionGraficosAnual {
    display: grid;
    grid-template-rows: auto;
    margin: 2% 0% 2% 0%;
  }
  #seccionGraficosMensual {
    display: grid;
    grid-template-rows: auto;
    margin: 2% 1% 2% 1%;
  }
  #tablaAvanceSemanal {
    font-size: 1.2vw !important;
  }
  .celdacuit-column {
    display: none;
  }
  .razon-column .encabezadotabla.sorting_asc {
    /*se cambio razon-column*/
    display: none;
  }
  .celdacuit-column,
  th.encabezadotabla.encabezadotablacuit.sorting {
    display: none;
  }
}
@media screen and (max-width: 450px) {
  #principal {
    width: 80%;
    margin: auto;
    box-sizing: border-box;
    font-size: 70%;
  }
  #buscar {
    width: 80%;
    padding: 1%;
    margin: 6vw;
  }
  #fechasInforme {
    width: 100%;
  }
  #infoInformes {
    width: 100%;
  }
  #infoInformes {
    width: 100%;
    padding: 3% 1% 3% 1%;
  }
  .input {
    width: 70vw !important;
  }
  #empresa {
    width: 90vw;
  }

  /*formulariodecontacto*/
  .container.contactenos {
    margin-top: 10vh;
  }
  #myChartmensual {
    width: 80vw !important;
  }
  #seccionGraficosAnual {
    display: grid;
    grid-template-rows: auto;
    margin: 2% 0% 2% 0%;
  }
  #seccionGraficosMensual {
    display: grid;
    grid-template-rows: auto;
    margin: 2% 1% 2% 1%;
  }
  #tablaAvanceSemanal {
    font-size: 1.2vw !important;
  }
  .celdacuit-column {
    display: none;
  }
  .razon-column,
  .encabezadotabla.sorting_asc {
    display: none;
  }
  .celdacuit-column,
  th.encabezadotabla.encabezadotablacuit.sorting {
    display: none;
  }
  .fechafactura-column {
    display: none;
  }

  /*verificar si funciona*/
  .encFechaFacturaOcultar {
    display: none;
  }
  table.dataTable tbody th,
  table.dataTable tbody td {
    padding: 1px !important;
    font-size: 90%;
    border: solid 1px #ffffff;
    width: 1px !important;
    margin: 0 !important;
  }
  th.encabezadotabla.sorting {
    padding: 1px !important;
    font-size: 90%;
    border: solid 1px #ffffff;
    width: 1px !important;
    text-align: center;
    margin: 0 !important;
  }
  #tabla {
    width: 80%;
    margin: auto;
  }
  #contenedor {
    display: grid !important;
    grid-template-columns: 100vw !important;
  }
  #buscar {
    width: 80%;
    padding: 1%;
    margin: 6vw;
  }
  #empresa {
    width: 100%;
  }
}
@media screen and (max-width: 230px) {
  #empresa {
    font-size: 80%;
  }
  a {
    font-size: 90%;
  }
  #fecha-hasta,
  #fecha-desde {
    width: 80%;
  }
}
