[data-theme="dark"]{--bg:#181b2e;--sf:#1f2235;--s2:#252840;--soff:#2b2e48;--bd:rgba(255,255,255,.1);--dv:#2b2e48;--tx:#e8edf5;--mt:#8890aa;--ft:#454b66;--pr:#CADA2A;--prh:#abb923;--prhi:rgba(202,218,42,.15);--prt:#CADA2A;--prthi:rgba(202,218,42,.15);--prc:#CADA2A;--ui:#5eead4;--uih:#2dd4bf;--uihi:rgba(94,234,212,.14);--uit:#99f6e4;--ok:#4ade80;--okhi:rgba(74,222,128,.13);--er:#f87171;--erhi:rgba(248,113,113,.13);--or:#fb923c;--orhi:rgba(251,146,60,.13);--pt:#60a5fa;--pthi:rgba(96,165,250,.13);--cm:#a78bfa;--cmhi:rgba(167,139,250,.13);--sh:0 8px 32px rgba(0,0,0,.35);--shsm:0 2px 8px rgba(0,0,0,.2)}
[data-theme="light"]{--bg:#e8eaed;--sf:#ffffff;--s2:#f3f4f6;--soff:#ecedf0;--bd:rgba(17,19,24,.1);--dv:#d8dade;--tx:#111318;--mt:#52566b;--ft:#a8abbe;--pr:#CADA2A;--prh:#abb923;--prhi:rgba(202,218,42,.12);--prt:#5a6600;--prthi:rgba(90,102,0,.09);--prc:#7a8800;--ui:#0f766e;--uih:#0b5f59;--uihi:rgba(15,118,110,.12);--uit:#0b5f59;--ok:#2d6a1f;--okhi:rgba(45,106,31,.09);--er:#b91c1c;--erhi:rgba(185,28,28,.09);--or:#c2410c;--orhi:rgba(194,65,12,.09);--pt:#1d4ed8;--pthi:rgba(29,78,216,.09);--cm:#6d28d9;--cmhi:rgba(109,40,217,.09);--sh:0 4px 24px rgba(26,28,0,.1),0 1px 4px rgba(26,28,0,.06);--shsm:0 1px 4px rgba(26,28,0,.08)}
[data-anniversary-theme="on"][data-theme="light"]{--bg:#eeeee8;--sf:#fffefa;--s2:#f4f3ec;--soff:#eeede5;--bd:rgba(23,24,20,.1);--dv:#ddddd4;--tx:#171814;--mt:#5f6257;--ft:#a4a69a;--pr:#CADA2A;--prh:#b3c41f;--prhi:rgba(202,218,42,.14);--prt:#4f5c24;--prthi:rgba(79,92,36,.1);--prc:#69775a;--ui:#CADA2A;--uih:#b3c41f;--uihi:rgba(202,218,42,.14);--uit:#4f5c24;--ok:#3f7255;--okhi:rgba(63,114,85,.1);--er:#914747;--erhi:rgba(145,71,71,.1);--or:#9a5f21;--orhi:rgba(154,95,33,.1);--pt:#456b62;--pthi:rgba(69,107,98,.1);--cm:#8b7460;--cmhi:rgba(139,116,96,.1);--sh:0 4px 24px rgba(34,36,18,.1),0 1px 4px rgba(34,36,18,.06);--shsm:0 1px 4px rgba(34,36,18,.08)}
[data-anniversary-theme="on"][data-theme="dark"]{--bg:#171812;--sf:#22231d;--s2:#2a2c23;--soff:#303228;--bd:rgba(242,243,233,.11);--dv:#303228;--tx:#f2f3e9;--mt:#aeb2a0;--ft:#636858;--pr:#CADA2A;--prh:#d9e85b;--prhi:rgba(202,218,42,.16);--prt:#d5dfa0;--prthi:rgba(213,223,160,.14);--prc:#afc49f;--ui:#CADA2A;--uih:#d9e85b;--uihi:rgba(202,218,42,.16);--uit:#d5dfa0;--ok:#7fc395;--okhi:rgba(127,195,149,.14);--er:#d98282;--erhi:rgba(217,130,130,.14);--or:#d7a059;--orhi:rgba(215,160,89,.14);--pt:#8fb9ad;--pthi:rgba(143,185,173,.14);--cm:#d0bfa8;--cmhi:rgba(208,191,168,.14);--sh:0 8px 32px rgba(0,0,0,.38);--shsm:0 2px 8px rgba(0,0,0,.24)}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{font-family:'Plus Jakarta Sans',sans-serif;font-size:14px;color:var(--tx);background:var(--bg);display:flex;height:100dvh;overflow:hidden}
#tb-mobile-actions,#mob-actions-sheet{display:none}
[data-theme="dark"] body{background-image:radial-gradient(rgba(255,255,255,.04) 1px,transparent 1px);background-size:32px 32px}
[data-anniversary-theme="on"][data-theme="dark"] body{background-image:radial-gradient(rgba(202,218,42,.045) 1px,transparent 1px)}
button{cursor:pointer;background:none;border:none;font:inherit;color:inherit}
input,select,textarea{font:inherit;color:var(--tx);background:none}

/* ── LOGIN ─────────────────────────────────────── */
#login{position:fixed;inset:0;background:#0c0d12;z-index:999;display:flex;align-items:center;justify-content:center}
[data-theme="light"] #login{background:#0c0d12}
[data-theme="dark"] #login{background:#141728}
.lcard{background:#1f2235;border:1px solid rgba(202,218,42,.15);border-radius:24px;padding:40px;width:min(400px,92vw);box-shadow:0 24px 64px rgba(0,0,0,.4),0 0 0 1px rgba(202,218,42,.08),0 0 80px -20px rgba(202,218,42,.2);display:flex;flex-direction:column;align-items:center;gap:20px;animation:cardin .4s cubic-bezier(.34,1.2,.64,1)}
@keyframes cardin{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.lcard h1{font-family:'Syne',sans-serif;font-size:26px;font-weight:800;letter-spacing:-.6px;color:#CADA2A}
.lcard>p{font-size:12px;color:rgba(180,190,210,.55);text-align:center;line-height:1.6}
.login-progress-head{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;font-size:12px;color:rgba(232,237,245,.72);font-weight:700}
.login-progress-head strong{font-family:'JetBrains Mono',monospace;font-size:13px;color:#CADA2A;min-width:42px;text-align:right}
.login-progress-track{width:100%;height:10px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(202,218,42,.16);overflow:hidden;box-shadow:inset 0 1px 4px rgba(0,0,0,.28)}
#login-progress-bar{width:0%;height:100%;border-radius:999px;background:linear-gradient(90deg,#CADA2A,#f3ff6a);box-shadow:0 0 18px rgba(202,218,42,.35);transition:width .42s cubic-bezier(.4,0,.2,1)}
#login-progress-sub{font-size:11px;color:rgba(180,190,210,.48);width:100%;text-align:left}
#lprofiles{width:100%;display:flex;flex-direction:column;gap:6px;max-height:340px;overflow-y:auto}
.litem{display:flex;align-items:center;gap:12px;padding:11px 14px;border:1px solid rgba(255,255,255,.08);border-radius:14px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);opacity:0;animation:litein .3s cubic-bezier(.34,1.2,.64,1) forwards;background:rgba(202,218,42,.04)}
@keyframes litein{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}
.litem:nth-child(1){animation-delay:.05s}.litem:nth-child(2){animation-delay:.1s}.litem:nth-child(3){animation-delay:.15s}.litem:nth-child(4){animation-delay:.2s}.litem:nth-child(5){animation-delay:.25s}.litem:nth-child(6){animation-delay:.3s}.litem:nth-child(7){animation-delay:.35s}.litem:nth-child(8){animation-delay:.4s}
.litem:hover{background:rgba(202,218,42,.1);border-color:#CADA2A;transform:translateX(4px);box-shadow:0 2px 12px rgba(202,218,42,.15)}
.lav{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;flex-shrink:0}
.lname{font-weight:600;font-size:13px;letter-spacing:-.1px;color:#eef2d6}.lrole{font-size:11px;color:rgba(202,218,42,.45)}
.lnote{font-size:11px;color:rgba(180,190,210,.4);text-align:center;border-top:1px solid rgba(255,255,255,.08);padding-top:16px;width:100%;line-height:1.5}

/* ── SIDEBAR ────────────────────────────────────── */
#sb{width:248px;min-width:248px;background:#111318;border-right:1px solid rgba(202,218,42,.1);display:flex;flex-direction:column;height:100dvh;transition:width .28s cubic-bezier(.4,0,.2,1),min-width .28s cubic-bezier(.4,0,.2,1);flex-shrink:0;position:relative}
[data-theme="light"] #sb{background:#23263a;border-right:1px solid rgba(202,218,42,.12)}
[data-theme="light"] .kc-acc{opacity:.5}
[data-theme="light"] #tb{box-shadow:0 1px 4px rgba(17,19,24,.07)}
[data-theme="light"] .mc>div>div[style*="background:var(--sf)"],[data-theme="light"] .kc{box-shadow:0 1px 4px rgba(17,19,24,.07),0 0 0 0.5px rgba(17,19,24,.06)}
[data-theme="dark"] #sb{background:#13162a;border-right:1px solid rgba(202,218,42,.1)}
[data-anniversary-theme="on"][data-theme="light"] #sb{background:#171814;border-right-color:rgba(202,218,42,.16)}
[data-anniversary-theme="on"][data-theme="dark"] #sb{background:#10110e;border-right-color:rgba(202,218,42,.14)}
#sb::after{content:'';position:absolute;right:0;top:0;bottom:0;width:1px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.07) 20%,rgba(255,255,255,.07) 80%,transparent)}
#sb.col{width:64px;min-width:64px}
.sbl{display:flex;align-items:center;gap:12px;padding:0 18px;height:64px;flex-shrink:0;border-bottom:1px solid rgba(255,255,255,.07)}
.sbl-logo-wrap{width:38px;height:38px;position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.sbl-logo{width:38px;height:38px;flex-shrink:0;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(202,218,42,.25))}
.anniversary-five{display:none;position:absolute;right:-4px;bottom:-5px;width:18px;height:18px;align-items:center;justify-content:center;border:1.5px solid #CADA2A;border-radius:50%;background:#171814;color:#CADA2A;font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:600;line-height:1;box-shadow:0 2px 8px rgba(0,0,0,.28)}
[data-anniversary-theme="on"] .anniversary-five{display:inline-flex}
.sblt{font-family:'Syne',sans-serif;font-size:16px;font-weight:800;white-space:nowrap;transition:opacity .2s,transform .22s;letter-spacing:-.4px;color:#CADA2A}
.col .sblt{opacity:0;pointer-events:none;transform:translateX(-10px)}
.sbnav{flex:1;padding:12px 10px 8px;display:flex;flex-direction:column;gap:1px;overflow-y:auto;overflow-x:hidden}
.sbnav::-webkit-scrollbar{width:3px}.sbnav::-webkit-scrollbar-track{background:transparent}.sbnav::-webkit-scrollbar-thumb{background:var(--ft);border-radius:3px}
.sbsec{font-family:'Inter',sans-serif;font-size:9.5px;font-weight:700;color:rgba(180,190,210,.35);text-transform:uppercase;letter-spacing:.14em;padding:18px 10px 6px;white-space:nowrap;transition:opacity .2s}
.col .sbsec{opacity:0;height:0;padding:0;overflow:hidden}
.sbtoggle{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;background:transparent;border:0;cursor:pointer}
.sbtoggle svg{width:13px;height:13px;transition:transform .18s;color:rgba(180,190,210,.42);flex-shrink:0}
.sbtoggle.collapsed svg{transform:rotate(-90deg)}
.sbgroup{display:flex;flex-direction:column;gap:1px}
.sbgroup.collapsed{display:none}
.ni{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:11px;color:rgba(200,210,230,.55);cursor:pointer;white-space:nowrap;transition:all .16s cubic-bezier(.4,0,.2,1);position:relative;text-decoration:none;font-size:13px}
.ni:hover{background:rgba(202,218,42,.09);color:rgba(202,218,42,.95)}
.ni.on{background:rgba(202,218,42,.14);color:#CADA2A;font-weight:600}
.ni.on::before{content:'';position:absolute;left:-10px;top:18%;bottom:18%;width:3px;background:#CADA2A;border-radius:0 3px 3px 0;box-shadow:0 0 6px rgba(202,218,42,.5)}
.ni-icon{flex-shrink:0;width:17px;height:17px;transition:color .15s;color:inherit}
.ni-icon svg{width:17px;height:17px}
.ni.on .ni-icon{color:var(--pr)}
.ni-label{font-size:13px;font-weight:500;transition:opacity .2s,transform .22s;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.col .ni-label{opacity:0;transform:translateX(-8px)}
.ni-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:var(--er);color:#fff;border-radius:10px;font-size:10px;font-weight:700;flex-shrink:0;transition:opacity .2s}
.col .ni-badge{opacity:0}
.sbbot{padding:10px 10px 12px;border-top:1px solid rgba(255,255,255,.07);display:flex;flex-direction:column;gap:1px}
.anniversary-toggle-icon{display:inline-flex;align-items:center;justify-content:center;border:1.5px solid currentColor;border-radius:50%;font-family:'JetBrains Mono',monospace;font-size:9px;font-weight:600;line-height:1}
.anniversary-preview-toggle[aria-pressed="true"]{background:rgba(202,218,42,.14);color:#CADA2A;font-weight:600}
.anniversary-preview-toggle[aria-pressed="true"]::before{content:'';position:absolute;left:-10px;top:18%;bottom:18%;width:3px;background:#CADA2A;border-radius:0 3px 3px 0;box-shadow:0 0 6px rgba(202,218,42,.5)}
#sb.col .ni:hover::after{content:attr(data-tip);position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%);background:#1f2235;border:1px solid rgba(202,218,42,.2);border-radius:10px;padding:6px 12px;font-size:12px;color:#CADA2A;white-space:nowrap;z-index:100;box-shadow:0 4px 16px rgba(0,0,0,.4);pointer-events:none;font-family:'Plus Jakarta Sans',sans-serif}

/* ── TOPBAR ─────────────────────────────────────── */
#sessbar{background:var(--sf);border-bottom:1px solid var(--bd);padding:7px 24px;display:none;align-items:center;gap:10px;font-size:12px;flex-shrink:0;border-left:3px solid #CADA2A}
.sav{width:26px;height:26px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:#fff;flex-shrink:0}
.calls-mini-summary{margin-left:18px;display:inline-flex;align-items:center;gap:7px;height:32px;padding:4px 8px;border:1px solid var(--bd);border-radius:11px;background:var(--s2);color:var(--mt);cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s;flex-shrink:0}
.calls-mini-summary:hover{background:var(--soff);border-color:color-mix(in srgb,var(--ui) 38%,var(--bd));color:var(--tx)}
.calls-mini-summary:focus-visible{outline:2px solid var(--ui);outline-offset:2px}
.calls-mini-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:7px;color:var(--ui)}
.calls-mini-icon svg{width:15px;height:15px;stroke-width:2.2}
.calls-mini-title{font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--tx)}
.calls-mini-line{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 7px;border-radius:7px;transition:background .15s,color .15s}
.calls-mini-line-name{font-size:8.5px;font-weight:800;letter-spacing:.035em;color:var(--mt)}
.calls-mini-line strong{min-width:12px;font:800 12px 'JetBrains Mono',monospace;color:var(--tx);text-align:center}
.calls-mini-line>span:last-child{font:650 9.5px 'JetBrains Mono',monospace;color:var(--mt)}
.calls-mini-line.is-active{background:var(--uihi)}
.calls-mini-line.is-active .calls-mini-line-name,.calls-mini-line.is-active strong{color:var(--uit)}
.calls-mini-line.is-warning{background:var(--orhi)}
.calls-mini-line.is-warning .calls-mini-line-name,.calls-mini-line.is-warning strong,.calls-mini-line.is-warning>span:last-child{color:var(--or)}
.calls-mini-line.is-critical{background:var(--erhi)}
.calls-mini-line.is-critical .calls-mini-line-name,.calls-mini-line.is-critical strong,.calls-mini-line.is-critical>span:last-child{color:var(--er)}
.calls-mini-divider{width:1px;height:18px;background:var(--bd)}
#session-switch-btn{margin-left:auto}
@media(min-width:769px) and (max-width:1080px){.calls-mini-summary{display:none}}
#tb{height:64px;background:var(--sf);border-bottom:1px solid var(--bd);display:flex;align-items:center;padding:0 24px;gap:14px;flex-shrink:0}
[data-theme="light"] #tb{background:#ffffff;border-bottom:1px solid rgba(17,19,24,.08);box-shadow:0 1px 3px rgba(17,19,24,.06)}
[data-theme="dark"] #tb{background:rgba(31,34,53,.8);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.08)}
[data-anniversary-theme="on"][data-theme="light"] #tb{background:#fffefa;border-bottom-color:rgba(23,24,20,.08);box-shadow:0 1px 3px rgba(34,36,18,.06)}
[data-anniversary-theme="on"][data-theme="dark"] #tb{background:rgba(34,35,29,.86);border-bottom-color:rgba(242,243,233,.09)}
#tbtitle{font-family:'Plus Jakarta Sans',sans-serif;font-size:19px;font-weight:700;line-height:1.25;flex:1;letter-spacing:-.3px;color:var(--tx)}
#anniversary-header-message{display:none;align-items:center;flex-shrink:0;white-space:nowrap;padding:9px 17px;border:1px solid transparent;border-radius:999px;font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(15.5px,1.2vw,19.5px);font-weight:800;line-height:1.1;letter-spacing:-.035em}
#anniversary-header-message::before{content:'';width:8px;height:8px;margin-right:10px;border-radius:50%;background:#CBDA2A;box-shadow:0 0 0 4px rgba(203,218,43,.14)}
[data-anniversary-theme="on"] #anniversary-header-message{display:inline-flex}
[data-anniversary-theme="on"][data-theme="light"] #anniversary-header-message{background:#f2ede3;border-color:rgba(43,49,33,.1);color:#2b3121}
[data-anniversary-theme="on"][data-theme="dark"] #anniversary-header-message{background:rgba(242,237,227,.08);border-color:rgba(242,237,227,.12);color:#f2ede3}
.mw{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}
.mc{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:20px}
.mc::-webkit-scrollbar{width:5px;opacity:0;transition:opacity .3s}.mc::-webkit-scrollbar-track{background:transparent}.mc::-webkit-scrollbar-thumb{background:transparent;border-radius:5px;transition:background .3s}
.mc:hover::-webkit-scrollbar-thumb{background:var(--ft)}
.view{display:none;flex-direction:column;gap:20px}.view.on{display:flex}
.view.on>*{animation:vin .25s cubic-bezier(.4,0,.2,1) both}
.view.on>*:nth-child(1){animation-delay:.03s}.view.on>*:nth-child(2){animation-delay:.07s}
.view.on>*:nth-child(3){animation-delay:.11s}.view.on>*:nth-child(4){animation-delay:.15s}
#view-horaires.on>#horaires-root{animation:none!important;transform:none!important}
@keyframes vin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* ── BUTTONS ────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:10px;font-size:12.5px;font-weight:600;cursor:pointer;border:none;white-space:nowrap;transition:all .18s cubic-bezier(.4,0,.2,1);letter-spacing:-.1px}
.bpr{background:linear-gradient(135deg,var(--pr),var(--prh));color:#1a1c00;font-weight:700;box-shadow:0 2px 8px rgba(202,218,42,.25)}
.bpr:hover{transform:translateY(-1px);box-shadow:0 4px 20px rgba(202,218,42,.35);filter:brightness(1.06)}
.bpr:active{transform:translateY(0)}
.bgh{background:transparent;color:var(--mt);border:1px solid var(--bd);font-weight:500}
.bgh:hover{background:var(--soff);color:var(--tx);border-color:var(--bd)}
.ber{background:var(--erhi);color:var(--er);border:1px solid transparent;font-weight:500}.ber:hover{border-color:var(--er);background:var(--erhi)}
.bico{padding:6px;border-radius:8px;color:var(--mt);display:inline-flex;align-items:center;transition:all .15s}.bico:hover{background:var(--soff);color:var(--tx)}

/* ── KPI CARDS ──────────────────────────────────── */
.kgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,172px),1fr));gap:14px}
/* Keep each KPI's complete content centered; rows grow with their longest tile. */
.kc,.retc-kpi,.profitability-kpi,.rp-pay-kpi,.ac-kpi,.audit-summary-card,.workflow-summary-card,.workflow-entry-summary{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-width:0;text-align:center;overflow-wrap:anywhere;
}
:is(.kc,.retc-kpi,.profitability-kpi,.rp-pay-kpi,.ac-kpi,.audit-summary-card,.workflow-summary-card,.workflow-entry-summary)>:not(.kc-acc){
  min-width:0;max-width:100%;flex-shrink:0;
}
.kc{background:var(--sf);border:1px solid color-mix(in srgb,var(--ui) 22%,var(--bd));border-radius:18px;padding:20px;gap:10px;position:relative;overflow:hidden;transition:transform .22s cubic-bezier(.4,0,.2,1),box-shadow .22s,border-color .22s;box-shadow:0 1px 3px rgba(17,19,24,.06),0 1px 2px rgba(17,19,24,.04)}
.kc::after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.06) 50%,transparent 60%);background-size:200% 100%;background-position:200% 0;transition:background-position .5s ease;pointer-events:none;border-radius:18px}
.kc:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--ui) 42%,var(--bd));box-shadow:var(--sh),0 0 0 1px color-mix(in srgb,var(--ui) 18%,transparent)}
.kc:hover::after{background-position:-50% 0}
.kc-acc{position:absolute;top:0;left:0;right:0;height:2px;border-radius:2px 2px 0 0;opacity:.78;background:var(--ui)}
.kc::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:0 2px 2px 0;opacity:.78;background:var(--ui)}
.klbl{font-family:'Inter',sans-serif;font-size:10px;color:var(--mt);text-transform:uppercase;letter-spacing:.1em;font-weight:600;opacity:.75}
.kval{font-family:'JetBrains Mono',monospace;font-size:28px;font-weight:600;line-height:1.2;color:var(--tx);letter-spacing:-.5px}
#svc-volume-kpis{grid-template-columns:repeat(auto-fit,minmax(245px,1fr))}
#svc-volume-kpis .kc{min-width:0;padding:16px 18px}
#svc-volume-kpis .kval{font-size:20px;line-height:1.15;white-space:normal;overflow-wrap:anywhere;letter-spacing:0}
.kdelta{font-size:10px;font-weight:600}.kup{color:var(--ok)}.kdn{color:var(--er)}

/* ── STATS TÉLÉPHONIQUE ───────────────────────── */
#svc-tel-kpis{grid-template-columns:repeat(auto-fit,minmax(172px,1fr))}
#svc-tel-kpis .tel-kpi{border-color:color-mix(in srgb,var(--ui) 28%,var(--bd));background:linear-gradient(135deg,color-mix(in srgb,var(--ui) 9%,var(--sf)),var(--sf) 68%);box-shadow:0 10px 28px color-mix(in srgb,var(--ui) 10%,transparent)}
#svc-tel-kpis .tel-kpi::before,#svc-tel-kpis .tel-kpi .kc-acc{background:var(--ui)}
#svc-tel-kpis .tel-volume{--tel-accent:#38bdf8}
#svc-tel-kpis .tel-good{--tel-accent:#22c55e}
#svc-tel-kpis .tel-warn{--tel-accent:#f59e0b}
#svc-tel-kpis .tel-bad{--tel-accent:#ef4444}
#svc-tel-kpis .tel-kpi-sub{font-size:11px;font-weight:700;color:color-mix(in srgb,var(--tel-accent) 75%,var(--tx));margin-top:-4px}
#svc-kpis{grid-template-columns:repeat(auto-fit,minmax(172px,1fr))}
#svc-kpis .svc-workflow-kpi{border-color:color-mix(in srgb,var(--ui) 28%,var(--bd));background:linear-gradient(135deg,color-mix(in srgb,var(--ui) 9%,var(--sf)),var(--sf) 68%);box-shadow:0 10px 28px color-mix(in srgb,var(--ui) 10%,transparent)}
#svc-kpis .svc-workflow-kpi::before,#svc-kpis .svc-workflow-kpi .kc-acc{background:var(--ui)}
#svc-kpis .tel-volume{--tel-accent:#38bdf8}
#svc-kpis .tel-incoming{--tel-accent:#22c55e}
#svc-kpis .tel-outgoing{--tel-accent:#8b5cf6}
#svc-kpis .tel-time{--tel-accent:#0ea5e9}
#svc-kpis .tel-good{--tel-accent:#22c55e}
#svc-kpis .tel-warn{--tel-accent:#f59e0b}
#svc-kpis .tel-bad{--tel-accent:#ef4444}
#svc-kpis .tel-kpi-sub{font-size:11px;font-weight:700;color:color-mix(in srgb,var(--tel-accent) 75%,var(--tx));margin-top:-4px}
#svc-kpis .svc-workflow-kpi-detail{width:100%;cursor:pointer}
#svc-kpis .svc-workflow-kpi-detail:focus-visible{outline:2px solid var(--tel-accent);outline-offset:3px}
#svc-kpis .svc-workflow-kpi-hint{font-size:10px;font-weight:800;color:var(--tel-accent);margin-top:-3px}
#svc-workflow-kpi-detail-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
#svc-workflow-kpi-detail-kpis .kc{min-width:0;padding:14px 16px}
#svc-workflow-kpi-detail-kpis .kval{font-size:20px}
.svc-workflow-row{--workflow-accent:#38bdf8}
.svc-workflow-row td:first-child{box-shadow:inset 3px 0 0 var(--workflow-accent)}
.svc-workflow-row:hover td{background:color-mix(in srgb,var(--workflow-accent) 8%,var(--s2))}
.svc-workflow-good{--workflow-accent:#22c55e}.svc-workflow-warn{--workflow-accent:#f59e0b}.svc-workflow-bad{--workflow-accent:#ef4444}.svc-workflow-volume{--workflow-accent:#38bdf8}
.svc-workflow-pill{display:inline-flex;align-items:center;justify-content:center;min-width:56px;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:850;background:color-mix(in srgb,var(--workflow-accent) 13%,transparent);color:color-mix(in srgb,var(--workflow-accent) 72%,var(--tx));border:1px solid color-mix(in srgb,var(--workflow-accent) 28%,transparent)}
.svc-workflow-activity-total{font:800 12px 'JetBrains Mono',monospace;color:var(--tx)}
.svc-workflow-name{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:210px}
.svc-workflow-rate-btn{display:inline-flex;align-items:center;border:1px solid var(--bd);border-radius:999px;padding:4px 9px;font-size:10.5px;font-weight:850;color:var(--mt);background:var(--s2);white-space:nowrap;cursor:pointer;transition:all .15s}
.svc-workflow-rate-btn:hover{border-color:var(--pr);color:var(--pr);background:var(--prhi)}
.svc-rate-section{padding:13px 0;border-bottom:1px solid var(--bd)}
.svc-rate-section:last-of-type{border-bottom:0}
.svc-rate-title{font-weight:850;font-size:13px;margin-bottom:10px;color:var(--tx)}
.svc-rate-list{display:grid;gap:9px;font-size:13px;color:var(--tx)}
.svc-rate-line{display:flex;align-items:center;gap:7px;flex-wrap:wrap;line-height:1.35}
.svc-rate-dot{width:5px;height:5px;border-radius:50%;background:var(--tx);margin-right:3px}
.svc-rate-chip,.svc-rate-input{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:24px;border-radius:8px;background:var(--s2);border:1px solid var(--bd);font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:800;color:var(--tx);padding:0 7px}
.svc-rate-input{width:58px;text-align:center;background:var(--sf)}
.svc-rate-input:focus{outline:none;border-color:var(--pr);box-shadow:0 0 0 3px var(--prhi)}
.svc-rate-note{font-size:12px;color:var(--mt);line-height:1.45;margin-top:11px}
.svc-entry-toolbar{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr)) auto;gap:10px;align-items:end;margin-bottom:10px}
.svc-entry-status{font-size:12px;color:var(--mt);min-height:18px;margin:3px 0 10px}
.svc-entry-wrap{max-height:62vh;overflow:auto}
.svc-entry-table{min-width:1500px}
.svc-entry-table th{white-space:nowrap}
.svc-entry-table td{padding:7px 8px!important;vertical-align:middle}
.svc-entry-table th:first-child,.svc-entry-table td:first-child{position:sticky;left:0;z-index:2;box-shadow:1px 0 0 var(--bd)}
.svc-entry-table thead th:first-child{z-index:3}
.dt.svc-entry-table tbody tr td:first-child{background:var(--sf)}
.dt.svc-entry-table tbody tr:nth-child(even) td:first-child{background:color-mix(in srgb,var(--s2) 50%,var(--sf))}
.dt.svc-entry-table tbody tr:hover td:first-child{background:var(--s2)}
.svc-entry-input{width:82px;min-width:82px;border:1px solid var(--bd);background:var(--sf);color:var(--tx);border-radius:8px;padding:6px 7px;font-size:12px;text-align:center}
.svc-entry-input:focus{outline:none;border-color:var(--pr);box-shadow:0 0 0 2px var(--prhi)}
.svc-entry-notes{width:160px;text-align:left}
.svc-entry-courtier{min-width:170px;font-weight:800;white-space:nowrap}
.svc-entry-input:disabled{cursor:not-allowed;opacity:.58;background:var(--s2);color:var(--mt)}
@media(max-width:900px){.svc-entry-toolbar{grid-template-columns:1fr 1fr}.svc-entry-toolbar .btn{grid-column:1/-1;justify-content:center}}
.svc-outgoing-text{color:#7c3aed}.svc-mail-text{color:#0ea5e9}
.tel-volume-card{padding:16px 18px;background:linear-gradient(180deg,var(--sf),color-mix(in srgb,var(--s2) 70%,var(--sf)));border-color:color-mix(in srgb,var(--ui) 18%,var(--bd))}
.tel-card-title{font-family:'Syne',sans-serif;font-weight:800;font-size:14px;margin-bottom:13px;letter-spacing:-.1px}
.tel-line-row{--line-accent:#2dd4bf;display:grid;grid-template-columns:minmax(120px,150px) 1fr auto auto;gap:10px;align-items:center;margin:10px 0;padding:7px 8px;border-radius:12px;background:color-mix(in srgb,var(--line-accent) 7%,transparent)}
.tel-line-service{--line-accent:#0ea5e9}.tel-line-renew{--line-accent:#8b5cf6}.tel-line-en{--line-accent:#14b8a6}
.tel-line-name{font-weight:850;font-size:12px;display:flex;align-items:center;gap:8px}
.tel-line-name span{width:9px;height:9px;border-radius:999px;background:var(--line-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--line-accent) 18%,transparent)}
.tel-line-track{height:12px;background:color-mix(in srgb,var(--line-accent) 10%,#eef1f5);border-radius:999px;overflow:hidden}
.tel-line-fill{height:100%;background:color-mix(in srgb,var(--line-accent) 62%,#ffffff);border-radius:999px;overflow:hidden;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--line-accent) 30%,transparent)}
.tel-line-fill i{display:block;height:100%;background:linear-gradient(90deg,var(--line-accent),color-mix(in srgb,var(--line-accent) 58%,#22c55e));border-radius:999px}
.tel-line-count{font-size:12px;font-weight:850;color:var(--tx)}
.tel-badge{display:inline-flex;align-items:center;justify-content:center;min-width:58px;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:850;border:1px solid transparent}
.tel-good{background:rgba(34,197,94,.13);color:#15803d;border-color:rgba(34,197,94,.24)}
.tel-warn{background:rgba(245,158,11,.15);color:#b45309;border-color:rgba(245,158,11,.3)}
.tel-bad{background:rgba(239,68,68,.13);color:#dc2626;border-color:rgba(239,68,68,.28)}
[data-theme="dark"] .tel-good{color:#86efac}[data-theme="dark"] .tel-warn{color:#fcd34d}[data-theme="dark"] .tel-bad{color:#fca5a5}
.tel-num{font-weight:850}.tel-good-text{color:#16a34a}.tel-warn-text{color:#d97706}
.tel-table-row td:first-child{box-shadow:inset 3px 0 0 var(--line-accent)}
.tel-line-chip{display:inline-flex;align-items:center;gap:7px}
.tel-line-chip::before{content:'';width:8px;height:8px;border-radius:999px;background:var(--line-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--line-accent) 16%,transparent)}

/* ── CHARTS ─────────────────────────────────────── */
.crow{display:grid;grid-template-columns:2fr 1fr;gap:16px}
@media(max-width:860px){.crow{grid-template-columns:1fr}}
.cc{background:var(--sf);border:1px solid var(--bd);border-radius:18px;padding:22px}
.ch{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:8px;flex-wrap:wrap}
.ct{font-family:'Syne',sans-serif;font-size:14px;font-weight:700;letter-spacing:-.2px}

/* ── TABLEAU DE BORD — ACTIONS ET ACTIVITÉ ────── */
.dash-intelligence-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-bottom:16px}
.dash-intelligence-card{min-width:0;padding:0;overflow:hidden}
.dash-panel-heading{min-height:76px;margin:0;padding:17px 18px;border-bottom:1px solid var(--bd);background:color-mix(in srgb,var(--s2) 48%,var(--sf))}
.dash-panel-heading>div{display:grid;gap:4px;min-width:0}
.dash-panel-scope{font-size:10px;font-weight:650;color:var(--mt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dash-panel-count{display:inline-flex;align-items:center;justify-content:center;min-width:31px;height:31px;padding:0 8px;border:1px solid var(--bd);border-radius:10px;background:var(--sf);color:var(--mt);font:800 12px 'JetBrains Mono',monospace}
.dash-panel-count.has-signals{border-color:color-mix(in srgb,var(--or) 38%,var(--bd));background:color-mix(in srgb,var(--or) 10%,var(--sf));color:var(--or)}
.dash-panel-mark{width:19px;height:19px;color:var(--mt)}
.dash-action-list{display:grid;align-content:start;max-height:468px;overflow-y:auto;scrollbar-width:thin}
.dash-action-item{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr) auto 15px;gap:11px;align-items:center;width:100%;min-height:72px;padding:12px 16px;border:0;border-bottom:1px solid var(--dv);background:transparent;color:var(--tx);font:inherit;text-align:left;cursor:pointer;transition:background .14s ease}
.dash-action-item:last-child{border-bottom:0}
.dash-action-item:hover{background:var(--s2)}
.dash-action-item:focus-visible{z-index:1;outline:2px solid var(--prt);outline-offset:-2px}
.dash-action-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:11px;background:var(--s2);color:var(--mt)}
.dash-action-icon svg{width:17px;height:17px;stroke-width:2}
.dash-action-item.tone-danger .dash-action-icon{background:var(--erhi);color:var(--er)}
.dash-action-item.tone-warning .dash-action-icon{background:color-mix(in srgb,var(--or) 13%,var(--sf));color:var(--or)}
.dash-action-item.tone-accent .dash-action-icon{background:var(--prthi);color:var(--prt)}
.dash-action-item.tone-success .dash-action-icon{background:var(--okhi);color:var(--ok)}
.dash-action-copy{display:grid;gap:3px;min-width:0}
.dash-action-copy strong{font-size:11.5px;font-weight:800;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dash-action-copy small{font-size:10.5px;font-weight:500;line-height:1.35;color:var(--mt);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dash-action-meta{display:grid;justify-items:end;gap:4px;min-width:88px;max-width:145px}
.dash-action-meta em{max-width:145px;padding:3px 7px;border-radius:999px;background:var(--s2);color:var(--tx);font-size:9px;font-style:normal;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dash-action-meta time{color:var(--mt);font-size:9.5px;font-weight:650;white-space:nowrap}
.dash-action-chevron{width:14px;height:14px;color:var(--mt);opacity:.55;transition:transform .14s ease,opacity .14s ease}
.dash-action-item:hover .dash-action-chevron{transform:translateX(2px);opacity:1;color:var(--prt)}
.dash-panel-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:218px;padding:30px;text-align:center;color:var(--mt)}
.dash-panel-empty svg{width:25px;height:25px;margin-bottom:11px;color:var(--ok)}
.dash-panel-empty strong{font-size:12px;color:var(--tx)}
.dash-panel-empty span{max-width:280px;margin-top:5px;font-size:10.5px;line-height:1.5}
@media(max-width:980px){.dash-intelligence-grid{grid-template-columns:1fr}.dash-action-list{max-height:420px}}
@media(max-width:620px){
  .dash-panel-heading{min-height:68px;padding:14px}
  .dash-action-item{grid-template-columns:34px minmax(0,1fr) 13px;gap:9px;padding:11px 13px}
  .dash-action-icon{width:33px;height:33px}
  .dash-action-meta{grid-column:2;display:flex;justify-content:flex-start;align-items:center;min-width:0;max-width:none;margin-top:-5px}
  .dash-action-meta em{max-width:160px}
  .dash-action-chevron{grid-column:3;grid-row:1/3}
}

/* ── TABLE ──────────────────────────────────────── */
.tc{background:var(--sf);border:1px solid var(--bd);border-radius:18px;overflow:hidden}
.ttb{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--bd);flex-wrap:wrap}
.ttb h3{font-family:'Syne',sans-serif;font-size:14px;font-weight:700;flex:1;white-space:nowrap;letter-spacing:-.2px}
.sw{display:flex;align-items:center;gap:7px;background:var(--bg);border:1px solid var(--bd);border-radius:10px;padding:7px 13px;transition:border-color .15s,box-shadow .15s}
.sw:focus-within{border-color:var(--prt);box-shadow:0 0 0 3px var(--prthi)}
.sw input{border:none;outline:none;font-size:12px;width:140px;color:var(--tx);background:none}
.flt{background:var(--bg);border:1px solid var(--bd);border-radius:10px;padding:7px 11px;font-size:12px;cursor:pointer;color:var(--tx);transition:border-color .15s}
.flt:focus{outline:none;border-color:var(--prt);box-shadow:0 0 0 3px var(--prthi)}
.tw{overflow-x:auto}
.dt{width:100%;border-collapse:collapse}
.dt th{padding:11px 18px;font-family:'Inter',sans-serif;font-size:10px;font-weight:700;color:var(--mt);text-transform:uppercase;letter-spacing:.1em;background:var(--s2);border-bottom:1px solid var(--bd);text-align:center;white-space:nowrap;cursor:pointer;user-select:none;transition:color .15s}
.dt th:hover{color:var(--prt)}
.dt td{padding:13px 18px;font-size:12.5px;border-bottom:1px solid var(--dv);font-variant-numeric:tabular-nums;vertical-align:middle;line-height:1.4;text-align:center}
.dt tr:last-child td{border-bottom:none}
.dt tbody tr{transition:background .12s}
.dt tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--s2) 50%,transparent)}
.dt tbody tr:hover td{background:var(--s2)}
#perf-average-foot td{padding:12px 18px;border-top:2px solid var(--bd);border-bottom:0;background:var(--s2);font-size:11.5px;color:var(--mt)}
#perf-average-foot td:nth-child(2){text-align:left}
#perf-average-foot td:nth-child(2) strong{display:block;font-size:12px;color:var(--tx)}
#perf-average-foot td:nth-child(2) span{display:block;margin-top:2px;font-size:9px;font-weight:600;color:var(--mt)}
#perf-average-foot .perf-average-value{font:800 12px 'JetBrains Mono',monospace;color:var(--tx)}

/* ── ANALYSE ───────────────────────────────────── */
.analyse-view{min-width:0}
.analyse-toolbar{display:flex;align-items:flex-end;gap:14px;padding:14px;background:var(--sf);border:1px solid var(--bd);border-radius:16px;box-shadow:var(--shsm);flex-wrap:wrap}
.analyse-toolbar-groups{display:flex;align-items:flex-end;gap:16px;min-width:0;flex:1;flex-wrap:wrap}
.analyse-control-group{min-width:0;border:0}
.analyse-control-label{display:block;margin:0 0 6px 3px;padding:0;font-family:'Inter',sans-serif;font-size:9px;font-weight:800;line-height:1;text-transform:uppercase;letter-spacing:.1em;color:var(--mt)}
.analyse-segmented-control{display:flex;align-items:center;gap:4px;min-width:0;padding:3px;border:1px solid var(--bd);border-radius:11px;background:var(--bg)}
.analyse-filter-btn{min-height:44px;padding:8px 13px;border-color:transparent;border-radius:8px}
.analyse-filter-btn:hover{border-color:transparent}
.analyse-filter-btn.active{background:var(--prthi)!important;color:var(--prt)!important;border-color:color-mix(in srgb,var(--prt) 42%,transparent)!important;box-shadow:inset 0 -2px 0 var(--prt)}
.analyse-report-btn{min-height:44px;flex:0 0 auto}
.analyse-report-btn svg,.analyse-current-period-btn svg{flex:0 0 auto}
.analyse-period-navigation{display:flex;align-items:center;gap:10px;min-width:0}
.wsel.analyse-date-nav{display:none;align-self:flex-start;min-height:44px;padding:4px 8px}
.wsel.analyse-date-nav.is-active,.wsel.analyse-date-nav[data-state="active"]{display:flex}
.analyse-date-nav .wnav{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;border-radius:9px}
.analyse-date-nav .wnav:focus-visible,.analyse-tab:focus-visible,.analyse-definitions>summary:focus-visible{outline:2px solid var(--prt);outline-offset:2px}
.analyse-date-nav .wnav[disabled]{cursor:not-allowed}
.analyse-date-nav .wlbl{min-width:160px}
.analyse-current-period-btn{min-height:44px}
.analyse-current-period-btn[hidden],.analyse-state[hidden]{display:none!important}
.analyse-context{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(220px,.8fr) auto;gap:10px;align-items:stretch}
.analyse-context-item{min-width:0;padding:11px 13px;border:1px solid var(--bd);border-radius:13px;background:color-mix(in srgb,var(--sf) 88%,var(--s2));color:var(--mt);font-size:11px;line-height:1.5}
.analyse-context-label{display:block;margin-bottom:3px;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--prt)}
.analyse-scope p{margin:0}
.analyse-scope strong,.analyse-definitions strong{color:var(--tx);font-weight:750}
.analyse-definitions{padding:0}
.analyse-definitions>summary{display:flex;align-items:center;min-height:44px;padding:9px 32px 9px 13px;position:relative;color:var(--tx);font-weight:700;cursor:pointer;list-style:none}
.analyse-definitions>summary::-webkit-details-marker{display:none}
.analyse-definitions>summary::after{content:'+';position:absolute;right:13px;color:var(--prt);font-size:17px;line-height:1}
.analyse-definitions[open]>summary::after{content:'−'}
.analyse-definitions-content{display:grid;gap:4px;padding:0 13px 12px;border-top:1px solid var(--bd)}
.analyse-definitions-content p:first-child{padding-top:9px}
.analyse-freshness{display:flex;align-items:center;gap:8px;white-space:nowrap}
.analyse-freshness-dot{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:var(--mt);box-shadow:0 0 0 3px color-mix(in srgb,var(--mt) 13%,transparent)}
.analyse-freshness.is-fresh .analyse-freshness-dot{background:var(--ok);box-shadow:0 0 0 3px var(--okhi)}
.analyse-freshness.is-stale .analyse-freshness-dot{background:var(--or);box-shadow:0 0 0 3px var(--orhi)}
.analyse-feedback{display:grid;gap:10px}
.analyse-state{display:flex;align-items:flex-start;gap:11px;padding:13px 15px;border:1px solid var(--bd);border-radius:14px;background:var(--sf)}
.analyse-state-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex:0 0 24px;border-radius:8px;background:var(--orhi);color:var(--or);font-weight:900}
.analyse-state strong{display:block;margin-bottom:2px;font-size:12px;color:var(--tx)}
.analyse-state div div,.analyse-state p{font-size:11px;line-height:1.45;color:var(--mt)}
.analyse-state-warning{border-color:color-mix(in srgb,var(--or) 26%,var(--bd))}
.analyse-empty-state{align-items:center;justify-content:center;min-height:130px;text-align:left;border-style:dashed}
.analyse-empty-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;border-radius:13px;background:var(--prthi);color:var(--prt)}
.analyse-tabs-shell{position:sticky;top:0;z-index:8;min-width:0}
.analyse-tabs{display:flex;gap:6px;align-items:center;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:3px;background:var(--s2);border:1px solid var(--bd);border-radius:12px}
.analyse-tabs::-webkit-scrollbar{display:none}
.analyse-tab{flex:0 0 auto;min-height:44px;padding:8px 13px;border-radius:9px;font-size:12px;font-weight:700;color:var(--mt);white-space:nowrap;transition:background .16s,color .16s,box-shadow .16s}
.analyse-tab:hover{background:var(--soff);color:var(--tx)}
.analyse-tab.active{background:var(--sf);color:var(--prt);box-shadow:inset 0 -2px 0 var(--prt),0 1px 4px rgba(17,19,24,.08)}
.analyse-tab[hidden],.analyse-panel[hidden]{display:none!important}
.analyse-tabs-overflow-hint{display:none;position:absolute;right:4px;top:4px;bottom:4px;align-items:center;justify-content:flex-end;width:42px;padding-right:8px;border-radius:0 9px 9px 0;background:linear-gradient(90deg,transparent,var(--s2) 48%);color:var(--prt);font-size:22px;font-weight:700;pointer-events:none}
.analyse-panel{display:flex;flex-direction:column;gap:16px}
.analyse-panel:focus{outline:none}
.analyse-panel:focus-visible{outline:2px solid var(--prt);outline-offset:4px;border-radius:16px}
.analyse-panel-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.analyse-panel-heading h2{margin-top:2px;font-family:'Syne',sans-serif;font-size:18px;line-height:1.2;letter-spacing:-.35px}
.analyse-panel-heading p{max-width:420px;color:var(--mt);font-size:11px;line-height:1.45;text-align:right}
.analyse-panel-eyebrow{font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--prt)}
.analyse-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
.analyse-kpis .kc{min-width:0;cursor:default}
.analyse-kpis .kc:nth-child(-n+4){border-color:color-mix(in srgb,var(--ui) 24%,var(--bd));background:linear-gradient(145deg,var(--sf),color-mix(in srgb,var(--uihi) 48%,var(--sf)))}
.analyse-kpis .kc:nth-child(n+5){padding:16px 18px}
.analyse-kpis .kc:nth-child(n+5) .kval{font-size:23px}
.analyse-chart{position:relative;height:220px;min-width:0}
.analyse-chart-trend{height:260px}
.analyse-lead-trend-summary{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 10px;color:var(--mt);font-size:12px}
.analyse-lead-trend-summary strong{color:var(--tx)}
.analyse-lead-trend-note{margin-top:8px;color:var(--mt);font-size:11px;line-height:1.5}
.analyse-table-card .dt th{cursor:default}
.analyse-table-card .dt th:hover{color:var(--mt)}
.analyse-table-card .analyse-personal-insurers th,.analyse-table-card .analyse-personal-insurers td{padding-inline:10px;letter-spacing:0}
.analyse-table-card .analyse-personal-insurers .money{font-family:'JetBrains Mono',monospace;white-space:nowrap}
.analyse-table-card .analyse-personal-insurers .total-row td{background:var(--s2);font-weight:700}
#view-analyse .analyse-table-card .analyse-personal-insurers th[scope="colgroup"]{text-align:center!important}
#view-analyse .analyse-table-card .analyse-personal-insurers thead tr:last-child th{text-align:right!important}
#view-analyse .analyse-table-card .dt th:first-child,
#view-analyse .analyse-table-card .dt td:first-child,
#view-analyse .analyse-table-card .dt td:first-child>div{text-align:left!important}
#view-analyse .analyse-table-card .dt th:not(:first-child),
#view-analyse .analyse-table-card .dt td:not(:first-child),
#view-analyse .analyse-table-card .dt td:not(:first-child)>div{text-align:right!important}
#view-analyse .analyse-table-card .dt td:not(:first-child)>div{justify-content:flex-end}
#view-analyse .analyse-table-card .dt th{user-select:text}
#view-analyse #analyse-comm-closing-source-vendeur-table .dt th:not(:first-child),
#view-analyse #analyse-comm-closing-source-vendeur-table .dt td:not(:first-child),
#view-analyse #analyse-comm-closing-source-vendeur-table .dt td:not(:first-child)>div{text-align:center!important}
#view-analyse #analyse-comm-closing-source-vendeur-table .dt td:not(:first-child)>div{justify-content:center}
@media(max-width:1100px){
  .analyse-toolbar-groups{width:100%}
  .analyse-report-btn{margin-left:auto}
  .analyse-context{grid-template-columns:minmax(0,1fr) minmax(220px,1fr)}
  .analyse-freshness{grid-column:1/-1}
  .analyse-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.vendors-table th{padding:8px 12px;font-size:9px}
.vendors-table td{padding:6px 12px;font-size:11.5px;line-height:1.2}
.vendors-table .vendor-cell{display:flex;align-items:center;gap:8px;text-align:left}
.vendors-table .vendor-avatar{width:24px;height:24px;border-radius:7px;font-size:8.5px;box-shadow:none}
.vendors-table .vendor-name{font-size:11.8px;font-weight:600;line-height:1.15}
.vendors-table .bdg{padding:2px 7px;font-size:9.5px;line-height:1.15}
.vendors-table .vendor-status-cell{display:flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}
.vendors-table .vendor-actions{display:inline-flex;align-items:center;gap:1px}
.vendors-table .vendor-actions .bico{padding:3px;border-radius:6px;line-height:1}
.vendors-table .vendor-actions svg{display:block}
.mc table th,.mc table td{text-align:center!important}
.mc table td>div:not(.tel-line-track):not(.btrack):not(.spark){text-align:center!important}
.mc table input{text-align:center!important}
.late-row td:first-child{border-left:3px solid var(--er)}
.calls-frame-card{height:calc(100dvh - 112px);display:flex;flex-direction:column;min-height:520px}
.calls-frame-wrap{position:relative;flex:1;min-height:0;background:var(--s2)}
.calls-frame-wrap iframe{width:100%;height:100%;border:0;background:#fff;display:block}
.calls-readonly-cover{position:absolute;inset:0;z-index:2;display:flex;align-items:flex-start;justify-content:flex-end;padding:12px;pointer-events:auto;background:transparent}
.calls-readonly-cover div{background:rgba(17,19,24,.76);color:#fff;border-radius:999px;padding:6px 11px;font-size:11px;font-weight:800;box-shadow:0 8px 24px rgba(0,0,0,.2)}
#tb-sondage-btn,#tb-reserv-btn,#tb-comunik-btn,#tb-aide-memoire-btn,#tb-support-btn{border:1.5px solid color-mix(in srgb,var(--ui) 48%,transparent);background:var(--uihi);color:var(--uit)}
#tb-sondage-btn:hover,#tb-reserv-btn:hover,#tb-comunik-btn:hover,#tb-aide-memoire-btn:hover,#tb-support-btn:hover{background:color-mix(in srgb,var(--ui) 20%,transparent);border-color:color-mix(in srgb,var(--ui) 86%,transparent);transform:translateY(-1px);box-shadow:0 4px 16px color-mix(in srgb,var(--ui) 13%,transparent)}
.call-notif-permission{position:fixed;left:50%;bottom:18px;z-index:620;transform:translateX(-50%);display:none;align-items:center;gap:12px;width:min(620px,calc(100vw - 28px));background:var(--sf);border:1px solid var(--bd);border-left:4px solid var(--or);border-radius:14px;padding:12px 14px;box-shadow:var(--sh);color:var(--tx)}
.call-notif-permission.on{display:flex}
.call-notif-permission strong{display:block;font-size:13px;margin-bottom:2px}
.call-notif-permission span{font-size:11.5px;color:var(--mt);line-height:1.45}
.call-notif-permission .btn{margin-left:auto;flex-shrink:0}
.call-alert-banner{position:fixed;right:22px;bottom:22px;z-index:610;display:none;align-items:center;gap:12px;width:min(560px,calc(100vw - 32px));background:var(--sf);border:1px solid rgba(239,68,68,.28);border-left:4px solid var(--er);border-radius:14px;padding:12px 13px;box-shadow:var(--sh);color:var(--tx);animation:tin .2s cubic-bezier(.4,0,.2,1)}
.call-alert-banner.on{display:flex}
.call-alert-mark{width:28px;height:28px;border-radius:9px;background:var(--erhi);color:var(--er);display:flex;align-items:center;justify-content:center;font-weight:900;flex-shrink:0}
.call-alert-copy{min-width:0;display:grid;gap:2px;flex:1}
.call-alert-copy strong{font-size:13px;line-height:1.25}
.call-alert-copy span{font-size:11.5px;color:var(--mt);line-height:1.4}
.call-alert-actions{display:flex;align-items:center;gap:7px;flex-shrink:0}
.call-alert-actions .btn{height:30px;padding:0 10px;font-size:11px}

/* ── BADGES ─────────────────────────────────────── */
.bdg{display:inline-flex;align-items:center;padding:3px 9px;border-radius:20px;font-family:'Inter',sans-serif;font-size:10.5px;font-weight:700;white-space:nowrap;letter-spacing:.01em}
.bv{background:var(--okhi);color:var(--ok)}.bs{background:var(--prthi);color:var(--prt)}
.ba{background:var(--orhi);color:var(--or)}.bp{background:var(--erhi);color:var(--er)}
.bpt{background:var(--pthi);color:var(--pt)}.bcm{background:var(--cmhi);color:var(--cm)}
.bcime{background:rgba(248,113,113,.1);color:#f87171}

/* ── FORM ───────────────────────────────────────── */
.fcard{background:var(--sf);border:1px solid var(--bd);border-radius:20px;padding:30px;max-width:680px}
.fsec{font-family:'Inter',sans-serif;font-size:10px;font-weight:700;color:var(--mt);text-transform:uppercase;letter-spacing:.12em;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--bd)}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:22px}
@media(max-width:560px){.fgrid{grid-template-columns:1fr}}
.fg{display:flex;flex-direction:column;gap:6px}.fg.full{grid-column:1/-1}
.fl{font-family:'Inter',sans-serif;font-size:11px;font-weight:600;color:var(--mt);letter-spacing:.02em}
.fi{background:var(--bg);border:1.5px solid var(--bd);border-radius:10px;padding:10px 13px;font-size:13px;width:100%;transition:border-color .18s,box-shadow .18s;color:var(--tx)}
.fi:focus{outline:none;border-color:var(--prt);box-shadow:0 0 0 3px var(--prthi)}
.fi:hover:not(:focus):not(:disabled){border-color:var(--mt)}
.fi:disabled{opacity:.35;cursor:not-allowed}
.segtog{display:flex;gap:10px;margin-bottom:22px}
.sopt{flex:1;padding:12px;border:1.5px solid var(--bd);border-radius:12px;text-align:center;font-size:12.5px;font-weight:700;cursor:pointer;transition:all .18s;letter-spacing:-.1px}
.sopt.spt{border-color:var(--pt);background:var(--pthi);color:var(--pt)}
.sopt.scm{border-color:var(--cm);background:var(--cmhi);color:var(--cm)}

/* ── PERF CONTROLS ──────────────────────────────── */
.pctrl{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.wsel{display:flex;align-items:center;gap:6px;background:var(--sf);border:1px solid var(--bd);border-radius:24px;padding:7px 16px;box-shadow:var(--shsm)}
.wnav{padding:2px 9px;border-radius:8px;color:var(--mt);font-size:16px;line-height:1;transition:all .15s}
.wnav:hover:not([disabled]){background:var(--soff);color:var(--prt)}.wnav[disabled]{opacity:.2}
.wlbl{font-family:'Plus Jakarta Sans',sans-serif;font-size:13px;font-weight:700;min-width:200px;text-align:center;letter-spacing:-.1px}
.livebdg{display:inline-flex;align-items:center;gap:7px;font-family:'Inter',sans-serif;font-size:10px;font-weight:700;color:var(--ok);background:var(--okhi);padding:5px 13px;border-radius:20px;border:1px solid rgba(74,222,128,.25);letter-spacing:.03em}
.ldot{width:6px;height:6px;border-radius:50%;background:var(--ok);animation:pulse 1.5s ease-in-out infinite}
.livebdg.syncing{color:var(--pt);background:var(--pthi);border-color:rgba(96,165,250,.25)}
.livebdg.syncing .ldot{background:var(--pt)}
.livebdg.warn{color:var(--or);background:var(--orhi);border-color:rgba(251,146,60,.28)}
.livebdg.warn .ldot{background:var(--or)}
.livebdg.offline{color:var(--er);background:var(--erhi);border-color:rgba(248,113,113,.28)}
.livebdg.offline .ldot{background:var(--er);animation:none}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.2}}
.btrack{flex:1;height:5px;background:var(--soff);border-radius:5px;overflow:hidden;min-width:60px}
.bfill{height:100%;border-radius:5px;background:linear-gradient(90deg,var(--ui),var(--uih));transition:width .7s cubic-bezier(.4,0,.2,1)}
.spark{display:flex;align-items:flex-end;gap:2px;height:24px}
.spb{width:5px;border-radius:2px 2px 0 0;background:var(--ui);opacity:.9}

/* ── MODAL ──────────────────────────────────────── */
.mov{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:200;display:none;align-items:center;justify-content:center;backdrop-filter:blur(8px)}
.mov.on{display:flex;animation:fdin .18s ease}
@keyframes fdin{from{opacity:0}to{opacity:1}}
.modal{background:var(--sf);border:1px solid var(--bd);border-radius:22px;padding:28px;width:min(500px,94vw);box-shadow:var(--sh),0 0 0 1px var(--bd);max-height:92dvh;overflow-y:auto;animation:mslide .38s cubic-bezier(.34,1.56,.64,1)}
@keyframes mslide{from{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
.mhdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.mtitle{font-family:'Plus Jakarta Sans',sans-serif;font-size:17px;font-weight:700;line-height:1.3;letter-spacing:-.2px;color:var(--tx)}
.mnbox{background:var(--orhi);border-radius:12px;padding:11px 15px;font-size:11.5px;color:var(--or);margin-bottom:16px;border:1px solid rgba(251,146,60,.2)}
.mnbox strong{color:var(--tx);display:block;margin-bottom:3px;font-family:'Inter',sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.hlog{display:flex;flex-direction:column;gap:6px;max-height:220px;overflow-y:auto}
.hitem{display:flex;gap:10px;font-size:11px;padding:9px 13px;background:var(--s2);border-radius:10px;border:1px solid var(--bd)}
.htime{color:var(--mt);white-space:nowrap;flex-shrink:0;font-family:'JetBrains Mono',monospace;font-size:10px}

/* ── MISC ───────────────────────────────────────── */
.notice{background:var(--prthi);border:1px solid rgba(202,218,42,.2);border-radius:12px;padding:12px 16px;font-size:12px;color:var(--prt);display:flex;align-items:center;gap:10px}
.tag{display:inline-flex;padding:3px 9px;border-radius:20px;font-family:'Inter',sans-serif;font-size:10.5px;font-weight:600;background:var(--soff);color:var(--mt)}
.av{width:30px;height:30px;border-radius:9px;background:var(--pr);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0;box-shadow:0 2px 6px rgba(45,212,191,.2)}
#toasts{position:fixed;bottom:24px;right:24px;z-index:500;display:flex;flex-direction:column;gap:8px;pointer-events:none}
#confirm-modal{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:600;display:none;align-items:center;justify-content:center;backdrop-filter:blur(6px)}
#confirm-modal.on{display:flex}
#confirm-box{background:var(--sf);border:1px solid var(--bd);border-radius:20px;padding:28px 28px 22px;width:min(420px,92vw);box-shadow:var(--sh);display:flex;flex-direction:column;animation:cardin .25s cubic-bezier(.34,1.2,.64,1)}
#confirm-icon{width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;flex-shrink:0}
#confirm-icon.cdanger{background:var(--erhi);color:var(--er)}
#confirm-icon.cwarn{background:var(--orhi);color:var(--or)}
#confirm-icon.cinfo{background:var(--pthi);color:var(--pt)}
#confirm-title{font-size:15px;font-weight:700;color:var(--tx);margin-bottom:7px;letter-spacing:-.2px}
#confirm-msg{font-size:13px;color:var(--mt);line-height:1.55;margin-bottom:22px}
#confirm-actions{display:flex;gap:8px;justify-content:flex-end}
#sync-indicator{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;padding:4px 10px;border-radius:20px;transition:all .3s;opacity:0;pointer-events:none}
#sync-indicator.syncing{opacity:1;background:var(--pthi);color:var(--pt)}
#sync-indicator.syncing .si{animation:spin-s .8s linear infinite;display:inline-block}
#sync-indicator.siok{opacity:1;background:var(--okhi);color:var(--ok)}
#sync-indicator.sierr{opacity:1;background:var(--erhi);color:var(--er)}
@keyframes spin-s{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.toast-undo{pointer-events:auto;cursor:pointer;font-weight:700;text-decoration:underline;margin-left:8px;opacity:.85}
.toast-undo:hover{opacity:1}
.toast{background:var(--sf);border:1px solid var(--bd);border-radius:14px;padding:11px 16px;font-size:12.5px;box-shadow:var(--sh);display:flex;align-items:center;gap:9px;max-width:300px;animation:tin .2s cubic-bezier(.4,0,.2,1);font-weight:500}
.tok{border-left:3px solid var(--ok);background:color-mix(in srgb,var(--sf) 92%,var(--ok) 8%)}.terr{border-left:3px solid var(--er);background:color-mix(in srgb,var(--sf) 92%,var(--er) 8%)}.twarn{border-left:3px solid var(--or);background:color-mix(in srgb,var(--sf) 92%,var(--or) 8%)}
@keyframes tin{from{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes spin{to{transform:rotate(360deg)}}

/* ══════════════════════════════════════════════════
   MOBILE — layout complet (≤ 768px)
   Stratégie :
   • Sidebar → drawer latéral (slide depuis gauche)
   • Overlay sombre quand drawer ouvert
   • Bottom nav bar à 5 onglets icône+label
   • Topbar compacte avec hamburger + titre + actions
   • KPI grid → scroll horizontal (cartes fixes 140px)
   • Charts crow → colonne unique
   • Tables → overflow-x scroll + colonnes réduits
   • Formulaires → 1 colonne
   • Padding réduit
   • FAB "+ Nouvelle soumission" sur mobile
══════════════════════════════════════════════════ */
@media(min-width:769px) and (max-width:1600px){
  #tb{padding-inline:20px;gap:12px}
  #tbtitle{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  #tb > div{gap:6px!important}
  #tb > div > a,#tb > div > button{padding-left:9px!important;padding-right:9px!important}
  #tb-comunik-lbl,#tb-support-lbl{display:none}
}
@media(min-width:769px) and (max-width:1280px){
  #tb-aide-memoire-lbl{display:none}
}
@media(min-width:769px) and (max-width:1100px){
  #tb-sondage-lbl,#tb-reserv-lbl,#anniversary-header-message{display:none!important}
}
@media(min-width:769px) and (max-width:900px){
  #sync-text{display:none}
}

@media(max-width:768px){
  .call-alert-banner{left:14px;right:14px;bottom:82px;width:auto;align-items:flex-start;flex-wrap:wrap}
  .call-alert-actions{width:100%;justify-content:flex-end;flex-wrap:wrap}
  .call-notif-permission{left:14px;right:14px;bottom:82px;transform:none;width:auto;align-items:flex-start;flex-wrap:wrap}
  .call-notif-permission .btn{margin-left:0}
  #svc-workflow-kpi-detail-kpis{display:grid;grid-template-columns:1fr}

  /* ── Layout racine ── */
  body{flex-direction:column;height:100dvh;overflow:hidden}

  /* ── Sidebar = drawer ── */
  #sb{
    position:fixed;z-index:300;top:0;left:0;
    width:min(300px,85vw)!important;min-width:0!important;
    height:100dvh;
    transform:translateX(-100%);
    transition:transform .3s cubic-bezier(.4,0,.2,1);
    box-shadow:none;
  }
  #sb.mob-open{
    transform:translateX(0);
    box-shadow:8px 0 40px rgba(0,0,0,.25);
  }
  /* Annuler le mode col sur mobile */
  #sb.col{width:min(300px,85vw)!important;transform:translateX(-100%)}
  #sb.col.mob-open{transform:translateX(0)}
  .col .ni-label,.col .sblt,.col .sbsec{opacity:1!important;transform:none!important}
  .col .ni-badge{opacity:1!important}

  /* Drawer overlay */
  #mob-overlay{
    display:none;position:fixed;inset:0;z-index:299;
    background:rgba(0,0,0,.5);
    -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);
    animation:fdin .2s ease;
  }
  #mob-overlay.on{display:block}

  /* ── Zone principale ── */
  .mw{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}

  /* ── Sessbar masquée sur mobile ── */
  #sessbar{display:none!important}

  /* ── Topbar mobile ── */
  #tb{
    height:56px;padding:0 14px;gap:10px;
    position:relative;z-index:100;
  }
  #tb > div:last-child{
    display:flex;align-items:center;gap:6px;
    max-width:48vw;overflow-x:auto;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;
  }
  #tb > div:last-child::-webkit-scrollbar{display:none}
  #tb-hamburger{
    display:flex;align-items:center;justify-content:center;
    width:36px;height:36px;border-radius:10px;
    color:var(--mt);flex-shrink:0;
    transition:background .15s,color .15s;
  }
  #tb-hamburger:hover{background:var(--soff);color:var(--tx)}
  #tbtitle{font-size:15px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  #anniversary-header-message{padding:6px 10px;font-size:10.5px;letter-spacing:-.015em}
  #anniversary-header-message::before{display:none}
  #sync-indicator{display:none!important}
  /* Masquer le bouton desktop "Nouvelle soumission" sur mobile */
  #tb-new-btn{display:none}
  #tb-sondage-btn span#tb-sondage-lbl{display:none}
  #tb-sondage-btn{padding:7px 10px !important}
  #tb-reserv-btn span#tb-reserv-lbl{display:none}
  #tb-reserv-btn{padding:7px 10px !important}
  #tb-comunik-btn span#tb-comunik-lbl{display:none}
  #tb-comunik-btn{padding:7px 10px !important}
  #tb-support-btn span#tb-support-lbl{display:none}
  #tb-support-btn{padding:7px 10px !important}
  #late-alert{font-size:10px;padding:2px 8px}

  /* ── Contenu scrollable ── */
  .mc{
    flex:1;overflow-y:auto;
    padding:16px 14px;
    padding-bottom:calc(70px + env(safe-area-inset-bottom));
    gap:14px;
  }

  /* ── KPI grid → scroll horizontal ── */
  .kgrid{
    display:flex;flex-direction:row;
    overflow-x:auto;gap:10px;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;padding-bottom:4px;
  }
  .kgrid::-webkit-scrollbar{display:none}
  .kc{
    min-width:140px;flex-shrink:0;
    scroll-snap-align:start;
    border-radius:16px;padding:16px;
  }
  .kval{font-size:22px}

  /* ── Charts crow → colonne ── */
  .crow{grid-template-columns:1fr!important}
  .cc{padding:16px}

  /* ── Tables ── */
  .tc{border-radius:14px}
  .tw{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .dt{min-width:720px}
  .dt td,.dt th{padding:10px 12px;font-size:11.5px;white-space:nowrap}
  .tw .dt th:first-child,.tw .dt td:first-child{
    position:sticky;left:0;z-index:2;
    background:var(--sf);box-shadow:1px 0 0 var(--bd);
  }
  .tw .dt th:first-child{background:var(--s2);z-index:3}
  .tw .dt tbody tr:nth-child(even) td:first-child{background:color-mix(in srgb,var(--s2) 52%,var(--sf))}
  .ttb{padding:12px 14px;gap:8px}
  .ttb h3{font-size:13px}
  .ttb,.pctrl{
    overflow-x:auto;-webkit-overflow-scrolling:touch;
    scrollbar-width:none;align-items:flex-start;
  }
  .ttb::-webkit-scrollbar,.pctrl::-webkit-scrollbar{display:none}
  .ttb .btn,.ttb .fi,.ttb .flt,.pctrl .btn,.pctrl .fi,.pctrl .flt{flex:0 0 auto}

  /* ── Formulaires ── */
  .fgrid{grid-template-columns:1fr!important}
  .fcard{padding:20px 16px;border-radius:16px;max-width:100%}
  .segtog{flex-direction:column;gap:8px}
  .btn,.bico,.fi,.flt{min-height:40px}
  .bico{min-width:36px;justify-content:center}
  input,select,textarea{font-size:16px!important}
  textarea.fi{min-height:96px}

  /* ── Contrôles perf/analyse ── */
  .pctrl{gap:8px}
  .wlbl{min-width:140px!important;font-size:12px}
  .analyse-toolbar{align-items:stretch;padding:12px;gap:12px}
  .analyse-toolbar-groups{width:100%;flex-direction:column;align-items:stretch;gap:12px}
  .analyse-control-group{width:100%}
  .analyse-segmented-control{
    width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;
    scrollbar-width:none;scroll-snap-type:x proximity;
  }
  .analyse-segmented-control::-webkit-scrollbar{display:none}
  #view-analyse .analyse-filter-btn{flex:0 0 auto;min-height:44px;scroll-snap-align:start}
  .analyse-report-btn{width:100%;margin:0;justify-content:center}
  .analyse-period-navigation{width:100%;flex-wrap:wrap}
  .analyse-date-nav{width:100%;max-width:100%;align-self:stretch}
  .analyse-date-nav .wlbl{min-width:0!important;flex:1}
  .analyse-current-period-btn{width:100%;justify-content:center}
  .analyse-context{grid-template-columns:1fr}
  .analyse-freshness{grid-column:auto;white-space:normal}
  .analyse-panel-heading{align-items:flex-start;flex-direction:column;gap:5px}
  .analyse-panel-heading p{max-width:none;text-align:left}
  #view-analyse .analyse-kpis{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
    overflow:visible;gap:10px;padding-bottom:0;scroll-snap-type:none;
  }
  #view-analyse .analyse-kpis .kc{min-width:0;flex-shrink:1;padding:14px}
  #view-analyse .analyse-kpis .kc:nth-child(n+5){padding:13px}
  #view-analyse .analyse-kpis .kval{
    font-size:clamp(17px,5.2vw,22px);line-height:1.15;
    white-space:normal;overflow-wrap:anywhere;
  }
  #view-analyse .analyse-kpis .kc:nth-child(n+5) .kval{font-size:clamp(16px,4.8vw,20px)}
  .analyse-chart{height:230px}
  .analyse-chart-trend{height:245px}
  .analyse-chart-card{padding:15px}
  .analyse-tabs-shell{top:-1px}

  /* ── Modals ── */
  .modal{
    width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important;
    margin:0;border-radius:22px;
    position:relative;inset:auto;
    max-height:calc(100dvh - 24px);
    animation:mob-modal-in .32s cubic-bezier(.34,1.2,.64,1);
    padding-bottom:calc(24px + env(safe-area-inset-bottom));
  }
  @keyframes mob-modal-in{
    from{opacity:0;transform:translateY(40px)}
    to{opacity:1;transform:translateY(0)}
  }
  .mov{align-items:center!important;padding:12px!important}
  .mc,.tw,.modal,#sb{overscroll-behavior:contain}

  /* ── Bottom nav bar ── */
  #mob-nav{
    display:flex;
    position:fixed;bottom:0;left:0;right:0;z-index:200;
    height:calc(58px + env(safe-area-inset-bottom));
    padding-bottom:env(safe-area-inset-bottom);
    background:var(--sf);
    border-top:1px solid var(--bd);
    -webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);
  }
  [data-theme="light"] #mob-nav{background:rgba(255,255,255,.88)}
  [data-theme="dark"] #mob-nav{background:rgba(39,45,61,.88)}
  .mob-tab{
    flex:1;display:flex;flex-direction:column;
    align-items:center;justify-content:center;
    gap:3px;color:var(--mt);cursor:pointer;
    padding:6px 4px 0;
    text-decoration:none;
    transition:color .15s;
    position:relative;
    -webkit-tap-highlight-color:transparent;
  }
  .mob-tab svg{width:20px;height:20px;stroke-width:1.8;flex-shrink:0}
  .mob-tab span{font-size:9.5px;font-weight:600;letter-spacing:.01em;font-family:'Inter',sans-serif}
  .mob-tab.on{color:var(--prt)}
  .mob-tab.on::before{
    content:'';position:absolute;top:0;left:20%;right:20%;
    height:2px;background:linear-gradient(90deg,var(--pr),var(--pt));
    border-radius:0 0 3px 3px;
  }
  .mob-tab .mob-badge{
    position:absolute;top:4px;right:calc(50% - 14px);
    min-width:16px;height:16px;padding:0 4px;
    background:var(--er);color:#fff;
    border-radius:10px;font-size:9px;font-weight:700;
    display:none;align-items:center;justify-content:center;
  }
  .mob-tab .mob-badge.on{display:flex}

  /* ── FAB nouvelle soumission ── */
  #mob-fab{
    display:flex;
    position:fixed;right:16px;
    bottom:calc(70px + env(safe-area-inset-bottom));
    z-index:201;
    width:48px;height:48px;border-radius:50%;
    background:linear-gradient(135deg,var(--pr),var(--prh));
    color:#fff;align-items:center;justify-content:center;
    box-shadow:0 4px 16px rgba(13,148,136,.4);
    transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s;
    -webkit-tap-highlight-color:transparent;
  }
  #mob-fab:active{transform:scale(.92);box-shadow:0 2px 8px rgba(13,148,136,.3)}
  #mob-fab svg{width:22px;height:22px}

  /* ── Sidebar col-btn masqué sur mobile ── */
  #col-btn{display:none}

  /* ── Gestion kanban ── */
  #gest-table > div{
    grid-template-columns:1fr!important;
  }

  /* ── Finitions écrans denses ── */
  #leads-stats-row{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  #leads-panel-actifs > div:first-child{gap:8px!important}
  #leads-search{width:100%!important}
  #svc-boni-filter-wrap,
  #perf-seg-filter,
  #perf-date-filter,
  #analyse-month-nav,
  #analyse-week-nav,
  #comm-month-nav,
  #gest-month-nav{
    overflow-x:auto;-webkit-overflow-scrolling:touch;
    scrollbar-width:none;flex-wrap:nowrap!important;
    max-width:100%;
  }
  #svc-boni-filter-wrap::-webkit-scrollbar,
  #perf-seg-filter::-webkit-scrollbar,
  #perf-date-filter::-webkit-scrollbar,
  #analyse-month-nav::-webkit-scrollbar,
  #analyse-week-nav::-webkit-scrollbar,
  #comm-month-nav::-webkit-scrollbar,
  #gest-month-nav::-webkit-scrollbar{display:none}
  #svc-view-workflow > div:first-child,
  #svc-view-telephone > div:first-child,
  #svc-view-bonification > div:first-child{
    justify-content:flex-start!important;
    overflow-x:auto;-webkit-overflow-scrolling:touch;
    padding-bottom:2px;scrollbar-width:none;
  }
  #svc-view-workflow > div:first-child::-webkit-scrollbar,
  #svc-view-telephone > div:first-child::-webkit-scrollbar,
  #svc-view-bonification > div:first-child::-webkit-scrollbar{display:none}
  #svc-view-workflow select,
  #svc-view-telephone select,
  #svc-view-bonification select{min-width:max-content}
  #obj-part-preview,#obj-comm-preview{min-width:680px}

  /* ── View animations plus rapides ── */
  .view.on>*{animation-duration:.18s}
}

@media(max-width:640px){
  .analyse-tabs{padding-right:38px}
  .analyse-tabs-overflow-hint{display:flex}
}

@media(max-width:480px){
  #anniversary-header-message{display:none!important}
  .mc{padding:14px 12px;padding-bottom:calc(70px + env(safe-area-inset-bottom))}
  .kc{min-width:132px;padding:14px}
  .kval{font-size:20px}
  .klbl{font-size:9px}
  .analyse-state{padding:12px}
  .analyse-empty-state{flex-direction:column;text-align:center}
  .analyse-filter-btn{padding-inline:11px}
  .tel-line-row{grid-template-columns:1fr auto;gap:7px}
  .tel-line-track{grid-column:1/-1}
  .tel-line-count{font-size:11px}
  .mob-tab span{font-size:8.8px}
  #tb{padding:0 10px}
  #tb > div:last-child{max-width:44vw}
}

/* Tablette (769–1024px) */
@media(min-width:769px) and (max-width:1024px){
  #sb{width:248px!important;min-width:248px!important}
  .kgrid{grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:10px}
  .mc{padding:18px}
  .crow{grid-template-columns:1fr 1fr}
  #mob-nav,#mob-fab,#mob-overlay,#tb-hamburger{display:none!important}
}

/* Desktop — sidebar toujours 248px, jamais écrasée */
@media(min-width:769px){
  #sb{width:248px!important;min-width:248px!important;transform:none!important;position:relative!important}
  #sb.col{width:64px!important;min-width:64px!important}
}

/* Desktop — masquer les éléments mobiles */
@media(min-width:769px){
  #mob-nav{display:none}
  #mob-fab{display:none}
  #mob-overlay{display:none}
  #tb-hamburger{display:none}
  #tb-new-btn{display:inline-flex}
  #tb-mobile-actions,#mob-actions-sheet,#pwa-install-banner,#pwa-install-modal,#pwa-sidebar-install,#pwa-login-install{display:none!important}
}

/* ── SKELETON LOADING ────────────────────────────── */
@keyframes skpulse{0%,100%{opacity:.5}50%{opacity:1}}
.sk{background:var(--dv);border-radius:8px;animation:skpulse 1.4s ease-in-out infinite}
.sk-kgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(172px,1fr));gap:14px}
.sk-kc{background:var(--sf);border:1px solid var(--bd);border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:12px}
.sk-lbl{height:10px;width:55%;background:var(--dv);border-radius:6px;animation:skpulse 1.4s ease-in-out infinite}
.sk-val{height:28px;width:70%;background:var(--dv);border-radius:6px;animation:skpulse 1.4s ease-in-out infinite;animation-delay:.15s}
.sk-row{height:44px;background:var(--dv);border-radius:10px;animation:skpulse 1.4s ease-in-out infinite}
.sk-row:nth-child(2){animation-delay:.1s}.sk-row:nth-child(3){animation-delay:.2s}.sk-row:nth-child(4){animation-delay:.3s}
.sk-chart{background:var(--sf);border:1px solid var(--bd);border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:14px}
.sk-chart-bar{height:160px;background:var(--dv);border-radius:10px;animation:skpulse 1.4s ease-in-out infinite;animation-delay:.2s}
/* ── FOCUS RINGS UNIFIÉS ─────────────────────────── */
.btn:focus-visible{outline:2px solid var(--pr);outline-offset:2px}
.bico:focus-visible{outline:2px solid var(--pr);outline-offset:2px}
.ni:focus-visible{outline:2px solid var(--pr);outline-offset:2px}
/* ── BOUTON PRIMAIRE — press effect ─────────────── */
.bpr:active{transform:translateY(1px) scale(.98);box-shadow:0 1px 4px rgba(202,218,42,.2)}
/* ── NAV ITEM ACTIF — inner glow ────────────────── */
.ni.on{background:rgba(202,218,42,.14);color:#CADA2A;font-weight:600;box-shadow:none}
/* ── TABLE HEADER sticky ─────────────────────────── */
.dt thead{position:sticky;top:0;z-index:1}

/* ── RÉTENTION COMMERCIALE ─────────────────────── */
#retc-root{display:flex;flex-direction:column;gap:16px;min-width:0}
#svc-view-retention{display:flex;flex-direction:column;gap:16px;min-width:0}
#svc-view-retention .retc-head{background:linear-gradient(135deg,var(--sf),color-mix(in srgb,var(--pthi) 72%,var(--sf)))}
#svc-view-retention .retc-head::after{border-color:color-mix(in srgb,var(--pt) 9%,transparent)}
#svc-view-retention .retc-eyebrow span{background:var(--pthi);color:var(--pt)}
#svc-view-retention .retc-target strong{color:var(--pt)}
.retc-head{position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:22px 24px;border:1px solid var(--bd);border-radius:20px;background:linear-gradient(135deg,var(--sf),color-mix(in srgb,var(--cmhi) 72%,var(--sf)));box-shadow:var(--shsm)}
.retc-head::after{content:'';position:absolute;right:-75px;top:-105px;width:260px;height:260px;border-radius:50%;border:54px solid color-mix(in srgb,var(--cm) 9%,transparent);pointer-events:none}
.retc-head>div{position:relative;z-index:1}
.retc-eyebrow{display:flex;align-items:center;gap:8px;margin-bottom:8px;color:var(--mt);font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.retc-eyebrow span{padding:4px 8px;border-radius:999px;background:var(--cmhi);color:var(--cm);letter-spacing:.06em}
.retc-head h2{font-family:'Syne',sans-serif;font-size:23px;line-height:1.15;letter-spacing:-.5px}
.retc-target{display:flex;flex-direction:column;align-items:flex-end;min-width:126px}
.retc-target span{font-size:10px;color:var(--mt);font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.retc-target strong{font-family:'Syne',sans-serif;font-size:34px;color:var(--cm);letter-spacing:-1px}
.retc-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border:1px solid var(--bd);border-radius:15px;background:var(--sf);box-shadow:var(--shsm)}
.retc-period,.retc-toolbar-actions{display:flex;align-items:center;gap:8px}
.retc-toolbar .bico{width:34px;height:34px;border:1px solid var(--bd);background:var(--s2)}
.retc-toolbar .bico svg,.retc-toolbar .btn svg{width:15px;height:15px}
.retc-period-label{display:flex;align-items:baseline;justify-content:center;gap:6px;min-width:146px;padding:5px 12px;border-radius:10px;transition:background .15s}
.retc-period-label:hover{background:var(--s2)}
.retc-period-label strong{font-size:13px}.retc-period-label span{font-size:12px;color:var(--mt)}
.retc-status{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;font-size:11px;font-weight:750;white-space:nowrap}
.retc-status svg{width:14px;height:14px}
.retc-status-good{background:var(--okhi);color:var(--ok)}
.retc-status-warn{background:var(--orhi);color:var(--or)}
.retc-status-neutral{background:var(--s2);color:var(--mt)}
.retc-tabs{display:inline-flex;align-self:flex-start;gap:4px;padding:4px;border-radius:13px;border:1px solid var(--bd);background:var(--sf);box-shadow:var(--shsm)}
.retc-tab{display:flex;align-items:center;gap:7px;padding:8px 13px;border-radius:9px;color:var(--mt);font-size:12px;font-weight:650;transition:all .17s}
.retc-tab svg{width:15px;height:15px}.retc-tab:hover{color:var(--tx);background:var(--s2)}
.retc-tab.on{color:var(--prt);background:var(--prhi);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--pr) 30%,transparent)}
.retc-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.retc-kpi{position:relative;overflow:hidden;min-width:0;padding:15px 16px;border:1px solid color-mix(in srgb,var(--ui) 22%,var(--bd));border-radius:15px;background:var(--sf);box-shadow:var(--shsm)}
.retc-kpi::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--ui)}
.retc-kpi-label{color:var(--mt);font-size:10px;font-weight:700;letter-spacing:.015em;text-transform:none;line-height:1.3}
.retc-kpi-value{margin-top:8px;font-family:'Inter','Plus Jakarta Sans',sans-serif;font-size:22px;font-weight:600;letter-spacing:-.2px;line-height:1.2;font-variant-numeric:tabular-nums}
.retc-kpi-good .retc-kpi-value{color:var(--ok)}.retc-kpi-warn .retc-kpi-value{color:var(--or)}.retc-kpi-bad .retc-kpi-value{color:var(--er)}
.retc-kpi-note{margin-top:5px;color:var(--mt);font-size:10px;line-height:1.35}
.retc-kpi-note:empty{display:none}
.retc-content{min-width:0}
.retc-loading{display:grid;gap:12px;padding:22px;border:1px solid var(--bd);border-radius:18px;background:var(--sf)}
.retc-loading .sk-val{width:260px;max-width:70%}
.retc-setup{display:flex;align-items:flex-start;gap:18px;padding:24px;border:1px solid color-mix(in srgb,var(--cm) 24%,var(--bd));border-radius:18px;background:linear-gradient(135deg,var(--sf),color-mix(in srgb,var(--cmhi) 45%,var(--sf)))}
.retc-setup-icon{display:flex;align-items:center;justify-content:center;width:46px;height:46px;flex:0 0 auto;border-radius:14px;background:var(--cmhi);color:var(--cm)}
.retc-setup-icon svg{width:22px;height:22px}.retc-setup h3{font-family:'Syne',sans-serif;font-size:17px}.retc-setup p{max-width:760px;margin-top:7px;color:var(--mt);font-size:12px;line-height:1.65}
.retc-setup-fields{display:flex;gap:12px;align-items:center;margin-top:14px;padding:10px 12px;border-radius:10px;background:var(--s2);font-size:11px}.retc-setup-fields span{color:var(--mt)}
.retc-error{max-width:900px;margin-top:12px;padding:9px 11px;border-radius:9px;background:var(--erhi);color:var(--er);font-family:'JetBrains Mono',monospace;font-size:10px;line-height:1.45;overflow-wrap:anywhere}
.retc-warning{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px;padding:11px 13px;border:1px solid color-mix(in srgb,var(--or) 25%,var(--bd));border-radius:12px;background:var(--orhi);color:var(--or)}
.retc-warning>svg{width:17px;height:17px;flex:0 0 auto;margin-top:1px}.retc-warning div{display:flex;flex-direction:column;gap:2px}.retc-warning strong{font-size:11px}.retc-warning span{font-size:10px;color:var(--mt)}
.retc-table-wrap{overflow:auto;border:1px solid var(--bd);border-radius:16px;background:var(--sf);box-shadow:var(--shsm);overscroll-behavior-x:contain;overscroll-behavior-y:auto}
.retc-table{min-width:1540px}.retc-table th{cursor:default;white-space:nowrap;font-size:9px}.retc-table td{vertical-align:middle;padding:9px 8px}
.retc-table tbody tr:hover{background:color-mix(in srgb,var(--cmhi) 35%,transparent)}
.retc-seller{min-width:154px;border-right:1px solid var(--bd);background:color-mix(in srgb,var(--s2) 65%,var(--sf))!important}
.retc-seller strong,.retc-seller span{display:block}.retc-seller strong{font-size:11px}.retc-seller span{margin-top:3px;color:var(--mt);font-size:9px}
.retc-group-start>td{border-top:5px solid var(--bg)}
.retc-seller-group{border-left:0;background:color-mix(in srgb,var(--s2) 78%,var(--sf))!important}
.retc-portfolio-cell{box-shadow:none!important}
.retc-scope{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:9px;font-weight:750}.retc-scope-cabinet{background:var(--cmhi);color:var(--cm)}.retc-scope-courtier{background:var(--pthi);color:var(--pt)}
.retc-num,.retc-note{width:100%;border:1px solid var(--bd);border-radius:8px;background:var(--s2);transition:border-color .15s,box-shadow .15s,background .15s}
.retc-num{min-width:122px;padding:8px 9px;text-align:right;font-family:'JetBrains Mono',monospace;font-size:11px}
.retc-note{min-width:185px;resize:vertical;padding:7px 8px;font-size:10px;line-height:1.4}
.retc-num:focus,.retc-note:focus{outline:none;border-color:var(--cm);background:var(--sf);box-shadow:0 0 0 3px var(--cmhi)}
.retc-num:disabled,.retc-note:disabled{opacity:.72;cursor:not-allowed}
.retc-calc{min-width:94px;text-align:right;font-family:'JetBrains Mono',monospace;font-size:10px}
.retc-rate-good{color:var(--ok)}.retc-rate-warn{color:var(--or)}.retc-rate-bad{color:var(--er)}.retc-rate-neutral{color:var(--mt)}
.retc-loss{color:var(--er);font-weight:700}.retc-gain{color:var(--ok);font-weight:700}.retc-muted{color:var(--mt)}
.retc-sales-link{display:flex;flex-direction:column;align-items:flex-end;min-width:90px;padding:4px 6px;border-radius:7px;font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:700;color:var(--pt);transition:background .15s}.retc-sales-link:hover{background:var(--pthi)}.retc-sales-link span{margin-top:2px;color:var(--mt);font-family:'Plus Jakarta Sans',sans-serif;font-size:8.5px;font-weight:600}
.retc-entry-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 4px 0;color:var(--mt);font-size:10px;line-height:1.5}.retc-lock{display:flex;align-items:center;gap:6px;color:var(--ok);white-space:nowrap}.retc-lock svg{width:14px;height:14px}
.retc-empty{display:flex;min-height:210px;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:24px;border:1px dashed var(--bd);border-radius:18px;background:var(--sf);text-align:center}.retc-empty svg{width:28px;height:28px;margin-bottom:4px;color:var(--cm)}.retc-empty strong{font-family:'Syne',sans-serif;font-size:15px}.retc-empty span{color:var(--mt);font-size:11px}
.retc-analysis-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.retc-chart-card{padding:17px}.retc-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.retc-card-head>div{display:flex;flex-direction:column;gap:3px}.retc-card-head strong{font-family:'Syne',sans-serif;font-size:13px}.retc-card-head span{color:var(--mt);font-size:9.5px}.retc-chart{height:285px}.retc-chart-wide{height:320px}
.retc-risk,.retc-heatmap-card{margin-top:14px;padding:17px}.retc-risk .tw{max-height:none}.retc-risk .dt th{cursor:default}.retc-risk .dt td{padding:9px 8px;font-size:10px}
.retc-risk-table .retc-seller{min-width:150px}
.retc-annual-chart{margin-top:14px}.retc-heatmap{min-width:1180px}.retc-heatmap th{cursor:default;text-align:center}.retc-heatmap th:first-child,.retc-heatmap th:nth-child(2){text-align:left}.retc-heatmap td{padding:8px 6px;text-align:center;font-size:9px}.retc-heatmap .retc-seller,.retc-heatmap .retc-portfolio-cell{text-align:left;white-space:nowrap}
.retc-heat{min-width:48px;font-family:'JetBrains Mono',monospace;font-weight:750;border-left:2px solid var(--sf)}.retc-heat-good{background:var(--okhi);color:var(--ok)}.retc-heat-warn{background:var(--orhi);color:var(--or)}.retc-heat-bad{background:var(--erhi);color:var(--er)}.retc-heat-empty{background:var(--s2);color:var(--ft)}
.retc-annual-rate{min-width:118px;text-align:center!important;background:color-mix(in srgb,var(--s2) 72%,var(--sf))}.retc-annual-rate strong,.retc-annual-rate span{display:block;white-space:nowrap}.retc-annual-rate strong{font-family:'JetBrains Mono',monospace;font-size:11px}.retc-annual-rate span{margin-top:3px;color:var(--mt);font-size:8px}
.retc-annual-note{padding:11px 4px;color:var(--mt);font-size:10px}
@media(min-width:641px){.retc-risk .tw{overflow:visible}.retc-risk-table{min-width:0;table-layout:fixed}.retc-risk-table th{padding:10px 7px;white-space:normal;line-height:1.3}.retc-risk-table th:nth-child(1){width:16%}.retc-risk-table th:nth-child(2){width:11%}.retc-risk-table th:nth-child(3){width:10%}.retc-risk-table th:nth-child(4){width:10%}.retc-risk-table th:nth-child(5){width:16%}.retc-risk-table th:nth-child(6){width:13%}.retc-risk-table th:nth-child(7){width:11%}.retc-risk-table th:nth-child(8){width:13%}}
.retc-modal-backdrop{position:fixed;inset:0;z-index:750;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(8,10,18,.65);backdrop-filter:blur(4px);animation:retc-fade .16s ease-out}
@keyframes retc-fade{from{opacity:0}to{opacity:1}}
.retc-modal{position:relative;width:min(920px,96vw);max-height:min(760px,92dvh);overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--bd);border-radius:20px;background:var(--sf);box-shadow:0 30px 90px rgba(0,0,0,.4)}
.retc-modal-small{width:min(570px,96vw)}.retc-modal-close{position:absolute;z-index:2;right:15px;top:15px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9px;color:var(--mt);transition:background .15s}.retc-modal-close:hover{background:var(--s2);color:var(--tx)}.retc-modal-close svg{width:18px;height:18px}
.retc-modal-head{padding:22px 54px 17px 22px;border-bottom:1px solid var(--bd)}.retc-modal-head>span{font-size:9px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--cm)}.retc-modal-head h3{margin-top:4px;font-family:'Syne',sans-serif;font-size:19px}.retc-modal-head p{margin-top:5px;color:var(--mt);font-size:10px}
.retc-modal-table{overflow:auto}.retc-modal-table table{min-width:720px}.retc-modal-table th{cursor:default}.retc-modal-table td span{display:block;margin-top:2px;color:var(--mt);font-size:8px}.retc-modal-empty{padding:28px!important;text-align:center!important;color:var(--mt)}
.retc-modal-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:auto;padding:13px 18px;border-top:1px solid var(--bd);background:var(--s2)}.retc-modal-foot>span{color:var(--mt);font-size:9px}.retc-modal-foot>div{display:flex;gap:8px}
.retc-config-list{overflow:auto;display:grid;gap:7px;padding:14px 18px}.retc-config-row{display:flex;align-items:center;gap:11px;padding:10px 12px;border:1px solid var(--bd);border-radius:11px;cursor:pointer;transition:background .15s,border-color .15s}.retc-config-row:hover{background:var(--s2);border-color:color-mix(in srgb,var(--cm) 35%,var(--bd))}.retc-config-row input{width:16px;height:16px;accent-color:var(--cm)}.retc-config-row span{display:flex;flex-direction:column;gap:2px}.retc-config-row strong{font-size:11px}.retc-config-row small{color:var(--mt);font-size:9px}
.retc-config-target{padding:16px 18px 4px}.retc-config-target label{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 14px;border:1px solid color-mix(in srgb,var(--cm) 28%,var(--bd));border-radius:12px;background:var(--cmhi)}.retc-config-target label>span:first-child{display:flex;flex-direction:column;gap:3px}.retc-config-target strong{font-size:11px}.retc-config-target small{color:var(--mt);font-size:9px}.retc-config-target-input{display:flex;align-items:center;gap:6px}.retc-config-target-input input{width:92px;padding:8px 9px;border:1px solid var(--bd);border-radius:8px;background:var(--sf);text-align:right;font-family:'JetBrains Mono',monospace;font-weight:700}.retc-config-target-input input:focus{outline:none;border-color:var(--cm);box-shadow:0 0 0 3px var(--cmhi)}.retc-config-target-input b{color:var(--cm);font-size:12px}.retc-config-subhead{display:flex;flex-direction:column;gap:3px;padding:16px 18px 0}.retc-config-subhead strong{font-family:'Syne',sans-serif;font-size:12px}.retc-config-subhead span{color:var(--mt);font-size:9px}

