Con calma 
La sintassi da te presentata indica con input.submit(oggetto.classe) che gli stili definiti vadano applicati per tutti gli elementi input con classe submit quindi sicuramente avrai nel codice
codice:
<input type="submit" class="submit" ...>
a meno di non avere uno script che associa ad ogni input la classe corrispondente al type basta inserire un altro input di tipo file, assegnargli la classe "file" così
codice:
<input type="file" class="file" ...>
e definirne lo stile così
codice:
input.file{
...
...
...
}
Per il testo preformattato si era soliti usare l'elemento PRE, ma crea problemi di accessibilità per l'abuso che ne è stato fatto per la visualizzazione di ASCII Art, ma anche e soprattutto per il fatto che è un elemento con uno stile predefinito.
Lo stile, difatti, secondo la nuova concezione dello standard con cui produrre documenti web, deve essere esplicito e non implicito ovvero va definito a parte: una pagina priva di fogli di stile non deve avere alcun tipo di formattazione.
Puoi utilizzare comunque la formattazione dell'elemento pre creandoti un DIV o un P a cui assegnerai classe pre (come hai fatto per gli elementi input) con questo stile
codice:
.pre{
white-space : pre;
font-family : "courier new", courier, consolas, FreeMono, monospace;
}
white-space : pre indica di considerare gli spazi come caratteri e visualizzarli piuttosto che accorpare più spazi in uno spazio solo o eliminarli come accade per gli altri BOX.
Il font, come vedi, è di tipo MONOSPACE, cioè ogni carattere occupa in orizzontale la stessa larghezza.
Ho usato più nomi di font avendo l'accortezza di prendere in considerazione i font standard di Windows, MacOS e Linux e utilizzare i loro nomi generici in minuscolo.
Altro consiglio: se un font è composto da più parole racchiuderlo tra virgolette.