Três paletas, não uma
Esta é a distinção que os boards de inspiração simplificam, e quase todo problema de dashboard tem origem nela. Três sistemas de cores compartilham uma única tela, cada um com uma função e um modo de falha diferentes.
| Função | Falha quando | |
|---|---|---|
| Neutros | Carregam 80–90% da tela: superfícies, bordas, corpo de texto, linhas de tabela | Poucos passos, de modo que uma tabela densa não tem nada para separar linhas, cabeçalhos e células desativadas |
| Semânticos | Significam algo: success, warning, danger, info | Um elemento decorativo utiliza a cor, e os usuários aprendem a ignorá-la |
| Categóricos | Distinguem as séries de dados umas das outras | Muitas tonalidades, ou tonalidades que colapsam para um leitor daltônico |
Uma paleta de marca que fica ótima em uma landing page geralmente fornece apenas uma dessas — uma cor de destaque — e nenhuma das outras duas. É por isso que a primeira tela do dashboard parece boa, mas a quinta parece três produtos costurados.
Em um dashboard, a cor de destaque é a cor mais rara da tela, não a mais visível.
Construa os neutros primeiro
Os neutros carregam a maior parte de um dashboard, e uma escala neutra rasa é o defeito estrutural mais comum. Uma tabela densa precisa separar, no mínimo: o fundo da página, o card onde a tabela está, a linha de cabeçalho, o estado de hover da linha, a borda entre linhas, o texto primário, o texto secundário e o texto desativado. Isso representa oito valores distinguíveis, e "três cinzas" não são suficientes para isso.
Duas coisas fazem uma escala neutra funcionar. Primeiro, dê a ela passos suficientes — cerca de nove, espaçados perceptualmente em vez de por aritmética de hexadecimais, que agrupa tudo no meio. Segundo, aplique matizes. Um neutro que carrega uma pequena quantidade da cor da sua marca é lido como parte do design; um cinza sem matiz é lido como o padrão do framework, porque ele é.
Token specimen · real values
Ambient Sage
Live renderAmbient Sage's actual tokens — the same values its exports use.
Color tokens
Ambient Sage
Core
background
H 72 · C0, 0, 2, 4
foreground
H 84 · C7, 0, 18, 89
card
H 70 · C0, 0, 3, 10
muted
H 80 · C1, 0, 3, 7
border
H 69 · C0, 0, 3, 15
Brand
primary
H 53 · C0, 8, 68, 0
primary-fg
H 84 · C7, 0, 18, 89
secondary
H 70 · C0, 0, 3, 10
accent
H 52 · C0, 8, 60, 3
ring
H 53 · C0, 8, 68, 0
Semantic
destructive
H 6 · C0, 70, 78, 25
destructive-fg
H 0 · C0, 0, 0, 0
success
H 130 · C61, 0, 51, 55
warning
H 35 · C0, 38, 91, 21
muted-fg
H 84 · C2, 0, 6, 66
Charts
chart-1
H 53 · C0, 8, 68, 0
chart-2
H 210 · C65, 33, 0, 17
chart-3
H 142 · C44, 0, 28, 25
chart-4
H 340 · C0, 48, 32, 12
chart-5
H 33 · C0, 30, 68, 9
Reserve as cores de status
Success, warning, danger e info não são decoração. No momento em que uma série de gráfico, um destaque de navegação ou um banner de marketing utiliza o seu vermelho, o vermelho deixa de significar "algo está errado" e os usuários param de procurá-lo. Esta é uma porta de sentido único: a atenção gasta com decoração não pode ser recuperada para o significado.
- Mantenha-as fora do conjunto categórico. Se você tem quatro séries e uma delas é verde, esse verde torna-se ambíguo em uma tela que também exibe o status de saúde.
- Não deixe a cor de destaque ser uma cor de status. Se a sua marca é verde e o verde também significa sucesso, ou a marca ou o significado precisam mudar. Geralmente a marca: altere a matiz ou a luminosidade do destaque o suficiente para que os dois nunca fiquem adjacentes e sejam lidos como a mesma coisa.
- Nunca dependa apenas da cor. Um status precisa de um ícone, um rótulo ou uma forma também. Isso é um requisito de acessibilidade e é também o que mantém a interface legível em um screenshot colado em um ticket de suporte.
- Dê a cada status uma variante de superfície. Um *badge* de perigo e um *fundo de banner* de perigo são cores diferentes; se você definir apenas uma, terá um banner que ou grita ou desaparece.
Quantas séries de dados você consegue colorir?
Seis ou sete, e a resposta honesta é que seis é onde começa a ficar difícil. A restrição não é estética: matizes distinguíveis com a mesma luminosidade são um recurso limitado e, quando cerca de oito delas estão em um único gráfico, séries adjacentes tornam-se suposições e a legenda vira uma tarefa de busca.
Esta é a parte em que um gerador de paletas não pode ajudar, porque o conjunto categórico deve ser julgado como um grupo e em relação aos neutros sobre os quais ele ficará. Abaixo estão duas paletas com formato de dashboard com seus papéis de chart-1 a chart-5 visíveis ao lado das superfícies — que é a única maneira de ver se a série quatro ainda é distinguível da série dois em um card.
Token specimen · real values
EarthDash
Live renderEarthDash's actual tokens — the same values its exports use.
Color tokens
EarthDash
Core
background
H 40 · C0, 0, 1, 2
foreground
H 0 · C0, 0, 0, 90
card
H 0 · C0, 0, 0, 0
muted
H 40 · C0, 2, 5, 6
border
H 39 · C0, 2, 6, 10
Brand
primary
H 23 · C0, 47, 76, 3
primary-fg
H 0 · C0, 0, 0, 90
secondary
H 40 · C0, 2, 5, 6
accent
H 60 · C0, 0, 72, 11
ring
H 23 · C0, 47, 76, 3
Semantic
destructive
H 6 · C0, 70, 78, 25
destructive-fg
H 0 · C0, 0, 0, 0
success
H 67 · C4, 0, 38, 56
warning
H 38 · C0, 31, 86, 9
muted-fg
H 27 · C0, 14, 25, 58
Charts
chart-1
H 0 · C0, 0, 0, 90
chart-2
H 38 · C0, 12, 32, 24
chart-3
H 67 · C4, 0, 38, 56
chart-4
H 23 · C0, 47, 76, 3
chart-5
H 60 · C0, 0, 72, 11
Leia os papéis do gráfico como uma linha, nunca um por um
Uma cor categórica não tem significado sozinha; ela só precisa diferir de suas vizinhas. Olhe para as cinco amostras do gráfico juntas — se quaisquer duas se fundirem, elas também se fundirão em um gráfico, e nenhuma quantidade de ajuste no hex individual corrigirá um conjunto que esteja compactado demais.
Ambos os conjuntos param em cinco, o que é deliberado e não uma limitação do formato.
O que fazer em vez disso, por ordem de preferência:
- Rotule diretamente. Coloque o nome da série ao final de sua linha. Isso remove a legenda, remove a busca e remove a maior parte da pressão sobre a cor.
- Agrupe a cauda. Mostre as cinco principais e um grupo "outros". Quase nenhum leitor de dashboard compara a série onze com a série doze.
- Divida o gráfico. Small multiples — uma série por painel, mesmos eixos — superam um gráfico com doze cores em quase qualquer tamanho.
- Varie algo além da matiz. Padrão de traço, formato do marcador ou textura de preenchimento, especialmente em impressões ou quando um screenshot puder ser convertido para escala de cinza.
Sequenciais e divergentes são problemas diferentes
Cores categóricas devem ser *igualmente* distinguíveis, sem ordem implícita. Uma escala sequencial — do baixo ao alto — deve variar principalmente na luminosidade para que a ordem seja legível, e uma escala divergente precisa de um ponto médio neutro com duas direções afastando-se dele. Usar uma paleta categórica para um heatmap é a versão mais comum deste erro, e faz com que os dados pareçam aleatórios.
Segurança para daltônicos, concretamente
Cerca de um em cada doze homens tem algum tipo de deficiência de visão cromática, e a forma mais comum torna difícil separar o vermelho do verde — o que é lamentável, pois vermelho e verde são exatamente o que os dashboards usam para ruim e bom.
As regras práticas são curtas. Varie a luminosidade, bem como a matiz, entre quaisquer duas cores que carreguem significado, para que permaneçam distinguíveis em escala de cinza. Nunca combine vermelho e verde como a única diferença entre dois estados. E para status, sempre adicione um segundo canal — um ícone, um sinal de mais ou menos, uma palavra — para que a cor seja um reforço e não a mensagem. Uma paleta que sobrevive a um screenshot em escala de cinza sobrevive a quase qualquer deficiência.
O modo escuro muda a resposta
Dashboards são usados em modo escuro mais do que a maioria das superfícies de produto, e uma paleta categórica ajustada para o branco não se transfere. Matizes saturadas de tom médio que são lidas com clareza no branco tendem a vibrar contra um fundo quase preto, e as duas ou três séries mais escuras simplesmente desaparecem.
Defina as cores das séries por modo em vez de convertê-las. O mesmo vale para sua escala de neutros: no modo escuro, superfícies elevadas são *mais claras* que o fundo, o que inverte o instinto de que um card é algo mais claro em uma página colorida. Os detalhes — incluindo valores de luminosidade medidos de paletas de produção — estão em paletas de cores para modo escuro que funcionam.
Ambient Sage
Live renderRendered from the kit's actual tokens, fonts, and treatments
Dashboard
Welcome back — here's how Ambient Sage is performing today.
Active users
15.1k
+5%Trending up this month
vs. previous 30 days
MRR
$49.1k
+3%Strong recurring growth
Net of churn
Retention
89%
+2%Engagement above target
Rolling 28-day window
NPS
69
+3Meets growth projections
Survey · n=1,204
Total revenue
Last 12 months
$49.1k+18.2%
Recent sales
You closed 265 deals this month.
Alex Rivera
alex@ambientsage.com
Mira Okonkwo
mira@ambientsage.com
Jonas Feld
jonas@ambientsage.com
Sana Qureshi
sana@ambientsage.com
Theo Lindgren
theo@ambientsage.com
Recent transactions
View all| Customer | Status | Date | Amount |
|---|---|---|---|
AR Alex Rivera Founder & CEO | Paid | 2m ago | $1,999.00 |
MO Mira Okonkwo Head of Product | Pending | 1h ago | $39.00 |
JF Jonas Feld Design Lead | Processing | 3h ago | $299.00 |
SQ Sana Qureshi Engineering Lead | Paid | Yesterday | $99.00 |
TL Theo Lindgren Brand Director | Refunded | 2d ago | $2,400.00 |
Typography
Plus Jakarta Sans
Color system
28 semantic roles, light + dark
Agent outputs
DESIGN.md, CSS, Tailwind, shadcn
Por que isso continua sendo reconstruído do zero
Cada vez mais, o dashboard é gerado em vez de projetado — pede-se a um agente uma tela de analytics e ele a produz. O que quer que o briefing não tenha especificado, o modelo fornece, e o fornece de forma nova a cada vez.
Amostramos 299 arquivos DESIGN.md públicos, documentos escritos especificamente para que um agente de código os siga. 86% fornecem valores hex puros sem nenhum papel semântico atribuído, o que significa que o arquivo não consegue responder "qual cor é uma célula de tabela desativada" ou "qual cor significa perigo". 69% nunca mencionam o modo escuro. Então o agente decide, e decide de forma diferente na próxima tela.
A solução é a mesma, quer seja uma pessoa ou um agente construindo: nomeie os papéis, defina-os em ambos os modos e anote quais cores estão reservadas. Uma paleta expressa como papéis é uma instrução; uma paleta expressa como cinco códigos hex é inspiração.
Verificações que detectam as falhas
- 1
Tire um screenshot da tabela mais densa e dessature-a
Se linhas, cabeçalhos, estados de hover e desativados deixarem de ser distinguíveis em escala de cinza, sua escala de neutros está muito plana e suas cores de status estão carregando o significado sozinhas.
- 2
Coloque todos os status na tela ao mesmo tempo
Sucesso, aviso, perigo e info juntos, como badge e como banner. É aqui que a ausência de uma variante de superfície aparece imediatamente.
- 3
Gere propositalmente um gráfico com oito séries
Não porque você deva publicá-lo assim, mas para descobrir onde sua paleta falha. Seja qual for esse número, projete o comportamento de "e outros" para um número abaixo dele.
- 4
Alterne para o modo escuro com um gráfico aberto
As duas séries mais escuras são as que desaparecem, e elas desaparecem silenciosamente.
- 5
Conte a cor de destaque
Em uma tela de dashboard bem projetada, o destaque aparece uma ou duas vezes. Se estiver em todo lugar, ele deixa de significar "esta é a ação".
Paletas definidas por funções, em ambos os modos
Cada kit aqui define seu conjunto completo de funções de cores para os modos claro e escuro — superfícies, bordas, texto suavizado, status e séries de gráficos — instaláveis como um único item do registro do shadcn. Kits gratuitos não exigem conta.
FAQ
Quantas cores uma paleta de dashboard deve ter?
Mais do que as pessoas esperam, porque são três paletas. Aproximadamente nove etapas neutras, quatro cores de status (cada uma com uma variante de badge e de superfície) e seis ou sete séries categóricas — todas definidas nos modos claro e escuro. Uma paleta de marca de cinco cores supre apenas uma dessas necessidades.
Quantas séries de dados consigo distinguir por cor?
Seis ou sete, na prática. Além disso, séries adjacentes tornam-se suposições e a legenda vira uma tarefa de busca. Melhores opções, em ordem: rotular as séries diretamente, agrupar o restante em um grupo 'outros', dividir em múltiplos pequenos ou variar o padrão de traço e a forma do marcador em vez de adicionar outra matiz.
E se a cor da minha marca também for uma cor de status?
Mova a marca, não o significado. Se o seu destaque é verde e verde significa sucesso, altere a matiz ou a luminosidade do destaque o suficiente para que os dois nunca sejam lidos como a mesma coisa quando adjacentes. Cores de status são aprendidas pelos usuários e não podem ser recuperadas após serem diluídas.
Posso usar minha paleta de marketing no dashboard?
Apenas como ponto de partida. Uma paleta de marketing geralmente oferece um destaque e algumas cores decorativas; um dashboard precisa de uma escala neutra profunda, um conjunto de status reservado e um conjunto categórico. Reutilize a família de matizes para que pareça um único produto e, então, construa as outras duas paletas adequadamente.
Como tornar a paleta de um dashboard acessível para daltônicos?
Varie a luminosidade, além da matiz, entre quaisquer duas cores que carreguem significado; nunca dependa apenas do vermelho versus verde como a única diferença entre estados e sempre adicione um segundo canal, como um ícone ou um rótulo. O teste mais rápido é dessaturar um screenshot: se ainda for legível em escala de cinza, estará seguro para quase qualquer deficiência visual.