/* CloudTest v1.3.232 — authoritative typography and vertical-alignment contract
   for every BODY/FOOTER row of every main table and nested subtable. */
:root {
  --pbs-table-row-font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  --pbs-table-row-font-size: 14px;
  --pbs-table-row-font-weight: 400;
  --pbs-table-row-line-height: 1.2;
}

/* Main-table cells and all nested subtable cells. */
html body :is(#main-table, #fc-table, #facade-table, #risk-table, #size-table, #construction-table, #main-table table, #fc-table table, #facade-table table, .room-table, .opening-table, .segment-table)
  > :is(tbody, tfoot) > tr > :is(td, th) {
  font-family: var(--pbs-table-row-font-family) !important;
  font-size: var(--pbs-table-row-font-size) !important;
  font-weight: var(--pbs-table-row-font-weight) !important;
  font-style: normal !important;
  line-height: var(--pbs-table-row-line-height) !important;
  vertical-align: middle !important;
}

/* Bind every textual row element and every editable control to the same font.
   SVG/icon geometry is intentionally excluded. */
html body :is(#main-table, #fc-table, #facade-table, #risk-table, #size-table, #construction-table, #main-table table, #fc-table table, #facade-table table, .room-table, .opening-table, .segment-table)
  > :is(tbody, tfoot) > tr > :is(td, th)
  :is(div, span, label, output, p, strong, b, em, a, input, textarea, select, option, button) {
  font-family: var(--pbs-table-row-font-family) !important;
  font-size: var(--pbs-table-row-font-size) !important;
  font-weight: var(--pbs-table-row-font-weight) !important;
  line-height: var(--pbs-table-row-line-height) !important;
}

/* Row content must sit on the vertical centreline, including calculated
   values such as facade area/distance and the two-track LEFT-zone content. */
html body :is(#main-table, #fc-table, #facade-table, #risk-table, #size-table, #construction-table, #main-table table, #fc-table table, #facade-table table, .room-table, .opening-table, .segment-table)
  > :is(tbody, tfoot) > tr > :is(td, th)
  > :is(div, span, label, output, p, strong, b, em, a, input, textarea, select, button) {
  vertical-align: middle !important;
  align-self: center !important;
}

/* Existing flex/grid wrappers keep their layout model but centre every item. */
html body :is(#main-table, #fc-table, #facade-table, #risk-table, #size-table, #construction-table, #main-table table, #fc-table table, #facade-table table, .room-table, .opening-table, .segment-table)
  > :is(tbody, tfoot) > tr > :is(td, th)
  :is(.pbs-zone-left-grid, .fh-left-grid, .fc-left-grid, .facade-zone-left-grid,
      .num-wrap, .metric-input-shell, .opening-control-wrap, .opening-unit-wrap,
      .control-wrapper, .unit-input-wrapper, .action-cluster, .add-room-cell,
      .add-row-content, .pbs-fc-status-actions) {
  align-items: center !important;
  align-content: center !important;
}

/* Explicitly neutralise known top-biased calculated-value wrappers in the
   fire-distance table and equivalent value wrappers in other modes. */
html body #facade-table > tbody > tr > td
  :is(.opening-area-value, .facade-area-value, .calculated-distance-value,
      .distance-value, .area-value, .metric-value, .value-display),
html body :is(#main-table, #fc-table) > tbody > tr > td
  :is(.area-value, .metric-value, .value-display) {
  display: flex !important;
  align-items: center !important;
  min-height: 100% !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Preserve true mathematical superscripts/subscripts while inheriting the
   central family and weight. */
html body :is(#main-table, #fc-table, #facade-table, #risk-table, #size-table, #construction-table, #main-table table, #fc-table table, #facade-table table, .room-table, .opening-table, .segment-table)
  > :is(tbody, tfoot) > tr > :is(td, th) :is(sub, sup) {
  font-family: var(--pbs-table-row-font-family) !important;
  font-weight: var(--pbs-table-row-font-weight) !important;
}
