Faits : A. A.a. La société B._ SA est active dans le commerce du sucre. Par contrat de travail du 26 août 2008, elle a engagé A._ dès le 1 er octobre 2008 en qualité de comptable. Le salaire mensuel brut était initialement de 7'000 fr., payable treize fois l'an; il a été porté à 7'800 fr. à dater du 1 er juin 2010. L'employée était chargée d'établir les clôtures mensuelles des comptes, et devait à ce titre comptabiliser des hedges (couvertures), en particulier sur le cours du sucre. Elle était aidée dans cette tâche par son collègue D._ qui faisait régulièrement avec elle le point sur les positions concernant les marchés financiers. Ces situations mensuelles étaient importantes puisqu'elles servaient à la gestion et au suivi des affaires de la société; elles devaient être transmises, à des dates précises, au siège de la société... pour des questions de consolidation, ainsi qu'aux établissements bancaires afin d'obtenir des financements essentiels à la bonne marche de la société. Dans un certificat de travail intermédiaire du 27 décembre 2010, E._, supérieur hiérarchique direct de l'employée, a notamment attesté que celle-ci « fai[sai]t preuve de compétence, d'indépendance et de professionnalisme dans les tâches qui lui [étaie]nt confiées et [que] son travail (...) donn[ait] pleine et entière satisfaction. » A.b. Durant l'année 2010, la société employeuse a connu d'importantes difficultés financières. De mauvais résultats commerciaux ainsi que des problèmes d'organisation et de gestion l'ont conduite à modifier ses structures comptables et sa direction. E._ - parti à la fin de cette année-là - et le directeur commercial ont été remplacés respectivement par F._ et C._. F._ a pris son poste de directeur administratif et financier le 1 er mars 2011. Une nouvelle procédure pour la gestion des hedges a été mise en place. L'employée n'a pas pu clôturer à temps les comptes 2010 en vue de leur audit, ce qu'elle a imputé à l'absence de son collègue D._ dont elle attendait les informations nécessaires, et qui était tombé en incapacité de travail pour cause de maladie dès la fin février 2011. L'employée ne parvenait pas non plus à établir les clôtures de comptes mensuelles, malgré l'appui d'un expert-comptable diplômé externe dénommé G._. Vu la gravité de la situation, ce dernier a été chargé d'émettre un diagnostic sur le fonctionnement du processus de comptabilisation et sur la qualité du travail de l'employée. Son rapport concluait que celle-ci ne disposait pas des compétences nécessaires pour tenir la comptabilité de manière efficace et qu'il était impératif de réagir rapidement pour éviter une péjoration de la situation. A.c. Le 27 mai 2011, l'employée a adressé un courrier électronique à l'administrateur président de la société,.... Dans le cadre de la procédure évoquée ci-dessous (let. B), elle a expliqué avoir procédé à cette démarche après s'être vainement plainte du comportement de C._ à son encontre auprès de F._ et de..., directeur administratif de la holding. Dans son courriel, elle relatait notamment ce qui suit: «M. C._, le nouveau directeur commercial, a eu dès les premiers jours un comportement agressif à mon égard. Jusqu'à ce jour, M. C._ ne m'a jamais montré le moindre respect tant sur le plan professionnel que personnel; il a toujours ouvertement adopté des comportements préjudiciables sur ma personne et mon travail. En parlant de moi à mes collègues, il a toujours utilisé des termes extrêmement offensants et vulgaires. Un dernier exemple a eu lieu hier matin : en pensant que je ne l'entendais pas, il m'a appelé, en présence de F._, H._,... et..., 'mistinguett', faisant allusion aux femmes de cabaret. C'est grave ! (...) il continue encore aujourd'hui à faire ses remarques que personne ne lui demande et sans aucun fondement, je vous rapporte ci-dessous seulement quelques exemples : 1. Je suis absolument incapable en tout (même pour envoyer un recommandé); 2. Je n'ai aucune formation professionnelle; 3. Je n'ai aucun diplôme; 4. La comptabilité est mal tenue parce que je n'ai pas la capacité et les connaissances, etc. » L'administrateur président a exprimé son étonnement et s'est montré dubitatif quant aux comportements décrits, les mettant sur le compte d'une simple incompréhension. A.d. Par lettre du 31 mai 2011 remise en mains propres, l'employeuse a résilié le contrat de travail de l'employée sans en indiquer les motifs. Le même jour, F._ a établi un certificat de travail intermédiaire ayant la teneur suivante: «Madame A._ a fait preuve de compétence et de professionnalisme et a toujours rempli les tâches qui lui ont été confiées avec une entière autonomie, son travail nous donne pleine et entière satisfaction. » A.e. Sur l'attestation délivrée à l'attention de l'assurance-chômage, l'employeuse a invoqué la «restructuration» comme motif de résiliation des rapports de travail. A.f. Par lettre du 27 juillet 2011, l'employée s'est opposée à son licenciement et a réclamé un certificat de travail final d'une teneur identique au certificat intermédiaire du 31 mai précédent. L'employeuse lui a répondu, le 11 août 2011, que l'employée n'ignorait pas « que son contrat de travail a (vait) été résilié parce que ses prestations ne correspondaient pas au poste de 'comptable' pour lequel elle avait été engagée. » B. B.a. L'employée a introduit une procédure de conciliation le 4 novembre 2011, puis a déposé une demande le 5 mars 2012 devant le Tribunal civil de l'arrondissement de La Côte (VD). Elle concluait à ce que l'employeuse soit condamnée à lui payer la somme nette de 54'964 fr. et à lui délivrer un certificat de travail dont la teneur était prédéfinie, respectivement à ce que l'employeuse et C._ soient condamnés, solidairement ou dans les proportions fixées à dire de justice, au paiement d'une indemnité de 10'000 fr. pour le tort moral occasionné. Les deux défendeurs ont conclu au rejet de la demande. A titre reconventionnel, l'employeuse a conclu au paiement de 37'603 fr., correspondant aux notes d'honoraires de la fiduciaire M._ SA. En cours d'instruction, une expertise a été confiée à X._, de la fiduciaire.... B.b. Par jugement du 9 septembre 2016, le Tribunal civil a condamné l'employeuse à payer 5'800 fr. à l'employée, à titre de frais d'écolage pour sa formation professionnelle, et a ordonné la remise d'un certificat de travail identique à celui établi le 23 août 2011, mais complété par l'indication suivante: «Mlle A._ a entretenu des relations harmonieuses avec ses supérieurs et ses collègues de travail. Elle a exécuté son travail à satisfaction.» Le Tribunal a rejeté les autres conclusions en cause et réparti les frais judiciaires, dont 15'800 fr. 10 ont été mis à la charge de la demanderesse. En substance, il a retenu que le comportement agressif et humiliant reproché à C._ n'était pas établi, le cas n'émargeant ainsi ni à l'art. 328 al. 1 CO, ni aux art. 4 et 5 LEg (loi fédérale sur l'égalité entre femmes et hommes; RS 151.1). Par ailleurs, la décision de licencier l'employée n'était pas la conséquence des reproches formulés par celle-ci, mais bien plutôt des constats de la direction et de l'expert-comptable mandaté selon lesquels l'employée n'avait plus les compétences pour faire face à sa tâche. Le congé n'était donc pas abusif. B.c. L'employée a formé appel aux fins de réformer ce jugement et d'obtenir que l'employeuse soit condamnée à lui payer - en sus de 5'800 fr. - la somme nette de 46'800 fr., respectivement que l'employeuse et C._ soient condamnés à lui payer la somme nette de 10'000 fr. Elle a en outre contesté les frais judiciaires mis à sa charge. B.d. Par arrêt du 14 novembre 2017, la Cour d'appel civile du Tribunal cantonal vaudois a admis l'appel sur le seul point des frais judiciaires, qu'elle n'a réduits que de 656 fr. 60 pour tenir compte du fait que le litige relevait très partiellement de la LEg (cf. art. 114 let. a CPC). L'appel a été rejeté pour le surplus. Sur le fond, la Cour a retenu que l'employée n'avait pas été victime de harcèlement sexuel, ni d'un comportement agressif, hostile, humiliant ou dégradant émanant du défendeur. Elle a également confirmé le caractère non abusif du licenciement. C. L'employée saisit le Tribunal fédéral d'un recours en matière civile reprenant les conclusions en paiement formulées en appel. L'autorité précédente et les défendeurs n'ont pas été invités à se déterminer.