/**
 * Overrides globales de UI para todo el proyecto.
 * Mantener este archivo CHICO: sólo reglas que aplican a múltiples pantallas.
 * La plantilla (style.css) puede actualizarse sin perder tipografía ni ajustes de acá.
 */

/* =========================================================
 * Tipografía: Inter (proyecto). style.css conserva Nunito de plantilla.
 * ========================================================= */
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap");

body,
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6,
.dropdown-menu,
.dropdown .dropdown-menu {
    font-family: "Inter", sans-serif;
}

/* =========================================================
 * DataTables: control "Mostrar N por página" en una sola línea
 * Aplica tanto a la API vieja (.dataTables_length) como a la nueva (div.dt-length)
 * ========================================================= */
.dataTables_length,
div.dt-length {
    white-space: nowrap;
    min-width: 170px;
}
.dataTables_length label,
div.dt-length label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    margin-bottom: 0;
}
.dataTables_length select,
div.dt-length select {
    width: auto;
    min-width: 70px;
    display: inline-block;
}

/* =========================================================
 * Sidebar: Inter más ancha — ítems en submenu-open > ul > li
 * expand-menu pone span en inline-block y rompe flex/ellipsis sin override
 * ========================================================= */
.sidebar .sidebar-menu > ul > li.submenu-open ul li > a,
.settings-sidebar .sidebar-menu > ul > li.submenu-open ul li > a {
    padding-right: 36px !important;
}
.sidebar .sidebar-menu > ul > li.submenu-open ul li a > span:not(.menu-arrow),
.settings-sidebar .sidebar-menu > ul > li.submenu-open ul li a > span:not(.menu-arrow),
body.expand-menu .sidebar .sidebar-menu > ul > li.submenu-open ul li a > span:not(.menu-arrow),
body.mini-sidebar.expand-menu .sidebar .sidebar-menu > ul > li.submenu-open ul li a > span:not(.menu-arrow) {
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 14px !important;
    font-weight: 400 !important;
}

/* =========================================================
 * Scroll en notebook / touchpad: barra visible y scroll nativo
 * (slimScroll del menú lateral reemplazado por overflow nativo)
 * ========================================================= */
.sidebar .sidebar-inner.sidebar-scroll {
    overflow-y: auto !important;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    scrollbar-color: rgba(148, 156, 168, 0.55) transparent;
}
.sidebar .sidebar-inner.sidebar-scroll::-webkit-scrollbar {
    width: 6px;
}
.sidebar .sidebar-inner.sidebar-scroll::-webkit-scrollbar-track {
    background: transparent;
}
.sidebar .sidebar-inner.sidebar-scroll::-webkit-scrollbar-thumb {
    background: rgba(148, 156, 168, 0.45);
    border-radius: 4px;
    min-height: 40px;
}
.sidebar .sidebar-inner.sidebar-scroll:hover::-webkit-scrollbar-thumb {
    background: rgba(120, 128, 140, 0.65);
}

/* Select2 / combos largos: scroll visible en listas desplegables */
.select2-container--open .select2-results__options {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: rgba(148, 156, 168, 0.55) transparent;
}
.select2-container--open .select2-results__options::-webkit-scrollbar {
    width: 6px;
}
.select2-container--open .select2-results__options::-webkit-scrollbar-thumb {
    background: rgba(148, 156, 168, 0.45);
    border-radius: 4px;
}

/* Modales con mucho contenido */
.modal .modal-body {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    max-height: min(70vh, calc(100vh - 12rem));
}
