.report h3 {
  font-size: 16px; margin: 26px 0 4px; padding-top: 18px;
  border-top: 1px solid var(--line);
}
.report h3:first-child { border-top: none; padding-top: 0; }
.report .caption { color: var(--ink-faint); font-size: 13px; margin-bottom: 10px; }

.datatable { font-size: 13.5px; margin: 10px 0 6px; }
.datatable caption { text-align: left; font-size: 13px; color: var(--ink-faint);
                     margin-bottom: 6px; }
/* HEADINGS WRAP. The statutory ITR column names run to 50-plus characters,
   and holding them on one line forced every table wider than the page. They
   wrap now, and the table is laid out on fixed columns so one long heading
   cannot stretch the whole row. */
.datatable {
  table-layout: fixed;
  width: 100%;
}
.datatable th {
  text-align: left; padding: 7px 8px; background: var(--accent-bg);
  border-bottom: 2px solid #c5d5ea; font-size: 11.5px; font-weight: 650;
  line-height: 1.3;
  white-space: normal;
  overflow-wrap: break-word;
  vertical-align: bottom;
}
.datatable td {
  padding: 7px 8px; border-bottom: 1px solid var(--line-soft);
  overflow-wrap: break-word;
}
/* Numbers must never wrap mid-figure. */
.datatable td.num, .datatable th.num { white-space: nowrap; }

/* Last-resort horizontal scroll, so a narrow window scrolls the table
   rather than spilling the page. */
.table-scroll { width: 100%; overflow-x: auto; }

/* Table A3 repeats the entity name, address, ZIP and nature on every row.
   They are constants for the whole run, so they get the narrow columns. */
.datatable.a3 th:nth-child(1), .datatable.a3 td:nth-child(1) { width: 9%; }
.datatable.a3 th:nth-child(2), .datatable.a3 td:nth-child(2) { width: 11%; }
.datatable.a3 th:nth-child(3), .datatable.a3 td:nth-child(3) { width: 5%; }
.datatable.a3 th:nth-child(4), .datatable.a3 td:nth-child(4) { width: 7%; }
.datatable.a3 th:nth-child(5), .datatable.a3 td:nth-child(5) { width: 9%; }

.datatable.a2 th:nth-child(2), .datatable.a2 td:nth-child(2) { width: 16%; }
.datatable.a2 th:nth-child(3), .datatable.a2 td:nth-child(3) { width: 14%; }
.datatable tr:hover td { background: #fafbfc; }
.datatable td.num, .datatable th.num { text-align: right; font-variant-numeric: tabular-nums; }
.datatable tfoot td { font-weight: 650; border-top: 2px solid var(--line);
                      background: #fbfcfd; }

/* A concealed figure occupies the same width as the real one, so revealing
   does not reflow the table under the reader's eye. */
.val.concealed { color: var(--ink-faint); letter-spacing: .12em; user-select: none; }
