Documentação de produtoApp Gestão
← Voltar ao blueprint

Spec de Telas — App Gestão CFC Produtivo

Documento de desenho e projeto. Descreve as telas, componentes, estados e conteúdo do novo app de gestão, para servir de base a protótipos.

Viabilidade técnica, esforço, riscos e dependências de integração estão fora deste documento — vivem em analise-api-app-gestao-instrutor.md, que permanece a peça canônica de análise.

Data: 2026-09-06


Sumário

  1. Propósito e público
  2. Identidade visual white-label
  3. Perfis e modelo de papéis
  4. Mapa de navegação
  5. Bloco A — Entrada e identidade
  6. Bloco B — Telas comuns aos dois papéis
  7. Bloco C — Papel Instrutor
  8. Bloco D — Papel Gestor
  9. Bloco E — Financeiro (papel Gestor)
  10. Componentes reutilizáveis
  11. Estados globais
  12. Configurações do CFC que alteram a interface
  13. Microcopy de referência
  14. Matriz tela × papel
  15. Entregáveis sugeridos

1. Propósito e público

O app substitui a experiência atual do App de Gestão, hoje limitada à consulta de agenda e ao fechamento de aulas pelo instrutor. O novo app atende dois papéis dentro de um mesmo CFC:

Papel Quem é O que quer resolver no celular
Instrutor Profissional que ministra aulas práticas Ver a agenda do dia, saber quem é o próximo aluno, marcar e desmarcar aulas, registrar o que aconteceu na aula
Gestor Dono, sócio, diretor ou gerente do CFC Saber como a operação está indo sem abrir o painel web (aulas, leads, matrículas, inadimplência) e operar o caixa no dia a dia: lançar uma entrada ou saída na hora, quitar o que o aluno acabou de pagar e conferir o fluxo de caixa

Caso central de desenho: em CFCs pequenos e médios, o gestor também dá aula. O app precisa atender esse duplo papel sem poluir a experiência de quem exerce só um deles.

Princípios de desenho

  1. Agenda é a tela-mãe do instrutor; dashboard é a tela-mãe do gestor. Cada papel abre no que importa para ele.
  2. Uma identidade, dois contextos. Nunca pedir novo login para trocar de papel.
  3. O switcher não existe para quem não precisa dele. Instrutor puro e gestor puro jamais veem o controle de papel.
  4. Otimizado para uso em pé, com uma mão, entre aulas. Alvos de toque generosos, ações primárias ao alcance do polegar, leitura possível sob sol.
  5. Baixo consumo de rede. A tela inicial de cada papel resolve com uma requisição.
  6. Dinheiro exige confirmação e rastro. Toda operação financeira mostra o que vai acontecer antes de acontecer, e deixa registro de quem fez. Nenhum lançamento nasce de um toque acidental.
  7. Valores são sensíveis em público. O gestor consulta o app no balcão, na frente de aluno. Todo agregado financeiro é ocultável com um toque.

2. Identidade visual white-label

O app é branco de marca: cada CFC aplica sua identidade. Os dados de marca chegam no login e valem para toda a sessão.

Elemento Origem Uso na interface
Logo do CFC dadosCliente.imagem (URL CloudFront) Cabeçalho da home, tela de login após identificar o CFC, tela de conta
Nome do CFC dadosCliente.nome Cabeçalho, seletor de papel, tela de conta
Cor primária configs.cor1 Barra superior, botões primários, item ativo da tab bar
Cor secundária configs.cor2 Destaques, chips selecionados, gráficos
Cor terciária configs.cor3 Fundos de apoio, superfícies elevadas
WhatsApp do CFC configs.whatsapp Ação "Falar com a secretaria" na tela de conta

Diretriz para o protótipo: desenhar com uma paleta neutra de referência e demonstrar ao menos duas variações de marca (uma clara, uma escura), provando que o layout aguenta cores arbitrárias vindas do cliente. Textos e ícones precisam manter contraste adequado sobre cor1 em ambos os casos — prever token de "cor de conteúdo sobre primária" calculado, não fixo.


3. Perfis e modelo de papéis

3.1 As três formas do app

Forma Quando ocorre O que o usuário vê
Instrutor puro Usuário com cadastro de instrutor vinculado, sem acesso à gestão Tab bar de instrutor. Nenhum controle de papel em lugar nenhum
Gestor puro Usuário de gestão sem cadastro de instrutor vinculado Tab bar de gestor. Nenhum controle de papel
Duplo papel Usuário de gestão com cadastro de instrutor vinculado Tab bar do papel ativo + controle de troca de papel

O app decide a forma no login, a partir das capacidades que o servidor devolve (perfis e instrutor). Não há tela de configuração para isso — a forma é consequência do cadastro feito no painel web pelo gestor do CFC.

3.2 O controle de troca de papel

Padrão adotado: context switcher no cabeçalho, ao lado da identidade — o mesmo modelo do seletor de organização do GitHub ou de workspace do Slack. É reconhecível, não consome espaço da navegação principal e deixa o contexto ativo sempre visível.

Onde fica: um chip de contexto no canto esquerdo da barra superior da home, exibindo o papel ativo com ícone e rótulo, com um chevron indicando que é acionável.

┌──────────────────────────────────────────────┐
│  ⌄ Instrutor        [logo CFC]        (foto) │
│  ────────────────────────────────────────────│

Ao tocar: abre um bottom sheet curto — não uma tela cheia. Trocar de papel é ação frequente e precisa custar um toque e meio.

┌──────────────────────────────────────────────┐
│               Trocar de papel                │
│                                              │
│  ┌────────────────────────────────────────┐  │
│  │ 👤  Instrutor                       ✓  │  │
│  │     Sua agenda e suas aulas            │  │
│  └────────────────────────────────────────┘  │
│  ┌────────────────────────────────────────┐  │
│  │ 📊  Gestão                             │  │
│  │     Indicadores e operação do CFC      │  │
│  └────────────────────────────────────────┘  │
│                                              │
│            Autoescola Modelo · Ana Paula     │
└──────────────────────────────────────────────┘

