Acompanhamento da Feature

Chronos Títulos - BMAC Method

Painel de leitura da documentação, planejamento e implementação por feature, com seleção centralizada antes da navegação.

Progresso Total da Feature
Feature `chronos-titulos`
18 concluídas, 0 em review, 0 prontas para dev, 0 ainda não iniciadas.
Andamento estimado
100%
Próximos Passos
BMAC Nenhum próximo passo automático identificado com o estado atual dos artefatos.
Filtros de Stories
Epics e Stories
Epic 4: Renegociacoes e Recebimentos Consolidados
Progresso estimado 100%
3 concluídas, 0 em review, 0 prontas para dev
4.1
Renegociacoes recebidas com Travessia
complete
4.2
Cards `Recebimentos por tipo` e `Total Recebimentos`
complete
4.3
Recebimentos advogado com Travessia
complete
Epic 5: Homologacao, Observabilidade e Rollout
Progresso estimado 100%
3 concluídas, 0 em review, 0 prontas para dev
5.1
Logs e rastreabilidade de classificacao
complete
5.2
Feature flags e degradacao segura
complete
5.3
Homologacao funcional em `cobranca-hml`
complete
Biblioteca de Documentos
_evo-output/planning-artifacts/chronos-titulos/ux-design-specification.md

UX Design Specification cobranca

PLANNING MD
Sumário rápido
UX Design Specification cobranca Executive Summary Project Vision Target Users Key Design Challenges Design Opportunities Core User Experience Defining Experience Platform Strategy Effortless Interactions Critical Success Moments Experience Principles Desired Emotional Response Primary Emotional Goals Emotional Journey Mapping Micro-Emotions Design Implications Emotional Design Principles UX Pattern Analysis & Inspiration Inspiring Products Analysis Transferable UX Patterns Anti-Patterns to Avoid Design Inspiration Strategy Design System Foundation 1.1 Design System Choice Rationale for Selection Implementation Approach Customization Strategy 2. Core User Experience 2.1 Defining Experience 2.2 User Mental Model 2.3 Success Criteria 2.4 Novel UX Patterns 2.5 Experience Mechanics Visual Design Foundation Color System Typography System Spacing & Layout Foundation Accessibility Considerations Design Direction Decision Design Directions Explored Chosen Direction Design Rationale Implementation Approach User Journey Flows Jornada 1: Ler e tratar titulos no grid Quebras Jornada 2: Validar titulos em Recebimentos 30 Dias Jornada 3: Validar titulos em Renegociacoes Recebidas Journey Patterns Flow Optimization Principles Component Strategy Design System Components Custom Components Origin Badge Origin Badge Cell Wrapper Optional Degradation Notice Component Implementation Strategy Implementation Roadmap UX Consistency Patterns Button Hierarchy Feedback Patterns Form Patterns Navigation Patterns Additional Patterns Responsive Design & Accessibility Responsive Strategy Breakpoint Strategy Accessibility Strategy Testing Strategy Implementation Guidelines

stepsCompleted:

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14 lastStep: 14 workflowType: ux-design status: complete completedAt: 2026-04-09 inputDocuments:
  • /var/www/html/cobranca-hml/_evo-output/planning-artifacts/chronos-titulos/prd.md
  • /var/www/html/cobranca-hml/_evo-output/planning-artifacts/chronos-titulos/architecture.md
  • /var/www/html/cobranca-hml/docs/index.md
  • /var/www/html/cobranca-hml/docs/project-overview.md
  • /var/www/html/cobranca-hml/docs/source-tree-analysis.md
  • /var/www/html/cobranca-hml/docs/component-inventory.md
  • /var/www/html/cobranca-hml/docs/api-contracts.md

UX Design Specification cobranca

Author: Thiago Date: 2026-04-09


Executive Summary

Project Vision

O objetivo de UX da chronos-titulos nao e criar uma nova experiencia, e sim tornar o dashboard_cobrador.php confiavel para operacao de uma carteira consolidada. O cobrador deve continuar usando os mesmos grids, botoes e filtros que ja conhece, mas agora vendo tambem os titulos da Travessia com identificacao clara de origem e sem ambiguidade sobre o fluxo em que cada linha se encontra.

A proposta visual correta, portanto, e evolutiva. A feature deve preservar o modelo mental atual do cobrador e introduzir apenas os sinais minimos necessarios para responder tres perguntas que hoje ficam obscuras: de qual empresa vem o titulo, qual proposta deve ser reconhecida pelo operador e por que aquele item esta naquele grid. O UX precisa reduzir duvida operacional, nao adicionar camadas visuais desnecessarias.

Target Users

O usuario primario e o cobrador, que trabalha diariamente no dashboard_cobrador.php com foco em velocidade de leitura, triagem e acao operacional. Esse usuario nao quer aprender uma interface nova; ele quer bater o olho no grid e entender rapidamente cliente, proposta, atraso/pagamento, origem do titulo e proximo passo. O custo de um UX ruim aqui e alto porque a tela e usada repetidamente durante a rotina de cobranca.

O usuario secundario e a gerencia, especialmente na leitura de recebimentos 30 dias e coerencia dos indicadores. Para esse perfil, o ponto principal nao e interacao detalhada em cada linha, e sim confianca de que a carteira consolidada continua legivel e numericamente coerente.

Key Design Challenges

  • Inserir Travessia/Bralar nos grids sem poluir a leitura atual nem aumentar confusao visual.
  • Exibir a proposta da Travessia de forma operacionalmente reconhecivel, mesmo quando a origem tecnica dos dados vier de contractNumber + numberDescription.
  • Preservar a clareza do grid de quebras, que ja concentra sinais visuais como status de trabalho, 30 dias e Advogado.
  • Evitar que o mesmo titulo pareca “duplicado conceitualmente” para o usuario quando ele mudar de grid ao longo do fluxo operacional.
  • Manter o comportamento do botao de registrar 30 dias intuitivo para linhas Travessia, sem criar excecao visual desnecessaria.
  • Tratar falha ou ausencia da Chronos sem transmitir ao usuario a sensacao de quebra geral da tela.

Design Opportunities

  • Usar um badge textual compacto de origem para resolver rapidamente a ambiguidade entre Bralar e Travessia.
  • Padronizar um campo de proposta_exibicao que torne a linha Travessia imediatamente reconhecivel pelo cobrador.
  • Melhorar a explicabilidade operacional do grid com pequenos sinais visuais consistentes, em vez de lógica escondida.
  • Aproveitar a introducao da origem para deixar a homologacao mais segura, permitindo conferência visual rápida entre amostras conhecidas e o que o sistema exibe.

Core User Experience

Defining Experience

O centro da experiencia desta feature nao e navegar, configurar ou explorar uma nova interface. O centro e bater o olho no dashboard e confiar no que esta sendo mostrado. O cobrador abre o dashboard_cobrador.php, aplica os filtros normais e percorre os grids para entender rapidamente quais titulos exigem acao, quais ja foram recebidos e em qual etapa operacional cada item se encontra. A integracao com a Chronos precisa encaixar exatamente nesse loop, sem exigir reinterpretacao da tela.

A acao mais frequente, portanto, e ler e decidir. Em quebras, o usuario precisa localizar titulos em aberto vencidos e decidir se registra 30 dias ou segue outra tratativa. Em 30 dias e renegociacoes, ele precisa validar que o titulo pago esta no grid correto e reconhecer se a origem e Bralar ou Travessia. Se essa leitura estiver clara e imediata, o restante do fluxo continua natural. Se essa leitura falhar, a feature perde valor mesmo que os dados estejam tecnicamente corretos.

A interacao absolutamente critica a acertar e a confianca da linha individual. Cada linha precisa responder sem esforco as perguntas: quem e o cliente, qual e a proposta/titulo, de qual empresa vem, por que esta neste grid e qual acao ainda faz sentido. O UX nao deve criar uma nova camada de interpretacao; deve apenas tornar explicito o que hoje estaria invisivel para os titulos da Travessia.

Platform Strategy

