/* ===== CENTRE RELATION CLIENT ===== */

/* sous-onglets colorés (wrap, jamais coupés) */
.crc-nav{position:sticky;top:var(--tbH);z-index:20;display:flex;flex-wrap:wrap;gap:8px;padding:10px 12px;margin:0 0 20px;
  background:linear-gradient(180deg,rgba(6,12,32,.94),rgba(6,12,32,.5));backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:16px}
.crc-chip{--c:#60a5fa;display:inline-flex;align-items:center;gap:8px;padding:9px 15px;border-radius:50px;white-space:nowrap;
  font-size:.79rem;font-weight:600;color:var(--mid);cursor:pointer;transition:.18s;
  border:1px solid color-mix(in srgb,var(--c) 32%,transparent);background:color-mix(in srgb,var(--c) 9%,rgba(8,16,40,.6))}
.crc-chip svg{width:14px;height:14px;stroke:var(--c);fill:none;stroke-width:2}
.crc-chip .cc-n{font-size:.64rem;font-weight:800;color:var(--c);background:color-mix(in srgb,var(--c) 18%,transparent);padding:1px 7px;border-radius:50px}
.crc-chip:hover{color:#eaf2ff;border-color:color-mix(in srgb,var(--c) 55%,transparent);background:color-mix(in srgb,var(--c) 17%,rgba(8,16,40,.6))}
.crc-chip.on{color:#fff;border-color:transparent;background:linear-gradient(120deg,color-mix(in srgb,var(--c) 78%,#000),var(--c));box-shadow:0 8px 22px -10px var(--c)}
.crc-chip.on svg{stroke:#fff}.crc-chip.on .cc-n{color:#fff;background:rgba(255,255,255,.22)}
body.theme-light .crc-nav{background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,255,255,.6))}

.crc-intro{margin-bottom:18px}
.crc-intro h3{font-family:'Space Grotesk',sans-serif;font-size:1.18rem;color:#fff;display:flex;align-items:center;gap:10px}
.crc-intro h3 .ci-ic{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:rgba(96,165,250,.16);color:var(--blue-l)}
.crc-intro h3 .ci-ic svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2}
.crc-intro p{color:var(--mid);font-size:.86rem;margin-top:6px;max-width:760px}
body.theme-light .crc-intro h3{color:var(--txt)}

/* segment pill (promoteur/passif/détracteur) */
.seg-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 11px;border-radius:50px;font-size:.72rem;font-weight:700}
.seg-pill svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2.2}
.seg-pill .sgd{width:7px;height:7px;border-radius:50px}
.seg-pill.promoter{background:rgba(34,197,94,.14);color:#4ade80}.seg-pill.promoter .sgd{background:#4ade80}
.seg-pill.passive{background:rgba(245,158,11,.14);color:var(--gold)}.seg-pill.passive .sgd{background:var(--gold)}
.seg-pill.detractor{background:rgba(248,113,113,.14);color:var(--red)}.seg-pill.detractor .sgd{background:var(--red)}

/* fidélité tag */
.fid{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:50px;font-size:.67rem;font-weight:700}
.fid svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2.2}
.fid.vip svg{fill:currentColor;stroke:none}

/* MRR pill (revenu mensuel) */
.mrr-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 11px;border-radius:50px;font-size:.72rem;font-weight:700;
  background:rgba(96,165,250,.14);color:var(--blue-l)}
.mrr-pill svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2}

