Copiado!
Nutri · App de Nutricionista

Design
System

Sistema visual completo baseado na identidade da marca. Verde musgo orgânico + Rosê nude caramelo para mulheres jovens que buscam saúde e equilíbrio.

Verde Musgo #3D5A3E Rosê Nude #C4A882 Playfair Display Plus Jakarta Sans 30 componentes
01 — Marca

Brand & identidade

Versões da logo para diferentes fundos e contextos. Sempre preservando a legibilidade e a essência da marca.

Exportar →
Nutri Nutri Nutri
Versões da logo
Nutri dark
Nutri nude
Nutri light
Nutri minimal
Cores extraídas da identidade original
Verde musgo
#3D5A3E · Principal
Rosê nude
#C4A882 · Secundária
Creme
#F5EFE6 · Fundo
02 — Cores

Paleta de cores

Três famílias com 10 tons cada. O tom ★ é o tom central de cada família, usado nos componentes principais.

Exportar →
:root { /* Verde musgo */ --green-50: #F0F4EF; --green-100: #D4E0D2; --green-200: #A8C0A4; --green-300: #7A9E75; --green-400: #557A50; --green-500: #3D5A3E; --green-600: #2E4530; --green-700: #1E3020; --green-800: #111C12; --green-900: #070E07; /* Rosê nude */ --rose-50: #FAF5EE; --rose-100: #F0E4D0; --rose-200: #E2CAA8; --rose-300: #D4B080; --rose-400: #C4A882; --rose-500: #A8885E; --rose-600: #8A6840; --rose-700: #664C28; --rose-800: #3E2E16; --rose-900: #1E1609; /* Neutros */ --neutral-50: #FDFBF7; --neutral-100: #F5EFE6; --neutral-200: #E8DFD0; --neutral-300: #D4C9B8; --neutral-400: #B8AE9C; --neutral-500: #928880; --neutral-600: #6E6560; --neutral-700: #4A4440; --neutral-800: #2A2420; --neutral-900: #141008; } Verde: #F0F4EF #D4E0D2 #A8C0A4 #7A9E75 #557A50 #3D5A3E #2E4530 #1E3020 #111C12 #070E07 Rosê: #FAF5EE #F0E4D0 #E2CAA8 #D4B080 #C4A882 #A8885E #8A6840 #664C28 #3E2E16 #1E1609 Neutro:#FDFBF7 #F5EFE6 #E8DFD0 #D4C9B8 #B8AE9C #928880 #6E6560 #4A4440 #2A2420 #141008
Verde musgo — primária
50
#F0F4EF
100
#D4E0D2
200
#A8C0A4
300
#7A9E75
400
#557A50
500
#3D5A3E
★ base
600
#2E4530
700
#1E3020
800
#111C12
900
#070E07
Rosê nude / caramelo — secundária
50
#FAF5EE
100
#F0E4D0
200
#E2CAA8
300
#D4B080
400
#C4A882
★ base
500
#A8885E
600
#8A6840
700
#664C28
800
#3E2E16
900
#1E1609
Neutros creme / off-white
50
#FDFBF7
100
#F5EFE6
200
#E8DFD0
300
#D4C9B8
400
#B8AE9C
500
#928880
600
#6E6560
700
#4A4440
800
#2A2420
900
#141008
Cores semânticas
Sucesso
#3D5A3E / #F0F4EF
Meta atingida, confirmação
Atenção
#C49A20 / #FBF5E0
Alertas, pendências
Erro
#C44030 / #FAF0EE
Validação, falhas
Destaque
#C4A882 / #FAF5EE
Fase ativa, novidade
03 — Tipografia

Sistema tipográfico

Playfair Display para títulos com elegância orgânica. Plus Jakarta Sans para corpo e UI com clareza moderna.

Exportar →
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400&family=Plus+Jakarta+Sans:wght@300;400;500;600&display=swap'); /* Tipografia — Nutri Design System */ --font-display: 'Playfair Display', Georgia, serif; --font-body: 'Plus Jakarta Sans', system-ui, sans-serif; /* Display XL */ font: 400 52px/1.10 var(--font-display); /* Display L */ font: 400 40px/1.15 var(--font-display); /* Display M */ font: 400 32px/1.20 var(--font-display); /* Heading 1 */ font: 400 26px/1.25 var(--font-display); /* Heading 2 */ font: 600 20px/1.30 var(--font-body); /* Heading 3 */ font: 600 17px/1.35 var(--font-body); /* Heading 4 */ font: 600 15px/1.40 var(--font-body); /* Body L */ font: 400 16px/1.70 var(--font-body); /* Body M */ font: 400 14px/1.65 var(--font-body); /* Body S */ font: 400 13px/1.60 var(--font-body); /* Caption */ font: 400 11px/1.50 var(--font-body); /* Overline */ font: 600 10px/1.50 var(--font-body); letter-spacing: 0.14em; text-transform: uppercase;
Escala completa
Display XL
Playfair Display
52px · 400
lh 110% · ls -1px
Nutri
Display L
Playfair Display
40px · 400
lh 115%
Seu plano nutricional
Display M
Playfair Display
32px · 400
lh 120%
Alimentação saudável
Display M italic
Playfair Display
32px · 400 · italic
"Transformação começa hoje"
Heading 1
Playfair Display
26px · 400
lh 125%
Refeições de hoje
Heading 2
Plus Jakarta Sans
20px · 600
lh 130%
Resumo semanal
Heading 3
Plus Jakarta Sans
17px · 600
lh 135%
Proteínas do almoço
Heading 4
Plus Jakarta Sans
15px · 600
lh 140%
Seção de macros
Body L
Plus Jakarta Sans
16px · 400
lh 170%
Acompanhe sua evolução com planos alimentares personalizados e registros diários que fazem a diferença.
Body M
Plus Jakarta Sans
14px · 400
lh 165%
Pequenos hábitos consistentes constroem grandes transformações ao longo do tempo.
Body S
Plus Jakarta Sans
13px · 400
lh 160%
Dados atualizados com base nos seus registros diários.
Caption
Plus Jakarta Sans
11px · 400
lh 150%
Última sincronização · 14 jan 2025, 10:32
Label / Overline
Plus Jakarta Sans
10px · 600
ls 0.14em · uppercase
Seção de progresso
Pares tipográficos em contexto
Tela de onboarding
Bem-vinda à sua nova jornada
Criamos um plano único pensado em você, nos seus objetivos e no seu ritmo de vida.
Card de refeição
Almoço · 12h15
Frango grelhado, arroz integral, salada verde e azeite
Métrica numérica
1.847
calorias consumidas hoje
04 — Espaçamento

Espaçamento & grid

Escala baseada em múltiplos de 4px. Todos os valores garantem consistência visual em toda a interface.

Exportar →
/* Espaçamentos — Nutri Design System */ --sp-2: 2px; --sp-4: 4px; --sp-8: 8px; --sp-12: 12px; --sp-16: 16px; --sp-20: 20px; --sp-24: 24px; --sp-32: 32px; --sp-40: 40px; --sp-48: 48px; --sp-64: 64px; /* Border Radius — Nutri Design System */ --radius-xs: 6px; --radius-sm: 10px; --radius-md: 14px; --radius-lg: 20px; --radius-xl: 28px; --radius-pill: 100px; --radius-circle: 9999px;
Escala de espaçamentos
sp-2 · 2px
Divisores finos
sp-4 · 4px
Ícone + label
sp-6 · 6px
Gap badges
sp-8 · 8px
Padding chips
sp-12 · 12px
Gap lista
sp-16 · 16px
Padding horizontal
sp-20 · 20px
Padding vertical
sp-24 · 24px
Padding seções
sp-32 · 32px
Padding telas
sp-40 · 40px
Entre seções
sp-48 · 48px
Header de tela
sp-64 · 64px
Hero / splash
Border radius
xs · 6px
chip, tag
sm · 10px
input, badge
md · 14px
card sm
lg · 20px
card md
xl · 28px
modal
pill
botão
circle
avatar
05 — Iconografia

Sistema de ícones

36 ícones em stroke 1.5px, organizados por área do app. Clique em qualquer ícone para baixar o SVG individual.

Exportar →
🧭 Navegação geral
início ↓
voltar ↓
fechar ↓
buscar ↓
filtro ↓
menu ↓
check ↓
adicionar ↓
🥗 Alimentação
refeição ↓
receita ↓
alimento ↓
fruta ↓
foto prato ↓
código barra ↓
📊 Progresso & métricas
gráfico ↓
meta ↓
peso ↓
medida ↓
conquista ↓
favorito ↓
💧 Hidratação & sono
água ↓
copo ↓
sono ↓
horário ↓
🔔 Notificações & alertas
notificação ↓
info ↓
aviso ↓
consulta ↓
⚙️ Configurações & perfil
perfil ↓
ajustes ↓
editar ↓
deletar ↓
segurança ↓
sair ↓
💬 Social & extras
curtir ↓
compartilhar ↓
mensagem ↓
local ↓
download ↓
checklist ↓
Tamanhos e containers
16px
inline
20px
nav
24px
botão
verde 40
rosê 40
filled 40
circular 44
06 — Botões

Botões

3 tamanhos × 7 variantes × 3 estados. Todos com border-radius pill para o estilo orgânico da marca.

Exportar →
.btn{font-family:'Plus Jakarta Sans',sans-serif;font-weight:600;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .15s;border-radius:100px;} .btn:active{transform:scale(.97);} .btn-lg{height:56px;padding:0 36px;font-size:15px;} .btn-md{height:44px;padding:0 24px;font-size:14px;} .btn-sm{height:36px;padding:0 18px;font-size:13px;} .btn-primary{background:#3D5A3E;color:white;}.btn-primary:hover{background:#2E4530;} .btn-rose{background:#C4A882;color:white;}.btn-rose:hover{background:#A8885E;} .btn-outline-green{background:white;color:#3D5A3E;border:2px solid #3D5A3E;} .btn-outline-rose{background:white;color:#A8885E;border:2px solid #C4A882;} .btn-ghost-green{background:#F0F4EF;color:#2E4530;border:1px solid #A8C0A4;} .btn-ghost-rose{background:#FAF5EE;color:#8A6840;border:1px solid #E2CAA8;} .btn-disabled{opacity:.4;cursor:not-allowed;background:#F5EFE6;color:#928880;} .btn-icon{width:44px;height:44px;padding:0;border-radius:50%;justify-content:center;} <button class="btn btn-primary btn-lg">Salvar plano</button> <button class="btn btn-rose btn-md">Registrar</button> <button class="btn btn-outline-green btn-md">Ver evolução</button> <button class="btn btn-ghost-rose btn-md">Cancelar</button> <button class="btn btn-primary btn-icon"><svg ...></svg></button>
Grande — 56px
Médio — 44px (padrão)
Pequeno — 36px
Com ícone
Estados especiais
07 — Inputs

Campos de formulário

Inputs, selects e textareas com todos os estados: default, focus, erro, sucesso e desabilitado.

Exportar →
.input-label{font-size:12px;font-weight:600;color:#6E6560;margin-bottom:6px;display:block;} .input-base{height:46px;width:100%;padding:0 16px;border:1.5px solid #E8DFD0;border-radius:14px;font-family:'Plus Jakarta Sans',sans-serif;font-size:14px;color:#2A2420;background:white;outline:none;transition:border-color .15s;} .input-base::placeholder{color:#B8AE9C;} .input-base:focus{border-color:#557A50;box-shadow:0 0 0 4px #F0F4EF;} .input-error{border-color:#C44030;background:#FAF0EE;} .input-disabled{background:#FDFBF7;color:#B8AE9C;cursor:not-allowed;opacity:.6;} .input-hint{font-size:11px;color:#B8AE9C;margin-top:4px;} .input-hint-error{font-size:11px;color:#C44030;margin-top:4px;} textarea.input-base{height:auto;padding:12px 16px;resize:none;line-height:1.6;} <div> <label class="input-label">Nome</label> <input class="input-base" type="text" placeholder="Ex: Ana Lima"> <span class="input-hint">Dica de preenchimento</span> </div>
Default & focus
Como prefere ser chamada
kg
Campo em foco
Erro, sucesso & desabilitado
Formato de e-mail inválido
cm
✓ Valor válido
Campo somente leitura
08 — Badges & Chips

Badges, chips e tags

Sistema de labels para status, categorias de nutrientes, métricas e contagens.

Exportar →
.badge{display:inline-flex;align-items:center;gap:5px;border-radius:100px;font-size:11px;font-weight:600;padding:4px 12px;} .badge-dot{width:6px;height:6px;border-radius:50%;} .badge-green{background:#D4E0D2;color:#111C12;} .badge-rose{background:#F0E4D0;color:#3E2E16;} .badge-neutral{background:#E8DFD0;color:#4A4440;} .badge-warn{background:#FBF5E0;color:#6B4F10;} .chip-tag{display:inline-flex;align-items:center;border-radius:100px;font-size:12px;font-weight:500;padding:5px 14px;} .chip-green{background:#F0F4EF;color:#2E4530;border:1px solid #A8C0A4;} .chip-rose{background:#FAF5EE;color:#8A6840;border:1px solid #E2CAA8;} .chip-amber{background:#FFFBEB;color:#78350F;border:1px solid #FDE68A;}
Status
Meta atingida Em andamento Atenção Pendente Erro
Macronutrientes
Proteínas Carboidratos Gorduras Vitaminas Fibras Minerais
Métricas numéricas
3 12 Novo 1.847 kcal −2,3 kg IMC 22.8 62,4 kg 28 dias
09 — Cards

Cards de componentes

Cards de paciente, progresso nutricional, lista de refeições e métricas.

Exportar →
<div class="patient-card"> <div class="header"> <div class="avatar">A</div> <div><p class="name">Ana Lima</p><p class="sub">14 jan 2025</p></div> <span class="badge badge-green">Ativa</span> </div> <div class="metrics"> <div class="metric"><span>Peso</span><strong>62 kg</strong></div> <div class="metric"><span>Altura</span><strong>165 cm</strong></div> <div class="metric"><span>IMC</span><strong>22,8</strong></div> </div> </div> <div class="progress-wrap"> <div class="progress-top"> <span>Proteínas</span><span>68 / 90g</span> </div> <div class="progress-track"> <div class="progress-bar" style="width:75%;background:#3D5A3E"></div> </div> </div> <div class="meal-item"> <div class="meal-dot" style="background:#E2CAA8"></div> <div><p>Café da manhã</p><small>07:30</small></div> <span>380 kcal</span> </div>
Card de paciente
A
Ana Lima
Consulta · 14 jan 2025
Ativa

Peso
62 kg
Altura
165 cm
IMC
22,8
Cards de métricas
Calorias hoje
1.847
de 2.000 kcal
Peso atual
62,4
kg · −0,6/semana
Água
1,8
de 2,5 L
Dias no plano
28
de 90 dias
Progresso nutricional
Proteínas68 / 90g
Carboidratos180 / 200g
Gorduras32 / 55g
Água1,8 / 2,5L
Lista de refeições
Café da manhã
07:30
380 kcal
Almoço
12:15
620 kcal
Lanche da tarde
15:45
210 kcal
Jantar
Planejado · 19:00
10 — Etapas

Etapas do atendimento

Fluxo visual de 5 etapas com 3 estados: concluída (verde), ativa (nude) e pendente (dashed).

Exportar →
.step-item{display:flex;gap:16px;} .step-connector{display:flex;flex-direction:column;align-items:center;width:48px;flex-shrink:0;} .step-circle{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;} .step-circle-done{background:#3D5A3E;} .step-circle-active{background:#C4A882;box-shadow:0 0 0 5px #F0E4D0;} .step-circle-pending{background:white;border:2px dashed #D4C9B8;} .step-line{width:2px;flex:1;min-height:24px;margin:4px 0;} .step-line-done{background:#7A9E75;} .step-line-pending{background:#E8DFD0;} <div class="step-item"> <div class="step-connector"> <div class="step-circle step-circle-done">✓</div> <div class="step-line step-line-done"></div> </div> <div class="step-content"> <p class="step-title">Cadastro inicial</p> <p class="step-desc">Dados preenchidos.</p> </div> </div>
Cadastro inicial concluída

Dados pessoais, histórico de saúde e objetivos preenchidos com sucesso.

Primeira consulta em andamento

Avaliação antropométrica e definição das metas nutricionais personalizadas.

Próxima sessão · 15 jan, 14h30 — Dra. Carla Ferreira

Plano alimentar pendente

Cardápio semanal personalizado com substituições inteligentes elaborado após a consulta.

Acompanhamento pendente

Registros diários, evolução de peso e relatórios de progresso quinzenais.

Alta nutricional pendente

Relatório final e orientações de manutenção a longo prazo.

11 — Fases

Fases do programa

4 fases com identidade visual distinta. Verde musgo para concluídas, nude para ativas, neutro para bloqueadas.

Exportar →
.phase-card{background:white;border-radius:28px;border:1px solid #E8DFD0;overflow:hidden;margin-bottom:12px;} .phase-card-active{border:2px solid #D4B080;box-shadow:0 0 0 4px #FAF5EE;} .phase-card-blocked{opacity:.55;} .phase-header{padding:18px 22px;display:flex;align-items:center;gap:14px;} .phase-icon-box{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;} .phase-badge{margin-left:auto;font-size:10px;font-weight:600;padding:4px 12px;border-radius:100px;} <div class="phase-card"> <div class="phase-header" style="background:#3D5A3E"> <div class="phase-icon-box" style="background:#2E4530"><!--icon--></div> <div><p style="color:white">Fase 1 — Diagnóstico</p></div> <span class="phase-badge" style="background:#2E4530;color:#D4E0D2">Concluída</span> </div> <div class="phase-body"> <p>Descrição da fase.</p> </div> </div>
Fase 1 — Diagnóstico
Semanas 1–2 · Avaliação completa
Concluída

Avaliação completa do estado nutricional, histórico alimentar, exames laboratoriais e definição de objetivos realistas.

Anamnese Bioimpedância Exames Objetivos
Fase 2 — Adaptação
Semanas 3–6 · Plano ativo
Ativa

Implementação gradual do plano alimentar com substituições inteligentes e criação de novos hábitos sustentáveis.

Semana 4 de 475%
Cardápio semanal Registro diário Substituições
Fase 3 — Consolidação
Semanas 7–10
Bloqueada
Fase 4 — Manutenção
Semanas 11–16
Bloqueada
12 — Alertas

Alertas e notificações

4 variantes semânticas: sucesso, atenção, aviso e informativo.

Exportar →
.alert{border-radius:14px;padding:14px 18px;display:flex;align-items:flex-start;gap:12px;margin-bottom:10px;} .alert-icon{width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0;} .alert-title{font-size:13px;font-weight:600;margin-bottom:2px;} .alert-desc{font-size:12px;line-height:1.5;} .alert-success{background:#F0F4EF;border:1px solid #A8C0A4;}.alert-success .alert-icon{background:#3D5A3E;} .alert-rose{background:#FAF5EE;border:1px solid #E2CAA8;}.alert-rose .alert-icon{background:#C4A882;} .alert-warn{background:#FBF5E0;border:1px solid #E8D8A0;}.alert-warn .alert-icon{background:#C49A20;} .alert-info{background:#FDFBF7;border:1px solid #E8DFD0;}.alert-info .alert-icon{background:#6E6560;} <div class="alert alert-success"> <div class="alert-icon"><!-- ícone --></div> <div> <div class="alert-title">Título do alerta</div> <div class="alert-desc">Descrição do alerta.</div> </div> </div>
Meta semanal atingida!
Você completou 5 dias de registro consecutivos. Continue assim!
Lembrete de hidratação
Você ainda não atingiu a meta de 2,5L de água hoje. Beba mais!
Consulta em 2 dias
Quarta-feira, 15h — Dra. Carla Ferreira. Não esqueça de registrar seus dados.
Novo artigo disponível
A nutricionista publicou dicas sobre alimentação anti-inflamatória.
Exportar

Tokens para Figma

Cole no plugin Tokens Studio for Figma. Paleta completa com todas as famílias de cor, tipografia, espaçamentos e border radius.

Exportar →
{
  "global": {
    "color": {
      "green": {
        "50":  { "value": "#F0F4EF", "type": "color" },
        "100": { "value": "#D4E0D2", "type": "color" },
        "200": { "value": "#A8C0A4", "type": "color" },
        "300": { "value": "#7A9E75", "type": "color" },
        "400": { "value": "#557A50", "type": "color" },
        "500": { "value": "#3D5A3E", "type": "color", "description": "★ base — verde musgo" },
        "600": { "value": "#2E4530", "type": "color" },
        "700": { "value": "#1E3020", "type": "color" },
        "800": { "value": "#111C12", "type": "color" },
        "900": { "value": "#070E07", "type": "color" }
      },
      "rose": {
        "50":  { "value": "#FAF5EE", "type": "color" },
        "100": { "value": "#F0E4D0", "type": "color" },
        "200": { "value": "#E2CAA8", "type": "color" },
        "300": { "value": "#D4B080", "type": "color" },
        "400": { "value": "#C4A882", "type": "color", "description": "★ base — rosê nude" },
        "500": { "value": "#A8885E", "type": "color" },
        "600": { "value": "#8A6840", "type": "color" },
        "700": { "value": "#664C28", "type": "color" },
        "800": { "value": "#3E2E16", "type": "color" },
        "900": { "value": "#1E1609", "type": "color" }
      },
      "neutral": {
        "50":  { "value": "#FDFBF7", "type": "color" },
        "100": { "value": "#F5EFE6", "type": "color" },
        "200": { "value": "#E8DFD0", "type": "color" },
        "300": { "value": "#D4C9B8", "type": "color" },
        "400": { "value": "#B8AE9C", "type": "color" },
        "500": { "value": "#928880", "type": "color" },
        "600": { "value": "#6E6560", "type": "color" },
        "700": { "value": "#4A4440", "type": "color" },
        "800": { "value": "#2A2420", "type": "color" },
        "900": { "value": "#141008", "type": "color" }
      }
    },
    "spacing": {
      "2":  { "value": "2",  "type": "spacing" },
      "4":  { "value": "4",  "type": "spacing" },
      "8":  { "value": "8",  "type": "spacing" },
      "12": { "value": "12", "type": "spacing" },
      "16": { "value": "16", "type": "spacing" },
      "20": { "value": "20", "type": "spacing" },
      "24": { "value": "24", "type": "spacing" },
      "32": { "value": "32", "type": "spacing" },
      "40": { "value": "40", "type": "spacing" },
      "48": { "value": "48", "type": "spacing" },
      "64": { "value": "64", "type": "spacing" }
    },
    "borderRadius": {
      "xs":   { "value": "6",   "type": "borderRadius" },
      "sm":   { "value": "10",  "type": "borderRadius" },
      "md":   { "value": "14",  "type": "borderRadius" },
      "lg":   { "value": "20",  "type": "borderRadius" },
      "xl":   { "value": "28",  "type": "borderRadius" },
      "pill": { "value": "100", "type": "borderRadius" }
    },
    "fontFamily": {
      "display": { "value": "Playfair Display", "type": "fontFamilies" },
      "body":    { "value": "Plus Jakarta Sans", "type": "fontFamilies" }
    },
    "fontSize": {
      "xs":  { "value": "11", "type": "fontSizes" },
      "sm":  { "value": "13", "type": "fontSizes" },
      "md":  { "value": "14", "type": "fontSizes" },
      "lg":  { "value": "16", "type": "fontSizes" },
      "xl":  { "value": "20", "type": "fontSizes" },
      "2xl": { "value": "26", "type": "fontSizes" },
      "3xl": { "value": "32", "type": "fontSizes" },
      "4xl": { "value": "40", "type": "fontSizes" },
      "5xl": { "value": "52", "type": "fontSizes" }
    },
    "fontWeight": {
      "light":    { "value": "300", "type": "fontWeights" },
      "regular":  { "value": "400", "type": "fontWeights" },
      "medium":   { "value": "500", "type": "fontWeights" },
      "semibold": { "value": "600", "type": "fontWeights" }
    }
  }
}
Como importar no Figma
  1. Instale o plugin Tokens Studio for Figma
  2. Abra o plugin → clique no ícone {} (canto superior direito)
  3. Apague o conteúdo existente e cole o JSON acima
  4. Clique em Save — os tokens aparecem organizados por categoria
  5. Selecione elementos no canvas e clique em Apply to selection