/* ── RÉTENTION PARTICULIERS ───────────────────── */
.retp-root{display:flex;flex-direction:column;gap:16px;min-width:0}
.retp-entry-mode{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid var(--bd);border-radius:13px;background:var(--sf)}
.retp-entry-mode>strong{font-family:'Syne',sans-serif;font-size:12px}.retp-entry-mode>div{display:flex;gap:7px}.retp-entry-mode .btn{padding:7px 11px;font-size:9px}.retp-entry-mode .btn:disabled{opacity:.7}
.retp-manual-rate-card{max-width:460px;margin-top:14px;padding:18px}.retp-manual-rate-card>label{display:flex;flex-direction:column;gap:7px}.retp-manual-rate-card>label>span{color:var(--mt);font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.retp-manual-rate-input{display:flex;align-items:center;gap:8px}.retp-manual-rate-input .retc-num{min-width:0;font-size:16px;font-weight:800}.retp-manual-rate-input b{color:var(--cm);font-size:15px}
.retp-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.retp-entry-card,.retp-reasons-card,.retp-sales-card,.retp-note-card{padding:17px}
.retp-entry-card .retc-card-head,.retp-reasons-card .retc-card-head,.retp-sales-card .retc-card-head,.retp-note-card .retc-card-head{margin-bottom:12px}
.retp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(135px,1fr));gap:10px}
.retp-form-grid label{display:flex;min-width:0;flex-direction:column;gap:5px}
.retp-form-grid label>span{color:var(--mt);font-size:9px;font-weight:750;letter-spacing:.04em;text-transform:uppercase}
.retp-form-grid .retc-num{min-width:0}
.retp-calc-value{display:flex;min-height:58px;flex-direction:column;justify-content:center;gap:5px;padding:9px 11px;border:1px solid var(--bd);border-radius:10px;background:var(--s2)}
.retp-calc-value span{color:var(--mt);font-size:9px;font-weight:700}.retp-calc-value strong{font-family:'JetBrains Mono',monospace;font-size:13px}
.retp-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:14px}
.retp-check{display:flex;align-items:flex-start;gap:9px;min-width:0;padding:10px 11px;border:1px solid var(--bd);border-radius:11px;background:var(--sf)}
.retp-check>svg{width:16px;height:16px;flex:0 0 auto;margin-top:1px}.retp-check>span{display:flex;min-width:0;flex-direction:column;gap:2px}.retp-check strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9.5px}.retp-check small{font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--mt)}
.retp-check-good{border-color:color-mix(in srgb,var(--ok) 25%,var(--bd));background:var(--okhi);color:var(--ok)}
.retp-check-warn{border-color:color-mix(in srgb,var(--or) 28%,var(--bd));background:var(--orhi);color:var(--or)}
.retp-check-bad{border-color:color-mix(in srgb,var(--er) 25%,var(--bd));background:var(--erhi);color:var(--er)}
.retp-check-neutral{color:var(--mt)}
.retp-reasons-card,.retp-sales-card,.retp-note-card{margin-top:14px}
.retp-reasons-card .retc-table-wrap{border-radius:12px;box-shadow:none}.retp-reasons-table{min-width:720px}
.retp-reasons-table th{cursor:default}.retp-reasons-table td{vertical-align:middle}.retp-reasons-table td:nth-child(1){width:70px}.retp-reasons-table td:nth-child(3){width:160px}.retp-reasons-table td:nth-child(4){width:190px}
.retp-reasons-table tfoot td{padding:11px 12px;border-top:2px solid var(--bd);background:var(--s2);text-align:right;font-family:'JetBrains Mono',monospace;font-size:10px}
.retp-reason-code{display:inline-flex;align-items:center;justify-content:center;min-width:42px;padding:4px 7px;border-radius:7px;background:var(--s2);color:var(--tx);font-family:'JetBrains Mono',monospace;font-size:9px;font-weight:800}
.retp-reason-code-alert{background:var(--erhi);color:var(--er)}
.retp-reason-separate td{border-top:2px solid var(--bd);background:color-mix(in srgb,var(--pthi) 55%,var(--sf))}.retp-reason-separate small{display:block;margin-top:3px;color:var(--mt);font-size:8.5px}.retp-not-applicable{display:block;text-align:center;color:var(--mt);font-size:14px}
.retp-sales-card .tw{max-height:410px;border:1px solid var(--bd);border-radius:12px}.retp-sales-card .dt th{cursor:default}.retp-sales-card .dt tfoot td{padding:10px 12px;border-top:2px solid var(--bd);background:var(--s2)}
.retp-sales-actions{display:flex;align-items:center;gap:8px}.retp-sales-actions .btn{padding:7px 10px;font-size:9px}.retp-sales-actions .btn svg{width:13px;height:13px}
.retp-epic-badge{margin-left:7px;vertical-align:middle}.retp-epic-value{display:flex;flex-direction:column;gap:2px}.retp-epic-value small,.retp-epic-total-note{display:block;margin-top:2px;color:var(--mt);font-size:8px;font-weight:600}.retp-epic-total-note{font-family:'Plus Jakarta Sans',sans-serif}
.retp-epic-modal{width:min(1040px,96vw)}.retp-epic-table{min-width:900px}.retp-epic-table td{vertical-align:middle}.retp-epic-input{width:125px;padding:8px 9px;border:1px solid var(--bd);border-radius:8px;background:var(--sf);color:var(--tx);text-align:right;font-family:'JetBrains Mono',monospace;font-size:10px}.retp-epic-input:focus{outline:none;border-color:var(--cm);box-shadow:0 0 0 3px var(--cmhi)}.retp-epic-input::placeholder{color:var(--ft)}.retp-epic-clear{color:var(--er)}
.retp-history-modal{width:min(1080px,96vw)}.retp-history-table{min-width:980px}.retp-history-table td{vertical-align:middle}.retp-history-table .btn{padding:7px 10px;font-size:9px}.retp-history-rate strong{font-family:'JetBrains Mono',monospace;color:var(--cm);white-space:nowrap}.retp-history-note{max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.retp-history-detail{min-height:0;overflow:auto;padding:18px}.retp-history-values{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px;margin-bottom:16px}.retp-history-values>div{display:flex;flex-direction:column;gap:5px;padding:11px;border:1px solid var(--bd);border-radius:10px;background:var(--s2)}.retp-history-values span,.retp-history-full-note>span{color:var(--mt);font-size:8.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.retp-history-values strong{font-family:'JetBrains Mono',monospace;font-size:11px}.retp-history-reasons{max-height:none;border:1px solid var(--bd);border-radius:12px}.retp-history-reasons table{min-width:680px}.retp-history-full-note{margin-top:14px;padding:13px 14px;border:1px solid var(--bd);border-radius:11px;background:var(--s2)}.retp-history-full-note p{margin-top:6px;white-space:pre-wrap;color:var(--tx);font-size:10px;line-height:1.55}
.retp-note-card .retc-note{min-width:0;width:100%;min-height:82px}
.retp-year-period .bico:disabled{opacity:.38;cursor:not-allowed}
.retp-year-label{display:flex;align-items:center;gap:8px;min-width:146px;padding:4px 6px 4px 11px;border:1px solid var(--bd);border-radius:10px;background:var(--s2)}
.retp-year-label>span{color:var(--mt);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.retp-year-select{min-width:74px;margin-left:auto;padding:4px 22px 4px 7px;border:0;border-radius:7px;background:var(--sf);color:var(--tx);font-family:'Syne',sans-serif;font-size:13px;font-weight:800;cursor:pointer}.retp-year-select:focus{outline:2px solid var(--prhi);outline-offset:1px}
.retp-historical-note{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--pt) 24%,var(--bd));border-radius:13px;background:var(--pthi);color:var(--pt)}
.retp-historical-note>svg{width:17px;height:17px;flex:0 0 auto;margin-top:1px}.retp-historical-note>div{display:flex;flex-direction:column;gap:3px}.retp-historical-note strong{font-size:11px}.retp-historical-note span{color:var(--mt);font-size:9.5px;line-height:1.45}
.retp-historical-table{min-width:520px}.retp-historical-table th{cursor:default}.retp-historical-table th:not(:first-child),.retp-historical-table td:not(:first-child){text-align:center}.retp-historical-table td{font-size:10px}.retp-historical-table .retc-heat{width:34%}

@media(max-width:1250px){
  .retc-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .retc-toolbar{align-items:flex-start}.retc-toolbar-actions{flex-wrap:wrap;justify-content:flex-end}
  .retp-checks{grid-template-columns:1fr}
}
@media(max-width:900px){
  .retc-head{align-items:flex-start}.retc-target{align-items:flex-start}.retc-analysis-grid{grid-template-columns:1fr}
  .retc-toolbar{flex-direction:column}.retc-toolbar-actions{width:100%;justify-content:flex-start}.retc-entry-foot{align-items:flex-start;flex-direction:column}
  .retp-summary-grid{grid-template-columns:1fr}
}
@media(max-width:768px){
  .retc-head{padding:18px;flex-direction:column;gap:14px}.retc-head h2{font-size:19px}.retc-target{flex-direction:row;align-items:baseline;gap:8px}.retc-target strong{font-size:26px}
  .retc-period{width:100%;justify-content:space-between}.retc-period-label{flex:1}.retc-toolbar-actions{overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px;scrollbar-width:none}.retc-toolbar-actions::-webkit-scrollbar{display:none}.retc-status{flex:0 0 auto}
  .retc-tabs{width:100%;overflow-x:auto;scrollbar-width:none}.retc-tabs::-webkit-scrollbar{display:none}.retc-tab{flex:1;justify-content:center;white-space:nowrap}
  .retc-kpis{display:flex;overflow-x:auto;gap:9px;padding-bottom:3px;scrollbar-width:none}.retc-kpis::-webkit-scrollbar{display:none}.retc-kpi{min-width:176px}
  .retc-setup{padding:18px;flex-direction:column}.retc-setup-fields{align-items:flex-start;flex-direction:column;gap:4px}
  .retc-chart{height:245px}.retc-chart-wide{height:280px}.retc-modal-backdrop{align-items:center;padding:12px}.retc-modal{width:100%;max-height:calc(100dvh - 24px);border-radius:20px}
  .retp-year-label{flex:1}.retp-year-select{flex:1}
}
@media(max-width:520px){
  .retc-tab{padding:8px 10px;font-size:10px}.retc-tab svg{display:none}.retc-toolbar .btn{padding:8px 11px}.retc-toolbar .btn svg{display:none}
  .retc-modal-foot{align-items:flex-start;flex-direction:column}.retc-modal-foot>div{width:100%}.retc-modal-foot>div .btn{flex:1;justify-content:center}
  .retp-form-grid{grid-template-columns:1fr}.retp-entry-card,.retp-reasons-card,.retp-sales-card,.retp-note-card{padding:13px}
  .retp-entry-mode{align-items:stretch;flex-direction:column}.retp-entry-mode>div{display:grid;grid-template-columns:1fr 1fr}.retp-entry-mode .btn{justify-content:center}
  .retp-history-values{grid-template-columns:repeat(2,minmax(0,1fr))}.retp-history-detail{padding:13px}
}
/* ── Audits dans Mes Stats ─────────────────────────────── */
.messtats-section-tabs{display:flex;gap:3px;padding:3px;border:1px solid var(--bd);border-radius:10px;background:var(--bg)}
.messtats-section-tabs button{display:inline-flex;align-items:center;gap:6px;border:0;border-radius:7px;padding:7px 12px;background:transparent;color:var(--mt);font:700 11px 'Plus Jakarta Sans',sans-serif;cursor:pointer}
.messtats-section-tabs button.active{background:var(--s2);color:var(--tx);box-shadow:0 1px 4px rgba(0,0,0,.08)}
#messtats-audit-badge{display:none;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:var(--er);color:#fff;font-size:10px}
#messtats-audits-panel,#messtats-workflow-panel{margin-top:18px}
#messtats-profitability-panel{margin-top:18px}
.profitability-view-switch{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
.profitability-projection{min-width:0}
.profitability-projection-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:18px;background:var(--sf);border:1px solid var(--bd);border-radius:14px}
.profitability-projection-controls label{display:flex;flex-direction:column;gap:8px;color:var(--mt);font-size:11px;font-weight:700;min-width:0}
.profitability-projection-controls .fi{width:100%;min-width:0;font-size:12px}
.profitability-projection-assumptions{margin:14px 0;padding:16px 18px;background:var(--s2);border-radius:12px;color:var(--mt);font-size:12px;line-height:1.6}
.profitability-projection-assumptions summary{color:var(--tx);font-weight:700;cursor:pointer}
.profitability-projection-assumptions p{margin-top:6px}
.profitability-projection-notice{padding:12px 16px;border-left:3px solid var(--or);background:var(--orhi);font-size:12px;line-height:1.5}
.profitability-projection-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}
.profitability-projection-visual{margin-top:14px;padding:18px;min-width:0}
.profitability-projection-visual h3{font-size:14px}
.profitability-projection-chart-wrap{overflow-x:auto}
.profitability-projection-chart{display:block;width:100%;min-width:640px;height:auto;max-height:330px;margin-top:10px;overflow:visible}
.profitability-projection-chart text{fill:var(--mt);font-size:11px;font-family:inherit}
.profitability-projection-chart .projection-grid{stroke:var(--bd);stroke-width:1}
.profitability-projection-chart .projection-zero{stroke:var(--mt);stroke-width:1;stroke-dasharray:3 3}
.profitability-projection-chart polyline{fill:none;stroke-width:3;stroke-linejoin:round}
.profitability-projection-chart .projection-profit{stroke:var(--pt)}
.profitability-projection-chart .projection-cumulativeProfit{stroke:var(--prc)}
.profitability-projection-chart polyline.projection-cumulativeProfit{stroke-dasharray:7 4}
.profitability-projection-chart circle.projection-profit{fill:var(--pt)}
.profitability-projection-chart circle.projection-cumulativeProfit{fill:var(--prc)}
.profitability-projection-legend{display:flex;gap:20px;flex-wrap:wrap;margin-top:12px;font-size:12px;font-weight:700}
.profitability-projection-legend span:first-child{color:var(--pt)}
.profitability-projection-legend span:last-child{color:var(--prt)}
.profitability-projection-table,.profitability-projection-comparison{min-width:850px}
.profitability-projection-table td,.profitability-projection-comparison td{white-space:nowrap;font-size:12px}
.profitability-projection-table tbody th,.profitability-projection-comparison tbody th{font-size:12px;text-transform:none;letter-spacing:normal}
.profitability-projection-broker{text-align:left;color:var(--pt);text-decoration:underline;text-underline-offset:3px}
.profitability-view-switch button:focus-visible,.profitability-projection-broker:focus-visible{outline:2px solid var(--pt);outline-offset:3px}
@media(max-width:900px){.profitability-projection-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.profitability-projection-controls,.profitability-projection-summary{grid-template-columns:1fr}.profitability-projection-visual{padding:12px}.profitability-projection-assumptions{padding:12px}.profitability-projection-chart{min-height:170px}}

