Pular para o conteúdo

Tokens

Referência completa dos tokens semânticos que componentes consomem via utilitários Tailwind. Para paletas primitivas, veja /estilos/cores.

Arquitetura

Duas camadas

Camada 1

Primitivas

Paleta crua do Figma com escala numérica 50-950 e valores para claro e escuro. Não usar diretamente em componentes. Documentadas em /estilos/cores.

--itps-primary-900: #EB5E57

Camada 2

Semânticos e compatibilidade shadcn

Intenção de interface. Mapeia primitivas a papéis do sistema como brand, background, foreground, primary e card. É o contrato dos componentes via utilitários Tailwind.

--brand: var(--itps-primary-900)
--primary: var(--itps-secondary-900)

Vocabulário ≠ intenção

#EB5E57 é cor. --brand é intenção visual de marca. Trocar primitiva sem tocar componente concentra a mudança em uma linha.

Modo escuro = primitivas por estado

A classe .dark troca os valores de --itps-*; semânticos só sobrescrevem pares de contraste.

Sem camada extra de estado

Estados como hover, foco e ativo usam modificadores de opacidade (bg-primary/90) ou regra local documentada.

Superfícies

Fundos da aplicação. Pares `-foreground` definem o texto que vai sobre cada superfície e preservam contraste WCAG AA contra o fundo correspondente.

--background → --itps-base-0
Claro #FFFFFF
Escuro #030F1C

Canvas raiz da aplicação (body e layout)

--foreground → --itps-base-950
Claro #030F1C
Escuro #FFFFFF

Texto principal sobre background

--card → --itps-base-50
Claro #F9FAFB
Escuro #0C1E31

Canvas elevado para cards e painéis

--card-foreground → --itps-base-950
Claro #030F1C
Escuro #FFFFFF

Texto sobre card

--popover → --itps-base-0
Claro #FFFFFF
Escuro #030F1C

Fundo de popover, dropdown e tooltip

--popover-foreground → --itps-base-950
Claro #030F1C
Escuro #FFFFFF

Texto sobre popover

--muted → --itps-base-100
Claro #EDF0F2
Escuro #243242

Contêiner sutil para chip, tag e estado hover

--muted-foreground → --itps-base-800
Claro #243242
Escuro #EDF0F2

Texto secundário: label, ajuda e metadado

Marca

`brand` é o coral de identidade visual Sinapse. `primary` permanece azul para compatibilidade shadcn em ações principais de bibliotecas externas.

--brand → --itps-primary-900
Claro #EB5E57
Escuro #FF4C43

Acentos visuais de marca, títulos editoriais e detalhes Sinapse

--brand-foreground → --itps-base-0
Claro #FFFFFF
Escuro #030F1C

Texto sobre brand

--primary → --itps-secondary-900
Claro #1961AC
Escuro #4797EB

Ações principais em shadcn/ui, shadcn-vue e ports compatíveis

--primary-foreground → --itps-base-0
Claro #FFFFFF
Escuro #030F1C

Texto sobre primary azul

--secondary → --itps-secondary-50 / --itps-secondary-25
Claro #F8FAFC
Escuro #021427

Superfície azul institucional sutil

--secondary-foreground → --itps-secondary-900
Claro #1961AC
Escuro #4797EB

Texto sobre secondary

--accent → --itps-terciary-100
Claro #DFE7E7
Escuro #18242F

Superfície neutra esverdeada para destaques sutis

--accent-foreground → --itps-base-950
Claro #030F1C
Escuro #FFFFFF

Texto sobre accent

--destructive → --itps-primary-900
Claro #EB5E57
Escuro #FF4C43

Botões e áreas de ação destrutiva

--destructive-foreground → --itps-base-950 / --itps-base-0
Claro #030F1C
Escuro #030F1C

Texto sobre destructive

Feedback

Cores semânticas de status. Em modo escuro, foregrounds críticos usam base-0 para preservar contraste. Warning usa base-0 sobre amarelo em modo escuro.

--danger → --itps-primary-900
Claro #EB5E57
Escuro #FF4C43

Alias de destructive para feedback negativo crítico

--danger-foreground → --itps-base-950 / --itps-base-0
Claro #030F1C
Escuro #030F1C

Texto sobre danger

--success → --itps-success-900
Claro #00804D
Escuro #089B61

Estado de sucesso (verde)

--success-foreground → --itps-base-0
Claro #FFFFFF
Escuro #030F1C

Texto sobre success

--warning → --itps-alert-900
Claro #F0C653
Escuro #F0C653

Atenção / não-crítico (amarelo)

--warning-foreground → --itps-base-950 / --itps-base-0
Claro #030F1C
Escuro #030F1C

Texto sobre warning (11.85:1 AAA em light)

--info → --itps-secondary-900
Claro #1961AC
Escuro #4797EB

Mensagens informativas (azul)

--info-foreground → --itps-base-0
Claro #FFFFFF
Escuro #030F1C

Texto sobre info

Bordas e campos

Tokens estruturais para separação visual e estados de foco. `ring` é o anel de foco acessível e usa o azul institucional.

--border → --itps-base-100
Claro #EDF0F2
Escuro #243242

Bordas padrão: cards, divisores e separadores

--input → --itps-base-200
Claro #C4CCD4
Escuro #394C60

Borda de inputs e form controls

--ring → --itps-secondary-900
Claro #1961AC
Escuro #4797EB

Focus ring acessível em azul institucional

Gráficos

Cinco slots categóricos para dashboards epidemiológicos: vírus, regiões e períodos. Mapeados a primitivas e refináveis quando os dashboards forem implementados.

--chart-1 → --itps-secondary-900
Claro #1961AC
Escuro #4797EB

Série 1 — azul institucional

--chart-2 → --itps-success-800
Claro #09AA69
Escuro #61AB92

Série 2 — verde

--chart-3 → --itps-alert-900
Claro #F0C653
Escuro #F0C653

Série 3 — amarelo

--chart-4 → --itps-primary-900
Claro #EB5E57
Escuro #FF4C43

Série 4 — coral

--chart-5 → --itps-secondary-500
Claro #6C9FD5
Escuro #406996

Série 5 — azul claro

Radius

Curvaturas semânticas por uso. `radius` é o alias shadcn de 8px. Tokens `rounded-*` são por contexto: card 12px, form pílula e circle pílula.

--radius
0.5rem

Alias shadcn — 8px (default genérico)

--rounded-card
0.75rem

Cards, painéis e contêineres — 12px

--rounded-form
9999px

Botões e controles em formato pílula

--rounded-circle
9999px

Avatares, badges circulares e pontos de status

Efeitos

Sombras tintadas por `secondary/opacity/950-10%` em claro e escuro. Composição em duas camadas: próxima nítida e distante suave.

--shadow-medium
claro
escuro

Cards e dropdowns pequenos

--shadow-large
claro
escuro

Overlays, painéis laterais e modais

--shadow-extra-large
claro
escuro

Pop-ups e elementos flutuantes críticos

--blur-small
blur(4px)

Desfoque de fundo em overlays e drawers