Design System
Identidad visual
Wordmark tipográfico minimalista. Tres letras en Inter 800
con tracking negativo (-2) para máxima densidad. Sin graphics
decorativos: el brand es la tipografía misma.
Reglas de uso: mantener el tracking negativo, no distorsionar, no agregar outlines ni drop shadows, no inclinar. Siempre alto contraste con el fondo.
Paleta de color
Primary · Ink (monochrome)
Escala neutral de grafito a blanco. zinc-900 (#18181b) es el primary.
Accent · Blue
Azul limpio para links, focus states y CTAs secundarios. Nada saturado ni cyan.
Estado · semánticos
Escala neutra
Tipografía
Sans: Inter (fallback SF Pro Text, system-ui).
Mono: JetBrains Mono (también usada en el terminal vps-cis).
Componentes @cis/ui
Live preview de los componentes React compartidos. Código fuente en
/srv/projects/cds/cis/cis-ui/src/components/.
Default card
Outlined variant. Border + padding.
Elevated card
Sombra en vez de border.
Uso en aplicaciones CIS
Todas las apps del ecosistema CIS (cis-admin, cis-inbox, cis-claudia, cis-status, cis-sii-monitor) consumen estos tokens + componentes. Patrón:
// app/layout.tsx
import "@core/core-style/brands/cis/tokens.css";
import { Header, Navbar, Footer, Button, Card } from "@cis/ui";
export default function RootLayout({ children }) {
return (
<html lang="es">
<body className="cis-brand">
<Header appName="cis-admin" appSubtitle="Intranet operacional" />
{children}
<Footer />
</body>
</html>
);
}
Importar tokens en cualquier CSS
@import "@core/core-style/brands/cis/tokens.css";
.mi-componente {
background: var(--cis-bg-surface);
color: var(--cis-text);
border: 1px solid var(--cis-border);
border-radius: var(--cis-radius-md);
padding: var(--cis-space-4);
font-family: var(--cis-font-sans);
}