findAll and findById filter on client.deletedAt = null so targets belonging to a soft-deleted client are invisible. The create guard also rejects soft-deleted clients. The raw SQL balance query now excludes soft-deleted time entries and projects from tracked totals.