Comportamento da troca:

  • Troca toda a casca do app: tab bar, home e cor de acento do papel. Não é um filtro dentro da mesma tela.
  • Transição breve (~200 ms) com o novo contexto entrando — o usuário precisa perceber que mudou de mundo.
  • O papel ativo persiste no dispositivo: reabrir o app volta ao último papel usado. Um mesmo usuário pode estar em papéis diferentes no tablet e no celular.
  • Nenhuma confirmação, nenhum recarregamento de sessão, nenhuma senha.
  • O chip de contexto continua visível na home do papel novo, para que a troca de volta seja igualmente barata.

Regra de exibição: o chip só é renderizado quando o usuário possui os dois papéis. Nas formas puras, o espaço é ocupado apenas pela identidade do CFC — sem placeholder, sem controle desabilitado.

3.3 Primeira entrada de um usuário de duplo papel

Na primeira sessão após ganhar o segundo papel, exibir uma folha de apresentação única (uma vez só, nunca mais):

Você tem dois papéis neste CFC Como gestor, acompanha os indicadores da autoescola. Como instrutor, gerencia sua própria agenda de aulas. Toque no seletor no topo da tela para alternar quando quiser.

[ Começar como Gestor ] [ Começar como Instrutor ]

A escolha define o papel inicial e já ensina onde fica o controle.


4. Mapa de navegação

4.1 Tab bar — papel Instrutor

Aba Ícone Tela
Agenda calendário C1 — Agenda do instrutor (home)
Fechar check-duplo C4 — Fila de fechamento (badge com contagem)
Teóricas quadro/sala C7 — Aulas teóricas
Conta avatar B1 — Conta e preferências

Ação primária flutuante sobre a Agenda: + Nova aula (C5).

4.2 Tab bar — papel Gestor

Aba Ícone Tela
Painel gráfico D1 — Dashboard (home)
Financeiro cifrão E1 — Fluxo de caixa
Operação calendário D3 — Agenda geral
Comercial funil D4 — Leads e matrículas
Conta avatar B1 — Conta e preferências

Cinco abas é o limite prático da tab bar; a ordem segue a frequência de uso real de um gestor de CFC. Ação primária flutuante sobre Painel e Financeiro: + Lançamento (E2).

Quando o usuário não tem acesso ao financeiro, a aba Financeiro não é renderizada e a tab bar volta a quatro itens — sem espaço vazio, sem aba desabilitada.

4.3 Fluxo geral

Splash (A1)
   │
   ├─ sem sessão ──► Login (A2) ──► Recuperar senha (A3)
   │                    │
   │                    ▼
   │            [resolve capacidades]
   │                    │
   │      ┌─────────────┼─────────────┐
   │      ▼             ▼             ▼
   │  instrutor      gestor       duplo papel
   │   puro           puro             │
   │      │             │        Apresentação (A4)
   │      │             │         [1ª vez apenas]
   │      ▼             ▼              │
   │  Agenda (C1)   Painel (D1) ◄──────┘
   │                    │
   │                    └─► Financeiro (E1) ─► Lançar (E2) · Quitar (E5)
   │      ▲             ▲
   │      └──── troca de papel (B2) ────┘
   │
   └─ com sessão ──► home do último papel usado

5. Bloco A — Entrada e identidade

A1 — Splash

Logo do app sobre a cor primária. Enquanto exibe, valida a sessão local e resolve o papel salvo. Duração máxima percebida: 1,5 s — passando disso, mostrar indicador de progresso discreto.

A2 — Login

Tela única, sem abas, sem cadastro (contas são criadas pelo CFC no painel web).

Elemento Detalhe
Marca Logo do app (o logo do CFC ainda não é conhecido neste momento)
Campo E-mail / login Teclado de e-mail, sem autocapitalização, autocompletar de credencial ativo
Campo Senha Com alternância de visibilidade
Manter conectado Ativado por padrão
Botão primário Entrar — largura total, estado de carregamento no próprio botão
Link secundário Esqueci minha senha → A3
Rodapé Versão do app e "CFC Produtivo"

Mensagens de erro — abaixo do formulário, nunca em alerta modal:

Situação Texto
Credencial incorreta "E-mail ou senha incorretos. Verifique e tente novamente."
Conta inativa "Sua conta está inativa. Procure a secretaria do seu CFC."
Sem perfil de app "Sua conta não tem acesso ao aplicativo. Procure a secretaria do seu CFC."
Sem conexão "Sem conexão. Verifique sua internet e tente novamente."

A3 — Recuperar senha

Campo único de e-mail + botão Enviar link. Em sucesso, troca o conteúdo por estado de confirmação:

Verifique seu e-mail Se houver uma conta para ana@autoescola.com.br, enviamos as instruções de recuperação. [ Voltar ao login ]

Mensagem deliberadamente neutra quanto à existência da conta.

A4 — Apresentação de duplo papel

Descrita em 3.3. Folha modal, ilustração leve, dois botões de ação. Não reaparece.


6. Bloco B — Telas comuns aos dois papéis

B1 — Conta e preferências

Seção Conteúdo
Cabeçalho Avatar (iniciais), nome do usuário, e-mail, chip com o papel ativo
CFC Logo, nome do CFC. Se duplo papel: linha "Papéis: Gestão · Instrutor"
Meu cadastro de instrutor (só duplo papel ou instrutor) Nome do cadastro vinculado e categorias habilitadas, em modo leitura. Nota: "Cadastro mantido pela secretaria"
Preferências Tema (Sistema / Claro / Escuro) · Papel de abertura (Último usado / Gestão / Instrutor) — este último só no duplo papel
Suporte "Falar com a secretaria" → abre WhatsApp do CFC
Sobre Versão do app, termos de uso
Sair Ação destrutiva, ao final, com confirmação

B2 — Trocar de papel

Bottom sheet descrito em 3.2. Altura ajustada ao conteúdo, arrasto para fechar, toque fora fecha.


7. Bloco C — Papel Instrutor

C1 — Agenda do instrutor (home)

A tela mais usada do app inteiro. Precisa responder em um relance: qual é a próxima aula e com quem.

Estrutura:

