Files
Investidor-V2/docs/investmoz/public-portal-sections.md
T

28 KiB
Raw Blame History

Portal público — estrutura e serviços

Implementação local de 27/09/2026, seguindo as sete áreas pedidas pelo proprietário.

Páginas e percursos

Área Caminho e comportamento
Página inicial /: cabeçalho, banner, sectores activos, Como Investir, oportunidades em destaque, documentos essenciais publicados, apoio e rodapé.
Oportunidades /oportunidades: pesquisa, sector, província, estado de preparação/maturidade e dimensão por montante mínimo/máximo e moeda. Valores em moedas diferentes nunca são somados ou comparados automaticamente. Só aparecem oportunidades publicadas.
Ficha de oportunidade /oportunidades/{slug}: ficha e manifestação de interesse existentes.
Sectores prioritários /sectores e /sectores/{slug}: descrição do cadastro, oportunidades publicadas e acesso ao percurso de preparação e apoio.
Como Investir /como-investir: seis etapas de preparação, documentação, enquadramento, parceiros e acompanhamento; roteiro de orientação, sem inventar prazos ou requisitos legais obrigatórios.
Legislação e Incentivos /legislacao: documentos públicos catalogados como legislação, pesquisáveis por título, categoria e tema, com referência e download.
Documentos e Formulários /documentos: catálogo público, pesquisa, categorias, temas e acesso aos formulários digitais.
Apoio ao Investidor /apoio: formulário, protocolo, contactos configuráveis e FAQ sobre utilização do portal.
Bolsa de Parcerias /parcerias: propostas publicadas, filtros e pedido de contacto intermediado. Conta com email verificado pode propor; gestor autorizado publica ou retira. Contactos e identidade da conta não são expostos na listagem pública.
Simulador Fiscal /simulador-fiscal: cálculo aritmético de cenários com base, taxa e redução introduzidas pelo utilizador. Não incorpora taxas legais, elegibilidade ou concessão automática de incentivos.
Formulários /formularios/investidor e /formularios/empresa: recolha de dados de contacto, sector/assunto, empresa quando aplicável, mensagem e consentimento; gera protocolo. Não equivale a constituição ou registo legal de empresa.
Balcão Virtual /balcao-virtual: autenticação e email verificado; mostra pedidos enviados com a conta e estado das suas propostas. Liga ao painel existente da carteira.

O layout partilhado acrescenta breadcrumbs e o botão fixo Contactar Apoio ao Investidor às páginas Inertia, incluindo autenticação e gestão. Páginas de erro produzidas directamente pelo servidor não passam por este layout.

Gestão e dados

/management/portal-services permite carregar PDF/TXT autorizado (até 10 MiB), catalogar, publicar e retirar documentos, e rever/publicar/retirar propostas de parceria. Usa o privilégio existente manage-portal, sem criar novos gestores e sem exigir uma segunda pessoa para publicar.

Os ficheiros ficam no storage privado e os metadados no cadastro documents. Downloads só funcionam para documentos activos, classificados como públicos e catalogados como publicados; verificam caminho real e SHA-256. Reclassificar, eliminar, retirar ou alterar o ficheiro bloqueia o download. Não foi instalado um motor antivírus.

A migration aditiva 2026_09_27_120000_public_portal_services cria portal_resources e portal_partnerships; rollback com dados é recusado. Nenhum documento legal, contacto institucional ou anúncio fictício foi inserido. Sem conteúdo publicado, as páginas apresentam estado vazio e caminho para pedir apoio.

Os pedidos reutilizam interest_requests, o serviço transaccional InterestSubmission e a gestão /management/interests, com tipo e contexto em metadata. Repetir a mesma chave e payload não duplica pedido ou evento de integração; reutilizar a chave com dados/conta diferentes devolve 409. Consentimento é obrigatório. O Balcão filtra pelo ID da conta gravado no envio, nunca por coincidência de email. Pedidos anónimos geram protocolo, mas não são associados retroactivamente a contas.

Os eventos da outbox permanecem pendentes conforme a integração existente. Não foram enviados emails nem activado SuiteCRM. Os estados dos pedidos são actualizados na gestão existente; o Balcão não oferece chat nem submissão automática a entidades públicas.

Contactos e conteúdo

