:root {
  /* Charte WaterLead (reprise du master PowerPoint Newasys) :
     marine #002657 · bleu #2055A5 · bleu ciel #83D0F5 · ardoise #284253 · gris #C9CFD5 · sable #F1ECE2
     corail #EF827E · jaune #FED786 · vert #4EA72E — titres Montserrat, texte Calibri. */
  --font-title: "Montserrat", "Segoe UI", Arial, sans-serif;
  --font-body: Calibri, Carlito, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --bg: #F7F4EE; --panel: #FFFFFF; --field: #FFFFFF;
  --ink: #284253; --title: #002657; --muted: #5E7080;
  --line: #C9CFD5; --line-soft: #E4E0D8;
  --accent: #2055A5; --accent-hover: #002657; --on-accent: #FFFFFF;
  --sky: #83D0F5; --sand: #F1ECE2;
  --err: #B03A35; --err-bg: #FCEBEA; --err-line: #EF827E;
  --warn: #7A5A00; --warn-bg: #FFF6DE; --warn-line: #FED786;
  --info: #2055A5; --info-bg: #EAF3FB; --info-line: #83D0F5;
  --ok: #2F7A1F; --ok-bg: #ECF6E8; --ok-line: #A9D69A;
  --sidebar: #002657; --sidebar-ink: #C9D8EA; --sidebar-active: #2055A5;
  --radius: 6px;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #0A1628; --panel: #0F2038; --field: #0B192D;
    --ink: #E4EBF2; --title: #FFFFFF; --muted: #9DB0C4;
    --line: #28405E; --line-soft: #1B2F4A;
    --accent: #83D0F5; --accent-hover: #B5E4FA; --on-accent: #002657;
    --sky: #83D0F5; --sand: #1B2F4A;
    --err: #F4A6A2; --err-bg: #2B1719; --err-line: #7A3533;
    --warn: #FED786; --warn-bg: #2A2413; --warn-line: #6B5A26;
    --info: #83D0F5; --info-bg: #10263D; --info-line: #245277;
    --ok: #9BD68C; --ok-bg: #132A1E; --ok-line: #2D5A2A;
    --sidebar: #061329; --sidebar-ink: #A9BDD3; --sidebar-active: #2055A5;
  }
}
* , *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--bg); color: var(--ink);
  font: 15px/1.5 var(--font-body); }
h1, h2, h3, .brand, .btn, .chip, .nav a, label, .lbl, thead th { font-family: var(--font-title); }
h1, h2, h3 { color: var(--title); }

