/* =========================================================================
   Référentiel des contreparties (MDM) · feuille de style
   1. Jetons et composants de la plateforme BCL, repris du kit de refonte
      (bcl-tokens-et-composants.css, version 1.0 du 28/10/2026), sans les
      jetons propres à la page de documentation du kit. Deux adaptations :
      la règle .scr de la maquette s'applique ici à body, et le filet
      intérieur du menu replié est tracé par un pseudo-élément plutôt que
      par une ombre interne.
   2. Règles propres au MDM, plus bas, sur les mêmes jetons.
   Rayon 0 partout, aucune ombre, aucun dégradé.
   ========================================================================= */

:root{
  --bcl:#3F7596; --bclair:#6D9CB8; --encre:#1F3A5F; --papier:#ECEBE8; --surf:#FFFFFF;
  --trait:#D8D6D2; --txt:#262626; --txt2:#5E5E5E; --lien:#2C5B77;
  --bordeaux:#8E4A55; --bronze:#8A7141; --ardoise:#4E748F; --sauge:#4F7360; --gris:#6B6B6B;
  --d1:#1F3A5F; --d2:#93202E; --d3:#6B4BA0; --d4:#2F7A4F; --d5:#2E96A3; --d6:#C08A2A; --d7:#DCD6C8;
  --ok:#2F6B4F; --warn:#8A6D1F; --rej:#9C3B32; --info:#2A5E86;
  --filet:#EFEEEA; --actif:#E9F0F5;
}
/* ====================== PRODUIT ====================== */
.ab{display:flex;align-items:center;gap:18px;padding:0 24px 0 18px;height:56px;background:var(--encre);color:#fff;border-bottom:3px solid var(--bcl)}
.navtoggle{background:none;border:1px solid rgba(255,255,255,.32);color:#fff;width:30px;height:30px;padding:0;cursor:pointer;flex:0 0 auto;display:flex;align-items:center;justify-content:center}
.navtoggle svg{width:16px;height:16px}
.logo{height:30px;width:auto;display:block;flex:0 0 auto}
.abname{font-size:15px;font-weight:700;white-space:nowrap}
.abdom{font-size:11.5px;color:rgba(255,255,255,.62);border-left:1px solid rgba(255,255,255,.28);padding-left:14px;white-space:nowrap}
.absearch{flex:1;min-width:0;height:30px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);display:flex;align-items:center;padding:0 10px;gap:8px;color:rgba(255,255,255,.72);font-size:12.5px}
.absearch svg{width:15px;height:15px}
.absearch .slash{margin-left:auto;border:1px solid rgba(255,255,255,.3);padding:0 5px;font-size:10px;line-height:15px}
.abctx{display:flex;align-items:center;gap:8px;font-size:11.5px;color:rgba(255,255,255,.78);white-space:nowrap}
.abctx .chip{border:1px solid rgba(255,255,255,.3);padding:3px 8px}
.ablaunch{width:30px;height:30px;border:1px solid rgba(255,255,255,.32);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.ablaunch svg{width:16px;height:16px}
.abuser{display:flex;align-items:center;gap:9px;white-space:nowrap}
.abuser .av{width:28px;height:28px;background:var(--bcl);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}
.abuser b{font-size:12px;font-weight:600;display:block;line-height:1.25}
.abuser span{font-size:10.5px;color:rgba(255,255,255,.6)}
.shell{display:flex;align-items:stretch;min-height:640px}
.side{width:222px;flex:0 0 222px;background:var(--surf);border-right:1px solid var(--trait);padding:14px 0}
.side a{display:flex;align-items:center;gap:12px;padding:9px 18px;font-size:13px;color:var(--txt);text-decoration:none;border-left:3px solid transparent;min-height:40px;position:relative}
.side a .ic{width:18px;height:18px;flex:0 0 auto;color:var(--txt2);display:block}
.side a .ic svg{width:18px;height:18px;display:block}
.side a .lb{min-width:0;overflow:hidden;white-space:nowrap}
.side a .n{margin-left:auto;font-size:11px;color:#fff;background:var(--bordeaux);padding:1px 6px;flex:0 0 auto}
.side a.on{border-left-color:var(--bcl);background:#E9F0F5;font-weight:700;color:var(--encre)}
.side a.on .ic{color:var(--bcl)}
.side .grp{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--txt2);padding:0 18px;margin:18px 0 6px}
.nav-closed .side{width:60px;flex:0 0 60px}
.nav-closed .side a{justify-content:center;padding:9px 0;gap:0;border-left:0}
.nav-closed .side a .lb,.nav-closed .side .grp{display:none}
.nav-closed .side a .n{position:absolute;top:6px;right:9px;margin:0;width:7px;height:7px;padding:0;color:transparent;overflow:hidden}
.L-travail .side{background:var(--encre);border-right:0}
.L-travail .side a{color:rgba(255,255,255,.72)}
.L-travail .side a .ic{color:rgba(255,255,255,.6)}
.L-travail .side a.on{background:rgba(255,255,255,.12);color:#fff;border-left-color:var(--bcl)}
.L-travail .side a.on .ic{color:var(--bclair)}
.work{flex:1;min-width:0;padding:30px 32px 36px}
.L-travail .work{padding:24px 28px 28px}
.drawer{width:292px;flex:0 0 292px;border-left:1px solid var(--trait);background:var(--surf);padding:24px 22px}
.actionbar{background:var(--surf);border-top:3px solid var(--bcl);padding:12px 28px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.actionbar .sp{flex:1}
.crumb{font-size:11.5px;color:var(--txt2);margin-bottom:14px}
.ttl{display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:28px}
.ttl h1{font-size:26px;font-weight:700;color:var(--encre);margin:0;line-height:1.2}
.L-travail .ttl h1{font-size:22px}
.ttl .f{width:150px;height:3px;background:var(--bcl);margin-top:10px}
.L-travail .ttl .f{display:none}
.ttl .s{font-size:13px;color:var(--txt2);margin-top:6px;max-width:92ch}
.ttl .acts{margin-left:auto;display:flex;gap:8px}
.btn{font-size:12.5px;padding:8px 14px;border:1px solid var(--bcl);color:var(--bcl);background:var(--surf);min-height:36px;display:inline-flex;align-items:center;gap:7px}
.btn svg{width:15px;height:15px}
.btn.p{background:var(--bcl);color:#fff}
.btn.g{border-color:var(--trait);color:var(--txt2)}
.band{display:block;font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#fff;padding:5px 16px;background:var(--ardoise)}
.band.bordeaux{background:var(--bordeaux)}.band.bronze{background:var(--bronze)}
.band.sauge{background:var(--sauge)}.band.gris{background:var(--gris)}.band.bcl{background:var(--bcl)}
.blk{margin-bottom:28px}
.blk:last-child{margin-bottom:0}
.band+.card,.band+.tb,.band+.rws,.band+.kv,.band+.dec,.band+.tl,.band+.steps{border-top:0}
.card{background:var(--surf);border:1px solid var(--trait);padding:18px 20px}
.card h4{font-size:15px;margin:0 0 10px;color:var(--encre);font-weight:700}
.kpis{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.kpi{background:var(--surf);border:1px solid var(--trait);padding:18px 20px}
.kpi b{display:block;font-size:28px;font-weight:700;color:var(--encre);line-height:1.1;font-variant-numeric:tabular-nums}
.kpi span{display:block;font-size:11.5px;color:var(--txt2);margin-top:6px}
.kpi.lead{border-top:3px solid var(--bcl)}
.kpi.lead b{font-size:40px}
.L-travail .kpi{padding:12px 14px}.L-travail .kpi b{font-size:22px}.L-travail .kpi.lead b{font-size:28px}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;padding:3px 9px;border:1px solid}
.pill::before{content:"";width:7px;height:7px;background:currentColor;flex:0 0 auto}
.p-ok{color:var(--ok);border-color:var(--ok)}.p-warn{color:var(--warn);border-color:var(--warn)}
.p-rej{color:var(--rej);border-color:var(--rej)}.p-info{color:var(--info);border-color:var(--info)}
.p-neutre{color:var(--txt2);border-color:var(--trait)}
.tb{background:var(--surf);border:1px solid var(--trait)}
.tb th{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--txt2);text-align:left;padding:10px 14px;border-bottom:1px solid var(--trait);font-weight:700}
.tb td{padding:11px 14px;border-top:1px solid #EFEEEA;font-size:12.5px;vertical-align:top}
.tb tbody tr:first-child td{border-top:0}
.tb .r{text-align:right}
.tb .sub{display:block;color:var(--txt2);font-size:11.5px;margin-top:3px}
.L-travail .tb td{padding:7px 12px;font-size:12px}.L-travail .tb th{padding:8px 12px}
.rws{background:var(--surf);border:1px solid var(--trait)}
.rw{display:flex;align-items:center;gap:16px;padding:14px 18px;border-top:1px solid #EFEEEA;min-width:0}
.rw:first-child{border-top:0}
.rw .acc{width:4px;align-self:stretch;flex:0 0 auto;background:var(--trait)}
.rw .tx{flex:1;min-width:0}
.rw h4{font-size:14px;font-weight:700;margin:0;color:var(--encre)}
.rw p{font-size:12px;color:var(--txt2);margin:3px 0 0}
.rw .rt{text-align:right;font-size:11.5px;color:var(--txt2);white-space:nowrap}
.rw .tile{margin-right:-4px}
.kv{background:var(--surf);border:1px solid var(--trait)}
.kv .r{display:grid;grid-template-columns:210px 1fr 230px;gap:14px;padding:10px 16px;border-top:1px solid #EFEEEA;font-size:12.5px}
.kv .r:first-child{border-top:0}
.kv .k{color:var(--txt2)}
.kv .s{color:var(--txt2);font-size:11.5px}
.prog{height:5px;background:#EFEEEA}
.prog i{display:block;height:100%;background:var(--bcl)}
.tabs{display:flex;border-bottom:1px solid var(--trait);background:var(--surf);flex-wrap:wrap}
.tabs span{font-size:13px;padding:11px 16px;color:var(--txt2);border-bottom:3px solid transparent}
.tabs span.on{color:var(--encre);font-weight:700;border-bottom-color:var(--bcl)}
.fl{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}
.fld{display:grid;gap:5px;min-width:160px}
.fld label{font-size:11.5px;color:var(--txt2)}
.fld .in{border:1px solid var(--trait);background:var(--surf);padding:8px 11px;font-size:12.5px;min-height:36px;color:var(--txt2);display:flex;align-items:center;gap:8px}
.fld .in.filled{color:var(--txt)}
.fld .hint{font-size:11px;color:var(--txt2)}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.chips .c{font-size:11.5px;border:1px solid var(--bcl);color:var(--bcl);padding:4px 10px;display:inline-flex;gap:7px;align-items:center}
.chips .c svg{width:12px;height:12px}
.note{font-size:11.5px;color:var(--txt2);line-height:1.6;margin:0}
.lbl{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--txt2);font-weight:700;display:block;margin-bottom:10px}
.empt{background:var(--surf);border:1px solid var(--trait);padding:26px 20px;text-align:center;color:var(--txt2);font-size:12.5px}
.steps{background:var(--surf);border:1px solid var(--trait)}
.step{display:flex;gap:14px;padding:14px 18px;border-top:1px solid #EFEEEA}
.step:first-child{border-top:0}
.step .n{width:24px;height:24px;flex:0 0 auto;border:1px solid var(--trait);display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:700;color:var(--txt2)}
.step.done .n{background:var(--sauge);border-color:var(--sauge);color:#fff}
.step.now .n{background:var(--bcl);border-color:var(--bcl);color:#fff}
.step h4{font-size:13.5px;margin:0;font-weight:700;color:var(--encre)}
.step p{font-size:12px;color:var(--txt2);margin:3px 0 0}
.tl{background:var(--surf);border:1px solid var(--trait)}
.tl .it{display:grid;grid-template-columns:140px 4px 1fr;gap:16px;padding:14px 18px;border-top:1px solid #EFEEEA}
.tl .it:first-child{border-top:0}
.tl .dt{font-size:11.5px;color:var(--txt2);font-variant-numeric:tabular-nums}
.tl h4{font-size:13.5px;margin:0;font-weight:700;color:var(--encre)}
.tl p{font-size:12px;color:var(--txt2);margin:3px 0 0}
.bars{display:grid;gap:10px}
.bar{display:grid;grid-template-columns:200px 1fr 76px;align-items:center;gap:14px}
.bar .nm{font-size:12px}
.bar .tr{height:10px;background:#EFEEEA}
.bar .tr i{display:block;height:100%}
.bar .vv{text-align:right;font-size:12.5px;font-variant-numeric:tabular-nums}
.dec{background:var(--surf);border:1px solid var(--trait);border-top:3px solid var(--bcl)}
.dec .hd{display:flex;align-items:center;gap:14px;padding:16px 20px;border-bottom:1px solid var(--trait);flex-wrap:wrap}
.dec .hd h4{font-size:17px;margin:0;color:var(--encre);font-weight:700}
.dec .sc{font-size:26px;font-weight:700;color:var(--encre);font-variant-numeric:tabular-nums;margin-left:auto}
.dec .sc em{display:block;font-size:10.5px;font-style:normal;color:var(--txt2);font-weight:400;text-align:right}
.dec .why{padding:16px 20px}
.ev{display:grid;grid-template-columns:168px 1fr 1fr 76px;gap:12px;padding:8px 0;border-top:1px solid #EFEEEA;font-size:12.5px;align-items:center}
.ev:first-of-type{border-top:0}
.ev .a{color:var(--txt2)}
.ev .sim{text-align:right;font-variant-numeric:tabular-nums}
.ev.bad .sim{color:var(--rej);font-weight:700}
.dec .ft{display:flex;gap:10px;padding:14px 20px;border-top:1px solid var(--trait);align-items:center;flex-wrap:wrap}
.dec .ft .more{margin-left:auto;font-size:12px;color:var(--lien)}
.alt{display:flex;align-items:center;gap:14px;padding:11px 20px;border-top:1px solid #EFEEEA;font-size:12.5px}
.alt .sc2{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--txt2)}
.cards{display:grid;gap:14px}
.cards.n2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cards.n3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cd{background:var(--surf);border:1px solid var(--trait);padding:18px 20px;min-width:0;display:flex;flex-direction:column}
.cd .hd{display:flex;gap:14px;align-items:flex-start}
.cd .eb{font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--txt2);font-weight:700}
.cd h4{font-size:16px;font-weight:700;color:var(--encre);margin:5px 0 0;line-height:1.25}
.cd p{font-size:12.5px;color:var(--txt2);margin:11px 0 0}
.cd .mt{font-size:11.5px;color:var(--txt2);margin-top:auto;padding-top:14px;display:flex;align-items:center;gap:12px}
.cd .mt .line{flex:1;height:4px;background:#EFEEEA}
.cd .mt .line i{display:block;height:100%;background:var(--bcl)}
.cd.accent{border-top:3px solid var(--bronze)}
.cd.accent .mt .line i{background:var(--bronze)}
.tile{width:44px;height:44px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;color:#fff;background:var(--bcl)}
.tile svg{width:22px;height:22px}
.tile.sm{width:28px;height:28px}
.tile.sm svg{width:15px;height:15px}
.t-bcl{background:var(--bcl)}.t-bronze{background:var(--bronze)}.t-ardoise{background:var(--ardoise)}
.t-sauge{background:var(--sauge)}.t-encre{background:var(--encre)}.t-bordeaux{background:var(--bordeaux)}.t-gris{background:var(--gris)}
.pcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.phead.sm{height:58px;padding-bottom:11px}
.trows{display:grid;gap:12px}
.trow{display:flex;background:var(--surf);border:1px solid var(--trait);min-width:0;align-items:stretch}
.trow .tp{width:116px;flex:0 0 116px;background-repeat:repeat;display:flex;align-items:center;justify-content:center;color:#fff}
.trow .tp svg{width:24px;height:24px}
.trow .tx{flex:1;min-width:0;padding:15px 18px;display:flex;flex-direction:column;justify-content:center}
.trow h4{font-size:14.5px;margin:0;font-weight:700;color:var(--encre)}
.trow p{font-size:12px;color:var(--txt2);margin:4px 0 0}
.trow .rt{padding:15px 18px;display:flex;align-items:center;gap:12px;font-size:11.5px;color:var(--txt2);white-space:nowrap}
.pcard{background:var(--surf);border:1px solid var(--trait);display:flex;flex-direction:column;min-width:0}
.phead{height:104px;position:relative;display:flex;align-items:flex-end;padding:0 18px 13px;background-repeat:repeat}
.phead .fam{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#fff;font-weight:700}
.phead .chip{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:#fff;border:1px solid rgba(255,255,255,.65);padding:4px 9px;background:rgba(0,0,0,.14)}
.phead .chip svg{width:13px;height:13px}
.pbody{padding:17px 18px 0;flex:1}
.pbody h4{font-size:17px;font-weight:700;color:var(--encre);margin:0;line-height:1.25}
.pbody p{font-size:12.5px;color:var(--txt2);margin:9px 0 0}
.ptools{display:flex;gap:6px;margin-top:15px;flex-wrap:wrap}
.pfoot{display:flex;align-items:center;gap:12px;padding:13px 18px;margin-top:15px;border-top:1px solid #EFEEEA;font-size:11.5px;color:var(--txt2)}
.pfoot .sp{flex:1}
.tools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.tool{background:var(--surf);border:1px solid var(--trait);padding:13px;display:flex;gap:12px;align-items:center;min-width:0}
.tool .tx{min-width:0}
.tool b{display:block;font-size:13px;color:var(--encre);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tool span{display:block;font-size:11px;color:var(--txt2)}
.bigsearch{background:var(--surf);border:1px solid var(--trait);border-top:3px solid var(--bcl);padding:20px 22px}
.bigsearch .f{display:flex;gap:10px;align-items:center;border:1px solid var(--trait);padding:13px 16px;font-size:15px;color:var(--txt2)}
.bigsearch .f svg{width:19px;height:19px;color:var(--bcl)}
.bigsearch .f .k{margin-left:auto;font-size:11px;border:1px solid var(--trait);padding:2px 7px}
.modal{position:absolute;inset:0;background:rgba(31,58,95,.42);display:flex;align-items:flex-start;justify-content:center;padding-top:90px}
.modal .win{background:var(--surf);border:1px solid var(--trait);border-top:3px solid var(--bcl);width:520px}
.modal .mh{display:flex;align-items:center;padding:14px 18px;border-bottom:1px solid var(--trait)}
.modal .mh b{font-size:14px;color:var(--encre)}
.modal .mh .x{margin-left:auto;color:var(--txt2);display:flex}
.modal .mh .x svg{width:15px;height:15px}
.modal .mb{padding:18px;display:grid;gap:14px}
.modal .mf{padding:14px 18px;border-top:1px solid var(--trait);display:flex;gap:10px;justify-content:flex-end}
.rel{position:relative}

/* =========================================================================
   2. Référentiel des contreparties : l'application
   ========================================================================= */
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;color:var(--txt);background:var(--papier);font-size:13px;line-height:1.5}
table{border-collapse:collapse;width:100%}
a{color:var(--lien)}
a:hover{text-decoration:none}
:focus-visible{outline:2px solid var(--bcl);outline-offset:2px}
.ab :focus-visible{outline-color:var(--bclair)}
.hidden{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ic{width:16px;height:16px;display:inline-block;vertical-align:-3px;flex:0 0 auto}
h1,h2,h3,h4{color:var(--encre)}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}

/* ---------------------------------------------------------------- barre d'application */
.ab{position:sticky;top:0;z-index:20;gap:16px;padding:0 20px 0 16px}
.ab .navtoggle:hover,.ab .ablaunch:hover{background:rgba(255,255,255,.12)}
.abname{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
.absearch{min-width:120px;padding:0 4px 0 0;gap:0}
.absearch button{background:none;border:0;color:inherit;min-height:28px;width:32px;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto}
.absearch input{flex:1;min-width:0;background:none;border:0;color:#fff;font:inherit;font-size:12.5px;padding:0;min-height:26px}
.absearch input::placeholder{color:rgba(255,255,255,.72)}
.absearch input:focus{outline:0}
.absearch:focus-within{border-color:var(--bclair)}
.abctx{gap:12px}
.abctx .fd{display:flex;flex-direction:column;gap:0;font-size:10.5px;color:rgba(255,255,255,.7);line-height:1.3}
.abctx .fd input{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.3);color:#fff;color-scheme:dark;font:inherit;font-size:12px;padding:1px 4px;min-height:24px}
.abctx .fd input:focus{outline:2px solid var(--bclair);outline-offset:0}
.abctx #known-now{background:none;border:1px solid rgba(255,255,255,.4);color:#fff;font-size:12px;padding:4px 12px;min-height:28px;cursor:pointer}
.abctx #known-now:hover{background:rgba(255,255,255,.12)}
.clock .hist{display:none}
.clock.past .hist{display:inline-flex;color:#fff;border-color:var(--bclair)}
.clock.past .hist::before{background:var(--bclair)}
.clock.past #known-now{background:var(--bcl);border-color:var(--bclair);font-weight:700}
.clock.past #known{border-color:var(--bclair);border-width:2px}
.abuser{position:relative;padding:4px 8px 4px 4px;border:1px solid transparent;cursor:pointer;flex:0 1 auto;min-width:0}
.abuser:hover{border-color:rgba(255,255,255,.3)}
.abuser:focus-within{outline:2px solid var(--bclair);outline-offset:0}
.abuser .who{min-width:0}
.abuser b,.abuser .who span{display:block;overflow:hidden;text-overflow:ellipsis;max-width:180px}
.abuser select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:13px}
.abuser select:disabled{cursor:default}
.ablaunch{background:none;color:#fff;padding:0;cursor:pointer}
.ablaunch[aria-expanded="true"]{background:rgba(255,255,255,.16);border-color:var(--bclair)}
@media (max-width:1400px){.abdom{display:none}}
@media (max-width:1240px){
  .absearch{flex:0 0 auto;width:34px;min-width:0;padding:0;justify-content:center}
  .absearch input,.absearch .slash{display:none}
}
.ab .navtoggle,.ab .ablaunch{min-height:0}
.abname{min-width:120px}
@media (max-width:1180px){.abuser .who span{display:none}.abuser b{max-width:110px}.ab{gap:12px;padding:0 12px}}
@media (max-width:1000px){.abname,.abuser .who{display:none}.abuser{padding:4px}}

/* le lanceur d'applications */
.apps{position:fixed;top:59px;right:16px;width:420px;max-width:calc(100vw - 32px);z-index:40;background:var(--surf);border:1px solid var(--trait);border-top:3px solid var(--bcl);color:var(--txt)}
.apps .mh{display:flex;align-items:center;padding:12px 16px;border-bottom:1px solid var(--trait)}
.apps .mh b{font-size:14px;color:var(--encre)}
.apps .mh button{margin-left:auto}
.apps .rw{text-decoration:none;color:inherit;min-height:44px}
.apps a.rw:hover{background:var(--actif)}
.apps .rw.cur{background:var(--actif)}
.apps .rw.cur h4::after{content:" · vous êtes ici";font-weight:400;font-size:11.5px;color:var(--txt2)}

/* ---------------------------------------------------------------- menu latéral */
.shell{min-height:calc(100vh - 59px)}
.side{position:sticky;top:59px;align-self:flex-start;height:calc(100vh - 59px);overflow-y:auto;overflow-x:hidden}
.side a:hover{background:var(--filet)}
.side a.on:hover{background:var(--actif)}
.side a .ext{color:var(--txt2);margin-left:4px}
.side a .lb{text-overflow:ellipsis}
.side .sep{border-top:1px solid var(--trait);margin:12px 0 8px}
.nav-closed .side a.on::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--bcl)}
.nav-closed .side .sep{margin:8px 12px}
.L-travail .side a:hover{background:rgba(255,255,255,.08)}
.L-travail .side .grp{color:rgba(255,255,255,.6)}
.L-travail .side .sep{border-top-color:rgba(255,255,255,.2)}
.L-travail .side a .ext{color:rgba(255,255,255,.6)}

/* ---------------------------------------------------------------- page : colonne, tiroir, barre d'action */
#main{flex:1;min-width:0;display:flex;flex-direction:column}
.pg{display:flex;align-items:stretch;flex:1;min-width:0}
.work{max-width:1400px}
.drawer .blk{margin-bottom:24px}
.drawer .band+.note,.drawer .band+.list{background:var(--surf);border:1px solid var(--trait);border-top:0;padding:12px 16px}
.drawer .kpis{grid-template-columns:1fr}
.drawer .kpi{padding:12px 16px}
.drawer .kpi b{font-size:22px}
.actionbar{position:sticky;bottom:0;z-index:5}
.actionbar .fld{display:flex;align-items:center;gap:8px;min-width:0}
.actionbar .fld input{min-width:220px}
.actionbar>.note{flex:1 1 220px;min-width:0}
@media (max-width:1180px){
  .pg{flex-direction:column}
  .drawer{width:auto;flex:none;border-left:0;border-top:1px solid var(--trait)}
}
@media (max-width:900px){.work{padding:20px 16px 28px}.L-travail .work{padding:20px 16px}}

.ttl h1{overflow-wrap:anywhere}
.ttl .acts{flex-wrap:wrap}
.crumb a{color:var(--lien)}
.ent-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}
.note+.note{margin-top:8px}
.hint{font-size:12px;color:var(--txt2);margin:0 0 12px}
.muted{color:var(--txt2)}
.small{font-size:12px}
.mono{font-variant-numeric:tabular-nums;letter-spacing:.02em}
.nullv{color:var(--txt2);font-style:italic}
.masked{font-weight:700;letter-spacing:.12em;color:var(--txt2)}
.lock{color:var(--txt2);margin-left:4px}
.lock .ic{width:14px;height:14px}
.card h3,.case h3{font-size:13.5px;margin:20px 0 8px}
.card>h3:first-child{margin-top:0}
.blk>.note{margin-top:8px}
.skel{display:grid;gap:12px;max-width:900px}
.skel i{display:block;height:16px;background:var(--trait)}
.skel i:first-child{height:28px;width:40%}
.skel i:nth-child(3){width:70%}

/* ---------------------------------------------------------------- boutons et champs */
button{font:inherit;cursor:pointer;font-size:12.5px;padding:8px 14px;border:1px solid var(--bcl);color:var(--bcl);background:var(--surf);min-height:36px;display:inline-flex;align-items:center;gap:8px;border-radius:0;line-height:1.2;vertical-align:middle}
button:hover{background:var(--actif)}
button.accent,.btn.p{background:var(--bcl);border-color:var(--bcl);color:#fff}
button.accent:hover{background:var(--encre);border-color:var(--encre)}
button.ghost{border-color:var(--trait);color:var(--txt2)}
button.ghost:hover{border-color:var(--txt2);color:var(--txt);background:var(--surf)}
button.danger{border-color:var(--rej);color:var(--rej)}
button.danger:hover{background:var(--surf);color:var(--rej);border-width:1px;text-decoration:underline}
button.small{min-height:28px;padding:4px 10px;font-size:12px}
button.lnk{border:0;background:none;color:var(--lien);padding:0;min-height:0;text-decoration:underline;text-underline-offset:2px;font-size:inherit;display:inline;text-align:left}
button.lnk:hover{text-decoration:none;background:none}
button:disabled,button:disabled:hover{opacity:.45;cursor:not-allowed;background:var(--surf);text-decoration:none}
button.accent:disabled{background:var(--bcl)}
button.lnk:disabled{background:none}
a.btnlink{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;padding:8px 14px;border:1px solid var(--bcl);color:var(--bcl);background:var(--surf);min-height:36px;text-decoration:none}
a.btnlink:hover{background:var(--actif)}
a.btnlink[aria-disabled="true"]{opacity:.45;pointer-events:none}
input,select,textarea{font:inherit;font-size:12.5px;border:1px solid var(--trait);background:var(--surf);color:var(--txt);padding:7px 10px;min-height:36px;border-radius:0;max-width:100%}
textarea{min-height:0;line-height:1.5}
input[type=checkbox],input[type=radio]{min-height:0;padding:0;accent-color:var(--bcl);vertical-align:-2px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--bcl);outline-offset:-1px}
.form{display:grid;gap:16px;margin-top:16px}
.fld input,.fld select,.fld textarea{width:100%}
.fld .hint{margin:0}
.fld.inline{display:flex;align-items:center;gap:8px}
.fld.inline input{width:auto}
.check{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--txt)}
.formacts{margin-top:20px;display:flex;gap:8px;flex-wrap:wrap}

/* ---------------------------------------------------------------- étiquettes, pastilles, sources */
.pill{white-space:nowrap;vertical-align:middle;line-height:1.3}
.tag{display:inline-flex;align-items:center;gap:6px;font-size:11px;padding:2px 8px;border:1px solid var(--trait);color:var(--txt2);background:var(--surf);white-space:nowrap;vertical-align:middle;margin:0 4px 2px 0;line-height:1.4}
.tag.ink{border-color:var(--encre);color:var(--encre);font-weight:700}
.tag.ink a{color:var(--lien)}
.src{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;padding:2px 8px 2px 6px;border:1px solid var(--trait);background:var(--surf);color:var(--txt);white-space:nowrap;margin:0 4px 2px 0;vertical-align:middle;line-height:1.4}
.src i{width:10px;height:10px;flex:0 0 auto;background:var(--sc,var(--gris))}
.s-gleif{--sc:var(--d1)}.s-csdb{--sc:var(--d2)}.s-riad{--sc:var(--d3)}.s-rcs{--sc:var(--d4)}
.s-ifr{--sc:var(--d5)}.s-anacredit{--sc:var(--d6)}.s-bcl{--sc:var(--d7)}.s-statec{--sc:var(--gris)}.s-dore{--sc:var(--txt)}
.src.s-bcl i{outline:1px solid var(--trait);outline-offset:-1px}
.more-src[hidden]{display:none}
.lg{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:12px;color:var(--txt2);margin-top:12px}
.lg span{display:inline-flex;align-items:center;gap:6px}
.lg i{width:10px;height:10px;display:inline-block}

/* ---------------------------------------------------------------- tableaux */
th{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--txt2);text-align:left;padding:10px 14px;border-bottom:1px solid var(--trait);font-weight:700;vertical-align:bottom}
td{padding:10px 14px;border-top:1px solid var(--filet);font-size:12.5px;vertical-align:top}
tr:first-child>td{border-top:0}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
tr.click{cursor:pointer}
tr.click:hover>td{background:var(--actif)}
.tb{border-collapse:collapse}
.tb td a{color:var(--lien)}
.tscroll{overflow-x:auto;background:var(--surf);border:1px solid var(--trait)}
.band+.tscroll{border-top:0}
.tscroll>.tb{border:0}
.L-travail th{padding:8px 12px}.L-travail td{padding:8px 12px;font-size:12px}
.tsum{font-size:12px;color:var(--txt2);margin:0 0 8px}
tbody.grp>tr>th.band{display:table-cell;font-size:12px;letter-spacing:.07em;color:#fff;padding:5px 16px;border-bottom:0}
tbody.grp>tr:first-child>th{border-top:1px solid var(--surf)}
table.attrs td:first-child{width:24%}
table.attrs .rule{display:block;font-size:11.5px;color:var(--txt2);margin-top:4px}
table.attrs td.why{width:1%;white-space:nowrap}
.foot-acts{display:flex;justify-content:flex-end;gap:8px;align-items:center;margin-top:20px;flex-wrap:wrap}

/* ---------------------------------------------------------------- listes et notes */
a.rw{text-decoration:none;color:inherit}
a.rw:hover{background:var(--actif)}
.rw.on{background:var(--actif)}
.rw.on .acc{background:var(--bcl)!important}
.rw .tx p .pill{margin-top:4px}
.rw.flat{padding:12px 16px}
.list{display:grid;gap:4px;font-size:12.5px}
.list .li{display:flex;justify-content:space-between;gap:12px;font-variant-numeric:tabular-nums}
.empt b{color:var(--encre)}
.alert{display:flex;gap:12px;align-items:flex-start;background:var(--surf);border:1px solid var(--trait);border-left:4px solid var(--bordeaux);padding:12px 16px;font-size:12.5px}
.alert.ok{border-left-color:var(--ok)}
.alert.rej{border-left-color:var(--rej)}
.alert.info{border-left-color:var(--info)}
.alert.gris{border-left-color:var(--trait)}
.alert .ic{color:var(--txt2);margin-top:2px}
.alert p{margin:0}
.merges{display:grid;gap:8px;margin-bottom:24px}

/* ---------------------------------------------------------------- tableau de bord */
.bar .nm{min-width:0;overflow:hidden}
.chart svg{display:block;width:100%;height:160px}

/* ---------------------------------------------------------------- recherche */
.sline{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}
.sline .fld{flex:1;min-width:280px}
.sline input[type=search]{font-size:15px;padding:10px 12px;min-height:44px}
.sline button{min-height:44px}
details.filt{margin-top:16px;padding:0}
details.filt>summary{cursor:pointer;padding:12px 20px;font-weight:700;color:var(--encre);font-size:12.5px}
details.filt[open]>summary{border-bottom:1px solid var(--filet)}
details.filt .fl{padding:16px 20px}
details.filt .fld{min-width:150px}
.fl .op{align-self:center;padding-top:20px;color:var(--txt2);font-weight:700}
.chips button.c{background:var(--surf);min-height:28px;padding:4px 10px;font-size:11.5px}
.chips button.c .ic{width:12px;height:12px}

/* ---------------------------------------------------------------- fiche entité */
.tabs{margin:0 0 24px}
.tabs a{font-size:13px;padding:12px 16px;color:var(--txt2);border-bottom:3px solid transparent;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.tabs a:hover{color:var(--encre)}
.tabs a.on{color:var(--encre);font-weight:700;border-bottom-color:var(--bcl)}
.timeline{overflow-x:auto;padding:12px 16px}
.timeline svg{display:block}
.tl-label{font-size:12.5px;fill:var(--txt)}
.tl-attr{font-weight:700;font-size:13.5px;fill:var(--encre)}
.tl-seg text{font-size:12px;pointer-events:none}
.tl-axis{font-size:12px;fill:var(--txt2);font-weight:700}
.tlbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.tree ul{list-style:none;margin:0;padding-left:28px;border-left:1px solid var(--trait)}
.tree>ul{border-left:0;padding-left:0}
.tree li{margin:8px 0}
.tree .node{display:inline-flex;gap:12px;align-items:center;border:1px solid var(--trait);padding:8px 12px;background:var(--surf);color:var(--txt);text-decoration:none;min-height:40px}
.tree .node:hover{border-color:var(--bcl)}
.tree .node b{color:var(--encre)}
.tree .node.me{border-left:4px solid var(--bcl);background:var(--actif)}
.share{font-weight:700;font-size:11px;background:var(--encre);color:#fff;padding:2px 6px;white-space:nowrap}
.share.head{background:var(--bcl)}

/* ---------------------------------------------------------------- file de rapprochement */
.rec .recg{margin-top:12px}
.rec .r{display:grid;grid-template-columns:130px 1fr;gap:16px;padding:8px 0;border-top:1px solid var(--filet);font-size:12.5px}
.rec .r .k{color:var(--txt2)}
.rec .av{display:inline-block;margin:0 20px 2px 0}
.rec .av .note{display:inline}
.dec .hd h4 a{color:var(--encre)}
.dec .sc em{line-height:1.4}
.dec .ft .more{margin-left:auto;font-size:12px}
.ev{grid-template-columns:170px minmax(0,1fr) minmax(0,1.2fr) 112px}
.ev.th{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--txt2);font-weight:700;padding-top:0}
.ev .a .sub{display:block;font-size:11px;color:var(--txt2)}
.ev.more{display:none}
.dec.open .ev.more{display:grid}
.ev.bad .sim{color:var(--rej)}
.simbar{display:inline-block;width:48px;height:6px;background:var(--filet);vertical-align:middle;margin-right:6px}
.simbar i{display:block;height:100%}
.alts .alth{padding:12px 20px;border-bottom:1px solid var(--trait)}
.alts .alth .lbl{margin:0}
.alt .note{white-space:nowrap}
.alt .sc2 .note{display:inline}
.alt:first-of-type{border-top:0}

/* ---------------------------------------------------------------- révisions */
.split2{display:grid;grid-template-columns:340px minmax(0,1fr);gap:20px;align-items:start}
@media (max-width:1100px){.split2{grid-template-columns:1fr}}
.revg{margin-bottom:12px;padding:16px}
.revg.on{border-top:3px solid var(--bcl)}
.revg h4{font-size:14px;margin:0;color:var(--encre)}
.periods{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.period{display:inline-flex;flex-direction:column;min-width:84px;padding:4px 8px;border:1px solid var(--trait);background:var(--surf);font-weight:700;font-size:12.5px;color:var(--encre);text-decoration:none}
.period .st{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;color:var(--txt2)}
.period .st::before{content:"";width:7px;height:7px;background:currentColor}
.period.warn .st{color:var(--warn)}.period.ok .st{color:var(--ok)}
.period:hover{border-color:var(--bcl)}
.period.on{border-color:var(--bcl);border-left-width:4px;background:var(--actif)}
.case h2{font-size:18px;margin:0 0 16px}
.case .blk{margin-bottom:24px}
.case .card p{margin:0}
th.scan-group{background:var(--filet);color:var(--encre)}
table.scan tr.muted td{color:var(--txt2)}
details.card>summary{cursor:pointer;color:var(--encre)}
details.card[open]>summary{margin-bottom:12px}
details>summary{cursor:pointer}

/* ---------------------------------------------------------------- règles de survie */
.chain{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.tok{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--trait);background:var(--surf);padding:4px 8px}
.tok .rank{font-weight:700;font-size:11.5px;color:var(--encre);min-width:12px}
.tok .src{margin:0}
.tok .cond,.tok .agg{font-size:11.5px;color:var(--txt2)}
.chain .sep{color:var(--txt2);font-weight:700}
.chain .x{display:none}
.chain.open .x{display:inline-flex}
.chain.open .morebtn{display:none}
table.rules tr.changed>td:first-child{border-left:4px solid var(--warn)}
.before{margin-top:8px}
.before .chain{margin-top:4px;opacity:.75}
.cand-edit{display:flex;gap:8px;align-items:center;margin-bottom:8px;flex-wrap:wrap}
.cand-edit .rank{font-weight:700;font-size:11.5px;color:var(--encre);min-width:16px}
.cand-edit select,.cand-edit input{width:auto;min-width:0;min-height:30px;padding:4px 8px;font-size:12.5px}
pre.code{background:var(--surf);border:1px solid var(--trait);padding:16px 20px;overflow-x:auto;font-size:12px;line-height:1.5;margin:0;font-family:ui-monospace,Menlo,Consolas,monospace;white-space:pre}
.band+pre.code{border-top:0}
.diff-add{display:block;color:var(--ok);font-weight:700;border-left:4px solid var(--ok);padding-left:8px;margin-left:-12px}
.diff-del{display:block;color:var(--rej);text-decoration:line-through;border-left:4px solid var(--rej);padding-left:8px;margin-left:-12px}

/* ---------------------------------------------------------------- contrat, lots */
.cards.n2 .cd.on{border-top:3px solid var(--bcl)}
.cd .cdacts{margin-top:16px}
.compare{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:1100px){.compare{grid-template-columns:1fr}}
.seg{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.seg button[aria-pressed="true"]{border-color:var(--bcl);border-left-width:4px;color:var(--encre);font-weight:700;background:var(--actif)}
tr.detail-row>td{background:var(--papier)}
tr.hidden{display:none}
.load-detail{padding:4px 0 8px}
.load-detail h4{margin:16px 0 8px;font-size:12px;color:var(--encre)}
.load-detail h4:first-child{margin-top:4px}
.load-detail ul{margin:0;padding-left:20px}
.load-detail .kv2{display:flex;flex-wrap:wrap;gap:4px 20px;font-size:12.5px}
.load-detail table{background:var(--surf);border:1px solid var(--trait)}

/* ---------------------------------------------------------------- panneau latéral (Pourquoi ?, formulaires) et message */
.sheet{position:fixed;top:59px;right:0;bottom:0;width:min(620px,94vw);background:var(--surf);z-index:30;overflow-y:auto;border-left:1px solid var(--trait);border-top:3px solid var(--bcl)}
.sheet-body{padding:20px 24px 32px}
.sheet .close{float:right;margin-left:12px}
.sheet h2{font-size:20px;margin:0 0 8px;line-height:1.25}
.sheet h3{font-size:13.5px;margin:24px 0 8px}
.sheet .steps{margin-top:16px}
.sheet .step.now{border-left:4px solid var(--bcl)}
.x-attrs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px;font-size:12.5px}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--encre);color:#fff;padding:12px 20px;z-index:50;border-left:4px solid var(--bclair);font-weight:700;max-width:80vw}
.L-travail .toast{bottom:76px}