┌──────────────────────────────────────────────┐
│  ⌄ Instrutor      [logo CFC]          (foto) │
├──────────────────────────────────────────────┤
│  ‹  Seg 8    Ter 9    QUA 10   Qui 11   ›    │  ← faixa de dias
│         •       ••      •••      •            │  ← densidade
├──────────────────────────────────────────────┤
│  Quarta, 10 de setembro          4 aulas     │
│                                              │
│  ┌────────────────────────────────────────┐  │
│  │ AGORA · 14:00                          │  │
│  │ Marcos Vinícius Alves      (Aula 12)   │  │
│  │ CPF 123.456.789-00 · Renach 1234567    │  │
│  │ 🚗 Gol Prata — ABC-1D23                │  │
│  │ 📍 Pátio Central (Av. Brasil, 1200)    │  │
│  │                       [ Fechar aula ]  │  │
│  └────────────────────────────────────────┘  │
│                                              │
│  ┌────────────────────────────────────────┐  │
│  │ 15:00                    ⚠ em débito   │  │
│  │ Juliana Prado               (Aula 3)   │  │
│  │ 🚗 Onix Branco — DEF-4G56              │  │
│  └────────────────────────────────────────┘  │
│                                              │
│                                    ( + )     │
└──────────────────────────────────────────────┘

Faixa de dias: rolagem horizontal, dia atual destacado, pontos indicando densidade de aulas (1 ponto = 1–2 aulas, 2 = 3–4, 3 = 5+). Toque no cabeçalho da data abre seletor de calendário para saltos maiores. A extensão navegável para trás e para frente é definida pelo CFC.

Aula em andamento: o card cuja janela de horário contém o momento atual recebe rótulo AGORA, borda na cor primária e sobe para o topo com leve elevação.

Agrupamento: por dia, com cabeçalho fixo (data por extenso + contagem de aulas).

Ordenação: cronológica ascendente.

Ações do card:

  • Toque → C2 (detalhe)
  • Botão Fechar aula aparece no card apenas quando o fechamento está habilitado pelo CFC e a aula está em situação fechável
  • Deslize para a esquerda → ações rápidas: Fechar · Desmarcar

Ação flutuante: + Nova aula → C5.

Filtro: ícone na barra superior abre folha com filtro por situação (Agendada / Realizada / Falta) e por categoria. Filtro ativo vira chip removível abaixo da faixa de dias.

Vazio do dia: ilustração leve + "Nenhuma aula neste dia." + botão Marcar aula.

C2 — Detalhe da aula

Tela cheia, com a informação organizada em blocos. É a tela que o instrutor abre quando o aluno chega.

Bloco Conteúdo
Cabeçalho Data e hora por extenso · chip de situação colorido · ordem da aula ("Aula 12")
Aluno Foto (ou iniciais), nome completo, CPF formatado, Renach, número de registro. Ações: Ligar e WhatsApp (visíveis conforme configuração do CFC)
Situação financeira Faixa de alerta "Aluno em débito" quando aplicável. Saldo de aulas por categoria, quando o CFC permite exibir
Aula Categoria (com ícone), tipo de aula (comum, extra, noturna, simulador, automático), duração
Recursos Veículo (título e placa) e local (nome e endereço, com atalho para o mapa)
Observações Texto da secretaria, quando o CFC permite exibir
Ações Barra fixa inferior: Fechar aula (primária) e Desmarcar (secundária, com tratamento destrutivo)

C3 — Fechamento da aula

Bottom sheet acionado de C1, C2 ou C4. Precisa ser resolvível em dois toques.

┌──────────────────────────────────────────────┐
│              Fechar aula                     │
│   Marcos Vinícius Alves · Qua 10, 14:00      │
│                                              │
│  ┌────────────────────────────────────────┐  │
│  │ ✅  Realizada                           │  │
│  │     O aluno compareceu e fez a aula    │  │
│  └────────────────────────────────────────┘  │
│  ┌────────────────────────────────────────┐  │
│  │ ⛔  Falta                               │  │
│  │     O aluno não compareceu             │  │
│  └────────────────────────────────────────┘  │
│                                              │
│              [ Confirmar ]                   │
└──────────────────────────────────────────────┘
  • Duas opções grandes, mutuamente exclusivas, com descrição de apoio — o instrutor não deve precisar interpretar rótulo seco.
  • Confirmar só habilita após seleção.
  • Sucesso: fecha a folha, o card na lista anterior anima para a nova cor de situação, e um snackbar oferece Desfazer por alguns segundos.
  • A tela inteira não existe quando o CFC não habilita o fechamento pelo app — o botão simplesmente não é renderizado.

C4 — Fila de fechamento

Lista de aulas que já aconteceram e seguem sem registro. Existe porque o instrutor tipicamente fecha várias de uma vez, no fim do turno.

  • Cabeçalho: "3 aulas aguardando fechamento" + botão de texto Fechar todas como realizadas (com confirmação, para o caso comum de um dia sem intercorrência).
  • Itens: card compacto — hora, nome do aluno, ordem, veículo — com dois botões inline: Realizada e Falta. Fechar item a item não deve exigir abrir folha.
  • Agrupamento: por dia, do mais recente para o mais antigo.
  • Badge na tab bar: contagem de pendências.
  • Vazio: "Tudo em dia. Nenhuma aula aguardando fechamento." com ilustração de conclusão.

C5 — Nova aula (fluxo em etapas)

Fluxo guiado, uma decisão por tela, com barra de progresso no topo e possibilidade de voltar sem perder o preenchido.

Etapa 1 — Aluno

  • Campo de busca com foco automático, aceitando nome ou CPF.
  • Resultados como lista de linhas: foto/iniciais, nome, CPF, e chips de contexto (categoria em curso, "em débito" quando aplicável).
  • Seção Recentes acima dos resultados: últimos alunos atendidos por este instrutor.
  • Vazio: "Nenhum aluno encontrado para maria."

Etapa 2 — Categoria e tipo de aula

  • Categorias como cartões selecionáveis, cada um com o ícone da categoria, o rótulo (A, B, AB…), o saldo de créditos do aluno e o progresso ("7 de 20 aulas").
  • Categoria sem crédito aparece esmaecida, com o motivo em texto de apoio.
  • Tipo de aula logo abaixo, como chips: Comum · Extra · Noturna · Simulador · Automático — apenas os tipos que o CFC oferece e para os quais o aluno tem saldo.

Etapa 3 — Data

  • Calendário mensal. Dias fora da janela permitida ficam desabilitados.
  • Legenda discreta indicando disponibilidade por dia.

