Olá, Diego. Como vai?
O seu código em C# ficou fantástico! A estrutura para coletar os dados utilizando o padrão seguro TryParse (tanto para o double quanto para o DateTime) mostra que você está atento a boas práticas de tratamento de dados, evitando falhas se o usuário digitar algo inesperado.
O grande destaque do seu projeto foi o uso criativo do método string.PadLeft(). Utilizar essa função para gerar molduras dinâmicas baseadas no tamanho do título (titulo.Length) é um excelente exemplo de lógica de programação para interfaces de linha de comando (CLI). O uso de sequências de escape como \t (tabulação) e \n (quebra de linha), aliado às formatações de string "F2" (para forçar duas casas decimais no valor do frete) e "dd/MM/yyyy" para a data, deixou a exibição do relatório extremamente organizada, limpa e profissional.
Para agregar ainda mais valor aos seus estudos sobre manipulação de texto no C#, vale a pena conhecer um recurso que tornaria o alinhamento das suas colunas ("Cliente:", "Endereço:", etc.) ainda mais preciso do que o uso do \t.
A sequência \t insere um espaçamento fixo de tabulação baseado no console, mas se o tamanho das palavras antes dele variar muito, as informações da direita podem acabar desalinhadas. Para resolver isso, as f-strings do C# (Interpolação de Strings) possuem um recurso nativo de alinhamento e espaçamento fixo.
Se você colocar uma vírgula , seguida de um número negativo dentro das chaves, o C# reserva um número exato de caracteres para aquele texto e o alinha à esquerda.
Veja como você poderia reescrever o bloco de exibição dos dados usando essa técnica:
// O número -18 reserva exatamente 18 espaços para o rótulo da esquerda, alinhando tudo perfeitamente
Console.WriteLine($"{"Cliente:", -18}{nome}");
Console.WriteLine($"{"Endereço:", -18}{endereco}");
Console.WriteLine($"{"Frete:", -18}R$ {frete.ToString("F2")}");
Console.WriteLine($"{"Data de Entrega:", -18}{dataEntrega.ToString("dd/MM/yyyy")}\n");
Com essa pequena alteração, não importa o comprimento da palavra do rótulo inicial; o C# garante que todos os dados preenchidos comecem exatamente na mesma coluna vertical, deixando o seu relatório com um visual de tabela impecável.
Parabéns pelo excelente domínio técnico na formatação de strings e pelo capricho no design do seu relatório de console!
Espero que possa ter lhe ajudado!