body {
    line-height: 1;
}

/*════════════════════════════════════════════════
                BARRA DE NAVEGACIÓN
══════════════════════════════════════════════════*/
.navbar {
    background: linear-gradient(to bottom, #023699, #3A8AC0);
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 20px;
    height: 55px;
    border: 2px solid color;
    border-radius: 12px;

}
.navbar-empresas, .navbar-terminales {
    background: linear-gradient(to bottom, #023699, #3A8AC0);
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 20px;
    height: 55px;
    margin-bottom: 100px !important; 

}
.navbar-nav {
    display: flex;
    width: 100%;
}

.navbar-nav .nav-item:last-child {
    margin-left: auto;
}


/*════════════════════════════════════════════════
                       BODY
══════════════════════════════════════════════════*/

.password-icon {
    float: right;
    position: relative;
    margin: -25px 10px 0 0;
    cursor: pointer;
}


.input-group-append .btn {
     border-top-left-radius: 0;
     border-bottom-left-radius: 0;
 }

/* #nav-empresas {
    padding-left: 100px;
 }
#nav-terminales {
    padding-right: 100px;
}*/
#nav-licencias {
    padding-left: 100px;
}

.custom-form {
    margin-top: 20px;  
}


.card {
    border-radius: 15px !important;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}


.card-body {
    margin-bottom: 20px;  
    margin-top: 20px;   
}

.logo-nav {
    margin-left: 100px;
    margin-right: 50px;
}

#accesodenegado {
    color: red;
}
.custom-table-empresas {
    border-radius: 3px;
    height: 440px;
}
.custom-table-terminales {
    border-radius: 3px;
    height: 328px;
    width: 100%;
}
.custom-table-distribuidores{
    border-radius: 3px; 
    height: 506px;
    width: 100%;
}

.custom-table-licencias {
    border-radius: 3px;
    height: 480px;
    width: 100%;
}

.custom-table-eventos {
    border-radius: 3px;
    height: 376px;
}

.custom-table-terminales th i, .custom-table-eventos th i, .custom-table-empresas i , .custom-table-distribuidores i{
    cursor: pointer;
}