/* rangée de tags alignée (fiche 360) */
.crc-tags .stars{display:inline-flex;align-items:center}
.crc-tags .stars svg{width:14px;height:14px}
.fid.vip{background:rgba(245,158,11,.16);color:var(--gold)}
.fid.fidele{background:rgba(34,197,94,.14);color:#4ade80}
.fid.inactif{background:rgba(170,182,208,.14);color:var(--mid)}
.fid.risque{background:rgba(248,113,113,.14);color:var(--red)}
.fid.standard{background:rgba(96,165,250,.12);color:var(--blue-l)}

/* NPS bar */
.nps-bar{display:flex;height:32px;border-radius:9px;overflow:hidden;margin:10px 0 6px}
.nps-bar .nb-seg{display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;color:#fff}
.nps-bar .nb-seg.p{background:linear-gradient(90deg,#16a34a,#4ade80)}
.nps-bar .nb-seg.n{background:linear-gradient(90deg,#d97706,#fbbf24)}
.nps-bar .nb-seg.d{background:linear-gradient(90deg,#dc2626,#f87171)}
.nps-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:.76rem;color:var(--mid)}
.nps-legend span{display:inline-flex;align-items:center;gap:6px}
.nps-legend i{width:9px;height:9px;border-radius:50px;display:inline-block}

/* client rows (liste 360) */
.crc-clients{display:flex;flex-direction:column;gap:9px}
.crc-crow{display:flex;align-items:center;gap:13px;padding:13px 15px;border-radius:14px;border:1px solid var(--line);
  background:var(--glass);cursor:pointer;transition:.18s}
.crc-crow:hover{border-color:var(--line2);transform:translateX(2px)}
.crc-crow .ccr-b{flex:1;min-width:0}
.crc-crow .ccr-b h4{font-size:.92rem;font-weight:600;color:var(--txt);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.crc-crow .ccr-b p{font-size:.76rem;color:var(--dim);margin-top:3px}
.crc-crow .ccr-meta{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:6px;flex-shrink:0}
.crc-crow .ccr-meta .stars{display:inline-flex;gap:2px;flex-wrap:nowrap}
.crc-crow .ccr-meta .stars svg{width:14px;height:14px}

/* recovery pipeline */
.recov{border:1px solid var(--line);border-radius:16px;padding:18px;background:linear-gradient(160deg,rgba(18,34,78,.5),rgba(10,20,52,.55));margin-bottom:14px}
.recov-h{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.recov-h .rh-b{flex:1;min-width:160px}
.recov-h .rh-b h4{font-size:1rem;color:var(--txt)}
.recov-h .rh-b p{font-size:.78rem;color:var(--mid);margin-top:2px}
.recov-stages{display:flex;align-items:center;gap:8px;margin-bottom:14px}
.recov-stage{flex:1;text-align:center;padding:10px 8px;border-radius:11px;border:1px solid var(--line);font-size:.76rem;font-weight:700;color:var(--mid);background:rgba(8,16,40,.4);position:relative}
.recov-stage.d.on{border-color:var(--red);color:var(--red);background:rgba(248,113,113,.1)}
.recov-stage.n.on{border-color:var(--gold);color:var(--gold);background:rgba(245,158,11,.1)}
.recov-stage.p.on{border-color:#4ade80;color:#4ade80;background:rgba(34,197,94,.1)}
.recov-arrow{color:var(--dim);flex-shrink:0}.recov-arrow svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2}
.recov-cause{font-size:.82rem;color:var(--mid);padding:11px 13px;border-radius:11px;background:rgba(248,113,113,.07);border:1px solid rgba(248,113,113,.2);margin-bottom:12px}
.recov-cause b{color:var(--red)}
body.theme-light .recov{background:linear-gradient(160deg,#fff,#f4f7fe)}
body.theme-light .recov-stage:not(.on){background:rgba(13,31,92,.04);border-color:rgba(13,31,92,.1);color:#3a5280}

/* mini-tables (interventions, devis, factures) */
.crc-mini{width:100%;border-collapse:collapse;font-size:.82rem}
.crc-mini th{text-align:left;font-size:.7rem;text-transform:uppercase;letter-spacing:.4px;color:var(--dim);font-weight:700;padding:6px 10px;border-bottom:1px solid var(--line)}
.crc-mini td{padding:9px 10px;border-bottom:1px solid var(--line);color:var(--txt)}
.crc-mini tr:last-child td{border-bottom:none}
.crc-empty{font-size:.82rem;color:var(--dim);padding:12px 2px}

/* client 360 modal */
.crc-modal-scrim{position:fixed;inset:0;background:rgba(2,6,20,.66);backdrop-filter:blur(4px);z-index:120;opacity:0;pointer-events:none;transition:.25s}
.crc-modal-scrim.show{opacity:1;pointer-events:auto}
.crc-modal{position:fixed;top:0;right:0;bottom:0;width:min(640px,96vw);background:var(--bg2,#0a1430);border-left:1px solid var(--line2);
  z-index:121;transform:translateX(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;box-shadow:-24px 0 60px -20px rgba(0,0,0,.6)}
.crc-modal.show{transform:translateX(0)}
.crc-modal-h{display:flex;align-items:center;gap:13px;padding:18px 22px;border-bottom:1px solid var(--line);flex-shrink:0}
.crc-modal-h .cmx{margin-left:auto;width:34px;height:34px;border-radius:9px;border:1px solid var(--line2);background:none;color:var(--mid);cursor:pointer;display:flex;align-items:center;justify-content:center}
.crc-modal-h .cmx:hover{color:#fff;border-color:var(--red)}
.crc-modal-h .cmx svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.2}
.crc-modal-b{flex:1;overflow-y:auto;padding:20px 22px}
body.theme-light .crc-modal{background:#f7f9fe}

.crc-360grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:8px}
.crc-fact{padding:11px 13px;border-radius:11px;border:1px solid var(--line);background:var(--glass)}
.crc-fact .cf-l{font-size:.7rem;color:var(--dim);text-transform:uppercase;letter-spacing:.3px;font-weight:700}
.crc-fact .cf-v{font-size:.92rem;color:var(--txt);font-weight:600;margin-top:3px;display:flex;align-items:center;gap:7px}

.crc-section{margin-top:20px}
.crc-section>h4{font-size:.82rem;text-transform:uppercase;letter-spacing:.5px;color:var(--mid);font-weight:700;margin-bottom:10px;display:flex;align-items:center;gap:8px}
.crc-section>h4 svg{width:14px;height:14px;stroke:var(--blue-l);fill:none;stroke-width:2}

/* status chips réclamation/litige */
.rc-st{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:50px;font-size:.68rem;font-weight:700}
.rc-st.open{background:rgba(248,113,113,.16);color:var(--red)}
.rc-st.progress{background:rgba(245,158,11,.16);color:var(--gold)}
.rc-st.resolved{background:rgba(34,197,94,.16);color:#4ade80}
.rc-st.active{background:rgba(248,113,113,.16);color:var(--red)}
.rc-st.escalated{background:rgba(168,130,255,.16);color:var(--violet)}
.rc-st.closed{background:rgba(170,182,208,.14);color:var(--mid)}

/* IA reco card */
.ia-reco{display:flex;gap:13px;padding:15px;border-radius:14px;border:1px solid var(--line);background:linear-gradient(160deg,rgba(168,130,255,.08),rgba(10,20,52,.4));margin-bottom:11px}
.ia-reco .ir-orb{width:38px;height:38px;border-radius:11px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:rgba(168,130,255,.16);color:var(--violet)}
.ia-reco .ir-orb svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:2}
.ia-reco .ir-b{flex:1;min-width:0}
.ia-reco .ir-b h5{font-size:.88rem;font-weight:700;color:var(--txt)}
.ia-reco .ir-b p{font-size:.8rem;color:var(--mid);margin-top:3px}
.ia-reco .ir-b .ir-act{margin-top:9px;display:flex;gap:7px;flex-wrap:wrap}
body.theme-light .ia-reco{background:linear-gradient(160deg,#faf8ff,#f4f7fe)}

/* ===== Centre Techniciens ===== */
.tc-pane{display:none}
.tc-pane.is-active{display:block}
.tc-brain{display:flex;align-items:center;gap:13px;padding:13px 15px;border-radius:14px;border:1px solid var(--line);background:linear-gradient(160deg,rgba(168,130,255,.08),rgba(10,20,52,.4));margin-bottom:10px;cursor:pointer;transition:.16s}
.tc-brain:hover{border-color:color-mix(in srgb,var(--violet) 55%,transparent);transform:translateX(2px)}
.tc-brain:last-child{margin-bottom:0}
.tc-brain .tcb-orb{width:38px;height:38px;border-radius:11px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:rgba(168,130,255,.16);color:var(--violet)}
.tc-brain .tcb-orb svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:2}
.tc-brain .tcb-b{flex:1;min-width:0}
.tc-brain .tcb-b h5{font-size:.88rem;font-weight:700;color:var(--txt)}
.tc-brain .tcb-b p{font-size:.8rem;color:var(--mid);margin-top:2px}
.tc-brain .tcb-go{color:var(--violet);flex-shrink:0}
.tc-brain .tcb-go svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2}
body.theme-light .tc-brain{background:linear-gradient(160deg,#faf8ff,#f4f7fe)}

/* ===== Centre Techniciens · composants ===== */
.tc-ava{border-radius:11px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.85rem;flex-shrink:0}
.tc-status{display:inline-flex;align-items:center;gap:5px;padding:2px 10px;border-radius:50px;font-size:.7rem;font-weight:700}
.tc-status.actif{background:rgba(34,197,94,.16);color:#4ade80}
.tc-status.integration{background:rgba(96,165,250,.16);color:var(--blue-l)}
.tc-status.suspendu{background:rgba(245,158,11,.16);color:var(--gold)}
.tc-status.candidat,.tc-status.archive{background:rgba(170,182,208,.14);color:var(--mid)}

.tc-rows{display:flex;flex-direction:column;gap:9px}
.tc-row{display:flex;align-items:center;gap:13px;padding:13px 15px;border-radius:14px;border:1px solid var(--line);background:var(--glass);cursor:pointer;transition:.16s}
.tc-row:hover{border-color:var(--line2);transform:translateX(2px)}
.tc-row .tcr-b{flex:1;min-width:0}
.tc-row .tcr-b h4{font-size:.92rem;font-weight:600;color:var(--txt);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tc-row .tcr-b p{font-size:.77rem;color:var(--dim);margin-top:3px}
.tc-row .tcr-meta{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex-shrink:0}
.tc-skilltags{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.tc-sk{font-size:.68rem;font-weight:600;color:var(--mid);background:rgba(96,165,250,.1);border:1px solid var(--line);padding:2px 8px;border-radius:50px}
.tc-sk.violet{color:var(--violet);background:rgba(168,130,255,.12)}
.tc-sk.gold{color:var(--gold);background:rgba(245,158,11,.12)}
.tc-sk.green{color:#4ade80;background:rgba(34,197,94,.12)}
.tc-sk.blue{color:var(--blue-l);background:rgba(96,165,250,.12)}
.tc-sk.red{color:var(--red);background:rgba(248,113,113,.12)}

.tc-scorering{width:42px;height:42px;border-radius:50px;display:flex;align-items:center;justify-content:center;flex-shrink:0;
  background:conic-gradient(var(--blue-l) calc(var(--p)*3.6deg),rgba(255,255,255,.08) 0)}
.tc-scorering b{width:34px;height:34px;border-radius:50px;background:var(--bg2,#0a1430);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:800;color:var(--txt)}
body.theme-light .tc-scorering b{background:#fff}
.tc-stars{display:inline-flex;gap:1px}.tc-stars svg{width:13px;height:13px;fill:rgba(255,255,255,.16);stroke:none}
.tc-stars svg[data-on="1"]{fill:var(--gold)}

.tc-bar{height:6px;border-radius:50px;background:rgba(255,255,255,.08);overflow:hidden;margin-top:6px;max-width:300px}
.tc-bar i{display:block;height:100%;border-radius:50px;background:var(--blue-l)}
.tc-bar.g i{background:#4ade80}.tc-bar.o i{background:var(--gold)}.tc-bar.r i{background:var(--red)}
body.theme-light .tc-bar{background:rgba(0,0,0,.07)}

.tc-cdot{width:9px;height:9px;border-radius:50px;display:inline-block}
.tc-cdot.vert{background:#4ade80}.tc-cdot.orange{background:var(--gold)}.tc-cdot.rouge{background:var(--red)}
.tc-card-pill{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:50px;font-size:.68rem;font-weight:700}
.tc-card-pill svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2.2}
.tc-card-pill.vert{background:rgba(34,197,94,.16);color:#4ade80}
.tc-card-pill.orange{background:rgba(245,158,11,.16);color:var(--gold)}
.tc-card-pill.rouge{background:rgba(248,113,113,.16);color:var(--red)}

.tc-mini{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--glass);cursor:pointer;margin-bottom:8px;transition:.15s}
.tc-mini:last-child{margin-bottom:0}.tc-mini:hover{border-color:var(--line2)}
.tc-mini .tcm-b{flex:1;min-width:0}
.tc-mini .tcm-b h5{font-size:.84rem;font-weight:600;color:var(--txt)}
.tc-mini .tcm-b p{font-size:.74rem;color:var(--dim);margin-top:2px}
.tc-empty{font-size:.83rem;color:var(--dim);padding:12px 2px}

.tc-brain .tcb-b p{font-size:.83rem;color:var(--mid);line-height:1.5}

/* spark */
.tc-spark{height:28px;max-width:140px}.tc-spark .spark{width:100%;height:100%;display:block}

/* kanban */
.tc-kanban{display:grid;grid-template-columns:repeat(5,1fr);gap:11px;align-items:start}
.tc-col{background:rgba(8,16,40,.4);border:1px solid var(--line);border-radius:14px;padding:10px;min-height:120px}
.tc-col-h{display:flex;align-items:center;justify-content:space-between;font-size:.8rem;font-weight:700;color:var(--txt);padding:4px 6px 10px;border-bottom:2px solid var(--c);margin-bottom:10px}
.tc-col-h span{font-size:.7rem;font-weight:800;color:var(--c);background:color-mix(in srgb,var(--c) 16%,transparent);padding:1px 8px;border-radius:50px}
.tc-cand{display:flex;align-items:center;gap:9px;padding:9px;border-radius:11px;border:1px solid var(--line);background:var(--glass);cursor:pointer;margin-bottom:8px;transition:.15s}
.tc-cand:last-child{margin-bottom:0}.tc-cand:hover{border-color:var(--blue-l);transform:translateY(-1px)}
.tc-cand .tcc-b{flex:1;min-width:0}
.tc-cand .tcc-b h5{font-size:.8rem;font-weight:600;color:var(--txt)}
.tc-cand .tcc-b p{font-size:.7rem;color:var(--dim);margin:2px 0 5px}
.tc-cand .tcc-tags{display:flex;flex-wrap:wrap;gap:4px}
body.theme-light .tc-col{background:#f4f7fe}
@media(max-width:900px){.tc-kanban{grid-template-columns:repeat(2,1fr)}}

/* recommandations */
.tc-reco{display:flex;align-items:center;gap:15px;padding:13px 15px;border-radius:14px;border:1px solid var(--line);background:var(--glass);margin-bottom:9px}
.tc-reco:last-child{margin-bottom:0}
.tc-reco-link{display:flex;align-items:center;gap:6px;flex-shrink:0}
.tc-reco-link .trl-arrow{color:var(--violet)}.tc-reco-link .trl-arrow svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2}
.tc-reco-b{flex:1;min-width:0}
.tc-reco-b h5{font-size:.88rem;font-weight:600;color:var(--txt)}
.tc-reco-b .trl-rec{color:var(--dim);font-weight:400;font-size:.8rem}
.tc-reco-b p{font-size:.76rem;color:var(--dim);margin-top:2px}
.tc-reco-m{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0}

/* drawer */
.tc-scrim{position:fixed;inset:0;background:rgba(2,6,20,.66);backdrop-filter:blur(4px);z-index:120;opacity:0;pointer-events:none;transition:.25s}
.tc-scrim.show{opacity:1;pointer-events:auto}
.tc-drawer{position:fixed;top:0;right:0;bottom:0;width:min(640px,96vw);background:var(--bg2,#0a1430);border-left:1px solid var(--line2);z-index:121;transform:translateX(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;box-shadow:-24px 0 60px -20px rgba(0,0,0,.6)}
.tc-drawer.show{transform:translateX(0)}
.tc-dr-h{display:flex;align-items:center;gap:13px;padding:18px 22px;border-bottom:1px solid var(--line);flex-shrink:0}
.tc-dr-x{margin-left:auto;width:34px;height:34px;border-radius:9px;border:1px solid var(--line2);background:none;color:var(--mid);cursor:pointer;display:flex;align-items:center;justify-content:center}
.tc-dr-x:hover{color:#fff;border-color:var(--red)}.tc-dr-x svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.2}
.tc-dr-b{flex:1;overflow-y:auto;padding:20px 22px}
.tc-dr-tags{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
body.theme-light .tc-drawer{background:#f7f9fe}
.tc-sec{margin-top:20px}
.tc-sec>h4{font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;color:var(--mid);font-weight:700;margin-bottom:10px;display:flex;align-items:center;gap:8px}
.tc-sec>h4 svg{width:14px;height:14px;stroke:var(--blue-l);fill:none;stroke-width:2}
.tc-fgrid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.tc-fact{padding:10px 12px;border-radius:11px;border:1px solid var(--line);background:var(--glass)}
.tc-fact .tcf-l{font-size:.68rem;color:var(--dim);text-transform:uppercase;letter-spacing:.3px;font-weight:700}
.tc-fact .tcf-v{font-size:.86rem;color:var(--txt);font-weight:600;margin-top:3px}
.tc-skill{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.tc-skill>span{font-size:.8rem;color:var(--txt);width:120px;flex-shrink:0}
.tc-skill .tc-bar{flex:1;margin-top:0}
.tc-skill>b{font-size:.76rem;color:var(--mid);width:32px;text-align:right;flex-shrink:0}
.tc-doc{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:11px;border:1px solid var(--line);background:var(--glass);margin-bottom:7px}
.tc-doc:last-child{margin-bottom:0}
.tc-doc .tcd-b{flex:1;min-width:0}
.tc-doc .tcd-b h5{font-size:.84rem;font-weight:600;color:var(--txt)}
.tc-doc .tcd-b span{font-size:.73rem;color:var(--dim)}

/* ===== Disponibilités · planning ===== */
.dz-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.dz-seg{display:inline-flex;background:rgba(8,16,40,.5);border:1px solid var(--line);border-radius:50px;padding:3px}
.dz-segbtn{padding:7px 16px;border-radius:50px;border:none;background:none;color:var(--mid);font-size:.8rem;font-weight:600;cursor:pointer;transition:.15s}
.dz-segbtn.on{background:linear-gradient(120deg,#2563eb,#60a5fa);color:#fff}
.dz-nav{display:flex;align-items:center;gap:6px}
.dz-navbtn{width:32px;height:32px;border-radius:9px;border:1px solid var(--line);background:var(--glass);color:var(--mid);cursor:pointer;display:flex;align-items:center;justify-content:center}
.dz-navbtn:hover{color:#fff;border-color:var(--line2)}.dz-navbtn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2.4}
.dz-range{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:.86rem;color:var(--txt);min-width:140px;text-align:center;text-transform:capitalize}
.dz-today{padding:6px 12px;border-radius:8px;border:1px solid var(--line2);background:none;color:var(--blue-l);font-size:.76rem;font-weight:600;cursor:pointer}
.dz-today:hover{background:rgba(96,165,250,.12)}
.dz-spacer{flex:1}
.dz-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:.74rem;color:var(--mid)}
.dz-legend span{display:inline-flex;align-items:center;gap:5px}
.dz-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}

.dz-grid{display:grid;grid-template-columns:200px repeat(var(--cols),1fr);gap:6px;align-items:stretch;min-width:680px}
.dz-grid.month{grid-template-columns:200px repeat(var(--cols),minmax(28px,1fr));min-width:1100px}
.dz-cell{display:flex;align-items:center;justify-content:center}
.dz-corner{justify-content:flex-start;font-size:.7rem;text-transform:uppercase;letter-spacing:.4px;color:var(--dim);font-weight:700;padding-left:4px}
.dz-head{flex-direction:column;gap:1px;padding:6px 2px;border-radius:8px;color:var(--mid)}
.dz-head b{font-size:.74rem;font-weight:700;color:var(--txt)}
.dz-head span{font-size:.7rem;color:var(--dim)}
.dz-head.we{opacity:.55}
.dz-head.today{background:rgba(96,165,250,.16)}
.dz-head.today b,.dz-head.today span{color:var(--blue-l)}
.dz-name{justify-content:flex-start;gap:9px;padding:8px 4px}
.dz-nb{flex:1;min-width:0;display:flex;flex-direction:column}
.dz-nb .dz-nm{font-size:.82rem;font-weight:600;color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dz-nb .dz-zone{font-size:.68rem;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dz-toggle{flex-shrink:0;width:38px;height:22px;border-radius:50px;border:none;cursor:pointer;background:rgba(170,182,208,.25);position:relative;transition:.18s}
.dz-toggle span{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50px;background:#fff;transition:.18s}
.dz-toggle.on{background:linear-gradient(120deg,#16a34a,#22c55e)}
.dz-toggle.on span{left:18px}
.dz-day{border:1px solid transparent;border-radius:8px;font-size:.74rem;font-weight:700;cursor:pointer;min-height:36px;color:#0b1020;transition:.12s;padding:0}
.dz-grid.month .dz-day{font-size:.7rem;min-height:30px}
.dz-day.s-dispo{background:rgba(74,222,128,.9)}
.dz-day.s-partam{background:rgba(251,191,36,.92)}
.dz-day.s-partpm{background:rgba(251,146,60,.92)}
.dz-day.s-conge{background:rgba(170,182,208,.55);color:#1a2235}
.dz-day.s-maladie{background:rgba(192,132,252,.85);color:#fff}
.dz-day.s-indispo{background:rgba(248,113,113,.85);color:#fff}
.dz-day:hover{transform:scale(1.04);box-shadow:0 4px 12px -4px rgba(0,0,0,.4)}
.dz-day.we{opacity:.5}
.dz-day.today{outline:2px solid var(--blue-l);outline-offset:-2px}
.dz-day.closed{background:repeating-linear-gradient(45deg,rgba(170,182,208,.08),rgba(170,182,208,.08) 5px,transparent 5px,transparent 10px);cursor:default;border:1px dashed var(--line)}
.dz-grid.closed .dz-name{opacity:.5}
.dz-hint{font-size:.76rem;color:var(--dim);margin-top:12px}
@media(max-width:780px){
  .dz-grid{grid-template-columns:140px repeat(var(--cols),minmax(38px,1fr));min-width:0}
  .dz-grid.month{grid-template-columns:140px repeat(var(--cols),minmax(26px,1fr))}
  .dz-name{gap:7px;padding:8px 3px}
  .dz-nb .dz-zone{display:none}
  .dz-day{font-size:.66rem}
  .dz-toolbar{gap:9px}
  .dz-legend{order:5;width:100%}
}
@media(max-width:480px){
  .dz-grid{grid-template-columns:104px repeat(var(--cols),minmax(34px,1fr))}
  .dz-name .tc-ava{display:none}
  .dz-range{min-width:96px;font-size:.78rem}
}
body.theme-light .dz-seg{background:#eef2fb}
body.theme-light .dz-day.s-conge{color:#1a2235}

/* sélecteur de statut (popover) */
.dz-pop{position:fixed;z-index:140;width:232px;background:var(--bg2,#0a1430);border:1px solid var(--line2);border-radius:14px;padding:10px;box-shadow:0 24px 60px -16px rgba(0,0,0,.6);opacity:0;pointer-events:none;transform:translateY(-6px);transition:.16s}
.dz-pop.show{opacity:1;pointer-events:auto;transform:translateY(0)}
.dz-pop-h{font-size:.78rem;font-weight:700;color:var(--txt);padding:2px 4px 8px;border-bottom:1px solid var(--line);margin-bottom:8px}
.dz-pop-sec{font-size:.66rem;text-transform:uppercase;letter-spacing:.4px;color:var(--dim);font-weight:700;margin:8px 4px 6px}
.dz-pop-opts{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.dz-popbtn{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border-radius:9px;border:1px solid var(--line);background:var(--glass);color:var(--txt);font-size:.78rem;font-weight:600;cursor:pointer;transition:.14s;text-align:left}
.dz-popbtn i{width:10px;height:10px;border-radius:3px;flex-shrink:0}
.dz-popbtn:hover{border-color:var(--line2);background:rgba(96,165,250,.12)}
.dz-popbtn.cur{border-color:var(--blue-l);background:rgba(96,165,250,.16)}
.dz-popbtn .dz-chk{width:13px;height:13px;stroke:var(--blue-l);fill:none;stroke-width:2.6;margin-left:auto}
body.theme-light .dz-pop{background:#fff}

/* month lisibilité + colonne technicien collante */
.dz-board{position:relative;scrollbar-width:thin;scrollbar-color:var(--line2) transparent}
.dz-board::-webkit-scrollbar{height:8px}
.dz-board::-webkit-scrollbar-track{background:transparent}
.dz-board::-webkit-scrollbar-thumb{background:var(--line2);border-radius:50px;border:2px solid transparent;background-clip:padding-box}
.dz-board::-webkit-scrollbar-thumb:hover{background:var(--blue-l);background-clip:padding-box}
.dz-corner,.dz-name{position:sticky;left:0;z-index:3;background:var(--bg2,#0a1430)}
body.theme-light .dz-corner,body.theme-light .dz-name{background:#fff}
.dz-grid.month .dz-head b{display:block;font-size:.6rem;color:var(--dim);font-weight:700;text-transform:uppercase}
.dz-grid.month .dz-head span{font-size:.74rem;color:var(--txt);font-weight:600}
.dz-grid.month .dz-head.we b,.dz-grid.month .dz-head.we span{color:var(--dim)}
.dz-head.wkstart,.dz-day.wkstart{margin-left:6px;position:relative}
.dz-head.wkstart::before,.dz-day.wkstart::before{content:'';position:absolute;left:-4px;top:2px;bottom:2px;width:1px;background:var(--line2)}
.dz-grid.month .dz-day.we{opacity:.78}
.dz-grid.month .dz-head.we{background:rgba(170,182,208,.06);border-radius:6px}

/* déclarer une absence (modal) */
.dz-abs-scrim{position:fixed;inset:0;background:rgba(2,6,20,.66);backdrop-filter:blur(4px);z-index:150;opacity:0;pointer-events:none;transition:.2s;display:flex;align-items:center;justify-content:center;padding:20px}
.dz-abs-scrim.show{opacity:1;pointer-events:auto}
.dz-abs{width:min(440px,96vw);background:var(--bg2,#0a1430);border:1px solid var(--line2);border-radius:18px;overflow:hidden;box-shadow:0 40px 90px -30px rgba(0,0,0,.7);transform:translateY(10px);transition:.2s}
.dz-abs-scrim.show .dz-abs{transform:translateY(0)}
.dz-abs-h{display:flex;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line)}
.dz-abs-h h3{font-family:'Space Grotesk',sans-serif;font-size:1.02rem;color:var(--txt)}
.dz-abs-x{margin-left:auto;width:32px;height:32px;border-radius:8px;border:1px solid var(--line2);background:none;color:var(--mid);cursor:pointer;display:flex;align-items:center;justify-content:center}
.dz-abs-x:hover{color:#fff;border-color:var(--red)}.dz-abs-x svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2.2}
.dz-abs-b{padding:18px 20px;display:flex;flex-direction:column;gap:15px}
.dz-fld{display:block}
.dz-fld>span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.4px;color:var(--dim);font-weight:700;margin-bottom:7px}
.dz-fld select,.dz-fld input[type=date]{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--line2);background:var(--glass);color:var(--txt);font-size:.86rem;font-family:inherit}
.dz-choice{display:flex;gap:8px}.dz-choice.wrap{flex-wrap:wrap}
.dz-ch{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:10px;border:1px solid var(--line);background:var(--glass);color:var(--mid);font-size:.82rem;font-weight:600;cursor:pointer;transition:.14s}
.dz-ch i{width:10px;height:10px;border-radius:3px}
.dz-ch:hover{border-color:var(--line2);color:var(--txt)}
.dz-ch.on{border-color:var(--blue-l);background:rgba(96,165,250,.16);color:#fff}
body.theme-light .dz-ch.on{color:#0d1f5c}
.dz-range2{display:flex;align-items:center;gap:10px}.dz-range2 input{flex:1}.dz-range2 .dz-to{color:var(--dim)}
.dz-abs-f{display:flex;justify-content:flex-end;gap:9px;padding:14px 20px;border-top:1px solid var(--line)}
body.theme-light .dz-abs{background:#fff}

/* ===== Gestion Techniciens (administration) ===== */
.gt-search{display:flex;align-items:center;gap:9px;max-width:380px;margin-bottom:16px;padding:9px 13px;border-radius:11px;border:1px solid var(--line);background:var(--glass)}
.gt-search .gts-ic{color:var(--dim);display:flex}.gt-search .gts-ic svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2}
.gt-search input{flex:1;border:none;background:none;outline:none;color:var(--txt);font-size:.86rem}
.gt-rows{display:flex;flex-direction:column;gap:9px}
.gt-row{display:flex;align-items:center;gap:13px;padding:13px 15px;border-radius:14px;border:1px solid var(--line);background:var(--glass);cursor:pointer;transition:.16s}
.gt-row:hover{border-color:var(--line2);transform:translateX(2px)}
.gt-row .gtr-b{flex:1;min-width:0}
.gt-row .gtr-b h4{font-size:.92rem;font-weight:600;color:var(--txt);display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.gt-row .gtr-b p{font-size:.77rem;color:var(--dim);margin-top:3px}
.gt-row .gtr-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}
.gt-row .gt-mut{font-size:.72rem;color:var(--dim)}
.gt-access{display:inline-flex;align-items:center;font-size:.7rem;font-weight:700;padding:2px 9px;border-radius:50px}
.gt-access.actif{background:rgba(34,197,94,.16);color:#4ade80}
.gt-access.suspendu{background:rgba(245,158,11,.16);color:var(--gold)}
.gt-access.desactive{background:rgba(170,182,208,.16);color:var(--mid)}
.gt-empty{font-size:.83rem;color:var(--dim);padding:12px 2px}

.gt-access-row{display:flex;gap:8px;flex-wrap:wrap}
.gt-abtn{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:10px;border:1px solid var(--line);background:var(--glass);color:var(--mid);font-size:.8rem;font-weight:600;cursor:pointer;transition:.14s}
.gt-abtn svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2}
.gt-abtn:hover{border-color:var(--line2);color:var(--txt)}
.gt-abtn.on.green{border-color:#4ade80;background:rgba(34,197,94,.14);color:#4ade80}
.gt-abtn.on.orange{border-color:var(--gold);background:rgba(245,158,11,.14);color:var(--gold)}
.gt-abtn.on.gray{border-color:var(--mid);background:rgba(170,182,208,.14);color:var(--mid)}
.gt-select{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--line2);background:var(--glass);color:var(--txt);font-size:.86rem;font-family:inherit}
.gt-perms{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.gt-perm{display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:10px;border:1px solid var(--line);background:var(--glass);color:var(--mid);font-size:.8rem;font-weight:600;cursor:pointer;text-align:left;transition:.14s}
.gt-perm .gt-check{width:18px;height:18px;border-radius:5px;border:1px solid var(--line2);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.gt-perm .gt-check svg{width:12px;height:12px;stroke:#fff;fill:none;stroke-width:3}
.gt-perm.on{border-color:var(--blue-l);background:rgba(96,165,250,.12);color:var(--txt)}
.gt-perm.on .gt-check{background:var(--blue-l);border-color:var(--blue-l)}
.gt-club{display:flex;align-items:center;gap:16px;padding:13px 15px;border-radius:12px;border:1px solid var(--line);background:rgba(168,130,255,.07);margin-bottom:10px}
.gt-pts{display:flex;flex-direction:column;align-items:center}
.gt-pts .gtp-n{font-family:'Space Grotesk',sans-serif;font-size:1.5rem;font-weight:800;color:var(--violet)}
.gt-pts .gtp-l{font-size:.7rem;color:var(--dim);text-transform:uppercase;letter-spacing:.4px}
.gt-pts-acts{display:flex;gap:7px}
.gt-badges{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:9px}
.gt-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:50px;font-size:.74rem;font-weight:600;color:var(--gold);background:rgba(245,158,11,.14)}
.gt-badge svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2}
.gt-badge.removable{border:none;cursor:pointer;font-family:inherit;padding-right:8px}
.gt-badge.removable:hover{background:rgba(248,113,113,.16);color:var(--red)}
.gt-badge .gt-badge-x{display:inline-flex;align-items:center;margin-left:2px;opacity:.6}
.gt-badge .gt-badge-x svg{width:11px;height:11px;stroke-width:2.6}
.gt-badge.removable:hover .gt-badge-x{opacity:1}
.gt-edit{display:flex;flex-direction:column;gap:11px}
.gt-edit .dz-fld input{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--line2);background:var(--glass);color:var(--txt);font-size:.86rem;font-family:inherit}
.gt-edit-acts{display:flex;justify-content:flex-end;gap:8px}
.gt-badge-add{display:flex;flex-wrap:wrap;gap:6px}
@media(max-width:560px){.gt-perms{grid-template-columns:1fr}}

/* ===== Gestion Clients (tiers, ranking, avantages) ===== */
.gc-tier{display:inline-flex;align-items:center;font-size:.68rem;font-weight:700;padding:2px 9px;border-radius:50px}
.gc-tier.gold{background:rgba(245,158,11,.18);color:var(--gold)}
.gc-tier.silver{background:rgba(96,165,250,.16);color:var(--blue-l)}
.gc-tier.bronze{background:rgba(170,182,208,.16);color:var(--mid)}
.gc-rank{width:24px;flex-shrink:0;text-align:center;font-family:'Space Grotesk',sans-serif;font-weight:800;font-size:.9rem;color:var(--dim)}
.gc-adv{display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media(max-width:560px){.gc-adv{grid-template-columns:1fr}}

/* ===== Atlas Mobile · fiche véhicule enrichie ===== */
.fl-score{display:flex;align-items:center;gap:16px}
.fl-score-ring{width:64px;height:64px;border-radius:50px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:conic-gradient(var(--blue-l) calc(var(--p)*3.6deg),rgba(255,255,255,.08) 0)}
.fl-score-ring b{width:52px;height:52px;border-radius:50px;background:var(--bg2,#0a1430);display:flex;align-items:center;justify-content:center;font-family:'Space Grotesk',sans-serif;font-weight:800;font-size:1.1rem;color:var(--txt)}
body.theme-light .fl-score-ring b{background:#fff}
.fl-score-bars{flex:1;display:flex;flex-direction:column;gap:7px}
.fl-sb{display:flex;align-items:center;gap:9px}
.fl-sb>span{font-size:.78rem;color:var(--mid);width:96px;flex-shrink:0}
.fl-sb .tc-bar{flex:1;margin-top:0}
.fl-sb>b{font-size:.75rem;color:var(--txt);width:24px;text-align:right}
.fl-next{display:flex;align-items:center;gap:8px;font-size:.83rem;color:var(--mid);padding:9px 12px;border-radius:10px;background:rgba(96,165,250,.08);border:1px solid var(--line)}
.fl-next svg{width:15px;height:15px;stroke:var(--blue-l);fill:none;stroke-width:2;flex-shrink:0}
.fl-next b{color:var(--txt)}
.fl-equip{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.fl-eq{display:flex;align-items:center;gap:8px;padding:9px 11px;border-radius:10px;border:1px solid var(--line);background:var(--glass)}
.fl-eq.zero{border-color:rgba(248,113,113,.3);background:rgba(248,113,113,.05)}
.fl-eq .fle-n{flex:1;font-size:.8rem;color:var(--txt);min-width:0}
.fl-eq .fle-c{display:flex;align-items:center;gap:7px}
.fl-eq .fle-c b{font-size:.85rem;color:var(--txt);min-width:14px;text-align:center}
.fl-eq.zero .fle-c b{color:var(--red)}
.fle-b{width:24px;height:24px;border-radius:7px;border:1px solid var(--line2);background:none;color:var(--mid);cursor:pointer;display:flex;align-items:center;justify-content:center}
.fle-b:hover{color:#fff;border-color:var(--blue-l)}.fle-b svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2.4}
@media(max-width:560px){.fl-equip{grid-template-columns:1fr}}

/* ===== Atlas Mobile · carte « plan de ville » ===== */
.fl-map{position:relative;height:260px;overflow:hidden;background:linear-gradient(160deg,rgba(18,34,78,.55),rgba(8,16,40,.7))}
.fl-map-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(96,165,250,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(96,165,250,.10) 1px,transparent 1px);background-size:34px 34px;mask-image:radial-gradient(120% 100% at 50% 40%,#000,transparent 92%)}
.fl-map-block{position:absolute;border-radius:8px;background:rgba(96,165,250,.06);border:1px solid rgba(96,165,250,.12)}
.fl-map-block.park{background:rgba(52,211,153,.08);border-color:rgba(52,211,153,.16)}
.fl-map-road{position:absolute;background:linear-gradient(90deg,transparent,rgba(148,180,240,.22),transparent);height:10px;border-radius:6px}
.fl-map-road.r1{left:-5%;right:-5%;top:32%;transform:rotate(-4deg)}
.fl-map-road.r2{left:-5%;right:-5%;top:64%;transform:rotate(3deg)}
.fl-map-road.r3{top:-10%;bottom:-10%;left:48%;width:10px;height:auto;background:linear-gradient(180deg,transparent,rgba(148,180,240,.18),transparent);transform:rotate(6deg)}
.fl-map-river{position:absolute;left:-10%;right:-10%;top:46%;height:26px;background:linear-gradient(90deg,transparent,rgba(56,189,248,.18),rgba(56,189,248,.22),transparent);transform:rotate(-7deg);filter:blur(1px)}
.fl-map-glow{position:absolute;inset:0;background:radial-gradient(60% 60% at 50% 30%,rgba(96,165,250,.14),transparent 70%);pointer-events:none}
body.theme-light .fl-map{background:linear-gradient(160deg,#eaf1ff,#dde8fb)}
body.theme-light .fl-map-grid{background-image:linear-gradient(rgba(37,99,235,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(37,99,235,.10) 1px,transparent 1px)}
body.theme-light .fl-map-block{background:rgba(37,99,235,.05);border-color:rgba(37,99,235,.12)}
/* leaflet container */
.fl-leaflet{height:300px;position:relative;background:#0a1430;max-width:100%;overflow:hidden;isolation:isolate;z-index:0}
.fl-leaflet .leaflet-container,.fl-mapwrap .leaflet-container{max-width:100%}
.fl-leaflet .leaflet-pane,.fl-leaflet .leaflet-top,.fl-leaflet .leaflet-bottom,.fl-mapwrap .leaflet-pane,.fl-mapwrap .leaflet-top,.fl-mapwrap .leaflet-bottom{z-index:1}
.fl-mapwrap{overflow:hidden;max-width:100%;isolation:isolate;z-index:0}
.fl-leaflet .leaflet-control-zoom a,.fl-mapwrap .leaflet-control-zoom a{background:rgba(10,20,48,.9);color:#cdd9f2;border-color:var(--line2)}
.fl-leaflet .leaflet-control-zoom a:hover,.fl-mapwrap .leaflet-control-zoom a:hover{background:rgba(20,34,72,.95)}
.fl-mk-lbl{background:rgba(6,12,32,.85)!important;border:1px solid var(--line)!important;color:#cdd9f2!important;font-size:.62rem!important;font-weight:700!important;border-radius:50px!important;box-shadow:none!important;padding:1px 7px!important}
.fl-mk-lbl::before{display:none!important}
.fl-map-loading{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:.8rem;color:var(--mid);z-index:2}

/* documents : vignettes compactes */
.doc-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}
.doc-chip{display:inline-flex;align-items:center;gap:7px;max-width:240px;padding:6px 10px;border-radius:9px;cursor:pointer;
  font-size:.76rem;font-weight:600;color:var(--mid);
  border:1px solid var(--line);background:rgba(96,165,250,.07);transition:.16s}
.doc-chip svg{flex-shrink:0;stroke:var(--blue-l);fill:none;stroke-width:2}
.doc-chip svg:first-child{width:14px;height:14px}
.doc-chip svg:last-child{width:12px;height:12px;opacity:.5;stroke:var(--mid)}
.doc-chip .dc-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.doc-chip:hover{color:#eaf2ff;border-color:color-mix(in srgb,var(--blue-l) 55%,transparent);background:rgba(96,165,250,.16)}
.doc-chip:hover svg:last-child{opacity:1;stroke:var(--blue-l)}
body.theme-light .doc-chip{color:var(--txt)}

/* visionneuse document plein écran (à la demande) */
.crc-doc-scrim{position:fixed;inset:0;background:rgba(2,6,20,.74);backdrop-filter:blur(5px);z-index:130;opacity:0;pointer-events:none;transition:.22s}
.crc-doc-scrim.show{opacity:1;pointer-events:auto}
.crc-doc-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-48%) scale(.97);z-index:131;
  width:min(680px,94vw);max-height:90vh;display:flex;flex-direction:column;opacity:0;pointer-events:none;
  background:var(--bg2,#0a1430);border:1px solid var(--line2);border-radius:18px;overflow:hidden;
  box-shadow:0 40px 90px -30px rgba(0,0,0,.7);transition:.24s cubic-bezier(.4,0,.2,1)}
.crc-doc-modal.show{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}
.crc-doc-h{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line);font-size:.9rem;font-weight:600;color:var(--txt);flex-shrink:0}
.crc-doc-h .cdh-ic{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:rgba(96,165,250,.14);color:var(--blue-l)}
.crc-doc-h .cdh-ic svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2}
.crc-doc-h .cmx{margin-left:auto;width:32px;height:32px;border-radius:8px;border:1px solid var(--line2);background:none;color:var(--mid);cursor:pointer;display:flex;align-items:center;justify-content:center}
.crc-doc-h .cmx:hover{color:#fff;border-color:var(--red)}
.crc-doc-h .cmx svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2.2}
.crc-doc-b{flex:1;overflow-y:auto;padding:26px;background:rgba(4,9,24,.5)}
.docp{background:#fff;border-radius:6px;padding:34px 36px;min-height:420px;box-shadow:0 18px 40px -16px rgba(0,0,0,.5);display:flex;flex-direction:column;gap:22px}
.docp-head{display:flex;align-items:center;gap:14px;border-bottom:2px solid #1f3a8a;padding-bottom:16px}
.docp-badge{font-size:.78rem;font-weight:800;letter-spacing:.5px;color:#fff;background:#dc2626;padding:6px 12px;border-radius:6px}
.docp-title{font-size:1.05rem;font-weight:700;color:#0f172a}
.docp-lines{display:flex;flex-direction:column;gap:13px;flex:1}
.docp-lines span{height:11px;border-radius:4px;background:linear-gradient(90deg,#e2e8f0,#eef2f7)}
.docp-foot{font-size:.78rem;color:#64748b;border-top:1px solid #e2e8f0;padding-top:14px;font-style:italic}
