/* Fuente global */
html,
body {
    font-family: 'Public Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif !important;
}

/* Estilos globales para botones de la aplicación */
.btn-primary,
.btn,
button[type="submit"],
input[type="submit"] {
    background-color: #48606B;
    border-color: #48606B;
    color: #ffffff;
    font-weight: 500;
}

.btn-primary:hover,
.btn:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
    background-color: #5a7885;
    border-color: #5a7885;
    color: #ffffff;
}

.btn-primary:focus,
.btn:focus,
button[type="submit"]:focus,
input[type="submit"]:focus {
    background-color: #48606B;
    border-color: #48606B;
    color: #ffffff;
    box-shadow: 0 0 0 0.2rem rgba(72, 96, 107, 0.5);
}

.btn-primary:active,
.btn:active,
button[type="submit"]:active,
input[type="submit"]:active {
    background-color: #3d5159;
    border-color: #3d5159;
    color: #ffffff;
}

.btn-primary:disabled,
.btn:disabled,
button[type="submit"]:disabled,
input[type="submit"]:disabled,
.btn-primary.disabled,
.btn.disabled {
    background-color: #bfc5ca;
    border-color: #bfc5ca;
    color: #6c757d;
    cursor: not-allowed;
    opacity: 1;
}

/* Estilos para botones outline */
.btn-outline-primary {
    color: #48606B;
    border-color: #48606B;
    background-color: transparent;
}

.btn-outline-primary:hover {
    background-color: #48606B;
    border-color: #48606B;
    color: #ffffff;
}

.btn-outline-primary:focus {
    box-shadow: 0 0 0 0.2rem rgba(72, 96, 107, 0.5);
}

.titulo-pagina {
    color: #48606B;
    font-weight: 600;
}

/* Estilos para cabeceras de tabla */
table thead {
    background-color: #f8f9fa; /* Gris clarito */
}

table thead th {
    font-size: 0.875rem; /* Texto más pequeño (14px) */
    font-weight: 600;
    text-transform: uppercase; /* Textos en mayúsculas */
    color: #495057;
    border-bottom: 2px solid #dee2e6;
    padding: 0.75rem;
}

/* Estilos para enlaces ordenables en la cabecera */
table thead th a {
    color: #48606B; /* Color diferente para enlaces ordenables */
    text-decoration: none; /* Sin subrayado */
    font-weight: 600;
}

table thead th a:hover {
    color: #5a7885; /* Color más oscuro en hover */
    text-decoration: none; /* Sin subrayado en hover */
}

table thead th a:focus {
    color: #48606B;
    text-decoration: none;
    outline: none;
}

/* Estilos para textos no ordenables en la cabecera (mantienen el estilo general) */
table thead th:not(:has(a)) {
    color: #495057;
}