LZR Technologies Corp. · Design System v2.0 · Abril 2026
◆ Design System v2.0 · Floresta Noturna

Uma assinatura.
Todos os produtos.

Fundação visual e comportamental para os SaaS da LZR — do Green Copilot ao Snap CRM. Verde esmeralda, cinza-névoa e âmbar, em tipografia Jakarta sobre superfícies calmas. Desenhada para quem passa horas diante da tela, sem perder a identidade que faz o usuário dizer "isso é LZR".

Plus Jakarta Sans Lizard Green #2E8B57 radius 4px PT-BR · EN-US · ES-419
00 · Índice

19 seções · 4 áreas

Numeração linear, sem duplicatas. Cada seção referenciada por número estável — use-o em code reviews e discussões.

01 · Novidades v2.0

O que mudou desde v1.4

Refundação silenciosa. Mesma alma, arquitetura mais limpa.

Corrigido
  • Numeração linear — acabaram os "29 Internacionalização" após seção 30
  • Versão única v2.0 — sem mais v1.3 referenciado em meio a v1.4
  • Matriz cross-product — Green tem accent verde, Snap tem azul clínico, cada um com seu token explícito
  • Tokens "fantasma"--grad-hero, --shadow-accent e --text-placeholder agora definidos
  • Text-3 no day mode — movido de #8AA0A0 (3:1) para #6B7E72 (AA em 15px+)
Adicionado
  • Superfícies para uso prolongado — sage off-white #F4F7F4, sem branco puro; reduz fadiga visual em sessões longas
  • Trilha Desk/Note/Tablet-first substitui "Web first" — é onde o usuário de licitação de fato vive
  • JetBrains Mono substitui DM Mono — ligaduras, melhor legibilidade em dados numéricos densos
  • Text-placeholder como token dedicado — AA por padrão
  • Catálogo de componentes unificado por trilha de experiência
02 · Fundação

Cores

Derivadas do lagarto: verde esmeralda para ação, prata-sage para neutros, âmbar para momentos premium. O night mode "Floresta Noturna" mantém subtom verde em todas as superfícies — não é inversão de cinza.

Lizard Green · primária

950
950
#071A0F
900
900
#0D3320
800
800
#154D30
700
700
#1A6640
600
600
#227A4C
500 ★
500 accent
#2E8B57
400
400
#48A56E
300
300
#6EB98A
200
200
#9BCFAD
100
100
#C4E3CE
50
50
#E8F5EC

Sage · neutros com subtom verde

950
950
#070F0B
900
900
#0D1612
800
800
#16201A
700
700
#253028
600
600
#38463D
500
500
#4E6255
400
400
#6E8276
300
300
#9EB2A6
200
200
#C8D8CE
100
100
#E4EEE8
50
50 ★ bg
#F3F8F5

Amber Lizard · accent secundário

900
900
#4A2A0C
700
700
#8F5419
500 ★
500 accent2
#C97B2E
300
300
#E8A869
100
100
#F6DCBA
50
50
#FCF0E3
Quando usar âmbar

Badges Premium · Novo · Beta, CTAs de upgrade, highlights em dashboards financeiros, destaque de ações IA.

Nunca: como cor de erro, warning, background de página ou para sinalizar estado negativo.

A combinação verde + âmbar é a assinatura da LZR — contraste frio-quente que diferencia de todo SaaS corporativo azul/cinza.

Semânticos

Success
#2E8B57 → #3DAF6E
Warning
#C89020 → #E0A838
Error
#C24C4C → #D96868
Info
#3D8FAE → #4FA8CC
Daltonismo — regra obrigatória
~8% dos homens têm deuteranopia (deficiência na percepção do verde). Nunca use cor sozinha como indicador de estado. Sempre combine com ícone e texto. Ver seção 08.

Data Visualization · 8 cores, ordem obrigatória

dv-1
dv-2
dv-3
dv-4
dv-5
dv-6
dv-7
dv-8

Ordem não-negociável: sempre dv-1 → dv-2 → dv-3… O vermelho (dv-6) nunca inicia uma série — usuários lêem como erro. Em gráficos com >8 séries, dobre os tons (dv-1 escuro + dv-1 claro) ao invés de inventar cor nova.