Configurar PORTAL_SUPPORT_EMAIL, PORTAL_SUPPORT_PHONE, PORTAL_SUPPORT_ADDRESS e PORTAL_SUPPORT_HOURS no ambiente e limpar cache de configuração quando necessário. Campos vazios não geram contactos fictícios. Publicar os documentos reais no catálogo para preencher Legislação, Documentos e os destaques essenciais da página inicial.

Validação

Execução final: 124 testes / 1.284 verificações aprovadas. PHPStan nos controllers alterados, Pint, TypeScript e build aprovados.

Testes funcionais cobrem páginas públicas, acesso autenticado, privacidade dos pedidos, consentimento, idempotência, moderação de parcerias, ausência de identidade pública, classificação/checksum dos downloads, documentos essenciais e filtros monetários. Os testes HTTP desactivam SSR para não dependerem do servidor Vite de desenvolvimento; a protecção contra chamadas HTTP inesperadas da IA permanece activa.

Edge headless: 11 páginas públicas/autenticação verificadas a 390×844, com breadcrumbs, botão de apoio visível e sem transbordo horizontal ou excepções JavaScript. Capturas de início e apoio inspeccionadas. Fluxos privados, submissões e downloads foram verificados nos testes PHP com dados sintéticos em base isolada, não em contas reais no navegador.

Página inicial também verificada a 1440×1000. Cenário fiscal exercitado no navegador: base 1.000 × taxa 10% × (1 − redução 50%) = 50. Resultados em public-portal-browser-validation.json.

Antes da migration local foi criado e restaurado o backup de 74 tabelas em storage/app/private/portal-services-backup-20260927-090641/. O backup completo anterior permanece em C:/laragon/backups/portal-investidor-20260927-101224/ e representa o estado anterior a esta entrega.

Adequação do hero — 23/10/2026

Origem: pedido expresso da Tempo nesta sessão para aproveitar o hero, as imagens e a barra de pesquisa de D:/Projects/Tempo_Investidor/investidor, usando a informação existente no V2. Aplicam-se as orientações permanentes do AGENTS.md, incluindo a distinção entre decisão da Tempo e escolha técnica, a preservação de dados e a separação de QA e activo.

Análise prévia: a página de entrada real do V2 é PortalInvestidor.tsx, servida por PortalServicesController::home. A referência é domains/investor-portal/components/homepage/homepage-hero.tsx, montada em InstitutionalHomepage. A referência usa Inertia 2, Framer Motion, tradução e navegação diferentes; o V2 usa Inertia 3 e pesquisa de oportunidades. Copiar essas dependências e /pesquisa ou /aviso-legal directamente criaria incompatibilidades e destinos inexistentes.

Plano executado:

  1. Registar a apresentação anterior em computador e telemóvel, com os componentes reais e dados sintéticos.
  2. Copiar os dois originais efectivamente usados pela referência (hero-1.png e hero-3.jpg), conferir SHA-256 e gerar derivados WebP para computador e telemóvel. hero-2.png não faz parte da rotação da referência.
  3. Extrair components/portal-hero.tsx e aplicar fotografias em rotação, texto centrado e pesquisa branca com botão vermelho. Preservar os textos do V2, contagens da API, sectores, documentos, apoio, cabeçalho e rodapé.
  4. Manter a pesquisa de oportunidades em /oportunidades?q=, incluindo pesquisa vazia e caracteres acentuados. Conservar “Consultar oportunidades” e “Planear finanças”. A primeira iteração acrescentou o acesso jurídico /termos-de-uso ao hero; foi removido na revisão expressamente pedida pela Tempo abaixo.
  5. Verificar apresentação, teclado, imagens, rotação, pausa, movimento reduzido, falha da API, contagens zero, TypeScript, lint e compilação. Compilar primeiro o pacote QA e depois os assets locais em public/build.

Escolhas técnicas desta adaptação: React e transições CSS existentes, sem novas dependências; rotação de oito segundos, pausa por controlo explícito, foco, ponteiro ou separador oculto; apresentação estática quando o utilizador pede movimento reduzido. A primeira iteração apresentou o texto estático; a revisão abaixo introduz a escrita dinâmica pedida pela Tempo. O campo indica pesquisa de oportunidades e conserva exemplos que o catálogo suporta; esta alteração não implementa uma pesquisa global de legislação/licenciamento.

