/* ═══════════════════════════════════════════════════════════════════════
   arpe-pilot.css — kit « pilotage » de Margot, repris TEL QUEL A UNE
   EXCEPTION PRES, documentee ici.

   ⚠ LE FICHIER LIVRE EST TRONQUE. Sa derniere ligne est
   `  .aqpl-fb>.aqpl-fbar,}` : un SELECTEUR PENDU, coupe avant ses
   declarations, suivi de l'accolade qui ferme la media query
   `@media(max-width:760px)`. C'est exactement le defaut de b2436, ou trois
   de ses feuilles portaient des selecteurs pendus — et ce motif AVALE la
   regle suivante quand il n'est pas en fin de fichier.

   Ici il l'est, donc rien n'est avale : la seule consequence est que la
   mise en page etroite du bandeau d'entonnoir est INCOMPLETE. On retire le
   selecteur pendu pour que la feuille parse, et on ne remplace pas les
   declarations manquantes — les inventer donnerait une mise en page qui
   n'est pas la sienne, et le jour ou elle relivre, la difference serait
   invisible.

   Verifie au passage : `.aqpl-fbar` n'apparait NULLE PART dans son moteur.
   La regle coupee visait une classe que son JS n'emet pas — donc rien de
   visible ne manque aujourd'hui. A lui signaler quand meme : un fichier
   tronque a la livraison, c'est le genre de chose qui passe une fois et
   coute cher la suivante.
   ═══════════════════════════════════════════════════════════════════════ */
/* ═══════════════════════════════════════════════════════════════════
   arpe-pilot.css — Arpentiq · tableau de bord Pilotage (page complète)
   Namespace .aqpl-* · tout scopé, aucune règle body/html/:root.
   Structure retenue (proposition A) : l'écart au but domine, puis le
   parcours, puis le détail par zone et le rappel de configuration.
   ═══════════════════════════════════════════════════════════════════ */
.aqpl,[data-theme="light"] .aqpl{
  --bg:#f7f8fa;--surface:#ffffff;--s2:#f1f3f7;--s3:#e7ebf2;
  --border:#e4e7ee;--border-hi:#d3d8e3;
  --text:#14161f;--text-dim:#4a5169;--muted:#8a93ab;
  --accent:#6b5cf5;--accent-dim:rgba(107,92,245,.09);
  --chaud:#d64560;--tiede:#c08a2e;--froid:#3d7fc2;--green:#22a06b;
  --r:8px;--r-lg:12px;--r-xl:14px;
  --sh-sm:0 1px 2px rgba(20,22,31,.05);
  --sans:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
}
[data-theme="noir"] .aqpl,[data-theme="donna"] .aqpl,[data-theme="ardoise"] .aqpl{
  --bg:#0f1115;--surface:#16181d;--s2:#1c1e24;--s3:#23262d;
  --border:#23262d;--border-hi:#2f333c;
  --text:#f2f3f7;--text-dim:#a8adbd;--muted:#5f6578;
  --accent:#8b7bff;--accent-dim:rgba(139,123,255,.12);
  --chaud:#ff6680;--tiede:#f0c050;--froid:#5ca8ff;--green:#4fd49a;
  --r:6px;--r-lg:10px;--r-xl:12px;
  --sh-sm:0 1px 2px rgba(0,0,0,.5);
}
.aqpl{font-family:var(--sans);color:var(--text);-webkit-font-smoothing:antialiased;
  display:flex;flex-direction:column;height:100%;min-height:0;background:var(--bg)}
.aqpl *{box-sizing:border-box}
.aqpl button,.aqpl select{font-family:inherit}
.aqpl-mn{font-family:var(--mono);font-variant-numeric:tabular-nums}

/* ── bandeau de configuration : rappel + accès à l'assistant ────── */
.aqpl-cfg{display:flex;align-items:center;gap:0;padding:11px 20px;
  background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}
