Clareza antes de decoração
Elementos visuais só entram quando explicam hierarquia, indicam ação ou reforçam reconhecimento. Evitar enfeites sem função.
Sistema de design e implementação
Referência para preservar a identidade visual, reduzir ambiguidade de implementação e orientar a evolução do Portal no framework definitivo do Plan-Assiste.
Nenhuma seção encontrada para a busca atual.
01. Princípios
O Portal deve ser institucional, claro e operacional. A interface precisa ajudar o beneficiário, o credenciado e a equipe a encontrar informações sem ruído visual.
Elementos visuais só entram quando explicam hierarquia, indicam ação ou reforçam reconhecimento. Evitar enfeites sem função.
Se parece clicável, deve ser clicável. Se é apenas informativo, não deve ter hover de elevação, seta ou CTA.
O tom deve ser seguro, simples e responsável. Evitar linguagem promocional, exagerada ou informal demais para conteúdos de saúde.
02. Identidade visual
A paleta é predominantemente verde institucional, com fundos claros e acentos controlados para estados e categorias.
#0d8473#087765#4a7b73#02c491#3a877c#00e9ab#103f3a#225c55#e7f5ef#f2faf7#d7e7e2#315c55#d7a739#d94d6a#cf3f5f#2874d8A logo usa #3a877c e #00e9ab. A interface usa derivados mais controlados para garantir contraste e leitura. O verde institucional acessível (#4a7b73) é uma variação mais segura para textos/ícones; o verde primário de ação (#0d8473) preserva a família cromática da marca, mas passa AA com texto branco. Aviso, erro e azul informativo são cores semânticas: devem aparecer em estados, ícones, badges e alertas, sem competir com a ação primária.
| Uso | Combinação | Contraste | Decisão |
|---|---|---|---|
| Botões/menu padrão | #ffffff sobre #0d8473 | 4.60:1 | Aprovado para texto normal e UI. |
| Logo escuro exato | #ffffff sobre #3a877c | 4.25:1 | Não usar como fundo com texto branco normal. Pode aparecer na marca e em ícones. |
| Logo acento exato | #ffffff sobre #00e9ab | 1.59:1 | Não usar com texto branco. Usar como acento visual ou com texto escuro. |
| Acento vivo acessível | #103f3a sobre #00e9ab | 7.38:1 | Aprovado para uso pontual com texto escuro. |
| Hover/ênfase forte | #ffffff sobre #087765 | 5.47:1 | Aprovado. Usar quando precisar de mais presença. |
| Marca/institucional | #ffffff sobre #4a7b73 | 4.80:1 | Aprovado. Usar em áreas institucionais e variação Credenciado. |
| Texto principal | #225c55 sobre #ffffff | 7.69:1 | Aprovado para leitura prolongada. |
| Títulos | #103f3a sobre #ffffff | 11.70:1 | Aprovado com alta legibilidade. |
| Texto em fundo claro | #103f3a sobre #f2faf7 | 11.03:1 | Aprovado para cards e painéis suaves. |
| Links em fundo claro | #087765 sobre #f2faf7 | 5.16:1 | Aprovado; usar sublinhado em texto corrido. |
| Acento vivo | #103f3a sobre #02c491 | 5.19:1 | Aprovado com texto escuro. Não usar branco sobre esse tom. |
| Aviso | #103f3a sobre #d7a739 | 5.28:1 | Aprovado com texto escuro. Não usar branco sobre esse tom. |
| Erro/acento | #d94d6a sobre #ffffff | 4.02:1 | Usar como acento, ícone ou estado visual. Para fundo preenchido com texto branco, usar variação mais escura. |
| Erro preenchido | #ffffff sobre #cf3f5f | 4.64:1 | Aprovado para ações destrutivas preenchidas com texto branco. |
| Informativo | #ffffff sobre #2874d8 | 4.59:1 | Aprovado para badges e chamadas informativas pontuais. |
| Área da equipe | #ffffff sobre #197686 | 5.28:1 | Aprovado; diferencia área interna sem parecer conteúdo de beneficiário. |
A fonte oficial e obrigatória do Portal é Titillium Web. A família deve ser carregada com os pesos 300, 400, 500 e 600. Qualquer fallback deve ser apenas contingência técnica de renderização quando a fonte não carregar; não autoriza trocar a identidade tipográfica nem escolher outra família no framework definitivo.
Regra de acessibilidade: nenhum texto visível do Portal pode ter menos de 16px. A hierarquia deve ser preservada por tamanho, peso, cor e espaçamento; não se deve reduzir a fonte para forçar conteúdo a caber. Quando faltar espaço, o componente deve quebrar, redistribuir ou adaptar seu layout.
Use negrito para reforço pontual, itálico para termos, títulos de documentos ou ênfase leve, e negrito com itálico apenas em casos raros.
Hiperlinks em texto corrido devem usar sublinhado visível, principalmente em conteúdo editorial.
Use citações para destacar norma, orientação oficial ou trecho de referência. Elas não substituem alerta.
Em fundos verdes, links precisam de sublinhado e contraste alto. Exemplo: consultar instruções.
Evite textos longos em fundo escuro. Use esse padrão para rodapé, menus, banners curtos e chamadas compactas.
Citações em fundo escuro devem usar transparência leve e borda clara.
03. Layout e separadores
O grid do Portal usa um canvas máximo de 1440px dividido em 30 colunas-base de 48px. Cada coluna-base contém três subcolunas de 16px. Os gutters estruturais têm 24px; por isso, as larguras resultantes dos blocos não precisam ser múltiplas isoladas de 16px: elas são calculadas depois de descontados os gutters.
Usar max-width: 1440px e centralização. No protótipo: width: min(calc(100% - 64px), 1440px). O respiro lateral existe fora do container; dentro dos 1440px, o espaçamento entre colunas e cards é de 24px.
Dentro de 1440px, usar o gutter estrutural de 24px entre blocos equivalentes: 1 × 1440px, 2 × 708px com 1 gutter, 3 × 464px com 2 gutters, ou 4 × 342px com 3 gutters. Em layouts assimétricos, combinar esses tracks: por exemplo, sidebar de 342px + gutter de 24px + conteúdo de 1074px.
Usar linha 1px solid var(--border) entre blocos editoriais, como seções do Plan-Assiste e transição para notícias relacionadas.
Verticalmente, o Portal usa ritmo, não linhas rígidas de 48px: conteúdo textual pode crescer naturalmente, mas inícios de seções, paddings, gaps e alturas mínimas devem preferir a escala de 8/16/24/32/48/64px. Entre blocos equivalentes, usar 24px; em cards de conteúdo, padding de 24px; em caixas grandes, 32px; e entre contextos distintos, 48px ou 64px. Evitar valores intermediários sem justificativa funcional.
| Valor | Uso recomendado | Evitar |
|---|---|---|
| 8px | Microespaço entre ícone e texto, label e campo, pequenos agrupamentos internos. | Usar como gap entre cards ou blocos de página. |
| 16px | Padding compacto para botões, chips, itens de lista, controles densos e agrupamentos internos pequenos. | Usar como padding de cards editoriais, notícias ou resultados com leitura. |
| 24px | Gap padrão vertical e horizontal entre cards, blocos relacionados e grupos de filtros. Também é o padding padrão de cards pequenos de conteúdo. | Misturar com 18px, 20px ou 22px para a mesma função. |
| 32px | Padding de caixas grandes, painéis amplos, headers de conteúdo e respiro antes de blocos de alta hierarquia. | Usar em componentes densos que precisem ser escaneados rapidamente. |
| 48px | Separação entre seções de contexto diferente, hero para conteúdo e mudanças claras de assunto. | Aplicar em listas repetitivas ou substituir o gap de 24px entre pares. |
| 64px | Separação ampla entre macroseções e respiro de início/fim de páginas longas. | Usar dentro de cards ou componentes operacionais. |
As versões responsivas não reinterpretam a identidade: elas reduzem o número de colunas, preservam a hierarquia e trocam navegações laterais por controles compactos quando o espaço não comporta leitura confortável. A regra é manter a escala de 16/24/32px e só reduzir padding em telas estreitas quando necessário para evitar quebra de texto ou botões comprimidos.
| Faixa | Comportamento esperado | Quantidade de itens por linha | Regras obrigatórias |
|---|---|---|---|
| Desktop amplo acima de 1100px | Usar o canvas de até 1440px, header completo, menu horizontal e grids principais. As medidas nominais de 342/464/708px valem quando o container alcança 1440px. | Cards principais, notícias e serviços: 4 colunas. Seções de apoio: 3 colunas. Layout do Beneficiário: sidebar de 342px + conteúdo. | Gap de 24px entre cards/colunas. Padding grande de 32px em caixas amplas. Sidebar visível quando for parte do fluxo operacional. |
| Desktop/tablet estreito até 1100px | Reduzir a largura da sidebar, simplificar grids e remover composições laterais que fiquem apertadas. | Cards de 4 colunas passam para 2 colunas. Seções de 3 colunas podem passar para 2 ou 1 conforme densidade. Rede credenciada e detalhes passam para 1 coluna. | Manter gap de 24px. Não criar cards mais estreitos que comprometam títulos, botões ou ícones. Sidebar do Beneficiário reduz para 288px, equivalente a 6 colunas-base de 48px. |
| Tablet/mobile grande até 900px | Header fica mais compacto, redes sociais somem do topo, menu principal vira menu expansível e layouts com sidebar passam a fluxo vertical. | Rodapé passa para 1 coluna. Cards operacionais ficam em 1 ou 2 colunas conforme leitura. Filtros e toolbars devem quebrar em linhas claras. | Container passa a calc(100% - 32px). Menu do Beneficiário deixa de ocupar lateral e vira lista suspensa. A navegação lateral original deve ficar oculta. |
| Mobile compacto até 640px | Tudo que for grade operacional deve empilhar. A experiência precisa priorizar leitura, toque e sequência vertical. | Cards, serviços, notícias, atalhos, filtros, cards de dados e ações: 1 coluna. Filtros rápidos podem usar 2 colunas apenas quando os rótulos forem curtos. | Evitar texto espremido. Botões devem ocupar largura confortável. Padding pode cair para 20/24px em áreas estreitas, mas novos padrões devem preferir 16px compacto, 24px estrutural e 32px amplo. |
No desktop, a navegação do Beneficiário funciona como sidebar porque organiza uma área operacional extensa. Ela não é igual ao menu principal do Portal: o menu principal pode exibir apenas “Catálogo de serviços”, enquanto a sidebar mantém “Minhas solicitações” e os demais destinos da área autenticada. Em telas menores, a sidebar deve ser substituída por um campo de seleção.
Texto final de uma matéria, orientação ou seção institucional.
A linha cria transição clara sem transformar o bloco seguinte em um card artificial.
| Elemento | Medida/valor | Regra de implantação |
|---|---|---|
| Fonte | Titillium Web, pesos 300/400/500/600 | Não substituir por outra família. Fallback é apenas contingência técnica. |
| Cor primária | #0d8473 | Usar em botões primários, menu e estados ativos principais. Passa contraste AA com texto branco. |
| Cor forte | #087765 | Usar em links, ícones e textos de ação. |
| Texto escuro | #103f3a | Usar em títulos e informações de maior hierarquia. |
| Texto padrão | #225c55 | Usar no corpo e em descrições. |
| Borda | #d7e7e2 | Usar em cards, inputs, divisórias e contornos suaves. |
| Aviso | #d7a739 | Usar em notificações, pins e alertas leves, preferencialmente com texto escuro. |
| Erro/acento | #d94d6a | Usar em favoritos, ícones e estados críticos. Para botão destrutivo preenchido, usar uma variação mais escura com texto branco. |
| Erro preenchido | #cf3f5f | Usar em ações destrutivas com fundo sólido e texto branco, quando o contraste AA for obrigatório. |
| Informativo | #2874d8 | Usar apenas em categorias informativas específicas, sem virar cor principal de navegação. |
| Header | Altura mínima 132px; logo colorida com 66px de altura | Não comprimir o cabeçalho nem reduzir a presença da marca. |
| Menu principal | Altura mínima 56px; fundo #0d8473; links semibold | Os links formam áreas contíguas que ocupam toda a altura da barra, com padding lateral responsivo de 12px a 24px; assim, cada limite fica exatamente no ponto médio entre os textos vizinhos. O item ativo usa fundo tonal #087765, texto Logo acento #00e9ab, cantos retos e aria-current="page". O hover escurece discretamente a mesma área. Não usar linha, contorno permanente, aumento ou deslocamento. Foco mantém outline amarelo. |
| Container | min(calc(100% - 64px), 1440px) | Preservar respiro lateral fora do container em desktops menores; o corpo de 1440px não tem padding interno. |
| Gap principal | 24px | Usar como espaçamento padrão entre colunas e cards. Se faltar espaço, quebrar linha. |
| Breakpoints | 1100px, 900px e 640px | Usar 1100px para reduzir colunas, 900px para menus compactos e 640px para empilhamento total. |
| Menu Beneficiário mobile | Select visível abaixo de 900px | Substitui a sidebar para preservar espaço de leitura. O select deve refletir a página atual e navegar ao trocar a opção. |
| Sidebars das áreas restritas | 342px em desktop; mesma estrutura visual para Beneficiário, Credenciado e Equipe | Usar perfil no topo, Visão geral, grupos funcionais, item ativo preenchido e Sair no rodapé. Cada perfil preserva seus próprios destinos e permissões. Abaixo de 900px, substituir o conteúdo lateral pelo mesmo seletor compacto; links de sistemas externos não entram no select. |
| Gestão da informação | Cards de navegação por frente de trabalho | Cada card apresenta título, resumo curto e CTA “Abrir área”. O destino organiza rotinas, tutoriais, modelos e referências em seções com índice local. Solicitações operacionais da Equipe pertencem à Central IT e não devem ser reproduzidas no Portal. |
| Notificações | Filtros por leitura, categoria e intervalo de datas; 12 itens por página | Reiniciar na primeira página ao alterar filtros, oferecer ação para limpar, estado vazio e paginação anterior/próxima. Notificações críticas continuam exigindo confirmação de leitura; as demais não devem bloquear o acesso. |
| Avatar autenticado | 48px; borda de 2px | A borda usa a mesma cor temática da barra principal do perfil ativo, garantindo continuidade visual entre identificação e navegação. |
| Ícones de topo/rodapé | 24px; gap 24px | Usar para redes sociais, sino e ações isoladas. A foto de perfil pode ser maior por ser identificação visual. |
| Redes sociais | YouTube, WhatsApp e LinkedIn | Tooltip, title e nome acessível devem informar exatamente o nome da rede, sem substituir pelo destino interno usado no protótipo. |
| Padding grande | 32px | Usar em caixas amplas, painéis de busca, headers editoriais e cards de maior hierarquia. |
| Padding padrão de card | 24px | Usar em notícias, serviços, resultados resumidos, cards clicáveis e blocos de conteúdo pequenos. |
| Padding compacto | 16px | Usar em botões, chips, itens de lista, controles densos e componentes pequenos sem leitura editorial. |
| Sidebar Beneficiário | 342px | Equivale a uma coluna do grid de 4 colunas. |
| Cards principais | Raio 16 a 18px; borda 1px; sombra suave | Manter hierarquia de card sem excesso de sombra ou arredondamento. |
| Cards pequenos/botões | Raio 8 a 9px | Não usar raios excessivamente arredondados em comandos retangulares. |
| Campos | Altura mínima 46px; borda 2px | Labels sempre visíveis; placeholder não substitui label. |
| Citação/nota editorial | Borda esquerda 4px, raio 6px, fundo #f2faf7 | Usar para orientações, trechos de norma e alertas leves. Não usar cantos retos na esquerda. |
| Botões de carteirinha | Altura mínima 52px | Ícone + texto, alinhados ao centro. |
| Botões padrão | Altura mínima 40 a 48px | Usar altura conforme densidade da área, mantendo alvo clicável confortável. |
| Foco acessível | Outline 3px #ffd369; offset 3px | Não remover outline sem substituto equivalente. |
| Animações | 180ms a 240ms; deslocamento máximo 3px | Respeitar prefers-reduced-motion. |
| Rodapé | #0d8473 e base #315c55 | Manter contraste alto, diferença visual clara entre faixas e estrutura em 4 colunas no desktop. |
04. Componentes básicos
Controles devem ser explícitos, acessíveis por teclado e visualmente consistentes em todas as páginas.
Filtros ativos devem ser visíveis, removíveis e refletidos na URL quando a busca for compartilhável.
Select padrão: toda lista usa label visível, altura mínima de 46px, borda de 2px, raio de 9px, fundo branco e seta verde alinhada a 16px da borda direita. O estilo nativo do navegador não deve aparecer. Em linhas de filtros, use as proporções da grade sem alterar a largura após a seleção.
Botões segmentados de filtro: os conjuntos usados no Catálogo de serviços, na Rede credenciada, em Dúvidas frequentes e na Pesquisa permanecem estáticos. No hover, alteram somente a cor de fundo e da borda, sem deslocamento vertical. Contêineres com rolagem horizontal devem reservar espaço interno suficiente para não recortar nenhuma borda.
Seleção de período: filtros por data usam um único campo retangular com cantos arredondados, ícone de calendário e calendário em português do Brasil. O período é exibido em dia/mês/ano e o cabeçalho do calendário usa “mês de ano”. A largura do campo não muda depois da seleção.
Limpar filtros: use sempre o botão secundário em formato de cápsula, com fundo verde muito claro, borda suave e altura mínima de 46px. O hover altera apenas fundo e borda, sem deslocar o botão.
Use Combobox (em vez de <select> simples) sempre que a lista de opções tiver mais de 8 itens ou quando o usuário precisar digitar para filtrar sem saber o termo exato. Implementado como componente React interno (Combobox) com input + lista absoluta com scroll.
Demonstração interativa
Clique em ▾ ou comece a digitar para filtrar.
Regras de comportamento
Quando usar
Classes CSS
Botão flutuante presente em todas as páginas do Portal, implementado em AiChatWidget. Ele abre uma janela de chat para dúvidas rápidas sobre o Plan-Assiste sem retirar a pessoa do fluxo atual. O assistente é automático, usa respostas da base de dúvidas frequentes (supportFaqs) e deve encaminhar para atendimento humano quando não houver resposta segura.
Gatilho fixo no canto inferior direito
Janela de chat ancorada ao lado direito
Cards de indicador usados na página Transparência (TransparenciaPage). A forma do gráfico é escolhida pela pergunta que ele responde, nunca por preferência visual: ranking/magnitude usa barra de uma cor só; tendência no tempo usa linha/área; parte-do-todo usa uma única barra empilhada com legenda – nunca pizza/donut para comparar valores próximos.
Além dos componentes já desenhados no protótipo, o sistema definitivo deve prever documentação e exemplos para estes padrões, inspirados em design systems governamentais e bibliotecas públicas maduras:
05. Componentes editoriais e administrativos
O Portal definitivo deve prever um editor rico e blocos reutilizáveis para que a equipe publique conteúdo sem quebrar identidade, acessibilidade ou governança. Todo componente editorial deve nascer dos mesmos tokens de cor, tipografia, grid, raio, foco e espaçamento usados no restante do Portal.
Conteúdo rico é permitido somente por meio do editor personalizado do Portal. Formulários operacionais usam campos de texto simples; não devem existir editores paralelos, HTML livre ou campos ricos com estilos próprios.
Descrições de cards, documentos, destaques, slides, resumos e legendas usam entrada de texto simples em Titillium Web Light 18px. O editor rico fica reservado ao corpo de notícias e aos blocos editoriais “Texto rico”, nos quais a formatação altera de fato a estrutura de leitura.
Use parágrafos curtos, links sublinhados em texto corrido e listas quando houver etapas ou documentos.
Notas editoriais usam borda esquerda, fundo suave e texto escuro.
O editor oferece parágrafo, títulos H2 e H3, ênfases, listas, citação, alinhamento, links, linha horizontal e tabelas. O conteúdo gerado deve ser sanitizado; scripts, iframes livres, eventos JavaScript e classes externas não são aceitos.
<h2>Orientações para reembolso</h2> <p>Envie os documentos exigidos pelo regulamento.</p> <table> <thead><tr><th>Documento</th><th>Quando usar</th></tr></thead> <tbody><tr><td>Nota fiscal</td><td>Sempre</td></tr></tbody> </table>
Tabelas devem ser usadas para comparação real de dados, não para diagramação. O editor oferece três estilos: padrão, realce da linha no hover e zebrado com linhas alternadas. Seus títulos e cabeçalhos usam 18px; o conteúdo das células usa 17px. Em mobile, a tabela precisa ter rolagem horizontal dentro de um contêiner, preservando cabeçalhos e conteúdo.
| Procedimento | Documento necessário | Prazo de referência |
|---|---|---|
| Reembolso médico | Nota fiscal, recibo e pedido médico quando aplicável. | Até 30 dias após análise. |
| Inclusão de dependente | Documento pessoal e comprovação de vínculo. | Até 10 dias úteis. |
| Autorização de exame | Solicitação médica, relatório e justificativa. | Conforme complexidade. |
Imagens editoriais devem ter função clara, proporção estável, legenda quando ajudarem na interpretação e texto alternativo obrigatório quando transmitirem informação.
Usar accordion para perguntas frequentes, explicações progressivas e listas longas de detalhes. O título precisa ser autoexplicativo; respostas não devem esconder ações críticas.
Informe os documentos por tipo de solicitação e mantenha a resposta curta. Quando houver exceções, linkar para a página completa.
Direcione para a área do beneficiário, preservando o contexto da solicitação.
Alertas devem orientar decisão. Não usar cor sozinha: o texto precisa dizer o estado e a consequência.
Uploads devem indicar formatos aceitos, limite de tamanho, progresso, sucesso, erro e remoção. Em documentos sensíveis, exibir aviso de segurança e não aceitar arquivos fora da política.
Tabelas e listagens do admin precisam exibir status, autor, última edição, ações por linha e estados de revisão. O usuário deve entender o que está publicado, em rascunho ou aguardando aprovação.
| Conteúdo | Status | Última edição | Ação |
|---|---|---|---|
| Notícia de campanha | Publicado | 16/06/2026 | Editar |
| FAQ de reembolso | Em revisão | 15/06/2026 | Revisar |
| Componente | Uso recomendado | Regras de identidade | Cuidados de implementação |
|---|---|---|---|
| Editor rico | Notícias, páginas institucionais, FAQ, orientações e conteúdos normativos. | Títulos, listas, links, citações e tabelas usam estilos do Manual. | Sanitizar HTML, validar heading, bloquear scripts e preservar prévia responsiva. |
| Tabela editorial | Comparar documentos, especialidades, prazos, canais, regras e extratos resumidos. | Título e cabeçalhos em 18px, conteúdo em 17px, cabeçalho em fundo suave, borda clara, padding 12/14px e texto escuro. Listas documentais usam colunas Nº, Documento e Ação; downloads usam sempre o CTA “Baixar” na última coluna. | Rolagem horizontal no mobile e hover tonal na linha. Documentos que exigem assinatura recebem asterisco; a nota explicativa fica fora do contêiner rolável, imediatamente abaixo da tabela. |
| Tabelas de especialidades | Uma tabela para cada categoria; conteúdo com padding de 24px | O caption é o cabeçalho visível da tabela: fundo verde suave, borda inferior, padding de 16px × 24px e fonte semibold de 18px. Usar os títulos Especialidades Médicas, Especialidades Paramédicas e Especialidades Odontológicas. Ordenar alfabeticamente e não usar divisórias entre as linhas de conteúdo. | Usar container query: três colunas por padrão, duas abaixo de 760px de largura disponível e uma abaixo de 460px. Redistribuir a sequência completa a cada mudança, sem células vazias fixas nem rolagem horizontal. |
| Tabela administrativa | Listagens de conteúdo, usuários, credenciados, solicitações e auditoria. | Cabeçalhos em 18px, células em 17px, status como badges, ações discretas, hover mínimo e foco visível. | Busca, filtro, ordenação, paginação, exportação e estado vazio. |
| Accordion | FAQ, detalhes progressivos e grupos de informações extensas. | Borda clara, raio 12px, título forte e resposta em texto regular. | Usar button ou summary acessível, estado expandido e navegação por teclado. |
| Tabs | Alternar vistas equivalentes, como extrato, utilização e IRPF. | Ativo em verde primário; inativos com borda e texto forte. | Não usar tabs para etapas sequenciais; em mobile, permitir quebra ou rolagem horizontal. |
| Stepper | Solicitações, reembolsos e fluxos guiados. | Etapas concluídas em verde, atual com destaque e futuras neutras. | Salvar rascunho, validar por etapa e permitir retorno sem perda de dados. |
| Toast/status | Copiar protocolo, salvar rascunho, favoritar, remover item. | Mensagem curta, fundo claro ou verde escuro conforme criticidade. | Usar região anunciável e não depender apenas de desaparecimento automático. |
| Modal/dialog | Confirmação destrutiva, troca de perfil, publicação, exclusão. | Raio 18px, padding 32px, botões claros e sem excesso de sombra. | Gerenciar foco, Escape, clique fora quando seguro e bloquear fundo. |
| Assistente virtual (chat) | Dúvidas rápidas sobre o Plan-Assiste em qualquer página, sem sair do fluxo. | Botão flutuante só com ícone; janela ancorada ao canto inferior direito com largura máxima de 460px, afastada 60px das bordas; respostas vêm da base de dúvidas frequentes. | Sempre indicar que é automático, oferecer caminho para atendimento humano e nunca inventar dado de cobertura, prazo ou valor. |
| Voltar ao topo | Retorno rápido ao início da página sem disputar atenção com o chat. | Botão circular flutuante discreto, com seta centralizada, posicionado acima do chatbot e com contraste suficiente sobre o conteúdo. | Manter comportamento simples, sem animação lateral; não sobrepor VLibras nem o assistente virtual. |
| Gráficos (dataviz) | Indicadores de despesas, beneficiários e rede na página Transparência. | Forma pela pergunta (ranking, tendência, parte-do-todo); cor de série única herda alto contraste; paleta categórica validada e de ordem fixa. | Rótulo direto só na ponta/extremidade; sempre oferecer alternativa em tabela; nunca pizza para valores próximos. |
| Upload | Anexos de solicitações, imagens editoriais e documentos administrativos. | Área tracejada, texto escuro, ícone simples e feedback de progresso. | Validar tipo/tamanho, permitir remover, exibir erro e preservar privacidade. |
| Empty/loading/error | Listas, buscas, admin, rede credenciada e páginas restritas. | Fundo suave, texto orientativo e CTA quando houver próximo passo. | Não deixar telas sem resposta; estados precisam ser testados no QA. |
06. Sistema de cards
O Portal usa cards com funções diferentes. A função define comportamento, CTA e hover; a forma que envolve o ícone reforça a natureza do conteúdo, sem substituir título, texto ou rótulo acessível.
Usado quando o card leva a outra página. O card inteiro é clicável, tem hover e CTA alinhado ao rodapé.
Saiba mais →Usado para resumo, status ou explicação sem destino. Não deve levantar no hover nem exibir seta.
Usado em serviços, solicitações e fluxos. Deve ter botão claro, estado e resposta de ação.
| Tipo | Quando usar | CTA | Hover | Exemplos |
|---|---|---|---|---|
| Navegação | Conteúdo completo existe em outra página. | Sim, no rodapé. | Sim. | Home, Plan-Assiste, Carteirinhas, Visão geral. |
| Card de navegação 2 | Leva a uma página-filha ou neta dentro de uma seção, com hierarquia já estabelecida. | “Abrir página” no rodapé. | Discreto, com reforço de borda e fundo. | Pessoa Jurídica e Pessoa Física em Como se credenciar ou renovar. |
| Informativo | Resumo sem ação direta. | Não. | Não. | Dados, status, resumo financeiro. |
| Operacional | Inicia tarefa ou fluxo. | Botão explícito. | Somente no botão/card se clicável. | Catálogo de serviços e serviços dos dependentes. |
| Resultado | Item em lista filtrável. | Ação principal + secundária. | Discreto. | Rede credenciada, busca, notícias. |
| Avaliação Atuarial | Publica relatório atuarial por exercício dentro de uma página comum. | “Abrir PDF”. | Discreto no card; claro no botão. | Página Transparência. |
Páginas internas do Portal web devem começar com título e descrição empilhados, antes de filtros, resumos, formulários ou cards. Esse padrão é diferente do AppScreenHeader do aplicativo móvel.
As três formas são intencionais e não devem ser alternadas apenas por preferência estética. Elas ajudam a distinguir hierarquia, contexto e operação.
| Variação | Forma | Uso | Exemplos no Portal |
|---|---|---|---|
| Ícone livre | 30–38px, sem contêiner | Atalho de alto nível ou card de destaque cuja ação já está clara pelo título e CTA. | Dashboard do Beneficiário, cards de orientação e navegação principal. |
| Ícone circular | Ícone de 20–28px em círculo de 40–56px | Informação, identidade, categoria, entidade ou estado contextual; a forma suave indica apoio, não início de fluxo. | Tipo de credenciado, avisos, perfil, indicadores e cards informativos. |
| Ícone operacional | Ícone de 24px em quadrado de 48px, raio de 12px | Serviço, solicitação ou fluxo executável. Deve permanecer consistente dentro de um catálogo ou conjunto operacional. | Catálogo de serviços, serviços dos dependentes e cards de gestão operacional. |
07. Conteúdo e microcopy
O texto deve reduzir incerteza. Evitar títulos longos, duplicação de rótulos e CTAs genéricos quando o destino não entrega informação específica.
08. Acessibilidade
A experiência precisa funcionar com teclado, leitores de tela, contraste elevado, zoom e preferências de redução de movimento.
Todo controle deve receber foco visível. Popovers devem abrir/fechar de forma previsível e não prender o foco sem necessidade.
Usar button para ação, a para navegação e títulos em ordem lógica.
Texto principal deve atingir contraste adequado. Chips claros precisam de texto forte e não podem depender apenas de cor.
Ícones decorativos usam aria-hidden="true". Botões de ícone precisam de rótulo acessível.
Respeitar prefers-reduced-motion. Animações devem ser sutis e não essenciais à compreensão.
Feedback de copiar, salvar, enviar e erro deve usar role="status" ou região anunciável quando necessário.
09. Movimento e affordance
O movimento deve sugerir interatividade, não chamar atenção para si. Usar transições entre 160ms e 240ms.
10. Padrões por página
Esta seção resume decisões que devem ser preservadas na implementação definitiva.
| Área | Paleta | Motivo | Contraste principal |
|---|---|---|---|
| Beneficiário e Portal geral | Primária #0d8473, forte #087765, institucional #4a7b73, rodapé final #315c55 | Experiência principal do Portal, com imagem de saúde, acolhimento e confiança. | Branco sobre #0d8473: 4.60:1; branco sobre #315c55: 7.52:1 |
| Área do credenciado | Primária #3f6f67, forte #315c55, fundos #edf6f3/#f5faf8 | Escurece e inverte a relação dos verdes para sinalizar conteúdo profissional, sem romper com a marca. | Branco sobre #3f6f67: 5.70:1; rodapé inferior #315c55. |
| Área da equipe | Primária #197686, forte #0f4c56, fundos #e8f5f7/#f1fafb, rodapé final #0f4c56 | Rompe para azul/teal para indicar ambiente interno e evitar confusão com conteúdo do beneficiário. | Branco sobre #197686: 5.28:1; branco sobre #0f4c56: 9.60:1 |
Página de passagem. Cards devem favorecer descoberta, com links claros para serviços, notícias, suporte e áreas públicas.
Área operacional. Priorizar atalhos, pendências, rede credenciada e cards de orientação navegáveis para conteúdos futuros.
Separar ações diretas da carteirinha dos cards informativos/navegáveis. Plan-Assiste e Unimed devem ter identidade visual distinta.
Filtros úteis, favorito, avaliações, Google e rede/custo devem ficar escaneáveis. Botões inferiores sempre alinhados ao fundo do card.
Data com calendário, categoria como chip, imagem relevante ou editorial, divisória antes de relacionadas e favoritos quando logado.
Priorizar FAQ, Central 24h e Manifestações. Evitar canais que não serão mantidos, como e-mail de contato direto.
Conteúdo institucional com cards de navegação e seções editoriais separadas por linhas sutis quando o conteúdo for longo.
Área pública com quatro cards no desktop e acesso claro à área logada. Detalhe de credenciado sem divisórias excessivas.
Indicadores gerais (despesas, beneficiários, rede) em cards de gráfico com legenda, rótulos diretos e alternativa em tabela. Dados sempre identificados como ilustrativos quando não vierem de fonte oficial.
11. Aplicativo móvel
Componentes e padrões específicos para o mockup e implementação do aplicativo móvel Plan-Assiste. Seguem os mesmos tokens de cor, tipografia e espaçamento do Portal, adaptados para interação por toque e proporções de tela de celular.
As telas do app adotam a escala do Material Design 3 (MD3), que define tamanhos e line-heights ideais para viewports de 360–393px. O peso "Medium (500)" do MD3 é mapeado para 600 (SemiBold) no Titillium Web, pois o projeto não carrega o peso 500 separado. O contêiner do frame define font-size: 16px para neutralizar os 18px herdados do body do portal.
| Token MD3 | Tamanho | Peso | Line-height | Uso nas telas do app |
|---|---|---|---|---|
displaySmall | 36px | 400 | 1.11 | Reservado para títulos de onboarding / telas de entrada de grande hierarquia. |
headlineMedium | 28px | 400 | 1.29 | Título principal de tela splash/login (ex.: "Acessar o Portal"). |
headlineSmall | 24px | 400 | 1.33 | Saudação em destaque (ex.: "Olá, Ana Maria!"), usada com peso 600 no contexto de banner. |
titleLarge | 22px | 400 | 1.27 | Título de cabeçalho de tela interna (AppScreenHeader). Nome do app na splash com peso 600. |
titleMedium | 16px | 600 | 1.50 | Título de card de destaque, nome do app no header compacto, rótulo de seção primária. |
titleSmall | 14px | 600 | 1.43 | Subtítulo de card, rótulo de seção secundária ("Acessos rápidos"). |
labelLarge | 14px | 600 | 1.43 | Texto de botão primário e secundário. |
labelMedium | 12px | 600 | 1.33 | Rótulos de tab/bottom nav (ativo: 600; inativo: 400), labels de formulário. |
labelSmall | 11px | 600 | 1.45 | Eyebrows (ex.: "ÁREA DO BENEFICIÁRIO"), badges de notificação. |
bodyLarge | 16px | 400 | 1.50 | Corpo proeminente (não usado nas telas atuais; reservado para conteúdos editoriais). |
bodyMedium | 14px | 400 | 1.43 | Corpo padrão, descrições de card, dados de contato (bold 600 para o dado principal). |
bodySmall | 12px | 400 | 1.33 | Textos secundários, sublabels, nota de segurança, rodapé de versão, subtítulo de card. |
0 10px 24px rgba(16,63,58,.06).O app usa um modelo de pilha de telas. Cada tela empurrada preserva o histórico e o botão de voltar retorna para a tela anterior. A navegação por abas inferiores (bottom nav) redefine a pilha para o contexto daquela aba.
Barra fixa no rodapé do app com 5 abas. A aba ativa usa cor primária #0d8473 e peso semibold; inativas usam #b0c8c4 com peso regular.
| Aba | Ícone (Lucide) | Rótulo | Comportamento |
|---|---|---|---|
| Início | Home | Início | Tela principal do beneficiário. |
| Serviços | Grid2X2 | Serviços | Lista de serviços disponíveis. |
| Rede | MapPin | Rede | Rede credenciada. |
| Favoritos | Heart | Favoritos | Itens e credenciados favoritados. |
| Perfil | User | Perfil | Dados do beneficiário e configurações. |
Especificações: borda superior 1px solid #d7e7e2; fundo branco; padding 6px 0 24px (24px de segurança inferior); ícones 22px; rótulos 10px.
Padrão exclusivo do aplicativo móvel para telas de subfluxo. Botão de voltar (ícone ArrowLeft) à esquerda e título da tela ao lado. Não deve ser usado como cabeçalho das páginas internas do Portal web.
Especificações: padding 14px vertical / 20px lateral; ícone ArrowLeft 22px; título 18px peso 700 cor #103f3a; borda inferior 1px solid #d7e7e2; fundo branco.
Tela de entrada do app. Layout vertical em três zonas: área central com logo, texto e botão de autenticação; base com card de ajuda e rodapé de versão.
| Elemento | Especificação |
|---|---|
| Logo | SVG colorida /assets/logo-colorida.svg, 86px de altura, centralizada. |
| Nome do app | "Plan-Assiste" 22px peso 700, cor #3a877c (logo escuro). |
| Título | 26px peso 700, cor #103f3a. |
| Subtítulo | 14px peso 500, cor #8aa8a3. |
| Corpo | 15px peso 400, cor #4a7b73, line-height 1.65, centralizado. |
| Botão gov.br | Ver padrão "Botão gov.br" abaixo. |
| Nota de segurança | Ícone Shield 13px + texto 13px, cor #8aa8a3, centralizado. |
| Card de ajuda | Ver padrão "Card de ajuda contextual" abaixo. |
| Rodapé de versão | 13px peso 600, cor #0d8473, centralizado, padding inferior 8px. |
Botão de autenticação externa conforme o componente Sign-in do Padrão Digital de Governo. Usa a cor institucional do gov.br e a marca oficial no rótulo. Não usar o verde Plan-Assiste neste botão.
| Propriedade | Valor |
|---|---|
| Referência | Componente Sign-in do Design System gov.br: br-sign-in large primary mt-3 mt-sm-0 ml-sm-3, com largura expandida no modal. |
| Cor de fundo | #1351B4, token interativo primário do gov.br. |
| Fonte | 16.8px Rawline, Raleway, sans-serif. |
| Pesos | Entrar com em peso 600; gov.br em .text-black com peso 800, ambos brancos. |
| Conteúdo | <span class="gov-login-prefix">Entrar com </span><span class="text-black">gov.br</span>. |
| Altura mínima | 48px. |
| Border-radius | 100em (pílula), conforme o componente do DS. |
| Foco | Outline tracejado dourado #c2850c, 4px, com offset de 4px. |
| Largura | 100% do container (tela inteira menos padding lateral) |
| Uso | Exclusivo para autenticação gov.br de beneficiários e equipe. Não reutilizar para outras ações. |
Componente de rodapé de telas de entrada para oferecer suporte antes da autenticação.
Borda 1.5px solid #d7e7e2; raio 16px; ícone HelpCircle 20px cor #0d8473 em círculo de 42px com borda; título 17px peso 700; descrição 16px cor #4a7b73; seta ChevronRight 18px.
Linha de canal de atendimento dentro de card. Ícone colorido à esquerda, texto e subtítulo no centro, separadas por borda superior.
Padding 14px vertical / 20px lateral; ícone 20px cor #0d8473; texto principal 17px peso 700; subtítulo 16px; separador 1px solid #d7e7e2; última linha sem borda; e-mails longos com overflow-wrap: anywhere.
12. Dashboard administrativo
O admin deve funcionar como um CMS completo e governado: a equipe precisa conseguir criar, editar, excluir, ordenar, publicar, arquivar e configurar páginas, menus, sidebars, cards, notícias, credenciados, serviços e componentes sem depender do desenvolvedor para mudanças rotineiras.
O painel administrativo deve oferecer flexibilidade comparável a um WordPress/Drupal, mas com guardrails do design system do Plan-Assiste. A equipe gestora deve conseguir mudar completamente a estrutura de páginas e conteúdos, mantendo tokens, componentes, acessibilidade, versionamento e permissões.
| Módulo | Recursos obrigatórios | Campos essenciais | Regras de qualidade |
|---|---|---|---|
| Páginas | Criar, duplicar, editar, excluir, arquivar, restaurar, publicar, agendar e ordenar páginas. Permitir páginas públicas, restritas, internas, landing pages e páginas utilitárias. | Título, slug, status, template, hierarquia, área, idioma quando aplicável, SEO, noindex, imagem, resumo, permissões, menu, sidebar, blocos, scripts permitidos. | Nenhuma página deve depender de alteração de código para existir. Slug único, prévia obrigatória e rollback disponível. |
| Templates | Gerenciar templates próprios: página com sidebar, sem sidebar, editorial, notícia, FAQ, listagem, detalhe, dashboard, formulário, rede credenciada, carteirinhas, suporte e página livre com blocos. | Nome, descrição, slots, regiões, tipos de blocos aceitos, variação de cor, largura, grid, sidebar, cabeçalho, rodapé, permissões. | Templates podem ser customizáveis, mas não podem quebrar tokens de cor, fonte, grid, foco e acessibilidade. |
| Sidebars | Criar, editar, excluir, associar e reordenar sidebars por página, tipo de conteúdo ou área do Portal. | Título, itens, links, ícones, agrupamentos, estado ativo, cards auxiliares, banners, ordem, visibilidade por perfil. | Sidebar deve ser opcional por página e editável sem código. Deve respeitar navegação por teclado. |
| Blocos de conteúdo | Adicionar, remover, duplicar e ordenar blocos: texto rico, hero, imagem, galeria, cards, CTA, alerta, citação, tabela, accordion, tabs, lista, embed permitido, formulário, busca, arquivo, FAQ, mapa e separador. | Tipo, conteúdo, variante visual, título, descrição, mídia, links, acessibilidade, ordem, visibilidade, publicação. | Blocos devem ter validação por tipo e prévia fiel ao Portal. Não permitir HTML livre sem governança. |
| Menus | Gerenciar menu principal, menus secundários, links do rodapé, menus laterais e atalhos. | Label, URL, tipo de link, destino, ícone, ordem, área, perfil, abrir em nova aba, estado ativo. | Menus devem aceitar reordenação e publicação agendada. Links quebrados devem ser bloqueados. |
| Notícias | Criar, editar, excluir, agendar, arquivar, destacar, favoritar destaque, relacionar notícias, gerenciar imagens e histórico. | Título, resumo, corpo, categoria, tags, data, imagem, texto alternativo, status, autor, fonte, relacionados, visibilidade. | Imagem otimizada, data válida, resumo curto, categoria singular e tags múltiplas. |
| Categorias e tags | CRUD completo de categorias e tags para notícias, serviços, credenciados, FAQ, páginas e cards. Permitir sinônimos e termos de busca. | Nome, slug, descrição, cor, ícone opcional, tipo de conteúdo, ordem, status, sinônimos, redirecionamentos. | Categoria é singular e organizacional; tags são múltiplas e descritivas. Ex.: "Atendimento" pode ser categoria; "Presencial", "Consultas", "Exames" e "Vacinas" são tags. |
| Cards | Criar, editar, excluir, duplicar, ordenar e associar cards a páginas, home, grids, carrosséis e áreas internas. | Tipo de card, título, descrição, ícone, imagem, CTA, URL, categoria, tags, ordem, variante, público, status. | Card precisa declarar se é navegação, informação, ação ou resultado. O comportamento visual deriva dessa escolha. |
| Serviços e solicitações | Gerenciar cards, fluxos, formulários, categorias, documentos, instruções, favoritos e rotas. | Nome, descrição, categoria, tags, rota, documentos exigidos, prazo, público-alvo, status, responsável. | Card operacional precisa ter ação clara e estado de disponibilidade. |
| Rede credenciada | CRUD de credenciados, especialidades, serviços, endereços, contatos, rede/custo, tags, status e importação em lote. | Nome, tipo, categoria, especialidades, endereço, geolocalização, telefone, tags, rede, avaliações, horários, canais. | Validar endereço, evitar duplicidade, manter ícones por tipo e botões alinhados. |
| Carteirinhas | Configurar operadoras, modelos visuais, campos, frente/verso, validade, download, impressão e cards de orientação. | Operadora, beneficiário, matrícula, validade, abrangência, layout, logo, cores permitidas, canal de suporte. | Plan-Assiste e Unimed precisam preservar identidades visuais distintas. |
| FAQ | Criar, editar, excluir, categorizar, ordenar, publicar, relacionar e revisar perguntas e respostas. | Categoria, pergunta, resposta, tags, palavras-chave, fonte, data de revisão, responsável. | Usar linguagem direta e manter respostas revisadas contra normas oficiais. |
| Suporte | Editar canais, manifestações, assistente virtual, central 24h, FAQs, cards e links externos. | Título, descrição, ícone, URL, telefone, disponibilidade, prioridade, público, status. | Não publicar canais sem governança de atendimento. |
| Usuários e permissões | Perfis de editor, revisor, administrador, auditor e atendimento. | Nome, órgão, perfil, permissões, status, histórico. | Publicação deve exigir permissão e registrar auditoria. |
| Auditoria | Log de alterações, histórico de versão, restauração e aprovação. | Usuário, data, ação, antes/depois, IP/sessão quando permitido. | Todo conteúdo publicado deve ter rastreabilidade. |
| Configurações | Menus, rodapé, banners, avisos, acessibilidade, termos e privacidade. | Label, rota, ordem, visibilidade, público, status. | Mudanças em navegação exigem revisão de UX e acessibilidade. |
CMS demonstrativo
A Administração do Portal está disponível diretamente na Área da equipe. A demonstração permite criar páginas hierárquicas, substituir páginas existentes e montar o conteúdo com blocos responsivos.
Os componentes dependem da interface ContentRepository, não diretamente do armazenamento local. A migração deve preservar essa interface e trocar apenas sua implementação.
ApiContentRepository implementando os mesmos métodos de leitura, assinatura, consulta, gravação, exclusão, importação e exportação.updatedAt.HttpOnly, Secure e SameSite. A API sempre reaplica a autorização.13. QA e critérios de aceite
Todo incremento visual ou funcional deve passar por uma checagem mínima antes de entrar em produção.
Todo link que abrir em nova aba deve usar target="_blank" com rel="noreferrer", exibir o símbolo de link externo após o rótulo e informar “Abrir em uma nova aba” no tooltip e no nome acessível. Não usar apenas cor ou uma seta comum para comunicar esse comportamento.
14. Referências externas
Estas referências ajudam a manter o manual alinhado a práticas maduras de design systems, especialmente em ambientes públicos e institucionais.
Sistema de design público com componentes, padrões, acessibilidade e orientações de implementação.
Acessar referênciaReferência de componentes, estilos, formulários, navegação, links, conteúdo e serviços digitais governamentais.
Acessar referênciaFamília tipográfica oficial do Portal neste protótipo, carregada localmente a partir dos arquivos em public/fonts/titillium-web.
Acessar referência