body { background:#f6f7fb; }
.list-shell { background:#fff; border-radius:14px; box-shadow:0 4px 20px rgba(0,0,0,.05); padding:16px; }
.list-toolbar { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:14px; flex-wrap:wrap; }
.fixed-table-wrap { max-height:64vh; overflow:auto; border:1px solid #e9ecef; border-radius:12px; }
.fixed-table-wrap table { min-width:1050px; margin-bottom:0; }
.fixed-table-wrap thead th { position:sticky; top:0; background:#fff; z-index:3; box-shadow:0 1px 0 #e9ecef; }
.fixed-table-wrap tfoot th { position:sticky; bottom:0; background:#fff; z-index:3; box-shadow:0 -1px 0 #e9ecef; }
.action-col { position:sticky; right:0; background:#fff !important; z-index:4; min-width:160px; box-shadow:-1px 0 0 #e9ecef; }
.table-footer-tools { padding-top:12px; }
.offcanvas-end { width:min(92vw, 460px); }
.wide-drawer { width:min(95vw, 860px); }
.code-area { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
@media (max-width: 768px) {
  .list-toolbar { display:block; }
  .list-toolbar > div:last-child { margin-top:12px; justify-content:flex-start !important; }
  .fixed-table-wrap { max-height:58vh; }
}

/* Updated demo refinements */
.offcanvas-end { width:min(95vw, 690px); }
.wide-drawer { width:min(98vw, 1290px); }
.select-col { width:44px; text-align:center; }
.fixed-table-wrap table { min-width:1280px; }
.bulk-action-form .bulk-selected-holder { display:none; }
.action-col .btn { min-width:32px; }
@media (max-width: 768px) {
  .offcanvas-end, .wide-drawer { width:96vw; }
}

/* Campaign report subscriber controls */
.recipient-filter-form input[type="search"] { width:220px; }
.recipient-filter-form select { width:auto; min-width:135px; }
.campaign-recipient-table { max-height:430px; overflow:auto; }
.campaign-recipient-table thead th { position:sticky; top:0; background:#fff; z-index:2; box-shadow:0 1px 0 #e9ecef; }
@media (max-width: 768px) {
  .recipient-filter-form { width:100%; }
  .recipient-filter-form input[type="search"], .recipient-filter-form select { width:100%; }
  .recipient-filter-form .btn { flex:1; }
}