.aqpl-c{display:flex;flex-direction:column;padding:0 16px;min-width:0}
.aqpl-c:first-child{padding-left:0}
.aqpl-ck{font-family:var(--mono);font-size:8.5px;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted);white-space:nowrap}
.aqpl-cval{display:block;font-size:13.5px;font-weight:600;letter-spacing:-.014em;margin-top:4px;white-space:nowrap;color:var(--text)}
.aqpl-sep{width:1px;align-self:stretch;background:var(--border);margin:2px 0}
.aqpl-grp{display:flex;align-items:center;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}
.aqpl-grp::-webkit-scrollbar{display:none}
.aqpl-acts{display:flex;align-items:center;gap:8px;flex-shrink:0;padding-left:14px}
.aqpl-live{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:9.5px;
  font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-right:10px}
.aqpl-live i{width:5px;height:5px;border-radius:50%;background:var(--green);flex-shrink:0}
.aqpl-b{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;letter-spacing:-.012em;
  border:1px solid var(--border);border-radius:var(--r);background:var(--surface);color:var(--text);
  padding:7px 12px;transition:.15s;white-space:nowrap}
.aqpl-b:hover{background:var(--s2);border-color:var(--border-hi)}
.aqpl-b svg{width:13px;height:13px;color:var(--muted)}
.aqpl-b:hover svg{color:var(--text-dim)}

/* ── corps défilant ─────────────────────────────────────────────── */
.aqpl-body{flex:1;min-height:0;overflow-y:auto;padding:18px 20px 28px}
.aqpl-sec{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:9px;font-weight:600;
  letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin:26px 0 11px}
.aqpl-sec:first-child{margin-top:0}
.aqpl-sec::after{content:"";flex:1;height:1px;background:var(--border)}
.aqpl-sec .aqpl-note{font-family:var(--sans);font-size:11px;letter-spacing:0;text-transform:none;color:var(--muted)}

/* ── cockpit : trois chiffres, l'écart au but domine ───────────── */
.aqpl-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media(max-width:900px){.aqpl-kpis{grid-template-columns:1fr}}
.aqpl-k{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);
  padding:16px 17px;display:flex;flex-direction:column;min-width:0}
.aqpl-kk{display:block;font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted)}
.aqpl-krow{display:flex;align-items:baseline;gap:8px;margin-top:9px;min-width:0}
.aqpl-kv{font-size:38px;font-weight:800;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums;flex-shrink:0;min-width:0}
.aqpl-kof{font-size:15px;font-weight:600;color:var(--muted);letter-spacing:-.02em;white-space:nowrap;
  min-width:0;overflow:hidden;text-overflow:ellipsis}
.aqpl-ks{display:block;font-size:12px;color:var(--muted);margin-top:7px;line-height:1.4}
/* piste : réel sur objectif, avec le repère « attendu à ce jour » */
.aqpl-trk{position:relative;height:6px;border-radius:99px;background:var(--s3);overflow:visible;margin-top:12px}
.aqpl-fill{position:absolute;inset:0 auto 0 0;border-radius:99px;background:var(--accent);
  transition:width .9s cubic-bezier(.3,.75,.2,1)}
.aqpl-fill.aqpl-late{background:var(--chaud)}
.aqpl-fill.aqpl-ok{background:var(--green)}
.aqpl-mark{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--text);border-radius:2px;
  transform:translateX(-1px);max-width:2px}
.aqpl-trk{overflow:visible}
[data-theme="noir"] .aqpl-mark{background:var(--text)}
.aqpl-mlab{display:flex;justify-content:space-between;font-family:var(--mono);font-size:9.5px;
  color:var(--muted);margin-top:7px}

/* ── parcours : une ligne par étape + taux de passage ──────────── */
.aqpl-tab{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);overflow:hidden}
.aqpl-r{display:grid;grid-template-columns:1fr 62px 1fr 58px 74px;gap:14px;align-items:center;
  padding:12px 16px;border-bottom:1px solid var(--border)}
