/* Tablette et mobile */
@media (max-width: 900px) {
    .main-grid {
        flex-direction: column;
    }
    .sidebar {
        position: static;
        width: 100%;
        margin-bottom: 1.5rem;
    }
    .section {
        padding: 1.2rem;
    }
    h1 {
        font-size: 1.8rem;
    }
    h2 {
        font-size: 1.4rem;
    }
    .kpi-grid {
        grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
        gap: 1rem;
    }
    .kpi-number {
        font-size: 1.8rem;
    }
}

@media (max-width: 640px) {
    .app-container {
        padding: 1rem;
    }
    .hero {
        padding: 1.5rem;
    }
    .hero h1 {
        font-size: 1.5rem;
    }
    .kpi-card {
        padding: 0.8rem;
    }
    .gender-note {
        flex-direction: column;
    }
    .stats-grid {
        grid-template-columns: 1fr;
    }
    .data-table {
        font-size: 0.8rem;
    }
    .data-table th, .data-table td {
        padding: 0.5rem;
    }
}