/* v1.3.208 final alignment contract; loaded after every legacy style block. */
:root{
  --pbs-row-height:32px;
  --pbs-icon-size:28px;
  --pbs-icon-gap:4px;
  --fc-shared-right-width:194px;
  --fc-shared-action-inner:188px;
}

/* Fire Hazard coefficient labels: centered, italic, with italic subscripts. */
#main-table.fire-hazard-zoned-table .fire-load-header-grid > .fire-head-label{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  text-align:center!important;
}
/* The mathematical expression itself must remain inline so <sub> uses native baseline positioning. */
#main-table.fire-hazard-zoned-table .fire-load-header-grid > .fire-head-label > em{
  display:inline!important;
  width:auto!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  text-align:inherit!important;
}
#main-table.fire-hazard-zoned-table .fire-load-header-grid > .fire-head-label > em,
#main-table.fire-hazard-zoned-table .fire-load-header-grid > .fire-head-label > em > sub{
  font-style:italic!important;
}
#main-table.fire-hazard-zoned-table .fire-load-header-grid > .fire-head-label:first-child{
  text-align:center!important;
  justify-content:center!important;
}

/* Universal table vertical centering, including all generated wrappers. */
#main-table th,#main-table td,#fc-table th,#fc-table td,#facade-table th,#facade-table td,
.openings-table th,.openings-table td,.room-table th,.room-table td,
.opening-table th,.opening-table td,.segment-table th,.segment-table td{
  vertical-align:middle!important;
}
#main-table th>*,#main-table td>*,#fc-table th>*,#fc-table td>*,#facade-table th>*,#facade-table td>*,
.openings-table th>*,.openings-table td>*,.room-table th>*,.room-table td>*,
.opening-table th>*,.opening-table td>*,.segment-table th>*,.segment-table td>*{
  align-items:center!important;
}

/* Fire Compartment room subtable: same visible right-zone width as main table. */
#fc-table>colgroup>.fc-zone-right-col,#fc-table th.fc-zone-right,#fc-table td.fc-zone-right,
.room-table.room-table-zoned>colgroup>.room-zone-right-col,
.room-table.room-table-zoned th.room-zone-right,
.room-table.room-table-zoned td.room-zone-right{
  width:var(--fc-shared-right-width)!important;
  min-width:var(--fc-shared-right-width)!important;
  max-width:var(--fc-shared-right-width)!important;
  box-sizing:border-box!important;
  padding-left:3px!important;
  padding-right:3px!important;
}
#fc-table .fc-right-actions,
.room-table.room-table-zoned .fc-sub-right-actions,
.room-table.room-table-zoned .fc-room-action-grid{
  width:var(--fc-shared-action-inner)!important;
  min-width:var(--fc-shared-action-inner)!important;
  max-width:var(--fc-shared-action-inner)!important;
  height:var(--pbs-icon-size)!important;
  min-height:var(--pbs-icon-size)!important;
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:var(--pbs-icon-gap)!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}
.room-table.room-table-zoned .fc-room-action-grid > .icon-btn,
.room-table.room-table-zoned .fc-room-action-grid > .fc-icon-placeholder{
  flex:0 0 var(--pbs-icon-size)!important;
  width:var(--pbs-icon-size)!important;
  min-width:var(--pbs-icon-size)!important;
  max-width:var(--pbs-icon-size)!important;
  height:var(--pbs-icon-size)!important;
  min-height:var(--pbs-icon-size)!important;
  max-height:var(--pbs-icon-size)!important;
  margin:0!important;
}

/* Collapse FC room rows to the shared single-row rhythm. */
.room-table.room-table-zoned>thead>tr,
.room-table.room-table-zoned>tbody>tr{
  height:var(--pbs-row-height)!important;
  min-height:var(--pbs-row-height)!important;
  max-height:var(--pbs-row-height)!important;
}
.room-table.room-table-zoned>thead>tr>th,
.room-table.room-table-zoned>tbody>tr>td{
  height:var(--pbs-row-height)!important;
  min-height:var(--pbs-row-height)!important;
  max-height:var(--pbs-row-height)!important;
  padding-top:2px!important;
  padding-bottom:2px!important;
  box-sizing:border-box!important;
  line-height:1.2!important;
  overflow:visible!important;
}
.room-table.room-table-zoned .pbs-zone-left-grid,
.room-table.room-table-zoned .fc-room-center-grid{
  height:28px!important;
  min-height:28px!important;
  max-height:28px!important;
  align-items:center!important;
}
.room-table.room-table-zoned input,
.room-table.room-table-zoned button,
.room-table.room-table-zoned .fc-value-cell{
  max-height:28px!important;
  box-sizing:border-box!important;
}
