/* Compléments propres à la version Django */
.marque { display: flex; align-items: center; gap: 8px; padding: 16px 14px; font-weight: 700; }
.marque-sceau { width: 22px; height: 22px; border-radius: 50%; background: var(--cire); display: inline-block; }
.side-pied { padding: 12px 14px; border-top: 1px solid #e2e6e2; margin-top: auto; }
.side { display: flex; flex-direction: column; }
.page-seule { display: grid; place-items: center; min-height: 100vh; background: #f3f5f2; }
.page-seule .carte { width: min(420px, 92vw); }
.grille-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px; align-items: end; }
.partages { display: flex; flex-wrap: wrap; gap: 4px 10px; } .partages form { display: inline; }
.puce { border: 1px solid #cfd6cf; border-radius: 99px; padding: 1px 9px; font-size: .78rem; background: #fff; cursor: pointer; }
.puce.on { background: var(--cire-pale); border-color: var(--cire); color: var(--cire); font-weight: 600; }
.sensible { color: #c62828; font-size: .74rem; font-weight: 650; }
table.tab td, table.tab th { padding: 7px 8px; vertical-align: top; }
/* Éditeur */
.ed-tete { display: flex; gap: 10px; align-items: center; margin-bottom: 8px; } .ed-tete input { font-size: 1.25rem; font-weight: 650; flex: 1; border: 1px solid transparent; padding: 4px 6px; }
.ed-tete input:focus { border-color: #cfd6cf; } .ed-actions { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0; }
.ed-barre { position: sticky; top: 0; z-index: 2; display: flex; flex-wrap: wrap; gap: 2px; background: #fff; border: 1px solid #e2e6e2; border-radius: 8px; padding: 4px; margin-bottom: 8px; }
.ed-barre button { border: 0; background: none; padding: 5px 9px; border-radius: 5px; cursor: pointer; } .ed-barre button:hover { background: #eef2ee; }
.ed-page { background: #fff; border: 1px solid #e2e6e2; border-radius: 8px; padding: 48px 56px; min-height: 60vh; font: 11pt/1.55 "Times New Roman", Times, serif; outline: none; max-width: 820px; }
.ed-page .droite { text-align: right; } .ed-page .centre { text-align: center; }
span.var { background: #e8f0fb; border-radius: 3px; padding: 0 2px; } span.var.vide { background: #ffe9b0; color: #7a4a0a; }
.ed-page table { border-collapse: collapse; width: 100%; font-size: .85em; } .ed-page th, .ed-page td { border: 1px solid #d9ded9; padding: 4px 6px; }
.cr-alerte { padding: 7px 11px; border-radius: 6px; border-left: 4px solid #d9822b; background: #fff4e5; } .cr-r { border-color: #c62828; background: #fdecea; } .cr-v { border-color: #3f7a5c; background: #eef4ea; }
.rapport-bandeau { background: var(--cire-pale); border-left: 4px solid var(--cire); border-radius: 6px; padding: 10px 14px; margin: 0 0 10px; font-size: .88rem; } .rapport-lcb { background: #fdecea; border-left-color: #c62828; }
small.code { color: #8a948c; font-weight: 400; font-size: .72rem; }
/* Navigation et urgences */
.barre-haut { display: flex; gap: 16px; align-items: center; justify-content: flex-end; margin: -6px 0 14px; font-size: .9rem; }
.barre-haut > a { color: var(--cire); font-weight: 600; text-decoration: none; }
.urgences { position: relative; } .urgences summary { cursor: pointer; font-weight: 600; color: var(--cire); list-style: none; }
.pastille { background: #d9822b; color: #fff; border-radius: 99px; padding: 0 7px; font-size: .75rem; } .pastille-rouge { background: #c62828; }
.urgences-pan { position: absolute; right: 0; top: 26px; z-index: 5; width: 320px; background: #fff; border: 1px solid #e2e6e2; border-radius: 10px; box-shadow: 0 8px 24px rgba(0,0,0,.08); padding: 8px; }
.urg { display: block; padding: 7px 9px; border-radius: 6px; text-decoration: none; color: inherit; border-left: 3px solid #d9822b; margin-bottom: 4px; }
.urg-retard { border-left-color: #c62828; background: #fdecea; } .urg small { display: block; color: #666; }
.ligne-titre { display: flex; gap: 10px; align-items: center; } .ligne-titre h1 { margin-right: auto; }
.vote td, .vote th { text-align: center; } .v-oui { background: #e3f1e6; } .v-peut_etre { background: #fff4e5; } .v-non { background: #fdecea; } .meilleur { outline: 2px solid #3f7a5c; }
.rib { display: grid; grid-template-columns: 1fr auto; gap: 6px 14px; padding: 10px 0; border-bottom: 1px solid #eef0ee; } .rib > p, .rib > form, .rib > ul { grid-column: 1 / -1; margin: 0; }
.rib-alerte { background: #fff8f7; } .signaux { color: #c62828; font-size: .84rem; } .rib-office { border-left: 4px solid var(--cire); }
.rib code { white-space: nowrap; }
.outils-liste { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
/* Négociation */
.neg-match { display: grid; grid-template-columns: 46px 1fr auto; gap: 12px; align-items: center; padding: 8px 0; border-bottom: 1px solid #eef0ee; font-size: .9rem; }
.neg-score { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; font-weight: 700; background: var(--cire-pale); color: var(--cire); }
.neg-canal { font-size: .74rem; background: #eef2fb; border-radius: 99px; padding: 1px 8px; }
.bon-texte { background: #fbfcfb; border: 1px solid #e2e6e2; border-radius: 8px; padding: 10px 14px; margin-bottom: 10px; }
.bon-id { border: 1px solid #e2e6e2; border-radius: 8px; padding: 10px 12px; margin: 10px 0; } #id-apercu { max-width: 240px; border-radius: 4px; }
.bon-sigs { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px; margin: 10px 0; }
.bon-sigs canvas { width: 100%; height: auto; aspect-ratio: 600 / 220; border: 1px dashed #b9c2b9; border-radius: 6px; background: #fff; touch-action: none; }
.phase { font-size: .72rem; font-weight: 650; border-radius: 99px; padding: 1px 8px; } .phase-negociation { background: #fff4e5; color: #7a4a0a; } .phase-vente { background: #eef4ea; color: #2f5e46; }
.filtre { font-size: .8rem; padding: 3px 10px; border: 1px solid #cfd6cf; border-radius: 99px; text-decoration: none; color: #333; } .filtre.actif { background: var(--cire); color: #fff; border-color: var(--cire); }
.filtres-neg { display: flex; gap: 4px; padding: 10px 12px 0; }
.ed-ia { border: 1px solid #d6e2f2; background: #f5f8fd; border-radius: 8px; padding: 8px 12px; margin-bottom: 8px; font-size: .88rem; }
.ed-ia-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; } .ed-ia-actions input { flex: 1; min-width: 220px; }
.ed-ia-texte { background: #fff; border: 1px solid #e2e6e2; border-radius: 6px; padding: 8px 12px; margin: 8px 0; font: 11pt/1.5 "Times New Roman", serif; }
.fiche-section summary { cursor: pointer; list-style: none; } .fiche-section summary h2 { display: inline; } .fiche-section summary::before { content: '▸ '; color: #8a948c; } .fiche-section[open] summary::before { content: '▾ '; }
.diags ul { margin: 0; padding-left: 18px; font-size: .88rem; } .diag-erreur { color: #c62828; } .diag-attention { color: #a35a00; } .diag-ok { color: #2f5e46; }
.delai { grid-column: 1 / -1; border: 1px solid #e2e6e2; border-radius: 8px; padding: 8px 10px; } .delai-saisie { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 4px 0; font-size: .88rem; }
.delai-saisie input[size] { width: 4.5em; } .delai-saisie select { width: auto; }
.pop-champ { position: absolute; z-index: 30; background: #fff; border: 1px solid #cfd6cf; border-radius: 10px; box-shadow: 0 10px 28px rgba(0,0,0,.14); padding: 10px 12px; width: 300px; display: grid; gap: 6px; font-size: .88rem; }
#ed-contenu span.var, .ed-ia-texte span.var { cursor: pointer; } #ed-contenu span.var:hover, .ed-ia-texte span.var:hover { outline: 1px solid var(--cire); }
span.var.verifier { background: #eef2fb; border-bottom: 2px dotted #c77700; } .badge-verifier { font-size: .72rem; color: #a35a00; background: #fff4e5; border-radius: 99px; padding: 0 7px; }
.lecture { font-size: .78rem; } .lecture-attente { color: #6a7480; }
.badge-verifier { display: inline-block; width: fit-content; margin-left: 4px; }
.confiance { font-size: .7rem; border-radius: 99px; padding: 0 7px; font-weight: 600; } .confiance-haute { background: #e3f1e6; color: #2f5e46; } .confiance-moyenne { background: #fff4e5; color: #a35a00; } .confiance-basse { background: #fdecea; color: #c62828; }
.alternatives { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; margin-top: 3px; } .alt { border: 1px solid #cfd6cf; background: #fff; border-radius: 6px; padding: 1px 7px; font-size: .78rem; cursor: pointer; } .alt:hover { border-color: var(--cire); background: var(--cire-pale); }
.badge-perso { font-size: .7rem; background: #eef2fb; border-radius: 99px; padding: 0 7px; } .cas-usage { color: #6a7480; }
.ed-page .adhoc, .ed-ia-texte .adhoc { border-left: 3px solid #c77700; background: #fffaf0; padding: 4px 10px; margin: 6px 0; position: relative; }
.ed-page .adhoc::before { content: "Clause générée ad hoc — hors modèle, à vérifier"; display: block; font: 600 .7rem system-ui, sans-serif; color: #a35a00; margin-bottom: 2px; }
.selection-modele { border: 1px solid #e2e6e2; border-radius: 8px; padding: 10px 12px; margin: 6px 0; } .selection-modele.retenu { border-color: var(--cire); background: #f6faf4; }
.matrice td.n, .matrice th { text-align: center; } .matrice td:first-child { text-align: left; }
.portee { font-size: .68rem; border-radius: 99px; padding: 1px 6px; white-space: nowrap; } .portee-g { background: #e3f1e6; color: #2f5e46; } .portee-a { background: #eef2fb; color: #2d4a7a; }
.matrice td:first-child { min-width: 220px; } .matrice th { font-size: .75rem; }
.marque-logo { max-height: 36px; max-width: 120px; object-fit: contain; } .pied-marque { margin-top: 30px; color: var(--gris); border-top: 1px solid var(--trait); padding-top: 8px; }
.apercu-marque { display: flex; gap: 10px; align-items: center; margin: 10px 0; padding: 10px; border: 1px dashed var(--trait-fort); border-radius: 8px; }
.apercu-bande { background: var(--p); color: #fff; padding: 6px 12px; border-radius: 6px; font-weight: 600; } .apercu-bouton { background: var(--p); color: #fff; padding: 4px 12px; border-radius: 6px; } .apercu-pastille { background: var(--a); color: #fff; padding: 2px 10px; border-radius: 99px; font-size: .8rem; }
.chiffres-cles { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; margin: 12px 0; }
.chiffre { display: flex; flex-direction: column; background: var(--fond); border: 1px solid var(--trait); border-radius: 10px; padding: 12px; text-decoration: none; color: var(--texte); }
.chiffre strong { font-size: 1.5rem; color: var(--encre); } .chiffre span { font-size: .78rem; color: var(--gris); } .chiffre-alerte strong { color: #c62828; }
.pipeline { display: grid; grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)); gap: 6px; } .semaine { border: 1px solid var(--trait); border-radius: 8px; padding: 6px; font-size: .74rem; display: flex; flex-direction: column; gap: 2px; min-height: 64px; }
.semaine a { text-decoration: none; color: var(--encre); } .semaine-chargee { border-color: #c62828; background: #fdecea; } .vide-s { color: var(--trait-fort); }
.pastille-retard { display: inline-block; width: 10px; height: 10px; border-radius: 50%; } .pr-orange { background: #d9822b; } .pr-rouge { background: #c62828; }
.barre-ligne { display: grid; grid-template-columns: 130px 1fr 90px; gap: 8px; align-items: center; margin: 3px 0; font-size: .82rem; } .barre { background: var(--papier); border-radius: 4px; height: 14px; display: flex; overflow: hidden; }
.barre > span { background: var(--cire); height: 100%; } .barre-val { text-align: right; } .b-ferme { background: var(--encre) !important; } .b-probable { background: var(--cire) !important; } .b-incertain { background: var(--trait-fort) !important; }
.leg { display: inline-block; width: 10px; height: 10px; border-radius: 2px; } .leg-ferme { background: var(--encre); } .leg-probable { background: var(--cire); } .leg-incertain { background: var(--trait-fort); }
.vue-perso { display: flex; gap: 6px; justify-content: flex-end; margin: -6px 0 6px; } .vue-perso input { max-width: 200px; } .item.actif .item-t { color: var(--cire); }
.collecte { display: grid; grid-template-columns: 1fr; gap: 4px; margin: 6px 0 10px; } .dem-partie { margin: 10px 0; } .dem-tete { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.dem-tete form { display: inline; } .dem-statut { display: flex; gap: 4px; flex-wrap: wrap; align-items: center; } .dem-statut select, .dem-statut input { width: auto; } .dem-retard td:first-child { border-left: 3px solid #c62828; }
.dem-validee td:first-child { color: var(--gris); } .dem-annulee td:first-child { text-decoration: line-through; color: var(--gris); } .role-etude { float: right; margin-top: -40px; } .role-etude select { width: auto; }
.grille-partages th { font-size: .74rem; text-align: center; vertical-align: bottom; } .cat-agence { background: #fff4e5; } .cat-confrere { background: #eef2fb; } .cat-pro { background: #f3f0f8; }
.dem-statut select, .dem-statut input[type=date] { font-size: .78rem; padding: 3px 6px; height: auto; min-height: 0; } .dem-statut input[type=date] { max-width: 140px; }
.dem-lier summary { font-size: .74rem; color: var(--gris); cursor: pointer; margin-top: 2px; } .dem-retard td:first-child { box-shadow: inset 3px 0 0 #c62828; padding-left: 10px; }
.rl-tete { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin-bottom: 10px; } .rl-bloc { position: relative; } .rl-actions summary { font-size: .75rem; color: var(--gris); cursor: pointer; }
.rl-actions form { display: grid; gap: 4px; margin: 4px 0 10px; } .rl-prop { border-left: 3px solid var(--cire); background: var(--cire-pale); padding: 4px 8px; margin: 2px 0 8px; }
.prop-acceptee td:first-child { opacity: .7; } .prop-refusee td:first-child { opacity: .5; } .relecture { margin-bottom: 10px; }
.relire .rl-actions { display: block; } .relire .rl-actions summary { opacity: .75; } .relire .rl-bloc:hover .rl-actions summary, .relire .rl-actions[open] summary { opacity: 1; }
.relire-page { max-width: 860px; margin: 24px auto; padding: 0 16px; background: transparent; } body.app:has(.relire-page) { display: block; background: var(--papier); }
.piece-modifier summary { font-size: .72rem; color: var(--gris); cursor: pointer; } .piece-modifier input { max-width: 260px; }
.decompte input.calcul { font-size: .74rem; color: var(--gris); margin-top: 2px; } .tab-total { max-width: 460px; margin-left: auto; } tr.corrige td { background: var(--cire-pale); }
.montant-appel { font-size: 2rem; font-weight: 700; color: var(--encre); margin: 6px 0; } .iban { font-family: ui-monospace, monospace; letter-spacing: .04em; } textarea.code { font-family: ui-monospace, monospace; font-size: .78rem; }
.barre-haut { flex-wrap: wrap; row-gap: 4px; column-gap: 14px; } .barre-haut > a { white-space: nowrap; }
.decompte td { vertical-align: top; } .decompte input[name=libelle], .decompte input.calcul { width: 100%; min-width: 200px; } .decompte select { width: auto; max-width: 130px; } .decompte input[name=montant] { width: 110px; }
.tab td.n, .tab th.n { white-space: nowrap; }
.proposition { border-top: 1px solid var(--trait); padding: 10px 0; } .proposition:first-of-type { border-top: 0; } .actions-prop { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 6px; }
.apercu-clause { min-height: 0; padding: 14px 18px; margin: 6px 0; font-size: .9rem; } pre.requete { white-space: pre-wrap; font-size: .76rem; background: var(--papier); padding: 10px; border-radius: 6px; max-height: 320px; overflow: auto; }
.extrait { color: var(--gris); font-style: italic; }
.macaron-expert { background: #f3eefc; border: 1px solid #c9b6ef; color: #3b2a63; border-radius: 99px; padding: 5px 14px; font-size: .78rem; margin: 0 0 12px; display: inline-block; }
.macaron-expert a { color: inherit; } .action-sugg { display: flex; gap: 10px; justify-content: space-between; align-items: flex-start; border-top: 1px solid var(--trait); padding: 8px 0; }
.action-sugg:first-of-type { border-top: 0; } .action-sugg form { display: flex; gap: 4px; flex-shrink: 0; } .source-prec { color: #6b4fa0; } .source-expert { color: #3b2a63; font-weight: 600; }
.question-rapide { display: flex; gap: 6px; margin: 0 0 12px; } .question-rapide input { flex: 1; }
.extrait-piece { border-top: 1px solid var(--trait); padding: 8px 0; } .extrait-piece blockquote { margin: 4px 0 6px; padding: 6px 10px; border-left: 3px solid var(--cire); background: var(--papier); font-size: .88rem; }
.extrait-piece mark { background: #fff1b8; padding: 0 1px; } .reponse-ia { border-left: 4px solid #6b4fa0; }
.verifs { color: #7a4b00; } .verifs li { margin: 2px 0; } .cedants-pv input, .cedants-pv select { min-width: 0; }
.graphiques { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 10px; } img.graphique { max-width: 100%; height: auto; }
.boite tr.non-lu strong { color: var(--encre); } .boite tr.non-lu td:first-child { border-left: 3px solid var(--cire); }
.fil .msg { border-top: 1px solid var(--trait); padding: 10px 0; } .fil .msg:first-child { border-top: 0; } .msg-sortant { padding-left: 18px !important; background: var(--papier); }
.msg-corps { white-space: normal; font-size: .9rem; line-height: 1.45; } #reponse textarea { width: 100%; }
.barre-haut a > .pastille, nav.list .pastille { position: static; display: inline-block; height: auto; min-width: 0; line-height: 1.5; vertical-align: 1px; }
.connexion { max-width: 420px; width: 100%; } .connexion-marque { text-align: center; margin-bottom: 10px; } .connexion-marque .marque-logo { max-height: 56px; }
.connexion-lien { margin-top: 14px; border-top: 1px solid var(--trait); padding-top: 10px; } .connexion-lien summary { cursor: pointer; color: var(--encre-2); font-size: .9rem; }
.propulse { text-align: center; margin-top: 14px; opacity: .6; }
[hidden] { display: none !important; }   /* l'attribut hidden l'emporte toujours sur les règles de mise en page */

/* Marque de la plateforme Skrib et de l'assistant Skrib */
.marque-sceau-img { width: 30px; height: 30px; object-fit: contain; flex: none; } .tb-marque .marque-sceau-img { width: 26px; height: 26px; }
.logo-plateforme { max-width: 240px; width: 70%; height: auto; display: block; margin: 0 auto 6px; } .nom-office { font-size: 1.05rem; margin: 4px 0 0; }
.propulse-lien { color: inherit; text-decoration: none; white-space: nowrap; } .propulse-lien img { vertical-align: -2px; }
.ico-skrib { width: 15px; height: 15px; vertical-align: -3px; margin-right: 5px; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .logo-plateforme { background: #fff; border-radius: 14px; padding: 10px; } }
:root[data-theme="dark"] .logo-plateforme { background: #fff; border-radius: 14px; padding: 10px; }
.bandeau-verification { background: #fff4d6; color: #6b4e00; padding: 6px 14px; font-size: .85rem; text-align: center; border-bottom: 1px solid #ecd9a6; }

/* Thèmes de la marque */
.themes { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 12px; } .theme-choix { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border: 1px solid var(--trait-fort); border-radius: 99px; background: var(--fond); cursor: pointer; font: inherit; font-size: .85rem; }
.theme-choix.actif { border: 2px solid var(--encre); font-weight: 600; } .pastille-c { width: 14px; height: 14px; border-radius: 50%; display: inline-block; }
.apercu-theme { border: 1px solid var(--trait); border-radius: 10px; overflow: hidden; max-width: 460px; margin-bottom: 10px; } .ap-barre { background: var(--ap1); color: #fff; padding: 10px 14px; display: flex; align-items: center; gap: 10px; font-weight: 600; }
.ap-barre img { max-height: 28px; background: #fff; border-radius: 4px; padding: 2px; } .ap-corps { padding: 12px 14px; background: #fff; } .ap-btn { background: var(--ap1); color: #fff; padding: 6px 12px; border-radius: 6px; font-size: .85rem; }
.ap-pastille { background: var(--ap2); color: #fff; padding: 2px 10px; border-radius: 99px; font-size: .8rem; }
.monogramme { display: inline-flex; align-items: center; justify-content: center; min-width: 30px; height: 30px; padding: 0 6px; border-radius: 8px; background: var(--encre); color: #fff; font-weight: 700; font-size: .8rem; letter-spacing: .02em; border: 2px solid var(--cire); }
.ap-barre .monogramme { background: rgba(255,255,255,.15); border-color: var(--ap2); } .monogramme-grand { min-width: 64px; height: 64px; font-size: 1.4rem; border-radius: 14px; }
.pied-plateforme { font-size: .72rem; color: var(--gris); padding: 10px 14px; line-height: 1.6; } .pied-plateforme a { color: var(--gris); } .pied-plateforme img { vertical-align: -2px; }
