Faits:
Faits:
A. Le 1er juin 2000, X._ SA a engagé A._ en qualité de graphiste pour un salaire mensuel brut de 4'500 fr. Vu l'investissement réalisé pour ce poste, l'employée s'est engagée à travailler pendant une période minimale de deux ans. Dès le 1er février 2001, A._ a assumé la gestion du stock à raison de 60% de son temps de travail, tout en poursuivant son activité de graphiste pour le 40% restant. Son salaire mensuel brut a été porté à 6'000 fr.; en outre, l'employée avait droit à une prime de performance annuelle.
Le 10 mai 2001, lors d'un entretien avec son employeur, A._ s'est plainte de la surcharge engendrée par son double cahier des charges et a demandé à n'occuper à nouveau que son emploi de graphiste.
L'employée s'est trouvée en incapacité de travail totale à partir du 19 juin 2001 pour une durée estimée alors à trois semaines. Accédant aux demandes réitérées de son employeur, elle est néanmoins revenue sur son lieu de travail les 25 et 26 juin 2001 afin de former le nouveau gestionnaire de stock. A._ a alors rappelé par écrit à son employeur qu'elle se trouvait en arrêt maladie et qu'elle ne reviendrait travailler qu'une fois rétablie; elle s'est plainte également des conditions de travail et du comportement de B._, directeur de la société. Par télécopie du 27 juin 2001, X._ SA a reproché à son employée son incompétence, en particulier le non-respect de son cahier des charges et des échéances fixées, ainsi que des arrivées tardives systématiques et une mauvaise gestion du stock. Le 29 juin 2001, l'employeur a confirmé à A._ qu'elle reprendrait son poste initial de graphiste dès le 1er juillet 2001, avec une rémunération mensuelle de 5'300 fr., assortie d'un bonus de performance.
Comme le nouveau gestionnaire de stock ne parvenait pas à assumer ses tâches, l'employeur a demandé à sa collaboratrice, le 16 juillet 2001, de s'occuper à nouveau de la gestion du stock jusqu'à l'engagement d'un autre employé. A._ a accepté cette proposition. Toujours le 16 juillet 2001, elle a réclamé son salaire de juin 2001.
Le 23 juillet 2001, l'employée a repris le travail. A la même époque, le salaire de juin a été versé.
Le 24 juillet 2001, X._ SA a reproché à la travailleuse de ne pas observer les horaires du bureau. Par courrier du 31 juillet 2001, l'employeur a réitéré ses griefs à propos des arrivées tardives de sa collaboratrice et du retard accumulé dans l'accomplissement de certaines tâches; il l'a menacée d'un licenciement immédiat.
Le 7 août 2001, A._ a mis X._ SA en demeure de lui verser son salaire de juillet par 6'000 fr., correspondant au montant prévu pour les postes de gestionnaire de stock et de graphiste; elle réclamait également le paiement du bonus.
Le même jour, l'employeur a résilié le contrat de travail avec effet immédiat. Se référant à une série d'avertissements écrits et verbaux, il reprochait à A._ de graves violations de ses obligations contractuelles, notamment des arrivées tardives ainsi que des refus d'exécuter les travaux urgents et d'obéir aux instructions.
Le même jour, l'employeur a résilié le contrat de travail avec effet immédiat. Se référant à une série d'avertissements écrits et verbaux, il reprochait à A._ de graves violations de ses obligations contractuelles, notamment des arrivées tardives ainsi que des refus d'exécuter les travaux urgents et d'obéir aux instructions.
B. Le 4 octobre 2001, A._ a assigné X._ SA en paiement de 61'977 fr. plus intérêts. En cours de procédure, elle a amplifié ses conclusions et réclamé un montant de 126'271 fr.40, qui se décomposait comme suit:
- 13'048 fr.20 à titre d'heures supplémentaires;
- 2'025 fr. à titre de solde de salaire pour juillet 2001;
- 6'000 fr. à titre de salaire pour août 2001;
- 58'498 fr.20 à titre de salaire de septembre 2001 à mai 2002;
- 12'000 fr. à titre de bonus;
- 4'700 fr. à titre de vacances non prises;
- 12'000 fr. à titre d'indemnité pour licenciement abusif;
- 18'000 fr. à titre d'indemnité pour tort moral.
Par la suite, A._ a réduit ses prétentions à 122'365 fr.80 pour tenir compte d'un versement de l'employeur de 3'905 fr.60.
La Caisse Cantonale Genevoise de Chômage (CCGC) est intervenue dans la procédure et a fait valoir sa subrogation envers l'employeur à concurrence de la somme totale de 26'725 fr.45 avec intérêts.
Estimant que le licenciement immédiat de la demanderesse était fondé sur de justes motifs, X._ SA a conclu au rejet des conclusions de ses parties adverses.
Par jugement du 22 mai 2002 notifié le 3 mars 2003, le Tribunal de la juridiction des prud'hommes du canton de Genève a condamné l'employeur à payer à son ancienne collaboratrice la somme brute de 74'733 fr.75 avec intérêts à 5% dès le 8 août 2001, sous déduction du montant de 18'898 fr.05, ainsi que la somme nette de 12'000 fr. avec intérêts à 5% dès le 8 août 2001. Les juges de première instance ont condamné par ailleurs X._ SA à verser à la CCGC la somme nette de 18'895 fr.05, plus intérêts à 5% dès le 13 décembre 2001.
Statuant le 26 février 2004 sur appels de la défenderesse et de l'intervenante et appel incident de la demanderesse, la Cour d'appel de la juridiction des prud'hommes du canton de Genève a annulé la décision de première instance. Considérant, comme les premiers juges, que le licenciement immédiat était dénué de justes motifs, elle a condamné X._ SA à payer à A._ la somme brute de 77'595 fr.25, sous déduction de 26'725 fr.45, avec intérêts à 5% dès le 8 août 2001; le montant de 77'595 fr.25 se décompose en 61'050 fr.30 à titre de salaire jusqu'au 31 mai 2002, terme du contrat de deux ans, 8'250 fr. pour les bonus 2000 et 2001 et 8'294 fr.95 à titre d'indemnité pour les vacances non prises. La cour cantonale a accordé en outre à l'employée la somme nette de 12'000 fr., avec intérêts à 5% dès le 8 août 2001, à titre d'indemnité pour licenciement abusif. Enfin, elle a entièrement fait droit aux conclusions en paiement de la CCGC par 26'725 fr.45, plus intérêts à 5% dès le 13 décembre 2001.
Statuant le 26 février 2004 sur appels de la défenderesse et de l'intervenante et appel incident de la demanderesse, la Cour d'appel de la juridiction des prud'hommes du canton de Genève a annulé la décision de première instance. Considérant, comme les premiers juges, que le licenciement immédiat était dénué de justes motifs, elle a condamné X._ SA à payer à A._ la somme brute de 77'595 fr.25, sous déduction de 26'725 fr.45, avec intérêts à 5% dès le 8 août 2001; le montant de 77'595 fr.25 se décompose en 61'050 fr.30 à titre de salaire jusqu'au 31 mai 2002, terme du contrat de deux ans, 8'250 fr. pour les bonus 2000 et 2001 et 8'294 fr.95 à titre d'indemnité pour les vacances non prises. La cour cantonale a accordé en outre à l'employée la somme nette de 12'000 fr., avec intérêts à 5% dès le 8 août 2001, à titre d'indemnité pour licenciement abusif. Enfin, elle a entièrement fait droit aux conclusions en paiement de la CCGC par 26'725 fr.45, plus intérêts à 5% dès le 13 décembre 2001.
C. X._ SA interjette un recours en réforme. Elle conclut à la réforme de l'arrêt cantonal en ce sens que les demandes en paiement de A._ et de la CCGC sont rejetées.
La demanderesse n'a pas déposé de réponse.
L'intervenante propose de confirmer la décision attaquée.
Par arrêt de ce jour, la cour de céans a rejeté le recours de droit public formé parallèlement par X._ SA.

