/* ── BO BAR ── */
.bo-bar{background:#ffffff;border-bottom:2px solid #0CB04A;padding:.85rem 1.75rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
.bo-bar-left{display:flex;align-items:center;gap:12px}
.bo-bar-logo{width:34px;height:34px;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:transparent}
.bo-title{font-size:13.5px;font-weight:800;color:var(--wh)}
.bo-dot{width:8px;height:8px;border-radius:50%;background:var(--g);display:inline-block;margin-right:6px}
.bo-bar-right{display:flex;align-items:center;gap:8px}
.bo-user-badge{font-size:11.5px;color:#9CA3AF;display:flex;align-items:center;gap:6px}
.role-pill{font-size:10px;padding:2px 8px;border-radius:20px;font-weight:800}
.role-admin{background:rgba(124,58,237,.3);color:#C4B5FD}
.role-collab{background:rgba(12,176,74,.2);color:#6EE7B7}
.bo-logout{font-size:12px;color:#9CA3AF;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:4px 12px;cursor:pointer;font-family:inherit;font-weight:600;transition:background .2s}
.bo-logout:hover{background:rgba(255,255,255,.16);color:var(--wh)}

/* ── TABS ── */
.bo-tabs{background:var(--wh);border-bottom:1px solid var(--bdr);display:flex;padding:0 1.75rem;overflow-x:auto}
.bo-tab{padding:13px 18px;font-size:13px;font-weight:700;cursor:pointer;color:var(--gr);border-bottom:3px solid transparent;white-space:nowrap;transition:all .18s;user-select:none;position:relative}
.bo-tab.on{color:var(--g);border-bottom-color:var(--g)}.bo-tab:hover:not(.on){color:var(--blk)}
.bo-tab.admin-only::after{content:'ADMIN';font-size:8px;background:var(--purl);color:var(--pur);border-radius:4px;padding:1px 5px;font-weight:800;position:absolute;top:8px;right:2px}
.bo-body{padding:1.75rem}

/* ── STATS ── */
.sg{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.75rem}
.sc{border-radius:var(--r);padding:1.25rem 1.5rem;color:var(--wh);animation:sodeciCardIn .2s ease}
@keyframes sodeciCardIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.sc{animation:none}}

/* V74 — Skeleton loader du tableau principal */
.skel-bar{height:12px;border-radius:4px;background:linear-gradient(90deg,#E5E7EB 25%,#EEF0F2 37%,#E5E7EB 63%);background-size:400% 100%;animation:sodeciSkelPulse 1.4s ease infinite}
@keyframes sodeciSkelPulse{0%{background-position:100% 50%}100%{background-position:0 50%}}
@media(prefers-reduced-motion:reduce){.skel-bar{animation:none;background:#E5E7EB}}
.sc.g{background:var(--g)}.sc.dk{background:var(--dk)}.sc.b{background:var(--blu)}.sc.a{background:var(--amb)}
.sc-num{font-size:30px;font-weight:800;line-height:1;margin-bottom:5px}.sc-lbl{font-size:12px;font-weight:600;opacity:.85}

/* ── TABLE ── */
.sec-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-wrap:wrap;gap:10px}
.sec-hd h3{font-size:15px;font-weight:800;color:var(--blk)}
.tbw{overflow-x:auto;border-radius:var(--r);border:1px solid var(--bdr)}
.t{width:100%;border-collapse:collapse;font-size:13px}
.t thead tr{background:#F9FAFB}
.t thead th{padding:11px 12px;text-align:left;font-weight:800;color:var(--sub);border-bottom:1px solid var(--bdr);white-space:nowrap;font-size:11px;letter-spacing:.04em;text-transform:uppercase}
.t thead th.th-chk{width:38px;text-align:center;padding:0 10px}
.t tbody tr{transition:background .12s;cursor:pointer}
.t tbody tr:hover{background:#F0FBF4}
.t tbody tr.selected{background:#E6F7EE}
.t tbody td{padding:11px 12px;border-bottom:1px solid var(--bdr);color:var(--sub);font-weight:600}
.t tbody tr:last-child td{border-bottom:none}
.t tbody td.td-chk{text-align:center;padding:0 10px;cursor:default}
.t input[type=checkbox]{accent-color:var(--g);width:15px;height:15px;cursor:pointer}
/* ── OFFLINE BLOCK ── */
.offline-block{margin-top:1.25rem}
.offline-status{display:flex;align-items:center;gap:10px;background:var(--wh);border:1.5px solid var(--bdr);border-radius:var(--r);padding:.875rem 1.25rem;font-size:13px;font-weight:700;color:var(--sub);margin-bottom:.75rem}
.offline-status.online{border-color:var(--g2);background:var(--gl);color:var(--gd)}
.offline-status.offline{border-color:#FCA5A5;background:var(--redl);color:var(--red)}
.offline-status.pending{border-color:#FCD34D;background:var(--ambl);color:#92400E}
.offline-badge{background:var(--amb);color:var(--wh);font-size:11px;font-weight:800;padding:2px 9px;border-radius:20px;margin-left:auto}
.pending-dot{display:inline-block;width:8px;height:8px;background:var(--amb);border-radius:50%;margin-left:4px;animation:pulse 1.5s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}

/* ── SYNC TABLE ── */
.sync-ok{color:var(--gd);font-weight:800}
.sync-wait{color:var(--amb);font-weight:800}
.badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:800}
/* Surbrillance doublon */
.t tbody tr.dup-row{background:#FFFBEB}
.t tbody tr.dup-row:hover{background:#FEF3C7}
.t tbody tr.dup-row.selected{background:#FEF3C7}
.b-wait{background:#FEF3C7;color:#92400E}.b-ok{background:#D1FAE5;color:#065F46}.b-chk{background:#DBEAFE;color:#1E40AF}
.b-admin{background:var(--purl);color:var(--pur)}.b-collab{background:var(--gl);color:var(--gd)}
.b-sync{background:#F0FDF4;color:#065F46;border:1.5px solid #6EE7B7}
.cluster-count-badge{background:var(--blk);color:var(--wh);font-size:11px;font-weight:800;padding:2px 8px;border-radius:12px;margin-left:6px}
.sel-st{font-family:'Nunito',sans-serif;font-size:12px;font-weight:700;border:1.5px solid var(--bdr);border-radius:20px;padding:3px 8px;outline:none;cursor:pointer;background:var(--wh);appearance:none}

/* ── BULK BAR ── */
.bulk-bar{display:none;background:var(--blk);color:var(--wh);padding:10px 1.75rem;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:13px;font-weight:700;border-radius:var(--r);margin-bottom:1rem}
.bulk-bar.on{display:flex}
.bulk-bar-left{display:flex;align-items:center;gap:10px}
.sel-count{background:var(--g);color:var(--wh);border-radius:20px;padding:2px 10px;font-size:12px}

/* ── TOOLBAR ── */
.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:1rem}
.toolbar input[type=text]{padding:9px 14px;border:1.5px solid var(--bdr);border-radius:var(--r);font-size:13px;font-family:inherit;font-weight:600;outline:none;min-width:200px;transition:border-color .2s}
.toolbar input[type=text]:focus{border-color:var(--g)}
.toolbar input[type=date]{padding:9px 12px;border:1.5px solid var(--bdr);border-radius:var(--r);font-size:13px;font-family:inherit;font-weight:600;outline:none}
.toolbar input[type=date]:focus{border-color:var(--g)}
.toolbar .lbl{font-size:12px;font-weight:700;color:var(--gr)}
.notice{display:flex;align-items:flex-start;gap:9px;border-left:3px solid var(--amb);border-radius:0 var(--r) var(--r) 0;padding:10px 14px;font-size:12.5px;font-weight:600;margin-bottom:1rem;background:var(--ambl);color:#78350F}
.notice.info{background:var(--blul);border-left-color:var(--blu);color:#1E3A5F}
.notice.err{background:var(--redl);border-left-color:var(--red);color:#7F1D1D}

.transfer-grid{display:grid;grid-template-columns:minmax(280px,380px) 1fr;gap:1.2rem;align-items:start}
.transfer-card{background:var(--wh);border:1px solid var(--bdr);border-radius:var(--r);padding:1.1rem 1.2rem}
.transfer-card h4{margin:0 0 .9rem;font-size:15px;font-weight:800;color:var(--blk)}
.affect-row{cursor:pointer;transition:background .12s}
.affect-row:hover{background:var(--bg)}
@media(max-width:860px){.transfer-grid{grid-template-columns:1fr}}

/* ── Tableau de bord Supervision (onglet Objectifs) ── */
.sup-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:1rem;padding:.7rem .9rem;background:var(--wh);border:1px solid var(--bdr);border-radius:var(--r)}
.sup-filters select{padding:7px 10px;border:1.5px solid var(--bdr);border-radius:8px;font-family:'Nunito',sans-serif;font-size:12.5px;font-weight:700;background:var(--wh);max-width:170px}
.sup-week-nav{display:flex;align-items:center;gap:8px;font-weight:800;font-size:12.5px;background:var(--bg);border-radius:8px;padding:5px 10px}
.sup-week-label{min-width:170px;text-align:center}
.sup-seuil{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--sub)}
.sup-seuil input{width:56px;padding:6px 8px;border:1.5px solid var(--bdr);border-radius:8px;font-family:'Nunito',sans-serif;font-weight:800;text-align:center}
.sup-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:1.2rem}
.sup-kpi{background:var(--wh);border:1px solid var(--bdr);border-left:4px solid var(--g);border-radius:var(--r);padding:.9rem 1rem}
.sup-kpi-lbl{font-size:10.5px;font-weight:800;color:var(--grl);letter-spacing:.03em;margin-bottom:4px}
.sup-kpi-val{font-size:26px;font-weight:900;color:var(--blk);line-height:1.1}
.sup-kpi-sub{font-size:11px;color:var(--sub);font-weight:600;margin-top:2px}
.sup-toplists{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:1.2rem}
.sup-perf-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--bg)}
.sup-perf-row:last-child{border-bottom:none}
.sup-perf-name{font-weight:800;font-size:13px;color:var(--blk)}
.sup-perf-sub{font-size:11px;color:var(--sub);font-weight:600}
.sup-perf-pct{font-weight:900;font-size:15px}
.sup-tr-dr{background:#0E5C86;color:#fff;font-weight:800;cursor:default}
.sup-tr-dr td{padding:7px 10px!important}
.sup-tr-agence{cursor:default}
.sup-tr-agence td{background:var(--bg);font-weight:800}
.sup-tr-total{background:var(--amb);color:#fff;font-weight:900;cursor:default}
.sup-tr-total td{padding:9px 10px!important}
/* Les lignes de synthèse (DR / Agence / Total général) ne sont pas cliquables :
   elles gardent leur couleur au survol, au lieu du vert clair générique des tableaux. */
.t tbody tr.sup-tr-dr:hover{background:#0E5C86}
.t tbody tr.sup-tr-agence:hover td{background:var(--bg)}
.t tbody tr.sup-tr-total:hover{background:var(--amb)}
.sup-badge-crit{background:#FEE2E2;color:#991B1B;font-size:10.5px;font-weight:800;padding:2px 8px;border-radius:10px}
.sup-badge-ok{background:#DCFCE7;color:#166534;font-size:10.5px;font-weight:800;padding:2px 8px;border-radius:10px}
@media(max-width:860px){.sup-kpis{grid-template-columns:1fr 1fr}.sup-toplists{grid-template-columns:1fr}}

/* Tableau de synthèse : alignement propre + bandes alternées, pour être aussi lisible que le PDF */
#supTable{border:1px solid var(--bdr)}
#supTable thead th{text-align:center}
#supTable thead th:first-child{text-align:left}
#supTable tbody td{text-align:center;border-right:1px solid #F2F2F2}
#supTable tbody td:first-child{text-align:left;border-right:none}
#supTable tbody tr:not(.sup-tr-dr):not(.sup-tr-agence):not(.sup-tr-total):nth-of-type(even){background:#FAFBFC}
#supTable tbody tr:not(.sup-tr-dr):not(.sup-tr-agence):not(.sup-tr-total):nth-of-type(even):hover{background:#F0FBF4}
.empty-state{text-align:center;padding:3rem 1rem;color:var(--grl);font-size:14px;font-weight:600}
.empty-state .ico-e{font-size:32px;margin-bottom:8px;display:block}

/* ── FICHE CLIENT ── */
.fiche-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1.5rem;margin-bottom:1rem}
.fiche-row{display:flex;flex-direction:column;gap:3px;padding:.75rem;background:var(--bg);border-radius:8px}
.fiche-row.full{grid-column:1/-1}
.fiche-lbl{font-size:10.5px;font-weight:800;color:var(--grl);text-transform:uppercase;letter-spacing:.05em}
.fiche-val{font-size:14px;font-weight:700;color:var(--blk)}
.fiche-status{display:flex;align-items:center;gap:10px;margin-top:.25rem}

