@font-face {
  font-family: gibsonFont;
  src: url(fonts/Gibson/Gibson-Book.otf);
}
html {
min-height: 100%;
position: relative;
}
body {
  font-family: gibsonFont;
  margin: 0;
  margin-bottom: 80px;
  
}

#app{
  /* min-height: 95vh; */
 
 /*min-height: 95vh;*/
} 
.containerlogin{

position: absolute;
min-height: 100vh;
}

footer{
bottom: 0;
width: 100%;
height: 80px;
position: absolute;
margin-top: auto;
height: 8vh;
background-image: url('/img/footer.jpg'); 
background-repeat: no-repeat; 
background-position: center; 
background-size: cover;
}

.nav-pills .nav-link{
border: 1px solid hotpink !important;
color: black !important;
}

.nav-pills .nav-link.active{
border: 1px solid hotpink !important;
background-color: #FFC3D0 !important;
color: black !important;
}

.colorRosa{
background-color: #FCE7F5 !important;
color: black !important;
}
.colorMorado{
  background-color: #6A0F49 !important;
  color: white !important;

}

.colorMoradoHeader{
  display: flex;
  background-color: #6A0F49 !important;
  color: white !important;
  align-items: center;
  justify-content: center;
  padding-top: 10px;
  border-color: #808080;
  border-style: solid;
  border-width: .5px;
}

.colorMorado-light{
  background-color: #8F1463 !important;
  color: white !important;

}
.colorgriss{
  background-color: #FFFFFF !important;
  color: rgb(145, 20, 20) !important;

}

th.vertical{
  writing-mode:vertical-rl !important;
  text-orientation: mixed !important;
  rotate: 180deg !important;
}
span.has-error {
  color: rgba(180, 0, 0, 0.8);
}

@media (max-width: 575px) {
.imgSitioOficial{
  width: 12%;
}

#logo_cocotra{
  text-align: center;
  width: 100%;
}

#title_concesiones{
  color: #6A0F49;
  text-align: center; 
  padding-left: 10%;
  font-size: 25px;
}
}

@media (min-width: 576px) and (max-width: 767px) {
.imgSitioOficial{
  width: 10%;
}

#logo_cocotra{
  text-align: center;
  width: 100%;
}

#title_concesiones{
  color: #6A0F49;
  text-align: left; 
  padding-left: 10%;
  font-size: 25px;
}
}

@media (min-width: 768px) and (max-width: 991px) {
.imgSitioOficial{
  width: 8%;
}

#logo_cocotra{
  text-align: left;
  width: 100%;
}

#title_concesiones{
  color: #6A0F49;
  text-align: left; 
  padding-left: 10% ;
  font-size: 25px;
}
}

@media (min-width: 992px) and (max-width: 1199px) {
.imgSitioOficial{
  width: 6%;
}

#logo_cocotra{
  text-align: left;
  width: 100%;
}

#title_concesiones{
  color: #6A0F49;
  text-align: left; 
  padding-left: 10% ;
  padding-top: 2% ;
  font-size: 25px;
}
}

@media (min-width: 1200px ) {
.imgSitioOficial{
  width: 5%;
}

#logo_cocotra{
  text-align: left;
  width: 100%;
}

#title_concesiones{
  color: #6A0F49;
  text-align: left; 
  padding-left: 25% ;
  padding-top: 2% ;
  font-size: 30px;
}
}


.verticalNav{
  margin-left:5%;
}

.verticalNavSecondary{
  margin-left:1%;
}

.homeBG{
  top: 15%;
  left:37.5%;
  right: auto;
  width: 25%;
  position: fixed;
  z-index:0;
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
  opacity: 25%;
}

/* Estilos para menu vertical -------------------------------------------------------------*/
#contenedor{
  display:grid;
  max-width: fit-content;
  gap:1rem;
  max-width: 100vw;
  grid-template-columns: 20vw 75vw;
  min-height: 80vh;
}
#menuLateral{
  flex-direction: column;
  display: inline-block;
  justify-content: space-between;
  margin-left:1%; 
  /*float:left; 
  max-width: 250px;
  min-width: 250px;
  width:250px;*/
  max-height: 80vh;
  overflow:auto;
  left:0;
}

/* Separador menu lateral */
.vl {
  
  border-left:1px solid gray;
  /*display: inline-flex;*/
  height: 100%;
  position:static; 
  left:260px; 
  padding-top:0; 
  /*margin-left: 10px;*/
  margin-top:0; 
  height:90%;
}

.botonLateral{
  width:100%;
  margin-bottom:5px;
}
.categoria{
  text-decoration: none;

}

/* Remove default bullets */
ul, #myUL {
  list-style-type: none;
}

