body { font-size: .925rem; }
.grid-presupuesto { border-collapse: separate; border-spacing: 0; }
.grid-presupuesto th, .grid-presupuesto td { white-space: nowrap; }
.grid-presupuesto thead th { position: sticky; top: 0; z-index: 2; background: var(--bs-body-bg); }
.grid-presupuesto td.depto, .grid-presupuesto th.depto { position: sticky; left: 0; background: var(--bs-body-bg); z-index: 1; text-align: left; }
.grid-presupuesto input { width: 100px; text-align: right; border: 1px solid transparent; background: transparent; }
.grid-presupuesto input:focus { border-color: var(--bs-primary); outline: none; }
.grid-presupuesto tfoot td, .grid-presupuesto td.total-depto { font-weight: 600; text-align: right; background: var(--bs-tertiary-bg); }
.num { text-align: right; font-variant-numeric: tabular-nums; }
.over-budget { color: var(--bs-danger); }
.under-budget { color: var(--bs-success); }

.ayuda h3 { margin-top: 1.75rem; }
.ayuda h3:first-of-type { margin-top: 0; }
.callout { display: flex; gap: .6rem; align-items: flex-start; background: var(--bs-tertiary-bg); border: 1px solid var(--bs-border-color); border-radius: .375rem; padding: .75rem 1rem; margin-bottom: .75rem; }
.callout i { color: var(--bs-primary); margin-top: .2rem; }
