/* v1.3.240 — final cross-mode table geometry contract. Diagnostics remain separate/removable. */
:root{
  --pbs-column-half:44px;
  --pbs-column-narrow:66px;
  --pbs-column-regular:88px;
  --pbs-column-extra-wide:112px;
  --pbs-header-row-height:32px;
  --pbs-cell-inline-pad:4px;
  --pbs-icon-size:28px;
  --pbs-icon-gap:4px;
  --pbs-action-zone-2:calc((2 * var(--pbs-icon-size)) + (3 * var(--pbs-icon-gap)));
  --pbs-action-zone-3:calc((3 * var(--pbs-icon-size)) + (4 * var(--pbs-icon-gap)));
  --pbs-action-zone-5:calc((5 * var(--pbs-icon-size)) + (6 * var(--pbs-icon-gap)));
}
/* Both header rows have one central height contract in every mode. */
#main-table>thead>tr,#fc-table>thead>tr,#facade-table>thead>tr,
#main-table>thead>tr>th,#fc-table>thead>tr>th,#facade-table>thead>tr>th{
  height:var(--pbs-header-row-height)!important;min-height:var(--pbs-header-row-height)!important;
  max-height:var(--pbs-header-row-height)!important;box-sizing:border-box!important;vertical-align:middle!important;
}
/* OPENINGS — fixed SO/HO, table-relative dynamic tracks, five-button right zone. */
#main-table.openings-zoned-table{
  --shared-numeric-fixed-width:var(--pbs-column-extra-wide)!important;
  --room-so-base-width:var(--pbs-column-regular)!important;
  --room-ho-base-width:var(--pbs-column-regular)!important;
  --room-actions-width:var(--pbs-action-zone-5)!important;
  --opening-actions-fixed-width:var(--pbs-action-zone-5)!important;
  table-layout:fixed!important;width:100%!important;
}
#main-table.openings-zoned-table col.main-so-col,#main-table.openings-zoned-table th:nth-child(6),#main-table.openings-zoned-table>tbody>tr:not(.accordion-tray)>td:nth-child(6),
#main-table.openings-zoned-table col.main-check-col,#main-table.openings-zoned-table th:nth-child(7),#main-table.openings-zoned-table>tbody>tr:not(.accordion-tray)>td:nth-child(7){width:var(--pbs-column-regular)!important;min-width:var(--pbs-column-regular)!important;max-width:var(--pbs-column-regular)!important}
#main-table.openings-zoned-table>tbody>tr:not(.accordion-tray)>td:nth-child(6) input,
#main-table.openings-zoned-table>tbody>tr:not(.accordion-tray)>td:nth-child(7) input{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important;margin:0!important}
#main-table.openings-zoned-table col.main-actions-col,#main-table.openings-zoned-table th:nth-child(8),#main-table.openings-zoned-table>tbody>tr:not(.accordion-tray)>td:nth-child(8){width:var(--pbs-action-zone-5)!important;min-width:var(--pbs-action-zone-5)!important;max-width:var(--pbs-action-zone-5)!important}
#main-table.openings-zoned-table .accordion-tray>td{padding:0!important}
#main-table.openings-zoned-table .openings-table{margin:0!important;width:100%!important;min-width:100%!important;max-width:none!important;table-layout:fixed!important}
#main-table.openings-zoned-table .openings-table .opening-actions-col,#main-table.openings-zoned-table .openings-table th:last-child,#main-table.openings-zoned-table .openings-table td:last-child{width:var(--pbs-action-zone-5)!important;min-width:var(--pbs-action-zone-5)!important;max-width:var(--pbs-action-zone-5)!important}
#main-table.openings-zoned-table .openings-table .opening-actions-cluster{width:calc(5 * var(--pbs-icon-size) + 4 * var(--pbs-icon-gap))!important;min-width:0!important;max-width:none!important;gap:var(--pbs-icon-gap)!important;padding:0 var(--pbs-icon-gap)!important;box-sizing:content-box!important}
#main-table.openings-zoned-table .openings-table .opening-add-row .opening-add-buttons-cell{padding-right:var(--pbs-action-zone-5)!important;box-sizing:border-box!important}
/* BOUNDARY SEGMENTS — main metrics and five-button right zone. */
#main-table.boundary-zoned-table{table-layout:fixed!important;width:100%!important}
#main-table.boundary-zoned-table .main-area-col,#main-table.boundary-zoned-table th:nth-child(3),#main-table.boundary-zoned-table>tbody>tr.room-row>td:nth-child(3){width:var(--pbs-column-regular)!important;min-width:var(--pbs-column-regular)!important;max-width:var(--pbs-column-regular)!important}
#main-table.boundary-zoned-table .main-circ-col,#main-table.boundary-zoned-table th:nth-child(4),#main-table.boundary-zoned-table>tbody>tr.room-row>td:nth-child(4),
#main-table.boundary-zoned-table .main-height-col,#main-table.boundary-zoned-table th:nth-child(5),#main-table.boundary-zoned-table>tbody>tr.room-row>td:nth-child(5){width:var(--pbs-column-extra-wide)!important;min-width:var(--pbs-column-extra-wide)!important;max-width:var(--pbs-column-extra-wide)!important}
#main-table.boundary-zoned-table .main-actions-col,#main-table.boundary-zoned-table th:nth-child(7),#main-table.boundary-zoned-table>tbody>tr.room-row>td:nth-child(7){width:var(--pbs-action-zone-5)!important;min-width:var(--pbs-action-zone-5)!important;max-width:var(--pbs-action-zone-5)!important}
#main-table.boundary-zoned-table .accordion-tray>td,#main-table.boundary-zoned-table .segment-tray>td{padding:0!important}
#main-table.boundary-zoned-table .segment-table{margin:0!important;width:100%!important;min-width:100%!important;max-width:none!important;table-layout:fixed!important}
#main-table.boundary-zoned-table .segment-table .col-ext,#main-table.boundary-zoned-table .segment-table .col-metric{width:var(--pbs-column-extra-wide)!important;min-width:var(--pbs-column-extra-wide)!important;max-width:var(--pbs-column-extra-wide)!important}
#main-table.boundary-zoned-table .segment-table .col-actions,#main-table.boundary-zoned-table .segment-table th:last-child,#main-table.boundary-zoned-table .segment-table td:last-child{width:var(--pbs-action-zone-5)!important;min-width:var(--pbs-action-zone-5)!important;max-width:var(--pbs-action-zone-5)!important}
/* FIRE HAZARD — explicit fixed tracks and icon-group formulas. */
#main-table.fire-hazard-zoned-table{--halfColumn:var(--pbs-column-half)!important;--regularColumn:var(--pbs-column-regular)!important;--rightWidth:var(--pbs-action-zone-2)!important}
#main-table.fire-hazard-zoned-table .fire-load-fixed-wrapper,#main-table.fire-hazard-zoned-table .fire-load-header-grid,#main-table.fire-hazard-zoned-table .fire-load-footer-grid{
 grid-template-columns:var(--pbs-column-regular) var(--pbs-column-half) repeat(3,var(--pbs-icon-size)) var(--pbs-column-regular) repeat(3,var(--pbs-icon-size)) var(--pbs-column-regular) var(--pbs-column-half) repeat(2,var(--pbs-icon-size))!important;
 column-gap:var(--pbs-icon-gap)!important;box-sizing:border-box!important;overflow:visible!important}
