/* Targeted BO fixes v2.2.0 — intentionally excludes User/Admin Management geometry. */

/* Referral filter: preserve approved controls and force a true 10px sequence. */
.referral-page .referral-filter-card:not(.referral-reward-config) .referral-filter-grid{
  display:flex!important;flex-flow:row wrap!important;align-items:flex-end!important;justify-content:flex-start!important;gap:10px!important;
  grid-template-columns:none!important;
}
.referral-page .referral-filter-card:not(.referral-reward-config) .ref-date-field{flex:0 0 390px!important;width:390px!important;max-width:390px!important;margin:0!important}
.referral-page .referral-filter-card:not(.referral-reward-config) .referral-filter-grid>.field:nth-child(2){flex:0 0 190px!important;width:190px!important;max-width:190px!important;margin:0!important}
.referral-page .referral-filter-card:not(.referral-reward-config) .referral-filter-grid>.field:nth-child(3){flex:0 0 auto!important;width:auto!important;margin:0!important}
.referral-page .referral-filter-card:not(.referral-reward-config) .ref-filter-actions{display:flex!important;align-items:flex-end!important;gap:10px!important;width:auto!important;flex:0 0 auto!important;margin:0!important}
.referral-page .ref-input-icon{position:relative!important;width:100%!important}
.referral-page .ref-input-icon>i{left:13px!important;right:auto!important;top:50%!important;transform:translateY(-50%)!important;pointer-events:none!important;z-index:2!important}
.referral-page .ref-input-icon>input{padding-left:39px!important;padding-right:12px!important;width:100%!important;box-sizing:border-box!important}

/* Shared approved date-range width only on report pages that use the generated picker.
   Wallet Ledger uses the compact inline filter (240px) — do not force 390px there. */
.provider-bet-report-page .bo-range-field,
.provider-transaction-page .bo-range-field,
body.provider-session-page .bo-range-field,
.rebate-page .bo-range-field{flex:0 0 240px!important;width:240px!important;max-width:240px!important;min-width:220px!important}
.provider-bet-report-page .bo-range-trigger,
.provider-transaction-page .bo-range-trigger,
body.provider-session-page .bo-range-trigger,
.rebate-page .bo-range-trigger{width:100%!important;min-width:0!important;max-width:240px!important}
/* Manual Rebate Approval shows ONE date slot: bo-date-range.js collapses the From/To pair into a
   single 240px chip. Unbuilt, the pair was 220px + 220px + 10px gap against a 240px chip, so the
   row (Search / Status / Approve) shifted ~240px the moment the chip arrived - measured on the
   swap from rebate-management.html, 90-500ms after the content landed. So the raw pair is made to
   occupy exactly the chip's slot: From floats over it, and To is the spacer that holds the space
   in the flow (To, not From: the picker inserts its chip BEFORE the field wrapper it replaces, so
   only the SECOND field can occupy the space the chip will take). The picker then hides both
   wrappers with an inline display:none, which is why these rules must not set display with
   !important - that would beat the inline hide and leave the raw inputs on screen under the chip. */
