/*
 * BO shared UI standard v2.1.0
 * One authoritative file for filter inputs, dropdowns and filter actions.
 * Date range: flat Dashboard style (fig.2) ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¢ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ navy icon + bold label, no filled icon well.
 */
:root{
  --bo-ui-blue:#57534E;
  --bo-ui-blue-hover:#57534E;
  --bo-ui-border:#EADCC8;
  --bo-ui-text:#18191C;
  --bo-ui-muted:#78716C;
  --bo-ui-danger:#ef3340;
  /* 36px — the locked listing/filter control height (system.md → Listing filter controls,
     Wallet Ledger specimen). This token was 42px, which is the legacy pair (42/11px) the
     design system retired; every page that "beat" it carried its own 36px override instead,
     so the same row read 36 or 42 depending on which sheet had been migrated last. Measured
     before the flip, light, 152 pages: 57 filter-row controls over 16 pages were still on 42px
     (plus 24 on wbet-bet-limit at 38px) and the table footer's page size sat at 40px on 25
     pages while 49 others showed 36. Height only — radius stays with the row's own sheet. */
  --bo-filter-height:36px;
  --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:34px!important;
  min-height:34px!important;
  padding:0 10px!important;
  border-radius:9px!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:13px!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:#FFF8EB!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"]):not(.game-search-control input):not(.category-search-control input):not(.banner-search input):not(.input-icon-wrap input):not(.ref-input-icon input):not(.bo-search-control input){
  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:#FFF8EB!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:#FFF8EB!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"]):not(.game-search-control input):not(.category-search-control input):not(.banner-search input):not(.input-icon-wrap input):not(.ref-input-icon input):not(.bo-search-control input),
.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:#FFF8EB!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:not(.game-search-control input):not(.category-search-control input):not(.banner-search input):not(.input-icon-wrap input):not(.ref-input-icon input):not(.bo-search-control 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(217,119,6,.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:#FFF8EB!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(217,119,6,.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 #EADCC8!important;
  border-radius:11px!important;
  background:#FFF8EB!important;
  box-shadow:0 14px 32px rgba(217,119,6,.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:#FFF8EB!important;color:#18191C!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:#F5EBDC!important;color:#57534E!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:#FFF8EB!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:#FFF8EB!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:#F5EBDC!important;border-color:#78716C!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:#57534E;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 #EADCC8!important;border-radius:10px!important;background:#FFF8EB!important;color:#57534E!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:#FFF8EB;border-radius:20px;box-shadow:0 24px 70px rgba(217,119,6,.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:#F5EBDC;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:#57534E;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:#FFF8EB;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:#FFF8EB}
.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 #EADCC8;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(217,119,6,.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:150px;}
.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:150px;}
.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:150px;}

/* 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:240px;}
.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"]):not(.game-search-control input):not(.category-search-control input):not(.banner-search input):not(.input-icon-wrap input):not(.ref-input-icon input):not(.bo-search-control input),
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;
  /* The token, not a literal: this block is the row's "final authority layer" and hard-coding
     42px here is what a per-page 36px override could never beat without an id-step war. */
  height:var(--bo-filter-height)!important;
  min-height:var(--bo-filter-height)!important;
  margin:0!important;
  border:1px solid #EADCC8!important;
  border-radius:11px!important;
  background:#FFF8EB!important;
  color:#18191C!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:#78716C!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{
  /* The token, never a literal: this layer used to hard-code 42px, which no per-page 36px
     override could beat without an id-step war (see the --bo-filter-height note at the top). */
  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 #EADCC8!important;
  border-radius:11px!important;
  background-color:#FFF8EB!important;
  color:#18191C!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:var(--bo-filter-height)!important;
  min-height:var(--bo-filter-height)!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:#FFF8EB!important;background-image:none!important;color:#18191C!important;border:1px solid #EADCC8!important;
}
body:not(#bo-filter-standard-off):not(#bo-filter-standard-legacy) .report-main .bo-filter-row .bo-filter-search-button{
  background:#57534E!important;background-image:none!important;color:#fff!important;border:1px solid #57534E!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:var(--bo-filter-height)!important;min-height:var(--bo-filter-height)!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,#57534E,#57534E)!important;color:#fff!important;
  border-bottom:1px solid rgba(255,255,255,.45)!important;font-weight:900!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;font-weight:900!important}
