.tbl tr[data-go], .tbl tr[data-record-row] { cursor: pointer; }
.tbl tr[data-go]:hover, .tbl tr[data-record-row]:hover { background: var(--soft); }
.tbl tr[data-go]:focus-visible, .tbl tr[data-record-row]:focus-visible { outline: 2px solid var(--red); outline-offset: -2px; }
.asset-coverage { color: var(--muted); line-height: 1.8; margin: 12px 0 26px; max-width: 100ch; }
.asset-coverage a { color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
.asset-groups { display: flex; flex-wrap: wrap; gap: 8px 24px; border-bottom: 1px solid var(--line); margin: 10px 0 28px; }
.asset-groups button { border: 0; border-bottom: 2px solid transparent; padding: 12px 0; background: none; color: var(--muted); }
.asset-groups button b { margin-left: 5px; font-weight: 500; }
.asset-groups button.on { color: var(--red); border-bottom-color: var(--red); }
.pf-generic-table { min-width: 780px; }
.pf-generic-table th:first-child { width: 43%; }
.pf-generic-table th:nth-child(2) { width: 23%; }
.pf-generic-table td { vertical-align: top; }
.pf-generic-table small { display: block; margin-top: 5px; color: var(--muted); }
.source-table .source-name small { max-width: 42ch; overflow: hidden; text-overflow: ellipsis; }
.source-table .source-name a { line-height: 1.6; }
.source-filter select { max-width: 260px; }
.source-batch-note { color: var(--muted); margin: 16px 0; }
.catalog-scope-note { padding: 14px 0; color: var(--muted); line-height: 1.7; border-bottom: 1px solid var(--line); }
@media (max-width: 700px) {
  .asset-groups { gap: 4px 18px; }
  .portfolio .sec-head { align-items: flex-start; gap: 12px; flex-wrap: wrap; }
  .source-filter select { max-width: 100%; }
}
