Each theme now has a unique layout:
- Light: Standard fixed sidebar
- Vibrant: Horizontal top navigation
- Corporate: Compact sidebar (expands on hover)
- Dark: Floating sidebar with glass effect
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add tabs.tsx component
- Add select.tsx component
- Add formatCurrency utility function
- Export new components from index
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add apps/api/src/utils/errors.ts with AppError class
- Fix seed.ts timestamp casting for calendario_fiscal
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add navigation items for Reportes, Calendario, Alertas, Usuarios
- Add calendario_fiscal table creation in seed
- Insert demo fiscal events for all 12 months
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- API client with token refresh interceptor
- Auth API functions (login, register, logout, getMe)
- Auth store with Zustand persistence
- Auth layout with centered card design
- Login page with form validation
- Register page with company and user data
- Environment example file
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add complete authentication infrastructure including:
- Password hashing utilities with bcrypt
- JWT token generation and verification
- Auth service with register, login, refresh, and logout
- Auth controller with Zod validation
- Auth middleware for route protection
- Auth routes mounted at /api/auth
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>