/*
 * BO shared UI standard v2.0.0
 * One authoritative file for filter inputs, dropdowns and filter actions.
 * Date-range component geometry is preserved from the approved Referral Network design.
 */
:root{
  --bo-ui-blue:#2864ed;
  --bo-ui-blue-hover:#174fce;
  --bo-ui-border:#cfd8e8;
  --bo-ui-text:#101828;
  --bo-ui-muted:#98a2b3;
  --bo-ui-danger:#ef3340;
  --bo-filter-height:42px;
  --bo-filter-input-width:190px;
  --bo-filter-gap:10px;
  --bo-filter-button-width:120px;
  --bo-filter-radius:11px;
}

/* ---------- Shared buttons ---------- */
.bo-ui-button{
  box-sizing:border-box!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  height:42px!important;
  min-height:42px!important;
  padding:0 10px!important;
  border-radius:11px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  flex:0 0 auto!important;
  white-space:nowrap!important;
  line-height:1!important;
  font-size:14px!important;
  font-weight:700!important;
  box-shadow:none!important;
}
.bo-ui-button-primary{background:var(--bo-ui-blue)!important;border-color:var(--bo-ui-blue)!important;color:#000000;}
.bo-ui-button-primary:hover{background:var(--bo-ui-blue-hover)!important;border-color:var(--bo-ui-blue-hover)!important;color:#fff!important}
.bo-ui-button-secondary{background:#fff!important;border-color:var(--bo-ui-border)!important;color:var(--bo-ui-text)!important}
.bo-ui-button-danger{background:#fff3f4!important;border-color:#ffc9cd!important;color:var(--bo-ui-danger)!important}
.bo-ui-button:disabled{opacity:.5!important;cursor:not-allowed!important}
.bo-ui-icon-button{
  box-sizing:border-box!important;
  width:40px!important;min-width:40px!important;max-width:40px!important;
  height:40px!important;min-height:40px!important;
  padding:0!important;border-radius:10px!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  flex:0 0 40px!important;line-height:1!important;
}

/* ---------- One global filter layout ---------- */
.report-main .bo-filter-row{
  box-sizing:border-box!important;
  display:flex!important;
  flex-flow:row wrap!important;
  align-items:flex-end!important;
  align-content:flex-start!important;
  justify-content:flex-start!important;
  gap:var(--bo-filter-gap)!important;
  grid-template-columns:none!important;
  grid-auto-columns:auto!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
}
.report-main .bo-filter-row>*{
  box-sizing:border-box!important;
  margin:0!important;
  padding-left:0!important;
  padding-right:0!important;
}
.report-main .bo-filter-row>.bo-filter-item{
  box-sizing:border-box!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  grid-column:auto!important;
  grid-row:auto!important;
  justify-self:auto!important;
  align-self:auto!important;
}
.report-main .bo-filter-row>.bo-filter-hidden-item{display:none!important}

/* First-paint fallback: the same geometry applies before JavaScript adds item
   classes, preventing the old long-then-short refresh flash. */
.report-main .bo-filter-row>:is(.field,label,div):has(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"])):not(:has(.bo-range-trigger,.ref-range-trigger)){
  width:var(--bo-filter-input-width)!important;
  min-width:110px!important;
  max-width:var(--bo-filter-input-width)!important;
  flex:0 0 var(--bo-filter-input-width)!important;
  margin:0!important;
}
.report-main .bo-filter-row>:is(.field,label,div):has(select):not(:has(.bo-range-trigger,.ref-range-trigger)){
  --bo-select-width:80px;
  width:var(--bo-select-width)!important;
  min-width:var(--bo-select-width)!important;
  max-width:var(--bo-select-width)!important;
  flex:0 0 var(--bo-select-width)!important;
  margin:0!important;
}
.report-main .bo-filter-row>:is(.user-filter-actions,.ref-filter-actions,.wallet-filter-actions,.tx-filter-actions,.filter-action-row,.filter-actions,.category-filter-actions,.game-filter-actions,.debug-filter-actions),
.report-main .bo-filter-row>:is(.field,label,div):has(>button):not(:has(input,select)){
  width:auto!important;min-width:0!important;max-width:none!important;flex:0 0 auto!important;margin:0!important;
}


/* Control fallback before runtime classification. */
.report-main .bo-filter-row>input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.report-main .bo-filter-row>*:not(.bo-filter-range-item) input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]){
  box-sizing:border-box!important;
  height:var(--bo-filter-height)!important;
  min-height:var(--bo-filter-height)!important;
  margin:0!important;
  border:1px solid var(--bo-ui-border)!important;
  border-radius:var(--bo-filter-radius)!important;
  background:#fff!important;
  color:var(--bo-ui-text)!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.2!important;
  box-shadow:none!important;
  outline:0!important;
}
.report-main .bo-filter-row>input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]){
  width:var(--bo-filter-input-width)!important;
  min-width:110px!important;
  max-width:var(--bo-filter-input-width)!important;
  flex:0 0 var(--bo-filter-input-width)!important;
  padding:0 12px!important;
}
.report-main .bo-filter-row>select{
  --bo-select-width:80px;
  box-sizing:border-box!important;
  width:var(--bo-select-width)!important;
  min-width:var(--bo-select-width)!important;
  max-width:var(--bo-select-width)!important;
  flex:0 0 var(--bo-select-width)!important;
  height:var(--bo-filter-height)!important;
  min-height:var(--bo-filter-height)!important;
  margin:0!important;
  padding:0 32px 0 12px!important;
  border:1px solid var(--bo-ui-border)!important;
  border-radius:var(--bo-filter-radius)!important;
  background-color:#fff!important;
  color:var(--bo-ui-text)!important;
  font-size:12px!important;
  font-weight:700!important;
}

