Faits :
A.
La société A._ AG est propriétaire d'un immeuble locatif à Vevey. Entre le 4 décembre 2008 et le 31 mars 2009, 31 locataires (certains habitant le même appartement) ont saisi l'autorité de conciliation en contestation d'une hausse de loyer, en restitution de montants versés à titre de frais accessoires, en réparation de défauts et en réduction de loyer. La conciliation n'ayant pas abouti, les locataires ont porté leurs actions devant le Tribunal des baux du canton de Vaud, qui a joint les causes. La bailleresse a retiré l'augmentation de loyer.
Par jugement du 29 janvier 2013, le tribunal a condamné la bailleresse à payer aux 31 locataires des montants variant entre 14'669 fr. et 81'750 fr. pour un total de quelque 740'000 fr., à titre de restitution de frais accessoires et réduction de loyers (pour la période courant jusqu'au 31 octobre 2012). Il a en outre réduit les loyers de 16 locataires à raison d'un taux compris entre 15% et 45%, à partir du 1 er novembre 2012 jusqu'à parfaite exécution de certains travaux dans leurs appartements respectifs. Ces mêmes 16 locataires, plus deux autres, ont encore bénéficié d'une réduction de 3% jusqu'à parfaite exécution de divers travaux sur les espaces communs de l'immeuble.
La bailleresse a déféré cette décision à la Cour d'appel civile du Tribunal cantonal vaudois, qui a rejeté l'appel et confirmé le jugement attaqué par un arrêt du 9 mai 2014 comptant 98 pages.
B.
La bailleresse (recourante), agissant par le ministère d'un avocat, a interjeté un recours en matière civile auprès du Tribunal fédéral. Elle conclut en substance à ce que les demandes en remboursement des frais accessoires soient rejetées s'agissant de 28 locataires, et à ce que les réductions de loyer accordées pour la période antérieure au 1 er novembre 2012 soient revues à la baisse, s'agissant de 25 locataires. La recourante requiert en outre qu'un couple de locataires soit condamné à lui payer 423 fr., "libre cours étant laissé" à deux poursuites pendantes.
Les locataires (intimés), pour partie assistés d'un avocat, concluent au rejet du recours. L'autorité précédente se réfère à son arrêt.
Le 5 décembre 2014, le conseil de la recourante a informé la cour de céans de la fin de son mandat.