#main-table.fire-hazard-zoned-table .fh-right-main-cell{width:var(--pbs-action-zone-2)!important;min-width:var(--pbs-action-zone-2)!important;max-width:var(--pbs-action-zone-2)!important;position:relative!important;z-index:0!important}
/* FIRE COMPARTMENTS — preserve geometry; correct the length scrubber footprint. */
#fc-table .fc-length-editor{display:flex!important;align-items:center!important;gap:var(--pbs-icon-gap)!important;width:100%!important;min-width:0!important}
#fc-table .fc-length-editor .unit-input-wrapper{flex:1 1 auto!important;width:auto!important;min-width:0!important;max-width:none!important;margin:0!important}
#fc-table .fc-length-editor .lever-dial,#fc-table .fc-length-editor .scrubber,#fc-table .fc-length-editor .circle-dot-editor{flex:0 0 var(--pbs-icon-size)!important;width:var(--pbs-icon-size)!important;height:var(--pbs-icon-size)!important;min-width:var(--pbs-icon-size)!important;max-width:var(--pbs-icon-size)!important;min-height:var(--pbs-icon-size)!important;max-height:var(--pbs-icon-size)!important;aspect-ratio:1/1!important;border-radius:50%!important;box-sizing:border-box!important;margin-left:auto!important}
#fc-table .fc-length-editor .lever-core,#fc-table .fc-length-editor .scrubber-dot{width:6px!important;height:6px!important;min-width:6px!important;min-height:6px!important;border-radius:50%!important}
/* FACADE / ODSTUPY — parent and opening subtables share 1 + 8 + right-zone geometry. */
#facade-table{--facade-central-grid:var(--pbs-column-extra-wide) var(--pbs-column-extra-wide) var(--pbs-column-regular) var(--pbs-column-regular) var(--pbs-column-regular) var(--pbs-column-regular) var(--pbs-column-regular) var(--pbs-column-regular);--facade-right-width:136px!important}
#facade-table .facade-zone-middle-grid{grid-template-columns:var(--facade-central-grid)!important;column-gap:var(--pbs-icon-gap)!important}
#facade-table .facade-filter-middle-grid{display:flex!important;align-items:center!important;justify-content:flex-start!important;width:100%!important;padding-left:var(--pbs-cell-inline-pad)!important;box-sizing:border-box!important}
#facade-table .facade-zone-right-col,#facade-table .facade-zone-right{width:var(--facade-right-width,136px)!important;min-width:var(--facade-right-width,136px)!important;max-width:var(--facade-right-width,136px)!important}
#facade-table .facade-tray>td,#facade-table .accordion-tray>td{padding:0!important}
#facade-table .opening-table--compartment,#facade-table .opening-table{margin:0!important;width:100%!important;min-width:100%!important;max-width:none!important;table-layout:fixed!important}
#facade-table .opening-table col.opening-name-col,#facade-table .opening-table th:first-child,#facade-table .opening-table td:first-child{width:var(--facade-left-effective-width,var(--facade-left-zone-width,235px))!important;min-width:var(--facade-left-effective-width,var(--facade-left-zone-width,235px))!important;max-width:var(--facade-left-effective-width,var(--facade-left-zone-width,235px))!important}
#facade-table .opening-table col.opening-metric-col,#facade-table .opening-table th:nth-child(n+2):nth-child(-n+9),#facade-table .opening-table td:nth-child(n+2):nth-child(-n+9){width:var(--pbs-column-regular)!important;min-width:var(--pbs-column-regular)!important;max-width:var(--pbs-column-regular)!important}
#facade-table .opening-table th:nth-child(2),#facade-table .opening-table td:nth-child(2),#facade-table .opening-table th:nth-child(3),#facade-table .opening-table td:nth-child(3){width:var(--pbs-column-extra-wide)!important;min-width:var(--pbs-column-extra-wide)!important;max-width:var(--pbs-column-extra-wide)!important}
#facade-table .opening-table col.opening-actions-col,#facade-table .opening-table th:last-child,#facade-table .opening-table td:last-child{width:var(--facade-right-width,136px)!important;min-width:var(--facade-right-width,136px)!important;max-width:var(--facade-right-width,136px)!important}
#facade-table .opening-table th:nth-child(9),#facade-table .opening-table td:nth-child(9){text-align:right!important}