A plataforma continua sendo uma aplicacao web interna, desktop-first, com uso predominante de mouse e teclado em ambiente operacional. O contexto de uso nao pede gestos, experiencia mobile-first ou comportamento offline. O que importa e preservar legibilidade em monitores corporativos, navegacao rapida entre filtros e resposta visual consistente nos grids existentes.

Como a feature entra em uma tela ja produtiva e conhecida, a estrategia correta e evolutiva. Os componentes existentes devem continuar estruturando a experiencia: cards no topo, grids abaixo, acoes inline e filtros ja conhecidos. A insercao de Travessia/Bralar nao deve deslocar os sinais atuais que o cobrador ja usa, como status do item, marcacao de 30 dias, informacao de Advogado e campos financeiros. Qualquer ajuste de layout precisa respeitar a hierarquia atual da tabela.

Tambem faz parte da estrategia de plataforma tratar degradacao de forma silenciosa e segura. Se a Chronos estiver indisponivel, a tela nao pode parecer quebrada. O dashboard deve continuar utilizavel com os dados atuais da Bralar e, se houver indicacao de degradacao, ela deve ser discreta, textual e operacional, sem bloquear a leitura nem gerar alarme desproporcional.

Effortless Interactions

As interacoes que devem ser completamente naturais sao as que dependem de leitura de linha e decisao imediata. O usuario nao pode precisar abrir detalhe ou fazer correlacao mental externa para descobrir a origem de um titulo. A marcacao Travessia ou Bralar deve estar visivel diretamente no grid, em posicao consistente, com tratamento compacto. A decisao de origem precisa acontecer em menos de um segundo de leitura.

A segunda interacao que deve ser sem atrito e o reconhecimento da proposta exibida. Para linhas da Travessia, o sistema deve montar uma proposta_exibicao reconhecivel a partir dos dados da Chronos, mantendo o padrao visual que faca sentido para o operador. O usuario nao deve ter que entender contractNumber, creditId ou qualquer conceito tecnico da API. Ele deve enxergar uma proposta operacionalmente identificavel.

A terceira interacao essencial e o fluxo de registrar 30 dias. Para o cobrador, a origem do titulo nao pode criar uma excecao operacional. Se a linha estiver no grid de quebras e for elegivel para registro, o botao e o comportamento devem permanecer equivalentes aos atuais. O que muda e apenas o backend e a rastreabilidade. No UX, a acao precisa continuar reconhecivel e confiavel.

Outra area que precisa ser effortless e a comparacao entre linhas de origens diferentes no mesmo grid. O usuario deve conseguir percorrer uma lista mista de Bralar e Travessia sem alterar estrategia de leitura. Isso exige consistencia visual: mesma ordem logica das colunas, mesmo padrao de dados financeiros, mesmo tratamento de datas e o mesmo estilo de acoes. A origem deve diferenciar a linha, mas nao transformar a linha em outra experiencia.

Critical Success Moments

O primeiro momento critico de sucesso acontece quando o cobrador abre o grid de quebras e encontra um cliente da Travessia que antes nao aparecia no sistema. Se ele entender imediatamente que aquele item e valido, porque esta ali e o que fazer com ele, a feature demonstra valor real.

O segundo momento critico ocorre quando o usuario registra 30 dias em uma linha da Travessia e depois consegue reencontrar esse cliente refletido corretamente no fluxo seguinte. Essa continuidade operacional e a prova de que a integracao nao so exibiu dados novos, mas respeitou o processo ja consolidado.

O terceiro momento critico esta na leitura de renegociacoes e 30 dias. O usuario precisa confiar que o titulo Chronos entrou no grid certo e nao esta duplicado em outro lugar. Se o sistema falhar nesse ponto, a percepcao do usuario sera de carteira inconsistente, mesmo com totalizadores corretos.

O momento em que o usuario percebe que isso esta melhor nao vem de animacao ou novidade visual. Vem de duas sensacoes objetivas: agora eu vejo o que faltava e nao precisei reaprender a tela para isso. O make-or-break da experiencia e exatamente esse equilibrio entre ampliar cobertura da carteira e preservar a memoria operacional do cobrador.

Experience Principles

  • Preservar memoria operacional: a tela deve continuar familiar para quem ja trabalha no dashboard todos os dias.
  • Explicitar a origem sem poluir: Travessia/Bralar precisa ser visivel e consistente, mas sem competir com os dados financeiros e de cobranca.
  • Uma linha, uma leitura, uma decisao: cada registro deve explicar rapidamente origem, proposta, contexto operacional e acao possivel.
  • Mesma experiencia, fontes diferentes: Bralar e Travessia podem ter origens tecnicas distintas, mas a interacao deve parecer parte do mesmo sistema.
  • Nao esconder classificacao: quando um titulo estiver em quebras, 30 dias ou renegociacoes, os sinais da linha devem ser suficientes para que o usuario aceite aquela classificacao como plausivel.
  • Falha externa nao quebra operacao: indisponibilidade da Chronos deve degradar com seguranca, sem comprometer a utilizacao do dashboard.

Desired Emotional Response

Primary Emotional Goals

O sentimento principal que a tela deve transmitir e confianca. O cobrador precisa sentir que o dashboard voltou a representar a carteira real, inclusive com os titulos da Travessia, e que pode agir com seguranca sem recorrer a conferencias paralelas fora do sistema. Essa confianca precisa surgir da clareza do grid, da coerencia entre cards e listas e da estabilidade do comportamento ja conhecido.

O segundo sentimento desejado e controle. Mesmo com uma nova fonte de dados entrando no fluxo, o usuario nao deve sentir perda de dominio da rotina. A tela precisa continuar previsivel, com os mesmos padroes de leitura e as mesmas acoes principais, para que a introducao da Chronos seja percebida como ampliacao de capacidade, nao como ruptura do processo.

Tambem queremos uma sensacao de produtividade calma. O dashboard nao deve provocar duvida, tensao ou sobrecarga cognitiva. A experiencia correta e aquela em que o usuario percorre a tela com ritmo continuo, entende a origem do titulo rapidamente e segue o trabalho sem friccao mental desnecessaria.

Emotional Journey Mapping

No primeiro contato com a tela apos a integracao, o usuario deve sentir clareza imediata. Ele precisa perceber que algo foi melhorado, mas sem estranhar a interface. O ideal e que a leitura seja: agora a tela esta mais completa, e nao mexeram em tudo.

Durante a experiencia central de uso, o sentimento dominante deve ser seguranca operacional. Ao percorrer quebras, 30 dias e renegociacoes, o cobrador precisa confiar que a linha esta no lugar certo, que a marca Travessia/Bralar faz sentido e que pode executar a proxima acao sem hesitar.

Depois de concluir a tarefa principal, especialmente ao registrar 30 dias ou validar recebimentos, o usuario deve sentir confirmacao. A jornada precisa terminar com a percepcao de que o sistema acompanhou o raciocinio dele e manteve a continuidade do processo.

Se algo der errado, como falha temporaria da Chronos, o sentimento desejado e estabilidade, nao panico. O usuario deve entender que houve indisponibilidade de uma fonte complementar, mas que o dashboard continua operando e que o restante da rotina nao foi comprometido.

Quando voltar a usar a tela em dias seguintes, o sentimento ideal e familiaridade confiavel. A experiencia precisa se consolidar rapidamente como parte natural do processo diario.

Micro-Emotions

As micro-emocoes mais criticas para o sucesso desta feature sao:

  • Confianca em vez de confusao: a linha deve explicar a si mesma.
  • Conforto em vez de estranhamento: a tela deve parecer a mesma ferramenta de sempre, apenas mais completa.
  • Seguranca em vez de ceticismo: o usuario precisa acreditar que os titulos da Travessia sao validos e estao corretamente classificados.
  • Satisfacao em vez de frustracao: a inclusao da nova fonte deve eliminar a sensacao de carteira incompleta.
  • Baixa ansiedade em vez de sobrecarga: mais informacao nao pode significar mais desgaste mental.
  • Continuidade em vez de ruptura: registrar 30 dias ou validar renegociacao deve parecer extensao do fluxo atual, nao um caso especial.

Design Implications