/* Text/search/number inputs: approved User Management dimensions. They may only
   shrink on a compact desktop so controls do not wrap with a false blank gap. */
.report-main .bo-filter-row>.bo-filter-input-item{
  width:var(--bo-filter-input-width)!important;
  min-width:110px!important;
  max-width:var(--bo-filter-input-width)!important;
  flex:0 0 var(--bo-filter-input-width)!important;
}
.report-main .bo-filter-row>.bo-filter-input-item :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  .input-icon-wrap,.input-group,.ref-input-icon,.category-search-control,.game-search-control
),
.report-main .bo-filter-row>input.bo-filter-input-item:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]){
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
}
.report-main .bo-filter-row>.bo-filter-input-item input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.report-main .bo-filter-row>input.bo-filter-input-item:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]){
  height:var(--bo-filter-height)!important;
  min-height:var(--bo-filter-height)!important;
  margin:0!important;
  padding:0 12px!important;
  border:1px solid var(--bo-ui-border)!important;
  border-radius:var(--bo-filter-radius)!important;
  background:#fff!important;
  color:var(--bo-ui-text)!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.2!important;
  box-shadow:none!important;
  outline:0!important;
}
.report-main .bo-filter-row>.bo-filter-input-item :is(.input-icon-wrap,.ref-input-icon,.category-search-control,.game-search-control) input{
  padding-left:36px!important;
}
.report-main .bo-filter-row>.bo-filter-input-item input:focus,
.report-main .bo-filter-row>input.bo-filter-input-item:focus{
  border-color:var(--bo-ui-blue)!important;
  box-shadow:0 0 0 3px rgba(40,100,237,.10)!important;
}
.report-main .bo-filter-row>.bo-filter-input-item input::placeholder,
.report-main .bo-filter-row>input.bo-filter-input-item::placeholder{
  color:var(--bo-ui-muted)!important;
  opacity:1!important;
  font-size:12px!important;
  font-weight:700!important;
}

/* Dropdown width is set once from its longest option + 10px by bo-ui-standard.js.
   Only the direct dropdown item owns that width; no parent/ghost column is created. */
.report-main .bo-filter-row>.bo-filter-select-item{
  --bo-select-width:80px;
  width:var(--bo-select-width)!important;
  min-width:var(--bo-select-width)!important;
  max-width:var(--bo-select-width)!important;
  flex:0 0 var(--bo-select-width)!important;
}
.report-main .bo-filter-row>.bo-filter-select-item :is(select,.rounded-select-wrap,.rounded-select-btn),
.report-main .bo-filter-row>select.bo-filter-select-item{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:100%!important;
  max-width:100%!important;
}
.report-main .bo-filter-row>.bo-filter-select-item select,
.report-main .bo-filter-row>select.bo-filter-select-item,
.report-main .bo-filter-row>.bo-filter-select-item .rounded-select-btn{
  height:var(--bo-filter-height)!important;
  min-height:var(--bo-filter-height)!important;
  margin:0!important;
  padding:0 32px 0 12px!important;
  border:1px solid var(--bo-ui-border)!important;
  border-radius:var(--bo-filter-radius)!important;
  background-color:#fff!important;
  color:var(--bo-ui-text)!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.2!important;
  box-shadow:none!important;
  outline:0!important;
  white-space:nowrap!important;
  text-overflow:clip!important;
}
.report-main .bo-filter-row>.bo-filter-select-item select:focus,
.report-main .bo-filter-row>select.bo-filter-select-item:focus,
.report-main .bo-filter-row>.bo-filter-select-item .rounded-select-btn:focus{
  border-color:var(--bo-ui-blue)!important;
  box-shadow:0 0 0 3px rgba(40,100,237,.10)!important;
}

