@font-face{
  font-family:'Ailerons';
  src:url(data:font/woff2;base64,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) format('woff2');
  font-weight:normal;font-style:normal;font-display:swap;
}
 :root{
   --navy:#112A4A;--navy7:#0D2139;--navy-soft:#E9EDF3;
   --gold:#D1C18A;--gold6:#C0AD6F;--gold-deep:#6B5D2A;--gold-soft:#F3E9CF;
   --cream:#F6F1E7;--paper:#FCFBF8;--ink:#16202E;--line:rgba(22,32,46,.06);--mut:rgba(22,32,46,.55);
   --ok:#166534;--ok-soft:#F0FDF4;--ok-line:#BBF7D0;--err:#991B1B;--err-soft:#FEF2F2;--err-line:#FECACA;--warn:#8a6d1f;--warn-soft:#FBF7E9;
   --com-pos:#1A7F4B;--com-neg:#C0392B;
   /* identité visuelle des 2 flux (cohérente sur toute la plateforme) :
      vert = COMMISSIONS (perçu · bordereaux · versements compagnie) ;
      bleu = BANQUE (encaissé · relevé · virements bancaires). */
   --c-com:#1A7F4B;--c-com-soft:#E8F5EE;--c-com-line:#B7E2C8;
   --c-bank:#1F6FB2;--c-bank-soft:#E8F1F9;--c-bank-line:#BCD7EC;
   --r-compact:12px;--r-medium:16px;--r-standard:24px;
   --sh-card-hover:0 30px 60px -28px rgba(17,42,74,.45);--sh-cta:0 10px 15px -3px rgba(17,42,74,.20),0 4px 6px -4px rgba(17,42,74,.20);
   --ease:cubic-bezier(.2,.7,.2,1);
   --fd:'Bricolage Grotesque',system-ui,sans-serif;--fb:'Manrope',system-ui,sans-serif;--fm:'IBM Plex Mono',ui-monospace,monospace}
 *{box-sizing:border-box;margin:0;padding:0}
 html{scroll-behavior:smooth}
 body{font-family:var(--fb);background:var(--paper);color:var(--ink);font-size:14.5px;line-height:1.55;-webkit-font-smoothing:antialiased}
 a{color:inherit;text-decoration:none}
 button{font:inherit;cursor:pointer;background:none;border:none;color:inherit}
 :focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:8px}
 ::selection{background:var(--gold-soft)}
 input{font:inherit;padding:11px 13px;border:1px solid rgba(22,32,46,.15);border-radius:12px;width:100%;background:#fff}
 input:focus{outline:none;box-shadow:0 0 0 2px var(--gold)}
 .btn{border-radius:9999px;padding:9px 16px;font:700 13px var(--fb);background:var(--navy);color:#fff;transition:.18s}
 .btn:hover{background:var(--navy7)}.btn.gold{background:var(--gold);color:var(--navy)}.btn.gold:hover{background:var(--gold6)}
 .btn.ghost{background:#fff;color:var(--navy);border:1px solid rgba(22,32,46,.12)}.btn.ghost:hover{background:var(--cream)}
 .btn.sm{padding:6px 13px;font-size:12px}
 /* Topbar clair (style cockpit) */
 .topbar{position:sticky;top:0;z-index:50;background:rgba(252,251,248,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
 .topbar-in{max-width:1240px;margin:0 auto;display:flex;align-items:center;gap:12px;padding:0 26px;height:62px}
 .wordmark{font-family:'Ailerons',var(--fd);font-weight:400;font-size:27px;letter-spacing:.10em;color:var(--navy);text-transform:uppercase;line-height:1}
 .wordmark .dire{color:var(--gold6)}
 .tabs{display:flex;gap:6px;margin-left:14px}
 .tabs a{font:700 13px var(--fb);color:var(--navy);padding:8px 16px;border-radius:9999px;transition:.2s var(--ease);white-space:nowrap}
 .tabs a:hover{background:var(--cream)}
 .tabs a.on{background:var(--navy);color:#fff;box-shadow:var(--sh-cta)}
 .sp{flex:1}
 .who{font-size:12px;color:var(--mut)}
 /* Hero navy */
 .hero{background:linear-gradient(168deg,var(--navy),var(--navy7));color:#fff;position:relative;overflow:hidden}
 .hero .blob{position:absolute;width:380px;height:380px;border-radius:50%;background:var(--gold);filter:blur(80px);opacity:.30;right:-120px;top:-150px;pointer-events:none;animation:breathe 8s ease-in-out infinite alternate}
 .hero .blob.b2{left:-160px;bottom:-240px;right:auto;top:auto;opacity:.12;animation-delay:-4s}
 .hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(209,193,138,.55),transparent)}
 .hero-in{max-width:1240px;margin:0 auto;padding:26px 26px 30px;position:relative}
 .hcrumb{font-size:12.5px;color:rgba(255,255,255,.6);margin-bottom:14px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
 .hcrumb a{color:var(--gold);font-weight:600}.hcrumb a:hover{text-decoration:underline}.hcrumb .sep{opacity:.4}
 .eyebrow{font-weight:800;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
 .eyebrow a{color:inherit;border-bottom:1px dotted rgba(209,193,138,.55)}
 .eyebrow a:hover{color:#fff;border-bottom-style:solid}
 .hero h1{font-family:var(--fd);font-weight:800;font-size:clamp(25px,3.6vw,38px);letter-spacing:-.02em;line-height:1.1;margin-top:9px;display:flex;align-items:center;gap:14px}
 .hero h1 em{font-style:normal;color:var(--gold)}
 .hero .sub{margin-top:12px;color:rgba(255,255,255,.7);font-size:14.5px;max-width:760px}
 .hero .sub a{color:#fff;border-bottom:1px solid rgba(209,193,138,.6)}
 /* Bandeau compact (pages compagnie) : moins de hauteur perdue */
 .hero.compact .hero-in{padding:13px 26px 15px}
 .hero.compact .hcrumb{margin-bottom:9px}
 .hero.compact h1{font-size:clamp(19px,2.2vw,25px);margin-top:4px;gap:11px}
 .hero.compact h1 .hlogo{width:42px;height:42px;border-radius:12px;padding:7px}
 .hero.compact .sub{margin-top:4px;font-size:12.5px}
 .hero.compact .blob{opacity:.16}
 /* bascule Contrats/Clients dans la barre d'outils */
 .toolbar .seg.pv{margin-right:2px}
 .havatar{display:inline-flex;align-items:center;justify-content:center;flex:none;width:52px;height:52px;border-radius:15px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);color:var(--gold);font:800 18px var(--fd);letter-spacing:.04em}
 /* Layout */
 .wrap{max-width:1240px;margin:0 auto;padding:22px 26px 70px}
 #view{animation:fade .3s var(--ease)}
 @keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
 @keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
 @keyframes breathe{from{opacity:.16;transform:scale(.92)}to{opacity:.42;transform:scale(1.08)}}
 .kpis .kpi{animation:rise .55s var(--ease) both}
 .kpis .kpi:nth-child(2){animation-delay:.07s}.kpis .kpi:nth-child(3){animation-delay:.14s}.kpis .kpi:nth-child(4){animation-delay:.21s}.kpis .kpi:nth-child(5){animation-delay:.28s}.kpis .kpi:nth-child(6){animation-delay:.35s}
 .panel{animation:rise .55s var(--ease) both;animation-delay:.12s}
 .cocard{animation:rise .5s var(--ease) both}
 @media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
 .loading{padding:60px;text-align:center;color:var(--mut)}
 h2{font-family:var(--fd);font-weight:800;font-size:16px;letter-spacing:-.01em;color:var(--navy);margin:0 0 14px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
 h2 .note{font:500 12px var(--fb);color:var(--mut)}
 h2.grp{font-family:var(--fd);font-weight:800;font-size:12.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--gold-deep);margin:28px 0 14px;display:flex;align-items:center;gap:12px}
 h2.grp::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--line),transparent)}
 /* KPI */
 .kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(186px,1fr));gap:14px;margin-bottom:18px}
 .kpi{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r-medium);padding:16px 18px;display:flex;flex-direction:column;transition:.35s var(--ease)}
 .kpi::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;border-radius:var(--r-medium) var(--r-medium) 0 0;background:linear-gradient(90deg,var(--gold),rgba(209,193,138,0) 65%);opacity:0;transition:.35s var(--ease)}
 .kpi:hover{transform:translateY(-5px);box-shadow:var(--sh-card-hover);border-color:rgba(209,193,138,.6)}.kpi:hover::before{opacity:1}
 .kpi .lab{font:800 10.5px var(--fb);text-transform:uppercase;letter-spacing:.1em;color:var(--mut)}
 .kpi .info{position:relative;display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;border:1px solid var(--gold6);color:var(--gold6);font:700 9px var(--fb);text-transform:none;cursor:help;opacity:.65;vertical-align:middle;margin-left:3px}
 .kpi .info:hover{opacity:1;background:var(--gold-soft)}
 .kpi .info .tip{position:absolute;left:50%;bottom:calc(100% + 9px);transform:translateX(-50%) translateY(3px);width:225px;background:var(--navy7);color:#fff;font:600 11.5px/1.45 var(--fb);text-transform:none;letter-spacing:normal;padding:9px 12px;border-radius:10px;text-align:left;box-shadow:0 16px 36px -12px rgba(0,0,0,.55);opacity:0;visibility:hidden;pointer-events:none;transition:.16s var(--ease);z-index:60}
 .kpi .info .tip::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:var(--navy7)}
 .kpi .info:hover .tip{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
 @media(max-width:600px){.kpi .info .tip{width:170px}}
 .kpi .val{font-family:var(--fd);font-weight:800;font-size:27px;letter-spacing:-.02em;margin-top:5px;color:var(--navy);line-height:1.12;white-space:nowrap}
 .kpi .val.money{color:var(--c-com);font-size:22px;letter-spacing:-.01em}
 .kpi .val.money.blue{color:var(--navy)}
 .kpi .val.money.bank{color:var(--c-bank)}
 .kpi .sub{font-size:12px;color:var(--mut);margin-top:auto;padding-top:4px}
 .kpi.gold{border-color:var(--gold);background:linear-gradient(160deg,#FBF5E4,var(--gold-soft))}.kpi.gold .val{color:var(--gold-deep)}
 /* Panels & grids */
 .panel{background:#fff;border:1px solid var(--line);border-radius:var(--r-standard);padding:18px 20px;margin-bottom:16px;box-shadow:0 18px 40px -36px rgba(17,42,74,.4)}
 .grid{display:grid;gap:16px}.g3{grid-template-columns:repeat(auto-fill,minmax(255px,1fr))}.g2{grid-template-columns:1.2fr 1fr}
 @media(max-width:820px){.g2{grid-template-columns:1fr}}
 /* Company cards (home) */
 .cocard{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--r-medium);padding:18px;transition:.35s var(--ease)}
 .cocard:hover{transform:translateY(-4px);box-shadow:var(--sh-card-hover);border-color:rgba(209,193,138,.6)}
 .cocard .top{display:flex;align-items:center;gap:12px;margin-bottom:12px}
 .avatar{display:inline-flex;align-items:center;justify-content:center;flex:none;width:42px;height:42px;border-radius:12px;background:linear-gradient(150deg,var(--navy),#1D3D66);color:var(--gold);font:800 14px var(--fd);letter-spacing:.04em;box-shadow:0 6px 14px -8px rgba(17,42,74,.6)}
 .brandmark{height:32px;width:auto;display:block}
 .colo{display:inline-flex;align-items:center;justify-content:center;flex:none;width:56px;height:42px;border-radius:12px;background:#fff;border:1px solid var(--line);box-shadow:0 6px 14px -8px rgba(17,42,74,.4);overflow:hidden;padding:5px 7px}
 .colo img{height:28px;width:auto;max-width:100%;object-fit:contain;display:block}
 .colo.fb{background:linear-gradient(150deg,var(--navy),#1D3D66);color:var(--gold);font:800 14px var(--fd);letter-spacing:.04em;padding:0}
 .hlogo{display:inline-flex;align-items:center;justify-content:center;flex:none;width:54px;height:54px;border-radius:15px;background:#fff;padding:9px;overflow:hidden}
 .hlogo img{max-width:100%;max-height:100%;object-fit:contain;display:block}
 .hlogo.fb{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);color:var(--gold);font:800 18px var(--fd);padding:0}
 .cocard .nm{font-family:var(--fd);font-weight:800;font-size:15.5px;color:var(--navy)}
 .cocard .dt{color:var(--mut);font-size:11.5px}
 .cocard .row{display:flex;justify-content:space-between;font-size:13px;padding:6px 0;border-top:1px solid var(--line)}
 .cocard .row b{color:var(--navy);font-family:var(--fm);font-size:13px}
 .cocard .row b.pos{color:var(--com-pos)} .cocard .row b.neg{color:var(--err)} .cocard .row b.ink{color:var(--navy)}
 .cocard.lk{cursor:pointer} a.pill{text-decoration:none}
 .seeall{display:flex;align-items:center;gap:11px;margin-top:18px;padding:14px 18px;border:1px solid var(--line);border-radius:var(--r-medium);background:#fff;color:var(--navy);font:700 14px var(--fb);transition:.25s var(--ease)}
 .seeall:hover{border-color:rgba(209,193,138,.6);box-shadow:var(--sh-card-hover);transform:translateY(-2px)}.seeall span{flex:1}.seeall b{color:var(--gold6);font-size:18px}
 /* Subnav pills */
 .subnav{display:flex;gap:6px;margin-bottom:18px;padding:5px;background:#fff;border:1px solid var(--line);border-radius:9999px;width:fit-content;max-width:100%;overflow-x:auto;scrollbar-width:none}
 .subnav::-webkit-scrollbar{display:none}
 .subnav a{font:700 13px var(--fb);color:var(--mut);padding:8px 17px;border-radius:9999px;white-space:nowrap;transition:.2s var(--ease)}
 .subnav a:hover{color:var(--navy);background:var(--cream)}
 .subnav a.on{background:var(--navy);color:#fff}
 .subnav a .b{font-family:var(--fm);font-size:11px;opacity:.7;margin-left:5px}
 /* onglets compagnie intégrés au bandeau bleu (liseré = couleur compagnie sur l'actif) */
 .hero.tabbed.compact .hero-in{padding-bottom:0}
 .htabs{display:flex;gap:2px;margin-top:16px;overflow-x:auto;scrollbar-width:none;box-shadow:inset 0 -1.5px 0 rgba(255,255,255,.16)}
 .htabs::-webkit-scrollbar{display:none}
 .htabs a{font:700 13.5px var(--fb);color:rgba(255,255,255,.62);padding:11px 18px 12px;border-radius:10px 10px 0 0;white-space:nowrap;transition:.18s var(--ease)}
 .htabs a:hover{color:#fff;background:rgba(255,255,255,.08)}
 .htabs a.on{color:#fff;background:var(--coac,var(--gold));text-shadow:0 1px 2px rgba(0,0,0,.22)}
 .htabs a.on:hover{background:var(--coac,var(--gold))}
 .htabs a .htb{display:inline-block;margin-left:6px;background:var(--com-neg);color:#fff;font:800 10px var(--fb);padding:1px 6px;border-radius:9999px;vertical-align:middle}
 /* Segmented */
 .seg{display:inline-flex;gap:3px;background:var(--cream);border:1px solid var(--line);border-radius:9999px;padding:3px}
 .seg button{font:700 12px var(--fb);color:var(--navy);padding:6px 14px;border-radius:9999px;white-space:nowrap;transition:.2s var(--ease)}
 .seg button.on{background:var(--navy);color:#fff;box-shadow:var(--sh-cta)}
 .toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
 .toolbar .count{margin-left:auto;font-size:12px;color:var(--mut);font-weight:600}
 .toolbar .tlab{font:800 11px var(--fb);text-transform:uppercase;letter-spacing:.07em;color:var(--mut)}
 .toolbar select{font:700 12.5px var(--fb);color:var(--navy);padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}
 .toolbar input.search{width:auto;flex:1;min-width:180px;max-width:300px;padding:9px 14px;border-radius:10px;font-size:13px}
 .toolbar input[type=date]{width:auto;padding:8px 11px;border:1px solid var(--line);border-radius:10px;font:600 12.5px var(--fb);color:var(--navy);background:#fff}
 .toolbar select{cursor:pointer}
 .toolbar .rng{font:700 12px var(--fb);color:var(--gold-deep);background:var(--gold-soft);padding:5px 11px;border-radius:9999px}
 /* mode Mois : 12 mois cliquables sur toute la largeur */
 .mgrid{display:grid;grid-template-columns:repeat(12,1fr);gap:6px;margin:2px 0 14px}
 .mgrid button{font:700 12px var(--fb);color:var(--navy);padding:9px 4px;border:1px solid var(--line);border-radius:10px;background:#fff;text-transform:capitalize;transition:.15s var(--ease)}
 .mgrid button:hover{border-color:var(--gold);background:var(--cream)}
 .mgrid button.on{background:var(--navy);color:#fff;border-color:var(--navy);box-shadow:var(--sh-cta)}
 @media(max-width:820px){.mgrid{grid-template-columns:repeat(6,1fr)}}
 /* Mouvements : deux colonnes (contrats | clients), solde net en pied de colonne */
 .grid.mvt{grid-template-columns:1fr 1fr}
 .mvtcol{display:flex;flex-direction:column;gap:10px;background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--ent,var(--gold));border-radius:16px;padding:14px 15px}
 .mvtcol .mvth{display:flex;align-items:center;gap:9px;font:800 11.5px var(--fb);text-transform:uppercase;letter-spacing:.09em;color:var(--ent,var(--gold-deep))}
 /* identité Contrats/Clients : badge picto réutilisable */
 .entbadge{display:inline-flex;align-items:center;justify-content:center;flex:none;width:26px;height:26px;border-radius:8px}
 /* Lecture du portefeuille — tuiles de diagnostic épurées */
 .diag{display:grid;grid-template-columns:repeat(auto-fit,minmax(172px,1fr));gap:12px}
 .dcard{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-medium);padding:15px 16px;display:flex;flex-direction:column;gap:6px;transition:.25s var(--ease)}
 a.dcard{color:inherit}a.dcard:hover{transform:translateY(-3px);box-shadow:var(--sh-card-hover);border-color:rgba(209,193,138,.6)}
 .dcard .dh{display:flex;align-items:center;gap:9px}
 .dcard .dbadge{width:30px;height:30px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;flex:none}
 .dcard .dl{font:800 10px var(--fb);text-transform:uppercase;letter-spacing:.08em;color:var(--mut)}
 .dcard .dv{font-family:var(--fd);font-weight:800;font-size:26px;color:var(--navy);line-height:1.05;letter-spacing:-.01em}
 .dcard .ds{font-size:11.5px;color:var(--mut);margin-top:auto}
 .dcard.warn{background:var(--warn-soft);border-color:#EADfae}.dcard.warn .dv{color:var(--gold-deep)}
 .dcard.risk{background:var(--err-soft);border-color:var(--err-line)}.dcard.risk .dv{color:var(--com-neg)}
 .dgauge{height:7px;background:var(--cream);border-radius:9999px;overflow:hidden;margin-top:1px}
 .dgauge i{display:block;height:100%;border-radius:9999px;background:linear-gradient(90deg,var(--navy),#2A5894);transition:width .9s var(--ease)}
 .dcard.warn .dgauge i{background:linear-gradient(90deg,var(--gold6),var(--gold))}
 .dcard.risk .dgauge i{background:linear-gradient(90deg,#C0392B,#E0694E)}
 /* identité famille : badge picto + couleur */
 .fbadge{display:inline-flex;align-items:center;justify-content:center;flex:none;width:28px;height:28px;border-radius:8px}
 .famico{display:inline-flex;align-items:center;vertical-align:middle;margin-right:7px}.famico svg{width:14px;height:14px}
 /* regroupement par famille dans la table (fiche client) */
 tr.grphead td{background:var(--paper);border-top:1px solid var(--line);padding:10px 15px}
 tr.grphead:first-child td{border-top:none}
 .grh{display:flex;align-items:center;gap:11px;flex-wrap:wrap}
 .grh .gn{font-family:var(--fd);font-weight:800;font-size:14px}
 .grh .gc{font:700 11px var(--fb);color:var(--mut);text-transform:uppercase;letter-spacing:.05em}
 .grh .gp{margin-left:auto;font:700 12.5px var(--fm);color:var(--com-pos);font-variant-numeric:tabular-nums}
 .dtops{display:flex;flex-direction:column;gap:6px;margin-top:9px}
 .dtop{display:flex;align-items:center;gap:8px;font-size:12.5px}
 .dtop .dtd{width:10px;height:10px;border-radius:3px;flex:none}
 .dtop .dtn{color:var(--navy);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
 .dtop .dts{font-family:var(--fm);font-size:11.5px;color:var(--mut);font-variant-numeric:tabular-nums}
 .daction{display:flex;align-items:center;gap:11px;margin-top:13px;padding:12px 15px;background:var(--navy-soft);border-radius:12px;font-size:13.5px;color:var(--navy);line-height:1.45}
 .daction .di{font-size:17px;flex:none}.daction b{color:var(--navy)}
 /* Comptes clés / cross-sell : liste riche */
 .cxl{display:flex;flex-direction:column;gap:9px}
 .cxl-row{display:grid;grid-template-columns:28px 42px 1fr 158px;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px 17px;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}
 .cxl-row:hover{border-color:var(--gold);box-shadow:0 6px 20px rgba(20,40,80,.08);transform:translateY(-1px)}
 .cxl-rk{font-family:var(--fd);font-weight:800;font-size:15px;color:var(--mut);text-align:center}
 .cxl-row.top .cxl-rk{color:var(--gold-deep)}
 .cxl-av{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;font:800 14px var(--fb);color:#fff;flex:none;letter-spacing:.02em}
 .cxl-main{min-width:0}
 .cxl-nm{font-family:var(--fd);font-weight:700;font-size:15px;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .cxl-sub{display:flex;align-items:center;gap:6px;margin-top:4px;flex-wrap:wrap}
 .cxl-meta{font-size:11.5px;color:var(--mut);font-variant-numeric:tabular-nums}
 .chip{display:inline-flex;align-items:center;font:700 10px var(--fb);padding:2px 8px;border-radius:9999px;background:var(--navy-soft);color:var(--navy);letter-spacing:.02em;white-space:nowrap}
 .chip.go{background:var(--c-com-soft);color:var(--c-com)}
 .cxl-bar{height:5px;background:var(--cream);border-radius:9999px;overflow:hidden;margin-top:8px;max-width:360px}
 /* jauge = commission cumulée → vert sémantique (le bleu reste réservé à la banque) */
 .cxl-bar i{display:block;height:100%;border-radius:9999px;background:linear-gradient(90deg,var(--c-com),#27A062)}
 .cxl-r{display:flex;flex-direction:column;align-items:flex-end;gap:1px;text-align:right}
 .cxl-cl{font:800 8.5px var(--fb);text-transform:uppercase;letter-spacing:.07em;color:var(--mut)}
 .cxl-com{font-family:var(--fd);font-weight:800;font-size:19px;color:var(--c-com);font-variant-numeric:tabular-nums;line-height:1.05}
 .cxl-pr{font-family:var(--fm);font-size:11.5px;color:var(--mut);font-variant-numeric:tabular-nums;margin-top:2px}
 .cxl-pct{font:800 11px var(--fb);color:var(--c-com);margin-top:1px}
 .cxl-sect{margin:26px 0 12px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
 .cxl-sect h2{font-family:var(--fd);font-weight:800;font-size:18px;color:var(--navy);margin:0}
 @media(max-width:720px){.cxl-row{grid-template-columns:24px 1fr auto}.cxl-av{display:none}.cxl-bar{display:none}}
 .entico{display:inline-flex;align-items:center;vertical-align:middle;margin-right:6px}.entico svg{width:13px;height:13px}
 .navb{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:7px;border-radius:9999px;background:var(--gold);color:var(--navy);font:800 11px var(--fb);vertical-align:middle}
 .tabs a.on .navb{background:#fff}
 .kpi-ic{position:absolute;top:14px;right:14px}
 .seg .segic{display:inline-flex;align-items:center;vertical-align:middle;margin-right:6px}
 .seg .segic svg{width:13px;height:13px}
 .mvtpair{display:grid;grid-template-columns:1fr 1fr;gap:10px}
 .mvtcol .pstat{background:#fff}
 .mvtcol .pnet{margin-top:auto}
 /* Tuile portefeuille aérée */
 .pstats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:8px}
 .pstat{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:15px 17px}
 .pstat .pv{font-family:var(--fd);font-weight:800;font-size:27px;color:var(--navy);line-height:1.05}
 .pstat .pv.money{color:var(--com-pos);font-size:21px}
 .pstat.pos .pv{color:var(--com-pos)}.pstat.neg .pv{color:var(--com-neg)}
 .pstat .pl{font-size:12px;color:var(--mut);margin-top:5px;font-weight:600}
 .pnet{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;border-top:2px solid rgba(22,32,46,.12);font-weight:700;color:var(--navy)}
 .pnet b{font-family:var(--fd);font-size:21px}.pnet b.pos{color:var(--com-pos)}.pnet b.neg{color:var(--com-neg)}
 /* Perçu par mois — barres horizontales lisibles */
 .pm{display:flex;flex-direction:column;gap:6px}
 .pm-row{display:grid;grid-template-columns:48px 1fr 104px;gap:11px;align-items:center;cursor:pointer;padding:3px 7px;border-radius:9px;transition:background .15s var(--ease)}
 .pm-row:hover{background:var(--cream)}
 .pm-row.on{background:var(--gold-soft)}
 .pm-row.z{cursor:default}
 .pm-mo{font:600 12px var(--fb);color:var(--mut)}
 .pm-row.on .pm-mo{color:var(--gold-deep);font-weight:800}
 .pm-track{height:15px;background:var(--cream);border-radius:9999px;overflow:hidden}
 .pm-fill{height:100%;width:0;border-radius:9999px;background:linear-gradient(90deg,var(--navy),#2A5894);transition:width .9s var(--ease)}
 .pm-row:hover .pm-fill{filter:brightness(1.12)}
 .pm-row.on .pm-fill{background:linear-gradient(90deg,var(--gold),var(--gold6))}
 .pm-amt{text-align:right;font:600 12px var(--fm);color:var(--navy);font-variant-numeric:tabular-nums}
 .pm-row.z .pm-amt{color:var(--mut)}
 .pm-tot{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;border-top:2px solid rgba(22,32,46,.12);font-weight:700;color:var(--navy)}
 .pm-tot b{font-family:var(--fd);font-size:18px}
 .pm.fam .pm-row{grid-template-columns:165px 1fr 165px}
 .pm.fam .pm-mo{color:var(--navy);font-weight:700;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .pm.fam .pm-amt{color:var(--navy)}
 .pm.fam .pm-fill{background:linear-gradient(90deg,var(--gold6),var(--gold))}
 @media(max-width:560px){.pm.fam .pm-row{grid-template-columns:110px 1fr 110px}}
 /* tableau répartition par famille */
 .fam-tbl td{vertical-align:middle}
 .fname{font-weight:700;color:var(--navy);font-size:13.5px}
 .fbar{height:5px;background:var(--cream);border-radius:9999px;margin-top:5px;overflow:hidden;max-width:260px}
 .fbar i{display:block;height:100%;width:0;border-radius:9999px;background:linear-gradient(90deg,var(--navy),#2A5894);transition:width .9s var(--ease)}
 /* Dashboard global — barres classées (compagnies / familles) */
 a.pm-row{color:inherit}
 .pm.rk .pm-row{grid-template-columns:150px 1fr 132px}
 .pm.rk .pm-mo{display:flex;align-items:center;gap:8px;color:var(--navy);font-weight:700;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .pm.rk .pm-mo .rkdot{flex:none;width:9px;height:9px;border-radius:3px;background:var(--navy)}
 .pm.rk .pm-amt{color:var(--navy)}
 .pm.rk .pm-amt .sh{color:var(--mut);font-weight:600;margin-left:5px;font-size:11px}
 .pm.rk .pm-fill{background:linear-gradient(90deg,var(--navy),#2A5894)}
 /* variante COMMISSIONS : les jauges d'argent perçu portent le vert sémantique --c-com
    (une couleur = un concept, comme duoChart / tableaux du triangle) */
 .pm.rk.com .pm-fill{background:linear-gradient(90deg,var(--c-com),#27A062)}
 .pm.rk.com .pm-mo .rkdot{background:var(--c-com)}
 .pm.rk.com .pm-amt{color:var(--c-com)}
 .pm.rk.gold .pm-fill{background:linear-gradient(90deg,var(--gold6),var(--gold))}
 .pm.rk.gold .pm-mo .rkdot{background:var(--gold6)}
 @media(max-width:560px){.pm.rk .pm-row{grid-template-columns:108px 1fr 96px}}
 /* graphe mensuel consolidé (perçu vs encaissé) */
 .pm.duo .pm-row{grid-template-columns:44px 1fr 102px 102px;cursor:default}
 .pm.duo .pm-row:hover{background:none}
 .pm.duo .pm-head{font:800 10px var(--fb);text-transform:uppercase;letter-spacing:.06em;color:var(--mut);cursor:default}
 .pm.duo .pm-head:hover{background:none}
 .pm.duo .pm-amt:not(.enc){color:var(--c-com)}
 .pm.duo .pm-amt.enc{color:var(--c-bank)}
 .pm.duo .pm-head .pm-amt{font-weight:800}
 .pm.duo .pm-track{background:var(--cream);position:relative}
 .pm.duo .pm-enc{position:absolute;left:0;top:0;height:100%;width:0;border-radius:9999px;background:var(--c-bank-line);transition:width .9s var(--ease)}
 .pm.duo .pm-fill{position:relative;z-index:1;background:linear-gradient(90deg,var(--c-com),#27A062)}
 .leg{display:flex;gap:16px;font-size:11.5px;font-weight:600;color:var(--mut);margin:8px 0 2px}
 .leg .dot{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:5px;vertical-align:middle}
 .leg .dot.p{background:var(--c-com)}.leg .dot.e{background:var(--c-bank)}
 /* identité 2 flux — texte & pastilles réutilisables */
 .c-com{color:var(--c-com)} .c-bank{color:var(--c-bank)}
 .sw{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:6px;vertical-align:middle}
 .sw.com{background:var(--c-com)} .sw.bank{background:var(--c-bank)}
 /* pastille-icône de flux dans les titres + liseré du panneau */
 .fxb{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:7px;margin-right:3px;flex:none}
 .fxb svg{width:14px;height:14px}
 .fxb.com{color:var(--c-com);background:var(--c-com-soft)} .fxb.bank{color:var(--c-bank);background:var(--c-bank-soft)}
 .panel.flux-com{border-left:3px solid var(--c-com)} .panel.flux-bank{border-left:3px solid var(--c-bank)}
 h2.grp.com{color:var(--c-com)} h2.grp.bank{color:var(--c-bank)}
 /* santé du recoupement */
 .hbar{display:inline-flex;align-items:center;gap:7px}
 .hbadge{font:700 11px var(--fb);padding:3px 9px;border-radius:9999px}
 .hbadge.ok{background:var(--ok-soft);color:var(--ok)}.hbadge.gap{background:var(--warn-soft);color:var(--warn)}.hbadge.na{background:var(--cream);color:var(--mut)}
 /* fiabilité & couverture documentaire */
 .trust{display:flex;gap:11px;align-items:flex-start;padding:12px 15px;border-radius:14px;background:var(--ok-soft);border:1px solid var(--ok-line);color:var(--ok);font-size:13px;margin-bottom:16px;line-height:1.5}
 .trust .ti{flex:none;font-size:17px}.trust b{color:var(--ok)}
 .covchip{display:inline-flex;align-items:center;gap:6px;font:700 12px var(--fb);padding:4px 11px;border-radius:9999px;white-space:nowrap}
 .covchip .ic{font-size:10px}
 .cov-ok{background:var(--ok-soft);color:var(--ok)}
 .cov-warn{background:var(--warn-soft);color:var(--warn)}
 .cov-none{background:var(--err-soft);color:var(--com-neg)}
 .covsub{display:block;font:600 10.5px var(--fb);color:var(--mut);margin-top:3px}
 .gaps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
 .gap{display:flex;gap:11px;align-items:flex-start;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:var(--paper);transition:.2s var(--ease)}
 .gap:hover{border-color:rgba(209,193,138,.6);background:#fff}
 .gap .gi{flex:none;width:28px;height:28px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;background:var(--warn-soft)}
 .gap.hi .gi{background:var(--err-soft)}
 .gap .gt{font-size:13px;color:var(--ink)}.gap .gt b{color:var(--navy)}
 .gap .gm{font-size:11.5px;color:var(--mut);margin-top:2px}
 .gap .gimp{margin-left:auto;flex:none;font:700 12px var(--fm);color:var(--com-neg);white-space:nowrap;padding-left:10px}
 .gap .gimp.w{color:var(--warn)}
 /* bandeau de confiance compact (accueil) */
 .trustbar{display:flex;align-items:center;gap:9px 12px;flex-wrap:wrap;padding:11px 16px;background:#fff;border:1px solid var(--line);border-radius:var(--r-medium);margin-bottom:18px}
 .trustbar .tb-ok{font:700 13px var(--fb);color:var(--ok)}
 .trustbar .tb-warn{font:700 13px var(--fb);color:var(--warn)}
 .trustbar .tb-mut{font:600 12px var(--fb);color:var(--mut)}
 .trustbar .tb-sep{width:1px;height:18px;background:var(--line)}
 .tb-chip{display:inline-flex;align-items:center;gap:7px;font:600 12px var(--fb);color:var(--navy);background:var(--cream);border:1px solid var(--line);border-radius:9999px;padding:5px 12px;transition:.2s var(--ease)}
 .tb-chip:hover{border-color:var(--gold);background:#fff;transform:translateY(-1px)}
 .tb-chip .d{flex:none;width:7px;height:7px;border-radius:50%;background:var(--warn)}
 .tb-chip.hi .d{background:var(--com-neg)}
 /* panneau fiabilité repliable (fiche compagnie) */
 details.fia{border:1px solid var(--line);border-radius:var(--r-standard);background:#fff;margin-bottom:16px;box-shadow:0 18px 40px -36px rgba(17,42,74,.4);overflow:hidden}
 details.fia>summary{list-style:none;cursor:pointer;padding:16px 20px;display:flex;align-items:center;gap:10px;font-family:var(--fd);font-weight:800;color:var(--navy);font-size:16px}
 details.fia>summary::-webkit-details-marker{display:none}
 details.fia>summary .sct{font:600 12px var(--fb);color:var(--mut)}
 details.fia>summary .chev{margin-left:auto;color:var(--mut);transition:transform .2s var(--ease);font-size:12px}
 details.fia[open]>summary .chev{transform:rotate(180deg)}
 details.fia>summary .sbadge{font:700 11px var(--fb);padding:3px 9px;border-radius:9999px;background:var(--ok-soft);color:var(--ok)}
 details.fia>summary .sbadge.w{background:var(--warn-soft);color:var(--warn)}
 .fia-body{padding:2px 20px 18px}
 .covmini{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:6px 0 16px}
 .covmini .cm{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:11px 13px}
 .covmini .cm .cl{font:800 10px var(--fb);text-transform:uppercase;letter-spacing:.07em;color:var(--mut);margin-bottom:7px}
 /* Tri des colonnes */
 th.so{cursor:pointer;user-select:none}th.so:hover{color:var(--navy)}
 th .ar{color:var(--gold-deep);font-size:9px}
 /* Tables */
 .tablewrap{background:#fff;border:1px solid var(--line);border-radius:var(--r-standard);overflow:auto;box-shadow:0 18px 40px -36px rgba(17,42,74,.4)}
 table{width:100%;border-collapse:collapse;font-size:13.5px}
 th{font:800 10.5px var(--fb);text-transform:uppercase;letter-spacing:.08em;color:var(--mut);text-align:left;padding:12px 15px;border-bottom:1px solid rgba(22,32,46,.08);background:var(--cream);position:sticky;top:0;white-space:nowrap}
 td{padding:11px 15px;border-bottom:1px solid var(--line);vertical-align:middle}
 tr:last-child td{border-bottom:none}
 tbody tr.lk{cursor:pointer;transition:.15s}tbody tr.lk:hover{background:#FAF6EB;box-shadow:inset 3px 0 0 var(--gold)}
 td.num,th.num{text-align:right;font-family:var(--fm);font-size:12.5px;white-space:nowrap;font-variant-numeric:tabular-nums}
 tfoot td{border-top:2px solid rgba(22,32,46,.12);border-bottom:none;font-weight:700;background:var(--paper)}
 a.ent{color:var(--navy);font-weight:700;border-bottom:1px dotted rgba(17,42,74,.35)}
 a.ent:hover{border-bottom-style:solid;color:var(--gold-deep)}
 a.splink{display:inline-flex;align-items:center;gap:3px;font:700 12px var(--fb);color:var(--navy);white-space:nowrap;border-bottom:1px dotted rgba(17,42,74,.35)}
 a.splink:hover{color:var(--gold-deep);border-bottom-style:solid}
 .neg{color:var(--err)}.pos{color:var(--com-pos)}.muted{color:var(--mut);font-size:12.5px}
 /* Explorateur de contrats : cellules premium sur deux lignes (info regroupée) */
 .cxtbl td{padding:12px 16px}
 .cxtbl .cx-co{display:inline-flex;align-items:center;gap:9px;color:var(--navy);font-weight:700;font-size:13px;max-width:172px;border:none}
 .cxtbl .cx-co>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .cx-main{min-width:0;max-width:330px}
 .cx-cli{font:800 14px var(--fd);color:var(--navy);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .cx-cli:hover{color:var(--gold-deep)}
 .cx-sub{font-size:12px;color:var(--mut);margin-top:3px;display:flex;align-items:center;gap:7px;overflow:hidden;white-space:nowrap}
 .cx-sub .ref{font-family:var(--fm);font-size:11.5px;color:var(--navy);border-bottom:1px dotted rgba(17,42,74,.35);flex:none}
 .cx-sub .ref:hover{color:var(--gold-deep);border-bottom-style:solid}
 .cx-sub .prod{overflow:hidden;text-overflow:ellipsis;min-width:0}
 .cx-fam{display:inline-flex;align-items:center;color:var(--navy);font-size:13px;font-weight:600;white-space:nowrap}
 .cx-st{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}
 .cx-amt{display:inline-flex;flex-direction:column;align-items:flex-end;line-height:1.25}
 .cx-amt b{font-family:var(--fm);font-weight:700;color:var(--navy);font-size:13.5px;font-variant-numeric:tabular-nums}
 .cx-amt i{font-style:normal;font-size:11px;color:var(--mut);font-variant-numeric:tabular-nums;white-space:nowrap}
 @media(max-width:900px){.cx-main,.cxtbl .cx-co{max-width:none}}
 /* Encaissements : détail mensuel dépliable par compagnie */
 .encdet{display:flex;flex-direction:column;gap:12px}
 details.encco{border:1px solid var(--line);border-radius:var(--r-standard);background:#fff;overflow:hidden;box-shadow:0 18px 40px -36px rgba(17,42,74,.4)}
 details.encco>summary{list-style:none;cursor:pointer;padding:14px 18px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
 details.encco>summary::-webkit-details-marker{display:none}
 details.encco>summary .ecn{display:flex;align-items:center;gap:10px;font-family:var(--fd);font-weight:800;color:var(--navy);font-size:15px}
 details.encco>summary .muted{margin-left:auto}
 details.encco[open]{box-shadow:0 22px 50px -34px rgba(17,42,74,.5)}
 details.encco[open]>summary{border-bottom:1px solid var(--line)}
 .encbody{padding:8px 18px 18px}
 /* résumé chiffré de l'accordéon Encaissements : indicateurs lisibles + pastille d'écart */
 /* résumé chiffré de l'accordéon Encaissements : colonnes alignées (grille fixe) + pictos */
 .encsum{display:grid;grid-template-columns:108px 108px 76px 142px;gap:26px;align-items:center;margin-left:auto}
 @media(max-width:760px){.encsum{grid-template-columns:1fr 1fr;gap:12px 22px}}
 .es{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2}
 .es b{font:700 14px var(--fm);color:var(--navy);font-variant-numeric:tabular-nums}
 .es.es-com b{color:var(--c-com)} .es.es-bank b{color:var(--c-bank)}
 .es i{display:inline-flex;align-items:center;gap:4px;font:700 9.5px var(--fb);font-style:normal;text-transform:uppercase;letter-spacing:.06em;color:var(--mut)}
 .es i svg{width:11px;height:11px;opacity:.6;flex:none}
 .es-ec{display:inline-flex;align-items:center;justify-content:center;gap:6px;justify-self:end;font:800 12.5px var(--fb);padding:7px 13px;border-radius:9999px;white-space:nowrap}
 .es-ec.ok{background:var(--ok-soft);color:var(--ok)}
 .es-ec.gap{background:var(--warn-soft);color:var(--warn)}
 .es-ec .ed{font:700 9.5px var(--fb);text-transform:uppercase;letter-spacing:.06em;opacity:.75}
 .encddas{font-size:12.5px;color:var(--mut);margin:2px 0 10px}.encddas b{color:var(--navy);font-family:var(--fm)}
 /* relevés bancaires : crédits par banque → mois */
 details.encco>summary .ecn svg{width:20px;height:20px;color:var(--navy)}
 .encsum2{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;line-height:1.2}
 .encsum2 b{font:700 15px var(--fm);color:var(--c-bank);font-variant-numeric:tabular-nums}
 .encsum2 i{font:700 9.5px var(--fb);font-style:normal;text-transform:uppercase;letter-spacing:.06em;color:var(--mut)}
 .relm{margin-bottom:12px}
 .relmh{display:flex;justify-content:space-between;align-items:center;padding:6px 4px;border-bottom:1px solid var(--line);font:800 10.5px var(--fb);text-transform:uppercase;letter-spacing:.05em;color:var(--gold-deep);margin-bottom:2px}
 .relmh b{font-family:var(--fm);color:var(--navy);font-size:12.5px}
 .relrow{display:grid;grid-template-columns:10px 82px 134px 1fr 110px;gap:11px;align-items:center;padding:7px 4px;font-size:13px;border-bottom:1px solid var(--line)}
 .relrow:last-child{border-bottom:none}
 .relrow .reldot{width:9px;height:9px;border-radius:3px;flex:none}
 .relrow .reld{font-family:var(--fm);font-size:12px;color:var(--mut)}
 .relrow .relco{font-weight:700;color:var(--navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .relrow .rellab{color:var(--mut);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .relrow .relamt{text-align:right;font-family:var(--fm);font-weight:700;color:var(--c-bank);font-variant-numeric:tabular-nums}
 @media(max-width:760px){.relrow{grid-template-columns:10px 1fr 92px;gap:8px}.relrow .reld,.relrow .rellab{display:none}}
 .bkrow{display:grid;grid-template-columns:88px 1fr 110px;gap:11px;align-items:center;padding:7px 4px;font-size:13px;border-bottom:1px solid var(--line)}
 .bkrow:last-child{border-bottom:none}
 .bkrow .d{font-family:var(--fm);font-size:12px;color:var(--mut)}
 .bkrow .l{color:var(--navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .bkrow .a{text-align:right;font-family:var(--fm);font-weight:700;color:var(--c-bank);font-variant-numeric:tabular-nums}
 @media(max-width:760px){.bkrow{grid-template-columns:1fr 92px}.bkrow .d{display:none}}
 /* Encaissé par payeur (panorama plateforme + hors plateforme) */
 .paykpis{display:flex;gap:9px;flex-wrap:wrap;margin:2px 0 14px}
 .payk{flex:1 1 150px;border:1px solid var(--line);border-radius:12px;padding:11px 14px;background:#fff;box-shadow:0 12px 28px -28px rgba(17,42,74,.4)}
 .payk .l{font:800 9.5px var(--fb);text-transform:uppercase;letter-spacing:.06em;color:var(--mut);display:flex;align-items:center;gap:6px}
 .payk .v{font:700 18px var(--fm);color:var(--navy);font-variant-numeric:tabular-nums;margin-top:3px}
 .payk .s{font:600 11px var(--fb);color:var(--mut);margin-top:1px}
 .payk.out{border-color:#dbe3ec}.payk.out .v{color:#41546b}
 .payk.id{border-color:var(--warn-soft)}.payk.id .v{color:var(--warn)}
 .paylist{display:flex;flex-direction:column}
 .payrow{display:grid;grid-template-columns:36px minmax(150px,1.25fr) 1fr 64px 126px;gap:16px;align-items:center;padding:9px 6px;border-bottom:1px solid var(--line)}
 .payrow:last-child{border-bottom:none}
 .payrow.qid{background:linear-gradient(90deg,var(--warn-soft),transparent 60%);border-radius:10px}
 .payav{display:inline-flex;align-items:center;justify-content:center;flex:none;width:36px;height:30px;border-radius:8px;background:#fff;padding:3px 5px;overflow:hidden;border:1px solid var(--line);box-shadow:0 4px 10px -7px rgba(17,42,74,.45)}
 .payav img{height:20px;width:auto;max-width:100%;object-fit:contain;display:block}
 .payav.fb{background:var(--cream);color:var(--gold);font:800 10px var(--fd);padding:0;border:none}
 .payav.nb{background:#f1f4f8;color:#5b6b80;font:800 10px var(--fb);border:none}
 .payav.qa{background:var(--warn-soft);color:var(--warn);border:none;font:800 11px var(--fb)}
 .payn{display:flex;align-items:center;gap:9px;min-width:0}
 .payn .nm{font-weight:700;color:var(--navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .paytag{font:800 8.5px var(--fb);text-transform:uppercase;letter-spacing:.05em;padding:3px 8px;border-radius:9999px;white-space:nowrap;flex:none}
 .paytag.in{background:var(--ok-soft);color:var(--ok)}
 .paytag.out{background:#eef2f7;color:#5b6b80}
 .paytag.id{background:var(--warn-soft);color:var(--warn)}
 .paybar{height:8px;border-radius:9999px;background:#eef2f7;overflow:hidden}
 .paybar i{display:block;height:100%;border-radius:9999px;width:0;transition:width .7s cubic-bezier(.22,1,.36,1);background:linear-gradient(90deg,var(--navy),#3563a6)}
 .paybar.out i{background:linear-gradient(90deg,#8595a8,#aab6c6)}
 .paybar.id i{background:linear-gradient(90deg,var(--warn),#e0a93a)}
 .paynv{text-align:right;font-family:var(--fm);color:var(--mut);font-size:12.5px;font-variant-numeric:tabular-nums}
 .payamt{text-align:right;font-family:var(--fm);font-weight:700;color:var(--navy);font-size:13.5px;font-variant-numeric:tabular-nums}
 @media(max-width:760px){.payrow{grid-template-columns:36px 1fr 110px;gap:10px}.payrow .paybar,.payrow .paynv{display:none}}
 .slogo{display:inline-flex;align-items:center;justify-content:center;flex:none;width:52px;height:40px;border-radius:10px;background:#fff;padding:4px 7px;overflow:hidden;border:1px solid var(--line);box-shadow:0 4px 10px -6px rgba(17,42,74,.45)}
 .slogo img{height:26px;width:auto;max-width:100%;object-fit:contain;display:block}
 .slogo.fb{background:var(--cream);color:var(--gold);font:800 14px var(--fd);padding:0;border:none}
 /* logo compact pour les cellules de tableau (listings compagnies) */
 .tlogo{display:inline-flex;align-items:center;justify-content:center;flex:none;width:52px;height:28px;border-radius:7px;background:#fff;padding:2px 5px;overflow:hidden;border:1px solid var(--line)}
 .tlogo img{height:19px;width:auto;max-width:100%;object-fit:contain;display:block}
 .tlogo.fb{background:var(--cream);color:var(--gold);font:800 10px var(--fd);padding:0;border:none}
 .cocell{display:flex;align-items:center;gap:9px}.cocell b{color:var(--navy)}
 /* Relecture : groupes de documents par type */
 .docgrp{margin-top:18px}
 .docgrp:first-of-type{margin-top:6px}
 .dgh{display:flex;align-items:center;gap:9px;padding:6px 2px 9px;border-bottom:1px solid var(--line);margin-bottom:8px;font-family:var(--fd);font-weight:800;color:var(--navy);font-size:14.5px}
 .dgi{font-size:15px}
 .dgc{font:700 11px var(--fb);background:var(--cream);color:var(--mut);padding:2px 8px;border-radius:9999px}
 .dgr{margin-left:auto}
 .dgok{font:700 11px var(--fb);color:var(--ok)}
 /* Relecture humaine : bandeau de progression + lot + navigation focus */
 .revbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:2px 0 4px}
 .revbar .rbg{flex:1;min-width:180px}
 .revbar .rbl{display:flex;justify-content:space-between;font:700 12px var(--fb);color:var(--navy);margin-bottom:5px}
 .revbar .rbl i{font-style:normal;color:var(--mut);font-weight:600}
 .rbk{height:9px;background:var(--cream);border-radius:9999px;overflow:hidden}
 .rbk i{display:block;height:100%;border-radius:9999px;background:linear-gradient(90deg,var(--gold6),var(--gold));transition:width .6s var(--ease)}
 .dgbatch{font:700 11px var(--fb);color:var(--navy);background:var(--gold-soft);border:1px solid var(--gold5,rgba(184,148,47,.35));padding:3px 11px;border-radius:9999px;cursor:pointer;margin-left:8px}
 .dgbatch:hover{background:var(--gold);color:#fff}
 .dgbatch[disabled]{opacity:.4;cursor:not-allowed}
 .dgbatch.warn{background:var(--err-soft);color:var(--com-neg);border-color:rgba(192,57,43,.35)}
 tr.lk.cur td{background:var(--gold-soft)}
 tr.lk.done td:first-child{color:var(--mut)}
 tr.agg td{color:var(--mut);background:var(--paper)}
 .revnav{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
 .revnav .pos{font:700 12px var(--fb);color:var(--mut)}
 .revnav .spacer{flex:1}
 .kbd{display:inline-block;min-width:16px;text-align:center;padding:1px 6px;border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;font:700 10.5px var(--fb);color:var(--navy);background:var(--cream);margin:0 1px}
 .revhint{font-size:11.5px;color:var(--mut);margin-top:10px}
 .revdone{text-align:center;border:1px solid var(--gold5,rgba(184,148,47,.35));background:linear-gradient(180deg,var(--gold-soft),var(--paper))}
 .revdone .rd-ic{font-size:38px;line-height:1;margin:6px 0 4px}
 .revdone h2{justify-content:center}
 .revdone p{max-width:560px;margin:6px auto 0}
 .rd-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:16px}
 .fluxbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:12.5px;color:var(--navy);background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:7px 11px;margin:0 0 8px}
 .fluxbar.cert{background:rgba(46,139,130,.08);border-color:rgba(46,139,130,.3)}
 .fluxbar .muted{font-size:11.5px}
 .fluxpk{font:700 10.5px var(--fb);color:var(--mut);background:var(--cream);padding:2px 7px;border-radius:6px}
 .fxbtn{font:700 11.5px var(--fb);border-radius:8px;padding:4px 11px;cursor:pointer;border:1px solid transparent}
 .fxbtn.cer{background:var(--gold);color:#fff}.fxbtn.cer:hover{filter:brightness(1.05)}
 .fxbtn.rev{background:transparent;color:var(--mut);border-color:var(--line);margin-left:auto}.fxbtn.rev:hover{color:var(--com-neg);border-color:var(--com-neg)}
 /* Pointage documentaire : matrice compagnies × types + pastilles */
 .pt-tbl td{vertical-align:middle}
 .pt-co{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--navy)}
 .ptcell{text-align:center}
 .pt{display:inline-flex;align-items:center;gap:6px;font:700 11.5px var(--fb);padding:5px 11px;border-radius:9999px;white-space:nowrap}
 .pt .pd{width:8px;height:8px;border-radius:50%;flex:none}
 .pt-recu{background:var(--ok-soft);color:var(--ok)}.pt-recu .pd{background:var(--ok)}
 .pt-attente{background:var(--warn-soft);color:var(--warn)}.pt-attente .pd{background:var(--warn)}
 .pt-partiel{background:#FFF3E2;color:#B45309}.pt-partiel .pd{background:#EA8C00}
 .pt-sansobjet{background:var(--cream);color:var(--mut)}.pt-sansobjet .pd{background:var(--mut)}
 .pt-manquant{background:transparent;color:var(--mut);opacity:.55}.pt-manquant .pd{background:var(--line)}
 .ptsub{display:block;font:600 10px var(--fm);color:var(--mut);margin-top:3px;font-variant-numeric:tabular-nums}
 .pt-leg{display:flex;gap:14px;flex-wrap:wrap;font-size:11.5px;font-weight:600;color:var(--mut);margin-top:12px}
 .pt-leg span .pd{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:middle}
 /* Pointage : cartes des demandes en attente */
 .dem{display:flex;gap:12px;align-items:flex-start;padding:13px 15px;border:1px solid var(--line);border-radius:14px;background:var(--paper);margin-bottom:10px;transition:.2s var(--ease)}
 .dem:hover{border-color:rgba(209,193,138,.6);background:#fff}
 .dem .demmain{flex:1;min-width:0}
 .dem .demlib{font-weight:700;color:var(--navy);font-size:13.5px}
 .dem .demmeta{font-size:11.5px;color:var(--mut);margin-top:3px}
 .dem .demnote{font-size:12px;color:var(--ink);margin-top:5px;font-style:italic}
 .dem .demact{flex:none;align-self:center}
 .dem .demact{display:flex;flex-direction:column;gap:6px}
 .demedit{border:1px solid var(--gold);border-radius:14px;background:var(--paper);padding:14px 16px;margin:-2px 0 12px}
 .demedit label{margin-top:10px}
 .demedit label:first-child{margin-top:0}
 .demedit select{font:inherit;padding:11px 13px;border:1px solid rgba(22,32,46,.15);border-radius:12px;width:100%;background:#fff;cursor:pointer}
 /* encart par compagnie (demandes en cours) : liseré + fond teinté stable */
 .demco{border:1px solid var(--line);border-left:4px solid var(--coac,var(--gold));border-radius:var(--r-medium);background:var(--cobg,#fff);padding:4px 14px 14px;margin-bottom:14px}
 .demco-h{display:flex;align-items:center;gap:9px;padding:11px 2px 10px;font-family:var(--fd);font-weight:800;color:var(--navy);font-size:14.5px}
 /* Actions à mener (to-do du pointage) */
 .todo{display:flex;flex-direction:column;gap:9px}
 .todoi{display:flex;align-items:center;gap:13px;padding:12px 15px;border:1px solid var(--line);border-left:4px solid var(--coac,var(--gold));border-radius:13px;background:var(--paper);transition:.2s var(--ease)}
 .todoi:hover{box-shadow:0 14px 32px -28px rgba(17,42,74,.5);transform:translateY(-1px)}
 .todoi.hi{background:linear-gradient(90deg,var(--warn-soft),transparent 55%)}
 .todico{flex:none}
 .todomain{flex:1;min-width:0}
 .todoco{font:800 11px var(--fb);text-transform:uppercase;letter-spacing:.05em;color:var(--mut);display:flex;align-items:center;gap:8px}
 .todotag{font:800 8.5px var(--fb);letter-spacing:.04em;padding:2px 7px;border-radius:9999px;background:var(--gold-soft);color:var(--gold-deep)}
 .todoact{font:800 14.5px var(--fd);color:var(--navy);margin-top:2px}
 .todowhy{font-size:12.5px;color:var(--mut);margin-top:2px}
 .todoimp{flex:none;font:700 13px var(--fm);color:var(--warn);white-space:nowrap;font-variant-numeric:tabular-nums}
 .todoimp.hi{color:var(--com-neg);font-size:14px}
 .todobtn{flex:none;display:flex;flex-direction:column;gap:6px;align-items:stretch}
 @media(max-width:760px){.todoi{flex-wrap:wrap}.todobtn{flex-direction:row;width:100%}}
 /* Actions à mener : regroupement par compagnie */
 .todogrp{margin-top:14px;padding:11px 13px 13px;border:1px solid var(--line);border-left:4px solid var(--coac,var(--gold));border-radius:14px;background:var(--cobg,var(--paper))}
 .todogrp:first-child{margin-top:0}
 .todogrp-h{display:flex;align-items:center;gap:9px;margin-bottom:10px;font:800 12.5px var(--fd);color:var(--navy)}
 .todogrp-h b{font-weight:800}
 .todogrp-dem{margin-left:auto;font:700 10.5px var(--fb);background:var(--warn-soft);color:var(--warn);padding:3px 10px;border-radius:9999px;white-space:nowrap}
 .todogrp .todo{gap:8px}
 .todogrp .todoi{background:var(--paper)}
 /* Pointage : ligne compagnie dépliable + grille mois × années */
 tr.ptrow{cursor:pointer}
 tr.ptrow>td{background:var(--cobg,#fff);transition:background .15s}
 tr.ptrow>td:first-child{box-shadow:inset 4px 0 0 var(--coac,transparent)}
 tr.ptrow:hover>td{background:#FAF6EB}
 tr.ptrow.open>td{background:var(--gold-soft)}
 .ptchev{display:inline-block;color:var(--coac,var(--mut));font-size:11px;margin-right:8px;transition:transform .2s var(--ease)}
 tr.ptrow.open .ptchev{transform:rotate(90deg);color:var(--gold-deep)}
 tr.ptdet>td{padding:0;background:var(--cobg,var(--paper))}
 .ptdet-in{padding:6px 18px 18px;box-shadow:inset 4px 0 0 var(--coac,transparent)}
 .ptsec{margin-top:14px}
 .ptsec:first-child{margin-top:6px}
 .ptsh{display:flex;align-items:center;gap:9px;padding:5px 0 8px;font-family:var(--fd);font-weight:800;color:var(--navy);font-size:13.5px}
 .ptsh .pti{font-size:14px}
 .ptsh .ptsd{font:600 11px var(--fb);color:var(--mut)}
 .ptsh .ptwarn{margin-left:auto;font:700 10.5px var(--fb);background:var(--warn-soft);color:var(--warn);padding:3px 9px;border-radius:9999px}
 .ptmx{display:flex;flex-direction:column;gap:4px;overflow-x:auto}
 .ptmx-row{display:grid;grid-template-columns:46px repeat(12,minmax(20px,1fr));gap:4px;align-items:center;min-width:520px}
 .ptmx-yr{font:700 12px var(--fm);color:var(--navy);text-align:right;padding-right:4px}
 .ptmx-cell{height:22px;border-radius:6px;display:flex;align-items:center;justify-content:center;font:700 10px var(--fb)}
 .ptmx-cell.head{height:auto;background:none;color:var(--mut);font:800 9px var(--fb);text-transform:uppercase;letter-spacing:.03em}
 .ptmx-cell.p{background:var(--ok-soft);color:var(--ok)}
 .ptmx-cell.m{background:var(--err-soft);color:var(--com-neg)}
 .ptmx-cell.n{background:var(--cream);color:transparent}
 .ptmx-cell.r{background:var(--gold-soft);color:var(--gold6)}
 .ptyrs{display:flex;gap:6px;flex-wrap:wrap}
 .ptyc{font:700 12px var(--fm);padding:5px 11px;border-radius:9px;font-variant-numeric:tabular-nums}
 .ptyc.p{background:var(--ok-soft);color:var(--ok)}
 .ptyc.m{background:var(--err-soft);color:var(--com-neg)}
 .ptyc.n{background:var(--cream);color:var(--mut)}
 .ptline{font-size:13px;color:var(--ink)}.ptline b{color:var(--navy)}
 .ptmx-leg{display:flex;gap:14px;flex-wrap:wrap;font-size:11px;font-weight:600;color:var(--mut);margin-top:8px}
 .ptmx-leg b{display:inline-block;width:12px;height:12px;border-radius:4px;margin-right:5px;vertical-align:middle}
 .ptmx-leg b.p{background:var(--ok-soft);border:1px solid var(--ok-line)}.ptmx-leg b.m{background:var(--err-soft);border:1px solid var(--err-line)}.ptmx-leg b.n{background:var(--cream)}.ptmx-leg b.r{background:var(--gold-soft);border:1px solid var(--gold5,rgba(184,148,47,.35))}
 /* Graphe vertical : commissions par mois */
 .vchart{display:flex;gap:10px;align-items:flex-end;padding:14px 4px 0}
 /* mois remplis = larges et mis en avant ; mois « à venir » = colonnes étroites/discrètes */
 .vcol{flex:1.6 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;cursor:default}
 .vcol[data-ym]{cursor:pointer}
 .vcol.soon{flex:.85 1 0;align-self:stretch;justify-content:flex-end;border-left:1px dashed var(--line);padding-left:8px;margin-left:4px}
 .vv{font:800 13.5px var(--fd);color:var(--navy);height:18px;line-height:18px;white-space:nowrap;margin-bottom:8px}
 .vbw{height:158px;width:100%;display:flex;align-items:flex-end;justify-content:center}
 .vbar{width:74%;max-width:62px;min-height:4px;border-radius:11px 11px 4px 4px;background:linear-gradient(180deg,#1b3a63 0%,#3a6aa3 100%);transition:height .85s cubic-bezier(.2,.7,.2,1)}
 /* identité 2 flux sur les graphiques mensuels : vert = commissions · bleu = banque */
 .vchart.com .vcol:not(.on):not(.empty) .vbar{background:linear-gradient(180deg,#23985e 0%,#14613b 100%)}
 .vchart.bank .vcol:not(.on):not(.empty) .vbar{background:linear-gradient(180deg,#2f86cc 0%,#155a93 100%)}
 .vchart.com .vv{color:var(--c-com)} .vchart.bank .vv{color:var(--c-bank)}
 .vcol.empty .vbar{background:var(--line)}
 .vcol.on .vbar{background:linear-gradient(180deg,var(--gold) 0%,#c69a3f 100%);box-shadow:0 10px 22px -8px rgba(201,161,74,.65)}
 .vcol:hover .vbar{filter:brightness(1.09)}
 .vsoonbox{width:70%;max-width:26px;height:34px;border:1.5px dashed var(--line);border-radius:8px 8px 3px 3px;opacity:.7}
 .vlab{font:700 10.5px var(--fb);letter-spacing:.04em;color:var(--mut);text-transform:uppercase;margin-top:10px}
 .vcol.soon .vlab{font-size:9.5px}
 .vcol.on .vlab{color:var(--navy)}
 .vsoon{font:600 9.5px var(--fb);color:var(--mut);opacity:.7;margin-top:2px}
 /* Chip de filtre d'anomalie (portefeuille) */
 .fchip{display:inline-flex;align-items:center;gap:8px;background:var(--err-soft);color:var(--com-neg);border:none;font:700 12px var(--fb);padding:8px 14px;border-radius:9999px;cursor:pointer}
 .fchip .x{opacity:.65;font-weight:800}
 .fchip:hover{filter:brightness(.97)}
 /* Pills / flags */
 .pill{display:inline-block;padding:3px 10px;border-radius:9999px;font:700 11px var(--fb)}
 .p-ok{background:var(--ok-soft);color:var(--ok)}.p-rj{background:var(--err-soft);color:var(--com-neg)}.p-av{background:var(--warn-soft);color:var(--warn)}.p-mut{background:var(--cream);color:var(--mut)}.p-auto{background:var(--navy-soft);color:var(--navy)}.p-cert{background:rgba(46,139,130,.14);color:#2E8B82}.p-ech{background:rgba(184,148,47,.16);color:var(--gold6)}
 .flag{display:inline-block;padding:2px 8px;border-radius:9999px;font:700 10px var(--fb);background:var(--err-soft);color:var(--com-neg);margin-left:6px}.flag.w{background:var(--warn-soft);color:var(--warn)}
 /* Portefeuille split bar */
 .pfleg{display:flex;gap:18px;font-size:12px;font-weight:600;color:var(--mut)}
 .pfleg .dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:middle}.pfleg .dot.res{background:var(--com-neg)}.pfleg .dot.nw{background:var(--com-pos)}
 .pm.co .pm-row{grid-template-columns:165px 1fr 70px;padding:5px 8px}
 .pm.co .pm-mo{display:flex;align-items:center;gap:8px;color:var(--navy);font-weight:700;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .pm.co .pm-mo .minilogo{flex:none;width:30px;height:18px;display:inline-flex;align-items:center;justify-content:center;overflow:hidden}.pm.co .pm-mo .minilogo img{max-height:16px;max-width:30px;object-fit:contain}.pm.co .pm-mo .minilogo.fb{font:800 9px var(--fd);color:var(--gold6)}
 .pm.co .pm-track{display:flex;height:23px;background:var(--cream)}.pm.co .pm-track i{height:100%;width:0;transition:width .9s var(--ease);display:flex;align-items:center;justify-content:center;color:#fff;font:800 12px var(--fb);overflow:hidden;white-space:nowrap;text-shadow:0 1px 1.5px rgba(0,0,0,.22)}.pm.co .pm-track i.nw{background:var(--com-pos)}.pm.co .pm-track i.res{background:var(--com-neg)}.pm.co .pm-track.stable{background:repeating-linear-gradient(45deg,var(--navy-soft),var(--navy-soft) 5px,#fff 5px,#fff 10px)}
 .pm.co .pm-amt{color:var(--navy);font:800 18px var(--fd);text-align:right;font-variant-numeric:tabular-nums}
 .balm{font-weight:800}.balm.pos{color:var(--com-pos)}.balm.neg{color:var(--com-neg)}
 /* Bars (perçu par mois) */
 .bars{display:flex;flex-direction:column;gap:9px}
 .bar-row{display:grid;grid-template-columns:64px 1fr 120px;gap:12px;align-items:center;font-size:13px}
 .bar-row .n{color:var(--mut);font-weight:600}
 .bar-track{background:var(--cream);border-radius:9999px;height:22px;position:relative;overflow:hidden}
 .bar-fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,var(--navy),#1D3D66);border-radius:9999px;min-width:3px;width:0;transition:width .9s var(--ease)}
 .bar-row .amt{text-align:right;font-family:var(--fm);font-size:12px;color:var(--mut)}
 /* Fields (relecture) */
 .field{border:1px solid var(--line);border-radius:14px;padding:13px;margin-bottom:11px}
 .field .k{font-family:var(--fd);font-weight:700;color:var(--navy)}
 .field .meta{font-size:11.5px;color:var(--mut);margin:3px 0 8px}.field .meta i{font-style:normal;color:var(--gold6);font-weight:700}
 .grid2{display:grid;grid-template-columns:1fr 1fr;gap:9px}
 .msg{padding:11px 14px;border-radius:12px;font-size:13px;margin:10px 0;border:1px solid transparent}
 .msg.e{background:var(--err-soft);color:var(--err);border-color:var(--err-line)}.msg.s{background:var(--ok-soft);color:var(--ok);border-color:var(--ok-line)}
 .center{max-width:420px;margin:9vh auto;padding:0 18px}
 label{display:block;font-size:12.5px;font-weight:600;margin:12px 0 5px;color:var(--navy)}
 .empty{padding:44px;text-align:center;color:var(--mut)}
 .empty-ic{font-size:30px;color:var(--gold6);margin-bottom:8px}
 /* sous-bascule (Portefeuille : Contrats/Clients) */
 .subseg{display:inline-flex;gap:4px;background:var(--cream);border:1px solid var(--line);border-radius:9999px;padding:4px;margin-bottom:16px}
 .subseg button{font:700 13px var(--fb);color:var(--navy);padding:8px 18px;border-radius:9999px;transition:.2s var(--ease)}
 .subseg button.on{background:var(--navy);color:#fff;box-shadow:var(--sh-cta)}
 /* surlignage période dans le rapprochement */
 tr.onrow td{background:var(--gold-soft)}
 /* bouton recherche topbar */
 .searchbtn{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:9999px;padding:7px 13px;font:600 12.5px var(--fb);color:var(--mut);transition:.2s var(--ease)}
 .searchbtn:hover{border-color:var(--gold);color:var(--navy)}
 .searchbtn kbd{font:700 10.5px var(--fm);background:var(--cream);border:1px solid var(--line);border-radius:5px;padding:1px 5px;color:var(--navy)}
 @media(max-width:680px){.searchbtn{display:none}}
 /* squelettes de chargement */
 .sk-l,.sk-row{background:linear-gradient(90deg,var(--cream),#fff,var(--cream));background-size:200% 100%;animation:sh 1.3s infinite;border-radius:8px}
 @keyframes sh{from{background-position:200% 0}to{background-position:-200% 0}}
 .kpi.sk{pointer-events:none} .sk-b{height:12px;width:42%;margin-bottom:12px} .sk-v{height:24px;width:72%}
 .sk-row{height:16px;margin:11px 0}
 /* palette ⌘K */
 .pal{position:fixed;inset:0;z-index:100;background:rgba(13,33,57,.45);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding-top:12vh}
 .pal-box{width:min(620px,92vw);background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 44px 90px -30px rgba(0,0,0,.55);overflow:hidden}
 .pal-box input{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:16px 18px;font-size:15px}
 .pal-box input:focus{box-shadow:none;outline:none}
 .pal-res{max-height:52vh;overflow:auto}
 .pal-it{display:flex;align-items:center;gap:12px;padding:11px 16px;border-bottom:1px solid var(--line)}
 .pal-it:hover,.pal-it.on{background:var(--cream)}
 .pal-ty{font:700 10px var(--fb);text-transform:uppercase;letter-spacing:.05em;padding:3px 8px;border-radius:9999px;flex:none;min-width:78px;text-align:center}
 .pal-ty svg{width:11px;height:11px;vertical-align:middle;margin-right:4px;margin-top:-1px}
 .ty-co{background:var(--gold-soft);color:var(--gold-deep)} .ty-cl{background:var(--navy-soft);color:var(--navy)} .ty-ct{background:var(--cream);color:var(--mut)}
 .pal-n{color:var(--ink);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .pal-hint{padding:20px;color:var(--mut);font-size:13px;text-align:center}
 .pal-foot{padding:9px 16px;border-top:1px solid var(--line);font:600 11px var(--fb);color:var(--mut)}

/* ───── Écran de connexion premium (inspiré du déverrouillage cockpit) ───── */
.login-screen{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:22px;overflow:hidden;background:radial-gradient(1100px 620px at 50% -8%,#173b66 0%,var(--navy) 46%,var(--navy7) 100%)}
.login-screen .lblob{position:absolute;width:520px;height:520px;border-radius:50%;background:var(--gold);filter:blur(105px);opacity:.20;right:-170px;top:-210px;pointer-events:none;animation:breathe 9s ease-in-out infinite alternate}
.login-screen .lblob.b2{left:-200px;bottom:-270px;right:auto;top:auto;width:560px;height:560px;background:#2f5fa0;opacity:.16;animation-delay:-4.5s}
.login-card{position:relative;width:100%;max-width:432px;text-align:center;padding:46px 38px;border-radius:26px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.13);backdrop-filter:blur(11px);-webkit-backdrop-filter:blur(11px);box-shadow:0 44px 100px -42px rgba(0,0,0,.72);animation:loginFade .65s cubic-bezier(.22,1,.36,1) both}
.login-card>*{animation:loginUp .7s cubic-bezier(.22,1,.36,1) both}
.login-card .lmark{width:74px;height:74px;border-radius:21px;display:block;margin:0 auto 16px;box-shadow:0 18px 36px -14px rgba(0,0,0,.6);animation-delay:.06s}
.login-card .lwm{font-family:'Ailerons',var(--fd);font-weight:400;font-size:31px;letter-spacing:.15em;text-indent:.15em;color:#fff;text-transform:uppercase;line-height:1;animation-delay:.13s}
.login-card .lwm .dire{color:var(--gold)}
.login-card .leyebrow{margin-top:17px;font-weight:800;font-size:11px;letter-spacing:.2em;text-indent:.2em;text-transform:uppercase;color:var(--gold);animation-delay:.2s}
.login-card .ltitle{font-family:var(--fd);font-weight:800;font-size:24px;color:#fff;margin:9px 0 0;letter-spacing:-.01em;animation-delay:.27s}
.login-card .lsub{color:rgba(255,255,255,.62);font-size:13.5px;line-height:1.6;margin:12px auto 0;max-width:340px;animation-delay:.34s}
.login-card .lform{margin-top:26px;display:flex;flex-direction:column;gap:12px;animation-delay:.41s}
.login-card #email{width:100%;padding:15px 22px;border-radius:9999px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.07);color:#fff;font:600 15px var(--fb);text-align:center;transition:.2s}
.login-card #email::placeholder{color:rgba(255,255,255,.4);font-weight:500}
.login-card #email:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 2px rgba(209,193,138,.45);background:rgba(255,255,255,.1)}
.login-card .lbtn{border-radius:9999px;padding:15px 28px;background:var(--gold);color:var(--navy);font:800 15px var(--fb);cursor:pointer;transition:background .2s,transform .15s,box-shadow .25s;box-shadow:0 16px 34px -14px rgba(209,193,138,.65)}
.login-card .lbtn:hover{background:var(--gold6);transform:translateY(-1px);box-shadow:0 22px 44px -14px rgba(209,193,138,.85)}
.login-card .lbtn:active{transform:translateY(1px) scale(.99)}
.login-card .lbtn:disabled{opacity:.6;cursor:wait;transform:none}
.login-card .lfoot{margin-top:22px;font-size:10.5px;letter-spacing:.03em;text-indent:.03em;color:rgba(255,255,255,.42);animation-delay:.48s}
.login-card #login-msg .msg{margin-top:15px;border-radius:14px;padding:11px 15px;font-size:13px;font-weight:600;text-align:left;line-height:1.45}
.login-card #login-msg .msg.s{background:rgba(209,193,138,.14);border:1px solid rgba(209,193,138,.4);color:#ECE0B7}
.login-card #login-msg .msg.e{background:rgba(224,93,93,.15);border:1px solid rgba(224,93,93,.4);color:#F3BCBC}
@keyframes loginFade{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
@keyframes loginUp{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.login-card,.login-card>*,.login-screen .lblob{animation:none!important}}

/* ═══════════ Refonte UX 02/07/2026 — navigation par pôles, « À traiter », période collante ═══ */
/* pôles de navigation (Portefeuille · Argent · Suivi) */
.nsep{width:1px;height:20px;background:var(--line);margin:0 4px;flex:none}
.nlab{font:800 9.5px var(--fb);letter-spacing:.13em;text-transform:uppercase;color:#A7AFBC;margin:0 2px 0 4px;user-select:none;flex:none}
@media (max-width:1280px){ .nlab{display:none} .nsep{margin:0 2px} }
@media (max-width:1080px){ .nsep{display:none} }

/* bloc « À traiter » — hub de décision en tête d'accueil (classes .axn, distinctes des
   listes d'actions de la page Pointage qui utilisent déjà .todo) */
.axns{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:11px;margin:2px 0 20px}
.axn{display:flex;flex-direction:row;align-items:center;gap:13px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--navy);border-radius:15px;padding:14px 17px;text-decoration:none;color:var(--ink);transition:transform .18s var(--ease),box-shadow .22s var(--ease)}
a.axn:hover{transform:translateY(-2px);box-shadow:0 14px 30px -18px rgba(14,42,74,.35)}
.axn .ti{flex:none;display:flex;color:var(--gold-deep)}
.axn .ti svg{width:22px;height:22px}
.axn .tx{display:flex;flex-direction:column;gap:3px;min-width:0}
.axn .tx b{font:800 14.5px var(--fb);color:var(--navy);letter-spacing:-.01em}
.axn .tx i{font:500 12px var(--fb);font-style:normal;color:var(--mut);line-height:1.45}
.axn .ta{margin-left:auto;font-weight:800;color:var(--gold-deep);flex:none}
.axn.hot{border-left-color:var(--gold);background:linear-gradient(120deg,#FFFDF4,#fff 65%)}
.axn.ok{border-left-color:#2E7D5B;background:linear-gradient(120deg,#F4FBF7,#fff 65%)}
.axn.ok .ti{font-size:19px;color:#2E7D5B}

/* barre de période collante : le contexte temporel reste visible pendant le scroll */
#pbar{position:sticky;top:0;z-index:35;background:rgba(252,251,248,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);margin:0 -10px;padding:4px 10px 8px;border-bottom:1px solid rgba(20,45,80,.06)}

/* chips de tri (annuaire compagnies) */
.chips{display:inline-flex;gap:4px;background:var(--cream);border:1px solid var(--line);border-radius:9999px;padding:3px}
.chip{border:0;background:transparent;border-radius:9999px;padding:6px 13px;font:700 12px var(--fb);color:var(--navy);cursor:pointer;transition:.18s}
.chip:hover{background:#fff}
.chip.on{background:var(--navy);color:#fff;box-shadow:var(--sh-cta)}

/* longue traîne repliable (classements) */
details.more{margin-top:6px}
details.more summary{cursor:pointer;list-style:none;font:700 12.5px var(--fb);color:var(--gold-deep);padding:9px 2px;border-top:1px dashed var(--line);user-select:none}
details.more summary::-webkit-details-marker{display:none}
details.more summary::before{content:'▸ ';transition:.15s}
details.more[open] summary::before{content:'▾ '}
details.more summary:hover{color:var(--navy)}

/* accessibilité : focus clavier visible partout */
a:focus-visible,button:focus-visible,.chip:focus-visible{outline:2px solid var(--gold-deep);outline-offset:2px;border-radius:8px}

/* compression topbar : la nav à pôles tient à 1440 sans couper la recherche */
.tabs{gap:3px;align-items:center;margin-left:8px}
.tabs a{padding:8px 11px;font-size:12.5px}
.topbar-in{gap:9px}
@media (max-width:1560px){ .who{display:none} }
@media (max-width:1360px){ .searchbtn kbd{display:none} }


/* ═══════════ Barre LATÉRALE (02/07/2026) — remplace la topbar saturée ═══════════ */
.side{position:fixed;left:0;top:0;bottom:0;width:234px;z-index:60;display:flex;flex-direction:column;
  padding:20px 14px 16px;background:radial-gradient(500px 300px at 20% -6%,#1B4470 0%,var(--navy) 52%,var(--navy7) 100%);
  border-right:1px solid rgba(255,255,255,.06)}
.main{margin-left:234px;min-height:100vh}
.sbrand{display:flex;align-items:center;gap:10px;padding:2px 8px 18px;text-decoration:none}
.sbrand .wordmark{color:#fff;font-size:17px}
.ssearch{display:flex;align-items:center;gap:9px;width:100%;padding:10px 13px;border-radius:11px;cursor:pointer;
  border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);color:rgba(255,255,255,.75);
  font:600 12.5px var(--fb);transition:.18s}
.ssearch:hover{background:rgba(255,255,255,.12);color:#fff}
.ssearch kbd{margin-left:auto;font:600 10.5px var(--fm,monospace);color:rgba(255,255,255,.5);
  border:1px solid rgba(255,255,255,.2);border-radius:5px;padding:1px 5px}
.snav{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:2px;margin-top:10px;scrollbar-width:none}
.snav::-webkit-scrollbar{display:none}
.sgrp{font:800 9.5px var(--fb);letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.36);
  margin:15px 10px 5px;user-select:none}
.sit{display:flex;align-items:center;gap:11px;padding:9.5px 11px;border-radius:11px;position:relative;
  color:rgba(255,255,255,.76);font:600 13.5px var(--fb);text-decoration:none;transition:background .15s,color .15s}
.sit:hover{background:rgba(255,255,255,.07);color:#fff}
.sit.on{background:rgba(209,193,138,.15);color:#fff;font-weight:800}
.sit.on::before{content:'';position:absolute;left:-14px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--gold)}
.sic{display:flex;flex:none;opacity:.85}
.sit.on .sic{opacity:1;color:var(--gold)}
.sic svg{width:16.5px;height:16.5px}
.sit .navb{margin-left:auto}
.suser{border-top:1px solid rgba(255,255,255,.12);padding-top:13px;margin-top:10px;display:flex;align-items:center;gap:9px}
.suser .who{color:rgba(255,255,255,.55);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;display:block}
.suser .btn{border-color:rgba(255,255,255,.25);color:#fff;background:transparent}
.suser .btn:hover{background:rgba(255,255,255,.1)}
/* écran étroit : rail d'icônes (labels en tooltip via title) */
@media (max-width:1150px){
  .side{width:66px;padding:16px 9px 12px}
  .main{margin-left:66px}
  .sbrand{justify-content:center;padding:0 0 14px}
  .sbrand .wordmark,.slb,.sgrp,.ssearch span,.ssearch kbd,.suser .who{display:none}
  .ssearch,.suser{justify-content:center}
  .sit{justify-content:center;padding:11px 0}
  .sit .navb{position:absolute;top:2px;right:4px;min-width:15px;height:15px;font-size:9px;padding:0 3px}
  .sit.on::before{left:-9px}
}

/* sommaire d'ancres (pages longues : Pointage) */
.anchors{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 14px}
.anchors .anc{font:700 12px var(--fb);color:var(--navy);background:#fff;border:1px solid var(--line);border-radius:9999px;padding:7px 14px;cursor:pointer;transition:.15s}
.anchors .anc:hover{border-color:var(--gold);background:var(--gold-soft)}
html{scroll-behavior:smooth}

/* allègement 02/07 : panneau Mouvements plus compact (mêmes chiffres, moitié de la hauteur) */
.mvtcol{padding:11px 13px;gap:7px}
.mvtcol .pnet{margin-top:2px;padding-top:9px}
.mvt .kpi,.mvtcol .cell{padding:10px 12px}
.morebar{display:flex;align-items:center;gap:12px;margin-top:10px}
.morebar .muted{font-size:12px}

/* allègement 02/07 : groupes « Demandes envoyées » repliés (details/summary) */
details.demco>summary{cursor:pointer;list-style:none;user-select:none}
details.demco>summary::-webkit-details-marker{display:none}
.demchev{margin-left:auto;color:var(--mut);font-size:12px;transition:transform .15s}
details.demco[open] .demchev{transform:rotate(180deg)}
/* bloc « Mouvements & répartitions » replié en tête de la page Contrats */
details.pfx{background:#fff;border:1px solid var(--line);border-radius:14px;padding:2px 16px;margin-bottom:14px}
details.pfx>summary{cursor:pointer;list-style:none;font:700 13.5px var(--fb);color:var(--navy);padding:12px 0;user-select:none}
details.pfx>summary::-webkit-details-marker{display:none}
details.pfx>summary::before{content:'▸ ';color:var(--gold-deep)}
details.pfx[open]>summary::before{content:'▾ '}
details.pfx[open]{padding-bottom:14px}
/* pastilles d'état des cartes compagnie compactées */
.cochips{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px}
.pill.p-ok{background:var(--ok-soft,#EAF6EF);color:#2E7D5B;border:1px solid rgba(46,125,91,.25)}
details.demco:not([open]){padding-bottom:4px}

/* cartes compagnie v3 : mini-tuiles chiffre/libellé (hauteur constante, zéro retour à la ligne) */
.costats{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:11px 0 3px}
.costats>div{background:var(--cream);border-radius:11px;padding:9px 12px 8px;display:flex;flex-direction:column;gap:1px;min-width:0}
.costats b{font:800 17px var(--fd);color:var(--navy);letter-spacing:-.01em;white-space:nowrap}
.costats b i{font:700 12px var(--fb);font-style:normal;color:var(--com-neg);margin-left:5px;vertical-align:2px}
.costats span{font:600 11px var(--fb);color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Actions à mener : une SEULE barre de couleur (celle du groupe compagnie) — les items
   redeviennent des cartes neutres, fond blanc, sans liseré coloré ni teinte de fond */
.todoi{border-left:1px solid var(--line);background:#fff}
.todogrp{background:var(--paper)}
.todogrp .todoi{background:#fff}

/* cartes compagnie : résumé TOUJOURS sur 2 lignes (clamp + réserve) → hauteurs alignées
   d'une carte à l'autre, les mini-tuiles démarrent au même niveau partout */
.cocard .dt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em;line-height:1.35}
/* zone pastilles : hauteur réservée même vide → la rangée du bas s'aligne */
.cocard .cochips{min-height:26px}

/* barres de filtres : champs harmonisés (même hauteur/typo que les selects, focus discret) */
.toolbar select,.toolbar input.search,.toolbar input[type=date]{height:38px;box-sizing:border-box}
.toolbar input.search{max-width:340px;font:600 13px var(--fb);color:var(--navy)}
.toolbar input.search:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 2px rgba(209,193,138,.28)}
.toolbar select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 2px rgba(209,193,138,.28)}

/* ═══════════ Fiche CLIENT v2 (02/07) — la page de référence des collaborateurs ═══════════ */
/* badge de segment : gros client ou modéré, lisible AVANT tout chiffre */
.segpill{display:inline-flex;align-items:center;gap:6px;padding:3px 11px;border-radius:9999px;font:800 11px var(--fb);letter-spacing:.04em;text-transform:uppercase;vertical-align:1px;margin-right:8px}
.segpill.gold{background:var(--gold);color:var(--navy)}
.segpill.navy{background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.35)}
.segpill.mut{background:rgba(255,255,255,.10);color:rgba(255,255,255,.75);border:1px solid rgba(255,255,255,.22)}
/* bandeau « poids dans le cabinet » (fond clair) */
.clscale{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:15px;padding:13px 17px;margin:-2px 0 15px}
.clscale .segpill.big{margin:0;padding:6px 14px;font-size:12px}
.clscale .segpill.big.navy{background:var(--navy);color:#fff;border:0}
.clscale .segpill.big.mut{background:var(--cream);color:var(--mut);border:1px solid var(--line)}
.cls-l{display:flex;align-items:center;gap:12px}
.cls-rank{font:600 12.5px var(--fb);color:var(--mut)}
.cls-rank b{color:var(--navy);font-size:14px}
.cls-g{flex:1;min-width:220px;display:flex;flex-direction:column;gap:5px}
.cls-bar{height:8px;border-radius:9999px;background:var(--cream);overflow:hidden}
.cls-bar i{display:block;height:100%;border-radius:9999px;background:linear-gradient(90deg,var(--gold-deep),var(--gold))}
.cls-cap{font:600 11.5px var(--fb);color:var(--mut)}
.cls-r{margin-left:auto}
/* sections par FAMILLE : pictogramme + couleur de famille, lignes de contrat épurées */
.famsec{background:#fff;border:1px solid var(--line);border-left:4px solid var(--fac,var(--gold));border-radius:15px;padding:6px 14px 10px;margin-bottom:13px}
.famsec-h{display:flex;align-items:center;gap:10px;padding:10px 2px 9px;border-bottom:1px dashed var(--line)}
.famsec-h b{font:800 15px var(--fd);color:var(--fac,var(--navy));letter-spacing:-.01em}
.famsec-ic{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;background:var(--fbg,var(--cream));color:var(--fac,var(--navy));flex:none}
.famsec-ic svg{width:16px;height:16px}
.famsec-n{font:600 12px var(--fb);color:var(--mut)}
.famsec-eur{margin-left:auto;font:700 13px var(--fm,monospace);color:var(--c-com)}
.famsec-eur i{font:600 11px var(--fb);font-style:normal;color:var(--mut);margin-left:4px}
.fctr{display:flex;align-items:center;gap:14px;padding:12px 4px;border-bottom:1px solid rgba(20,45,80,.06);text-decoration:none;color:var(--ink);transition:background .15s}
.fctr:last-child{border-bottom:0}
.fctr:hover{background:var(--cream)}
.fctr-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.fctr-main b{font:700 13.5px var(--fb);color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fctr-main i{font:500 11.5px var(--fb);font-style:normal;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fctr-st{flex:none;display:flex;align-items:center;gap:5px}
.fctr-dt,.fctr-eur{flex:none;display:flex;flex-direction:column;gap:1px;align-items:flex-end;min-width:86px}
.fctr-dt b{font:600 12.5px var(--fb);color:var(--ink)}
.fctr-eur b{font:700 13px var(--fm,monospace);color:var(--navy)}
.fctr-eur.com b{color:var(--c-com)}
.fctr-dt i,.fctr-eur i{font:600 10px var(--fb);font-style:normal;color:var(--mut);text-transform:uppercase;letter-spacing:.05em}
.fctr-go{flex:none;color:var(--gold-deep);font-weight:800;opacity:0;transition:.15s}
.fctr:hover .fctr-go{opacity:1}
@media(max-width:900px){ .fctr-dt{display:none} }

/* fiche client : contrats résiliés repliés (bas de page) — sections grisées à l'ouverture */
details.resfold{margin-top:8px;text-align:center}
details.resfold>summary{display:inline-flex;align-items:center;gap:8px;border-top:0;margin:0 auto;
  padding:12px 22px;border:1.5px solid var(--line);border-radius:9999px;background:#fff;
  font:700 13.5px var(--fb);color:var(--navy);box-shadow:0 6px 16px -12px rgba(14,42,74,.25);
  transition:.18s;cursor:pointer}
details.resfold>summary:hover{border-color:var(--gold);background:var(--gold-soft);color:var(--navy)}
details.resfold>summary::before{color:var(--gold-deep)}
details.resfold[open]{text-align:left}
details.resfold[open]>summary{margin-bottom:12px}
.famsec.res{opacity:.82;background:var(--paper)}
.famsec.res .famsec-h b{color:var(--mut)}
.famsec.res .famsec-ic{filter:grayscale(.4)}

/* palette : compagnies du client en sous-titre (dédoublonnage par client consolidé) */
.pal-sub{margin-left:auto;font:600 11px var(--fb);color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:36%}

/* utilitaire : cellule sans retour à la ligne (dates composées, périodes) */
.nowrap{white-space:nowrap}

/* À réclamer : 9 colonnes qui tiennent SANS coupure horizontale — cellules resserrées,
   nom de compagnie borné (ellipse), n° de contrat cassable (réfs Xenassur très longues).
   La colonne « Manque estimé » (l'info n°1) doit toujours être visible sans scroll. */
.artbl th,.artbl td{padding:10px 11px}
.artbl{font-size:13px}
.artbl .cocell .conm{max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;color:var(--navy)}
.artbl .aref{font-family:var(--fm);font-size:12px;word-break:break-all;max-width:130px}

/* fiche client : légende des deux flux d'argent au-dessus des lignes de contrat */
.amtlegend{margin:2px 2px 12px;font-size:12.5px}
.amtlegend b{font-weight:800;color:var(--navy)}
.amtlegend b.c-com{color:var(--c-com)}

/* fraîcheur du stock : « statuts au dernier export » (fiche client) + « stock au » (toolbar) */
p.fresh{margin:-2px 2px 12px;font-size:12.5px}
p.fresh b{color:var(--navy);font-weight:800}
span.fresh{font:600 12px var(--fb);color:var(--mut);white-space:nowrap}
span.fresh b{color:var(--navy)}

/* ═════════ Dépenses associés ═════════ */
/* ═════════ Dépenses associés ═════════ */
.dep-years{display:flex;gap:8px;flex-wrap:wrap;margin:2px 0 16px}
.dep-yr{border:1px solid var(--line);background:var(--paper);border-radius:9999px;padding:7px 17px;font:700 13px var(--fb);color:var(--mut);cursor:pointer;transition:.18s var(--ease)}
.dep-yr:hover{border-color:var(--gold6);color:var(--ink)}
.dep-yr.on{background:var(--navy);color:#fff;border-color:var(--navy);box-shadow:0 10px 22px -12px rgba(17,42,74,.55)}
.dep-mos{display:flex;gap:6px;flex-wrap:wrap;margin:-6px 0 16px}
.dep-mo{border:1px solid var(--line);background:var(--paper);border-radius:9999px;padding:5px 13px;font:700 11.5px var(--fb);color:var(--mut);cursor:pointer;transition:.15s var(--ease);text-transform:capitalize}
.dep-mo:hover{border-color:var(--gold6);color:var(--ink)}
.dep-mo.on{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.dep-equity{display:grid;grid-template-columns:1fr minmax(196px,auto) 1fr;background:linear-gradient(180deg,#fff,var(--paper));border:1px solid var(--line);border-radius:var(--r-standard);overflow:hidden;margin-bottom:18px;box-shadow:var(--sh-card-hover)}
.dep-eq-side{padding:24px 26px;display:flex;flex-direction:column;gap:12px}
.dep-eq-side.r{align-items:flex-end;text-align:right}
.dep-eq-who{display:flex;align-items:center;gap:9px;font:800 15px var(--fd);color:var(--a)}
.dep-eq-side.r .dep-eq-who{flex-direction:row-reverse}
.dep-eq-dot{width:11px;height:11px;border-radius:50%;background:var(--a);flex:none}
.dep-eq-solde{font:800 33px/1 var(--fd);letter-spacing:-.02em;color:var(--ink)}
.dep-eq-sub{font-size:11.5px;color:var(--mut);font-weight:600}
.dep-eq-bar{height:9px;border-radius:9999px;background:var(--navy-soft);overflow:hidden;width:100%;position:relative}
.dep-eq-bar>i{position:absolute;top:0;bottom:0;left:0;background:var(--a);border-radius:9999px;width:0;transition:width .8s var(--ease)}
.dep-eq-side.r .dep-eq-bar>i{left:auto;right:0}
.dep-eq-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:20px 26px;background:radial-gradient(120% 120% at 50% 0%,#173b66,var(--navy));color:#fff;text-align:center}
.dep-eq-clab{font:800 10px var(--fb);letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.dep-eq-ecart{font:800 30px/1 var(--fd);letter-spacing:-.02em}
.dep-eq-verdict{font:700 12px var(--fb);padding:5px 13px;border-radius:9999px}
.dep-eq-verdict.ok{background:rgba(46,160,105,.24);color:#8ef0bf}
.dep-eq-verdict.warn{background:rgba(209,193,138,.22);color:var(--gold)}
.dep-eq-verdict.bad{background:rgba(224,93,93,.22);color:#f4b2b2}
.dep-eq-hint{font-size:11px;color:rgba(255,255,255,.62);line-height:1.5;max-width:206px}
.dep-bar2{display:flex;align-items:center;margin:2px 0 12px}
.dep-filter{display:flex;gap:6px;margin-left:auto}
.dep-fchip{border:1px solid var(--line);background:#fff;border-radius:9999px;padding:5px 12px;font:700 11px var(--fb);color:var(--mut);cursor:pointer;transition:.15s}
.dep-fchip.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.dep-search{display:flex;align-items:center;gap:10px;width:100%;border:1px solid var(--line);background:#fff;border-radius:12px;padding:9px 14px;color:var(--mut);transition:.15s}
.dep-search:focus-within{border-color:var(--gold);box-shadow:0 0 0 2px rgba(209,193,138,.3)}
.dep-search input{flex:1;border:0!important;outline:0;padding:0!important;width:auto!important;background:transparent;font:600 13.5px var(--fb);color:var(--ink)}
.dep-search input:focus{box-shadow:none!important}
.dep-search input::placeholder{color:var(--mut);font-weight:500}
.dep-legc{display:flex;align-items:center;gap:5px;font:700 11px var(--fb);color:var(--mut);flex:none}
.dep-swatch{width:10px;height:10px;border-radius:3px;display:inline-block}
.dep-swatch.deb{background:var(--com-neg)}
.dep-swatch.cred{background:var(--com-pos)}
.dep-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.dep-col{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-medium);overflow:hidden;display:flex;flex-direction:column}
.dep-col-h{display:flex;align-items:center;gap:9px;padding:13px 16px;border-bottom:1px solid var(--line);background:var(--a-bg)}
.dep-col-h .nm{font:800 15px var(--fd);color:var(--a)}
.dep-col-h .ct{margin-left:8px;font:700 11px var(--fb);color:var(--mut)}
.dep-add-btn{margin-left:auto;border:1px solid var(--a);color:var(--a);background:transparent;border-radius:9999px;font:700 12px var(--fb);padding:5px 13px;cursor:pointer;transition:.15s}
.dep-add-btn:hover{background:var(--a);color:#fff}
.dep-ledger{max-height:460px;overflow-y:auto}
.dep-li{display:grid;grid-template-columns:58px 1fr auto;gap:10px;align-items:center;padding:8px 15px;border-bottom:1px solid var(--line);font-size:13px;transition:background .12s}
.dep-li:hover{background:var(--cream)}
.dep-li.adj{background:rgba(17,42,74,.022)}
.dep-li .dt{color:var(--mut);font:600 11px var(--fm)}
.dep-li .lb{color:var(--ink);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dep-li.adj .lb{color:var(--mut);font-weight:600}
.dep-tag{font:700 8.5px var(--fb);text-transform:uppercase;letter-spacing:.05em;padding:1px 5px;border-radius:5px;background:var(--navy-soft);color:var(--mut);margin-left:6px;vertical-align:middle}
.dep-li .rgt{display:flex;align-items:center;gap:8px}
.dep-li .am{font:700 13px var(--fb);white-space:nowrap;color:var(--ink)}
.dep-li .am.deb{color:var(--com-neg)}   /* débit (dépense) = rouge */
.dep-li .am.cred{color:var(--com-pos)}  /* crédit (avantage, remboursement) = vert */
.dep-li .acts{display:flex;gap:4px;opacity:0;transition:.15s}
.dep-li:hover .acts{opacity:1}
.dep-ic{width:25px;height:25px;border-radius:7px;border:1px solid var(--line);background:#fff;cursor:pointer;color:var(--mut);font-size:12px;line-height:1;display:flex;align-items:center;justify-content:center;transition:.15s}
.dep-ic:hover{border-color:var(--gold6);color:var(--ink)}
.dep-empty{padding:26px 16px;text-align:center;color:var(--mut);font-size:12.5px}
.dep-tot{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-top:2px solid var(--a);background:var(--a-bg);margin-top:auto}
.dep-tot .tl{font:700 11px var(--fb);color:var(--mut);text-transform:uppercase;letter-spacing:.06em}
.dep-tot .tv{font:800 20px var(--fd);color:var(--a)}
.dep-form{padding:13px 15px;background:var(--cream);border-bottom:1px solid var(--line);display:grid;grid-template-columns:118px 1fr 104px 116px;gap:9px;align-items:end}
.dep-form label{font:700 9px var(--fb);text-transform:uppercase;letter-spacing:.05em;color:var(--mut);display:block;margin-bottom:4px}
.dep-form input,.dep-form select{width:100%;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font:600 13px var(--fb);background:#fff;color:var(--ink)}
.dep-form input:focus,.dep-form select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 2px rgba(209,193,138,.35)}
.dep-form .row2{grid-column:1/-1;display:flex;gap:8px;justify-content:flex-end;margin-top:3px}
.dep-leg{display:flex;gap:16px;margin:2px 2px 10px;font-size:12px;color:var(--mut);font-weight:600}
.dep-leg span{display:flex;align-items:center;gap:6px}
.dep-chart{display:grid;grid-template-columns:repeat(12,1fr);gap:8px;align-items:end;padding:8px 2px 0}
.dep-mcol{display:flex;flex-direction:column;align-items:center;gap:7px}
.dep-mbars{display:flex;gap:3px;align-items:flex-end;height:120px}
.dep-mbar{width:10px;border-radius:4px 4px 0 0;background:var(--a);transition:height .7s var(--ease)}
.dep-mlab{font:600 9.5px var(--fb);color:var(--mut)}
/* ── équité v2 : bandeau empilé + parity beam ── */
.dep-equity{display:block}
.dep-eq-top{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;padding:22px 26px 8px}
.dep-eq-p{display:flex;flex-direction:column;gap:4px}
.dep-eq-p:last-child{align-items:flex-end;text-align:right}
.dep-eq-who{display:flex;align-items:center;gap:9px;font:800 14px var(--fd);color:var(--a)}
.dep-eq-p:last-child .dep-eq-who{flex-direction:row-reverse}
.dep-eq-solde{font:800 30px/1 var(--fd);letter-spacing:-.02em;color:var(--a);font-variant-numeric:tabular-nums}
.dep-eq-sub{font-size:11.5px;color:var(--mut);font-weight:600}
/* charge de budget consommée par côté : % + dispo/dépassement */
.dep-eq-pct{font:800 30px/1 var(--fd);letter-spacing:-.02em;color:var(--a);font-variant-numeric:tabular-nums}
.dep-eq-pct.over{color:var(--com-neg)}
/* montant disponible / dépassé en euros — pilule lisible sous le % */
.dep-eq-euro{display:inline-flex;align-self:flex-start;font:800 14px var(--fd);padding:3px 11px;border-radius:9999px;font-variant-numeric:tabular-nums;background:var(--ok-soft);color:var(--com-pos)}
.dep-eq-euro.over{background:var(--err-soft);color:var(--com-neg)}
.dep-eq-euro.even{background:var(--navy-soft);color:var(--mut)}
.dep-eq-p:last-child .dep-eq-euro{align-self:flex-end}
.dep-eq-mid{display:flex;flex-direction:column;align-items:center;gap:6px;padding:0 16px}
.dep-eq-clab{font:800 9.5px var(--fb);letter-spacing:.16em;text-transform:uppercase;color:var(--mut);text-align:center}
.dep-eq-ecart{font:800 30px/1 var(--fd);letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}
.dep-eq-ecart.deb{color:var(--com-neg)}
.dep-eq-ecart.cred{color:var(--com-pos)}
.dep-eq-verdict{font:700 12px var(--fb);padding:4px 12px;border-radius:9999px;display:inline-flex;gap:5px;align-items:center;white-space:nowrap;background:var(--navy-soft);color:var(--navy)}
.dep-eq-verdict b{font-weight:800;color:var(--ink)}
.dep-beam{padding:8px 30px 2px}
.dep-beam-track{position:relative;height:16px;border-radius:9999px;background:var(--navy-soft);overflow:hidden}
.dep-beam-zero{position:absolute;left:50%;top:-4px;bottom:-4px;width:2px;background:var(--navy);transform:translateX(-1px);border-radius:2px;z-index:2}
.dep-beam-fill{position:absolute;top:3px;bottom:3px;border-radius:9999px;opacity:.92;transition:width .7s var(--ease)}
.dep-beam-fill.over{opacity:1;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.28) 0 5px,transparent 5px 10px)}
.dep-beam-ends{display:flex;justify-content:space-between;margin-top:9px;font:700 11px var(--fb)}
.dep-beam-ends .mid{color:var(--mut);font-weight:600}
.dep-eq-hint{padding:11px 30px 20px;font-size:12.5px;color:var(--mut);font-weight:600}
/* ── récap de colonne (réel − ajustements = solde) ── */
.dep-recap{border-top:1px solid var(--line);background:var(--a-bg);padding:11px 16px;margin-top:auto}
.dep-recap .rr{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;color:var(--mut);padding:2px 0;font-variant-numeric:tabular-nums}
.dep-recap .rr b{color:var(--ink);font-weight:700}
.dep-recap .rr b.deb{color:var(--com-neg)}
.dep-recap .rr b.cred{color:var(--com-pos)}
.dep-recap .rr.tot{border-top:1px solid var(--line);margin-top:6px;padding-top:8px}
.dep-recap .rr.tot span{font:700 11px var(--fb);text-transform:uppercase;letter-spacing:.05em;color:var(--mut)}
.dep-recap .rr.tot b{font:800 19px var(--fd);color:var(--a)}
/* Solde : positif = dépensé en trop (rouge) · négatif = budget restant (vert) */
.dep-eq-solde.deb,.dep-recap .rr.tot b.deb{color:var(--com-neg)}
.dep-eq-solde.cred,.dep-recap .rr.tot b.cred{color:var(--com-pos)}
.dep-subh{position:sticky;top:0;z-index:1;background:var(--paper);font:800 9.5px var(--fb);text-transform:uppercase;letter-spacing:.07em;color:var(--mut);padding:9px 16px 5px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.dep-subh span{font-weight:600;text-transform:none;letter-spacing:0;color:var(--mut);opacity:.8}
.dep-li .am{font-variant-numeric:tabular-nums}
/* ── graphes ── */
.dep-charth{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:4px}
.dep-ctoggle{display:flex;gap:6px}
.dep-plot{position:relative;height:150px;margin:16px 0 0 58px}
.dep-grid{position:absolute;inset:0}
.dep-gl{position:absolute;left:0;right:0;border-top:1px solid var(--line)}
.dep-gl span{position:absolute;left:-58px;top:-7px;width:52px;text-align:right;font:600 9px var(--fm);color:var(--mut);white-space:nowrap}
.dep-months{position:relative;display:flex;height:100%;align-items:flex-end}
.dep-mcol{flex:1;display:flex;align-items:flex-end;justify-content:center;height:100%}
.dep-mbars{display:flex;gap:3px;align-items:flex-end;height:100%}
.dep-mbar{width:10px;border-radius:3px 3px 0 0;background:var(--a);transition:height .7s var(--ease)}
.dep-xlabels{display:flex;margin:7px 0 0 58px}
.dep-xlabels span{flex:1;text-align:center;font:600 9.5px var(--fb);color:var(--mut)}
.dep-eqsvg{width:100%;height:auto;margin-top:12px;display:block;overflow:visible}
.dep-eqsvg .tolband{fill:rgba(209,193,138,.26)}
.dep-eqsvg .zeroline{stroke:var(--mut);stroke-width:1;stroke-dasharray:3 3}
.dep-eqsvg .ecline{fill:none;stroke:var(--navy);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.dep-eqsvg circle{fill:var(--navy)}
.dep-eqsvg .axl{fill:var(--mut);font:600 9px var(--fb)}
.dep-eqcap{font-size:11.5px;color:var(--mut);margin-top:8px;font-weight:600}
/* ── file « À rapprocher » (débits carte du relevé) ── */
.rap-panel{padding:0;overflow:hidden;border:1px solid var(--gold6);background:linear-gradient(180deg,#FBF7EC,var(--paper))}
.rap-panel>summary{list-style:none;cursor:pointer;padding:15px 18px;font-size:13.5px;color:var(--ink);display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.rap-panel>summary::-webkit-details-marker{display:none}
.rap-panel>summary b{font-weight:800}
.rap-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:9999px;background:var(--gold-deep);color:#fff;font:800 12px var(--fb)}
.rap-hint{color:var(--mut);font-weight:600;font-size:12px}
.rap-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:2px 16px 18px}
.rap-col{border:1px solid var(--line);border-radius:13px;background:var(--paper);overflow:hidden}
.rap-col-h{display:flex;align-items:center;gap:8px;padding:10px 13px;font:800 13px var(--fd);color:var(--a);border-bottom:1px solid var(--line);background:var(--cream)}
.rap-ct{margin-left:auto;font:700 11px var(--fb);color:var(--mut)}
.rap-it{display:grid;grid-template-columns:70px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:9px 14px;border-bottom:1px solid var(--line);transition:background .12s}
.rap-it:last-child{border-bottom:none}
.rap-it:hover{background:var(--cream)}
.rap-dt{font:600 11px var(--fm);color:var(--mut);white-space:nowrap}
.rap-lb{min-width:0;display:flex;align-items:baseline;gap:8px}
.rap-lb b{font-weight:700;font-size:13px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.rap-carte{flex:none;font:600 10px var(--fb);color:var(--mut);background:var(--navy-soft);padding:1px 7px;border-radius:9999px}
.rap-am{font:800 13.5px var(--fd);font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;min-width:86px}
.rap-am.deb{color:var(--com-neg)}
.rap-acts{display:flex;gap:6px}
.rap-ic{width:28px;height:28px;border-radius:9999px;border:1px solid var(--line);background:var(--paper);cursor:pointer;font-size:13px;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:.14s;color:var(--mut)}
.rap-ic.ok:hover{background:var(--com-pos);border-color:var(--com-pos);color:#fff}
.rap-ic.no:hover{background:var(--mut);border-color:var(--mut);color:#fff}
@media(max-width:980px){.rap-cols{grid-template-columns:1fr}}
@media(max-width:860px){.dep-cols{grid-template-columns:1fr}.dep-eq-top{grid-template-columns:1fr;gap:16px}.dep-eq-p:last-child{align-items:flex-start;text-align:left}.dep-eq-p:last-child .dep-eq-who{flex-direction:row}.dep-eq-mid{order:-1;padding:0}.dep-form{grid-template-columns:1fr 1fr}}
