
/********************************************************************************/
/*CONFIGURACION*/
.card-header.bg-primary.text-white {
    background: #5d5d3c !important;
}
/*FIN CONFIGURACION*/
/********************************************************************************/
/*******************************************************************************/
/*ANUNCIOS*/
/*SISTEMA TEMPORALMENTE CERRADO*/
.countdown-label {
    font-size: 25px !important;
}
.closure-card {
    background: #9f9f7d;
}
div#countdownBox {
    background: #603155;
}
.message-box {
    background: #c0c8c8;
    font-size: 20px;
    font-weight: 600;
}
.mb-2 {
    background: #36334e;
    font-size: 24px !important;
    border-radius: 20px;
}
.alert.alert-info.mb-4 {
    font-size: 19px;
    background: #dedede;
}
.icon-wrapper {
    background-image: linear-gradient(150deg, #414080 0%, #66628aeb 30%, #4f6f9e 70%, #565d9a 100%) !important;
}
button.btn.btn-custom.btn-primary {
    background-image: linear-gradient(150deg, #414080 0%, #66628aeb 30%, #4f6f9e 70%, #565d9a 100%) !important;
}
/*SISTEMA TEMPORALMENTE CERRADO*/











/*LIMITE SESIONES ALCANZADO - PANTALLA CUENTA ATRÁS*/
.limit-card {
    background: #a699c9 !important;
}
p.text-center.text-muted.mb-4 {
    background: #1e3e3e;
    border-radius: 20px;
    color: #fdfdfd !important;
}
.info-box {
    background: #c4c0cb;
}
div#countdownBox {
    background: #30294c;
}
.alert.alert-info.mb-4 {
    background: #daecdb69;
}
/*FIN LIMITE SESIONES ALCANZADO - PANTALLA CUENTA ATRÁS*/


/*LIMITE DE SESIONES ALCANZADO*/
.limit-card {
    background: #a6a681 !important;
}
/*FIN LIMITE DE SESIONES ALCANZADO*/






/**********************************************************************************/
/**********************************************************************************/

/*ACTUALIZAR ACCESOS*/
.swal2-popup.swal2-modal.swal2-icon-info.swal2-show {
    background: #b5cad7;
}
h2#swal2-title {
    color: #091515;
}
.swal2-icon.swal2-info.swal2-icon-show {
    color: #857fff;
    background: #94b7c3;
}
div#swal2-html-container {
    background: #a4b8f4;
    font-weight: 800;
}
button.swal2-confirm.swal2-styled {
    background: #483e60;
}
button.swal2-cancel.swal2-styled {
    background: #646441;
}
div:where(.swal2-icon).swal2-info {
    border-color: #5e5ba1 !important;
    color: #20343b !important;
}
.alert.alert-success.alert-dismissible.fade.show {
    font-weight: 700;
    font-size: 19px;
}
/*FIN ACTUALIZAR ACCESOS*/

/**********************************************************************************/
/**********************************************************************************/

/*ACCESO ADMIN*/
body.bg-light {
    background-image: linear-gradient(150deg, #414080 0%, #66628aeb 30%, #4f6f9e 70%, #565d9a 100%) !important;
}
label.form-label {
    color: beige;
    font-size: 20px;
}
.card-body {
    background: #3d5757 !important;
    border-radius: 50px;
}
.card.shadow {
    background: #87a6a6;
    border-radius: 50px;
}
button.btn.btn-primary.w-100 {
    background: #63630f;
}
/*INGRESAR*/
button.btn.btn-primary.w-100 {
    background: #a3a360;
    color: #040c25;
    font-size: 22px;
    font-weight: 700;
}
/*FIN INGRESAR*/
input#username {
    font-size: 21px;
    background: #8fb5a8;
}
input#password {
    background: #8fb5a8;
    font-weight: 800;
}
input#usuario {
    background: #8fb5a8;
    font-weight: 800;
}
/*FIN ACCESO ADMIN*/

/**********************************************************************************/
/**********************************************************************************/


/*BODY*********************************/

body {
    background: #5b6282;
}
/*FIN BODY******************************/


