/* Shrink the actual content items, not the page proportions. */
#page-content, .customer-results { min-width: 0; max-width: 100%; }
/* Tables use the existing page width. Content grows downwards, never sideways. */
.table-scroll, .overview-page .table-scroll, .arena-page .table-scroll,
.customer-assets .customer-table-scroll {
 box-sizing: border-box; width: 100%; max-width: 100%; min-width: 0;
 overflow-x: hidden; padding-left: 0; padding-right: 0;
}
table, .table-scroll table, .overview-page .overview-preview-table,
.arena-page table, .customer-assets .customer-table {
 box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%;
 table-layout: fixed; white-space: normal;
}
th, td, .table-scroll th, .table-scroll td,
.customer-assets .customer-table th, .customer-assets .customer-table td {
 box-sizing: border-box; min-width: 0; max-width: 100%;
 padding: 12px clamp(4px,.6vw,12px); white-space: normal;
 word-break: break-all; overflow-wrap: anywhere;
}
/* Keep the vertical header; no cell floats over adjacent columns. */
td, .customer-assets .customer-table td { position: static; left: auto; right: auto; overflow: visible; height: auto; }
th, .customer-assets .customer-table th { left: auto; right: auto; }
.table-scroll td:first-child, .table-scroll td:last-child,
.customer-assets .customer-table td:first-child, .customer-assets .customer-table td:last-child {
 padding-left: clamp(4px,.6vw,12px); padding-right: clamp(4px,.6vw,12px);
}
table button, table .badge, table .shop-chip, table .customer-link,
.customer-assets .customer-table .customer-truncate, .customer-assets .customer-table time,
.customer-assets .customer-table .customer-contact-state, .customer-assets .customer-table .customer-shop-tag {
 box-sizing: border-box; min-width: 0; max-width: 100%; white-space: normal;
 word-break: break-all; overflow-wrap: anywhere;
}
table .customer-link { flex-wrap: wrap; }
table .customer-link>span:last-child { flex: 1 1 80px; max-width: 100%; min-width: 0; }
table .shop-progress { min-width: 0; max-width: 100%; flex-wrap: wrap; }
table .shop-chip { flex-wrap: wrap; gap: 4px; }
.customer-assets .customer-table-scroll { display: block; }
.customer-assets .customer-table .customer-select-cell { padding: 12px 3px; text-align: center; }
.customer-assets .customer-table th>button { align-items: flex-start; gap: 2px; padding-right: 0; }
.customer-assets .customer-table .customer-identity { flex-wrap: wrap; gap: 6px; }
.customer-assets .customer-table .customer-identity>div { flex: 1 1 80px; max-width: 100%; }
.customer-assets .customer-table .customer-name, .customer-assets .customer-table .customer-phone {
 white-space: normal; word-break: break-all; overflow-wrap: anywhere;
}
.customer-assets .customer-table .customer-progress-track { width: 100%; max-width: 104px; min-width: 0; }
.customer-assets .customer-table .customer-owner-group,
.customer-assets .customer-table .customer-owner-person { flex-wrap: wrap; max-width: 100%; gap: 4px; }
.customer-assets .customer-table .customer-owner-preview { flex: 1 1 60px; max-width: 100%; }
.customer-assets .customer-table .customer-owner-name { white-space: normal; overflow-wrap: anywhere; }
.customer-assets .customer-table .customer-row-actions,
.customer-assets .customer-table .customer-action-content,
.customer-assets .customer-table .customer-extra-actions {
 width: 100%; min-width: 0; max-width: 100%; white-space: normal;
 display: flex; flex-wrap: wrap; gap: 4px; align-items: center;
}
.customer-assets .customer-table .customer-extra-actions { width: auto; flex: 1 1 100%; border-left: 0; }
.customer-assets .customer-table .customer-action {
 display: inline-flex; align-items: center; justify-content: flex-start;
 min-width: 0; max-width: 100%; height: auto; min-height: 36px;
 padding: 6px 4px; line-height: 1.6; white-space: normal;
 word-break: break-all; overflow-wrap: anywhere;
}
.customer-assets .customer-table .customer-action[data-action=customer-followups] { margin-left: 0; }
.customer-assets .customer-table .customer-more { display: none; }
/* Every data column and its actions stay visible at all viewport widths. */
.customer-assets .customer-mobile-cards { display: none; }
.customer-assets .customer-table .avatar { flex-shrink: 1; max-width: 100%; }
.customer-assets .customer-table .customer-owner-more { flex: 0 1 auto; min-width: 0; }

/* Paged customers flow with the document, without a nested scroll well/gutter. */
.customer-assets .customer-table-scroll { max-height: none; scrollbar-gutter: auto; scroll-snap-type: none; }
.customer-assets .customer-table .customer-action-content { align-items: stretch; }
.customer-assets .customer-table .customer-action { flex: 0 1 auto; }
/* Keep document-sticky headers without creating an unscrollable inner viewport. */
@supports (overflow: clip) {
 .customer-assets .customer-table-scroll { overflow: clip; }
}