Evidência reproduzível: tools/portal-hero-qa.mjs, com Vite local e Playwright configurável por HERO_QA_PLAYWRIGHT/HERO_QA_CHROMIUM. Fixtures e capturas em outputs/portal-hero-20261023/; síntese persistente em public-portal-hero-validation.json. Os testes de interface interceptam a API e a navegação Inertia, sem acesso a Laravel, base de dados ou serviços externos. A compilação local aplica os assets desta pasta; não representa publicação noutro servidor.

Referências na matriz existente: MASTER-efd550fd-0104 (composição da página), MASTER-9dee08d0-0016 (contexto da pesquisa) e MASTER-55050f60-0001 (entrada documental preservada). Esta prova cobre a adaptação visual e os percursos exercitados; não encerra os critérios funcionais mais amplos dessas linhas.

Revisão: escrita dinâmica e remoção do acesso jurídico no hero

Decisão expressa da Tempo na continuação da sessão de 23/10/2026: animar “INVISTA EM MOÇAMBIQUE” e “Transforme informação em decisões e ideias em negócios reais.” como na página de referência, e remover “Termos de uso” do hero. A anterior apresentação estática e a inclusão desse link eram escolhas de implementação, agora substituídas pelo pedido do proprietário.

Análise e plano executado: reproduzir a sequência da referência (espera inicial de 250 ms, título a 50 ms por carácter, intervalo de 150 ms e frase a 28 ms por carácter); reiniciar ao trocar de imagem; acrescentar o cursor intermitente; reservar a dimensão final de ambas as linhas para manter a pesquisa imóvel; remover o link e o ícone jurídico do hero; verificar em computador e telemóvel e compilar o pacote local.

Implementação em portal-hero.tsx, com React existente e CSS do cursor em app.css, sem dependências novas. A pausa explícita suspende também a escrita, retomando do mesmo ponto. Quando o separador fica oculto a escrita pára; a preferência de movimento reduzido apresenta os dois textos completos. Leitores de ecrã recebem o texto completo uma única vez, independentemente do número de caracteres visíveis. Os temporizadores são limpos ao mudar de imagem ou desmontar o componente.

O script tools/portal-hero-qa.mjs demonstra a escrita progressiva, a ordem título→frase, o reinício manual/automático, a pausa/retoma, a posição estável da pesquisa, o modo sem movimento e a ausência de “Termos de uso” no hero. As capturas e resultados desta revisão ficam em outputs/portal-hero-typing-20261023/, preservando a evidência anterior. Síntese e compilação final registadas na revisão de public-portal-hero-validation.json; referência acrescentada à linha existente MASTER-efd550fd-0104, sem encerrar o seu critério mais amplo.

Revisão: remoção dos controlos visíveis das imagens

Pedido expresso da Tempo na continuação de 23/10/2026: remover do hero o grupo com o botão de pausa e as duas bolinhas de selecção de imagem. Removidos o grupo, os ícones e o estado de pausa manual. A troca automática de imagens e a escrita dinâmica permanecem; conservam-se a pausa da rotação por foco/ponteiro, a suspensão em separador oculto e a preferência de movimento reduzido. Esta decisão substitui os controlos visíveis introduzidos como escolha de implementação nas revisões anteriores.

O script existente de interface foi adaptado para demonstrar a ausência dos controlos e a continuação da rotação automática, escrita e pesquisa, com capturas em outputs/portal-hero-no-controls-20261023/. Evidência e pacote local registados em public-portal-hero-validation.json, mantendo o histórico das revisões e os estados dos requisitos da matriz.

Fotografias nas etapas de Como Investir — 23/10/2026

Origem: pedido expresso da Tempo para analisar e ilustrar exclusivamente os cartões “1. Explorar”, “2. Preparar” e “3. Acompanhar”. Aplicam-se as orientações permanentes de AGENTS.md de 12/10 e 22/10/2026; componentes e optimização de recursos são escolhas técnicas, sem novas regras operacionais.