.aqpl-r:last-child{border-bottom:0}
.aqpl-r.aqpl-h{padding:10px 16px;background:var(--s2)}
.aqpl-r.aqpl-h span{font-family:var(--mono);font-size:8.5px;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted)}
.aqpl-r.aqpl-h span:nth-child(2),.aqpl-r.aqpl-h span:nth-child(4),.aqpl-r.aqpl-h span:nth-child(5){text-align:right}
.aqpl-rn{font-size:13.5px;font-weight:600;letter-spacing:-.014em;min-width:0;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.aqpl-rv{font-family:var(--mono);font-size:14px;font-weight:700;text-align:right;font-variant-numeric:tabular-nums}
.aqpl-mini{height:5px;border-radius:99px;background:var(--s3);overflow:hidden;min-width:0}
.aqpl-mini i{display:block;height:100%;border-radius:99px;background:var(--accent);
  transition:width .8s cubic-bezier(.3,.75,.2,1)}
.aqpl-pc{font-family:var(--mono);font-size:12px;font-weight:700;text-align:right}
.aqpl-pc.aqpl-late{color:var(--chaud)}.aqpl-pc.aqpl-ok{color:var(--green)}
.aqpl-cv{font-family:var(--mono);font-size:11px;color:var(--muted);text-align:right;white-space:nowrap}
/* la ligne qui bloque : signalée sans crier */
.aqpl-r.aqpl-block{background:color-mix(in srgb,var(--chaud) 4%,transparent)}
.aqpl-r.aqpl-block .aqpl-rn::after{content:"·  goulot";font-family:var(--mono);font-size:9px;
  font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--chaud);margin-left:8px}
@media(max-width:760px){
  .aqpl-r{grid-template-columns:1fr 54px 50px;gap:10px}
  .aqpl-r>.aqpl-mini,.aqpl-r>.aqpl-cv,.aqpl-prod>.aqpl-conv,.aqpl-r.aqpl-h span:nth-child(3),.aqpl-r.aqpl-h span:nth-child(5){display:none}
}

/* ── zones : le détail géographique, trié par contribution ─────── */
@media(max-width:760px){
    }

/* ── pied : rappel de ce qui déclenche l'action ────────────────── */
.aqpl-foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:22px;padding:13px 16px;
  background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl)}
.aqpl-fi{width:30px;height:30px;flex-shrink:0;border-radius:9px;display:grid;place-items:center;
  color:var(--accent);background:var(--accent-dim)}
.aqpl-fi svg{width:16px;height:16px}
.aqpl-ft{flex:1;min-width:200px;font-size:13px;line-height:1.5;color:var(--text-dim)}
.aqpl-ft b{color:var(--text);font-weight:600}
.aqpl-pri{background:var(--text);color:var(--surface);border-color:var(--text)}
.aqpl-pri:hover{background:var(--text-dim);border-color:var(--text-dim)}
.aqpl-pri svg{color:currentColor}

/* ── état vide : aucun objectif défini ─────────────────────────── */
.aqpl-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;
  padding:60px 24px;text-align:center;background:var(--surface);border:1px solid var(--border);
  border-radius:var(--r-xl)}
.aqpl-ei{width:46px;height:46px;border-radius:var(--r-xl);display:grid;place-items:center;
  color:var(--accent);background:var(--accent-dim)}
.aqpl-ei svg{width:24px;height:24px}
.aqpl-et{font-size:17px;font-weight:700;letter-spacing:-.022em}
.aqpl-es{font-size:13.5px;color:var(--muted);line-height:1.55;max-width:42ch}

@media(prefers-reduced-motion:reduce){
  .aqpl-fill,.aqpl-mini i,.aqpl-b,.aqpl-more{transition:none!important}
}

/* ── entonnoir de production : les étapes APRÈS le mandat ─────────
   Le parcours s'arrête au mandat signé ; ici on montre ce qu'il
   devient (estimation → mandat → compromis) avec le taux de passage
   entre chaque barre, pas seulement à côté. */
.aqpl-r.aqpl-ph span{white-space:nowrap}
.aqpl-r.aqpl-ph span:nth-child(2),.aqpl-r.aqpl-ph span:nth-child(5){text-align:right}
.aqpl-conv i{display:block;font-family:var(--sans);font-size:9.5px;font-weight:500;font-style:normal;
  color:var(--muted);margin-top:2px}
/* le taux de passage, entre deux lignes */
.aqpl-fsl svg{width:12px;height:12px;flex-shrink:0}
.aqpl-fsl b{font-family:var(--mono);font-size:12px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}
@media(max-width:760px){
  }
