/* Whole summary row opens the room; hints stay above the row link so their titles show. */
.vent-table tbody tr:not(.level-heading) { position: relative; cursor: pointer; }
.vent-table .vent-issue, .vent-table .vent-above { position: relative; z-index: 2; }
.vent-table .vent-issue { cursor: help; font-weight: 700; }
.vent-table .vent-accepted { background: #eef5ec; }
.vent-sidebar.nav-pills .nav-link { display: flex; justify-content: space-between; gap: 8px; text-align: left; color: #243344; border-radius: 6px; }
.vent-sidebar.nav-pills .nav-link.active { background: #e7f1ff; box-shadow: inset 3px 0 0 #0d6efd; }
.vent-sidebar .vent-flow { font-size: .8rem; opacity: .8; white-space: nowrap; }
.vent-field.has-error .form-control, .vent-field.has-error .form-select { border-color: #dc3545; }
.vent-steps { background: #f5f7fa; border-radius: 6px; padding: 12px 16px; font-size: .9rem; }
.vent-steps p:last-child { margin-bottom: 0; }
@media (min-width: 992px) { .vent-sidebar { position: sticky; top: 16px; } }
.vent-rooms { columns: 2 280px; column-gap: 32px; }
.vent-rooms .form-check { break-inside: avoid; }
.vent-parts { width: auto; min-width: 320px; }
.vent-parts td, .vent-parts th { padding-right: 24px; }
.vent-parts .form-control { width: 140px; }
.vent-elements { counter-reset: element; list-style: none; padding-left: 0; }
.vent-element { counter-increment: element; border: 1px solid #e3e8ef; border-radius: 6px; padding: 12px 16px; margin-bottom: 8px; }
.vent-element[hidden] { display: none; counter-increment: none; }
.vent-element > :first-child::before { content: counter(element) ". "; font-weight: 600; }
.vent-block-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; }
.vent-facts { display: grid; grid-template-columns: max-content 1fr; gap: 4px 16px; margin-bottom: 12px; }
.vent-facts > div { display: contents; }
.vent-facts dt { font-weight: 400; color: #5c6b7a; }
.vent-facts dd { margin: 0; }
.vent-compact { width: auto; }
@media (min-width: 576px) { .vent-compact { min-width: 360px; } }
.vent-compact td, .vent-compact th { padding-right: 24px; }
.vent-element .vent-facts { font-size: .9rem; }
.vent-size-check input[type="number"] { width: 7rem; }
.vent-limit { width: 5.5rem; }
/* The number and the name stay in view while the wide table scrolls sideways to «Принято». */
/* Above the «!» hints (z-index 2) of the cells that scroll under it. */
.vent-table .vent-pin { position: sticky; left: 0; z-index: 3; min-width: 3.5rem; background-color: var(--bs-body-bg); }
.vent-table .vent-pin-2 { left: 3.5rem; min-width: 11rem; max-width: 16rem; box-shadow: 1px 0 0 #dee2e6; }
.vent-table .vent-note { white-space: normal; }
.vent-marking { background: #f5f7fa; border-radius: 6px; padding: 8px 12px; }
.vent-marking-text { font-size: 1rem; word-break: break-word; }
.relief-help summary { cursor: pointer; }
.relief-popover { --bs-popover-max-width: 440px; font-size: .85rem; }
.relief-more summary { cursor: pointer; color: var(--bs-secondary-color); }
.relief-near { color: #9a6700; font-weight: 600; }
@media (max-width: 575.98px) {
    .relief-facts { grid-template-columns: 1fr; }
    .relief-facts dd { margin-bottom: 6px; }
    .relief-table { font-size: .875rem; }
}
