/* QA997: Keep the Blast audience ledger inside the phone viewport while
 * preserving a real horizontal swipe surface for the full contact table. */
.blast-audience-swipe-hint {
  display: none;
}

@media (max-width: 820px) {
  #app .premium-app .blast-audience-selector,
  #app .premium-app .blast-audience-selector .customer-directory-filters,
  #app .premium-app .blast-audience-selector .customer-directory-body,
  #app .premium-app .blast-audience-selector .customer-directory-ledger {
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  #app .premium-app .blast-audience-selector {
    overflow-x: hidden !important;
    padding-bottom: calc(92px + env(safe-area-inset-bottom));
  }

  #app .premium-app .blast-audience-selector .customer-directory-body {
    display: block !important;
    overflow: visible !important;
  }

  #app .premium-app .blast-audience-selector .customer-directory-ledger {
    overflow: hidden !important;
  }

  #app .premium-app .blast-audience-selector .customer-directory-ledger > header {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  #app .premium-app .blast-audience-selector .customer-directory-ledger > header > div {
    min-width: 0;
  }

  #app .premium-app .blast-audience-selector .customer-directory-ledger > header > div:last-child {
    display: flex;
    flex-wrap: wrap;
  }

  #app .premium-app .blast-audience-selector .customer-saved-audiences,
  #app .premium-app .blast-audience-selector .customer-directory-bulk,
  #app .premium-app .blast-audience-selector .customer-directory-table-wrap,
  #app .premium-app .blast-audience-selector .blast-audience-progress {
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-inline: contain;
  }

  #app .premium-app .blast-audience-selector .customer-saved-audiences {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    touch-action: pan-x !important;
    padding-bottom: 12px;
  }

  #app .premium-app .blast-audience-selector .customer-saved-audiences > * {
    flex: 0 0 auto;
  }

  #app .premium-app .blast-audience-selector .customer-saved-audiences > .save-view {
    margin-left: 0;
  }

  #app .premium-app .blast-audience-selector .blast-audience-progress {
    max-width: 100%;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    touch-action: pan-x !important;
  }

  #app .premium-app .blast-audience-selector .blast-audience-swipe-hint {
    display: block;
    margin: 0 10px 7px;
    color: #9fb2c5;
    font-size: 10px;
    line-height: 1.35;
  }

  #app .premium-app .blast-audience-selector .customer-directory-bulk,
  #app .premium-app .blast-audience-selector .customer-directory-table-wrap {
    box-sizing: border-box;
    width: calc(100% - 20px) !important;
    min-width: 0 !important;
    max-width: calc(100% - 20px) !important;
  }

  #app .premium-app .blast-audience-selector .customer-directory-bulk {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    touch-action: pan-x !important;
    white-space: nowrap;
  }

  #app .premium-app .blast-audience-selector .customer-directory-bulk > * {
    flex: 0 0 auto;
  }

  #app .premium-app .blast-audience-selector .customer-directory-table-wrap {
    overflow-x: auto !important;
    overflow-y: auto !important;
    touch-action: pan-x pan-y !important;
  }

  #app .premium-app .blast-audience-selector .customer-directory-table-wrap table {
    width: 900px !important;
    min-width: 900px !important;
  }
}
