Adiciona o frontend Next.js em frontend/ (setup, design system, autenticação/tema, layout/navegação, área master, área tenant completa: clientes, produtos, vendas, recebimentos, whatsapp, e-mail, alertas, equipe e perfil). Estende o backend de forma aditiva e autorizada: cookie httpOnly para refresh token (Etapa 13) e CRUD de equipe + edição de perfil do tenant (Etapa 18, módulo src/modules/equipe/ novo e PUT /tenant/perfil). Detalhes completos em Etapas/V2/*. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
66 lines
2.1 KiB
CSS
66 lines
2.1 KiB
CSS
/**
|
|
* Tokens de design do SeConectai Vendas (seção 6 do schema de arquitetura
|
|
* de frontend — Etapas/V2/10-frontend-schema-arquitetura.md).
|
|
*
|
|
* `--color-primary` é resolvida em runtime por tenant (whitelabel) pela
|
|
* Etapa 13 — o valor abaixo é só o fallback exibido antes da resolução
|
|
* (ou quando o tenant não define cor própria).
|
|
*/
|
|
|
|
:root {
|
|
/* Paleta neutra da plataforma — igual em master e em todos os tenants */
|
|
--neutral-950: #12141a;
|
|
--neutral-500: #6b7280;
|
|
--neutral-200: #e5e7eb;
|
|
--neutral-50: #f8f9fb;
|
|
--surface: #ffffff;
|
|
|
|
/* Cores semânticas */
|
|
--danger: #dc2626;
|
|
--success: #16a34a;
|
|
--warning: #d97706;
|
|
|
|
/* Identidade fixa do painel master (não whitelabel) */
|
|
--brand-master: #1e3a5f;
|
|
--brand-master-accent: #2dd4bf;
|
|
|
|
/* Cor de marca dinâmica por tenant — fallback até a Etapa 13 resolver
|
|
`tenants.cor_primaria` via endpoint público de tema */
|
|
--color-primary: #2563eb;
|
|
|
|
/* Variante de `--color-primary` garantida com contraste AA contra
|
|
branco (Etapa 13, `lib/theme/contrast.ts`) — usar em texto/ícone
|
|
sobre fundo claro (`text-primary-on-light`). NUNCA usar para fundos:
|
|
`bg-primary` continua com a cor original do tenant, sem ajuste. */
|
|
--color-primary-on-light: var(--color-primary);
|
|
}
|
|
|
|
/* Ponte para o Tailwind v4 (CSS-first): mapeia as CSS variables acima para
|
|
o namespace de cor do tema, gerando as utilities `bg-primary`,
|
|
`text-danger`, `bg-neutral-950` etc. sem duplicar os valores em JS. */
|
|
@theme inline {
|
|
--color-neutral-950: var(--neutral-950);
|
|
--color-neutral-500: var(--neutral-500);
|
|
--color-neutral-200: var(--neutral-200);
|
|
--color-neutral-50: var(--neutral-50);
|
|
--color-surface: var(--surface);
|
|
|
|
--color-danger: var(--danger);
|
|
--color-success: var(--success);
|
|
--color-warning: var(--warning);
|
|
|
|
--color-brand-master: var(--brand-master);
|
|
--color-brand-master-accent: var(--brand-master-accent);
|
|
|
|
--color-primary: var(--color-primary);
|
|
--color-primary-on-light: var(--color-primary-on-light);
|
|
|
|
--font-sans: var(--font-inter);
|
|
}
|
|
|
|
@layer utilities {
|
|
.tabular-nums {
|
|
font-variant-numeric: tabular-nums;
|
|
}
|
|
}
|