/* ========================================
   ADMIN LAYOUT - FIX SIDEBAR MÓVIL
   ======================================== */

/* FORZAR CURSOR POINTER EN TODO EL SIDEBAR */
.main-sidebar,
.main-sidebar *,
.sidebar,
.sidebar *,
.main-sidebar a,
.main-sidebar .nav-link,
.main-sidebar .brand-link,
.sidebar a,
.sidebar .nav-link,
.main-sidebar .nav-icon,
.main-sidebar p,
.sidebar .nav-icon,
.sidebar p,
.main-sidebar i,
.sidebar i {
    cursor: pointer !important;
    pointer-events: auto !important;
}

/* Override específico para AdminLTE */
.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link,
.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-treeview .nav-link,
.nav-sidebar .nav-item .nav-link,
.nav-sidebar .nav-item .nav-link *,
.nav-treeview .nav-item .nav-link,
.nav-treeview .nav-item .nav-link *,
.brand-link,
.brand-link * {
    cursor: pointer !important;
    pointer-events: auto !important;
}

/* Estados hover, focus, active */
.nav-sidebar .nav-link:hover,
.nav-sidebar .nav-link:focus,
.nav-sidebar .nav-link:active,
.nav-sidebar .nav-link.active {
    cursor: pointer !important;
    pointer-events: auto !important;
}

/* ===== RESPONSIVE MÓVIL ===== */
@media (max-width: 991.98px) {
    /* Navbar ocupa todo el ancho */
    .main-header.navbar {
        left: 0 !important;
        right: 0;
        position: fixed;
        top: 0;
        z-index: 1030;
        height: 57px;
    }
    
    /* Content sin margen izquierdo */
    .content-wrapper {
        margin-left: 0 !important;
        margin-top: 57px;
    }
    
    /* Sidebar oculto por defecto */
    .main-sidebar {
        transform: translateX(-100%);
        z-index: 1036;
        position: fixed !important;
        top: 0;
        left: 0;
        width: 250px;
        height: 100vh;
        transition: transform 0.3s ease-in-out;
    }
    
    /* Sidebar visible cuando está abierto */
    .sidebar-open .main-sidebar {
        transform: translateX(0) !important;
    }
    
    /* Overlay para cerrar sidebar */
    .sidebar-open .sidebar-overlay {
        display: block !important;
        opacity: 1 !important;
    }
    
    /* Asegurar clickeabilidad en móviles */
    .sidebar-open .main-sidebar,
    .sidebar-open .main-sidebar *,
    .sidebar-open .sidebar,
    .sidebar-open .sidebar * {
        pointer-events: auto !important;
        cursor: pointer !important;
    }
    
    /* Botón hamburguesa */
    #sidebar-toggle,
    .navbar-nav .nav-link[data-widget="pushmenu"] {
        cursor: pointer !important;
        pointer-events: auto !important;
        padding: 0.5rem 0.75rem;
        font-size: 1.1rem;
        color: #495057;
    }
    
    #sidebar-toggle:hover,
    .navbar-nav .nav-link[data-widget="pushmenu"]:hover {
        background-color: rgba(0, 0, 0, 0.1);
        border-radius: 4px;
    }
}

/* ===== OVERLAY MÓVIL ===== */
.sidebar-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1034;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

/* ===== DESKTOP ===== */
@media (min-width: 992px) {
    .main-header.navbar {
        left: 250px;
    }
    
    .content-wrapper {
        margin-left: 250px;
        margin-top: 57px;
    }
    
    .sidebar-collapse .main-header.navbar {
        left: 57px;
    }
    
    .sidebar-collapse .content-wrapper {
        margin-left: 57px;
    }
}

/* ===== PREVENIR INTERFERENCIAS ===== */
.main-sidebar::before,
.main-sidebar::after,
.sidebar::before,
.sidebar::after {
    pointer-events: none !important;
}

/* ===== TRANSICIONES ===== */
.main-sidebar,
.content-wrapper,
.main-header.navbar,
.sidebar-overlay {
    transition: all 0.3s ease-in-out;
}