03 · Fundação

Tipografia

Plus Jakarta Sans é UI. Syne é marca. JetBrains Mono é dado. Caveat é a exceção autorizada — post-its e anotações no Green Copilot.

Família primária
Plus Jakarta
UI · todo texto de interface. 400/500/600/700/800
Display · marca
Syne
Hero, landing, splash. Nunca em UI densa.
Monoespaçada
JetBrains Mono
Dados, tokens, labels, código.
Handwriting · exceção
Caveat
Só para post-its. Nunca em UI principal.

Escala

Display
Green Copilot
52px · Syne 700
H1
Gestão de licitações
32px · Jakarta 700
H2
Módulo de monitoramento
24px · Jakarta 600
H3
Análise automática de documentos
18px · Jakarta 600
Body LG
Monitore editais, gere impugnações e analise concorrentes com IA integrada ao portal.
16px · Jakarta 400
Body
A assinatura visual da LZR mantém consistência em todos os produtos — do Green Copilot ao Snap CRM.
15px · Jakarta 400 ★
Small
Atualizado há 3 minutos · v2.4.1 · Green Copilot
13px · Jakarta 400
Mono
const result = await edital.analyze(id)
13px · JetBrains Mono
Label
Módulo Ativo · Última sincronização 14:32
11px · Mono 500 · 0.16em
04 · Fundação

Espaçamento · escala 4pt

Só use esses valores. Combinações arbitrárias (7px, 13px, 21px) são proibidas — quebram o ritmo visual.

s1
4px
s2
8px
s3
12px
s4
16px ★
s5
24px
s6
32px
s7
48px
s8
64px
s9
96px
s10
128px
05 · Fundação

Radius · 4px é regra

Arredondado demais = casual. Em B2B jurídico-financeiro, precisão visual importa. Use 4px em 90% dos casos. Reserve 8/12px para modais e cards grandes; full só para pills e badges.

xs2px
sm ★4px
md8px
lg12px
fullpills
06 · Fundação

Motion · funcional, nunca decorativo

Em produtos para uso profissional prolongado, motion precisa ser rápido e discreto. Máximo 3 animações simultâneas por viewport. Sempre com fallback para prefers-reduced-motion.

Curvas de easing

ease-default
cubic-bezier(.4,0,.2,1) · 200ms
ease-spring
cubic-bezier(.34,1.56,.64,1) · 320ms
ease-fast
cubic-bezier(.4,0,.2,1) · 120ms
01
Rápido e preciso. 120ms para hover/click. 200ms para transições de estado. 320ms para entradas/saídas. Nunca mais que 480ms em UI.
02
Toda animação comunica algo. Transição de estado, direção de navegação, feedback de ação. Animações puramente decorativas são proibidas em produtos de produtividade.
03
Nunca animar layout. Preferir transform e opacity — rodam na GPU, não causam reflow. Nunca animar width, height, margin.
04
Entrada padrão: slide-up + fade. opacity 0→1 + translateY 12px→0. Use em cards, listas, modais. Stagger: índice × 40ms, máximo 5 itens.
07 · Fundação

Sombras

No day mode, sombras neutras escuras. No dark (Floresta Noturna), sombras mais opacas com hairline branco sutil — cinza frio é proibido no dark.

shadow-sm
Hover de card
shadow-md
Dropdown, popover
shadow-lg
Modal, drawer
shadow-accent
Btn primário hover
08 · Fundação

Acessibilidade

WCAG AA é piso, não teto. Contraste de texto funcional mínimo 4.5:1. Focus ring visível. Touch targets 44×44 em telas touch.

Texto primário · --text-1
~13:1
✓ AAA
Texto secundário · --text-2
~7:1
✓ AAA
Texto terciário · --text-3
~4.6:1
✓ AA
Placeholder · --text-placeholder
~5:1
✓ AA
Accent · --accent
~4.7:1
✓ AA
Daltonismo — 8% dos usuários homens

Verde é a cor primária e a mais afetada por deuteranopia. Toda indicação de estado precisa de reforço:

  • Cor + ícone + texto em todo badge, alert, toast, status
  • Em gráficos, diferenciar também por forma (■ ▲ ●) e padrão (hachurado, pontilhado)
  • Proibido: "clique no botão verde" em docs ou tooltips — referenciar por label
  • Testar em Chrome DevTools → Rendering → Emulate vision deficiencies