/**********************************************************************************/
/**********************************************************************************/


/*HEADER*/

nav.navbar.navbar-expand-lg.navbar-dark.bg-dark {
    /*background: #0b2a2a !important;*/
    background-image: linear-gradient(180deg, #51496e5e 0%, #1e3672bd 30%, #375b88d6 70%, #2d3e620f 100%) !important;
    font-size: 20px;
}
span.navbar-text.text-light.ms-3 {
    color: #c5dfea !important;
    font-size: 25px;
}
.admin-nav-clock {
    font-size: 0.95rem !important;
    opacity: 0.95;
}
.admin-nav-clock .bi-clock {
    font-size: 0.85em;
}

/* Nav: iconos en desktop, icono + texto en menú móvil colapsado */
@media (min-width: 992px) {
    .admin-nav-items .nav-link {
        padding-left: 0.45rem;
        padding-right: 0.45rem;
        white-space: nowrap;
    }

    .admin-nav-items .nav-link .bi {
        font-size: 1.2rem;
        line-height: 1;
        vertical-align: -0.1em;
    }

    .admin-nav-items .admin-nav-label {
        display: none;
    }
}

@media (max-width: 991.98px) {
    .admin-nav-items .nav-link {
        display: flex;
        align-items: center;
        gap: 0.6rem;
        padding-top: 0.55rem;
        padding-bottom: 0.55rem;
    }

    .admin-nav-items .nav-link .bi {
        font-size: 1.15rem;
        width: 1.35rem;
        text-align: center;
        flex-shrink: 0;
    }
}

/*FIN HEADER*/



/**********************************************************************************/
/**********************************************************************************/


/*GESTIÓN DE USUARIOS******************************/
/*TITULO*/
h2 {
    color: #020953;
}
/*FIN TITULO*/

/*FONDO*/
.container.mt-4 {
    background: #979780;
    border-radius: 20px;
    padding-bottom: 16px !important;
}
/*MARCO*/
.card {
    background: #3d5757;
}
/*FIN FONDO*/


/*ACCESOS - ACTUALIZAR - NUEVO*********/
button.btn.btn-secondary.me-2 {
    background: #545404;
}
button.btn.btn-primary {
    background: #6a2a55;
}
/*OCULTAR TOP PAGINAS*/
button#toggleTopPages {
    background: #4f3a57;
    color: beige;
}
button#toggleStickyCharts {
    background: #335c83;
    color: beige;
}
.d-flex.align-items-center.gap-2 {
    background: #c2c2d0;
    padding: 0 6px 0 6px;
    border-radius: 6px;
}
/*FIN ACCESOS - ACTUALIZAR - NUEVO****/
/*FIN GESTIÓN DE USUARIOS***************************/

/**********************************************************************************/
/**********************************************************************************/

/*EDITAR USUARIO*****************/
/*USUARIO - SOLO LETRAS*/
small.form-text.text-muted {
    background: #3f3c66;
    color: #ffffff !important;
    padding: 0 10px;
    border-radius: 14px;
    font-size: 14px;
}

#userFolderAccessSection code.user-folder-path,
#bulkFolderAccessSection code.user-folder-path {
    color: #ffffff !important;
    background: transparent;
}

