nimble.
Um sistema de design construído para velocidade, clareza e execução. Produtos em dias, não semanas.
Princípios
O sistema inteiro é construído sobre três pilares. Se algo viola esses princípios, está errado.
Paleta de Cores
Cinco famílias de cor, cada uma com escala completa de 50 a 900. Coral é a voz da marca. Verde é confirmação e ação. Roxo é inteligência.
Tipografia
Syne. Geométrica, moderna, com personalidade forte. Funciona igualmente bem em títulos enormes e texto de corpo.
Espaçamento
Escala baseada em múltiplos de 4px. Use os tokens, nunca valores arbitrários.
Border Radius
Sombras
Motion
Animações devem ser rápidas e propositais. Hover nos cards para ver os exemplos.
Grid System
12 colunas, gap 16px. Breakpoints: sm(480), md(768), lg(1024), xl(1280).
Botões
Hierarquia clara: Primary (Coral) para ação principal, Secondary (Verde) para confirmação, Ghost para ações terciárias.
Inputs
Cards
Pacaembu Arena
Site de alto volume, lançado em 3 meses com alto nível de interações e referência em múltiplos canais.
Time sob demanda
Acesso imediato a especialistas em React, Python, LLM e Low-code. Sem contrato de longo prazo.
Produtos com IA
Integramos LLMs diretamente nas soluções para acelerar tanto o desenvolvimento quanto a experiência do usuário.
Alerts
Modal
Confirmar proposta
Você está prestes a confirmar a proposta comercial para o projeto Lactogal. Essa ação irá iniciar o processo de kick-off.
Tags & Chips
Loaders
Chat Components
Componentes específicos para interfaces de IA, um diferencial central da Nimble.
Design Tokens JSON
// tokens.json — Nimble Design System v1.0 { "color": { "coral": { "50": "#FDF3F0", "100": "#FAE2DA", "300": "#EDA082", "400": "#E57A5A", // ← primary "500": "#D96040", "700": "#8C3420" }, "green": { "300": "#B4D19C", // ← secondary "500": "#82AD64" }, "purple": { "400": "#B4A7D6" // ← accent/AI }, "navy": { "800": "#0C1738" // ← dark }, "base": { "100": "#FAF5F5" // ← background } }, "spacing": { "1": "4px", "2": "8px", "4": "16px", "6": "24px", "8": "32px", "12": "48px", "16": "64px", "24": "96px" }, "radius": { "sm": "4px", "md": "8px", "lg": "12px", "xl": "16px", "2xl": "24px", "full": "9999px" }, "typography": { "fontFamily": "'Syne', sans-serif", "sizes": { "xs": "11px", "sm": "13px", "base": "15px", "xl": "24px", "4xl": "56px", "5xl": "72px" } } }
Tailwind Config
// tailwind.config.js const nimbleTokens = require('./tokens.json'); module.exports = { content: ['./src/**/*.{js,ts,jsx,tsx}'], theme: { extend: { fontFamily: { sans: ['Syne', 'sans-serif'], display: ['Syne', 'sans-serif'], }, colors: { coral: { 50: '#FDF3F0', 100: '#FAE2DA', 300: '#EDA082', 400: '#E57A5A', /* primary */ 500: '#D96040', 600: '#B84830', 700: '#8C3420' }, green: { 50: '#F4FAF0', 100: '#E4F2D8', 300: '#B4D19C', /* secondary */ 500: '#82AD64', 700: '#4A6835' }, purple: { 100: '#EAE6F6', 400: '#B4A7D6', /* accent */ 700: '#5C4E98' }, navy: { 700: '#0C1F50', 800: '#0C1738', /* dark */ 900: '#06102A' }, base: { 100: '#FAF5F5', 200: '#F0E8E8', 300: '#E0D4D4', 500: '#B09898' } }, spacing: { '1': '4px', '2': '8px', '3': '12px', '4': '16px', '6': '24px', '8': '32px', '12': '48px', '16': '64px', '24': '96px' }, borderRadius: { sm: '4px', md: '8px', lg: '12px', xl: '16px', '2xl': '24px', full: '9999px' }, boxShadow: { sm: '0 1px 2px rgba(12,23,56,0.06)', md: '0 4px 12px rgba(12,23,56,0.08)', lg: '0 8px 24px rgba(12,23,56,0.12)', xl: '0 16px 48px rgba(12,23,56,0.16)', 'glow-coral': '0 0 24px rgba(229,122,90,0.32)', 'glow-green': '0 0 24px rgba(180,209,156,0.40)', 'glow-purple': '0 0 24px rgba(180,167,214,0.36)', }, transitionTimingFunction: { spring: 'cubic-bezier(0.34, 1.56, 0.64, 1)', smooth: 'cubic-bezier(0.16, 1, 0.3, 1)' }, transitionDuration: { fast: '100ms', normal: '200ms', slow: '400ms' } } } };
Guia de Uso de Cores
Cada cor tem um papel específico. Usar fora do papel cria ruído visual.