Etapa 4 — Horário

  • Grade de horários do dia escolhido, em blocos tocáveis, agrupados por período (Manhã / Tarde / Noite).
  • Horário indisponível permanece visível mas desabilitado — o instrutor entende a grade melhor vendo o que está ocupado do que vendo lacunas.
  • Ao selecionar um horário, revelar em linha o veículo que será usado; se houver mais de uma opção, permitir escolher.
  • Vazio: "Nenhum horário disponível nesta data." + atalho Ver próxima data com vagas.

Etapa 5 — Revisão

Resumo em cartão único — aluno, categoria, tipo, data, hora, instrutor, veículo, local — e botão primário Confirmar agendamento.

Erros de regra de negócio aparecem nesta tela, em faixa acima do botão, com texto direto e ação corretiva quando existir (ex.: "O veículo já tem agendamento neste horário." → Escolher outro horário).

Sucesso

Tela de confirmação breve: marca de conclusão, resumo em uma linha, e dois botões — Ver na agenda e Marcar outra aula (que retorna à Etapa 1 já com a data preservada).

C6 — Desmarcar aula

Diálogo de confirmação com peso destrutivo:

Desmarcar esta aula? Marcos Vinícius Alves · Quarta, 10 de setembro, 14:00 O horário voltará a ficar disponível na grade.

[ Manter ] [ Desmarcar ]

Sucesso retorna à origem com snackbar e opção de desfazer.

C7 — Aulas teóricas

Lista simples, de leitura, no mesmo formato de agrupamento por dia da C1.

  • Card: data e hora, categoria/simulado, sala, turma, quantidade de alunos, situação.
  • Detalhe: dados da aula e lista de alunos.
  • Ação de desmarcar disponível quando cabível, com o mesmo padrão da C6.
  • Vazio: "Você não tem aulas teóricas agendadas."

8. Bloco D — Papel Gestor

D1 — Painel (home)

Resposta à pergunta "como está o CFC hoje?" em uma tela, sem rolagem obrigatória para o essencial.

Cabeçalho: chip de contexto (quando duplo papel), logo do CFC, avatar. Abaixo, seletor de período: Hoje · Semana · Mês (padrão: Mês), com a competência escrita por extenso ao lado.

Organização em seções roláveis:

Seção 1 — Operação (primeiro bloco, sempre visível)

Quatro indicadores em grade 2×2, formato de bloco numérico grande:

Indicador Conteúdo
Aulas no período Total, com variação percentual contra o período anterior
Aulas realizadas Total e proporção sobre o agendado
Faltas Total, com destaque negativo quando acima do usual
Aulas por instrutor Miniatura de barras horizontais, top 5

Seção 2 — Comercial

Indicador Conteúdo
Leads novos Total no período
Conversão de leads Percentual, com barra de progresso
Matrículas Total no período, com variação

Seção 3 — Financeiro

Resumo de leitura. A operação financeira vive na aba Financeiro (Bloco E) — aqui o gestor só confere, e cada linha é um atalho para lá.

Indicador Conteúdo Leva a
Entradas Realizado × previsto, em barras sobrepostas E3 · A receber
Saídas Realizado × previsto E3 · A pagar
Contas a pagar Valor total e quantidade de títulos, com destaque para vencidos E3 · A pagar, filtrado por vencidos
Saldo em contas Valor consolidado, sujeito à permissão de exibir saldo E1

O estado de ocultação de valores é o mesmo da E1: alternar em qualquer uma das duas afeta as duas.

Seção 4 — Alunos

Indicador Conteúdo
Inadimplência Quantidade de alunos e valor total
RENACH vencendo Quantidade nos próximos 30 dias

Comportamento comum a todos os blocos:

  • Cada bloco é tocável e leva a D2.
  • Rodapé discreto da tela: "Atualizado às 14:32" + gesto de puxar para atualizar.
  • Valores financeiros ganham alternância de visibilidade (ícone de olho no cabeçalho da seção) — gestor consulta em público.

Ordem das seções é fixa nesta versão. Personalização fica para iteração futura.

D2 — Detalhe do indicador

Tela cheia por indicador, com estrutura padronizada:

Bloco Conteúdo
Cabeçalho Nome do indicador, valor principal em tipografia grande, variação contra período anterior
Período Mesmo seletor da D1, mantendo a escolha feita lá
Série Gráfico de evolução no tempo
Composição Quebra por dimensão relevante (instrutor, veículo, categoria, origem, usuário) em barras horizontais ordenadas
Lista Registros que compõem o número, quando fizer sentido (ex.: alunos inadimplentes, títulos a pagar)

D3 — Agenda geral

Visão da operação inteira, não apenas de um instrutor.

  • Alternância de visualização: Por instrutor · Por veículo — controle segmentado no topo.
  • Visão do dia em faixas: cada linha é um instrutor (ou veículo), cada bloco é uma aula posicionada no horário. Rolagem horizontal para o tempo, vertical para os recursos.
  • Toque em um bloco abre o detalhe da aula (mesma C2, em modo leitura).
  • Resumo do dia no topo: total de aulas, ocupação percentual da grade, quantidade de horários livres.
  • Vazio: "Nenhuma aula agendada neste dia."

D4 — Comercial

Duas abas internas:

Leads

  • Blocos de resumo: novos, em atendimento, convertidos, perdidos.
  • Lista de leads recentes: nome, origem, responsável, tempo desde o último contato. Lead sem contato há muito tempo recebe marcação de atenção.

Matrículas

  • Total no período e evolução.
  • Quebra por origem e por usuário responsável, em barras ordenadas.

9. Bloco E — Financeiro (papel Gestor)

O financeiro no app não replica o painel web. O painel continua sendo o lugar do fechamento contábil, dos relatórios, do DRE e dos carnês. O app cobre as três operações que o gestor precisa fazer longe do computador:

Necessidade Tela Situação típica
Lançar rápido E2 Pagou o borracheiro em dinheiro; recebeu R$ 200 de um aluno no balcão
Quitar o que já existe E5 O aluno chegou e pagou a parcela do mês
Conferir o caixa E1, E6 "Quanto entrou hoje?" · "Quanto tenho em conta?" · "O que vence esta semana?"

Tudo o que não couber nessas três frentes fica no painel web, e o app diz isso explicitamente quando o usuário esbarra no limite.

