# 🎨 Implementação do Tema Zoho no Financeiro V2 ## 📋 Resumo da Implementação **Data**: 02/02/2026 **Módulo**: `financeiro-v2` **Objetivo**: Implementar tema com fontes estilo Zoho e converter medidas para vw/vh --- ## 🎯 Objetivos ### 1. **Sistema de Tipografia Adaptativa (Estilo Zoho)** - ✅ Usar fonte **Inter** (similar ao Zoho Puvi) - ✅ Implementar sistema de `clamp()` com vw/vh - ✅ Pesos moderados (semibold/medium, não black/bold excessivo) - ✅ Tamanhos adaptativos para todas as resoluções ### 2. **Conversão de Medidas** - ✅ Converter **todas** as medidas fixas (px, rem) para vw/vh - ✅ Usar `clamp(min, preferred, max)` para controle - ✅ Garantir responsividade em resoluções menores --- ## 📐 Sistema de Medidas Adaptativas ### **Tipografia** ```css /* Tiny */ clamp(0.75rem, 0.9vw, 0.875rem) /* 12px-14px */ /* Label */ clamp(0.875rem, 1vw, 0.9375rem) /* 14px-15px */ /* Body */ clamp(1rem, 1.4vw, 1.25rem) /* 16px-20px */ /* Subtitle */ clamp(1.125rem, 2vw, 1.5rem) /* 18px-24px */ /* Title */ clamp(1.5rem, 2.8vw, 2.25rem) /* 24px-36px */ /* Number */ clamp(1.75rem, 3.4vw, 2.5rem) /* 28px-40px */ ``` ### **Espaçamento** ```css /* Small */ clamp(0.5rem, 1vw, 1rem) /* 8px-16px */ /* Medium */ clamp(1rem, 2vw, 1.5rem) /* 16px-24px */ /* Large */ clamp(1.5rem, 3vw, 2.5rem) /* 24px-40px */ ``` ### **Dimensões** ```css /* Icon Small */ clamp(1rem, 1.5vw, 1.25rem) /* 16px-20px */ /* Icon Medium */ clamp(1.25rem, 2vw, 1.5rem) /* 20px-24px */ /* Icon Large */ clamp(1.5rem, 2.5vw, 2rem) /* 24px-32px */ /* Card Height */ clamp(8rem, 12vh, 14rem) /* 128px-224px */ /* Modal Width */ clamp(20rem, 40vw, 50rem) /* 320px-800px */ ``` --- ## 🎨 Pesos de Fonte (Estilo Zoho) | Peso | Classe | Uso | |------|--------|-----| | **Normal (400)** | `font-normal` | Corpo de texto, valores | | **Medium (500)** | `font-medium` | Labels, descrições | | **Semibold (600)** | `font-semibold` | Títulos, números importantes | | **Bold (700)** | `font-bold` | ⚠️ Apenas ênfase extrema | | **Black (900)** | `font-black` | ❌ **EVITAR** | --- ## 📁 Arquivos para Modificar ### 1. **Componentes Principais** - [ ] `src/features/financeiro-v2/components/ExcelTable.jsx` - [ ] `src/features/financeiro-v2/components/FinanceiroV2Sidebar.jsx` - [ ] `src/features/financeiro-v2/components/AdvancedFiltersModal.jsx` ### 2. **Views** - [ ] `src/features/financeiro-v2/views/DashboardView.jsx` - [ ] `src/features/financeiro-v2/views/FluxoCaixaView.jsx` - [ ] `src/features/financeiro-v2/views/RelatoriosView.jsx` - [ ] `src/features/financeiro-v2/views/contas-receber/*` - [ ] `src/features/financeiro-v2/views/contas-pagar/*` - [ ] `src/features/financeiro-v2/views/conciliacao-v2/*` ### 3. **Layout Principal** - [ ] `src/features/financeiro-v2/index.jsx` --- ## 🔄 Padrões de Conversão ### **DE (antes):** ```jsx // Tamanhos fixos className="text-xl" // 1.25rem (20px) className="text-sm" // 0.875rem (14px) className="p-6" // 1.5rem (24px) className="w-10" // 2.5rem (40px) className="h-24" // 6rem (96px) ``` ### **PARA (depois):** ```jsx // Tamanhos adaptativos className="text-[clamp(1rem,1.6vw,1.375rem)]" // Body Large (16px-22px) className="text-[clamp(0.875rem,1vw,0.9375rem)]" // Label (14px-15px) className="p-[clamp(1rem,2vw,1.5rem)]" // Padding adaptativo className="w-[clamp(2rem,3vw,2.5rem)]" // Width adaptativa className="h-[clamp(4rem,8vh,6rem)]" // Height adaptativa ``` --- ## ✅ Checklist de Implementação ### **Fase 1: Componentes Base** - [ ] Atualizar `ExcelTable.jsx` - [ ] Converter tamanhos de fonte usando `clamp()` - [ ] Ajustar padding/margin para vw/vh - [ ] Reduzir peso de fontes (black → semibold) - [ ] Ajustar ícones com dimensões adaptativas ### **Fase 2: Views Principais** - [ ] Atualizar `DashboardView.jsx` - [ ] Converter cards para dimensões adaptativas - [ ] Ajustar gráficos com altura em vh - [ ] Atualizar tipografia dos textos - [ ] Atualizar `FluxoCaixaView.jsx` - [ ] Converter filtros e controles - [ ] Ajustar tabelas e gráficos - [ ] Atualizar `RelatoriosView.jsx` - [ ] Converter cards de relatórios - [ ] Ajustar modais de exportação ### **Fase 3: Subviews** - [ ] Atualizar views de `contas-receber` - [ ] Atualizar views de `contas-pagar` - [ ] Atualizar views de `conciliacao-v2` ### **Fase 4: Layout e Navegação** - [ ] Atualizar `index.jsx` - [ ] Converter header extras - [ ] Ajustar layout containers - [ ] Atualizar sidebar --- ## 🎨 Exemplos de Conversão ### **Card de KPI** ```jsx // ANTES
TÍTULO
R$ 1.234,56

Subtítulo

// DEPOIS
TÍTULO
R$ 1.234,56

Subtítulo

``` ### **Tabela** ```jsx // ANTES COLUNA // DEPOIS COLUNA ``` --- ## 🧪 Testes Necessários ### **Resoluções para Testar** 1. **Mobile**: 375px (iPhone SE) 2. **Tablet**: 768px (iPad) 3. **Desktop Small**: 1366px 4. **Desktop Large**: 1920px 5. **4K**: 2560px ### **Validações** - [ ] Textos legíveis em todas as resoluções - [ ] Sem overflow ou cortes de conteúdo - [ ] Botões e ícones com tamanhos proporcionais - [ ] Gráficos se adaptam corretamente - [ ] Modais e painéis responsivos --- ## 📊 Progresso - [ ] **Componentes Base** (0/4) - [ ] **Views Principais** (0/3) - [ ] **Subviews** (0/20) - [ ] **Layout** (0/1) - [ ] **Testes** (0/5) **Total**: 0/28 (0%) --- **Status**: 🟡 Em Progresso **Próximo Passo**: Iniciar conversão dos componentes base