# Página inicial e menus agrupados **Reposição da visibilidade de Compras, 29/10/2026:** após separar Stock, o contexto sem direitos purchasing_budget/supplier_payables ficava sem itens no grupo Compras, ocultado pelo filtro de grupos vazios. A junção anterior permanecia visível pelos itens de Stock; nenhuma concessão ou dado tinha sido removido. Acrescentada Área de Compras informativa com company.view, sem acesso operacional implícito; preservadas as opções de orçamento/obrigações para os contextos autorizados. PurchasingHome.jsx distingue a área SGF da aplicação autónoma e não afirma incorporação integral. Regressão reproduz company.view sem direitos de Compras, confirma Compras/Stock separados e conserva filtros por unidade; build aprovado. Sem alteração de acessos ou dados. **Ajuste posterior, 29/10/2026:** Compras e Stock separados em dropdowns próprios. Ordem actual: Início, Comercial, Compras, Stock, Oficinas, Financeiro, Configuração. Fonte do menu principal aumentada de 0,87 para 1 rem; itens de submenu de 0,85 para 0,95 rem; fonte móvel de 0,78 para 0,9 rem. Mantidos destinos/permissões e dropdowns. Check de navegação e build aprovados; sem nova revisão visual. ## Menu horizontal por assunto — 29/10/2026 Pedido expresso: alterar a posição para horizontal, ordenar por assunto e preservar o dropdown. `WorkspaceNavigation.jsx` substitui a barra lateral/drawer por barra superior, com seis entradas ordenadas: **Início; Comercial; Compras e stock; Oficinas; Financeiro; Configuração**. Início abre directamente a página inicial; as restantes abrem dropdowns com as secções e destinos anteriores. Comercial agrupa Clientes e serviços/Facturação; Compras e stock reúne Compras/Stock; Oficinas conserva os percursos técnicos e comerciais; Financeiro reúne Recebimentos/Contabilidade e fiscalidade/Custos e orçamento; Configuração reúne configuração documental/Administração. A organização por assunto é apresentação, não fusão dos motores ou dos âmbitos. Os IDs, permissões, estado Em preparação, destinos e contexto permanecem os mesmos. Novos grupos futuros sem classificação explícita têm fallback próprio, em vez de desaparecerem. Um dropdown aberto de cada vez; selecção e clique fora fecham-no; Escape fecha e devolve foco ao respectivo botão. Enter/Espaço usam os botões nativos; setas e Home/End percorrem destinos. O assunto activo e o destino activo são identificados; `aria-expanded`, `aria-controls` e `aria-current` preservam a semântica de navegação. Os menus começam fechados e o assunto activo não fica forçado a permanecer aberto. O conteúdo não abre por hover apenas. Em ecrãs menores, a barra mantém organização horizontal com quebra de linha; dropdowns ficam ancorados à área de navegação, com altura limitada e scroll próprio. Não há drawer lateral nem botão de menu separado. A área de trabalho usa a largura anteriormente ocupada pela barra lateral e o cabeçalho de contexto deixa de competir com o menu fixo. Código: `resources/js/WorkspaceNavigation.jsx`, `resources/css/app.css`; regressão em `scripts/home-navigation-check.mjs`. O modelo `navigationGroups` continua a filtrar exactamente os mesmos direitos; `navigationTopics` apenas reordena/agrupa. O check confere igualdade do conjunto completo de destinos antes/depois, unicidade, seis assuntos, fallback, unidade sem direitos e renderização com dropdown/elementos activos. Checks de início/navegação e compilação Vite aprovados. Sem alteração de dependências, operações de negócio, bases, acessos, publicação ou checkpoint. A verificação desta alteração é técnica (renderização estática/compilação), não nova revisão visual/interactiva no navegador. A implementação de teclado/responsividade não é apresentada como teste manual executado. Esta orientação substitui a disposição lateral descrita abaixo, preservando os resultados e limites das entregas anteriores. **Contabilidade, 29/10/2026:** acrescentados painel, Trabalho diário, Conferência, Análise, Fecho e Configuração, preservando classificação/perfis e com catálogo de relatórios previsto. Ver [âmbito e provas](ACCOUNTING_MENU_DELIVERY.md). Não declara razão, lançamentos ou relatórios financeiros entregues. **Stock, 29/10/2026:** acrescentada a navegação informativa do documento fornecido, com estado Em preparação e sem motor/fonte operacional SGF. Ver [correspondência com Compras, código e provas](STOCK_MENU_DELIVERY.md). Não declara saldos, movimentos ou relatórios operacionais disponíveis. **Actualização de 29/10/2026:** menus de Facturação e Oficinas implementados a partir dos documentos fornecidos e da confirmação do responsável, com destinos existentes e capacidades ausentes identificadas. Ver [âmbito, correspondências e provas](BILLING_WORKSHOP_MENU_DELIVERY.md). A revisão visual e a publicação permanecem distintas; esta nota não reabre nem substitui a aceitação anterior. ## Avaliação técnica e preservação local — 28/10/2026 A pedido do utilizador, preservar esta implementação num checkpoint exclusivamente local. Avaliação do agente: organização coerente com os destinos existentes, grupos filtrados por contexto, distinção entre consulta/preparação/validação, ausência de indicadores fictícios e identidade visual alinhada com as folhas públicas do InvesteMoz. Build, renderização por perfil e entrega HTTP aprovados. Esta é avaliação técnica do código e dos resultados automatizados, não aprovação visual pessoal do utilizador. Capturas e verificação visual/interactiva no Edge continuam indisponíveis; o checkpoint não as transforma em provas realizadas. Nenhum segredo ou dado privado incluído, sem push/publicação. Encerramento do ensaio de orçamento conferido em `04870f0` e `docs/INDUSTRIAL_BUDGET_ACCEPTANCE.md`, mantendo expressamente as limitações originais. ## Compatibilização visual com InvesteMoz — 28/10/2026 Por pedido posterior do utilizador, acrescentada `resources/css/tempo-theme.css`, importada depois dos estilos base do SGF. Referência conferida exclusivamente em leitura nas folhas de apresentação públicas `resources/css/app.css` e `resources/css/tempo-header.css` do portal-investidor: cabeçalho #090909, destaque #ed1c24, cinzentos neutros, superfície branca, bordas #e2e8f0 e raio de 10px. Não se acedeu a configurações privadas nem se alteraram ficheiros, dados ou serviços do InvesteMoz. Aplicados ao SGF: navegação em carvão, marcador activo vermelho, botões principais vermelhos, cabeçalho/conteúdo claros, cartões neutros, hierarquia de títulos, campos e tabelas alinhados com a mesma linguagem visual. Grupos e destinos permanecem os autorizados, sem copiar menu público, marcas ou conteúdos do portal. Verde/âmbar/erro mantêm significado de estados, distinguindo-os da cor de marca. Instrument Sans é só preferência local, com fallback de sistema; nenhum tipo de letra ou recurso externo foi descarregado. Compilação aprovada com Vite 8.3.5 e diff sem erros. Sem nova prova visual no Edge: compatibilização fundamentada em CSS, com revisão visual manual ainda pendente. Verificação HTTP posterior: na instância `8002`, diagnóstico confirmou `browser-testing`/`sgf_tempo_test`; página inicial, JavaScript e CSS responderam 200. O HTML referencia o ficheiro JavaScript do manifesto actual e o CSS servido contém o destaque #ed1c24. Esta prova confirma a entrega dos ficheiros compilados, sem comprovar o aspecto visual ou a interacção no navegador. 28/10/2026. Implementação autorizada após [mapa e esboço](HOME_NAVIGATION_PROPOSAL.md). Preservado o ensaio aceite em `04870f0`, checkpoints anteriores e limites financeiros. Sem migrações, concessões, novas dependências ou activação real. Sem aceitação presumida ou checkpoint desta alteração. ## Alterações Barra lateral com oito grupos: Início, Clientes e serviços, Facturação, Recebimentos, Oficinas, Custos e orçamento, Contabilidade e fiscalidade e Administração. Só aparecem grupos com destinos permitidos. Grupo da página actual sempre aberto, opção activa destacada com marcador e `aria-current`; restantes grupos expansíveis com `aria-expanded`. Destinos reaproveitam os ecrãs existentes, sem criar módulos de equipamentos, afectações ou séries independentes. Apresentação do rascunho permanece em Facturação. Empresa/unidade continuam em contexto explícito; mudança de acessos que retire o destino devolve à página inicial quando a sessão actualizada recebe essas concessões. Página inicial com atalhos de preparação/acompanhamento e validação conforme os direitos, nunca conforme nomes/emails. Consulta mantém atalhos de leitura. As acções abrem os percursos existentes: não criam decisões ou alteram dados no painel inicial. Não há contagens, montantes, gráficos ou listas de tarefas inventados. Consulta agregada de pendências ainda não implementada: mensagem explícita explica que os estados são consultados no respectivo percurso. Consulta não confere preparação/validação. Cabeçalho fixo com empresa/unidade, ambiente local e aviso de operações reais bloqueadas. Os avisos específicos dos módulos permanecem. Em ecrã pequeno, botão Menu abre um diálogo nativo com fecho por botão/Escape e gestão de foco do navegador. Menu mantém conta actual e saída. Tabelas directamente contidas em painéis têm scroll próprio; contexto e atalhos adaptam-se a uma coluna. Cores base preservadas. ## Verificações e limites - `scripts/sgf.ps1 npm run build`: aprovado, Vite 8.3.5, sem alteração de dependências. - `scripts/sgf.ps1 npm exec --offline -c 'node scripts/home-navigation-check.mjs'`: verificações de renderização aprovadas para preparador, validador, leitor, outra unidade e ausência de permissões. Não usam base de dados ou navegador. - `git diff --check`: aprovado. - Não se repetiu a bateria financeira: alteração limitada à apresentação, sem mudanças no servidor, cálculos ou base. A prova manual industrial anterior permanece preservada. - **Sem validação visual nova no Edge ou capturas:** automação continua bloqueada; não foi repetida. Renderização e build não provam comportamento visual ou interacção real do diálogo móvel. Revisão manual a efectuar no navegador. Ficheiros: `resources/js/WorkspaceNavigation.jsx`, `resources/js/WorkspaceHome.jsx`, integração em `resources/js/app.jsx`, estilos em `resources/css/app.css`, verificação `scripts/home-navigation-check.mjs` e documentação. Não foram aplicadas `110000` ou sete concessões por consequência desta alteração. Para rever: actualizar `http://127.0.0.1:8002/` enquanto a instância de prova SGF estiver activa, entrar pelas contas sintéticas já preparadas e abrir Início. Conferir grupos de acordo com concessões, preparação versus validação, permanência do grupo actual aberto e menu em janela estreita, Escape e retorno de foco. Não enviar credenciais em capturas. Se a instância estiver parada, seguir o procedimento de retoma de prova isolada documentado, sem executar testes destrutivos sobre a fixture manual.