/* ── RENTABILITÉ COURTIERS ─────────────────────── */
.profitability-intro{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;border:1px solid var(--bd);border-radius:16px;background:var(--sf)}.profitability-intro h3{font:800 16px 'Syne',sans-serif}.profitability-controls{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.profitability-controls>strong{min-width:48px;text-align:center;font:800 14px 'Syne',sans-serif}.profitability-controls>.fi{width:auto;min-width:150px;padding:7px 30px 7px 9px;font-size:10px}
.profitability-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;margin-top:13px}.profitability-kpi{gap:6px;padding:14px;border:1px solid color-mix(in srgb,var(--ui) 22%,var(--bd));border-radius:13px;background:var(--sf)}.profitability-kpi small{color:var(--mt);font-size:8.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.profitability-kpi strong{font:800 17px 'JetBrains Mono',monospace}.profitability-positive{color:var(--ok)!important}.profitability-negative{color:var(--er)!important}.profitability-neutral{color:var(--mt)!important}
.profitability-table-card{margin-top:13px}.profitability-table-card .ttb{align-items:flex-start}.profitability-table-card .ttb>span{max-width:520px;color:var(--mt);font-size:9px;line-height:1.4;text-align:right}.profitability-table{min-width:1660px}.profitability-table th{cursor:default;white-space:nowrap}.profitability-table td{font-family:'JetBrains Mono',monospace;font-size:9.5px;white-space:nowrap}.profitability-broker{font-family:'Plus Jakarta Sans',sans-serif!important}.profitability-broker strong{display:block;font-size:10.5px}.profitability-breakdown{display:flex;flex-direction:column;gap:2px}.profitability-breakdown small{color:var(--mt);font:600 7.5px 'Plus Jakarta Sans',sans-serif}.profitability-status{display:inline-flex;margin-top:4px;padding:2px 6px;border-radius:99px;font-size:7.5px;font-weight:800}.profitability-status.complete{background:var(--okhi);color:var(--ok)}.profitability-status.incomplete{background:var(--orhi);color:var(--or)}.profitability-empty{display:flex;min-height:180px;align-items:center;justify-content:center;gap:8px;padding:24px;color:var(--mt);font-size:11px}.profitability-setup{display:flex;align-items:center;gap:13px;padding:18px;border:1px solid color-mix(in srgb,var(--or) 30%,var(--bd));border-radius:14px;background:var(--orhi);color:var(--or)}.profitability-setup>svg{width:22px}.profitability-setup>div{display:flex;flex:1;flex-direction:column;gap:3px}.profitability-setup strong{font-size:12px}.profitability-setup span{color:var(--mt);font-size:10px}
.profitability-modal{width:min(1180px,96vw);max-height:92dvh}.profitability-entry-modal{width:min(1380px,98vw)}.profitability-modal-toolbar{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:11px;padding:14px 18px;border-bottom:1px solid var(--bd);background:var(--s2)}.profitability-modal-toolbar label{display:flex;flex-direction:column;gap:5px}.profitability-modal-toolbar label>span:first-child{color:var(--mt);font-size:8.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.profitability-entry-toolbar{grid-template-columns:minmax(190px,260px) 1fr;align-items:end}.profitability-entry-toolbar p{padding-bottom:8px;color:var(--mt);font-size:10px;line-height:1.45}.profitability-percent-input{display:flex!important;align-items:center;gap:5px}.profitability-percent-input input{flex:1;min-width:0}.profitability-percent-input b{color:var(--cm);font-size:11px}.profitability-modal-table{max-height:58vh}.profitability-modal-table table{min-width:820px}.profitability-entry-table{min-width:1320px!important}.profitability-modal-table th{cursor:default}.profitability-input{width:130px;padding:8px;border:1px solid var(--bd);border-radius:8px;background:var(--sf);color:var(--tx);font:600 10px 'JetBrains Mono',monospace;text-align:right}.profitability-input:focus{outline:none;border-color:var(--cm);box-shadow:0 0 0 3px var(--cmhi)}.profitability-note-input{width:200px;text-align:left;font-family:'Plus Jakarta Sans',sans-serif}.profitability-model{font-size:9px;color:var(--mt)}.profitability-modal-actions{display:flex;justify-content:flex-end;gap:8px;padding:13px 18px;border-top:1px solid var(--bd);background:var(--s2)}
.broker-history-trigger{cursor:pointer;transition:background .15s ease}
.broker-history-trigger:hover td{background:var(--s2)!important}
.broker-history-trigger:focus-visible{outline:none}
.broker-history-trigger:focus-visible td{background:var(--prthi)!important;box-shadow:inset 0 2px 0 var(--pr),inset 0 -2px 0 var(--pr)}
.broker-history-modal{width:min(1180px,97vw);padding:22px}
.broker-history-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:4px 0 14px}
.profitability-history-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.broker-history-card{min-width:0;padding:14px;border:1px solid var(--bd);border-radius:13px;background:var(--s2);overflow:hidden}
.broker-history-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.broker-history-card-head span{color:var(--mt);font-size:8.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.broker-history-card-head strong{font:800 16px 'JetBrains Mono',monospace;color:var(--tx);white-space:nowrap}
.broker-history-trend{min-height:16px;margin-top:5px;font-size:8.5px;font-weight:800}
.broker-history-trend.positive{color:var(--ok)}.broker-history-trend.negative{color:var(--er)}.broker-history-trend.neutral,.broker-history-trend.muted{color:var(--mt)}
.broker-history-sparkline{display:block;width:100%;height:82px;margin-top:5px;overflow:visible}
.broker-history-sparkline line{stroke:var(--bd);stroke-width:1}
.broker-history-sparkline polyline{fill:none;stroke:var(--pr);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.broker-history-sparkline circle{fill:var(--sf);stroke:var(--pr);stroke-width:2}
.broker-history-chart-empty{display:flex;height:82px;align-items:center;justify-content:center;margin-top:5px;border-bottom:1px dashed var(--bd);color:var(--mt);font-size:9px}
.broker-history-table-wrap{max-height:42vh;border:1px solid var(--bd);border-radius:12px}
.broker-history-table{min-width:720px}.broker-history-table th{cursor:default}.broker-history-table td:not(:first-child){font-family:'JetBrains Mono',monospace}.broker-history-table tbody tr:last-child td{background:var(--prthi)}
.broker-history-empty{display:flex;min-height:180px;align-items:center;justify-content:center;color:var(--mt);font-size:11px}
@media(max-width:1100px){.profitability-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.profitability-intro{flex-direction:column}.profitability-controls{justify-content:flex-start}}
@media(max-width:900px){.broker-history-grid,.profitability-history-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.profitability-kpis{display:flex;overflow-x:auto}.profitability-kpi{min-width:180px}.profitability-controls{width:100%}.profitability-controls .btn{flex:1;justify-content:center}.profitability-modal-toolbar{grid-template-columns:1fr}.profitability-entry-toolbar{grid-template-columns:1fr}.profitability-modal-actions .btn{flex:1;justify-content:center}.broker-history-modal{max-height:calc(100dvh - 24px);padding:16px;border-radius:18px}.broker-history-grid,.profitability-history-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.broker-history-card{min-width:235px;scroll-snap-align:start}.broker-history-table-wrap{max-height:38vh}}
.workflow-loading{display:flex;align-items:center;justify-content:center;gap:10px;min-height:210px;color:var(--mt)}
.workflow-loading .spin,.workflow-table-card .spin{width:16px;height:16px;border:2px solid var(--bd);border-top-color:var(--pr);border-radius:50%;animation:spin .75s linear infinite}
.workflow-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:210px;padding:28px;text-align:center;border:1px solid var(--bd);border-radius:14px;background:var(--s1)}
.workflow-error strong{font-size:14px;color:var(--er)}
.workflow-error span{font-size:11px;color:var(--mt)}
.workflow-error .btn{margin-top:6px}
.workflow-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:15px}
.workflow-intro h3{font:800 20px 'Syne',sans-serif;color:var(--tx);margin:0}
.workflow-period{display:flex;align-items:flex-end;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.workflow-period label{display:grid;gap:4px}
.workflow-period label span{font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--mt)}
.workflow-period .fi{width:160px;padding:7px 9px}
.workflow-period .bico{width:34px;height:34px}
.workflow-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-bottom:14px}
.workflow-summary-card{display:flex;align-items:center;gap:13px;padding:15px;border:1px solid color-mix(in srgb,var(--ui) 22%,var(--bd));border-radius:13px;background:var(--s1)}
.workflow-summary-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 42px;border-radius:12px;background:var(--prthi);color:var(--prt)}
.workflow-summary-icon.secondary{background:var(--pthi);color:var(--pt)}
.workflow-summary-icon svg{width:20px;height:20px}
.workflow-summary-card small{display:block;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--mt)}
.workflow-summary-card strong{display:block;margin-top:3px;font:800 20px 'JetBrains Mono',monospace;color:var(--tx)}
.workflow-summary-card p{margin:3px 0 0;font-size:10px;color:var(--mt)}
.workflow-table-card .ttb{align-items:flex-end}
.workflow-table-card .ttb h3{margin:0}
.workflow-table-card .ttb p{margin:3px 0 0;font-size:10px;color:var(--mt)}
.workflow-table-card .ttb .btn svg{width:14px;height:14px}
.workflow-table{min-width:1280px}
.workflow-table th{vertical-align:bottom;white-space:normal;line-height:1.35}
.workflow-table th span{display:block;font-size:9px;color:var(--mt);font-weight:600}
.workflow-table td{vertical-align:middle}
.workflow-rate-cell{display:flex;flex-direction:column;gap:3px;min-width:132px}
.workflow-rate-cell strong{font-family:'JetBrains Mono',monospace;font-size:14px;color:var(--tx)}
.workflow-rate-cell span{font-size:9px;color:var(--mt);line-height:1.35}
.workflow-table th:first-child,.workflow-table td:first-child{position:sticky;left:0;z-index:2;background:var(--s1);box-shadow:1px 0 0 var(--bd)}
.workflow-table thead th:first-child{z-index:3}
.workflow-broker{min-width:210px}
.workflow-broker strong,.workflow-broker span{display:block}
.workflow-broker strong{font-size:11px;color:var(--tx)}
.workflow-broker span{margin-top:3px;font-size:9px;color:var(--mt);font-weight:500}
.workflow-input{width:118px;max-width:100%;border:1px solid var(--bd);border-radius:8px;background:var(--s2);color:var(--tx);padding:8px 9px;font:700 11px 'JetBrains Mono',monospace;outline:none;transition:border-color .15s,box-shadow .15s}
.workflow-input:focus{border-color:var(--pr);box-shadow:0 0 0 3px var(--prthi)}
.workflow-google-cell{display:grid;gap:5px;min-width:135px}
.workflow-google-cell>strong{font:800 12px 'JetBrains Mono',monospace;color:var(--tx)}
.workflow-result-value{font:800 12px 'JetBrains Mono',monospace;color:var(--tx)}
.workflow-delta{display:block;font-size:8.5px;font-weight:800;white-space:nowrap}
.workflow-delta.positive{color:var(--ok)}
.workflow-delta.negative{color:var(--er)}
.workflow-delta.neutral{color:var(--mt)}
.workflow-delta.muted{color:var(--mt);font-weight:600}
.workflow-empty{text-align:center!important;padding:34px!important;color:var(--mt)!important}
.workflow-entry-modal{width:min(1280px,98vw);padding:22px}
.workflow-entry-summary{display:flex;align-items:center;gap:12px;width:min(360px,100%);padding:12px 14px;margin-bottom:13px;border:1px solid var(--bd);border-radius:12px;background:var(--s2)}
.workflow-entry-summary small{display:block;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--mt)}
.workflow-entry-summary strong{display:block;margin-top:2px;font:800 18px 'JetBrains Mono',monospace;color:var(--tx)}
.workflow-entry-summary p{margin:2px 0 0;font-size:9px;color:var(--mt)}
.workflow-entry-table-wrap{max-height:57vh;border:1px solid var(--bd);border-radius:12px}
.workflow-entry-table{min-width:1160px}
.workflow-entry-table td{padding-top:8px;padding-bottom:8px}
.workflow-not-applicable{text-align:center;color:var(--ft);background:var(--s2)}
.workflow-not-applicable span{font-weight:800}
.workflow-entry-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:15px}
.audit-loading{display:flex;align-items:center;justify-content:center;gap:10px;min-height:180px;color:var(--mt)}
.audit-loading .spin{width:18px;height:18px;border:2px solid var(--bd);border-top-color:var(--pr);border-radius:50%;animation:spin .75s linear infinite}
.audit-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:15px}
.audit-intro h3{font:800 20px 'Syne',sans-serif;color:var(--tx);margin:0}
.audit-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.audit-toolbar .btn i,.audit-toolbar .btn svg{width:14px;height:14px}
.audit-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:14px}
.audit-summary-card{display:flex;align-items:center;gap:11px;padding:14px;border:1px solid color-mix(in srgb,var(--ui) 22%,var(--bd));border-radius:13px;background:var(--s1)}
.audit-summary-card>svg{width:22px;height:22px;color:var(--pr);flex:0 0 auto}
.audit-summary-card strong{display:block;font:800 20px 'JetBrains Mono',monospace;color:var(--tx)}
.audit-summary-card span{display:block;margin-top:2px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--mt)}
.audit-summary-card.danger{border-color:color-mix(in srgb,var(--ui) 22%,var(--bd));background:color-mix(in srgb,var(--er) 7%,var(--s1))}
.audit-summary-card.danger>svg,.audit-summary-card.danger strong{color:var(--er)}
.audit-history-row{cursor:pointer}
.audit-history-row:hover td{background:var(--s2)}
.audit-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:3px}
.audit-row-actions .bico svg{width:15px;height:15px}
.audit-delete-btn{color:var(--er)}
.audit-delete-btn:hover{color:var(--er);background:var(--erhi)}
.audit-muted{font-size:10px;color:var(--mt);font-weight:500;margin-top:3px;line-height:1.4}
.audit-empty{text-align:center!important;padding:34px!important;color:var(--mt)!important}
.audit-followup-panel{margin-bottom:14px;border-color:color-mix(in srgb,var(--or) 40%,var(--bd))}
.audit-followup-list{display:grid;gap:8px}
.audit-followup-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--bd);border-radius:11px;background:var(--s2)}
.audit-followup-item.due{border-color:color-mix(in srgb,var(--er) 40%,var(--bd));background:color-mix(in srgb,var(--er) 5%,var(--s2))}
.audit-followup-item strong,.audit-followup-item span{display:block}
.audit-followup-item span{font-size:11px;color:var(--mt);margin-top:3px}
.audit-followup-item p{font-size:11px;color:var(--tx);margin:6px 0 0}
.audit-followup-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}

