/* PNP CRM — feuille de style unique (chargée avant tout affichage : aucun flash).
   Charte PNP : bleu nuit, bleu #3957FF, Plus Jakarta Sans, italique Instrument Serif. */

@font-face{font-family:"Jakarta";src:url(fonts/jakarta.woff2) format("woff2");font-weight:200 800;font-style:normal;font-display:block}
@font-face{font-family:"Instrument";src:url(fonts/instrument-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:block}

:root{
  --fond:#030D1A; --panneau:#081A2E; --panneau-2:#0C2340; --survol:#11304F;
  --trait:rgba(157,176,255,.12); --trait-fort:rgba(157,176,255,.22);
  --texte:#EAF0F8; --texte-2:#B4C1D3; --discret:#7F8FA6;
  --bleu:#3957FF; --bleu-700:#2440D8; --bleu-clair:#9DB0FF; --bleu-voile:rgba(57,87,255,.16);
  --vert:#3CCB8F; --vert-voile:rgba(60,203,143,.14);
  --ambre:#F2B84B; --ambre-voile:rgba(242,184,75,.14);
  --rouge:#FF6B6B; --rouge-voile:rgba(255,107,107,.14);
  --violet:#B48CFF; --violet-voile:rgba(180,140,255,.14);
  --sans:"Jakarta",system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:"Instrument",Georgia,serif;
  --r-s:12px; --r:16px; --r-l:22px; --r-pill:999px;
  --ombre:0 1px 0 rgba(255,255,255,.04) inset,0 24px 48px -28px rgba(0,0,0,.65);
  --side:248px; --gouttiere:clamp(16px,2.4vw,32px);
  --ease:cubic-bezier(.2,.7,.1,1);
  --survol-leger:rgba(157,176,255,.07); --survol-moyen:rgba(157,176,255,.1);
  --verre-panneau:linear-gradient(180deg,rgba(18,44,78,.62),rgba(6,20,38,.66));
  --verre-hub:linear-gradient(155deg,rgba(26,58,102,.6) 0%,rgba(10,30,56,.66) 52%,rgba(4,14,28,.74) 100%);
  --verre-barre:linear-gradient(180deg,rgba(18,44,78,.7),rgba(6,20,38,.74));
  --verre-bord:rgba(201,211,255,.16); --verre-creux:rgba(3,13,26,.42); --verre-tuile:rgba(12,35,64,.55); --panneau-voile:rgba(8,26,46,.6);
  --texte-fort:#fff; --side-fond:linear-gradient(180deg,#0B2240 0%,#071729 100%); --champ:#06172A;
  --voile:rgba(3,13,26,.34); --voile-fort:rgba(3,13,26,.72); --ombre-c:rgba(0,0,0,.85); --texte-info:#DCE3FF; --poignee:rgba(255,255,255,.28);
  color-scheme:dark;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-gutter:stable}
body{margin:0;min-height:100dvh;background:var(--fond);color:var(--texte);font:400 14px/1.55 var(--sans);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01"}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--bleu-clair);outline-offset:2px;border-radius:6px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ic{width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}

/* Pas de transition de page native : Safari affiche une page blanche quand la réponse tarde (comme Pantone, désactivée). */
@view-transition{navigation:none}

/* ---------- Coque ---------- */
.shell{display:grid;grid-template-columns:var(--side) minmax(0,1fr);gap:var(--gouttiere);padding:16px var(--gouttiere) 16px 16px;min-height:100dvh}
.side{position:sticky;top:16px;height:calc(100dvh - 32px);display:flex;flex-direction:column;padding:22px 14px 16px;
  background:var(--side-fond);border:1px solid var(--trait);border-radius:var(--r-l);box-shadow:var(--ombre)}
.side-logo{display:flex;align-items:center;gap:10px;padding:4px 10px 22px;color:var(--texte-fort)}
.side-logo svg{width:84px;height:19px}
.side-logo span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--bleu-clair)}
.nav{display:flex;flex-direction:column;gap:2px;flex:1;overflow-y:auto;scrollbar-width:none}
.nav a{position:relative;z-index:1;display:flex;align-items:center;gap:12px;height:42px;padding:0 12px;border-radius:var(--r-s);color:var(--texte-2);font-weight:500;
  transition:background-color .15s,color .15s}
.nav a:hover{background:var(--survol-leger);color:var(--texte)}
.nav .compteur{margin-left:auto;min-width:22px;height:20px;padding:0 7px;border-radius:var(--r-pill);background:var(--bleu-voile);
  color:var(--bleu-clair);font-size:11px;font-weight:700;line-height:20px;text-align:center}
.nav-titre{margin:16px 12px 6px;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--discret)}
.side-pied{padding-top:14px;border-top:1px solid var(--trait)}
.moi{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:var(--r-s)}
.moi:hover{background:var(--survol-leger)}
.avatar{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:50%;background:var(--panneau-2);border:1px solid var(--trait-fort);
  font-size:12px;font-weight:700;color:var(--bleu-clair)}
.moi strong{display:block;font-size:13px;line-height:1.25}
.moi small{display:block;font-size:11px;color:var(--discret)}
.sortie{display:flex;align-items:center;gap:8px;width:100%;margin-top:8px;padding:8px 10px;border:0;border-radius:var(--r-s);background:none;
  color:var(--discret);font-size:12.5px;cursor:pointer}
.sortie:hover{color:var(--texte);background:var(--survol-leger)}

.main{min-width:0;padding:8px 0 48px}
.top{display:flex;align-items:center;gap:10px;min-height:44px;margin-bottom:8px}
/* Recherche globale (ordinateur) : un bouton rond qui se déplie en champ, comme Pantone */
.top{justify-content:flex-end}
.cherche{position:relative;display:flex;align-items:center;width:44px;height:44px;margin-left:auto;border:1px solid var(--trait);border-radius:var(--r-pill);
  background:var(--panneau);transition:width .46s var(--verre-ressort),border-color .2s,box-shadow .2s}
.cherche.ouverte{width:min(560px,46vw);border-color:var(--bleu);box-shadow:0 0 0 4px rgba(57,87,255,.16)}
.cherche-bouton{display:grid;place-items:center;flex:none;width:42px;height:42px;border:0;border-radius:50%;background:none;color:var(--texte-2);cursor:pointer;transition:color .15s,transform .15s}
.cherche-bouton:hover{color:var(--texte-fort)}
.cherche-bouton:active{transform:scale(.91)}
.cherche label{flex:1;min-width:0;opacity:0;transition:opacity .2s .08s}
.cherche.ouverte label{opacity:1}
.cherche input[type=search]{width:100%;height:42px;padding:0 54px 0 0;border:0;border-radius:0;background:transparent;box-shadow:none}
.cherche input[type=search]:focus{box-shadow:none}
.cherche kbd{position:absolute;right:12px;top:50%;transform:translateY(-50%);padding:3px 7px;border:1px solid var(--trait-fort);border-radius:7px;font:600 11px/1 var(--sans);color:var(--discret);pointer-events:none}
.cherche input:not(:placeholder-shown) + kbd{opacity:0}
.cherche:not(.ouverte) kbd{opacity:0}
.resultats{position:absolute;z-index:30;top:52px;left:0;right:0;max-height:min(70vh,560px);overflow:auto;padding:8px;border:1px solid var(--trait-fort);
  border-radius:var(--r-l);background:var(--panneau-2);box-shadow:0 30px 60px -24px var(--ombre-c);animation:entre .16s var(--ease)}
.resultats h3,.hub-resultats h3{margin:10px 12px 6px;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--discret)}
.resultats a,.hub-resultats a{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;padding:9px 12px;border-radius:var(--r-s)}
.resultats a[aria-selected="true"],.resultats a:hover,.hub-resultats a:active{background:var(--survol-moyen)}
.resultats a .pastille,.hub-resultats a .pastille{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--r-s);background:var(--panneau);color:var(--bleu-clair)}
.resultats strong,.hub-resultats strong{display:block;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.resultats small,.hub-resultats small{display:block;color:var(--discret);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.resultats .rien,.hub-resultats .rien{padding:18px 12px;color:var(--discret);text-align:center}
/* Cloche et panneau des notifications */
.cloche{position:relative}
.pastille-nombre{position:absolute;top:-3px;right:-9px;min-width:22px;height:22px;padding:0 6px;border-radius:var(--r-pill);background:var(--bleu);
  color:#fff;font-size:12px;font-weight:800;line-height:22px;font-variant-numeric:tabular-nums;text-align:center;box-shadow:0 0 0 3px var(--fond)}
.panneau-notifs{position:absolute;z-index:30;top:52px;right:0;width:min(400px,calc(100vw - 32px));max-height:min(72vh,600px);display:flex;flex-direction:column;
  border:1px solid var(--trait-fort);border-radius:var(--r-l);background:var(--panneau-2);box-shadow:0 30px 60px -24px var(--ombre-c);animation:entre .16s var(--ease)}
.panneau-notifs header,.panneau-notifs footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px}
.panneau-notifs header{border-bottom:1px solid var(--trait)}
.panneau-notifs footer{border-top:1px solid var(--trait)}
.panneau-notifs header strong{font-size:15px}
.panneau-notifs .liste{overflow:auto;padding:6px}
.notif{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:11px 12px 11px 14px;border-radius:var(--r)}
.notif:hover{background:var(--survol-leger)}
.notif .pastille{display:grid;place-items:center;width:34px;height:34px;border-radius:var(--r-s);background:var(--panneau);color:var(--bleu-clair)}
.notif strong{display:block;font-size:13.5px;line-height:1.35}
.notif small{display:block;margin-top:2px;color:var(--discret);font-size:12px}
.notif p{margin:3px 0 0;color:var(--texte-2);font-size:12.5px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.notif.non-lue::before{content:"";position:absolute;left:4px;top:24px;width:6px;height:6px;border-radius:50%;background:var(--bleu)}
.rond{position:relative;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid var(--trait);
  background:var(--panneau);color:var(--texte-2);cursor:pointer}
.rond:hover{color:var(--texte);border-color:var(--trait-fort)}
.rond .point{position:absolute;top:9px;right:10px;width:8px;height:8px;border-radius:50%;background:var(--bleu);box-shadow:0 0 0 2px var(--panneau)}

/* ---------- En-tête de page ---------- */
.tete{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:6px 0 26px}
.surtitre{margin:0 0 10px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--bleu-clair)}
h1{margin:0;font-size:clamp(30px,3.4vw,46px);line-height:1.04;font-weight:800;letter-spacing:-.035em}
h1 em,h2 em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.01em;color:var(--bleu-clair)}
.chapo{margin:10px 0 0;max-width:62ch;color:var(--texte-2);font-size:15px}
.tete-actions{display:flex;gap:10px;flex-wrap:wrap}
.retour{display:inline-grid;place-items:center;width:42px;height:42px;margin-bottom:14px;border-radius:50%;border:1px solid var(--trait-fort);background:var(--panneau);color:var(--texte-fort);box-shadow:var(--ombre);transition:transform .15s,background .15s;-webkit-tap-highlight-color:transparent}
.retour:hover{background:var(--survol)}
.retour:active{transform:scale(.92)}
.retour .ic{width:20px;height:20px}
.retour:hover{color:var(--texte-fort)}

/* ---------- Boutons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 18px;border-radius:var(--r-pill);
  border:1px solid transparent;font-weight:700;font-size:13.5px;white-space:nowrap;cursor:pointer;
  transition:background-color .15s,border-color .15s,color .15s,transform .15s}
.btn:active{transform:translateY(1px)}
.btn-p{background:var(--bleu);color:#fff;box-shadow:0 10px 24px -14px rgba(57,87,255,.9)}
.btn-p:hover{background:var(--bleu-700)}
.btn-s{background:var(--panneau);border-color:var(--trait-fort);color:var(--texte)}
.btn-s:hover{border-color:var(--bleu-clair)}
.btn-d{background:var(--rouge-voile);color:var(--rouge)}
.btn-d:hover{background:rgba(255,107,107,.24)}
.btn-l{background:none;color:var(--bleu-clair);padding:0 10px}
.btn-l:hover{color:var(--texte-fort)}
.btn-petit{height:34px;padding:0 13px;font-size:12.5px}
.btn[aria-busy="true"]{pointer-events:none;opacity:.75}
.btn[aria-busy="true"]::after{content:"";width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:tourne .7s linear infinite}
@keyframes tourne{to{transform:rotate(360deg)}}

/* ---------- Cartes ---------- */
.grille,.pile{display:grid;gap:16px}
.g-2{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}
.g-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.carte{background:var(--panneau);border:1px solid var(--trait);border-radius:var(--r-l);box-shadow:var(--ombre);min-width:0}
.carte-tete{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid var(--trait)}
.carte-tete h2{display:flex;align-items:center;gap:12px;margin:0;font-size:18px;font-weight:700;letter-spacing:-.02em}
.carte-tete h2 .pastille{display:grid;place-items:center;width:34px;height:34px;border-radius:var(--r-s);background:var(--panneau-2);color:var(--bleu-clair)}
.carte-corps{padding:20px 22px}
.carte-lien{font-size:12.5px;font-weight:600;color:var(--bleu-clair)}
.carte-lien:hover{color:var(--texte-fort)}

.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:16px}
.kpi{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:18px 20px;min-height:96px;
  background:var(--panneau);border:1px solid var(--trait);border-radius:var(--r-l);transition:border-color .15s,background-color .15s}
a.kpi:hover{border-color:var(--trait-fort);background:var(--panneau-2)}
.kpi .pastille{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--r-s);background:var(--bleu-voile);color:var(--bleu-clair)}
.kpi small{display:block;color:var(--discret);font-size:12px}
.kpi strong{display:block;font-size:26px;line-height:1.15;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.kpi .detail{display:block;color:var(--discret);font-size:11.5px}
.kpi > .ic{color:var(--discret)}

/* ---------- Listes ---------- */
.lignes{list-style:none;margin:0;padding:0}
.ligne{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 22px;border-top:1px solid var(--trait);
  transition:background-color .12s}
.ligne:first-child{border-top:0}
a.ligne:hover{background:var(--survol-leger)}
.ligne .pastille{display:grid;place-items:center;width:36px;height:36px;border-radius:var(--r-s);background:var(--panneau-2);color:var(--bleu-clair)}
.ligne strong{display:block;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ligne small{display:block;color:var(--discret);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ligne-fin{display:flex;align-items:center;gap:10px;color:var(--discret);font-size:12px;white-space:nowrap}
.ligne.non-lue strong{color:var(--texte-fort)}
.ligne.non-lue .pastille{background:var(--bleu-voile)}
.vide{padding:42px 22px;text-align:center;color:var(--discret)}
.vide strong{display:block;margin-bottom:4px;color:var(--texte-2);font-size:15px}

/* Tableau (ordinateur) */
.tableau{width:100%;border-collapse:collapse}
.tableau th{padding:12px 16px;text-align:left;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--discret);
  border-bottom:1px solid var(--trait);white-space:nowrap}
.tableau td{padding:14px 16px;border-bottom:1px solid var(--trait);vertical-align:middle}
.tableau tr:last-child td{border-bottom:0}
.tableau tbody tr{transition:background-color .12s}
.tableau tbody tr:hover{background:var(--survol-leger)}
.tableau td:first-child,.tableau th:first-child{padding-left:22px}
.tableau td:last-child,.tableau th:last-child{padding-right:22px}
.tableau a.cellule{display:block;font-weight:650}
.tableau .sous{display:block;color:var(--discret);font-size:12px}
.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}

/* Barre de filtres */
.filtres{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:14px 22px;border-bottom:1px solid var(--trait)}
.recherche{position:relative;flex:1;min-width:200px}
.recherche .ic{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--discret);pointer-events:none}
.recherche input[type=search]{padding-left:42px}
.puces{display:flex;gap:6px;flex-wrap:wrap}
.puce{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;border-radius:var(--r-pill);border:1px solid var(--trait);
  color:var(--texte-2);font-size:12.5px;font-weight:600}
.puce:hover{border-color:var(--trait-fort);color:var(--texte)}
.puce[aria-current="true"]{background:var(--bleu-voile);border-color:rgba(57,87,255,.5);color:var(--texte-fort)}
.puce b{font-weight:700;color:var(--bleu-clair)}

/* ---------- Étiquettes ---------- */
.badge{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:var(--r-pill);font-size:11px;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;background:var(--panneau-2);color:var(--texte-2)}
.badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.b-bleu{background:var(--bleu-voile);color:var(--bleu-clair)}
.b-vert{background:var(--vert-voile);color:var(--vert)}
.b-ambre{background:var(--ambre-voile);color:var(--ambre)}
.b-rouge{background:var(--rouge-voile);color:var(--rouge)}
.b-violet{background:var(--violet-voile);color:var(--violet)}
.b-gris{background:rgba(127,143,166,.14);color:var(--discret)}

