/* Native modal dialogs make the page inert but do not lock its scroll. The
   open attribute also releases this lock on every close path, including Esc. */
html:has(.business-region-dialog[open]){overflow:hidden}
html:has(.business-region-dialog[open]){scrollbar-gutter:stable}
.business-region-dialog{box-sizing:border-box;width:min(820px,94vw);max-height:90vh;margin:auto;padding:24px;border:1px solid #dbe1eb;border-radius:16px;color:#18212f;box-shadow:0 24px 80px #10182840;overflow:auto;overscroll-behavior:contain}
.business-region-dialog::backdrop{background:#10182866}
.business-region-dialog header,.business-region-dialog footer{display:flex;align-items:center;gap:12px;justify-content:space-between}
.business-region-dialog h2{margin:0;font-size:20px}
.business-region-dialog p{font-size:14px;line-height:1.5}
.business-region-dialog label{display:block;font-size:14px;margin:12px 0}
.business-region-dialog input:not([type=checkbox]),.business-region-dialog select{box-sizing:border-box;display:block;width:100%;margin-top:6px;padding:10px;border:1px solid #dbe1eb;border-radius:8px;background:white;color:inherit}
.business-region-dialog input[type=checkbox]{width:16px;height:16px;flex-shrink:0;vertical-align:middle;margin-right:7px}
.business-region-dialog .region-tabs{display:flex;gap:24px}
.business-region-dialog .region-options{max-height:280px;overflow:auto;overscroll-behavior:contain;border:1px solid #dbe1eb;border-radius:8px}
.business-region-dialog .region-option{display:flex;align-items:flex-start;gap:8px;margin:0;padding:12px;border-bottom:1px solid #edf0f5}
.business-region-dialog .region-option[hidden]{display:none}
.business-region-dialog small{display:block;color:#64748b;margin-top:4px}
.business-region-dialog footer{justify-content:flex-end;margin-top:20px}
.business-region-dialog #region-preview-result{line-height:1.6;font-size:14px}
#businessRegionAssignmentBtn[hidden]{display:none}

/* Scoped to the NPP/product ownership column; other tables keep their widths. */
.business-table-scroll.business-npp-group-list:has(.business-npp-region-heading) table{min-width:1900px}
.business-table-scroll.business-npp-group-list #businessTableHead th{width:110px;white-space:normal;overflow-wrap:anywhere}
.business-table-scroll.business-npp-group-list #businessTableHead th:first-child{width:42px}
.business-table-scroll.business-npp-group-list #businessTableHead th:nth-child(2),
.business-table-scroll.business-npp-group-list #businessTableHead th:nth-child(3){width:220px}
.business-table-scroll.business-npp-group-list #businessTableHead th.business-recent-sales-col,
.business-table-scroll.business-npp-group-list #businessTableHead th.business-planned-pickups-col{width:200px}
.business-table-scroll.business-npp-group-list #businessTableHead th.business-npp-region-heading{width:260px}
.business-table-scroll.business-npp-group-list #businessTableHead th:last-child{width:150px}
.business-table-scroll.business-npp-group-list tr:not(.business-group-edit-row)>.business-npp-region-cell{text-align:left;vertical-align:top}
.business-npp-region-owners{max-width:340px;line-height:1.45;overflow-wrap:anywhere}
.business-npp-region-owner{padding:8px 0}
.business-npp-region-owner+.business-npp-region-owner{border-top:1px solid #edf0f5}
.business-npp-region-owner>strong{display:block;margin-bottom:3px}
.business-npp-region-owners summary{cursor:pointer;padding:6px 0;font-weight:600}