.report-sidebar .nav-group .nav-group-btn > span{font-weight:900!important}
.report-sidebar .nav-group-list{background:#F5EBDC!important}

/* 2026-09-03: direct account settings header + sidebar-bottom logout */
.report-actions .bo-account-link{
  height:44px; min-width:132px; padding:0 12px; border:1px solid var(--line,#EADCC8);
  border-radius:14px; background:#FFF8EB; color:#18191C; text-decoration:none;
  display:inline-flex; align-items:center; gap:9px; font-weight:800; line-height:1;
  transition:border-color .15s ease, background .15s ease;
}
.report-actions .bo-account-link:hover{background:#F5EBDC;border-color:#EADCC8;color:#18191C}
.report-actions .bo-account-link .report-avatar{width:32px;height:32px;flex:0 0 32px}
.report-actions .bo-account-setting-icon{font-size:17px;color:#57534E;margin-left:2px}
.report-sidebar{display:flex!important;flex-direction:column!important;overflow:hidden!important}
.report-sidebar .report-brand{flex:0 0 auto}
.report-sidebar .report-nav{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden}
/* The nav is this sidebar scroll area (the rule above), and its scrollbar is hidden
   on purpose: the OS default thumb and its arrow buttons read as foreign chrome in
   the cream rail, and the owner asked for a hidden-scrollbar sidebar. The wheel and
   trackpad still scroll it, so do not restore a styled scrollbar here without an
   owner decision. */
.report-sidebar .report-nav{scrollbar-width:none}
.report-sidebar .report-nav::-webkit-scrollbar{display:none}

/* The rail toggle and the retirement of the topbar hamburger, mirrored from `reports.css`
   (same block, values kept in sync) because three BO pages that boot auth.js -
   index.html, member-detail.html, online-users.html - and layout-section.html render the
   shell from this sheet instead of that one. See the reports.css copy for the whole story:
   the rail's 42px chip is the desktop control wherever auth.js mounts it, it must be styled
   before the first paint so it is born in place, and the topbar copy must not appear first
   and hand over ("sidebar的收起按键会闪烁出现两次"). The canonical copy in
   `bo-global-quicknav.css` stays as the runtime backstop. */
@media(min-width:992px){
  body.report-body:not(.agent-modern):not(.dashboard-shell) .report-topbar .hamb{display:none!important}
  .report-sidebar .report-brand.dashboard-sidebar-brand{justify-content:space-between;gap:10px}
  body.sidebar-mini .report-sidebar .report-brand.dashboard-sidebar-brand{justify-content:center;padding:0 12px}
  .report-sidebar .report-brand .dashboard-sidebar-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:42px;height:42px;min-width:42px;padding:0;border:1px solid #EADCC8;border-radius:11px;background:#FFF8EB;color:#18191C;box-shadow:none;cursor:pointer}
  .report-sidebar .report-brand .dashboard-sidebar-toggle i{font-size:22px;line-height:1}
  .report-sidebar .report-brand .dashboard-sidebar-toggle:hover{background:#FFF1DC;color:#18191C}
  html[data-bo-theme="dark"] .report-sidebar .report-brand .dashboard-sidebar-toggle{border-color:rgba(255,255,255,.10);background:#383A46;color:#F5F5F4}
  html[data-bo-theme="dark"] .report-sidebar .report-brand .dashboard-sidebar-toggle:hover{background:#40424E;color:#F5F5F4}
}
.bo-sidebar-account-footer{flex:0 0 auto;padding:10px;border-top:1px solid var(--line,#EADCC8);background:#FFF8EB}

/* ==========================================================================
   The bottom band ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¢ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ the sidebar account block and the page's sticky action bar
   ==========================================================================

   Every page with a bottom action bar closes with TWO hairlines: the bar's top border and the
   sidebar account block's. Both elements end flush with the viewport (bar `bottom:0`, block at
   the sidebar's end), so if their heights differ their top edges sit at different y and the
   screen reads as two parallel lines a few px apart instead of one line across the page.

   Measured at 1440ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ900, light and dark (the heights are theme-independent):
     .mac-footer-actions   73px   (create/edit family: 14px padding ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ2 + the 44px button + 1px)
     .mprr-footer          65px   (Merchant Profit Record)
     .mrc-sticky-footer    69px   (Create Role)
     .pmc-sticky-footer    71px   (Payment Method Create)
     .mp-footer            60px   (Menu Permission ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¢ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ its own min-height)
     .vle-footer           68px   (VIP Level Edit)
   Against blocks of 66-70px, so every one of them was off by 1-8px. Each rule below pins the
   block to ITS page's bar height; the block keeps its horizontal padding and centres the Logout
   row inside the pinned height, so a future change to the Logout row cannot break the alignment.

   The hairline is stated once for the whole band: the account block draws
   rgba(92,74,48,.1) in light / rgba(255,255,255,.08) in dark, and the bars had their own
   values (#DCC9A8, #EADCC8, var(--bo-line,#E6EDF5), white .1ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¢ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ.14) ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¢ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ aligned but two colours
   still reads as two lines.
   -------------------------------------------------------------------------- */

html:not([data-bo-theme="dark"]) body:not(#bo-bottom-band-off) .mac-footer-actions,
html:not([data-bo-theme="dark"]) body:not(#bo-bottom-band-off) .mprr-footer,
html:not([data-bo-theme="dark"]) body:not(#bo-bottom-band-off) .mrc-sticky-footer,
html:not([data-bo-theme="dark"]) body:not(#bo-bottom-band-off) .pmc-sticky-footer,
html:not([data-bo-theme="dark"]) body:not(#bo-bottom-band-off) .mp-footer,
html:not([data-bo-theme="dark"]) body:not(#bo-bottom-band-off) .vle-footer{
  border-top-color:rgba(92,74,48,.1)!important;
}

/* The band's fill is the owner-specified panel rung #FFFCF7 (the locked sticky-footer value in
   `.interface-design/system.md`): the bars were a mix of #FFF8EB (`--bo-surface`), #FFFCF7 and a
   translucent white rgba(255,255,255,.96), so the strip changed tone from page to page. Solid, so
   the value renders exactly ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¢ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ a translucent fill reads as whatever is underneath. Dark keeps the
   translucent charcoal. */
html:not([data-bo-theme="dark"]) body:not(#bo-bottom-band-off) .mac-footer-actions,
html:not([data-bo-theme="dark"]) body:not(#bo-bottom-band-off) .mprr-footer,
html:not([data-bo-theme="dark"]) body:not(#bo-bottom-band-off) .mrc-sticky-footer,
html:not([data-bo-theme="dark"]) body:not(#bo-bottom-band-off) .pmc-sticky-footer,
html:not([data-bo-theme="dark"]) body:not(#bo-bottom-band-off) .mp-footer,
html:not([data-bo-theme="dark"]) body:not(#bo-bottom-band-off) .vle-footer{
  background:#FFFCF7!important;
}
html[data-bo-theme="dark"] body:not(#bo-bottom-band-off) .mac-footer-actions,
html[data-bo-theme="dark"] body:not(#bo-bottom-band-off) .mprr-footer,
html[data-bo-theme="dark"] body:not(#bo-bottom-band-off) .mrc-sticky-footer,
html[data-bo-theme="dark"] body:not(#bo-bottom-band-off) .pmc-sticky-footer,
html[data-bo-theme="dark"] body:not(#bo-bottom-band-off) .mp-footer,
html[data-bo-theme="dark"] body:not(#bo-bottom-band-off) .vle-footer{
  background:rgba(56,58,70,.96)!important;
}
html[data-bo-theme="dark"] body:not(#bo-bottom-band-off) .mac-footer-actions,
html[data-bo-theme="dark"] body:not(#bo-bottom-band-off) .mprr-footer,
html[data-bo-theme="dark"] body:not(#bo-bottom-band-off) .mrc-sticky-footer,
html[data-bo-theme="dark"] body:not(#bo-bottom-band-off) .pmc-sticky-footer,
html[data-bo-theme="dark"] body:not(#bo-bottom-band-off) .mp-footer,
html[data-bo-theme="dark"] body:not(#bo-bottom-band-off) .vle-footer{
  border-top-color:rgba(255,255,255,.08)!important;
}
/* vip-level-edit's own sheet states this hairline with four class-levels, which out-ranks the
   rule above; the extra `:not()` step (an id level, the same escalation bo-input-fill.css uses)
   settles it rather than editing that sheet and re-pinning it in five pages. */
html:not(#bo-bottom-band-off)[data-bo-theme="dark"] body:not(#bo-bottom-band-off) .vle-footer{
  border-top-color:rgba(255,255,255,.08)!important;
}

/* The block becomes a pinned-height flex box ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¢ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ only on the pages that actually show a bar
   (`:has()` on the bar itself, so a page carrying the create-page class without a footer bar,
   e.g. main-provider-endpoints.html, is untouched). Merchant Detail carries its bar in the DOM
   while the EDIT workspace is closed, so it is keyed on `.mad-editing` instead, and excluded
   from the `:has()` form. */
body:not(#bo-bottom-band-off):has(.mac-footer-actions):not(.main-merchant-detail-page) .report-sidebar .bo-sidebar-account-footer,
body.main-merchant-detail-page.mad-editing .report-sidebar .bo-sidebar-account-footer,
body:not(#bo-bottom-band-off):has(.mprr-footer) .report-sidebar .bo-sidebar-account-footer,
body:not(#bo-bottom-band-off):has(.mrc-sticky-footer) .report-sidebar .bo-sidebar-account-footer,
body:not(#bo-bottom-band-off):has(.pmc-sticky-footer) .report-sidebar .bo-sidebar-account-footer,
body:not(#bo-bottom-band-off):has(.mp-footer:not([hidden])) .report-sidebar .bo-sidebar-account-footer,
body:not(#bo-bottom-band-off):has(.vle-footer) .report-sidebar .bo-sidebar-account-footer{
  padding-top:0!important;
  padding-bottom:0!important;
  display:flex!important;
  align-items:center!important;
  box-sizing:border-box!important;
}
body:not(#bo-bottom-band-off):has(.mac-footer-actions):not(.main-merchant-detail-page) .report-sidebar .bo-sidebar-account-footer,
body.main-merchant-detail-page.mad-editing .report-sidebar .bo-sidebar-account-footer{height:73px!important}
body:not(#bo-bottom-band-off):has(.mprr-footer) .report-sidebar .bo-sidebar-account-footer{height:65px!important}
body:not(#bo-bottom-band-off):has(.mrc-sticky-footer) .report-sidebar .bo-sidebar-account-footer{height:69px!important}
body:not(#bo-bottom-band-off):has(.pmc-sticky-footer) .report-sidebar .bo-sidebar-account-footer{height:71px!important}
body:not(#bo-bottom-band-off):has(.mp-footer:not([hidden])) .report-sidebar .bo-sidebar-account-footer{height:60px!important}
body:not(#bo-bottom-band-off):has(.vle-footer) .report-sidebar .bo-sidebar-account-footer{height:68px!important}
.bo-sidebar-logout{min-height:44px;width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;text-decoration:none;color:#b42318!important;font-weight:800}
.bo-sidebar-logout:hover{background:#fff1f0;color:#b42318!important}
.bo-sidebar-logout i{font-size:17px;color:#d92d20!important}
@media(min-width:992px){
  body.sidebar-mini .bo-sidebar-account-footer{padding:10px 8px}
  body.sidebar-mini .bo-sidebar-logout{justify-content:center;padding:10px 0}
  body.sidebar-mini .bo-sidebar-logout span{display:none}
  /* 2026-09-24: the collapsed rail no longer slides out on hover, so the logout
     row keeps its icon-only form while the pointer is on the rail. Its label
     comes from the rail label panel, like every other collapsed row. */
  body.sidebar-mini .report-sidebar:hover .bo-sidebar-logout{justify-content:center;padding:10px 0}
}
@media(max-width:575.98px){
  .report-actions .bo-account-link{min-width:44px;width:44px;padding:0;justify-content:center}
  .report-actions .bo-account-link .bo-account-name,.report-actions .bo-account-link .bo-account-setting-icon{display:none}
}

/* ============================================================
   Date range ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¢ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ global standard (fig.2 / Dashboard flat)
   Applies to .ref-range-* and .bo-range-* everywhere.
   No cyan/blue filled icon well. Icon + bold navy text + chevron.
   ============================================================ */
.ref-range-trigger,
.bo-range-trigger{
  /* The locked listing height, not the retired 42px pair: the trigger sits in filter rows,
     dashboard controls and ledger heads, and 18 pages were still measuring it at 42px
     (bank-deposit-usage at 40px) against 36px everywhere it had already been migrated. */
  height:36px!important;
  min-height:36px!important;
  border:1px solid var(--bo-border, #EADCC8)!important;
  border-radius:10px!important;
  background:var(--bo-surface, #FFF8EB)!important;
  color:var(--bo-navy, #D97706)!important;
  font-size:13px!important;
  font-weight:700!important;
  letter-spacing:-.01em;
  font-variant-numeric:tabular-nums;
  box-shadow:none!important;
  gap:10px!important;
  padding:0 12px!important;
  overflow:visible!important;
  display:flex!important;
  align-items:center!important;
  text-align:left!important;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.ref-range-trigger:hover,
.ref-range-trigger:focus,
.bo-range-trigger:hover,
.bo-range-trigger:focus,
.bo-range-trigger:focus-within{
  border-color:var(--bo-cyan, #D97706)!important;
  box-shadow:0 0 0 3px rgba(217,119,6,.14)!important;
  outline:0!important;
}
.ref-range-icon,
.bo-range-icon{
  height:auto!important;
  width:auto!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--bo-navy, #D97706)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  font-size:15px!important;
  box-shadow:none!important;
}
.ref-range-trigger > .bi-chevron-down,
.bo-range-arrow,
.bo-range-trigger > .bi-chevron-down{
  margin-left:auto!important;
  margin-right:0!important;
  color:var(--bo-navy, #D97706)!important;
  font-size:12px!important;
  opacity:.85;
  flex:0 0 auto!important;
}
.ref-range-trigger > span:not(.ref-range-icon),
.bo-range-text{
  flex:1 1 auto!important;
  min-width:0!important;
  padding:0!important;
  color:var(--bo-navy, #D97706)!important;
  font-weight:700!important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
html[data-bo-theme="dark"] .ref-range-trigger,
html[data-bo-theme="dark"] .bo-range-trigger{
  background:var(--bo-surface, #F59E0B)!important;
  border-color:var(--bo-border, #E7E5E4)!important;
  color:var(--bo-text, rgba(255,255,255,.14))!important;
}
html[data-bo-theme="dark"] .ref-range-icon,
html[data-bo-theme="dark"] .bo-range-icon,
html[data-bo-theme="dark"] .ref-range-trigger > .bi-chevron-down,
html[data-bo-theme="dark"] .bo-range-arrow,
html[data-bo-theme="dark"] .ref-range-trigger > span:not(.ref-range-icon),
html[data-bo-theme="dark"] .bo-range-text{
  color:var(--bo-text, rgba(255,255,255,.14))!important;
}
html[data-bo-theme="dark"] .ref-range-trigger:hover,
html[data-bo-theme="dark"] .ref-range-trigger:focus,
html[data-bo-theme="dark"] .bo-range-trigger:hover,
html[data-bo-theme="dark"] .bo-range-trigger:focus,
html[data-bo-theme="dark"] .bo-range-trigger:focus-within{
  border-color:var(--bo-cyan, #F59E0B)!important;
  box-shadow:0 0 0 3px rgba(245,158,11,.18)!important;
}

/* Dark mode filter text inputs ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¡ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂª cream #FFF8EB must not leak through in dark theme */
html[data-bo-theme="dark"] 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"]):not(.game-search-control input):not(.category-search-control input):not(.banner-search input):not(.input-icon-wrap input):not(.ref-input-icon input):not(.bo-search-control input),
html[data-bo-theme="dark"] 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"]),
html[data-bo-theme="dark"] .report-main .bo-filter-row>*:not(.bo-filter-range-item) input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not(.game-search-control input):not(.category-search-control input):not(.banner-search input):not(.input-icon-wrap input):not(.ref-input-icon input):not(.bo-search-control input),
html[data-bo-theme="dark"] .report-main .bo-filter-row>input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
html[data-bo-theme="dark"] .report-main .bo-filter-row .field input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]){
  background:#2A2C36!important;
  background-color:#2A2C36!important;
  background-image:none!important;
  border-color:rgba(255,255,255,.14)!important;
  color:#F5F5F4!important;
  -webkit-text-fill-color:#F5F5F4!important;
  caret-color:#F5F5F4!important;
  color-scheme:dark!important;
  box-shadow:none!important;
}
html[data-bo-theme="dark"] body:not(#bo-filter-standard-off):not(#bo-filter-standard-legacy) .report-main .bo-filter-row>.bo-filter-input-item input::placeholder,
html[data-bo-theme="dark"] .report-main .bo-filter-row input::placeholder{
  color:#A1A1AA!important;
  -webkit-text-fill-color:#A1A1AA!important;
  opacity:1!important;
}