Se queremos transmitir confianca, a UX precisa priorizar explicabilidade. Isso exige identificacao textual clara de origem, colunas previsiveis, proposta exibida legivel e ausencia de ambiguidades visuais entre Bralar e Travessia.

Se queremos transmitir controle, as acoes existentes nao devem mudar de posicao, nome ou comportamento sem necessidade. O usuario nao pode sentir que precisa reaprender a operar para lidar com a Travessia.

Se queremos transmitir produtividade calma, devemos evitar excesso de destaque visual. Badge, coluna de origem e sinais de classificacao precisam ser discretos, consistentes e suficientes. O objetivo nao e chamar atencao para a nova fonte, e sim torná-la operacionalmente compreensivel.

Se queremos evitar ceticismo, o sistema precisa mostrar coerencia entre a linha, o grid e os indicadores. Um titulo Travessia listado no grid errado ou parecendo duplicado compromete a emocao principal mais do que qualquer problema estetico.

Se queremos reduzir ansiedade em falhas externas, a degradacao da Chronos deve ser tratada com mensagem curta, contextual e nao bloqueante. O sistema deve comunicar o problema sem transformar a tela em estado de erro generalizado.

Emotional Design Principles

  • Confianca antes de novidade: a feature deve parecer correta antes de parecer nova.
  • Completude sem barulho: a carteira fica mais completa, mas a tela nao pode ficar mais cansativa.
  • Previsibilidade gera controle: os mesmos gestos e leituras devem continuar funcionando.
  • Sinal minimo, significado maximo: pequenos marcadores de origem e contexto devem resolver grandes duvidas operacionais.
  • Erro externo, impacto contido: falhas da Chronos devem ser percebidas como degradacao localizada, nao como quebra do sistema.

UX Pattern Analysis & Inspiration

Inspiring Products Analysis

Para esta feature, as referencias mais uteis nao sao produtos de marketing ou apps de consumo. O melhor paralelo esta em sistemas com alto volume de leitura tabular e operacao repetitiva, como ERPs financeiros, CRMs operacionais e paineis de atendimento com filas. Nesses produtos, o valor de UX aparece quando o usuario consegue tomar decisao rapida em uma linha sem abrir detalhes desnecessarios.

O primeiro grupo inspirador sao ERPs e backoffices financeiros. O que esses sistemas fazem bem, quando acertam, e manter a informacao mais importante visivel no grid principal, com hierarquia clara entre identificacao, valor, vencimento, status e acao. A licao transferivel aqui e simples: a tabela precisa carregar quase toda a decisao operacional sem exigir navegacao secundária.

O segundo grupo inspirador sao CRMs de atendimento e cobranca. O melhor padrao desses sistemas e explicitar contexto com pequenos badges ou chips compactos, sem competir com o conteudo principal. Quando funcionam bem, esses marcadores permitem que o operador entenda rapidamente origem, prioridade ou etapa do item, mantendo a linha escaneavel. Isso conversa diretamente com a necessidade de mostrar Travessia/Bralar.

O terceiro grupo inspirador sao dashboards analiticos-operacionais que combinam indicadores no topo e listas acionaveis abaixo. O padrao bem-sucedido nesses produtos e a coerencia entre card e grid: o numero resumido no topo precisa se materializar em registros plausiveis nas listas. Essa inspiracao e importante porque a Chronos vai impactar exatamente a confianca entre indicadores e grids.

Tambem ha uma inspiracao negativa recorrente: sistemas internos que tentam resolver novas regras de negocio adicionando cores demais, colunas demais e excecoes visuais demais. Esses produtos se tornam mais informativos em tese, mas menos operaveis na pratica. A feature chronos-titulos deve evitar esse caminho.

Transferable UX Patterns

Os padroes mais transferiveis para o nosso caso sao:

  • Badge textual compacto por contexto: usar um marcador curto e discreto para Travessia e Bralar, sem transformar a origem em protagonista visual.
  • Coluna ou area de leitura estavel: manter a identificacao da linha sempre na mesma zona da tabela, para que a origem e a proposta sejam lidas dentro de um padrao previsivel.
  • Acoes inline sem bifurcacao visual: preservar botoes e links existentes, evitando tratamentos especiais para Travessia no nivel da interacao.
  • Densidade com hierarquia: aceitar que a tela e densa, mas garantir que o olho encontre primeiro cliente, proposta, valor/data, origem e acao.
  • Resumo no topo, evidência no grid: garantir que qualquer aumento em cards ou contadores encontre correspondencia concreta nas listas que o usuario percorre.
  • Feedback de degradacao localizado: se a fonte complementar falhar, exibir indicacao pontual e calma, sem contaminar a tela inteira com estado de erro.

Aplicados ao dashboard_cobrador.php, esses padroes sugerem um UX de evolucao controlada. O grid continua sendo o centro da decisao, a origem entra como marcador auxiliar, e os fluxos operacionais permanecem iguais.

Anti-Patterns to Avoid

  • Criar uma identidade visual separada para Travessia: se as linhas Travessia parecerem pertencer a outro sistema, o usuario perde continuidade cognitiva.
  • Resolver tudo com cor: usar cor como principal diferenciador de origem ou classificacao aumenta ruido e fragiliza acessibilidade operacional.
  • Adicionar excecoes de botao ou fluxo: mudar o comportamento visual do registrar 30 dias para Travessia criaria desconfiança e curva de reaprendizado.
  • Exibir campos tecnicos da API: creditId, parcelId, contractNumber cru ou outros identificadores tecnicos nao devem invadir a leitura principal.
  • Espalhar a mesma regra em pontos visuais diferentes: origem, classificacao e contexto nao podem ser sinalizados de formas contraditorias entre os grids.
  • Usar mensagens de erro alarmistas: falhas da Chronos nao podem transformar o dashboard em uma tela de incidente generalizado.
  • Aumentar a largura do grid sem disciplina: cada nova coluna tem custo real de escaneabilidade e pode comprometer a leitura em monitores menores.

Design Inspiration Strategy

What to Adopt:

  • Adotar o padrao de contexto discreto no grid, usando badges ou texto curto para origem, porque isso suporta a leitura rapida sem romper a estrutura atual.
  • Adotar o padrao de coerencia entre resumo e detalhe, garantindo que cards e grids contem a mesma historia operacional.
  • Adotar o padrao de acao inline invariavel, mantendo o comportamento atual das tratativas principais.

What to Adapt:

  • Adaptar o uso de badges corporativos para um contexto mais denso, evitando excesso de peso visual.
  • Adaptar a proposta exibida da Travessia para um formato reconhecivel pelo cobrador, sem copiar literalmente a estrutura tecnica da Chronos.
  • Adaptar mensagens de indisponibilidade para um modelo de aviso operacional curto, em vez de banners grandes e intrusivos.

What to Avoid:

  • Evitar qualquer padrao que trate a entrada da Chronos como um “subproduto” dentro da tela.
  • Evitar modelos visuais que aumentem a quantidade de decodificacao necessaria por linha.
  • Evitar inspiração em interfaces orientadas a descoberta, experimentacao ou onboarding; o foco aqui e velocidade de operacao recorrente.

Essa estrategia de inspiracao fixa um criterio importante para as proximas decisoes de UX: a feature deve parecer uma melhora silenciosa no instrumento de trabalho do cobrador, nao uma nova camada de interface competindo com a operacao.

Design System Foundation

1.1 Design System Choice

Para a chronos-titulos, a escolha correta nao e criar um design system novo nem importar um sistema estabelecido de componentes. A fundacao de design deve ser o sistema visual existente do cobranca, complementado por um conjunto pequeno de regras especificas da feature para origem, proposta exibida, estados de degradacao e consistencia entre grids.

Na pratica, isso significa adotar uma abordagem de custom local extension: preservar classes, espacamentos, tipografia, densidade de tabela, botoes e convencoes ja em uso no sistema, e introduzir apenas os elementos minimos necessarios para a nova fonte de dados. O objetivo nao e reestilizar o produto, e sim impedir que a feature pareca um enxerto visual desconectado.

Rationale for Selection

