/* PROD-060 (2026-10-19): a table scrolls inside .table-responsive, and that box also cuts off
   anything that sticks out below it. The Actions menu of a row opens downward, so on a short
   table (few campaigns, few contacts) the menu fell below the box and only a sliver showed.
   PROD-003 fixed this for Events in the Events stylesheet (loaded on that page only); the rule
   is shared by every page now: while a row's menu is open, the box lets it show.

   RT-422 r6 (2026-10-26): opening up the box has a cost on a wide table that is scrolled
   sideways (Contributions, 27 columns): a box whose overflow is visible cannot hold a scroll
   offset, so its scrollLeft snaps to 0, the table spills into #content and the whole page
   scrolls sideways — the grid "bleeds off the page" and the menu opens off-screen. A menu that
   opens in Popper's fixed strategy (data-bs-popper-config on its toggle) escapes the box on its
   own and never needs it opened up, so the rule skips the box while such a menu is open. */
.table-responsive:has(.dropdown-menu.show):not(:has([data-bs-popper-config*="fixed"][aria-expanded="true"])) {
    overflow: visible;
}

/* PROD-060 (2026-10-19, seen live on dev): the Campaigns table clips at the CELL, not the box.
   .campaigns-table-fixed td { overflow: hidden } (10/2, so badges stop painting over the next
   column) cut the Actions menu to a sliver under the button. A cell whose menu is open shows it. */
.table td:has(.dropdown-menu.show),
.table th:has(.dropdown-menu.show) {
    overflow: visible;
}
