Story-1695 pramaan-admin type-layer convergence

The central types hub is no longer a consumer import path

This third convergence slice repoints the remaining bare central barrel imports to their explicit generated-contract homes, leaving only the approved deep table type imports in place.

Generated contracts

Every remaining consumer that imported backend contract types through the central barrel now imports directly from @/gen/types/<Name>.

Legacy alias removed from consumers

The old FirmBilling consumer alias was replaced with generated FirmBillingResponse at billing card and fixture call sites. The shape is unchanged; only the import owner is now explicit.

Scope preserved

The story does not delete src/types/index.ts or any src/types/* file. That cleanup belongs to the next slice.

The cross-cutting @/types/data-table imports stay intact because they are the approved table helper surface for this story.

No generated files, OpenAPI snapshot, pramaan-functions code, pramaan-app code, i18n setup, or table dependency changed.

Observability

pramaan-docs ADR-124: instrumentation-exempt. This is import-path and type ownership cleanup and adds no executable workflow, route, handler, job, external call, or product-state mutation.

Verification proof

Required local verification: pnpm lint, pnpm exec tsc --noEmit, pnpm test, NEXT_PUBLIC_ENV=local pnpm build, pnpm build-storybook, and git diff --check.

Reference grep: grep -rn 'from "@/types"' src must return zero rows while @/types/data-table deep imports remain present.