/* Remove margins and padding from the parent ul */
#myUL {
  margin: 0;
  padding: 0;
}

/* Style the caret/arrow */
.caret {
  cursor: pointer;
  user-select: none; /* Prevent text selection */
}

/* Create the caret/arrow with a unicode, and style it */
.caret::before {
  content: "\25B6";
  color: black;
  display: inline-block;
  margin-right: 6px;
}

/* Rotate the caret/arrow icon when clicked on (using JavaScript) */
.caret-down::before {
  transform: rotate(90deg);
}

/* Hide the nested list */
.nested {
  display: none;
}

/* Show the nested list when the user clicks on the caret/arrow (with JavaScript) */
.active {
  display: block;
}



.customFooterA{
  color: #fcd9e1;
  text-decoration: none;
}

.customFooterIMG{
  width:100%;
}


/* Style all input fields */
#password-store {
  width: 100%;
  /* padding: 12px; */
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
  margin-top: 6px;
  margin-bottom: 16px;
}

/* Style the submit button */
#password-store[type=submit] {
  background-color: #04AA6D;
  color: white;
}



/* The message box is shown when the user clicks on the password field */
#message {
  display:none;
  background: #f1f1f1;
  color: #000;
  position: relative;
  margin-top: 10px;
}
#message1 {
  display:none;
  background: #f1f1f1;
  color: #000;
  position: relative;
  margin-top: 10px;
}

#message p {
  font-size: 12px;
}
#message1 p {
  display: none;
  font-size: 12px;
}
.hiddenElement{
  display: none;
  font-size: 12px;
}

/* Add a green text color and a checkmark when the requirements are right */
.valid {
  color: green;
}

.valid:before {
  position: relative;
  left: -35px;

}

/* Add a red text color and an "x" icon when the requirements are wrong */
.invalid {
  color: red;
}

.invalid:before {
  position: relative;
  left: -35px;
 
}
.accordion {
  border: none; /* Elimina todos los bordes */

}

.accordion-item {
  border: none; /* Elimina bordes de cada ítem */
  border-bottom: 1px solid #6A0F49; /* Borde inferior para separación */
}

.accordion-button {
  border: none !important; /* Elimina bordes del botón */
}
.accordion-button.guinda {
  background-color: #6A0F49 !important;
  color: white !important;
  border: none !important; 
  padding: 0.5rem 1rem; 
  font-size: 0.9rem;
}

.accordion-button.guinda:not(.collapsed) {
  background-color: #6A0F49 !important;
  color: white !important;
}

.accordion-button.guinda::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e") !important;
}

.accordion-button.guinda:not(.collapsed)::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e") !important;
  transform: rotate(-180deg); /* Gira el icono cuando está abierto */
}



.accordion-button.rosa {
  border: none !important; /* Elimina el borde */
  background-color: #f8fafc !important; /* Fondo blanco */
  border-bottom: 1px solid #6A0F49 !important; /* Línea guía inferior continua guinda */
  box-shadow: none !important; /* Elimina sombra si la hubiera */
}

 
/* Estilo cuando el acordeón está abierto/seleccionado */
.accordion-button.rosa:not(.collapsed) {
  background-color: #FCE7F5 !important; /* Fondo rosita claro */
  color: #6A0F49 !important; /* Color de texto guinda */
  text-shadow: none !important; /* Ensure no text shadow overrides the color */
}


.accordion-button.rosa:not(.collapsed)::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236A0F49'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e") !important; /* Icono guinda */
}

/* Mantiene visible el icono de despliegue (chevron) */
.accordion-button.rosa::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e") !important;
}

/* Cambia el color del icono cuando está abierto */


/* Clase base para todos los tabs */
.nav-link.textoMorado {
color: black !important; /* Color guinda para texto */
font-weight: 500;
position: relative;
padding-bottom: 8px;
border: none;
background: transparent;
margin-right: .5px;
}

/* Línea inferior siempre visible */
.nav-link.textoMorado::after {
content: '';
color: #6A0F49;
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 1px;/* Color línea inactiva */
transition: all 0.3s ease;
}

/* Estilo cuando el tab está activo */
.nav-link.textoMorado.active {
color: #6A0F49 !important; /* Mantiene color guinda */
background-color: #FCE7F5 !important; /* Fondo rosita */
border-radius: 3px 3px 0 0;
}
.border-morado {
border-color: #6A0F49 !important;
border-top-width: 9px !important;  /* Color guinda */
}
.dataTables_wrapper .bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* Efecto hover */
.nav-link.textoMorado:hover:not(.active) {
color: #6A0F49 !important;
opacity: 0.8;
}

/* Contenedor principal */
.dataTables_paginate.paging_simple_numbers {
  margin-top: 20px;
  display: flex;
  justify-content: center;
}

