ClinAi
ClinAi · Design System v1.0

Interfaces clínicascom precisãotecnológica.

Um sistema branco, leve e cirúrgico — feito para dashboards de saúde que precisam parecer tão avançados quanto a medicina que entregam. Vidro fosco, glow sutil e dados que ganham vida ao rolar.

Pronto para SaaS clínicoAcessível AA/AAAFramer Motion
Ambiente clínico
ao vivo · 24 leitos
Ocupação
0%4%
Atendimentos+12%
1.284
01Fundamentos

Tipografia

Space Grotesk para títulos com personalidade geométrica, Inter para leitura e JetBrains Mono para rótulos técnicos. Carregadas via next/font (sem CDN), com display: swap.

Display 1

Saúde digital

family
Space Grotesk
weight
600
size
clamp 2.75–4.5rem
leading
0.96
tracking
-0.035em
Heading H1

Painel de operações

family
Space Grotesk
weight
600
size
clamp 2.5–3.75rem
leading
1.02
tracking
-0.03em
Heading H2

Indicadores clínicos

family
Space Grotesk
weight
600
size
clamp 2–3rem
leading
1.06
tracking
-0.025em
Heading H3

Agenda da unidade

family
Space Grotesk
weight
500
size
clamp 1.5–2.25rem
leading
1.12
tracking
-0.02em
Heading H4 / H5 / H6

Cartão de paciente

family
Space Grotesk
weight
500
size
1.5 / 1.25 / 1.06rem
leading
1.2–1.4
tracking
-0.015em
Body Large

Texto de leitura confortável para descrições, relatórios e conteúdo editorial dentro do produto.

family
Inter
weight
400
size
1.125rem
leading
1.65
tracking
0
Body / Body Small

Corpo padrão usado na maior parte da interface e em tabelas densas.

family
Inter
weight
400
size
1 / 0.875rem
leading
1.6 / 1.55
tracking
0
Label / Mono

STATUS · ATUALIZADO HÁ 2MIN

family
JetBrains Mono
weight
500
size
0.6875rem
leading
1
tracking
0.14em
02Fundamentos

Sistema de cores

Tokens em HSL (com hex/RGB documentados) expostos como CSS variables e utilitários Tailwind com modificadores de opacidade. Papéis semânticos cobrem primário, decorativo, neutro e feedback.

Canvasneutral · background
hex#F6F5F1
hsl48 22% 96%
rgb246 245 241

Fundo base da aplicação

Surfaceneutral · surface
hex#FFFFFF
hsl0 0% 100%
rgb255 255 255

Cards, painéis e menus

Primaryprimary · action
hex#0F9C8C
hsl173 82% 33%
rgb15 156 140

Ações, foco, links e gráficos

Primary Strongprimary · hover/active
hex#066B61
hsl175 90% 25%
rgb6 107 97

Hover e estados pressionados

Violetdecorative · gradient
hex#7C6CF0
hsl250 78% 64%
rgb124 108 240

Auroras, gradientes e glow

Inkneutral · text
hex#16161A
hsl240 8% 9%
rgb22 22 26

Texto primário (contraste AAA)

Successfeedback · positive
hex#2BA368
hsl152 58% 40%
rgb43 163 104

Confirmações e tendências +

Warningfeedback · attention
hex#EE9B0A
hsl35 92% 48%
rgb238 155 10

Alertas e pendências

Dangerfeedback · critical
hex#DC3434
hsl0 72% 51%
rgb220 52 52

Erros e ações destrutivas

Infofeedback · neutral
hex#0E9DD9
hsl200 88% 45%
rgb14 157 217

Mensagens informativas

03Biblioteca

Componentes

Cada componente é tipado em TypeScript e configurado por props (variant/size), nunca por classes soltas. Todos respeitam prefers-reduced-motion.

Buttons & Ações

Inputs & Campos

Usado para notificações de agenda.

Código inválido ou expirado.

Badges & Tooltips

Em atendimentoConfirmadoAguardandoCanceladoRotinaConvênio

Cards & Modais

Próxima consulta

Dra. Helena Costa

Cardiologia

Passe o mouse — o cartão acende um glow que segue o cursor (flashlight), traduzido das referências para tokens próprios.

Select & Listas

Define os procedimentos que o profissional pode realizar.

Selecione o estado da clínica para continuar.

Campo bloqueado enquanto a assinatura está inativa.

Switch & Alternâncias

Aceitar agendamento online

Pacientes podem reservar horários pelo app da clínica.

Cobrar sinal no agendamento

Exige pagamento parcial para confirmar a consulta.

Envio de lembrete por SMS

Disponível apenas no plano Clínica Pro.

Checkbox & Seleção Múltipla

Procedimentos que este profissional atende:

TimeRangeField & Horários

Segunda-feira
  • até
Terça-feira
  • até
  • até

As faixas de horário não podem se sobrepor. Revise os intervalos.

Feriados e recessos

Nenhuma faixa de horário ainda. Adicione a primeira abaixo.

Toasts & Feedback

Notificações empilháveis com auto-dismiss, acionadas via useToast().

04Aplicação

Elementos de dashboard

O sistema em ação: KPIs com count-up, gráficos SVG animados no scroll e tabelas com revelação progressiva — tudo claro, técnico e elegante, longe do dashboard comum.

Pacientes/mês
08%
Taxa de ocupação
0%4%
Tempo médio espera
0min6%
No-show
0%2%
Volume de atendimentos

Últimos 12 meses

+18% YoY
Por especialidade
100total
Atendimentos por dia
Seg
Ter
Qua
Qui
Sex
Sáb
Dom
Satisfação (NPS)
78%promotores
Receita do mês
R$ 482k
Agenda de hoje

Próximos atendimentos

5 registros
PacienteEspecialidadeHorárioStatusValor
Ana LimaCardiologia08:30ConfirmadoR$ 320
Bruno DiasOrtopedia09:15Em atendimentoR$ 280
Carla SouzaDermatologia10:00AguardandoR$ 210
Diego MartinsNeurologia10:45CanceladoR$ 0
Elisa RochaPediatria11:30ConfirmadoR$ 190
05Interação

Movimento & Ícones

Animações centralizadas em lib/animations.ts e reutilizadas via Framer Motion. Ícones do lucide-react estilizados pelos tokens.

  • Easing · cubic-bezier(0.16, 1, 0.3, 1)
  • whileInView · once
  • prefers-reduced-motion · respeitado
  • Stagger · 90ms
  • Framer Motion
  • Easing · cubic-bezier(0.16, 1, 0.3, 1)
  • whileInView · once
  • prefers-reduced-motion · respeitado
  • Stagger · 90ms
  • Framer Motion
fadeInUp

Sobe + de-blur

Dispara no scroll com whileInView, uma única vez.

scaleIn

Escala suave

Dispara no scroll com whileInView, uma única vez.

blurIn

Foco + zoom-out

Dispara no scroll com whileInView, uma única vez.

Masked text reveal

Movimentocom propósito

stethoscope
heart-pulse
syringe
pill
microscope
test-tube
thermometer
briefcase
calendar
user
activity
dashboard