/* Budget-only comparison layout. Surfaces, type and tables retain shared
   component treatments; this file positions their content on the page. */
.plsa-section {
  background: var(--color-surface);
  border: var(--border-thin);
  border-radius: var(--radius-lg);
  padding: var(--space-5);
}
.plsa-title-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-3);
}
.plsa-section > .type-supporting { margin-block: var(--space-2) var(--space-4); }
.plsa-table { width: 100%; border-collapse: collapse; }
.plsa-table th,
.plsa-table td {
  padding: var(--space-2) var(--space-3);
  border-bottom: var(--border-thin);
  font-variant-numeric: tabular-nums;
}
.plsa-table .cat { text-align: left; }
.plsa-table .amt { text-align: right; }
.plsa-table tr.is-modified td { background: var(--color-information-surface); }
.plsa-table tr.is-modified .cat { box-shadow: inset 3px 0 var(--color-information); }
/* The comparison rows under the categories: a rule above them, the gap in
   muted text (a deficit takes the shared danger row), the target in bold. */
.plsa-table tfoot tr:first-child td { border-top: 2px solid var(--color-line); }
.plsa-table tfoot .plsa-total td { font-weight: 700; color: var(--color-text); }
.plsa-table tfoot .plsa-gap:not(.danger-row) td { color: var(--color-text-muted); }
.plsa-note { margin-top: var(--space-3); }
@media (max-width: 767px) {
  .plsa-section { padding: var(--space-4); }
  .plsa-table th,
  .plsa-table td { padding-inline: var(--space-1); }
  .plsa-table .cat { padding-inline-start: var(--space-3); }
}