Essa decisao e a mais adequada por cinco motivos centrais:

  • o sistema ja esta em producao e o usuario depende de memoria operacional, entao mudar fundacao visual agora aumenta risco sem gerar ganho proporcional;
  • a feature e incremental e localizada em um dashboard existente, nao um modulo novo que justificaria nova biblioteca de componentes;
  • o maior desafio desta entrega e clareza operacional, nao identidade visual;
  • importar um design system externo no brownfield aumentaria custo tecnico, CSS concorrente e probabilidade de inconsistencia entre telas;
  • a homologacao precisa validar comportamento real com o menor numero possivel de variaveis novas.

Tambem ha uma razao de manutencao: a equipe ja conhece o padrao atual do sistema. Quanto menos novas abstrações visuais forem introduzidas nesta fase, mais simples sera implementar, revisar e publicar com seguranca.

Implementation Approach

A implementacao visual deve seguir a base atual do dashboard_cobrador.php e de seus componentes, especialmente os grids e marcadores ja existentes. A feature deve reutilizar:

  • estrutura e densidade das tabelas ja utilizadas em quebras, 30 dias e renegociacoes;
  • estilos atuais de botoes e acoes inline;
  • hierarquia de informacao ja estabelecida entre identificacao do cliente, dados financeiros e tratativas;
  • padroes de badges/labels existentes, se houver, antes de criar novas variacoes.

Os novos elementos visuais da feature devem ser limitados a:

  • marcador de origem Travessia ou Bralar;
  • apresentacao consistente da proposta_exibicao;
  • eventual aviso discreto de indisponibilidade da Chronos;
  • pequenos ajustes de largura e alinhamento para absorver a nova informacao sem degradar leitura.

Qualquer necessidade adicional deve ser resolvida primeiro por composicao dos estilos existentes. Criar novo componente visual so deve acontecer se a regra de negocio realmente nao puder ser comunicada com o que o sistema ja possui.

Customization Strategy

A estrategia de customizacao deve ser minima, controlada e rastreavel. As regras principais sao:

  • origem deve ser diferenciada por texto e contraste moderado, nao por uma paleta agressiva;
  • Travessia e Bralar precisam compartilhar o mesmo formato de exibicao para comunicar que pertencem ao mesmo sistema operacional;
  • a proposta_exibicao da Travessia deve entrar no mesmo campo visual onde o operador ja procura proposta, evitando criar uma segunda area de identificacao;
  • mensagens de falha da Chronos devem usar o estilo mais proximo possivel de aviso contextual leve, sem banner de erro dominante;
  • qualquer nova classe CSS criada para a feature deve ter escopo local e nomeacao clara para evitar vazar comportamento para outras telas.

Em vez de tokens visuais sofisticados ou guidelines amplas, esta feature precisa de uma mini camada de consistencia. O suficiente para congelar como origem, proposta e degradacao devem aparecer, sem abrir uma frente paralela de redesign.

2. Core User Experience

2.1 Defining Experience

A experiencia definidora da chronos-titulos e reconhecer rapidamente um titulo valido, entender seu contexto e agir sem hesitacao. O usuario nao deve pensar em fontes de dados, API, ERP ou banco auxiliar. Ele deve olhar uma linha do grid e concluir, em poucos segundos, se aquele titulo exige acao, se ja foi tratado, se pertence a Travessia ou Bralar e qual o proximo passo operacional.

Se essa experiencia estiver correta, o restante segue naturalmente. Os indicadores passam a fazer sentido, os grids deixam de parecer incompletos e a nova fonte entra no processo sem criar um fluxo paralelo. Se ela falhar, nada mais importa: o usuario perde confianca e volta a conferir informacao fora do sistema.

Em termos práticos, o equivalente conceitual do “swipe” desta feature e bater o olho na linha e confiar. Essa e a acao nuclear que define o valor do produto neste ponto da jornada.

2.2 User Mental Model

O modelo mental atual do cobrador e simples e forte: o dashboard me mostra a carteira do jeito que ela esta agora, e eu trabalho a partir do que vejo. Ele ja espera que quebras represente titulos em aberto vencidos, que 30 dias reflita marcacoes operacionais especificas do MySQL e que renegociacoes represente recebimentos com natureza distinta do pagamento comum.

Quando esse usuario olha um grid, ele nao pensa em camadas tecnicas. Ele pensa em perguntas operacionais:

  • esse cliente esta onde eu esperava?
  • esse titulo esta em aberto ou pago?
  • por que ele esta neste grid?
  • isso e algo que eu preciso tratar agora?

O problema atual e que esse modelo mental e quebrado pelos titulos ausentes da Travessia. O usuario sabe que existe carteira fora da tela e, por isso, convive com um nivel de desconfiança operacional. A feature precisa restaurar o modelo mental anterior, mas agora com cobertura maior: se e relevante para a cobranca, deve aparecer aqui.

O principal risco de confusao e o usuario sentir que as linhas da Travessia obedecem outra logica. Se ele tiver que decorar excecoes, interpretar um formato visual diferente ou desconfiar do posicionamento no grid, a experiencia fracassa. Por isso, a regra central e manter o modelo mental atual e apenas torná-lo mais completo.

2.3 Success Criteria

O usuario dira isso funciona quando conseguir:

  • identificar a origem Travessia ou Bralar sem interromper o ritmo de leitura;
  • reconhecer a proposta/titulo de forma operacionalmente util;
  • entender de modo plausivel por que a linha esta em quebras, 30 dias ou renegociacoes;
  • usar a acao existente, especialmente registrar 30 dias, sem sentir que entrou em um fluxo especial;
  • confiar que um titulo da Travessia nao sumiu, nao foi duplicado e nao foi parar no grid errado.

Os indicadores concretos de sucesso para a experiencia central sao:

  • a linha pode ser lida sem abrir detalhes adicionais;
  • a origem e percebida em leitura primária, nao secundaria;
  • a interacao principal continua igual entre Bralar e Travessia;
  • a passagem de quebras para 30 dias preserva continuidade perceptiva;
  • a eventual falha da Chronos nao impede o uso do dashboard nem gera sensacao de pane geral.

Em termos de velocidade, a tela deve continuar parecendo imediata no nivel de leitura. O usuario precisa sentir que a nova informacao foi absorvida pelo grid, nao anexada a ele.

2.4 Novel UX Patterns

Esta feature deve usar padroes estabelecidos, nao interacoes novas. O usuario ja entende leitura tabular, badge contextual, status por linha e acao inline. Esses padroes sao suficientes para resolver o problema, desde que a regra de classificacao e a origem estejam bem comunicadas.

A unica “novidade” aceitavel aqui e a combinacao de elementos familiares para resolver uma necessidade nova:

  • origem Travessia/Bralar como marcador contextual;
  • proposta_exibicao ajustada para manter reconhecimento operacional;
  • indicacao discreta de degradacao quando a Chronos falhar.

Ou seja, a inovacao nao esta em ensinar um gesto novo. Esta em usar o mesmo idioma visual da tela atual para incorporar uma nova realidade da carteira. Essa escolha reduz curva de aprendizagem, acelera homologacao e respeita o ambiente brownfield.

2.5 Experience Mechanics

1. Initiation

O fluxo comeca exatamente como hoje: o cobrador abre o dashboard_cobrador.php, usa os filtros habituais e percorre os cards e grids na ordem operacional que ja conhece. Nada na iniciacao deve sinalizar que existe um “modo Chronos”; a feature entra como parte do dashboard normal.

2. Interaction

No grid, o usuario percorre cada linha procurando cliente, proposta, valor/data, contexto operacional e acao disponivel. A origem Travessia/Bralar deve aparecer em posicao previsivel. A proposta_exibicao deve ser lida no mesmo campo visual onde hoje o usuario identifica titulos. Quando a linha estiver em quebras, a acao de registrar 30 dias continua com o mesmo padrao de uso.

Para linhas pagas, a interacao principal e de validacao e acompanhamento, nao de descoberta. O usuario verifica se aquele titulo esta em 30 dias ou renegociacoes e aceita essa classificacao pela combinacao entre contexto visual e consistencia do grid.

