/**
 * EFFATIX MANAGER - CSS RESPONSIVE COMPLET
 * Complète sidebar-styles.css pour adaptation mobile/tablette/desktop
 */

/* ============================================
   BURGER MENU & OVERLAY (MOBILE)
   ============================================ */
.sidebar-toggle {
    display: none;
    position: fixed;
    top: 1rem;
    left: 1rem;
    z-index: 1001;
    width: 44px;
    height: 44px;
    background: #2563EB;
    border: none;
    border-radius: 10px;
    color: white;
    font-size: 1.5rem;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
    touch-action: manipulation;
    transition: all 0.2s;
}

.sidebar-toggle:active {
    transform: scale(0.95);
}

.sidebar-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.5);
    z-index: 99;
    opacity: 0;
    transition: opacity 0.3s;
}

.sidebar-overlay.active {
    display: block;
    opacity: 1;
}

/* ============================================
   SIDEBAR RESPONSIVE
   ============================================ */
.sidebar {
    transition: transform 0.3s ease;
}

/* ============================================
   MOBILE (≤576px)
   ============================================ */
@media (max-width: 576px) {
    /* Sidebar cachée par défaut */
    .sidebar {
        transform: translateX(-100%);
    }
    
    .sidebar.open {
        transform: translateX(0);
    }
    
    /* Burger visible */
    .sidebar-toggle {
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    /* Empêcher scroll body quand sidebar ouverte */
    body.sidebar-open {
        overflow: hidden;
    }
}

/* ============================================
   MOBILE PAYSAGE (577-768px)
   ============================================ */
@media (min-width: 577px) and (max-width: 768px) {
    .sidebar {
        transform: translateX(-100%);
    }
    
    .sidebar.open {
        transform: translateX(0);
    }
    
    .sidebar-toggle {
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    body.sidebar-open {
        overflow: hidden;
    }
}

/* ============================================
   DESKTOP (≥769px)
   ============================================ */
@media (min-width: 769px) {
    .sidebar {
        transform: translateX(0);
    }
    
    .sidebar-toggle {
        display: none;
    }
}

/* ============================================
   ACCESSIBILITÉ
   ============================================ */
*:focus-visible {
    outline: 2px solid #2563EB;
    outline-offset: 2px;
}

/* Réduction mouvement */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
    }
}