/* Estilos para la lista de paginación */
.dataTables_paginate .pagination {
  display: flex;
  gap: 5px;
  list-style: none;
  padding: 0;
  margin: 0;
}

/* Estilos base para todos los botones */
.dataTables_paginate .page-item .page-link {
  padding: 6px 12px;
  border: 1px solid #dee2e6;
  background-color: #f8f9fa;
  color: #495057;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.3s;
  text-decoration: none;
  display: block;
}

/* Botón activo (página actual) */
.dataTables_paginate .page-item.active .page-link {
  background-color: #6A0F49 !important;
  border-color: #6A0F49 !important;
  color: white !important;
}

/* Hover (excepto activo y deshabilitado) */
.dataTables_paginate .page-item:not(.active):not(.disabled) .page-link:hover {
  background-color: #e9ecef;
  border-color: #ddd;
  color: #6A0F49;
}

/* Botones deshabilitados (Anterior/Siguiente al inicio/final) */
.dataTables_paginate .page-item.disabled .page-link {
  opacity: 0.6;
  cursor: not-allowed;
  background-color: #f8f9fa !important;
  color: #6c757d !important;
}

/* Separador de puntos suspensivos */
.dataTables_paginate .page-item#catalogo_ellipsis .page-link {
  background: transparent !important;
  border: none !important;
  cursor: default;
}
.dataTables_wrapper .bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
/* Alinear la paginación a la derecha */
.dataTables_paginate.paging_simple_numbers {
  justify-content: flex-end;
}

.upload-box {
border: 2px dashed #c5a1b3;
background-color: #FCE7F5;
padding: 30px;
border-radius: 8px;
display: flex;
flex-direction: column;
align-items: center;
cursor: pointer;
position: relative;
}
.same-width-input {
width: 100%;
}

.same-width-container {
width: 100%;
margin-bottom: 20px;
}

.same-width-box {
margin-top: 5px;
border: 2px dashed #c5a1b3;
background-color: #FCE7F5;
padding: 18px; /* Reducido para coincidir con la altura del input */
border-radius: 8px;
display: flex;
flex-direction: column;
align-items: center;
cursor: pointer;
position: relative;
width: 100%;
height: 5px; /* Igual al height del input */
justify-content: center;
}

.upload-text {
font-size: 10px !important;
color: #6A0F49;
}

/* Mantenemos el resto de tus estilos originales */
.file-preview {
background-color: #FCE7F5;
border: 2px solid #c5a1b3;
padding: 10px;
}

.upload-icon {
font-size: 1rem !important;
color: #6e2c5a;
margin-bottom: 5px;
}

.upload-box p {
color: #6e2c5a;
font-size: 1rem;
}

/* input[type="file"] {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
opacity: 0;
cursor: pointer;
} */

.file-preview {
background-color: #FCE7F5;
border: 2px solid #c5a1b3;
padding: 10px;
border-radius: 8px;
display: flex;
align-items: center;
justify-content: space-between;
margin-top: 10px;
}

.file-icon {
font-size: 20px !important;
color: #6e2c5a;
margin-right: 10px;
}

#nombreArchivo {
flex-grow: 1;
color: #511945;
font-size: 15px;
text-align: left;
}

.delete-icon {
font-size: 20px !important;
color: #6e2c5a;
cursor: pointer;
}

/* Espaciado entre tabs */
.nav-item {
margin-right: 5px;
}
/*Estilos para el Cuestionario */
.answer{
  background-color: #0A336B;
  color: white;
}

table td {
  text-align: center;
  vertical-align: middle;
  padding: 5px;
  position: relative;
}

.table thead tr {
  --bs-table-color-type: initial !important;
  --bs-table-bg-type: initial !important;
  --bs-table-color-state: initial !important;
  --bs-table-bg-state: initial !important;
  --bs-table-color: white !important;
  --bs-table-bg: #6A0F49 !important;
  --bs-table-border-color: var(--bs-border-color) !important;
  --bs-table-accent-bg: transparent !important;
  --bs-table-striped-color: var(--bs-emphasis-color) !important;
  --bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.05) !important;
  --bs-table-active-color: var(--bs-emphasis-color) !important;
  --bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1) !important;
  --bs-table-hover-color: var(--bs-emphasis-color) !important;
  --bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075) !important;
  width: 100%;
  margin-bottom: 1rem;
  vertical-align: top;
  border-color: var(--bs-table-border-color);
}

.homeBG{
  opacity: 0.15;
}

.pregunta_3{
  color: #FFFFFF;
  /*color: #BD5200;*/
  background-color: #4A001F;
  /*background-color: #073F4A;*/
}

div.dt-buttons {
  float: right;
}

