/* V40.40: tables may be wide only inside an explicit local scroll region.
   Never apply a minimum width to every table on the page. */
.table-responsive,
.rp-table-wrap,
.table-wrap,
[data-responsive-table-wrap]{
  position:relative;
  display:block;
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-inline:contain;
  scrollbar-gutter:stable;
}

[data-responsive-table-wrap][data-has-overflow="true"]{
  border-radius:12px;
  outline-offset:3px;
}

[data-responsive-table-wrap][data-has-overflow="true"]:focus-visible{
  outline:3px solid var(--wpu-focus,#0b57d0);
}

[data-responsive-table-wrap] > table.wpu-responsive-wide-table{
  width:100%;
  min-width:var(--wpu-table-min-width,42rem);
  margin-bottom:0;
}

.wpu-table-scroll-hint{
  display:flex;
  align-items:center;
  gap:.45rem;
  margin:.25rem 0 .5rem;
  color:var(--wpu-text-muted,#5f6b7a);
  font-size:.8125rem;
  line-height:1.4;
}

.wpu-table-scroll-hint::before{
  content:"\2194";
  color:var(--wpu-primary,#0f6cbd);
  font-weight:800;
}

.wpu-table-scroll-hint[hidden]{display:none!important}

/* Keep compact labels readable; descriptive cells may still wrap normally. */
:is(.table,.table-accred,.modern-table) th{
  overflow-wrap:normal;
  word-break:keep-all;
  hyphens:none;
}

:is(.table,.table-accred,.modern-table) :is(.badge,.badge-soft,.status-badge,.btn,.dropdown-toggle),
:is(.table,.table-accred,.modern-table) :is(.actions,.action-cell,.status-cell){
  overflow-wrap:normal;
  word-break:keep-all;
  white-space:nowrap;
}

@media(max-width:575.98px){
  [data-responsive-table-wrap] > table.wpu-responsive-wide-table{
    min-width:var(--wpu-table-min-width,40rem);
  }
}
