/* Disposition des écrans de la maquette validée. Les données viennent des API. */
:root {
    --graphique-demandes: #d9e1d3;
    --graphique-signatures: #d96a5a;
    --graphique-sauge: #839e73;
    --conversion-fond: #edf5ef;
    --conversion-texte: #28744f;
}

.entete-page h1 { font-size: 29px; }
.entete-page p { font-size: 12px; }
button.espace-reseau { width: 100%; text-align: left; flex-shrink: 0; }
button.espace-reseau>svg:last-child { transform: rotate(90deg); }
button.espace-reseau:hover { background: var(--surface-douce); }
.popup-espace { width: min(560px,calc(100% - 32px)); max-height: calc(100dvh - 40px); margin: auto; padding: 0; overflow: auto; border: 1px solid var(--bordure); border-radius: 14px; color: var(--texte); background: var(--surface); box-shadow: var(--ombre-l); }
.popup-espace::backdrop { background: #24352d55; backdrop-filter: blur(2px); }
.popup-espace-entete { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; padding: 22px 25px 17px; border-bottom: 1px solid var(--bordure); }
.popup-espace h2 { margin: 0; font-size: 20px; font-weight: 650; letter-spacing: -.5px; }
.popup-espace-entete p { color: var(--texte-doux); font-size: 11px; margin: 6px 0 0; }
.fermer-espace { display: grid; place-items: center; min-width: 36px; min-height: 36px; color: var(--texte-doux); border-radius: 7px; }
.fermer-espace:hover { background: var(--surface-douce); }
.popup-espace-contenu { padding: 23px 25px; }
.popup-espace-contenu>p { margin: 0; font-size: 13px; line-height: 1.8; color: var(--texte-doux); }
.menu-espace { display: grid; gap: 10px; margin-top: 20px; }
.menu-espace a { display: flex; align-items: center; gap: 12px; padding: 14px; border-radius: 8px; background: var(--surface-douce); color: var(--texte); font-size: 13px; min-height: 48px; }
.menu-espace a:hover { color: var(--terracotta); }
.menu-espace svg { flex-shrink: 0; }
.popup-espace-pied { display: flex; justify-content: flex-end; padding: 16px 25px; border-top: 1px solid var(--bordure); }
.popup-espace-pied .btn { min-height: 40px; font-size: 12px; }
.selecteur-segmente, .barre-annees {
    display: inline-flex; align-items: center; gap: 3px; padding: 4px;
    background: var(--surface-douce); border-radius: 8px; margin: 0;
}
.selecteur-segmente button, .barre-annees button {
    flex: 0 0 auto; min-height: 34px; border: 0; border-radius: 5px;
    padding: 7px 10px; color: var(--texte-doux); background: transparent;
    font-size: 11px; font-weight: 500; white-space: nowrap;
}
.selecteur-segmente button[aria-pressed=true], .barre-annees button[aria-pressed=true] {
    color: var(--texte); background: var(--surface); border: 0; box-shadow: 0 1px 4px #26312b0c;
}
.lien-discret { display: inline-flex; align-items: center; gap: 6px; color: var(--terracotta); font-size: 12px; min-height: 36px; }
.lien-discret:hover { text-decoration: underline; text-underline-offset: 4px; }
.pilotage-filtres, .commissions-outils {
    display: flex; align-items: center; justify-content: space-between;
    gap: 15px; margin: 7px 0 17px; flex-wrap: wrap;
}
.periode-pilotage { color: var(--texte-doux); font-size: 11px; flex: 1; line-height: 1.6; }
.origine-pilotage select, .outils-reseau select {
    background: var(--surface); border: 1px solid var(--bordure); border-radius: 8px;
    font-size: 12px; min-height: 40px; padding: 8px 30px 8px 12px; max-width: 100%;
}
.indicateurs { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin-bottom: 24px; }
.indicateur {
    display: flex; flex-direction: column; align-items: stretch; min-width: 0;
    padding: 18px 20px; border: 1px solid var(--bordure); border-radius: 12px;
    background: var(--surface); text-align: left; box-shadow: var(--ombre-s);
}
button.indicateur[aria-pressed=true] { border-color: var(--terracotta); }
button.indicateur:hover { box-shadow: var(--ombre-m); }
.indicateur-tete { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--texte-doux); font-size: 12px; }
.indicateur-icone { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; flex-shrink: 0; background: #f4f0fa; color: #8774a3; }
.indicateur[data-icone=coche] .indicateur-icone { background: #edf2fa; color: #517eab; }
.indicateur[data-icone=euro] .indicateur-icone { background: #fbf3e6; color: #9a682b; }
.indicateur[data-icone=stats] .indicateur-icone { background: #edf5ef; color: #4d8562; }
.indicateur[data-icone=enveloppe] .indicateur-icone { background: #f5efe4; color: #9a7a45; }
.indicateur-valeur { display: block; margin: 8px 0; font-size: clamp(24px,2.1vw,32px); font-weight: 650; letter-spacing: -.9px; line-height: 1.25; overflow-wrap: anywhere; }
.indicateur-detail { font-size: 11px; color: var(--texte-doux); line-height: 1.5; margin-top: auto; }
.pilotage-apercu { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); gap: 20px; margin-bottom: 20px; }
.pilotage-apercu .panneau { margin: 0; min-width: 0; }
.contenu-pilotage .titre-panneau, .panneau-commissions .titre-panneau { margin-bottom: 20px; }
.contenu-pilotage .panneau h2, .panneau-commissions h2, .synthese-partenaires h2 { font-size: 15px; font-weight: 650; }
.panneau-evolution .titre-panneau { flex-wrap: wrap; }
.legende-mensuelle { display: flex; gap: 15px; color: var(--texte-doux); font-size: 10px; }
.legende-mensuelle span { display: inline-flex; align-items: center; gap: 6px; }
.legende-mensuelle i { width: 7px; height: 7px; border-radius: 2px; }
.demandes { background: var(--graphique-demandes); }
.signatures { background: var(--graphique-signatures); }
.periode-graphique { margin-top: -10px; font-size: 10px; color: var(--texte-doux); }
.graphique-mensuel { position: relative; height: 245px; margin: 22px 0 15px; padding: 0 0 26px 36px; }
.graduations-mensuelles { position: absolute; inset: 0 0 26px; display: flex; flex-direction: column; justify-content: space-between; }
.graduations-mensuelles span { display: flex; align-items: center; gap: 9px; color: var(--texte-faible); font-size: 9px; line-height: 0; }
.graduations-mensuelles span::after { content: ''; height: 1px; background: var(--bordure); flex: 1; opacity: .65; }
.graduations-mensuelles span { font-variant-numeric: tabular-nums; }
.barres-mensuelles { position: relative; display: flex; gap: 10px; height: 100%; align-items: flex-end; }
.groupe-mensuel { display: flex; align-items: flex-end; justify-content: center; gap: 4px; flex: 1; height: 100%; min-width: 0; position: relative; }
.barre-mensuelle { width: 28%; max-width: 27px; border-radius: 4px 4px 0 0; }
.mois-graphique { position: absolute; left: 0; right: 0; bottom: -24px; text-align: center; font-size: 10px; color: var(--texte-doux); white-space: nowrap; }
.valeurs-graphiques { font-size: 11px; color: var(--texte-doux); }
.valeurs-graphiques summary { cursor: pointer; width: fit-content; padding: 8px 0; }
.valeurs-graphiques .table-performance { margin-top: 12px; font-size: 11px; }
.parcours-conversion { display: grid; gap: 23px; margin-top: 24px; }
.etape-conversion>div:first-child { display: flex; justify-content: space-between; align-items: center; font-size: 12px; color: var(--texte-doux); gap: 12px; margin-bottom: 8px; }
.etape-conversion b { color: var(--texte); font-weight: 550; }
.piste-conversion { background: var(--surface-douce); height: 9px; border-radius: 3px; overflow: hidden; }
.piste-conversion span { display: block; height: 100%; background: #c7d4bd; border-radius: 3px; }
.etape-conversion[data-etape="1"] .piste-conversion span { background: #a7bb9a; }
.etape-conversion[data-etape="2"] .piste-conversion span { background: var(--graphique-sauge); }
.etape-conversion[data-etape="3"] .piste-conversion span { background: var(--graphique-signatures); }
.lecture-conversion { border-top: 1px solid var(--bordure); margin-top: 24px; padding-top: 17px; font-size: 11px; line-height: 1.8; color: var(--texte-doux); }
.lecture-conversion strong { color: var(--conversion-texte); font-weight: 600; }
.lecture-conversion>span { display: block; }
.panneau-performance { margin-bottom: 20px; }
.actions-performance { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.actions-performance .lien-discret { font-size: 11px; }
.table-defilante { max-width: 100%; overflow: auto; }
.table-performance { width: 100%; border-collapse: collapse; text-align: left; table-layout: auto; font-size: 12px; font-variant-numeric: tabular-nums; }
.table-performance thead th { color: var(--texte-faible); text-transform: uppercase; letter-spacing: .6px; font-weight: 500; font-size: 10px; padding: 0 8px 14px; }
.table-performance thead th:first-child { padding-left: 0; }
.table-performance td, .table-performance tbody th { padding: 15px 8px; border-top: 1px solid var(--bordure); font-weight: 400; }
.table-performance tbody th { padding-left: 0; }
.table-performance td, .table-performance thead th:not(:first-child) { text-align: right; }
.table-performance tr>:last-child { padding-right: 0; }
.table-performance tbody tr:has(button):hover { background: var(--surface-douce); cursor: pointer; }
.table-structures { table-layout: fixed; }
.table-structures th:first-child { width: 33%; }
.nom-structure { display: inline-flex; align-items: center; gap: 8px; min-height: 34px; text-align: left; width: 100%; font-size: 12px; overflow-wrap: anywhere; }
.nom-structure i { height: 6px; width: 6px; border-radius: 2px; flex-shrink: 0; }
.nom-structure svg { color: var(--texte-faible); flex-shrink: 0; margin-left: auto; opacity: 0; }
.nom-structure:hover, .nom-structure:focus-visible { color: var(--terracotta); }
.table-performance tr:hover .nom-structure svg, .nom-structure:focus-visible svg { opacity: 1; }
.taux-conversion { display: inline-block; background: var(--conversion-fond); color: var(--conversion-texte); padding: 4px 8px; border-radius: 5px; font-size: 11px; white-space: nowrap; }
.taux-fragile { color: var(--texte-doux); background: var(--surface-douce); }
.taux-reserve { display: block; font-size: 9px; color: var(--texte-faible); margin-top: 3px; }
.note-performance { margin-top: 18px; font-size: 11px; line-height: 1.7; color: var(--texte-doux); }
.pilotage-details { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.pilotage-details>.panneau { min-width: 0; }
.pilotage-details .barre-remplissage { background: var(--graphique-sauge); height: 8px; border-radius: 3px; }
.pilotage-details .barre-piste { height: 8px; border-radius: 3px; }
.pilotage-details .barre-ligne+.barre-ligne { margin-top: 21px; }
.pilotage-details .barre-nom, .pilotage-details .barre-valeur { font-size: 12px; }
.pilotage-details .barre-note { font-size: 11px; margin-top: 7px; line-height: 1.6; }
.delais-pilotage { margin: 0; }
.delais-pilotage>div { border-top: 1px solid var(--bordure); padding: 17px 0; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.delais-pilotage>div:first-child { border-top: 0; padding-top: 0; }
.delais-pilotage dt { font-size: 12px; color: var(--texte-doux); line-height: 1.6; }
.delais-pilotage dd { margin: 0; font-size: 23px; font-weight: 600; white-space: nowrap; }
.synthese-intervenant { font-size: 13px; margin: 20px 0; line-height: 1.7; }
.synthese-intervenant strong { color: var(--conversion-texte); font-size: 25px; }
.pilotage-sans-donnees { padding: 14px 18px; border: 1px solid var(--bordure); background: var(--surface); border-radius: 9px; font-size: 13px; margin-bottom: 20px; }

/* Réseau : les cartes de la maquette, avec les actions de gestion existantes. */
.outils-reseau, .outils-reception { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 22px; }
.outils-reseau .recherche, .outils-reception .recherche { flex: 1; max-width: 480px; margin: 0; }
.outils-reseau .recherche input, .outils-reception .recherche input { min-height: 43px; font-size: 14px; border-width: 1px; border-radius: 8px; background: var(--surface); }
.grille-reseau { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.carte-reseau { position: relative; display: flex; min-width: 0; border: 1px solid var(--bordure); background: var(--surface); border-radius: 12px; box-shadow: var(--ombre-s); }
.carte-reseau:hover { border-color: #bbc8b8; }
.carte-reseau .entite-principal { display: flex; flex-direction: column; align-items: flex-start; text-align: left; padding: 23px; gap: 0; width: 100%; min-width: 0; border: 0; min-height: 242px; }
.carte-reseau .entite-corps { width: 100%; flex: 1; }
.initiales-entite { display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 11px; background: color-mix(in srgb,var(--couleur-entite) 12%,var(--surface)); color: var(--couleur-entite); font-size: 13px; font-weight: 600; margin-bottom: 16px; }
.carte-reseau .entite-nom { display: block; font-size: 15px; font-weight: 650; white-space: normal; overflow-wrap: anywhere; }
.type-entite { display: block; font-size: 12px; color: var(--texte-doux); margin-top: 6px; }
.carte-reseau .entite-details { display: block; font-size: 11px; margin-top: 4px; line-height: 1.6; }
.carte-reseau .entite-compteurs { margin-top: 12px; gap: 7px; }
.carte-reseau .compteur-entite { font-size: 10px; }
.bilan-entite { border-top: 1px solid var(--bordure); width: 100%; margin-top: 18px; padding-top: 14px; display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 11px; color: var(--texte-doux); }
.bilan-entite>span { display: flex; align-items: center; gap: 4px; }.bilan-entite b { color: var(--texte); }
.carte-reseau .entite-modifier { position: absolute; top: 18px; right: 16px; display: flex; align-items: center; justify-content: center; gap: 5px; padding: 8px; min-height: 36px; font-size: 10px; border: 0; border-radius: 7px; color: var(--texte-doux); }
.carte-reseau .entite-modifier:hover { background: var(--surface-douce); }
.carte-reseau.inactive { opacity: .65; }

/* Réception : lecture de la demande sur une ligne, puis formulaire existant. */
.outils-reception .selecteur-segmente { order: 1; }.outils-reception .compte { margin-left: 6px; }
.carte-reception { display: flex; align-items: center; gap: 17px; padding: 22px; width: 100%; text-align: left; }
.avatar-reception { display: grid; place-items: center; width: 43px; height: 43px; border-radius: 11px; flex-shrink: 0; background: #eeedf6; color: #85749e; font-size: 12px; font-weight: 600; }
.carte-reception:nth-child(3n+2) .avatar-reception { background: #eaf1ed; color: #65816c; }.carte-reception:nth-child(3n) .avatar-reception { background: #f6ede6; color: #a5815f; }
.reception-corps { flex: 1; min-width: 0; }.reception-titre { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.carte-reception .titre-lead { font-size: 14px; margin: 0; line-height: 1.5; overflow-wrap: anywhere; }
.carte-reception .extrait { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin: 6px 0 0; font-size: 12px; line-height: 1.6; }
.reception-meta { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 9px; font-size: 10px; color: var(--texte-faible); }
.carte-reception .canal { margin: 0; display: inline-flex; align-items: center; gap: 6px; font-size: 10px; text-transform: none; letter-spacing: 0; }
.decouvrir-demande { display: inline-flex; align-items: center; justify-content: center; gap: 10px; font-size: 11px; padding: 10px 12px; border: 1px solid var(--bordure); border-radius: 7px; flex-shrink: 0; min-height: 40px; }

/* Réception : la fenêtre d'une demande. D'abord qui demande et comment le
   joindre, puis d'où vient la demande, puis ce que l'assistant en a compris.
   Le message et les boutons du bas gardent leur forme. */
.demande-contact { border: 1px solid var(--bordure); border-radius: 12px; background: var(--surface); padding: 18px; margin-bottom: 16px; }
.demande-identite { display: flex; align-items: center; gap: 13px; }.demande-identite>div { min-width: 0; }
.demande-avatar { display: grid; place-items: center; width: 44px; height: 44px; flex-shrink: 0; border-radius: 11px; background: #eeedf6; color: #85749e; font-size: 13px; font-weight: 600; }
.demande-nom { font-size: 17px; font-weight: 600; line-height: 1.35; overflow-wrap: anywhere; }
.demande-lieu { font-size: 13px; color: var(--texte-doux); margin-top: 2px; }.demande-sans-coordonnees { margin-top: 12px; }
.demande-liens { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.demande-lien { display: inline-flex; align-items: center; gap: 8px; max-width: 100%; min-height: 40px; padding: 8px 13px; border: 1px solid var(--bordure); border-radius: 9px; background: var(--surface-douce); color: var(--texte); font-size: 14px; font-weight: 500; line-height: 1.35; }
.demande-lien>span { min-width: 0; overflow-wrap: anywhere; }.demande-lien svg { flex-shrink: 0; color: var(--terracotta); }
a.demande-lien:hover { border-color: color-mix(in srgb,var(--terracotta) 45%,var(--bordure)); }
.demande-provenance { display: grid; gap: 8px; margin: 16px 0 0; padding-top: 14px; border-top: 1px solid var(--bordure); font-size: 13px; line-height: 1.5; }
.demande-provenance>div { display: grid; grid-template-columns: 100px minmax(0,1fr); gap: 12px; align-items: baseline; }
.demande-provenance dt { color: var(--texte-faible); }.demande-provenance dd { margin: 0; overflow-wrap: anywhere; }
.demande-date { color: var(--texte-doux); }.demande-provenance .etiquette-ads { font-size: 11px; padding: 2px 8px; margin-right: 4px; }
.lecture-demande .bloc-ia-tete { margin-bottom: 10px; }
.priorite-ia { display: inline-flex; align-items: center; gap: 8px; font-size: 11px; color: var(--texte-doux); }
.lecture-resume { font-size: 15px; line-height: 1.55; margin: 0 0 14px; }
.lecture-signaux { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 14px; }
.lecture-signaux .etiquette-categorie,.signal-ia { font-size: 12px; padding: 4px 11px; }
.signal-ia { display: inline-flex; align-items: center; border: 1px solid var(--bordure); border-radius: var(--r-rond); background: var(--surface); color: var(--texte-doux); font-weight: 600; white-space: nowrap; }
.signal-ia[data-urgence=forte] { border-color: transparent; background: var(--terracotta-clair); color: var(--terracotta); }
.lecture-chiffres { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; }
.lecture-chiffres>div { flex: 1 1 130px; padding: 10px 14px; border: 1px solid var(--bordure); border-radius: 10px; background: var(--surface); }
.lecture-chiffres span { display: block; font-size: 12px; color: var(--texte-faible); }.lecture-chiffres b { display: block; font-size: 19px; font-weight: 600; letter-spacing: -.3px; margin-top: 2px; }
.lecture-metiers { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-bottom: 14px; font-size: 12.5px; }
.lecture-metiers>span:first-child { color: var(--texte-faible); margin-right: 4px; }
.metier-ia { padding: 3px 9px; border: 1px solid var(--bordure); border-radius: 6px; background: var(--surface); }
.lecture-action { display: flex; align-items: flex-start; gap: 10px; padding: 12px 14px; border: 1px solid var(--bordure); border-left: 3px solid var(--terracotta); border-radius: 10px; background: var(--surface); font-size: 14px; line-height: 1.5; }
.lecture-action svg { flex-shrink: 0; margin-top: 3px; color: var(--terracotta); }.lecture-action p { margin: 0; min-width: 0; }
.lecture-action strong { display: block; font-size: 11px; letter-spacing: .05em; text-transform: uppercase; color: var(--terracotta); margin-bottom: 2px; }
.lecture-demande .lecture-vigilance { margin: 10px 0 0; }
.lecture-note { font-size: 12px; color: var(--texte-faible); margin: 12px 0 0; }
.lecture-absente { display: flex; align-items: center; gap: 8px; margin: 0 0 16px; font-size: 13px; color: var(--texte-doux); }.lecture-absente svg { flex-shrink: 0; color: var(--terracotta); }

/* Devis Arteven (04/10/2026) : la recherche au passage en devis, le devis
   « en direct » de l'onglet Documents, sa fiche et son envoi. */
.devis-recherche { display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 28px 10px; text-align: center; font-size: 14px; color: var(--texte-doux); }
.devis-recherche .chargement { color: var(--terracotta); }.devis-recherche p { margin: 0; }
.devis-intro { font-size: 14px; line-height: 1.55; margin: 0 0 12px; }
.devis-explication { font-size: 13px; line-height: 1.6; color: var(--texte-doux); margin: 4px 0 14px; }
.devis-note { display: flex; align-items: flex-start; gap: 6px; font-size: 12.5px; line-height: 1.5; color: var(--texte-doux); margin: -4px 0 12px; }.devis-note svg { flex-shrink: 0; margin-top: 2px; color: var(--terracotta); }
.devis-candidats,.devis-clients { display: grid; gap: 8px; margin-bottom: 12px; }
.devis-candidat,.devis-client { display: flex; flex-direction: column; gap: 4px; width: 100%; padding: 13px 15px; border: 1px solid var(--bordure); border-radius: 11px; background: var(--surface); color: var(--texte); font: inherit; text-align: left; cursor: pointer; }
.devis-candidat[aria-pressed=true],.devis-client[aria-pressed=true] { border-color: var(--terracotta); box-shadow: 0 0 0 2px color-mix(in srgb,var(--terracotta) 18%,transparent); }
.devis-candidat[disabled] { opacity: .55; cursor: not-allowed; }
.devis-candidat-tete { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font-size: 14px; }
.devis-montant { margin-left: auto; font-size: 13.5px; font-weight: 600; white-space: nowrap; }
.devis-objet { font-size: 13.5px; overflow-wrap: anywhere; }
.devis-meta { font-size: 12px; line-height: 1.5; color: var(--texte-faible); }
.devis-extrait { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 12px; line-height: 1.5; color: var(--texte-doux); }
.devis-proposition { display: flex; align-items: flex-start; gap: 6px; margin-top: 4px; padding: 7px 9px; border-radius: 8px; background: color-mix(in srgb,var(--terracotta) 6%,var(--surface)); font-size: 12px; line-height: 1.5; }
.devis-proposition svg { flex-shrink: 0; margin-top: 2px; color: var(--terracotta); }
.devis-pris { font-size: 12px; font-weight: 600; color: var(--alerte); }.devis-client .muet { font-size: 12px; }
.devis-liens { display: flex; flex-wrap: wrap; gap: 4px 18px; margin-top: 6px; }
.statut-devis { display: inline-flex; align-items: center; padding: 2px 8px; border-radius: var(--r-rond); background: var(--surface-douce); color: var(--texte-doux); font-size: 11px; font-weight: 700; white-space: nowrap; }
.statut-devis[data-statut="en cours"] { background: #edf2f9; color: #547d9d; }
.statut-devis[data-statut="validé"] { background: var(--conversion-fond); color: var(--conversion-texte); }
.statut-devis[data-statut="annulé"],.statut-devis[data-statut="refusé"] { background: var(--erreur-fond); color: var(--erreur); }
.devis-erp-zone { margin-bottom: 22px; }.devis-erp-zone:empty { display: none; }
.carte-devis-erp { display: flex; align-items: center; gap: 13px; width: 100%; margin-bottom: 8px; text-align: left; }
.icone-devis { display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; flex-shrink: 0; border-radius: var(--r-s); background: var(--terracotta-clair); color: var(--terracotta); }
.corps-devis { display: flex; flex-direction: column; gap: 3px; flex: 1; min-width: 0; }
.titre-devis { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font-size: 14px; font-weight: 600; }
.objet-devis { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
.meta-devis { font-size: 12px; color: var(--texte-faible); }
.direct-devis { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 600; color: var(--texte-doux); }
.direct-devis i { width: 8px; height: 8px; border-radius: 50%; background: var(--texte-faible); }
.direct-devis[data-etat=direct] i { background: var(--succes); animation: pouls-direct 2s infinite; }
.direct-devis[data-etat=hors_ligne] { color: var(--alerte); }.direct-devis[data-etat=hors_ligne] i { background: var(--alerte); }
@keyframes pouls-direct { 0% { box-shadow: 0 0 0 0 color-mix(in srgb,var(--succes) 55%,transparent); } 70% { box-shadow: 0 0 0 7px transparent; } 100% { box-shadow: 0 0 0 0 transparent; } }
.fiche-devis-tete { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.fiche-devis-objet { margin: 0 0 4px; font-size: 15px; font-weight: 600; }.fiche-devis-dates { margin: 0 0 14px; font-size: 12.5px; }
.montants-devis { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin-bottom: 16px; }
.montants-devis>div { padding: 10px 12px; border: 1px solid var(--bordure); border-radius: 10px; }
.montants-devis span { display: block; font-size: 11.5px; color: var(--texte-faible); }.montants-devis b { display: block; margin-top: 2px; font-size: 16px; font-weight: 600; white-space: nowrap; }
.lignes-devis { margin-bottom: 8px; border: 1px solid var(--bordure); border-radius: 10px; overflow: hidden; }
.ligne-devis { display: flex; justify-content: space-between; gap: 12px; padding: 8px 12px; border-bottom: 1px solid var(--bordure); font-size: 13px; line-height: 1.45; }
.ligne-devis:last-child { border-bottom: 0; }.ligne-devis b { font-weight: 600; white-space: nowrap; }
.ligne-devis.ligne-titre { background: var(--surface-douce); font-weight: 600; }.ligne-devis.ligne-cachee { display: none; }
.envois-devis p { display: flex; align-items: flex-start; gap: 8px; margin: 0 0 6px; font-size: 13px; overflow-wrap: anywhere; }.envois-devis svg { flex-shrink: 0; margin-top: 2px; color: var(--texte-faible); }
.actions-devis { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.actions-devis .btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; flex: 1 1 180px; }
.devis-detacher { display: block; margin-top: 14px; color: var(--texte-faible); }
@media (prefers-reduced-motion: reduce) { .direct-devis[data-etat=direct] i { animation: none; } }

/* Commissions : indicateurs, tableau des dossiers, synthèse par partenaire. */
.note-commissions { font-size: 12px; color: var(--texte-doux); margin: -3px 0 22px; line-height: 1.7; }
.table-commissions { table-layout: fixed; }.table-commissions th:first-child { width: 22%; }.table-commissions th:nth-child(2) { width: 29%; }
.table-commissions td:first-child { text-align: left; padding-left: 0; overflow-wrap: anywhere; }
.table-performance.table-commissions thead th:nth-child(2), .table-commissions td:nth-child(2) { text-align: left; }
button.indicateur[data-etat=""] { border-color: var(--bordure); }
.table-commissions td { font-size: 12px; }
.table-commissions td small { display: block; color: var(--texte-doux); font-size: 10px; margin-top: 3px; overflow-wrap: anywhere; }
.reference-commission { display: inline-flex; align-items: center; gap: 7px; min-height: 30px; text-align: left; font-size: 12px; }
.reference-commission:hover { color: var(--terracotta); }.reference-commission svg { color: var(--texte-faible); flex-shrink: 0; }
.montant-commission { white-space: nowrap; font-weight: 600!important; }
.etat-commission { display: inline-flex; border-radius: 5px; padding: 5px 7px; background: #fcf3de; color: #9a691f; font-size: 10px; white-space: nowrap; }
.etat-commission[data-etat-commission=facturee] { background: #f3eee5; color: #86714d; }.etat-commission[data-etat-commission=payee] { background: var(--conversion-fond); color: var(--conversion-texte); }
.synthese-partenaires { margin-top: 26px; }.grille-commissions-partenaires { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.grille-commissions-partenaires>.carte { margin: 0!important; font-size: 13px; min-width: 0; }
.table-commissions td small.commission-propre-ligne { color: var(--terracotta); white-space: normal; font-weight: 400; }
.lien-calcul { margin-top: 4px; min-height: 44px; font-size: 13px; }

/* Commission d'un dossier (06/10/2026) : le panneau de la fiche et sa feuille. */
.commission-fiche .titre-panneau { align-items: baseline; gap: 8px; }.commission-fiche #btn-commission { font-size: 11px; }
.montant-commission-fiche { font-size: 22px; font-weight: 600; margin: 8px 0 6px; letter-spacing: -.5px; }
.detail-commission { margin: 0; font-size: 11px; line-height: 1.7; color: var(--texte-doux); }
.etiquettes-commission { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.commission-propre { display: inline-flex; border-radius: 5px; padding: 5px 7px; background: var(--terracotta-clair); color: var(--terracotta); font-size: 10px; white-space: nowrap; }
.motif-commission { margin: 14px 0 0; padding-top: 12px; border-top: 1px solid var(--bordure); font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.motif-commission>span { display: block; margin-bottom: 4px; color: var(--texte-faible); font-size: 10px; }
.note-commission { margin: 12px 0 0; font-size: 11px; line-height: 1.6; color: var(--texte-doux); }
.apercu-commission { min-height: 1.6em; margin: -4px 0 4px; font-size: 13px; font-weight: 600; color: var(--texte); }
.aide-champ { display: block; margin-top: 7px; font-size: 12px; line-height: 1.5; color: var(--texte-doux); }

/* Facture de commission sur Arteven (06/10/2026) : fiche, écran Commissions, fenêtre. */
.facture-resume { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 6px; font-size: 12px; min-width: 0; }
.facture-resume svg { color: var(--texte-faible); flex-shrink: 0; }
.facture-attente,.facture-ecart { display: inline-flex; align-items: center; gap: 4px; padding: 2px 7px; border-radius: var(--r-rond); font-size: 10.5px; font-weight: 600; white-space: nowrap; }
.facture-attente { background: var(--surface-douce); color: var(--texte-doux); }
.facture-ecart { background: var(--terracotta-clair); color: var(--terracotta); }
.facture-fiche { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--bordure); font-size: 12px; }
.facture-fiche #btn-facture-commission { font-size: 11px; margin-left: auto; }
.facture-etat { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; margin: 4px 0 2px; padding: 12px 14px; border: 1px solid var(--bordure); border-radius: 11px; font-size: 12.5px; }
.facture-etat .lien-discret { font-size: 13px; }
.table-commissions td small.facture-ligne { display: flex; align-items: center; gap: 4px; }
.facture-carte { display: flex; flex-direction: column; gap: 5px; margin-bottom: 12px; padding: 14px 15px; border: 1px solid var(--bordure); border-radius: 11px; }
.facture-note { display: flex; align-items: flex-start; gap: 7px; margin: 6px 0 10px; font-size: 12.5px; line-height: 1.55; color: var(--texte-doux); overflow-wrap: anywhere; }
.facture-note svg { flex-shrink: 0; margin-top: 2px; }
.facture-carte .facture-note { margin: 4px 0 0; }
.facture-indices { display: flex; flex-wrap: wrap; gap: 6px; }
.facture-indices:empty { display: none; }
.facture-indices span { display: inline-flex; align-items: center; gap: 4px; padding: 2px 8px; border-radius: var(--r-rond); background: var(--surface-douce); color: var(--texte-doux); font-size: 11px; font-weight: 600; }
.facture-indices span[data-indice=oui] { background: var(--conversion-fond); color: var(--conversion-texte); }
.facture-indices span[data-indice=propose] { background: var(--terracotta-clair); color: var(--terracotta); }
.facture-client { display: flex; align-items: flex-start; gap: 6px; margin: 0 0 12px; font-size: 13px; line-height: 1.5; color: var(--texte-doux); }
.facture-client svg { flex-shrink: 0; margin-top: 2px; color: var(--texte-faible); }
.facture-client>span { flex: 1; min-width: 0; }.facture-client .lien-discret { min-height: 0; flex-shrink: 0; }
.facture-apercu { display: flex; flex-direction: column; gap: 8px; margin-bottom: 10px; padding: 14px 15px; border: 1px dashed var(--bordure); border-radius: 11px; font-size: 13px; }
.facture-apercu pre { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; font-size: 12.5px; line-height: 1.5; color: var(--texte-doux); }
.facture-apercu-montants { display: flex; flex-wrap: wrap; gap: 4px 14px; padding-top: 8px; border-top: 1px solid var(--bordure); font-size: 12.5px; }

/* Densité et couleurs des dossiers, comme dans la vue validée. */
.fiche-grille { grid-template-columns: minmax(0,1fr) 295px; }
.fiche-complement .panneau { padding: 22px; }.fiche-complement h2 { font-size: 13px; }
.finance-fiche h2 { color: var(--texte-doux); font-size: 12px; font-weight: 400; margin: 0; }
.montant-fiche { font-size: 27px; font-weight: 600; margin: 10px 0 20px; letter-spacing: -.7px; }
.origine-fiche { border-top: 1px solid var(--bordure); padding-top: 18px; font-size: 11px; }
.origine-fiche>span { display: block; color: var(--texte-doux); margin-bottom: 9px; }
.origine-fiche>b { display: inline-flex; gap: 7px; align-items: center; font-weight: 500; }
.interlocuteurs-fiche .titre-panneau { align-items: baseline; gap: 8px; }.interlocuteurs-fiche #btn-affecter { font-size: 11px; }
.interlocuteur-fiche { display: flex; align-items: center; gap: 11px; margin-top: 19px; }
.avatar-interlocuteur { display: grid; place-items: center; width: 34px; height: 34px; flex-shrink: 0; border-radius: 8px; background: var(--surface-douce); color: var(--texte-doux); font-size: 11px; }
.interlocuteur-fiche>div { min-width: 0; }.interlocuteur-fiche b { font-size: 12px; font-weight: 500; overflow-wrap: anywhere; }.interlocuteur-fiche small { display: block; font-size: 10px; color: var(--texte-faible); margin-top: 5px; }
.details-dossier summary { cursor: pointer; font-size: 11px; line-height: 1.7; color: var(--texte-doux); }.details-dossier[open] summary { margin-bottom: 18px; }
.dossier-fiche .timeline { padding-left: 41px; }.dossier-fiche .timeline::before { left: 13px; width: 1px; }
.dossier-fiche .evenement { padding-bottom: 27px; }.dossier-fiche .evenement:last-child { padding-bottom: 0; }.dossier-fiche .evenement::before { display: none; }
.icone-evenement { display: grid; place-items: center; position: absolute; left: -41px; top: -3px; width: 27px; height: 27px; border: 4px solid var(--surface); box-sizing: content-box; margin-left: -4px; border-radius: 50%; background: var(--surface-douce); color: var(--texte-doux); }
.evenement[data-type=creation] .icone-evenement { background: var(--conversion-fond); color: var(--conversion-texte); }
.evenement[data-type=devis_envoye] .icone-evenement,.evenement[data-type=devis] .icone-evenement { color: var(--terracotta); background: var(--terracotta-clair); }
.entete-evenement { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }.date-evenement { color: var(--texte-faible); font-size: 10px; white-space: nowrap; }
.dossier-fiche .evenement .detail { background: none; padding: 0; margin: 7px 0; font-size: 12px; }
@media(min-width:901px) {
    .fiche-client { padding: 22px; }.fiche-client h2 { font-size: 13px; }.fiche-client .actions-contact { gap: 2px; margin: 0 -7px; }
    .fiche-client .actions-contact .btn-contact { background: none; border: 0; min-height: 52px; font-size: 9px; color: var(--terracotta); }
    .fiche-client .actions-contact .btn-contact svg { width: 18px; height: 18px; }.fiche-client .actions-contact .btn-contact:hover { background: var(--surface-douce); }
}
@media(min-width:901px) and (max-width:1240px) { .fiche-grille { grid-template-columns: minmax(0,1fr) 275px; gap: 17px; }.fiche-complement .panneau { padding: 18px; } }
@media(max-width:650px) { .entete-evenement { flex-wrap: wrap; gap: 4px; }.date-evenement { width: 100%; }.dossier-fiche .timeline { padding-left: 37px; }.icone-evenement { left: -37px; } }
.table-affaires th { text-transform: uppercase; letter-spacing: .5px; font-size: 10px; padding-top: 13px; padding-bottom: 13px; background: var(--surface); }
.table-affaires td { padding-top: 12px; padding-bottom: 12px; }.table-affaires td:nth-child(4),.table-affaires th:nth-child(4) { text-align: right; }
.cellule-client { align-items: center; }.projet-client { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.badge[data-statut=nouvelle] { background: #f0edfa; color: #81709b; }
.badge[data-statut=contactee],.badge[data-statut=rdv] { background: #edf2f9; color: #547d9d; }
.badge[data-statut=devis_en_cours] { background: #f5f0e4; color: #8b7346; }
.badge[data-statut=devis_envoye] { background: #fcf3de; color: #9a691f; }
.badge[data-statut=gagnee] { background: var(--conversion-fond); color: var(--conversion-texte); }
.badge[data-statut=perdue] { background: var(--surface-douce); color: var(--texte-doux); }

@media(max-width:1200px) {
    .pilotage-apercu { grid-template-columns: minmax(0,1.25fr) minmax(0,1fr); gap: 16px; }
    .indicateur { padding: 17px 16px; }.indicateur-tete { font-size: 11px; }
    .grille-reseau { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .actions-performance { gap: 10px; }.panneau-performance .titre-panneau { flex-wrap: wrap; }
}
@media(max-width:1000px) {
    .indicateurs { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .pilotage-apercu { grid-template-columns: 1fr; }.pilotage-details { grid-template-columns: 1fr; }
    .pilotage-details .pilotage-large { grid-column: auto; }.indicateur-valeur { font-size: 30px; }
    .carte-reception { gap: 13px; }.decouvrir-demande { max-width: 125px; }
    .grille-commissions-partenaires { grid-template-columns: 1fr; }
}
@media(max-width:650px) {
    .entete-page h1 { font-size: 26px; }.entete-page p { font-size: 12px; }
    .pilotage-filtres { gap: 10px; }.periode-pilotage { flex-basis: 100%; font-size: 10px; }
    .pilotage-filtres .origine-pilotage { flex: 1; }.pilotage-filtres select { width: 100%; font-size: 11px; }
    .pilotage-filtres .selecteur-segmente { width: 100%; justify-content: space-between; order: -1; }
    .pilotage-filtres .periode-pilotage { order: -2; }.pilotage-filtres .selecteur-segmente button { flex: 1; padding: 7px 5px; }
    .indicateurs { gap: 10px; margin-bottom: 18px; }.indicateur { padding: 15px; }.indicateur-valeur { font-size: 25px; }
    .indicateur-tete { align-items: flex-start; gap: 6px; font-size: 11px; line-height: 1.5; }.indicateur-icone { width: 25px; height: 25px; }.indicateur-detail { font-size: 10px; }
    .pilotage-apercu { gap: 15px; }.pilotage-apercu .panneau, .panneau-performance, .pilotage-details .panneau, .panneau-commissions { padding: 18px; }
    .contenu-pilotage .panneau h2, .panneau-commissions h2 { font-size: 14px; }.legende-mensuelle { font-size: 10px; }
    .graphique-mensuel { height: 210px; padding-left: 27px; }.barres-mensuelles { gap: 5px; }.groupe-mensuel { gap: 3px; }.mois-graphique { font-size: 9px; }
    .barres-mensuelles:has(.groupe-mensuel:nth-child(10)) .groupe-mensuel:nth-child(odd) .mois-graphique { display: none; }
    .parcours-conversion { gap: 19px; }.piste-conversion { height: 8px; }.actions-performance { width: 100%; justify-content: space-between; }
    .panneau-performance .titre-panneau { margin-bottom: 10px; }.table-structures { font-size: 11px; table-layout: auto; }
    .table-structures thead th { font-size: 8px; padding: 10px 4px; letter-spacing: 0; }.table-structures th:first-child { width: 33%; }
    .table-structures td { padding: 15px 4px; }.nom-structure { font-size: 11px; gap: 5px; }.nom-structure svg { display: none; }.taux-conversion { font-size: 10px; padding: 4px 5px; }
    .table-structures th:last-child { font-size: 0; }.table-structures th:last-child::after { content: 'Taux'; font-size: 8px; }
    .note-performance { font-size: 10px; }.table-structures .taux-reserve { font-size: 8px; }
    .grille-reseau { grid-template-columns: 1fr; gap: 13px; }.carte-reseau .entite-principal { min-height: 215px; padding: 20px; }
    .outils-reseau { flex-wrap: wrap; gap: 10px; }.outils-reseau .recherche { max-width: none; flex-basis: 100%; }
    .outils-reseau>label:last-child { width: 100%; }.outils-reseau select { width: 100%; }
    .outils-reception { flex-direction: column; align-items: stretch; gap: 12px; }.outils-reception .recherche { max-width: none; }.outils-reception .selecteur-segmente { order: -1; }
    .outils-reception .selecteur-segmente button { flex: 1; }.carte-reception { display: grid; grid-template-columns: 36px minmax(0,1fr); padding: 17px; gap: 12px; align-items: start; }
    .avatar-reception { width: 36px; height: 36px; }.carte-reception .titre-lead { font-size: 13px; }.reception-titre { gap: 5px; }
    .decouvrir-demande { grid-column: 2; width: fit-content; max-width: none; margin-top: 1px; font-size: 10px; }.carte-reception .badge { font-size: 9px; }
    .demande-contact { padding: 15px; }.demande-lien { flex: 1 1 100%; }.demande-provenance>div { grid-template-columns: 88px minmax(0,1fr); gap: 10px; }
    .montants-devis { gap: 6px; }.montants-devis>div { padding: 8px 9px; }.montants-devis b { font-size: 13.5px; }.devis-montant { margin-left: 0; width: 100%; }
    .lecture-resume { font-size: 14.5px; }
    .table-commissions { min-width: 500px; }.table-commissions td { font-size: 11px; }.table-commissions thead th { font-size: 9px; }
    .note-commissions { font-size: 11px; }.commissions-outils .periode-pilotage { flex-basis: auto; }
}
@media(prefers-color-scheme:dark) {
    :root { --graphique-demandes: #84977b; --graphique-signatures: #e18c79; --graphique-sauge: #95b18a; --conversion-fond: #293e31; --conversion-texte: #acd0b7; }
    .indicateur-icone { background: var(--surface-douce)!important; color: #c8bea4!important; }
    .badge[data-statut=nouvelle] { background: #393044; color: #cbb9e1; }.badge[data-statut=contactee],.badge[data-statut=rdv] { background: #2d3a47; color: #afc8df; }
    .badge[data-statut=devis_en_cours],.badge[data-statut=devis_envoye],.etat-commission { background: #423a27; color: #e1c894; }
    .etat-commission[data-etat-commission=facturee] { background: #3c382f; color: #dac9a7; }
    .avatar-reception { background: #393044; color: #cbb9e1; }.carte-reception:nth-child(3n+2) .avatar-reception { background: #304235; color: #b9d0b7; }.carte-reception:nth-child(3n) .avatar-reception { background: #423a30; color: #d7c2a7; }
    .demande-avatar { background: #393044; color: #cbb9e1; }
    .statut-devis[data-statut="en cours"] { background: #2d3a47; color: #afc8df; }
}
