.finance-table .finance-amount { white-space: nowrap; font-variant-numeric: tabular-nums; }
.finance-table td { overflow-wrap: anywhere; }
.finance-table .finance-actions { white-space: nowrap; }
.finance-table button:disabled { opacity: .55; cursor: wait; }
.cash-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: 12px; margin-bottom: 16px; }
.cash-card { min-width: 0; padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: #fff; overflow-wrap: anywhere; }
.cash-heading { display: flex; justify-content: space-between; align-items: start; gap: 12px; margin-bottom: 12px; }
.cash-heading h2 { font-size: 17px; margin: 0; }
.cash-balance { font-size: 28px; font-weight: 850; margin: 4px 0 14px; font-variant-numeric: tabular-nums; }
.cash-balance.negative { color: var(--red); }
.cash-movements { display: flex; flex-wrap: wrap; gap: 16px; font-size: 12px; color: var(--muted); margin-bottom: 14px; }
.cash-movements b { display: block; color: var(--ink); margin-top: 3px; }
@media (max-width: 760px) {
  .finance-table, .finance-table tbody { display: block; }
  .finance-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .finance-table tr { display: block; padding: 12px; border-bottom: 1px solid var(--line); }
  .finance-table tr:last-child { border-bottom: 0; }
  .finance-table td { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 8px; padding: 5px 0; border: 0; }
  .finance-table td::before { content: attr(data-label); font-size: 11px; color: var(--muted); }
  .finance-table td.finance-actions { display: flex; justify-content: flex-end; padding-top: 10px; }
  .finance-table td.finance-actions::before { content: none; }
  .finance-table .finance-actions button { min-height: 44px; }
  #financeForm input, #financeForm select { font-size: 16px; }
  .cash-card .card-actions button { min-height: 44px; flex: 1; }
}
