Tokens, primitives e patterns. Tudo light-first, white-label-friendly e baseado em shadcn/ui. Mude o tema no canto direito pra ver a contraparte dark.
Surfaces, brand, status, charts. Todas variáveis CSS — tenants white label sobrescrevem brand-primary por organização.
Geist como sans, Geist Mono pra código. Hierarquia: Display, H1, H2, H3, Body, Small, Caption.
Display 5xl — Gateway fiscal
H1 3xl — Painel de controle
H2 xl — Companies cadastradas
H3 base medium — NF-e nº 1234
Body base — texto padrão de parágrafo.
Small — labels secundárias, descrições.
Caption — metadata, timestamps, footer.
POST /v2/companies/{id}/consumerinvoicesInputs sempre acompanhados de label. Use aria-invalid pra estados de erro (anel destructive automático).
CNPJ inválido — verifique e tente novamente.
Status pills compactos. Pra status fiscais use 'success' (Issued), 'warning' (WaitingSend), 'destructive' (Error), 'secondary' (Cancelled).
Surface principal pra agrupar conteúdo. Usa Header + Content + Footer.
312 notas emitidas em maio. SLA SEFAZ-SP 99.7%.
Listas tabulares. Header sticky e row hover habilitados por padrão.
| Número | Tipo | Status | Valor |
|---|---|---|---|
| #12345 | NFCe | Autorizado | R$ 89,90 |
| #12344 | NFe | Aguardando | R$ 2.450,00 |
| #12343 | NFCe | Rejeitado | R$ 12,00 |
| #12342 | NFSe | Cancelado | R$ 1.200,00 |
Placeholder pra coleções vazias. Sempre com um CTA pra próxima ação.
Cadastre a primeira empresa e suba o certificado A1 pra começar a emitir NFCe.
Skeletons pra placeholders de conteúdo enquanto carrega.