Workmed Design System
Fundamentos

Tokens del sistema

Todos los tokens viven en :root y se consumen vía var(--…). Replica literalmente estos nombres en proyectos hermanos del ecosistema Workmed.


Color — paleta de marca #

Azul profundo como base, rojo como acento puntual. El gris cálido para fondos contrastantes.

Azul neutro
--wm-azul
#535A75
Azul oscuro · primario
--wm-azul-oscuro
#2D334E
Rojo · acento
--wm-rojo
#CC2D3B
Rojo hover
--wm-rojo-700
#A6232E
Gris cálido
--wm-gris
#E2E9EF
Negro · footer
--wm-negro
#0A0E1A

Derivados semánticos

Aliases que las pantallas consumen en vez de los colores de marca directos.

Fondo página
--bg
#FAFBFD
Fondo contrastante
--bg-soft
#E2E9EF
Texto principal
--fg
#2D334E
Texto secundario
--fg-muted
#535A75
Texto terciario
--fg-soft
#7A8197
Borde estándar
--line
#D5DCE5

Estados semánticos #

Paleta compartida por todos los contextos de estado: pills, bands, dots, deltas de KPI.

Estados
Éxito · Done Atención · In-progress Alerta · Urgent Info · Scheduled
EstadoForegroundBackground
Éxito / Done#1F8A5Brgba(31,138,91,.12)
Atención / In-progress#B57810rgba(217,150,30,.14)
Alerta / Urgent#CC2D3Brgba(204,45,59,.11)
Info / Scheduled#2D334Ergba(45,51,78,.08)

Tipografía #

Poppins (humanista), pesos 300–700. Body en 300 light — rasgo distintivo. Headings en 700 con tracking negativo agresivo.

h1 · clamp 44–88
-0.035em
Salud que acompaña
h2 · clamp 32–52
-0.028em
Evaluaciones psicolaborales
h3 · clamp 22–28
Calidad del sueño
.lead · 18–22 · w300
Screening estándar de competencias laborales para cargos operativos.
body · 16 · w300
Texto base del sistema, peso light, line-height 1.55.
.eyebrow · 12 · 0.16em
Categoría · sección

Radios #

Bordes pill para acción; bordes suaves para contenido; radios pequeños para inputs.

TokenValorUsoMuestra
--r-xs4pxBadges mínimos
--r-sm8pxInputs, nav lateral
--r-md12pxMini-cards, callouts
--r-lg18pxCards, paneles
--r-xl26pxHero card, forms
--r-pill999pxBotones, chips, tabs

Espacio & densidad #

Sistema doblemente parametrizado: cambia data-density="compact" en <html> para reducir el aire. Pruébalo:

Densidad
Paleta
TokenAireada (default)Compacta
--pad-section-y120px80px
--pad-card28px20px
--gap-card20px14px
--gap-section80px56px
ContenedorAncho
.containermin(1320px, 92vw)
.container-tightmin(1080px, 90vw)

Sombras #

Siempre tintadas en azul oscuro rgba(45,51,78,…), nunca negro puro. Esto evita el "gris muerto" de bibliotecas genéricas.

Elevaciones
--shadow-sm
--shadow-md
--shadow-lg

Transiciones #

CurvaUso
.15s easeMicrointeracción
.2s easeEstándar (hover de botón/card)
max-height .3s easeAcordeón / colapsable
translateY(-2px)Hover de cards + sombra
translateX(3px)Hover de flechas .arr

Iconografía #

Set de iconos stroke (no filled), viewBox 24, peso 1.6, que heredan currentColor. Inline 14–16px · en cards 18–24px · en contenedores cuadrados 44×44 / 56×56.

Set de iconos · assets/icons.svg

En contenedores

En hover de card el contenedor del icono se llena de --wm-rojo con icono blanco.

.eval-icon
Ver código
<svg class="ico"><use href="assets/icons.svg#ico-brain"></use></svg>

<!-- en contenedor cuadrado -->
<div class="eval-icon">
  <svg class="ico"><use href="assets/icons.svg#ico-sleep"></use></svg>
</div>