.modal-footer-carga {
display: flex;
flex-shrink: 0;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * 0.5);
background-color: var(--bs-modal-footer-bg);
border-top: var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);
border-bottom-right-radius: var(--bs-modal-inner-border-radius);
border-bottom-left-radius: var(--bs-modal-inner-border-radius);
}

#footerA {

/*position: absolute;*/
bottom: 0%;
width: 100%;

color: rgb(0, 0, 0);
margin-top: 18vh;
margin-left: 0%;
margin-right: 0%;
margin-bottom: 0%;
padding-left: 10px;
padding-right: 10px;

}
.colortextfoot{
color: #000;

}
.botoninicio{
color: rgb(255, 255, 255);
background-color: #6A0F49;
width: 75%;
}
.botonbuscar{
color: rgb(255, 255, 255);
background-color: #6A0F49;

}

.botonbuscar:hover {
background-color: #888a8d64; /* Green */
color: rgb(14, 28, 225);
}
.col-sm-6{
padding-left: 0%;
/*padding-right: 0%;*/
}



.ladizqlogin {
clip-path:ellipse(78% 100% at 16% 50%);  
background: radial-gradient(78% 100% at 16% 50%,rgba(106,14,74,1) 97%, rgba(255,255,255,1) 100%);
color: white;

} 


.tag-wrap {
/* filter: drop-shadow(-1px 6px 3px rgba(50, 50, 0, 0.5)); */
}


#customers {
font-family: Arial, Helvetica, sans-serif;
border-collapse: collapse;
width: 100%;
}

#customers td, #customers th {
border: 1px solid #ddd;
padding: 8px;
}

#customers tr:nth-child(even){background-color: #f2f2f2;}

#customers tr:hover {background-color: #ddd;}

#customers th {
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
background-color: #6a0e49;
color: white;
}



.footerClassMain{
box-shadow: 0px -10px 1px #FFC3D0; 
background-image: url('/img/footer.jpg'); 
background-repeat: no-repeat; 
background-position: center; 
background-size: cover;
padding-top:1.1%;
padding-bottom:1.1%;
}

.gobiernoDigitalDIV{
position: absolute; 
left: 0.1%; 
background-color:white; 
width:90px; 
height:90px; 
border-radius: 50%; 
margin-top: -2.5%; 
box-shadow:  0px 4px 20px #000000, 0px -4px 20px #000000; 
/* /IMAGEN de fondo GD/ */
background-image: url('/img/LogosGD/GDSello.svg'); 

background-repeat: no-repeat; 
background-position: center; 
background-size: 90%;
}

.footerMessageMain{
transform: translateY(100%);
font-size: 110%;
}

.logositiooficial{
text-align: center; padding-top: 4%;padding-bottom: 4%; 
}

.imagenformatologo{
text-align: center;
}


.conceptos td,
th {
  border: 1px solid #B9B9B9;
}

.tr_head_content {
  background-color: #6A0F49 !important;
  color: white !important;
}

.column_data{
  text-align: center;
}

.column_numbers{
  text-align: right;
}

.recuadroRosa{
background-color: #FFC3D0;
padding-left: 5px;
padding-left: 5px;
}

.tr_head_secondary{
background-color: #8F1463;
color: white;
}

.gris{
background-color: #999999;
color:white;
}

.encabezadoTabla{
vertical-align: middle;
min-height: 2.5em;
text-align: center;
background-color: #999999;
color: black;
font-weight: bold;
width: 100%;
}

.encabezadoTabla td{
line-height: 2em;
font-weight: bold;
}

.recuadroRosa td{
line-height: 2em;
font-weight: bold;
}
.cuerpoTabla{
min-height: 2.5em;
vertical-align: middle;
text-align: center;
background-color: #c2c2c2;
color:black;
width: 100%;
}

.cuerpoTabla td{
line-height: 2.5em;

}

#fines > tr > td{
text-align: left;
}
#medios > tr > td{
text-align: left;
}

#causas > tr > td{
text-align: left;
}

#efectos > tr > td{
text-align: left;
}


.marcoGris{
line-height: 2em;
border: solid 1px #3b3b3b;
}

header{
border-bottom: 3px solid #6A0F49;
}

.modal-header{
  border-bottom: 3px solid #6A0F49;
  align-items: center;
  display: flex;
  }

  .modal-footer > button{
    margin: 0 auto;
    }
    
    .modal-footer{
      border-top: none;
    }

    .btn-guinda {
      background-color: #6A0F49; /* Color guinda */
      border-color: #6A0F49; /* Borde del mismo color */
      color: white; /* Texto en blanco */
  }
  
  .btn-guinda:hover {
      background-color: #5e0f41; /* Color guinda más oscuro al pasar el mouse */
      border-color: #5e0f41;
      color: white;
  }

  .btn-morado {
  color: #6A0F49 !important;  /* Color guinda/morado oscuro */
  background-color: transparent;
  border: 2px solid #6A0F49;
  padding:5px 10px;
  border-radius: 5px;
  font-weight: 500;
  transition: all 0.3s ease;
  text-decoration: none;
  display: inline-block;
  cursor: pointer;
}