/* Configurar acceso en lote: columna de secciones a aplicar */
.bulk-sections-toolbar .bulk-sections-toolbar-btn {
    color: #fff !important;
    font-weight: 600;
    border: 1px solid rgba(255, 255, 255, 0.65) !important;
    background: rgba(255, 255, 255, 0.12) !important;
}
.bulk-sections-toolbar .bulk-sections-toolbar-btn:hover {
    color: #fff !important;
    border-color: #fff !important;
    background: rgba(255, 255, 255, 0.28) !important;
}
.bulk-sections-toolbar .bulk-sections-toolbar-btn-alt {
    border-color: rgba(255, 255, 255, 0.45) !important;
    background: rgba(0, 0, 0, 0.2) !important;
}
.bulk-sections-toolbar .bulk-sections-toolbar-btn-alt:hover {
    background: rgba(0, 0, 0, 0.32) !important;
}
.bulk-access-sections {
    display: flex;
    flex-direction: column;
    gap: 0;
}
.bulk-access-section-row {
    display: grid;
    grid-template-columns: 11.5rem minmax(0, 1fr);
    gap: 0 12px;
    align-items: start;
    padding: 12px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.bulk-access-section-row:last-child {
    border-bottom: none;
}
.bulk-access-section-toggle {
    padding-top: 0.15rem;
}
.bulk-access-section-toggle .bulk-section-apply-label {
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1.35;
    color: #f8f9fa;
    cursor: pointer;
    user-select: none;
}
.bulk-access-section-toggle .form-check-input {
    margin-top: 0.2rem;
    flex-shrink: 0;
}
.bulk-access-section-body.is-section-disabled {
    opacity: 0.45;
    pointer-events: none;
}
.bulk-access-section-body.is-section-disabled .form-control,
.bulk-access-section-body.is-section-disabled .form-select {
    background-color: #e9ecef;
}

.user-restricted-routes-badge {
    font-size: 0.78rem;
    font-weight: 600;
    white-space: nowrap;
}

.user-restricted-routes-badge .bi {
    margin-right: 0.1rem;
}

#restrictedRoutesTable .btn-route-users-view {
    background: #f5f0e6 !important;
    color: #1e3e3e !important;
    border: 1px solid #1e3e3e !important;
}

#restrictedRoutesTable .btn-route-users-view:hover,
#restrictedRoutesTable .btn-route-users-view:focus {
    background: #e8dcc8 !important;
    color: #0b2a2a !important;
    border-color: #0b2a2a !important;
}

.tooltip-inner {
    max-width: 420px;
    text-align: left;
    white-space: pre-line;
}

/*FIN USUARIO - SOLO LETRAS*/

/*USUARIO VIGENCIA Y SESIONES*/
strong {
    font-size: 21px;
}
/*FIN USUARIO VIGENCIA Y SESIONES*/

/*BOTÓN VIGENCIA*/
input#tiene_vigencia {
    font-size: 20px;
}
/*FIN BOTÓN VIGENCIA*/

/*BOTÓN LÍMITE*/
input#tiene_limite {
    font-size: 20px;
}
/*FIN BOTÓN LÍMITE*/
/**********************************************************************************/
/**********************************************************************************/

/*TABLA*****************************************************/
div#chartsContainer {
    background: #0b2a2a !important;
}
/*FIJAR FILAS*/
th.sorting.dtfc-fixed-left.sorting_asc, th.sorting.dtfc-fixed-left {
    background: #989874 !important;
}
/*FIN FIJAR FILAS*/

/*COLUMNAS FIJAS*/
td.pin-column.dtfc-fixed-left {
    background: #d4d4d4 !important;
}
td.sorting_1.dtfc-fixed-left.column-highlighted {
    background: #bebad4 !important;
}
td.dtfc-fixed-left {
    background: #bebad4 !important;
        font-weight: 700;
}
/*FIN COLUMNAS FIJAS*/

/*COLUMNAS A SELECCIONAR*/
table.dataTable .odd td.column-highlighted{
    /*background-color: #a099c7 !important;*/
    font-weight: 700;
}
table.dataTable .even td.column-highlighted {
    background-color: #bebad4 !important;
    font-weight: 700;
}
/*FIN COLUMNAS A SELECCIONAR*/

/*FILAS FIJAS*/
#usersTable_wrapper .dataTables_scroll .dataTables_scrollBody #usersTable tbody tr.row-pinned, #usersTableContainer #usersTable tbody tr.row-pinned, #usersTable tbody tr.even.row-pinned {
    background-color: #94bec7 !important;
}
/*FIN FILAS FIJAS*/

/*TABLA FONDO*/
tbody, td, tfoot, th, thead, tr {
    background: #b3d3d3 !important;
}
/*FIN TABLA FONDO*/


/*TEXTO TABLA*/
td {
    font-size: 18px;
}
/*FIN TEXTO TABLA*/