.rebate-page .manual-rebate-filters{position:relative!important}
.rebate-page .manual-rebate-filters > .field:has(#manualFrom){position:absolute!important;left:0!important;top:0!important;width:240px!important;height:36px!important;min-width:0!important;max-width:240px!important;margin:0!important;padding:0!important}
.rebate-page .manual-rebate-filters > .field:has(#manualTo){width:240px!important;height:36px!important;min-width:0!important;max-width:240px!important;margin:0!important;padding:0!important;flex:0 0 240px!important}
.rebate-page .manual-rebate-filters > .field:has(#manualFrom) input,
.rebate-page .manual-rebate-filters > .field:has(#manualTo) input{width:100%!important;height:36px!important;margin:0!important;box-sizing:border-box!important}
.wallet-ledger-page .bo-range-field,
.wallet-ledger-page .filter-card .bo-range-field,
.wallet-ledger-page .bo-filter-range-item{
  flex:0 0 240px!important;
  width:240px!important;
  min-width:220px!important;
  max-width:240px!important;
}
.wallet-ledger-page .bo-range-trigger,
.wallet-ledger-page .filter-card .bo-range-trigger{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* Approval pages: exact 10px adjacency, without touching other pages. */
.deposit-approval-page .user-search-grid,
.withdraw-approval-page .user-search-grid{display:flex!important;flex-flow:row wrap!important;align-items:flex-end!important;justify-content:flex-start!important;gap:10px!important;grid-template-columns:none!important}
.deposit-approval-page .user-search-grid>.field,
.withdraw-approval-page .user-search-grid>.field{margin:0!important;flex:0 0 auto!important;width:auto!important}
.deposit-approval-page .user-search-grid>.field:first-child,
.withdraw-approval-page .user-search-grid>.field:first-child{width:190px!important;flex-basis:190px!important}
.deposit-approval-page .deposit-reset-field,.deposit-approval-page .deposit-search-field,
.withdraw-approval-page .withdraw-reset-field,.withdraw-approval-page .withdraw-search-field{width:120px!important;flex-basis:120px!important}

/* API Debug Tools: provider is the only select that fills its own column. */
.page-game-provider #walletForm .slider-two-col>.field:has(#walletProviderCode),
.page-game-provider #walletProviderCode{width:100%!important;max-width:100%!important}

/* VIP experience rules: compact, consistent 10px grid. */
.vip-management-page .vip-settings-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;align-items:end!important}
.vip-management-page .vip-settings-grid>label{margin:0!important;min-width:0!important}
.vip-management-page .vip-settings-grid input{width:100%!important}
.vip-management-page .vip-settings-grid select{width:max-content!important;min-width:64px!important;max-width:100%!important}

/* Mobile pagination only. Desktop pagination remains untouched. */
@media(max-width:767.98px){
  .report-main :is(.table-footer,.admin-table-footer,.table-pagination-wrap,.ref-pagination-row,.game-table-footer,.subcategory-table-footer,.bo-table-pagination,.standard-pagination){
    display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"entries pager" "info info"!important;
    align-items:center!important;gap:10px!important;width:100%!important;max-width:100%!important;min-width:0!important;overflow:visible!important;
  }
  .report-main :is(.entries-control,.table-length,.page-size-wrap,.ref-pagination-row>div:first-child){grid-area:entries!important;justify-self:start!important;min-width:0!important}
  .report-main :is(.pagination-clean,.smart-pagination,.ref-pager,.bo-pagination-buttons,[id*="Pager"],[id*="pager"]){grid-area:pager!important;justify-self:end!important;display:flex!important;gap:6px!important;max-width:100%!important;min-width:0!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important}
  .report-main :is(.pagination-clean,.smart-pagination,.ref-pager,.bo-pagination-buttons,[id*="Pager"],[id*="pager"])::-webkit-scrollbar{display:none!important}
  .report-main :is(.table-info,.table-pagination-info,.bo-pagination-info,[id*="Showing"],[id*="showing"],[id*="PageInfo"]){grid-area:info!important;justify-self:center!important;text-align:center!important;width:100%!important;min-width:0!important;white-space:normal!important}
  .referral-page .referral-filter-card:not(.referral-reward-config) .referral-filter-grid{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important}
  .referral-page .referral-filter-card:not(.referral-reward-config) .ref-date-field,
  .referral-page .referral-filter-card:not(.referral-reward-config) .referral-filter-grid>.field:nth-child(2),
  .referral-page .referral-filter-card:not(.referral-reward-config) .referral-filter-grid>.field:nth-child(3){width:100%!important;max-width:100%!important;flex:0 0 auto!important}
  .referral-page .referral-filter-card:not(.referral-reward-config) .ref-filter-actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important;gap:10px!important}
  .referral-page .referral-filter-card:not(.referral-reward-config) #refRewardConfigOpen{grid-column:1/-1!important;width:max-content!important;max-width:100%!important}
  .wallet-ledger-page .bo-range-field,.provider-bet-report-page .bo-range-field,.provider-transaction-page .bo-range-field,body.provider-session-page .bo-range-field,.rebate-page .bo-range-field,
  .wallet-ledger-page .bo-range-trigger,.provider-bet-report-page .bo-range-trigger,.provider-transaction-page .bo-range-trigger,body.provider-session-page .bo-range-trigger,.rebate-page .bo-range-trigger{width:100%!important;max-width:100%!important;flex-basis:100%!important}
  .vip-management-page .vip-settings-grid{grid-template-columns:1fr!important;gap:10px!important}
}
@media(min-width:768px) and (max-width:1199.98px){.vip-management-page .vip-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* Targeted follow-up v2.2.1: only VIP Management, Manual Rebate Approval,
   Deposit Approval and Withdrawal Approval. */

/* VIP Management only: every dropdown fills the width of its own grid cell. */
.vip-management-page .vip-settings-grid select{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* Manual Rebate Approval only: allow the standard date-range panel to render
   above the table without being clipped by the list card/filter wrappers. */
.rebate-page .standard-list-card,
.rebate-page .standard-card-head,
.rebate-page .standard-filter-grid,
.rebate-page .manual-rebate-filters{
  overflow:visible!important;
}
.rebate-page .manual-rebate-filters{
  position:relative!important;
  z-index:30!important;
}
.rebate-page .bo-range-field,
.rebate-page .bo-range-wrap,
.rebate-page .bo-date-range,
.rebate-page .date-range-wrap{
  position:relative!important;
  overflow:visible!important;
  z-index:40!important;
}
.rebate-page .bo-range-popover,
.rebate-page .bo-range-panel,
.rebate-page .date-range-popover,
.rebate-page .date-range-panel{
  z-index:5000!important;
  max-width:calc(100vw - 32px)!important;
}
.rebate-page .standard-table-wrap,
.rebate-page .manual-select-bar{
  position:relative!important;
  z-index:1!important;
}

/* Deposit / Withdrawal Approval only: exact 10px between Page Size, Reset and Search. */
.deposit-approval-page .user-search-grid,
.withdraw-approval-page .user-search-grid{
  column-gap:10px!important;
  row-gap:10px!important;
}
.deposit-approval-page .user-search-grid>.field,
.withdraw-approval-page .user-search-grid>.field{
  margin:0!important;
  padding:0!important;
}
.deposit-approval-page .deposit-reset-field,
.deposit-approval-page .deposit-search-field,
.withdraw-approval-page .withdraw-reset-field,
.withdraw-approval-page .withdraw-search-field{
  margin-left:0!important;
  margin-right:0!important;
}
.deposit-approval-page .deposit-reset-field>label,
.deposit-approval-page .deposit-search-field>label,
.withdraw-approval-page .withdraw-reset-field>label,
.withdraw-approval-page .withdraw-search-field>label{
  display:block!important;
  width:100%!important;
  margin:0 0 7px!important;
  padding:0!important;
  line-height:1!important;
  visibility:hidden!important;
}
.deposit-approval-page .deposit-reset-field button,
.deposit-approval-page .deposit-search-field button,
.withdraw-approval-page .withdraw-reset-field button,
.withdraw-approval-page .withdraw-search-field button{
  margin:0!important;
}

@media(max-width:767.98px){
  .deposit-approval-page .user-search-grid,
  .withdraw-approval-page .user-search-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:10px!important;
    align-items:end!important;
  }
  .deposit-approval-page .user-search-grid>.field,
  .withdraw-approval-page .user-search-grid>.field{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    flex:none!important;
  }
  .deposit-approval-page .user-search-grid>.field:first-child,
  .withdraw-approval-page .user-search-grid>.field:first-child{
    grid-column:1/-1!important;
    width:100%!important;
  }
  .deposit-approval-page .user-search-grid select,
  .deposit-approval-page .user-search-grid input,
  .withdraw-approval-page .user-search-grid select,
  .withdraw-approval-page .user-search-grid input{
    width:100%!important;
    max-width:100%!important;
  }
  .deposit-approval-page .deposit-reset-field,
  .withdraw-approval-page .withdraw-reset-field{grid-column:1!important}
  .deposit-approval-page .deposit-search-field,
  .withdraw-approval-page .withdraw-search-field{grid-column:2!important}
  .deposit-approval-page .deposit-reset-field button,
  .deposit-approval-page .deposit-search-field button,
  .withdraw-approval-page .withdraw-reset-field button,
  .withdraw-approval-page .withdraw-search-field button{
    width:100%!important;
    min-width:0!important;
  }
  .rebate-page .bo-range-popover,
  .rebate-page .bo-range-panel,
  .rebate-page .date-range-popover,
  .rebate-page .date-range-panel{
    left:0!important;
    right:auto!important;
    width:min(390px,calc(100vw - 32px))!important;
  }
}
.rebate-page .bo-range-pop{
  z-index:5000!important;
  overflow:hidden!important;
  width:min(520px,calc(100vw - 32px))!important;
  max-width:calc(100vw - 32px)!important;
}
@media(max-width:767.98px){
  .rebate-page .bo-range-pop{
    left:0!important;
    right:auto!important;
    width:min(390px,calc(100vw - 32px))!important;
  }
}

.link-button{border:0;background:transparent;color:#0d6efd;padding:0;text-decoration:underline;cursor:pointer}.modal-clean[hidden]{display:none!important}.modal-clean:not([hidden]){display:flex!important;position:fixed;inset:0;background:rgba(15,23,42,.45);align-items:center;justify-content:center;z-index:9999;padding:20px}.modal-open{overflow:hidden}

/* Member wallet totals: number itself opens the related detail page. */
.wallet-total-link{display:inline-block;font-weight:700;color:#1e3a5f;text-decoration:none;white-space:nowrap}
.wallet-total-link:hover,.wallet-total-link:focus{color:#0d6efd;text-decoration:underline}

/* Provider balance: same clickable-number language as Adjustment / Bonus links. */
.provider-wallet-total-link{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:inline-block!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  outline:none!important;
  color:#B45309!important;
  font:inherit!important;
  font-weight:700!important;
  line-height:inherit!important;
  white-space:nowrap!important;
  text-decoration:none!important;
  border-bottom:1px solid rgba(180,83,9,.4)!important;
  cursor:pointer!important;
  transform:none!important;
  transition:color .12s ease,border-color .12s ease!important;
}
.provider-wallet-total-link::after{content:none!important;display:none!important}
.provider-wallet-total-link:hover,
.provider-wallet-total-link:focus,
.provider-wallet-total-link:focus-visible{
  color:#D97706!important;
  border-bottom-color:#D97706!important;
  background:transparent!important;
  text-decoration:none!important;
  box-shadow:none!important;
  outline:none!important;
  transform:none!important;
}
.provider-wallet-total-link:active{
  color:#92400E!important;
  border-bottom-color:#92400E!important;
  background:transparent!important;
  box-shadow:none!important;
  outline:none!important;
  transform:none!important;
}