3. Feedback

O feedback mais importante e visual e imediato:

  • a origem deve ficar explicita na propria linha;
  • a proposta deve ser reconhecivel sem traducao mental;
  • a permanencia da mesma acao e do mesmo layout informa que o fluxo continua sendo o mesmo;
  • quando uma acao como registrar 30 dias ocorrer, a continuidade do item no fluxo deve confirmar ao usuario que a tratativa foi absorvida pelo sistema.

Em caso de erro ou indisponibilidade da Chronos, o feedback deve ser pequeno, objetivo e localizado. O sistema precisa comunicar a degradacao, mas tambem comunicar implicitamente que o restante da tela continua confiavel.

4. Completion

O usuario sabe que concluiu bem sua tarefa quando consegue percorrer o grid, identificar os casos relevantes e executar a tratativa sem consultar outra fonte. No caso do fluxo quebras -> 30 dias, a conclusao correta inclui perceber que a marcacao foi refletida no comportamento esperado da carteira.

O sucesso final da mecanica nao e um toast ou uma celebracao visual. E a sensacao silenciosa de que o dashboard voltou a ser uma fonte unica de trabalho.

Visual Design Foundation

Color System

Nao ha indicacao de um novo brandbook para esta feature, e a decisao correta e seguir a identidade visual ja existente do sistema de cobranca. A estrategia de cor, portanto, deve ser preservar a paleta atual e reservar cor apenas para significado operacional. Isso evita que a entrada da Chronos pareca uma submarca ou um modulo paralelo dentro da tela.

O uso de cor deve obedecer esta hierarquia:

  • cores estruturais permanecem as atuais da aplicacao para fundo, borda, cabecalho e acoes padrao;
  • cores semanticas continuam ligadas a estado operacional, nao a origem da empresa;
  • Travessia e Bralar devem ser diferenciadas por badge textual discreto, com contraste suficiente, sem saturacao alta e sem competir com alertas reais;
  • sucesso, aviso e erro devem continuar reservados para situacoes do fluxo, como confirmacao de acao, degradacao ou indisponibilidade;
  • a origem nao pode reutilizar cores que hoje ja signifiquem risco, atraso critico ou tratativa especial.

Em termos praticos, a recomendacao visual e usar uma base neutra para badges de origem, com leve diferenca de tom e forte apoio no texto. O badge precisa ser legivel, mas nao dominante. A leitura correta e isto informa contexto, nao isto exige atencao imediata.

Typography System

A tipografia deve permanecer a mesma ja usada no produto. Esta feature nao precisa de nova familia tipografica; precisa de disciplina de hierarquia textual dentro de uma tela densa. O objetivo e tornar cliente, proposta, origem e valores rapidamente escaneaveis sem aumentar ruido.

As regras tipograficas para a feature devem ser:

  • manter fonte e pesos ja presentes na interface;
  • priorizar legibilidade em tamanhos usados hoje nas tabelas;
  • usar peso ligeiramente maior apenas onde ja houver padrao para destaque de informacao primaria;
  • tratar proposta_exibicao como dado operacional importante, mas sem disputar protagonismo com nome do cliente;
  • usar texto de apoio ou badge em tamanho compacto para Travessia/Bralar, sem reduzir a legibilidade abaixo do aceitavel.

A hierarquia ideal de leitura por linha deve ser:

  1. cliente ou identificacao principal
  2. proposta/titulo
  3. valor e data
  4. origem
  5. status contextual e acao

Isso significa que a tipografia nao deve criar uma “nova coluna visual protagonista” para a origem. A origem informa, mas nao comanda o olhar.

Spacing & Layout Foundation

A tela deve manter uma abordagem densa e eficiente, nao ampla e espaçosa. O dashboard e uma ferramenta operacional. Mais respiro do que o necessario prejudicaria a quantidade de informacao visivel e reduziria produtividade.

A fundacao de espacamento deve seguir o grid ja existente da aplicacao, presumindo continuidade com os espacamentos atuais. O principio geral e:

  • espacamento curto dentro da linha da tabela;
  • separacao clara entre colunas com funcoes diferentes;
  • alinhamento consistente para numeros, datas e acoes;
  • nenhum aumento de padding que reduza desnecessariamente a quantidade de linhas visiveis;
  • ajustes de largura feitos por priorizacao de conteudo, nao por expansao arbitraria da tabela.

Para absorver a nova informacao da origem, a solucao preferida e reorganizar a zona de leitura da linha com o menor impacto possivel. Se houver escolha entre adicionar uma coluna inteira ou acoplar a origem a uma area ja existente de identificacao, a opcao deve ser guiada pela escaneabilidade real do grid, nao pela pureza tecnica da modelagem.

Em layouts mais estreitos, a prioridade de preservacao deve ser:

  1. cliente
  2. proposta
  3. valor/data
  4. origem
  5. acoes secundarias

Ou seja, se houver compressao visual, a origem pode ser compactada, mas nao pode sumir.

Accessibility Considerations

Mesmo sendo um sistema interno, esta feature precisa respeitar acessibilidade operacional. O principal aqui nao e compliance formal extensa, e sim garantir que a tela continue legivel, compreensivel e segura sob uso intenso.

As consideracoes obrigatorias sao:

  • contraste suficiente entre texto e fundo, especialmente em badges de origem;
  • nunca depender exclusivamente de cor para diferenciar Travessia de Bralar;
  • preservar tamanhos de fonte legiveis nos grids;
  • evitar mensagens de degradacao que dependam apenas de cor ou icone;
  • manter alvos de clique e botoes existentes sem reducao de usabilidade;
  • nao introduzir animacao ou destaque piscante para sinalizar a nova fonte.

Tambem ha uma forma especifica de acessibilidade cognitiva importante para este caso: consistencia. O usuario precisa reconhecer o mesmo padrao visual entre grids, inclusive quando a origem muda. Repeticao de padrao reduz erro de interpretacao e aumenta confianca, que e o objetivo principal desta feature.

Design Direction Decision

Design Directions Explored

Para esta feature, a exploracao correta de direcoes visuais nao e sobre estilos drasticamente diferentes de produto, e sim sobre formas diferentes de encaixar origem e proposta dentro da tabela operacional. As direcoes consideradas foram:

  • Direcao A - Coluna dedicada de origem: adiciona uma coluna curta exclusiva para Travessia/Bralar, preservando proposta no lugar atual.
  • Direcao B - Origem acoplada ao bloco de identificacao: cliente e proposta continuam principais, e a origem entra como badge contextual no mesmo agrupamento visual.
  • Direcao C - Origem anexada a proposta: a proposta aparece acompanhada do marcador de origem, concentrando identificacao funcional em uma mesma zona.
  • Direcao D - Origem em estado secundario da linha: a origem fica mais discreta, em texto de apoio ou label menor, com prioridade maxima para cliente, proposta e financeiro.

As quatro direcoes foram pensadas para responder a mesma pergunta: onde colocar a nova informacao sem prejudicar a velocidade de leitura. O criterio de avaliacao foi menos estetico e mais operacional: escaneabilidade, densidade, continuidade com a tela atual e risco de ambiguidade.

Tambem foi considerado o impacto nos grids distintos:

  • em quebras, a linha ja carrega mais sinais operacionais, entao qualquer direcao com muito peso visual aumenta ruido rapidamente;
  • em 30 dias e renegociacoes, ha mais espaco para explicitar contexto, mas ainda assim sem criar leitura mais lenta;
  • em todos os grids, a proposta da Travessia precisa continuar reconhecivel sem exigir que o usuario interprete a modelagem da Chronos.

Chosen Direction

A direcao escolhida foi refinada para uma versao ainda mais conservadora do que a Direcao B: badge minimo no inicio da linha, sem alterar a estrutura atual do grid.

