/*Estilos Hartak*/
.login-box {
    width: 400px;
}
.login-logo img {
    max-width: 180px;
}
.form-control::placeholder {
    color: #aaa;
}
.btn-primary {
    background-color: #007BFF;
    border-color: #007BFF;
}
.btn-default {
    background-color: #f4f4f4;
    color: #333;
}
.form-control::placeholder {
    color: #aaa;
}
.google-visualization-controls-rangefilter-thumblabel {
    font-size: 0.7em;
}
.imgLoading{
	text-align: center;
	margin-top: 5px;
}
.noLeido{
	background-color: lightblue;
}

#pswd_info ul{
	margin:0;
    padding:0;
    list-style-type:none;
}

#pswd_info li{
    margin:0;
    list-style-type:none;
}

#pswd_info {
    position:absolute;
    bottom:-40px;
    bottom: -115px\9; /* IE Specific */
    right:55px;
    width:250px;
    padding:15px;
    background:#fefefe;
    font-size:.875em;
    border-radius:5px;
    box-shadow:0 1px 3px #ccc;
    border:1px solid #ddd;
    z-index: 1;
}

#pswd_info h4 {
    margin:0 0 10px 0;
    padding:0;
    font-weight:normal;
    font-size: 1.1em;
}

/* Resumen del Periodo: igualar altura y ocupar 100% */
#divResumen {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  width: 100%;
  height: 100%;
}
#divResumen .box-resumen {
  flex: 1 1 0;
  min-width: 200px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
}
.card-body {
  display: flex;
  flex-direction: column;
  justify-content: stretch;
  height: 100%;
}
.card.card-secondary {
  height: 100%;
}

#pswd_info::before {
    content: "\25B2";
    position:absolute;
    top:-12px;
    left:45%;
    font-size:14px;
    line-height:14px;
    color:#ddd;
    text-shadow:none;
    display:block;
}

.invalid {
    color: #ec3f41; /* Mantener el color del texto */
}

.invalid::before {
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    content: "\f05c"; /* Código unicode del icono de "fa-circle-xmark" */
    padding-right: 5px; /* Espacio entre el icono y el texto */
}

.valid {
    color: #3a7d34; /* Mantener el color del texto */
}

.valid::before {
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    content: "\f058"; /* Código unicode del icono de "fa-circle-check" */
    padding-right: 5px;
}

#pswd_info {
    display:none;
}

#div_gauge1 table{
    margin: auto;
}

table{
    margin: auto;
}

#id_info {
    position:absolute;
    /*bottom:-40px;*/
    bottom: -115px\9; /* IE Specific */
    /*right:600px;*/
    /*width:250px;*/
    padding:15px;
    background:#f1d600;
    font-size:.875em;
    border-radius:5px;
    box-shadow:0 1px 3px #ccc;
    border:1px solid #ddd;
    z-index: 1;
}

#id_info h4 {
    margin:0 0 10px 0;
    padding:0;
    font-weight:normal;
    font-size: 1.1em;
    display: inline;
}

#id_info::before {
    content: "\25B2";
    position:absolute;
    top:-12px;
    left:45%;
    font-size:14px;
    line-height:14px;
    color:#ddd;
    text-shadow:none;
    display:block;
}

.panel_valor{
    font-size: 5em;
}

.center{
    text-align: center;
}

.col-roja{
    background-color: rgba(255, 0, 0, 0.5);
}

table.dataTable tbody tr:hover {
  background-color: #bccde0;
}

table.dataTable.table-striped>tbody>tr:nth-of-type(2n+1):hover{
  background-color: #bccde0;
}

table.dataTable thead {
  background-color: #5e5e5e;
  color: whitesmoke; 
}

table.dataTable thead th {
  border-bottom: 1px solid #ced4da;
  text-align: center;
  font-weight: 600;
}

/* Estirar columnas dentro de esta fila específica */
.row.equalize {
  align-items: stretch; /* todas las cols de cada fila, mismo alto */
}

/* La col se vuelve contenedor flex para que el box llene el alto */
.row.equalize > [class*="col-"] {
  display: flex;
  min-height: 0; /* evita overflow por contenidos grandes */
}

/* El small-box ocupa 100% de la col y organiza su interior */
.small-box {
  display: flex;
  flex-direction: column;
  width: 100%;
  /*height: 100%;   /* clave para igualar alturas */
}

/* El contenido crece, los footers quedan abajo */
.small-box .inner { flex: 1 1 auto; min-height: 0; }

/* (Tus reglas responsivas) */
.small-box h3 { font-size: clamp(1.2rem, 2.5vw, 2rem); line-height:1.2; margin:0; text-align: center;}
.small-box h4 { font-size: clamp(0.9rem, 2vw, 1.2rem); line-height:1.2; margin:0; }
.small-box-footer {
  font-size: clamp(0.75rem, 1.2vw, 0.9rem);
  white-space: nowrap; overflow: hidden; padding: 0 8px; box-sizing: border-box; margin-top: auto;
}
.small-box-footer.alerta {
  background-color: rgba(0,0,0,.3);
  font-weight: 700;
  font-size: clamp(0.75rem, 1.2vw, 0.9rem);
  white-space: nowrap; overflow: hidden; padding: 0 8px; box-sizing: border-box;
}

.animation__shake  {
  animation: heartbeat 1s ease-in-out infinite;
  transform-origin: center;
}

@keyframes heartbeat {
  0%, 100% { transform: scale(1); }
  25% { transform: scale(1.1); }
  50% { transform: scale(1); }
  75% { transform: scale(1.1); }
}

.optInactivo {
  pointer-events: none;   /* Desactiva todos los clics */
  opacity: 0.6;           /* Visualmente grisado */
}

.optActivo {
  pointer-events: all;   /* Desactiva todos los clics */
  opacity: 1;           /* Visualmente grisado */
}

.card-header{
  padding: 5px;
  text-align: center;
}

.card-body{
  padding: 5px;
}

.description-block{
  margin: 5px 0;
  font-size: 0.8em;
}

.padding-left-right-5{
  padding-left: 5px;
  padding-right: 5px;
}

.dataTables_filter{
  float:right;
}

.dt-center{
  text-align: center;
}

.mt-2{
  margin-bottom:0px;
}

.adelante{
  z-index: 1050; /* mayor que el modal (1040) */
}