Faits :
A.
Coiffeuse indépendante, Z._ (l'assurée) a conclu avec X._ SA (X._ ou l'assureur) une assurance perte de gain en cas de maladie, comportant une réserve en lien avec toute incapacité de travail causée par des affections du genou gauche. Le début de l'assurance était fixé au 29 mai 2012; le salaire annuel assuré s'élevait à 60'000 fr. pour une prime annuelle de 3'510 fr.; les prestations étaient versées au maximum pendant 730 jours par cas, sans déduction d'un délai d'attente.
Le 6 novembre 2012, l'assurée a subi une arthroscopie, une bursectomie sous-acromiale, une acromioplastie et une résection acromio-claviculaire en raison d'un conflit sous-acromial et d'une arthrose acromio-claviculaire de l'épaule gauche. A la suite de cette intervention, Z._ s'est trouvée en incapacité totale de travail, attestée médicalement. X._ lui a versé les indemnités journalières prévues par le contrat d'assurance.
Par la suite, l'assureur a mandaté une agence de détectives privés afin de vérifier si l'assurée travaillait et montrait les signes d'une atteinte physique quelconque. Des surveillances ont été effectuées du 21 au 23 mars 2013; un rapport d'observation a été établi le 27 mars 2013.
En date du 15 avril 2013, un entretien avec l'assurée a eu lieu dans les locaux de l'assureur.
Par courrier du 17 avril 2013, l'assureur a informé l'assurée qu'après contrôle de son revenu réel, le salaire annuel fixe déclaré à la signature du contrat (60'000 fr.) ne correspondait pas à la situation effective, le revenu moyen déterminant calculé sur les cinq dernières années de cotisations s'élevant à 35'366 fr. Il a été établi une nouvelle police, prenant effet au 1 er avril 2013 et mentionnant un salaire annuel de 40'000 fr. ainsi qu'une prime annuelle de 2'340 fr.
A partir du 18 avril 2013, l'assurée était en incapacité de travail à 90%.
Le 21 mai 2013, l'assureur a mandaté une seconde entreprise de surveillance, qui a observé l'assurée les 24/25 mai 2013 et rendu son rapport d'enquête le 27 mai 2013.
X._ avait interrompu le versement des prestations dès le 1 er mai 2013. Par pli du 10 juin 2013, l'assureur a informé l'assurée qu'elle avait fait l'objet d'une surveillance, laquelle avait révélé une activité dans le salon de coiffure allant bien au-delà de la prescription médicale attestée; les gestes observés ne montraient aucune gêne fonctionnelle et étaient en contradiction avec les limitations invoquées par l'assurée. En conséquence, X._ s'estimait fondée à annuler la police perte de gain maladie à la date du sinistre, soit le 6 novembre 2012, à refuser toute prestation en lien avec cet événement et à réclamer le remboursement intégral des indemnités payées.
L'expert médical mandaté par l'assureur a examiné l'assurée le 16 mai 2013 et rendu son rapport le 5 juillet 2013. Il a posé les diagnostics de status post arthroscopie de l'épaule gauche et de capsulite rétractile avec une mobilité de l'épaule réduite de manière marquée dans tous les plans avec persistance d'une symptomatologie douloureuse. L'expert précisait que la stabilisation d'une capsulite rétractile pouvait prendre entre six et dix-huit mois et que, pour l'heure, l'incapacité de travail était justifiée dans la mesure où l'assurée ne pouvait pas passer le membre supérieur gauche au-dessus de l'horizontale et que son travail s'exerçait debout, membre supérieur en abduction la plupart du temps.
Par courrier du 22 juillet 2013, l'assureur a réclamé à l'assurée le remboursement de 37'029 fr.35, représentant l'addition des indemnités journalières versées à tort (24'843 fr.15), des frais de surveillance (6'235 fr.) et des frais extraordinaires liés aux recherches (8'000 fr.), moins la part de prime non absorbée (2'048 fr.80).
L'assurée a refusé de payer ce montant. En particulier, elle contestait avoir exercé une activité de coiffeuse durant son incapacité de travail et précisait n'avoir jamais caché s'être rendue parfois au salon de coiffure, en particulier pour maintenir le contact avec la clientèle.
L'assurée a recouvré une capacité de travail de 80% à partir du 2 décembre 2013.
Par courrier du 7 janvier 2014, elle a réclamé à l'assureur le paiement d'indemnités journalières à hauteur de 24'424 fr.20.
B.
Le 14 décembre 2015, X._ a ouvert action devant la Chambre des assurances sociales de la Cour de justice du canton de Genève. L'assureur concluait au paiement par l'assurée du montant de 37'029 fr.35 plus intérêts et à la mainlevée définitive de l'opposition au commandement de payer notifié dans la poursuite n° xxx.
Z._ a conclu au rejet de l'action et, reconventionnellement, à la condamnation de l'assureur au paiement de 24'424 fr.20 avec intérêts et à la mainlevée définitive de l'opposition au commandement de payer notifié dans la poursuite n° yyy; l'assurée réclamait en sus la somme de 12'200 fr. avec intérêts correspondant aux frais d'avocat avant procès.
Par arrêt du 29 septembre 2016, la Chambre des assurances sociales a rejeté la demande principale, refusé la mainlevée de l'opposition à la poursuite n° xxx et dit que le contrat d'assurance perte de gain maladie n'a pas été valablement résilié par X._; sur demande reconventionnelle, elle a condamné X._ à verser à Z._ le montant de 14'628 fr.95 représentant les indemnités journalières du 1 er mai au 31 décembre 2013, prononcé la mainlevée définitive de l'opposition à due concurrence dans la poursuite n° yyy et condamné X._ à verser à l'assurée la somme de 3'000 fr. à titre de dommages-intérêts.
C.
X._ interjette un recours en matière civile. A titre principal, elle reprend les conclusions en paiement et en mainlevée de l'opposition formulées dans la procédure cantonale; elle demande subsidiairement le renvoi de la cause à l'autorité cantonale pour nouvelle décision dans le sens des considérants.
Z._ propose le rejet du recours.
X._ a déposé d'ultimes observations.
Pour sa part, la cour cantonale s'en rapporte à justice.