/* Custom dropdown popup keeps the same content-sized width and remains a list. */
.report-main .bo-filter-row .rounded-select-wrap{position:relative!important}
.report-main .bo-filter-row .rounded-select-menu{
  display:none!important;
  position:absolute!important;
  z-index:3200!important;
  top:calc(100% + 6px)!important;
  left:0!important;right:auto!important;
  box-sizing:border-box!important;
  width:100%!important;min-width:100%!important;max-width:max(100%,360px)!important;
  padding:7px!important;
  border:1px solid #d9e1ef!important;
  border-radius:11px!important;
  background:#fff!important;
  box-shadow:0 14px 32px rgba(15,23,42,.14)!important;
  flex-direction:column!important;
  gap:0!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
}
.report-main .bo-filter-row .rounded-select-menu.show{display:flex!important}
.report-main .bo-filter-row .rounded-select-option{
  box-sizing:border-box!important;width:100%!important;min-height:36px!important;
  padding:8px 12px!important;margin:0!important;border:0!important;border-radius:9px!important;
  background:#fff!important;color:#344054!important;text-align:left!important;
  font-size:12px!important;font-weight:800!important;line-height:20px!important;white-space:nowrap!important;
}
.report-main .bo-filter-row .rounded-select-option:hover,
.report-main .bo-filter-row .rounded-select-option.active{background:#eef2ff!important;color:#4f46e5!important}

/* Labels use the same type and spacing on every filter page. */
.report-main .bo-filter-row>.bo-filter-item>label,
.report-main .bo-filter-row>.bo-filter-item>span:first-child,
.report-main .bo-filter-row>label.bo-filter-item>span:first-child{
  display:block!important;
  margin:0 0 7px!important;
  padding:0!important;
  color:var(--bo-ui-text)!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1.1!important;
  white-space:nowrap!important;
}

/* Action wrappers are exactly their button content. No fixed field width, hidden
   grid column, spacer or duplicate margin is allowed. */
.report-main .bo-filter-row>.bo-filter-actions-item{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  flex:0 0 auto!important;
}
.report-main .bo-filter-row>.bo-filter-actions-item>:is(.filter-action-row,.filter-actions,.category-filter-actions,.game-filter-actions,.debug-filter-actions),
.report-main .bo-filter-row>.bo-filter-actions-item:is(.filter-action-row,.filter-actions,.category-filter-actions,.game-filter-actions,.debug-filter-actions){
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:var(--bo-filter-gap)!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  grid-template-columns:none!important;
}


/* First-paint button fallback before JavaScript assigns semantic classes. */
.report-main .bo-filter-row button[id*="reset" i],
.report-main .bo-filter-row button[id*="clear" i],
.report-main .bo-filter-row button[id*="search" i],
.report-main .bo-filter-row button[id*="apply" i]{
  box-sizing:border-box!important;
  width:var(--bo-filter-button-width)!important;
  min-width:var(--bo-filter-button-width)!important;
  max-width:var(--bo-filter-button-width)!important;
  height:var(--bo-filter-height)!important;
  min-height:var(--bo-filter-height)!important;
  margin:0!important;
  padding:0 14px!important;
  border-radius:var(--bo-filter-radius)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  flex:0 0 var(--bo-filter-button-width)!important;
  white-space:nowrap!important;
  font-size:13px!important;
  font-weight:800!important;
}
.report-main .bo-filter-row button[id*="reset" i],
.report-main .bo-filter-row button[id*="clear" i]{
  background:#fff!important;background-image:none!important;color:var(--bo-ui-text)!important;border:1px solid var(--bo-ui-border)!important;
}
.report-main .bo-filter-row button[id*="search" i],
.report-main .bo-filter-row button[id*="apply" i]{
  background:var(--bo-ui-blue)!important;background-image:none!important;color:#fff!important;border:1px solid var(--bo-ui-blue)!important;
}

/* Reset/Search are the two fixed standard actions. */
.report-main .bo-filter-reset-button,
.report-main .bo-filter-search-button{
  box-sizing:border-box!important;
  width:var(--bo-filter-button-width)!important;
  min-width:var(--bo-filter-button-width)!important;
  max-width:var(--bo-filter-button-width)!important;
  height:var(--bo-filter-height)!important;
  min-height:var(--bo-filter-height)!important;
  margin:0!important;
  padding:0 14px!important;
  border-radius:var(--bo-filter-radius)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  flex:0 0 var(--bo-filter-button-width)!important;
  white-space:nowrap!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1!important;
  box-shadow:none!important;
}
.report-main .bo-filter-reset-button{
  background:#fff!important;background-image:none!important;
  color:var(--bo-ui-text)!important;border:1px solid var(--bo-ui-border)!important;
}
.report-main .bo-filter-reset-button:hover{background:#f8fafc!important;border-color:#aebdd4!important;color:var(--bo-ui-text)!important}
.report-main .bo-filter-search-button{
  background:var(--bo-ui-blue)!important;background-image:none!important;
  color:#fff!important;border:1px solid var(--bo-ui-blue)!important;
}
.report-main .bo-filter-search-button:hover{background:var(--bo-ui-blue-hover)!important;border-color:var(--bo-ui-blue-hover)!important;color:#fff!important}

/* Other filter-row actions size from their own text with exactly 10px each side. */
.report-main .bo-filter-other-button{
  box-sizing:border-box!important;
  width:auto!important;min-width:0!important;max-width:none!important;
  height:var(--bo-filter-height)!important;min-height:var(--bo-filter-height)!important;
  margin:0!important;padding:0 10px!important;
  border-radius:var(--bo-filter-radius)!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;
  flex:0 0 auto!important;white-space:nowrap!important;
  font-size:13px!important;font-weight:800!important;line-height:1!important;
}

/* Date range is deliberately excluded from input/select standardization. */
.report-main .bo-filter-row>.bo-filter-range-item{
  width:auto!important;min-width:0!important;max-width:100%!important;flex:0 0 auto!important;
}

/* Keep non-filter table action icons square. */
.report-main :is(.slider-card-actions,.action-buttons) button,
.report-main td:last-child button[data-edit-id],
.report-main td:last-child button[data-delete-id]{
  width:40px!important;min-width:40px!important;max-width:40px!important;
  height:40px!important;min-height:40px!important;padding:0!important;gap:0!important;
  border-radius:10px!important;font-size:0!important;display:inline-flex!important;
  align-items:center!important;justify-content:center!important;flex:0 0 40px!important;
}
.report-main :is(.slider-card-actions,.action-buttons) button i,
.report-main td:last-child button:is([data-edit-id],[data-delete-id]) i{font-size:14px!important;margin:0!important}

/* Responsive filter flow: fixed approved desktop control sizes wrap naturally
   with the same 10px gap. Phones expand controls to the available width. */
@media (min-width:601px){
  .report-main .bo-filter-row{
    display:flex!important;
    flex-flow:row wrap!important;
    align-items:flex-end!important;
    gap:var(--bo-filter-gap)!important;
  }
}
@media (max-width:600px){
  .report-main .filter-card{padding:14px!important}
  .report-main .bo-filter-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:var(--bo-filter-gap)!important;
    align-items:end!important;
  }
  .report-main .bo-filter-row>*{
    width:100%!important;min-width:0!important;max-width:100%!important;flex:none!important;
  }
  .report-main .bo-filter-row>.bo-filter-input-item :is(input,.input-icon-wrap,.input-group,.ref-input-icon,.category-search-control,.game-search-control),
  .report-main .bo-filter-row>.bo-filter-select-item :is(select,.rounded-select-wrap,.rounded-select-btn),
  .report-main .bo-filter-row>input.bo-filter-input-item,
  .report-main .bo-filter-row>select.bo-filter-select-item{
    width:100%!important;min-width:0!important;max-width:100%!important;
  }
  .report-main .bo-filter-row>.bo-filter-actions-item:has(>button),
  .report-main .bo-filter-row>.bo-filter-actions-item>.filter-action-row{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;width:100%!important;
  }
  .report-main .bo-filter-row>.bo-filter-actions-item :is(.bo-filter-reset-button,.bo-filter-search-button){
    width:100%!important;min-width:0!important;max-width:100%!important;flex:none!important;
  }
}
@media (max-width:380px){
  .report-main .bo-filter-row>.bo-filter-actions-item:has(>button),
  .report-main .bo-filter-row>.bo-filter-actions-item>.filter-action-row{grid-template-columns:1fr!important}
}

/* ---------- Shared pagination ---------- */
.report-main :is(.bo-pagination-standard,.table-footer.standard-pagination){
  display:grid!important;grid-template-columns:minmax(170px,1fr) auto minmax(170px,1fr)!important;
  align-items:center!important;gap:16px!important;padding:14px 0 2px!important;
}
.report-main :is(.bo-pagination-standard,.table-footer.standard-pagination)>:last-child{justify-self:end}
.report-main .bo-pagination-info{color:#526078;font-size:13px;text-align:center}
.report-main .bo-pagination-buttons{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:nowrap!important}
.report-main .bo-pagination-buttons button{
  width:40px!important;min-width:40px!important;height:40px!important;padding:0!important;
  border:1px solid #e0e7f1!important;border-radius:10px!important;background:#fff!important;color:#526078!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
}
.report-main .bo-pagination-buttons button.active{background:var(--bo-ui-blue)!important;border-color:var(--bo-ui-blue)!important;color:#fff!important}
.report-main .bo-pagination-buttons button:disabled{opacity:.35!important}
@media(max-width:900px){
  .report-main :is(.bo-pagination-standard,.table-footer.standard-pagination){grid-template-columns:1fr!important}
  .report-main :is(.bo-pagination-standard,.table-footer.standard-pagination)>*{justify-self:center!important}
}

/* ---------- Shared modal ---------- */
.bo-global-modal{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;padding:18px}
.bo-global-modal.show{display:flex}
.bo-global-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.58);backdrop-filter:blur(3px)}
.bo-global-dialog{position:relative;width:min(500px,calc(100vw - 32px));background:#fff;border-radius:20px;box-shadow:0 24px 70px rgba(15,23,42,.3);padding:24px;color:var(--bo-ui-text)}
.bo-global-dialog header{display:flex;gap:15px;align-items:flex-start}
.bo-global-icon{width:46px;height:46px;border-radius:14px;background:#edf3ff;color:var(--bo-ui-blue);display:flex;align-items:center;justify-content:center;font-size:22px;flex:none}
.bo-global-dialog h3{font-size:20px;margin:1px 0 7px;font-weight:800}
.bo-global-message{margin:0;color:#5b6780;white-space:pre-wrap;line-height:1.55}
.bo-global-dialog footer{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}
.bo-global-dialog footer button{height:42px;border-radius:11px;padding:0 18px;font-weight:700;border:1px solid var(--bo-ui-border)}
.bo-global-primary{background:var(--bo-ui-blue);border-color:var(--bo-ui-blue)!important;color:#fff}
.bo-global-secondary{background:#fff;color:var(--bo-ui-text)}
.bo-global-close{position:absolute;right:18px;top:18px;width:38px;height:38px;border-radius:10px;border:1px solid var(--bo-ui-border);background:#fff}
.bo-global-input-wrap{display:block;margin-top:20px}.bo-global-input-wrap span{display:block;font-size:13px;font-weight:700;margin-bottom:7px}
.bo-global-input{box-sizing:border-box;width:100%;height:44px;border:1px solid #bdcbe2;border-radius:11px;padding:0 13px;outline:none}
.bo-global-input:focus{border-color:var(--bo-ui-blue);box-shadow:0 0 0 3px rgba(40,100,237,.12)}
.bo-global-modal[data-type="error"] .bo-global-icon,.bo-global-modal[data-type="danger"] .bo-global-icon{background:#fff0f1;color:#ef3340}
.bo-global-modal[data-type="success"] .bo-global-icon{background:#eafaf2;color:#0ea15b}
.bo-global-modal[data-type="warning"] .bo-global-icon{background:#fff6e8;color:#e88a00}
@media(max-width:520px){
  .bo-global-dialog{padding:20px 16px;border-radius:16px}
  .bo-global-dialog footer{display:grid;grid-template-columns:1fr 1fr}
  .bo-global-dialog footer button{width:100%}
}

/* Live Chat keeps its purpose-built controls. */
body.livechat-bo-page .bo-ui-button,
body.livechat-bo-page .bo-ui-icon-button{all:unset}

/* Build-time select widths prevent any refresh-time long/short flash. Runtime JS only updates dynamically loaded options. */
.report-main .bo-filter-row>:has(#adminRoleFilter), .report-main .bo-filter-row>select#adminRoleFilter{--bo-select-width:105px;}
.report-main .bo-filter-row>:has(#adminStatusFilter), .report-main .bo-filter-row>select#adminStatusFilter{--bo-select-width:111px;}
.report-main .bo-filter-row>:has(#bannerStatusFilter), .report-main .bo-filter-row>select#bannerStatusFilter{--bo-select-width:111px;}
.report-main .bo-filter-row>:has(#bonusSortFilter), .report-main .bo-filter-row>select#bonusSortFilter{--bo-select-width:157px;}
.report-main .bo-filter-row>:has(#categoryModeFilter), .report-main .bo-filter-row>select#categoryModeFilter{--bo-select-width:151px;}
.report-main .bo-filter-row>:has(#categorySortFilter), .report-main .bo-filter-row>select#categorySortFilter{--bo-select-width:157px;}
.report-main .bo-filter-row>:has(#categoryStatusFilter), .report-main .bo-filter-row>select#categoryStatusFilter{--bo-select-width:125px;}
.report-main .bo-filter-row>:has(#dashTimezone), .report-main .bo-filter-row>select#dashTimezone{--bo-select-width:169px;}
.report-main .bo-filter-row>:has(#dbgStatus), .report-main .bo-filter-row>select#dbgStatus{--bo-select-width:119px;}
.report-main .bo-filter-row>:has(#depositSize), .report-main .bo-filter-row>select#depositSize{--bo-select-width:80px;}
.report-main .bo-filter-row>:has(#depositStatus), .report-main .bo-filter-row>select#depositStatus{--bo-select-width:112px;}
.report-main .bo-filter-row>:has(#gameRankSize), .report-main .bo-filter-row>select#gameRankSize{--bo-select-width:80px;}
.report-main .bo-filter-row>:has(#gameSortFilter), .report-main .bo-filter-row>select#gameSortFilter{--bo-select-width:157px;}
.report-main .bo-filter-row>:has(#ledgerSize), .report-main .bo-filter-row>select#ledgerSize{--bo-select-width:80px;}
.report-main .bo-filter-row>:has(#ledgerType), .report-main .bo-filter-row>select#ledgerType{--bo-select-width:187px;}
.report-main .bo-filter-row>:has(#loginLogStatus), .report-main .bo-filter-row>select#loginLogStatus{--bo-select-width:111px;}
.report-main .bo-filter-row>:has(#memberSearchLock), .report-main .bo-filter-row>select#memberSearchLock{--bo-select-width:97px;}
.report-main .bo-filter-row>:has(#memberSearchStatus), .report-main .bo-filter-row>select#memberSearchStatus{--bo-select-width:101px;}
.report-main .bo-filter-row>:has(#memberSearchVisit), .report-main .bo-filter-row>select#memberSearchVisit{--bo-select-width:116px;}
.report-main .bo-filter-row>:has(#promoCategoryFilter), .report-main .bo-filter-row>select#promoCategoryFilter{--bo-select-width:267px;}
.report-main .bo-filter-row>:has(#promoSortFilter), .report-main .bo-filter-row>select#promoSortFilter{--bo-select-width:306px;}
.report-main .bo-filter-row>:has(#promoStatusFilter), .report-main .bo-filter-row>select#promoStatusFilter{--bo-select-width:255px;}
.report-main .bo-filter-row>:has(#refLevel), .report-main .bo-filter-row>select#refLevel{--bo-select-width:80px;}
.report-main .bo-filter-row>:has(#reportType), .report-main .bo-filter-row>select#reportType{--bo-select-width:139px;}
.report-main .bo-filter-row>:has(#rewardStatus), .report-main .bo-filter-row>select#rewardStatus{--bo-select-width:125px;}
.report-main .bo-filter-row>:has(#rewardType), .report-main .bo-filter-row>select#rewardType{--bo-select-width:165px;}
.report-main .bo-filter-row>:has(#sessionStatus), .report-main .bo-filter-row>select#sessionStatus{--bo-select-width:111px;}
.report-main .bo-filter-row>:has(#statusFilter), .report-main .bo-filter-row>select#statusFilter{--bo-select-width:159px;}
.report-main .bo-filter-row>:has(#txStatus), .report-main .bo-filter-row>select#txStatus{--bo-select-width:112px;}
.report-main .bo-filter-row>:has(#vipLogSource), .report-main .bo-filter-row>select#vipLogSource{--bo-select-width:146px;}
.report-main .bo-filter-row>:has(#walletSize), .report-main .bo-filter-row>select#walletSize{--bo-select-width:80px;}
.report-main .bo-filter-row>:has(#withdrawSize), .report-main .bo-filter-row>select#withdrawSize{--bo-select-width:80px;}
.report-main .bo-filter-row>:has(#withdrawStatus), .report-main .bo-filter-row>select#withdrawStatus{--bo-select-width:112px;}

/* Dynamic dropdowns start compact; bo-ui-standard.js recalculates them when options arrive. */
.report-main .bo-filter-row>:has(#subCategoryFilter), .report-main .bo-filter-row>select#subCategoryFilter{--bo-select-width:80px;}
.report-main .bo-filter-row>:has(#gameCategoryFilter), .report-main .bo-filter-row>select#gameCategoryFilter{--bo-select-width:80px;}
.report-main .bo-filter-row>:has(#gameSubCategoryFilter), .report-main .bo-filter-row>select#gameSubCategoryFilter{--bo-select-width:80px;}
.report-main .bo-filter-row>:has(#gameProviderFilter), .report-main .bo-filter-row>select#gameProviderFilter{--bo-select-width:80px;}

/* ---------- Final authority layer ----------
   Two harmless :not() IDs give this single shared file higher specificity than
   every legacy page-level filter rule in reports.css. This is the only layer
   allowed to control filter geometry. */
body:not(#bo-filter-standard-off):not(#bo-filter-standard-legacy) .report-main .bo-filter-row{
  display:flex!important;
  flex-flow:row wrap!important;
  align-items:flex-end!important;
  align-content:flex-start!important;
  justify-content:flex-start!important;
  gap:10px!important;
  grid-template-columns:none!important;
  grid-auto-flow:row!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
}
body:not(#bo-filter-standard-off):not(#bo-filter-standard-legacy) .report-main .bo-filter-row>*{
  box-sizing:border-box!important;
  margin:0!important;
  padding-left:0!important;
  padding-right:0!important;
  grid-column:auto!important;
  grid-row:auto!important;
  justify-self:auto!important;
}
body:not(#bo-filter-standard-off):not(#bo-filter-standard-legacy) .report-main .bo-filter-row>.bo-filter-hidden-item{display:none!important}

body:not(#bo-filter-standard-off):not(#bo-filter-standard-legacy) .report-main .bo-filter-row>.bo-filter-input-item,
body:not(#bo-filter-standard-off):not(#bo-filter-standard-legacy) .report-main .bo-filter-row>:is(.field,label,div):has(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"])):not(:has(.bo-range-trigger,.ref-range-trigger)){
  width:190px!important;
  min-width:110px!important;
  max-width:190px!important;
  flex:0 0 190px!important;
}
body:not(#bo-filter-standard-off):not(#bo-filter-standard-legacy) .report-main .bo-filter-row>.bo-filter-input-item :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),.input-icon-wrap,.input-group,.ref-input-icon,.category-search-control,.game-search-control),
body:not(#bo-filter-standard-off):not(#bo-filter-standard-legacy) .report-main .bo-filter-row>input.bo-filter-input-item:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]){
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
}
body:not(#bo-filter-standard-off):not(#bo-filter-standard-legacy) .report-main .bo-filter-row>.bo-filter-input-item input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
body:not(#bo-filter-standard-off):not(#bo-filter-standard-legacy) .report-main .bo-filter-row>input.bo-filter-input-item:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]){
  box-sizing:border-box!important;
  height:42px!important;
  min-height:42px!important;
  margin:0!important;
  border:1px solid #cfd8e8!important;
  border-radius:11px!important;
  background:#fff!important;
  color:#101828!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.2!important;
  box-shadow:none!important;
}
body:not(#bo-filter-standard-off):not(#bo-filter-standard-legacy) .report-main .bo-filter-row>.bo-filter-input-item :is(.input-icon-wrap,.ref-input-icon,.category-search-control,.game-search-control) input{padding-left:36px!important}
body:not(#bo-filter-standard-off):not(#bo-filter-standard-legacy) .report-main .bo-filter-row>.bo-filter-input-item input::placeholder,
body:not(#bo-filter-standard-off):not(#bo-filter-standard-legacy) .report-main .bo-filter-row>input.bo-filter-input-item::placeholder{
  color:#98a2b3!important;opacity:1!important;font-size:12px!important;font-weight:700!important;
}

body:not(#bo-filter-standard-off):not(#bo-filter-standard-legacy) .report-main .bo-filter-row>.bo-filter-select-item,
body:not(#bo-filter-standard-off):not(#bo-filter-standard-legacy) .report-main .bo-filter-row>:is(.field,label,div):has(select):not(:has(.bo-range-trigger,.ref-range-trigger)){
  width:var(--bo-select-width,80px)!important;
  min-width:var(--bo-select-width,80px)!important;
  max-width:var(--bo-select-width,80px)!important;
  flex:0 0 var(--bo-select-width,80px)!important;
}
body:not(#bo-filter-standard-off):not(#bo-filter-standard-legacy) .report-main .bo-filter-row>.bo-filter-select-item :is(select,.rounded-select-wrap,.rounded-select-btn),
body:not(#bo-filter-standard-off):not(#bo-filter-standard-legacy) .report-main .bo-filter-row>select.bo-filter-select-item{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:100%!important;
  max-width:100%!important;
}
body:not(#bo-filter-standard-off):not(#bo-filter-standard-legacy) .report-main .bo-filter-row>.bo-filter-select-item select,
body:not(#bo-filter-standard-off):not(#bo-filter-standard-legacy) .report-main .bo-filter-row>select.bo-filter-select-item,
body:not(#bo-filter-standard-off):not(#bo-filter-standard-legacy) .report-main .bo-filter-row>.bo-filter-select-item .rounded-select-btn{
  height:42px!important;
  min-height:42px!important;
  margin:0!important;
  padding:0 32px 0 12px!important;
  border:1px solid #cfd8e8!important;
  border-radius:11px!important;
  background-color:#fff!important;
  color:#101828!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.2!important;
  box-shadow:none!important;
}

body:not(#bo-filter-standard-off):not(#bo-filter-standard-legacy) .report-main .bo-filter-row>.bo-filter-actions-item,
body:not(#bo-filter-standard-off):not(#bo-filter-standard-legacy) .report-main .bo-filter-row>:is(.user-filter-actions,.ref-filter-actions,.wallet-filter-actions,.tx-filter-actions,.filter-action-row,.filter-actions,.category-filter-actions,.game-filter-actions,.debug-filter-actions),
body:not(#bo-filter-standard-off):not(#bo-filter-standard-legacy) .report-main .bo-filter-row>:is(.field,label,div):has(>button):not(:has(input,select)){
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  flex:0 0 auto!important;
}
body:not(#bo-filter-standard-off):not(#bo-filter-standard-legacy) .report-main .bo-filter-row>.bo-filter-actions-item:has(>button){
  /* display:flex!important; */
  flex-flow:row nowrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
body:not(#bo-filter-standard-off):not(#bo-filter-standard-legacy) .report-main .bo-filter-row>.bo-filter-actions-item>:is(.filter-action-row,.filter-actions,.category-filter-actions,.game-filter-actions,.debug-filter-actions),
body:not(#bo-filter-standard-off):not(#bo-filter-standard-legacy) .report-main .bo-filter-row>.bo-filter-actions-item:is(.filter-action-row,.filter-actions,.category-filter-actions,.game-filter-actions,.debug-filter-actions){
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  grid-template-columns:none!important;
}
body:not(#bo-filter-standard-off):not(#bo-filter-standard-legacy) .report-main .bo-filter-row :is(.bo-filter-reset-button,.bo-filter-search-button){
  box-sizing:border-box!important;
  width:120px!important;
  min-width:120px!important;
  max-width:120px!important;
  height:42px!important;
  min-height:42px!important;
  margin:0!important;
  padding:0 14px!important;
  border-radius:11px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  flex:0 0 120px!important;
  white-space:nowrap!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1!important;
  box-shadow:none!important;
}
body:not(#bo-filter-standard-off):not(#bo-filter-standard-legacy) .report-main .bo-filter-row .bo-filter-reset-button{
  background:#fff!important;background-image:none!important;color:#101828!important;border:1px solid #cfd8e8!important;
}
body:not(#bo-filter-standard-off):not(#bo-filter-standard-legacy) .report-main .bo-filter-row .bo-filter-search-button{
  background:#2864ed!important;background-image:none!important;color:#fff!important;border:1px solid #2864ed!important;
}
body:not(#bo-filter-standard-off):not(#bo-filter-standard-legacy) .report-main .bo-filter-row .bo-filter-other-button{
  width:auto!important;min-width:0!important;max-width:none!important;height:42px!important;min-height:42px!important;
  margin:0!important;padding:0 10px!important;flex:0 0 auto!important;
}

@media (min-width:601px){
  body:not(#bo-filter-standard-off):not(#bo-filter-standard-legacy) .report-main .bo-filter-row{
    display:flex!important;
    flex-flow:row wrap!important;
    align-items:flex-end!important;
    gap:10px!important;
  }
}
@media (max-width:600px){
  body:not(#bo-filter-standard-off):not(#bo-filter-standard-legacy) .report-main .bo-filter-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  body:not(#bo-filter-standard-off):not(#bo-filter-standard-legacy) .report-main .bo-filter-row>*{
    width:100%!important;min-width:0!important;max-width:100%!important;flex:none!important;
  }
  body:not(#bo-filter-standard-off):not(#bo-filter-standard-legacy) .report-main .bo-filter-row>.bo-filter-input-item :is(input,.input-icon-wrap,.input-group,.ref-input-icon,.category-search-control,.game-search-control),
  body:not(#bo-filter-standard-off):not(#bo-filter-standard-legacy) .report-main .bo-filter-row>.bo-filter-select-item :is(select,.rounded-select-wrap,.rounded-select-btn){
    width:100%!important;min-width:0!important;max-width:100%!important;
  }
  body:not(#bo-filter-standard-off):not(#bo-filter-standard-legacy) .report-main .bo-filter-row>.bo-filter-actions-item:has(>button),
  body:not(#bo-filter-standard-off):not(#bo-filter-standard-legacy) .report-main .bo-filter-row>.bo-filter-actions-item>.filter-action-row{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;width:100%!important;
  }
  body:not(#bo-filter-standard-off):not(#bo-filter-standard-legacy) .report-main .bo-filter-row>.bo-filter-actions-item :is(.bo-filter-reset-button,.bo-filter-search-button){
    width:100%!important;min-width:0!important;max-width:100%!important;flex:none!important;
  }
}
@media (max-width:380px){
  body:not(#bo-filter-standard-off):not(#bo-filter-standard-legacy) .report-main .bo-filter-row>.bo-filter-actions-item:has(>button),
  body:not(#bo-filter-standard-off):not(#bo-filter-standard-legacy) .report-main .bo-filter-row>.bo-filter-actions-item>.filter-action-row{grid-template-columns:1fr!important}
}


/* 2026-08-21: keep injected sidebar visually identical on every BO page,
   including User Management which uses the legacy dashboard base stylesheet. */
.report-sidebar .report-nav{padding:10px!important}
.report-sidebar .report-nav>a:not(.report-sub){
  min-height:42px!important;margin:0!important;padding:11px 12px!important;border-radius:0!important;
  background:linear-gradient(204deg,#2563eb,#103fac)!important;color:#fff!important;
  border-bottom:1px solid rgba(255,255,255,.45)!important;font-weight:800!important;
}
.report-sidebar .report-nav>a:not(.report-sub) i{color:#fff!important}
.report-sidebar .report-nav>a:not(.report-sub):first-child{border-radius:12px 12px 0 0!important}
.report-sidebar .report-nav>a:not(.report-sub):last-child{border-radius:0 0 12px 12px!important}
.report-sidebar .nav-group{margin:0!important;border-radius:0!important;border-left:0!important;border-right:0!important;border-top:0!important}
.report-sidebar .nav-group .nav-group-btn{margin:0!important;border-radius:0!important;min-height:44px!important}
.report-sidebar .nav-group-list{background:#f8fafc!important}