E1 — Fluxo de caixa (home do financeiro)

Tela-mãe do módulo. Responde "como está o caixa" antes de qualquer rolagem.

┌──────────────────────────────────────────────┐
│  Financeiro                        👁  ⚙     │
│  ┌────────────────────────────────────────┐  │
│  │  Hoje  │  Semana  │ ● Mês │  Período   │  │
│  └────────────────────────────────────────┘  │
│                                              │
│   Saldo em contas                            │
│   R$ 48.320,15                               │
│   4 contas · atualizado às 14:32             │
│                                              │
│  ┌──────────────────┐  ┌──────────────────┐  │
│  │ ENTRADAS         │  │ SAÍDAS           │  │
│  │ R$ 62.400,00     │  │ R$ 18.750,30     │  │
│  │ ▲ 12% vs. ant.   │  │ ▼ 4% vs. ant.    │  │
│  └──────────────────┘  └──────────────────┘  │
│                                              │
│   Resultado do período     + R$ 43.649,70    │
│   ████████████████████░░░░░░                 │
│                                              │
│  ─── Precisa de atenção ────────────────────  │
│   ⚠ A receber vencido        R$ 8.410,00     │
│      12 parcelas             ›               │
│   ⚠ A pagar vencido          R$ 1.230,00     │
│      3 títulos               ›               │
│   • Vence nos próximos 7 dias  R$ 9.800,00   │
│                                              │
│  ─── Saldo por conta ───────────────────────  │
│   Caixa                       R$ 1.420,15    │
│   Banco do Brasil            R$ 32.900,00    │
│   PagSeguro                  R$ 14.000,00    │
│                                              │
│                                    ( + )     │
└──────────────────────────────────────────────┘

Estrutura:

Bloco Conteúdo Comportamento
Seletor de período Hoje · Semana · Mês · Período Mesmo componente do painel do gestor; a escolha é compartilhada entre D1, E1 e E3 na sessão
Saldo em contas Soma dos saldos de todas as contas do CFC, quantidade de contas, horário da apuração Toca e abre a lista completa de contas
Entradas / Saídas Total do período em cada direção, com variação contra o período anterior Cada bloco leva a E3 já filtrado
Resultado do período Entradas menos saídas, com sinal e cor semântica, e barra de proporção Positivo em verde, negativo em vermelho, com o sinal sempre escrito
Precisa de atenção A receber vencido, a pagar vencido, e o que vence nos próximos 7 dias — valor e contagem Cada linha leva a E3 pré-filtrada
Saldo por conta Lista de contas com saldo individual Toca e filtra E3 pela conta

Ocultar valores: ícone de olho no cabeçalho substitui todos os números por •••••• — decisão persistida no dispositivo, restaurada a cada abertura. Este é o único controle da tela que afeta a leitura inteira, por isso fica no cabeçalho e não dentro de uma seção.

Filtros avançados (ícone de engrenagem): conta, forma de pagamento, categoria financeira, unidade de custo, aluno, fornecedor e — para quem tem permissão para ver movimentações de outros — usuário responsável. Filtro ativo vira chip removível logo abaixo do seletor de período.

Ação flutuante: + Lançamento → E2.

Sem permissão para ver resumos: os blocos de saldo, entradas, saídas e resultado não são renderizados. A tela abre direto em "Precisa de atenção" e "Saldo por conta" — ou, se também não houver permissão para saldo de contas, direto na E3.

E2 — Lançamento rápido

A tela mais exigente de desenho do módulo: precisa ser rápida para o caso comum (uma saída em dinheiro, quitada na hora) e completa o suficiente para o caso menos comum, sem que a complexidade apareça antes da hora.

Estratégia: formulário único, progressivo. O essencial cabe na primeira dobra; o resto vive em uma seção "Mais opções" recolhida.

┌──────────────────────────────────────────────┐
│  ✕            Novo lançamento                │
│  ┌────────────────────────────────────────┐  │
│  │   ● Entrada    │      Saída            │  │
│  └────────────────────────────────────────┘  │
│                                              │
│              R$ 200,00                       │  ← protagonista
│              ─────────────                   │
│                                              │
│  Descrição                                   │
│  ┌────────────────────────────────────────┐  │
│  │ Pagamento parcela — João Silva         │  │
│  └────────────────────────────────────────┘  │
│                                              │
│  Data          Hoje, 06/09/2026          ›   │
│  Conta         Caixa                     ›   │
│  Forma         Dinheiro                  ›   │
│  Categoria     Mensalidades              ›   │
│  Aluno         João Silva                ›   │
│                                              │
│  Situação                                    │
│  ┌────────────────────────────────────────┐  │
│  │  ● Quitada agora  │   Pendente         │  │
│  └────────────────────────────────────────┘  │
│                                              │
│  ⌄ Mais opções                               │
│                                              │
│  ┌────────────────────────────────────────┐  │
│  │            Lançar entrada              │  │
│  └────────────────────────────────────────┘  │
└──────────────────────────────────────────────┘

Campos, em ordem de aparição:

Campo Controle Comportamento
Tipo Segmentado Entrada / Saída Primeira decisão, no topo. Muda o rótulo do botão final, a cor de acento do formulário e o campo de vínculo (aluno × fornecedor)
Valor Teclado numérico, tipografia grande, máscara de moeda Recebe foco automático ao abrir. É o protagonista visual da tela
Descrição Texto livre, uma linha Sugestões recentes aparecem como chips abaixo do campo
Data de referência Linha tocável, padrão "Hoje" Abre seletor de data
Conta Linha tocável Padrão: conta marcada como principal. A folha de seleção mostra o saldo atual de cada conta
Forma de pagamento Linha tocável Padrão: última usada pelo usuário
Categoria financeira Linha tocável Centro de custo, com hierarquia pai/filho na folha de seleção e busca
Aluno (entrada) / Fornecedor (saída) Linha tocável, opcional Abre E7. O rótulo muda conforme o tipo escolhido no topo
Situação Segmentado Quitada agora / Pendente Em "Pendente", revela o campo Vencimento logo abaixo

Seção "Mais opções" (recolhida por padrão):