/* ---------- Formulaires ---------- */
.form{display:grid;gap:18px}
.form-grille{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}
.form-grille .large{grid-column:1/-1}
.section-form{margin:8px 0 -4px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--bleu-clair)}
.champ{display:grid;gap:7px;min-width:0}
.champ label,.champ .etiquette{font-size:12.5px;font-weight:600;color:var(--texte-2)}
.champ .aide{font-size:12px;color:var(--discret)}
.champ .requis{color:var(--bleu-clair)}
input[type=text],input[type=email],input[type=tel],input[type=password],input[type=search],input[type=number],input[type=date],input[type=url],select,textarea{
  width:100%;height:44px;padding:0 15px;border:1px solid var(--trait-fort);border-radius:var(--r-s);background:var(--champ);color:var(--texte);
  transition:border-color .15s,box-shadow .15s;appearance:none}
textarea{height:auto;min-height:120px;padding:12px 15px;resize:vertical;line-height:1.55}
select{padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239DB0FF' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;background-size:16px}
input::placeholder,textarea::placeholder{color:#5C6C84}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--bleu);box-shadow:0 0 0 4px rgba(57,87,255,.18)}
.champ.erreur input,.champ.erreur select,.champ.erreur textarea{border-color:var(--rouge)}
.champ .message-erreur{font-size:12px;color:var(--rouge)}
.case{display:flex;gap:10px;align-items:flex-start;cursor:pointer;color:var(--texte-2)}
.case input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--bleu)}
fieldset.groupe{border:0;margin:0;padding:0;min-width:0}
fieldset.groupe legend{padding:0;margin-bottom:8px}
.choix-cartes{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.choix-cartes label{position:relative;display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 14px;border:1px solid var(--trait-fort);
  border-radius:var(--r-s);cursor:pointer;font-weight:600;color:var(--texte-2);transition:border-color .15s,background-color .15s}
.choix-cartes input{position:absolute;opacity:0;pointer-events:none}
.choix-cartes label:has(input:checked){border-color:var(--bleu);background:var(--bleu-voile);color:var(--texte-fort)}
.choix-cartes label:has(input:focus-visible){outline:2px solid var(--bleu-clair);outline-offset:2px}
.enveloppe{display:contents}
details.ajout{border-top:1px solid var(--trait)}
details.ajout summary{display:flex;align-items:center;gap:8px;padding:14px 22px;color:var(--bleu-clair);font-weight:600;cursor:pointer;list-style:none}
details.ajout summary::-webkit-details-marker{display:none}
details.ajout summary:hover{color:var(--texte-fort)}
details.ajout[open] summary{border-bottom:1px solid var(--trait)}
details.ajout .form{padding:18px 22px}
.form-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;padding-top:6px}

/* ---------- Détail d'une fiche ---------- */
.fiche{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}
.infos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0}
.infos div{padding:14px 22px;border-top:1px solid var(--trait)}
.infos div:nth-child(-n+2){border-top:0}
.infos div:nth-child(odd){border-right:1px solid var(--trait)}
.infos dt{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--discret)}
.infos dd{margin:4px 0 0;overflow-wrap:anywhere}
.infos .large{grid-column:1/-1;border-right:0}
.texte-libre{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--texte-2)}
.contact-rapide{display:flex;gap:8px;flex-wrap:wrap}

/* Fil d'activité */
.fil{list-style:none;margin:0;padding:6px 22px 18px}
.fil li{position:relative;padding:12px 0 12px 22px;border-left:1px solid var(--trait);margin-left:6px}
.fil li::before{content:"";position:absolute;left:-5px;top:18px;width:9px;height:9px;border-radius:50%;background:var(--panneau);border:2px solid var(--bleu)}
.fil strong{display:block;font-size:13px}
.fil small{color:var(--discret);font-size:12px}
.fil .note{margin-top:6px;padding:10px 12px;border-radius:var(--r-s);background:var(--panneau-2);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--texte-2)}

/* ---------- Pipeline ---------- */
.pipeline{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(268px,1fr);gap:14px;overflow-x:auto;padding-bottom:8px;
  scroll-snap-type:x proximity;scrollbar-width:thin}
.colonne{display:flex;flex-direction:column;min-height:420px;background:var(--panneau-voile);border:1px solid var(--trait);border-radius:var(--r-l);scroll-snap-align:start}
.colonne-tete{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 16px;border-bottom:1px solid var(--trait)}
.colonne-tete strong{font-size:13px}
.colonne-tete small{color:var(--discret);font-variant-numeric:tabular-nums}
.colonne-corps{display:flex;flex-direction:column;gap:10px;padding:12px;flex:1;transition:background-color .15s}
.colonne-corps.cible{background:var(--bleu-voile)}
.opp{display:block;padding:14px;border-radius:var(--r);background:var(--panneau-2);border:1px solid var(--trait);cursor:grab;transition:border-color .15s,transform .15s}
.opp:hover{border-color:var(--trait-fort)}
.opp.deplace{opacity:.4}
.opp strong{display:block;font-size:13.5px;line-height:1.35}
.opp small{display:block;margin-top:4px;color:var(--discret);font-size:12px}
.opp .montant{margin-top:10px;font-weight:800;font-variant-numeric:tabular-nums}