.btn-morado:hover {

  background-color: #6A0F49;  /* Mismo color guinda para el hover */
  color: white !important;
  text-decoration: none;
}

.btn-pink {
color: #6A0F49;  /* Color guinda/morado oscuro */
background-color: transparent;
border: 2px solid #6A0F49;
padding: 5px 10px;
border-radius: 5px;
font-weight: 500;
transition: all 0.3s ease;
text-decoration: none;
display: inline-block;
cursor: pointer;
}
.centro{
display: flex; 
justify-content: center; 
align-items: center;
}

.acciones{
width: 30px;
height: 30px;
border-radius: 4px;
}

.btn-pink:hover {
border-color: #6A0F49; 
background-color: #FCE7F5;  /* Mismo color guinda para el hover */
color: #6A0F49;
text-decoration: none;
}

  /* En tu archivo CSS */

  .btn-green {
    background-color: rgba(25, 135, 84, 1); /* Color guinda */
    border-color: rgba(25, 135, 84, 1); /* Borde del mismo color */
    color: white; /* Texto en blanco */
}

.btn-green:hover {
    background-color: rgb(16, 95, 58); /* Color guinda más oscuro al pasar el mouse */
    border-color: rgb(16, 95, 58);
    color: white;
}
.btn-red {
  color: red !important;  /* Color guinda/morado oscuro */
background-color: transparent;
border: 2px solid red;
padding: 5px 10px;
border-radius: 5px;
font-weight: 500;
transition: all 0.3s ease;
text-decoration: none;
display: inline-block;
cursor: pointer;/* Texto en blanco */
}

.btn-red:hover {
  background-color: red; /* Color guinda más oscuro al pasar el mouse */
  border-color: red;
  color: white !important;
}

/* Tooltip */

.tooltip-inner {
max-width: 250px;
text-align: left;
padding: 0.75rem;
}

.tooltip.bs-tooltip-auto .arrow::before, 
.tooltip.bs-tooltip-top .arrow::before {
border-top-color: #fff;
}

/* Ocultar las opciones inicialmente */
optgroup option {
display: none;
}

/* Mostrar las opciones cuando el optgroup tiene la clase "open" */
optgroup.open option {
display: block;
}

/* Estilo para el optgroup (opcional) */
optgroup {
font-weight: bold;
cursor: pointer; /* Cambiar el cursor a pointer para indicar que es clickeable */
}
/*Formularios*/
.form-floating > label{
color: #686565;
}
.form-floating input{
max-width:none; 
height:50px;
max-height: 50px;
}

.form-floating select{
max-width:none; 
height:51px !important;
}

.form-floating-mini{
  position: relative;
}

.form-floating-mini > .form-select {
  padding-top: .8rem;
  padding-bottom: 0px;
}



.form-outline {
  position: relative;  
}

.form-outline > label {
  position: absolute;
  font-size: .9rem;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  background-color: #fbfbfb;
color: #6C757D;
  padding: 0 0.3rem;
  margin: 0 0.5rem;
  transition: .1s ease-out;
  transform-origin: left top;
  pointer-events: none;
}
.form-outline > input {
  font-size: 1rem;
  outline: none;
  border: 1px solid gray;
  border-radius: 5px;  
  padding: 1rem 0.7rem;
  transition: 0.1s ease-out;
}

.form-outline > input:focus + label,
.form-outline > .form-select:focus + label{
  color: #6A0F49;
  top: 0;
  transform: translateY(-50%) scale(.9);
}

.form-outline > input:not(:placeholder-shown) + label,
.form-outline > .form-select.has-value + label{
  top: 0;
  transform: translateY(-50%) scale(.9);
}

input:disabled + label{
  /*background: none;*/
  background: #fbfbfb;
}

.form-outline > textarea {
  font-size: 1rem;
  outline: none;
  border: 1px solid gray;
  border-radius: 5px;  
  padding: 1rem 0.7rem;
  transition: 0.1s ease-out;
}

.form-outline > textarea:focus + label,
.form-outline > .form-select:focus + label{
  color: #6A0F49;
  top: 0;
  transform: translateY(-50%) scale(.9);
}

.form-outline > textarea:not(:placeholder-shown) + label,
.form-outline > .form-select.has-value + label{
  top: 0;
  transform: translateY(-50%) scale(.9);
}