Campo Quando aparece
Unidade de custo Sempre, para quem usa o recurso
Parcelamento Interruptor. Ao ligar, revela: quantidade de parcelas, valor de entrada, valor da parcela e juros. O app mostra a prévia das parcelas geradas (datas e valores) antes de confirmar
Lançamento retroativo Só para quem tem permissão. Faz a data de pagamento acompanhar a data de referência escolhida
Observação Texto livre, multilinha

Confirmação: botão de largura total com rótulo específico — Lançar entrada ou Lançar saída — nunca "Salvar". Antes de gravar, se o valor for atipicamente alto para aquele CFC ou se a data for retroativa, exibir confirmação com o resumo do que será lançado.

Sucesso: tela de confirmação breve com o valor, o tipo, a conta e o novo saldo da conta afetada. Dois botões: Concluir e Lançar outro (que volta ao formulário preservando conta, forma e categoria — o padrão de quem lança vários seguidos).

Criação de cadastros a partir do app: quando a conta, a categoria, a forma de pagamento ou o fornecedor necessários não existem, a folha de seleção traz a opção + Criar ao final da lista, com um formulário mínimo (apenas o título e o que for obrigatório). Isso evita que o gestor abandone o lançamento para abrir o painel web.

E3 — A receber e a pagar

Lista operacional. É onde o gestor entra quando quer agir sobre títulos específicos.

Abas internas: A receber · A pagar · Quitados

Cabeçalho: total da aba no período selecionado + contagem de parcelas.

Filtro por situação, em chips horizontais: Vencidos · Vence hoje · A vencer · Todos. O chip Vencidos já vem com a contagem embutida e destaque quando maior que zero.

Card de parcela:

┌────────────────────────────────────────────┐
│ ▌ Vence 05/09          ⚠ vencida há 1 dia  │
│ ▌ João Silva                    Parcela 3/10│
│ ▌ Mensalidade — Categoria B                │
│ ▌ R$ 200,00  + R$ 6,40 de acréscimos       │
│ ▌ R$ 206,40                    [ Quitar ]  │
└────────────────────────────────────────────┘
  • Barra lateral colorida pela situação: a vencer (neutro), vence hoje (âmbar), vencida (vermelho), quitada (verde).
  • Acréscimos aparecem apenas quando existem, sempre decompostos do valor original — o gestor precisa ver que R$ 206,40 é R$ 200,00 mais R$ 6,40, nunca só o total.
  • Botão Quitar inline abre E5 direto. Tocar no restante do card abre E4.
  • Deslize para a esquerda: Quitar · Ver movimentação.

Agrupamento: por data de vencimento, com cabeçalho fixo ("Vencidos", "Hoje", "Amanhã", depois por data).

Vazio: "Nada a receber neste período." / "Nada a pagar neste período."

E4 — Detalhe da movimentação

Leitura completa de um lançamento e das suas parcelas.

Bloco Conteúdo
Cabeçalho Descrição, chip de tipo (Entrada/Saída), valor total, data de referência
Vínculo Aluno ou fornecedor, com atalho para ligar ou abrir o WhatsApp
Classificação Categoria financeira, unidade de custo, conta e forma de pagamento
Parcelas Lista com ordem, vencimento, valor, situação e ação Quitar nas que estão em aberto. Barra de progresso "3 de 10 quitadas" no topo da lista
Totais Total da movimentação, total pago, total em aberto, total em atraso
Histórico Linha do tempo das operações da movimentação — quitações, estornos, alterações — com data, usuário responsável e observação
Rodapé Aviso discreto: "Edição, estorno e exclusão são feitos no painel web."

E5 — Quitação de parcela

Bottom sheet, acionado de E1, E3 ou E4. É a operação financeira mais frequente do balcão e precisa ser resolvível sem rolagem no caso simples.

┌──────────────────────────────────────────────┐
│              Quitar parcela                  │
│      João Silva · Parcela 3/10               │
│                                              │
│   Valor original              R$ 200,00      │
│   Multa (2%)                  R$   4,00      │
│   Mora (1 dia)                R$   2,40      │
│   ──────────────────────────────────────     │
│   Total a receber             R$ 206,40      │
│                                              │
│   Conta         Caixa                    ›   │
│   Forma         Dinheiro                 ›   │
│   Observação    (opcional)               ›   │
│                                              │
│  ┌────────────────────────────────────────┐  │
│  │        Confirmar quitação              │  │
│  └────────────────────────────────────────┘  │
└──────────────────────────────────────────────┘

Decomposição do valor: sempre visível e sempre discriminada — valor original, multa, mora e juros em linhas separadas, com o total destacado. Quando a parcela está em dia, o bloco reduz a uma única linha com o valor.

Campos: conta de destino (padrão: a da parcela, ou a principal), forma de pagamento (padrão: a da parcela) e observação opcional.

Controles condicionais à permissão do usuário — quando ausentes, simplesmente não são renderizados:

Controle Efeito
Data da quitação Permite registrar em data anterior a hoje. Datas futuras nunca são aceitas
Editar valor recebido Permite quitar por valor diferente do previsto
Remover acréscimos Zera multa e mora, recalculando o total na hora, com o valor removido mostrado riscado

Forma de pagamento integrada ao CFC Pay: ao escolher uma forma processada pelo gateway, a folha muda de comportamento — o botão passa a ser Gerar cobrança, e a confirmação exibe o meio de envio ao aluno em vez de dar a parcela por quitada. A distinção precisa ser evidente antes do toque: forma integrada recebe um selo "Cobrança online" na lista de seleção.

Sucesso: folha fecha, o card de origem anima para a situação quitada, e um snackbar oferece Ver recibo — que abre o comprovante em tela cheia, com opção de compartilhar.

E6 — Caixa do dia

Fechamento informal do dia. É o que o gestor olha no fim do expediente.

Cabeçalho: seletor de data (padrão: hoje), com navegação para dias anteriores.

Blocos:

Bloco Conteúdo
Resumo Entradas, saídas e saldo do dia, em três blocos numéricos
Por conta Quanto entrou e saiu em cada conta
Por forma de pagamento Dinheiro, cartão, PIX, boleto — entradas e saídas separadas. É o bloco que fecha a gaveta
Por categoria Centro de custo, ordenado por valor
Operações do dia Lista cronológica de cada lançamento e quitação, com horário, valor, descrição e usuário responsável