.audit-modal{width:min(1180px,97vw);height:min(94vh,980px);padding:0;display:flex;flex-direction:column;overflow:hidden}
.audit-modal>.mhdr{padding:18px 20px 14px;margin:0;border-bottom:1px solid var(--bd)}
.audit-type-choice{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;padding:26px;overflow-y:auto;min-height:0}
.audit-type-choice button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:190px;border:1px solid var(--bd);border-radius:16px;background:var(--s2);color:var(--tx);cursor:pointer;transition:.16s ease}
.audit-type-choice button:hover{border-color:var(--pr);transform:translateY(-2px);box-shadow:0 10px 25px rgba(0,0,0,.08)}
.audit-type-choice svg{width:34px;height:34px;color:var(--pr)}
.audit-type-choice strong{font:800 20px 'Syne',sans-serif}
.audit-type-choice span{font-size:11px;color:var(--mt)}
.audit-form-body{flex:1;overflow:auto;padding:18px 20px 28px;background:var(--bg)}
.audit-form-footer{display:flex;align-items:center;gap:8px;flex:0 0 auto;margin:0;padding:13px 20px;border-top:1px solid var(--bd);background:var(--s1)}
.audit-form-footer .btn svg{width:14px;height:14px}
.audit-footer-spacer{flex:1}
.audit-delete-record{margin-right:auto}
.audit-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:15px;padding:15px;border:1px solid var(--bd);border-radius:13px;background:var(--s1)}
.audit-progress-sticky{position:sticky;top:-18px;z-index:5;margin:0 0 10px;padding:11px 14px;border:1px solid var(--bd);border-radius:12px;background:color-mix(in srgb,var(--s1) 94%,transparent);backdrop-filter:blur(12px);box-shadow:0 5px 16px rgba(0,0,0,.05)}
.audit-progress-sticky>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px}
.audit-progress-sticky strong{font-size:12px;color:var(--tx)}
.audit-progress-sticky span{color:var(--mt)}
.audit-progress-track{height:5px;background:var(--dv);border-radius:99px;margin-top:8px;overflow:hidden}
.audit-progress-track span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--pr),var(--pt));border-radius:inherit;transition:width .2s ease}
.audit-section{border:1px solid var(--bd);border-radius:13px;background:var(--s1);margin-bottom:10px;overflow:hidden}
.audit-section>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;cursor:pointer;list-style:none;font-weight:800;color:var(--tx)}
.audit-section>summary::-webkit-details-marker{display:none}
.audit-section>summary:after{content:'+';font:700 18px 'JetBrains Mono',monospace;color:var(--mt);order:3}
.audit-section[open]>summary:after{content:'−'}
.audit-section>summary em{margin-left:auto;font-size:10px;font-style:normal;color:var(--mt);font-weight:700}
.audit-section-body{padding:0 14px 14px}
.audit-section-body h4{margin:12px 1px 6px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--pr)}
.audit-question{padding:11px 12px;border-top:1px solid var(--bd);background:var(--s2)}
.audit-question:first-of-type{border-top:0;border-radius:10px 10px 0 0}
.audit-question:last-child{border-radius:0 0 10px 10px}
.audit-question-main{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px}
.audit-question-text{font-size:12px;line-height:1.48;color:var(--tx);font-weight:600}
.audit-binary{display:flex;gap:5px}
.audit-binary button,.audit-rating button,.audit-risk button{border:1px solid var(--bd);border-radius:8px;background:var(--s1);color:var(--mt);font:700 10px 'Plus Jakarta Sans',sans-serif;padding:7px 10px;cursor:pointer;white-space:nowrap}
.audit-binary button{display:inline-flex;align-items:center;gap:4px}
.audit-binary button svg{width:12px;height:12px}
.audit-binary .audit-comment-toggle{color:var(--mt);margin-left:3px}
.audit-question.has-comment .audit-comment-toggle{border-color:var(--pt);color:var(--pt);background:var(--pthi)}
.audit-binary button.selected.yes,.audit-rating button.selected.conforme,.audit-risk button.selected.faible{border-color:var(--ok);background:color-mix(in srgb,var(--ok) 13%,var(--s1));color:var(--ok)}
.audit-binary button.selected.no,.audit-rating button.selected.non-conforme,.audit-risk button.selected.eleve{border-color:var(--er);background:color-mix(in srgb,var(--er) 12%,var(--s1));color:var(--er)}
.audit-rating button.selected.partiel,.audit-risk button.selected.moyen{border-color:var(--or);background:color-mix(in srgb,var(--or) 13%,var(--s1));color:var(--or)}
.audit-rating button.selected.non-applicable{border-color:var(--mt);background:color-mix(in srgb,var(--mt) 12%,var(--s1));color:var(--tx)}
.audit-question-comment{display:none;margin-top:8px;font-size:11px;min-height:54px}
.audit-question.comment-open .audit-question-comment,.audit-question.has-comment .audit-question-comment{display:block}
.audit-compliance,.audit-general,.audit-commercial-summary,.audit-followup-form{margin-top:16px}
.audit-compliance>.ch{align-items:flex-start}
.audit-score{text-align:right;flex:0 0 auto}
.audit-score strong{display:block;font:800 25px 'JetBrains Mono',monospace;color:var(--prt)}
.audit-score span{display:block;font-size:10px;color:var(--mt);margin-top:2px}
.audit-risk{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:10px 0 13px;border-bottom:1px solid var(--bd)}
.audit-risk>span{font-size:11px;font-weight:800;margin-right:5px;color:var(--tx)}
.audit-compliance-list{display:grid;gap:9px;margin-top:12px}
.audit-compliance-section{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding:11px 13px;border-radius:11px;background:var(--s2);border-left:4px solid var(--pr)}
.audit-compliance-section:first-child{margin-top:0}
.audit-compliance-section strong{font-size:13px}
.audit-compliance-section span{font:700 11px 'JetBrains Mono',monospace;color:var(--prt)}
.audit-compliance-row{padding:13px;border:1px solid var(--bd);border-radius:11px;background:var(--s2)}
.audit-compliance-heading{display:grid;grid-template-columns:25px minmax(0,1fr) auto;align-items:start;gap:9px}
.audit-compliance-heading>span{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:7px;background:var(--prthi);color:var(--prt);font:800 10px 'JetBrains Mono',monospace}
.audit-compliance-heading strong{font-size:11px;line-height:1.5;color:var(--tx)}
.audit-compliance-heading em{font:700 11px 'JetBrains Mono',monospace;color:var(--prt);font-style:normal}
.audit-compliance-heading ul{display:flex;flex-wrap:wrap;gap:4px 13px;padding:0;margin:8px 0 0;list-style:none}
.audit-compliance-heading li{font-size:9px;color:var(--mt)}
.audit-compliance-heading li:before{content:'• ';color:var(--pr)}
.audit-rating{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 8px;padding-left:34px}
.audit-compliance-row textarea{font-size:11px;min-height:52px}
.audit-general textarea{resize:vertical;line-height:1.55}
.audit-commercial-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.audit-commercial-summary textarea{min-height:110px;resize:vertical;line-height:1.5}
.audit-followup-toggle{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;color:var(--tx);cursor:pointer;margin:4px 0 13px}
.audit-followup-toggle input{width:17px;height:17px;accent-color:var(--pr)}
.audit-followup-fields{display:grid;grid-template-columns:minmax(180px,.45fr) minmax(260px,1fr);gap:11px}
.audit-completion-note{display:grid;gap:4px;margin-top:10px;padding:10px;border-radius:9px;background:var(--s2);font-size:11px}
.audit-completion-note span{color:var(--mt)}
.audit-modal button:disabled,.audit-modal input:disabled,.audit-modal select:disabled,.audit-modal textarea:disabled{cursor:default;opacity:.78}

