Faits:
A. X._, agent immobilier, détenait la totalité du capital-actions de la société immobilière W._ SA (ci-après: la SI), qui avait pour seul actif un immeuble sis à O._. La SI avait remis à bail les bâtiments à X._ pour un loyer annuel de 240'000 fr. Le locataire payait les charges, en particulier hypothécaires, en déduction du loyer. L'immeuble comptait une trentaine d'appartements meublés. Propriétaire du mobilier, X._ exploitait l'immeuble sous l'enseigne «Résidence Z._».
X._ est décédé le 6 janvier 2000. Me Benoît Guinand, avocat, a été nommé administrateur d'office de la succession.
Le 5 décembre 2000, la succession de X._ (ci-après: la succession) a vendu à Y._ SA (ci-après: Y._) le capital-actions de la SI ainsi que le mobilier garnissant les appartements. Une valeur brute de 3'250'000 fr. a été attribuée à l'immeuble, montant dont il fallait déduire les prêts hypothécaires et une commission de courtage de 109'000 fr.; le prix du mobilier a été fixé à 50'000 fr. Selon le contrat, «l'acheteur assumera seul les profits et charges découlant de sa qualité d'actionnaire de la SI depuis le 1er janvier 2001»; il est précisé que les charges de la SI, dont les impôts pour l'année 2000, incomberont au vendeur jusqu'au 31 décembre 2000. Par ailleurs, Y._ s'est engagée à reprendre les baux du seul locataire de l'immeuble, A._, et à signer des contrats de travail, aux mêmes conditions que précédemment, avec B._, gouvernante de la résidence, et C._, «homme à tout faire» de la résidence. Elle a accepté également de laisser à l'agence immobilière X._ (ci-après: l'agence), jusqu'au 31 mars 2001, l'usage des locaux qu'elle occupait dans la résidence, moyennant une indemnité de 3'000 fr.
Par lettre du 21 décembre 2000 à l'en-tête de l'agence, l'administrateur de la succession a fait savoir à B._ que son salaire mensuel passerait de 4'105 fr. à 4'310 fr. à partir du 1er janvier 2001 et que le «bureau de Monsieur X._ terminera[it] son activité de manière définitive le 31 mars 2001».
En janvier 2001, le notaire a transféré à la succession le solde qui lui revenait après remboursement des prêts hypothécaires et versement de la commission de courtage, soit 1'452'220 fr.50.
Par courrier du 19 janvier 2001, l'administrateur de la succession a proposé à D._, administrateur-président de Y._, de régler ensemble les détails de la reprise des activités de la résidence, expliquant que de nombreux intéressés se manifestaient auprès de l'agence.
Après un entretien téléphonique, l'administrateur de la succession a écrit à D._ le 26 janvier 2001, en particulier pour l'informer du nombre de plus en plus important d'appels de personnes cherchant à louer un appartement et pour lui demander ce qu'il fallait faire des récentes factures relatives à la publicité pour la résidence parue dans la revue de l'Office du Tourisme de Genève. Cette lettre est restée sans réponse.
Le 6 mars 2001, Me Guinand a relancé D._ au sujet des appels de locataires potentiels qui continuaient de parvenir à l'agence.
Y._ a confié la gestion de l'immeuble à une régie à partir du 1er avril 2001. Le 2 avril 2001, B._ a remis les clés de la résidence à D._.
Le 20 avril 2001, l'administrateur de la succession a fait observer à D._ que B._ et C._ n'avaient pas encore reçu leurs nouveaux contrats de travail.
Le 4 octobre 2001, D._ a réclamé à l'administrateur de la succession, entre autres, le «décompte acheteur-vendeur» et le versement de l'indemnité prévue pour l'occupation d'un bureau par l'agence pendant trois mois.
Le 1er novembre 2001, Me Guinand a remis à D._ le «décompte acheteur-vendeur», qui fait apparaître en faveur de la succession un montant de 69'023 fr.50, soit 43'779 fr.50 à titre d'intérêts et frais hypothécaires au 31 décembre 2000 et 25'244 fr. à titre d'avances faites à la SI par la succession du 1er janvier au 31 mars 2001 après déduction des revenus locatifs dont l'indemnité de 3'000 fr. due pour l'occupation d'un bureau par l'agence (41'731 fr.40 - 16'487 fr.40).
Le montant de 41'731 fr.40 correspond aux frais suivants:
- facture Billag 1er trimestre 2001 108 fr.15
- facture parution annonces pour calandre 64 fr.80
- facture ramoneur 224 fr.90
- facture Office du Tourisme de Genève 376 fr.60
- salaires C._ janvier à mars 2001 12'243 fr.55
- salaires B._ janvier à mars 2001 13'489 fr.30
- factures surveillance résidence 6'746 fr.50
- facture coupe nids de chenille 300 fr.
- facture débouchage canalisations 2'008 fr.55
- frais payés par «petite caisse X._»
(achat matériel pour entretien résidence) 827 fr.55
- valeur mazout restant en citerne au 31 mars 2001 5'341 fr.50
Le 14 décembre 2001, Y._ a repris, avec effet au 1er décembre 2001, la totalité des actifs et des passifs de la SI et est devenue propriétaire de l'immeuble de O._. Le même jour, la SI a été dissoute et est entrée en liquidation; elle a été radiée du registre du commerce le 3 juin 2005.
Le montant de 69'023 fr.50 est resté impayé. Le 15 mars 2002, la succession a engagé des poursuites contre la SI et Y._. Les poursuivies ont formé opposition.
B. Le 2 mai 2003, la succession a ouvert action contre la SI et Y._, prises solidairement; elle concluait au paiement du montant de 69'023 fr.50 plus intérêts et à la mainlevée des oppositions.
La demanderesse a renoncé à ses conclusions contre la SI après que celle-ci a été radiée du registre du commerce.
Par jugement du 20 septembre 2007, le Tribunal de première instance du canton de Genève a condamné Y._ à payer à la succession le montant de 25'244 fr. plus intérêts et levé l'opposition à due concurrence. Il a ainsi admis la prétention de la succession concernant les avances, déduction faite des loyers, mais a rejeté la prétention liée aux intérêts et frais hypothécaires au 31 décembre 2000.
Statuant le 16 mai 2008 sur appel de Y._, la Chambre civile de la Cour de justice du canton de Genève a annulé le jugement de première instance et débouté la succession de ses conclusions. Il sera revenu dans la partie «en droit» sur la motivation de cet arrêt.
C. La succession forme un recours constitutionnel subsidiaire au Tribunal fédéral. Elle demande l'annulation de l'arrêt cantonal, la condamnation de Y._ à lui verser la somme de 21'389 fr.90 plus intérêts à 5 % dès le 21 mars 2002 et la mainlevée de l'opposition à concurrence de ce montant.
Y._ propose que le recours soit déclaré irrecevable ou rejeté.

Considérant en droit:
1. 1.1 Le recours est dirigé contre un jugement rendu en matière civile (<ref-law>). La valeur litigieuse de la cause, déterminée par les conclusions encore contestées devant l'autorité précédente (<ref-law>), n'atteint pas le minimum légal de 30'000 fr. prévu pour le recours ordinaire (<ref-law>) et aucun des cas de dispense (<ref-law>) n'est réalisé. Partant, seul le recours constitutionnel subsidiaire (<ref-law>) est ouvert en l'espèce; c'est d'ailleurs cette voie que la recourante a empruntée.
1.2 L'arrêt attaqué est une décision finale (art. 117 et 90 al. 1 LTF) rendue par une autorité cantonale de dernière instance (art. 114 et 75 LTF). La recourante a pris part à l'instance précédente et a succombé dans ses conclusions condamnatoires (<ref-law>). Déposé en temps utile (art. 117 et 100 al. 1 LTF) et dans les formes requises (art. 42 al. 1 à 3 LTF), le recours constitutionnel subsidiaire est en principe recevable.
1.3 Ce recours ne peut être exercé que pour violation des droits constitutionnels (<ref-law>). Le Tribunal fédéral n'examine que les griefs soulevés et motivés de façon détaillée par la partie recourante (art. 117 et 106 al. 2 LTF). L'auteur du recours doit indiquer quel droit constitutionnel aurait été violé et montrer, par une argumentation circonstanciée, en quoi consiste la violation (<ref-ruling> consid. 3.2 p. 444). Le Tribunal fédéral conduit son raisonnement juridique sur la base des faits établis par l'autorité précédente (<ref-law>). Il ne peut s'en écarter que si les faits ont été établis en violation d'un droit constitutionnel (art. 118 al. 2 et 116 LTF), ce que la partie recourante doit invoquer avec précision (art. 117 et 106 al. 2 LTF; <ref-ruling> consid. 3.2 p. 445). 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. 117 et 99 al. 1 LTF).
2. 2.1 La succession n'a pas interjeté appel. Sa prétention de 43'779 fr.50 en remboursement des intérêts et frais hypothécaires, rejetée par le juge de première instance, ne faisait donc plus partie du litige devant la cour cantonale.
Parmi les autres dépenses que la recourante a engagées du 1er janvier au 31 mars 2001 et dont elle demande le remboursement à l'intimée, l'arrêt attaqué distingue les paiements opérés en relation avec la cessation des activités de l'agence de ceux concernant l'immeuble et son entretien. Les premiers, effectués dans l'intérêt de la succession, relèvent de la gestion d'affaires imparfaite et ne doivent être remboursés qu'à concurrence de l'enrichissement de l'intimée (<ref-law>). Dans cette catégorie, la Chambre civile a rangé la facture de Billag, la facture pour les annonces relatives à une calandre, les salaires de B._ et C._ ainsi que les frais réglés par le biais de la «petite caisse»; sur le montant total de 26'733 fr.35, seuls les 827 fr.55 prélevés dans la «petite caisse» correspondent à un enrichissement de l'intimée et doivent par conséquent être mis à sa charge. La seconde sorte de paiements porte sur des dépenses qui ont été effectuées par la succession dans l'intérêt de l'intimée et que celle-ci doit donc rembourser à la recourante au titre de la gestion d'affaires parfaite (<ref-law>); la créance de la succession en remboursement de ces frais-là s'élève à 9'656 fr.55. La cour cantonale a rejeté par ailleurs la prétention de la recourante d'un montant de 5'341 fr.50, correspondant à la valeur du mazout qui restait dans la cuve le 31 mars 2001. En définitive, elle a jugé que la dette de l'intimée par 10'484 fr.10 (827 fr.55 + 9'656 fr.55) était entièrement compensée par ses créances liées, d'une part, à l'indemnité pour l'occupation provisoire des bureaux par l'agence (3'000 fr.) et, d'autre part, au remboursement des loyers versés par A._ et encaissés par la succession (12'000 fr.); l'intimée n'était ainsi redevable d'aucun montant envers la recourante.
2.2 Dans son recours, la succession ne critique pas le rejet de sa prétention relative à la valeur du mazout restant. Il n'y a donc pas lieu d'y revenir. Elle ne conteste pas non plus les créances de l'intimée à son égard pour un montant total de 15'000 fr.
Invoquant l'art. 9 Cst., la recourante reproche en revanche à la cour cantonale d'avoir arbitrairement inclus, dans les dépenses à la charge de la succession, les salaires de B._ (13'489 fr.30) et C._ (12'243 fr.55), les frais payés au moyen de la «petite caisse» (827 fr.55), la facture Billag (108 fr.15) et celle des annonces relatives à la calandre (64 fr.80). En ce qui concerne les salaires des employés de janvier à mars 2001, la recourante fait valoir que ces derniers travaillaient tous deux dans l'intérêt de la résidence et, partant, de l'intimée; de plus, celle-ci s'était engagée à signer avec les collaborateurs de nouveaux contrats de travail, aux mêmes conditions que précédemment. S'agissant de travaux utiles et nécessaires à l'entretien de la résidence, la cour cantonale aurait dû mettre leur rémunération à la charge de l'intimée; en considérant que ces dépenses avaient été faites dans l'intérêt de la succession, qui devait les assumer, les juges genevois auraient posé une déduction arbitraire, en contradiction claire avec les faits établis. La recourante calcule sa prétention ainsi: 9'656 fr.55 (frais admis par la cour cantonale) + 26'733 fr.35 (frais arbitrairement exclus) - 15'000 fr. (loyers) = 21'389 fr.90.
3. 3.1 Selon la jurisprudence, une décision est arbitraire au sens de l'art. 9 Cst. lorsqu'elle est manifestement insoutenable, méconnaît gravement une norme ou un principe juridique clair et indiscuté, ou encore heurte de manière choquante le sentiment de la justice et de l'équité. Il ne suffit pas que sa motivation soit insoutenable; encore faut-il que la décision apparaisse arbitraire dans son résultat. A cet égard, le Tribunal fédéral ne s'écarte de la solution retenue que si celle-ci apparaît insoutenable, en contradiction manifeste avec la situation effective, adoptée sans motif objectif et en violation d'un droit certain. Il n'y a pas arbitraire du seul fait qu'une autre solution paraît également concevable, voire même préférable (<ref-ruling> consid. 3.1 p. 153; <ref-ruling> consid. 2.1 p. 211; <ref-ruling> consid. 2, 217 consid. 2.1; <ref-ruling> consid. 2.1).
3.2 Tout d'abord, il convient de relever que, selon l'arrêt attaqué, l'intimée «s'est enrichie (...) des frais divers payés par la "Petite caisse" (827 fr.55)» et que, dans son décompte, la cour cantonale a mis cette dépense à la charge de l'intimée (consid. 6, 3ème §), et non de la succession, comme celle-ci le prétend à tort. Dans ces conditions, la critique de la recourante sur ce point tombe à faux.
3.3 Qu'elle soit parfaite ou imparfaite, la gestion d'affaires (<ref-law>) suppose toujours qu'une personne exécute, sans cause, un acte de gestion qui touche la sphère juridique d'autrui (PIERRE TERCIER, Les contrats spéciaux, 3e éd. 2003, p. 766 n° 5294; PIERRE ENGEL, Contrats de droit suisse, 2e éd. 2000, p. 568). Lorsqu'un tiers paie sans cause la dette du débiteur, celui-là peut faire valoir contre celui-ci des prétentions récursoires fondées sur la gestion d'affaires, sauf s'il entendait faire une libéralité au créancier (cf. <ref-ruling> consid. 4c p. 164).
Selon les constatations de la cour cantonale non remises en cause par la recourante, B._ et C._ ont été engagés par l'agence, donc par X._, et non par la SI, dont la personnalité est distincte de celle de son actionnaire unique. Au décès de X._, c'est la succession qui est devenue l'employeur des deux collaborateurs (<ref-law>). Elle a du reste bien agi à ce titre puisque, en décembre 2000, son administrateur a augmenté le salaire de B._. Par ailleurs, aucun élément de l'arrêt attaqué ne permet de retenir que la succession aurait résilié les contrats de travail pour une échéance antérieure au 31 mars 2001, ni que les nouveaux contrats censés être conclus avec l'intimée seraient entrés en vigueur avant cette date. A ce sujet, l'administrateur de la succession s'est précisément plaint, en avril 2001, du fait que les deux collaborateurs de la résidence n'avaient pas reçu leurs contrats de la part de l'intimée.
Il s'ensuit que la recourante a payé les salaires litigieux de janvier à mars 2001 en exécution des contrats de travail qui la liaient à B._ et à C._; en versant lesdites rémunérations, elle a réglé sa dette, et non celle d'autrui. Par conséquent, la succession n'a pas agi sans cause et n'est pas intervenue dans la sphère juridique de l'intimée. Faute d'avoir géré l'affaire d'autrui, elle ne saurait prétendre à un quelconque remboursement des montants versés aux deux collaborateurs, comme la cour cantonale l'a bien vu sans tomber dans l'arbitraire.
Cette conclusion scelle le sort du recours, lequel n'aurait pu être admis que s'il s'était révélé arbitraire dans son résultat (consid. 3.1 ci-dessus). En effet, les autres prétentions invoquées par la recourante, qui portent sur un montant total de 172 fr.95, ajoutées aux créances admises par la cour cantonale (10'484 fr.10), ne dépassent de toute manière pas le montant de 15'000 fr. que l'intimée peut faire valoir en compensation.
4. Comme le recours est rejeté, les frais de la procédure fédérale seront pris en charge par la recourante (<ref-law>), qui versera en outre des dépens à l'intimée (art. 68 al. 1 et 2 LTF).

Par ces motifs, le Tribunal fédéral prononce:
1. Le recours est rejeté.
2. Les frais judiciaires, arrêtés à 2'000 fr., sont mis à la charge de la recourante.
3. Une indemnité de 2'500 fr., à payer à l'intimée à titre de dépens, est mise à la charge de la recourante.
4. Le présent arrêt est communiqué aux mandataires des parties et à la Chambre civile de la Cour de justice du canton de Genève.
Lausanne, le 5 novembre 2008
Au nom de la Ire Cour de droit civil
du Tribunal fédéral suisse
La Juge présidant: La Greffière:
Klett Godat Zimmermann