Cada linha de qualquer bloco é tocável e leva à E3 filtrada pela dimensão correspondente.

Compartilhar: ação no cabeçalho gera um resumo em texto do dia, para enviar por WhatsApp ao sócio ou ao contador.

E7 — Selecionar aluno ou fornecedor

Folha de seleção, reutilizada por E2 e pelos filtros.

  • Campo de busca com foco automático — nome ou CPF para aluno, nome para fornecedor.
  • Recentes no topo: últimos vinculados pelo usuário.
  • Linha de resultado: avatar/iniciais, nome, documento e — para alunos — chip "em débito" quando aplicável, com o valor.
  • Rodapé fixo: + Criar fornecedor (apenas no contexto de saída).
  • Vazio: "Nenhum aluno encontrado para joão." com atalho Criar sem vincular.

10. Componentes reutilizáveis

10.1 Card de aula

Componente mais repetido do app. Três densidades:

Densidade Onde Mostra
Completa C1 (agenda) Hora, aluno, ordem, documentos, veículo, local, observação, ação
Compacta C4 (fechamento), D3 Hora, aluno, ordem, veículo
Mínima Resultados de busca Hora, aluno

Anatomia da versão completa:

┌────────────────────────────────────────────┐
│ ▌ 14:00                        ⚠ em débito │  ← barra lateral = cor da situação
│ ▌ Marcos Vinícius Alves        (Aula 12)   │
│ ▌ CPF 123.456.789-00 · Renach 1234567      │
│ ▌ 🚗 Gol Prata — ABC-1D23                  │
│ ▌ 📍 Pátio Central (Av. Brasil, 1200)      │
│ ▌ 💬 Aluno pediu foco em baliza            │
│ ▌                        [ Fechar aula ]   │
└────────────────────────────────────────────┘

Linhas de veículo, local e observação são condicionais: quando o dado não existe ou o CFC não o exibe, a linha desaparece — sem placeholder, sem "não informado".

10.2 Chip de situação

Situação Cor de referência Uso
Agendada âmbar #f89406 Aula futura confirmada
Realizada verde #62c462 Aula concluída
Falta vermelho #900 Aluno ausente
Cancelada cinza #999 Cancelada pelo CFC
Desmarcada cinza #999 Removida da agenda
Arquivada azul #89acff Fora do fluxo corrente

Cores herdadas do painel web, para que gestor e instrutor leiam o mesmo código visual nos dois ambientes. Nunca usar cor como único portador de significado — o chip sempre traz o rótulo escrito.

10.3 Faixa de dias

Rolagem horizontal, item = sigla do dia + número, dia ativo com fundo na cor primária, pontos de densidade abaixo. Toque longo abre calendário completo.

10.4 Bloco numérico (dashboard)

Rótulo em caixa alta discreta, valor em tipografia grande, variação com seta e cor semântica, e — quando houver — miniatura de série ao fundo em opacidade baixa. Tocável por inteiro.

10.5 Linha de aluno

Avatar (foto ou iniciais sobre cor derivada do nome), nome em destaque, CPF em apoio, chips de contexto à direita. Usada em busca, listas e composições de indicador.

10.6 Seletor de período

Controle segmentado Hoje · Semana · Mês · Período, com a competência por extenso ao lado. A escolha é global do papel gestor e persiste entre D1, D2, D4, E1 e E3 durante a sessão. A opção Período abre seletor de data inicial e final.

10.7 Card de parcela

Usado em E3, E4 e nas listas de "precisa de atenção" da E1. Barra lateral colorida pela situação, vencimento e alerta de atraso no topo, vínculo (aluno ou fornecedor) e ordem da parcela, descrição, e o valor sempre decomposto quando há acréscimos. Botão de quitação inline nas parcelas em aberto.

10.8 Linha de valor monetário

Componente de exibição, não de entrada. Regras fixas em todo o app:

  • Sempre R$ 0.000,00, com separador de milhar.
  • Sinal explícito em resultados (+ R$ 43.649,70 / − R$ 1.230,00), nunca apenas cor.
  • Acréscimos e descontos aparecem decompostos do valor original, nunca embutidos no total.
  • Sujeito ao estado global de ocultação — quando ativo, vira •••••• mantendo a largura, para o layout não saltar.

10.9 Folha de seleção com busca

Padrão único para escolher conta, forma de pagamento, categoria, aluno e fornecedor. Campo de busca no topo, seção Recentes, lista com informação de apoio à direita (saldo da conta, hierarquia da categoria, documento do aluno) e, quando cabível, + Criar fixo ao final.

10.10 Teclado de valor

Entrada monetária em tela cheia ou em bloco dedicado: dígitos grandes, formatação em tempo real da direita para a esquerda, sem separador digitado pelo usuário. Nunca usar campo de texto comum para dinheiro.


11. Estados globais

Todos os componentes de lista e todas as telas de dado precisam dos cinco estados:

Estado Tratamento
Carregando (primeira vez) Esqueleto com a forma do conteúdo real — nunca spinner centralizado em tela cheia
Carregando (atualização) Indicador no topo, conteúdo anterior permanece visível e legível
Vazio Ilustração leve, frase específica do contexto (não "nenhum resultado"), e ação sugerida quando existir
Erro Frase em linguagem comum, sem código técnico, e botão Tentar novamente
Sem conexão Faixa persistente no topo: "Sem conexão — exibindo dados de 14:32". Conteúdo em cache continua navegável; ações de escrita ficam desabilitadas com explicação ao toque

Sessão expirada: retorno ao login com aviso — "Sua sessão expirou. Entre novamente." — preservando o papel ativo para restaurá-lo após o novo login.

Ação sem permissão: o app não renderiza controles que o papel não possui. Não existe estado de "botão desabilitado por permissão".


12. Configurações do CFC que alteram a interface

Cada CFC configura o próprio comportamento no painel web. O protótipo precisa demonstrar as variações — o mesmo app tem aparências diferentes entre clientes.

