/* =========================================================================
   fiche-client-style.css — Habillage visuel propre à Fiche client UNIQUEMENT.
   Jamais dans 2c2e-commun.css / style.css (partagés par tous les outils) —
   demande du 2026-10-06 : boutons "sexy", responsive propre, alignement net.
   ========================================================================= */

/* ---------------------- Couleurs par famille de bouton (demande du 2026-10-06) ----------------------
   Vert = contacter (Appeler/SMS/Mail) ; Orange = liens externes (Drive/Axonaut/Google Contact) ;
   Gris = paramétrage (Renommer, Portail, Retour à la liste — déjà en "gris" partout ailleurs,
   rien à changer là). */
.bouton.orange { background: var(--accent-orange); }

/* ---------------------- Boutons plus "sexy" ---------------------- */
.bouton, .dt-bouton {
  border-radius: 10px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.14);
  transition: transform 0.12s ease, box-shadow 0.12s ease, filter 0.12s ease;
  letter-spacing: 0.1px;
}
.bouton:hover, .dt-bouton:hover { transform: translateY(-1px); box-shadow: 0 5px 12px rgba(0,0,0,0.2); filter: brightness(1.04); }
.bouton:active, .dt-bouton:active { transform: translateY(0); box-shadow: 0 1px 2px rgba(0,0,0,0.14); }
.bouton:disabled, .dt-bouton:disabled { box-shadow: none; transform: none; }

/* Barre "contact rapide" — pilules bien espacées, plus logiciel pro que formulaire austère */
#fc-liens-contact-rapide .bouton, #fc-liens-contact-rapide button {
  border-radius: 22px; font-size: 0.85rem; padding: 9px 16px; font-weight: 700;
}

/* ---------------------- Titre + badges sur une seule ligne, propre ---------------------- */
.fc-ligne-titre { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 6px 0 14px; }
/* .miniature-dossier-titre déménagée dans css/style.css (demande confirmée le 2026-10-07 :
   "c'est ce que je veux dans tous les titres des outils") — partagée par tous, plus seulement
   Fiche client. */
.fc-ligne-titre h2 { margin: 0; }
.fc-badge-logement {
  font-size: 0.78rem; font-weight: 700; color: #fff; background: #6c4a94;
  padding: 4px 11px; border-radius: 12px; white-space: nowrap;
}

/* ---------------------- Cartes Demandeur / Conjoint ---------------------- */
.fc-carte-personne {
  border: 1px solid var(--bord); border-radius: 12px; padding: 16px 18px 6px;
  margin-bottom: 16px; background: #fafbfd;
}
.fc-carte-personne.conjoint { background: #f4f6fb; border-color: #dde3ee; }
.fc-carte-personne h3 {
  margin: 0 0 12px; color: var(--main-blue); font-size: 0.95rem; font-weight: 700;
}

/* ---------------------- Alerte "flashy" (statut de propriété non vérifié...) ---------------------- */
.fc-alerte-flashy {
  background: #fff0db; border: 2px solid #e8810a; color: #7a3e00; font-weight: 700;
  border-radius: 8px; padding: 12px 16px;
  box-shadow: 0 0 0 0 rgba(232,129,10,0.4);
  animation: fc-pulse 1.8s ease-in-out infinite;
}
@keyframes fc-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(232,129,10,0.35); }
  50% { box-shadow: 0 0 0 7px rgba(232,129,10,0); }
}

/* ---------------------- Alignement propre des champs/accordéons ---------------------- */
.dt-accordion-panel { padding: 20px; }
/* Champs d'une même ligne alignés sur la CASE de saisie, même quand un titre passe sur 2 lignes
   (signalé le 2026-10-08 : "date de naissance du conjoint", "date de création du contact"…
   s'alignaient sur la 1re ligne du titre au lieu du champ) : tous les blocs d'une ligne prennent
   la même hauteur, et le titre occupe l'espace libre au-dessus — les cases tombent toutes au même
   niveau. */
.dt-ligne-champs { align-items: stretch; }
.dt-champ { display: flex; flex-direction: column; }
.dt-champ > label:first-child { min-height: 1.1em; flex-grow: 1; }

