/* ============================================================
   Back office — plus d'italique décoratif (décision de Nico, 2026-10-22)
   ------------------------------------------------------------
   Les mots en italique colorés (« Tableau de <em>bord</em> »), les dates, les
   noms des mariés et les petites phrases en italique faisaient « design
   généré ». Tout le back office passe en romain.

   Chargée EN DERNIER dans app.html : un seul endroit, réversible (retirer la
   balise <link> suffit). Le !important est voulu : il couvre aussi les
   ~160 déclarations « font-style: italic » des feuilles de modules et les
   styles en ligne posés par le JS, sans toucher à chacun d'eux.

   Le « :not(#nly-roman) » (aucun élément ne porte cet id) donne à la règle
   une spécificité d'id : elle l'emporte aussi sur les deux sous-titres
   déclarés « italic !important » (section-subtitle).

   Exceptions : le texte que la planner met elle-même en italique dans les
   éditeurs (corps d'email, texte libre des devis/factures) et les boutons
   « I » de ces éditeurs, qui doivent montrer ce qu'ils font.
   ============================================================ */
body *:not(#nly-roman):not(:is(
  [contenteditable], [contenteditable] *,
  .em-tb-btn, .em-tb-btn *,
  .doc-ft-btn, .doc-ft-btn *,
  .em-sig-preview, .em-sig-preview *
)) {
  font-style: normal !important;
}
body ::placeholder { font-style: normal !important; }

/* Titres « Tableau de bord », « Plan de table »… : le mot d'accent ne se
   distingue plus — titre d'une seule couleur, dans la police et la graisse du
   titre (toutes les variantes de titre éditorial du back office). */
:is(h1, h2, h3, .ed-split-title, .ai-title, .cal-monthlabel, .dir-title, .em-title,
    .jx-title, .section-title, .seating-sidebar-title, .tk-title, .tk-card-title)
  em:not([contenteditable] em) {
  color: inherit !important;
  font-family: inherit !important;
  font-weight: inherit !important;
}

/* Système B : le texte courant est en Hanken Grotesk dans tous les thèmes.
   Ces petits textes (accueil, dates, sous-titres, compteurs, états vides…)
   étaient en police de titre ET en italique ; sans italique, la police de
   titre est trop fine à cette taille → ils passent dans la police du texte.
   Liste générée depuis les feuilles de modules (règles « serif + italique »
   de 18px ou moins), hors noms, initiales et numéros. */
.account-page .current-plan-desc,
.account-page .account-invoices-card .empty-state p:first-child,
.admin-editorial-intro,
.admin-theme-tag,
.admin-editorial-saved,
.ai-scope-hint,
.ai-suggestions-intro,
.ai-suggestion,
.ai-msg-assistant .ai-msg-bubble,
.cal-more,
.cal-agdate-mon,
.cal-agenda-empty,
.cal-drawer-sub,
.cal-empty-text,
.lists-stat-sub,
.lists-rail-count,
.lists-ring-pct,
.lists-detail-progresstext em,
.lists-detail-empty,
.lists-items-empty,
.cc-prog-empty,
.compta-block-meta em,
.compta-page .expense-subhead,
.dash-topbar-season,
.dash-topbar-greeting,
.dash-hero-season,
.dash-hero-date,
.dash-hero-progress-num,
.dash-hero-countdown-tag,
.dash-task-cat,
.dash-task-due,
.dash-tasks-empty-title,
.dash-upcoming-init,
.dash-upcoming-remain,
.dash-upcoming-empty,
.dx-group-count,
.dir-sub,
.dir-note,
.guide-summary-lead,
.inv-empty-sub,
.jx-sub,
.jx-leg-count,
.jx-resume,
.jx-day-count,
.section-header .section-subtitle,
.empty-state p,
.seating-sidebar-count,
.seat-room-dim,
.seat-room-label-text small,
.seating-autoplace-n,
.section-subtitle,
.sa-body-subtitle,
.sa-cv-description,
.sa-cv-empty,
.tk-sub,
.tk-card-count,
.tk-due,
.tk-empty,
.tl-couple-sub,
.tl-empty-sub,
.tl-summary-sub,
.tl-acte,
.tl-done-tag,
.tl-card-team,
.tl-card-note,
.fp-weddings,
.fp-empty-text,
.fp-msglist-empty,
.fp-docbox-count,
.fp-docbox-empty,
.ceremony-contrib-quote,
.ceremony-tpl-card strong,
.wl-date,
.wl-progress-pct,
.wl-budget-total,
.jourj-phase-range {
  font-family: var(--sans) !important;
}