@media(max-width:900px){
  .workflow-intro{align-items:flex-start;flex-direction:column}
  .audit-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .audit-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .audit-commercial-summary-grid{grid-template-columns:1fr}
  .audit-intro{align-items:flex-start;flex-direction:column}
  .audit-toolbar{justify-content:flex-start}
}
@media(max-width:640px){
  .messtats-section-tabs{order:3;width:100%}
  .messtats-section-tabs button{flex:1;justify-content:center}
  .workflow-period{width:100%;justify-content:flex-start}
  .workflow-period label{flex:1}
  .workflow-period .fi{width:100%}
  .workflow-summary{grid-template-columns:1fr}
  .workflow-table-card .ttb{align-items:flex-start;flex-direction:column}
  .workflow-table-card .ttb .btn{width:100%;justify-content:center}
  .workflow-entry-modal{padding:16px}
  .workflow-entry-actions .btn{flex:1;justify-content:center}
  .audit-summary{grid-template-columns:1fr 1fr}
  .audit-summary-card{padding:11px}
  .audit-summary-card strong{font-size:16px}
  .audit-type-choice{grid-template-columns:1fr;padding:18px}
  .audit-type-choice button{min-height:130px}
  .audit-modal{width:100vw;height:100dvh;max-height:none;border-radius:0}
  .audit-form-body{padding:12px 10px 24px}
  .audit-meta-grid{grid-template-columns:1fr;padding:12px}
  .audit-progress-sticky{top:-12px}
  .audit-question-main{grid-template-columns:1fr;gap:8px}
  .audit-binary button{flex:1;justify-content:center}
  .audit-binary{width:100%}
  .audit-question-comment{display:block}
  .audit-compliance-heading{grid-template-columns:24px minmax(0,1fr)}
  .audit-compliance-heading em{grid-column:2}
  .audit-rating{padding-left:0}
  .audit-rating button{flex:1;white-space:normal}
  .audit-followup-fields{grid-template-columns:1fr}
  .audit-followup-item{align-items:flex-start;flex-direction:column}
  .audit-followup-actions{justify-content:flex-start}
  .audit-form-footer{flex-wrap:wrap;padding:11px 10px}
  .audit-form-footer .btn{flex:1;justify-content:center}
  .audit-delete-record{flex-basis:100%!important;order:4;margin-right:0}
}