Na pratica, isso significa:

  • todos os grids devem permanecer com as mesmas colunas, mesma ordem e mesma dinamica visual atual;
  • a unica alteracao visual obrigatoria e um badge/icone circular ou compacto no inicio de cada registro;
  • o badge deve conter apenas a inicial da origem:
    • B para Bralar
    • T para Travessia
  • a cor do badge deve ser:
    • azul para Bralar
    • verde para Travessia
  • a funcionalidade de 30 dias continua aparecendo somente no grid quebras, exatamente como hoje;
  • nenhum outro campo do grid deve mudar de posicao, comportamento ou protagonismo visual.

Design Rationale

Essa direcao e a melhor para o nosso caso porque respeita integralmente o comportamento atual da tela. O print da interface confirmou que os grids ja estao estabilizados visualmente e carregam sinais importantes de operacao, especialmente em quebras, onde convivem status, badge de 30d, indicador de Advogado e botoes de acao. Qualquer reposicionamento de coluna ou redistribuicao de informacao teria alto risco de regressao perceptiva.

Os motivos objetivos da escolha sao:

  • mantem o mapa visual atual do usuario intacto;
  • adiciona contexto de origem no ponto menos intrusivo possivel, o inicio da linha;
  • evita criar novas colunas ou deslocar colunas existentes;
  • funciona em todos os grids com a mesma regra visual;
  • mantem a origem perceptivel sem competir com Proposta, Cliente, Valor, Data ou Acoes;
  • reduz risco tecnico e de homologacao, porque o ajuste vira um enriquecimento leve da linha, nao uma remodelagem da tabela.

Tambem ha um motivo importante de manutencao: essa direcao e trivial de replicar entre grids diferentes. Se o primeiro elemento da linha carregar o badge de origem, a consistencia de Bralar e Travessia fica garantida sem obrigar cada grid a inventar sua propria solucao.

Implementation Approach

O caminho de implementacao visual deve seguir esta ordem:

  1. inserir o badge de origem como primeiro elemento visual de cada registro em todos os grids afetados;
  2. manter todas as colunas atuais exatamente como estao hoje;
  3. nao mover o campo de Proposta, Cliente, Valor, Data ou Acoes;
  4. em quebras, preservar integralmente os indicadores e a acao de 30 dias ja existentes;
  5. aplicar o mesmo padrao de badge inicial em renegociacoes, 30 dias e demais grids da feature;
  6. validar em homologacao apenas tamanho, contraste e alinhamento do badge, sem abrir discussao de layout estrutural.

Regras concretas de implementacao:

  • o badge deve ser pequeno o suficiente para nao aumentar perceptivelmente a altura da linha;
  • o badge deve ser legivel em leitura rapida, preferencialmente circular ou quase circular;
  • o texto interno do badge deve ser so a letra B ou T;
  • a diferenca entre azul e verde deve ser visivel, mas com o mesmo formato e peso visual;
  • o badge deve aparecer em todas as linhas de todos os grids impactados, sem excecao por origem;
  • o restante do grid deve permanecer igual.

O HTML comparativo da exploracao visual foi gerado em:

Ele deve ser usado apenas como apoio de conversa. A especificacao oficial agora e esta:

  • badge inicial B/T em todas as linhas
  • azul = Bralar
  • verde = Travessia
  • nenhuma mudanca estrutural no grid
  • 30 dias permanece exclusivamente no grid Quebras

User Journey Flows

Jornada 1: Ler e tratar titulos no grid Quebras

Esta e a jornada mais sensivel da feature, porque o grid quebras combina leitura de atraso, contexto operacional e acao direta de 30 dias. O comportamento desejado e que o cobrador veja uma linha da Travessia ou da Bralar exatamente da mesma forma operacional, com o badge inicial apenas informando a origem.

O fluxo esperado e:

  • o usuario entra no dashboard_cobrador.php;
  • aplica filtros de busca e data do jeito atual;
  • analisa o grid quebras;
  • identifica a origem da linha pelo badge inicial B ou T;
  • valida proposta, cliente, vencimento, dias e total;
  • decide se registra 30 dias ou segue outra tratativa;
  • executa a mesma acao existente, sem mudanca de layout ou fluxo visual.

O ponto de sucesso desta jornada e a ausencia de hesitacao. O cobrador nao deve parar para entender “como trata um titulo Travessia”; ele deve tratá-lo como parte do mesmo processo, apenas sabendo de qual empresa veio.

flowchart TD
    A[Abrir dashboard_cobrador.php] --> B[Aplicar filtros atuais]
    B --> C[Visualizar grid Quebras]
    C --> D[Ler badge inicial B ou T]
    D --> E[Validar proposta cliente vencimento dias e total]
    E --> F{Titulo exige acao 30 dias?}
    F -->|Sim| G[Usar botao atual Registrar 30 dias]
    F -->|Nao| H[Seguir outra tratativa existente]
    G --> I[Backend grava regra no MySQL]
    I --> J[Usuario entende que a tratativa foi absorvida]
    H --> J
    C --> K{Chronos indisponivel?}
    K -->|Sim| L[Mostrar somente dados disponiveis com degradacao discreta]
    L --> E

Jornada 2: Validar titulos em Recebimentos 30 Dias

Nesta jornada, a UX precisa provar continuidade. O usuario nao esta mais tomando a decisao inicial sobre um titulo vencido; ele esta confirmando que o item foi corretamente absorvido no fluxo de acompanhamento. O badge B/T continua presente no inicio da linha, mas a estrutura do grid permanece intacta.

O fluxo esperado e:

  • o usuario acessa o grid de 30 dias;
  • percorre as linhas mantendo o mesmo habito de leitura atual;
  • reconhece a origem pelo badge inicial;
  • confere proposta, cliente, valor e data;
  • aceita que o titulo esta nesse grid por causa do vinculo operacional do MySQL;
  • segue para consulta ou acao existente, sem qualquer variante visual para Travessia.

O principal risco aqui e parecer que um titulo veio “de outro sistema”. O fluxo precisa reforcar o contrario: ele veio de outra fonte, mas pertence ao mesmo processo de cobranca.

flowchart TD
    A[Acessar grid Recebimentos 30 Dias] --> B[Percorrer linhas da tabela]
    B --> C[Ler badge inicial B ou T]
    C --> D[Conferir proposta cliente valor e data]
    D --> E{Registro consta no fluxo 30 dias do MySQL?}
    E -->|Sim| F[Exibir no grid mantendo layout atual]
    E -->|Nao| G[Nao exibir nesse grid]
    F --> H[Usuario valida continuidade do processo]
    H --> I[Usa acao existente do grid]
    B --> J{Chronos indisponivel?}
    J -->|Sim| K[Degradacao discreta sem quebrar grid]
    K --> D

Jornada 3: Validar titulos em Renegociacoes Recebidas

No grid de renegociacoes, a experiencia precisa ser ainda mais discreta. O usuario deve apenas perceber que agora existem titulos adicionais corretamente classificados e marcados por origem. A regra tecnica da Chronos (parcelFrequencyName = Renegociação) nao deve aparecer como detalhe de interface; ela so precisa resultar em um posicionamento confiavel do item no grid certo.

O fluxo esperado e:

  • o usuario entra em renegociacoes recebidas;
  • segue o mesmo padrao de leitura historico;
  • identifica origem no badge inicial;
  • confere proposta, cliente, valor e data;
  • entende que o titulo esta ali por ser uma renegociacao validada pelo backend;
  • usa a acao existente do grid, sem novo comportamento visual.

O sucesso dessa jornada depende de coerencia: se o badge mudou, mas o resto da linha continua familiar, o usuario aceita a inclusao da nova origem sem friccao.

flowchart TD
    A[Acessar grid Renegociacoes Recebidas] --> B[Percorrer linhas atuais]
    B --> C[Ler badge inicial B ou T]
    C --> D[Conferir proposta cliente valor e data]
    D --> E{Titulo classificado como renegociacao?}
    E -->|Sim| F[Exibir no grid atual sem alterar colunas]
    E -->|Nao| G[Redirecionar para outro fluxo backend]
    F --> H[Usuario confia na classificacao]
    H --> I[Usa acao atual do grid]
    B --> J{Chronos indisponivel?}
    J -->|Sim| K[Operar com dados disponiveis e aviso discreto]
    K --> D

Journey Patterns

