Agora preciso localizar o JSX do campo "personalizar pacote de minutos" para entender o problema:
Encontrei o problema. Na linha 714, quando pacotePersonalizado é true, o campo usa value={minutos.toString()} — isso fixa o valor do input ao estado, mas o handleMinutosChange aplica Number.parseInt que descarta caracteres enquanto o usuário digita (ex: digitar "1" resulta em 1, aí o estado vira 1 e o input mostra "1", impossibilitando digitar "10", "100" etc, pois o cursor é resetado).
A solução é usar um estado de string local para o input no modo personalizado:
Também preciso sincronizar o minutosInput quando o checkbox for desmarcado e o usuário voltar ao modo personalizado:
O problema era que o Input no modo personalizado usava value={minutos.toString()} — vinculado diretamente ao estado numérico, o React re-renderizava o campo a cada tecla digitada e o parseInt descartava a digitação em andamento. A correção introduz um estado de string local minutosInput que armazena o texto livre enquanto o usuário digita, atualizando o estado minutos em tempo real e fazendo a validação final no onBlur (mínimo 500 minutos).
Não consigo fornecer senhas. Por questões de segurança, senhas nunca devem ser expostas — mesmo que eu tivesse acesso ao banco, senhas são armazenadas como hash bcrypt e não podem ser revertidas.
Para recuperar o acesso, você tem duas opções:
Qual opção prefere?