/* Rapports partenaires — synthèse fiable des paiements */
.rp-pay-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:10px}
.rp-pay-kpi{border:1px solid color-mix(in srgb,var(--ui) 22%,var(--bd));border-radius:14px;background:var(--sf);padding:12px 14px;min-width:0}
.rp-pay-kpi span{display:block;font-size:10px;color:var(--mt);font-weight:800;text-transform:uppercase;letter-spacing:.07em;margin-bottom:4px}
.rp-pay-kpi strong{display:block;font:800 18px 'JetBrains Mono',monospace;color:var(--tx)}
.rp-pay-kpi small{display:block;color:var(--mt);font-size:10.5px;margin-top:3px;line-height:1.35}
.rp-pay-kpi.due strong{color:var(--or)}.rp-pay-kpi.paid strong{color:var(--ok)}.rp-pay-kpi.total strong{color:var(--pr)}.rp-pay-kpi.warn strong{color:var(--er)}
.rp-formula-note{font-size:11px;color:var(--mt);line-height:1.5;background:var(--s2);border:1px solid var(--bd);border-radius:12px;padding:10px 12px}
.rp-commission-value{font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}
.rp-commission-detail{font:400 10px/1.5 'Inter',sans-serif;color:var(--mt);letter-spacing:normal;text-transform:none;margin-top:3px;white-space:normal}
@media(max-width:760px){.rp-pay-kpis{grid-template-columns:1fr 1fr}.rp-pay-kpi{padding:10px}.rp-pay-kpi strong{font-size:15px}}
@media(max-width:460px){.rp-pay-kpis{grid-template-columns:1fr}}

