/* Fransou · l'accès expert-comptable · thème Encre (charte v0.3), clair par jetons à deux valeurs.
   Tout est rangé sous .cp (préfixe cp-) : rien ne déborde sur l'appli, rien de l'appli ne déborde ici. Rien sous 12 px, une seule
   police (Fransou Texte, servie par Devis et factures v2 sous /factures-v2/fonts/), un seul bouton plein par écran.
   Mouvement minime (appli de finances) : transform et opacity seulement, coupé sous prefers-reduced-motion. */
@font-face{font-family:'Fransou Texte';src:url('/factures-v2/fonts/FransouTexte-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Fransou Texte';src:url('/factures-v2/fonts/FransouTexte-Medium.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Fransou Texte';src:url('/factures-v2/fonts/FransouTexte-Semibold.woff2') format('woff2');font-weight:600;font-display:swap}

.cp{position:absolute;inset:0;z-index:1;overflow:hidden;font:400 15px/1.6 'Fransou Texte',system-ui,sans-serif;font-variant-numeric:tabular-nums;-webkit-text-size-adjust:100%;text-align:left;letter-spacing:normal}
.cp .cp-racine{
  --fond:#0C181C; --carte:#14242A; --carte-2:#1A2D34; --texte:#FFFFFF; --sec:#BCC6C9; --filet:#536066; --plein-fond:#FFFFFF; --plein-texte:#0C181C; --voix:#9FB4C7;
  --ok:#8FD3B0; --attente:#E8C987; --soie:#FFFFFF; --soie-op:.06;
  --r-pastille:4px; --r-champ:5px; --r-bouton:8px; --r-carte:10px; --r-bloc:12px; --duree:160ms; --courbe:cubic-bezier(.23,1,.32,1);
  position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;background:var(--fond);color:var(--texte)}
.cp .cp-racine.cp-clair{--fond:#FFFFFF; --carte:#F3F4F3; --carte-2:#E9ECEC; --texte:#0C181C; --sec:#536066; --filet:#D7DDDE; --plein-fond:#0C181C; --plein-texte:#FFFFFF; --voix:#2E4A63; --ok:#1F6B45; --attente:#7A5410; --soie:#0C181C; --soie-op:.07}
.cp *,.cp *::before,.cp *::after{box-sizing:border-box}
.cp a{color:inherit;text-decoration:none}
.cp button,.cp input,.cp textarea,.cp select{font:inherit;color:inherit;letter-spacing:normal;margin:0}
.cp h1,.cp h2,.cp h3,.cp p,.cp ul,.cp dl,.cp dd,.cp pre{margin:0}
.cp :focus-visible{outline:2px solid var(--texte);outline-offset:3px}
.cp .cp-vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
body.cp-cabinet #fi-conversations{display:none!important}
.cp .cp-chargement{padding:32px 40px;color:#BCC6C9;background:#0C181C;position:absolute;inset:0}

/* La casquette SOIE : un motif fixe du cadre, même place sur chaque route (bas de la barre de gauche ; en-tête à 390 px). */
.cp .cp-soie{position:fixed;z-index:0;pointer-events:none;left:-150px;bottom:72px;width:520px;aspect-ratio:632/288;background:var(--soie);opacity:var(--soie-op);clip-path:inset(0 138px 0 0);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-8 -8 632 288'%3E%3Cpath d='M 411 158 C 402 121 384 66 354 35 C 311 -10 265 -7 203 14 C 127 40 47 95 15 143 C -10 180 -12 221 13 241 C 40 264 72 253 109 233 C 143 215 168 203 200 203 C 259 204 308 247 375 260 C 459 277 551 232 599 179 C 614 163 607 151 592 157 C 528 180 477 191 425 183 C 374 175 333 151 289 158 C 232 164 191 191 145 199 C 107 206 82 209 86 172 C 91 135 120 76 163 47 C 210 15 254 48 292 87 C 330 129 371 147 411 158 Z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-8 -8 632 288'%3E%3Cpath d='M 411 158 C 402 121 384 66 354 35 C 311 -10 265 -7 203 14 C 127 40 47 95 15 143 C -10 180 -12 221 13 241 C 40 264 72 253 109 233 C 143 215 168 203 200 203 C 259 204 308 247 375 260 C 459 277 551 232 599 179 C 614 163 607 151 592 157 C 528 180 477 191 425 183 C 374 175 333 151 289 158 C 232 164 191 191 145 199 C 107 206 82 209 86 172 C 91 135 120 76 163 47 C 210 15 254 48 292 87 C 330 129 371 147 411 158 Z'/%3E%3C/svg%3E") center/contain no-repeat}

/* En-tête : le nom seul (décision du 17/10, 5 h 10) */
.cp .cp-entete{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:64px;padding:0 32px;border-bottom:1px solid var(--filet);background:var(--fond)}
.cp .cp-gauche{display:flex;align-items:center;gap:28px;min-width:0}
.cp .cp-nom{font-weight:600;font-size:18px;letter-spacing:.02em}
.cp .cp-ariane{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--sec);min-width:0;flex-wrap:wrap}
.cp .cp-ariane a{color:var(--sec);min-height:44px;display:inline-flex;align-items:center}
.cp .cp-ariane a:hover{color:var(--texte)}
.cp .cp-ariane b{font-weight:500;color:var(--texte)}
.cp .cp-ariane i{font-style:normal}
.cp .cp-droite{display:flex;align-items:center;gap:12px;flex:none}
.cp .cp-icone{min-height:44px;padding:8px 14px;border:1px solid var(--filet);border-radius:var(--r-bouton);background:transparent;cursor:pointer;font-size:14px}

/* Cadre : barre de côté et page */
.cp .cp-cadre{position:relative;z-index:1;display:grid;grid-template-columns:232px minmax(0,1fr);min-height:calc(100% - 64px)}
.cp .cp-cote{padding:24px 16px 120px;border-right:1px solid var(--filet);display:flex;flex-direction:column;gap:4px}
.cp .cp-titre-app{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--sec);padding:0 12px 10px}
.cp .cp-espace{display:flex;align-items:center;min-height:44px;padding:8px 12px;border-radius:var(--r-bouton);color:var(--sec);transition:background-color var(--duree) var(--courbe),color var(--duree)}
.cp .cp-espace:hover{color:var(--texte);background:var(--carte)}
.cp .cp-espace.cp-on{color:var(--texte);background:var(--carte-2);font-weight:500}
.cp .cp-principal{padding:28px 40px 120px;min-width:0;display:flex;flex-direction:column;gap:20px}
.cp .cp-tete{display:flex;flex-direction:column;gap:6px}
.cp .cp-surtitre{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--sec)}
.cp h1{font-size:34px;line-height:1.15;font-weight:600;letter-spacing:-.012em}
.cp .cp-voix{color:var(--voix);max-width:68ch}
.cp .cp-onglets{display:flex;gap:4px;border-bottom:1px solid var(--filet);overflow-x:auto;scrollbar-width:none}
.cp .cp-onglet{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;color:var(--sec);border-bottom:2px solid transparent;white-space:nowrap}
.cp .cp-onglet:hover{color:var(--texte)}
.cp .cp-onglet.cp-on{color:var(--texte);border-bottom-color:var(--texte);font-weight:500}

/* Blocs */
.cp .cp-bloc{background:var(--carte);border-radius:var(--r-bloc);padding:22px 24px;display:flex;flex-direction:column;gap:16px;min-width:0}
.cp .cp-bloc-t{display:flex;flex-direction:column;gap:4px}
.cp .cp-bloc h2{font-size:19px;font-weight:600;line-height:1.3}
.cp .cp-note{color:var(--sec);font-size:14px}
.cp .cp-vide{color:var(--sec);padding:12px 0}
.cp .cp-panne{border:1px solid var(--attente);border-radius:var(--r-carte);padding:14px 16px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.cp .cp-liste{padding-left:20px;display:flex;flex-direction:column;gap:6px}
.cp .cp-dl{display:grid;grid-template-columns:minmax(120px,max-content) minmax(0,1fr);gap:6px 18px}
.cp .cp-dl dt{color:var(--sec);font-size:14px}
.cp .cp-num{font-variant-numeric:tabular-nums;white-space:nowrap}

/* Boutons */
.cp .cp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:var(--r-bouton);border:1px solid var(--filet);background:transparent;color:var(--texte);font-weight:500;white-space:nowrap;cursor:pointer;transition:border-color var(--duree) var(--courbe),transform 90ms var(--courbe)}
.cp .cp-btn:hover{border-color:var(--texte)}
.cp .cp-btn:active{transform:scale(.98)}
.cp .cp-btn:disabled{opacity:.55;cursor:default}
.cp .cp-btn.cp-plein{background:var(--plein-fond);border-color:var(--plein-fond);color:var(--plein-texte);font-weight:600;min-height:48px;padding:12px 22px}
.cp .cp-btn.cp-petit{min-height:44px;padding:8px 14px;font-size:14px}
.cp .cp-lien{display:inline-flex;align-items:center;min-height:44px;color:var(--texte);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px;font-weight:500;background:none;border:0;cursor:pointer;padding:0}
.cp .cp-gestes{display:flex;flex-wrap:wrap;gap:12px;align-items:center}

/* Barre d'actions des listes */
.cp .cp-barre{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.cp .cp-recherche{flex:1 1 220px;min-width:0}
.cp .cp-saisie{width:100%;min-height:44px;padding:9px 12px;border:1px solid var(--filet);border-radius:var(--r-champ);background:var(--fond);color:var(--texte)}
.cp textarea.cp-saisie{resize:vertical;min-height:88px}
.cp .cp-choix{flex:0 1 180px}
.cp .cp-champ{display:flex;flex-direction:column;gap:6px;min-width:0}
.cp .cp-champ > span{font-size:14px;color:var(--sec)}
.cp .cp-champ-court{max-width:420px}
.cp .cp-case{display:flex;align-items:center;gap:12px;min-height:44px}
.cp .cp-case input{width:20px;height:20px}
.cp .cp-grille{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.cp .cp-form{display:flex;flex-direction:column;gap:16px}
.cp .cp-onglets-s{display:flex;flex-wrap:wrap;gap:8px}
.cp .cp-seg{min-height:44px;padding:8px 14px;border:1px solid var(--filet);border-radius:var(--r-bouton);background:transparent;cursor:pointer}
.cp .cp-seg.cp-seg-on{background:var(--carte-2);border-color:var(--texte)}

/* Tableaux */
.cp .cp-table{display:flex;flex-direction:column;border-top:1px solid var(--filet)}
.cp .cp-tr{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:16px;align-items:center;padding:10px 4px;border-bottom:1px solid var(--filet);min-width:0}
.cp .cp-tr > *{min-width:0;overflow-wrap:anywhere}
.cp .cp-th{font-size:13px;color:var(--sec);padding-top:6px;padding-bottom:6px}
.cp .cp-tr.cp-actif{background:var(--carte-2)}
.cp .cp-c-large{grid-column:span 2}
.cp .cp-c-g{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;grid-column:span 2}
.cp .cp-c-sel{max-width:44px}
.cp .cp-c-sel input{width:20px;height:20px}
.cp .cp-plus{display:flex;align-items:center;gap:16px;padding-top:12px}
.cp .cp-pastille{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--r-pastille);border:1px solid var(--filet);font-size:13px;color:var(--sec);white-space:nowrap}
.cp .cp-pastille.cp-ok{color:var(--ok);border-color:var(--ok)}
.cp .cp-pastille.cp-attente{color:var(--attente);border-color:var(--attente)}
.cp .cp-pastille.cp-ro{color:var(--texte);border-color:var(--texte)}

/* Chiffres et graphe */
.cp .cp-chiffres{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.cp .cp-chiffre{display:flex;flex-direction:column;gap:2px;padding:16px;border:1px solid var(--filet);border-radius:var(--r-carte);transition:border-color var(--duree)}
.cp .cp-chiffre:hover{border-color:var(--texte)}
.cp .cp-chiffre b{font-size:28px;font-weight:600;line-height:1.2}
.cp .cp-graphe{width:100%;max-width:560px;height:auto}
.cp .cp-graphe .cp-g-avec{fill:var(--sec)}
.cp .cp-graphe .cp-g-sans{fill:var(--attente)}
.cp .cp-graphe .cp-g-t{fill:var(--sec);font-size:12px;font-family:inherit}
.cp .cp-graphe .cp-barre-g{cursor:pointer}

/* Cartes, fils, mail */
.cp .cp-cartes{display:flex;flex-direction:column;gap:12px}
.cp .cp-carte{border:1px solid var(--filet);border-radius:var(--r-carte);padding:18px;display:flex;flex-direction:column;gap:12px}
.cp .cp-carte.cp-avant{background:var(--carte-2)}
.cp .cp-carte-t{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}
.cp .cp-carte h3{font-size:17px;font-weight:600}
.cp .cp-fils{display:flex;flex-direction:column;gap:12px}
.cp .cp-carte-fil{border:1px solid var(--filet);border-radius:var(--r-carte);padding:16px;display:flex;flex-direction:column;gap:10px}
.cp .cp-msg{display:flex;flex-direction:column;gap:2px}
.cp .cp-rep{margin-left:18px;padding-left:12px;border-left:2px solid var(--filet)}
.cp .cp-msg-d{border-left-color:var(--voix)}
.cp .cp-repondre{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.cp .cp-repondre .cp-champ{flex:1 1 240px}
.cp .cp-mail{border:1px solid var(--filet);border-radius:var(--r-carte);padding:18px;background:var(--fond);display:flex;flex-direction:column;gap:8px}
.cp .cp-mail-objet{font-weight:600}
.cp .cp-mail-texte{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}
.cp .cp-attente{color:var(--attente)}

/* Le panneau d'une pièce */
.cp .cp-panneau{position:fixed;z-index:6;top:0;right:0;bottom:0;width:min(460px,100%);background:var(--carte);border-left:1px solid var(--filet);padding:24px;overflow-y:auto;display:flex;flex-direction:column;gap:16px;animation:cp-entre var(--duree) var(--courbe)}
.cp .cp-panneau-t{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.cp .cp-panneau h2{font-size:21px;font-weight:600;line-height:1.25;overflow-wrap:anywhere}
.cp .cp-lignes{display:flex;flex-direction:column;border-top:1px solid var(--filet)}
.cp .cp-ld{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:8px 0;border-bottom:1px solid var(--filet)}
.cp .cp-ld .cp-note{grid-column:1/-1}
.cp .cp-fil{display:flex;flex-direction:column;gap:10px}
.cp .cp-ecrire{display:flex;flex-direction:column;gap:12px}
.cp .cp-dire{position:fixed;z-index:7;left:50%;bottom:24px;transform:translateX(-50%);display:flex;align-items:center;gap:16px;max-width:min(620px,calc(100% - 32px));padding:12px 18px;border-radius:var(--r-carte);background:var(--plein-fond);color:var(--plein-texte);animation:cp-monte var(--duree) var(--courbe)}
.cp .cp-dire .cp-lien{color:var(--plein-texte)}
.cp .cp-bas{display:none}
@keyframes cp-entre{from{transform:translateX(24px);opacity:0}to{transform:none;opacity:1}}
@keyframes cp-monte{from{transform:translate(-50%,12px);opacity:0}to{transform:translateX(-50%);opacity:1}}
@media (prefers-reduced-motion:reduce){.cp *{animation:none!important;transition:none!important}}

/* Téléphone : barre en bas, casquette dans l'en-tête */
@media (max-width:760px){
  .cp .cp-entete{padding:0 16px;gap:12px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}
  .cp .cp-gauche{gap:12px;flex-wrap:wrap}
  .cp .cp-cadre{grid-template-columns:minmax(0,1fr)}
  .cp .cp-cote{display:none}
  .cp .cp-principal{padding:20px 16px 120px}
  .cp h1{font-size:28px}
  .cp .cp-bloc{padding:18px 16px}
  .cp .cp-soie{left:auto;right:-70px;top:-26px;bottom:auto;width:260px;clip-path:inset(0 70px 28px 0);z-index:4}
  .cp .cp-chiffres{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cp .cp-grille{grid-template-columns:minmax(0,1fr)}
  .cp .cp-tr{grid-auto-flow:row;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px 12px}
  .cp .cp-th{display:none}
  .cp .cp-c-large,.cp .cp-c-g{grid-column:1/-1}
  .cp .cp-c-g{justify-content:flex-start}
  .cp .cp-tr > [data-cp-col]::before{content:attr(data-cp-col);display:block;font-size:12px;color:var(--sec)}
  .cp .cp-bas{display:flex;position:fixed;z-index:5;left:0;right:0;bottom:0;background:var(--fond);border-top:1px solid var(--filet);overflow-x:auto;scrollbar-width:none}
  .cp .cp-bas-e{flex:1 0 auto;display:flex;align-items:center;justify-content:center;min-height:56px;padding:0 12px;color:var(--sec);font-size:13px;white-space:nowrap}
  .cp .cp-bas-e.cp-on{color:var(--texte);font-weight:600}
  .cp .cp-dire{bottom:72px}
}
