- Páginas taxas/index (listagem com status e ações) e taxas/emitir (wizard)
- CamposEmissaoTaxa: campos dinâmicos por tipo (data, numérico, inputmask, texto)
- useEmissaoTaxaPortal: composable com fluxo completo — busca catálogo, calcula
vencimento/multa-juros, valida e emite taxa via API
- taxaService: client HTTP para os endpoints /api/v1/contribuinte/taxas
- atributoMascara, formatacao, formulaCalculo: utilitários de suporte
- portal.vue: item "Taxas" no menu de navegação
- painel.vue: atalho rápido "Emitir Taxa" com ícone pi-file-export
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Vue 3.5 + Vite 8 + PrimeVue 4 (Aura) + TailwindCSS 4 + DM Sans
- Sistema de tenant multi-prefeitura: bootstrap, prefeituraStore, getTenant
- Tema dinâmico por município via applyTemplate (9 paletas)
- Logo e foto de fundo resolvidos a partir do VITE_API_URL + path relativo
- HomeView: hero split com foto/gradiente, carousel de avisos, cards de serviços
- LoginView: fluxo 2 etapas (documento na home → senha em /login)
- Roteamento completo: público (/), serviços (/servicos/*), portal autenticado (/portal/*)
- authStore + authService estruturados para Keycloak PKCE (integração pendente)
- Placeholders para todas as telas da área logada
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>