/* Public content tables — card shell, navy header, clean rows. */

.nu-shell table.table,
.nu-shell .nw-body table,
.nu-shell .tinymce-inner-content table,
.nu-shell .pg-content table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 14.5px;
  color: var(--ink);
  background: #fff;
  border-radius: var(--r);
  overflow: hidden;
  margin: 8px 0 24px;
  text-align: left;
}

.nu-shell .pg-content table td,
.nu-shell .pg-content table th {
  text-align: inherit;
}

.nu-shell table.table thead th,
.nu-shell .nw-body table thead th,
.nu-shell .tinymce-inner-content table thead th,
.nu-shell .pg-content table thead th,
.nu-shell table.table > tbody > tr > th,
.nu-shell .nw-body table > tbody > tr > th,
.nu-shell .tinymce-inner-content table > tbody > tr > th,
.nu-shell .pg-content table > tbody > tr > th {
  background: var(--navy);
  color: #fff;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  vertical-align: middle;
  border: 0 !important;
  padding: 14px 18px;
}

.nu-shell table.table thead th,
.nu-shell .nw-body table thead th,
.nu-shell .tinymce-inner-content table thead th,
.nu-shell table.table > tbody > tr > th,
.nu-shell .nw-body table > tbody > tr > th,
.nu-shell .tinymce-inner-content table > tbody > tr > th {
  text-align: left;
  white-space: normal;
}

.nu-shell table.table thead th:first-child,
.nu-shell .nw-body table thead th:first-child,
.nu-shell .tinymce-inner-content table thead th:first-child,
.nu-shell .pg-content table thead th:first-child,
.nu-shell table.table > tbody > tr > th:first-child,
.nu-shell .nw-body table > tbody > tr > th:first-child,
.nu-shell .tinymce-inner-content table > tbody > tr > th:first-child,
.nu-shell .pg-content table > tbody > tr > th:first-child {
  border-top-left-radius: var(--r);
}

.nu-shell table.table thead th:last-child,
.nu-shell .nw-body table thead th:last-child,
.nu-shell .tinymce-inner-content table thead th:last-child,
.nu-shell .pg-content table thead th:last-child,
.nu-shell table.table > tbody > tr > th:last-child,
.nu-shell .nw-body table > tbody > tr > th:last-child,
.nu-shell .tinymce-inner-content table > tbody > tr > th:last-child,
.nu-shell .pg-content table > tbody > tr > th:last-child {
  border-top-right-radius: var(--r);
}

.nu-shell table.table > tbody > tr > td,
.nu-shell .nw-body table > tbody > tr > td,
.nu-shell .tinymce-inner-content table > tbody > tr > td,
.nu-shell .pg-content table > tbody > tr > td {
  padding: 14px 18px;
  vertical-align: middle;
  border: 0 !important;
  color: var(--ink);
  background: transparent;
}

.nu-shell table.table > tbody > tr > td:first-child,
.nu-shell .nw-body table > tbody > tr > td:first-child,
.nu-shell .tinymce-inner-content table > tbody > tr > td:first-child,
.nu-shell .pg-content table > tbody > tr > td:first-child {
  font-weight: 600;
  color: var(--navy);
}

.nu-shell table.table > tbody > tr > td:first-child a,
.nu-shell .nw-body table > tbody > tr > td:first-child a,
.nu-shell .tinymce-inner-content table > tbody > tr > td:first-child a,
.nu-shell .pg-content table > tbody > tr > td:first-child a {
  color: var(--navy);
  font-weight: 600;
  text-decoration: none;
}

.nu-shell table.table > tbody > tr > td:first-child a:hover,
.nu-shell .nw-body table > tbody > tr > td:first-child a:hover,
.nu-shell .tinymce-inner-content table > tbody > tr > td:first-child a:hover,
.nu-shell .pg-content table > tbody > tr > td:first-child a:hover {
  color: var(--cyan);
}

/* Soft zebra for ordinary content tables (skip staff page-row tables). */
.nu-shell table.table:not(:has(.page-row-tr)) > tbody > tr:nth-child(even):not(:has(th)):not(:has(h3)),
.nu-shell .nw-body table > tbody > tr:nth-child(even),
.nu-shell .tinymce-inner-content table > tbody > tr:nth-child(even),
.nu-shell .pg-content table:not(:has(.page-row-tr)) > tbody > tr:nth-child(even) {
  background: #f4f8fb;
}

.page-row-tr {
  border: none !important;
}

.page-row-odd {
  background: #eaf1f6 !important;
}

.page-row-pair {
  background: #fff !important;
}

.nu-shell table.table > tbody > tr:hover:not(:has(th)):not(:has(h3)):not(:has(.my-2)),
.page-row-tr:hover {
  background: #deeaf2 !important;
}

/* Section title rows inside multi-section tables */
.nu-shell table.table > tbody > tr:has(h3) > td {
  background: #fff !important;
  padding: 22px 18px 10px !important;
}

.nu-shell table.table > tbody > tr:has(h3) h3 {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--navy);
  margin: 0;
}

.nu-shell table.table > tbody > tr:has(.my-2) > td {
  background: #fff !important;
  padding: 0 !important;
}

/* Inline pill/badge values in cells */
.nu-shell table.table .badge,
.nu-shell .nw-body table .badge,
.nu-shell table.table td > span.pill {
  display: inline-flex;
  align-items: center;
  font-size: 12.5px;
  font-weight: 600;
  padding: 4px 12px;
  border-radius: 999px;
  background: var(--navy-tint);
  color: var(--navy);
}

/* Keep real columns + headers; scroll sideways on narrow screens. */
.nu-table-scroll {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  border-radius: var(--r);
  margin: 8px 0 24px;
}

.nu-shell .nu-table-scroll > table.table,
.nu-shell .nu-table-scroll > table,
.nu-table-scroll > table.table,
.nu-table-scroll > table {
  margin: 0 !important;
  width: 100% !important;
  min-width: 0;
  max-width: 100% !important;
  overflow: visible !important;
  table-layout: auto;
}

.nu-table-scroll th,
.nu-table-scroll td {
  overflow-wrap: normal;
  word-break: normal;
}

.pg-content,
.pg-body,
.nw-body,
.tinymce-inner-content,
.nu-shell .tab-content,
.nu-shell .tab-pane,
.nu-shell .card,
.nu-shell .card-body {
  min-width: 0;
  max-width: 100%;
}

@media (max-width: 980px) {
  .nu-shell .nu-table-scroll > table.table,
  .nu-shell .nu-table-scroll > table,
  .nu-table-scroll > table.table,
  .nu-table-scroll > table {
    width: max-content !important;
    min-width: 100%;
    max-width: none !important;
    table-layout: auto;
  }

  .nu-table-scroll > table.table > tbody > tr.page-row-tr > td,
  .nu-table-scroll > table.table thead th,
  .nu-table-scroll > table.table > tbody > tr > th {
    white-space: nowrap;
  }

  /* TinyMCE / prose tables without an explicit wrapper */
  .nu-shell .nw-body > div:has(> table),
  .nu-shell .tinymce-inner-content > div:has(> table),
  .nu-shell .pg-body > div:has(> table) {
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .nu-shell .nw-body table,
  .nu-shell .tinymce-inner-content table,
  .nu-shell .pg-body table {
    width: max-content;
    min-width: 100%;
    max-width: none;
    overflow: visible;
  }
}