09 · Componentes

Botões

Variantes
Tamanhos
10 · Componentes

Formulários

Informe no formato UASG/ANO
⚠ Informe um CNPJ válido
Estados de input
11 · Componentes

Alertas & Badges

Impugnação aprovada
Protocolo #2025-0471 aceito pelo ComprasNet.
Prazo crítico
Edital encerra em 4 horas. Revise antes de enviar.
Falha na conexão
Portal PNCP indisponível. Tentando reconectar.
Atualização disponível
Green Copilot v2.5 pronto para instalação.
Badges
✓ Ativo Rascunho ⏱ Pendente ⏰ Crítico Em análise Novo ◆ Premium Beta
12 · Componentes

Tabelas

Padrão default. Para uso intensivo (licitação, listagem de editais), usar variante compact.

ÓrgãoObjetoValorPrazoStatus
Prefeitura de CuritibaServiços de TIR$ 2.400.000,0012/03/2025✓ Ativo
Governo do AmazonasEquipamentos hospitalaresR$ 8.750.000,0018/03/2025⏱ Pendente
DNIT — FederalPavimentação BR-174R$ 41.200.000,0025/03/2025✓ Ativo
Prefeitura de BelémMateriais de escritórioR$ 320.000,0004/03/2025⏰ Crítico
13 · Identidade

Logo & Marca

O lagarto 3D metálico com verde esmeralda é a identidade — precisão percebida, não futurismo performado.

LZR
✓ Fundo escuro (preferido)
LZR
✓ Fundo claro
LZR
✓ Fundo verde (momentos de marca)
✓ Faça
Respeite clearspace = altura do símbolo × 0.5. Use "LZR Tech" em UI e "LZR Technologies Corp." em docs jurídicos.
✕ Nunca
Desaturar, mudar cor, usar abaixo de 24px, simplificar o lagarto para flat 2D, ou sobrepor em fundos de baixo contraste.
14 · Identidade

Tom de voz

Clareza e precisão acima de tudo. Especialmente em contextos jurídicos, financeiros e de prazo crítico.

Contexto✕ Não✓ Sim
Erro de formulárioCampo inválido!Informe um CNPJ válido no formato 00.000.000/0000-00
Botão de açãoClique aqui / OKAnalisar edital · Salvar rascunho · Confirmar envio
Empty stateNenhum dado encontrado.Você ainda não tem editais monitorados. Adicione o primeiro agora.
SucessoOperação concluída com sucesso!Impugnação enviada. Protocolo #2025-0471 registrado.
Prazo/urgênciaURGENTE!!! Prazo acabando!Este edital encerra em 4 horas. Revise e envie antes do prazo.
LoadingCarregando... aguardeAnalisando documento · Isso pode levar alguns segundos
15 · Identidade

Produtos · mesmo DNA, personalidade própria

Cada produto herda a fundação (tipografia, radius, motion, componentes) e sobrescreve apenas superfície + accent via [data-product="..."].

Regras de consistência cross-product
  • Mesma tipografia: Jakarta (UI), JetBrains (mono), Syne (marca) — sem exceções.
  • Mesmos radius: 4px é a regra. Rounded demais = casual demais para SaaS B2B.
  • Mesmos componentes: botões, modais, tabelas, alerts são idênticos entre produtos. Só muda --accent.
  • Docs color-agnostic: diga "botão primário", nunca "botão verde". O verde pode ser azul em outro produto.
  • Trilha UX consistente: Green e Snap são Desktop / Notebook / Tablet-first — é onde o usuário vive.
16 · Dev

Tokens & Export

Três formatos de export para cobrir todos os cenários.

CSS Variables · tokens.css

/* Light (padrão) */
:root, [data-theme="light"] {
  /* Superfícies — sage off-white, nunca branco puro */
  --bg:         #F4F7F4;
  --surface:    #FFFFFF;
  --elevated:   #FBFDFB;
  --border:     #D8E2DB;
  /* Texto — graphite morno, AA+ garantido */
  --text-1:     #13201A;
  --text-2:     #425249;
  --text-3:     #6B7E72;
  --text-placeholder: #5A6E62;
  /* Accent — Lizard Green */
  --accent:     #2E8B57;
  --accent-hi:  #227A4C;
  --accent-lo:  #48A56E;
}

