/* Configuración de iconos Material Symbols */
.material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
    vertical-align: middle;
}

/* Ocultar scrollbar pero permitir scroll */
.scrollbar-hide::-webkit-scrollbar {
    display: none;
}
.scrollbar-hide {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Transiciones globales para interacción fluida */
button, a, tr {
    transition: all 0.15s ease-in-out;
}

/* ============================================================
   RESPONSIVE DRAWER & MOBILE/TABLET OPTIMIZATIONS (iPad & Celulares)
   ============================================================ */

/* Transición suave para el Sidebar */
aside, #main-sidebar {
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s ease-in-out;
    will-change: transform;
}

/* Comportamiento en pantallas menores a 1024px (iPad vertical, tablets y smartphones) */
@media (max-width: 1023px) {
    aside, #main-sidebar {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        height: 100vh !important;
        z-index: 50 !important;
        transform: translateX(-100%);
    }

    /* Clase activada por JavaScript al presionar el menú hamburguesa */
    aside.sidebar-open, #main-sidebar.sidebar-open {
        transform: translateX(0) !important;
        box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.7);
    }
}

/* Contenedores de tablas con scroll táctil responsivo */
.responsive-table-wrapper,
.table-responsive {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* Evitar zoom automático indeseado en inputs en dispositivos iOS */
@media screen and (max-width: 768px) {
    input[type="text"],
    input[type="number"],
    input[type="password"],
    input[type="email"],
    select,
    textarea {
        font-size: 16px !important;
    }
}