/* ---------------------- Paramétrage en onglets (2026-10-08) ---------------------- */
.fc-onglets-param { display: flex; flex-wrap: wrap; gap: 6px; border-bottom: 2px solid var(--bord); padding-bottom: 8px; margin-bottom: 14px; }
.fc-onglets-param button { font-family: inherit; font-size: 0.85rem; padding: 7px 12px; border-radius: 18px; border: 1px solid var(--bord); background: #f4f6f8; color: var(--main-blue); cursor: pointer; }
.fc-onglets-param button.actif { background: var(--main-blue); color: white; border-color: var(--main-blue); font-weight: 700; }
.fc-panneau-param { display: none; }
.fc-panneau-param.actif { display: block; }
/* Paramétrage plein écran dans son propre onglet (2026-10-12) : fiche-client.html?parametrage=1. */
body.fc-param-plein-ecran #fc-parametrage-overlay { padding: 0 !important; background: #f4f6f9 !important; align-items: stretch !important; }
body.fc-param-plein-ecran #fc-parametrage-overlay > div { max-width: none !important; max-height: none !important; height: 100vh; border-radius: 0 !important; box-sizing: border-box; padding: 16px 24px !important; }
body.fc-param-plein-ecran .fc-onglets-param { position: sticky; top: -16px; background: white; z-index: 2; padding-top: 8px; }
/* Textes longs (2026-10-12) : 3 lignes puis « … » ; tout le texte au survol (souris) ou après un appui
   (téléphone / tablette, classe « deplie »). Le détail complet reste dans la modification de la tâche / du RDV. */
.fc-texte-3l { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; cursor: pointer; }
.fc-texte-3l.deplie { display: block; -webkit-line-clamp: unset; line-clamp: none; overflow: visible; }
@media (hover: hover) { .fc-texte-3l:hover { display: block; -webkit-line-clamp: unset; line-clamp: none; overflow: visible; background: #fffef4; border-radius: 4px; } }
/* Téléphone / tablette (2026-10-12) : bouton ☰ « onglet ouvert », la liste des onglets se déplie en dessous. */
.fc-onglets-menu { display: none; }
@media (max-width: 1024px) {
  .fc-onglets-menu { display: flex; align-items: center; gap: 8px; width: 100%; box-sizing: border-box; font-family: inherit; font-size: 1rem; font-weight: 700; padding: 11px 14px; border-radius: 10px; border: none; background: var(--main-blue); color: white; cursor: pointer; margin-bottom: 8px; position: sticky; top: -16px; z-index: 3; }
  .fc-onglets-param { display: none; flex-direction: column; flex-wrap: nowrap; gap: 4px; position: static !important; }
  .fc-onglets-param.ouvert { display: flex; }
  .fc-onglets-param button { text-align: left; border-radius: 8px; font-size: 0.95rem; padding: 11px 12px; }
}
/* Accordéon des Types de RDV de la fiche, en tête de 📅 Gestion des RDV. */
.fc-acc-param { border: 1px solid #dbe6f1; border-radius: 10px; margin: 0 0 12px; background: #fbfcfe; padding: 0 14px; }
.fc-acc-param > summary { cursor: pointer; padding: 10px 0; font-weight: 700; color: var(--main-blue); }
.fc-acc-param[open] { padding-bottom: 12px; }
.fc-note-param { font-size: 0.8rem; color: #667; margin: 0 0 12px; line-height: 1.45; }
.fc-carte-intervenant { border: 1px solid var(--bord); border-radius: 10px; padding: 0 14px; margin-bottom: 8px; background: #fafbfc; }
.fc-carte-intervenant[open] { padding-bottom: 12px; }
.fc-carte-intervenant.inactif { opacity: 0.65; }
/* Intervenants en accordéon (2026-10-12) : nom + pastille Actif / Inactif sur la ligne. */
.fc-interv-entete { cursor: pointer; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 10px 0; list-style: none; }
.fc-interv-entete::-webkit-details-marker { display: none; }
.fc-interv-entete::before { content: "▸"; color: var(--main-blue); }
.fc-carte-intervenant[open] > .fc-interv-entete::before { content: "▾"; }
.fc-carte-intervenant[open] > .fc-interv-entete { border-bottom: 1px solid var(--bord); margin-bottom: 10px; }
.fc-interv-titre { font-weight: 700; color: var(--main-blue); }
.fc-interv-pastille { font-size: 0.72rem; font-weight: 700; border-radius: 10px; padding: 2px 8px; background: #eef0f3; color: #667; }
.fc-interv-pastille.actif { background: #e3f4e8; color: #1d6b3a; }
.fc-interv-resume { font-size: 0.78rem; color: #778; }
/* Groupes & listes (2026-10-12) : listes du groupe sur sa ligne, nombre de dossiers, groupe sans liste. */
.fc-groupe-listes { display: flex; flex-wrap: wrap; gap: 4px; }
.fc-groupe-listes label { display: inline-flex; align-items: center; gap: 3px; font-size: 0.72rem; font-weight: 600; border: 1px solid #c9d6e5; border-radius: 10px; padding: 1px 7px; background: #f4f8fc; cursor: pointer; margin: 0; }
.fc-groupe-listes label.coche { background: #e3effb; border-color: var(--main-blue); color: #0b3d6b; }
.fc-groupe-listes input { width: auto; margin: 0; }
.fc-groupe-sans-liste { color: var(--accent-red); font-size: 0.72rem; font-weight: 700; }
.fc-groupe-nb { font-size: 0.8rem; text-align: center; white-space: nowrap; }
.fc-carte-intervenant .fc-grille-interv { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 8px 12px; }
.fc-carte-intervenant label { display: block; font-size: 0.75rem; font-weight: 600; color: #556; margin-bottom: 3px; }
.fc-carte-intervenant input[type="text"], .fc-carte-intervenant input[type="email"] { width: 100%; box-sizing: border-box; }
.fc-carte-intervenant .fc-large { grid-column: 1 / -1; }

/* ---------------------- Nouvelle organisation de la fiche (2026-10-09) ---------------------- */
.fc-note { font-size: 0.82rem; color: #667; margin: 0 0 10px; }
/* Dossiers avec une tâche en retard (2026-10-10) : en rouge, en tête de la liste. */
.carte-dossier.en-retard { border-left: 5px solid #dc3545 !important; background: #fff5f5 !important; }
.fc-badge-retard { font-size: 0.72rem; font-weight: 700; color: #fff; background: #dc3545; padding: 1px 8px; border-radius: 10px; }
/* 📂 Documents dans « À classer » du Drive (2026-10-12) : petit dossier jaune, liste et titre de la fiche. */
.fc-badge-a-classer { font-size: 0.72rem; font-weight: 700; color: #7a5a00; background: #fff3c4; border: 1px solid #f2c94c; padding: 1px 8px; border-radius: 10px; text-decoration: none; white-space: nowrap; }
.fc-badge-a-classer:hover { background: #ffe58a; }
.fc-badge-a-classer.grand { font-size: 0.85rem; padding: 4px 10px; border-radius: 14px; }
.fc-titre-liste-retard { color: #b02a37; font-size: 0.95rem; margin: 4px 0 8px; }
/* Procédure collective (BODACC) et RGE & décennale (2026-10-10). */
.fc-procedure { border-radius: 8px; padding: 10px 14px; margin: 6px 0 4px; font-size: 0.9rem; }
.fc-procedure.rouge { background: #fdeceb; border: 2px solid #dc3545; color: #8a1220; }
.fc-procedure.orange { background: #fff3cd; border: 2px solid #f0ad4e; color: #7a5200; }
.fc-procedure.ok { background: #eef7ee; border: 1px solid #b7dcb7; color: #1d6b2a; }
.fc-procedure.jaune { background: #fffbe6; border: 2px solid #e6c200; color: #6b5800; }
/* Suivi commercial d'un pro (2026-10-11 : « mieux différencier ») : page partenaire en bleu, dépôt de
   fiches en orange, facturation Axonaut en vert — chacun son bloc, bien séparé. */
.fc-bloc-partenaire { border-left: 5px solid #0056a7; margin-bottom: 14px; }
.fc-bloc-apport { border-left-color: #e36b19; background: #fffaf5; border-color: #f3d9c4; }
.fc-bloc-axonaut-pro { border-left-color: #65b535; background: #f6fbf2; border-color: #d6ebc8; }
/* Compteur de la liste des contacts + titre « Partenaires » des listes de pros (2026-10-11). */
.fc-compteur-liste { font-size: 0.85rem; color: #334155; margin: 2px 0 6px; }
.fc-titre-partenaires { color: #1d4ed8; }
/* Dossiers apportés par un artisan + historique de ses factures Axonaut (2026-10-11). */
.fc-table-artisan-dossiers { width: 100%; border-collapse: collapse; font-size: 0.82rem; background: white; margin-top: 4px; }
.fc-table-artisan-dossiers th { text-align: left; background: #eef4ea; color: #3c5a2c; font-weight: 600; padding: 4px 8px; border-bottom: 1px solid #d6ebc8; white-space: nowrap; }
.fc-table-artisan-dossiers td { padding: 4px 8px; border-bottom: 1px solid #eef1f4; vertical-align: top; }
/* Échanges Gmail regroupés par contact (2026-10-11). */
.fc-echanges-contact { border: 1px solid #dbe6f1; border-radius: 8px; margin-bottom: 8px; background: #fbfcfe; }
.fc-echanges-contact > summary { cursor: pointer; padding: 8px 12px; font-size: 0.88rem; }
.fc-echanges-contact > summary span { color: #64748b; font-size: 0.8rem; margin-left: 6px; }
.fc-echanges-contact[open] > summary { border-bottom: 1px solid #dbe6f1; }
.fc-echanges-contact > .fc-echange { margin: 8px 10px; }
/* 🌐 page partenaire en ligne sur 2c2e.fr, dans la liste des contacts (2026-10-11). */
.fc-badge-site { text-decoration: none; font-size: 0.95rem; margin-left: 2px; }
.fc-badge-site.brouillon { opacity: 0.6; }
/* Badge procédure collective dans la liste des contacts (2026-10-11). */
.fc-badge-procedure { font-size: 0.72rem; font-weight: 700; padding: 1px 8px; border-radius: 10px; white-space: nowrap; }
.fc-badge-procedure.rouge { background: #dc3545; color: #fff; }
.fc-badge-procedure.orange { background: #f0ad4e; color: #fff; }
.fc-badge-procedure.jaune { background: #fff3a0; color: #6b5800; border: 1px solid #e6c200; }
/* Tableau RGE : systèmes en bleu, isolation & menuiseries en vert (2026-10-11). */
.fc-rge-icone { font-size: 1.1rem; margin-right: 2px; }
.fc-table-rge tr.fc-rge-systeme td:first-child { border-left: 5px solid #1e88e5; color: #0d47a1; font-weight: 600; background: #eef5fd; }
.fc-table-rge tr.fc-rge-isolation td:first-child { border-left: 5px solid #2e9d4f; color: #1b5e20; font-weight: 600; background: #eef8f0; }
.fc-table-rge tr.fc-rge-autre td:first-child { border-left: 5px solid #9aa4b0; }
.fc-rge-legende { font-size: 0.78rem; margin: 0 0 4px; }
.fc-rge-legende .systeme { color: #1e88e5; font-weight: 700; margin-right: 10px; }
.fc-rge-legende .isolation { color: #2e9d4f; font-weight: 700; }
.fc-table-rge { width: 100%; font-size: 0.85rem; margin-bottom: 8px; }
.fc-rge-etat { font-size: 0.75rem; font-weight: 700; border-radius: 10px; padding: 1px 7px; margin-left: 4px; white-space: nowrap; }
.fc-rge-etat.rouge { background: #dc3545; color: #fff; } .fc-rge-etat.orange { background: #f0ad4e; color: #fff; } .fc-rge-etat.vert { background: #e6f4ea; color: #1d6b2a; }
/* Gmail (2026-10-10) : mails sans réponse 🟠 7 j / 🔴 10 j. */
.fc-badge-mail { font-size: 0.72rem; font-weight: 700; color: #fff; padding: 1px 8px; border-radius: 10px; text-decoration: none; }
.fc-badge-mail.orange { background: #e8810a; } .fc-badge-mail.rouge { background: #dc3545; }
.fc-echange.gmail { border-left-color: #0b5394; }
.fc-echange.gmail.orange { border-left-color: #e8810a; background: #fff8ee; }
.fc-echange.gmail.rouge { border-left-color: #dc3545; background: #fff5f5; }
/* Échanges (mails & SMS envoyés), 2026-10-10. */
.fc-echange { border: 1px solid var(--bord); border-left: 4px solid #28a745; border-radius: 8px; padding: 8px 12px; margin-bottom: 8px; background: #fbfcfd; }
.fc-echange.echec { border-left-color: #dc3545; background: #fff7f7; }
.fc-echange-entete { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; font-size: 0.85rem; }
.fc-echange-entete span { color: #667; font-size: 0.8rem; }
.fc-echange-statut { color: #a12 !important; font-weight: 600; }
.fc-echange-texte { font-size: 0.82rem; color: #334; margin-top: 4px; white-space: pre-wrap; word-break: break-word; }
/* Prospects sans suite depuis 30 jours (2026-10-10) : « Relances à faire ». */
.carte-dossier.a-relancer { border-left: 5px solid #e8810a !important; background: #fff8ee !important; }
.fc-badge-relance { font-size: 0.72rem; font-weight: 700; color: #fff; background: #e8810a; padding: 1px 8px; border-radius: 10px; }
.fc-titre-liste-relance { color: #a35400; font-size: 0.95rem; margin: 16px 0 8px; }
.fc-titre-liste { color: var(--main-blue); font-size: 0.95rem; margin: 16px 0 8px; }
.fc-titre-masques { color: #667; border-top: 2px dashed #c5cdd8; padding-top: 14px; margin-top: 20px; }
/* Notes reprises de Notion (import 2026-10-10), lecture seule. */
.fc-notes-notion { margin: 14px 0 4px; border: 1px solid #ece6c8; background: #fbfaf3; border-radius: 8px; padding: 6px 10px; }
.fc-notes-notion summary { cursor: pointer; font-size: 0.85rem; font-weight: 600; color: #6b5a12; }
#fc-notes-notion-texte { white-space: pre-wrap; font-size: 0.83rem; color: #334; margin-top: 6px; line-height: 1.45; word-break: break-word; }
.fc-carte-personne h3 { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.fc-principal { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; font-size: 0.8rem; font-weight: 600; color: #8a6d00;
  background: #fff8e1; border: 1px solid #f0d77a; border-radius: 14px; padding: 3px 10px; cursor: pointer; }
.fc-principal input { margin: 0; width: auto; }
.fc-principal.actif { background: #f0ad4e; border-color: #f0ad4e; color: #fff; }
.fc-age { font-weight: 700; color: var(--main-blue); background: #eef4f8; border-radius: 10px; padding: 1px 8px; margin-left: 4px; font-size: 0.78rem; }
.fc-age:empty { display: none; }
.fc-autre-contact { border: 1px solid var(--bord); border-radius: 8px; padding: 10px 12px; margin-bottom: 10px; background: #fafbfc; }
.fc-autre-contact .dt-ligne-champs { margin-bottom: 0; }
.fc-recherche-adresse { position: relative; }
.fc-suggestions-adresse { position: absolute; left: 0; right: 0; top: 100%; z-index: 30; background: #fff; border: 1px solid var(--bord);
  border-radius: 8px; box-shadow: 0 6px 18px rgba(0,0,0,0.12); max-height: 260px; overflow-y: auto; display: none; }
.fc-suggestions-adresse div { padding: 9px 12px; cursor: pointer; font-size: 0.88rem; border-bottom: 1px solid #f0f2f5; }
.fc-suggestions-adresse div:hover { background: #eef4f8; }
.fc-groupes-google { display: flex; flex-wrap: wrap; gap: 6px 14px; padding: 8px 10px; border: 1px solid var(--bord); border-radius: 8px; background: #fafbfc; margin-bottom: 10px; }
.fc-groupes-google label { display: inline-flex; align-items: center; gap: 5px; font-size: 0.85rem; font-weight: 400; cursor: pointer; }
.fc-groupes-google input { width: auto; margin: 0; }
.fc-table-facturation { width: 100%; min-width: 560px; }
.fc-table-facturation input { width: 100%; box-sizing: border-box; padding: 6px 8px; }
.fc-table-facturation tfoot td { font-weight: 700; }
.fc-coherence { font-size: 0.85rem; border-radius: 6px; padding: 6px 10px; margin-bottom: 4px; }
.fc-coherence.ok { color: #1a7a1a; background: #eaf7ea; }
.fc-coherence.ko { color: #a00; background: #fbeaea; }
.fc-coherence.info { color: #0b5394; background: #eef4f8; }
/* Cartes RDV / tâches avec pavé de date à gauche (2026-10-09). */
.fc-carte-datee { display: flex; gap: 14px; align-items: stretch; margin: 0 0 12px 10px !important; padding: 10px 14px 10px 10px !important; }
.fc-carte-datee-corps { flex: 1; min-width: 0; align-self: center; }
/* Pavé plus large et moins haut (2026-10-10 : « un peu trop haut et pas assez large ») : le mois et
   l'année tiennent sur une ligne. */
.fc-pave-date { flex: 0 0 92px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 2px solid; border-radius: 10px;
  background: #fff; padding: 3px 4px; cursor: pointer; line-height: 1.05; text-align: center; }
/* Colonne « date + lieu + intervenant » des RDV (2026-10-19) : le pavé garde sa largeur, le lieu coloré et l'intervenant dessous. */
.fc-pave-col { flex: 0 0 96px; width: 96px; display: flex; flex-direction: column; align-items: center; }
.fc-pave-col > .fc-pave-date { flex: 0 0 auto; width: 92px; box-sizing: border-box; padding-top: 6px; padding-bottom: 6px; }
.fc-pave-jour { font-size: 0.68rem; text-transform: uppercase; font-weight: 700; }
.fc-pave-num { font-size: 1.3rem; font-weight: 800; }
.fc-pave-mois { font-size: 0.7rem; font-weight: 600; white-space: nowrap; }
.fc-pave-heure { margin-top: 2px; font-size: 0.75rem; font-weight: 700; color: #334; background: #f0f2f5; border-radius: 6px; padding: 0 6px; }
/* Grille des Occupants (2026-10-09, « revoir la mise en page des champs ») : 12 colonnes, champs
   alignés d'une carte à l'autre ; une seule colonne sur téléphone. */
.fc-grille { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 10px 12px; align-items: end; }
.fc-grille .dt-champ { margin: 0; min-width: 0; max-width: none !important; }
.fc-grille .dt-champ input, .fc-grille .dt-champ select { width: 100%; box-sizing: border-box; margin-bottom: 0; }
.fc-grille .c1 { grid-column: span 1; } .fc-grille .c2 { grid-column: span 2; } .fc-grille .c3 { grid-column: span 3; }
.fc-grille .c4 { grid-column: span 4; } .fc-grille .c5 { grid-column: span 5; } .fc-grille .c7 { grid-column: span 7; }
.fc-grille .c8 { grid-column: span 8; } .fc-grille .c12 { grid-column: span 12; }
.fc-enfant { border-top: 1px dashed var(--bord); padding: 10px 0; }
.fc-enfant:first-child { border-top: none; padding-top: 0; }
.fc-bouton-icone { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0 !important; }
.fc-carte-personne.enfants { background: #fbfcfd; }
@media (max-width: 680px) {
  .fc-grille { grid-template-columns: 1fr; }
  .fc-grille > * { grid-column: auto !important; }
}

/* ---------------------- Responsive — plus propre sur mobile ---------------------- */
@media (max-width: 680px) {
  .header-bar { flex-wrap: wrap; row-gap: 8px; }
  .header-bar > div { flex-wrap: wrap; justify-content: center; width: 100%; }
  .fc-ligne-titre { justify-content: center; text-align: center; }
  .fc-ligne-titre a { margin-left: 0 !important; width: 100%; text-align: center; }
  .dt-ligne-champs { flex-direction: column; gap: 12px; }
  .dt-ligne-champs .dt-champ { max-width: 100% !important; width: 100%; min-width: 0; }
  #fc-liens-contact-rapide { justify-content: center; }
  #fc-liens-contact-rapide .bouton, #fc-liens-contact-rapide button { flex: 1 1 auto; text-align: center; }
  .carte-dossier { flex-wrap: wrap; }
}

/* ---- 2026-10-09 : groupes (liste déroulante à cases), panneau danger, filtres repliables ---- */
.fc-multi { position:relative; }
.fc-multi-bouton { width:100%; min-height:46px; display:flex; justify-content:space-between; align-items:center; gap:8px; text-align:left;
  border:1px solid var(--bord, #ccd3dc); border-radius:6px; background:#fff; padding:8px 12px; font-family:inherit; font-size:0.95rem; cursor:pointer; }
.fc-multi-liste { display:none; position:absolute; z-index:50; left:0; right:0; top:100%; margin-top:4px; background:#fff; border:1px solid var(--bord, #ccd3dc);
  border-radius:8px; box-shadow:0 6px 18px rgba(0,0,0,.15); padding:8px 10px; max-height:260px; overflow-y:auto; }
.fc-multi.ouvert .fc-multi-liste { display:block; }
.fc-multi-liste label { display:flex; align-items:center; gap:8px; padding:6px 2px; cursor:pointer; font-size:0.92rem; }
.fc-multi-liste input { width:auto; }
.fc-alerte-danger { background:#c0392b; color:#fff; font-weight:800; font-size:1.05rem; border-radius:10px; padding:14px 18px; margin-bottom:16px;
  border:3px solid #7b1d14; box-shadow:0 2px 10px rgba(192,57,43,.35); letter-spacing:.3px; }
.fc-alerte-danger span { font-weight:500; font-size:0.85rem; opacity:.9; }
.fc-liste-param { border:1px solid #dbe6f1; background:#f6f9fc; border-radius:8px; padding:10px; margin-bottom:8px; }
.fc-bouton-filtres { display:none; }
@media (max-width:1024px){
  .fc-bouton-filtres { display:inline-block; }
  #vue-liste-clients:not(.fc-filtres-ouverts) .fc-filtre { display:none !important; }
}

/* 2026-10-09 : alertes sur la ligne des accordéons + recherche dans les groupes */
.dt-accordion-header.fc-entete-danger { background:#c0392b !important; color:#fff !important; border-color:#7b1d14 !important; }
.dt-accordion-header.fc-entete-attention { background:#fff3cd !important; color:#7a5200 !important; border-color:#f0ad4e !important; }
.fc-entete-alerte { font-size:0.82rem; font-weight:800; margin-left:10px; }
/* Justificatifs + verrou du dossier administratif (2026-10-10), voir fcAfficherJustificatifs(). */
.fc-case-validation { display:flex; align-items:center; gap:8px; margin-top:10px; padding:8px 10px; background:#fff; border:1px dashed #f0ad4e; border-radius:6px; color:#5a4300; cursor:pointer; }
.fc-case-validation input { width:18px; height:18px; flex-shrink:0; }
.fc-note-validation { display:block; font-weight:400; font-size:0.8rem; margin-top:6px; }
.fc-verrou-admin { background:#eef4ff; border:1px solid #b8cdf0; border-radius:8px; padding:8px 12px; margin:6px 0 10px; font-size:0.86rem; color:#1a3a6b; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.fc-justifs { display:flex; flex-direction:column; gap:8px; margin:6px 0 12px; }
.fc-justif { border:1px solid #d9e1ea; border-left:4px solid #f0ad4e; border-radius:8px; padding:8px 12px; background:#fbfcfe; }
.fc-justif.ok { border-left-color:#4caf50; }
.fc-justif-titre { font-size:0.9rem; margin-bottom:4px; }
.fc-justif-titre span { font-size:0.78rem; color:#778; margin-left:6px; }
.fc-justif-doc { font-size:0.86rem; margin:3px 0; }
.fc-justif-info { font-size:0.76rem; color:#778; }
.fc-justif-suppr { border:none; background:none; cursor:pointer; padding:0 4px; }
.fc-justif-deposer { display:inline-block; margin-top:6px; cursor:pointer; font-size:0.82rem; }
.fc-artisan-bloc { border:1px solid #d9e1ea; border-left:4px solid #e36b19; border-radius:8px; padding:10px 12px; margin:6px 0 12px; font-size:0.86rem; line-height:1.6; background:#fffaf5; }
/* Environnement du logement (2026-10-10), voir fcHtmlEnvironnement(). */
.fc-env { border:1px solid #d9e1ea; border-radius:10px; padding:10px 12px; margin:6px 0 14px; background:#fbfcfe; }
.fc-env-entete { font-weight:800; color:var(--main-blue); margin-bottom:6px; }
.fc-env-bloc { margin:8px 0 4px; font-size:0.85rem; line-height:1.5; }
.fc-env-titre { font-weight:700; font-size:0.86rem; margin-bottom:2px; }
/* Titre des devis / factures Axonaut (2026-10-10). */
.fc-titre-doc { font-size:0.82rem; color:#334; max-width:260px; min-width:120px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
/* DPE, audits & bâtiment (2026-10-10), voir fcAfficherDpe(). */
.fc-dpe-badge { display:inline-block; min-width:26px; text-align:center; font-weight:800; font-size:0.95rem; padding:3px 6px; border-radius:5px; }
.fc-dpe-badge.vide { background:#eef1f5; color:#99a; }
.fc-dpe-abf { border-radius:8px; padding:9px 12px; margin-bottom:8px; font-size:0.88rem; }
.fc-dpe-abf.oui { background:#fff3cd; border:2px solid #f0ad4e; color:#6b4b00; }
.fc-dpe-abf.non { background:#e8f5e9; border:1px solid #9ccc9f; color:#1d6b2a; }
.fc-dpe-infos { font-size:0.82rem; color:#445; margin:4px 0 12px; line-height:1.7; }
.fc-dpe-table { overflow-x:auto; }
.fc-dpe-table table { width:100%; border-collapse:collapse; font-size:0.85rem; min-width:640px; }
.fc-dpe-table th { text-align:left; background:#f4f6f8; padding:6px 8px; font-size:0.78rem; color:#556; }
.fc-dpe-table td { padding:7px 8px; border-top:1px solid #e3e8ee; vertical-align:top; }
.fc-dpe-table tr.expire td { opacity:0.6; }
.fc-dpe-petit { font-size:0.74rem; color:#778; }
.fc-dpe-table tr.retenu td { background:#e9f9ef; }
.fc-dpe-correspond { font-size:0.74rem; color:#1d6b3a; font-weight:600; }
.fc-dpe-glisser { border:2px dashed #b8c8de; border-radius:10px; padding:12px 14px; margin:10px 0 14px; background:#f8fbff; font-size:0.86rem; color:#345; }
.fc-dpe-survol { outline:3px dashed var(--main-blue); outline-offset:-3px; background:#eef5ff !important; }
.fc-dpe-macaron { display:inline-block; margin-left:6px; padding:1px 7px; border-radius:10px; background:linear-gradient(135deg, #ffd34d, #e8a400); color:#5a3d00; font-size:0.74rem; font-weight:800; box-shadow:0 1px 2px rgba(0,0,0,0.2); }
.fc-dpe-titre-comparaison { color:var(--main-blue); margin:18px 0 6px; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.fc-dpe-comparaison table { min-width:0; }
.fc-dpe-comparaison th:first-child { width:150px; }
.fc-dpe-comparaison tr > th { background:#f4f6f8; vertical-align:top; text-align:left; font-size:0.8rem; padding:6px 8px; border-top:1px solid #e3e8ee; }
.fc-dpe-comparaison td { font-size:0.8rem; line-height:1.45; min-width:220px; }
.fc-dpe-element { padding:4px 0 6px; }
.fc-dpe-element + .fc-dpe-element { border-top:1px dashed #d9e1ea; padding-top:6px; }
.fc-dpe-comparaison tr.differe > th { background:#fff3cd; }
.fc-dpe-doc { white-space:nowrap; }
.fc-dpe-retirer { border:none; background:none; color:#c0392b; cursor:pointer; font-size:0.85rem; padding:0 4px; margin-left:2px; }
.fc-dpe-retirer:hover { background:#fdeceb; border-radius:4px; }
.fc-dpe-depot { display:inline-block; margin:3px 4px 0 0; font-size:0.74rem; cursor:pointer; color:var(--main-blue); border:1px solid #c5d3e6; border-radius:5px; padding:2px 6px; background:#f7faff; }
/* Curseur de facturation sur la ligne « Suivi commercial » (2026-10-10), voir fcAfficherJaugeFacturation(). */
.fc-jauge-fact { margin-left:auto; margin-right:12px; display:inline-flex; align-items:center; gap:8px; flex-shrink:0; }
.fc-jauge-barre { position:relative; display:flex; width:140px; height:12px; border-radius:6px; background:#d9dee5; overflow:hidden; box-shadow:inset 0 0 0 1px rgba(0,0,0,0.08); }
.fc-jauge-barre .enc { background:#1d7a3a; }
.fc-jauge-barre .fac { background:#7fd18f; }
.fc-jauge-fact.depasse .fc-jauge-barre { box-shadow:0 0 0 2px #c0392b; }
.fc-jauge-texte { font-size:0.78rem; font-weight:700; white-space:nowrap; }
@media (max-width: 600px) { .fc-jauge-barre { width:70px; } .fc-jauge-texte { display:none; } }
.fc-filtre-groupes { width:100%; box-sizing:border-box; margin-bottom:6px; padding:7px 10px; border:1px solid #ccd3dc; border-radius:6px; font-family:inherit; }

/* 2026-10-09 : mode « pro » (entreprise, agent immo…) — rubriques des particuliers masquées */
.fc-texte-pro { display:none; }
#vue-client.fc-mode-pro .fc-texte-particulier { display:none; }
#vue-client.fc-mode-pro span.fc-texte-pro { display:inline; }
#vue-client.fc-mode-pro p.fc-texte-pro { display:block; }
#vue-client.fc-mode-pro .fc-particulier { display:none !important; }

/* 2026-10-09 : entreprise partenaire (page sur le site) + recherche d'entreprise */
.fc-bloc-partenaire { border:1px solid #dbe6f1; background:#f6f9fc; border-radius:10px; padding:10px 14px; margin:8px 0 12px; }
/* Sous-accordéons du Suivi commercial (2026-10-20) : site et logo, catégories, entreprise partenaire, devis / factures / avis. */
details.fc-sous-acc > summary { cursor:pointer; font-weight:600; color:var(--main-blue); list-style:none; padding:2px 0; }
details.fc-sous-acc > summary::-webkit-details-marker { display:none; }
details.fc-sous-acc > summary::before { content:"▸ "; display:inline-block; width:16px; }
details.fc-sous-acc[open] > summary::before { content:"▾ "; }
details.fc-sous-acc[open] > summary { margin-bottom:6px; }
.dt-accordion-panel > details.fc-sous-acc { border:1px solid #dbe6f1; background:#fff; border-radius:10px; padding:10px 14px; margin:8px 0 12px; }
.fc-pw-apercu { min-height:60px; display:flex; align-items:center; margin-bottom:4px; }
.fc-pw-apercu img { max-height:80px; max-width:200px; border:1px solid #dde2e8; border-radius:6px; background:#fff; padding:4px; }
.fc-pw-apercu.bandeau img { max-width:100%; max-height:120px; object-fit:cover; }
.fc-resultats-entreprise { border:1px solid #dde2e8; border-radius:8px; background:#fff; margin-top:4px; max-height:320px; overflow-y:auto; }
.fc-resultats-entreprise button { display:block; width:100%; text-align:left; border:none; border-bottom:1px solid #eef1f5; background:none; padding:8px 12px; cursor:pointer; font-family:inherit; font-size:0.85rem; }
.fc-resultats-entreprise button:hover { background:#f1f5fa; }

/* 2026-10-09 : catégories du site regroupées par catégorie parente */
.fc-pw-categories { display:grid; grid-template-columns:1fr; gap:10px; width:100%; }
.fc-cat-bloc { border:2px solid #9cc3e8; border-radius:10px; padding:4px 14px 10px; margin:0; background:#fff; }
.fc-cat-bloc legend { padding:0 6px; font-weight:700; color:#0b3d6b; }
.fc-cat-bloc legend label { font-weight:700; cursor:pointer; }
.fc-cat-enfants { display:grid; grid-template-columns:repeat(auto-fill, minmax(190px, 1fr)); gap:2px 14px; }
.fc-cat-enfants label { display:flex; align-items:center; gap:6px; padding:3px 0; font-size:0.88rem; cursor:pointer; }
.fc-cat-enfants label.fc-cat-parent { font-weight:600; }
.fc-pw-categories input, .fc-cat-bloc input { width:auto; }

/* Axonaut dans « Devis et factures » (2026-10-09) */
.fc-axonaut { margin:4px 0 8px; }
.fc-axonaut-barre { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; font-size:0.85rem; background:#fff7f0; border:1px solid #f3d2b5; border-radius:8px; padding:6px 10px; }
.fc-axonaut-barre .dt-bouton { padding:4px 10px; font-size:0.8rem; }
.fc-axonaut-etat { font-size:0.8rem; color:#556; margin-top:4px; }
.fc-axonaut-etat:empty { display:none; }
.fc-axonaut-choix { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:6px; font-size:0.85rem; border:1px solid #e3e8ee; border-radius:6px; padding:6px 10px; margin-top:4px; background:#fff; }
.fc-alerte-axonaut { background:#fff4e5; border:1px solid #f3c48b; color:#8a4b00; border-radius:8px; padding:8px 12px; margin:6px 0; font-weight:600; font-size:0.88rem; }

/* Liens vers les outils en menus accordéon (2026-10-10) */
.fc-menu-outils { width:100%; border:1px solid #dbe3ec; border-radius:10px; background:#fff; margin-top:8px; }
.fc-menu-outils > summary { cursor:pointer; padding:10px 14px; font-weight:700; color:#0b3d6b; list-style:none; display:flex; align-items:center; gap:8px; }
.fc-menu-outils > summary::-webkit-details-marker { display:none; }
.fc-menu-outils > summary::after { content:"▼"; margin-left:auto; font-size:0.7rem; color:#889; transition:transform .2s; }
.fc-menu-outils[open] > summary::after { transform:rotate(180deg); }
.fc-menu-nb { font-size:0.7rem; font-weight:600; background:#eef2f6; color:#667; border-radius:8px; padding:1px 7px; }
.fc-menu-liste { display:flex; flex-wrap:wrap; gap:8px; padding:0 14px 12px; }
@media (max-width:600px){ .fc-menu-liste .bouton { width:100%; text-align:left; } }
/* Archivage papier (2026-10-12) */
.fc-archivage { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin:4px 0 12px; }
.fc-archive-num { display:inline-block; background:#eef2f7; color:#334; border:1px solid #c8cfdb; border-radius:8px; padding:4px 10px; font-size:0.9rem; }
.fc-archive-num b { font-size:1.05rem; letter-spacing:0.5px; }
/* Commande sans aucune facture (2026-10-12 : « un dessin euro en gros ») */
.fc-euro-gros { display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:50%; background:#e67e22; color:#fff; font-weight:800; font-size:1.3rem; line-height:1; margin:0 6px; vertical-align:middle; box-shadow:0 1px 3px rgba(0,0,0,.25); }
/* Numéros et mails « en plus » (2026-10-12) */
.fc-supp-duo { display:flex; flex-direction:row !important; align-items:flex-start; gap:2px 16px; flex-wrap:wrap; margin:-8px 0 6px; }
.fc-supp-duo > div { flex:1 1 380px; min-width:0; }
.fc-supp-ligne > input, .fc-supp-ligne .tel-pays > input { padding:5px 8px !important; font-size:0.88rem; height:auto; }
.fc-supp-ligne .tel-pays-choix { font-size:0.8rem; padding:0 5px; }
.fc-supp-ligne { display:flex; gap:4px; align-items:center; margin-top:4px; }
.fc-supp-ligne select { width:auto !important; flex:0 0 auto; max-width:105px; padding:5px 4px; font-size:0.8rem; }
.fc-supp-ligne > input, .fc-supp-ligne > .tel-pays { flex:1 1 auto; min-width:0; }
.fc-supp-btn { border:none; background:none; cursor:pointer; font-size:0.85rem; padding:2px 3px; text-decoration:none; flex:0 0 auto; }
.fc-supp-ajout { font-size:0.78rem; color:#667; text-decoration:none; display:inline-block; margin-top:3px; }
.fc-supp-ajout:hover { color:var(--main-blue); }
/* Recherche rapide par nom dans le bandeau (2026-10-11) */
.fc-recherche-rapide { position:relative; flex:1 1 260px; max-width:420px; margin:0 14px; }
.fc-recherche-rapide input { width:100%; box-sizing:border-box; padding:7px 12px; border:1px solid #c8cfdb; border-radius:18px; font-size:0.9rem; background:#f6f8fb; }
.fc-recherche-rapide input:focus { background:white; outline:none; border-color:var(--main-blue); }
#fc-recherche-rapide-res { display:none; position:absolute; top:calc(100% + 4px); left:0; right:0; background:white; border:1px solid #d8dee8; border-radius:10px; box-shadow:0 6px 18px rgba(0,0,0,0.12); max-height:60vh; overflow:auto; z-index:200; }
#fc-recherche-rapide-res button { display:block; width:100%; text-align:left; border:none; background:none; padding:8px 12px; font-size:0.88rem; cursor:pointer; color:#223; }
#fc-recherche-rapide-res button.actif, #fc-recherche-rapide-res button:hover { background:#eef3fb; }
#fc-recherche-rapide-res button small { color:#889; margin-left:6px; }
#fc-recherche-rapide-res .vide { padding:8px 12px; font-size:0.85rem; color:#889; }
@media (max-width:600px){ .fc-recherche-rapide { order:3; max-width:none; margin:0; flex-basis:100%; } }
/* Blocs de tête de la liste repliables (2026-10-13) — voir fcEnAccordeonListe() dans js/fiche-client.js. */
.fc-bloc-liste > summary { cursor: pointer; font-weight: 700; list-style: none; display: flex; align-items: center; gap: 6px; }
.fc-bloc-liste > summary::-webkit-details-marker { display: none; }
.fc-bloc-liste > summary::before { content: '▾'; font-size: 0.9em; width: 1em; flex-shrink: 0; }
.fc-bloc-liste:not([open]) > summary::before { content: '▸'; }
.fc-bloc-liste > summary:hover { text-decoration: underline; }


/* Bandeau du Paramétrage (titre, ✕, menu, onglets) toujours visible quand on fait défiler (2026-10-21). */
.fc-param-bandeau { position: sticky; top: -20px; z-index: 6; background: white; margin: -20px -20px 0; padding: 20px 20px 2px; }
body.fc-param-plein-ecran .fc-param-bandeau { top: -16px; }
body.fc-param-plein-ecran .fc-param-bandeau .fc-onglets-param { position: static; }
.fc-param-bandeau .fc-onglets-param { max-height: 45vh; overflow-y: auto; } /* menu déplié sur téléphone : jamais plus haut que l’écran */