/* Layout */
.app { display: grid; grid-template-columns: 232px minmax(0, 1fr); min-height: 100vh; }
.sidebar { background: var(--sidebar); color: var(--sidebar-ink); padding: 20px 14px; }
.brand { color: #fff; font-weight: 700; font-size: 20px; line-height: 1.2; margin: 0 8px 24px; letter-spacing: -.01em; }
.brand::first-letter { color: var(--sky); }
.sidebar { display: flex; flex-direction: column; position: sticky; top: 0; height: 100vh; box-sizing: border-box; overflow-y: auto; }
.credit { margin: auto 8px 0; padding-top: 18px; font-size: 11.5px; color: var(--sidebar-ink); opacity: .75; }
.brand small { display: block; color: var(--sidebar-ink); font-weight: 400; font-size: 11.5px; margin-top: 4px; letter-spacing: 0; }
.nav a { display: flex; align-items: center; gap: 9px; padding: 9px 10px; margin-bottom: 2px; border-radius: var(--radius);
  color: var(--sidebar-ink); text-decoration: none; font-size: 14px; }
.nav a:hover { background: rgba(255,255,255,.06); color: #fff; }
.nav a.active { background: var(--sidebar-active); color: #fff; font-weight: 600; }
.nav a .soon { margin-left: auto; font-size: 10px; padding: 1px 6px; border-radius: 20px;
  background: rgba(255,255,255,.1); color: var(--sidebar-ink); }
.nav .sep { height: 1px; background: rgba(255,255,255,.08); margin: 12px 8px; }
.main { min-width: 0; padding: 26px 30px 48px; }

h1.page { margin: 0 0 4px; font: 700 24px/1.2 var(--font-title); letter-spacing: -.01em; color: var(--title); }
.page-lede { margin: 0 0 22px; color: var(--muted); max-width: 70ch; }

.panel { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); }

/* Forms */
.workbench { display: grid; grid-template-columns: minmax(280px, 350px) minmax(0, 1fr); gap: 22px; align-items: start; }
.form { padding: 18px; }
.group { margin: 0 0 18px; }
.group + .group { padding-top: 16px; border-top: 1px solid var(--line-soft); }
.group h2 { margin: 0 0 10px; font-size: 15px; font-weight: 600; }
.field { margin: 0 0 13px; }
.field:last-child { margin-bottom: 0; }
label, .lbl { display: block; margin: 0 0 4px; font-size: 13px; font-weight: 600; }
.hint { margin: 4px 0 0; font-size: 12.5px; line-height: 1.4; color: var(--muted); }
input[type=text], input[type=password], input[type=url], select, textarea {
  width: 100%; padding: 0 10px; height: 38px; font: inherit; color: var(--ink);
  background: var(--field); border: 1px solid var(--line); border-radius: var(--radius); }
textarea { height: auto; padding: 8px 10px; resize: vertical; min-height: 72px; line-height: 1.5; }
input:focus-visible, select:focus-visible, textarea:focus-visible, button:focus-visible, a:focus-visible {
  outline: 2px solid var(--accent); outline-offset: 1px; }
.row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.inline { display: flex; gap: 8px; } .inline input { flex: 1; min-width: 0; }
.check { display: flex; align-items: flex-start; gap: 8px; margin: 0 0 8px; font-size: 14px; font-weight: 400; }
.check input { margin-top: 3px; accent-color: var(--accent); width: auto; height: auto; }

button { font: inherit; cursor: pointer; }
.btn { height: 38px; padding: 0 14px; border-radius: var(--radius); font-weight: 600; font-size: 14px;
  border: 1px solid var(--line); background: var(--panel); color: var(--ink); }
.btn:hover:not(:disabled) { border-color: var(--accent); color: var(--accent); }
.btn:disabled { opacity: .5; cursor: not-allowed; }
.btn-primary { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.btn-primary:hover:not(:disabled) { background: var(--accent-hover); border-color: var(--accent-hover); color: var(--on-accent); }
.btn-block { width: 100%; height: 42px; font-size: 15px; }

/* Results */
.results-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 16px; border-bottom: 1px solid var(--line-soft); }
.results-head h2 { margin: 0; font-size: 16px; } .count { color: var(--muted); font-size: 13.5px; margin-left: 10px; font-weight: 400; }
.status { margin: 16px; padding: 12px 14px; border: 1px solid var(--line); border-radius: var(--radius); font-size: 14px; }
.status[hidden] { display: none; } .status strong { display: block; margin-bottom: 2px; } .status p { margin: 0; }
.status ul { margin: 6px 0 0; padding-left: 18px; }
.status.info { background: var(--info-bg); border-color: var(--info-line); color: var(--info); }
.status.error { background: var(--err-bg); border-color: var(--err-line); color: var(--err); }
.status.warn { background: var(--warn-bg); border-color: var(--warn-line); color: var(--warn); }
.status.ok { background: var(--ok-bg); border-color: var(--ok-line); color: var(--ok); }
.query { margin: 0 16px 14px; font-size: 12.5px; color: var(--muted); } .query[hidden] { display: none; }
.query summary { cursor: pointer; }
.query code { display: block; margin-top: 6px; padding: 8px 10px; background: var(--bg); border-radius: var(--radius);
  word-break: break-all; font: 12px/1.45 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; color: var(--ink); }
.table-wrap { overflow: auto; max-height: 70vh; border-top: 1px solid var(--line-soft); } .table-wrap[hidden] { display: none; }
table { width: 100%; border-collapse: collapse; font-size: 14px; }
thead th { position: sticky; top: 0; background: var(--panel); text-align: left; padding: 0; border-bottom: 1px solid var(--line); white-space: nowrap; }
thead th button { width: 100%; padding: 10px 14px; border: 0; background: transparent; color: var(--ink); font-size: 13px; font-weight: 600; text-align: left; }
thead th button:hover { color: var(--accent); }
thead th[aria-sort=ascending] button::after { content: " \25B2"; font-size: 9px; color: var(--accent); }
thead th[aria-sort=descending] button::after { content: " \25BC"; font-size: 9px; color: var(--accent); }
tbody td { padding: 9px 14px; border-bottom: 1px solid var(--line-soft); vertical-align: top; }
tbody tr:hover td { background: var(--bg); }
td.num { font-variant-numeric: tabular-nums; white-space: nowrap; } td.nw { white-space: nowrap; }
td .muted { color: var(--muted); }
.tag { display: inline-block; margin-left: 4px; padding: 0 6px; font-size: 11.5px; border: 1px solid var(--line); border-radius: 3px; color: var(--muted); vertical-align: 1px; }
.note { margin: 0; padding: 10px 16px; font-size: 12.5px; color: var(--muted); border-top: 1px solid var(--line-soft); } .note[hidden] { display: none; }
.foot { margin: 18px 2px 0; font-size: 12.5px; color: var(--muted); }

/* Settings */
.settings { max-width: 760px; }
.card { padding: 18px 20px; margin-bottom: 16px; }
.card h2 { margin: 0 0 4px; font-size: 16px; } .card .sub { margin: 0 0 14px; color: var(--muted); font-size: 13px; }
.kv { display: grid; grid-template-columns: 180px 1fr; gap: 6px 14px; align-items: center; font-size: 14px; }
.pill { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; padding: 2px 9px; border-radius: 20px; border: 1px solid var(--line); }
.pill.on { background: var(--ok-bg); border-color: var(--ok-line); color: var(--ok); }
.pill.off { background: var(--warn-bg); border-color: var(--warn-line); color: var(--warn); }
.actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 14px; }
.msg { margin-top: 12px; font-size: 13.5px; } .msg.ok { color: var(--ok); } .msg.err { color: var(--err); } .msg.muted { color: var(--muted); } .msg.warn { color: var(--warn); background: var(--warn-bg); border: 1px solid var(--warn-line); border-radius: 6px; padding: 6px 10px; }

/* ICP */
.icp-layout { display: grid; grid-template-columns: minmax(240px, 300px) minmax(0, 1fr); gap: 22px; align-items: start; }
.icp-list-head { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; border-bottom: 1px solid var(--line-soft); }
.icp-list-head h2 { margin: 0; font-size: 16px; }
.icp-items { display: flex; flex-direction: column; }
.icp-item { text-align: left; background: transparent; border: 0; border-bottom: 1px solid var(--line-soft); padding: 11px 16px; cursor: pointer; display: flex; flex-direction: column; gap: 2px; }
.icp-item:hover { background: var(--bg); }
.icp-item.active { background: var(--info-bg); box-shadow: inset 3px 0 0 var(--accent); }
.icp-item-nom { font-weight: 600; font-size: 14px; color: var(--ink); }
.icp-item-sub { font-size: 12.5px; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.icp-editor { padding: 20px; }
.icp-editor-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.icp-editor-head h2 { margin: 0; font-size: 17px; }
.icp-criteres { margin-top: 6px; padding-top: 14px; border-top: 1px solid var(--line-soft); }
.btn-danger { border-color: var(--err-line); color: var(--err); }
.btn-danger:hover:not(:disabled) { background: var(--err-bg); border-color: var(--err); color: var(--err); }
@media (max-width: 900px) { .icp-layout { grid-template-columns: 1fr; } }

/* Profils (Lot 2) */
.prof-layout { display: grid; grid-template-columns: minmax(220px, 280px) minmax(0, 1fr); gap: 22px; align-items: start; }
.prof-side { align-self: start; }
.prof-pad { padding: 20px; }
.prof-h2 { margin: 0 0 4px; font-size: 17px; }
.prof-crumb { font-size: 12.5px; color: var(--muted); margin-bottom: 14px; }
.linklike { background: none; border: 0; color: var(--accent); cursor: pointer; font: inherit; padding: 0; text-decoration: underline; }
.row3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; }
.cost { font-size: 11px; color: var(--warn); border: 1px solid var(--warn-line); background: var(--warn-bg); padding: 0 6px; border-radius: 20px; margin-left: 6px; }
.free { font-size: 11px; color: var(--ok); border: 1px solid var(--ok-line); background: var(--ok-bg); padding: 0 6px; border-radius: 20px; margin-left: 6px; }
.credit-box { font-size: 13px; color: var(--muted); background: var(--bg); border: 1px solid var(--line-soft); border-radius: var(--radius); padding: 8px 12px; margin-top: 4px; }
.prof-preview { margin-top: 14px; font-size: 12.5px; } .prof-preview summary { cursor: pointer; color: var(--muted); }
.prof-preview th, .prof-preview td { font-size: 12px; padding: 5px 8px; white-space: nowrap; }
.prof-review-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.prof-review-actions { display: flex; gap: 8px; flex-wrap: wrap; } .prof-review-actions .btn { height: 34px; }
.prof-filter { display: flex; gap: 6px; margin-bottom: 12px; flex-wrap: wrap; }
.chip { border: 1px solid var(--line); background: var(--panel); color: var(--muted); border-radius: 20px; padding: 4px 12px; font-size: 13px; cursor: pointer; }
.chip:hover { border-color: var(--accent); color: var(--accent); }
.chip.active { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.prof-row.s-rejete td { opacity: .55; }
.badge-stat { font-size: 12px; padding: 1px 8px; border-radius: 20px; border: 1px solid var(--line); white-space: nowrap; }
.badge-stat.b-valide { background: var(--ok-bg); border-color: var(--ok-line); color: var(--ok); }
.badge-stat.b-rejete { background: var(--err-bg); border-color: var(--err-line); color: var(--err); }
.badge-stat.b-a_revoir { background: var(--warn-bg); border-color: var(--warn-line); color: var(--warn); }
.prof-raison { font-size: 12px; color: var(--muted); line-height: 1.35; margin-top: 2px; max-width: 320px;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.chip-sep { width: 1px; height: 22px; background: var(--line); margin: 0 4px; align-self: center; }
.niv { font-size: 12px; padding: 1px 8px; border-radius: 20px; border: 1px solid var(--line); }
.niv-site { background: var(--info-bg); border-color: var(--info-line); color: var(--info); }
.niv-groupe { background: var(--bg); border-color: var(--line); color: var(--muted); }
.prof-progress { margin: 10px 0 4px; }
/* v27 : suivi en direct d'un traitement long (recherche de profils, enrichissement) */
.suivi { margin: 12px 0 6px; padding: 12px 14px; border: 1px solid var(--info-line); background: var(--info-bg); border-radius: 8px; }
.suivi-head { display: flex; align-items: center; gap: 10px; font-weight: 600; color: var(--info); margin-bottom: 8px; flex-wrap: wrap; }
.suivi-head .suivi-pct { margin-left: auto; font-variant-numeric: tabular-nums; }
.suivi .pbar { background: rgba(255,255,255,.6); }
.suivi-courant { font-size: 13.5px; margin-top: 8px; color: var(--ink); }
.suivi-courant em { color: var(--muted); font-style: normal; }
.suivi-stats { font-size: 12.5px; color: var(--muted); margin-top: 4px; font-variant-numeric: tabular-nums; }
.spin { width: 16px; height: 16px; border: 2px solid var(--info-line); border-top-color: var(--accent); border-radius: 50%;
  display: inline-block; flex: none; animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .spin { animation-duration: 2.4s; } }
.pbar { height: 8px; background: var(--line-soft); border-radius: 20px; overflow: hidden; }
.pbar-fill { height: 100%; width: 0; background: var(--accent); transition: width .2s ease; }
.conf { font-size: 12.5px; font-variant-numeric: tabular-nums; padding: 1px 8px; border-radius: 20px; border: 1px solid var(--line); }
.conf-high { background: var(--ok-bg); border-color: var(--ok-line); color: var(--ok); }
.conf-mid { background: var(--warn-bg); border-color: var(--warn-line); color: var(--warn); }
.conf-low { background: var(--err-bg); border-color: var(--err-line); color: var(--err); }
.ll { color: var(--accent); text-decoration: none; font-size: 13.5px; } .ll:hover { text-decoration: underline; }
.mini { width: 30px; height: 30px; border-radius: var(--radius); border: 1px solid var(--line); background: var(--panel); cursor: pointer; font-size: 14px; margin-left: 4px; }
.mini.ok:hover { background: var(--ok-bg); border-color: var(--ok); color: var(--ok); }
.mini.no:hover { background: var(--err-bg); border-color: var(--err); color: var(--err); }
input[type=file] { width: 100%; padding: 8px; border: 1px dashed var(--line); border-radius: var(--radius); background: var(--field); font-size: 14px; }
input[type=number] { width: 100%; height: 38px; padding: 0 10px; font: inherit; color: var(--ink); background: var(--field); border: 1px solid var(--line); border-radius: var(--radius); }
@media (max-width: 900px) { .prof-layout { grid-template-columns: 1fr; } .row3 { grid-template-columns: 1fr; } }

/* Référentiel (Lot 2.7) */
.ref-wrap { display: flex; flex-direction: column; gap: 18px; }
.ref-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 18px; }
.ref-sel { width: auto; height: 30px; font-size: 13px; padding: 0 8px; }
input.ref-sel { min-width: 260px; }
.ref-name { font-weight: 600; }
.ref-sel-row td { background: var(--info-bg) !important; }
.ref-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 24px; margin: 12px 0 8px; }
.ref-h3 { font-size: 14px; margin: 14px 0 8px; }
.ref-kv { font-size: 13.5px; line-height: 1.7; margin: 0; }
.proofs { list-style: none; padding: 0; margin: 0; font-size: 13.5px; }
.proofs li { display: flex; gap: 8px; padding: 5px 0; border-bottom: 1px solid var(--line-soft); }
.pi { display: inline-flex; width: 20px; height: 20px; flex: 0 0 20px; align-items: center; justify-content: center; border-radius: 50%; font-size: 12px; font-weight: 700; }
.pi-ok { background: var(--ok-bg); color: var(--ok); border: 1px solid var(--ok-line); }
.pi-ko { background: var(--err-bg); color: var(--err); border: 1px solid var(--err-line); }
.pi-mid { background: var(--warn-bg); color: var(--warn); border: 1px solid var(--warn-line); }
.pr { font-size: 12px; padding: 1px 7px; border-radius: 20px; border: 1px solid var(--line); cursor: help; }
.pr-ok { background: var(--ok-bg); border-color: var(--ok-line); color: var(--ok); }
.pr-mid { background: var(--warn-bg); border-color: var(--warn-line); color: var(--warn); }
.pr-ko { background: var(--err-bg); border-color: var(--err-line); color: var(--err); }
.src { font-size: 11.5px; padding: 1px 7px; border-radius: 3px; border: 1px solid var(--line); white-space: nowrap; }
.src-linkedin { background: var(--info-bg); border-color: var(--info-line); color: var(--info); }
.src-site { background: var(--ok-bg); border-color: var(--ok-line); color: var(--ok); }
.src-registre { background: var(--bg); color: var(--muted); }
.ecart { font-size: 12px; color: var(--warn); margin-top: 3px; line-height: 1.35; min-width: 160px; max-width: 240px; }
.prof-row .mini { margin: 6px 4px 0 0; }
.ll.nw { white-space: nowrap; }
.sep-h { border: 0; border-top: 1px solid var(--line-soft); margin: 22px 0 18px; }
@media (max-width: 900px) { .ref-grid { grid-template-columns: 1fr; } input.ref-sel { min-width: 0; width: 100%; } }

/* Placeholder pages */
.soon-page { max-width: 620px; padding: 28px; text-align: left; }
.soon-page .badge { display: inline-block; font-size: 12px; font-weight: 600; color: var(--accent);
  background: var(--info-bg); border: 1px solid var(--info-line); padding: 3px 10px; border-radius: 20px; margin-bottom: 12px; }

@media (max-width: 900px) {
  .app { grid-template-columns: 1fr; }
  .sidebar { display: flex; flex-wrap: wrap; gap: 4px; padding: 12px; position: static; height: auto; }
  .brand { width: 100%; margin: 0 4px 8px; }
  .nav { display: flex; flex-wrap: wrap; gap: 4px; } .nav .sep { display: none; }
  .workbench { grid-template-columns: 1fr; } .main { padding: 18px 16px 40px; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }
#prof_table tbody td { padding: 8px 8px; font-size: 13.5px; }
#prof_table thead th { padding: 8px 8px; font-size: 13px; }
#prof_table .prof-raison { max-width: 200px; }
.prof-layout { grid-template-columns: minmax(190px, 240px) minmax(0, 1fr); }

/* Saisie rapide (référentiel) */
.qk-row { display: flex; gap: 6px; align-items: center; }
.qk-in { height: 32px !important; font-size: 13.5px !important; }
.qk-row .qk-li1, .qk-row .qk-li2 { flex: 1; min-width: 0; }
.qk-row .qk-dom { flex: 0 0 180px; }
.qk-row .mini { margin: 0; flex: 0 0 30px; }
.qk-links { display: flex; gap: 12px; margin-top: 5px; font-size: 12.5px; }
.qk-links .ll { font-size: 12.5px; }
.qk-saved { background: var(--ok-bg) !important; transition: background .3s; }

.panel-sub { border: 1px solid var(--line-soft); background: var(--bg); border-radius: var(--radius); padding: 14px; margin: 0 0 14px; }
.panel-sub[hidden] { display: none; }
.niv-region { background: var(--ok-bg); border-color: var(--ok-line); color: var(--ok); }
.niv-france { background: var(--bg); border-color: var(--line); color: var(--muted); }
.niv-etranger { background: var(--err-bg); border-color: var(--err-line); color: var(--err); }
.niv { white-space: nowrap; }
.prof-row.s-ecarte td { opacity: .7; }
.badge-stat.b-ecarte { background: var(--bg); color: var(--muted); }
.edit-row .qk-in { flex: 1; min-width: 0; }
.badge-stat.b-a_traiter { background: var(--info-bg); border-color: var(--info-line); color: var(--info); }

/* Enjeu eau */
.eau-t { font-size: 13px; margin: 4px 0 6px; }
.eau-t th { position: static; padding: 6px 8px; font-size: 12.5px; }
.eau-t td { padding: 5px 8px; }
.eau-kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 10px 0; }
.eau-kpis > div { border: 1px solid var(--line-soft); border-radius: var(--radius); padding: 10px 12px; background: var(--bg); }
.eau-kpis strong { display: block; font-size: 18px; font-variant-numeric: tabular-nums; margin-top: 2px; }
.sech-crise { color: var(--err); font-weight: 600; }
.modal-ov { position: fixed; inset: 0; background: rgba(10, 20, 30, .45); display: flex; align-items: flex-start; justify-content: center; padding: 40px 16px; z-index: 50; overflow: auto; }
.modal { width: min(980px, 100%); }
.modal-head { display: flex; justify-content: space-between; align-items: center; padding: 14px 18px; border-bottom: 1px solid var(--line-soft); }
.modal-body { padding: 16px 18px 20px; }
th.eau-col[hidden] { display: none; }
@media (max-width: 700px) { .eau-kpis { grid-template-columns: 1fr; } }

#s_grid tbody td { padding: 8px 10px; font-size: 13.5px; }
#s_grid thead th button { padding: 10px 10px; }

.siret-bar { border: 1px solid var(--info-line); background: var(--info-bg); border-radius: var(--radius); padding: 12px 14px; margin: 4px 0 12px; }
.siret-bar label { margin-bottom: 6px; }
.qk-dirty { box-shadow: inset 3px 0 0 var(--warn); }
.qk-new { outline: 2px solid var(--accent); }
#ref_table td { padding: 8px 10px; }

.saved-bar { padding: 10px 16px; margin: 0 0 16px; }
.saved-row { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.saved-row .ref-sel { min-width: 320px; height: 34px; }
.saved-row .btn { height: 34px; }
.mini-txt { width: auto; padding: 0 8px; font-size: 12.5px; font-weight: 600; }
.nav a.active { box-shadow: inset 3px 0 0 var(--sky); }
@media (max-width: 900px) { .credit { display: none; } .saved-row .ref-sel { min-width: 0; width: 100%; } }

/* Saisie des pages LinkedIn : 2 champs côte à côte, site web dessous */
#ref_table .qk-row { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; min-width: 340px; }
#ref_table .qk-row .qk-dom { grid-column: 1 / 2; }
#ref_table .qk-row .qk-in { width: 100%; }
#ref_table td:first-child { min-width: 170px; max-width: 230px; }
#ref_table td:last-child:not(:nth-child(4)) { display: grid; grid-template-columns: auto auto; gap: 4px; justify-content: start; }
#ref_table .mini { margin: 0; }
.st-acts { display: grid; grid-template-columns: auto auto; gap: 4px; margin-top: 6px; justify-content: start; }
#ref_table .ref-name { font-size: 14px; }
.prof-filter #ref_q { flex: 1; min-width: 200px; }

.filt-box { border: 1px solid var(--info-line); background: var(--info-bg); border-radius: var(--radius); padding: 14px 16px; margin: 6px 0 14px; }
.filt-box textarea { font-size: 13px; }

[hidden] { display: none !important; }

/* ---------- v15 : contacts enrichis ---------- */
.ct-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 10px 12px; margin: 10px 0 4px;
  background: var(--sand, #F1ECE2); border-radius: 8px; }
.ct-bar .btn { padding: 5px 10px; font-size: 13px; }
.lbl-liste { display: inline-block; margin: 3px 4px 0 0; padding: 1px 7px; border-radius: 10px; font-size: 11px;
  background: #83D0F533; color: #2055A5; border: 1px solid #83D0F5; white-space: nowrap; }
.ct-live { display: inline-block; padding: 1px 7px; border-radius: 10px; font-size: 11px; font-weight: 600; white-space: nowrap; }
.ct-live.n0 { background: #4EA72E22; color: #2f6b1b; }
.ct-live.n1 { background: #FED78655; color: #7a5a00; }
.ct-live.n2 { background: #F4A26155; color: #8a4a10; }
.ct-live.n3 { background: #EF827E44; color: #9b2c28; }
.ct-live.n4 { background: #9b2c28; color: #fff; }
@media (prefers-color-scheme: dark) { .ct-bar { background: rgba(255,255,255,.06); } .lbl-liste { color: #83D0F5; } }
#ct_table th { font-size: 12.5px; font-weight: 600; padding: 9px 10px; white-space: nowrap; text-align: left; }
#ct_table td { padding: 9px 10px; vertical-align: top; }
#ct_table td:first-child, #ct_table th:first-child { width: 28px; }
.ct-enr { border: 1px solid var(--line, #C9CFD5); border-radius: 8px; padding: 12px 14px; margin: 10px 0; display: flex; flex-direction: column; gap: 10px; }
.ct-enr-row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.ct-mini { height: 26px; padding: 0 8px; font-size: 12px; white-space: nowrap; }

/* ---------- v18 : appels (Noota) ---------- */
.ap-bar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 16px; margin-bottom: 16px; }
.ap-week, .ap-sync { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.ap-week strong { font-family: var(--font-title); color: var(--title); min-width: 250px; text-align: center; }
.ap-kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 12px; }
.ap-kpis > div { background: var(--panel); border: 1px solid var(--line-soft); border-radius: var(--radius); padding: 12px 14px; display: flex; flex-direction: column; gap: 2px; }
.ap-kpis span { font-size: 12.5px; color: var(--muted); font-family: var(--font-title); }
.ap-kpis strong { font-size: 26px; color: var(--title); font-variant-numeric: tabular-nums; font-family: var(--font-title); }
.ap-kpis em { font-style: normal; font-size: 12.5px; color: var(--muted); }
.ap-delta { font-size: 11.5px; color: var(--muted); }
.ap-delta.up { color: var(--ok); } .ap-delta.down { color: var(--err); }
.ap-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 16px 0; }
.ap-grid-tight { margin: 0; gap: 20px; }
.ap-vbars { display: grid; grid-template-columns: repeat(7, 1fr); gap: 8px; height: 170px; align-items: end; margin: 8px 0 4px; }
.ap-vcol { display: flex; flex-direction: column; align-items: center; height: 100%; gap: 4px; cursor: default; }
.ap-vtrack { flex: 1; width: 100%; display: flex; align-items: flex-end; justify-content: center; border-bottom: 1px solid var(--line); }
.ap-vbar { width: 60%; max-width: 38px; background: var(--accent); border-radius: 4px 4px 0 0; }
.ap-vcol:hover .ap-vbar, .ap-hrow:hover .ap-hbar { background: var(--accent-hover); }
.ap-vval { font-size: 12px; color: var(--ink); font-variant-numeric: tabular-nums; min-height: 16px; }
.ap-vlab { font-size: 12px; color: var(--muted); }
.ap-hbars { display: flex; flex-direction: column; gap: 6px; margin: 8px 0; }
.ap-hrow { display: grid; grid-template-columns: minmax(90px, 38%) 1fr 48px; align-items: center; gap: 8px; font-size: 13px; }
.ap-hlab { color: var(--ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ap-htrack { height: 12px; background: var(--sand); border-radius: 4px; overflow: hidden; }
.ap-hbar { display: block; height: 100%; background: var(--accent); border-radius: 0 4px 4px 0; }
.ap-hval { text-align: right; font-variant-numeric: tabular-nums; color: var(--ink); }
.ap-chip { display: inline-block; margin: 3px 6px 3px 0; padding: 2px 9px; border-radius: 12px; font-size: 12.5px; border: 1px solid var(--line); color: var(--ink); }
.ap-chip b { margin-left: 3px; }
.ap-list { margin: 4px 0 8px; padding-left: 18px; font-size: 13.5px; line-height: 1.5; }
.ap-tip { position: fixed; z-index: 80; background: var(--title); color: var(--panel); font-size: 12.5px; padding: 5px 9px; border-radius: 4px; pointer-events: none; max-width: 280px; }
.ap-int { display: inline-block; padding: 1px 8px; border-radius: 10px; font-size: 12px; font-weight: 600; border: 1px solid var(--line); }
.ap-int.i-chaud { background: var(--err-bg); color: var(--err); border-color: var(--err-line); }
.ap-int.i-tiede { background: var(--warn-bg); color: var(--warn); border-color: var(--warn-line); }
.ap-int.i-froid { background: var(--info-bg); color: var(--info); border-color: var(--info-line); }
tr.ap-exclu td { opacity: .6; }
#ap_table th { font-size: 12.5px; padding: 9px 10px; white-space: nowrap; text-align: left; }
#ap_table td { padding: 9px 10px; vertical-align: top; font-size: 13.5px; }
.ap-resume { white-space: pre-wrap; font-size: 13.5px; line-height: 1.55; background: var(--bg); border: 1px solid var(--line-soft); border-radius: var(--radius); padding: 10px 12px; max-height: 480px; overflow: auto; }
.ap-transcript { max-height: 360px; overflow: auto; font-size: 13px; }
.ap-transcript p { margin: 0 0 8px; }
.ap-who { display: flex; justify-content: space-between; gap: 8px; padding: 6px 0; border-bottom: 1px solid var(--line-soft); font-size: 13.5px; }
.ap-cres { display: flex; flex-wrap: wrap; gap: 4px; width: 100%; }
.ap-cpick { border: 1px solid var(--line); background: var(--panel); color: var(--ink); border-radius: 12px; padding: 2px 9px; font-size: 12.5px; cursor: pointer; }
.ap-cpick:hover { border-color: var(--accent); }
@media (max-width: 1000px) { .ap-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ap-grid { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .ap-kpis { grid-template-columns: 1fr; } .ap-week strong { min-width: 0; } }

/* ---------- v20 : arrêtés eau ---------- */
.ar-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1.4fr; gap: 12px; margin-top: 10px; }
.ar-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 8px 0; }
.ar-fam { display: inline-block; padding: 1px 8px; border-radius: 10px; font-size: 12px; font-weight: 600; border: 1px solid var(--line); white-space: nowrap; }
.ar-fam.f-etude { background: var(--ok-bg); color: var(--ok); border-color: var(--ok-line); }
.ar-fam.f-suite { background: var(--info-bg); color: var(--info); border-color: var(--info-line); }
tr.ar-new td:first-child { box-shadow: inset 3px 0 0 var(--accent); }
/* v28 : analyse humaine des arrêtés — couleur de la ligne selon l'intérêt */
:root { --ar-int: #DDF1DA; --ar-int-l: #3F9A3A; --ar-moy: #FCE6C7; --ar-moy-l: #D98A1C; --ar-pas: #F8D7D5; --ar-pas-l: #C8453C; }
@media (prefers-color-scheme: dark) { :root { --ar-int: rgba(63,154,58,.25); --ar-moy: rgba(217,138,28,.25); --ar-pas: rgba(200,69,60,.25); } }
tr.ar-i-interessant > td { background: var(--ar-int); }
tr.ar-i-moyen > td { background: var(--ar-moy); }
tr.ar-i-pas > td { background: var(--ar-pas); }
tr.ar-i-interessant > td:first-child { box-shadow: inset 4px 0 0 var(--ar-int-l); }
tr.ar-i-moyen > td:first-child { box-shadow: inset 4px 0 0 var(--ar-moy-l); }
tr.ar-i-pas > td:first-child { box-shadow: inset 4px 0 0 var(--ar-pas-l); }
.ar-analyse select.ar-tp { width: 118px; height: 30px; font-size: 12.5px; padding: 2px 6px; }
.ar-int { display: flex; gap: 4px; margin-top: 6px; }
.ar-ib { width: 36px; height: 28px; border-radius: 6px; border: 1px solid var(--line); background: var(--panel); cursor: pointer; font-weight: 700; font-size: 14px; color: var(--muted); }
.ar-ib-interessant:hover, .ar-ib-interessant.on { border-color: var(--ar-int-l); color: var(--ar-int-l); }
.ar-ib-moyen:hover, .ar-ib-moyen.on { border-color: var(--ar-moy-l); color: var(--ar-moy-l); }
.ar-ib-pas:hover, .ar-ib-pas.on { border-color: var(--ar-pas-l); color: var(--ar-pas-l); }
.ar-ib.on { color: #fff !important; }
.ar-ib-interessant.on { background: var(--ar-int-l); } .ar-ib-moyen.on { background: var(--ar-moy-l); } .ar-ib-pas.on { background: var(--ar-pas-l); }
.ar-leg { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; }
.ar-sw { width: 14px; height: 14px; border-radius: 3px; border: 1px solid var(--line); background: var(--panel); display: inline-block; }
.ar-sw-interessant { background: var(--ar-int); border-color: var(--ar-int-l); } .ar-sw-moyen { background: var(--ar-moy); border-color: var(--ar-moy-l); } .ar-sw-pas { background: var(--ar-pas); border-color: var(--ar-pas-l); }
#ar_table th { font-size: 12.5px; padding: 9px 10px; white-space: nowrap; text-align: left; }
#ar_table td { padding: 9px 10px; vertical-align: top; font-size: 13.5px; }
@media (max-width: 900px) { .ar-grid { grid-template-columns: 1fr 1fr; } }
#ar_sync { white-space: nowrap; }

/* ---------- v21 : recherche ciblée, prospects ---------- */
.ci-modes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 4px 0 18px; }
.ci-mode { text-align: left; background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); padding: 12px 14px; cursor: pointer; display: flex; flex-direction: column; gap: 4px; color: var(--ink); font: inherit; }
.ci-mode strong { font-family: var(--font-title); color: var(--title); font-size: 14.5px; }
.ci-mode span { font-size: 12.5px; color: var(--muted); }
.ci-mode.active { border-color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); background: var(--info-bg); }
.pr-pipe { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.pr-step { background: var(--bg); border: 1px solid var(--line-soft); border-radius: var(--radius); padding: 8px 6px; display: flex; flex-direction: column; align-items: center; gap: 2px; cursor: pointer; color: var(--ink); font: inherit; }
.pr-step span { font-size: 11.5px; color: var(--muted); text-align: center; line-height: 1.2; min-height: 28px; }
.pr-step strong { font-family: var(--font-title); font-size: 20px; color: var(--title); }
.pr-step em { font-style: normal; font-size: 11px; color: var(--muted); }
.pr-step.active { border-color: var(--accent); background: var(--info-bg); }
.pr-step.muted-step { opacity: .7; }
.pr-dot { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; margin-right: 3px; border-radius: 50%; font-size: 11px; font-weight: 700; border: 1px solid var(--line); color: var(--muted); }
.pr-dot.on { background: var(--ok-bg); color: var(--ok); border-color: var(--ok-line); }
.pr-etape { display: inline-block; padding: 1px 8px; border-radius: 10px; font-size: 12px; font-weight: 600; background: var(--info-bg); color: var(--info); border: 1px solid var(--info-line); }
.pr-etape.e-a_contacter, .pr-etape.e-contacte { background: var(--bg); color: var(--muted); border-color: var(--line); }
.pr-etape.e-gagne { background: var(--ok-bg); color: var(--ok); border-color: var(--ok-line); }
.pr-etape.e-perdu { background: var(--err-bg); color: var(--err); border-color: var(--err-line); }
.pr-late-txt { color: var(--err); }
#pr_table th { font-size: 12.5px; padding: 9px 10px; white-space: nowrap; text-align: left; }
#pr_table td { padding: 9px 10px; vertical-align: top; font-size: 13.5px; }
.pr-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(128px, 1fr)); gap: 10px; margin-bottom: 14px; }
.pr-kpis > div { border: 1px solid var(--line-soft); border-radius: var(--radius); padding: 8px 10px; background: var(--bg); display: flex; flex-direction: column; gap: 2px; }
.pr-kpis > div:first-child { grid-column: span 2; }
.pr-kpis span { font-size: 12px; color: var(--muted); font-family: var(--font-title); }
.pr-kpis strong { font-size: 17px; color: var(--title); }
.pr-kpis em { font-style: normal; font-size: 12px; color: var(--muted); }
.pr-kpis input, .pr-kpis select { height: 32px; }
.pr-tl { max-height: 420px; overflow: auto; border-left: 2px solid var(--line-soft); padding-left: 12px; }
.pr-tl-item { display: grid; grid-template-columns: 80px 1fr; gap: 8px; padding: 6px 0; border-bottom: 1px solid var(--line-soft); font-size: 13.5px; }
.pr-tl-date { font-size: 12px; color: var(--muted); font-variant-numeric: tabular-nums; }
@media (max-width: 1000px) { .pr-pipe { grid-template-columns: repeat(4, minmax(0, 1fr)); } .ci-modes, .pr-kpis { grid-template-columns: 1fr 1fr; } }
.pr-ol { margin-top: 8px; font-size: 13px; gap: 8px; align-items: center; }
.pr-ol .btn { margin-left: auto; }

/* ---------- v23 : tableau de bord, objections, trames ---------- */
.tb-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.tb-card { background: var(--panel); border: 1px solid var(--line-soft); border-radius: var(--radius); padding: 12px 14px; display: flex; flex-direction: column; gap: 3px; }
.tb-card > span { font-size: 12.5px; color: var(--muted); font-family: var(--font-title); }
.tb-card > span b { display: inline-grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: var(--bg); color: var(--title); font-size: 11px; margin-right: 4px; }
.tb-val { display: flex; align-items: baseline; gap: 8px; }
.tb-val strong { font-size: 28px; color: var(--title); font-family: var(--font-title); font-variant-numeric: tabular-nums; }
.tb-card em { font-style: normal; font-size: 12.5px; color: var(--muted); }
.tb-delta { font-size: 12px; font-weight: 600; }
.tb-delta.up { color: var(--ok); } .tb-delta.down { color: var(--err); }
.tb-gauge { height: 6px; background: var(--bg); border-radius: 3px; overflow: hidden; margin-top: 6px; }
.tb-gauge i { display: block; height: 100%; background: var(--accent); border-radius: 3px; }
.tb-gauge i.ok { background: var(--ok); }
.tb-spark { display: flex; align-items: flex-end; gap: 3px; height: 28px; margin-top: 8px; }
.tb-spark i { flex: 1; background: var(--line); border-radius: 2px 2px 0 0; }
.tb-spark i.cur { background: var(--accent); }
.tb-alert { margin-top: 6px; font-size: 12.5px; color: var(--err); }
.tb-row { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) 70px 110px; gap: 10px; align-items: center; padding: 6px 0; border-bottom: 1px solid var(--line-soft); font-size: 13.5px; }
.tb-row .linklike { text-align: left; }
.tb-row b { text-align: right; font-variant-numeric: tabular-nums; }
.tb-row em { font-style: normal; color: var(--muted); font-size: 12.5px; text-align: right; }
.tb-hbar { height: 10px; background: var(--bg); border-radius: 5px; overflow: hidden; }
.tb-hbar i { display: block; height: 100%; background: var(--accent); }
.tb-objs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.ob-cat { margin-top: 10px; padding: 0; }
.ob-head { width: 100%; display: flex; justify-content: space-between; gap: 10px; background: none; border: 0; padding: 12px 16px; cursor: pointer; font: inherit; color: var(--text); text-align: left; }
.ob-head b { color: var(--title); font-family: var(--font-title); }
.ob-body { padding: 0 16px 16px; }
.ob-rep { border: 1px solid var(--line-soft); border-radius: var(--radius); padding: 8px 10px; margin-bottom: 8px; background: var(--bg); }
.ob-rep-t { font-size: 13.5px; }
.ob-rep-m { display: flex; justify-content: space-between; gap: 8px; font-size: 12px; margin-top: 4px; flex-wrap: wrap; }
.ob-occ { padding: 8px 0; border-bottom: 1px solid var(--line-soft); font-size: 13.5px; }
.ob-occ-f { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; align-items: center; }
.ob-occ-f select { width: auto; max-width: 260px; height: 30px; font-size: 12.5px; }
.ob-trames { display: grid; grid-template-columns: 260px 1fr; gap: 18px; }
.ob-tlist { display: flex; flex-direction: column; gap: 4px; }
.ob-tlist button { text-align: left; background: none; border: 1px solid transparent; border-radius: var(--radius); padding: 8px 10px; cursor: pointer; font: inherit; color: var(--text); display: flex; flex-direction: column; }
.ob-tlist button span { font-size: 12px; color: var(--muted); }
.ob-tlist button.active, .ob-tlist button:hover { border-color: var(--line); background: var(--bg); }
.ob-md h4 { font-family: var(--font-title); color: var(--title); margin: 12px 0 4px; font-size: 14px; }
.ob-md p, .ob-md li { font-size: 13.5px; margin: 4px 0; }
@media (max-width: 1000px) { .tb-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .tb-objs { grid-template-columns: 1fr 1fr; } .ob-trames { grid-template-columns: 1fr; } }

/* v30 : lien ou étiquette présentés comme un bouton */
.btn-lien { text-decoration: none; display: inline-flex; align-items: center; cursor: pointer; white-space: nowrap; }
.prof-filter { flex-wrap: wrap; }

/* v31 : boutons mail / appel des contacts */
.ct-actions { display: inline-flex; gap: 5px; flex-wrap: nowrap; vertical-align: middle; }
.btn.ct-act { height: 26px; padding: 0 9px; font-size: 12.5px; text-decoration: none; display: inline-flex; align-items: center; white-space: nowrap; }
.btn.ct-act.disabled { opacity: .4; pointer-events: none; }
.tel-num { white-space: nowrap; font-variant-numeric: tabular-nums; }
.pf-newct { border: 1px solid var(--line-soft); border-radius: var(--radius); padding: 10px 12px; margin: 8px 0 12px; background: var(--sand); }
.pf-newct .row3 { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; }
@media (max-width: 760px) { .pf-newct .row3 { grid-template-columns: 1fr; } }

/* v31 : carte des sites des arrêtés */
.carte-filtres { display: flex; flex-direction: column; gap: 8px; margin: 12px 0 10px; }
.carte-fl { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
.carte-flab { font-weight: 600; font-size: 13px; color: var(--title); min-width: 60px; }
.carte-ck { display: inline-flex; align-items: center; gap: 5px; }
.carte-pastille { display: inline-block; width: 11px; height: 11px; border-radius: 50%; border: 1px solid #5E7080; vertical-align: middle; margin-right: 4px; flex: none; }
.carte-pastille-vide { background: transparent; border-style: dashed; }
.carte-wrap { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 14px; align-items: start; }
@media (max-width: 1000px) { .carte-wrap { grid-template-columns: 1fr; } }
.carte-box { position: relative; border: 1px solid var(--line-soft); border-radius: var(--radius); background: #FBFCFD; padding: 6px; }
#carte_svg { width: 100%; height: auto; aspect-ratio: 613 / 585; display: block; cursor: grab; touch-action: none; user-select: none; }
#carte_svg.glisse { cursor: grabbing; }
#carte_deps path { fill: #EEF1F4; stroke: #FFFFFF; stroke-width: var(--sw, .6); stroke-linejoin: round; cursor: pointer; }
#carte_deps path:hover { stroke: var(--title); }
#carte_deps path.sel { stroke: var(--title); stroke-width: calc(var(--sw, .6) * 3); }
.carte-pt { cursor: pointer; }
.carte-pt.estompe { opacity: .35; }
.carte-zoom { position: absolute; top: 12px; left: 12px; display: flex; flex-direction: column; gap: 4px; }
.carte-zoom .btn { padding: 2px 8px; min-width: 34px; font-size: 13px; }
.carte-tip { position: absolute; z-index: 5; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 6px 8px; font-size: 12.5px;
  box-shadow: 0 2px 8px rgba(0,0,0,.12); pointer-events: none; max-width: 260px; line-height: 1.35; }
.carte-leg { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 12.5px; padding: 6px 4px 0; }
.carte-attr { font-size: 11.5px; color: var(--muted); margin: 4px 4px 0; }
.carte-side { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.carte-cpt { margin: 0 0 4px; font-size: 14px; }
.carte-liste { max-height: 520px; overflow: auto; }
.carte-t { width: 100%; border-collapse: collapse; }
.carte-t td { padding: 5px 6px; border-bottom: 1px solid var(--line-soft); vertical-align: top; cursor: pointer; }
.carte-t tr:hover td { background: var(--sand); }
.carte-fiche { border: 1px solid var(--line); border-radius: var(--radius); padding: 8px 10px; background: #fff; }
.carte-arr { display: flex; gap: 6px; align-items: flex-start; padding: 5px 0; border-top: 1px solid var(--line-soft); }
.carte-arr .carte-pastille { margin-top: 4px; }

/* v32 : appel avec Noota (extension Chrome) */
.tel-clic { cursor: pointer; }
.tel-clic:hover { text-decoration: underline; }
.appel-pop { position: fixed; z-index: 90; width: 320px; max-width: calc(100vw - 16px); background: var(--panel); border: 1px solid var(--line);
  border-radius: var(--radius); box-shadow: 0 6px 20px rgba(0, 38, 87, .18); padding: 10px 12px; }
.appel-head { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.appel-num { font-size: 22px; font-weight: 700; color: var(--title); margin-top: 6px; font-variant-numeric: tabular-nums; user-select: all; }
/* v32 : OCR des scans */
.ocr-box { border: 1px solid var(--line-soft); border-radius: var(--radius); background: var(--sand); padding: 10px 12px; margin: 10px 0; }
.ocr-box .ar-row { margin-top: 6px; }

/* v32 : onglet « Carte des sites » repérable */
.chip.chip-carte { display: inline-flex; align-items: center; gap: 7px; padding: 2px 12px 2px 8px; border-color: var(--accent); color: var(--accent); font-weight: 600; }
.chip.chip-carte.active { color: var(--on-accent); }
.carte-ico { flex: none; display: block; }
.carte-ico-fr { fill: #7FAEDD; stroke: #7FAEDD; stroke-width: 4; }
.chip.chip-carte.active .carte-ico-fr { fill: #D6E6F5; stroke: #D6E6F5; }

/* v34 : température des prospects, périmètre client / prospection des échanges */
.pr-temps { gap: 6px; }
.pr-temp-lab { font-weight: 600; font-size: 13px; color: var(--title); margin-right: 4px; }
.pr-temp-chip { display: inline-flex; align-items: center; gap: 6px; }
.pr-temp-dot { width: 9px; height: 9px; border-radius: 50%; display: inline-block; background: var(--muted); }
.t-chaud .pr-temp-dot { background: #B03A35; } .t-tiede .pr-temp-dot { background: #E08A00; } .t-froid .pr-temp-dot { background: #2055A5; }
.pr-temp-sel { width: auto; height: 30px; padding: 0 6px; font-size: 13px; border-radius: var(--radius); font-weight: 600; }
.pr-temp-sel.t-chaud { background: #FCEBEA; color: #B03A35; border-color: #EF827E; }
.pr-temp-sel.t-tiede { background: #FFF6DE; color: #7A5A00; border-color: #FED786; }
.pr-temp-sel.t-froid { background: #EAF3FB; color: #2055A5; border-color: #83D0F5; }
.pr-temp-sel.t-aucune { color: var(--muted); font-weight: 400; }
.pr-tl-qui { color: var(--muted); font-weight: 400; }
.pr-tl-client { opacity: .62; }
.pr-tl-client:hover { opacity: 1; }
.pr-perim-badge { display: inline-block; font-size: 11.5px; padding: 0 6px; border-radius: 8px; background: var(--sand); border: 1px solid var(--line); color: var(--ink); }
.pr-perim-btn { font-size: 12px; color: var(--muted); }
.pr-perim-sel { width: auto; height: 24px; padding: 0 4px; font-size: 12px; margin-left: 4px; }
.pr-tl-filtre .chip { padding: 2px 10px; font-size: 12.5px; }

/* v35 : bouton Verrouiller (barre latérale) */
.btn-verrou { margin: auto 8px 0; height: 34px; border: 1px solid rgba(201, 216, 234, .35); border-radius: var(--radius);
  background: transparent; color: var(--sidebar-ink); font: 600 13px var(--font-title); cursor: pointer; }
.btn-verrou:hover:not(:disabled) { border-color: var(--sky); color: #fff; }
.btn-verrou:focus-visible { outline: 2px solid var(--sky); outline-offset: 2px; }
.btn-verrou + .credit { margin-top: 12px; }

/* v36 : base eau dans la Recherche Ciblée (comptes sans accès aux Paramètres) */
.ci-base-eau { margin-top: 22px; }
.ci-base-eau > summary { cursor: pointer; font: 600 14.5px var(--font-title); color: var(--title); margin-bottom: 12px; }
.ad-cles { display: flex; flex-direction: column; gap: 6px; margin: 4px 0 8px; }