Considérant en droit :
1.
Le recours n'est pas dirigé contre V._ et W._ oubliés dans le mémoire d'appel, ni contre X._. L'arrêt rendu en faveur de ces trois personnes est définitif.
2.
L'autorité précédente a admis les demandes de 31 locataires en remboursement des acomptes de frais accessoires. La recourante requiert sans autre précision de pouvoir "conserve[r] les acomptes de charges et frais accessoires" versés par 28 d'entre eux. Elle "considère que la décision attaquée viole l'article 257a CO, le principe de la maxime d'office et l'article 42 alinéa 2 CO, en ceci qu'elle ordonne le remboursement de frais accessoires malgré la production par la recourante de pièces topiques". La motivation tient sur moins de vingt lignes.
L'autorité précédente a précisé que les frais accessoires susceptibles d'être facturés étaient soumis au régime de l'acompte provisionnel. Elle a constaté que la recourante n'avait déposé aucune pièce justificative en relation avec les exercices 1998/99 à 2002/03 et que les titres justificatifs produits pour les exercices 2003/04 à 2008/09 ne suffisaient pas à établir le bien-fondé des décomptes. Ces constatations de fait, au demeurant largement explicitées, lient la cour de céans faute pour la recourante d'avoir soulevé le grief d'arbitraire (art. 105 al. 1 et 2 LTF; <ref-ruling> consid. 5.1; <ref-ruling> consid. 1.4.3).
La maxime inquisitoire sociale (art. 274d al. 3 aCO; <ref-law>) ne sert pas à remédier à toutes les carences des parties à la procédure (cf. <ref-ruling> consid. 4a; <ref-ruling> consid. 3.2). Comme l'autorité précédente l'a jugé à bon escient, le Tribunal des baux a satisfait aux exigences en la matière en invitant à réitérées reprises la recourante, au demeurant assistée d'un avocat, à présenter des décomptes détaillés, des tableaux de répartition et l'ensemble des pièces justificatives.
La recourante ne saurait enfin bénéficier du principe retenu à l'<ref-law> selon lequel le juge détermine équitablement un dommage qui ne peut pas être établi. Car l'impossibilité doit découler de la nature de la prétention; de simples difficultés de preuve liées au cas particulier ne suffisent pas (<ref-ruling> consid. 2b/aa p. 276 i.f.; cf. aussi <ref-ruling> consid. 3.2). Or, le bailleur est tenu de présenter le décompte des frais accessoires au moins une fois par année (<ref-law> - RS 221.213.11); à cet effet, il doit garder les pièces justificatives correspondantes pour prouver ses frais, pièces que le locataire est au demeurant en droit de consulter. S'il ne garde pas les pièces ou si, comme en l'espèce, il tarde durant de nombreuses années à présenter son décompte et n'est alors plus en mesure de présenter les pièces nécessaires, il ne peut s'en prendre qu'à lui-même.
3.
Le Tribunal des baux a constaté de nombreux défauts. Examinant la situation de chaque appartement en particulier, il a déterminé dans quelle proportion les défauts recensés impliquaient une réduction du loyer concerné. En définitive, il a d'une part condamné la recourante à verser à 27 locataires une somme à titre de réduction de loyer "pour le passé", soit pour la période courant jusqu'au 31 octobre 2012, mois au cours duquel l'audience de jugement s'était tenue. Il a d'autre part accordé "pour le futur" à 16 locataires une réduction de loyer chiffrée en pourcentage (entre 15% à 45%), à partir du 1 er novembre 2012 jusqu'à l'exécution de travaux précis dans les divers appartements. La Cour d'appel a confirmé ce jugement.
La recourante prend des conclusions qui, pour être comprises, nécessitent de se référer au corps du jugement rendu par le Tribunal des baux. Elle vise en substance à diminuer les taux de réduction appliqués aux loyers passés, soit pour la période antérieure au 1 er novembre 2012, s'agissant de 25 des 27 locataires concernés. Elle ne prend en revanche aucune conclusion concernant les réductions de loyer octroyées "pour le futur", c'est-à-dire à compter du 1 er novembre 2012. Vu l'issue du grief, il n'y a pas à s'interroger plus avant sur la portée précise de ces conclusions.
Contrairement à l'autorité de première instance, la Cour d'appel a retenu que les fentes dans les vitres de balcon ne constituaient pas un défaut; elle a néanmoins confirmé les réductions de loyer retenues par l'autorité de première instance, estimant que ces fentes avaient joué un rôle extrêmement réduit dans les taux retenus, alors que des défauts nettement plus importants affectaient les appartements. La recourante plaide que l'autorité précédente aurait dû retrancher 4% sur les taux de réduction, dès lors que dans un cas précis, les fentes constituaient un des trois défauts retenus par l'autorité de première instance pour justifier une réduction de 12,5%.
La recourante part de la prémisse que ces trois défauts étaient équivalents; or, rien de tel n'a été retenu, et la recourante ne démontre pas que ce serait le cas. Peu importe, au demeurant. Pour statuer sur le grief, il faudrait prendre en compte l'ensemble des défauts constatés dans chaque appartement individuellement, puis examiner au cas par cas si l'autorité précédente a abusé de son pouvoir d'appréciation lorsqu'elle a fixé les taux de réduction. Or, la recourante se limite à affirmer globalement et sans autre précision que les taux de réduction appliqués dans l'arrêt entrepris dépasseraient largement la limite admissible en comparaison avec des exemples tirés de la jurisprudence, exemples qu'elle omet toutefois de préciser. Elle ajoute que la réduction ferait arbitrairement fi des loyers très modiques; toutefois, elle ne dit mot pour justifier les taux de réduction qu'elle estime appropriés. Un tel procédé ne satisfait pas aux exigences de motivation d'un recours (<ref-law>). Il n'y a pas à entrer en matière.
4.
La recourante requiert encore que deux locataires (A.N._ et B.N._) soient condamnés à lui payer 423 fr., "libre cours étant laissé" à deux poursuites pendantes. Le recours ne contient pas la moindre explication à l'appui de cette conclusion, qui est ainsi irrecevable.
5.
La recourante succombe; elle supporte par conséquent les frais de la présente procédure (<ref-law>). Elle versera en outre une indemnité de dépens aux intimés qui sont assistés par un avocat (<ref-law>).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté dans la mesure où il est recevable.
2.
Les frais judiciaires, arrêtés à 8'000 fr., sont mis à la charge de la recourante.
3.
La recourante versera à titre de dépens une indemnité de 9'000 fr. aux intimés représentés par Me Wiebach, créanciers solidaires.
4.
Le présent arrêt est communiqué aux parties et à la Cour d'appel civile du Tribunal cantonal du canton de Vaud.
Lausanne, le 11 février 2015
Au nom de la Ire Cour de droit civil
du Tribunal fédéral suisse
La Présidente : Kiss
La Greffière : Monti