.custom-th-nombre, .custom-th-nombret {
    background: linear-gradient(to bottom, #cf7907, #d5a86c);
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    padding-left: 55px;
    padding-right: 25px;
    padding-bottom: 5px;
}


.custom-th-urlapi {
    background: linear-gradient(to bottom, #cf7907, #d5a86c);
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    padding-left: 25px;
    padding-right: 55px;
    padding-bottom: 5px;
}

/*.custom-th-cif, .custom-th-nombreComercial, .custom-th-fechaactivacion, .custom-th-fecharenov, .custom-th-licencia,.custom-th-bloqueada, .custom-th-limEmpleados, .custom-th-empleados, .custom-th-nombreContacto, .custom-th-emailContacto, .custom-th-empresa, .custom-th-tipo, .custom-th-ubicacion, .custom-th-estado, .custom-th-sentido, .custom-th-zonahoraria, .custom-th-fecha, .custom-th-ulttrabajo, .custom-th-numserie {
    background: linear-gradient(to bottom, #0069D9, #005dc0);
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    padding-left: 15px;
    padding-right: 15px;
    padding-bottom: 5px;
}*/
.custom-th-empresa, .custom-th-licencia, .custom-th-terminales, .custom-th-distribuidor, .custom-th-empleado, .custom-th-usuarios{
    background: linear-gradient(to bottom, #023699, #3A8AC0);
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    padding-left: 12px;
    padding-right: 15px;
    padding-bottom: 5px;
}

.custom-th-idempleado {
    background: linear-gradient(to bottom, #023699, #3A8AC0);
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    padding-left: 25px;
    padding-right: 25px;
    padding-bottom: 5px;
}

.custom-td-empresa{
    text-align: center;
}

.custom-td-empresa_lef{
    text-align: left;
    padding-left: 10px;
}

.custom-td-terminal_lef {
    text-align: left;
    padding-left: 10px;
}

.custom-td-licencia{
    text-align: left;
    padding-left: 10px;
}

.custom-td-licencia-center{
    text-align: center !important;
}

.custom-td-terminal-center{
    text-align: center !important;
}
/*.custom-td-cif, .custom-td-empresa, .custom-td-fechaactivacion, .custom-td-fecharenov, .custom-td-nombreComercial, .custom-th-licencia, .custom-th-bloqueada, .custom-th-limEmpleados, .custom-th-empleados, .custom-th-nombreContacto, .custom-th-emailContacto, .custom-td-tipo, .custom-td-sentido, .custom-td-zonahoraria, .custom-td-fecha, .custom-td-ulttrabajo {
    padding-left: 25px;
    padding-right: 25px;
}*/

.custom-td-estado, .custom-td-ubicacion {
    padding-left: 30px;
    padding-right: 25px;
    font-size: 15px;
}

.custom-td-nombre, .custom-td-nombret  {
    padding-right: 25px;
    padding-left: 55px;
}
.custom-td-numserie {
    padding-right: 55px;
    padding-left: 25px;
}
.custom-td-urlapi {
    padding-right: 55px;
    padding-left: 25px;
}

.custom-td-terminal {
    padding-right: 25px;
    padding-left: 25px;
}
.custom-td-idempleado {
    padding-right: 25px;
    padding-left: 25px;
}

.custom-td-fecha {
    padding-left: 25px;
    padding-right: 55px;
}

.custom-th-terminal {
    background: linear-gradient(to bottom, #023699, #3A8AC0);
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    padding-left: 55px;
    padding-right: 25px;
    padding-bottom: 5px;
}

.custom-th-fecha {
    background: linear-gradient(to bottom, #023699, #3A8AC0);
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    padding-left: 25px;
    padding-right: 55px;
    padding-bottom: 5px;
}


.obligatorio {
    color: red;
}

.conMargen{
    margin-top: 55px;
}

#lusuario {
  margin-right: 240px;
}
#lclave {
  margin-right: 210px;
}

#lclave2 {
    margin-right: 140px;
}

.fonticono {
    font-size: 16px !important;
}

/* Estilos CSS para el encabezado fijo */
.table-container tbody {
    position: sticky;
    top: 0; /* Fija el encabezado en la parte superior */
    z-index: 1; /* Asegura que esté por encima del contenido desplazable */
}
.table-responsive table td, .table-responsive table th {
    white-space: nowrap;
    padding-top: 5px; /* Agrega un espacio superior para evitar superposiciones */
}

#search-input, #comunicacion-input {
    background-image: url('../images/searchicon.png');
    background-size: 35px; /* Tamaño deseado para la imagen */
    background-position: 10px center; /* Alinea la imagen a la izquierda y agrega margen */
    background-repeat: no-repeat;
    font-size: 14px;
    padding: 12px 20px 12px 50px; /* Ajusta el padding del input para dejar espacio para la imagen */
    border: 1px solid #ddd;
    margin-bottom: 12px;
}

.cuadrado {
    width: 20px;
    height: 20px;
    margin-right: 10px;
    border-radius: 20px;
}
.activo {
    background-image: linear-gradient(to right, #8ed973, rgba(0, 150, 0, 1));
}

.caducada {
    background-image: linear-gradient(to right, #ff0000, #b30000);
   /* background-image: linear-gradient(to right, red, #d61010);*/
}

.caduca {
    background-image: linear-gradient(to right, #FFD700, #FFC107);
}

.bloqueada {
    /*background-image: linear-gradient(to right, orange, orange);*/
    background-image: linear-gradient(to right, #FF8C00, #FF4500);
}
.no-comunica{
    background-image: linear-gradient(to right, #ff0000, #b30000);
  /*  background-image: linear-gradient(to right, red, #d61010);*/
}
.no-licencia{
    background-image: linear-gradient(to right, #808080, #C0C0C0);
}

.PdteActivacion{
    background-image: linear-gradient(to right,#2393bf, rgb(16 66 131));
}

.row.align-items-center.justify-content-center .col-auto {
    display: flex;
    align-items: center;
    /*margin-right: 20px; */
}

.texto {
    text-align: center; 
}

.td-activo{
    background-color: #8ed973 !important;
}

.td-caduca{
    background-color: yellow !important ;
}

.td-caducada{
    background-color: red !important;
}

.td-bloqueada{
    background-color: orange !important;
}

td {border: 1px #DDD solid; padding: 5px; cursor: pointer;}

.selected {
    background-color: brown;
    color: #FFF;
}

.msg-error {
    padding-top: 8px;
    padding-left: 8px;
    padding-right: 8px;
}

.sinPaddingTop{
    padding-top: 0px !important;
    padding-bottom: 0px !important;
}


.respuesta-creacion {
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    text-align: left;
}
.alert-success {
    background-color: #d4edda; /* Color verde claro */
    color: #155724; /* Color del texto */
    padding: 1em;
    border-radius: 10px;
    display: flex;
  /*  justify-content: center;
    align-items: center;*/
}
/*════════════════════════════════════════════════
                       BOTONES
══════════════════════════════════════════════════*/

.btn-primary {
    background-color: #023699 !important;
    border-color: #3A8AC0 !important;
    color: #ffffff;
    font-size: 14px;
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    height: 100%;
    padding: 14px;
}

.btn-primary:hover {
    background-color: #6A96C0 !important;
    border-color: #AFCBE6 !important;
    color: #ffffff !important;
}

.btn-primary.selected {
    background-color: #3D639E !important;
    border-color: #7F9FC8 !important;
    color: #ffffff !important;
}

.dt-search {
    position: relative;
}

.dt-search input {
    width: 500px;
    height: 32px;
    background: #fcfcfc;
    border: 1px solid #aaa;
    border-radius: 5px;
    box-shadow: 0 0 3px #ccc, 0 10px 15px #ebebeb inset;
    text-indent: 10px;
}

.dt-search .fa-search {
    position: absolute;
    top: 10px;
    left: auto;
    right: 10px;
}

.selected {
    background: gray !important;
}

tbody tr:not(.selected):hover {
cursor: pointer !important;
background: #8fc8f3 !important;
}

.btn {
    font-size: 14px;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.2s, color 0.2s; /* Transición suave de 0.2 segundos para el color de fondo y el color del texto */
}
/*.btn.borrar {
    padding: 7px 11px;
    border: 1px solid black;
    background-color: transparent;
    color: gray;
}

.btn.limpiar {
    padding: 7px 11px;
    border: 1px solid #023699;
    background-color: transparent;
    color: #023699;
}

.btn.exportar {
    padding: 7px 14px;
    border: 1px solid #023699;
    background-color: transparent;
    color: #1a5e2b;
}*/

.btn.exportar:active,
.btn.exportar:focus {
    background-color: #023699;
    color: #ffffff;
    outline: none;
    transition: color 0.2s;
}

.btn.exportar:active .fas.fa-file-excel,
.btn.exportar:focus .fas.fa-file-excel {
    background-color: #023699;
    color: #ffffff;
    outline: none;
    transition: color 0.2s;
}


.btn.exportar:active,
.btn.exportar:hover {
    background-color: #023699 !important;
    color: #ffffff;
    outline: none;
    transition: color 0.2s;
}

.btn.exportar:active .fas.fa-file-excel,
.btn.exportar:hover .fas.fa-file-excel {
    background-color: #023699;
    color: #ffffff;
    outline: none;
    transition: color 0.2s;
}

/*.fas.fa-file-excel {
    color: #000a03;
}*/

.btn.borrar:active,
.btn.borrar:focus {
    background-color: black;
    color: #ffffff;
    outline: none;
    transition: color 0.2s;
}

.btn.borrar:active .fas.fa-broom,
.btn.borrar:focus .fas.fa-broom {
    background-color: black;
    color: #ffffff;
    outline: none;
    transition: color 0.2s;
}

.btn.borrar:active,
.btn.borrar:hover {
    background-color: black;
    color: #ffffff;
    outline: none;
    transition: color 0.2s;
}

.btn.borrar:active .fas.fa-broom,
.btn.borrar:hover .fas.fa-broom {
    background-color: black;
    color: #ffffff;
    outline: none;
    transition: color 0.2s;
}

.fas.fa-broom {
    color: black;
}



.btn.limpiar:active,
.btn.limpiar:focus {
    background-color:#023699;
    color: #ffffff;
    outline: none;
    transition: color 0.2s;
}


.btn.limpiar:active .fa-solid.fa-filter-circle-xmark,
.btn.limpiar:focus .fa-solid.fa-filter-circle-xmark {
    background-color: #023699;
    color: #ffffff;
    outline: none;
    transition: color 0.2s;
}

.btn.limpiar:active,
.btn.limpiar:hover {
    background-color: #023699 !important;
    color: #ffffff;
    outline: none;
    transition: color 0.2s;
}

.btn.limpiar:active .fa-solid.fa-filter-circle-xmark,
.btn.limpiar:hover .fa-solid.fa-filter-circle-xmark {
    background-color: #023699;
    color: #ffffff;
    outline: none;
    transition: color 0.2s;
}



.btn.actualizar:active,
.btn.actualizar:focus {
    background-color: #023699;
    color: #ffffff;
    outline: none;
    transition: color 0.2s;
}

.btn.actualizar:active .fa.fa-refresh,
.btn.actualizar:focus .fa.fa-refresh {
    background-color: #023699;
    color: #ffffff;
    outline: none;
    transition: color 0.2s;
}


.btn.actualizar:active,
.btn.actualizar:hover {
    background-color: #023699 !important;
    color: #ffffff;
    outline: none;
    transition: color 0.2s;
}

.btn.actualizar:active .fa.fa-refresh,
.btn.actualizar:hover .fa.fa-refresh {
    background-color: #023699;
    color: #ffffff;
    outline: none;
    transition: color 0.2s;
}


.combo{
    width: 100% !important; 
    height: auto !important;
    padding: 8px !important; 
    font-size: 14px !important; 
    border-radius: 5px !important; 
    border: 1px solid #ccc !important;
}

.combo_peq{
    width: 25% !important; 
    height: auto !important;
    padding: 8px !important; 
    font-size: 14px !important; 
    border-radius: 5px !important; 
    border: 1px solid #ccc !important;
}

th { font-size: 13px !important; }
td { font-size: 13px !important; }

.filtrado{
    /*background-color: #AFCBE6 !important;*/
    background-color: #0d76db !important;
    color: white;
}

.margenBoton{
    margin-right: 6px;
}


form p {
    display: flex;
    flex-direction: row;
    align-items: center;
    margin-bottom: 15px;
}

form p label {
    flex: 1; /* Hace que el label ocupe el espacio necesario */
    margin-bottom: 0; /* Elimina el margen inferior predeterminado del label */
    text-align: left; /* Alinea el texto del label a la derecha */
    margin-right: 120px; /* Añade un margen derecho para separar el label del input */
    margin-left: 120px; /* Añade un margen derecho para separar el label del input */
}

form p input {
    flex: 2; /* Hace que el input ocupe el doble del espacio del label */
    width: auto; /* Permite que el input se ajuste automáticamente */
}

form .modal-footer {
    text-align: center; /* Centra el botón dentro del modal-footer */
    
}


.xs {
    margin-right: 25px !important; /* Añade un margen derecho para separar el label del input */
    margin-left: 25px !important; /* Añade un margen derecho para separar el label del input */
}

#obligatorio {
    margin-right: 120px; /* Añade un margen derecho para separar el label del input */
    margin-left: 120px; /* Añade un margen derecho para separar el label del input */
}


i.fa.fa-circle.Bloqueada{
    font-size: 21px;
    background: -webkit-linear-gradient(#FF8C00, #FF4500);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

i.fa.fa-circle.Caduca1mes{
    font-size: 21px;
    background: -webkit-linear-gradient(#FFD700, #FFC107);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

i.fa.fa-circle.Caducada{
    font-size: 21px;
    background: -webkit-linear-gradient(#ff0000, #b30000);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

i.fa.fa-circle.SinLicencia{
    font-size: 21px;
    background: -webkit-linear-gradient(#808080, #C0C0C0);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

i.fa.fa-circle.Activa{
    font-size: 21px;
    background: -webkit-linear-gradient( #8ed973, rgba(0, 150, 0, 1));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

i.fa.fa-circle.Pdte{
    font-size: 21px;
    background: -webkit-linear-gradient(#2393bf, rgb(16 66 131));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.centrar{
    display: flex;
    justify-content: center;
    align-items: center;
}

.limiteSup {
    background-color: #f73939;
    color: white;
}

.limiteSupFila {
    background-color: #f73939 !important;
    color: white;
}


.modal {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: 1; /* Sit on top */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow: auto; /* Enable scroll if needed */
    background-color: rgb(0,0,0); /* Fallback color */
    background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
    transition: opacity 0.5s ease; /* Fade effect */
    opacity: 0; /* Initial state */
}

.modal-header {
    background-color: #337ab7 !important;
}
  
.modal-title{
    color: #fff;
    display: inline-block;
}

.modal-header .close {
    color: #fff;
    opacity: 1 !important;
}
    
/* Show the modal */
.modal.show {
    display: block;
    opacity: 1; /* Fade in */
}    


.extraClass{ 
    vertical-align: text-bottom !important;
}

.margenColum{
    padding-right: 45px !important;
}

.margenForm{
    margin-left: 50px !important;
    margin-right: 50px !important;
}
.centrarVertical{
    vertical-align: middle !important;
}

.ajustarColumna{
    white-space:normal !important;
}


/* Contenedor del icono con tooltip */
.icon-title {
    position: relative;
    cursor: pointer;
    display: inline-block; /* ahora sí, solo al contenedor interno */
}

.icon-title .tooltip {
    position: absolute; /* Posición relativa al span.icon-title */
    top: 90%; /* Justo debajo del icono */
    left: 50%;
    transform: translateX(-10%);
    
    display: block; /* Necesario para que width se ajuste */
    width: max-content; /* Ajusta automáticamente al texto */
    max-width: max-content; /* Evita que se comprima */
    white-space: pre-line; /* Respeta saltos de línea y <br> */
    
    background-color: #333; /* Fondo oscuro */
    color: #fff; /* Texto blanco */
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 13px;
    line-height: 1.4;
    
    box-shadow: 0 2px 6px rgba(0,0,0,0.3);
    z-index: 1000;
    
    opacity: 0; /* Invisible por defecto */
    pointer-events: none; /* Para que no interfiera con el cursor */
    transition: opacity 0.3s ease; /* Animación fade in */
}

.icon-title .tooltip::after {
    content: "";
    position: absolute;
    top: -6px;
    left: 50%;
    transform: translateX(-10%);
    border-width: 6px;
    border-style: solid;
    border-color: transparent transparent #333 transparent;
}

.icon-title:hover .tooltip {
    display: block;
    opacity: 1;
}