/* ═══════════════════════════════════════════════════════════════
   CRM Expéria Park · Maquettes v2 — design system dérivé d'ExpéRHia
   Couleur fonctionnelle, une action primaire par écran, statuts
   « point + mot », desktop uniquement.
   ═══════════════════════════════════════════════════════════════ */
:root{
  --encre:#3E2B1A; --encre-2:#6E5B47; --muet:#98876F;
  --fond:#F7F4ED; --carte:#FFFFFF; --surface-2:#FBF9F4;
  --ligne:#ECE4D4; --ligne-2:#E0D5C0;
  --terra:#E96646; --terra-h:#D14F30; --terra-pale:#FCEDE7; --creme:#FFEDC4;
  --vert:#55803B; --vert-pale:#EFF4E7;
  --jaune:#A97614; --jaune-pale:#FAF1DB;
  --rouge:#C43C43; --rouge-pale:#FAEBEC;
  --bleu:#5A6EA5; --bleu-pale:#EDF0F7;
  --violet:#8A5E86; --violet-pale:#F3EDF4;
  --f-logo:'Londrina Solid',cursive; --f-titre:'Bricolage Grotesque',sans-serif;
  --f-ui:'Instrument Sans',system-ui,sans-serif; --f-mono:ui-monospace,SFMono-Regular,Menlo,monospace;
  --r:12px; --r-sm:9px;
  --ombre:0 1px 2px rgba(62,43,26,.05); --ombre-2:0 8px 28px -10px rgba(62,43,26,.16);
  --rail-l:96px; --top-h:58px;
  color-scheme:light;
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{height:100%}
body{font-family:var(--f-ui);background:var(--fond);color:var(--encre);-webkit-font-smoothing:antialiased;
  font-variant-numeric:tabular-nums;font-size:14px;line-height:1.4;overflow:hidden}
button,input,select,textarea{font-family:var(--f-ui);font-size:inherit;color:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
:is(button,a,input,select,textarea):focus-visible{outline:2px solid var(--terra);outline-offset:2px}
.ico{width:16px;height:16px;flex:none;vertical-align:-3px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
h1,h2,h3{font-family:var(--f-titre);font-weight:600;letter-spacing:-.01em;text-wrap:balance}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ═══ Garde « Sur un ordinateur » ═══ */
.mgate{display:none}
@media(max-width:900px){
  .app,.dwr,.modal,.notifs,.login{display:none!important}
  .mgate{position:fixed;inset:0;z-index:999;background:var(--fond);display:flex;flex-direction:column;
    align-items:center;justify-content:center;text-align:center;padding:32px 24px;gap:8px}
  .mgate h2{font-size:21px}
  .mgate p{font-size:13.5px;color:var(--encre-2);line-height:1.6;max-width:320px}
}

/* ═══ Logo tuile ═══ */
.lg-tile{font-family:var(--f-logo);font-size:17px;color:#fff;background:var(--terra);border-radius:8px;
  width:34px;height:34px;display:flex;align-items:center;justify-content:center;transform:rotate(-3deg);flex:none;box-shadow:var(--ombre)}
.lgm{font-family:var(--f-logo);font-size:22px;line-height:1;color:var(--encre)}
.lgm span{color:var(--terra)}

/* ═══ Coquille ═══ */
.app{display:block;min-height:100%}
.main{margin-left:var(--rail-l);min-height:100vh;display:flex;flex-direction:column;min-width:0}
.top{background:var(--carte);border-bottom:1px solid var(--ligne);height:var(--top-h);display:flex;align-items:center;gap:12px;overflow:hidden;
  padding:0 26px;position:sticky;top:0;z-index:40}
.crumb{font-size:12.5px;color:var(--muet);display:flex;align-items:center;gap:6px;white-space:nowrap;min-width:0;flex:0 1 auto;overflow:hidden}
.crumb b,.crumb a{overflow:hidden;text-overflow:ellipsis;min-width:0}
.crumb b{color:var(--encre);font-weight:600}
.crumb a:hover{color:var(--encre);text-decoration:underline;text-underline-offset:3px}
.crsep .ico{width:12px;height:12px;opacity:.6}
.tsp{flex:1}
.tsep{width:1px;height:22px;background:var(--ligne);flex:none}
.rech{position:relative;display:flex;align-items:center;gap:9px;height:38px;padding:0 10px 0 12px;border-radius:11px;
  border:1px solid var(--ligne);background:var(--surface-2);flex:1 1 220px;max-width:520px;min-width:150px}
.rech:focus-within{background:var(--carte);border-color:var(--terra);box-shadow:0 0 0 3px var(--terra-pale)}
.rech .ico{stroke:var(--muet)}
.rqi{flex:1;min-width:0;border:0;background:none;font-size:12.5px;outline:none}
.rqi::placeholder{color:var(--muet)}
.rech kbd{font-family:var(--f-ui);font-size:10px;font-weight:600;background:var(--carte);border:1px solid var(--ligne);border-radius:4px;padding:1px 5px;color:var(--muet)}
.tbtn{display:flex;align-items:center;gap:7px;height:34px;padding:0 11px;border-radius:10px;border:1px solid transparent;background:none;
  color:var(--encre-2);font-size:12.5px;font-weight:600;position:relative;flex:none}
.tbtn:hover{background:var(--surface-2);color:var(--encre)}
.tbtn .ico{width:17px;height:17px}
.tbtn.tico{width:34px;padding:0;justify-content:center}
.tpast{position:absolute;top:2px;right:2px;min-width:16px;height:16px;border-radius:20px;background:var(--rouge);color:#fff;font-size:9.5px;
  font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid var(--carte)}
.tcompte{display:flex;align-items:center;gap:9px;height:38px;padding:0 7px 0 5px;border-radius:11px;border:1px solid transparent;background:none;flex:none}
.tcompte:hover{background:var(--surface-2)}
.tav{width:28px;height:28px;border-radius:50%;color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex:none;background:var(--terra)}
.tid{text-align:left;line-height:1.15}
.tid b{display:block;font-size:12.5px;font-weight:600;color:var(--encre)}
.tid span{display:block;font-size:10.5px;color:var(--muet)}
.topsel{display:flex;align-items:center;gap:8px;background:var(--surface-2);border:1px solid var(--ligne);border-radius:10px;padding:0 4px 0 11px;height:36px}
.topsel .ico{width:14px;height:14px;color:var(--muet)}
.topsel select{border:none;background:transparent;font-size:12.5px;font-weight:600;color:var(--encre);padding:0 24px 0 2px;cursor:pointer;appearance:none;height:34px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 24 24' fill='none' stroke='%2398876F' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}
.topsel select:focus{outline:none}
/* Sélecteur de variante (outil de maquette) */
.varsel{display:inline-flex;background:var(--surface-2);border:1px solid var(--ligne);border-radius:10px;padding:3px;gap:3px}
.varsel button{border:none;background:transparent;border-radius:7px;padding:5px 10px;font-size:11px;font-weight:700;color:var(--encre-2);cursor:pointer}
.varsel button.on{background:var(--encre);color:#fff}
.content{padding:22px 26px 70px;max-width:1360px;width:100%;margin:0 auto;flex:1}
body.wide .content{max-width:none}
body.plein .content{padding:0;max-width:none;display:flex;flex-direction:column;height:calc(100vh - var(--top-h))}

/* ═══ Rail A — blanc, icônes (ExpéRHia) ═══ */
.rail{position:fixed;top:0;bottom:0;left:0;width:var(--rail-l);z-index:60;display:flex;flex-direction:column;align-items:center;
  padding:16px 0 14px;gap:5px;background:var(--carte);border-right:1px solid var(--ligne)}
.rail .rlogo{width:46px;height:46px;border-radius:14px;background:var(--terra);color:#fff;display:flex;align-items:center;justify-content:center;
  font-family:var(--f-logo);font-size:19px;margin-bottom:16px;flex:none;letter-spacing:.02em}
.rail .rlist{display:flex;flex-direction:column;align-items:center;gap:5px;width:100%;min-height:0;flex:0 1 auto;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}
.rail .rit{width:calc(var(--rail-l) - 20px);padding:11px 6px 10px;border-radius:13px;display:flex;flex-direction:column;align-items:center;gap:6px;
  color:var(--encre-2);position:relative;flex:none;text-decoration:none}
.rail .rit .ico{width:23px;height:23px;stroke-width:1.6}
.rail .rit span{font-size:10.5px;font-weight:600;line-height:1.2;text-align:center}
.rail .rit:hover{background:var(--surface-2);color:var(--encre)}
.rail .rit.on{background:var(--terra-pale);color:var(--terra-h)}
.rail .rit.on::before{content:'';position:absolute;left:-4px;top:50%;transform:translateY(-50%);width:3px;height:26px;border-radius:0 3px 3px 0;background:var(--terra)}
.rail .rit .rpt{position:absolute;top:7px;right:11px;min-width:16px;height:16px;padding:0 4px;border-radius:20px;background:var(--terra);color:#fff;font-size:9.5px;font-weight:700;
  display:flex;align-items:center;justify-content:center;border:1.5px solid var(--carte)}
.rail .rsep{width:40px;height:1px;background:var(--ligne);margin:9px 0;flex:none}
.rail .rbas{margin-top:auto;padding-top:8px}
.rail .rvers{display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 4px;border-radius:10px;color:var(--muet)}
.rail .rvers .ico{width:15px;height:15px;opacity:.65}
.rail .rvers span{font-size:9.5px;font-weight:700}
.rfly{position:fixed;left:var(--rail-l);z-index:59;min-width:238px;background:var(--carte);border:1px solid var(--ligne);border-radius:0 14px 14px 0;
  box-shadow:var(--ombre-2);padding:13px 8px 10px;opacity:0;visibility:hidden;transform:translateX(-8px);transition:opacity .13s,transform .13s;
  max-height:calc(100vh - 60px);overflow-y:auto}
.rfly.on{opacity:1;visibility:visible;transform:none}
.rfly .ft{font-family:var(--f-titre);font-weight:600;font-size:14px;padding:0 12px 9px;border-bottom:1px solid var(--ligne)}
.rfly .fgrp{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muet);padding:12px 12px 4px;border:0;font-family:var(--f-ui)}
.rfly a{display:flex;align-items:center;gap:9px;padding:8px 12px;border-radius:9px;font-size:13px;font-weight:500;color:var(--encre-2);margin-top:2px}
.rfly a:hover{background:var(--surface-2);color:var(--encre)}
.rfly a.on{background:var(--terra-pale);color:var(--terra-h);font-weight:600}
.rfly a .ico{width:16px;height:16px;opacity:.75}
.rfly a .bdg{margin-left:auto;font-size:10px;font-weight:700;background:var(--jaune-pale);color:var(--jaune);border-radius:20px;padding:1px 7px}
.rfly a .bdg.r{background:var(--rouge-pale);color:var(--rouge)}
.rfly a .neuf{margin-left:auto;font-size:10px;font-weight:700;background:var(--terra-pale);color:var(--terra-h);border-radius:20px;padding:1px 7px}

/* ═══ Rail B — sombre, libellés (variante « inspirée ») ═══ */
body.varB{--rail-l:232px}
body.varB .rail{align-items:stretch;padding:14px 12px;background:#3A2418;border-right:0;color:#F3E9D8}
body.varB .rail .rlogo{width:auto;height:auto;background:transparent;margin:0 4px 14px;justify-content:flex-start;gap:10px;font-size:19px;color:#fff}
body.varB .rail .rlogo .lg-tile{width:34px;height:34px;font-size:15px}
body.varB .rail .rlogo small{display:block;font-family:var(--f-ui);font-size:9.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,237,196,.5);margin-top:3px}
body.varB .rail .rlist{align-items:stretch;gap:2px}
body.varB .rail .rit{width:100%;flex-direction:row;padding:9px 10px;gap:11px;border-radius:9px;color:rgba(255,237,196,.78)}
body.varB .rail .rit .ico{width:18px;height:18px}
body.varB .rail .rit span{font-size:13.5px;font-weight:500;text-align:left;flex:1}
body.varB .rail .rit:hover{background:rgba(255,255,255,.07);color:#fff}
body.varB .rail .rit.on{background:var(--terra);color:#fff;font-weight:600}
body.varB .rail .rit.on::before{display:none}
body.varB .rail .rit .rpt{position:static;border:0;background:rgba(0,0,0,.25);margin-left:auto}
body.varB .rail .rit.on .rpt{background:rgba(255,255,255,.22)}
body.varB .rail .rsep{width:auto;background:rgba(255,255,255,.09);margin:8px 6px}
body.varB .rail .rsub{display:flex;flex-direction:column;gap:1px;padding:4px 0 6px 14px}
body.varB .rail .rsub .rg{font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,237,196,.4);padding:8px 10px 3px}
body.varB .rail .rsub a{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:7px;font-size:12.5px;color:rgba(255,237,196,.7)}
body.varB .rail .rsub a:hover{background:rgba(255,255,255,.07);color:#fff}
body.varB .rail .rsub a.on{color:#fff;font-weight:600;background:rgba(255,255,255,.1)}
body.varB .rail .rsub a .n{margin-left:auto;font-size:10.5px;font-family:var(--f-mono);color:rgba(255,237,196,.55)}
body.varB .rail .rsub a .pt{width:6px;height:6px;border-radius:50%;flex:none}
body.varB .rail .rvers{flex-direction:row;color:rgba(255,237,196,.45)}
body.varB .rfly{display:none}
body.varB .rail .rmoi{display:flex;align-items:center;gap:10px;padding:10px 6px 0;border-top:1px solid rgba(255,255,255,.09);margin-top:6px}
body.varB .rail .rmoi b{display:block;font-size:12.5px;color:#fff}
body.varB .rail .rmoi i{font-style:normal;font-size:11px;color:rgba(255,237,196,.5)}
.rail .rmoi{display:none}

/* ═══ En-têtes de vue ═══ */
.vh{display:flex;align-items:flex-end;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.eb{font-size:12px;font-weight:600;color:var(--muet)}
.vh h1{font-size:26px;margin-top:3px;line-height:1.15}
.vh .vs{font-size:13px;color:var(--muet);margin-top:4px}
.va{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.vbar{display:flex;align-items:center;gap:16px;margin-bottom:16px;flex-wrap:wrap}
.vbar .va{margin-left:auto}

/* ═══ Boutons ═══ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;padding:0 15px;height:37px;font-weight:600;font-size:13px;
  cursor:pointer;border:1px solid var(--ligne-2);background:var(--carte);color:var(--encre);transition:background .12s,border-color .12s;white-space:nowrap}
.btn:hover{border-color:var(--muet);background:var(--surface-2)}
.btn.p{background:var(--terra);border-color:var(--terra);color:#fff;box-shadow:var(--ombre)}
.btn.p:hover{background:var(--terra-h);border-color:var(--terra-h)}
.btn.ok{background:var(--vert);border-color:var(--vert);color:#fff}
.btn.ghost{background:transparent;border-color:transparent;color:var(--encre-2)}
.btn.ghost:hover{background:var(--surface-2);color:var(--encre)}
.btn.danger{background:transparent;border-color:var(--rouge);color:var(--rouge)}
.btn.danger:hover{background:var(--rouge-pale)}
.btn.dp{background:var(--rouge);border-color:var(--rouge);color:#fff}
.btn.sm{height:31px;padding:0 11px;font-size:12px;border-radius:8px}
.btn.xs{height:26px;padding:0 9px;font-size:11.5px;border-radius:7px}
.btn.ic{width:37px;padding:0}
.btn.ic.sm{width:31px}
.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.btn .ico{width:15px;height:15px}
.lk{font-size:12.5px;font-weight:600;color:var(--terra-h);cursor:pointer;background:none;border:none}
.lk:hover{text-decoration:underline;text-underline-offset:3px}
.btn.ia{border-color:#D6C9EC;color:var(--violet);background:var(--violet-pale)}
.btn.ia:hover{background:#EBE1F0}

/* ═══ Statuts ═══ */
.pill{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;padding:3px 10px 3px 8px;border-radius:20px;white-space:nowrap}
.pill::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.pill.ok{background:var(--vert-pale);color:var(--vert)}
.pill.wa{background:var(--jaune-pale);color:var(--jaune)}
.pill.ko{background:var(--rouge-pale);color:var(--rouge)}
.pill.in{background:var(--bleu-pale);color:var(--bleu)}
.pill.vi{background:var(--violet-pale);color:var(--violet)}
.pill.gr{background:var(--surface-2);color:var(--encre-2);border:1px solid var(--ligne)}
.pill.te{background:var(--terra-pale);color:var(--terra-h)}
.pill.sans::before{display:none}
.tag{display:inline-flex;align-items:center;font-size:11px;font-weight:600;padding:2px 8px;border-radius:6px;background:var(--surface-2);border:1px solid var(--ligne);color:var(--encre-2);white-space:nowrap}
.tag.b{background:var(--bleu-pale);color:var(--bleu);border-color:#D2DAEC}
.tag.v{background:var(--vert-pale);color:var(--vert);border-color:#D8E5C9}
.tag.j{background:var(--jaune-pale);color:var(--jaune);border-color:#EFD3A6}
.tag.r{background:var(--rouge-pale);color:var(--rouge);border-color:#F0CFD1}
.tag.p{background:var(--violet-pale);color:var(--violet);border-color:#D6C9EC}
.tag.t{background:var(--terra-pale);color:var(--terra-h);border-color:#F5CFC3}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex:none}
.dot.ok{background:var(--vert)}.dot.wa{background:var(--jaune)}.dot.ko{background:var(--rouge)}.dot.in{background:var(--bleu)}.dot.vi{background:var(--violet)}.dot.gr{background:var(--ligne-2)}
.prio{display:inline-flex;gap:2px;align-items:flex-end;height:12px}
.prio i{width:4px;background:var(--ligne-2);border-radius:1px}
.prio i:nth-child(1){height:5px}.prio i:nth-child(2){height:8px}.prio i:nth-child(3){height:12px}
.prio.p1 i:nth-child(1){background:var(--vert)}
.prio.p2 i:nth-child(-n+2){background:var(--jaune)}
.prio.p3 i{background:var(--rouge)}
.alert{border-radius:var(--r);padding:12px 15px;font-size:13px;font-weight:500;margin-bottom:14px;border:1px solid;display:flex;gap:10px;align-items:center}
.alert.ok{background:var(--vert-pale);color:var(--vert);border-color:#D8E5C9}
.alert.ko{background:var(--rouge-pale);color:var(--rouge);border-color:#F0CFD1}
.alert.wa{background:var(--jaune-pale);color:var(--jaune);border-color:#EFD3A6}
.alert.in{background:var(--bleu-pale);color:var(--bleu);border-color:#D2DAEC}
.alert .btn{margin-left:auto}
.mono{font-family:var(--f-mono);font-size:12px;font-weight:600}
.meta{font-size:12px;font-weight:500;color:var(--muet)}

/* ═══ Cartes & lignes ═══ */
.card{background:var(--carte);border:1px solid var(--ligne);border-radius:var(--r);box-shadow:var(--ombre);overflow:hidden;margin-bottom:16px}
.ch{display:flex;align-items:center;gap:10px;padding:15px 18px;border-bottom:1px solid var(--ligne)}
.ch h3{font-size:15.5px;flex:1;color:var(--encre)}
.ch .meta{margin-left:auto}
.cb{padding:16px 18px}
.g2{display:grid;grid-template-columns:1.6fr 1fr;gap:16px;align-items:start}
.g2e{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}
.kpis.k5{grid-template-columns:repeat(5,1fr)}
.kpis.k6{grid-template-columns:repeat(6,1fr)}
.kpi{background:var(--carte);border:1px solid var(--ligne);border-radius:var(--r);box-shadow:var(--ombre);padding:16px 18px;min-width:0}
.kpi b{font-family:var(--f-titre);font-size:30px;font-weight:600;display:block;line-height:1;color:var(--encre);letter-spacing:-.02em}
.kpi b small{font-size:14px;color:var(--muet);font-weight:600;margin-left:2px}
.kpi span{font-size:12.5px;color:var(--muet);display:block;margin-top:6px}
.kpi .lk{display:inline-block;margin-top:8px}
.kpi .dl{display:inline-block;margin-top:8px;font-size:11.5px;font-weight:600}
.kpi .dl.up{color:var(--vert)}.kpi .dl.dn{color:var(--rouge)}.kpi .dl.eq{color:var(--muet)}
.kpi.ko b{color:var(--rouge)}.kpi.wa b{color:var(--jaune)}.kpi.ok b{color:var(--vert)}
.row{display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--surface-2)}
.row:last-child{border-bottom:none}
.row:hover{background:var(--surface-2)}
.row.cl{cursor:pointer}
.r1{font-weight:600;font-size:13px}
.r2{font-size:12px;color:var(--muet);margin-top:2px}
.rr{margin-left:auto;flex:none;text-align:right;display:flex;align-items:center;gap:8px}
.rt{flex:1;min-width:0}
.av{width:32px;height:32px;border-radius:50%;background:var(--bleu);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex:none;position:relative}
.av.sm{width:26px;height:26px;font-size:10px}
.av.lg{width:46px;height:46px;font-size:16px}
.av.xl{width:64px;height:64px;font-size:22px}
.av.h1{background:#C9752B}.av.h2{background:#5A6EA5}.av.h3{background:#8A5E86}.av.h4{background:#2E7D6B}.av.h5{background:#C43C43}.av.h6{background:#55803B}.av.h7{background:#8B6F47}.av.h8{background:#3E2B1A}
.av .pres{position:absolute;right:-1px;bottom:-1px;width:10px;height:10px;border-radius:50%;background:var(--vert);border:2px solid var(--carte)}
.av .pres.off{background:var(--ligne-2)}
.av.ia{background:var(--violet-pale);color:var(--violet);border:1px solid #D6C9EC}
.neant{padding:28px 16px;text-align:center;font-size:13px;color:var(--muet);line-height:1.5}
.neant .ico{width:22px;height:22px;display:block;margin:0 auto 10px;stroke-width:1.4;opacity:.5}
.neant .lk{display:block;margin-top:9px}
.panne{margin:14px 18px;padding:13px 15px;border-radius:11px;background:var(--rouge-pale);border:1px solid #EBC9CB;color:#8E3038;font-size:13px}
.panne b{display:block;font-weight:700}
.panne span{display:block;margin-top:5px;font-family:var(--f-mono);font-size:12px}

/* ═══ Tableaux ═══ */
.scrollx{overflow-x:auto}
.tA{width:100%;border-collapse:collapse;min-width:640px}
.tA th{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muet);text-align:left;padding:11px 16px;background:var(--surface-2);border-bottom:1px solid var(--ligne);white-space:nowrap}
.tA th.rt,.tA td.rt{text-align:right}
.tA td{padding:12px 16px;border-bottom:1px solid var(--surface-2);font-size:13px;vertical-align:middle}
.tA tr:last-child td{border-bottom:none}
.tA tbody tr:hover td{background:var(--surface-2)}
.tA tr.cl{cursor:pointer}
.tA .nomcell{display:flex;align-items:center;gap:10px;font-weight:600;font-size:13px}
.tA .nomcell small{display:block;font-weight:500;color:var(--muet);font-size:11.5px}
.tA .sub{display:block;font-size:11.5px;color:var(--muet);font-weight:500;margin-top:2px}
.tA .chk{margin:0}
.tfoot{display:flex;align-items:center;gap:12px;padding:10px 16px;border-top:1px solid var(--ligne);font-size:12px;color:var(--muet)}
.tfoot .va{margin-left:auto}
.tri{display:inline-flex;align-items:center;gap:4px;cursor:pointer}
.tri .ico{width:11px;height:11px}

/* ═══ Segments (bande de vues) & onglets ═══ */
.pgt{display:inline-flex;gap:3px;background:var(--surface-2);border:1px solid var(--ligne);border-radius:99px;padding:4px;margin-bottom:0}
.pgt a{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:13px;font-weight:600;color:var(--encre-2);padding:7px 16px;border-radius:99px;white-space:nowrap}
.pgt a.on{background:var(--carte);color:var(--encre);box-shadow:var(--ombre)}
.pgt a:hover:not(.on){color:var(--encre)}
.pgt .cnt{font-size:10.5px;font-weight:700;color:var(--muet)}
.pgt a.on .cnt{color:var(--terra-h)}
.pgt .tbadge{background:var(--terra);color:#fff;border-radius:20px;padding:1px 7px;font-size:11px;font-weight:700}
.tabs{display:flex;gap:2px;border-bottom:1px solid var(--ligne);margin-bottom:18px;overflow-x:auto}
.tabs a{display:inline-flex;align-items:center;gap:7px;padding:10px 14px;font-size:13px;font-weight:600;color:var(--encre-2);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.tabs a:hover{color:var(--encre)}
.tabs a.on{color:var(--terra-h);border-bottom-color:var(--terra)}
.tabs .cnt{font-size:10.5px;font-weight:700;background:var(--rouge);color:#fff;border-radius:20px;padding:1px 6px}
.tabs .cnt.n{background:var(--surface-2);color:var(--muet);border:1px solid var(--ligne)}
.vmenu{display:flex;flex-direction:column;gap:2px}
.vmenu .vg{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muet);padding:12px 12px 4px}
.vmenu a{display:flex;align-items:center;gap:9px;padding:8px 12px;border-radius:9px;font-size:13px;font-weight:500;color:var(--encre-2)}
.vmenu a:hover{background:var(--surface-2);color:var(--encre)}
.vmenu a.on{background:var(--terra-pale);color:var(--terra-h);font-weight:600}
.vmenu a .n{margin-left:auto;font-size:11px;font-weight:700;color:var(--muet)}
.vmenu a.on .n{color:var(--terra-h)}

/* ═══ Filtres ═══ */
.filtres{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--ligne);flex-wrap:wrap}
.filtres .meta{margin-left:auto}
.rechsal{display:flex;align-items:center;gap:7px;border:1px solid var(--ligne-2);border-radius:9px;padding:0 10px;height:34px;background:#fff;min-width:220px}
.rechsal .ico{width:14px;height:14px;stroke:var(--muet)}
.rechsal input{border:none;outline:none;font-size:12.5px;width:100%;background:none}
.sel{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 10px;border:1px solid var(--ligne-2);border-radius:9px;background:#fff;font-size:12.5px;font-weight:600;color:var(--encre);cursor:pointer;white-space:nowrap}
.sel .ico{width:12px;height:12px;stroke:var(--muet)}
.sel.on{background:var(--terra-pale);border-color:#F5CFC3;color:var(--terra-h)}
.puce{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px;border:1px solid var(--ligne-2);border-radius:99px;background:#fff;font-size:12px;font-weight:600;color:var(--encre-2);cursor:pointer;white-space:nowrap}
.puce.on{background:var(--encre);color:#fff;border-color:var(--encre)}
.puce .n{font-size:10.5px;font-weight:700;color:var(--muet)}
.puce.on .n{color:rgba(255,255,255,.7)}
.lot{display:flex;align-items:center;gap:8px;padding:9px 16px;background:var(--creme);border-bottom:1px solid #EFD3A6;font-size:12.5px;font-weight:600}
.lot .va{margin-left:auto}

/* ═══ Formulaires ═══ */
.fg{margin-bottom:13px}
.fl{display:block;font-size:12px;font-weight:600;color:var(--encre-2);margin:0 0 5px}
.freq{color:var(--terra);font-weight:700}
.fhelp{font-size:11.5px;color:var(--muet);margin-top:4px;line-height:1.45}
.fi{width:100%;border:1px solid var(--ligne-2);border-radius:10px;padding:9px 12px;font-size:13px;font-weight:500;background:#fff;color:var(--encre);height:38px}
.fi:hover{border-color:var(--muet)}
.fi:focus{outline:none;border-color:var(--terra);box-shadow:0 0 0 3px var(--terra-pale)}
.fi::placeholder{color:#BFB2A0;font-weight:400}
.fi:disabled{background:var(--surface-2);color:var(--muet)}
textarea.fi{min-height:84px;height:auto;resize:vertical;line-height:1.5}
select.fi{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 24 24' fill='none' stroke='%2398876F' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px}
.fgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.fgrid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.fgrid .span2{grid-column:span 2}
.sw{display:inline-flex;align-items:center;gap:9px;cursor:pointer;user-select:none;position:relative}
.sw input{position:absolute;opacity:0;width:0;height:0}
.sw .swt{width:40px;height:22px;border-radius:20px;background:var(--ligne-2);position:relative;transition:background .15s;flex:none}
.sw .swt::after{content:'';position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform .15s}
.sw input:checked+.swt{background:var(--vert)}
.sw input:checked+.swt::after{transform:translateX(18px)}
.sw .swl{font-size:13px;font-weight:600;color:var(--encre)}
.sw input:not(:checked)~.swl{color:var(--muet)}
.chk{display:flex;align-items:center;gap:9px;cursor:pointer;user-select:none;position:relative;font-size:13px}
.chk input{position:absolute;opacity:0;width:0;height:0}
.chk .bx{width:18px;height:18px;border-radius:6px;border:1.5px solid var(--ligne-2);background:#fff;position:relative;flex:none}
.chk .bx::after{content:'';position:absolute;left:5px;top:1.5px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);transition:transform .1s}
.chk input:checked+.bx{background:var(--vert);border-color:var(--vert)}
.chk input:checked+.bx::after{transform:rotate(45deg) scale(1)}
.fsec{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muet);padding:14px 0 8px;border-top:1px solid var(--ligne);margin-top:6px}
.fsec:first-child{border-top:0;margin-top:0;padding-top:0}
.regl{display:grid;grid-template-columns:260px 1fr;gap:20px;padding:16px 18px;border-bottom:1px solid var(--surface-2);align-items:start}
.regl:last-child{border-bottom:0}
.regl .rl b{display:block;font-size:13px;font-weight:600}
.regl .rl span{display:block;font-size:12px;color:var(--muet);margin-top:3px;line-height:1.45}
.regl .fi{max-width:420px}
details.adv{border-top:1px solid var(--ligne)}
details.adv summary{padding:12px 18px;font-size:12.5px;font-weight:600;color:var(--encre-2);cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px}
details.adv summary::-webkit-details-marker{display:none}
details.adv summary .ico{width:13px;height:13px;transition:transform .15s}
details.adv[open] summary .ico{transform:rotate(90deg)}

/* ═══ Tiroir, modale, toasts ═══ */
.dwr{position:fixed;inset:0;z-index:180;pointer-events:none}
.dwr .dveil{position:absolute;inset:0;background:rgba(43,32,24,.36);opacity:0;transition:.18s}
.dwr .panel{position:absolute;right:0;top:0;bottom:0;width:min(640px,96vw);background:var(--carte);box-shadow:var(--ombre-2);
  transform:translateX(30px);opacity:0;transition:.18s;display:flex;flex-direction:column}
.dwr.open{pointer-events:auto}
.dwr.open .dveil{opacity:1}
.dwr.open .panel{transform:none;opacity:1}
.dwr .ph{padding:15px 20px;border-bottom:1px solid var(--ligne);display:flex;align-items:center;gap:12px}
.dwr .ph h2{font-size:17px;line-height:1.2}
.dwr .ph .de{font-size:11.5px;color:var(--muet);margin-bottom:2px}
.dwr .pb{overflow-y:auto;flex:1;padding:16px 20px}
.dwr .pf{padding:12px 20px;border-top:1px solid var(--ligne);display:flex;gap:9px;align-items:center}
.dwr .pf .btn{flex:1}
.mclose{width:30px;height:30px;border-radius:8px;border:1px solid var(--ligne);background:var(--carte);cursor:pointer;color:var(--muet);flex:none;display:inline-flex;align-items:center;justify-content:center;margin-left:auto}
.mclose:hover{background:var(--surface-2);color:var(--encre)}
.modal{position:fixed;inset:0;display:none;z-index:220}
.modal.open{display:block}
.modal-veil{position:absolute;inset:0;background:rgba(43,32,24,.42)}
.modal-box{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(520px,94vw);max-height:92vh;overflow-y:auto;background:var(--carte);border-radius:14px;box-shadow:var(--ombre-2)}
.mh{padding:16px 20px 14px;border-bottom:1px solid var(--ligne);display:flex;align-items:center;gap:10px}
.mh h2{font-size:17px;flex:1}
.mb{padding:16px 20px 20px}
.mf{display:flex;gap:9px;padding:0 20px 20px}
.mf .btn{flex:1}
.notifs{position:fixed;bottom:20px;right:20px;z-index:300;display:flex;flex-direction:column;gap:10px;align-items:flex-end;width:min(420px,calc(100vw - 40px));pointer-events:none}
.notif{display:flex;align-items:center;gap:11px;width:100%;background:var(--carte);border:1px solid var(--ligne);border-radius:12px;padding:12px 14px;box-shadow:var(--ombre-2);pointer-events:auto;font-size:13px;font-weight:500}
.notif .dot{width:9px;height:9px}
.notif .lk{margin-left:auto}

/* ═══ Palette ⌘K ═══ */
.pal{position:fixed;inset:0;z-index:250;display:none;background:rgba(43,32,24,.4)}
.pal.open{display:block}
.pal .box{position:absolute;top:12vh;left:50%;transform:translateX(-50%);width:min(640px,94vw);background:var(--carte);border-radius:14px;box-shadow:var(--ombre-2);overflow:hidden}
.pal .box .rech{max-width:none;border:0;border-bottom:1px solid var(--ligne);border-radius:0;height:52px;background:var(--carte)}
.pal .grp{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muet);padding:12px 16px 4px}
.pal .el{display:flex;align-items:center;gap:10px;padding:9px 16px;font-size:13px;cursor:pointer}
.pal .el:hover,.pal .el.on{background:var(--terra-pale);color:var(--terra-h)}
.pal .el small{margin-left:auto;color:var(--muet);font-size:11.5px}

/* ═══ Inbox 3 colonnes ═══ */
.inbox{display:grid;grid-template-columns:340px minmax(0,1fr) 300px;flex:1;min-height:0;height:100%}
.inbox.sansctx{grid-template-columns:340px minmax(0,1fr)}
.ib-liste{border-right:1px solid var(--ligne);background:var(--carte);display:flex;flex-direction:column;min-height:0}
.ib-tete{padding:12px 14px 10px;border-bottom:1px solid var(--ligne)}
.ib-tete h2{font-size:16px;display:flex;align-items:center;gap:8px}
.ib-tete h2 .meta{margin-left:auto;font-weight:600}
.ib-outils{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.ib-outils .rechsal{min-width:0;flex:1 1 100%;height:32px}
.ib-scroll{overflow-y:auto;flex:1}
.ib-item{display:flex;gap:10px;padding:11px 14px;border-bottom:1px solid var(--surface-2);cursor:pointer;position:relative}
.ib-item:hover{background:var(--surface-2)}
.ib-item.on{background:var(--terra-pale)}
.ib-item.on::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--terra)}
.ib-item .t{flex:1;min-width:0}
.ib-item .l1{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600}
.ib-item .l1 .h{margin-left:auto;font-size:11px;color:var(--muet);font-weight:500;flex:none}
.ib-item .l2{font-size:12.5px;font-weight:600;color:var(--encre);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ib-item .l3{font-size:12px;color:var(--muet);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ib-item .l4{display:flex;gap:5px;margin-top:6px;flex-wrap:wrap;align-items:center}
.ib-item.nonlu .l2{font-weight:700}
.ib-item.nonlu .l1::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--terra);flex:none}
.canal{width:22px;height:22px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;flex:none}
.canal .ico{width:13px;height:13px}
.canal.mail{background:var(--bleu-pale);color:var(--bleu)}
.canal.chat{background:var(--violet-pale);color:var(--violet)}
.canal.tel{background:var(--vert-pale);color:var(--vert)}
.canal.avis{background:var(--jaune-pale);color:var(--jaune)}
.canal.enq{background:var(--terra-pale);color:var(--terra-h)}
.ib-fil{display:flex;flex-direction:column;min-height:0;background:var(--fond)}
.ib-fil .fh{display:flex;align-items:center;gap:12px;padding:12px 20px;background:var(--carte);border-bottom:1px solid var(--ligne);flex-wrap:wrap}
.ib-fil .fh h2{font-size:16px}
.ib-fil .fh .meta{width:100%}
.ib-fil .fh .va{margin-left:auto}
.fil{overflow-y:auto;flex:1;padding:18px 20px;display:flex;flex-direction:column;gap:12px}
.bulle{max-width:76%;display:flex;gap:9px;align-items:flex-end}
.bulle .b{background:var(--carte);border:1px solid var(--ligne);border-radius:14px 14px 14px 4px;padding:10px 13px;font-size:13px;line-height:1.5;box-shadow:var(--ombre)}
.bulle .b .who{font-size:11px;font-weight:700;color:var(--muet);margin-bottom:3px}
.bulle .b .h{font-size:10.5px;color:var(--muet);margin-top:5px}
.bulle.out{align-self:flex-end;flex-direction:row-reverse}
.bulle.out .b{background:var(--terra-pale);border-color:#F5CFC3;border-radius:14px 14px 4px 14px}
.bulle.ia .b{background:var(--violet-pale);border-color:#D6C9EC}
.bulle.note .b{background:var(--jaune-pale);border-color:#EFD3A6;border-radius:10px}
.bulle.note .b .who{color:var(--jaune)}
.evt{align-self:center;font-size:11.5px;color:var(--muet);background:var(--surface-2);border:1px solid var(--ligne);border-radius:20px;padding:3px 12px}
.compo{background:var(--carte);border-top:1px solid var(--ligne);padding:10px 20px 14px}
.compo .ctabs{display:flex;gap:2px;margin-bottom:8px}
.compo .ctabs a{padding:5px 10px;border-radius:7px;font-size:12px;font-weight:600;color:var(--encre-2)}
.compo .ctabs a.on{background:var(--terra-pale);color:var(--terra-h)}
.compo .cbar{display:flex;gap:2px;align-items:center;padding:6px 8px;border:1px solid var(--ligne-2);border-bottom:0;border-radius:10px 10px 0 0;background:var(--surface-2)}
.compo .cbar button{width:28px;height:26px;border:0;background:none;border-radius:6px;color:var(--encre-2);display:inline-flex;align-items:center;justify-content:center}
.compo .cbar button:hover{background:#fff;color:var(--encre)}
.compo .cbar .sep{width:1px;height:16px;background:var(--ligne-2);margin:0 4px}
.compo .cbar .sel{height:26px;font-size:11.5px;margin-left:auto}
.compo .czone{border:1px solid var(--ligne-2);border-radius:0 0 10px 10px;padding:10px 12px;min-height:88px;font-size:13px;line-height:1.5;background:#fff}
.compo .czone:focus-within{border-color:var(--terra)}
.compo .cfoot{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}
.compo .cfoot .va{margin-left:auto}
.compo .dest{display:flex;gap:6px;align-items:center;font-size:12px;color:var(--muet);margin-bottom:6px;flex-wrap:wrap}
.compo .dest .tag{font-size:11.5px}
.iapanel{border:1px solid #D6C9EC;background:var(--violet-pale);border-radius:10px;padding:10px 12px;margin-bottom:8px;font-size:12.5px;line-height:1.5}
.iapanel .t{display:flex;align-items:center;gap:6px;font-weight:700;color:var(--violet);font-size:11.5px;margin-bottom:5px}
.iapanel .acts{display:flex;gap:6px;margin-top:8px}
.ib-ctx{border-left:1px solid var(--ligne);background:var(--carte);overflow-y:auto;min-height:0}
.cx{padding:14px 16px;border-bottom:1px solid var(--ligne)}
.cx h4{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muet);margin-bottom:10px;display:flex;align-items:center;gap:6px}
.cx h4 .lk{margin-left:auto;font-size:11.5px}
.cx .kv{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;padding:4px 0}
.cx .kv span{color:var(--muet)}
.cx .kv b{font-weight:600;text-align:right}
.cx .idt{display:flex;align-items:center;gap:10px}
.cx .idt b{display:block;font-size:14px}
.cx .idt small{display:block;color:var(--muet);font-size:12px}
.cx .fg{margin-bottom:8px}
.cx .fi{height:32px;padding:5px 10px;font-size:12.5px}
.cx .fl{font-size:11.5px}

/* ═══ Fiche ═══ */
.fichehead{display:flex;align-items:center;gap:15px;background:var(--carte);border:1px solid var(--ligne);border-radius:var(--r);box-shadow:var(--ombre);padding:16px 20px;margin-bottom:0;flex-wrap:wrap}
.fichehead h1{font-size:22px}
.fichehead .fs{font-size:12.5px;color:var(--muet);margin-top:2px}
.fichehead .etat{background:var(--surface-2);border:1px solid var(--ligne);border-radius:10px;padding:9px 13px;font-size:12.5px;line-height:1.4}
.fichehead .etat b{display:block}
.fichehead .va{margin-left:auto}
.fmeta{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:14px;background:var(--carte);border:1px solid var(--ligne);border-top:0;padding:14px 20px;border-radius:0}
.fmeta div span{display:block;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muet)}
.fmeta div b{display:block;font-size:13px;font-weight:600;margin-top:3px}
.fmeta .ko b{color:var(--rouge)}
.fichehead-wrap{margin-bottom:18px}
.fichehead-wrap .tabs{background:var(--carte);border:1px solid var(--ligne);border-top:0;border-radius:0 0 var(--r) var(--r);padding:0 10px;margin-bottom:0}
.fcols{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}
.pilot{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;background:var(--carte);border:1px solid var(--ligne);border-top:0;padding:12px 20px}
.pilot .fl{margin-bottom:4px}
.pilot .fi{height:34px;padding:5px 10px;font-size:12.5px}
.sla{display:flex;flex-direction:column;gap:4px;font-size:11.5px;color:var(--muet)}
.sla .bar{height:6px;border-radius:4px;background:var(--surface-2);border:1px solid var(--ligne);overflow:hidden}
.sla .bar i{display:block;height:100%;background:var(--vert)}
.sla.wa .bar i{background:var(--jaune)}.sla.ko .bar i{background:var(--rouge)}
.sla b{font-size:12px;color:var(--encre)}
.sla.ko b{color:var(--rouge)}.sla.wa b{color:var(--jaune)}

/* ═══ Chronologie ═══ */
.tl{position:relative;padding-left:26px}
.tl::before{content:'';position:absolute;left:8px;top:6px;bottom:6px;width:2px;background:var(--ligne)}
.tl .ev{position:relative;padding:8px 0 14px}
.tl .ev::before{content:'';position:absolute;left:-23px;top:12px;width:12px;height:12px;border-radius:50%;background:var(--carte);border:2px solid var(--ligne-2)}
.tl .ev.ok::before{border-color:var(--vert);background:var(--vert-pale)}
.tl .ev.ko::before{border-color:var(--rouge);background:var(--rouge-pale)}
.tl .ev.in::before{border-color:var(--bleu);background:var(--bleu-pale)}
.tl .ev.te::before{border-color:var(--terra);background:var(--terra-pale)}
.tl .ev .d{font-size:11px;font-weight:700;color:var(--muet);text-transform:uppercase;letter-spacing:.05em}
.tl .ev .t{font-size:13px;font-weight:600;margin-top:2px;display:flex;align-items:center;gap:8px}
.tl .ev .s{font-size:12.5px;color:var(--encre-2);margin-top:3px;line-height:1.5}
.tl .jour{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muet);padding:6px 0 4px;margin-left:-26px}

/* ═══ Kanban ═══ */
.kanban{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;align-items:start}
.kcol{background:var(--surface-2);border:1px solid var(--ligne);border-radius:var(--r);padding:10px;min-height:300px}
.kcol .kh{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;padding:4px 6px 10px;color:var(--encre-2)}
.kcol .kh .n{margin-left:auto;font-size:11px;color:var(--muet);background:#fff;border:1px solid var(--ligne);border-radius:20px;padding:1px 7px}
.tk{display:block;background:var(--carte);border:1px solid var(--ligne);border-radius:10px;padding:10px 12px;margin-bottom:8px;box-shadow:var(--ombre);cursor:grab;font-size:12.5px}
.tk .r{display:flex;align-items:center;gap:6px;font-family:var(--f-mono);font-size:11px;color:var(--muet);margin-bottom:4px}
.tk .r .prio{margin-left:auto}
.tk b{display:block;font-size:13px}
.tk .m{color:var(--encre-2);margin-top:2px;line-height:1.4}
.tk .f{display:flex;align-items:center;gap:5px;margin-top:8px;flex-wrap:wrap}
.tk .f .av{margin-left:auto}

/* ═══ Jauges / barres ═══ */
.hbar{display:flex;align-items:center;gap:10px;font-size:12.5px;padding:6px 0}
.hbar .l{width:150px;flex:none;color:var(--encre-2);font-weight:500}
.hbar .b{flex:1;height:8px;background:var(--surface-2);border:1px solid var(--ligne);border-radius:5px;overflow:hidden}
.hbar .b i{display:block;height:100%;background:var(--terra)}
.hbar .b i.v{background:var(--vert)}.hbar .b i.j{background:var(--jaune)}.hbar .b i.r{background:var(--rouge)}.hbar .b i.bl{background:var(--bleu)}.hbar .b i.p{background:var(--violet)}
.hbar .v{width:52px;text-align:right;font-weight:600;flex:none}
.jauge{display:flex;height:10px;border-radius:6px;overflow:hidden;border:1px solid var(--ligne)}
.jauge i{display:block;height:100%}
.leg{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--encre-2);margin-top:8px}
.leg span{display:inline-flex;align-items:center;gap:6px}
.stars{color:var(--jaune);letter-spacing:1px;font-size:13px}
.stars.g{color:var(--ligne-2)}

/* ═══ Graphiques SVG ═══ */
.chart{width:100%;height:auto;display:block}
.chart text{font-family:var(--f-ui);font-size:11px;fill:var(--muet)}
.chart .grid{stroke:var(--ligne);stroke-width:1}
.chart .l1{stroke:var(--terra);stroke-width:2;fill:none}
.chart .l2{stroke:var(--bleu);stroke-width:2;fill:none;stroke-dasharray:4 3}
.chart .a1{fill:var(--terra-pale)}
.chart .bar{fill:var(--terra)}
.chart .bar.m{fill:var(--ligne-2)}
.chart .bar.v{fill:var(--vert)}
.chart .pt{fill:var(--terra);stroke:#fff;stroke-width:2}

/* ═══ Réglages ═══ */
.regcols{display:grid;grid-template-columns:230px minmax(0,1fr);gap:22px;align-items:start}
.regcols>div{min-width:0}
.fichehead-wrap,.fcols>div{min-width:0}
.regcols .vmenu{position:sticky;top:calc(var(--top-h) + 22px)}
.somm{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.somm .card{margin:0}
.somm .card .ch h3{font-size:14px}
.somm .card a.row{padding:9px 16px;font-size:13px;font-weight:500;color:var(--encre-2)}
.somm .card a.row:hover{color:var(--encre)}
.conn{display:flex;align-items:center;gap:14px;padding:13px 18px;border-bottom:1px solid var(--surface-2)}
.conn:last-child{border-bottom:0}
.conn .ci{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;color:#fff;flex:none}
.conn .ct{flex:1}
.conn .ct b{display:block;font-size:13px}
.conn .ct span{font-size:12px;color:var(--muet)}
.conn .va{margin-left:auto}
.snip{font-family:var(--f-mono);font-size:12px;background:#3A2418;color:#F3E9D8;border-radius:10px;padding:12px 14px;white-space:pre-wrap;word-break:break-all}

/* ═══ Éditeur plein écran ═══ */
.edit{display:grid;grid-template-columns:280px minmax(0,1fr) 300px;flex:1;min-height:0;height:100%}
.edit>div{min-height:0;min-width:0;overflow-y:auto;overflow-x:hidden}
.edit .ed-plan{border-right:1px solid var(--ligne);background:var(--carte);padding:14px}
.edit .ed-canvas{padding:22px;background:var(--fond)}
.edit .ed-props{border-left:1px solid var(--ligne);background:var(--carte);padding:14px}
.edbar{display:flex;align-items:center;gap:10px;padding:10px 20px;background:var(--carte);border-bottom:1px solid var(--ligne)}
.edbar h2{font-size:15px}
.edbar .va{margin-left:auto}
.bloc{background:var(--carte);border:1px solid var(--ligne);border-radius:12px;padding:12px 14px;margin-bottom:10px;box-shadow:var(--ombre);position:relative}
.bloc .bt{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muet);margin-bottom:6px}
.bloc .bt .canal{width:20px;height:20px}
.bloc .bx{font-size:13px;line-height:1.5}
.bloc.on{border-color:var(--terra);box-shadow:0 0 0 3px var(--terra-pale)}
.rep{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.rep span{border:1px solid var(--ligne-2);border-radius:20px;padding:4px 11px;font-size:12px;font-weight:600;background:#fff}
.bloc.cond{border-style:dashed}
.branches{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 10px}
.branches>div{border:1px dashed var(--ligne-2);border-radius:12px;padding:10px}
.branches .bl{font-size:11px;font-weight:700;color:var(--muet);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}
.plusb{display:flex;justify-content:center;margin:2px 0 10px}
.plan li{list-style:none;display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:8px;font-size:12.5px;color:var(--encre-2);cursor:pointer}
.plan li:hover{background:var(--surface-2)}
.plan li.on{background:var(--terra-pale);color:var(--terra-h);font-weight:600}
.plan li.s{font-weight:700;color:var(--encre);margin-top:6px}
.plan li.q{padding-left:22px}
.plan li .n{margin-left:auto;font-size:10.5px;color:var(--muet)}
.widget{background:var(--carte);border:1px solid var(--ligne);border-radius:10px;padding:12px;position:absolute;box-shadow:var(--ombre);font-size:12px}
.widget.on{border-color:var(--terra);box-shadow:0 0 0 3px var(--terra-pale)}
.a4{background:#fff;border:1px solid var(--ligne);box-shadow:var(--ombre-2);width:100%;max-width:840px;aspect-ratio:297/210;position:relative;margin:0 auto}

/* ═══ Login ═══ */
.login{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}
.login .gauche{background:var(--fond);padding:60px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid var(--ligne)}
.login .gauche h1{font-size:34px;line-height:1.15;margin:22px 0 14px;max-width:460px}
.login .gauche p{color:var(--encre-2);max-width:380px;line-height:1.6}
.login .apercu{margin-top:30px;background:var(--carte);border:1px solid var(--ligne);border-radius:14px;padding:14px;max-width:560px;box-shadow:var(--ombre-2)}
.login .droite{background:var(--carte);display:flex;align-items:center;justify-content:center;padding:40px}
.login .form{width:min(360px,100%)}
.login .form h2{font-size:24px}
.login .form .vs{color:var(--muet);font-size:13px;margin:4px 0 20px}
.login .foot{position:absolute;bottom:24px;left:60px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muet)}

/* ═══ Kit ═══ */
.kitrow{display:grid;grid-template-columns:200px 1fr;gap:16px;padding:16px 18px;border-bottom:1px solid var(--surface-2);align-items:start}
.kitrow:last-child{border-bottom:0}
.kitrow .kn{font-size:13px;font-weight:600}
.kitrow .kn small{display:block;font-size:11.5px;color:var(--muet);font-weight:500;margin-top:2px}
.kitline{display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.swatch{display:flex;gap:10px;flex-wrap:wrap}
.swatch div{width:86px}
.swatch i{display:block;height:44px;border-radius:9px;border:1px solid var(--ligne)}
.swatch b{display:block;font-size:11px;margin-top:5px}
.swatch small{display:block;font-size:10.5px;color:var(--muet);font-family:var(--f-mono)}

/* ═══ Divers ═══ */
.audio{display:flex;align-items:center;gap:10px;background:var(--surface-2);border:1px solid var(--ligne);border-radius:12px;padding:10px 12px}
.audio .play{width:36px;height:36px;border-radius:50%;background:var(--terra);color:#fff;display:flex;align-items:center;justify-content:center;flex:none;border:0}
.audio .onde{flex:1;height:30px;display:flex;align-items:center;gap:2px}
.audio .onde i{flex:1;background:var(--ligne-2);border-radius:2px}
.audio .onde i.on{background:var(--terra)}
.audio .t{font-family:var(--f-mono);font-size:11.5px;color:var(--muet);flex:none}
.trans{font-size:13px;line-height:1.55}
.trans p{padding:6px 0;border-bottom:1px solid var(--surface-2)}
.trans p b{color:var(--muet);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-right:8px}
.grid-auto{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.bandeau{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;font-size:12.5px;background:var(--creme);border:1px solid #EFD3A6;margin-bottom:14px}
.objcard{background:var(--carte);border:1px solid var(--ligne);border-radius:var(--r);padding:16px 18px;box-shadow:var(--ombre);border-top:3px solid var(--vert)}
.objcard.wa{border-top-color:var(--jaune)}.objcard.ko{border-top-color:var(--rouge)}
.objcard .t{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.objcard .t b{font-size:14px}
.objcard .v{font-family:var(--f-titre);font-size:24px;font-weight:600}
.objcard .v small{font-size:13px;color:var(--muet);font-weight:500}
.hilite{background:var(--creme);padding:0 3px;border-radius:3px}
.mini{font-size:11.5px;color:var(--muet)}
.stack{display:flex;flex-direction:column;gap:10px}
.inl{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.tick{color:var(--vert)}
.ph2{font-size:15px;margin:22px 0 10px;display:flex;align-items:center;gap:10px}
.ph2 .meta{font-weight:500}
.visit{display:grid;grid-template-columns:1fr 1fr;gap:16px}

/* ═══ Ajouts application v2 ═══ */
.sq{display:block;height:14px;border-radius:6px;background:linear-gradient(90deg,var(--surface-2),#F1ECE2,var(--surface-2));background-size:200% 100%;animation:sq 1.2s infinite}
@keyframes sq{0%{background-position:200% 0}100%{background-position:-200% 0}}
.sq.h{height:26px;width:40%;margin:4px 0 12px}
.sqs{padding:18px}
.sqs .sq{margin-bottom:10px}
.chargement{padding:40px;text-align:center;color:var(--muet);font-size:13px}
.rail .rit .ext{position:absolute;top:8px;right:9px;width:11px;height:11px;opacity:.45}
.legacy{border:1px dashed var(--ligne-2);border-radius:var(--r);padding:14px 16px;font-size:12.5px;color:var(--encre-2);background:var(--surface-2);display:flex;gap:10px;align-items:center;margin-bottom:16px}
.legacy .ico{color:var(--muet)}
.legacy .btn{margin-left:auto}
.envband{position:fixed;top:0;left:50%;transform:translateX(-50%);z-index:200;background:var(--jaune-pale);color:var(--jaune);border:1px solid #EFD3A6;border-top:0;border-radius:0 0 8px 8px;padding:2px 12px;font-size:11px;font-weight:700}
.msg-html p{margin:0 0 6px}
.msg-html p:last-child{margin:0}
.msg-html ul,.msg-html ol{padding-left:18px;margin:4px 0}
.tk.dragging{opacity:.5}
.kcol.over{background:var(--terra-pale);border-color:#F5CFC3}
.pj{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--ligne);border-radius:8px;padding:4px 9px;font-size:12px;background:#fff}
.tA td .fi{height:32px;padding:4px 8px;font-size:12.5px}
select.fi.inline{height:30px;padding:3px 26px 3px 8px;font-size:12px;width:auto;min-width:130px;background-color:transparent;border-color:transparent}
select.fi.inline:hover{border-color:var(--ligne-2);background-color:#fff}
.ctabs a{cursor:pointer}
.fil .bulle .b a{color:var(--terra-h);text-decoration:underline}
.pill.p-faible{background:var(--surface-2);color:var(--encre-2);border:1px solid var(--ligne)}
body.varB .rail .rit .ext{position:static;margin-left:auto}
.top .rech{cursor:text}
.pal .el .h{margin-left:auto;font-size:11px;color:var(--muet)}