/*MARCO*****/
.card-body {
    background: #d1d1e4;
}
.card-body.d-flex.flex-column {
    background: #a7c0b8 !important;
}
/*FIN MARCO*****/


/*TITULOS TABLA*/
thead tr th {
    background: #bebad4 !important;
    font-size: 19px;
}
/*FIN TITULOS TABLA*/
/*FIN TABLA***************************************************/



/**********************************************************************************/

/*SEARCH*/
input#usersTableSearch {
    background: beige;
    font-weight: 700;
    color: #334d78;
}
/*FIN SEARCH*/

/*SCROLL*/
.table-scroll-top {
    scrollbar-color: #979780 #5b6282;
    scrollbar-width: thin;
}
.dataTables_scrollBody {
    scrollbar-color: #979780 #5b6282;
    scrollbar-width: thin;
}
/*FIN SCROLL*/
/**********************************************************************************/


/*USUARIO EDIT************************************************/
/* VIGENCIA - TITULO CRON - ACTIVO INACTIVO*/
span.badge.bg-danger.text-white {
    background: #9c39429c !important;
    font-size: 15px;
    border: #19182d 3px solid;
    font-family: sans-serif;
    color: #03030b !important;
}
/* FIN VIGENCIA - TITULO CRON - ACTIVO INACTIVO*/


/* VIGENCIA - TITULO PERMANENTE*/
span.badge.bg-success {
    background: #2c7272a6 !important;
    font-size: 20px;
    border: #19182d 3px solid;
    color: #030308;
    font-family: monospace;
    font-weight: 500;
}
/*FIN VIGENCIA - TITULO PERMANENTE*/


/*LIMITE SESIONES - SIN LIMITE*/
span.badge.bg-secondary {
    background: #4c63bb !important;
    font-size: 17px;
}
/*FIN LIMITE SESIONES - SIN LIMITE*/


/*SESIONES*/
button.btn.btn-sm.btn-info {
    background: #4ebec785;
}
/*FIN SESIONES*/

/*PAGINAS*/
button.btn.btn-sm.btn-success {
    background: #307329;
}
/*FIN PAGINAS*/


/*LIMITE DE SESIONES - NÚMERO DE SESIONES*/
span.badge.bg-info {
    background: #5d54a3 !important;
    font-size: 17px;
}
/*FIN LIMITE DE SESIONES - NÚMERO DE SESIONES*/


/*ACCIONES - EDITAR*/
button.btn.btn-sm.btn-warning.me-2 {
    background: #d5ab2d8c;
    color: #000429;
    font-size: 17px;
    border: #19182d 3px solid;
    font-weight: 600;
}
/*FIN ACCIONES - EDITAR*/

/*ACCIONES - ELIMINAR*/
button.btn.btn-sm.btn-danger {
    background: #9c3942ab !important;
    font-size: 16px;
    border: #19182d 3px solid;
    color: #030713;
    font-weight: 600 !important;
}
/*FIN ACCIONES - ELIMINAR*/
/*FIN USUARIO EDIT************************************************/


/**********************************************************************************/
/**********************************************************************************/


/*EDITAR******************************************************/
h5.modal-title {
    background: azure;
    padding: 0 7px;
    border-radius: 10px;
}
label.form-label {
    color: #05040b;
}
.modal-content {
    background: #696930;
}
button#togglePassword {
    background: #5b3786;
    color: #cfe6e3;
    font-size: 22px;
}
/*ACCESO ADMIN - USUARIO CONTRASEÑA*/
label.form-label {
    background: #97b7b7;
    border-radius: 15px;
    padding: 0 6px;
}
/*FIN ACCESO ADMIN - USUARIO CONTRASEÑA*/
h5#modalTitle {
    background: #aebe89;
    border-radius: 15px;
    padding: 0 6px;
    font-weight: 700 !important;
}
button.btn.btn-secondary {
    background: #324b42;
}

