Faits :
A.
Par contrat de travail du 30 août 2007, X._ a été engagée par U._ SA à Lausanne en qualité d'assistante technique location à partir du 2 septembre 2007. Elle a été promue gérante d'immeubles junior dès le 1 er mars 2008, puis gérante d'immeubles senior dès le 1 er juillet 2008. En cette dernière qualité, elle était épaulée par un assistant. Son salaire mensuel brut s'élevait à l'origine à 5'500 fr. (hors frais) et a été régulièrement augmenté pour passer à 6'090 fr. dès le 1 er janvier 2010.
Le contrat prévoyait un horaire de travail de 42 heures par semaine ainsi que quatre semaines de vacances par année; par la suite, le droit aux vacances a été porté à 25 jours par année.
Le règlement de travail applicable aux trois fonctions successivement occupées par l'employée prévoit notamment ce qui suit :
"3. HEURES SUPPLÉMENTAIRES
En règle générale, le travail doit être accompli durant l'horaire convenu. L'employé est tenu d'accomplir le travail supplémentaire que l'employeur demande.
N'est reconnu, et rémunéré ou compensé, que le travail supplémentaire commandé par l'employeur ou lorsqu'il est imposé par les circonstances annoncées (sic) par oral ou écrit à l'employé [recte: employeur] dans la semaine."
L'horaire habituel de travail des employés était plus ou moins de 7h30 à 17h00 avec une pause d'environ une heure à midi. L'employeuse laissait une certaine marge de manoeuvre à ses employés, qui étaient libres d'organiser leur temps de travail.
L'employée gérait 830 objets locatifs, dont 76 correspondant à deux immeubles supplémentaires dont la gestion lui avait été attribuée en juin 2010. Une telle charge n'avait toutefois rien d'exceptionnel par rapport à d'autres collaborateurs.
L'employée a accumulé des retards conséquents dans le traitement de ses dossiers. Cette situation était en partie héritée d'autres gérants, mais son ampleur n'a fait que s'accroître. Certains dossiers accusaient même un retard de plus d'une année. L'employée était très pointilleuse, ce qui contribuait à l'accumulation de ce retard. Ainsi, elle faisait refaire à ses assistants des courriers qu'elle avait à coeur de corriger plusieurs fois, les surveillait et contrôlait tout de manière générale. En cinq ans, cinq assistants se sont succédé à son service, ce qui était exceptionnel. Ces départs étaient en grande partie liés au comportement de l'employée et ont également contribué aux retards. Ceux-ci ont suscité de nombreux courriels de relance et de plainte de clients entre 2011 et 2012.
Le 25 avril 2012, l'employeuse a résilié le contrat de travail de l'employée pour le 31 juillet 2012, indiquant notamment que " les retards récurrents dans (son) travail ainsi que l'insatisfaction de (son) principal client (la) contraign (ai) ent à cette décision ".
Par lettre du 25 juillet 2012, l'employée s'est opposée à son licenciement, qu'elle considérait comme abusif. Elle a réclamé une indemnité correspondant à cinq mois de salaire ainsi qu'une somme de 100'000 fr. en paiement de ses heures supplémentaires.
Elle s'est trouvée en incapacité de travail totale du 26 juin au 31 octobre 2012. L'employeuse lui a indiqué que son salaire lui serait versé jusqu'à cette date, mais pas au-delà puisqu'elle n'avait pas offert ses services une fois sa capacité de travail recouvrée; le délai de congé ayant recommencé à courir le 1 er novembre 2012, son contrat de travail prendrait fin le 31 décembre 2012.
B.
Par requête de conciliation du 19 juin 2013, X._ a ouvert action contre U._ SA.
Faute de conciliation, l'employée a porté sa demande devant la Chambre patrimoniale cantonale du canton de Vaud le 15 novembre 2013. Elle concluait au paiement en sa faveur de 25'000 fr. à titre d'indemnité pour licenciement abusif, 385'645 fr.60 à titre d'heures supplémentaires, 6'077 fr.75 à titre de complément de salaire pour décembre 2012 et 1'430 fr. à titre de vacances non prises, avec les intérêts moratoires correspondants; s'y ajoutaient des conclusions en remise d'un certificat de travail conforme aux exigences du CO ainsi que d'une attestation LACI conforme à ses revenus.
Par jugement du 8 mai 2017, la Chambre patrimoniale cantonale a dit que la défenderesse devait fournir à la demanderesse un certificat de travail conforme aux exigences du CO et rejeté les autres et plus amples prétentions de l'employée.
Les premiers juges ont considéré que X._ n'avait pas réussi à présenter des indices suffisants pour faire apparaître comme non réel le motif avancé par l'employeuse pour la licencier, qu'elle n'avait pas établi le lien entre le congé et des prétentions en protection de la personnalité qu'elle aurait formulées, ni prouvé que sa vie, sa santé ou son intégrité personnelle auraient été atteintes par l'attitude de sa supérieure hiérarchique. L'employée n'avait pas non plus droit au salaire auquel elle prétendait pour décembre 2012, car, tout en concédant que son incapacité de travail n'avait pas perduré au-delà du 31 octobre 2012, elle n'avait alors pas offert ses services à l'employeuse. S'agissant des heures supplémentaires qu'elle soutenait avoir exécutées, leur quotité (7'980,25 d'après ses allégations) ne pouvait être déterminée et l'employée ne les avait jamais annoncées auparavant. Par ailleurs, la demanderesse ne disposait pas d'un droit aux vacances au-delà du 31 octobre 2012. Enfin, une attestation LACI n'avait pas à être établie, dès lors qu'aucune des prétentions salariales de l'employée n'avait été admise.
X._ a interjeté appel, en reprenant pour l'essentiel les conclusions de sa demande, tout en ramenant la somme réclamée au titre des heures supplémentaires à 340'418 fr.40 et en renonçant à sa conclusion en paiement des vacances non prises.
Statuant le 14 février 2018, la Cour d'appel civile du Tribunal cantonal du canton de Vaud a rejeté l'appel. Les motifs de cet arrêt seront évoqués ci-après dans la mesure utile.
C.
X._ forme un recours en matière civile. Elle y reprend les conclusions formulées en appel à l'encontre de U._ SA, dont les actifs et les passifs ont été repris récemment par Z._ SA dans le cadre d'une fusion.
Ni Z._ SA ni la cour cantonale n'ont été invitées à déposer des observations.
Considérant en droit :
1.
1.1. L'arrêt attaqué est une décision finale (art. 90 LTF) rendue en matière civile (art. 72 LTF) par le tribunal supérieur désigné comme autorité cantonale de dernière instance, lequel a statué sur recours (art. 75 LTF). La cause atteint la valeur litigieuse minimale de 15'000 fr. ouvrant le recours en matière civile dans les affaires relevant du droit du bail à loyer (art. 74 al. 1 let. a LTF). Le recours est exercé par la demanderesse qui a succombé dans ses conclusions et qui a donc qualité pour recourir (art. 76 al. 1 LTF). Z._ SA s'est substituée ex lege à U._ SA, par l'effet de la fusion par absorption de cette société-ci (art. 22 al. 1 LFus; RS 221.301). Enfin, le recours a été déposé dans le délai (art. 100 al. 1 LTF) et la forme (art. 42 LTF) prévus par la loi. Il est en principe recevable, sous réserve de l'examen des griefs particuliers.
1.2. Le recours en matière civile peut être exercé pour violation du droit fédéral (art. 95 let. a LTF), y compris le droit constitutionnel (ATF 136 I 241 consid. 2.1 p. 247; 136 II 304 consid. 2.4 p. 313). Le Tribunal fédéral applique le droit d'office (art. 106 al. 1 LTF). Compte tenu de l'exigence de motivation contenue à l'art. 42 al. 1 et 2 LTF, sous peine d'irrecevabilité (art. 108 al. 1 let. b LTF), le Tribunal fédéral n'examine en principe que les griefs invoqués, sauf en cas d'erreurs juridiques manifestes. Il n'est pas tenu de traiter, comme le ferait une autorité de première instance, toutes les questions juridiques qui se posent, lorsque celles-ci ne sont plus discutées devant lui (ATF 141 III 86 consid. 2; 140 III 115 consid. 2; 137 III 580 consid. 1.3). Par exception à la règle selon laquelle il applique le droit d'office, il n'examine la violation d'un droit constitutionnel que si le grief a été invoqué et motivé de façon détaillée (art. 106 al. 2 LTF; ATF 139 I 22 consid. 2.2; 137 III 580 consid. 1.3; 135 III 397 consid. 1.4 in fine).
1.3. Le Tribunal fédéral statue sur la base des faits établis par l'autorité précédente (art. 105 al. 1 LTF). Il ne peut rectifier ou compléter les constatations de l'autorité précédente que si elles sont manifestement inexactes ou découlent d'une violation du droit au sens de l'art. 95 LTF (art. 105 al. 2 LTF). "Manifestement inexactes" signifie ici "arbitraires" (ATF 141 IV 249 consid. 1.3.1 p. 253; 140 III 115 consid. 2 p. 117; 135 III 397 consid. 1.5). Encore faut-il que la correction du vice soit susceptible d'influer sur le sort de la cause (art. 97 al. 1 LTF).
La critique de l'état de fait retenu est soumise au principe strict de l'allégation énoncé par l'art. 106 al. 2 LTF (ATF 140 III 264 consid. 2.3 p. 266 et les références). La partie qui entend attaquer les faits constatés par l'autorité précédente doit expliquer clairement et de manière circonstanciée en quoi les conditions précitées seraient réalisées (ATF 140 III 16 consid. 1.3.1 p. 18 et les références). Si elle souhaite obtenir un complètement de l'état de fait, elle doit aussi démontrer, par des renvois précis aux pièces du dossier, qu'elle a présenté aux autorités précédentes en conformité avec les règles de procédure les faits juridiquement pertinents à cet égard et les moyens de preuve adéquats (ATF 140 III 86 consid. 2 p. 90). Si la critique ne satisfait pas à ces exigences, les allégations relatives à un état de fait qui s'écarterait de celui de la décision attaquée ne pourront pas être prises en considération (ATF 140 III 16 consid. 1.3.1 p. 18). Aucun fait nouveau ni preuve nouvelle ne peut être présenté à moins de résulter de la décision de l'autorité précédente (art. 99 al. 1 LTF).
En l'occurrence et pour l'essentiel, la recourante ne remet pas valablement en cause l'état de fait retenu par la cour cantonale, duquel elle s'écarte tout au long de son mémoire de recours, sans toutefois satisfaire aux exigences rappelées ci-dessus. La cour de céans s'en tiendra dès lors à cet état de fait, sous réserve des quelques cas où la recourante soulève valablement le grief d'arbitraire, dont les mérites seront examinés ci-après.
2.
Il est constant que l'employée a été liée à l'employeuse par un contrat de travail de durée indéterminée qui a pris fin le 31 décembre 2012, par suite du licenciement signifié le 25 avril 2012. La recourante soutient que ce congé revêt un caractère abusif (art. 336 CO), ce que la cour cantonale aurait méconnu. Elle prétend également que son droit à la rétribution des heures supplémentaires (art. 321 al. 3 CO) aurait été nié à tort. Les motifs développés sur ces points dans le recours ont essentiellement trait aux faits et à l'appréciation des preuves, que la cour de céans ne peut revoir que sous l'angle restreint de l'arbitraire.
En matière de constatation des faits et d'appréciation des preuves, l'autorité verse dans l'arbitraire lorsqu'elle ne prend pas en compte, sans raison sérieuse, un élément de preuve propre à modifier la décision, lorsqu'elle se trompe manifestement sur son sens et sa portée, ou encore lorsqu'elle tire des conclusions insoutenables à partir des éléments recueillis (ATF 140 III 264 consid. 2.3 p. 265; 137 III 226 consid. 4.2 p. 234).
Au surplus, les autres conclusions du recours ne sont pas motivées, de sorte qu'elles sont irrecevables (art. 42 al. 2 LTF). On relèvera d'ailleurs que l'une d'elles porte sur la délivrance d'un certificat de travail conforme aux exigences du CO, conclusion déjà été admise en première instance.
2.1. En premier lieu, la recourante persiste à soutenir que les motifs avancés par l'employeuse pour justifier son licenciement n'étaient que prétextes, les véritables raisons résidant dans les plaintes qu'elle avait adressées à sa hiérarchie à l'encontre de sa supérieure directe; la résiliation de son contrat de travail revêtirait dès lors un caractère abusif.
2.1.1. Examinant les motifs de résiliation invoqués de part et d'autre, la cour cantonale a considéré, par appréciation des preuves, que les motifs invoqués par l'employeuse, à savoir les retards récurrents dans le travail et l'insatisfaction du principal client, étaient réels. En effet, l'insatisfaction de certains clients, de même que le retard chronique de l'intéressée dans la gestion de ses dossiers, "ressortai[en]t à tout le moins de l'ensemble du dossier".
2.1.2. Le motif réel d'une résiliation relève du fait (ATF 136 III 513 consid. 2.3 p. 515; 131 III 535 consid. 4.3 p. 540; 130 III 699 consid. 4.1 p. 702), que le Tribunal fédéral ne revoit que sous l'angle de l'arbitraire.
La recourante ne formule de grief recevable qu'à l'égard de points bien spécifiques des faits retenus. Pour le surplus, elle présente son propre état de fait qu'elle oppose à celui retenu par la cour cantonale, ce qui n'est pas conforme aux exigences de motivation en la matière (cf. consid. 1.3 supra). A suivre l'employée, l'un des plus gros clients de l'employeuse était A._ et un certain B._ représentait cette société, au même titre que les clients C._ et D._. C'est à cette personne ("le mandat B._") que l'employeuse se serait référée dans la lettre de licenciement, contrairement à ce que la cour cantonale aurait constaté. Or, entendu en qualité de témoin, B._ aurait déclaré ne pas avoir souvenir d'avoir rencontré de difficultés avec l'employée, contrairement aux dires de la supérieure hiérarchique de la recourante, J._, laquelle aurait indiqué au sujet de l'intéressé: " A part M. B._, je n'ai entendu personne se plaindre d'elle; je précise que 70% de son portefeuille concernait des immeubles des sociétés de M. B._."
Il n'importe d'éclaircir ce qu'il en est exactement de l'opinion du prénommé sur l'employée. En effet, il ressort des faits établis par la cour cantonale que la Fondation C._ s'est adressée à plusieurs reprises à la recourante et/ou à l'employeuse pour se plaindre du suivi lacunaire de dossiers, d'erreurs et de retards (courriels des 1er février 2011, 21 mars 2011 et 8 avril 2011). Son insatisfaction était pour le moins manifeste. Peu importe que cette fondation ne se soit pas exprimée par l'entremise de B._. Le 23 juin 2011, c'est E._, locataire de la même fondation, qui s'est plainte à cette dernière du comportement de la recourante à l'occasion de l'état des lieux d'entrée dans un appartement dégradé, voire insalubre. S'y ajoutent les plaintes formulées par F._, locataire, le 22 août 2011 et par G._, directeur de H._, le 16 janvier 2012, lesquelles parachèvent ce tableau déjà suffisamment révélateur. Au vu de ces éléments, il n'apparaît en rien arbitraire de retenir que certains clients n'étaient pas satisfaits des services de la recourante. Qu'il n'en aille pas ainsi de tous les clients n'y change rien.
Quant aux retards qu'elle avait accumulés dans ses dossiers, la recourante ne prétend pas que ce fait aurait été arbitrairement constaté. Tout au plus soutient-elle qu'elle n'était pas responsable des retards de son dernier assistant en date, I._; ce dernier aurait concédé "avoir été lent, commettre des erreurs et avoir été absent au début de 2012 pendant quatre semaines", ce qui aurait été arbitrairement passé sous silence.
A cet égard, il faut relever que la situation décrite n'a pas pris naissance avec l'engagement du prénommé; celui-ci n'est que l'un des cinq assistants qui se sont succédé au service de l'employée. A supposer qu'il fût effectivement lent et qu'il ait commis des erreurs, ceci ne permettrait pas encore à la recourante de prétendre qu'elle n'était, elle-même, à l'origine d'aucun retard. Certes, elle conteste le qualificatif de "pointilleuse" retenu par la cour cantonale et, partant, la corrélation établie entre ce trait de caractère et l'accumulation du retard. Cela étant, la recourante échoue à démontrer le caractère arbitraire de cette constatation de fait. Si son assistant I._ a pu déclarer qu'elle "était pointilleuse mais pas à l'excès", comme elle l'avance, il n'en demeure pas moins - et elle ne le conteste pas - qu'elle faisait refaire à ses assistants des courriers qu'elle avait à coeur de corriger plusieurs fois, les surveillait et contrôlait tout de manière générale. Ceci justifie sans doute le qualificatif contesté.
La recourante soutient également que le témoignage de sa supérieure hiérarchique directe, J._, aurait été méconnu de manière arbitraire. Cette dernière aurait déclaré à son sujet: "il faut tempérer cette réponse en tenant compte du retard hérité qui faisait que, tout compte fait, elle était un peu plus chargée que les autres".
Cette réflexion laisse intact le fait, constaté dans l'arrêt cantonal et au demeurant incontesté, qu'il a été donné l'occasion à l'employée de transférer des dossiers à d'autres gérants et qu'elle ne s'en est pas saisie. Elle n'est dès lors pas déterminante.
En conclusion, la recourante ne parvient pas à démontrer le caractère manifestement inexact de la constatation selon laquelle les motifs allégués par l'employeuse pour justifier le licenciement étaient bien réels. C'est à bon droit que la cour cantonale a déduit de cette prémisse que le congé, notifié pour lesdits motifs, n'était pas abusif.
2.2. Le second volet du recours porte sur la non-indemnisation des heures supplémentaires alléguées par l'employée.
2.2.1. Sur ce point, l'autorité précédente a établi les faits suivants, qui lient le Tribunal fédéral sauf arbitraire. L'employée a bien effectué des heures supplémentaires, lesquelles n'ont pas été sollicitées par l'employeuse, mais ont été accomplies au vu et au su de celle-ci, qui "avait suffisamment d'indices pour constater que le temps de travail convenu de 42 heures ne suffisait pas à accomplir les tâches confiées". Seule une partie des heures supplémentaires alléguées était nécessaire à l'entreprise; en effet, la recourante avait le profil de l'employé soucieux et méticuleux et, dans une certaine mesure, les heures de travail supplémentaires effectuées n'étaient pas indispensables.
La cour cantonale s'est dispensée toutefois d'établir le nombre d'heures supplémentaires accomplies par la recourante et combien d'entre elles étaient réellement nécessaires à l'employeuse. En effet, sur la base de ces éléments de fait, elle a estimé que, si l'employée n'avait pas à annoncer lesdites heures supplémentaires dans la première période de salaire, elle ne pouvait pas attendre aussi longtemps, soit la fin des rapports de travail, pour faire valoir plus de 7'000 heures de travail supplémentaires effectuées depuis 2007. Partant, elle a rejeté la prétention en paiement desdites heures supplémentaires.
2.2.2. Il faut distinguer la tardiveté de l'annonce par le travailleur qu'il a effectué des heures de travail supplémentaires de la tardiveté de la demande d'indemnisation de ces mêmes heures. C'est de toute évidence l'annonce-même des heures supplémentaires par l'employée qui pose problème dans le cas présent.
Si le travailleur tarde à annoncer les heures supplémentaires et accepte sans réserve le paiement de son salaire afférent à la période concernée, il risque d'être déchu du droit de réclamer ultérieurement le paiement de ces heures supplémentaires. Le devoir du travailleur d'annoncer à son employeur les heures de travail supplémentaires effectuées doit permettre à celui-ci de prendre les mesures organisationnelles pour éviter des heures supplémentaires à l'avenir; il doit également lui permettre d'approuver un tel travail (ATF 129 III 171 consid. 2.2 p. 174; 86 II 155 consid. 2 p. 157).
Si l'employeur n'a pas connaissance de la nécessité d'effectuer des heures supplémentaires et si, compte tenu des circonstances, il n'a pas non plus de raison de le savoir, l'acceptation sans réserve du salaire habituel par le travailleur peut se comprendre comme la renonciation à l'indemnisation des heures supplémentaires effectuées. On ne saurait toutefois reconnaître à l'employeur un intérêt à être informé immédiatement lorsque, selon les circonstances, il possède suffisamment d'éléments pour savoir d'emblée que la durée de travail convenue ne suffit pas à l'employé pour accomplir les tâches qui lui ont été confiées. Dans les cas où il doit admettre, au moins sur le principe, que des heures supplémentaires au sens de l'art. 321c CO sont nécessaires, l'employeur peut s'organiser en conséquence et on peut attendre de lui qu'il se renseigne dans la mesure où il désire connaître le nombre d'heures supplémentaires accomplies. Ainsi, si l'employé peut partir de l'idée que l'employeur est conscient de la nécessité d'exécuter des heures supplémentaires, il n'a pas obligatoirement à en indiquer la quotité lors de la première période de salaire. Dans une telle situation, le travailleur est autorisé à attendre, pour chiffrer ses heures supplémentaires, de savoir si et dans quelles proportions il aura besoin, à long terme, de plus de temps pour accomplir les tâches qui lui ont été confiées. Cela vaut en particulier lorsque la possibilité de compenser les heures supplémentaires dans le temps ou par des loisirs a été convenue (ATF 129 III 171 consid. 2.3 p. 175).
2.2.3. En l'espèce, comme la cour cantonale l'a retenu en fait, l'employeuse connaissait la nécessité d'effectuer un certain nombre d'heures supplémentaires. L'employée n'en était pas pour autant libérée de son devoir d'annonce, que l'employeuse avait souligné du reste dans le règlement de travail applicable aux trois fonctions successivement occupées par la recourante. Tout au plus doit-on considérer que cette obligation d'annonce n'était pas immédiate. L'employée pouvait ainsi attendre de savoir si et dans quelles proportions elle aurait besoin, à long terme, de plus de temps pour accomplir les tâches qui lui avaient été confiées. Cela étant, il est bien clair qu'elle ne pouvait attendre sept ans pour une telle annonce, après avoir accepté chaque mois, durant cette longue période, le paiement de son salaire sans jamais faire état des heures supplémentaires exécutées. Dans une telle configuration et tenant compte également de la liberté dont l'employée bénéficiait dans l'organisation de son temps de travail, qui lui permettait de procéder à une compensation de ses heures supplémentaires par du temps libre, la prétention litigieuse apparaît abusive.
2.2.4. La recourante se défend d'avoir exécuté des heures supplémentaires qui n'étaient pas nécessaires à la sauvegarde des intérêts légitimes de l'entreprise; elle prétend également avoir été empêchée d'apporter la preuve des heures supplémentaires effectuées en raison de l'absence de système d'enregistrement du temps de travail et de la destruction de données informatiques par l'employeuse. Ce dernier point ne résulte pas des faits retenus par la cour cantonale; il n'en sera donc pas tenu compte. Quant à la carence dont la recourante se plaint, elle demeure sans incidence: dès lors que la recourante n'a pas annoncé ses heures supplémentaires en temps utile, il n'importe en effet de déterminer leur nombre exact. Cette même considération scelle le sort du grief relatif au caractère nécessaire desdites heures supplémentaires.
2.2.5. Partant, c'est également à bon droit que la cour cantonale a rejeté les prétentions de la recourante en rétribution d'heures supplémentaires.
3.
Sur le vu de ce qui précède, le recours doit être rejeté dans la mesure où il est recevable.
En conséquence, la recourante prendra à sa charge les frais judiciaires (art. 66 al. 1 LTF), mais n'aura pas à verser de dépens à l'intimée, qui n'a pas été invitée à se déterminer.
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 à 7'000 fr., sont mis à la charge de la recourante.
3.
Le présent arrêt est communiqué aux mandataires des parties et à la Cour d'appel civile du Tribunal cantonal du canton de Vaud.
Lausanne, le 28 février 2019
Au nom de la Ire Cour de droit civil
du Tribunal fédéral suisse
La Présidente : Kiss
La Greffière : Godat Zimmermann