:root {
    --azulHubemar:   linear-gradient(135deg, #2c3e50 0%, #1e3c72 50%, #2a5298 100%);
    --bgHeaderTable: linear-gradient(135deg, #2c3e50 0%, #1e3c72 50%, #2a5298 100%);
    --azulHubemar2: linear-gradient(135deg, #2c3e50 0%, #1e3c72 50%, #2a5298 100%);
    --colorMenu   : #F2F2F2; 
    --footer: white; 
    --colorFuente: #F2F2F2;
    --colorCritico: #fbc300;
    --colorUrgente: #f5141f;
    --colorNormal: #0fc42d;
    --colorFuente2: #fbc300; 
    --colorBtn: white;
    --colorSombra: #48529944;
}


    .reporte-html {
        max-width: 100%;
        overflow-x: auto;
    }
    
    .reporte-html table {
        width: 100%;
        border-collapse: collapse;
    }
    
    .reporte-html table th, 
    .reporte-html table td {
        border: 1px solid #ddd;
        padding: 8px;
    }
    
    .btn-image img {
        height: 36px !important;
    }
    .reporte-html table tr:nth-child(even) {
        background-color: #f2f2f2;
    }
    
    .reporte-html table tr:hover {
        background-color: #ddd;
    }
    
    .reporte-html table th {
        padding-top: 12px;
        padding-bottom: 12px;
        text-align: left;
        background-color: #0e4ba5;
        color: white;
    }
    
    #reportContainer {
        display: none;
    }
    
 .btn-download {
        margin: 3px;
        padding: 8px 15px;
        border: none;
        background: linear-gradient(135deg, #2c3e50 0%, #1e3c72 50%, #2a5298 100%);
        border-radius: 0.5px;
        cursor: pointer;
        text-decoration: none;
        color: white;
    }
    
    .btn-excel { background-color: #28a745; }
    .btn-csv { background-color: #6c757d; }
    .btn-json { background-color: #17a2b8; }
    .btn-txt { background-color: #ffc107; color: black; }
    .btn-xml { background-color: black; }

    
    .download-section {
        text-align: center;
        margin: 20px 0;
        padding: 15px;
        background-color: #f8f9fa;
        border-radius: 5px;
        border-top: 3px solid black;
    }
    
    .loading-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 9999;
    }
    
    .loading-content {
        background: white;
        padding: 30px;
        border-radius: 10px;
        text-align: center;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
    }
    
    .progress-bar {
        width: 300px;
        height: 4px;
        background-color: #e9ecef;
        border-radius: 2px;
        overflow: hidden;
        margin: 15px 0;
    }
    
    .progress-fill {
        height: 100%;
        background-color: black;
        width: 0%;
        transition: width 0.3s ease;
        animation: pulse 1.5s infinite;
    }
    
    @keyframes pulse {
        0% { opacity: 1; }
        50% { opacity: 0.7; }
        100% { opacity: 1; }
    }
    
    .report-header {
        border-bottom: 2px solid black;
        padding-bottom: 15px;
        margin-bottom: 20px;
    }
    
    .report-stats {
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap;
        gap: 10px;
        margin-bottom: 15px;
        padding: 10px;
        background-color: #e3f2fd;
        border-radius: 5px;
    }
    
    .stat-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        min-width: 100px;
    }
    
    .stat-number {
        font-size: 1.5rem;
        font-weight: bold;
        color: black;
    }
    
    .stat-label {
        font-size: 0.8rem;
        color: #6c757d;
        text-transform: uppercase;
    }
    
  /* Mejoras al contenedor de tabla */
.table-container {
    margin: 20px 0;
    background: white;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    overflow: hidden;
    border: 1px solid #e9ecef;
}

/* Header del reporte mejorado */
.report-header {
    background: linear-gradient(135deg, #2c3e50 0%, #1e3c72 50%, #2a5298 100%);
    color: white;
    padding: 20px;
    border-bottom: 3px solid #0e4ba5;
}

.report-header h4 {
    color: white !important;
    margin: 0;
    text-shadow: 0 1px 2px rgba(0,0,0,0.2);
}

/* Estadísticas del reporte */
.report-stats {
    background: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%);
    border-left: 5px solid #2196f3;
    margin: 0;
    padding: 15px;
    border-bottom: 1px solid #dee2e6;
}

.stat-item {
    text-align: center;
    padding: 10px;
    position: relative;
}

.stat-item:not(:last-child):after {
    content: '';
    position: absolute;
    right: 0;
    top: 20%;
    height: 60%;
    width: 1px;
    background: rgba(0,0,0,0.1);
}

.stat-number {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 5px;
    display: block;
}

.stat-label {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #6c757d;
    font-weight: 600;
}

/* Información de paginación superior */
.pagination-info {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    border-bottom: 2px solid #dee2e6;
    padding: 20px;
    margin-bottom: 0 !important;
}

.pagination-info h5 {
    color: #0e4ba5;
    margin-bottom: 5px;
    font-weight: 600;
}

.badge-lg {
    font-size: 0.9rem;
    padding: 8px 12px;
}

/* Controles de paginación */
.pagination-controls {
    background: linear-gradient(135deg, #2c3e50 0%, #1e3c72 50%, #2a5298 100%);
    border-top: 1px solid #dee2e6;
    border-bottom: 1px solid #dee2e6;
    padding: 20px;
    margin: 0 !important;
}

/* Botones de paginación mejorados */
.pagination .page-link {
    color: #0e4ba5;
    border: 2px solid #0e4ba5;
    margin: 0 3px;
    border-radius: 6px;
    font-weight: 500;
    padding: 8px 12px;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.pagination .page-link:before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
    transition: left 0.5s;
}

.pagination .page-link:hover:before {
    left: 100%;
}

.pagination .page-link:hover {
    background: linear-gradient(135deg, #2c3e50 0%, #1e3c72 50%, #2a5298 100%);
    border-color: #0e4ba5;
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 255, 0.3);
}

.pagination .page-item.active .page-link {
    background:linear-gradient(135deg, #2c3e50 0%, #1e3c72 50%, #2a5298 100%);
    border-color: #0e4ba5;
    color: white;
    font-weight: 700;
    box-shadow: 0 4px 15px  rgba(0, 0, 255, 0.4);
    transform: scale(1.05);
}

.pagination .page-item.disabled .page-link {
    background: linear-gradient(135deg, #2c3e50 0%, #1e3c72 50%, #2a5298 100%);
    border-color: #0e4ba5;
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 255, 0.3);
}

/* Tabla mejorada */
.table-responsive {
    border-radius: 0;
    box-shadow: none;
}

.table {
    margin-bottom: 0;
    font-size: 11px;
}

.table thead th {
    background: linear-gradient(135deg, #2c3e50 0%, #1e3c72 50%, #2a5298 100%);
    color: white !important;
    border-color: #0e4ba5 !important;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 12px 8px;
    text-shadow: 0 1px 2px rgba(0,0,0,0.2);
    position: sticky;
    top: 0;
    z-index: 10;
}

.table tbody tr {
    transition: all 0.2s ease;
}

.table-hover tbody tr:hover {
    background-color: rgba(0, 0, 255, 0.08) !important;
    transform: scale(1.001);
}

.table tbody td {
    padding: 8px;
    border-color: #dee2e6;
    vertical-align: middle;
}

/* Numeración de filas */
.table tbody td:nth-child(1) {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    font-weight: 600;
    color: #495057;
    text-align: center;
    min-width: 50px;
    border-right: 2px solid #dee2e6;
}

/* Resumen de paginación inferior */
.pagination-summary {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    border-top: 2px solid #dee2e6;
    border-radius: 0 0 12px 12px;
    padding: 15px;
    margin: 0;
}

/* Campos de entrada de página */
.input-group input[type="number"] {
    border: 2px solid #0e4ba5;
    border-radius: 4px 0 0 4px;
    text-align: center;
    font-weight: 600;
    color: #0e4ba5;
}

.input-group input[type="number"]:focus {
    border-color: #0e4ba5;
    box-shadow: 0 0 0 0.2rem rgba(0, 0, 255, 0.25);
}

.input-group-append .btn {
    border: 2px solid #0e4ba5;
    border-left: none;
    background: #0e4ba5;
    color: white;
    border-radius: 0 4px 4px 0;
}

.input-group-append .btn:hover {
    background: #0e4ba5;
    border-color: #0e4ba5;
}

/* Alertas y notificaciones */
.alert-info {
    background: linear-gradient(135deg, #d1ecf1 0%, #bee5eb 100%);
    border-left: 4px solid #17a2b8;
    border-radius: 8px;
}

.alert-danger {
    background: linear-gradient(135deg, #f8d7da 0%, #f5c6cb 100%);
    border-left: 4px solid #0e4ba5;
    border-radius: 8px;
}

/* Sección de descarga */
.download-section {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    border-top: 3px solid #0e4ba5;
    border-radius: 0 0 12px 12px;
    padding: 25px;
    text-align: center;
}

.btn-download {
    margin: 8px;
    padding: 10px 20px;
    border: none;
    border-radius: 25px;
    cursor: pointer;
    text-decoration: none;
    color: white;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

.btn-download:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(0,0,0,0.25);
    text-decoration: none;
    color: white;
}

.btn-excel { 
    background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
    color: #28a745 !important; 
}

.btn-csv { 
    background: linear-gradient(135deg, #6c757d 0%, #495057 100%); 
    color: #6c757d !important;
}

.btn-json { 
    background: linear-gradient(135deg, #17a2b8 0%, #138496 100%);
    color: #17a2b8 !important; 
}

.btn-txt { 
    background: linear-gradient(135deg, #ffc107 0%, #e0a800 100%); 
    color: #ffc107 !important;
}

.btn-xml { 
    background: linear-gradient(135deg, #343a40 0%, #212529 100%); 
    color: #343a40 !important;
}

/* Loading overlay mejorado */
.loading-overlay {
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(5px);
}

.loading-content {
    background: white;
    padding: 40px;
    border-radius: 15px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
    text-align: center;
    min-width: 300px;
}

.progress-bar {
    width: 100%;
    height: 6px;
    background: #e9ecef;
    border-radius: 3px;
    overflow: hidden;
    margin: 20px 0;
}

.progress-fill {
    height: 100%;
    background: linear-gradient(135deg, #2c3e50 0%, #1e3c72 50%, #2a5298 100%);
    background-size: 200% 100%;
    animation: progressMove 2s linear infinite;
    border-radius: 3px;
    transition: width 0.5s ease;
}

@keyframes progressMove {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* Responsive Design */
@media (max-width: 992px) {
    .stat-item:after {
        display: none;
    }
    
    .report-stats .col-md-3 {
        margin-bottom: 15px;
        padding-bottom: 15px;
        border-bottom: 1px solid rgba(0,0,0,0.1);
    }
    
    .report-stats .col-md-3:last-child {
        border-bottom: none;
        margin-bottom: 0;
    }
}

@media (max-width: 768px) {
    .pagination .page-link {
        padding: 6px 10px;
        font-size: 0.8rem;
        margin: 0 1px;
    }
    
    .stat-number {
        font-size: 1.5rem;
    }
    
    .table {
        font-size: 10px;
    }
    
    .table thead th,
    .table tbody td {
        padding: 6px 4px;
    }
    
    .btn-download {
        margin: 5px;
        padding: 8px 15px;
        font-size: 0.8rem;
    }
    
    .pagination-info {
        padding: 15px;
    }
    
    .pagination-controls {
        padding: 15px;
    }
}

@media (max-width: 576px) {
    .table-container {
        margin: 10px 0;
        border-radius: 8px;
    }
    
    .report-header {
        padding: 15px;
    }
    
    .report-header h4 {
        font-size: 1.1rem;
    }
    
    .pagination .page-link {
        padding: 4px 8px;
        font-size: 0.75rem;
    }
    
    .stat-number {
        font-size: 1.3rem;
    }
    
    .stat-label {
        font-size: 0.7rem;
    }
}

/* Efectos de hover para filas de tabla */
.table tbody tr {
    cursor: pointer;
}

.table tbody tr:hover td:nth-child(1) {
    background: linear-gradient(135deg, #2c3e50 0%, #1e3c72 50%, #2a5298 100%);
    color: white;
}

/* Indicadores de carga flotantes */
#carga-paginacion,
#error-paginacion,
#notif-pagina,
#notif-busqueda {
    animation: slideInFromRight 0.3s ease-out;
}

@keyframes slideInFromRight {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

/* Búsqueda resaltada */
.highlight-search {
    background: linear-gradient(135deg, #fff3cd 0%, #ffeaa7 100%) !important;
    color: #856404 !important;
    font-weight: 600 !important;
    box-shadow: 0 0 0 2px #ffc107;
    border-radius: 2px;
    animation: highlightPulse 2s ease-in-out infinite;
}

@keyframes highlightPulse {
    0%, 100% { 
        box-shadow: 0 0 0 2px #ffc107; 
    }
    50% { 
        box-shadow: 0 0 0 4px rgba(255, 193, 7, 0.5); 
    }
}
       
/* Variables específicas para rol Cliente */
[data-role="INTERNO"] {
    --azulHubemar: #004077; 
    --bgHeaderTable: #004077; 
    --colorMenu   : #F2F2F2; 
    --colorFuente: #F2F2F2;
}



/* Variables específicas para rol Cliente */
[data-role="CLIENTE"] {
    --azulHubemar: #008570; 
    --bgHeaderTable: #004077; 
    --colorMenu   : #F2F2F2; 
    --colorFuente: #F2F2F2;
}

/* ------ Estilos AdminLte ------*/
.nav {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}

[class*="sidebar-dark-"] .user-panel .status {
    background: linear-gradient(135deg, #2c3e50 0%, #1e3c72 50%, #2a5298 100%);
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  color: var(--colorMenu) !important;
}

[class*="sidebar-dark-"] .nav-sidebar > .nav-item > .nav-link:active {
  color:  var(--colorMenu) !important;
}

[class*="sidebar-dark-"] .sidebar a {
  color:  var(--colorMenu) !important;
}

[class*="sidebar-dark"] .list-group-item {
    background: linear-gradient(135deg, #2c3e50 0%, #1e3c72 50%, #2a5298 100%);
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  border-color: #56606a;
  color:  var(--colorMenu) !important;
}

.control-sidebar-dark .nav-link {
  color:  var(--colorMenu) !important;
}
.accent-primary [class*="sidebar-dark-"] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link) {
  color:  var(--colorMenu) !important;
}

.accent-secondary [class*="sidebar-dark-"] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link) {
  color:  var(--colorMenu) !important;
}

.accent-success [class*="sidebar-dark-"] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link) {
  color:  var(--colorMenu) !important;
}

.accent-info [class*="sidebar-dark-"] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link) {
  color:  var(--colorMenu) !important;
}

.nav-link {
  display: block;
  padding: 0.5rem 1rem;
}

.nav-link:hover, .nav-link:focus {
  text-decoration: none;
}

.nav-link.disabled {
  color: var(--colorMenu) !important;
  pointer-events: none;
  cursor: default;
}

.nav-tabs {
  border-bottom: 1px solid #dee2e6;
}

.nav-tabs .nav-link {
  margin-bottom: -1px;
  border: 1px solid transparent;
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
}

.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
  border-color: #e9ecef #e9ecef #dee2e6;
}

.nav-tabs .nav-link.disabled {
  color: var(--colorMenu) !important;
  background-color: transparent;
  border-color: transparent;
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: var(--colorMenu) !important; /*#495057;*/
  margin-top: -10px !important;
      background: linear-gradient(135deg, #2c3e50 0%, #1e3c72 50%, #2a5298 100%);
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  border-color: #dee2e6 #dee2e6 #fff;
}

.nav-tabs .dropdown-menu {
  margin-top: -1px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.nav-pills .nav-link {
  border-radius: 0.25rem;
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: var(--colorMenu) !important /*#fff;*/
  background-color: #007bff;
}

.nav-fill > .nav-link,
.nav-fill .nav-item {
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  text-align: center;
}
 /* ------ Estilos AdminLte ------*/

.nav-tabs .nav-item.show .nav-link {
  color: var(--colorMenu) !important;
     background: linear-gradient(135deg, #2c3e50 0%, #1e3c72 50%, #2a5298 100%);
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  border-color: var(--colorFuente) var(--colorFuente) var(--azulHubemar2);
}

/* Estilos para el botón base */
.boton-palpitante {
    /*display: inline-block;
    border-radius: 4px;
    padding: 12px 24px;*/
    text-decoration: none;
    border: none;
    cursor: pointer;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    
    /* Añadimos la animación */
    animation: palpitar 1.5s infinite;
}

/* Definición de la animación de palpitación */
@keyframes palpitar {
    0% {
        transform: scale(1);
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    }
    
    50% {
        transform: scale(1.1);
        box-shadow: 0 8px 15px rgba(0, 0, 0, 0.2);
    }
    
    100% {
        transform: scale(1);
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    }
}


/* Efecto hover para detener la palpitación cuando el usuario pasa el mouse por encima */
.boton-palpitante:hover {
    animation-play-state: paused;
    background-color: var(--azulHubemar);
}

/* Versión alternativa con palpitación menos intensa */
.boton-palpitante-suave {

    text-align: center;
    text-decoration: none;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    
    /* Animación más sutil */
    animation: palpitar-suave 2s infinite;
}

@keyframes palpitar-suave {
    0% {
        transform: scale(1);
    }
    
    50% {
        transform: scale(1.05);
        box-shadow: 0 6px 10px rgba(0, 0, 0, 0.15);
    }
    
    100% {
        transform: scale(1);
    }
}

.fill:hover,
.fill:focus {
  box-shadow: inset 0 0 0 2em var(--hover);
}

.pulse:hover,
.pulse:focus {
  -webkit-animation: pulse 1s;
          animation: pulse 1s;
  box-shadow: 0 0 0 2em rgba(255, 255, 255, 0);
}

@-webkit-keyframes pulse {
  0% {
    box-shadow: 0 0 0 0 var(--colorSombra);
  }
}


@keyframes pulse {
  0% {
    box-shadow: 0 0 0 0 var(--colorSombra);
  }
}
.close:hover,
.close:focus {
  box-shadow: inset -3.5em 0 0 0 var(--hover), inset 3.5em 0 0 0 var(--hover);
}

.raise:hover,
.raise:focus {
  box-shadow: 0 0.5em 0.5em -0.4em var(--hover);
  -webkit-transform: translateY(-0.25em);
          transform: translateY(-0.25em);
}

.up:hover,
.up:focus {
  box-shadow: inset 0 -3.25em 0 0 var(--hover);
}

.slide:hover,
.slide:focus {
  box-shadow: inset 6.5em 0 0 0 var(--hover);
}

.offset {
  box-shadow: 0.3em 0.3em 0 0 var(--color), inset 0.3em 0.3em 0 0 var(--color);
}
.offset:hover, .offset:focus {
  box-shadow: 0 0 0 0 var(--hover), inset 6em 3.5em 0 0 var(--hover);
}

.fill {
  --color: #a972cb;
  --hover: #cb72aa;
}

.pulse {
  --color: #ef6eae;
  --hover: #ef8f6e;
}

.close {
  --color: #ff7f82;
  --hover: #ffdc7f;
}

.raise {
  --color: #ffa260;
  --hover: #e5ff60;
}

.up {
  --color: #e4cb58;
  --hover: #94e458;
}

.slide {
  --color: #8fc866;
  --hover: #66c887;
}

.offset {
  --color: #19bc8b;
  --hover: #1973bc;
}

button {
  -webkit-transition: 0.25s;
  transition: 0.25s;
  background: transparent !important;
  border: none !important;
  color: var(--colorFuente) !important;/*var(--colorBtn) !important;*/
  font-size: 15px !important;
}


button:hover, button:focus {
  border-color:  none !important;
  color: var(--colorBtn) !important;
}

button {
  background: none;
  border: 2px solid;
  font: inherit;
  line-height: 1;
  margin: 0.5em;
  padding: 1em 2em;
}

h1 {
  font-weight: 400;
}

code {
  color: #e4cb58;
  font: inherit;
}


  .page-link{
    height:25px !important;
    padding-top: 0px !important;
  }

  .fa-sort-alpha-down{
    margin-right: 6px;
  }

  .boton_Hubemar{
    font-size: 14px; 
    background: transparent !important; 
    border: none;
  }
  
.animation__shake {
  -webkit-animation: shake 1500ms;
  animation: shake 1500ms;
}

.animation__wobble {
  -webkit-animation: wobble 1500ms;
  animation: wobble 1500ms;
}


/* Clase personalizada */
.my-custom-style {
  font-size: 100%;
  font-weight: normal;
  list-style: none;
  overflow: hidden;
  padding: 3em;
}

.my-custom-style li a {
  text-decoration: none;
  color: #000;
  background: #85C1E9;
  display: block;
  height: 25em;
  width: 35em;
  padding: 1em;
  box-shadow: 5px 5px 7px rgba(33, 33, 33, 0.7);
  transition: transform 0.15s linear;
}

.my-custom-style li {
  margin: 1em;
  float: left;
}

.my-custom-style li h2 {
  font-size: 140%;
  font-weight: bold;
  padding-bottom: 10px;
}

.my-custom-style li p {
  font-family: "Reenie Beanie", arial, sans-serif;
  font-size: 90%;
}

.my-custom-style li a:hover,
.my-custom-style li a:focus {
  box-shadow: 10px 10px 7px rgba(0, 0, 0, 0.7);
  transform: scale(1.25);
  position: relative;
  z-index: 5;
}

/* Otras reglas de estilo aquí */

fondo {
  background-color: none !important;
}

sinFondo {
  background: none !important; 
  border: 0; 
  text-align: center;
}

.card-title {
  font-size: 14px !important;
  color: #ffffff;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  background: none !important;
  text-transform: uppercase;
}

.card-footer {
  font-size: 14px !important;
  color: var(--colorFuente) !important;
  background: var(--footer) !important;
  text-transform: uppercase;
}

.card-header {
    padding: 6px !important;
    color: #ffffff;
    background: linear-gradient(135deg, #2c3e50 0%, #1e3c72 50%, #2a5298 100%) !important;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    text-transform: uppercase;
}

.label{
  text-transform: uppercase;
}

.cabeza-tabla {
  background:var(--azulHubemar) !important;
  color: var(--colorFuente) !important;
  text-align: center;
  text-transform: uppercase;
}

divbutton {
  margin-top: 10px !important;
}

table {
  border-collapse: collapse;
  width: 100%;
  margin: 25px 0;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
  border-radius: 8px;
  overflow: hidden;
}

os-content {
  background: linear-gradient(135deg, #1a56db, #0e4ba5);
}
/* Estilo de los encabezados */
thead tr {
  background: linear-gradient(135deg, #1a56db, #0e4ba5);
  color: #ffffff;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  text-align: left;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* Estilo de las celdas del encabezado */
th {
  text-align: center;
  text-transform: uppercase;
  padding: 12px 15px;
  border-bottom: 3px solid #0e4ba5;
}

/* Estilo de las celdas de datos */
td {
  padding: 12px 15px;
  border-bottom: 1px solid #dddddd;
  margin: 0;
  word-wrap: break-word;
}


/* Estilo de las filas pares */
tbody tr:nth-of-type(even) {
  background: linear-gradient(to right, #f1f5fd, #e6effe);
}

/* Estilo de las filas impares */
tbody tr:nth-of-type(odd) {
  background: linear-gradient(to right, #ffffff, #f8faff);
}

/* Efecto hover en las filas */
tbody tr:hover {
  background: linear-gradient(to right, #dde9fd, #c3d8fc);
  transition: all 0.3s ease;
}

/* Última fila sin borde inferior */
tbody tr:last-of-type {
  border-bottom: 2px solid #1a56db;
}

/* Estilo opcional para la fila de total o resumen */
tfoot tr {
  background: linear-gradient(to right, #e6effe, #d0e1fc);
  font-weight: bold;
  border-top: 2px solid #1a56db;
  color: #2c5282;
}

/* Estilo responsivo para tablas en dispositivos móviles */
@media (max-width: 767px) {
  table {
    border-radius: 5px;
  }
  
  thead {
    display: none;
  }
  
  tbody tr {
    display: block;
    margin-bottom: 15px;
    border: 1px solid #dddddd;
    border-radius: 5px;
    overflow: hidden;
  }
  
  tbody td {
    display: block;
    text-align: right;
    padding: 10px 15px;
    position: relative;
    border-bottom: 1px solid #e0e0e0;
  }
  
  tbody td:before {
    content: attr(data-label);
    font-weight: bold;
    text-transform: uppercase;
    font-size: 0.85em;
    color: #1a56db;
    position: absolute;
    left: 15px;
  }
  
  tbody td:last-child {
    border-bottom: none;
  }
}



.bajoRelieve{
  border-collapse: collapse; 
  box-shadow: 2px 2px 5px #aaa;
}

.altoRelieve{
  box-shadow: inset 2px 2px 5px #aaa, inset -2px -2px 5px #fff;
}


textarea {
  color: black;
  margin: 0;
  outline: none;  
  line-height: 15px !important;
  
}

fieldset.scheduler-border {
  border: 1px groove #ddd !important;
  padding: 10px; /* Espaciado interno */
  margin: 0 0 1.5em 0 !important;
  -webkit-box-shadow: 0px 0px 0px 0px #000;
  box-shadow: 0px 0px 0px 0px #000;
  margin-top: 5px !important;
  margin-bottom: 20px; /* Espaciado inferior */
}

legend.scheduler-border {
  font-size: 1.2em !important;
  font-weight: bold !important;
  text-align: left !important;
  font-weight: bold; /* Texto en negrita */
  width: auto;
  padding: 0 10px;
  border-bottom: none;
  margin-top: -15px;
  background-color:var(--azulHubemar2);
  color: var(--colorFuente);
}

legend {
  width: auto;
  font-weight: bold; /* Texto en negrita */
  margin-left: 7px;
  background: var(--colorFuente);
  font-size: 1.2em; /* Tamaño de fuente */
  height: 20px;
  color: var(--colorFuente);
  background-color: var(--azulHubemar2); /* Color de fondo */
}

legend label {
  color: black;
  font-size: 12px !important;
  color: var(--colorFuente);
  background:var(--leyendSystem);
}

  fieldset legend {
    display: flex;
    align-items: center;     
    background: var(--leyendSystem);
    padding: 6px;
    font-weight: bold;
    font-size: 12px;
    vertical-align: top;
  }
  
.paginacion {
  margin:20px 0;
}

.paginacion ul {
  list-style:none;
  text-align: center;
}

.paginacion ul li {
  display:inline-block;
  margin-right:10px;
}

.blink{
  background-color:var(--azulHubemar);
  text-align: center;
  color: var(--colorBtn) !important;
  animation: blink 3s linear infinite;
}

.ColumnaNormal {
  background-color: var(--azulHubemar) !important;
  color: white; !important;
  text-align: Center;
  margin: 0;
}

@keyframes blink{
0%{opacity: 0;}
50%{opacity: .5;}
100%{opacity: 1;}
}

/* Animaciones  */
.caja{
  display: inline-block;
  text-align: center;
  padding: 20px 30px;
  font-family: Arial;
  margin: 10px;
  position: relative;
}

/*REBOTE*/
/*Efecto de botar un elemento*/
.rebote{
  animation: rebote 1s 2;
  -webkit-animation-iteration-count: infinite;
}

@keyframes rebote{
  20%, 50%, 70%{
    transform: translateY(0%);
  }
  40%{
    transform: translateY(-45px);
  }  
  60%{ 
    transform: translateY(-20px);
  }   
}


.loader {
  background: linear-gradient(to right,var(--azulHubemar2) 50%, transparent 50%);
  animation: spin 1s infinite linear;
}
.loader:before {
  display: block;
  content: '';
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90px;
  height: 90px;
  background: var(--colorSombra);
  border-radius: 50%;
}

.gelatine {
  animation: gelatine 0.5s infinite;
}
@keyframes gelatine {
  from, to { transform: scale(1, 1); }
  25% { transform: scale(0.9, 1.1); }
  50% { transform: scale(1.1, 0.9); }
  75% { transform: scale(0.95, 1.05); }
}

.spin {
  animation: spin 1s infinite linear;
}
@keyframes spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.elastic-spin {
  animation: elastic-spin 1s infinite ease;
}
@keyframes elastic-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(720deg); }
}

.pulse {
  animation: pulse 1s infinite ease-in-out alternate;
}
@keyframes pulse {
  from { transform: scale(0.8); }
  to { transform: scale(1.2); }
}

.flash {
  animation: flash 500ms ease infinite alternate;
}
@keyframes flash {
  from { opacity: 1; }  
  to { opacity: 0; }
}

.hithere {
  animation: hithere 1s ease infinite;
}
@keyframes hithere {
  30% { transform: scale(1.2); }
  40%, 60% { transform: rotate(-20deg) scale(1.2); }
  50% { transform: rotate(20deg) scale(1.2); }
  70% { transform: rotate(0deg) scale(1.2); }
  100% { transform: scale(1); }
}

.grow {
  animation: grow 2s ease infinite;
}
@keyframes grow {
  from { transform: scale(0); }
  to { transform: scale(1); }
}

.fade-in {
  animation: fade-in 2s linear infinite;
}
@keyframes fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

.fade-out {
  animation: fade-out 2s linear infinite;
}
@keyframes fade-out {
  from { opacity: 1; }
  to { opacity: 0; }
}

.bounce {
  animation: bounce 2s ease infinite;
}
@keyframes bounce {
    70% { transform:translateY(0%); }
    80% { transform:translateY(-15%); }
    90% { transform:translateY(0%); }
    95% { transform:translateY(-7%); }
    97% { transform:translateY(0%); }
    99% { transform:translateY(-3%); }
    100% { transform:translateY(0); }
}

.bounce2 {
  animation: bounce2 2s ease infinite;
}
@keyframes bounce2 {
  0%, 20%, 50%, 80%, 100% {transform: translateY(0);}
  40% {transform: translateY(-30px);}
  60% {transform: translateY(-15px);}
}

.shake {
  animation: shake 2s ease infinite;
}
@keyframes shake {
  0%, 100% {transform: translateX(0);}
  10%, 30%, 50%, 70%, 90% {transform: translateX(-3px);}
  20%, 40%, 60%, 80% {transform: translateX(10px);}
}

.flip {
  backface-visibility: visible !important;
  animation: flip 2s ease infinite;
}
@keyframes flip {
  0% {
    transform: perspective(400px) rotateY(0);
    animation-timing-function: ease-out;
  }
  40% {
    transform: perspective(400px) translateZ(150px) rotateY(170deg);
    animation-timing-function: ease-out;
  }
  50% {
    transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    animation-timing-function: ease-in;
  }
  80% {
    transform: perspective(400px) rotateY(360deg) scale(.95);
    animation-timing-function: ease-in;
  }
  100% {
    transform: perspective(400px) scale(1);
    animation-timing-function: ease-in;
  }
}

.swing {
  transform-origin: top center;
  animation: swing 2s ease infinite;
}
@keyframes swing {
  20% { transform: rotate(15deg); } 
  40% { transform: rotate(-10deg); }
  60% { transform: rotate(5deg); }  
  80% { transform: rotate(-5deg); } 
  100% { transform: rotate(0deg); }
}

.wobble {
  animation: wobble 2s ease infinite;
}
@keyframes wobble {
  0% { transform: translateX(0%); }
  15% { transform: translateX(-25%) rotate(-5deg); }
  30% { transform: translateX(20%) rotate(3deg); }
  45% { transform: translateX(-15%) rotate(-3deg); }
  60% { transform: translateX(10%) rotate(2deg); }
  75% { transform: translateX(-5%) rotate(-1deg); }
  100% { transform: translateX(0%); }
}

.fade-in-down {
  animation: fade-in-down 2s ease infinite;
}
@keyframes fade-in-down {
  0% {
    opacity: 0;
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.fade-in-left {
  animation: fade-in-left 2s ease infinite;
}
@keyframes fade-in-left {
  0% {
    opacity: 0;
    transform: translateX(-20px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

.fade-out-down {
  animation: fade-out-down 2s ease infinite;
}
@keyframes fade-out-down {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(20px);
  }
}

.fade-out-right {
  animation: fade-out-right 2s ease infinite;
}
@keyframes fade-out-right {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(20px);
  }
}

.bounce-in {
  animation: bounce-in 2s ease infinite;
}
@keyframes bounce-in {
  0% {
    opacity: 0;
    transform: scale(.3);
  }
  50% {
    opacity: 1;
    transform: scale(1.05);
  }
  70% { transform: scale(.9); }
  100% { transform: scale(1); }
}

.bounce-in-right {
  animation: bounce-in-right 2s ease infinite;
}
@keyframes bounce-in-right {
  0% {
    opacity: 0;
    transform: translateX(2000px);
  }
  60% {
    opacity: 1;
    transform: translateX(-30px);
  }
  80% { transform: translateX(10px); }
  100% { transform: translateX(0); }
}

.bounce-out {
  animation: bounce-out 2s ease infinite;
}
@keyframes bounce-out {
  0% { transform: scale(1); }
  25% { transform: scale(.95); }
  50% {
    opacity: 1;
    transform: scale(1.1);
  }
  100% {
    opacity: 0;
    transform: scale(.3);
  } 
}

.bounce-out-down {
  animation: bounce-out-down 2s ease infinite;
}
@keyframes bounce-out-down {
  0% { transform: translateY(0); }
  20% {
    opacity: 1;
    transform: translateY(-20px);
  }
  100% {
    opacity: 0;
    transform: translateY(20px);
  }
}

.rotate-in-down-left {
  animation: rotate-in-down-left 2s ease infinite;
}
@keyframes rotate-in-down-left {
  0% {
    transform-origin: left bottom;
    transform: rotate(-90deg);
    opacity: 0;
  }
  100% {
    transform-origin: left bottom;
    transform: rotate(0);
    opacity: 1;
  }
}

.rotate-in-up-left {
  animation: rotate-in-up-left 2s ease infinite;
}
@keyframes rotate-in-up-left {
  0% {
    transform-origin: left bottom;
    transform: rotate(90deg);
    opacity: 0;
  }
  100% {
    transform-origin: left bottom;
    transform: rotate(0);
    opacity: 1;
  }
}

.hinge {
  animation: hinge 2s ease infinite;
}
@keyframes hinge {
  0% { transform: rotate(0); transform-origin: top left; animation-timing-function: ease-in-out; }  
  20%, 60% { transform: rotate(80deg); transform-origin: top left; animation-timing-function: ease-in-out; }  
  40% { transform: rotate(60deg); transform-origin: top left; animation-timing-function: ease-in-out; } 
  80% { transform: rotate(60deg) translateY(0); opacity: 1; transform-origin: top left; animation-timing-function: ease-in-out; } 
  100% { transform: translateY(700px); opacity: 0; }
}

.roll-in {
  animation: roll-in 2s ease infinite;
}
@keyframes roll-in {
  0% {
    opacity: 0;
    transform: translateX(-100%) rotate(-120deg);
  }
  100% {
    opacity: 1;
    transform: translateX(0px) rotate(0deg);
  }
}

.roll-out {
  animation: roll-out 2s ease infinite;
}
@keyframes roll-out {
    0% {
    opacity: 1;
    transform: translateX(0px) rotate(0deg);
  }
  100% {
    opacity: 0;
    transform: translateX(100%) rotate(120deg);
  }
}


  .note-btn{
    color: white !important;
  }


/* Fin animaciones */
.col-sm-1{
  margin-top: -3px !important;
  
}
.col-sm-2{
  margin-top: -3px !important;
  
}
.col-sm-3{
  margin-top: -3px !important;
  
}
.col-sm-4{
  margin-top: -3px !important;
  
}
.col-sm-5{
  margin-top: -3px !important;
  
}
.col-sm-6{
  margin-top: -3px !important;
  
}
.col-sm-7{
  margin-top: -3px !important;
  
}
.col-sm-8{
  margin-top: -3px !important;
  
}
.col-sm-9{
  margin-top: -3px !important;
  
}
.col-sm-10{
  margin-top: -3px !important;
  
}
.col-sm-11{
  margin-top: -3px !important;
  
}
.col-sm-12{
  margin-top: -3px !important;
  
}
.onoffswitch {
  position: relative;
  width: 52px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}
.onoffswitch-checkbox {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.onoffswitch-label {
  display: block;
  overflow: hidden;
  cursor: pointer;
  height: 21px;
  padding: 0;
  line-height: 21px;
  border: 2px solid var(--colorFuente);
  border-radius: 21px;
  background-color: #f01818;
  transition: background-color 0.3s ease-in;
}
.onoffswitch-label:before {
  content: "";
  display: block;
  width: 21px;
  margin: 0px;
  background: var(--colorFuente)ff;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 29px;
  border: 2px solid var(--colorFuente);
  border-radius: 21px;
  transition: all 0.3s ease-in 0s;
}
.onoffswitch-checkbox:checked + .onoffswitch-label {
  background-color: #49e845;
}
.onoffswitch-checkbox:checked + .onoffswitch-label,
.onoffswitch-checkbox:checked + .onoffswitch-label:before {
  border-color: #49e845;
}
.onoffswitch-checkbox:checked + .onoffswitch-label:before {
  right: 0px;
}

#btnmaximizar {
  color: white !important;
  font-size: 14px;
  background: transparent !important;
  border: none;
}

.captura-datos {
  height: 20px !important;
  border: none !important;
}

.borde-inferior {
  border-bottom: 1px solid var(--colorFuente);
}


.menulateral {
  margin: 0px !important;
  padding-top: 0px !important;
  padding-left: 30px !important;
}

.titulo_boton {
  float: left;
  padding: 5px;
  background-color:var(--colorFuente);
  width: 400px;
  font-size: 16px;
  font-weight: bold;
}

.boton_mostrar {
  float: right;
  font-size: 12px;
  line-height: 20px;
  color: white !important;
}

fieldset {
  margin-top: 5px;
  padding-bottom: 10px;
  padding-left: 10px;
  padding-right: 10px;
  border: 1px solid var(--colorFuente);
  border-radius: 3px;
  border-color: var(--azulHubemar);
}


label {
  color: black;
  font-size: 10px !important;
  margin-top: 10px !important;
}




 .botonImagen {
  margin-top: 20px !important;
}



.superior {
  margin-top: -30px !important;
}

.main-sidebar,
.sidebar-dark-primary,
.elevation-4 {
  background:var(--azulHubemar);
  opacity: 1;
}

.form-control-sidebar {
  background:var(--azulHubemar2) !important;
}

.btn,
.btn-sidebar {
  background: transparent; !important;
  color: white !important;
}


.container {
  width: 600px;
  height: 400px;
  background: lightblue;
  margin: auto;
}

.item {
  background: var(--azulHubemar);
  color:var(--colorFuente);
  float: left;
  width: 23.5%;
  margin-right: 2%;
  margin-bottom: 2%;
}

h2 {
  text-align: center !important;
}

input {
  color: black;
  height: 30px !important;
  margin: 0;
  outline: none;
}

.input-group-prepend{
  height: 30px !important;
}


        select {
            font-size: 10px;
            font-family: inherit;
            height: auto;
            min-height: 34px;
            line-height: normal;
            padding: 8px 12px;
            border: 1px solid #ccc;
            border-radius: 4px;
            background-color: white;
            box-sizing: border-box;
            vertical-align: top;
            
            /* Elimina estilos por defecto que pueden causar problemas */
            margin: 0;
            outline: none;
        }

        select option {
            font-size: 10px !important;
            padding: 5px;
            vertical-align: top !important;            
        }

        input {
            font-size: 10px;
            font-family: inherit;
            height: auto;
            min-height: 34px;
            line-height: normal;
            padding: 8px 12px;
            border: 1px solid #ccc;
            border-radius: 4px;
            background-color: white;
            box-sizing: border-box;
            vertical-align: top;
            
            /* Elimina estilos por defecto que pueden causar problemas */
            margin: 0;
            outline: none;
        }

.form-control{
  FONT: 6px/8px Source Sans Pro,Arial,sans-serif;
}



input[type="file"] {
  color: black;
  height: 30px !important;
  margin: 0;
  outline: none;
}

input[type="checkbox"] {
  color: black;
  height: 30px !important;
  margin-left: 2px !important;
  outline: none;
}


.divborde {
  border: 1px solid var(--colorFuente);
  -moz-border-radius: 7px;
  -webkit-border-radius: 7px;
  padding: 10px;
  margin-right: 0.5%;
}

.divseparador {
  border: 1px solid var(--colorFuente);
  -moz-border-radius: 7px;
  -webkit-border-radius: 7px;
  padding: 10px;
  margin-right: 0.5%;
  margin-top: 0.5%;
  width: 90px !important;
}

.superior{
  margin-top: 5px !important;
}

.form-group {
  margin-bottom: -3px !important;
}

  .dt-button.buttons-print{
    background-color: grey !important;
    color: var(--colorFuente) !important;
  }

  .dt-button.buttons-pdf.buttons-html5{
    background-color: grey !important;
    color: var(--colorFuente) !important;
  }

  .dt-button.buttons-excel.buttons-html5{
    background-color: grey !important;
    color: var(--colorFuente) !important;
  }

  .dt-button.buttons-csv.buttons-html5{
    background-color: grey !important;
    color: var(--colorFuente) !important;
  }

  .dt-button.buttons-copy.buttons-html5{
    background-color: grey !important;
    color: var(--colorFuente) !important;
  }

.dsnew {
  height: 20px !important;
  margin-top: -8px;
  color: var(--colorSombra);
}

.dsnewtextarea {
  margin-top: -8px;
  color: var(--colorSombra);
  height: 20px !important;
  
}

.dsnewlabel {
  margin-top: -15px !important;
}



/* Estilos base para el botón de imagen */
.imagenBoton {
    /* Transición suave para todos los efectos */
    transition: all 0.3s ease-in-out;
    
    /* Eliminamos bordes por defecto */
    border: none;
    
    /* Cursor de puntero para indicar interactividad */
    cursor: pointer;
    
    /* Esquinas redondeadas */
    border-radius: 12px;
    height: 36px !important;
     margin-left: 5px !important; 
   
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);  /* Sombra sutil para dar profundidad */
    
    /* Escala inicial */
    transform: scale(1);
    
    /* Efecto de brillo */
    filter: brightness(1);
}

/* Efectos al pasar el mouse */
.imagenBoton:hover {
    /* Efecto de escala ligeramente aumentada */
    transform: scale(1.05);
    
    /* Ligero aumento de brillo */
    filter: brightness(1.1);
    
    /* Sombra más pronunciada */
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2);
}

/* Efecto de presión al hacer clic */
.imagenBoton:active {
    transform: scale(0.95);
    filter: brightness(0.9);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}    




/* Estilos base para el botón de imagen */
.imagenBarra {
    /* Transición suave para todos los efectos */
    transition: all 0.3s ease-in-out;
    
    /* Eliminamos bordes por defecto */
    border: none;
    
    /* Cursor de puntero para indicar interactividad */
    cursor: pointer;
    
    /* Esquinas redondeadas */
    border-radius: 12px;
    height: 36px !important;
     margin-left: 5px !important; 
   
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);  /* Sombra sutil para dar profundidad */
    
    /* Escala inicial */
    transform: scale(1);
    
    /* Efecto de brillo */
    filter: brightness(1);
}

/* Efectos al pasar el mouse */
.imagenBarra:hover {
    /* Efecto de escala ligeramente aumentada */
    transform: scale(1.05);
    
    /* Ligero aumento de brillo */
    filter: brightness(1.1);
    
    /* Sombra más pronunciada */
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2);
}

/* Efecto de presión al hacer clic */
.imagenBarra:active {
    transform: scale(0.95);
    filter: brightness(0.9);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}   


/* Diseño para Tooltips */
/* Estilos mejorados para tooltips nativos */
[title] {
    position: relative;
    
    /* Cursor personalizado */
    cursor: help; /* Cambia el cursor a un signo de ayuda */
}

/* Personalización del cursor para diferentes elementos */
img[title],
[title]:hover {
    cursor: pointer; /* Cambia a un cursor de mano */
}

/* Estilos adicionales de tooltip (previos) */
[title]:hover::after {
    content: attr(title);
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    
    /* Estilo visual */
    background-color: rgba(0, 0, 0, 0.85);
    color: white;
    padding: 5px 10px;
    border-radius: 6px;
    font-size: 14px;
    
    /* Efectos */
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s, visibility 0.3s;
    z-index: 1;
    
    /* Sombra */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
    
    /* Animación de entrada */
    pointer-events: none;
}

[title]:hover::before {
    content: '';
    position: absolute;
    bottom: calc(100% - 5px);
    left: 50%;
    transform: translateX(-50%);
    
    /* Triángulo decorativo */
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid rgba(0, 0, 0, 0.85);
    
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s, visibility 0.3s;
    z-index: 1;
}

[title]:hover::after,
[title]:hover::before {
    opacity: 1;
    visibility: visible;
}

/* Más variaciones de cursor si lo deseas */
.custom-cursor {
    cursor: crosshair; /* Ejemplo de cursor de cruz */
}

.zoom-cursor {
    cursor: zoom-in; /* Cursor de zoom */
}
/* Fin Diseño para Tooltips */

.linea {
  margin: 0px 20px;
  width: 90px;
  border-top: 1px solid #999;
  position: relative;
  top: 10px;
  float: left;
}

.leyenda {
  font-weight: bold;
  float: left;
}

.htextarea{
  height: 140px !important;
}

   .img-container {
      text-align: center;
      margin: auto;
      display: flex;
      justify-content: center;
      align-items: center;
      height: 800px;      
    }

    .animation__shake {
        animation: shake 1s;
        animation-iteration-count: infinite;
    }

    @keyframes shake {
        0% { transform: translate(1px, 1px) rotate(0deg); }
        10% { transform: translate(-1px, -2px) rotate(-1deg); }
        20% { transform: translate(-3px, 0px) rotate(1deg); }
        30% { transform: translate(3px, 2px) rotate(0deg); }
        40% { transform: translate(1px, -1px) rotate(1deg); }
        50% { transform: translate(-1px, 2px) rotate(-1deg); }
        60% { transform: translate(-3px, 1px) rotate(0deg); }
        70% { transform: translate(3px, 1px) rotate(-1deg); }
        80% { transform: translate(-1px, -1px) rotate(1deg); }
        90% { transform: translate(1px, 2px) rotate(0deg); }
        100% { transform: translate(1px, -2px) rotate(-1deg); }
    }

    /* === ESTILOS NAVBAR AL BORDE IZQUIERDO === */
    
    /* Asegurar que el wrapper no tenga padding o margen que empuje el navbar */
    .wrapper {
      margin: 0 !important;
      padding: 0 !important;
      background: linear-gradient1(135deg, #1e3c72 0%, #2a5298 100%) !important;
    }

    /* Navbar principal pegado al borde izquierdo */
    .main-header{
      background: background: linear-gradient(135deg, #2c3e50 0%, #1e3c72 50%, #2a5298 100%);
    }    
    .main-header.navbar {
      background: linear-gradient(135deg, #2c3e50 0%, #1e3c72 50%, #2a5298 100%);
      color: white;
      padding: 8px 20px 8px 0 !important; /* Quitar padding izquierdo */
      box-shadow: 0 2px 8px rgba(0,0,0,0.15);
      height: 60px;
      display: flex;
      align-items: center;
      border-bottom: none;
      margin-left: 0 !important; /* Asegurar que no hay margen izquierdo */
      left: 0 !important; /* Posicionar desde el borde izquierdo */
      right: 0 !important; /* Extender hasta el borde derecho */
      width: 100% !important; /* Ancho completo */
      position: fixed !important; /* Fijar posición */
      top: 0 !important; /* Posición superior */
      z-index: 1030 !important; /* Mantener por encima de otros elementos */
    }
    
    /* Ajustar el contenido del navbar */
    .navbar-content {
      display: flex;
      justify-content: space-between;
      align-items: center;
      width: 100%;
      padding-left: 15px; /* Agregar padding interno para el contenido */
    }
    
    .navbar-left {
      display: flex;
      align-items: center;
      flex: 1;
    }
    
    /* Ajustar el botón de hamburguesa para que esté más cerca del borde */
    .hamburger-btn {
      color: white !important;
      font-size: 18px;
      margin-right: 20px;
      margin-left: 5px !important; /* Menos margen izquierdo */
      padding: 8px;
      border-radius: 4px;
      transition: background 0.3s ease;
      text-decoration: none;
    }
    
    .hamburger-btn:hover {
      background: rgba(255,255,255,0.1);
      color: white !important;
      text-decoration: none;
    }
    
    .brand-section {
      display: flex;
      align-items: center;
      margin-right: 30px;
    }
    
    .brand-section img {
      height: 35px;
      margin-right: 12px;
      border-radius: 4px;
    }
    
    .brand-title {
      font-size: 22px;
      font-weight: 700;
      color: white;
      margin: 0;
    }
    
    /* Usuario integrado en navbar */
    .user-section {
      display: flex;
      align-items: center;
      background: rgba(255,255,255,0.1);
      padding: 6px 12px;
      border-radius: 25px;
      margin-left: auto;
      margin-right: 20px;
      backdrop-filter: blur(10px);
    }
    
    .user-avatar-mini {
      width: 28px;
      height: 28px;
      border-radius: 50%;
      background: rgba(255,255,255,0.2);
      display: flex;
      align-items: center;
      justify-content: center;
      margin-right: 8px;
      font-size: 12px;
    }

    .user-name-mini {
      color: white;
      font-size: 13px;
      font-weight: 500;
      max-width: 200px;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    
    /* Navegación derecha */
    .navbar-nav {
      flex-direction: row !important;
      align-items: center;
    }
    
    .navbar-nav .nav-link {
      color: white !important;
      padding: 8px !important;
      border-radius: 4px;
      margin: 0 2px;
      transition: all 0.3s ease;
    }
    
    .navbar-nav .nav-link:hover {
      background: rgba(255,255,255,0.1);
      color: white !important;
    }
    
    .navbar-badge {
      background: #e74c3c !important;
      font-size: 10px;
      position: absolute;
      top: 9px;
      right: 7px;
      font-weight: 700;
    }
    
    /* Sidebar moderno ajustado */
    .main-sidebar {
      background: #2c3e50 !important;
      margin-top: 60px;
      width: 250px;
      transition: all 0.3s ease;
      position: fixed !important;
      left: 0 !important; /* Sidebar también al borde izquierdo */
      z-index: 1020; /* Por debajo del navbar */
    }
    
    .brand-link {
      display: none !important;
    }
    
    .sidebar {
      background: transparent;
      height: calc(100vh - 60px);
    }
    
    /* Menú ultra compacto y moderno */
    .nav-sidebar {
      padding: 15px 0;
    }
    
    .nav-sidebar .nav-item {
      margin-bottom: 0;
    }
    
    .nav-sidebar .nav-link {
      color: #ecf0f1 !important;
      padding: 12px 20px !important;
      font-size: 14px;
      border: none;
      border-radius: 0;
      transition: all 0.3s ease;
      position: relative;
      overflow: hidden;
    }
    
    .nav-sidebar .nav-link::before {
      content: '';
      position: absolute;
      left: 0;
      top: 0;
      height: 100%;
      width: 4px;
      background: #3498db;
      transform: scaleY(0);
      transition: transform 0.3s ease;
    }
    
    .nav-sidebar .nav-link:hover {
      background: #34495e !important;
      color: white !important;
      transform: translateX(5px);
    }
    
    .nav-sidebar .nav-link:hover::before {
      transform: scaleY(1);
    }
    
    .nav-sidebar .nav-link.active {
      background: #3498db !important;
      color: white !important;
    }
    
    .nav-sidebar .nav-link.active::before {
      transform: scaleY(1);
    }
    
    .nav-sidebar .nav-icon {
      margin-right: 12px;
      width: 18px;
      font-size: 16px;
      text-align: center;
    }
    
    /* Content wrapper ajustado */
    .content-wrapper {
      margin-top: 60px;
      margin-left: 250px !important; /* Dejar espacio para el sidebar */
      background: #f8f9fa;
      transition: margin-left 0.3s ease;
    }
    
    /* Para cuando el sidebar está colapsado */
    .sidebar-collapse .content-wrapper {
      margin-left: 0 !important;
    }

    .sidebar-collapse .main-sidebar {
      margin-left: -250px;
    }
    
    /* Enlaces adicionales en navbar */
    .additional-links {
      display: flex;
      align-items: center;
      margin-left: 20px;
    }
    
    .additional-links .nav-link {
      color: rgba(255,255,255,0.8) !important;
      font-size: 13px;
      padding: 6px 12px !important;
      border-radius: 15px;
      margin-right: 10px;
      transition: all 0.3s ease;
      text-decoration: none;
    }
    
    .additional-links .nav-link:hover {
      background: rgba(255,255,255,0.1);
      color: white !important;
      text-decoration: none;
    }

    /* Si usas AdminLTE, asegurar que estos estilos tengan prioridad */
    body.layout-fixed .main-header {
      left: 0 !important;
      right: 0 !important;
    }

    body.layout-fixed .content-wrapper {
      margin-left: 250px !important;
    }

    body.layout-fixed.sidebar-collapse .content-wrapper {
      margin-left: 0 !important;
    }
    
    /* Responsive */
    @media (max-width: 768px) {
      .navbar-content {
        padding-left: 10px; /* Menos padding en móviles */
      }
      
      .hamburger-btn {
        margin-left: 0 !important;
      }
      
      .user-section {
        display: none;
      }
      
      .additional-links {
        display: none;
      }
      
      .navbar-left {
        flex: none;
      }
      
      .brand-title {
        font-size: 18px;
      }
      
      .content-wrapper {
        margin-left: 0 !important; /* Sin margen en móviles */
      }
      
      .main-sidebar {
        margin-left: -250px; /* Ocultar sidebar por defecto en móviles */
      }
    }
    
    @media (max-width: 576px) {
      .brand-section img {
        height: 30px;
      }
      
      .brand-title {
        font-size: 16px;
      }
    }

    /* Estilos para la campana animada */
    .animated-bell {
        animation: bell-ring 1s ease-in-out infinite;
    }
    
    @keyframes bell-ring {
        0% { transform: rotate(0); }
        10% { transform: rotate(14deg); }
        20% { transform: rotate(-8deg); }
        30% { transform: rotate(14deg); }
        40% { transform: rotate(-4deg); }
        50% { transform: rotate(10deg); }
        60% { transform: rotate(0); }
        100% { transform: rotate(0); }
    }