/* Étapes d'une opportunité (fiche) */
.etapes-opp{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.etapes-opp form{display:contents}
.etape{display:inline-flex;align-items:center;height:36px;padding:0 15px;border-radius:var(--r-pill);border:1px solid var(--trait-fort);background:var(--panneau);
  color:var(--texte-2);font-size:12.5px;font-weight:600;cursor:pointer;list-style:none;transition:background-color .15s,border-color .15s,color .15s}
.etape:hover:not(:disabled){border-color:var(--bleu-clair);color:var(--texte-fort)}
.etape:disabled{cursor:default}
.etape.active{background:var(--bleu);border-color:var(--bleu);color:#fff}
.etape.perdue{background:var(--rouge-voile);border-color:transparent;color:var(--rouge)}
details.perte{position:relative}
details.perte summary::-webkit-details-marker{display:none}
details.perte[open] .form{position:absolute;z-index:5;top:44px;left:0;width:280px;padding:16px;border:1px solid var(--trait-fort);border-radius:var(--r);background:var(--panneau-2);box-shadow:var(--ombre)}

/* ---------- Connexion ---------- */
.accueil-auth{display:grid;place-items:center;min-height:100dvh;padding:24px;
  background:radial-gradient(1200px 600px at 80% -10%,rgba(57,87,255,.22),transparent 60%),radial-gradient(900px 500px at -10% 110%,rgba(57,87,255,.14),transparent 60%),var(--fond)}
.auth{width:100%;max-width:420px;padding:34px;background:var(--panneau);border:1px solid var(--trait);border-radius:26px;box-shadow:var(--ombre)}
.auth-logo{display:flex;justify-content:center;margin-bottom:26px;color:var(--texte-fort)}
.auth-logo svg{width:120px;height:27px}
.auth h1{font-size:30px;text-align:center}
.auth .chapo{text-align:center;margin:10px auto 26px}
.auth .btn{width:100%;height:48px}
.auth form.renvoi{margin-top:6px;text-align:center}
.auth form.renvoi .btn{width:auto;height:38px}
.auth-liens{margin-top:18px;text-align:center;font-size:13px;color:var(--discret)}
.auth-liens a{color:var(--bleu-clair)}
.auth input.code-otp{text-align:center;font-size:24px;letter-spacing:.4em;font-variant-numeric:tabular-nums}

/* ---------- Messages ---------- */
.annonces{position:fixed;z-index:50;right:20px;bottom:20px;display:grid;gap:10px;max-width:min(420px,calc(100vw - 40px))}
.annonce{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:var(--r);background:var(--panneau-2);border:1px solid var(--trait-fort);
  box-shadow:0 20px 40px -20px var(--ombre-c);animation:entre .28s var(--ease) both}
.annonce.sortante{animation:sort .22s var(--ease) both}
.annonce .ic{color:var(--vert);margin-top:1px}
.annonce.erreur .ic{color:var(--rouge)}
@keyframes entre{from{opacity:0;transform:translateY(8px)}}
@keyframes sort{to{opacity:0;transform:translateY(8px)}}
.alerte{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;margin-bottom:16px;border-radius:var(--r);background:var(--rouge-voile);color:var(--alerte-texte,#FFC9C9);font-size:13.5px}
.alerte.info{background:var(--bleu-voile);color:var(--texte-info)}
.alerte .ic{margin-top:1px}

/* Dialogue de confirmation */
dialog.confirmation{width:min(440px,calc(100vw - 32px));padding:26px;border:1px solid var(--trait-fort);border-radius:var(--r-l);background:var(--panneau);color:var(--texte);
  box-shadow:0 40px 80px -30px var(--ombre-c)}
dialog.confirmation::backdrop{background:var(--voile-fort);backdrop-filter:blur(4px)}
dialog.confirmation[open]{animation:entre .2s var(--ease)}
dialog.confirmation h2{margin:0 0 8px;font-size:20px}
dialog.confirmation p{margin:0 0 22px;color:var(--texte-2)}
dialog.confirmation .form-actions{padding:0}

/* Installation sur l'écran d'accueil */
.installer{display:flex;align-items:center;gap:12px;margin:0 0 16px;padding:14px 16px;border-radius:var(--r);background:var(--bleu-voile);border:1px solid rgba(57,87,255,.35)}
.installer p{margin:0;flex:1;font-size:13px;color:var(--texte-info)}

/* ---------- Mobile ---------- */
@media (max-width:1100px){
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .g-2,.g-3,.fiche{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:860px){
  :root{--gouttiere:16px}
  body{font-size:15px}
  .shell{display:block;padding:calc(env(safe-area-inset-top) + 18px) 16px calc(env(safe-area-inset-bottom) + 92px)}
  .side{display:none}
  .top{justify-content:space-between;align-items:center}
  .top .cherche{display:none}
  .top .logo-mobile{display:flex;color:var(--texte-fort);margin-right:auto}
  .panneau-notifs{position:fixed;top:calc(env(safe-area-inset-top) + 74px);left:16px;right:16px;width:auto}
  .cloche{margin-left:auto}
  .top .logo-mobile svg{width:78px;height:18px}
  .tete{margin-bottom:20px}
  .tete-actions{width:100%}
  .tete-actions .btn{flex:1}
  .kpis{gap:10px}
  .kpi{grid-template-columns:1fr;gap:8px;padding:14px;min-height:0}
  .kpi > .ic{display:none}
  .kpi .pastille{width:34px;height:34px;border-radius:var(--r-s)}
  .ligne{grid-template-columns:auto minmax(0,1fr);row-gap:8px}
  .ligne strong,.ligne small{white-space:normal}
  .ligne-fin{grid-column:2;flex-wrap:wrap}
  .kpi strong{font-size:22px}
  .form-grille,.infos{grid-template-columns:minmax(0,1fr)}
  .infos div,.infos div:nth-child(odd),.infos div:nth-child(-n+2){border-right:0;border-top:1px solid var(--trait)}
  .infos div:first-child{border-top:0}
  .carte-tete,.carte-corps,.ligne,.filtres{padding-left:16px;padding-right:16px}
  .tableau thead{display:none}
  .tableau,.tableau tbody,.tableau tr,.tableau td{display:block}
  .tableau tr{padding:12px 16px;border-bottom:1px solid var(--trait)}
  .tableau td,.tableau td:first-child,.tableau td:last-child{padding:2px 0;border:0}
  .tableau td[data-mobile="masque"]{display:none}
  .num{text-align:left}
  .pipeline{grid-auto-columns:86%}
  .annonces{left:16px;right:16px;bottom:calc(env(safe-area-inset-bottom) + 86px)}
}
@media (min-width:861px){.top .logo-mobile{display:none}}



/* ============================================================
   VERRE (« liquid glass ») : un indicateur unique, mesuré sur les entrées, qui glisse d'un onglet à l'autre,
   suit le doigt quand on le tient, puis se cale sur l'entrée la plus proche (même principe que Pantone).
   ============================================================ */
:root{--verre-ressort:cubic-bezier(.22,1,.36,1);--verre-duree:.46s}
.nav{position:relative;isolation:isolate}
.nav .indicateur{position:absolute;z-index:0;top:0;left:0;width:0;height:42px;border-radius:var(--r-s);pointer-events:none;
  background:linear-gradient(135deg,rgba(57,87,255,.96),rgba(36,64,216,.96));border:1px solid rgba(201,211,255,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 -1px 0 rgba(10,20,80,.35),0 12px 26px -14px rgba(57,87,255,.95);
  transform-origin:0 0;transition:transform var(--verre-duree) var(--verre-ressort),opacity .2s;opacity:0}
[data-verre].pret .indicateur{opacity:1}
[data-verre].glisse .indicateur{transition:none;will-change:transform}
.nav a[data-verre-choisi]{color:#fff}
.nav-groupe{margin:14px 12px 4px;font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--discret)}
.nav-groupe:first-of-type{margin-top:2px}
/* Icônes du menu : contour au repos ; remplies, traits intérieurs découpés en transparence, quand elles sont choisies (suivent le doigt pendant le glissé) */
.ic-nav .ic-corps{fill:currentColor;stroke:none;opacity:0;transition:opacity .2s ease}
.ic-nav .ic-traits{opacity:1;transition:opacity .2s ease}
[data-verre-choisi] .ic-nav .ic-corps,[data-verre]:not(.pret) [aria-current="page"] .ic-nav .ic-corps,.hub-carte[aria-current="page"] .ic-nav .ic-corps{opacity:1}
[data-verre-choisi] .ic-nav .ic-traits,[data-verre]:not(.pret) [aria-current="page"] .ic-nav .ic-traits,.hub-carte[aria-current="page"] .ic-nav .ic-traits{opacity:0}
.hub-carte[aria-current="page"] .pastille{background:var(--bleu);color:#fff}
@media (prefers-reduced-motion:reduce){.ic-nav .ic-corps,.ic-nav .ic-traits{transition:none}}
.nav a[data-verre-choisi] .compteur{background:rgba(255,255,255,.22);color:#fff}
.nav a:hover:not([data-verre-choisi]){background:var(--survol-leger)}
.nav:not(.pret) a[aria-current="page"]{background:var(--bleu);color:#fff}

/* Barre mobile en verre (icônes seules) */
.dock{display:none}
@media (max-width:860px){
  .dock{position:fixed;z-index:60;left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom) + 10px);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));
    align-items:center;height:68px;padding:7px;border-radius:34px;isolation:isolate;touch-action:pan-y;user-select:none;-webkit-user-select:none;
    background:var(--verre-panneau);border:1px solid var(--verre-bord);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 24px 48px -20px var(--ombre-c);
    -webkit-backdrop-filter:blur(26px) saturate(1.6);backdrop-filter:blur(26px) saturate(1.6);
    transition:transform .32s var(--verre-ressort)}
  .dock.tenu{transform:scale(1.03)}
  .dock .indicateur{position:absolute;z-index:0;top:0;left:0;width:0;height:54px;border-radius:27px;pointer-events:none;opacity:0;
    background:linear-gradient(145deg,rgba(57,87,255,.92),rgba(36,64,216,.95));border:1px solid rgba(214,222,255,.32);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.32),inset 0 -1px 0 rgba(10,20,80,.35),0 8px 18px -10px rgba(57,87,255,.9);
    transform-origin:0 0;transition:transform var(--verre-duree) var(--verre-ressort),opacity .2s}
  .dock a,.dock button{position:relative;z-index:1;display:grid;place-items:center;height:54px;border:0;border-radius:27px;background:none;color:var(--dock-icone,rgba(234,240,248,.72));
    cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color .2s}
  .dock [data-verre-choisi]{color:#fff}
  .dock:not(.pret) [aria-current="page"]{background:var(--bleu);color:#fff}
  .ic-dock{width:24px;height:24px;stroke-width:1.9}
  .point-dock{position:absolute;top:8px;right:calc(50% - 20px);min-width:17px;height:17px;padding:0 5px;border-radius:9px;background:#fff;color:var(--bleu-700);
    font-size:10px;font-weight:800;line-height:17px;text-align:center}
  .dock-plus .ic{transition:transform .34s cubic-bezier(.34,1.56,.64,1)}
}

/* Entrée des pages : un fondu court et une légère montée (transformations seules : aucun décalage de mise en page) */
.page.entre > *{animation:page-entre .34s var(--verre-ressort) both}
.page.entre > *:nth-child(2){animation-delay:.03s}
.page.entre > *:nth-child(3){animation-delay:.06s}
.page.entre > *:nth-child(n+4){animation-delay:.09s}
@keyframes page-entre{from{opacity:0;transform:translateY(8px)}}
.page.sort{opacity:.55;transition:opacity .12s}
@media (prefers-reduced-motion:reduce){.page.entre > *,.hub-panneau{animation:none}.nav .indicateur,.dock .indicateur,.segments .indicateur,.hub{transition:none}}


/* ============================================================
   Panneau de navigation en verre (mobile) : il monte depuis le bas, se tire vers le bas pour se fermer.
   Recherche, sélecteur Général / Suivi / Gestion (même verre que la barre), rubriques en cartes.
   ============================================================ */
.hub,.hub-fond{display:none}
@media (max-width:860px){
  .hub-fond{position:fixed;z-index:61;inset:0;display:block;background:var(--voile);opacity:0;transition:opacity .3s ease;
    -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);touch-action:none}
  .hub-fond.visible{opacity:1}
  .hub{position:fixed;z-index:62;top:clamp(56px,9dvh,96px);left:0;right:0;bottom:0;display:flex;flex-direction:column;padding:8px max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left));overflow:hidden;
    border:0;border-top:1px solid var(--verre-bord);border-radius:32px 32px 0 0;visibility:hidden;transform:translate3d(0,105%,0);
    background:var(--verre-hub);
    box-shadow:0 -30px 80px var(--ombre-c),inset 0 1px 0 rgba(255,255,255,.12);
    -webkit-backdrop-filter:blur(24px) saturate(1.4);backdrop-filter:blur(24px) saturate(1.4);
    transition:transform .46s var(--verre-ressort),visibility 0s linear .46s;will-change:transform}
  .hub.ouvert{visibility:visible;transform:translate3d(0,0,0);transition:transform .46s var(--verre-ressort),visibility 0s}
  .hub.tire{transition:none}
  .hub-poignee{display:grid;place-items:center;height:22px;touch-action:none;cursor:grab}
  .hub-poignee span{width:42px;height:5px;border-radius:3px;background:var(--poignee)}
  .hub-tete{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:4px 2px 14px;touch-action:none}
  .hub-tete h2{margin:2px 0 4px;font-size:28px;font-weight:800;letter-spacing:-.03em}
  .hub-tete p{margin:0;color:var(--texte-2);font-size:13.5px}
  .hub-tete .surtitre{margin:0}
  .hub-cherche{position:relative;margin-bottom:12px}
  .hub-cherche label{position:relative;display:block}
  .hub-cherche label > .ic{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--bleu-clair);pointer-events:none}
  .hub-cherche input[type=search]{height:52px;padding:0 16px 0 46px;border-radius:var(--r);font-size:16px;background:var(--verre-creux);border-color:var(--verre-bord)}
  .hub-resultats{max-height:42dvh;overflow:auto;margin-top:8px;padding:4px;border-radius:var(--r);background:var(--verre-creux)}
  .segments{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:0;margin-bottom:12px;padding:4px;border-radius:999px;isolation:isolate;
    background:var(--verre-creux);border:1px solid var(--verre-bord);touch-action:pan-y;user-select:none;-webkit-user-select:none}
  .segments .indicateur{position:absolute;z-index:0;top:0;left:0;width:0;height:42px;border-radius:999px;pointer-events:none;opacity:0;
    background:linear-gradient(145deg,rgba(57,87,255,.92),rgba(36,64,216,.95));border:1px solid rgba(214,222,255,.3);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 6px 14px -8px rgba(57,87,255,.9);transform-origin:0 0;transition:transform var(--verre-duree) var(--verre-ressort),opacity .2s}
  .segments.pret .indicateur{opacity:1}
  .segments.glisse .indicateur{transition:none}
  .segments button{position:relative;z-index:1;height:42px;border:0;border-radius:999px;background:none;color:var(--dock-icone,rgba(234,240,248,.75));font-weight:700;font-size:13px;cursor:pointer}
  .segments [data-verre-choisi]{color:#fff}
  .hub-panneaux{flex:1;min-height:0;overflow:auto;padding:2px 0 calc(env(safe-area-inset-bottom) + 24px);overscroll-behavior:contain}
  .hub-panneau{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
  .hub-panneau:not([hidden]){animation:hub-panneau .28s var(--verre-ressort)}
  @keyframes hub-panneau{from{opacity:0;transform:translateY(6px)}}
  .hub-carte{position:relative;display:grid;grid-template-columns:50px minmax(0,1fr) auto;grid-template-areas:"icone texte fin";gap:14px;align-items:center;min-height:80px;padding:12px 16px 12px 12px;border-radius:var(--r-l);
    background:var(--verre-tuile);border:1px solid var(--verre-bord);transition:transform .17s var(--verre-ressort),background-color .15s}
  .hub-carte:active{transform:scale(.975)}
  .hub-carte[aria-current="page"]{border-color:rgba(57,87,255,.7);background:rgba(57,87,255,.22)}
  .hub-carte .pastille{grid-area:icone;display:grid;place-items:center;width:50px;height:50px;border-radius:var(--r);background:var(--bleu-voile);color:var(--bleu-clair)}
  .hub-carte > span:not(.pastille):not(.compteur){grid-area:texte;min-width:0}
  .hub-carte strong{display:block;font-size:15.5px;font-weight:700;letter-spacing:-.01em}
  .hub-carte small{display:block;margin-top:3px;color:var(--discret);font-size:13px;line-height:1.35}
  .hub-carte > .ic{grid-area:fin;justify-self:end;color:var(--discret);width:18px;height:18px}
  .hub-carte .compteur{grid-area:fin;justify-self:end;min-width:22px;height:20px;padding:0 7px;border-radius:999px;background:var(--bleu);color:#fff;font-size:11px;font-weight:700;line-height:20px;text-align:center}
  .hub-sortie{grid-column:1/-1}
  .hub-sortie .hub-carte{grid-template-areas:"icone texte fin"}
  .hub-sortie .hub-carte{width:100%;color:var(--texte);text-align:left;cursor:pointer}
  .hub-sortie .pastille{background:var(--rouge-voile);color:var(--rouge)}
  body.hub-ouvert{overflow:hidden}
}

/* ---------- Autocomplétion (entreprises, adresses, communes, clients) ---------- */
.champ{position:relative}
.auto-liste{position:absolute;z-index:40;top:calc(100% + 6px);left:0;right:0;max-height:320px;overflow:auto;padding:6px;border:1px solid var(--trait-fort);border-radius:var(--r);
  background:var(--panneau-2);box-shadow:0 26px 52px -22px var(--ombre-c);animation:entre .16s var(--ease)}
.auto-option{display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;align-items:center;width:100%;padding:9px 10px;border:0;border-radius:var(--r-s);background:none;color:var(--texte);text-align:left;cursor:pointer}
.auto-option[aria-selected="true"],.auto-option:hover{background:var(--survol-moyen)}
.auto-option .pastille{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--r-s);background:var(--panneau);color:var(--bleu-clair)}
.auto-option strong{display:block;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.auto-option small{display:block;color:var(--discret);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.auto-liste .rien{margin:0;padding:14px 10px;color:var(--discret);font-size:13px}
input.cherche-en-cours{background-image:linear-gradient(90deg,transparent,rgba(157,176,255,.14),transparent);background-size:200% 100%;animation:chargement 1s linear infinite}
@keyframes chargement{from{background-position:200% 0}to{background-position:-200% 0}}
input.rempli,select.rempli,textarea.rempli{animation:rempli 1.2s var(--ease)}
@keyframes rempli{0%{box-shadow:0 0 0 4px rgba(60,203,143,.35);border-color:var(--vert)}100%{box-shadow:0 0 0 0 rgba(60,203,143,0)}}
details.urssaf{margin-top:14px;border:1px solid var(--trait);border-radius:var(--r)}
details.urssaf summary{padding:12px 16px}
details.urssaf .form{padding:14px 16px}

/* ---------- Éditeur de devis ---------- */
.editeur-devis{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start}
.collant{position:sticky;top:16px}
.lignes-devis{display:grid}
.ligne-devis{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px 12px;align-items:start;padding:14px 18px;border-top:1px solid var(--trait);background:var(--panneau)}
.ligne-devis:first-child{border-top:0}
.ligne-devis .corps{display:grid;gap:6px;min-width:0}
.ligne-devis .type{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--bleu-clair)}
.ligne-devis textarea.designation{min-height:42px;height:42px;padding:10px 12px;resize:none;overflow:hidden}
.ligne-devis input.reference{height:34px;max-width:220px;font-size:12.5px}
.ligne-devis.type-titre textarea{font-weight:800;font-size:16px;background:transparent;border-color:transparent}
.ligne-devis.type-titre{background:var(--panneau-2)}
.ligne-devis.type-texte textarea{color:var(--texte-2);font-style:italic}
.chiffres-ligne{grid-column:2/3;display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}
.mini{display:grid;gap:4px}
.mini span{font-size:10.5px;font-weight:600;color:var(--discret)}
.mini input,.mini select{height:38px;padding:0 10px;border-radius:var(--r-s);font-variant-numeric:tabular-nums}
.mini.quantite input,.mini.remise input{width:78px}
.mini.unite input{width:64px}
.mini.prix_achat input,.mini.prix_vente input{width:108px;text-align:right}
.mini.tva select{width:92px;padding-right:28px;background-position:right 9px center}
.ligne-devis .total{margin-left:auto;min-width:110px;padding-bottom:9px;text-align:right;font-weight:800;font-variant-numeric:tabular-nums}
.ligne-devis .supprimer{width:34px;height:34px;align-self:start}
.poignee{display:grid;grid-template-columns:repeat(2,4px);gap:4px 3px;align-content:center;justify-content:center;width:22px;height:42px;padding:0;border:0;background:none;
  cursor:grab;touch-action:none;opacity:.55}
.poignee span{width:4px;height:4px;border-radius:50%;background:var(--texte-2)}
.poignee span:nth-child(n){box-shadow:0 7px 0 var(--texte-2)}
.ligne-devis.deplacee{z-index:5;cursor:grabbing;box-shadow:0 22px 44px -22px var(--ombre-c);border-color:transparent;border-radius:var(--r);background:var(--panneau-2)}
.ligne-devis.entrante{animation:page-entre .32s var(--verre-ressort)}
.ligne-devis.sortante{animation:ligne-sort .2s ease both}
@keyframes ligne-sort{to{opacity:0;transform:translateX(16px)}}
.ajout-lignes{display:grid;gap:12px;padding:16px 18px;border-top:1px solid var(--trait)}
.cherche-article{position:relative}
.cherche-article label{position:relative;display:block}
.cherche-article label > .ic{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--discret)}
.cherche-article input[type=search]{padding-left:44px}
.cherche-article .resultats{top:52px}
.puce .ic{width:15px;height:15px}
button.puce{background:none;cursor:pointer}
[data-etat-enregistrement].a-enregistrer{color:var(--ambre)}
.btn.large{width:100%}
.chiffres{margin:0;padding:6px 22px 14px}
.chiffres > div[hidden]{display:none}
.chiffres > div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--trait)}
.chiffres > div:first-child{border-top:0}
.chiffres dt{color:var(--texte-2)}
.chiffres dd{margin:0;font-variant-numeric:tabular-nums;text-align:right}
.chiffres .fort dt,.chiffres .fort dd{color:var(--texte-fort);font-weight:800}
.chiffres [data-tva-lignes]{display:block;padding:0;border:0}
.chiffres [data-tva-lignes] > div{display:flex;justify-content:space-between;padding:9px 0;border-top:1px solid var(--trait)}
.chiffres [data-tva-lignes] dt{color:var(--texte-2)}
.jauge{height:8px;margin:16px 22px 2px;border-radius:4px;background:rgba(157,176,255,.12);overflow:hidden}
.jauge span{display:block;height:100%;border-radius:4px;transform-origin:0 50%;transform:scaleX(0);transition:transform .5s var(--verre-ressort),background-color .3s}
.jauge .j-bon{background:var(--vert)}.jauge .j-faible{background:var(--ambre)}.jauge .j-perte,.jauge .j-vide{background:var(--rouge)}
.rentabilite[data-statut="bon"] [data-r="marge_nette"]{color:var(--vert)}
.rentabilite[data-statut="faible"] [data-r="marge_nette"]{color:var(--ambre)}
.rentabilite[data-statut="perte"] [data-r="marge_nette"]{color:var(--rouge)}
.marge{display:inline-block;margin-right:8px;font-size:12px;font-weight:700;color:var(--vert)}
.marge-perte{color:var(--rouge)}

/* Barre de résumé du devis (téléphone) : total, marge et enregistrement toujours à portée de pouce */
.barre-devis{display:none}
@media (max-width:1100px){
  .barre-devis{position:fixed;z-index:55;left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom) + 86px);display:flex;align-items:center;gap:16px;
    padding:10px 10px 10px 18px;border-radius:var(--r-l);background:var(--verre-barre);border:1px solid var(--verre-bord);
    -webkit-backdrop-filter:blur(22px) saturate(1.5);backdrop-filter:blur(22px) saturate(1.5);box-shadow:0 18px 36px -18px var(--ombre-c)}
  .barre-devis span{display:grid}
  .barre-devis small{font-size:10.5px;color:var(--discret)}
  .barre-devis strong{font-size:15px;font-variant-numeric:tabular-nums}
  .barre-devis strong[data-statut="bon"]{color:var(--vert)}.barre-devis strong[data-statut="faible"]{color:var(--ambre)}.barre-devis strong[data-statut="perte"]{color:var(--rouge)}
  .barre-devis .btn{margin-left:auto}
  .editeur-devis{padding-bottom:84px}
}
@media (min-width:861px) and (max-width:1100px){.barre-devis{bottom:16px;left:auto;width:420px}}

/* ---------- Divers ---------- */
.repetables{display:grid;gap:10px;margin-bottom:12px}
.repetable{display:grid;grid-template-columns:minmax(0,1fr) 150px 42px;gap:10px;align-items:end}
.repetable .rond{margin-bottom:2px}
.select-compact{width:auto;min-width:220px;height:40px}
input.fichier{height:auto;padding:12px;border-style:dashed;cursor:pointer}
.kpis-carte{padding:18px 22px 6px;margin:0}
.pousse{display:grid;gap:6px}
@media (max-width:1100px){.editeur-devis{grid-template-columns:minmax(0,1fr)}.collant{position:static}}
@media (max-width:860px){
  .ligne-devis{grid-template-columns:auto minmax(0,1fr);padding:14px}
  .ligne-devis .supprimer{position:absolute;top:10px;right:10px}
  .chiffres-ligne{grid-column:1/-1}
  .ligne-devis .total{width:100%;padding:4px 0 0}
  .repetable{grid-template-columns:minmax(0,1fr) 110px 42px}
}

/* Toujours en dernier : un élément masqué reste masqué quel que soit son affichage. */
[hidden]{display:none}

/* ---------- Rubrique Système ---------- */
.grille-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px;align-items:stretch}
.titre-section{margin:28px 0 12px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--discret)}
.groupe-integrations:first-of-type .titre-section{margin-top:4px}
/* Onglets en verre (l'indicateur glisse d'un onglet à l'autre, se tient au doigt) */
.onglets{position:relative;display:flex;gap:2px;width:max-content;max-width:100%;margin:0 0 22px;padding:4px;border-radius:var(--r-pill);isolation:isolate;overflow-x:auto;scrollbar-width:none;
  background:var(--panneau);border:1px solid var(--trait);touch-action:pan-x;user-select:none;-webkit-user-select:none}