Configuração Efeito na interface
Fechamento de aulas pelo instrutor Liga/desliga o botão Fechar aula (C1, C2), a aba Fechar (C4) e o sheet C3. Desligado, a aba some da tab bar
Exibir saldos do aluno Liga/desliga o bloco de saldo em C2 e o saldo nos cartões de categoria em C5
Exibir observação da aula Liga/desliga a linha de observação no card e no detalhe
Exibir telefone do aluno Liga/desliga o telefone e as ações Ligar / WhatsApp
Dias anteriores visíveis na agenda Define até onde a faixa de dias navega para trás
Dias seguintes visíveis na agenda Define até onde a faixa de dias navega para frente
Cores e logo do CFC Aplicam a identidade em todo o app

12.1 Permissões do usuário que alteram o financeiro

Além das configurações do CFC, o financeiro responde a permissões concedidas por usuário. Controle sem permissão não é desabilitado — é ausente. O app nunca mostra um botão que o usuário não pode acionar.

Permissão O que libera na interface
Visualizar resumo Blocos de saldo, entradas, saídas e resultado na E1. Sem ela, a E1 abre direto nas listas
Exibir saldo de contas Bloco "Saldo em contas" (E1), saldo por conta e o saldo mostrado na folha de seleção de conta
Lançamento retroativo Campo de data retroativa em "Mais opções" (E2)
Quitar com outra data Campo "Data da quitação" (E5)
Editar valor na quitação Campo de valor editável (E5)
Remover acréscimos Ação de zerar multa e mora (E5)
Ver movimentações de outros usuários Filtro "Usuário responsável" (E1, E3) e coluna de responsável nas listas

Recomendação para o protótipo: montar duas personas de CFC — uma com tudo habilitado (CFC grande, instrutor autônomo, gestor com permissão financeira plena) e uma minimalista (CFC pequeno, secretaria centralizadora, gestor sem permissão de resumo) — e navegar as mesmas telas nas duas. É a forma mais rápida de validar que o layout não quebra quando blocos desaparecem.


13. Microcopy de referência

Princípios: segunda pessoa, verbo no imperativo nas ações, sem jargão de sistema, sem culpar o usuário. "Aula" e "aluno" são as palavras do domínio — não substituir por "evento" ou "cliente".

Contexto Texto
Agenda vazia (hoje) "Nenhuma aula hoje."
Agenda vazia (outro dia) "Nenhuma aula neste dia."
Fila de fechamento vazia "Tudo em dia. Nenhuma aula aguardando fechamento."
Busca sem resultado "Nenhum aluno encontrado para maria."
Sem horários "Nenhum horário disponível nesta data."
Confirmação de fechamento "Aula registrada como realizada."
Confirmação de agendamento "Aula marcada para quarta, 10 de setembro, às 14:00."
Confirmação de desmarcação "Aula desmarcada. O horário voltou para a grade."
Aluno em débito "Aluno em débito"
Sem saldo na categoria "Sem créditos disponíveis nesta categoria."
Troca de papel "Você está em Gestão." / "Você está em Instrutor."
Vínculo de instrutor removido "Seu cadastro de instrutor não está mais ativo. Procure a secretaria."
Nada a receber "Nada a receber neste período."
Nada a pagar "Nada a pagar neste período."
Confirmação de lançamento "Entrada de R$ 200,00 lançada em Caixa." / "Saída de R$ 85,00 lançada em Caixa."
Confirmação de quitação "Parcela quitada. R$ 206,40 recebidos em Caixa."
Cobrança online gerada "Cobrança de R$ 206,40 gerada. O aluno já pode pagar pelo link."
Parcela vencida "Vencida há 1 dia" / "Vencida há 12 dias"
Acréscimos removidos "Multa e mora removidas. Novo total: R$ 200,00."
Limite do app "Edição, estorno e exclusão são feitos no painel web."
Valor atípico "Este valor é bem acima do usual para este CFC. Confirma?"
Lançamento retroativo "Este lançamento será registrado em 28/08/2026, não hoje. Confirma?"
Fornecedor inexistente "Nenhum fornecedor encontrado. Você pode criar agora."

14. Matriz tela × papel

Tela Instrutor puro Gestor puro Duplo papel
A1 Splash
A2 Login
A3 Recuperar senha
A4 Apresentação de papéis ✅ (1ª vez)
B1 Conta
B2 Trocar de papel
C1 Agenda do instrutor (home) (home do papel)
C2 Detalhe da aula (leitura, via D3)
C3 Fechamento (papel instrutor)
C4 Fila de fechamento (papel instrutor)
C5 Nova aula (papel instrutor)
C6 Desmarcar (papel instrutor)
C7 Aulas teóricas (papel instrutor)
D1 Painel (home) (home do papel)
D2 Detalhe do indicador (papel gestor)
D3 Agenda geral (papel gestor)
D4 Comercial (papel gestor)
E1 Fluxo de caixa (papel gestor)
E2 Lançamento rápido (papel gestor)
E3 A receber / a pagar (papel gestor)
E4 Detalhe da movimentação (papel gestor)
E5 Quitação de parcela (papel gestor)
E6 Caixa do dia (papel gestor)
E7 Selecionar aluno/fornecedor (papel gestor)

O bloco E inteiro depende de o usuário ter acesso ao financeiro. Um gestor sem esse acesso vê a tab bar de quatro itens, sem a aba Financeiro.


15. Entregáveis sugeridos para a fase de protótipo

  1. Fluxo de entrada completo — A1 → A2 → A4 → home, nas três formas do app.
  2. Agenda do instrutor (C1) em quatro estados: dia cheio, dia vazio, carregando, sem conexão.
  3. Fluxo de marcação (C5) nas cinco etapas, incluindo uma tela de erro de regra.
  4. Painel do gestor (D1) com as quatro seções e o seletor de período.
  5. Troca de papel (B2) demonstrada em animação, saindo de C1 e chegando em D1.
  6. Lançamento rápido (E2) em dois caminhos: o simples (saída em dinheiro, quitada na hora) e o completo com "Mais opções" aberto e parcelamento ligado.
  7. Quitação de parcela (E5) em três variações: parcela em dia, parcela vencida com acréscimos decompostos, e forma de pagamento integrada ao gateway.
  8. Fluxo de caixa (E1) com valores visíveis e com valores ocultos, provando o estado de privacidade.
  9. Duas variações de marca, provando o white-label.
  10. Uma persona de CFC minimalista, provando o comportamento com configurações e permissões desligadas — incluindo a tab bar sem a aba Financeiro.