Considérant en droit :
1.
Le litige porte sur l'obligation de prestation résultant d'une assurance complémentaire à l'assurance-maladie sociale, laquelle est régie par la LCA (RS 221.229.1) selon l'art. 2 al. 2 de la loi fédérale sur la surveillance de l'assurance-maladie (LSAMal; RS 832.12). Le recours est dès lors dirigé contre une décision rendue en matière civile (art. 72 al. 1 LTF; <ref-ruling> consid. 1.1 p. 3; <ref-ruling> consid. 2.1 p. 441 s.).
Au surplus, l'arrêt attaqué est final (art. 90 LTF). La Chambre des assurances sociales a statué en instance cantonale unique au sens de l'art. 7 CPC et de l'art. 75 al. 2 let. a LTF, de sorte que le recours est ouvert sans égard à la valeur litigieuse (art. 74 al. 2 let. b LTF; cf. <ref-ruling> consid. 1.1 p. 800). Interjeté par la partie qui a succombé dans ses conclusions (art. 76 al. 1 LTF), le recours est en principe recevable puisqu'il a été déposé en temps utile (art. 100 al. 1 LTF) et dans les formes prévues par la loi (art. 42 LTF); l'examen des griefs particuliers est réservé.
2.
2.1. Le Tribunal fédéral statue sur la base des faits établis par l'autorité précédente (art. 105 al. 1 LTF). Relèvent de ces faits tant les constatations relatives aux circonstances touchant l'objet du litige que celles concernant le déroulement de la procédure conduite devant l'instance précédente et en première instance, c'est-à-dire les constatations ayant trait aux faits procéduraux (<ref-ruling> consid. 1.3.1 et les références). Le Tribunal fédéral 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" (<ref-ruling> consid. 2 p. 117; <ref-ruling> 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 (<ref-ruling> 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 ces conditions seraient réalisées (<ref-ruling> consid. 1.3.1 p. 18 et les références).
2.2. Invoquant l'art. 9 Cst., la recourante reproche à la cour cantonale une appréciation arbitraire des preuves sur deux points, à savoir les activités exercées par l'intimée dans son salon de coiffure pendant son incapacité de travail et le caractère prétendument spontané des déclarations de l'assurée à l'assureur.
Dans l'arrêt attaqué, l'autorité précédente décrit les tâches effectuées et le comportement adopté par l'intimée lorsqu'elle se rendait dans son salon de coiffure (prendre des rendez-vous, répondre au téléphone, s'occuper de l'agenda, discuter avec la clientèle) et précise que ces activités étaient exercées occasionnellement, sans respecter d'horaire particulier. La recourante ne s'en prend pas à ces constatations en tant que telles, mais soutient que les tâches accomplies par l'assurée faisaient partie intégrante de l'activité lucrative d'une coiffeuse indépendante. Sous le couvert du grief d'appréciation arbitraire des preuves, la recourante ne critique ainsi pas l'état de fait relaté dans l'arrêt attaqué, mais bien la qualification en droit des activités retenues, lesquelles ont été considérées par la cour cantonale comme sans pertinence sous l'angle de l'art. 40 LCA et n'influant pas sur l'existence ou l'étendue du droit aux indemnités journalières. Le moyen tiré de l'art. 9 Cst. tombe dès lors à faux.
Il en va de même du grief développé en relation avec les déclarations de l'assurée sur son emploi du temps, que la cour cantonale aurait qualifiées de spontanées de manière arbitraire. Là encore, la recourante ne s'en prend pas à l'état de fait, en particulier à la constatation selon laquelle l'assurée ne savait pas, au moment où elle a été interrogée, qu'elle avait fait l'objet d'une surveillance, mais critique l'appréciation juridique du comportement de l'intimée par la cour cantonale.
En conclusion, le grief tiré d'une appréciation arbitraire des preuves est irrecevable.
3.
3.1. Selon la recourante, les juges genevois auraient également méconnu l'art. 8 CC en écartant les deux rapports de détective produits à titre de contre-preuves.
3.2. Par définition, le droit à la contre-preuve, garanti par l'art. 8 CC, appartient à la partie qui n'est pas chargée du fardeau de la preuve. Or, en l'espèce, c'est à l'assureur, qui invoque le moyen libératoire de l'art. 40 LCA, de prouver les faits permettant l'application de cette disposition (arrêt 4A_671/2010 du 25 mars 2011 consid. 2.6).
Cela étant, la recourante a pu exercer son droit à la preuve en produisant les rapports susmentionnés, afin de démontrer les gestes et activités accomplis par l'assurée dans son salon de coiffure. C'est dans le cadre de l'appréciation des preuves que la cour cantonale a émis des doutes sur la fiabilité des rapports à propos de certaines activités décrites, qui figuraient dans la synthèse des détectives mais non dans leurs observations détaillées et minutées. Or, l'art. 8 CC ne régit pas l'appréciation des preuves. Il ne dicte pas au juge comment forger sa conviction (<ref-ruling> consid. 2d p. 25), ni ne permet de remettre en cause l'appréciation des preuves à laquelle le juge s'est livré (<ref-ruling> consid. 3c p. 223).
Il s'ensuit qu'aucune violation de l'art. 8 CC ne peut être imputée à la cour cantonale.
4.
La recourante se plaint d'une violation de l'art. 40 LCA. Contrairement à l'autorité cantonale, elle est d'avis que, sur la base des faits constatés dans l'arrêt attaqué, les conditions (objective et subjective) de ce moyen libératoire de l'assureur sont réalisées.
4.1. L'art. 40 LCA définit la prétention frauduleuse. Il prévoit que si l'ayant droit ou son représentant, dans le but d'induire l'assureur en erreur, dissimule ou déclare inexactement des faits qui auraient exclu ou restreint l'obligation de l'assureur, ou si, dans le but d'induire l'assureur en erreur, il ne fait pas ou fait tardivement les communications que l'art. 39 LCA lui impose, l'assureur n'est pas lié par le contrat envers l'ayant droit. D'un point de vue objectif, la dissimulation ou la déclaration inexacte doit porter sur des faits qui sont propres à remettre en cause l'obligation même de l'assureur ou à influer sur son étendue; en d'autres termes, sur la base d'une communication correcte des faits, l'assureur verserait une prestation moins importante, voire n'aurait aucune prestation à verser. Ainsi en est-il lorsque l'ayant droit déclare un dommage plus étendu qu'en réalité, par exemple lorsque l'atteinte à la santé n'est pas aussi grave qu'annoncée. En plus, l'ayant droit doit, sur le plan subjectif, avoir l'intention de tromper. Il faut qu'il ait agi avec la conscience et la volonté d'induire l'assureur en erreur, afin d'obtenir une indemnisation plus élevée que celle à laquelle il a droit; peu importe à cet égard qu'il soit parvenu à ses fins (arrêt 4A_286/2016 du 29 août 2016 consid. 5.1.2 et les arrêts cités).
4.2. Il ressort des constatations de l'arrêt attaqué, qui lient la cour de céans, que l'assurée, en incapacité de travail totale, puis à 90%, se rendait dans son salon de coiffure, sans respecter un horaire particulier; elle y passait du temps devant l'ordinateur, répondait au téléphone, prenait les rendez-vous, s'occupait de l'agenda et discutait avec la clientèle; elle n'exerçait aucune activité spécifique de coiffure. Selon l'arrêt attaqué, les quelques tâches accessoires effectuées par l'intimée dans son salon incombaient en principe à l'employée qui la remplaçait, laquelle par ailleurs coiffait seule les clients. En outre, la cour cantonale a constaté que le médecin mandaté par l'assureur avait confirmé l'incapacité de travail invoquée par l'intimée, qui ne pouvait notamment pas lever le membre supérieur gauche au-dessus de l'horizontale et qui éprouvait toujours des douleurs, ce que le dynanomètre de Jamar avait objectivé. Elle a retenu qu'aucun des gestes observés par les détectives, y compris hors du salon de coiffure, n'impliquait de lever le bras gauche au-dessus de l'horizontale, ni de porter de charges plus lourdes que celles que l'assurée pouvait tenir sans douleur avec la main gauche.
L'activité de coiffeuse indépendante consiste essentiellement à coiffer les clients. Pendant la période où l'intimée a invoqué une incapacité de travail à 100% ou à 90%, elle n'a pas exercé une telle activité, ni effectué des gestes démontrant qu'elle était capable de coiffer. Comme la cour cantonale l'a bien vu, aucune déclaration mensongère ne saurait dès lors être imputée à l'assurée sur sa capacité à exercer l'activité de coiffure.
En ce qui concerne les tâches effectuées par l'intimée lorsqu'elle se trouvait au salon, la cour cantonale a jugé qu'elles étaient "très auxiliaires" au métier de coiffeuse indépendante et que l'intimée les avait assumées occasionnellement afin d'occuper son temps, et non dans un but lucratif puisqu'elles incombaient en principe à l'employée qui la remplaçait. Elle en a déduit que les activités en cause ne suffisaient pas pour exclure l'obligation de l'assureur ou pour en restreindre l'étendue, soit pour influer sur la capacité de travail de l'assurée. Une telle conclusion, niant une prétention frauduleuse sur le plan objectif, n'apparaît pas contraire aux principes déduits de l'art. 40 LCA. Le parallèle tiré par la recourante avec l'arrêt précité du 29 août 2016 n'est pas justifié. Dans le cas ayant donné lieu à cette décision, l'assuré, garagiste indépendant souffrant d'une perte de force musculaire et de divers accès de faiblesse, avait bel et bien exercé des activités typiques de sa profession, comme mener des discussions avec des clients à propos de véhicules d'occasion ou examiner des profils de pneus. L'autorité précédente avait jugé que lesdites activités, si elles avaient été connues de l'assureur, lui auraient permis de réduire ses prestations et, devant la cour de céans, l'assuré n'avait, en particulier, pas expliqué en quoi les tâches exécutées n'atteignaient pas l'intensité d'une activité professionnelle. Rien de tel en l'espèce, où les tâches effectuées ne constituent pas l'essence du métier de base; en outre, il ne ressort pas des constatations de l'autorité précédentes que l'assurée les aurait assumées systématiquement, soit à un niveau professionnel.
4.3. Au demeurant, même à supposer que les activités accessoires reprochées à l'intimée soient pertinentes sur le plan objectif pour fixer le montant des indemnités journalières, la condition subjective de la prétention frauduleuse ne serait pas non plus réalisée en l'occurrence, comme la cour cantonale l'a jugé à bon droit. En effet, l'assurée pouvait penser de bonne foi que seule l'activité de coiffure, qu'elle n'était pas capable d'exercer, était déterminante pour le montant des indemnités journalières. De plus, lors de son entretien avec l'assureur en avril 2013, l'intimée, qui ignorait la surveillance dont elle avait fait l'objet, n'a pas caché sa présence au salon de coiffure et les activités accessoires qu'il lui arrivait d'y exercer. On ne saurait dès lors conclure que l'intimée a, consciemment et volontairement, cherché à induire en erreur la recourante afin d'obtenir une prétention indue et, par là-même, eu l'intention de tromper exigée pour l'application de l'art. 40 LCA.
5.
Sur le vu de ce qui précède, le recours doit être rejeté dans la mesure où il est recevable.
La recourante, qui succombe, prendra à sa charge les frais judiciaires (art. 66 al. 1 LTF) et versera 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é dans la mesure où il est recevable.
2.
Les frais judiciaires, arrêtés à 2'500 fr., sont mis à la charge de la recourante.
3.
La recourante versera à l'intimée une indemnité de 3'000 fr. à titre de dépens.
4.
Le présent arrêt est communiqué aux mandataires des parties et à la Chambre des assurances sociales de la Cour de justice du canton de Genève (3 ème Chambre).
Lausanne, le 7 avril 2017
Au nom de la Ire Cour de droit civil
du Tribunal fédéral suisse
La Présidente : Kiss
La Greffière : Godat Zimmermann