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, X._ SA 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 forme un recours de droit public; elle conclut à l'annulation de l'arrêt attaqué. A._ et la CCGC proposent toutes deux la confirmation de l'arrêt attaqué. Invitée à se déterminer, la cour cantonale se réfère aux considérants de sa décision. Parallèlement, X._ SA a interjeté un recours en réforme contre le même arrêt.