/*DESCRIPCIÓN*/
textarea#descripcion {
    background: #ccffff80;
    font-weight: 700 !important;
    font-size: 22px;
}
h2#swal2-title {
    background: #82a7a7;
}
div#swal2-html-container {
    background: #9fb1b1 !important;
}
div#swal2-html-container p {
    background: #86a2a2 !important;
    font-size: 20px;
}
div#swal2-html-container div {
    background: #3b4b3c !important;
}
.swal2-popup.swal2-modal.swal2-show {
    background: #6b8c8c;
}
button.swal2-close {
    color: #46544f !important;
}
/*FIN DESCRIPCIÓN*/

/*EXPIRACIÓN SESIONES*/
span.badge.bg-warning.text-dark {
    background: #b2cec1 !important;
}
.form-check-input:checked {
    background-color: #6696e2 !important;
    border-color: #6696e2 !important;
}
/*FIN EXPIRACIÓN SESIONES*/
/*FIN EDITAR****************************************************/

/**********************************************************************************/
/**********************************************************************************/


/*ESTADISTICA*/
.d-flex.justify-content-between.align-items-center.mb-3 {
    background: #d6dbe5;
    padding: 0 7px;
    border-radius: 10px;
}
canvas#monthlyPageChart {
    background: beige;
}
canvas#visitsChart {
    background: #e9e1ed7a;
    border-radius: 20px;
}
canvas#topPagesChart {
    background: #e9e1ed7a;
    border-radius: 20px;
}
canvas#yearlyPageChart {
    background: beige;
}
/*BOTONES DE ACCESO*/
.nav-pills .nav-link.active, .nav-pills .show>.nav-link {
    color: var(--bs-nav-pills-link-active-color);
    background-color: #2e5a98;
    border: #19182d 3px solid;
}
.d-flex.justify-content-between.align-items-center.mb-4 {
    background: #e3ecf1;
    padding: 0 6px;
    border-radius: 10px;
}
/*FIN BOTONES DE ACCESO*/

ul#chartTabs {
    background: #4a4a2f;
}
h6.mb-0 {
    background: #bcd0f1;
    padding: 0 10px;
    border-radius: 10px;
    font-weight: 700 !important;
}
button#monthly-tab {
    color: #cfc9ff;
}
button#yearly-tab {
    color: #cfc9ff;
}
canvas#visitsYearlyChart {
    background: #b5d2e6;
    border-radius: 20px;
}
.d-flex.align-items-center.justify-content-center {
    background: #b5d2e6;
    border-radius: 20px;
}
th.sorting.sorting_asc.column-highlighted, th.sorting.sorting_desc.column-highlighted {
    background: #8aacc7 !important;
}
.col-sm-12 table.dataTable td.column-highlighted, table.dataTable th.column-highlighted {
    background-color: #a0a2c5 !important;
}
button#toggleAllSeriesMonthly {
    background: #e6e6e6;
    color: #334d78;
    font-weight: 700;
    font-size: 14px !important;
}
button#toggleAllSeriesYearly {
    background: #e6e6e6;
    color: #334d78;
    font-weight: 700;
    font-size: 14px !important;
}
/*FIN ESTADISTICA*/

/*CONTADORES*/
span.badge.bg-success.me-1 {
    font-size: 16px !important;
}
span#totalTimeDisplay {
    background: #d0d0d085 !important;
    color: #334d78;
    font-weight: 700;
    font-size: 16px !important;
}
button#users-tab {
    font-weight: 900;
    border: #19182d 3px solid;
}
span#headerPeriodBadge {
    font-size: 18px !important;
}
/*FIN CONTADORES*/

/**********************************************************************************/
/**********************************************************************************/


/*PAY*/
.btn:first-child:active {
    background: #728f85 !important;
}
.btn:hover{
    background: #728f85 !important;
}
button.btn.btn-sm.btn-outline-primary {
    background: #3d5757 !important;
    color: #b5d2e6 !important;
}
/*FIN PAY*/

/***********************************************************************/
/*MI VIGENCIA ANUNCIO*/
.validity-widget-body {
    background: #a3a371 !important;
}
.validity-info-label {
    font-size: 17px;
    font-weight: 700 !important;
}
.validity-info-item {
    margin-bottom: 10px;
    font-size: 13px;
    background: #d9d9c5 !important;
    border-radius: 7px;
}
.validity-progress-text {
    font-size: 14px;
    color: #060c11;
    margin-top: 4px;
    text-align: right;
    font-weight: 700;
}
.validity-status.active {
    color: #15273b;
    background: #dce0ff;
}
.validity-widget-header {
    background: linear-gradient(135deg, #404b7d 0%, #613e84 100%);
    color: white;
    padding: 10px 15px;
    border-radius: 10px 10px 0 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
}
/*FIN MI VIGENCIA ANUNCIO*/
/***********************************************************************/
/***********************************************************************/

/*CONFIGURACIÓN DEL SISTEMA***********************/
.card-header.bg-info.text-white {
    background: #3f3f18 !important;
}
button.btn.btn-info.text-white {
    background: #6a2a55;
}
.card-header.bg-success.text-white {
    background: #3f3f18 !important;
}
button.btn.btn-success.mb-3 {
    background: #1c4262;
    color: white;
}
textarea#request_form_description {
    background: #96a18f;
    font-weight: 700 !important;
}
/*FIN CONFIGURACIÓN DEL SISTEMA*****************/





/*REGISTRO FORMULARIO***************************/
.register-card {
    background: #d7d3df !important;
}
.form-description {
    font-weight: 700;
    font-size: 16px;
    background: #acc3c3;
}
input#username, input#password, input#first_name, input#last_name, input#birth_date, input.form-control {
    background: #9f9f89;
    font-weight: 700 !important;
}
span.badge.bg-danger {
    background: #833560 !important;
}
.options-container {
    background: #bdb9cf;
}
label.form-label {
    background: #1d3c5d;
    color: #eeeeee;
    font-size: 16px;
    font-weight: 600;
    border-radius: 20px;
    padding: 0 16px;
}
input.form-control {
    background: #bdb9cf !important;
}
select.form-select {
    background: #bdb9cf !important;
    font-weight: 800;
}
textarea.form-control {
    background: rgb(189, 185, 207) !important;
    font-size: 18px;
    font-weight: 600;
}
h5.section-title {
    color: #1d3c5d;
    background: #bdb9cf;
    font-weight: 700 !important;
    border-radius: 20px;
    padding: 0 16px;
}
body {
    background-image: linear-gradient(59deg, #0b617f6b 0%, #2989928c 30%, #7a94c5fc 70%, #88c4c1b8 100%) !important;
}
button#submitBtn {
    background-image: linear-gradient(353deg, #193c48 0%, #145358d1 30%, #355186fc 70%, #88c4c1b8 100%) !important;
}
/*ASTERISCOS*/
.col-md-6 .form-label span {
    font-size: 19px;
    color: #f370bd;
}
.mb-3 .form-label span {
    font-size: 19px;
    color: #f370bd;
}
/*FIN ASTERISCOS*/
.options-container {
    padding: 6px 6px;
    border-radius: 10px;
}
p.text-center.text-muted.mb-4 {
    color: #dbdef2 !important;
    font-size: 17px;
}
/*FIN REGISTRO FORMULARIO*************************/


/*DETALLES DE SOLICITUD*************************/
button.btn.btn-danger {
    background: #6e1a24;
    font-size: 20px;
}
button.btn.btn-warning {
    background: #a3a32b;
    font-weight: 600 !important;
    font-size: 20px;
}
/*FIN DETALLES DE SOLICITUD*************************/


/***********************************************************************/
/* ADMIN — RESPONSIVE / MOBILE                                           */
/***********************************************************************/

.admin-nav-site-title {
    font-size: 1rem;
    max-width: min(420px, 40vw);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 991.98px) {
    nav.navbar.navbar-expand-lg.navbar-dark.bg-dark {
        font-size: 1rem;
    }

    span.navbar-text.text-light.ms-3 {
        font-size: 1rem;
    }

    .container.mt-4,
    .container.mt-4.mb-5 {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
        border-radius: 12px;
    }

    h2 {
        font-size: 1.35rem;
    }

    .d-flex.justify-content-between.align-items-center.mb-4,
    .d-flex.justify-content-between.align-items-center.mb-3 {
        gap: 0.75rem;
    }

    #usersTableSearchContainer,
    #requestsTableSearchContainer {
        flex-direction: column;
        align-items: stretch !important;
    }

    #usersTableSearch,
    #requestsTableSearch {
        max-width: 100% !important;
        width: 100%;
        margin-left: 0 !important;
    }

    #bulkFreezeValidityGroup,
    #requestsBulkActions {
        width: 100%;
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    #usersActiveFilter {
        width: 100% !important;
        min-width: 0 !important;
    }

    .table-responsive,
    #usersTableContainer,
    .dataTables_wrapper .dataTables_scroll {
        -webkit-overflow-scrolling: touch;
    }

    td {
        font-size: 14px !important;
    }

    thead tr th {
        font-size: 14px !important;
        white-space: nowrap;
    }

    .btn-sm {
        padding: 0.2rem 0.45rem;
        font-size: 0.8rem;
    }

    .modal-dialog.modal-lg:not(.modal-fullscreen-sm-down),
    .modal-dialog.modal-xl:not(.modal-fullscreen-sm-down) {
        max-width: calc(100% - 1rem);
        margin: 0.5rem auto;
    }

    .bulk-access-section-row {
        grid-template-columns: 1fr;
        gap: 0.35rem 0;
    }

    #chartsContainer .card-body > .d-flex.justify-content-between.align-items-center.mb-3 {
        flex-direction: column;
        align-items: stretch !important;
        gap: 0.75rem;
    }

    #chartsContainer .d-flex.align-items-center.gap-3,
    #chartsContainer .d-flex.align-items-center.gap-2 {
        flex-wrap: wrap;
        width: 100%;
    }

    #chartsContainer #yearSelectorGlobal,
    #chartsContainer #monthSelectorGlobal {
        width: 100% !important;
        max-width: none;
    }

    #chartsContainer ul.nav.nav-pills {
        width: 100%;
        justify-content: center;
    }

    #chartsStickyWrapper.sticky-active {
        top: 0;
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }

    #chartsStickyWrapper.sticky-active.below-navbar {
        top: 56px;
    }

    .scroll-to-top-btn {
        bottom: 16px;
        right: 16px;
        width: 44px;
        height: 44px;
    }
}