textarea:disabled + label{
  background:#fbfbfb;
}


textarea {
  resize: none;
}

/*Tabs header*/
.specialTab {
      background-color: inherit !important;
      width: 150px !important;
      height: 50px !important;
      float: left !important;
      color: #6A0F49 !important;
      padding-top: 12px;
      text-align: center;
  }
.activeSpecial {
    background-color: #F6CECE !important;
}

.specialLi {
  border: 1px solid  #F6CECE;
  border-radius: 6px;
}

.btn-special {
  border-color: #6A0F49;
  border-radius: 3px;
  color: #6A0F49;
}

.btn-special-save-etapas {
  background-color: #6A0F49 !important;
  color: white !important;
}

/* Loader personalizado */
.custom-swal{
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5) ;
}

.custom-swal-content {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background-color: rgb(255, 255, 255);
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
z-index: 9999;
padding: 20px;
border-radius: 5px;
}

.custom-swal-loader {
border: 4px solid #f3f3f3;
border-top: 4px solid #3498db;
border-radius: 50%;
width: 40px;
height: 40px;
animation: spin 2s linear infinite;
}

.custom-swal-text {
margin-top: 15px;
text-align: center;
}

@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}

.textareaP5{
margin: 0% !important; 
margin-right: 0% !important;
/* height: 100% !important; */
width: 100% !important;
-webkit-box-sizing: border-box !important; 
-moz-box-sizing: border-box !important;    
box-sizing: border-box !important; 
min-height: calc(1.6em + 0.75rem + 2px);
font-family: inherit;
font-size: inherit;
line-height: inherit;
max-width:100% !important;
resize: vertical !important; 
}

/* No aparecer icono de ver contraseña */
input::-ms-reveal {
display: none;
}

.celda-blanca{
background-color:white;
width: 20px;
}

.tabla-izquierda > tr > td{
text-align: left;
}

/*Custom style div table*/
.divCheckBox { 
padding-left: 20px; 
border-style: solid; 
border-width: .5px; 
border-color: #808080; 
padding-top: 5px;
}

.divPTag {
border-style: solid; 
border-width: .5px; 
border-color: #808080; 
padding-top: 5px;
}

/*Tooltip*/

#tooltip {
position: relative;
display: inline-block;
color: #6A0F49;
font-size: 2em;
float:right;
}

#tooltiptext {
visibility: hidden;
width: 200px;
background-color: black;
color: #fff;
text-align: left;
border-radius: 6px;
padding: 5px 5px;
font-size: 0.75em;
margin-left: 150px;

/* Position the tooltip */
position: absolute;
z-index: 1;
}

/* Estilos generales para los botones de DataTables */
.dt-buttons .btn-excel-custom {
/* Verde Excel */
color: green !important;
border: 1px solid green !important;;
padding: 8px 15px;
margin-right: 10px;
}

.dt-buttons .btn-pdf-custom {
color: red !important;
border: 1px solid red !important;;
padding: 8px 15px;
margin-right: 10px;
}


.green-btn {
color: rgba(25, 135, 84, 1) !important;
border: 1px solid rgba(25, 135, 84, 1) !important;
}


.green-btn:hover {
background-color: rgba(25, 135, 84, 1);
color: white !important;
}
.form-outline > input:not(:placeholder-shown) + label,
.form-outline > .form-select.has-value + label{
top: 0;
transform: translateY(-50%) scale(.9);
}

.keys .form-outline {
position: relative; /* Importante para el icono */
width: 100%; /* Asegura que el input ocupe todo el ancho */
}
.input-dark-border {
border: 1px solid #808080 !important;  /* Gris oscuro (similar a Bootstrap's gray-700) */
border-radius: 4px;  /* Bordes ligeramente redondeados */
}
.input-size-password{
 /* Opcional: bordes redondeados */
height: 38px !important; /* Altura fija (ajusta según necesidad) */
}
.form-outline > input:not(:placeholder-shown) + label,
.form-outline > .form-select.has-value + label{
top: 0;
transform: translateY(-50%) scale(.9);
}
.keys input {
width: 100%;
padding-right: 30px; /* Espacio para el icono */
border: 1px solid #ced4da; /* Borde consistente */
border-radius: 4px; /* Opcional: bordes redondeados */
height: 38px; /* Altura fija (ajusta según necesidad) */
}

.keys .toggle-password {
right: 10px;
top: 50%;
transform: translateY(-50%);
cursor: pointer;
z-index: 2; /* Asegura que el icono esté sobre el input */
}
/* Posicionamiento del contenedor de botones */
div.dt-buttons {
float: left; /* Alinea a la izquierda */
margin-bottom: 15px; /* Espacio debajo */
}