Le Tribunal fédéral considère en droit:
Le Tribunal fédéral considère en droit:
1. 1.1 Interjeté par la partie qui a succombé dans ses conclusions libératoires, et dirigé contre un jugement final rendu en dernière instance cantonale par un tribunal supérieur (art. 48 al. 1 OJ) sur une contestation civile dont la valeur litigieuse atteint le seuil de 8'000 fr. (art. 46 OJ), le recours en réforme est en principe recevable, puisqu'il a été déposé en temps utile (art. 54 al. 1 OJ) et dans les formes requises (art. 55 OJ).
1.2 Le recours en réforme est ouvert pour violation du droit fédéral, mais non pour violation d'un droit de rang constitutionnel (art. 43 al. 1 OJ), ni pour violation du droit cantonal (<ref-ruling> consid. 2c).
Saisi d'un tel recours, le Tribunal fédéral conduit son raisonnement juridique sur la base des faits contenus dans la décision attaquée, à moins que des dispositions fédérales en matière de preuve n'aient été violées, qu'il faille rectifier des constatations reposant sur une inadvertance manifeste (art. 63 al. 2 OJ) ou compléter les constatations de l'autorité cantonale parce que celle-ci n'a pas tenu compte de faits pertinents, régulièrement allégués et clairement établis (art. 64 OJ; <ref-ruling> consid. 2.2. p. 106, 136 consid. 1.4. p. 140; <ref-ruling> consid. 2c).
Dans la mesure où la partie recourante présente un état de fait qui s'écarte de celui contenu dans la décision attaquée, sans se prévaloir avec précision de l'une des exceptions qui viennent d'être rappelées, il n'est pas possible d'en tenir compte (<ref-ruling> consid. 2c). Il ne peut être présenté de griefs contre les constatations de fait, ni de faits ou de moyens de preuve nouveaux (art. 55 al. 1 let. c OJ). Le recours en réforme n'est donc pas ouvert pour remettre en cause l'appréciation des preuves et les constatations de fait qui en découlent (<ref-ruling> consid. 1.4 p. 140; <ref-ruling> consid. 2b/aa p. 277; <ref-ruling> consid. 2c p. 252; <ref-ruling> consid. 2a).
Au surplus, la juridiction de réforme ne peut aller au-delà des conclusions des parties; en revanche, elle n'est liée ni par les motifs développés par les parties (art. 63 al. 1 OJ; <ref-ruling> consid. 3.2.2 p. 415), ni par l'argumentation juridique suivie par la cour cantonale (art. 63 al. 3 OJ; <ref-ruling> consid. 1.4 p. 140; <ref-ruling> consid. 2e/cc; <ref-ruling> consid. 2c; <ref-ruling> consid. 2a).
Au surplus, la juridiction de réforme ne peut aller au-delà des conclusions des parties; en revanche, elle n'est liée ni par les motifs développés par les parties (art. 63 al. 1 OJ; <ref-ruling> consid. 3.2.2 p. 415), ni par l'argumentation juridique suivie par la cour cantonale (art. 63 al. 3 OJ; <ref-ruling> consid. 1.4 p. 140; <ref-ruling> consid. 2e/cc; <ref-ruling> consid. 2c; <ref-ruling> consid. 2a).
2. La défenderesse reproche à la cour cantonale d'avoir violé l'<ref-law>. En particulier, les juges genevois auraient dû reconnaître comme juste motif de renvoi immédiat de la demanderesse la qualité médiocre de son travail en tant que gestionnaire du stock. Cette activité devait en effet être effectuée au jour le jour et correctement, une mauvaise gestion pouvant «même mettre en péril l'entreprise»; la tenue du stock était importante afin de pouvoir établir les bilans pour les banques et, en cas de vol, pour l'indemnisation par les assurances.
2.1 Selon l'<ref-law>, l'employeur et le travailleur peuvent résilier immédiatement le contrat en tout temps pour de justes motifs. Sont notamment considérées comme tels toutes les circonstances qui, selon les règles de la bonne foi, ne permettent pas d'exiger de celui qui a donné le congé la continuation des rapports de travail (cf. <ref-law>).
Mesure exceptionnelle, la résiliation immédiate pour justes motifs doit être admise de manière restrictive (<ref-ruling> consid. 4.1 p. 31; <ref-ruling> consid. 4a et les références citées). D'après la jurisprudence, les faits invoqués à l'appui d'un renvoi immédiat doivent avoir entraîné la perte du rapport de confiance qui constitue le fondement du contrat de travail. Seul un manquement particulièrement grave du travailleur justifie son licenciement immédiat; si le manquement est moins grave, il ne peut entraîner une résiliation immédiate que s'il a été répété malgré un avertissement (<ref-ruling> consid. 3.1 p. 220/221, 28 consid. 4.1 p. 31; <ref-ruling> consid. 2.1). Par manquement du travailleur, on entend en règle générale la violation d'une obligation découlant du contrat de travail, comme l'obligation d'exécuter le travail ou le devoir de fidélité (ATF <ref-ruling> consid. 4a p. 354 et les arrêts cités), mais d'autres facteurs peuvent aussi justifier un licenciement immédiat (cf. <ref-ruling> consid. 2.2). En principe, des prestations de travail mauvaises ne constituent pas un juste motif de résiliation immédiate du contrat de travail (arrêt 4C.249/2003 du 23 décembre 2003, consid. 3.1; arrêt 4C.329/1998 du 23 décembre 1998, consid. 2b, reproduit in JAR 1999, p. 271). Dans ce domaine, il convient de tenir compte de toutes les circonstances du cas concret, en particulier de la nature de l'activité promise. Selon une jurisprudence déjà ancienne, l'incapacité professionnelle n'est un motif de renvoi abrupt que si le travailleur ne satisfait pas les exigences minimales que l'employeur est en droit d'attendre de tout collaborateur pour un poste du même genre et qu'une amélioration est improbable (<ref-ruling> consid. 2a p. 145/146). La mauvaise exécution ou l'insuffisance du travail pourra également justifier un licenciement immédiat si elle résulte d'un manquement grave et délibéré du travailleur (cf. <ref-ruling> consid. 2; arrêt précité du 23 décembre 2003, consid. 3.1; arrêt précité du 23 décembre 1998, consid. 2b; arrêt 4C.115/1993 du 2 septembre 1993, consid. 2c, reproduit in SJ 1995, p. 806).
Le juge apprécie librement s'il existe de justes motifs (<ref-law>). Il applique les règles du droit et de l'équité (<ref-law>). A cet effet, il prendra en considération tous les éléments du cas particulier, notamment la position et la responsabilité du travailleur, le type et la durée des rapports contractuels, ainsi que la nature et l'importance des manquements (ATF <ref-ruling> consid. 4a p. 354; <ref-ruling> consid. 6a p. 150). Le Tribunal fédéral revoit avec réserve la décision d'équité prise en dernière instance cantonale. Il intervient lorsque celle-ci s'écarte sans raison des règles établies par la doctrine et la jurisprudence en matière de libre appréciation, ou lorsqu'elle s'appuie sur des faits qui, dans le cas particulier, ne devaient jouer aucun rôle, ou à l'inverse, lorsqu'elle n'a pas tenu compte d'éléments qui auraient absolument dû être pris en considération; il sanctionnera en outre les décisions rendues en vertu d'un pouvoir d'appréciation lorsqu'elles aboutissent à un résultat manifestement injuste ou à une iniquité choquante (<ref-ruling> consid. 3.1 p. 220, 28 consid. 4.1 p. 32; <ref-ruling> consid. 2 p. 382; <ref-ruling> consid. 1a p. 155, 351 consid. 4a p. 354).
Eu égard à la diversité des situations envisageables, le Tribunal fédéral a refusé par ailleurs de poser des règles rigides sur le nombre et le contenu des avertissements qui doivent précéder un licenciement immédiat, lorsque le manquement imputable au travailleur n'est pas assez grave pour justifier une telle mesure sans avertissement. Il a rappelé que ce n'est pas l'avertissement en soi, fût-il assorti d'une menace de résiliation immédiate, qui justifie un tel licenciement, mais bien le fait que l'attitude du travailleur ne permet pas, selon les règles de la bonne foi, d'exiger de l'employeur la continuation des rapports de travail jusqu'à l'expiration du délai de congé. Ce comportement pourra certes résulter de la réitération d'actes contraires aux obligations contractuelles, mais savoir s'il y a gravité suffisante à cet égard restera toujours une question d'appréciation (ATF <ref-ruling> consid. 1c p. 157/158).
2.2 Selon l'arrêt attaqué, la qualité insatisfaisante du travail fourni par la demanderesse en tant que gestionnaire de stock ne permettait pas de justifier un renvoi immédiat, ce d'autant moins que l'employée avait rapidement demandé à reprendre son travail de graphiste à plein temps, tout en acceptant ensuite de répondre favorablement à la requête de son employeur d'assumer la gestion du stock à titre provisoire jusqu'à l'engagement d'une personne compétente. Quant aux arrivées tardives, elles n'impliquaient pas la rupture du lien de confiance, étant précisé que la collaboratrice réduisait sa pause de midi et que l'employeur avait toléré cette pratique pendant de nombreux mois.
La cour cantonale a relevé en outre que les reproches sur la ponctualité et la qualité du travail articulés dans le seul avertissement contenant la menace d'un licenciement immédiat ne pouvaient être considérés comme de justes motifs au sens de l'<ref-law>, de sorte que cette mise en garde ne pouvait légitimer un licenciement immédiat.
Enfin, selon les juges genevois, la coïncidence chronologique entre la réclamation de l'employée au sujet de son salaire en souffrance et le licenciement immédiat laisse supposer que c'est bien la revendication de la demanderesse qui a conduit à la résiliation sans délai des rapports de travail.
2.3 Sur ce dernier point, on peut se demander si la cour cantonale n'a pas constaté que le motif réel du licenciement résidait dans la réclamation de la demanderesse à propos du versement de son salaire. Comme le motif de la résiliation relève du fait (<ref-ruling> consid. 2a p. 88) et que la revendication de l'employée ne constituait manifestement pas un juste motif de licenciement immédiat, la cour cantonale ne saurait, dans cette hypothèse, avoir violé le droit fédéral en admettant le caractère injustifié de la résiliation du 7 août 2001. La question peut néanmoins rester ouverte dès l'instant où les griefs dirigés contre les autres considérants de l'arrêt attaqué sont de toute manière mal fondés.
Les faits établis dans la procédure démontrent que les divers manquements reprochés à la demanderesse par son employeur ne revêtent pas la gravité particulière permettant de justifier un licenciement immédiat. Conformément à la jurisprudence rappelée ci-dessus, tel n'est en particulier pas le cas d'une certaine insuffisance dans les prestations professionnelles, qui est d'ailleurs relativisée en l'espèce. En effet, la collaboratrice a donné toute satisfaction en qualité de graphiste tandis que le passage au poste de gestionnaire de stock, qu'elle assumait à 60%, puis provisoirement à 100%, n'a répondu aux attentes ni de l'employeur, ni de l'employée. Cette dernière a d'ailleurs demandé à être déchargée de cette responsabilité après une période d'un peu plus de trois mois, ce que l'employeur a accepté non sans lui confier à nouveau ce travail, dans l'attente de l'engagement d'un collaborateur apte à assumer cette tâche. Si la défenderesse a recouru à ce système, c'est qu'elle a estimé que, mêmes imparfaites, les prestations de sa collaboratrice pouvaient provisoirement être utilisées, avec l'inconvénient d'une certaine inefficacité, mais sans que le lien de confiance ne soit rompu à proprement parler. A cet égard, il convient de rappeler que, même pendant son congé maladie de plusieurs semaines, la demanderesse a été invitée par l'employeur à revenir sur son lieu de travail pendant deux jours pour former un nouvel employé aux tâches de gestionnaire de stock.
Il ressort de l'état de fait cantonal que l'employeur a adressé par écrit à sa collaboratrice à deux ou trois reprises des reproches concernant des arrivées tardives et l'insuffisance de ses prestations professionnelles en matière de gestion de stock; seul l'avertissement du 31 juillet 2001 contenait la menace d'un licenciement immédiat. Certes, un avertissement précédant un licenciement immédiat ne doit pas nécessairement comporter la menace d'une telle mesure (<ref-ruling> consid. 3b p. 562; <ref-ruling> consid. 6a p. 150). Il n'en demeure pas moins que, même si l'on admet que la demanderesse a reçu trois mises en garde en bonne et due forme, un licenciement immédiat n'était pas justifié, dès lors que les griefs adressés à l'employée n'étaient pas propres à rompre le rapport de confiance entre parties dans les circonstances de l'espèce. En effet, les reproches concernant la qualité du travail ne concernaient que l'activité de gestion du stock, que la demanderesse était appelée à abandonner sous peu puisque l'employeur avait accepté qu'elle reprenne son poste de graphiste. Quant aux arrivées tardives, il apparaît qu'elles étaient compensées, en tout cas en partie, par une réduction de la pause de midi et que l'employeur s'en était accommodé pendant de nombreux mois.
Dans ces conditions, la cour cantonale n'a pas excédé le large pouvoir d'appréciation que les <ref-law> et 4 CC lui reconnaissent en jugeant que le licenciement immédiat du 7 août 2001 était dénué de justes motifs. Le moyen tiré de la violation de l'<ref-law> étant mal fondé, le recours sera rejeté.
Dans ces conditions, la cour cantonale n'a pas excédé le large pouvoir d'appréciation que les <ref-law> et 4 CC lui reconnaissent en jugeant que le licenciement immédiat du 7 août 2001 était dénué de justes motifs. Le moyen tiré de la violation de l'<ref-law> étant mal fondé, le recours sera rejeté.
3. Comme la valeur litigieuse est supérieure à 30'000 fr., il convient de percevoir des frais judiciaires (art. 343 al. 2 et 3 CO), qui seront mis à la charge de la défenderesse conformément à l'issue de la procédure (art. 156 al. 1 OJ). N'ayant pas déposé de réponse au recours, la demanderesse n'a pas droit à des dépens. Il en va de même pour l'intervenante, qui n'est pas représentée par un avocat et n'a pas fait état de débours (art. 159 al. 2 OJ; art. 1 al. 2 et art. 2 du tarif pour les dépens alloués à la partie adverse dans les causes portées devant le Tribunal fédéral [RS 173.119.1]).

Par ces motifs, le Tribunal fédéral prononce:
Par ces motifs, le Tribunal fédéral prononce:
1. Le recours est rejeté.
1. Le recours est rejeté.
2. Un émolument judiciaire de 5'000 fr. est mis à la charge de la défenderesse.
2. Un émolument judiciaire de 5'000 fr. est mis à la charge de la défenderesse.
3. Le présent arrêt est communiqué en copie aux parties et à la Cour d'appel de la juridiction des prud'hommes du canton de Genève.
Lausanne, le 16 août 2004
Au nom de la Ire Cour civile
du Tribunal fédéral suisse
La Juge présidant: La Greffière: