Skip to content

Design System

Paleta de Cores

Light Mode

TokenValorUso
--background#f8fafcFundo do conteúdo
--foreground#0f172aTexto principal
--card#ffffffCards, modais
--primary#1a1f36Botões principais
--accent#c9942eDestaques, gold
--muted#f1f5f9Fundos secundários
--muted-foreground#64748bTexto secundário
--border#e2e8f0Bordas
--destructive#ef4444Ações destrutivas
--success#059669Status positivo
--warning#d97706Alertas
TokenValor
--sidebar-background#1a1f36
--sidebar-foreground#94a3b8
--sidebar-primary#e5b94e (gold)

Tipografia

ContextoFonte
App internoPlus Jakarta Sans (400, 500, 600, 700)
Landing pageBricolage Grotesque (display) + Figtree (body)

Base: 14px conteúdo, 13px tabelas.

Border Radius

ElementoValor
Cards, modais12px (rounded-xl)
Inputs, botões10px (rounded-lg)
Badgespill (rounded-full)

PrimeVue Pass-Through

Todos os componentes PrimeVue são estilizados via preset global em resources/js/primevue-pt.ts. Nunca use :pt inline — isso sobrescreve o preset global.

Componentes cobertos: DataTable, Column, Paginator, InputText, Select, DatePicker, Dialog, Tag, Toast, Checkbox, Avatar.

Padrões de Componentes

DataTable

  • Paginação centralizada com texto "Mostrando X a Y de Z" abaixo
  • Rows per page: [15, 25, 50, 100]
  • Total NÃO aparece no header da página (só no paginator)
  • Template: FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink RowsPerPageDropdown CurrentPageReport

Select

  • Sempre com filter prop habilitado
  • Placeholder descritivo

DatePicker

  • Locale pt-BR configurado globalmente
  • Formato: dd/mm/yy
  • First day of week: domingo (0)

Botões

VarianteClasses
Primaryrounded-lg bg-primary text-primary-foreground shadow-sm font-semibold
Secondaryrounded-lg border border-border text-foreground hover:bg-muted
Destructiverounded-lg bg-destructive text-destructive-foreground shadow-sm
Ghostrounded-lg hover:bg-muted

Cards

rounded-xl border border-border bg-card p-6

Labels

text-sm font-medium text-foreground + <span class="text-destructive ml-1">*</span> para required.

Agrupada em seções colapsáveis (Secretaria, Igreja, Financeiro) com chevron animado. Grupos auto-expandem quando um subitem está ativo.