Os padroes comuns entre as jornadas precisam permanecer fixos:

  • mesmo ponto de entrada: o usuario sempre entra pela mesma tela e pelos mesmos grids;
  • mesma sequencia de leitura: badge inicial, proposta, cliente, dados financeiros, acoes;
  • mesmo repertorio de acoes: nenhuma acao nova ou reetiquetada por causa da origem;
  • mesma expectativa visual: colunas, ordem e comportamento do grid permanecem iguais;
  • mesma estrategia de degradacao: falha da Chronos nao colapsa a tela nem muda drasticamente o fluxo.

Tambem ha um padrao decisional importante:

  • a origem e percebida imediatamente;
  • a classificacao do grid e aceita indiretamente pela coerencia do item;
  • a regra tecnica permanece no backend;
  • o frontend so expõe contexto minimo e suficiente.

Flow Optimization Principles

  • nao adicionar passos: a feature deve caber nos fluxos existentes, nao criar subfluxos paralelos.
  • nao exigir traducao tecnica: o usuario nao precisa saber como o backend classificou Chronos, apenas confiar no resultado.
  • manter ritmo de leitura: o badge inicial deve acelerar contexto, nao interromper a escaneabilidade.
  • confirmar continuidade: especialmente entre quebras e 30 dias, o sistema deve reforcar que a tratativa surtiu efeito.
  • degradar com serenidade: quando a Chronos falhar, o fluxo restante precisa continuar plausivel e utilizavel.

Component Strategy

Design System Components

Como a estrategia geral da feature e preservar integralmente o sistema visual atual, a cobertura de componentes vem majoritariamente do proprio produto existente. Os elementos disponiveis e que devem ser reaproveitados sao:

  • estruturas atuais de tabela e linha dos grids;
  • cabecalhos, filtros e blocos de busca ja usados no dashboard_cobrador.php;
  • botoes e acoes inline existentes;
  • badges e labels operacionais ja utilizados, como 30d e Advogado;
  • estilos de estados vazios, carregamento e degradacao que ja existirem no sistema.

Isso significa que a analise de gap e pequena. O produto ja tem praticamente tudo o que precisa para esta entrega. O que falta e apenas um componente de contexto de origem e uma regra consistente de encaixe desse componente nas linhas dos grids.

Custom Components

Origin Badge

Purpose: identificar de forma instantanea se a linha pertence a Bralar ou Travessia.

Usage: deve aparecer como primeiro elemento visual de cada registro em todos os grids impactados pela feature.

Anatomy: badge compacto, preferencialmente circular ou quase circular, com uma unica letra central:

  • B para Bralar
  • T para Travessia

States:

  • default Bralar: fundo azul, letra B, contraste suficiente
  • default Travessia: fundo verde, letra T, contraste suficiente
  • loading/unknown: nao deve existir na tela final; se a origem nao estiver resolvida no backend, a linha nao deve improvisar um terceiro estado visual

Variants:

  • variante unica de tamanho entre grids
  • podem existir pequenos ajustes tecnicos de alinhamento por grid, mas nao novas variantes visuais

Accessibility:

  • nao depender so da cor
  • ter title ou texto acessivel equivalente com o nome completo da origem
  • manter contraste suficiente com fundo e borda

Content Guidelines:

  • mostrar apenas B ou T
  • nao expandir para texto completo na linha
  • nao adicionar icones extras

Interaction Behavior:

  • componente passivo, sem clique
  • papel de leitura rapida, nao de acao

Origin Badge Cell Wrapper

Purpose: garantir que o badge entre no inicio da linha sem alterar o restante da estrutura do grid.

Usage: aplicacao tecnica na primeira area da linha, antes dos campos ja existentes.

Anatomy: pequeno contêiner de alinhamento horizontal/vertical para posicionar o badge com espacamento estavel.

States:

  • default: alinhado ao centro vertical da linha
  • dense row: mesma regra, sem aumentar a altura perceptivel

Variants:

  • nao deve virar um novo padrao de coluna reutilizavel fora da feature
  • e apenas uma solucao de encaixe local para os grids afetados

Accessibility:

  • nao prejudicar foco de teclado nos botoes da linha
  • nao invadir area clicavel de outras acoes

Content Guidelines:

  • conter so o badge
  • nao adicionar texto auxiliar

Interaction Behavior:

  • componente estrutural, sem interacao

Optional Degradation Notice

Purpose: comunicar de forma discreta quando a Chronos estiver indisponivel, sem quebrar a tela.

Usage: somente quando houver falha real da fonte externa que afete parte da consolidacao.

Anatomy: mensagem curta e contextual, preferencialmente proxima ao grid ou area de filtro correspondente, sem dominar a interface.

States:

  • hidden: estado normal
  • visible: aviso discreto de degradacao

Variants:

  • unica variacao leve, sem versoes chamativas

Accessibility:

  • texto claro
  • nao depender apenas de cor

Content Guidelines:

  • informar que parte dos dados complementares pode estar indisponivel
  • evitar linguagem alarmista

Interaction Behavior:

  • sem bloquear acao do usuario

Component Implementation Strategy

A estrategia de implementacao de componentes deve seguir estas regras:

  • reaproveitar o markup atual de cada grid o maximo possivel;
  • introduzir o Origin Badge como unico componente visual realmente novo;
  • encapsular as diferencas de origem no backend e expor ao frontend apenas o valor final necessario para renderizar o badge;
  • padronizar uma mesma classe CSS e um mesmo HTML-base para o badge em todos os grids;
  • evitar que cada grid crie sua propria versao de B/T;
  • manter 30 dias, Advogado, acoes e demais elementos no mesmo lugar onde ja estao.

No nivel tecnico, isso significa que o frontend deve receber algo simples como:

  • marca_empresa = Bralar | Travessia
  • ou origem_badge = B | T
  • e opcionalmente uma classe semantica (bralar, travessia)

Qualquer logica de traduzir origem, definir classificacao ou decidir cor deve ser resolvida antes do render. O componente de interface deve ser burro e previsivel.

Implementation Roadmap

Phase 1 - Core Components

  • implementar Origin Badge
  • implementar contêiner de encaixe do badge no inicio da linha
  • aplicar primeiro no grid quebras, que e o mais sensivel visualmente

Phase 2 - Grid Rollout

  • aplicar o mesmo badge nos grids de 30 dias
  • aplicar o mesmo badge nos grids de renegociacoes
  • validar alinhamento, contraste e altura de linha em todos eles

Phase 3 - Supporting Feedback

  • adicionar, se necessario, aviso leve de degradacao da Chronos
  • revisar consistencia final entre grids e estados excepcionais

O criterio de prioridade aqui e simples: primeiro garantir o componente minimo e sua consistencia, depois expandir para todos os grids, e so por ultimo tratar estados de excecao adicionais.

UX Consistency Patterns

Button Hierarchy

Os botoes atuais do sistema devem permanecer como referencia absoluta de hierarquia visual. A feature chronos-titulos nao introduz nova taxonomia de acoes. Ela apenas acrescenta origem aos registros, mantendo o usuario dentro do mesmo repertorio operacional.

Padroes obrigatorios:

  • botoes primarios continuam sendo os que ja sao primarios hoje nos grids e filtros;
  • a acao de registrar 30 dias continua com o mesmo peso visual e aparece exclusivamente em quebras;
  • acoes de consulta, abertura ou navegacao continuam com o mesmo tratamento visual atual;
  • o badge B/T nunca deve parecer botao ou elemento clicavel;
  • a introducao da origem nao pode deslocar, redimensionar ou despriorizar os botoes existentes.

Regra de consistencia:

  • origem informa
  • botao age

Ou seja, o badge e passivo, e as acoes continuam sendo reconhecidas pelo mesmo padrao historico da tela.

Feedback Patterns

Os feedbacks da feature devem ser discretos e contextualizados. O sistema nao pode dramatizar a entrada da nova fonte nem transformar a falha da Chronos em uma ruptura visual maior do que o necessario.

