@media (max-width: 991.98px) {
    .app-sidebar { box-shadow:var(--cde-shadow-lg); transform:translateX(-105%); transition:transform 220ms ease; }
    body.sidebar-open .app-sidebar { transform:translateX(0); }
    body.sidebar-open::after { background:rgba(26,31,43,.42); content:""; inset:0; position:fixed; z-index:1030; }
    .app-main { margin-left:0; }
    .app-mobile-toggle { align-items:center; background:transparent; border:0; border-radius:8px; color:var(--cde-navy); display:inline-flex; height:40px; justify-content:center; width:40px; }
    .app-topbar { padding:0 1rem; }
    .app-context { margin-right:auto; padding-left:.4rem; }
    .app-global-search { flex:1 1 auto; margin:0 .75rem; min-width:120px; }
    .app-account-meta { display:none; }
    .app-content { padding:1rem 1rem 2.5rem; }
    .page-header { align-items:stretch; flex-direction:column; }
    .page-actions { justify-content:flex-start; }
    .entity-list .list-group-item > .d-flex { flex-direction:column; }
    .entity-list .text-end { text-align:left !important; }
    .entity-actions { justify-content:flex-start; }
}

@media (max-width: 575.98px) {
    body.cde-body { font-size:.9rem; }
    .app-context-path { display:none; }
    .app-context { display:none; }
    .app-global-search { margin:0 .5rem; }
    .app-global-search input { font-size:.8rem; }
    .app-sidebar { width:min(86vw, 280px); }
    .dashboard-hero { align-items:flex-start; flex-direction:column; }
    .card-body, .bg-white.border.rounded.p-4 { padding:1rem !important; }
    .btn { min-height:42px; }
    .table > thead > tr > th, .table > tbody > tr > td { padding:.7rem .6rem; }
    .stats-geographie-map { min-height:420px; }
    .page-actions .btn { flex:1 1 auto; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; }
}
