@media (max-width: 576px){
  .btn-group, .d-flex.gap-2, .d-flex.gap-3, .d-flex.flex-wrap { gap: .5rem !important; }
  .card { border-radius: .75rem; }
  .h1, .h2, .h3 { font-size: 1.25rem; }
  .table { font-size: .95rem; }
  .mobile-stack > * { width: 100% !important; }
  .mobile-hide-sm { display: none !important; }
  .table thead th.mobile-min, .table td.mobile-min { white-space: nowrap; }
}
.table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; }
.badge { font-weight: 500; }