Análise e plano: os cartões existentes são âncoras estáticas na home React/Inertia, numa grelha de três colunas a partir de 768 px. Explorar liga a /oportunidades e representa a identificação de sector, território e oportunidade; Preparar liga a /como-investir e representa percurso/documentação; Acompanhar liga a /balcao-virtual e representa envio/consulta de pedido e protocolo. Os recursos locais existentes ilustram outras secções; preparar três fotografias distintas para evitar repetição. Gerar cenas editoriais plausíveis com imagegen, rever composição, guardar originais e versões WebP locais, integrar imagens 16:9 com dimensões reservadas e carregamento diferido, manter textos/destinos/título vermelho, verificar comportamento responsivo, navegação e falhas de imagem, compilar. Âmbito exclusivamente visual, sem alterações em dados, autenticação, apoio ou rodapé. Referência documental na linha existente MASTER-efd550fd-0104, sem criar outra matriz nem encerrar o critério mais amplo.

Implementação: components/investment-steps.tsx reúne os três cartões, preservando títulos, descrições e âncoras. Fotografias individuais geradas com a ferramenta integrada image_gen, sem local ou projecto real atribuído: avaliação de oportunidade num parque empresarial genérico, preparação documental numa reunião e consulta de pedido no computador. Originais em outputs/investment-steps-20261023/originals/; recursos locais em public/images/investment-steps/ com WebP 960×540, 480×270 e alternativa própria 240×135. Os cartões usam srcset, sizes, loading="lazy", dimensões reservadas, corte 16:9, alt em português, foco visível e texto compacto com 16 px de preenchimento. Se também falhar a alternativa pequena, o cartão mantém a área reservada, descrição acessível e destino utilizável.

Verificação desta secção: componentes reais com API sintética e sem base de dados, seis larguras de 320 a 1920 px, duas densidades de ecrã, três imagens distintas, texto/destinos conservados, navegação por teclado, ausência de transbordo e deslocamento no carregamento, falhas dos recursos principais e de todos os recursos. Oito cenários sem erros JavaScript. Fotografias, prompts, hashes, capturas, relatório de browser e compilação documentados em public-portal-steps-images.json e outputs/investment-steps-20261023/. Ajuste restrito a esta secção; apoio, acesso à gestão e rodapé mantidos.

Fotografias nos cartões de contexto do investimento — 23/10/2026

Origem: pedido expresso da Tempo para aplicar o anexo “Melhorar as imagens e a identidade visual do Portal do Investidor de Moçambique” exclusivamente à secção “Encontre o contexto do seu investimento”. O anexo define estética fotográfica editorial, imagens individuais contextualizadas, recursos locais, acessibilidade, desempenho e preservação dos cinco destinos e conteúdos. Aplicam-se as orientações permanentes de AGENTS.md de 12/10 e 22/10/2026; os pormenores de implementação abaixo são escolhas técnicas.

Análise prévia: Laravel/Inertia 3 e React, com Tailwind existente; os cinco cartões estavam embutidos em pages/PortalInvestidor.tsx. EducationalArticleCard destina-se a artigos com acções e metadados diferentes, pelo que não foi alterado. A secção foi extraída para components/investment-context-cards.tsx, mantendo o título, descrições, âncoras e grelha de uma/duas/quatro colunas. Não foram alteradas as páginas de destino, dados, APIs ou estilos globais.

Foram geradas cinco imagens distintas com a ferramenta integrada image_gen, segundo a skill imagegen: agro-indústria, terminal logístico, acompanhamento de instalação solar, formação técnica e análise documental. São imagens fotográficas ilustrativas geradas, sem localização ou instituição real atribuída, e não fotografias documentais de projectos cadastrados. A imagem do terminal foi revista para remover o camião com marca visível. Não foram usadas fotografias externas nem URLs de serviços de imagens. Originais seleccionados, prompts e hashes estão registados no manifesto public-portal-context-images.json; os originais foram preservados dentro do workspace.

Recursos finais em public/images/investment-context/: clusters-agroindustria, corredores-logisticos-v2, projectos-ancora, educacao-formacao e documentos-formularios, em WebP 960×540, com variantes 480×270 e alternativas 240×135. As imagens mantêm 16:9, object-cover, textos alternativos em português, dimensões reservadas, srcset, sizes, loading="lazy" e descodificação assíncrona. Cada cartão conserva o seu título e descrição; o foco usa o azul e os tons neutros pedidos no anexo.

Se um recurso principal falhar, o cartão usa a sua própria variante pequena, evitando repetir a fotografia de outra secção. Se também essa falhar, apresenta “Imagem indisponível” no mesmo espaço reservado, com descrição acessível e link operacional. Este é apenas um estado de erro; os cinco cartões usam imagens fotográficas na apresentação normal.

