Tema, estilos y componentes
Personaliza la marca conservando tokens semánticos y patrones del frontend.
El frontend documentado utiliza teal. El violeta de este portal pertenece a la documentación; no es el color instalado en el ERP.
Tokens que gobiernan el tema
Fuente: src/app/globals.css.
| Token | Claro | Oscuro | Uso |
|---|---|---|---|
| --primary | #0f766e | #2dd4bf | Acciones principales |
| --primary-foreground | #f0fdfa | #042f2e | Texto sobre primario |
| --ring | #14b8a6 | #0d9488 | Foco |
| --success | #00884b | #2ec18c | Resultado positivo |
| --warning | #8a6100 | #e9b928 | Atención |
| --radius | 0.625rem | Heredado | Radio base |
background, foreground, muted, border, input, card, popover y los
tokens sidebar-* completan las superficies. Los valores completos están en
:root y .dark; modifica ambos temas y verifica contraste sobre los fondos
reales. Las paletas chart-* y funnel-* distinguen series y niveles: no las
cambies sin comprobar legibilidad y diferenciación.
Clases semánticas
<section className="rounded-lg border bg-card p-6 text-card-foreground">
<h2 className="text-lg font-medium">Información del servicio</h2>
<p className="text-sm text-muted-foreground">Datos de la vertical</p>
</section>Usa cn de @/shared/lib/cn para componer clases. Evita introducir hexadecimales
en cada pantalla: un cambio de marca debe poder propagarse desde los tokens.
Tipografía
src/app/layout.tsx carga Inter y Geist Mono con next/font/google.
El frontend no usa las fuentes previstas para el portal como fuente implícita.
| Clase | Valor adicional declarado |
|---|---|
| text-2xs | 0.6875rem |
| text-3xs | 0.5rem |
| text-badge | 0.625rem |
La escala normal usa las utilidades Tailwind. Evita text-[Npx]: el guard
tipográfico lo rechaza. Para texto principal y formularios prioriza tamaños
legibles; la existencia de un token pequeño no lo hace adecuado para cada uso.
Primitivos shadcn
components.json define radix-nova, base neutral, variables CSS e iconos
Lucide. Los componentes viven en src/shared/ui y se importan mediante
@/shared/ui/*.
pnpm dlx shadcn@latest add accordionRevisa el diff que produzca el instalador antes de aceptar cambios sobre componentes ya personalizados. Conserva sus props de accesibilidad, foco y estado. Los patrones de shadcnblocks-admin son referencia de diseño; su código no debe copiarse ni redistribuirse en el frontend.