/* Leads — tableau compact, centré et lisible */
.leads-table{width:100%;min-width:1220px;border-collapse:collapse}
.leads-archive-table{min-width:1080px}
.leads-table thead{background:color-mix(in srgb,var(--s2) 76%,transparent)}
.leads-table th{padding:10px 12px;text-align:center;color:var(--mt);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.leads-table td{padding:9px 12px;text-align:center;vertical-align:middle}
.leads-table th:first-child,.leads-table td:first-child{text-align:left}
.leads-table thead tr,.leads-table tbody tr{border-bottom:1px solid var(--bd)}
.leads-table tbody tr{transition:background .15s ease}
.leads-table tbody tr:hover{background:color-mix(in srgb,var(--s2) 56%,transparent)}
.leads-client-cell{min-width:190px}
.leads-client-name{display:flex;align-items:center;gap:6px;color:var(--tx);font-size:13px;font-weight:700;line-height:1.2}
.leads-client-meta{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-top:4px}
.leads-source-badge{display:inline-flex;align-items:center;max-width:210px;overflow:hidden;padding:1px 5px;border-radius:4px;font-size:8px;font-weight:700;letter-spacing:.05em;line-height:1.35;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}
.leads-source-event{background:rgba(245,158,11,.14);color:var(--or)}
.leads-source-partner-email{background:var(--pthi,#e8f0fe);color:var(--pt,#4285f4)}
.leads-source-partner-form{background:rgba(124,137,0,.12);color:var(--pr)}
.leads-source-web{background:rgba(16,185,129,.12);color:var(--ok)}
.leads-source-commercial-reference{background:var(--cmhi);color:var(--cm)}
.leads-source-personal-reference{background:var(--pthi);color:var(--pt)}
.leads-source-generic{background:var(--s2);color:var(--mt)}
.leads-client-partner{display:inline-flex;align-items:center;max-width:210px;overflow:hidden;padding:1px 6px;border:1px solid var(--bd);border-radius:5px;background:var(--sf);color:var(--mt);font-size:9px;font-weight:600;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.leads-phone-cell{min-width:120px;white-space:nowrap}
.leads-product-cell{min-width:160px;max-width:240px}
.leads-product-tags{display:inline-flex;justify-content:center;flex-wrap:wrap;gap:4px}
.leads-product-tag{display:inline-flex;align-items:center;padding:2px 8px;border:1px solid var(--bd);border-radius:20px;background:var(--s2);font-size:11px;font-weight:500;white-space:nowrap}
.leads-date-cell{min-width:105px;color:var(--mt);font-size:11px;white-space:nowrap}
.leads-courtier-cell{min-width:175px;color:var(--tx);font-size:12px}
.leads-courtier-select{width:190px!important;max-width:100%;padding:5px 8px!important;border-radius:7px!important;font-size:11px!important}
.leads-followup-cell{min-width:220px}
.leads-followup-stack{display:flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}
.leads-status-select{width:180px!important;min-width:0;padding:5px 8px!important;border-radius:7px!important;font-size:11px!important}
.leads-status-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:600}
.leads-note-action{flex:0 0 auto;padding:4px 8px!important;font-size:10px!important;white-space:nowrap}
.leads-note-empty{color:var(--mt);font-size:12px}
.leads-actions-cell{min-width:220px}
.leads-actions-row,.leads-primary-actions,.leads-admin-actions{display:flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap}
.leads-admin-actions{margin:0;padding:0;border:0}
.leads-admin-actions .leads-edit-btn{margin-right:0}

@media(max-width:900px){
  .leads-table{min-width:1220px}
  .leads-table th,.leads-table td{padding-right:10px;padding-left:10px}
}

/* RÉFÉRENCES INTERDÉPARTEMENTALES */
.commercial-references-head{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap}
.commercial-references-actions{display:flex;gap:8px;flex-wrap:wrap}.commercial-references-actions .btn i{width:15px;height:15px}
.commercial-references-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.commercial-references-filters{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.commercial-references-filters select{width:auto;min-width:190px}.commercial-references-filters input{width:min(280px,100%)}
.commercial-references-card{padding:0;overflow:hidden}.commercial-references-table-wrap{overflow-x:auto}
.commercial-references-table{width:100%;min-width:1050px;border-collapse:collapse}
.commercial-references-table th{padding:11px 12px;background:var(--s2);color:var(--mt);font-size:10px;font-weight:700;letter-spacing:.07em;text-align:left;text-transform:uppercase;white-space:nowrap}
.commercial-references-table td{padding:11px 12px;border-top:1px solid var(--bd);font-size:12px;vertical-align:middle}
.commercial-references-table tbody tr:hover{background:color-mix(in srgb,var(--s2) 55%,transparent)}
.commercial-references-table a{color:var(--pr);font-weight:650;text-decoration:none}
.commercial-reference-status{display:inline-flex;padding:4px 8px;border:1px solid;border-radius:999px;font-size:10px;font-weight:700;white-space:nowrap}
.commercial-reference-pending{color:var(--mt);font-size:11px}.commercial-references-empty{padding:34px!important;text-align:center;color:var(--mt)}
.commercial-reference-client-email{display:block;margin-top:3px;color:var(--mt);font-size:10px;font-weight:500}.commercial-reference-note{display:block;max-width:280px;overflow:hidden;color:var(--mt);font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.commercial-reference-modal-card{width:min(620px,96vw)}.commercial-reference-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.commercial-reference-form-grid .full{grid-column:1/-1}
.commercial-reference-form-actions{margin-top:20px;justify-content:flex-end}
@media(max-width:760px){.commercial-references-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.commercial-reference-form-grid{grid-template-columns:1fr}.commercial-reference-form-grid .full{grid-column:auto}.commercial-references-actions{width:100%}.commercial-references-actions .btn{flex:1;justify-content:center}}