Verificação reproduzível: tools/portal-context-cards-qa.mjs, com o portal e cabeçalho reais, API sintética e acesso exclusivo aos recursos locais. Exercita seis larguras de ecrã, ecrãs de alta densidade, os cinco destinos por teclado, imagens carregadas e distintas, alinhamento, dimensões, ausência de deslocamento no carregamento e dois cenários de falha. Capturas e resultados em outputs/investment-context-20261023/; síntese, fontes/prompts e compilação em public-portal-context-images.json. Referências acrescentadas às linhas existentes MASTER-efd550fd-0104 e MASTER-55050f60-0001, sem encerrar os respectivos critérios mais amplos.

Revisão expressa da Tempo de 23/10/2026: título da secção no vermelho da identidade existente (#ed1c24) e cartões mais compactos. Removidas as alturas mínimas de 56 e 72 px do título/descrição; reduzidos o preenchimento de 20 para 16 px, o intervalo de 8 para 6 px e as entrelinhas. As alturas passam a acompanhar o conteúdo, com alinhamento por linha da grelha, conservando imagens, textos e destinos. A reserva das dimensões das imagens mantém-se. Evidência desta revisão em outputs/investment-context-compact-20261023/ e no campo layoutRevision do manifesto existente.

Sectores da home e catálogo completo — 23/10/2026

Origem: pedido expresso da Tempo para adaptar a estrutura de “Áreas de Investimento” do projecto D:/Projects/Tempo_Investidor/tempo-dashboard, incluindo cartões, botão para mais sectores e respectiva página, e uniformizar a vermelho os títulos das secções da home. Aplicadas as orientações permanentes AGENTS.md de 12/10 e 22/10/2026: as decisões de produto são da Tempo; as escolhas técnicas abaixo não criam requisitos organizacionais.

Análise prévia: a referência usa components/investor-portal/homepage/homepage-sectors.tsx e pages/investor-portal/sectors/index.tsx. Mostra cinco cartões com fotografia e título sobreposto, resumo, “Saiba mais” e ligação central arredondada para o catálogo. O V2 já dispunha de /sectores, fichas /sectores/{slug}, especialização Fintech e dados de SectorOrganization. Foram reutilizados esses contratos e percursos, sem importar Framer Motion, traduções ou rotas exclusivas da referência.

Implementação: components/public-sector-cards.tsx partilha os cartões entre a home e o catálogo. A home mostra os primeiros cinco sectores, na ordem recebida da API, com “Ler mais” para a ficha existente e “Ver mais sectores” para /sectores. A página existente apresenta todos os sectores publicados, na mesma estrutura visual, e “Voltar ao início”. Mantêm-se nomes, descrições, contagens, valores zero, especializações e URLs canónicos recebidos. Descrições ausentes não são preenchidas com dados da referência. Fintech permanece ligado à ficha própria, sem âncoras HTML aninhadas.

Foram inventariados os onze JPG disponíveis em storage/app/public/investor-portal/sectors na referência, copiados os originais para evidência e preparados derivados locais WebP 960×540/480×270 em public/images/sectors/. O mapeamento visual por slug é de apresentação e não altera a taxonomia. Para Imobiliário e sectores sem imagem específica usa-se a vista empresarial genérica disponível na referência; para Bens de Consumo e Franquias usa-se a imagem de actividade industrial. A variante genérica também serve como alternativa em caso de erro; se ambas falharem, o título e as ligações continuam visíveis num fundo neutro. Não se atribui aos ficheiros uma origem oficial, licença externa ou localização documental não comprovada.

Os seis títulos de secção da home — contexto do investimento, sectores, Como Investir, oportunidades em destaque, documentos essenciais e apoio — usam HOME_SECTION_HEADING em lib/portal-presentation.ts: vermelho #ed1c24, 24 px, entrelinha de 32 px e peso 700. O cartão de Apoio passou a superfície clara para manter contraste com o título vermelho. O título principal animado do hero mantém a sua hierarquia própria. PORTAL_MORE_LINK centraliza o botão arredondado, contorno vermelho e estado de foco, seguindo a referência.

Verificação: tools/portal-home-sectors-qa.mjs carrega os componentes reais com dez sectores sintéticos, descrições nulas e especialização Fintech, sem base de dados. Exercita seis larguras, prévia de cinco/cartálogo de dez, estilos dos seis títulos, percurso por teclado, dez fichas, Fintech, regresso à home, catálogo vazio e dois cenários de indisponibilidade de imagens. Capturas, inventário, hashes e resultados em outputs/home-sectors-20261023/; resumo persistente em public-portal-sectors-validation.json. Referências na matriz existente: MASTER-efd550fd-0104 e MASTER-9f5719c8-0077. Esta adaptação não encerra critérios mais amplos nem altera dados, permissões, regras operacionais ou publicação noutro servidor.

Pedido expresso da Tempo, 23/10/2026 — botão “Contactar Apoio ao Investidor”: em layouts/portal-navigation.tsx, a faixa de largura total foi substituída por um botão centrado, com largura ajustada ao texto, altura mínima de 44 px, preenchimento reduzido, sombra discreta e vermelho #ed1c24, conservando /apoio e o foco visível. Verificado a 320, 390 e 1440 px: cerca de 223×44 px, sem transbordo ou erros JavaScript. Evidência em outputs/support-button-20261023/qa-results.json e capturas; compilação local no mesmo directório. Ajuste de apresentação por decisão do proprietário, sem nova regra operacional nem alteração de dados.

Revisão anterior de 23/10/2026, superada pela correcção de âmbito abaixo: o Codex interpretou o pedido de abreviação como aplicável à zona inferior inteira e alterou indevidamente o botão de apoio e o rodapé partilhado. Essa interpretação não foi uma decisão da Tempo. A revisão removeu o bloco interno, abreviou o botão para “Apoio” e recolheu contactos/ligações em “Informações” num rodapé claro; estas alterações fora do bloco indicado foram revertidas após a clarificação expressa do proprietário. O registo desta revisão é histórico e não descreve a apresentação actual.

Evidência histórica da revisão superada: outputs/footer-compact-20261023/qa-results.json, capturas e check.mjs. Não constitui aceitação do âmbito pelo proprietário.

Correcção expressa da Tempo, 23/10/2026: o pedido abrange exclusivamente o bloco “INVESTE Moçambique / Portal do Investidor — conheça as oportunidades… / Acesso à gestão”. Em pages/PortalInvestidor.tsx, esse bloco fica abreviado num ícone de acesso à gestão, com nome acessível e descrição “Acesso à gestão”, destino /acesso-gestao, área de interacção de 44 px e fundo branco, sem o título e parágrafo anteriores. O botão de apoio foi restaurado exactamente à apresentação anterior à abreviação: “Contactar Apoio ao Investidor”, compacto, vermelho e sem ícone. components/tempo-footer.tsx e os estilos .tempo-footer foram integralmente restaurados ao estado anterior, incluindo contactos e ligações visíveis e o fundo original do rodapé geral. Não se altera autenticação nem dados. Esta correcção substitui a interpretação indevida acima e mantém as restantes alterações previamente pedidas.

Evidência da correcção: outputs/footer-scope-correction-20261023/check.mjs, qa-results.json, capturas e build-local.log; componentes reais com API sintética a 320, 390 e 1440 px, ícone de gestão focável, bloco específico claro sem parágrafo, botão de apoio completo/vermelho, rodapé geral restaurado, contactos e ligações legais visíveis, sem transbordo ou erros JavaScript. Lint dos componentes alterados e compilação local. Referência na linha existente MASTER-efd550fd-0104, sem encerramento do critério amplo nem alteração dos seus estados.

Continuação expressa da Tempo, 23/10/2026: acrescentado o título visível “Acesso à gestão” ao lado do ícone nesse mesmo bloco, para tornar o destino compreensível. O acesso mantém-se compacto, vermelho e com fundo claro, conservando /acesso-gestao. Ajuste restrito a essa ligação; apoio e rodapé geral conservam a apresentação restaurada. Referência: MASTER-efd550fd-0104 e a evidência da revisão anterior acima. Verificado a 320, 390 e 1440 px, sem transbordo ou erros JavaScript; lint e compilação aprovados. Evidência em outputs/management-label-20261023/qa-results.json, capturas e build-local.log. No pedido seguinte, a Tempo determinou o alinhamento desse acesso à esquerda; aplicado justify-start apenas no seu contentor.