/* Clase para color rojo */
.texto-rojo {
color: red;
}

.rojo-btn{
color: red;
border: 1px solid red !important;
}
.morado-btn {
color: #6A0F49;
border: 1px solid#6A0F49 !important;
}

.azul-btn {
color: blue;
border: 1px solid blue !important;
}
.borde-rojo {
border: 1px solid red !important;
}

/* Clase para color verde */
.texto-verde {
color: green;
}

.borde-verde {
border: 1px solid green !important;
}

/* Clase para color azul */
.texto-azul {
color: blue;
}

.borde-azul {
border: 1px solid blue !important;
}

#tooltip:hover ~ #tooltiptext {
visibility: visible;
}

.form-control input {
width: 90%;
height: 5px;
margin: 0.5rem;
}

.form-outline {
position: relative;  
}

.form-outline > label {
position: absolute;
font-size: .9rem;
left: 0;
top: 50%;
transform: translateY(-50%);
background-color: #f8fafc;
color: #6C757D;
padding: 0 0.3rem;
margin: 0 0.5rem;
transition: .1s ease-out;
transform-origin: left top;
pointer-events: none;
}
.form-outline > input {
font-size: 1rem;
outline: none;
border: 1px solid gray;
border-radius: 5px;  
padding: 1rem 0.7rem;
transition: 0.1s ease-out;
}

.form-outline > input:focus + label,
.form-outline > .form-select:focus + label{
color: #6A0F49;
top: 0;
transform: translateY(-50%) scale(.9);
}

/* Estilo para el label cuando el select tiene valor */
.form-outline > .form-select.has-value + label {
top: 0 !important;
transform: translateY(-50%) scale(.9) !important;
background-color: f8fafc !important;
padding: 0 5px !important;
z-index: 1 !important;
}

/* Estilo para mantener el label arriba cuando el select está enfocado */
.form-outline > .form-select:focus + label {
top: 0 !important;
transform: translateY(-50%) scale(.9) !important;
background-color: f8fafc !important;
padding: 0 5px !important;
z-index: 1 !important;
}
/*multiselects*/
/* Asegurar que el select ocupe todo el ancho disponible */
#multiselect, #multi, #rechazo {
width: 100% !important;
}

/* Contenedor principal */
.table-fit {
width: 100%;
overflow: visible;
}

/* Estilos compactos para la tabla */
.table-compact {
table-layout: auto;
width: auto !important;
min-width: 100%;
}

.table-compact th, 
.table-compact td {
padding: 0.3rem 0.5rem;  /* Espaciado más compacto */
white-space: nowrap;
font-size: 0.85rem;  /* Tamaño de fuente más pequeño */
}

/* Clases de ancho de columnas */
.col-id { width: 40px; }
.col-sm { width: 70px; }
.col-med { width: 100px; }
.col-lg { width: 130px; }
.col-xl { width: 180px; }

/* Color del encabezado */
.colorMorado {
background-color: #6A0F49;
color: white;
}
#tbl_comp {
table-layout: fixed; /* Para forzar el respeto de los anchos definidos */
}

#tbl_comp th {
position: sticky;
top: 0;
background-color: #6A0F49; /* Color del header */
color: white;
z-index: 10;
}

/* Para dispositivos pequeños */
@media (max-width: 768px) {
#tbl_comp th {
    font-size: 0.8rem;
    padding: 0.3rem;
}
}

/* Alineación de texto */
.text-center { text-align: center; }

/* Ajustar el ancho del contenedor de Select2 */
.select2-container {
width: 100% !important;
}

input:disabled + label{
/*background: none;*/
background: #fbfbfb;
}
.input-error {
border-color: red !important;
box-shadow: 0 0 5px rgba(255, 0, 0, 0.5);
}
select.error{
border-color: red;
}

input.error {
border-color: red;
}

.input-ef-error{
border-color: red;
}
.form-control-modal { 
border: 0px; 
border-bottom: 1px solid lightgray; 
border-radius: 0px !important; 
background-color: white !important; } 

