/* User-approved demo presentation: text aligns on one inset; source data stays intact. */
:root{--scene-date-range-width:400px}
.el-table th.el-table__cell:not(.el-table-column--selection):not(.el-table__expand-column)>.cell,
.el-table td.el-table__cell:not(.el-table-column--selection):not(.el-table__expand-column)>.cell{
  padding-left:16px!important;padding-right:16px!important;text-align:left!important;
}
.el-table .cell .el-button--text{
  padding-left:0!important;padding-right:0!important;border-left:0!important;border-right:0!important;
  margin-left:0;text-align:left;
}
.el-table__footer-wrapper td:not(.el-table-column--selection)>.cell{text-align:left!important;padding-left:16px!important;padding-right:16px!important}
.el-form-item__label,.filter-field__label{text-align:left!important}
.el-descriptions-item__label,.el-descriptions-item__content{text-align:left!important}
.ov-matrix th,.ov-matrix td{text-align:left}
.status-pill{gap:0}

/* Every business table uses the same clipping rule. Composite rows retain their
   semantic lines; each line clips independently. Full details are not clipped. */
.el-table th.el-table__cell:not(.el-table-column--selection):not(.el-table__expand-column)>.cell,
.el-table td.el-table__cell:not(.el-table-column--selection):not(.el-table__expand-column)>.cell,
.promotion-report .report-table :is(th,td),.ov-matrix :is(th,td),.summary-table :is(th,td){
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  text-align:left!important;word-break:normal!important;overflow-wrap:normal!important;
}
/* Selection/expand cells contain controls, not text. Override Element's own
   default ellipsis too, including header and fixed-column table copies. */
