/* Universal Mobile Optimization CSS */

/* Mobile optimizations */
@media (max-width: 768px) {
    .sidebar {
        transform: translateX(-100%) !important;
        width: 250px !important;
        position: fixed !important;
        z-index: 1001 !important;
        transition: transform 0.3s ease !important;
        left: 0 !important;
        top: 0 !important;
        height: 100vh !important;
        display: block !important;
        visibility: visible !important;
        overflow-y: auto !important;
        background: inherit !important;
    }
    
    .sidebar.mobile-open {
        transform: translateX(0) !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    
    .main-content {
        margin-left: 0 !important;
        padding: 1rem !important;
    }
    
    .mobile-header {
        display: flex !important;
        justify-content: space-between;
        align-items: center;
        padding: 1rem;
        color: white;
        position: sticky;
        top: 0;
        z-index: 999;
    }
    
    .stats-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 1rem !important;
    }
    
    .chart-container {
        padding: 1rem !important;
    }
    
    .recent-appointments,
    .recent-sessions,
    .recent-transactions,
    .recent-jobs,
    .recent-projects {
        padding: 1rem !important;
    }
    
    .appointment-item,
    .session-item,
    .transaction-item,
    .job-item,
    .project-item {
        padding: 0.75rem !important;
        margin-bottom: 0.5rem !important;
    }
    
    .quick-actions {
        grid-template-columns: 1fr !important;
        gap: 0.75rem !important;
    }
    
    .action-btn {
        padding: 0.75rem !important;
        font-size: 0.875rem !important;
    }
    
    .glass-card {
        margin: 0.5rem !important;
        padding: 1rem !important;
    }
    
    .module-card {
        margin-bottom: 1rem;
        padding: 1rem !important;
    }
    
    .module-card h3 {
        font-size: 1.25rem !important;
    }
    
    .module-card p {
        font-size: 0.875rem !important;
    }
}

@media (max-width: 640px) {
    .stats-grid {
        grid-template-columns: 1fr !important;
    }
    
    .sidebar {
        width: 100%;
    }
    
    .stat-card {
        padding: 1rem !important;
    }
    
    .stat-card h3 {
        font-size: 1.25rem !important;
    }
    
    .stat-card p {
        font-size: 0.75rem !important;
    }
    
    .modules-grid {
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
    }
    
    .cta-buttons {
        flex-direction: column !important;
        gap: 1rem !important;
    }
    
    .cta-buttons button {
        width: 100% !important;
        padding: 1rem !important;
    }
    
    .btn-premium {
        padding: 0.75rem 1.5rem !important;
        font-size: 0.875rem !important;
    }
    
    h1 {
        font-size: 2.5rem !important;
        line-height: 1.2 !important;
    }
    
    .hero-text {
        font-size: 1rem !important;
        padding: 0 1rem;
    }
}

.mobile-header {
    display: none;
}

@media (max-width: 768px) {
    .mobile-header {
        display: flex !important;
    }
}

.mobile-overlay {
    display: none !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(0, 0, 0, 0.5) !important;
    z-index: 1000 !important;
}

.mobile-overlay.active {
    display: block !important;
}

/* Force sidebar visibility on mobile when open */
@media (max-width: 768px) {
    .sidebar.mobile-open {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        transform: translateX(0) !important;
        left: 0 !important;
        top: 0 !important;
        width: 250px !important;
        height: 100vh !important;
        position: fixed !important;
        z-index: 9999 !important;
        background: inherit !important;
        overflow-y: auto !important;
    }
    
    /* Force all sidebar children to be visible */
    .sidebar.mobile-open * {
        visibility: visible !important;
        opacity: 1 !important;
    }
    
    /* Hide desktop sidebar on mobile */
    .sidebar:not(.mobile-open) {
        transform: translateX(-100%) !important;
    }
    
    /* Force mobile header visibility */
    .mobile-header {
        display: flex !important;
        position: sticky !important;
        top: 0 !important;
        z-index: 999 !important;
        width: 100% !important;
    }
}

/* Module-specific mobile headers */
.mobile-header.beauty {
    background: linear-gradient(135deg, #e91e63 0%, #ff6b9d 100%);
}

.mobile-header.fitness {
    background: linear-gradient(135deg, #ff5722 0%, #ff8a65 100%);
}

.mobile-header.retail {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.mobile-header.building {
    background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
}

.mobile-header.technical {
    background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);
}

.mobile-header.fleet {
    background: linear-gradient(135deg, #059669 0%, #047857 100%);
}

.mobile-header.freelancer {
    background: linear-gradient(135deg, #7c3aed 0%, #5b21b6 100%);
}