.form-control-modal:focus {
outline: none; 
border-bottom: 1px solid #6A0F49; } 

.form-control-modal::placeholder { 
text-align: center; /* Centra el texto del placeholder */ } 

.form-floating input{
  max-width:none; 
  height:50px;
  max-height: 50px;
  }

.input-container { 
display: flex; 
align-items: center; 
margin-bottom: 10px; 
white-space: nowrap; /* Evita que el contenido se divida en dos renglones */ } 

input[type=date]{
  flex-direction: row !important;
  }

  .input-container input {
    display: block;
    width: 100%;
    padding: 10px;
    font-size: 16px;
    box-sizing: border-box;
    }
    
    .input-container .legend {
    font-size: 12px;
    color: #666;
    margin-top: 5px;
    text-align: right !important;
    }
    /* No aparecer icono de ver contraseña */
input::-ms-reveal {
display: none;
}


input[type="checkbox"].form-check-input[role="switch"]:checked {
background-color: #6A0F49; 
border-color: #511945;/* Color verde cuando está activado */
}

/* QUITAR LAS FLECHAS A LOS INPUTS DE TIPO NUMBER */
input[type=number]::-webkit-inner-spin-button, 
input[type=number]::-webkit-outer-spin-button { 
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin: 0; 
}

input[type="date"] {
width: 100%; /* Ajusta el ancho al tamaño del contenedor del input */
padding: 10px; /* Espacio interno para evitar que el contenido se corte */
box-sizing: border-box; /* Incluye padding y border en la anchura total */
-webkit-appearance: none; /* Elimina los estilos predeterminados de Webkit (Chrome/Safari) */
-moz-appearance: none; /* Elimina los estilos predeterminados de Mozilla (Firefox) */
appearance: none; /* Elimina los estilos predeterminados */
border: 1px solid #ccc; /* Borde para el input */
}


.dataTables_filter input:focus {
outline: none;
border-color: #6A0F49;
box-shadow: 0 0 0 2px #FCE7F5;
}
/* Estilos para el buscador de DataTables */
.dataTables_filter input {
padding-left: 30px !important;
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16"><path d="M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z"/></svg>') !important;
background-repeat: no-repeat !important;
background-position: 10px center !important;
background-size: 16px 16px !important;
border-radius: 20px !important;
border: 1px solid #ddd !important;
height: 38px !important;
width: 100% !important;
max-width: 250px !important;
margin-left: auto !important; /* Alinea a la derecha */
}

.dataTables_filter {
display: flex !important;
justify-content: flex-end !important;
margin-bottom: 1rem !important;
}

.dataTables_filter label {
  width: auto !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
}

.form-check-input[type="checkbox"].round-checkbox {
  border-radius: 0.5em !important;
  margin-left: 0px !important;
  position: relative !important;
}


.user-container {
  display: inline-block;
  align-items: center; /* Opcional: para alinear verticalmente los elementos */
  width: 100%;
}
  
#roles{
  display: flex;
  width: 100%;
}

/*Modal carga*/
.upload-container {
  margin-bottom: 20px;
}

.upload-box {
  border: 2px dashed #c5a1b3;
  background-color: #fde7f3;
  padding: 5px !important;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
  position: relative;
  height: 60px;
}

.upload-icon {
  font-size: 1.2rem !important;
  color: #6e2c5a;
  margin-bottom: 0px !important;
}

.upload-box p {
  color: #6e2c5a;
  font-size: 0.8rem;
}

.file-preview {
  background-color: #fde7f3;
  border: 2px solid #c5a1b3;
  padding: 10px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 10px;
}

.file-icon {
  font-size: 20px !important;
  color: #6e2c5a;
  margin-right: 10px;
}

#file-name {
  flex-grow: 1;
  color: #511945;
  font-size: 15px;
  text-align: left;
}

.delete-icon {
  font-size: 20px !important;
  color: #6e2c5a;
  cursor: pointer;
}

.upload-box.dragover {
  background-color: #E5E7EB; /* Cambia el color del fondo durante el dragover */
  border: 2px dashed #000000; /* Puedes ajustar estos valores según tu diseño */
}

.hidden {
  display: none !important;
}

.icons{
  padding: 2px 7px 2px 7px;
  border-radius: 5px;
  min-width: 2rem;
}
.btn-outline-blue{
  color: #0E3395;
  box-shadow: none !important;
  background-color: transparent;
  border: 2px solid #0E3395;
  border-radius: 5px;
  font-weight: 500;
  transition: all 0.3s ease;
  text-decoration: none;
  display: inline-block;
  cursor: pointer;

}

.btn-outline-blue i{
  color: #0E3395;
}

.btn-outline-blue:hover{
  border-color: #0E3395;
  color: white;
  background-color: #0E3395;
}

.btn-outline-blue:hover i{
  color: white;
}

.btn-outline-red{
  color: red;
  box-shadow: none !important;
  background-color: transparent;
  border: 2px solid red;
  border-radius: 5px;
  font-weight: 500;
  transition: all 0.3s ease;
  text-decoration: none;
  display: inline-block;
  cursor: pointer;

}

.btn-outline-red i{
  color: red;
}

.btn-outline-red:hover{
  border-color: red;
  color: white;
  background-color: red;
}

.btn-outline-red:hover i{
  color: white;
}

.info-icon {
  color: #6A0F49 !important;
  border-color: #6A0F49 !important;
  font-size: 20px !important;
}