.el-table :is(th,td).el-table__cell:is(.el-table-column--selection,.el-table__expand-column)>.cell{
  min-width:0!important;overflow:visible!important;text-overflow:clip!important;
}
.el-table .el-table-column--selection>.cell>.el-checkbox{margin:0!important}
.el-table .cell :is(.el-button--text,.el-link,.link-button,.table-link-button,.inline-link,.line-tail-link,.record-link){
  min-width:0;max-width:100%;overflow:hidden!important;text-overflow:ellipsis!important;
  white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;
}
.el-table .cell :is(.cell-stack,.member-cell,.payment-cell,.table-field-stack,.campaign-date-cell,.content-date-stack){min-width:0;max-width:100%}
.el-table .cell :is(.cell-stack,.table-field-stack,.payment-cell,.campaign-date-cell,.content-date-stack)>:is(span,strong),
.el-table .cell :is(.member-cell__account,.risk-summary-cell,.created-record-caption){
  display:block;min-width:0;max-width:100%;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  -webkit-line-clamp:unset!important;word-break:normal!important;overflow-wrap:normal!important;
}
.el-table .data-line{min-width:0;max-width:100%;white-space:nowrap!important}
.el-table .data-line>:not(.data-label):not(.line-tail-link){min-width:0;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.el-table .data-label,.el-table .line-tail-link{flex-shrink:0}
.el-table :is(.operation-links,.inline-actions,.campaign-row-actions,.content-row-actions){white-space:nowrap!important;flex-wrap:nowrap!important;justify-content:flex-start!important}
.promotion-report .report-table :is(th,td){padding-left:16px!important;padding-right:16px!important}
.promotion-report .report-table :is(button,a){max-width:100%;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;text-align:left!important}

.el-table .cell .el-link--inner{min-width:0;max-width:100%;display:block;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.summary-table{table-layout:fixed;width:100%}
.summary-table :is(th,td){padding-left:16px!important;padding-right:16px!important}

/* Filter labels follow member management: natural text width + one 8px gap.
   Scope to query forms; create/edit forms keep their own aligned label columns. */
:is(.member-filter-form,.member-parity-filter,.content-filters,.campaign-filters,
    .operation-log-filters,.adjustment-filter,.audit-filter-form,.business-audit-filter) .el-form-item:has(>.el-form-item__label){
  display:grid!important;grid-template-columns:max-content minmax(0,1fr)!important;
  column-gap:8px!important;min-width:0;
}
:is(.member-filter-form,.member-parity-filter,.content-filters,.campaign-filters,
    .operation-log-filters,.adjustment-filter,.audit-filter-form,.business-audit-filter) .el-form-item:has(>.el-form-item__label)::before,
:is(.member-filter-form,.member-parity-filter,.content-filters,.campaign-filters,
    .operation-log-filters,.adjustment-filter,.audit-filter-form,.business-audit-filter) .el-form-item:has(>.el-form-item__label)::after{
  display:none!important;
}
:is(.member-filter-form,.member-parity-filter,.content-filters,.campaign-filters,
    .operation-log-filters,.adjustment-filter,.audit-filter-form,.business-audit-filter) .el-form-item>.el-form-item__label{
  grid-column:1;grid-row:1;width:auto!important;min-width:0!important;
  padding:0!important;margin:0!important;float:none!important;
  white-space:nowrap;text-align:left!important;
}
:is(.member-filter-form,.member-parity-filter,.content-filters,.campaign-filters,
    .operation-log-filters,.adjustment-filter,.audit-filter-form,.business-audit-filter) .el-form-item>.el-form-item__label+.el-form-item__content{
  grid-column:2;grid-row:1;min-width:0;margin-left:0!important;
}
/* Shared plain-label filters cover deposit records and withdrawal audit. */
.filter-field{
  grid-template-columns:max-content minmax(0,1fr)!important;column-gap:8px!important;
}
.filter-field>:is(label,.filter-field__label){
  grid-column:1;grid-row:1;width:auto!important;min-width:0!important;
  padding:0!important;margin:0!important;white-space:nowrap;text-align:left!important;
}
.filter-field>:not(label):not(.filter-field__label){grid-column:2;grid-row:1;min-width:0}
/* The report and overview already use an 8px label gap; keep it explicit. */
.promotion-report .report-control-group{column-gap:8px!important}
.ov-query>label{margin-right:-4px}

/* One bounded filter layout for all business scenes. A field includes its label.
   Wrap whole fields using available content width instead of stretching fr tracks. */
.member-filter-form .filter-grid,.audit-filter-form,.business-audit-filter,
:is(.content-filter-grid,.message-filter-grid,.campaign-filter-grid,.adjustment-filter-grid,
    .member-parity-filter-grid,.operation-log-filter-grid,.operation-log-filter-bottom),
.page-content .filter-row,.audit-filter-panel .filter-grid{
  display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:flex-start!important;
  gap:12px 16px!important;min-width:0;
}
.member-filter-form .filter-grid>.el-form-item,
:is(.audit-filter-form,.business-audit-filter)>.el-form-item:has(>.el-form-item__label),
:is(.content-filter-grid,.message-filter-grid,.campaign-filter-grid,.adjustment-filter-grid,
    .member-parity-filter-grid,.operation-log-filter-grid,.operation-log-filter-bottom)>.el-form-item,
.filter-field{
  flex:0 0 auto!important;width:280px!important;max-width:100%!important;
  min-width:0!important;margin:0!important;box-sizing:border-box;
}
.member-filter-form .filter-grid>.date-filter-item,
:is(.audit-filter-form,.business-audit-filter)>.el-form-item:has(.el-date-editor--datetimerange,.el-date-editor--daterange),
:is(.content-filter-grid,.message-filter-grid,.campaign-filter-grid,.adjustment-filter-grid,
    .member-parity-filter-grid,.operation-log-filter-grid)>.el-form-item:is(.content-time-filter,
    .message-time-filter,.campaign-range-filter,.adjustment-date,.date-filter-item,.operation-log-time),
.filter-field:is(.dates,.filter-field-submittedRange,.filter-field-submittedAt){
  width:max-content!important;max-width:100%!important;
  grid-template-columns:max-content minmax(0,var(--scene-date-range-width))!important;
}
/* Amount intervals retain their separate two-value width. */
.filter-field:is(.filter-field-amountRange,.is-wide):not(:has(.el-range-editor)){
  width:576px!important;max-width:100%!important;
}
:is(.content-filter-grid,.message-filter-grid,.adjustment-filter-grid,.member-parity-filter-grid,
    .operation-log-filter-bottom)>:is(.content-query-actions,.adjustment-query-actions,
    .member-parity-actions,.operation-log-query),.page-content .filter-actions{
  display:flex;flex:none!important;align-items:center;align-self:flex-start!important;
  flex-wrap:nowrap;gap:8px!important;min-height:34px;max-width:100%;
}
:is(.content-filters,.campaign-filters,.operation-log-filters,.adjustment-filter,
    .member-parity-filter,.member-filter-form,.audit-filter-form,.business-audit-filter,.audit-filter-panel,.page-content>.filters,.ov-query,.promotion-report .report-filter)
    :is(.el-input__inner,.el-range-editor.el-input__inner){
  height:34px!important;line-height:34px!important;border-radius:0!important;box-sizing:border-box;
}
:is(.content-filters,.campaign-filters,.operation-log-filters,.adjustment-filter,
    .member-parity-filter,.member-filter-form,.audit-filter-form,.business-audit-filter) :is(.el-form-item__label,.el-form-item__content){
  line-height:34px!important;
}
:is(.content-filters,.campaign-filters,.operation-log-filters,.adjustment-filter,
    .member-parity-filter,.member-filter-form,.audit-filter-form,.business-audit-filter,.audit-filter-panel,.page-content>.filters,.ov-query,.promotion-report .report-filter) .el-input__icon{
  line-height:34px!important;
}
:is(.content-filters,.campaign-filters,.operation-log-filters,.adjustment-filter,
    .member-parity-filter,.member-filter-form,.audit-filter-form,.business-audit-filter) .el-date-editor.el-range-editor,
.el-date-editor.el-range-editor{
  width:var(--scene-date-range-width)!important;max-width:100%!important;
  min-width:0!important;flex:0 0 auto!important;box-sizing:border-box;
}
:is(.content-query-actions,.adjustment-query-actions,.operation-log-query,.campaign-actions,
    .member-parity-actions,.page-content .filter-actions,.audit-filter-actions .el-form-item__content,
    .business-audit-filter__actions .el-form-item__content,.report-query-actions)>.el-button{
  height:34px!important;line-height:32px!important;padding:0 16px!important;margin:0!important;
}

/* Shared filter alignment, including plain labels and source-derived forms.
   A label aligns with the first 34px control, even when help/shortcuts follow. */
.filter-field{
  display:grid!important;align-items:start!important;
}
:is(.member-filter-form,.member-parity-filter,.content-filters,.campaign-filters,
    .operation-log-filters,.adjustment-filter,.audit-filter-form,.business-audit-filter)
    .el-form-item:has(>.el-form-item__label){align-items:start!important}
.filter-field>:is(label,.filter-field__label),
:is(.member-filter-form,.member-parity-filter,.content-filters,.campaign-filters,
    .operation-log-filters,.adjustment-filter,.audit-filter-form,.business-audit-filter) .el-form-item__label{
  height:34px!important;line-height:34px!important;align-self:start!important;
}
:is(.member-filter-form,.member-parity-filter,.content-filters,.campaign-filters,
    .operation-log-filters,.adjustment-filter,.audit-filter-form,.business-audit-filter)
    .el-form-item__content>:is(.el-input,.el-select){width:100%;min-width:0}
/* Date input internals must fit inside the 34px border box. The same 32px
   baseline applies to the two values, separator, calendar and clear icons. */
:is(.member-filter-form,.member-parity-filter,.content-filters,.campaign-filters,
    .operation-log-filters,.adjustment-filter,.audit-filter-form,.business-audit-filter,
    .filter-field,.ov-query,.promotion-report .report-filter) .el-range-editor.el-input__inner{
  display:inline-flex!important;align-items:center!important;height:34px!important;
  padding:0 10px!important;line-height:32px!important;box-sizing:border-box;
}
:is(.member-filter-form,.member-parity-filter,.content-filters,.campaign-filters,
    .operation-log-filters,.adjustment-filter,.audit-filter-form,.business-audit-filter,
    .filter-field,.ov-query,.promotion-report .report-filter) .el-range-input{
  height:32px!important;line-height:32px!important;flex:1 1 0!important;
  width:0!important;min-width:0!important;margin:0!important;padding:0!important;text-align:left!important;
}
:is(.member-filter-form,.member-parity-filter,.content-filters,.campaign-filters,
    .operation-log-filters,.adjustment-filter,.audit-filter-form,.business-audit-filter,
    .filter-field,.ov-query,.promotion-report .report-filter) :is(.el-range-separator,.el-range__icon,.el-range__close-icon){
  height:32px!important;line-height:32px!important;flex:none!important;padding:0!important;
}
:is(.member-filter-form,.member-parity-filter,.content-filters,.campaign-filters,
    .operation-log-filters,.adjustment-filter,.audit-filter-form,.business-audit-filter,
    .filter-field,.ov-query,.promotion-report .report-filter) .el-range-separator{
  width:24px!important;text-align:center!important;
}
:is(.audit-filter-form,.business-audit-filter){padding:16px!important;border:0!important;background:#fff!important}
:is(.audit-filter-actions,.business-audit-filter__actions){flex:none!important;width:auto!important;margin:0!important}
:is(.audit-filter-actions,.business-audit-filter__actions)>.el-form-item__content{
  display:flex!important;align-items:center;gap:8px;margin:0!important;line-height:34px!important;
}
:is(.audit-filter-actions,.business-audit-filter__actions)>.el-form-item__content::before,
:is(.audit-filter-actions,.business-audit-filter__actions)>.el-form-item__content::after{
  display:none!important;
}
/* Preserve compact report radio/date groups, with the same outer field gaps. */
.promotion-report .report-filter-line{gap:12px 16px!important}
.promotion-report :is(.report-label,.report-date-separator){line-height:34px!important}
.operation-log-filter-bottom{margin-top:12px!important}

/* Two original report pickers form one 400px interval. Keep both pickers and
   their separator; only shrink when the containing row cannot fit the group. */
.promotion-report .report-date-group{
  width:var(--scene-date-range-width)!important;max-width:100%!important;min-width:0;
  flex:0 1 var(--scene-date-range-width)!important;
}
.promotion-report .report-date-group>.el-date-editor.el-input{
  width:0!important;min-width:0!important;flex:1 1 0!important;
}
.promotion-report .report-date-group>.report-date-separator{flex:none}