@media (max-width: 767.98px) {
    .card-body {
        padding: 0.85rem;
    }

    .login-container .card.shadow {
        width: 100% !important;
        max-width: 400px;
        margin: 0 0.75rem;
    }

    .dataTables_scrollBody {
        max-height: 55vh !important;
    }

    .DTFC_LeftBodyLiner {
        max-height: 55vh !important;
    }

    #restrictedRoutesTable td:last-child,
    #questionsTable td:last-child {
        white-space: nowrap;
    }

    #restrictedRoutesTable .btn-sm,
    #questionsTable .btn-sm {
        margin-bottom: 0.15rem;
    }

    .d-flex.justify-content-between.align-items-center.mb-4.flex-wrap.gap-2 > .btn,
    .d-flex.justify-content-between.align-items-center.mb-4 > .btn {
        width: 100%;
    }
}

@media (max-width: 575.98px) {
    .navbar-brand {
        font-size: 1.1rem;
    }

    .admin-nav-clock {
        font-size: 0.85rem !important;
    }

    .nav-pills .nav-link {
        font-size: 0.85rem;
        padding: 0.35rem 0.6rem;
    }

    strong {
        font-size: 1rem;
    }

    label.form-label {
        font-size: 0.95rem;
    }

    /* Fullscreen en móvil: scroll interno con fondo completo (sin afectar desktop) */
    .modal-fullscreen-sm-down .modal-content {
        display: flex;
        flex-direction: column;
        height: 100%;
        max-height: 100%;
        overflow: hidden;
    }

    .modal-fullscreen-sm-down .modal-content > form {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
        min-height: 0;
        overflow: hidden;
    }

    .modal-fullscreen-sm-down .modal-body {
        flex: 1 1 auto;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    .modal-fullscreen-sm-down .modal-header,
    .modal-fullscreen-sm-down .modal-footer {
        flex-shrink: 0;
    }
}
