refactor(frontend): Extract common components and types
- Create src/types/ with organized type files:
- api.types.ts, auth.types.ts, construction.types.ts
- estimates.types.ts, hse.types.ts, common.types.ts
- Create src/utils/ with utilities:
- formatters.ts (formatCurrency, formatDate, etc.)
- validators.ts (isValidEmail, isValidRFC, etc.)
- constants.ts (status options, color maps)
- Create src/components/common/ with reusable components:
- DataTable, Modal, ConfirmDialog
- FormField (TextInput, SelectField, TextareaField)
- StatusBadge, SearchInput, PageHeader
- ActionButtons, LoadingSpinner, EmptyState
- Refactor pages to use common components:
- FraccionamientosPage: 385 -> 285 lines
- PresupuestosPage: 412 -> 297 lines
- IncidentesPage: 741 -> 253 lines
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>