.onglets::-webkit-scrollbar{display:none}
.onglets .indicateur{position:absolute;z-index:0;top:0;left:0;width:0;height:38px;border-radius:var(--r-pill);pointer-events:none;opacity:0;
  background:linear-gradient(135deg,rgba(57,87,255,.96),rgba(36,64,216,.96));border:1px solid rgba(201,211,255,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 -1px 0 rgba(10,20,80,.35),0 10px 22px -14px rgba(57,87,255,.95);
  transform-origin:0 0;transition:transform var(--verre-duree) var(--verre-ressort),opacity .2s}
.onglets.glisse .indicateur{transition:none;will-change:transform}
.onglets a{position:relative;z-index:1;display:grid;place-items:center;height:38px;padding:0 16px;border-radius:var(--r-pill);color:var(--texte-2);font-size:13px;font-weight:650;white-space:nowrap;transition:color .2s}
.onglets a:hover:not([data-verre-choisi]){color:var(--texte)}
.onglets [data-verre-choisi]{color:#fff}
.onglets:not(.pret) [aria-current="page"]{background:var(--bleu);color:#fff}
/* Liens vers les outils */
.liens-systeme{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.liens-systeme a,.export{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;min-height:76px;padding:14px 18px;border-radius:var(--r-l);
  background:var(--panneau);border:1px solid var(--trait);transition:border-color .15s,transform .15s,background-color .15s}
.liens-systeme a:hover,.export:hover{border-color:var(--trait-fort);background:var(--panneau-2)}
.liens-systeme a:active,.export:active{transform:scale(.985)}
.liens-systeme .pastille,.export .pastille{display:grid;place-items:center;width:42px;height:42px;border-radius:var(--r-s);background:var(--bleu-voile);color:var(--bleu-clair)}
.liens-systeme strong,.export strong{display:block;font-weight:700}
.liens-systeme small,.export small{display:block;margin-top:2px;color:var(--discret);font-size:12.5px;line-height:1.35}
.liens-systeme a > .ic,.export > .ic{color:var(--discret)}
/* Jauge d'espace disque */
.jauge{display:block;width:calc(100% - 44px);height:8px;margin:18px 22px 20px;border:0;border-radius:var(--r-pill);background:var(--panneau-2);overflow:hidden;appearance:none;-webkit-appearance:none}
.jauge::-webkit-progress-bar{background:var(--panneau-2);border-radius:var(--r-pill)}
.jauge::-webkit-progress-value{background:linear-gradient(90deg,var(--bleu),var(--bleu-clair));border-radius:var(--r-pill)}
.jauge::-moz-progress-bar{background:linear-gradient(90deg,var(--bleu),var(--bleu-clair));border-radius:var(--r-pill)}
/* Intégrations */
.integrations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.integration{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:start;padding:16px 18px;border-radius:var(--r-l);background:var(--panneau);border:1px solid var(--trait)}
.integration.avenir{opacity:.72}
.integration .marque{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--r-s);background:var(--panneau-2);color:var(--bleu-clair);font-size:11px;font-weight:800;letter-spacing:.02em}
.integration .marque-ign{background:rgba(52,168,83,.16);color:#6FD08C}
.integration .marque-urssaf{background:rgba(57,87,255,.18);color:#9DB0FF;font-size:8.5px}
.integration .marque-etat{background:var(--survol-moyen);color:var(--texte);font-size:10.5px}
.integration .marque-g{background:rgba(66,133,244,.16);color:#8AB4F8;font-size:16px}
.integration .marque-mcp{background:rgba(155,123,255,.16);color:var(--violet)}
.integration-corps{min-width:0}
.integration-titre{display:block;font-weight:700}
.integration-fin{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.integration p{margin:4px 0 0;color:var(--texte-2);font-size:13px;line-height:1.45}
.integration .integration-info{color:var(--discret);font-size:12.5px}
.integration .integration-info span{color:var(--texte-2);font-weight:600}
.integration .integration-test{margin-top:8px;padding:8px 10px;border-radius:var(--r-s);background:var(--vert-voile);color:var(--vert);font-size:12.5px}
.integration .integration-test.erreur{background:var(--rouge-voile);color:var(--rouge)}
.integration .integration-test span{display:block;margin-top:2px;color:var(--discret);font-size:11.5px}
.en-ligne{display:inline-flex}
/* Sauvegardes et exports */
.ligne .pastille.alerte{background:var(--rouge-voile);color:var(--rouge)}
.section-exports{margin-top:8px}
.section-exports .aide{margin:-4px 0 14px;color:var(--discret);font-size:13px}
.exports{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
/* Journal */
.filtres-journal select{width:auto;min-width:170px;height:40px}
.plus-filtres > summary{list-style:none;cursor:pointer;user-select:none}
.plus-filtres > summary::-webkit-details-marker{display:none}
.plus-filtres[open] > summary{border-color:var(--bleu-clair);color:var(--texte-fort)}
.plus-filtres-corps{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
@media (min-width:861px){.plus-filtres > summary{display:none}}
.nombre-filtres{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--bleu);color:#fff;font-size:10.5px}
.filtres-journal .date{display:flex;align-items:center;gap:8px;color:var(--discret);font-size:12.5px}
.filtres-journal .date input{width:auto;height:40px}
.filtres-journal .recherche input{height:40px}
.journal .pastille.type-assistant{background:rgba(155,123,255,.16);color:var(--violet)}
.journal .pastille.type-service{background:var(--vert-voile);color:var(--vert)}
.journal .pastille.type-system{background:var(--panneau-2);color:var(--discret)}
.journal strong a{color:var(--bleu-clair)}
.journal strong a:hover{color:var(--texte-fort)}
.pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 22px;border-top:1px solid var(--trait);color:var(--discret);font-size:12.5px}
.pagination span{margin-right:auto}
@media (max-width:1100px){.exports{grid-template-columns:repeat(2,minmax(0,1fr))}.integrations{grid-template-columns:minmax(0,1fr)}}
@media (max-width:860px){
  .grille-2,.liens-systeme,.exports{grid-template-columns:minmax(0,1fr)}
  .onglets{width:auto;margin-left:-16px;margin-right:-16px;padding:4px 16px;border-radius:0;border-left:0;border-right:0;background:none;border:0}
  .onglets a{padding:0 14px}
  .onglets{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}
  .onglets.au-bout{-webkit-mask-image:none;mask-image:none}
  .integration{grid-template-columns:auto minmax(0,1fr)}
  .integration-fin{grid-column:2;flex-direction:row;align-items:center;justify-content:space-between}
  .filtres-journal .recherche{flex:1 1 100%}
  .plus-filtres{flex:1 1 auto}
  .plus-filtres[open]{flex-basis:100%}
  .plus-filtres-corps{margin-top:10px}
  .filtres-journal select,.filtres-journal .date,.filtres-journal .date input{flex:1 1 100%;width:100%}
  .filtres-journal .date span{min-width:22px}
}

/* ---------- Interventions ---------- */
.jour-planning + .jour-planning{border-top:1px solid var(--trait)}
.titre-jour{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0;padding:16px 22px 6px;font-size:13px;font-weight:700;color:var(--texte)}
.titre-jour small{color:var(--discret);font-weight:500;font-size:12px}
.intervention-ligne{grid-template-columns:auto minmax(0,1fr) auto}
.heure-pastille{display:grid;place-items:center;min-width:64px;height:48px;padding:0 10px;border-radius:var(--r);background:var(--panneau-2);text-align:center}
.heure-pastille strong{font-size:14px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--texte-fort)}
.heure-pastille small{font-size:10.5px;color:var(--discret)}
.intervention{display:grid;gap:16px}
.terrain{display:grid;gap:14px;padding:20px 22px}
.terrain-lieu{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:start}
.terrain-lieu .pastille{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--r);background:var(--bleu-voile);color:var(--bleu-clair)}
.terrain-lieu div{display:grid;gap:2px}
.terrain-lieu strong{font-size:17px;font-weight:750}
.terrain-lieu span{color:var(--texte-2)}
.terrain-lieu small{color:var(--discret)}
.terrain-actions{display:flex;flex-wrap:wrap;gap:10px}
.terrain-actions .btn{flex:1 1 0;min-width:140px;height:50px}
.terrain-acces{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;padding:12px 14px;border-radius:var(--r);background:var(--ambre-voile);color:var(--texte)}
.terrain-acces .ic{color:var(--ambre);margin-top:2px}
.terrain-acces small,.terrain-consignes small{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--discret)}
.terrain-consignes{padding-top:4px;border-top:1px solid var(--trait)}
.terrain-consignes p{margin:6px 0 0}
.pointages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.pointage{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 12px;align-items:center;padding:16px 22px;border-right:1px solid var(--trait)}
.pointage:last-child{border-right:0}
.pointage .pastille{display:grid;place-items:center;width:38px;height:38px;border-radius:var(--r-s);background:var(--panneau-2);color:var(--discret)}
.pointage.fait .pastille{background:var(--vert-voile);color:var(--vert)}
.pointage small{display:block;color:var(--discret);font-size:12px}
.pointage strong{display:block;font-size:20px;font-weight:800;font-variant-numeric:tabular-nums}
.pointage form{grid-column:1/-1}
.pointage form .btn{width:100%;height:44px}
.form-grille.trois{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}
.bloc-rapport{border-top:1px solid var(--trait)}
.bloc-rapport h3{margin:0 0 12px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--bleu-clair)}
.repetable.materiel{grid-template-columns:minmax(0,1fr) 84px 72px 120px 42px;align-items:center}
.repetable.materiel input{height:44px}
.cases{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.case{display:flex;align-items:center;gap:12px;min-height:48px;padding:10px 14px;border:1px solid var(--trait-fort);border-radius:var(--r);cursor:pointer;color:var(--texte-2)}
.case input{width:20px;height:20px;accent-color:var(--bleu)}
.case:has(input:checked){border-color:var(--bleu);background:var(--bleu-voile);color:var(--texte-fort)}
.ajout-medias{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px}
.ajout-medias .btn{height:50px;cursor:pointer}
.ajout-medias select{width:auto;min-width:130px;height:50px}
.envois{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:8px}
.envois li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:10px 14px;border-radius:var(--r-s);background:var(--panneau-2)}
.envois .nom{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.envois small{color:var(--discret);font-size:12px;text-align:right}
.envois progress{grid-column:1/-1;width:100%;height:6px;border:0;border-radius:3px;background:var(--panneau);overflow:hidden;appearance:none;-webkit-appearance:none}
.envois progress::-webkit-progress-bar{background:var(--panneau);border-radius:3px}
.envois progress::-webkit-progress-value{background:var(--bleu);border-radius:3px;transition:width .2s}
.envois progress::-moz-progress-bar{background:var(--bleu);border-radius:3px}
.envois li.fait small{color:var(--vert)}
.envois li.fait progress::-webkit-progress-value{background:var(--vert)}
.envois li.erreur small{color:var(--rouge)}
.medias{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.media-vignette{position:relative;margin:0;border-radius:var(--r);overflow:hidden;background:var(--panneau-2);border:1px solid var(--trait)}
.media-vignette > a{position:relative;display:block;aspect-ratio:4/3;background:#020a14}
.media-vignette img,.media-vignette video{display:block;width:100%;height:100%;object-fit:cover}
.media-vignette .lecture{position:absolute;inset:auto auto 10px 10px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(3,13,26,.7);color:#fff}
.media-format{display:grid;place-items:center;height:100%;color:var(--discret);font-size:13px}
.media-vignette figcaption{display:grid;gap:4px;padding:10px 12px;font-size:12px;color:var(--discret)}
.media-vignette figcaption em{color:var(--texte-2);font-style:normal}
.media-actions{border-top:1px solid var(--trait)}
.media-actions summary{display:flex;justify-content:flex-end;padding:6px 10px;color:var(--bleu-clair);cursor:pointer;list-style:none}
.media-actions summary::-webkit-details-marker{display:none}
.media-actions .form{padding:10px 12px}
.media-actions > form{padding:0 12px 12px}
.signature{display:grid;gap:12px}
.signature-zone{position:relative;height:200px;border:1.5px dashed var(--trait-fort);border-radius:var(--r);background:#FFFFFF;touch-action:none;overflow:hidden}
.signature-zone canvas{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair}
.signature-aide{position:absolute;inset:auto 0 12px;text-align:center;color:#8A94A3;font-size:13px;pointer-events:none;transition:opacity .2s}
.signee .signature-aide{opacity:0}
.signature-faite{display:flex;align-items:center;gap:16px;margin-bottom:14px}
.form-signature{padding:16px 0 0}
.signature-faite img{width:200px;height:auto;max-height:100px;object-fit:contain;padding:6px;border-radius:var(--r-s);background:#fff}
.signature-faite small{display:block;color:var(--discret);font-size:12px}
.terminer{display:grid;gap:10px;justify-items:start}
.terminer .btn{height:54px;padding:0 26px;font-size:15px}
.terminer .aide{margin:0;color:var(--discret);font-size:13px}
.liste-materiel{margin:0;padding-left:18px}
.liste-materiel small{color:var(--discret)}
details.annulation{border:1px solid var(--trait);border-radius:var(--r-l)}
details.annulation summary{color:var(--rouge)}
@media (max-width:860px){
  .pointages{grid-template-columns:minmax(0,1fr)}
  .pointage{border-right:0;border-bottom:1px solid var(--trait)}
  .pointage:last-child{border-bottom:0}
  .form-grille.trois{grid-template-columns:minmax(0,1fr)}
  .repetable.materiel{grid-template-columns:minmax(0,1fr) 72px 64px 42px;row-gap:8px}
  .repetable.materiel .ref{grid-column:1/4;grid-row:2}
  .repetable.materiel [data-retirer]{grid-column:4;grid-row:1}
  .medias{grid-template-columns:repeat(2,minmax(0,1fr))}
  .terminer .btn{width:100%}
  .heure-pastille{min-width:56px}
}

/* ---------- Envois : encart des fiches ---------- */
.envoi-ligne{align-items:start}
.envoi-ligne small + small{margin-top:2px}
.envoi-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px}
.envoi-actions form{display:inline-flex}

/* ---------- Page publique du document (client) : thème clair du site PNP ---------- */
body.document-public{
  --fond:#F7F8FA; --panneau:#FFFFFF; --panneau-2:#F5F7FF; --survol:#EEF0F4; --trait:#E3E6EC; --trait-fort:#C9CED6;
  --texte:#0A0A0A; --texte-2:#3B4855; --discret:#55606C; --bleu-clair:#3957FF; --bleu-voile:#E6EBFF;
  background:var(--fond);color:var(--texte);min-height:100dvh;display:flex;flex-direction:column}
.document-public input[type=text],.document-public input[type=email],.document-public input[type=tel],.document-public input[type=search],.document-public textarea{background:#FFFFFF;color:var(--texte)}
.doc-largeur{width:min(760px,calc(100% - 32px));margin:0 auto}
.doc-entete{background:#051B34;border-bottom:3px solid #3957FF;color:#C9D3FF}
.doc-entete .doc-largeur{display:flex;align-items:center;justify-content:space-between;height:72px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.doc-logo{display:block;color:#FFFFFF}
.doc-logo svg{display:block;width:96px;height:22px}
.doc-corps{flex:1;display:grid;gap:16px;align-content:start;padding:32px 0 40px}
.doc-carte{padding:28px;border-radius:var(--r-l);background:#FFFFFF;border:1px solid var(--trait);box-shadow:0 1px 2px rgba(5,27,52,.05),0 12px 32px -18px rgba(5,27,52,.18)}
.doc-carte h1{margin:4px 0 18px;font-size:clamp(26px,5vw,38px);line-height:1.08;font-weight:800;letter-spacing:-.03em;color:#051B34}
.doc-carte h1 em{font-family:var(--serif);font-style:italic;font-weight:400;color:#3957FF}
.doc-carte h2{margin:0 0 6px;font-size:20px;font-weight:800;letter-spacing:-.02em;color:#051B34}
.doc-surtitre{margin:0;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#3957FF}
.doc-chiffres{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0 0 20px}
.doc-chiffres div{padding:14px 16px;border-radius:var(--r);background:#F5F7FF}
.doc-chiffres dt{font-size:12px;color:var(--discret)}
.doc-chiffres dd{margin:2px 0 0;font-size:20px;font-weight:800;color:#051B34;font-variant-numeric:tabular-nums}
.doc-actions{display:flex;flex-wrap:wrap;gap:10px}
.doc-actions .btn{height:50px}
.doc-merci{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start;border-color:#BFE8D4;background:#F2FBF6}
.doc-merci > .ic{width:28px;height:28px;color:#1F9D63}
.doc-merci p{margin:0;color:var(--texte-2)}
.doc-signature{display:grid;gap:14px;margin-top:14px}
.doc-signature .case{border-color:var(--trait-fort);color:var(--texte-2);align-items:flex-start}
.doc-signature .case:has(input:checked){background:#E6EBFF;color:#051B34;border-color:#3957FF}
.doc-signature .case.erreur{border-color:var(--rouge)}
.doc-signature .signature-zone{border-color:#C9CED6;background:#FFFFFF}
.code-signature{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.doc-refus{margin-top:18px;border:1px solid var(--trait);border-radius:var(--r)}
.doc-refus summary{color:var(--discret)}
.doc-pied{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:18px 0 28px;border-top:1px solid var(--trait);font-size:12px;color:var(--discret)}
.doc-pied span:first-child{font-weight:700;color:#051B34}
.document-public .alerte{background:#FFF1F1;color:#B42318}
.document-public .alerte.info{background:#F5F7FF;color:#051B34}
@media (max-width:600px){.doc-carte{padding:20px;border-radius:var(--r-l)}.doc-actions .btn{flex:1 1 100%}}

/* ---------- Factures ---------- */
.action-ligne{display:inline-flex;align-items:center;gap:6px;margin:0}
.mini-champ input{width:72px;height:32px;padding:0 10px;border-radius:var(--r-s);border:1px solid var(--trait-fort);background:var(--panneau-2)}
.actions-facturer .rangee{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}
.ligne.annule{opacity:.55}
.ligne.annule strong{text-decoration:line-through}
.annuler-reglement{position:relative}
.annuler-reglement summary{list-style:none;cursor:pointer}
.annuler-reglement summary::-webkit-details-marker{display:none}
.annuler-reglement[open] form{position:absolute;right:0;top:calc(100% + 6px);z-index:5;width:min(320px,80vw);padding:14px;border-radius:var(--r);background:var(--panneau-2);border:1px solid var(--trait-fort);box-shadow:var(--ombre);display:grid;gap:10px}
.carte.emission .champ{margin-bottom:10px}
.tableau tfoot td{border-top:1px solid var(--trait-fort);font-weight:600}
.tableau.journal tr.debut td{border-top:1px solid var(--trait-fort)}
.ligne.rapprochement .ligne-fin{flex-wrap:wrap;justify-content:flex-end;gap:6px}
.filtres.periode{max-width:320px;margin-bottom:16px}
/* Période des statistiques : pastille compacte, en haut à gauche, sous le titre (ordinateur et téléphone). */
.stats-periode{display:flex;align-items:center;gap:10px;margin:-6px 0 18px}
.stats-periode-champ{position:relative;display:inline-flex;align-items:center}
.stats-periode-champ .ic{position:absolute;left:14px;width:17px;height:17px;color:var(--bleu-clair);pointer-events:none}
.stats-periode select{width:auto;min-width:0;height:40px;padding:0 40px 0 40px;border-radius:var(--r-pill);font-weight:600;font-size:14px;
  background-color:var(--panneau);border:1px solid var(--trait-fort);box-shadow:0 1px 2px rgba(0,0,0,.06);cursor:pointer}
.stats-periode select:hover{border-color:var(--bleu)}
@media (max-width:720px){.stats-periode{margin:-2px 0 14px}.stats-periode-champ,.stats-periode select{max-width:100%}}
ol.etapes{margin:12px 0 0;padding-left:20px;color:var(--texte-2)}
ol.etapes li{margin:4px 0}

/* ---------- Agenda ---------- */
.ag-barre{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px;margin-bottom:16px}
.ag-nav{display:flex;gap:6px}
.ag-filtre{min-width:220px}
.ag-filtre .champ{margin:0}
.ag-semaine{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}
.ag-jour{background:var(--panneau);border:1px solid var(--trait);border-radius:var(--r);padding:10px;min-height:180px;display:flex;flex-direction:column;gap:8px}
.ag-jour.aujourdhui{border-color:var(--bleu);box-shadow:0 0 0 1px var(--bleu) inset}
.ag-jour header{display:flex;align-items:center;justify-content:space-between;font-weight:700;text-transform:capitalize;color:var(--texte-2)}
.ag-jour.aujourdhui header a:first-child{color:var(--bleu-clair)}
.ag-jour header .rond{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;color:var(--discret)}
.ag-jour header .rond:hover{background:var(--survol);color:var(--texte)}
.ag-jour ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ag-libre{margin:auto 0;color:var(--discret);font-size:12px;text-align:center}
.ag-element{display:grid;gap:2px;padding:8px 10px;border-radius:var(--r-s);background:var(--panneau-2);border-left:3px solid var(--bleu);font-size:12.5px;transition:background .15s var(--ease)}
.ag-element:hover{background:var(--survol)}
.ag-element strong{font-weight:650;line-height:1.3}
.ag-element small{color:var(--texte-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ag-element .ag-lieu{display:flex;gap:4px;align-items:center}
.ag-element .ag-lieu .ic{width:12px;height:12px}
.ag-element.urgent{box-shadow:0 0 0 1px var(--rouge) inset}
.ag-element.fait{opacity:.6}
.ag-heure{font-size:11px;font-weight:700;color:var(--bleu-clair);letter-spacing:.02em}
.ag-vert{border-left-color:var(--vert)} .ag-violet{border-left-color:var(--violet)} .ag-ambre{border-left-color:var(--ambre)} .ag-gris{border-left-color:var(--discret)}
.ag-jour.ag-jour .ag-element{white-space:normal}
.ag-jour:only-child{min-height:0}
.ag-mois{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.ag-entete{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--discret);padding:0 6px}
.ag-case{min-height:104px;padding:8px;border-radius:var(--r-s);background:var(--panneau);border:1px solid var(--trait);display:flex;flex-direction:column;gap:3px;overflow:hidden}
.ag-case:hover{background:var(--panneau-2)}
.ag-case.dehors{opacity:.45}
.ag-case.aujourdhui{border-color:var(--bleu)}
.ag-num{font-weight:700;font-size:13px}
.ag-point{font-size:11px;padding:1px 6px;border-radius:6px;background:var(--bleu-voile);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ag-point.ag-vert{background:var(--vert-voile)} .ag-point.ag-violet{background:var(--violet-voile)} .ag-point.ag-ambre{background:var(--ambre-voile)} .ag-point.ag-gris{background:var(--trait)}
.ag-plus{font-size:11px;color:var(--discret)}
.form-rdv .journees{display:none}
.form-rdv:has([name=all_day]:checked) .journees{display:grid}
.form-rdv:has([name=all_day]:checked) .heures{display:none}
@media (max-width:1100px){.ag-semaine{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:720px){
  .ag-semaine{grid-template-columns:1fr}
  .ag-jour{min-height:0}
  .ag-jour:not(.aujourdhui):has(.ag-libre){padding:8px 10px;flex-direction:row;align-items:center;justify-content:space-between}
  .ag-mois{gap:3px}
  .ag-case{min-height:64px;padding:5px}
  .ag-point{font-size:0;height:6px;padding:0}
}

/* ---------- Graphiques (couleurs validées : daltonisme, contraste sur le fond) ---------- */
/* Ordre fixe : 1 bleu (année en cours, série principale), 2 orange, 3 vert d'eau, 4 jaune ; « avant » = repère neutre. */
:root{--serie-1:#5B78FF;--serie-2:#d95926;--serie-3:#199e70;--serie-4:#c98500;--serie-avant:#7D8FA8}
.graphique{margin:0;position:relative;outline:none}
.graphique:focus-visible{box-shadow:0 0 0 2px var(--bleu);border-radius:var(--r-s)}
.graphique svg{width:100%;height:auto;overflow:visible;touch-action:pan-y}
.g-grille{stroke:var(--trait);stroke-width:1}
.g-base{stroke:var(--trait-fort);stroke-width:1}
.g-axe{fill:var(--discret);font-size:11px;font-family:var(--sans)}
.g-valeur,.g-etiquette{fill:var(--texte-2);font-size:11.5px;font-weight:600;font-family:var(--sans)}
.g-barre{transition:opacity .18s var(--ease)}
.g-serie-1{fill:var(--serie-1);stroke:var(--serie-1)} .g-serie-2{fill:var(--serie-2);stroke:var(--serie-2)}
.g-serie-3{fill:var(--serie-3);stroke:var(--serie-3)} .g-serie-4{fill:var(--serie-4);stroke:var(--serie-4)}
.g-serie-avant{fill:var(--serie-avant);stroke:var(--serie-avant)}
.g-barre{stroke:none}
.g-en-cours{opacity:.72}
.g-courbe{fill:none!important;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.g-annee-courante .g-courbe{stroke-width:2.75}
.g-courbe-avant{stroke:var(--serie-avant);stroke-width:1.5;stroke-dasharray:4 4}
.g-marque{stroke:var(--panneau);stroke-width:2}
.g-repere{stroke:var(--trait-fort);stroke-width:1;stroke-dasharray:3 3;pointer-events:none}
.graphique.g-survol .g-barre{opacity:.45}
.graphique.g-survol .g-actif .g-barre{opacity:1}
.graphique.g-survol .g-actif .g-axe{fill:var(--texte)}
.g-legende{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0 0 12px;padding:0;list-style:none;font-size:12.5px;color:var(--texte-2)}
.g-pastille{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:7px;vertical-align:-1px}
.g-pastille.g-serie-1{background:var(--serie-1)} .g-pastille.g-serie-2{background:var(--serie-2)} .g-pastille.g-serie-3{background:var(--serie-3)} .g-pastille.g-serie-4{background:var(--serie-4)}
.g-pastille.g-pastille-trait{width:16px;height:0;border-radius:0;border-top:2px dashed var(--serie-avant);background:none;vertical-align:3px}
.g-bulle{position:absolute;top:0;left:0;z-index:5;min-width:180px;max-width:260px;padding:10px 12px;border-radius:var(--r-s);background:var(--panneau-2);border:1px solid var(--trait-fort);
  box-shadow:0 12px 32px rgba(0,0,0,.28);font-size:12.5px;color:var(--texte-2);pointer-events:none;opacity:0;transition:opacity .14s var(--ease),transform .14s var(--ease)}
.g-bulle.g-montre{opacity:1}
.g-bulle strong{display:block;margin-bottom:6px;font-size:13px;color:var(--texte)}
.g-bulle strong::first-letter{text-transform:uppercase}
.g-bulle .g-ligne{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:3px}
.g-bulle .g-ligne b{font-weight:600;color:var(--texte);font-variant-numeric:tabular-nums}
.g-bulle .g-var{margin-top:7px;padding-top:6px;border-top:1px solid var(--trait);font-variant-numeric:tabular-nums}
.g-bulle .g-var.g-hausse{color:var(--vert)} .g-bulle .g-var.g-baisse{color:var(--rouge)}
/* Animation à l'affichage (ajoutée par le script ; rien n'est caché sans script ni avec « réduire les animations »). */
.g-anime .g-barre{transform:scaleY(0);transform-box:fill-box;transform-origin:50% 100%}
.g-anime.g-visible .g-barre{transform:scaleY(1);transition:transform .9s var(--verre-ressort) var(--d,0ms),opacity .18s var(--ease)}
.g-anime .g-marque,.g-anime .g-valeur,.g-anime .g-etiquette,.g-anime .g-courbe-avant{opacity:0}
.g-anime.g-visible .g-marque,.g-anime.g-visible .g-valeur,.g-anime.g-visible .g-etiquette,.g-anime.g-visible .g-courbe-avant{opacity:1;transition:opacity .5s var(--ease) .55s}
.g-anime.g-visible .g-courbe:not(.g-courbe-avant){transition:stroke-dashoffset 1.3s cubic-bezier(.4,0,.2,1)}
.stats-pile{display:grid;gap:16px;margin-bottom:16px;min-width:0}
.grille-2>.stats-pile{margin-bottom:0}
.stats-pile>.grille-2{margin-bottom:0}
.tableau-defile{overflow-x:auto}
.g-tableau{margin-top:10px;font-size:12.5px}
.g-tableau summary{cursor:pointer;color:var(--texte-2)}


/* ---------- Thème clair : choix « Jour », ou « Automatique » (sans attribut data-theme) quand l'appareil est en mode clair.
   Sans choix, le CRM reste en thème sombre (data-theme="sombre" posé par le serveur). ----------
   Mêmes variables que le thème sombre ; couleurs des graphiques validées sur fond clair. */
:root[data-theme="clair"]{
  --fond:#F3F5F9; --panneau:#FFFFFF; --panneau-2:#F5F7FC; --survol:#E8ECF4;
  --trait:rgba(5,27,52,.10); --trait-fort:rgba(5,27,52,.18);
  --texte:#0A1626; --texte-2:#3B4855; --discret:#5E6A78;
  --bleu-clair:#2F4CE6; --bleu-voile:rgba(57,87,255,.10);
  --vert:#1A8A57; --vert-voile:rgba(31,157,99,.12); --ambre:#A86A12; --ambre-voile:rgba(183,121,31,.12);
  --rouge:#C93C3C; --rouge-voile:rgba(214,69,69,.10); --violet:#6F4FD8; --violet-voile:rgba(123,92,224,.10);
  --ombre:0 1px 0 rgba(255,255,255,.8) inset,0 18px 40px -26px rgba(5,27,52,.28);
  --survol-leger:rgba(57,87,255,.05); --survol-moyen:rgba(57,87,255,.09);
  --verre-panneau:linear-gradient(180deg,rgba(255,255,255,.82),rgba(244,247,252,.86));
  --verre-hub:linear-gradient(155deg,rgba(255,255,255,.86) 0%,rgba(246,248,253,.9) 55%,rgba(238,242,250,.92) 100%);
  --verre-barre:linear-gradient(180deg,rgba(255,255,255,.86),rgba(244,247,252,.9));
  --verre-bord:rgba(5,27,52,.10); --verre-creux:rgba(5,27,52,.05); --verre-tuile:rgba(255,255,255,.7); --panneau-voile:rgba(255,255,255,.7);
  --voile:rgba(5,27,52,.18); --voile-fort:rgba(5,27,52,.38); --ombre-c:rgba(5,27,52,.22); --texte-info:#1E2F8F; --poignee:rgba(5,27,52,.22);
  --texte-fort:#051B34; --side-fond:linear-gradient(180deg,#FFFFFF 0%,#F6F8FC 100%); --champ:#FFFFFF;
  --serie-1:#3957FF; --serie-2:#eb6834; --serie-3:#1baf7a; --serie-4:#eda100; --serie-avant:#8A94A6;
  color-scheme:light;
}
@media (prefers-color-scheme:light){
  :root:not([data-theme]){
  --fond:#F3F5F9; --panneau:#FFFFFF; --panneau-2:#F5F7FC; --survol:#E8ECF4;
  --trait:rgba(5,27,52,.10); --trait-fort:rgba(5,27,52,.18);
  --texte:#0A1626; --texte-2:#3B4855; --discret:#5E6A78;
  --bleu-clair:#2F4CE6; --bleu-voile:rgba(57,87,255,.10);
  --vert:#1A8A57; --vert-voile:rgba(31,157,99,.12); --ambre:#A86A12; --ambre-voile:rgba(183,121,31,.12);
  --rouge:#C93C3C; --rouge-voile:rgba(214,69,69,.10); --violet:#6F4FD8; --violet-voile:rgba(123,92,224,.10);
  --ombre:0 1px 0 rgba(255,255,255,.8) inset,0 18px 40px -26px rgba(5,27,52,.28);
  --survol-leger:rgba(57,87,255,.05); --survol-moyen:rgba(57,87,255,.09);
  --verre-panneau:linear-gradient(180deg,rgba(255,255,255,.82),rgba(244,247,252,.86));
  --verre-hub:linear-gradient(155deg,rgba(255,255,255,.86) 0%,rgba(246,248,253,.9) 55%,rgba(238,242,250,.92) 100%);
  --verre-barre:linear-gradient(180deg,rgba(255,255,255,.86),rgba(244,247,252,.9));
  --verre-bord:rgba(5,27,52,.10); --verre-creux:rgba(5,27,52,.05); --verre-tuile:rgba(255,255,255,.7); --panneau-voile:rgba(255,255,255,.7);
  --voile:rgba(5,27,52,.18); --voile-fort:rgba(5,27,52,.38); --ombre-c:rgba(5,27,52,.22); --texte-info:#1E2F8F; --poignee:rgba(5,27,52,.22);
  --texte-fort:#051B34; --side-fond:linear-gradient(180deg,#FFFFFF 0%,#F6F8FC 100%); --champ:#FFFFFF;
  --serie-1:#3957FF; --serie-2:#eb6834; --serie-3:#1baf7a; --serie-4:#eda100; --serie-avant:#8A94A6;
  color-scheme:light;
  }
}
.choix-theme{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.choix-theme button{display:grid;justify-items:center;gap:8px;padding:16px 10px;border-radius:var(--r);border:1px solid var(--trait-fort);background:var(--panneau-2);color:var(--texte-2);cursor:pointer;font-weight:600}
.choix-theme button[aria-pressed="true"]{border-color:var(--bleu);color:var(--texte);box-shadow:0 0 0 1px var(--bleu) inset;background:var(--bleu-voile)}
.choix-theme .ic{width:24px;height:24px}

/* Champs en lecture seule (document émis) : lisibles, clairement non modifiables. */
input:disabled,select:disabled,textarea:disabled{color:var(--texte-2);background:var(--panneau-2);cursor:default}

/* ---------- Factures : barre de filtres (période, compte, type, tri) ---------- */
.filtres-factures select[name=periode]{min-width:230px}
.filtre-compte{position:relative;display:inline-flex;align-items:center;min-width:230px}
.filtre-compte input[type=search]{height:40px;padding-right:38px}
.effacer-filtre{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:26px;height:26px;border-radius:50%;color:var(--discret)}
.effacer-filtre:hover,.effacer-filtre:focus-visible{color:var(--texte-fort);background:var(--panneau-2)}
.effacer-filtre .ic{width:14px;height:14px}
.tableau-factures .sous a{color:var(--discret)}
.tableau-factures .sous a:hover{color:var(--texte-fort)}
.pagination .btn{flex:none}
@media (max-width:860px){
  .filtres-factures select[name=periode],.filtre-compte{flex:1 1 100%;width:100%;min-width:0}
  .filtre-compte input[type=search]{width:100%}
}
/* Encart repliable (relances du jour) : une ligne, s'ouvre d'un clic */
.repli > summary{list-style:none;cursor:pointer;user-select:none}
.repli > summary::-webkit-details-marker{display:none}
.repli:not([open]) > summary{border-bottom:0}
.repli[open] > summary .carte-lien{font-size:0}
.repli[open] > summary .carte-lien::after{content:'Masquer';font-size:12.5px}
.carte-repli{margin-bottom:16px}
/* Frais de structure : libellé, catégorie, montant, périodicité */
.repetable.repetable-frais{grid-template-columns:minmax(0,1.3fr) minmax(0,1.2fr) 120px 150px 42px}
@media (max-width:1100px){.repetable.repetable-frais{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 42px}.repetable-frais .champ:nth-child(3){grid-column:1}.repetable-frais .champ:nth-child(4){grid-column:2}.repetable-frais .rond{grid-row:1;grid-column:3}}
.frais-structure .repetable + .repetable{padding-top:12px;border-top:1px solid var(--trait)}

/* ---------- Activité & Chatter (collaboration interne de chaque fiche) ---------- */
.chatter{position:sticky;top:16px;overflow:visible}
.fiche-chatter{margin-top:16px}
.fiche-chatter .chatter{position:static}
.ch-tete{align-items:flex-start}
.ch-tete h2{font-size:18px}
.ch-tete small{display:block;margin-top:2px;color:var(--discret);font-size:12px}
.ch-kicker{display:block;margin-bottom:4px;color:var(--bleu-clair);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.ch-onglets{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:0 16px 12px;padding:4px;border-radius:var(--r-pill);background:var(--panneau-2);border:1px solid var(--trait)}
.ch-onglets button{height:34px;border:0;border-radius:var(--r-pill);background:none;color:var(--texte-2);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}
.ch-onglets button[aria-selected="true"]{background:var(--bleu);color:#fff}
.ch-onglets b{margin-left:4px;font-weight:700;opacity:.8}
.ch-panneau{padding:0 16px 16px}
.ch-editeur{border:1px solid var(--trait-fort);border-radius:var(--r);background:var(--champ);position:relative}
.ch-outils{display:flex;flex-wrap:wrap;gap:2px;padding:6px 8px;border-bottom:1px solid var(--trait)}
.ch-outils button,.ch-emojis summary{min-width:30px;height:30px;padding:0 6px;border:0;border-radius:8px;background:none;color:var(--texte-2);font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;list-style:none}
.ch-outils button:hover,.ch-emojis summary:hover{background:var(--survol)}
.ch-emojis{position:relative}
.ch-emojis summary::-webkit-details-marker{display:none}
.ch-emojis > div{position:absolute;z-index:30;top:34px;left:0;display:grid;grid-template-columns:repeat(6,32px);gap:2px;padding:6px;border:1px solid var(--trait-fort);border-radius:var(--r);background:var(--panneau);box-shadow:var(--ombre)}
.ch-emojis > div button{height:32px;font-size:17px}
.ch-editeur textarea{display:block;width:100%;min-height:96px;border:0;border-radius:0;background:none;resize:vertical;padding:12px 14px}
.ch-editeur textarea:focus{outline:none;box-shadow:none}
.ch-pied{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px;border-top:1px solid var(--trait)}
.ch-joindre{position:relative;cursor:pointer}
.ch-joindre input{position:absolute;inset:0;opacity:0;cursor:pointer}
.ch-fichiers{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--discret);font-size:12px}
.ch-liste-mentions{position:absolute;z-index:30;left:12px;right:12px;top:calc(100% - 52px);padding:6px;border:1px solid var(--trait-fort);border-radius:var(--r);background:var(--panneau);box-shadow:var(--ombre)}
.ch-liste-mentions button{display:block;width:100%;padding:8px 10px;border:0;border-radius:var(--r-s);background:none;color:var(--texte);font:inherit;font-size:13px;text-align:left;cursor:pointer}
.ch-liste-mentions button[aria-selected="true"],.ch-liste-mentions button:hover{background:var(--bleu-voile)}
.ch-messages{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:14px}
.ch-message{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px}
.ch-corps header{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.ch-corps header strong{font-size:13px}
.ch-corps header small{color:var(--discret);font-size:11.5px}
.ch-texte{margin-top:4px;padding:10px 12px;border-radius:4px 14px 14px 14px;background:var(--panneau-2);color:var(--texte-2);font-size:13.5px;line-height:1.5;overflow-wrap:anywhere}
.ch-texte p{margin:0 0 6px}.ch-texte p:last-child{margin:0}
.ch-texte ul,.ch-texte ol{margin:4px 0;padding-left:20px}
.ch-texte blockquote{margin:4px 0;padding-left:10px;border-left:3px solid var(--trait-fort);color:var(--discret)}
.ch-texte code{padding:1px 5px;border-radius:6px;background:var(--survol);font-size:12.5px}
.ch-texte a{color:var(--bleu-clair);text-decoration:underline}
.mention{color:var(--bleu-clair);font-weight:700}
.ch-pieces{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.ch-pieces a{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--trait);border-radius:var(--r-pill);color:var(--texte-2);font-size:12px}
.ch-pieces .ic{width:14px;height:14px}
.ch-reactions{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:6px}
.ch-reaction-form{display:inline}
.ch-reaction{display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 8px;border:1px solid var(--trait);border-radius:var(--r-pill);background:none;color:var(--texte-2);font:inherit;font-size:12.5px;cursor:pointer}
.ch-reaction[aria-pressed="true"]{border-color:var(--bleu-clair);background:var(--bleu-voile);color:var(--texte-fort)}
.ch-palette{position:relative}
.ch-palette summary{display:inline-grid;place-items:center;height:26px;padding:0 8px;border:1px dashed var(--trait-fort);border-radius:var(--r-pill);color:var(--discret);font-size:12px;cursor:pointer;list-style:none;opacity:.7}
.ch-message:hover .ch-palette summary,.ch-palette[open] summary{opacity:1}
.ch-palette summary::-webkit-details-marker,.ch-menu summary::-webkit-details-marker,.ch-modifier summary::-webkit-details-marker{display:none}
.ch-palette-liste{position:absolute;z-index:30;bottom:32px;left:0;display:flex;gap:2px;padding:6px;border:1px solid var(--trait-fort);border-radius:var(--r-pill);background:var(--panneau);box-shadow:var(--ombre)}
.ch-palette-liste button{width:32px;height:32px;border:0;border-radius:50%;background:none;font-size:17px;cursor:pointer;transition:transform .12s}
.ch-palette-liste button:hover{transform:scale(1.2);background:var(--survol)}
.ch-menu{position:relative;margin-left:auto}
.ch-menu > summary{display:grid;place-items:center;width:28px;height:22px;border-radius:8px;color:var(--discret);cursor:pointer;list-style:none;letter-spacing:1px}
.ch-menu > summary:hover{background:var(--survol)}
.ch-menu-liste{position:absolute;z-index:30;right:0;top:26px;min-width:260px;padding:8px;border:1px solid var(--trait-fort);border-radius:var(--r);background:var(--panneau);box-shadow:var(--ombre);display:grid;gap:6px}
.ch-modifier > summary{padding:6px 8px;border-radius:8px;cursor:pointer;list-style:none;font-size:13px}
.ch-modifier > summary:hover{background:var(--survol)}
.ch-modifier textarea{width:100%;margin-top:6px}
@media (max-width:860px){.chatter{position:static}}

/* ---------- Agenda façon Google Agenda (charte PNP) ---------- */
.cal{padding:0;overflow:visible}
.cal-barre{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;padding:16px 20px;border-bottom:1px solid var(--trait)}
.cal-nav{display:flex;align-items:center;gap:8px;min-width:0}
.cal-nav .rond{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;font-size:22px;line-height:1;color:var(--texte-2)}
.cal-nav .rond:hover{background:var(--survol);color:var(--texte-fort)}
.cal-titre{margin:0 0 0 6px;font-size:20px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-outils{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cal-personne select{height:38px;min-width:180px}
.cal-vues{display:flex;padding:4px;border-radius:var(--r-pill);background:var(--panneau-2);border:1px solid var(--trait)}
.cal-vues a{padding:7px 16px;border-radius:var(--r-pill);color:var(--texte-2);font-size:13px;font-weight:600}
.cal-vues a[aria-current="true"]{background:var(--bleu);color:#fff}
.cal-legende{display:flex;flex-wrap:wrap;gap:6px 14px;padding:10px 20px;border-bottom:1px solid var(--trait)}
.cal-filtre{display:inline-flex;align-items:center;gap:7px;padding:4px 0;border:0;background:none;color:var(--texte-2);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}
.cal-filtre[aria-pressed="false"]{opacity:.4;text-decoration:line-through}
.cal-point{width:9px;height:9px;border-radius:50%;background:var(--cal-c);flex:none}
.cal-aide{margin:0;padding:10px 20px 16px;border-top:1px solid var(--trait);font-size:12px}
/* Couleurs par type */
.cal-bleu{--cal-c:var(--bleu);--cal-v:var(--bleu-voile)} .cal-vert{--cal-c:var(--vert);--cal-v:var(--vert-voile)} .cal-violet{--cal-c:var(--violet);--cal-v:var(--violet-voile)}
.cal-gris{--cal-c:var(--discret);--cal-v:var(--survol)} .cal-ambre{--cal-c:var(--ambre);--cal-v:var(--ambre-voile)} .cal-rouge{--cal-c:var(--rouge);--cal-v:var(--rouge-voile)}
/* Grille semaine / jour */
.cal-grille{--cal-cols:7;--cal-h:48px}
.cal-grille.cols-1{--cal-cols:1}
.cal-tete,.cal-journee,.cal-corps{display:grid;grid-template-columns:56px repeat(var(--cal-cols),minmax(0,1fr))}
.cal-tete{position:sticky;top:0;z-index:5;background:var(--panneau);border-bottom:1px solid var(--trait)}
.cal-fuseau{display:flex;align-items:flex-end;justify-content:flex-end;padding:0 8px 6px;color:var(--discret);font-size:10.5px;text-align:right}
.cal-tete-jour{display:grid;justify-items:center;gap:2px;padding:10px 0 8px;color:var(--texte-2);border-left:1px solid var(--trait)}
.cal-tete-jour span{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.cal-tete-jour b{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;font-size:20px;font-weight:600;color:var(--texte-fort)}
.cal-tete-jour:hover b{background:var(--survol)}
.cal-tete-jour.aujourdhui span{color:var(--bleu-clair)}
.cal-tete-jour.aujourdhui b{background:var(--bleu);color:#fff}
.cal-journee{border-bottom:1px solid var(--trait-fort);min-height:30px}
.cal-journee .cal-fuseau{align-items:center;font-size:10px;line-height:1.1}
.cal-journee-jour{display:grid;align-content:start;gap:2px;padding:3px;border-left:1px solid var(--trait);cursor:cell}
.cal-corps{position:relative;height:min(66vh,720px);min-height:420px;overflow-y:auto;overscroll-behavior:contain}
.cal-heures{position:relative;height:calc(24 * var(--cal-h))}
.cal-heures span{display:block;height:var(--cal-h);padding-right:8px;text-align:right;color:var(--discret);font-size:10.5px;transform:translateY(-7px)}
.cal-colonne{position:relative;height:calc(24 * var(--cal-h));border-left:1px solid var(--trait);background-image:repeating-linear-gradient(to bottom,var(--trait) 0 1px,transparent 1px var(--cal-h));cursor:cell}
.cal-colonne.aujourdhui{background-color:var(--survol-leger)}
.cal-maintenant{position:absolute;left:-1px;right:0;height:2px;background:var(--rouge);z-index:4;pointer-events:none}
.cal-maintenant::before{content:"";position:absolute;left:-6px;top:-5px;width:12px;height:12px;border-radius:50%;background:var(--rouge)}
/* Événements */
.cal-ev{font:inherit;text-align:left;cursor:pointer;color:var(--texte-fort)}
.cal-bloc{position:absolute;z-index:2;display:flex;flex-direction:column;gap:1px;overflow:hidden;padding:4px 7px;border:0;border-left:3px solid var(--cal-c);border-radius:8px;background:var(--cal-v);box-shadow:0 0 0 1px var(--panneau);font-size:12px;line-height:1.25;touch-action:none}
.cal-bloc:hover{filter:brightness(1.08);z-index:3}
.cal-bloc strong{font-weight:650;overflow:hidden;text-overflow:ellipsis}
.cal-bloc small{color:var(--texte-2);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal-bloc.court{flex-direction:row;align-items:center;gap:6px;padding-top:1px;padding-bottom:1px}
.cal-bloc.court strong{white-space:nowrap}
.cal-bloc.en-glisse{opacity:.85;box-shadow:var(--ombre);z-index:6}
.cal-poignee{position:absolute;left:0;right:0;bottom:0;height:8px;cursor:ns-resize}
.cal-ev.fait strong{text-decoration:line-through;opacity:.7}
.cal-ev.annule{opacity:.5}
.cal-ev.urgent{box-shadow:0 0 0 1px var(--rouge) inset}
.cal-puce{display:block;width:100%;overflow:hidden;padding:2px 7px;border:0;border-radius:6px;background:var(--cal-v);border-left:3px solid var(--cal-c);font-size:11.5px;font-weight:600;white-space:nowrap;text-overflow:ellipsis}
.cal-puce i{font-style:normal;color:var(--texte-2);font-weight:500}
.cal-fantome{position:absolute;left:2px;right:4px;z-index:3;padding:4px 7px;border-radius:8px;background:var(--bleu);color:#fff;font-size:11.5px;font-weight:600;box-shadow:var(--ombre);pointer-events:none}
body.cal-glisse{user-select:none;cursor:grabbing}
.survol-depot{background:var(--bleu-voile)!important}
/* Mois */
.cal-mois{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.cal-mois-entete{padding:10px 8px 6px;color:var(--discret);font-size:11px;font-weight:700;letter-spacing:.06em;text-align:center;text-transform:uppercase;border-bottom:1px solid var(--trait)}
.cal-case{display:grid;align-content:start;gap:2px;min-height:118px;padding:4px 4px 6px;border-right:1px solid var(--trait);border-bottom:1px solid var(--trait);cursor:cell;min-width:0}
.cal-case:nth-child(7n+7){border-right:0}
.cal-case.dehors{background:var(--panneau-2)}
.cal-case.dehors .cal-num{color:var(--discret)}
.cal-num{justify-self:center;display:grid;place-items:center;min-width:26px;height:26px;padding:0 4px;border-radius:var(--r-s);font-size:12px;font-weight:650;color:var(--texte-fort)}
.cal-num:hover{background:var(--survol)}
.cal-case.aujourdhui .cal-num{background:var(--bleu);color:#fff}
.cal-plus{padding:1px 7px;color:var(--texte-2);font-size:11.5px;font-weight:650}
.cal-plus:hover{color:var(--texte-fort)}
/* Liste */
.cal-liste{padding:6px 20px 12px}
.cal-liste-jour{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--trait)}
.cal-liste-jour:last-child{border-bottom:0}
.cal-liste-jour h3{margin:0}
.cal-liste-jour h3 a{display:flex;align-items:baseline;gap:8px;color:var(--texte-2)}
.cal-liste-jour h3 b{font-size:22px;color:var(--texte-fort)}
.cal-liste-jour h3 span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.cal-liste-jour.aujourdhui h3 b{color:var(--bleu-clair)}
.cal-liste ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.cal-ligne{display:grid;grid-template-columns:12px 130px minmax(0,auto) minmax(0,1fr);align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;border-radius:var(--r-s);background:none}
.cal-ligne:hover{background:var(--survol)}
.cal-ligne-heure{color:var(--texte-2);font-size:12.5px}
.cal-ligne strong{font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal-ligne small{color:var(--discret);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* Aperçu et création rapide */
.cal-apercu,.cal-rapide{position:fixed;z-index:60;width:min(380px,calc(100vw - 24px));padding:16px 18px 18px;box-shadow:0 24px 60px -20px rgba(0,0,0,.55),var(--ombre)}
.cal-apercu-tete{display:flex;align-items:center;justify-content:space-between;gap:8px}
.cal-apercu-actions{display:flex;align-items:center;gap:4px}
.cal-apercu-actions .rond{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;border:0;background:none;color:var(--texte-2);cursor:pointer}
.cal-apercu-actions .rond:hover{background:var(--survol);color:var(--texte-fort)}
.cal-apercu-actions .ch-menu > summary{width:32px;height:32px;border-radius:50%}
.cal-apercu-actions .ch-menu-liste{min-width:230px}
.cal-apercu-actions .ch-menu-liste .btn{justify-content:flex-start;width:100%}
.cal-apercu-actions .danger{color:var(--rouge)}
.cal-apercu h2{margin:8px 0 12px;font-size:20px;line-height:1.25}
.cal-apercu-infos{display:grid;gap:10px;margin:0}
.cal-apercu-infos div{display:grid;gap:2px}
.cal-apercu-infos dt{color:var(--discret);font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.cal-apercu-infos dd{margin:0;font-size:13.5px;color:var(--texte)}
.cal-rapide input[name=title]{width:100%;border:0;border-bottom:2px solid var(--trait-fort);border-radius:0;background:none;font-size:18px;padding:6px 2px}
.cal-rapide input[name=title]:focus{border-bottom-color:var(--bleu);box-shadow:none;outline:none}
.cal-rapide-types{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 8px}
.cal-rapide-types label{cursor:pointer}
.cal-rapide-types input{position:absolute;opacity:0;pointer-events:none}
.cal-rapide-types span{display:inline-block;padding:5px 12px;border:1px solid var(--trait);border-radius:var(--r-pill);font-size:12.5px;font-weight:600;color:var(--texte-2)}
.cal-rapide-types input:checked + span{background:var(--bleu-voile);border-color:var(--bleu-clair);color:var(--texte-fort)}
.cal-rapide-types input:focus-visible + span{outline:2px solid var(--bleu-clair);outline-offset:2px}
.cal-rapide-quand{margin:4px 0 12px;color:var(--texte-2);font-size:13px}
.cal-rapide .form-actions{justify-content:flex-end}
/* Formulaire et fiche */
.form-rdv fieldset.invites{border:0;padding:0;margin:0}
.form-rdv fieldset.invites legend{margin-bottom:8px;font-size:12.5px;font-weight:600;color:var(--texte-2)}
.form-rdv .cases{display:flex;flex-wrap:wrap;gap:8px 16px}
.form-rdv details.recurrence > summary{list-style:none;cursor:pointer}
.form-rdv details.recurrence > summary::-webkit-details-marker{display:none}
.form-rdv details.recurrence .form-grille{margin-top:12px}
.zone-danger .pastille{background:var(--rouge-voile);color:var(--rouge)}
@media (max-width:860px){
  .cal-barre{padding:12px 14px}
  .cal-titre{font-size:16px}
  .cal-vues a{padding:6px 11px}
  .cal-grille.cols-7 .cal-tete,.cal-grille.cols-7 .cal-journee,.cal-grille.cols-7 .cal-corps{grid-template-columns:40px repeat(7,minmax(44px,1fr))}
  .cal-grille.cols-7{overflow-x:auto}
  .cal-tete-jour b{width:30px;height:30px;font-size:15px}
  .cal-bloc small{display:none}
  .cal-case{min-height:84px}
  .cal-puce i{display:none}
  .cal-liste{padding:4px 12px 10px}
  .cal-liste-jour{grid-template-columns:minmax(0,1fr);gap:4px}
  .cal-ligne{grid-template-columns:10px 96px minmax(0,1fr)}
  .cal-ligne small{display:none}
}
/* Bandeau Google Agenda au-dessus du calendrier */
.cal-google{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding:8px 10px 8px 14px;border:1px solid var(--trait);border-radius:var(--r-pill);background:var(--panneau);color:var(--texte-2);font-size:12.5px}
.cal-google > span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal-google .erreur{color:var(--rouge);font-weight:600}
.cal-google .ic{width:16px;height:16px;color:var(--bleu-clair)}
.cal-apercu-infos div[hidden],.cal-apercu [hidden]{display:none!important}
@media (max-width:860px){
  .cal-nav{flex-wrap:wrap;width:100%}
  .cal-titre{flex-basis:100%;margin:6px 0 0;white-space:normal}
  .cal-journee .cal-fuseau{font-size:0}
  .cal-journee .cal-fuseau::after{content:"Jour";font-size:9.5px}
  .cal-fuseau{padding-right:4px}
}
.ch-outils [data-format=gras]{font-weight:800}.ch-outils [data-format=italique]{font-style:italic;font-family:Georgia,serif}
.ch-outils [data-format=souligne]{text-decoration:underline}.ch-outils [data-format=barre]{text-decoration:line-through}

/* ---------- Thème jour : composants en verre (dock, sélecteurs) et alertes lisibles sur fond clair ---------- */
:root[data-theme="clair"]{--dock-icone:rgba(5,27,52,.62);--alerte-texte:#A12E2E;--vert:#12704A;--ambre:#8A560E;--rouge:#B32F2F}
:root[data-theme="clair"] .dock{box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 18px 40px -18px rgba(5,27,52,.35)}
:root[data-theme="clair"] .point-dock{background:var(--bleu);color:#fff;box-shadow:0 0 0 2px #fff}
:root[data-theme="clair"] .dock [data-verre-choisi] .point-dock,:root[data-theme="clair"] .dock [aria-current="page"] .point-dock{background:#fff;color:var(--bleu)}

/* ---------- Notifications du téléphone : interrupteur et liste cochée aux standards Apple ---------- */
.ios-ligne{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid var(--trait);border-radius:var(--r);background:var(--panneau-2)}
.ios-ligne strong{display:block;font-size:15px}
.ios-ligne small{display:block;margin-top:2px;color:var(--discret);font-size:12.5px}
.ios-ligne small.erreur{color:var(--rouge)}
.ios-interrupteur{--ios-off:rgba(120,120,128,.36);position:relative;flex:none;width:51px;height:31px;padding:0;border:0;border-radius:var(--r);background:var(--ios-off);cursor:pointer;transition:background .25s ease;-webkit-tap-highlight-color:transparent}
:root[data-theme="clair"] .ios-interrupteur{--ios-off:#E9E9EA}
.ios-interrupteur[aria-checked="true"]{background:#34C759}
.ios-interrupteur:focus-visible{outline:3px solid var(--bleu-clair);outline-offset:3px}
.ios-interrupteur:disabled{cursor:default;opacity:.55}
.ios-interrupteur.occupe{opacity:1;cursor:progress}
.ios-pouce{position:absolute;top:2px;left:2px;display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#fff;color:#34C759;box-shadow:0 3px 8px rgba(0,0,0,.15),0 3px 1px rgba(0,0,0,.06);transition:transform .25s cubic-bezier(.3,1.3,.6,1)}
.ios-pouce .ic{width:15px;height:15px;stroke-width:3;opacity:0;transform:scale(.6);transition:opacity .2s,transform .2s}
.ios-interrupteur[aria-checked="true"] .ios-pouce{transform:translateX(20px)}
.ios-interrupteur[aria-checked="true"] .ios-pouce .ic{opacity:1;transform:scale(1)}
.ios-interrupteur.occupe .ios-pouce{animation:ios-attente 1s ease-in-out infinite}
@keyframes ios-attente{50%{box-shadow:0 0 0 6px rgba(52,199,89,.25),0 3px 8px rgba(0,0,0,.15)}}
.push-actions{margin-top:10px}
.push-actions [hidden]{display:none}
.ios-liste{list-style:none;margin:0 0 6px;padding:0;border:1px solid var(--trait);border-radius:var(--r);background:var(--panneau-2);overflow:hidden}
.ios-liste li + li{border-top:1px solid var(--trait)}
.ios-coche{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:10px 16px;cursor:pointer;font-size:14px}
.ios-coche input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.ios-coche .ios-marque{flex:none;width:20px;height:20px;color:var(--bleu-clair);opacity:0;transition:opacity .15s}
.ios-coche input:checked ~ .ios-marque{opacity:1}
.ios-coche:active{background:var(--survol)}
.ios-coche:has(input:focus-visible){outline:2px solid var(--bleu-clair);outline-offset:-2px}
@media (prefers-reduced-motion:reduce){.ios-pouce,.ios-pouce .ic,.ios-interrupteur{transition:none}.ios-interrupteur.occupe .ios-pouce{animation:none}}

/* Application mobile : aucune barre de défilement visible (comme une application iOS) */
@media (pointer:coarse),(max-width:860px){
  *{scrollbar-width:none}
  *::-webkit-scrollbar{display:none;width:0;height:0;background:transparent}
}
/* Préférences de notifications : interrupteurs iOS par rubrique */
.ios-titre{margin-top:22px;margin-bottom:10px}
.ios-repli{display:grid;grid-template-rows:1fr;transition:grid-template-rows .35s var(--verre-ressort),opacity .25s var(--ease)}
.ios-repli>div{min-height:0;overflow:hidden}
.ios-repli.ferme{grid-template-rows:0fr;opacity:0;pointer-events:none}
@media (prefers-reduced-motion:reduce){.ios-repli{transition:none}}
.ios-coche{min-height:52px}
.ios-coche > span{flex:1;min-width:0}
.ios-bascule{-webkit-appearance:none;appearance:none;position:relative;flex:none;width:51px;height:31px;margin:0;border-radius:var(--r);background:var(--ios-off,rgba(120,120,128,.36));cursor:pointer;transition:background .25s ease;opacity:1!important;pointer-events:auto!important}
.ios-coche input.ios-bascule{position:relative;width:51px;height:31px}
:root[data-theme="clair"] .ios-bascule{--ios-off:#E9E9EA}
.ios-bascule::before{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 3px 8px rgba(0,0,0,.15),0 3px 1px rgba(0,0,0,.06);transition:transform .25s cubic-bezier(.3,1.3,.6,1)}
.ios-bascule:checked{background:#34C759}
.ios-bascule:checked::before{transform:translateX(20px)}
.ios-bascule:focus-visible{outline:3px solid var(--bleu-clair);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.ios-bascule,.ios-bascule::before{transition:none}}

/* ---------- Rythme vertical commun : 16 px entre cartes et blocs empilés dans la page (les grilles ont déjà leur écart) ---------- */
:is([data-page],[data-page]>form,[data-page]>div:not([class])) > :is(.carte,.grille-2,.kpis,.stats-pile,.pile,.carte-repli) + :is(.carte,.grille-2,.kpis,.stats-pile,.pile,.carte-repli){margin-top:16px}
:is([data-page],[data-page]>form,[data-page]>div:not([class])) > :is(.grille-2,.kpis,.stats-pile,.carte-repli):has(+ :is(.carte,.grille-2,.kpis,.stats-pile,.pile,.carte-repli)){margin-bottom:0}

/* ---------- Champ « fichier » : même bouton que le reste du CRM (au lieu du bouton gris du navigateur) ---------- */
input[type=file]{max-width:100%;font-size:13.5px;color:var(--texte-2)}
input[type=file]::file-selector-button{height:38px;margin-right:12px;padding:0 16px;border:1px solid var(--trait-fort);border-radius:var(--r-pill);
  background:var(--panneau-2);color:var(--texte);font:inherit;font-weight:650;font-size:13px;cursor:pointer;transition:border-color .15s,background .15s}
input[type=file]::file-selector-button:hover{border-color:var(--bleu);background:var(--survol)}

/* ---------- Barres de filtres : tous les contrôles à 40 px (champs, listes, boutons, « Filtres »), mêmes arrondis ---------- */
.filtres :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]),select){height:40px}
.filtres :is(.btn,summary.btn,a.btn,button.btn){height:40px;padding:0 16px;font-size:13px}
/* ---------- Téléphone : boutons d'action pleine largeur, le principal en premier ; champs et cartes sur toute la largeur ---------- */
@media (max-width:720px){
  .carte-corps .form-actions,.form>.form-actions{flex-direction:column-reverse;align-items:stretch}
  .carte-corps .form-actions .btn,.form>.form-actions .btn{width:100%}
  .filtres :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]),select){flex:1 1 100%;width:100%;min-width:0}
}

/* ---------- Textes d'aide et marges internes des cartes : un seul style partout ---------- */
.aide{color:var(--discret);font-size:13px;line-height:1.55}
p.aide{margin:0 0 14px}
.carte-corps>:first-child{margin-top:0}
.carte-corps>:last-child{margin-bottom:0}
.carte-corps>p:not([class]){margin:0 0 14px}
.action-ligne{margin-top:4px}

/* ---------- Largeur sur téléphone : rien ne doit dépasser l'écran (sinon l'iPhone dézoome toute la page) ---------- */
.ch-emojis:not([open]) > div,.ch-palette:not([open]) .ch-palette-liste,.ch-menu:not([open]) .ch-menu-liste{display:none}
.ch-emojis > div{left:auto;right:0}
@media (max-width:720px){.ch-palette-liste{left:auto;right:0;flex-wrap:wrap;max-width:calc(100vw - 48px)}.ch-menu-liste{min-width:0;width:min(260px,calc(100vw - 48px))}}
[data-page]{overflow-x:clip}
dd,td,.ligne strong,.ligne small,.carte-corps{overflow-wrap:anywhere}
@media (max-width:720px){.pagination{flex-wrap:wrap;padding-left:16px;padding-right:16px}.pagination span{flex:1 1 100%;margin:0}}

/* ---------- Liseuse : PDF, photos et vidéos en plein écran (comme Aperçu / Coup d'œil) ---------- */
html.liseuse-ouverte{overflow:hidden}
.liseuse{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#0B0F16;color:#EEF2F8;
  display:grid;grid-template-rows:auto minmax(0,1fr);overscroll-behavior:contain}
.liseuse:not([open]){display:none}
.liseuse::backdrop{background:rgba(5,8,12,.7)}
.liseuse-barre{display:flex;align-items:center;gap:12px;padding:calc(env(safe-area-inset-top) + 10px) calc(env(safe-area-inset-right) + 14px) 10px calc(env(safe-area-inset-left) + 14px);
  background:rgba(14,19,28,.92);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);z-index:2}
.liseuse-titre{display:grid;min-width:0;flex:1}
.liseuse-titre strong{font-size:14.5px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.liseuse-titre small{font-size:12px;color:rgba(238,242,248,.62);font-variant-numeric:tabular-nums}
.liseuse-outils{display:flex;align-items:center;gap:6px;flex:none}
.liseuse-zoom{display:inline-flex;align-items:center;gap:2px;padding:2px;border-radius:var(--r-pill);background:rgba(255,255,255,.07)}
.liseuse-bouton,.liseuse-pourcent{display:inline-grid;place-items:center;height:38px;min-width:38px;padding:0 8px;border:0;border-radius:var(--r-pill);background:none;color:inherit;cursor:pointer;font:inherit;font-size:12.5px;font-weight:650;font-variant-numeric:tabular-nums}
.liseuse-pourcent{min-width:58px}
.liseuse-bouton svg{width:20px;height:20px}
.liseuse-bouton:hover,.liseuse-pourcent:hover{background:rgba(255,255,255,.1)}
.liseuse-bouton:focus-visible,.liseuse-pourcent:focus-visible,.liseuse-fleche:focus-visible{outline:2px solid #6E86FF;outline-offset:2px}
.liseuse-corps{position:relative;overflow:auto;-webkit-overflow-scrolling:touch;outline:none;padding:16px 16px calc(env(safe-area-inset-bottom) + 24px)}
.liseuse-contenu{transform-origin:50% 0;transition:transform .05s linear}
.liseuse-pages{display:grid;justify-items:center;gap:14px;min-width:min-content}
.liseuse-page{background:#fff;border-radius:4px;box-shadow:0 10px 30px rgba(0,0,0,.45);overflow:hidden;flex:none}
.liseuse-page canvas{display:block;width:100%;height:100%}
.liseuse-image-boite{min-height:100%;display:grid;place-items:center}
.liseuse-image,.liseuse-video{display:block;max-width:100%;max-height:calc(100dvh - 120px);border-radius:6px;box-shadow:0 10px 30px rgba(0,0,0,.45);background:#000}
.liseuse-fleche{position:absolute;top:50%;z-index:3;display:grid;place-items:center;width:46px;height:46px;border:0;border-radius:50%;background:rgba(20,26,38,.78);color:#fff;cursor:pointer;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.liseuse-fleche svg{width:22px;height:22px}
.liseuse-fleche.precedent{left:calc(env(safe-area-inset-left) + 12px)} .liseuse-fleche.suivant{right:calc(env(safe-area-inset-right) + 12px)}
.liseuse-attente{display:grid;place-items:center;min-height:60vh}
.liseuse-attente span{width:34px;height:34px;border:3px solid rgba(255,255,255,.18);border-top-color:#fff;border-radius:50%;animation:liseuse-tourne .8s linear infinite}
@keyframes liseuse-tourne{to{transform:rotate(360deg)}}
.liseuse-erreur{display:grid;justify-items:center;gap:16px;margin:18vh auto 0;text-align:center}
@media (max-width:720px){
  .liseuse-barre{gap:6px;padding-left:calc(env(safe-area-inset-left) + 8px);padding-right:calc(env(safe-area-inset-right) + 8px)}
  .liseuse-zoom{display:none}
  .liseuse-corps{padding:10px 8px calc(env(safe-area-inset-bottom) + 20px)}
  .liseuse-pages{gap:10px}
  .liseuse-fleche{top:auto;bottom:calc(env(safe-area-inset-bottom) + 18px)}
}
.liseuse-impression{display:none}
@media print{
  html.liseuse-imprime body>*:not(.liseuse-impression){display:none!important}
  html.liseuse-imprime .liseuse-impression{display:block}
  .liseuse-impression img{display:block;width:100%;page-break-after:always;break-after:page}
  .liseuse-impression img:last-child{page-break-after:auto;break-after:auto}
}
@media (prefers-reduced-motion:reduce){.liseuse-attente span{animation-duration:2s}}
.liseuse [hidden]{display:none!important}

/* ---------- Priorités du jour (accueil et page Priorités) : même rythme que les autres listes ---------- */
.lignes.priorites .priorite{display:grid;grid-template-columns:116px minmax(0,1fr) auto;align-items:center;column-gap:16px;padding:16px 22px}
.priorite-niveau{display:flex;align-items:center}
.priorite-texte{display:grid;gap:4px;min-width:0;color:inherit;text-decoration:none}
.priorite-texte strong{font-size:14px;line-height:1.35}
.priorite-texte small{color:var(--discret);font-size:12.5px;line-height:1.45}
.priorite-texte:hover strong{color:var(--bleu-clair)}
.priorite-cat{margin-right:8px;padding-right:8px;border-right:1px solid var(--trait-fort);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--texte-2);white-space:nowrap}
.priorite-actions{display:flex;align-items:center;gap:8px}
.priorite-actions form{margin:0}
.priorite-menu{position:relative}
.priorite-menu summary{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--trait-fort);border-radius:50%;cursor:pointer;color:var(--texte-2);font-weight:800;letter-spacing:1px;list-style:none}
.priorite-menu summary::-webkit-details-marker{display:none}
.priorite-menu summary:hover{border-color:var(--bleu)}
.priorite-menu:not([open]) .priorite-menu-liste{display:none}
.priorite-menu-liste{position:absolute;right:0;top:40px;z-index:20;display:grid;min-width:190px;padding:6px;border:1px solid var(--trait-fort);border-radius:var(--r);background:var(--panneau);box-shadow:var(--ombre)}
.priorite-menu-liste button{width:100%;height:38px;padding:0 12px;border:0;border-radius:var(--r-s);background:none;color:var(--texte);font:inherit;font-size:13.5px;text-align:left;cursor:pointer}
.priorite-menu-liste button:hover{background:var(--survol)}
.compteur-titre{display:inline-grid;place-items:center;min-width:24px;height:24px;margin-left:8px;padding:0 7px;border-radius:var(--r-pill);background:var(--bleu);color:#fff;font-size:12px;font-weight:800;vertical-align:2px}
@media (max-width:720px){
  .lignes.priorites .priorite{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"niveau actions" "texte texte";row-gap:10px;column-gap:10px;padding:16px}
  .priorite-niveau{grid-area:niveau}
  .priorite-texte{grid-area:texte}
  .priorite-actions{grid-area:actions}
}


/* ---------- E-mails : texte affiché tel quel (jamais de HTML), e-mails dans le fil d'activité ---------- */
.email-texte{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.6;color:var(--texte)}
.fil .fil-email a{display:grid;gap:3px;color:inherit;text-decoration:none}
.fil .fil-email a:hover strong{color:var(--bleu-clair)}
.fil .fil-email strong::before{content:"";display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:var(--bleu);vertical-align:1px}
.fil .fil-email.envoye strong::before{background:var(--vert)}
.fil-extrait{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--texte-2);font-size:12.5px;line-height:1.45}

/* ---------- Agenda : en-tête comme Pantone (actions et légendes centrées, période, ‹ Aujourd'hui ›, vues en pastille) ---------- */
.cal-entete{display:grid;justify-items:center;gap:14px;margin:0 0 16px}
.cal-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.cal-entete .cal-legende{justify-content:center;gap:6px 18px;padding:0;border:0}
.cal-barre{display:grid;justify-items:center;gap:14px;padding:22px 20px 18px;border-bottom:1px solid var(--trait)}
.cal-titre{margin:0;font-size:26px;font-weight:650;letter-spacing:-.01em;text-align:center;white-space:normal}
.cal-nav{display:flex;align-items:center;justify-content:center;gap:8px}
.cal-nav .rond{width:44px;height:44px;border:1px solid var(--trait-fort);border-radius:var(--r-s);font-size:24px}
.cal-aujourdhui{display:grid;place-items:center;min-width:260px;height:44px;padding:0 22px;border:1px solid var(--trait-fort);border-radius:var(--r-s);
  color:var(--texte-2);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-decoration:none}
.cal-aujourdhui:hover,.cal-nav .rond:hover{border-color:var(--bleu);color:var(--texte)}
.cal-outils{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px}
.cal-vues{padding:4px}
.cal-vues a{min-width:88px;padding:9px 20px;text-align:center;font-size:14px}
@media (max-width:720px){
  .cal-entete{gap:12px}
  .cal-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .cal-actions .btn{width:100%;padding:0 10px}
  .cal-barre{padding:16px 14px 14px;gap:12px}
  .cal-titre{font-size:20px}
  .cal-nav{width:100%}
  .cal-aujourdhui{flex:1;min-width:0}
  .cal-outils{width:100%}
  .cal-vues{display:grid;grid-template-columns:repeat(4,1fr);width:100%}
  .cal-vues a{min-width:0;padding:8px 4px}
  .cal-personne,.cal-personne select{width:100%}
}
.cal-barre{width:100%;box-sizing:border-box;justify-self:stretch;align-self:stretch;grid-template-columns:minmax(0,1fr)}

/* ---------- Cloche des notifications (et loupe voisine) : plus grandes, plus lisibles ---------- */
.cloche .rond,.cherche-bouton{width:50px;height:50px}
.cloche .rond .ic,.cherche-bouton .ic{width:24px;height:24px;stroke-width:1.9}
.cloche .pastille-nombre{top:-4px;right:-8px;min-width:24px;height:24px;padding:0 7px;font-size:12.5px;line-height:24px}
.lead-date{display:grid;justify-items:end;gap:2px;font-size:12.5px;color:var(--texte-2);white-space:nowrap}
.lead-date small{font-size:11.5px;color:var(--discret)}
.puce-alerte[aria-current="false"] b{background:var(--ambre-voile);color:var(--ambre)}

/* ---------- Dock en verre liquide, comme les menus d'iOS : matériau neutre (sans teinte ni dégradé), flou saturé,
   liseré fin, reflet sur l'arête supérieure, ombre douce. Verre sombre la nuit, verre clair le jour. ---------- */
@media (max-width:860px){
  .dock{background:rgba(30,32,38,.48);border:.5px solid rgba(255,255,255,.18);
    box-shadow:inset 0 .5px 0 rgba(255,255,255,.32),inset 0 0 0 .5px rgba(255,255,255,.05),0 10px 30px rgba(0,0,0,.35),0 2px 8px rgba(0,0,0,.18);
    -webkit-backdrop-filter:blur(30px) saturate(1.9) brightness(1.05);backdrop-filter:blur(30px) saturate(1.9) brightness(1.05)}
  :root[data-theme="clair"] .dock{background:rgba(255,255,255,.52);border:.5px solid rgba(255,255,255,.7);
    box-shadow:inset 0 .5px 0 rgba(255,255,255,.95),inset 0 0 0 .5px rgba(0,0,0,.04),0 10px 30px rgba(15,25,45,.16),0 2px 8px rgba(15,25,45,.08);
    -webkit-backdrop-filter:blur(30px) saturate(1.9);backdrop-filter:blur(30px) saturate(1.9)}
}

/* ---------- Écran de chargement à l'ouverture de l'application (logo, reflet, barre) : disparaît seul, même sans script ---------- */
.demarrage{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;align-content:center;gap:26px;background:var(--fond);
  animation:demarrage-fin .45s var(--ease) 1.15s forwards;pointer-events:none}
.demarrage-logo{position:relative;width:min(220px,56vw);overflow:hidden;animation:demarrage-logo .8s cubic-bezier(.2,.9,.25,1.15) both}
.demarrage-logo svg{display:block;width:100%;height:auto;color:var(--texte)}
.demarrage-logo::after{content:"";position:absolute;inset:-20% auto -20% -60%;width:45%;transform:skewX(-18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);mix-blend-mode:overlay;animation:demarrage-reflet 1s ease .45s both}
.demarrage-barre{position:relative;width:96px;height:3px;border-radius:999px;background:var(--trait);overflow:hidden}
.demarrage-barre::after{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--bleu);transform-origin:left;animation:demarrage-barre 1.1s cubic-bezier(.4,0,.2,1) both}
@keyframes demarrage-logo{from{opacity:0;transform:scale(.9) translateY(6px)}to{opacity:1;transform:none}}
@keyframes demarrage-reflet{from{left:-60%}to{left:130%}}
@keyframes demarrage-barre{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes demarrage-fin{to{opacity:0;visibility:hidden}}
@media (prefers-reduced-motion:reduce){.demarrage{animation-delay:.4s}.demarrage-logo,.demarrage-logo::after,.demarrage-barre::after{animation:none}}

/* Objectifs : ligne de l'objectif sur le plan de marche */
.g-objectif{stroke:var(--serie-4);stroke-width:1.5;stroke-dasharray:2 4}
.objectifs-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--esp-3,12px)}
.kpis.kpis-objectifs{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:760px){.kpis.kpis-objectifs{grid-template-columns:repeat(2,minmax(0,1fr))}.kpis.kpis-objectifs>:last-child{grid-column:1/-1}}

/* ---------- Annuaire (comptes et contacts) : une carte par fiche, icône du type, coordonnées et actions cliquables ---------- */
.annuaire{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.annuaire-ligne{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1.25fr) minmax(0,.9fr) auto;align-items:center;gap:18px;
  padding:14px 18px;border:1px solid var(--trait);border-radius:var(--r);background:var(--panneau);transition:border-color .15s,background-color .15s}
.annuaire-ligne:hover{border-color:var(--trait-fort);background:var(--survol-leger)}
.an-identite{display:flex;align-items:center;gap:14px;min-width:0;color:inherit;text-decoration:none}
.an-type{display:grid;place-items:center;width:46px;height:46px;flex:none;border-radius:50%;background:var(--panneau-2);color:var(--bleu-clair);border:1px solid var(--trait)}
.an-type .ic{width:22px;height:22px}
.an-type.t-bleu{background:var(--bleu-voile);color:var(--bleu-clair);border-color:transparent}
.an-type.t-violet{background:var(--violet-voile);color:var(--violet);border-color:transparent}
.an-type.t-vert{background:var(--vert-voile);color:var(--vert);border-color:transparent}
.an-type.t-ambre{background:var(--ambre-voile);color:var(--ambre);border-color:transparent}
.an-type.t-rouge{background:var(--rouge-voile);color:var(--rouge);border-color:transparent}
.an-type.t-gris{background:rgba(127,143,166,.14);color:var(--discret);border-color:transparent}
.an-initiales{font-size:14px;font-weight:700;letter-spacing:.02em;color:var(--texte-2)}
.an-nom{min-width:0}
.an-nom strong{display:block;font-size:16.5px;font-weight:650;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.an-nom strong .badge{vertical-align:2px;margin-left:6px}
.an-nom small{display:block;margin-top:2px;color:var(--discret);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.an-coord{display:grid;gap:6px;min-width:0}
.an-coord a{display:flex;align-items:center;gap:9px;min-width:0;color:var(--texte-2);font-size:13px;text-decoration:none}
.an-coord a:hover{color:var(--texte)}
.an-coord a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.an-coord .ic,.an-lieu > .ic{width:16px;height:16px;color:var(--discret)}
.an-lieu{display:flex;align-items:center;gap:10px;min-width:0}
.an-lieu strong,.an-compte strong{display:block;font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.an-lieu small,.an-compte small{display:block;color:var(--discret);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.an-lieu > span{min-width:0}
.an-compte{display:flex;align-items:center;gap:10px;min-width:0;color:inherit;text-decoration:none}
.an-compte .an-type{width:34px;height:34px}
.an-compte .an-type .ic{width:17px;height:17px}
.an-compte span:last-child{min-width:0}
.an-actions{display:flex;gap:8px;justify-content:flex-end}
.an-actions .rond{width:40px;height:40px}
.an-actions .ic{width:17px;height:17px}
.an-vide{color:var(--discret);font-size:12.5px}
.puce-type .ic{width:15px;height:15px;margin-right:2px;vertical-align:-3px}
.dd-type{display:flex;align-items:center;gap:10px}
.dd-type .an-type{width:30px;height:30px}
.dd-type .an-type .ic{width:16px;height:16px}
@media (max-width:1100px){
  .annuaire-ligne{grid-template-columns:minmax(0,1fr) auto;gap:10px 14px}
  .an-coord{grid-column:1 / -1;grid-row:2;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));padding-left:60px}
  .an-lieu{grid-column:1 / -1;grid-row:3;padding-left:60px}
  .an-actions{grid-column:2;grid-row:1}
}
@media (max-width:620px){
  .annuaire-ligne{padding:12px 14px}
  .an-type{width:40px;height:40px}
  .an-coord,.an-lieu{padding-left:54px}
  .an-coord{grid-template-columns:minmax(0,1fr)}
  .an-actions{gap:6px}
  .an-actions .rond{width:36px;height:36px}
}
.carte + .annuaire{margin-top:12px}
@media (max-width:620px){
  .annuaire .an-vide{display:none}
  .annuaire-ligne .an-lieu:has(> .an-vide:only-child),.annuaire-ligne .an-coord:has(> .an-vide:only-child){display:none}
  form.filtres .puces{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-right:-16px;padding-right:16px;-webkit-overflow-scrolling:touch}
  form.filtres .puces::-webkit-scrollbar{display:none}
  form.filtres .puces .puce{flex:none}
}

/* ---------- Suppression : bouton de la fiche et fenêtre de confirmation contextuelle ---------- */
.zone-suppression{display:flex;justify-content:flex-end;padding-top:6px}
.btn-d[disabled]{opacity:.45;cursor:not-allowed;background:var(--rouge-voile);color:var(--rouge)}
dialog.suppression{width:min(520px,calc(100vw - 32px));padding:24px 24px 20px;border-color:color-mix(in srgb,var(--rouge) 45%,var(--trait-fort))}
dialog.suppression form{display:contents}
.sup-tete{display:flex;align-items:flex-start;gap:14px;margin-bottom:14px}
.sup-tete small{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--rouge)}
dialog.suppression .sup-tete h2{margin:3px 0 0;font-size:19px;line-height:1.3;overflow-wrap:anywhere}
.sup-icone{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:50%;background:var(--rouge-voile);color:var(--rouge)}
.sup-icone .ic{width:22px;height:22px}
dialog.suppression p{margin:0 0 12px}
.sup-important{padding:12px 14px;border-radius:var(--r-s);background:var(--rouge-voile);color:var(--texte);font-weight:600;font-size:14px;line-height:1.45}
.sup-suit{margin:0 0 12px;font-size:13.5px;color:var(--texte-2)}
.sup-suit ul{margin:6px 0 0;padding-left:20px}
.sup-suit li{margin:2px 0}
.sup-garde{font-size:13px;color:var(--discret)}
.sup-delai{display:flex;gap:9px;align-items:flex-start;font-size:13px;color:var(--texte-2)}
.sup-delai .ic{width:16px;height:16px;flex:none;margin-top:2px;color:var(--ambre)}
.sup-case{margin:4px 0 18px;font-weight:600}
.sup-bloque{margin:0 0 18px;padding:12px 14px;border-radius:var(--r-s);border:1px solid color-mix(in srgb,var(--ambre) 45%,transparent);background:var(--ambre-voile)}
.sup-bloque strong{display:block;margin-bottom:6px;color:var(--ambre)}
.sup-bloque p{margin:0 0 6px !important;font-size:13.5px;color:var(--texte)}
dialog.suppression .form-actions{justify-content:flex-end;gap:10px}
@media (max-width:620px){dialog.suppression{padding:20px 18px 16px}dialog.suppression .form-actions{flex-direction:column-reverse}dialog.suppression .form-actions .btn{width:100%;justify-content:center}}
