/* Shared by form and report pages, including tables loaded after the page opens. */
table.compact-table {
  width: auto;
  min-width: 0;
  max-width: 100%;
  table-layout: auto;
  margin-inline: auto;
}
.compact-table th,
.compact-table td { padding: 6px 10px; vertical-align: top; }
.compact-table th:first-child { width: auto; }
.table-overflow {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.table-overflow-wide {
  --table-gutter: 1.5rem;
  width: calc(100vw - 2 * var(--table-gutter));
  max-width: none;
  margin-left: calc(50% - 50vw + var(--table-gutter));
}
.table-cell { display: block; max-width: 22rem; overflow-wrap: anywhere; }
.table-cell-long { min-width: 10rem; }
.table-cell-scalar,
.table-date-part { white-space: nowrap; overflow-wrap: normal; font-variant-numeric: tabular-nums; }
.compact-table td:has(> .table-cell-number) { text-align: right; }
.compact-table thead .table-cell { max-width: 14rem; overflow-wrap: normal; }
.compact-table tbody th .table-cell { max-width: 16rem; overflow-wrap: normal; }
.compact-table .table-note { display: block; margin-top: 0.15rem; font-size: inherit; font-weight: 400; color: #555; }
.compact-table .table-cell:has(input, select, button, .btn) { overflow-wrap: normal; }
.compact-table .btn,
.compact-table button { margin-top: 0; padding: 0.25rem 0.5rem; min-height: 2rem; box-sizing: border-box; }
.table-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.3rem; min-width: 8rem; max-width: 17rem; }
.compact-table select { max-width: 18rem; margin-top: 0; }
.table-selection { display: block; white-space: normal; max-width: 22rem; margin-top: 0.2rem; overflow-wrap: anywhere; font-size: inherit; }
.table-selection[hidden] { display: none; }
.table-overflow:focus-visible { outline: 2px solid #0b57d0; outline-offset: 2px; }
.review-section-grid { display: grid; gap: 1rem 1.5rem; align-items: start; }
.review-section-grid > details { min-width: 0; margin: 0; }
.review-section-grid > details > summary { cursor: pointer; font-weight: 700; }
.review-section-grid .table-overflow { margin-top: 0.5rem; }
.review-section-grid table { margin-inline: 0; }
.review-section-grid .review-pricing-matrix { margin-top: 0.75rem; }
.review-pricing-matrix td { text-align: right; }
.review-pricing-matrix td > .table-cell { min-width: 6rem; }
.review-table-total { font-weight: 700; background: #f5f8ff; }
.review-section-full { grid-column: 1 / -1; }
@media (min-width: 1440px) {
  .review-section-grid {
    width: min(90rem, calc(100vw - 3rem));
    margin-left: calc(50% - min(45rem, calc(50vw - 1.5rem)));
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 52rem) {
  .table-overflow-wide { --table-gutter: 1rem; }
}
