Faits :
A.
Par acte du 28 juin 2021, la société A._ SA (à U._) a formé recours auprès de la Cour des plaintes du Tribunal pénal fédéral contre une ordonnance de clôture de la procédure d'entraide en faveur du Portugal rendue le 27 mai 2021 par le Ministère public de la Confédération. Par pli recommandé du 30 juin 2021, la recourante a été invitée à s'acquitter d'une avance de frais de 5'000 fr. et à transmettre des documents démontrant son existence au moment du dépôt du recours et établissant l'identité et les pouvoirs des signataires de la procuration produite, à défaut de quoi le recours serait déclaré irrecevable. La recourante a payé l'avance de frais le 6 juillet 2021 et a produit le 13 juillet 2021 les documents suivants: un "certificate of good standing" du 1er juillet 2021 (attestant de l'existence de la société à cette date) et un "certificate of incumbency" du même jour indiquant que le directeur unique de la société était B._ Ltd; une procuration de la société du 27 novembre 2020 en faveur de B._ SA en liquidation, pour les besoins de la procédure d'entraide; une autre procuration du 5 juillet 2021 en faveur de B._ SA; un extrait du registre du commerce et des documents d'identité confirmant que deux signataires de la dernière procuration étaient les liquidateurs de B._ SA.
B.
Par arrêt du 15 octobre 2021, la Cour des plaintes a déclaré le recours irrecevable: selon les pièces figurant au dossier, les trois signataires de la procuration du 27 novembre 2020 étaient les directeurs de A._ SA. Or, au jour du dépôt du recours, A._ SA avait pour directeur unique B._ Ltd et aucun document relatif à cette société n'avait été produit sur l'existence, le rôle et le siège de cette société, de même que les personnes physiques habilitées à la représenter. Il n'était dès lors pas possible de vérifier que les deux signataires de la procuration du 5 juillet 2021 étaient valablement mandatés pour représenter la société recourante.
C.
Par acte du 28 octobre 2021, A._ SA forme un recours en matière de droit public au Tribunal fédéral par lequel elle conclut principalement à l'annulation de l'arrêt de la Cour des plaintes et au renvoi de la cause à cette juridiction pour nouvelle décision au sens des considérants. Elle requiert l'effet suspensif.
Il n'a pas été demandé de réponse au recours.

Considérant en droit :
1.
Selon l'<ref-law>, le recours en matière de droit public est recevable à l'encontre d'un arrêt du Tribunal pénal fédéral en matière d'entraide judiciaire internationale si celui-ci a pour objet notamment la transmission de renseignements concernant le domaine secret et s'il concerne un cas particulièrement important (al. 1). Un cas est particulièrement important notamment lorsqu'il y a des raisons de supposer que la procédure à l'étranger viole des principes fondamentaux ou comporte d'autres vices graves (al. 2). Ces motifs d'entrée en matière ne sont toutefois pas exhaustifs et le Tribunal fédéral peut être appelé à intervenir lorsqu'il s'agit de trancher une question juridique de principe ou lorsque l'instance précédente s'est écartée de la jurisprudence suivie jusque-là (<ref-ruling> consid. 1.3). Une violation du droit d'être entendu dans la procédure d'entraide peut également fonder un cas particulièrement important, pour autant que la violation alléguée soit suffisamment vraisemblable et l'irrégularité d'une certaine gravité (<ref-ruling> consid. 1.5).
En vertu de l'<ref-law>, il incombe à la partie recourante de démontrer que les conditions d'entrée en matière posées à l'<ref-law> sont réunies (<ref-ruling> consid. 1.1). En particulier, il ne suffit pas d'invoquer des violations des droits fondamentaux de procédure pour justifier l'entrée en matière; seule une violation importante, suffisamment détaillée et crédible peut conduire, le cas échéant, à considérer que la condition de recevabilité posée à l'<ref-law> est réalisée (<ref-ruling> consid. 1.5).
2.
La recourante relève qu'elle dénonçait la violation de principes fondamentaux par les autorités portugaises ainsi que d'autres vices graves comme la violation systématique du droit d'être entendu, la corruption de l'appareil judiciaire au Portugal et la violation de la présomption d'innocence. La recourante perd ainsi de vue que l'arrêt attaqué ne statue pas sur ces questions qui relèvent du fond, mais uniquement sur la recevabilité du recours qui lui était soumis. Seule cette question peut en l'état être soulevée devant le Tribunal fédéral et c'est sur ce point-là uniquement que la recourante devrait démontrer l'existence d'un cas particulièrement important. A ce sujet, la recourante se plaint d'établissement inexact des faits, de formalisme excessif et d'une violation du principe de la proportionnalité, mais ne prétend pas qu'il existerait une question de principe, que la Cour des plaintes se serait écartée de la jurisprudence suivie jusque-là ou qu'un autre motif particulier justifierait une entrée en matière.
3.
Sur le vu de ce qui précède, le recours est irrecevable. Conformément à l'<ref-law>, les frais judiciaires sont mis à la charge de la recourante qui succombe. Le présent arrêt est rendu selon la procédure simplifiée prévue à l'<ref-law>.

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est irrecevable.
2.
Les frais judiciaires, arrêtés à 1'000 fr., sont mis à la charge de la recourante.
3.
Le présent arrêt est communiqué au mandataire de la recourante, au Ministère public de la Confédération, au Tribunal pénal fédéral, Cour des plaintes, et à l'Office fédéral de la justice, Unité Entraide judiciaire.
Lausanne, le 2 novembre 2021
Au nom de la Ire Cour de droit public
du Tribunal fédéral suisse
Le Président : Kneubühler
Le Greffier : Kurz