.table th {
    white-space: nowrap;
}

.card {
    box-shadow: 0 1px 3px rgba(0,0,0,.1);
}

.navbar-brand {
    font-weight: 600;
}

.badge {
    font-size: 0.85rem;
}

.table td {
    vertical-align: middle;
}

.form-check-input:checked {
    background-color: #0d6efd;
    border-color: #0d6efd;
}

.nav-tabs .nav-link {
    color: var(--bs-secondary-color);
}

.nav-tabs .nav-link.active {
    font-weight: 600;
}

.navbar-dark .navbar-nav .nav-link:hover {
    background-color: rgba(255,255,255,0.12);
    border-radius: 4px;
}

.dropdown-menu {
    padding: var(--bs-dropdown-padding-x);
    border-radius: unset;
}

.dropdown-divider {
    margin: 0;
}

@media (max-width: 991.98px) {
    .nav-item {
        border-bottom: 1px solid var(--bs-navbar-color);
    }
    #configuracion .dropdown-menu li {
        border-bottom: 1px solid var(--sgpg-bg-menu) !important;  /*1px solid var(--bs-primary) !important;*/
        padding: 0.25rem 0;
    }
    #perfil .dropdown-menu li a, #perfil .dropdown-menu li form button {
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
    }
    #logo img {
        height: 30px !important;
    }
    .navbar-collapse {
        /*flex-grow: 1;
        flex-basis: 100%;
        align-items: center;*/
        margin-top: 2.5rem;
    }
}

.card-header {
    font-weight: 700;
    /*background-color: #bcd6f1; */
}

#modalConfirmarMensaje {
  white-space: pre-wrap;
}

.toast.fade { transition: opacity 0.5s linear !important; }

#logo {
    opacity: 1;
    transition: opacity 0.4s ease-in-out, filter 0.4s ease-in-out;
}

#logo.oculto {
    filter: blur(5px);
    opacity: 0;
    pointer-events: none; /* Evita que el logo reciba eventos mientras está desenfocado */
}
.dropdown-menu {
    border-color: var(--sgpg-bg-menu);
}

.dropdown-toggle::after {
  vertical-align: middle;
}

.dropdown-item.active {
    background-color: var(--sgpg-bg-menu);
}

.sgpg-bg-menu {
    background-color: var(--sgpg-bg-menu);
}

/* B1 CSP: clases para evitar style="" inline bloqueado por CSP */
.fixed-bottom-z { z-index: -1; }
.brand-pl-65 { padding-left: 65px; }
.logo-abs { position: absolute; top: 0; left: 0; height: 75px; z-index: 1; }
#logo-centro { max-height: 40px; max-width: 250px; object-fit: contain; margin-right: 5px; }
.navbar-brand { flex-shrink: 0; /*overflow: hidden; */ }
.logo-fixed-unset { left: unset; }
.logo-h100 { height: 100px; }
.card-body-scroll { max-height: 200px; overflow-y: auto; }

@media (max-width: 480px) {
    #logo-centro { max-width: 130px; }
}