/* Dark — Floresta Noturna */
[data-theme="dark"] {
  --bg:         #0A1410;
  --surface:    #0F1C16;
  --text-1:     #D6EADC;
  /* ... */
}

Tailwind · tailwind.config.ts

export default {
  darkMode: ['selector', '[data-theme="night"]'],
  theme: {
    extend: {
      colors: {
        bg: 'var(--bg)',
        surface: 'var(--surface)',
        border: 'var(--border)',
        accent: 'var(--accent)',
      },
      fontFamily: {
        sans: ['Plus Jakarta Sans', 'sans-serif'],
        mono: ['JetBrains Mono', 'monospace'],
        display: ['Syne', 'sans-serif'],
      },
      borderRadius: { DEFAULT: '4px' },
    }
  }
}
17 · Dev

AI Setup · anti-alucinação

Quando Claude, Cursor ou Copilot forem usar este DS para criar um projeto LZR, devem seguir esta checklist antes de escrever qualquer componente.

Checklist obrigatório

tokens.css criado com todos os tokens (light + dark) deste DS
tailwind.config.ts configurado com tokens via var()
CLAUDE.md / .cursorrules atualizado com paleta e regras deste DS
design-tokens.json na raiz (fonte de verdade máquina-legível)
Toggle dark/light com persistência em localStorage
Fontes importadas: Plus Jakarta Sans · Syne · JetBrains Mono (+ Caveat se usar post-its)
Lucide Icons como biblioteca de ícones
Zero valores hardcoded — tudo via var(--token) ou classe Tailwind mapeada
Proibido — hardcoded values
/* ❌ ERRADO */
background: #F4F7F4;
color: #13201A;
border-radius: 4px;

/* ✅ CORRETO */
background: var(--bg);
color: var(--text-1);
border-radius: var(--r-sm);
18 · Dev

Trilhas de experiência

A LZR trabalha com duas trilhas: Desktop/Note/Tablet-first (Green Copilot, Snap CRM — onde o usuário passa horas) e Responsive (futuros apps que precisam funcionar bem em qualquer tela).

Trilha 1 · Desk / Note / Tablet First ★

Onde o usuário vive

Produtos: Green Copilot · Snap Aligner CRM · futuros SaaS B2B.

  • Desktop como tela primária (1280–1920px)
  • Sidebar + topbar + content area · grid 12 colunas
  • Tabelas densas com ordenação, filtros inline, expansão
  • Adapta para notebook (1024–1280px) sem perda de funcionalidade
  • Tablet (768–1024px) usa sidebar colapsável, tabelas com scroll horizontal
  • Mobile é "visualização de leitura" — não fluxo principal
  • Hover states essenciais · touch é "convidado"
Trilha 2 · Responsive

Adaptável sem compromisso

Produtos: apps com público mais amplo.

  • Layouts fluidos desde o início
  • Nenhuma funcionalidade depende exclusivamente de hover
  • Bento Grid 12 → 6 → 2 colunas
  • Touch targets ≥44px em todos os elementos interativos
  • Testes em 5 breakpoints: 1440 · 1024 · 768 · 480 · 375
19 · Dev

Versionamento

v2.0
Atual · Abr 2026 — Refundação: numeração linear, arquitetura cross-product limpa, tokens fantasma eliminados, trilha desk/note/tablet, superfícies sage off-white para conforto prolongado, JetBrains Mono substitui DM Mono, Blue Copilot consolidado como Green Copilot.
v1.4
Abr 2026 — Seção responsividade & breakpoints, density modes, tipografia responsiva.
v1.3
Mar 2026 — Day mode como padrão, seção AI Setup, toggle day/night/sunset obrigatório.
v1.2
Mar 2025 — Logo real, daltonismo, cross-product, motion strategy.
v1.0
Mar 2025 — Lançamento inicial · 30 seções.

MAJOR em breaking change de paleta, radius ou tipografia. MINOR em novo componente. PATCH em correções.