Padroes obrigatorios:

  • sucesso de acao segue o padrao atual da aplicacao;
  • erros de negocio continuam sendo exibidos pelo mecanismo ja utilizado no sistema;
  • degradacao da Chronos deve ser comunicada com aviso leve, localizado e nao bloqueante;
  • ausencia de dados da Chronos nao deve produzir interface quebrada ou placeholder confuso;
  • a classificacao do item no grid deve ser confirmada principalmente pela coerencia da linha, e nao por mensagens extras.

Padrao de tom:

  • objetivo
  • curto
  • sem alarmismo
  • sem termos tecnicos desnecessarios

Os filtros e buscas do dashboard_cobrador.php permanecem como estao. A feature nao cria novos formularios, novos campos nem novos critérios de entrada visual para o usuario.

Padroes obrigatorios:

  • campos de busca e periodo mantem formato, posicao e comportamento atuais;
  • o usuario nao precisa escolher manualmente Bralar ou Travessia para que a feature funcione;
  • a origem e um enriquecimento de leitura, nao um novo filtro do MVP;
  • mensagens de validacao de formulario permanecem as atuais;
  • qualquer falha de consulta da Chronos nao deve invalidar filtros locais ja preenchidos.

Regra principal:

  • nenhum ajuste em formulario deve ser introduzido apenas para acomodar a nova origem, a menos que isso seja explicitamente decidido fora deste MVP.

Navigation Patterns

A navegacao da feature e zero-friccao porque nao ha nova navegacao. O usuario continua entrando pela mesma tela e usando os mesmos blocos do dashboard.

Padroes obrigatorios:

  • nenhuma nova aba, subtela, modal ou drawer para explicar origem;
  • nenhum clique adicional para descobrir se a linha e Bralar ou Travessia;
  • mesmas rotas e mesmas transicoes atuais;
  • grids continuam sendo o centro da descoberta e da acao;
  • o fluxo entre quebras, 30 dias e renegociacoes continua sendo entendido pela propria tela, nao por navegacao extra.

Regra de consistencia:

  • a feature deve parecer uma ampliacao silenciosa da tela atual, nunca um novo modulo.

Additional Patterns

Search and Filtering Patterns

  • busca continua agindo sobre os mesmos campos ja esperados;
  • a origem nao deve alterar a semantica dos filtros existentes;
  • resultados mistos de Bralar e Travessia devem ser aceitos como estado normal da interface;
  • o badge inicial deve ser suficiente para diferenciar a origem dentro do resultado filtrado.

Empty and Loading States

  • se nao houver resultados, usar o estado vazio atual do grid;
  • se houver carregamento, usar o mecanismo atual da tela;
  • se a Chronos estiver indisponivel, evitar confundir “sem resultado” com “falha externa”;
  • estados vazios nao devem sugerir que o usuario precisa configurar origem manualmente.

Row Reading Pattern

  • a leitura da linha sempre começa pelo badge inicial;
  • depois segue para proposta, cliente, dados financeiros e acoes;
  • esse mesmo padrão deve valer em todos os grids impactados;
  • excecoes locais do grid, como 30d e Advogado, permanecem onde ja estao.

Degradation Pattern

  • falha parcial da Chronos nao remove a capacidade de uso dos grids existentes;
  • a tela continua funcional com os dados disponiveis;
  • o aviso de degradacao deve ficar proximo do contexto afetado;
  • o usuario nao deve ser forçado a sair da tela, recarregar manualmente ou aprender um fluxo de excecao.

Responsive Design & Accessibility

Responsive Strategy

A estrategia responsiva da chronos-titulos deve ser desktop-first com degradacao controlada para larguras menores. O dashboard do cobrador e uma tela operacional densa, usada principalmente em contexto corporativo com mouse e teclado. Portanto, a prioridade maxima de design continua sendo a experiencia em desktop.

Isso nao significa ignorar resolucoes menores. Significa que a adaptacao deve preservar a capacidade de uso sem reinventar a interface. Para esta feature, a regra e:

  • em desktop, manter a densidade atual e apenas introduzir o badge inicial B/T;
  • em larguras intermediarias, preservar colunas e leitura da tabela o maximo possivel, aceitando scroll horizontal quando necessario em vez de colapsar brutalmente o grid;
  • em larguras menores, priorizar que a linha continue legivel e utilizavel, mesmo que a visualizacao completa exija rolagem;
  • nunca remover o badge de origem como “otimizacao” responsiva.

A feature nao deve tentar converter os grids em cards mobile para este MVP. Isso aumentaria custo, risco e divergencia funcional sem necessidade real para a entrega atual.

Breakpoint Strategy

A estrategia de breakpoint pode seguir a base comum do projeto, com interpretacao conservadora:

  • desktop: 1024px+
  • tablet / notebooks estreitos: 768px - 1023px
  • mobile / larguras menores: ate 767px

Regras de adaptacao por faixa:

  • desktop: nenhuma mudanca estrutural; badge entra sem alterar grid
  • tablet / notebook estreito: permitir maior compressao horizontal e scroll em containers da tabela, preservando ordem e colunas
  • mobile: nao redesenhar tabela; manter estrutura e permitir leitura parcial com scroll horizontal, apenas garantindo que o badge inicial e a primeira parte da identificacao permaneçam visiveis com prioridade

Para esta feature, a melhor abordagem nao e criar novos breakpoints personalizados. E aproveitar a estrategia responsiva ja existente da aplicacao e garantir que o badge nao introduza regressao visual nessas faixas.

Accessibility Strategy

A estrategia de acessibilidade adequada para esta feature e WCAG AA como referencia pratica. Mesmo sendo um sistema interno, a tela lida com uso intensivo, alta repeticao e decisao operacional. Isso torna legibilidade, contraste e consistencia mais importantes do que qualquer formalismo superficial.

Requisitos de acessibilidade obrigatorios:

  • contraste suficiente no badge azul B e no badge verde T;
  • badge identificavel por texto, nao apenas por cor;
  • title, aria-label ou equivalente acessivel para expor Bralar e Travessia por completo;
  • nenhuma reducao na usabilidade de teclado dos botoes ja existentes;
  • foco visual atual deve ser preservado;
  • mensagens de degradacao precisam ser textuais e claras.

Tambem ha uma camada importante de acessibilidade cognitiva:

  • o grid nao pode mudar de estrutura entre fontes diferentes;
  • a origem deve ser lida no mesmo ponto em qualquer grid impactado;
  • o usuario nao deve precisar decorar excecoes visuais para Travessia.

Testing Strategy

A validacao desta feature deve combinar teste visual, operacional e de acessibilidade leve.

Responsive Testing

  • validar em resolucao desktop padrao do ambiente operacional;
  • validar em notebook/largura intermediaria para garantir que o badge nao quebre alinhamento;
  • validar em largura pequena apenas para assegurar que o grid continua utilizavel com scroll horizontal, sem sobreposicoes nem badges cortados;
  • testar em Chrome e pelo menos mais um navegador moderno usado internamente.

Accessibility Testing

  • checar contraste visual dos badges B e T;
  • navegar com teclado pelos grids e acoes para confirmar que o badge nao interfere no fluxo;
  • validar que a origem e compreensivel mesmo sem depender da cor;
  • inspecionar labels acessiveis do badge, se forem adicionadas.

Operational Testing

  • validar o grid quebras com linhas Bralar e Travessia lado a lado;
  • validar que 30 dias continua aparecendo so em quebras;
  • validar 30 dias e renegociacoes com badge em todas as linhas;
  • validar degradacao da Chronos sem quebrar tela nem apagar acao existente.

Implementation Guidelines

  • implementar o badge com dimensao fixa e previsivel para evitar crescimento de linha;
  • manter o badge como elemento nao interativo;
  • nao usar media queries para esconder a origem em telas menores;
  • preferir scroll horizontal controlado do container da tabela a reflow agressivo da linha;
  • preservar a ordem atual das colunas em todos os breakpoints;
  • garantir que qualquer ajuste CSS da feature tenha escopo local aos grids impactados;
  • usar HTML semantico e atributos acessiveis simples no badge;
  • nao introduzir animacoes, transicoes chamativas ou efeitos que confundam a leitura operacional.